/* WordPress integration and generic content templates. */
.site-header.is-scrolled {
  position: fixed;
  top: 0;
  background: rgba(9, 9, 9, .94);
  box-shadow: 0 12px 36px rgba(0, 0, 0, .18);
}
.site-header.is-scrolled .site-header__inner { min-height: 72px; }
.svl-premium-v5 .wp-site-blocks { padding: 0; }
.svl-premium-v5 .page-progress { z-index: 100001; }
.svl-premium-v5 [aria-disabled="true"] { cursor: not-allowed; opacity: .58; }

body.admin-bar .site-header.is-scrolled { top: 32px; }
body.admin-bar .page-progress { top: 32px; }

.svl-generic__hero {
  min-height: 440px;
  display: flex;
  align-items: flex-end;
  padding: 210px 0 78px;
  background:
    radial-gradient(circle at 78% 20%, rgba(199,161,91,.25), transparent 35%),
    linear-gradient(135deg, #17130f, #080808 66%);
}
.svl-generic__hero h1 {
  max-width: 980px;
  margin: 16px 0 0;
  font-family: var(--serif);
  font-size: clamp(52px, 8vw, 100px);
  font-weight: 500;
  line-height: .98;
  letter-spacing: -.035em;
}
.svl-generic__content { min-height: 42vh; padding: clamp(76px, 9vw, 128px) 0; color: var(--ink); }
.svl-entry { width: min(800px, 100%); margin-inline: auto; color: #3f3a33; font-size: 17px; }
.svl-entry > * + * { margin-top: 1.25em; }
.svl-entry h2, .svl-entry h3, .svl-entry h4 {
  color: var(--ink);
  font-family: var(--serif);
  font-weight: 500;
  line-height: 1.12;
}
.svl-entry h2 { font-size: clamp(34px, 5vw, 54px); }
.svl-entry h3 { font-size: clamp(26px, 3.5vw, 38px); }
.svl-entry a:not(.button) { color: #70552b; text-decoration: underline; text-underline-offset: 4px; }
.svl-entry ul, .svl-entry ol { padding-left: 1.25em; }
.svl-entry img { margin: 2em 0; }
.svl-entry__meta { color: #776e61; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }
.svl-entry--empty { text-align: center; }
.svl-entry--empty .button { margin-top: 22px; color: var(--white); text-decoration: none; }

.svl-journal-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.svl-journal-card { background: #ece4d7; }
.svl-journal-card > a { display: block; height: 100%; }
.svl-journal-card img, .svl-journal-card__placeholder { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.svl-journal-card__placeholder { display: grid; place-items: center; background: #151515; color: var(--gold); font: 500 58px/1 var(--serif); }
.svl-journal-card > a > div { padding: 28px; }
.svl-journal-card h2 { margin: 10px 0 14px; font-family: var(--serif); font-size: 30px; font-weight: 500; line-height: 1.08; }
.svl-journal-card p:not(.eyebrow) { color: #615a50; font-size: 14px; }
.svl-journal-card strong { color: #70552b; font-size: 10px; letter-spacing: .13em; text-transform: uppercase; }
.navigation.pagination { margin-top: 50px; color: var(--ink); }
.nav-links { display: flex; flex-wrap: wrap; gap: 10px; }
.page-numbers { display: grid; min-width: 42px; min-height: 42px; place-items: center; border: 1px solid var(--line-light); }
.page-numbers.current { background: var(--ink); color: var(--white); }

/*
 * Premium wide-screen scale and a warmer, higher-contrast concierge.
 * The original 1180px shell felt undersized on large Retina displays.
 */
.concierge-section {
  scroll-margin-top: 72px;
  background:
    radial-gradient(circle at 74% 44%, rgba(199, 161, 91, .13), transparent 34%),
    radial-gradient(circle at 18% 88%, rgba(199, 161, 91, .06), transparent 30%),
    #0a0908;
}
.concierge-panel {
  border-color: rgba(224, 188, 114, .26);
  background: #12100d;
  box-shadow: 0 42px 110px rgba(0, 0, 0, .42);
}
.concierge-form legend,
.concierge-fields label > span { color: #f1e8d9; font-size: 10px; }
.concierge-form legend span,
.concierge-fields label b {
  width: 31px;
  height: 31px;
  border-color: rgba(224, 188, 114, .72);
  background: rgba(224, 188, 114, .07);
  font-size: 9px;
}
.concierge-choices { gap: 11px; }
.concierge-choices button {
  min-height: 68px;
  border-color: rgba(255, 248, 236, .18);
  background: rgba(255, 248, 236, .045);
  color: #f0e8dc;
  font-size: 11px;
}
.concierge-choices button:hover,
.concierge-choices button:focus-visible {
  border-color: var(--gold-bright);
  background: rgba(224, 188, 114, .1);
}
.concierge-fields { gap: 30px; }
.concierge-fields select,
.concierge-fields input {
  min-height: 62px;
  border-bottom-color: rgba(255, 248, 236, .35);
  color: #fffaf1;
  font-size: 16px;
}
.concierge-fields select option,
.concierge-fields select optgroup {
  background-color: #fffaf1;
  color: #17120c;
  color-scheme: light;
}
@media (min-width: 681px) {
  .concierge-fields {
    grid-template-columns: minmax(0, 1.45fr) minmax(0, .8fr) minmax(0, .95fr);
  }
}
.brand-lockup__image {
  display: block;
  width: 190px;
  max-width: none;
  height: auto;
}
@media (min-width: 981px) and (max-width: 1100px) {
  .site-header .brand-lockup {
    width: 50px;
    height: 50px;
    overflow: hidden;
  }
  .site-header .brand-lockup__image { width: 194px; }
}
@media (max-width: 980px) {
  .site-header .brand-lockup__image { width: 180px; }
}
@media (max-width: 680px) {
  .site-header .brand-lockup__image { width: 156px; }
}
.concierge-summary {
  min-height: 590px;
  background: linear-gradient(145deg, #ead29e 0%, #d2aa61 58%, #c4954b 100%);
}
.concierge-summary__mark {
  top: 32px;
  right: 40px;
  display: block;
  width: clamp(82px, 5.4vw, 102px);
  height: auto;
  opacity: .31;
  pointer-events: none;
}
.concierge-summary dt { font-size: 9px; }
.concierge-summary dd { font-size: clamp(23px, 2.1vw, 32px); }
.concierge-summary dl div { padding: 21px 0; border-bottom-color: rgba(10, 10, 10, .24); }
.concierge-summary .button { min-height: 62px; background: #2a2319; color: #fff8ec; }
.concierge-summary .button:hover { background: #403426; }
.concierge-summary .button[aria-disabled="true"] { opacity: .62; }
.concierge-summary small { color: rgba(10, 10, 10, .78); font-size: 11px; }

@media (min-width: 1600px) {
  :root { --shell: clamp(1180px, 70.54vw, 1580px); }
  .site-header__inner { grid-template-columns: 260px 1fr auto; gap: 46px; }
  .brand-lockup__mark { width: 50px; height: 50px; font-size: 21px; }
  .brand-lockup__copy strong { font-size: 19px; }
  .primary-nav a { font-size: 13px; }
  .concierge-section { padding: 150px 0 180px; }
  .concierge-heading { grid-template-columns: 1.08fr .72fr; margin-bottom: 96px; }
  .concierge-heading h2 { max-width: 830px; font-size: 116px; }
  .concierge-heading > p { max-width: 560px; color: #c8c0b4; font-size: 18px; }
  .concierge-panel { grid-template-columns: minmax(0, 1.45fr) minmax(460px, .62fr); }
  .concierge-form { padding: 74px 78px; }
  .concierge-form fieldset { padding-bottom: 56px; }
  .concierge-fields select,
  .concierge-fields input { font-size: 17px; }
  .concierge-summary { padding: 66px; }
}

@media (max-width: 980px) {
  .svl-journal-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .concierge-summary { min-height: 460px; }
}

@media (max-width: 782px) {
  body.admin-bar .site-header.is-scrolled { top: 46px; }
  body.admin-bar .page-progress { top: 46px; }
}

@media (max-width: 680px) {
  .svl-generic__hero { min-height: 380px; padding: 175px 0 62px; }
  .svl-journal-grid { grid-template-columns: 1fr; }
  .svl-journal-card > a > div { padding: 24px; }
  .concierge-form legend,
  .concierge-fields label > span { font-size: 9px; }
  .concierge-choices { gap: 8px; }
  .concierge-choices button { min-height: 58px; font-size: 10px; }
  .concierge-fields { gap: 27px; }
  .concierge-fields select,
  .concierge-fields input { min-height: 56px; font-size: 16px; }
  .concierge-summary { min-height: 420px; }
  .concierge-summary__mark { top: 24px; right: 24px; width: 68px; }
}

/* Mobile polish: compact booking access without covering page content. */
@media (max-width: 680px) {
  body { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
  .floating-whatsapp {
    left: auto;
    right: max(12px, env(safe-area-inset-right));
    bottom: calc(12px + env(safe-area-inset-bottom));
    width: auto;
    max-width: calc(100vw - 24px);
    height: 52px;
    min-height: 52px;
    justify-content: flex-start;
    gap: 10px;
    padding: 0 16px 0 9px;
    border-radius: 999px;
    transition: opacity .22s ease, transform .22s ease, visibility .22s ease;
  }
  .floating-whatsapp.is-suppressed {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(12px);
  }
  .floating-whatsapp span:first-child { flex: 0 0 30px; }
  .floating-whatsapp span:last-child {
    overflow: hidden;
    max-width: 78px;
    font-size: 0;
    white-space: nowrap;
  }
  .floating-whatsapp span:last-child::after {
    content: "Book now";
    display: inline;
    font-size: 10px;
    letter-spacing: .08em;
  }
  .concierge-panel { margin-inline: 0; }
  .concierge-summary > .eyebrow { padding-right: 76px; }
  .concierge-summary__mark {
    top: 22px;
    right: 22px;
    width: 62px;
    opacity: .27;
  }
}

@media (max-width: 360px) {
  .floating-whatsapp {
    width: 52px;
    padding: 0;
    justify-content: center;
    gap: 0;
  }
  .floating-whatsapp span:last-child { display: none; }
}
