/* Lighter magnolia-plum accent shared across the complete multilingual site. */
:root {
  --accent: #ad3f6b !important;
  --accent-dark: #913153 !important;
}

/* Final mobile header override: home icon replaces the former Back label. */
@media (max-width: 1050px) {
  .nav-inner .languages .mobile-top-back,
  .nav-inner .languages.is-open .mobile-top-back {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 35px !important;
    min-width: 35px !important;
    height: 24px !important;
    min-height: 24px !important;
    margin: 0 5px 0 2px !important;
    padding: 0 7px 0 0 !important;
    border: 0 !important;
    border-right: 1px solid #d8d0cc !important;
    background: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    opacity: .84 !important;
  }

  .nav-inner .languages .mobile-top-back::before {
    content: "" !important;
    display: block !important;
    width: 20px !important;
    height: 20px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23413d3a' d='M12 2.8 2.5 10.7h2.2V21h5.2v-6.3h4.2V21h5.2V10.7h2.2L12 2.8Z'/%3E%3C/svg%3E") !important;
    background-position: center !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
  }
}

/* Subpage return control: icon only; the translated label remains in the DOM. */
.room-back,
.gallery-back-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  width: 42px !important;
  min-width: 42px !important;
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #413d3a !important;
  font-size: 0 !important;
  line-height: 0 !important;
  text-decoration: none !important;
  opacity: .82 !important;
}

.room-back::before,
.gallery-back-button::before {
  content: "" !important;
  display: block !important;
  width: 29px !important;
  height: 29px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28' fill='none' stroke='%233d3937' stroke-width='1.65' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.5 7.5 4.5 13.5l6 6'/%3E%3Cpath d='M5 13.5h10a7 7 0 0 1 7 7'/%3E%3C/svg%3E") !important;
  background-position: center !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
}

/* Localized home control is also available in the mobile language row. */
@media (max-width: 1050px) {
  .nav-inner .languages .mobile-top-back,
  .nav-inner .languages.is-open .mobile-top-back {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px !important;
    min-width: 34px !important;
    height: 28px !important;
    min-height: 28px !important;
    padding: 0 !important;
    font-size: 0 !important;
    opacity: .84 !important;
  }

  .nav-inner .languages .mobile-top-back::before {
    content: "" !important;
    display: block !important;
    width: 20px !important;
    height: 20px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23413d3a' d='M12 2.8 2.5 10.7h2.2V21h5.2v-6.3h4.2V21h5.2V10.7h2.2L12 2.8Z'/%3E%3C/svg%3E") !important;
    background-position: center !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
  }
}

.room-back:hover,
.gallery-back-button:hover {
  background: transparent !important;
  opacity: 1 !important;
}

.hero h1,
.hero h1::first-line {
  color: #bd5a80 !important;
}

.nav-book,
.hero-book,
.btn,
.button,
.cta,
.room-detail-book,
.nav-inner .navlinks .mobile-section-book {
  background-color: #ad3f6b !important;
  border-color: #ad3f6b !important;
  color: #fff !important;
  box-shadow: 0 5px 18px rgba(126, 43, 77, .16) !important;
}

.nav-book:hover,
.hero-book:hover,
.btn:hover,
.button:hover,
.cta:hover,
.room-detail-book:hover,
.nav-inner .navlinks .mobile-section-book:hover {
  background-color: #913153 !important;
  border-color: #913153 !important;
}

.room-open-btn,
.mobile-back-link:hover,
.mobile-back-link:active {
  border-color: #ad3f6b !important;
  color: #ad3f6b !important;
}

.room-open-btn:hover {
  background-color: #ad3f6b !important;
  color: #fff !important;
}

@media (max-width: 600px) {
  /* Preserve the original, stronger mobile palette on both iOS and Android. */
  :root {
    --accent: #941c4e !important;
    --accent-dark: #78163f !important;
  }

  .hero h1,
  .hero h1::first-line {
    color: #a33f62 !important;
  }

  .nav-book,
  .hero-book,
  .btn,
  .button,
  .cta,
  .room-detail-book,
  .gallery-link-section .btn,
  .nav-inner .navlinks .mobile-section-book {
    background-color: #a8275b !important;
    border-color: #a8275b !important;
    color: #fff !important;
    box-shadow: 0 5px 18px rgba(94, 20, 52, .22) !important;
  }

  .nav-book:hover,
  .hero-book:hover,
  .btn:hover,
  .button:hover,
  .cta:hover,
  .room-detail-book:hover,
  .gallery-link-section .btn:hover,
  .nav-inner .navlinks .mobile-section-book:hover {
    background-color: #902048 !important;
    border-color: #902048 !important;
  }

  .room-open-btn,
  .mobile-back-link:hover,
  .mobile-back-link:active {
    border-color: #7b315f !important;
    color: #7b315f !important;
  }

  .room-open-btn:hover {
    background-color: #7b315f !important;
    color: #fff !important;
  }
}

/* Final hospitality-grade polish: restrained depth, spacing and interaction. */
.suites-section .section-title {
  margin-bottom: 30px !important;
}

.suites-section .room {
  overflow: hidden !important;
  border: 1px solid var(--luwiana-line) !important;
  border-radius: 2px !important;
  box-shadow: 0 10px 28px rgba(55, 43, 38, .07) !important;
  transition: transform .22s ease, box-shadow .22s ease !important;
}

.suites-section .room-body {
  padding: 23px 22px 24px !important;
}

.feature-strip > div,
.feature-strip .feature-card,
.feature-strip > a {
  border-radius: 2px !important;
  box-shadow: 0 5px 16px rgba(55, 43, 38, .045) !important;
}

.gallery-link-section .btn {
  padding: 14px 24px !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  letter-spacing: .08em !important;
  border-radius: 2px !important;
}

.location {
  border-top-color: var(--luwiana-line) !important;
}

a:focus-visible,
button:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid #6a6460 !important;
  outline-offset: 3px !important;
}

@media (min-width: 701px) {
  .suites-section .room:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 15px 36px rgba(55, 43, 38, .11) !important;
  }
}

@media (max-width: 600px) {
  .suites-section .section-title {
    margin-bottom: 22px !important;
  }

  .suites-section .room-body {
    padding: 19px 18px 21px !important;
  }
}

/* Consistent editorial treatment for room photography without altering originals. */
.suites-section .room > img,
.room-detail-gallery img,
.room-gallery-grid img,
.room-modal-gallery img,
.gallery-item img,
.luwiana-carousel-image {
  filter: brightness(.96) saturate(.82) contrast(1.02) !important;
  image-rendering: auto !important;
}

/* More compact accommodation overview while preserving the balanced 3 x 3 grid. */
.suites-section .section-title,
.suites-section .room-grid {
  width: 100% !important;
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.suites-section .room-grid {
  gap: 18px !important;
}

.suites-section .room > img {
  height: 218px !important;
}

.suites-section .room-body {
  padding: 18px 18px 20px !important;
}

.suites-section .room-body h3 {
  font-size: 24px !important;
  line-height: 1.08 !important;
  margin: 7px 0 9px !important;
}

.suites-section .room-body p,
.suites-section .room-details {
  width: 100% !important;
  max-width: 100% !important;
  font-size: 13.2px !important;
  line-height: 1.48 !important;
}

@media (max-width: 600px) {
  .suites-section .room-grid {
    gap: 16px !important;
  }

  .suites-section .room > img {
    height: 180px !important;
  }

  .suites-section .room-body {
    padding: 16px 16px 18px !important;
  }

  .suites-section .room-body h3 {
    font-size: 22px !important;
  }

  .suites-section .room-body p,
  .suites-section .room-details {
    width: 100% !important;
    max-width: 100% !important;
    font-size: 12.8px !important;
    line-height: 1.45 !important;
  }
}

/* Desktop accommodation edges match the 72px height of the top navigation. */
@media (min-width: 1051px) {
  .suites-section {
    padding-left: 72px !important;
    padding-right: 72px !important;
  }

  .suites-section .section-title,
  .suites-section .room-grid {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .gallery-page-main,
  main:has(> .gallery-back-button) {
    width: 100% !important;
    max-width: none !important;
    padding-left: 72px !important;
    padding-right: 72px !important;
  }
}

/* Authoritative desktop edges — keep this final to override legacy section widths. */
@media (min-width: 1051px) {
  .nav-inner,
  .feature-strip,
  .suites-section .section-title,
  .suites-section .room-grid,
  .gallery-page-main,
  main:has(> .gallery-back-button),
  .city-intro,
  .city-grid,
  .local-recs .section-title,
  .local-recs-grid,
  .gallery-link-inner,
  .location-inner {
    box-sizing: border-box !important;
    width: min(calc(100vw - 48px), 1200px) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .nav-inner,
  .feature-strip,
  .suites-section .section-title,
  .suites-section .room-grid,
  .gallery-page-main,
  main:has(> .gallery-back-button),
  .city-intro,
  .city-grid,
  .local-recs .section-title,
  .local-recs-grid,
  .gallery-link-inner {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

@media (min-width: 601px) and (max-width: 1050px) {
  .suites-section {
    padding-left: 32px !important;
    padding-right: 32px !important;
  }

  .suites-section .section-title,
  .suites-section .room-grid {
    max-width: none !important;
  }

  .gallery-page-main,
  main:has(> .gallery-back-button) {
    width: 100% !important;
    max-width: none !important;
    padding-left: 32px !important;
    padding-right: 32px !important;
  }
}

@media (max-width: 600px) {
  .gallery-page-main,
  main:has(> .gallery-back-button) {
    width: 100% !important;
    max-width: none !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* Family Suite photographs need a slightly brighter, cleaner treatment. */
.suites-section .room[data-detail*="soba-dru-inska-suita"] > img,
.room-family-suite .room-detail-gallery img,
body:has(.room-family-suite) .luwiana-carousel-image {
  filter: brightness(1.07) saturate(.84) contrast(1.01) !important;
}

/* Keep all four mobile amenity labels and icons on the same visual baseline. */
@media (max-width: 600px) {
  .feature-strip > div,
  .feature-strip .feature-card,
  .feature-strip > a {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  .feature-strip svg {
    flex: 0 0 20px !important;
    margin: 0 0 5px !important;
  }

  .feature-strip strong {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 30px !important;
    margin: 0 !important;
    text-align: center !important;
  }
}

/* Final alignment system: every major visual row shares the same 1200px edges. */
:root {
  --luwiana-content-width: 1200px;
  --luwiana-content-gutter: 24px;
}

@media (min-width: 1051px) {
  .nav-inner,
  .feature-strip,
  .suites-section .section-title,
  .suites-section .room-grid,
  .gallery-page-main,
  main:has(> .gallery-back-button),
  .city-intro,
  .city-grid,
  .local-recs .section-title,
  .local-recs-grid,
  .gallery-link-inner,
  .location-inner {
    box-sizing: border-box !important;
    width: calc(100% - (2 * var(--luwiana-content-gutter))) !important;
    max-width: var(--luwiana-content-width) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .nav-inner,
  .feature-strip,
  .suites-section .section-title,
  .suites-section .room-grid,
  .gallery-page-main,
  main:has(> .gallery-back-button) {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .suites-section {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .suites-section .room > img {
    height: 228px !important;
  }
}

.suites-section .room > img,
.room-detail-gallery img,
.room-gallery-grid img,
.room-modal-gallery img,
.gallery-item img {
  object-position: center 48% !important;
}

@media (max-width: 600px) {
  .suites-section .room > img,
  .room-detail-gallery img,
  .room-gallery-grid img,
  .room-modal-gallery img,
  .gallery-item img,
  .luwiana-carousel-image {
    filter: brightness(.97) saturate(.84) contrast(1.015) !important;
  }
}

/* Desktop language selector: the current flag opens the other language flags. */
@media (min-width: 601px) {
  .nav-inner .languages {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 36px !important;
    width: 36px !important;
    min-width: 36px !important;
    height: 34px !important;
    margin-left: 12px !important;
    margin-right: 12px !important;
    overflow: visible !important;
    z-index: 100 !important;
  }

  .nav-inner .languages .mobile-top-back,
  .nav-inner .languages > a:not(.mobile-top-back) {
    display: none !important;
  }

  .nav-inner .languages .mobile-language-toggle {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px !important;
    min-width: 34px !important;
    height: 28px !important;
    padding: 0 !important;
    border: 1px solid #ddd5d1 !important;
    border-radius: 3px !important;
    background: #fff !important;
    box-shadow: 0 3px 10px rgba(50, 37, 34, .08) !important;
    font-size: 0 !important;
    cursor: pointer !important;
  }

  .nav-inner .languages .mobile-language-toggle::before {
    content: '' !important;
    display: block !important;
    width: 26px !important;
    height: 17px !important;
    border: 1px solid rgba(0, 0, 0, .12) !important;
    background-position: center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
  }

  .mobile-language-toggle[data-language="SI"]::before { background-image: url('images/flag-si.svg') !important; }
  .mobile-language-toggle[data-language="EN"]::before { background-image: url('images/flag-en.svg') !important; }
  .mobile-language-toggle[data-language="DE"]::before { background-image: url('images/flag-de.svg') !important; }
  .mobile-language-toggle[data-language="IT"]::before { background-image: url('images/flag-it.svg') !important; }
  .mobile-language-toggle[data-language="FR"]::before { background-image: url('images/flag-fr.svg') !important; }
  .mobile-language-toggle[data-language="HR"]::before { background-image: url('images/flag-hr.svg') !important; }
  .mobile-language-toggle[data-language="RU"]::before { background-image: url('images/flag-ru.svg') !important; }

  .nav-inner .languages.is-open > a:not(.mobile-top-back):not(.active-lang) {
    position: absolute !important;
    top: calc(33px + (var(--flag-index) * 30px)) !important;
    left: 1px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px !important;
    height: 28px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #ddd5d1 !important;
    border-radius: 3px !important;
    background: #fff !important;
    box-shadow: 0 4px 12px rgba(50, 37, 34, .11) !important;
    font-size: 0 !important;
    line-height: 1 !important;
  }

  .nav-inner .languages.is-open > a:not(.mobile-top-back):not(.active-lang):hover {
    border-color: #b44873 !important;
    transform: translateX(-2px);
  }

  .nav-inner .languages.is-open .language-flag {
    display: block !important;
    width: 26px !important;
    height: 17px !important;
    border: 1px solid rgba(0, 0, 0, .12) !important;
    background-position: center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    font-size: 0 !important;
  }

  .nav-inner .languages a[data-language="SI"] .language-flag { background-image: url('images/flag-si.svg') !important; }
  .nav-inner .languages a[data-language="EN"] .language-flag { background-image: url('images/flag-en.svg') !important; }
  .nav-inner .languages a[data-language="DE"] .language-flag { background-image: url('images/flag-de.svg') !important; }
  .nav-inner .languages a[data-language="IT"] .language-flag { background-image: url('images/flag-it.svg') !important; }
  .nav-inner .languages a[data-language="FR"] .language-flag { background-image: url('images/flag-fr.svg') !important; }
  .nav-inner .languages a[data-language="HR"] .language-flag { background-image: url('images/flag-hr.svg') !important; }
  .nav-inner .languages a[data-language="RU"] .language-flag { background-image: url('images/flag-ru.svg') !important; }
}

/* Desktop final layout: all language flags remain visible in one row. */
@media (min-width: 601px) {
  .nav-inner .logo {
    flex: 0 0 200px !important;
    width: 200px !important;
  }

  .nav-inner .logo img,
  .nav-inner .logo .brand-logo {
    width: 190px !important;
    max-width: 190px !important;
    max-height: 64px !important;
    height: auto !important;
  }

  .nav-inner .logo img,
  .nav-inner .logo .brand-logo {
    display: block !important;
    width: 164px !important;
    max-width: 164px !important;
    max-height: 58px !important;
    height: auto !important;
  }

  .nav-inner .navlinks a {
    font-size: 13px !important;
    letter-spacing: .045em !important;
  }

  .nav-inner .navlinks {
    transform: translateX(-10px) !important;
  }

  .nav-inner .navlinks a {
    font-size: 13.5px !important;
  }

  .nav-inner .navlinks a.is-active-section {
    color: #2f2d2b !important;
    font-weight: 600 !important;
  }

  body:has(.gallery-back-button) .nav-inner .navlinks a[href*="galerija"],
  body:has(.room-detail) .nav-inner .navlinks a[href*="suites"] {
    color: #2f2d2b !important;
    font-weight: 600 !important;
  }

  .nav-inner .navlinks a:hover,
  .nav-inner .languages .mobile-top-back:hover {
    color: #4a4643 !important;
  }

  .nav-inner > .nav-book {
    font-size: 12px !important;
    letter-spacing: .045em !important;
  }

  .nav-inner .languages,
  .nav-inner .languages.is-open {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    height: 34px !important;
    margin-left: 12px !important;
    margin-right: 12px !important;
    gap: 5px !important;
    overflow: visible !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .nav-inner .languages .mobile-language-toggle,
  .nav-inner .languages .mobile-language-toggle {
    display: none !important;
  }

  .nav-inner .languages .mobile-top-back {
    position: static !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    height: 22px !important;
    margin: 0 5px 0 4px !important;
    padding: 0 9px 0 0 !important;
    border: 0 !important;
    border-right: 1px solid #d8d0cc !important;
    background: transparent !important;
    color: #625b58 !important;
    font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: .055em !important;
    line-height: 1 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
  }

  .nav-inner .languages .mobile-top-back:hover {
    color: #ad3f6b !important;
  }

  .nav-inner .languages > a:not(.mobile-top-back),
  .nav-inner .languages.is-open > a:not(.mobile-top-back),
  .nav-inner .languages.is-open > a:not(.mobile-top-back):not(.active-lang) {
    position: static !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 30px !important;
    height: 22px !important;
    margin: 0 !important;
    padding: 2px !important;
    border: 1px solid transparent !important;
    border-radius: 3px !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 0 !important;
    line-height: 1 !important;
    transform: none !important;
  }

  .nav-inner .languages > a:not(.mobile-top-back):hover {
    border-color: #cdb9c1 !important;
    background: rgba(255, 255, 255, .72) !important;
  }

  .nav-inner .languages > a.active-lang {
    border-color: #77716d !important;
    background: #fff !important;
    box-shadow: 0 2px 7px rgba(83, 45, 59, .12) !important;
  }

  .nav-inner .languages .language-flag,
  .nav-inner .languages.is-open .language-flag {
    display: block !important;
    width: 26px !important;
    height: 17px !important;
    border: 1px solid rgba(0, 0, 0, .12) !important;
    background-position: center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    font-size: 0 !important;
  }

  .nav-inner .languages .language-code {
    display: none !important;
  }
}

/* Whiter veil keeps the magnolias elegant and secondary to the content. */
.suites-section::before {
  background-image:
    linear-gradient(rgba(255, 253, 252, .68), rgba(255, 253, 252, .81)),
    url('images/magnolia-botanical-illustration-v2.png') !important;
  background-position: center !important;
  background-size: cover !important;
}

.gallery-page-main,
main:has(> .gallery-back-button) {
  background-color: #fffdfc !important;
  background-image:
    linear-gradient(110deg, rgba(255, 253, 252, .94), rgba(255, 253, 252, .86) 48%, rgba(255, 253, 252, .94)),
    url('images/magnolia-botanical-illustration-v2.png') !important;
  background-position: center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  background-attachment: scroll !important;
}

.room-detail {
  background-color: #fffdfc !important;
  background-image:
    linear-gradient(110deg, rgba(255, 253, 252, .89), rgba(255, 253, 252, .73) 48%, rgba(255, 253, 252, .89)),
    url('images/magnolia-botanical-illustration-v2.png') !important;
  background-position: center !important;
  background-size: cover !important;
}

@media (max-width: 700px) {
  .room-detail,
  .gallery-page-main,
  main:has(> .gallery-back-button) {
    background-image:
      linear-gradient(rgba(255, 253, 252, .87), rgba(255, 253, 252, .92)),
      url('images/magnolia-botanical-illustration-v2.png') !important;
    background-position: 63% center !important;
  }

  .gallery-page-main,
  main:has(> .gallery-back-button) {
    background-image:
      linear-gradient(rgba(255, 253, 252, .93), rgba(255, 253, 252, .96)),
      url('images/magnolia-botanical-illustration-v2.png') !important;
  }
}

/* Typography in the four amenity squares. */
.feature-strip > div,
.feature-strip strong,
.feature-strip span,
.feature-strip p {
  color: #171514 !important;
}

.feature-strip > div,
.feature-strip .feature-card,
.feature-strip > a {
  background: #fafaf9 !important;
  border-color: #efefed !important;
}

.feature-strip svg {
  color: #373432 !important;
  stroke: #373432 !important;
}

.feature-strip > div:nth-child(1) svg,
.feature-strip > a:nth-child(1) svg {
  color: #5f7f8f !important;
  stroke: #5f7f8f !important;
}

.feature-strip > div:nth-child(2) svg,
.feature-strip > a:nth-child(2) svg {
  color: #6f8a70 !important;
  stroke: #6f8a70 !important;
}

.feature-strip > div:nth-child(3) svg,
.feature-strip > a:nth-child(3) svg {
  color: #c2932f !important;
  stroke: #c2932f !important;
}

.feature-strip > div:nth-child(4) svg,
.feature-strip > a:nth-child(4) svg {
  color: #a44f3e !important;
  stroke: #a44f3e !important;
}

/* Photo viewer: keep the surrounding gallery softly visible behind the active image. */
.luwiana-carousel {
  background: rgba(18, 14, 17, .48) !important;
  -webkit-backdrop-filter: blur(1px) saturate(.92) !important;
  backdrop-filter: blur(1px) saturate(.92) !important;
}

.luwiana-carousel-image {
  box-shadow: 0 18px 55px rgba(0, 0, 0, .36) !important;
}

.lightbox,
.room-gallery-modal,
.lb {
  background: rgba(18, 14, 17, .50) !important;
  -webkit-backdrop-filter: blur(1px) saturate(.92) !important;
  backdrop-filter: blur(1px) saturate(.92) !important;
}

body:has(.gallery-back-button) .luwiana-carousel,
body:has(.gallery-back-button) .lb {
  background: rgba(18, 14, 17, .44) !important;
  -webkit-backdrop-filter: blur(1px) saturate(.94) !important;
  backdrop-filter: blur(1px) saturate(.94) !important;
}

@media (max-width: 600px) {
  .luwiana-carousel,
  .lightbox,
  .room-gallery-modal,
  .lb {
    background: rgba(18, 14, 17, .44) !important;
  }
}

/* More compact, airier amenity cards on phones. */
@media (max-width: 600px) {
  .feature-strip {
    grid-template-rows: repeat(2, 76px) !important;
    grid-auto-rows: 76px !important;
    gap: 12px !important;
    padding: 12px 10px 32px !important;
  }

  .feature-strip > div,
  .feature-strip .feature-card,
  .feature-strip > a {
    height: 76px !important;
    min-height: 76px !important;
    max-height: 76px !important;
    padding: 7px 6px !important;
    gap: 4px !important;
    background: #fafaf9 !important;
    border: 1px solid #efefed !important;
    box-shadow: 0 4px 12px rgba(45, 42, 40, .045) !important;
  }

  .feature-strip svg {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    margin: 0 0 2px !important;
  }

  .feature-strip strong {
    font-size: 12.5px !important;
    line-height: 1.15 !important;
    margin: 0 !important;
  }
}

@media (min-width: 601px) and (max-width: 1050px) {
  .nav-inner .languages { gap: 2px !important; margin-left: 6px !important; margin-right: 6px !important; }
  .nav-inner .languages > a:not(.mobile-top-back),
  .nav-inner .languages.is-open > a:not(.mobile-top-back) { width: 25px !important; height: 20px !important; padding: 1px !important; }
  .nav-inner .languages .language-flag { width: 21px !important; height: 14px !important; }
  .nav-inner .languages .mobile-top-back { margin-right: 3px !important; padding-right: 6px !important; font-size: 9px !important; }
}

/* Gallery call-to-action coordinated with the light amenity cards. */
.gallery-link-section .btn {
  background: #fafaf9 !important;
  border: 1px solid #dfdedb !important;
  color: #171514 !important;
  box-shadow: 0 5px 16px rgba(45, 42, 40, .06) !important;
}

.gallery-link-section .btn:hover {
  background: #f3f3f1 !important;
  border-color: #cbc9c6 !important;
  color: #171514 !important;
}

.location {
  background: #faf7f4 !important;
}

.intro,
.feature-strip,
.gallery-link-section {
  background-color: #faf7f4 !important;
}

.parking-note {
  font-size: 15.5px !important;
  line-height: 1.6 !important;
}

@media (max-width: 600px) {
  .parking-note {
    font-size: 14.5px !important;
  }
}

.suites-section .section-title p {
  font-size: 18px !important;
  line-height: 1.55 !important;
  color: #4d4946 !important;
  margin-top: 12px !important;
}

.suites-section .section-title h2 {
  text-transform: none !important;
  font-size: clamp(30px, 3vw, 42px) !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  color: #34312f !important;
}

@media (max-width: 600px) {
  .suites-section .section-title h2 {
    font-size: 29px !important;
  }

  .suites-section .section-title p {
    font-size: 16px !important;
    line-height: 1.5 !important;
  }
}

/* Final coordinated neutral palette. */
:root {
  --luwiana-ink: #2f2b29;
  --luwiana-muted: #68615d;
  --luwiana-warm: #faf7f4;
  --luwiana-paper: #fffdfb;
  --luwiana-card: #fcfbf9;
  --luwiana-line: #e9e2dd;
  --luwiana-overview-width: 1120px;
}

body {
  color: var(--luwiana-ink) !important;
}

.nav {
  background: rgba(255, 255, 255, .80) !important;
  -webkit-backdrop-filter: blur(15px) saturate(1.08) !important;
  backdrop-filter: blur(15px) saturate(1.08) !important;
  border-bottom-color: rgba(218, 211, 206, .72) !important;
  box-shadow: 0 3px 16px rgba(45, 38, 34, .045) !important;
}

@media (max-width: 600px) {
  .nav {
    background: rgba(255, 255, 255, .80) !important;
    -webkit-backdrop-filter: blur(12px) saturate(1.05) !important;
    backdrop-filter: blur(12px) saturate(1.05) !important;
  }
}

.intro,
.feature-strip,
.gallery-link-section,
.location {
  background-color: var(--luwiana-warm) !important;
}

/* One continuous full-width surface below the hero. */
.intro,
.feature-strip {
  position: relative !important;
  isolation: isolate;
}

.intro::before,
.feature-strip::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  left: calc(50% - 50vw) !important;
  right: calc(50% - 50vw) !important;
  z-index: -1 !important;
  background: var(--luwiana-warm) !important;
  pointer-events: none !important;
}

.feature-strip > div,
.feature-strip .feature-card,
.feature-strip > a,
.suites-section .room,
.room-detail-inner {
  background-color: var(--luwiana-card) !important;
  border-color: var(--luwiana-line) !important;
}

.feature-strip,
.suites-section .section-title,
.suites-section .room-grid {
  width: 100% !important;
  max-width: var(--luwiana-overview-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.intro p,
.section-title p,
.location p,
.room-body p {
  color: var(--luwiana-muted) !important;
}

.parking-note {
  color: #494441 !important;
}

.site-footer .footer-logo {
  width: 164px !important;
  max-width: 164px !important;
  max-height: 58px !important;
  height: auto !important;
  object-fit: contain !important;
}

@media (max-width: 600px) {
  .site-footer .footer-logo {
    width: 76px !important;
    max-width: 76px !important;
    max-height: 48px !important;
  }
}

.gallery-link-section .btn {
  background: var(--luwiana-card) !important;
  border-color: #ddd6d1 !important;
  color: var(--luwiana-ink) !important;
}

.gallery-link-section .btn:hover {
  background: #f3efec !important;
  border-color: #cfc5bf !important;
}

.location-map-wrap {
  background: var(--luwiana-paper) !important;
  border: 1px solid var(--luwiana-line) !important;
  box-shadow: 0 10px 28px rgba(65, 51, 45, .08) !important;
}

/* Magnolia artwork is deliberately present and restrained on phones. */
@media (max-width: 600px) {
  .intro {
    background-image:
      linear-gradient(rgba(250, 247, 244, .91), rgba(250, 247, 244, .96)),
      url('images/magnolia-botanical-illustration-v2.png') !important;
    background-position: 66% center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
  }

  .suites-section::before {
    background-image:
      linear-gradient(rgba(255, 253, 251, .84), rgba(255, 253, 251, .91)),
      url('images/magnolia-botanical-illustration-v2.png') !important;
    background-position: 64% top !important;
    background-size: cover !important;
  }

  .gallery-link-section {
    background-image:
      linear-gradient(rgba(250, 247, 244, .92), rgba(250, 247, 244, .96)),
      url('images/magnolia-botanical-illustration-v2.png') !important;
    background-position: 38% center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
  }

  .room-detail,
  .gallery-page-main,
  main:has(> .gallery-back-button) {
    background-color: var(--luwiana-paper) !important;
    background-image:
      linear-gradient(rgba(255, 253, 251, .88), rgba(255, 253, 251, .94)),
      url('images/magnolia-botanical-illustration-v2.png') !important;
    background-position: 63% center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
  }
}

/* Definitive shared desktop edges; intentionally last in the stylesheet. */
@media (min-width: 1051px) {
  .nav-inner,
  .feature-strip,
  .suites-section .section-title,
  .suites-section .room-grid,
  .gallery-page-main,
  main:has(> .gallery-back-button),
  .city-intro,
  .city-grid,
  .local-recs .section-title,
  .local-recs-grid,
  .gallery-link-inner,
  .location-inner {
    box-sizing: border-box !important;
    width: min(calc(100vw - 48px), 1160px) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .nav-inner,
  .feature-strip,
  .suites-section .section-title,
  .suites-section .room-grid,
  .gallery-page-main,
  main:has(> .gallery-back-button),
  .city-intro,
  .city-grid,
  .local-recs .section-title,
  .local-recs-grid,
  .gallery-link-inner {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* Desktop header uses the full window and is independent of content gutters. */
@media (min-width: 1051px) {
  .nav-inner {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    height: 72px !important;
    margin: 0 !important;
    padding-left: 28px !important;
    padding-right: 28px !important;
    gap: 18px !important;
  }

  .nav-inner .logo {
    flex: 0 0 174px !important;
    width: 174px !important;
    margin: 0 !important;
  }

  .nav-inner .navlinks {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    justify-content: center !important;
    margin: 0 !important;
    transform: none !important;
  }

  .nav-inner .languages,
  .nav-inner .languages.is-open {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 2px 0 0 !important;
    gap: 5px !important;
  }

  .nav-inner .languages .mobile-top-back {
    width: 36px !important;
    min-width: 36px !important;
    height: 22px !important;
    min-height: 22px !important;
    margin: 0 8px 0 0 !important;
    padding: 0 10px 0 0 !important;
    font-size: 0 !important;
    opacity: .82 !important;
  }

  .nav-inner .languages .mobile-top-back::before {
    content: "" !important;
    display: block !important;
    width: 20px !important;
    height: 20px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23413d3a' d='M12 2.8 2.5 10.7h2.2V21h5.2v-6.3h4.2V21h5.2V10.7h2.2L12 2.8Z'/%3E%3C/svg%3E") !important;
    background-position: center !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
  }

  .nav-inner .languages .mobile-top-back:hover {
    opacity: 1 !important;
  }

  .nav-inner > .nav-book {
    flex: 0 0 auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    font-size: 12.5px !important;
  }
}

/* Authoritative mobile home control. */
@media (max-width: 1050px) {
  .nav-inner .languages .mobile-top-back,
  .nav-inner .languages.is-open .mobile-top-back {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 35px !important;
    min-width: 35px !important;
    height: 24px !important;
    min-height: 24px !important;
    margin: 0 5px 0 2px !important;
    padding: 0 7px 0 0 !important;
    border: 0 !important;
    border-right: 1px solid #d8d0cc !important;
    background: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    opacity: .84 !important;
  }

  .nav-inner .languages .mobile-top-back::before {
    content: "" !important;
    display: block !important;
    width: 20px !important;
    height: 20px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23413d3a' d='M12 2.8 2.5 10.7h2.2V21h5.2v-6.3h4.2V21h5.2V10.7h2.2L12 2.8Z'/%3E%3C/svg%3E") !important;
    background-position: center !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
  }
}

/* The visible lower mobile navigation uses a home icon instead of Back text. */
@media (max-width: 600px) {
  /* Hide the source link near the language selector; its mobile copy is below. */
  .nav-inner .languages .mobile-top-back,
  .nav-inner .languages.is-open .mobile-top-back {
    display: none !important;
  }

  .nav-inner .navlinks .mobile-section-back {
    display: none !important;
    align-items: center !important;
    justify-content: flex-start !important;
    box-sizing: border-box !important;
    width: 34px !important;
    min-width: 34px !important;
    height: 28px !important;
    min-height: 28px !important;
    margin-left: 4px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-decoration: none !important;
  }

  .nav-inner .navlinks .mobile-section-back::before {
    content: "" !important;
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23413d3a' d='M12 2.8 2.5 10.7h2.2V21h5.2v-6.3h4.2V21h5.2V10.7h2.2L12 2.8Z'/%3E%3C/svg%3E") !important;
    background-position: center !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
  }

  .nav-inner .navlinks {
    grid-template-columns: repeat(4, max-content) minmax(8px, 1fr) max-content !important;
    column-gap: clamp(7px, 2.4vw, 12px) !important;
  }

  .nav-inner .navlinks > a:not(.mobile-section-back):not(.mobile-section-book) {
    padding-left: 0 !important;
    padding-right: 0 !important;
    font-size: clamp(9px, 2.65vw, 10.5px) !important;
    letter-spacing: .015em !important;
  }

  .nav-inner .navlinks .mobile-section-book {
    grid-column: 6 !important;
    font-size: clamp(8.5px, 2.45vw, 9.8px) !important;
  }

  .nav-inner {
    min-height: 66px !important;
  }

  .nav-inner .logo {
    flex: 0 0 84px !important;
    width: 84px !important;
    min-width: 84px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .nav-inner .logo img,
  .nav-inner .logo .brand-logo {
    width: 82px !important;
    max-width: 82px !important;
    height: auto !important;
  }

  .nav-inner .languages,
  .nav-inner .languages.is-open {
    margin-left: 10px !important;
  }
}
