:root {
  --green-950: #042d21;
  --green-900: #063c2b;
  --green-850: #0a4834;
  --green-800: #0f513d;
  --green-700: #176149;
  --gold: #d9a64d;
  --gold-dark: #b7832e;
  --ivory: #f7f4ed;
  --sand: #e8dfd1;
  --ink: #0c251d;
  --muted: #5b625e;
  --header-height: 82px;
}

html {
  max-width: 100%;
  overflow-x: hidden;
  scroll-behavior: smooth;
  scroll-padding-top: var(--header-height);
}

body {
  max-width: 100%;
  overflow-x: hidden;
  font-family: Inter, "Helvetica Neue", Arial, sans-serif;
  color: var(--ink);
  background: var(--ivory);
  -webkit-font-smoothing: antialiased;
}

@supports (overflow: clip) {
  html,
  body {
    overflow-x: clip;
  }
}

.modal,
.modal-dialog-scrollable .modal-body,
.summary-items {
  scrollbar-width: none;
}

.modal::-webkit-scrollbar,
.modal-dialog-scrollable .modal-body::-webkit-scrollbar,
.summary-items::-webkit-scrollbar {
  display: none;
}

a {
  text-decoration: none;
}

.container-xxl {
  max-width: 1420px;
}

.site-header {
  min-height: var(--header-height);
  background: rgba(3, 44, 32, .97);
  box-shadow: 0 3px 18px rgba(0, 0, 0, .12);
  transition: background-color .25s ease, box-shadow .25s ease;
}

.site-header.scrolled {
  background: rgba(3, 42, 31, .995);
  box-shadow: 0 8px 30px rgba(0, 0, 0, .2);
}

.site-header .navbar {
  min-height: var(--header-height);
  padding: .65rem 0;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: .9rem;
  color: #fff;
}

.brand:hover {
  color: #fff;
}

.brand-mark {
  display: inline-grid;
  place-items: center;
  width: 45px;
  flex: 0 0 45px;
}

.brand-mark svg {
  width: 100%;
  height: auto;
  fill: none;
  stroke: var(--gold);
  stroke-width: 1.45;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.brand-copy {
  display: flex;
  flex-direction: column;
  line-height: 1;
}

.brand-copy strong {
  font-size: 1.75rem;
  font-weight: 400;
  letter-spacing: .08em;
}

.brand-copy small {
  margin-top: .5rem;
  color: var(--gold);
  font-size: .68rem;
  letter-spacing: .52em;
  padding-left: .2rem;
}

.navbar-dark .navbar-nav .nav-link {
  position: relative;
  color: rgba(255,255,255,.95);
  font-size: .875rem;
  font-weight: 700;
  letter-spacing: .025em;
  text-transform: uppercase;
  padding: 1rem .55rem;
}

.navbar-dark .navbar-nav .nav-link::after {
  border: 0;
}

.navbar-dark .navbar-nav .nav-link::before {
  content: "";
  position: absolute;
  left: .55rem;
  right: .55rem;
  bottom: .5rem;
  height: 1px;
  background: var(--gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .2s ease;
}

.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link.active,
.navbar-dark .navbar-nav .nav-link.show,
.navbar-dark .navbar-nav .show > .nav-link {
  color: var(--gold);
}

.navbar-dark .navbar-nav .nav-link:hover::before,
.navbar-dark .navbar-nav .nav-link.active::before,
.navbar-dark .navbar-nav .nav-link.show::before {
  transform: scaleX(1);
}

.dropdown-menu {
  padding: .6rem;
  border: 0;
  border-radius: .25rem;
  box-shadow: 0 18px 40px rgba(0, 0, 0, .18);
}

.dropdown-item {
  padding: .6rem .8rem;
  color: var(--ink);
  font-size: .85rem;
  border-radius: .15rem;
}

.dropdown-item:hover,
.dropdown-item:focus,
.dropdown-item:active,
.dropdown-item.active,
.dropdown-menu .dropdown-item.active {
  color: #fff;
  background: var(--green-700);
}

.header-actions {
  gap: .25rem;
}

.header-phone {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  color: #fff;
  font-size: .8rem;
  font-weight: 600;
  white-space: nowrap;
}

.header-phone:hover {
  color: var(--gold);
}

.header-phone i {
  font-size: 1.15rem;
}

.btn {
  border-radius: .2rem;
  min-height: 46px;
  padding: .82rem 1.55rem;
  font-size: .78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .025em;
  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease, color .2s ease;
}

.btn:hover {
  transform: translateY(-2px);
}

.btn-gold {
  color: #10251e;
  background: linear-gradient(135deg, #e2b75f, #c8953c);
  border: 1px solid #dbad54;
  box-shadow: 0 10px 25px rgba(150, 103, 35, .18);
}

.btn-gold:hover,
.btn-gold:focus {
  color: #10251e;
  background: linear-gradient(135deg, #ebc878, #d9a84e);
  border-color: #edc56e;
  box-shadow: 0 13px 30px rgba(150, 103, 35, .25);
}

.btn-outline-gold {
  color: #fff;
  background: rgba(4, 54, 40, .42);
  border: 1px solid var(--gold);
}

.btn-outline-gold:hover {
  color: var(--green-950);
  background: var(--gold);
  border-color: var(--gold);
}

.hero-section {
  position: relative;
  min-height: 670px;
  margin-top: var(--header-height);
  overflow: hidden;
  color: #fff;
  background: var(--green-950);
}

.hero-media,
.hero-shade {
  position: absolute;
  inset: 0;
}

.hero-media {
  left: 0;
  background: url("../img/hero.jpg") center / cover no-repeat;
  transform: scale(1.01);
}

.hero-shade {
  background:
    linear-gradient(90deg,
      rgba(2, 43, 31, 1) 0%,
      rgba(2, 43, 31, .98) 26%,
      rgba(2, 43, 31, .86) 43%,
      rgba(2, 43, 31, .36) 66%,
      rgba(2, 43, 31, .05) 100%),
    linear-gradient(0deg, rgba(0,0,0,.12), transparent 45%);
}

.min-vh-hero {
  min-height: 670px;
}

.hero-content {
  max-width: 680px;
  padding: 4.4rem 0;
}

.eyebrow {
  margin-bottom: .9rem;
  color: var(--gold);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: .025em;
  text-transform: uppercase;
}

.hero-content h1 {
  max-width: 650px;
  margin-bottom: 1.15rem;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.9rem, 4.4vw, 4.7rem);
  font-weight: 400;
  line-height: .98;
  letter-spacing: -.025em;
}

.hero-materials {
  color: #f2be59;
  font-size: 1.05rem;
  font-weight: 600;
}

.hero-materials span {
  margin: 0 .25rem;
}

.hero-benefits {
  max-width: 650px;
  margin: 2rem 0 1.8rem;
}

.hero-benefits > div:not(:last-child) .mini-benefit {
  border-right: 1px solid rgba(255,255,255,.22);
}

.mini-benefit {
  min-height: 64px;
  display: flex;
  align-items: center;
  gap: .8rem;
  padding: .2rem 1.2rem;
}

.hero-benefits > div:first-child .mini-benefit {
  padding-left: 0;
}

.hero-benefits > div:last-child .mini-benefit {
  padding-right: 0;
}

.mini-benefit i {
  flex: 0 0 2.25rem;
  color: var(--gold);
  font-size: 2.15rem;
  line-height: 1;
  text-align: center;
}

.mini-benefit span {
  font-size: .8rem;
  line-height: 1.25;
}

.section {
  padding: 3rem 0 4rem;
}

.products-section {
  background:
    radial-gradient(circle at 14% 10%, rgba(212, 179, 116, .08), transparent 20%),
    var(--ivory);
}

.section-heading {
  margin-bottom: 2rem;
}

.section-heading h2 {
  margin: 0;
  font-size: 1.45rem;
  font-weight: 800;
  text-transform: uppercase;
}

.section-heading span {
  display: inline-block;
  width: 38px;
  height: 2px;
  margin-top: .65rem;
  background: var(--gold);
}

.product-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: rgba(255,255,255,.35);
  border: 1px solid #d8d0c2;
  border-radius: .22rem;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.product-card:hover {
  transform: translateY(-6px);
  border-color: #c8aa72;
  box-shadow: 0 20px 45px rgba(41, 45, 37, .12);
}

.product-image {
  position: relative;
  height: 205px;
  overflow: hidden;
  background: #ddd;
}

.product-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease;
}

.product-card:hover .product-image img {
  transform: scale(1.045);
}

.product-icon {
  position: absolute;
  left: 1rem;
  bottom: 1rem;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  color: #fff;
  background: var(--green-900);
  border: 2px solid #ddbd70;
  border-radius: 50%;
  font-size: 1.25rem;
  box-shadow: 0 7px 18px rgba(0,0,0,.18);
}

.product-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 1.35rem 1rem 1rem;
}

.product-body h3 {
  min-height: 58px;
  margin-bottom: .75rem;
  font-size: 1.18rem;
  font-weight: 800;
  line-height: 1.15;
  text-transform: uppercase;
}

.product-body p,
.product-body li {
  font-size: .86rem;
  line-height: 1.55;
}

.product-body p {
  min-height: 82px;
  color: #303b36;
}

.product-body ul {
  min-height: 82px;
  margin-bottom: 1rem;
  padding-left: 1rem;
}

.btn-product {
  width: 100%;
  min-height: 38px;
  padding: .52rem .6rem;
  color: var(--ink);
  background: transparent;
  border: 1px solid #567367;
  font-size: .72rem;
}

.btn-product:hover {
  color: #fff;
  background: var(--green-900);
  border-color: var(--green-900);
}

.why-section {
  padding: 2.1rem 0 2.7rem;
  color: #fff;
  background:
    radial-gradient(circle at 20% 40%, rgba(255,255,255,.035), transparent 24%),
    linear-gradient(105deg, #07432f, #032f22 75%);
}

.section-heading-light h2 {
  color: #fff;
}

.why-grid {
  border-top: 1px solid rgba(255,255,255,.06);
}

.why-item {
  height: 100%;
  min-height: 164px;
  padding: 1.2rem .85rem .8rem;
  text-align: center;
  border-right: 1px solid rgba(255,255,255,.12);
}

.why-grid .col:last-child .why-item {
  border-right: 0;
}

.why-item i {
  display: block;
  margin-bottom: .75rem;
  color: var(--gold);
  font-size: 2.3rem;
  line-height: 1;
}

.why-item h3 {
  min-height: 32px;
  margin-bottom: .55rem;
  font-size: .72rem;
  font-weight: 800;
  line-height: 1.2;
  text-transform: uppercase;
}

.why-item p {
  margin: 0 auto;
  color: rgba(255,255,255,.88);
  font-size: .68rem;
  line-height: 1.45;
}

.calculator-section {
  position: relative;
  overflow: hidden;
  background: #f1ede5;
}

.calculator-image {
  position: absolute;
  inset: 0 0 0 43%;
  background: url("../img/calculator.jpg") center / cover no-repeat;
}

.calculator-section::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, #f2eee7 0%, #f2eee7 42%, rgba(242,238,231,.75) 53%, transparent 72%);
}

.min-vh-calc {
  min-height: 330px;
}

.calculator-content {
  position: relative;
  z-index: 1;
  padding: 3rem 0;
}

.calculator-content .section-heading {
  margin-bottom: 1.2rem;
}

.calc-steps i {
  display: block;
  margin-bottom: 1rem;
  color: var(--gold-dark);
  font-size: 2rem;
}

.calc-steps strong {
  display: block;
  margin-bottom: .6rem;
  font-size: .78rem;
}

.calc-steps p {
  margin: 0;
  color: #3e4844;
  font-size: .73rem;
  line-height: 1.5;
}

.trust-section {
  padding: 1.2rem 0;
  background: #faf9f5;
  border-top: 1px solid #ddd6ca;
  border-bottom: 1px solid #ddd6ca;
}

.trust-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  height: 100%;
  padding: .5rem 1rem;
}

.trust-item i {
  color: var(--ink);
  font-size: 2.4rem;
}

.trust-item strong,
.trust-item span {
  display: block;
}

.trust-item strong {
  margin-bottom: .2rem;
  font-size: .73rem;
  text-transform: uppercase;
}

.trust-item span {
  color: #3e4944;
  font-size: .7rem;
  line-height: 1.35;
}

.site-footer {
  padding: 3.2rem 0 1.2rem;
  color: #fff;
  background:
    radial-gradient(circle at 12% 20%, rgba(255,255,255,.04), transparent 25%),
    var(--green-950);
}

.footer-brand .brand-copy strong {
  font-size: 1.65rem;
}

.footer-intro {
  max-width: 270px;
  margin-top: 1.2rem;
  color: rgba(255,255,255,.86);
  font-size: .78rem;
  line-height: 1.6;
}

.site-footer h3 {
  margin: .45rem 0 1.1rem;
  color: #fff;
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.site-footer .col-lg:not(:first-child) {
  border-left: 1px solid rgba(255,255,255,.18);
  padding-left: 2rem;
}

.site-footer a:not(.brand) {
  display: block;
  margin-bottom: .55rem;
  color: rgba(255,255,255,.88);
  font-size: .73rem;
}

.site-footer a:hover {
  color: var(--gold);
}

.site-footer a i {
  margin-right: .45rem;
}

.socials {
  display: flex;
  gap: .85rem;
  margin-top: .8rem;
}

.socials a {
  font-size: 1rem !important;
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 2.5rem;
  padding-top: 1rem;
  color: rgba(255,255,255,.56);
  border-top: 1px solid rgba(255,255,255,.12);
  font-size: .68rem;
}

@media (max-width: 1199.98px) {
  :root { --header-height: 76px; }

  .site-header .navbar-collapse {
    margin: 0;
  }

  .navbar-dark .navbar-nav .nav-link {
    padding: .65rem .2rem;
  }

  .navbar-dark .navbar-nav .nav-link::before {
    display: none;
  }

  .header-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
    padding-top: .8rem;
  }

  .hero-media {
    left: 0;
  }

  .hero-content {
    max-width: 610px;
  }

  .why-grid .col:nth-child(4n) .why-item {
    border-right: 0;
  }

  .why-grid .col:nth-child(n+5) .why-item {
    border-top: 1px solid rgba(255,255,255,.12);
  }
}

@media (max-width: 991.98px) {
  .hero-section,
  .min-vh-hero {
    min-height: 680px;
  }

  .hero-media {
    left: 0;
    opacity: .55;
  }

  .hero-shade {
    background: linear-gradient(90deg, rgba(2,43,31,.98), rgba(2,43,31,.88) 55%, rgba(2,43,31,.46));
  }

  .calculator-image {
    inset: 0;
    opacity: .24;
  }

  .calculator-section::after {
    background: rgba(242,238,231,.82);
  }

  .site-footer .col-lg:not(:first-child) {
    border-left: 0;
    padding-left: calc(var(--bs-gutter-x) * .5);
  }
}

@media (max-width: 767.98px) {
  .brand-mark {
    width: 38px;
    flex-basis: 38px;
  }

  .brand-copy strong {
    font-size: 1.35rem;
  }

  .brand-copy small {
    font-size: .55rem;
  }

  .hero-section,
  .min-vh-hero {
    min-height: auto;
  }

  .hero-content {
    padding: 4.4rem 0 3.6rem;
  }

  .hero-content h1 {
    font-size: clamp(2.5rem, 11vw, 3.8rem);
  }

  .why-grid .col:nth-child(2n) .why-item {
    border-right: 0;
  }

  .why-grid .col:nth-child(n+3) .why-item {
    border-top: 1px solid rgba(255,255,255,.12);
  }

  .calc-steps .col-4 {
    width: 100%;
  }

  .calc-steps {
    gap: .2rem !important;
  }

  .calc-steps > div {
    display: grid;
    grid-template-columns: 46px 1fr;
    column-gap: .8rem;
    padding-top: .8rem;
    padding-bottom: .8rem;
    border-bottom: 1px solid #d5ccbd;
  }

  .calc-steps i {
    grid-row: 1 / span 2;
    margin: 0;
  }

  .footer-bottom {
    flex-direction: column;
  }
}

@media (max-width: 575.98px) {
  .hero-benefits {
    margin: 1.5rem 0;
  }

  .hero-benefits > div:not(:last-child) .mini-benefit {
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.14);
  }

  .mini-benefit,
  .hero-benefits > div:first-child .mini-benefit,
  .hero-benefits > div:last-child .mini-benefit {
    min-height: 58px;
    padding: .55rem 0;
  }

  .mini-benefit span {
    line-height: 1.35;
  }

  .hero-materials {
    font-size: .87rem;
    line-height: 1.8;
  }

  .hero-buttons .btn {
    width: 100%;
  }

  .section {
    padding: 2.5rem 0 3rem;
  }

  .product-image {
    height: 235px;
  }

  .why-item {
    min-height: 175px;
  }

  .trust-item {
    padding-left: 0;
    padding-right: 0;
  }
}


/* ------------------------------------------------------------------
   Readability: standard body copy is 16px.
   ------------------------------------------------------------------ */
body {
  font-size: 16px;
  line-height: 1.55;
}

.navbar-dark .navbar-nav .nav-link,
.header-phone,
.btn,
.dropdown-item {
  font-size: .875rem;
}

.mini-benefit span,
.product-body p,
.product-body li,
.why-item p,
.calc-steps p,
.trust-item span,
.footer-intro,
.site-footer a:not(.brand) {
  font-size: 1rem;
}

.why-item h3,
.calc-steps strong,
.trust-item strong,
.site-footer h3 {
  font-size: .875rem;
}

.product-body p,
.product-body ul {
  min-height: 96px;
}

.product-body h3 {
  font-size: 1.25rem;
}

.why-item {
  min-height: 205px;
}

.why-item h3 {
  min-height: 42px;
}

.site-footer a:not(.brand) {
  line-height: 1.35;
}

.form-control,
.form-select,
.form-check-label,
.input-group-text {
  min-height: 48px;
  font-size: 1rem;
  border-radius: .25rem;
}

.form-control:focus,
.form-select:focus,
.form-check-input:focus {
  border-color: var(--gold);
  box-shadow: 0 0 0 .2rem rgba(217, 166, 77, .18);
}

.inner-page {
  padding-top: var(--header-height);
}

/* ------------------------------------------------------------------
   Shared inner-page components
   ------------------------------------------------------------------ */
.breadcrumb {
  margin: 0;
  font-size: .9375rem;
}

.breadcrumb a {
  color: var(--green-700);
}

.breadcrumb-item + .breadcrumb-item::before {
  color: #89928e;
}

.breadcrumb-light,
.breadcrumb-light a,
.breadcrumb-light .breadcrumb-item.active,
.breadcrumb-light .breadcrumb-item + .breadcrumb-item::before {
  color: rgba(255,255,255,.78);
}

.inner-hero .breadcrumb,
.inner-hero .breadcrumb a,
.inner-hero .breadcrumb-item.active,
.inner-hero .breadcrumb-item + .breadcrumb-item::before,
.search-page-hero .breadcrumb,
.search-page-hero .breadcrumb a,
.search-page-hero .breadcrumb-item.active,
.search-page-hero .breadcrumb-item + .breadcrumb-item::before {
  color: rgba(255, 255, 255, .82);
}

.modal-kicker {
  margin: 0 0 .15rem;
  color: var(--gold-dark);
  font-size: .8125rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.request-modal {
  border: 0;
  border-radius: .35rem;
  overflow: hidden;
  box-shadow: 0 30px 80px rgba(0,0,0,.25);
}

.request-modal .modal-header,
.request-modal .modal-footer {
  padding: 1.25rem 1.5rem;
  border-color: #e4ddd0;
}

.request-modal .modal-body {
  padding: 1.5rem;
  background: #faf8f3;
}

/* ------------------------------------------------------------------
   Catalogue page
   ------------------------------------------------------------------ */
.catalog-hero {
  position: relative;
  min-height: 360px;
  display: flex;
  align-items: center;
  color: #fff;
  background:
    linear-gradient(90deg, rgba(3,44,32,.98), rgba(3,44,32,.76) 48%, rgba(3,44,32,.22)),
    url("../img/catalog-hero.jpg") center 48% / cover no-repeat;
}

.catalog-hero .container-xxl {
  padding-top: 3.2rem;
  padding-bottom: 3.2rem;
}

.catalog-hero .breadcrumb {
  margin-bottom: 2rem;
}

.catalog-hero h1 {
  max-width: 850px;
  margin: 0 0 1rem;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.8rem, 5vw, 4.7rem);
  font-weight: 400;
  line-height: 1.02;
}

.catalog-hero-text {
  max-width: 700px;
  margin: 0;
  color: rgba(255,255,255,.9);
  font-size: 1.125rem;
}

.catalog-section {
  padding: 3.2rem 0 4.5rem;
  background: #f7f4ed;
}

.catalog-filters {
  position: sticky;
  top: calc(var(--header-height) + 1.5rem);
  align-self: flex-start;
}

.catalog-filters .offcanvas-body {
  display: block;
  padding: 0;
}

.filter-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}

.filter-heading p {
  margin: 0;
  color: var(--gold-dark);
  font-size: .8125rem;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.filter-heading h2 {
  margin: .15rem 0 0;
  font-size: 1.4rem;
  font-weight: 800;
}

.filter-reset {
  padding: 0;
  color: var(--green-700);
  background: transparent;
  border: 0;
  font-size: .9rem;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.filter-accordion {
  overflow: hidden;
  background: #fff;
  border: 1px solid #dcd4c7;
}

.filter-accordion .accordion-item {
  background: transparent;
  border-color: #e7e0d4;
}

.filter-accordion .accordion-button {
  padding: 1.15rem 1.1rem;
  color: var(--ink);
  background: transparent;
  box-shadow: none;
  font-size: 1rem;
  font-weight: 800;
}

.filter-accordion .accordion-button:not(.collapsed) {
  color: var(--green-900);
}

.filter-accordion .accordion-button::after {
  width: 1rem;
  height: 1rem;
  background-size: 1rem;
}

.filter-accordion .accordion-body {
  padding: 0 1.1rem 1.15rem;
}

.filter-check {
  display: grid;
  grid-template-columns: 20px auto 1fr auto;
  align-items: center;
  gap: .65rem;
  min-height: 38px;
  cursor: pointer;
  color: #28342f;
}

.filter-check .form-check-input {
  width: 18px;
  height: 18px;
  min-height: 0;
  margin: 0;
  border-color: #86928d;
  border-radius: .15rem;
}

.filter-check .form-check-input:checked {
  background-color: var(--green-900);
  border-color: var(--green-900);
}

.filter-check small {
  color: #858e8a;
}

.color-dot {
  width: 18px;
  height: 18px;
  border: 1px solid rgba(0,0,0,.18);
  border-radius: 50%;
}

.color-natural { background: #b48252; }
.color-white { background: #fff; }
.color-anthracite { background: #4b4f50; }
.color-black { background: #151515; }
.color-walnut { background: #654126; }

.range-labels {
  display: flex;
  justify-content: space-between;
  color: #737e79;
  font-size: .8125rem;
}

.form-range::-webkit-slider-thumb {
  background: var(--green-900);
}

.form-range::-moz-range-thumb {
  background: var(--green-900);
}

.btn-filter-mobile {
  color: #fff;
  background: var(--green-900);
  border-color: var(--green-900);
}

.catalog-toolbar {
  min-height: 78px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.5rem;
  margin-bottom: 1.5rem;
  padding-bottom: 1.1rem;
  border-bottom: 1px solid #d9d1c4;
}

.catalog-result-text {
  margin: .55rem 0 .4rem;
  color: #4a5550;
}

.catalog-toolbar-actions {
  display: flex;
  align-items: center;
  gap: .75rem;
}

.sort-label {
  color: #58635e;
  white-space: nowrap;
}

.catalog-toolbar .form-select {
  width: 230px;
  background-color: #fff;
}

.view-switch {
  display: flex;
  overflow: hidden;
  border: 1px solid #bec7c2;
  border-radius: .25rem;
}

.view-switch button {
  width: 46px;
  height: 46px;
  color: var(--green-900);
  background: #fff;
  border: 0;
}

.view-switch button + button {
  border-left: 1px solid #bec7c2;
}

.view-switch button.active {
  color: #fff;
  background: var(--green-900);
}

.active-filters {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
}

.active-filter-chip {
  padding: .35rem .6rem;
  color: var(--green-900);
  background: #e4ece8;
  border: 0;
  border-radius: 50rem;
  font-size: .8125rem;
}

.catalog-grid {
  align-items: stretch !important;
}

.catalog-grid > .col {
  display: flex;
  align-self: stretch;
  height: auto;
}

.catalog-grid > .col > .catalog-card,
.catalog-grid > .catalog-card,
.catalog-grid .catalog-product {
  flex: 1 1 auto;
  width: 100%;
  height: auto;
  min-height: 100%;
}

.catalog-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: #fff;
  border: 1px solid #ddd5c9;
  border-radius: .25rem;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.catalog-card:hover {
  transform: translateY(-5px);
  border-color: #c6a76e;
  box-shadow: 0 20px 42px rgba(35,45,39,.12);
}

.catalog-card-media {
  position: relative;
  height: 255px;
  overflow: hidden;
  background: #e8e3da;
}

.catalog-card-media > a {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
}

.catalog-card-media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #fff;
  transition: transform .4s ease;
}

.catalog-card:hover .catalog-card-media img {
  transform: scale(1.045);
}

.product-catalog-badge {
  position: absolute;
  top: 1rem;
  left: 1rem;
  padding: .4rem .65rem;
  color: var(--green-950);
  background: rgba(235,193,106,.94);
  border-radius: .15rem;
  font-size: .75rem;
  font-weight: 800;
  text-transform: uppercase;
}

.wishlist-button,
.gallery-favorite,
.gallery-zoom {
  display: grid;
  place-items: center;
  padding: 0;
  color: var(--green-900);
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(13,66,48,.16);
  border-radius: 50%;
  box-shadow: 0 6px 18px rgba(0,0,0,.12);
  cursor: pointer;
  pointer-events: auto;
}

.wishlist-button {
  position: absolute;
  top: .8rem;
  right: .8rem;
  z-index: 3;
  width: 42px;
  height: 42px;
}

.gallery-favorite,
.gallery-zoom {
  position: absolute;
  z-index: 3;
  right: 1rem;
  width: 46px;
  height: 46px;
}

.gallery-favorite { top: 1rem; }
.gallery-zoom { bottom: 1rem; }

.wishlist-button:hover,
.gallery-favorite:hover {
  color: #a12f35;
  background: #fff;
  border-color: rgba(161, 47, 53, .28);
}

.wishlist-button.active,
.gallery-favorite.active {
  color: #a12f35;
}

.catalog-card-body {
  display: flex;
  flex: 1;
  min-height: 0;
  gap: .25rem;
  flex-direction: column;
  padding: 1.25rem;
}

.catalog-card-category {
  margin-bottom: .25rem;
  color: var(--gold-dark);
  font-size: .8125rem;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.catalog-card h2 {
  margin: 0 0 .9rem;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.65rem;
  line-height: 1.15;
  min-height: calc(1.15em * 2);
  max-height: calc(1.15em * 2);
  overflow: hidden;
}

.catalog-card h2 a {
  display: -webkit-box;
  color: var(--ink);
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

.catalog-specs {
  display: block;
  flex: 0 0 calc(1.35em * 2);
  gap: .4rem;
  margin: 0 0 1.3rem;
  padding: 0;
  overflow: hidden;
  color: #4d5853;
  list-style: none;
  min-height: calc(1.35em * 2);
  max-height: calc(1.35em * 2);
}

.catalog-specs:empty {
  visibility: hidden;
}

.catalog-specs li {
  display: -webkit-box;
  font-size: .9375rem;
  line-height: 1.35;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

.catalog-specs i {
  color: var(--green-700);
}

.catalog-card-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: .75rem;
  margin-top: auto;
  padding-top: 1rem;
  border-top: 1px solid #ece6dc;
  min-height: 3.5rem;
}

.catalog-price span,
.catalog-price strong {
  display: block;
}

.catalog-price {
  display: flex;
  min-width: 0;
  min-height: 2.4rem;
  flex-direction: column;
  justify-content: center;
}

.catalog-price span {
  color: #707a75;
  font-size: .8125rem;
}

.catalog-price strong {
  color: var(--green-900);
  font-size: 1.35rem;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.catalog-price[data-price-mode="request"] strong {
  color: #68736d;
  font-size: .82rem;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.catalog-card-footer .btn-product {
  width: auto;
  min-width: 118px;
  max-width: 100%;
  flex-shrink: 0;
  white-space: nowrap;
}

.catalog-grid.list-view {
  display: block;
}

.catalog-grid.list-view .catalog-product {
  width: 100%;
  margin-bottom: 1rem;
}

.catalog-grid.list-view .catalog-card {
  display: grid;
  grid-template-columns: minmax(220px, 32%) 1fr;
}

.catalog-grid.list-view .catalog-card-media {
  height: 100%;
  min-height: 270px;
}

.catalog-grid.list-view .catalog-card-body {
  padding: 1.5rem;
}

.catalog-grid.list-view .catalog-card-footer {
  align-items: center;
}

.empty-catalog {
  padding: 5rem 1rem;
  text-align: center;
  background: #fff;
  border: 1px dashed #c8c0b3;
}

.empty-catalog > i {
  display: block;
  margin-bottom: 1rem;
  color: var(--gold-dark);
  font-size: 3rem;
}

.empty-catalog h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 2rem;
}

.catalog-pagination {
  margin-top: 2.5rem;
}

.pagination .page-link {
  min-width: 44px;
  min-height: 44px;
  display: grid;
  place-items: center;
  color: var(--green-900);
  background: transparent;
  border-color: #cfc7ba;
}

.pagination .page-item.active .page-link {
  color: #fff;
  background: var(--green-900);
  border-color: var(--green-900);
}

.catalog-help {
  padding: 3rem 0;
  color: #fff;
  background:
    linear-gradient(105deg, rgba(5,59,43,.98), rgba(2,43,31,.92)),
    url("../img/gallery-room.jpg") center / cover no-repeat;
}

.catalog-help h2 {
  margin-bottom: .6rem;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 4vw, 3.3rem);
}

.catalog-help p:not(.eyebrow) {
  max-width: 820px;
  margin-bottom: 0;
  color: rgba(255,255,255,.84);
}

/* ------------------------------------------------------------------
   Product detail page
   ------------------------------------------------------------------ */
.product-breadcrumb-section {
  padding: 1.25rem 0;
  background: #f7f4ed;
  border-bottom: 1px solid #dfd7ca;
}

.product-main-section {
  padding: 2.5rem 0 4rem;
  background: #f7f4ed;
}

.product-gallery {
  position: sticky;
  top: calc(var(--header-height) + 1.5rem);
}

.product-gallery-stage {
  position: relative;
  height: clamp(440px, 55vw, 690px);
  overflow: hidden;
  background: #ddd8ce;
  border: 1px solid #d6cec1;
}

.product-gallery-main {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
}

.product-gallery-main .swiper-slide,
.product-gallery-main .swiper-slide a {
  display: block;
  width: 100%;
  height: 100%;
}

.product-gallery-main .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #fff;
}

.product-gallery-main .swiper-button-prev,
.product-gallery-main .swiper-button-next {
  width: 46px;
  height: 46px;
  margin-top: 0;
  color: var(--green-900);
  background: #fff;
  border: 0;
  border-radius: 50%;
  --swiper-navigation-size: 18px;
}

.product-gallery-main .swiper-button-prev { left: 1rem; }
.product-gallery-main .swiper-button-next { right: 1rem; }

.product-gallery-main .swiper-button-prev::after,
.product-gallery-main .swiper-button-next::after {
  font-size: 18px;
  font-weight: 700;
}

.product-gallery-thumbs {
  margin-top: .75rem;
}

.product-gallery-thumbs .swiper-slide {
  width: auto;
  height: 112px;
  opacity: .72;
}

.product-gallery-thumbs .swiper-slide-thumb-active {
  opacity: 1;
}

.product-gallery-thumbs .product-thumb {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  overflow: hidden;
  background: #fff;
  border: 2px solid transparent;
  cursor: pointer;
}

.product-gallery-thumbs .swiper-slide-thumb-active .product-thumb {
  border-color: var(--gold-dark);
}

.product-thumb {
  display: block;
  width: 100%;
  height: 112px;
  padding: 0;
  overflow: hidden;
  background: #fff;
  border: 2px solid transparent;
}

.product-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #fff;
}

.product-summary {
  padding: .4rem 0;
}

.product-overline {
  margin-bottom: .45rem;
  color: var(--gold-dark);
  font-size: .875rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.product-summary h1 {
  margin: 0 0 .8rem;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.65rem, 2.4vw, 2.15rem);
  font-weight: 400;
  line-height: 1.15;
}

.product-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .8rem;
  margin-bottom: 1.35rem;
  padding-bottom: 1.1rem;
  border-bottom: 1px solid #d9d1c5;
}

.product-rating {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .7rem;
}

.product-rating span,
.stars {
  color: var(--gold-dark);
}

.product-rating a {
  color: var(--green-700);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.product-code {
  color: #6e7873;
  font-size: .875rem;
}

.product-lead {
  color: #3f4b45;
  font-size: 1.05rem;
}

.product-highlights {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 1.5rem 0;
  border: 1px solid #d6cec1;
  background: #fff;
}

.product-highlights > div {
  display: flex;
  align-items: center;
  gap: .65rem;
  min-height: 90px;
  padding: .8rem;
}

.product-highlights > div + div {
  border-left: 1px solid #e4ddd1;
}

.product-highlights i {
  color: var(--gold-dark);
  font-size: 1.8rem;
}

.product-highlights span,
.product-highlights strong {
  display: block;
  line-height: 1.25;
}

.product-highlights span {
  font-size: .8rem;
}

.product-configurator {
  margin-top: 1.5rem;
  padding: 1.35rem;
  background: #fff;
  border: 1px solid #d7d0c4;
}

.product-configurator h2 {
  margin-bottom: 1.2rem;
  font-size: 1.35rem;
  font-weight: 800;
}

.config-group + .config-group {
  margin-top: 1.1rem;
}

.form-label {
  margin-bottom: .45rem;
  color: #26332d;
  font-size: .9rem;
  font-weight: 700;
}

.opening-options {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .55rem;
}

.opening-option {
  cursor: pointer;
}

.opening-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.opening-option span {
  min-height: 75px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: .35rem;
  padding: .55rem;
  text-align: center;
  background: #faf8f3;
  border: 1px solid #cec7bb;
  font-size: .8rem;
}

.opening-option i {
  color: var(--green-700);
  font-size: 1.35rem;
}

.opening-option input:checked + span {
  color: var(--green-900);
  background: #edf3ef;
  border-color: var(--green-900);
  box-shadow: inset 0 0 0 1px var(--green-900);
}

.product-purchase {
  margin-top: 1.1rem;
  padding: 1.4rem;
  background: var(--green-950);
  color: #fff;
}

.product-price-large > span,
.product-price-large > strong,
.product-price-large > small,
.product-price-large > del {
  display: block;
}

.product-price-large > span {
  color: rgba(255,255,255,.76);
  font-size: .875rem;
}

.product-price-large > strong {
  margin: .15rem 0;
  color: var(--gold);
  font-size: 2.2rem;
  line-height: 1.15;
}

.product-price-large > strong .msoptionsprice-cost,
.product-price-large > strong span {
  display: inline;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
}

.product-price-large small {
  color: rgba(255,255,255,.65);
}

.product-actions {
  display: flex;
  gap: .75rem;
  margin-top: 1.2rem;
}

.product-actions .btn-outline-dark {
  color: #fff;
  border-color: rgba(255,255,255,.5);
}

.product-actions .btn-outline-dark:hover {
  color: var(--green-950);
  background: #fff;
}

.product-delivery-note {
  display: flex;
  gap: .8rem;
  margin-top: 1.2rem;
  padding-top: 1.1rem;
  border-top: 1px solid rgba(255,255,255,.16);
}

.product-delivery-note i {
  color: var(--gold);
  font-size: 1.6rem;
}

.product-delivery-note strong,
.product-delivery-note span {
  display: block;
}

.product-delivery-note strong {
  font-size: .9rem;
}

.product-delivery-note span {
  color: rgba(255,255,255,.72);
  font-size: .8rem;
}

.product-info-section {
  padding: 0 0 4.5rem;
  background: #fff;
}

.product-tabs {
  display: flex;
  flex-wrap: wrap;
  border-bottom: 1px solid #d7d0c4;
}

.product-tabs .nav-item {
  flex: 1 1 180px;
}

.product-tabs .nav-link {
  position: relative;
  min-height: 72px;
  padding: 1rem 1.35rem;
  color: #53605a;
  background: transparent;
  border: 0;
  white-space: nowrap;
  font-weight: 700;
}

.product-tabs .nav-link::after {
  content: "";
  position: absolute;
  left: 1.35rem;
  right: 1.35rem;
  bottom: -1px;
  height: 3px;
  background: var(--gold);
  transform: scaleX(0);
  transition: transform .25s ease;
}

.product-tabs .nav-link.active {
  color: var(--green-900);
}

.product-tabs .nav-link.active::after {
  transform: scaleX(1);
}

.product-tab-content {
  padding-top: 3.2rem;
}

.product-tab-content h2 {
  margin-bottom: 1.2rem;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 4vw, 3rem);
}

.feature-box {
  height: 100%;
  padding: 1.2rem;
  background: #f7f4ed;
  border-left: 3px solid var(--gold);
}

.feature-box i {
  color: var(--gold-dark);
  font-size: 1.8rem;
}

.feature-box h3 {
  margin: .6rem 0 .35rem;
  font-size: 1.05rem;
}

.feature-box p {
  margin: 0;
  color: #53605a;
}

.tab-feature-image {
  width: 100%;
  min-height: 410px;
  object-fit: cover;
}

.specification-table {
  margin: 0;
  border: 1px solid #ddd5c9;
}

.specification-table th,
.specification-table td {
  padding: 1rem;
  vertical-align: middle;
  border-color: #e7e1d7;
}

.specification-table th {
  width: 42%;
  color: var(--green-900);
  background: #f7f4ed;
}

.technical-card {
  padding: 1.3rem;
  background: #f7f4ed;
  border: 1px solid #ddd5c9;
}

.technical-card img {
  width: 100%;
  height: 250px;
  object-fit: cover;
  margin-bottom: 1.2rem;
}

.technical-card h3 {
  font-size: 1.3rem;
}

.technical-card ul {
  display: grid;
  gap: .5rem;
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
}

.technical-card li {
  display: flex;
  gap: .5rem;
}

.technical-card li i {
  color: var(--green-700);
}

.process-card {
  position: relative;
  height: 100%;
  min-height: 260px;
  padding: 1.7rem;
  background: #f7f4ed;
  border: 1px solid #ddd5c9;
}

.process-card > span {
  position: absolute;
  top: 1rem;
  right: 1rem;
  color: rgba(6,60,43,.12);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 3.7rem;
  line-height: 1;
}

.process-card > i {
  color: var(--gold-dark);
  font-size: 2.4rem;
}

.process-card h3 {
  margin: 1.2rem 0 .6rem;
  font-size: 1.3rem;
}

.document-list {
  display: grid;
  gap: .75rem;
  max-width: 900px;
}

.document-item {
  display: grid;
  grid-template-columns: 50px 1fr 30px;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.2rem;
  color: var(--ink);
  background: #f7f4ed;
  border: 1px solid #ddd5c9;
}

.document-item > i:first-child {
  color: var(--gold-dark);
  font-size: 2rem;
}

.document-item span strong,
.document-item span small {
  display: block;
}

.document-item span small {
  color: #6b7670;
}

.rating-summary {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  padding: 1.5rem;
  background: #f7f4ed;
}

.rating-summary > strong {
  color: var(--green-900);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 4rem;
}

.rating-summary p {
  margin: .3rem 0 0;
}

.review-card {
  padding: 1.2rem 0;
  border-bottom: 1px solid #ddd6ca;
}

.review-head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .4rem;
}

.review-head span {
  color: #737d78;
  font-size: .875rem;
}

.related-section {
  padding: 4rem 0 4.5rem;
  background: #f7f4ed;
}

.related-section .catalog-card-media {
  height: 225px;
}

.gallery-modal .modal-content {
  background: #111;
  border: 0;
}

.gallery-modal .modal-header {
  color: #fff;
  border-color: rgba(255,255,255,.15);
}

.gallery-modal .btn-close {
  filter: invert(1);
}

.gallery-modal .modal-body {
  padding: .75rem;
}

.gallery-modal .modal-body img {
  width: 100%;
  max-height: 82vh;
  object-fit: contain;
}

/* ------------------------------------------------------------------
   Responsive inner pages
   ------------------------------------------------------------------ */
@media (max-width: 1199.98px) {
  .catalog-card-media {
    height: 235px;
  }

  .product-highlights {
    grid-template-columns: 1fr;
  }

  .product-highlights > div + div {
    border-left: 0;
    border-top: 1px solid #e4ddd1;
  }

  .product-highlights > div {
    min-height: 70px;
  }
}

@media (max-width: 991.98px) {
  .catalog-filters.offcanvas-lg {
    position: fixed;
    inset: 0 auto 0 0;
    width: min(390px, 100vw);
    max-width: 100%;
    height: 100dvh;
    background: #f7f4ed;
    border-right: 0;
  }

  .catalog-filters .offcanvas-body {
    overflow-y: auto;
    padding: 0 1.25rem 1.25rem;
    scrollbar-width: none;
  }

  .catalog-filters .offcanvas-body::-webkit-scrollbar {
    display: none;
  }

  .catalog-filters .offcanvas-header {
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #ded6ca;
  }

  .catalog-filters .filter-heading {
    align-items: center;
    margin-top: 1rem;
    margin-bottom: .85rem;
  }

  .catalog-toolbar {
    align-items: flex-start;
  }

  .product-gallery {
    position: static;
  }

  .product-gallery-stage {
    height: 620px;
  }
}

@media (max-width: 767.98px) {
  .catalog-section {
    padding-top: 1.25rem;
  }

  .btn-filter-mobile {
    min-height: 48px;
    margin-bottom: 1rem !important;
  }

  .catalog-hero {
    min-height: 330px;
  }

  .catalog-toolbar {
    display: block;
  }

  .catalog-toolbar-actions {
    display: grid;
    grid-template-columns: 1fr auto;
    margin-top: 1rem;
  }

  .sort-label {
    grid-column: 1 / -1;
  }

  .catalog-toolbar .form-select {
    width: 100%;
  }

  .catalog-grid.list-view .catalog-card {
    display: block;
  }

  .catalog-grid.list-view .catalog-card-media {
    min-height: 260px;
  }

  .product-gallery-stage {
    height: 480px;
  }

  .product-gallery-thumbs .swiper-slide,
  .product-thumb {
    height: 86px;
  }

  .opening-options {
    grid-template-columns: 1fr;
  }

  .opening-option span {
    min-height: 58px;
    grid-template-columns: 30px 1fr;
    justify-content: start;
    text-align: left;
  }

  .product-actions {
    flex-wrap: wrap;
  }

  .product-actions .btn {
    min-height: 52px;
  }

  .product-tabs .nav-link {
    min-height: 62px;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

@media (max-width: 575.98px) {
  .catalog-hero h1 {
    font-size: 2.65rem;
  }

  .catalog-card-media {
    height: 270px;
  }

  .catalog-toolbar-actions {
    grid-template-columns: 1fr;
  }

  .view-switch {
    display: none;
  }

  .product-main-section {
    padding-top: 1.2rem;
  }

  .product-gallery-stage {
    height: 370px;
  }

  .product-gallery-thumbs .swiper-slide,
  .product-thumb {
    height: 68px;
  }

  .product-summary h1 {
    font-size: 1.65rem;
  }

  .product-highlights {
    grid-template-columns: 1fr;
  }

  .product-configurator,
  .product-purchase {
    padding: 1rem;
  }

  .product-price-large > strong {
    font-size: 1.8rem;
  }

  .tab-feature-image {
    min-height: 300px;
  }

  .specification-table th,
  .specification-table td {
    min-width: 0;
  }

  .document-item {
    grid-template-columns: 42px 1fr 24px;
    padding: .9rem;
  }

  .rating-summary {
    align-items: flex-start;
  }
}

/* Content tables from POL-SKONE product/category HTML */
.contentBlock {
  max-width: none;
  width: 100%;
  line-height: 1.65;
  overflow-wrap: break-word;
  color: var(--green-950, #1c2420);
}

.contentBlock.product-description {
  max-width: 52rem;
}

.product-description-empty {
  max-width: 40rem;
  margin-top: .35rem;
  font-size: 1rem;
}

.contentBlock h2,
.contentBlock h3 {
  margin: 1.6rem 0 .75rem;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 600;
  color: var(--green-900);
}

.contentBlock h2:first-child,
.contentBlock h3:first-child {
  margin-top: 0;
}

.contentBlock ul,
.contentBlock ol {
  margin: 0 0 1.1rem;
  padding-left: 1.35rem;
}

.contentBlock li + li {
  margin-top: .35rem;
}

.contentBlock p {
  margin: 0 0 1rem;
}

.contentBlock p:last-child {
  margin-bottom: 0;
}

.contentBlock strong {
  font-weight: 600;
}

/* Donor pages often use <br> stacks inside one <p> — keep readable rhythm */
.contentBlock br {
  content: "";
  display: block;
  margin-top: .35rem;
}

.contentBlock-table-wrap {
  position: relative;
  margin: 1.35rem 0 1.75rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  border: 1px solid #ddd5c9;
  border-radius: .35rem;
  background:
    linear-gradient(90deg, #fff 70%, rgba(255, 255, 255, 0)),
    linear-gradient(90deg, rgba(255, 255, 255, 0), #fff 30%) 100% 0,
    linear-gradient(90deg, rgba(35, 45, 39, .1), transparent),
    linear-gradient(90deg, transparent, rgba(35, 45, 39, .1)) 100% 0;
  background-repeat: no-repeat;
  background-size: 2.5rem 100%, 2.5rem 100%, .7rem 100%, .7rem 100%;
  background-attachment: local, local, scroll, scroll;
  box-shadow: 0 12px 30px rgba(35, 45, 39, .06);
}

.contentBlock table {
  width: 100%;
  min-width: 34rem;
  margin: 0;
  border-collapse: collapse;
  background: #fff;
  font-size: .9rem;
  line-height: 1.35;
}

.contentBlock table[border],
.contentBlock table[cellspacing],
.contentBlock table[cellpadding] {
  border: 0;
  border-spacing: 0;
}

.contentBlock th,
.contentBlock td {
  padding: .72rem .85rem;
  border: 1px solid #e4ddd2;
  color: #2f3a35;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
}

.contentBlock th,
.contentBlock td[colspan] {
  color: var(--green-900);
  background: #f3eee4;
  font-weight: 700;
}

.contentBlock tr:first-child th,
.contentBlock tr:first-child td[colspan],
.contentBlock thead th {
  color: #fff;
  background: var(--green-900);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.contentBlock tbody tr:nth-child(even) td:not([colspan]) {
  background: #faf8f3;
}

.contentBlock tbody tr:hover td:not([colspan]) {
  background: #f1ebe0;
}

.contentBlock td:first-child:not([colspan]),
.contentBlock th:first-child:not([colspan]) {
  position: sticky;
  left: 0;
  z-index: 1;
  color: var(--green-900);
  background: #f7f4ed;
  font-weight: 700;
  text-align: left;
  box-shadow: 1px 0 0 #e4ddd2;
}

.contentBlock tbody tr:nth-child(even) td:first-child:not([colspan]) {
  background: #f3eee6;
}

.contentBlock tbody tr:hover td:first-child:not([colspan]) {
  background: #ebe4d8;
}

.contentBlock tr:first-child td:first-child[colspan],
.contentBlock thead tr:first-child th:first-child {
  position: static;
  box-shadow: none;
}

.contentBlock th div,
.contentBlock td div {
  margin: 0;
  text-align: inherit !important;
}

.contentBlock th strong,
.contentBlock td strong {
  font-weight: 800;
}

@media (max-width: 767.98px) {
  .contentBlock-table-wrap {
    margin-right: -.25rem;
    margin-left: -.25rem;
    border-radius: .28rem;
  }

  .contentBlock table {
    min-width: 30rem;
    font-size: .84rem;
  }

  .contentBlock th,
  .contentBlock td {
    padding: .62rem .7rem;
  }
}

@media (max-width: 575.98px) {
  .contentBlock table {
    min-width: 28rem;
    font-size: .8rem;
  }

  .contentBlock th,
  .contentBlock td {
    padding: .55rem .6rem;
  }

  .contentBlock-table-wrap::before {
    content: "↔";
    position: absolute;
    top: .45rem;
    right: .55rem;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 1.55rem;
    height: 1.55rem;
    color: var(--green-900);
    background: rgba(255, 255, 255, .92);
    border: 1px solid #ddd5c9;
    border-radius: 999px;
    font-size: .75rem;
    pointer-events: none;
    box-shadow: 0 4px 12px rgba(35, 45, 39, .08);
  }
}

/* ================================================================
   V3 — header tools, search, cart/checkout, contacts and guide pages
   ================================================================ */
.header-utilities,.header-mobile-tools{align-items:center;gap:.45rem}.header-icon-button,.header-language-button{position:relative;display:grid;place-items:center;min-width:43px;height:43px;padding:0;color:#fff;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.18);border-radius:.22rem}.header-icon-button:hover,.header-language-button:hover{color:var(--gold);background:rgba(255,255,255,.1);border-color:rgba(217,166,77,.65)}.header-language-button{grid-template-columns:auto auto;gap:.4rem;padding:0 .7rem;font-size:.8rem;font-weight:800}.language-menu{min-width:190px}.language-menu .dropdown-item{display:flex;align-items:center;gap:.7rem}.language-menu .dropdown-item b{display:grid;place-items:center;width:34px;height:28px;color:var(--green-900);background:#edf2ef;border-radius:.15rem;font-size:.75rem}.language-menu .dropdown-item.active{color:#fff;background:var(--green-700)}.cart-count{position:absolute;top:-7px;right:-7px;min-width:20px;height:20px;display:grid;place-items:center;padding:0 4px;color:var(--green-950);background:var(--gold);border:2px solid var(--green-950);border-radius:50rem;font-size:.68rem;font-weight:900}.cart-count.is-empty{display:none}.btn-header-quote{min-height:43px;padding:.68rem 1rem;font-size:.73rem}
.search-modal .modal-dialog{max-width:1120px}.search-modal .modal-content{overflow:hidden;border:0;border-radius:.4rem;box-shadow:0 35px 90px rgba(0,0,0,.28)}.search-modal-header{padding:1.3rem 1.5rem;background:#f7f4ed;border-bottom:1px solid #ddd4c7}.search-modal-header .modal-title{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.8rem,4vw,2.7rem)}.search-modal .modal-body{padding:1.5rem}.global-search-box{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:.75rem;padding:.45rem .7rem .45rem 1rem;background:#fff;border:2px solid var(--green-900);border-radius:.25rem}.global-search-box>i{color:var(--green-700);font-size:1.25rem}.global-search-box input{min-width:0;height:52px;padding:0;border:0;outline:0;font-size:1.12rem}.global-search-box kbd{color:#68736d;background:#f1eee7;border:1px solid #d8d1c6;box-shadow:none}.search-layout{display:grid;grid-template-columns:1fr 270px;gap:2rem;margin-top:1.5rem}.search-section-title{display:flex;justify-content:space-between;margin-bottom:.8rem;color:#6b7670;font-size:.82rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.global-search-results{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem}.search-result-item{min-width:0;display:grid;grid-template-columns:72px 1fr 24px;align-items:center;gap:.8rem;padding:.6rem;color:var(--ink);background:#faf8f3;border:1px solid #e1d9cd;transition:.2s}.search-result-item:hover{color:var(--ink);border-color:var(--gold-dark);transform:translateY(-2px)}.search-result-item img{display:block;width:72px;height:72px;padding:.25rem;box-sizing:border-box;object-fit:contain;object-position:center center;background:#eee8df}.search-result-item strong,.search-result-item small{display:block}.search-result-item small{color:#68736e;font-size:.78rem}.search-aside{padding-left:1.4rem;border-left:1px solid #ded6ca}.search-aside h3{margin-bottom:.9rem;font-size:.85rem;font-weight:800;text-transform:uppercase}.search-aside a{display:block;padding:.65rem 0;color:#35423c;border-bottom:1px solid #eee8de}.search-empty{grid-column:1/-1;padding:3rem 1rem;text-align:center;color:#73807a}.site-toast{color:#fff;background:var(--green-900);border:1px solid rgba(255,255,255,.18)}.site-toast .toast-body{display:flex;align-items:center;gap:.7rem;font-weight:700}.site-toast i{color:var(--gold);font-size:1.25rem}.btn-cart-small{min-width:44px;min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.5rem .65rem;color:#fff;background:var(--green-900);border:1px solid var(--green-900);font-size:.72rem}.btn-cart-small:hover{color:#fff;background:var(--green-700)}.catalog-card-footer{flex-wrap:wrap}.catalog-card-footer .catalog-price{margin-right:auto}
.inner-hero{position:relative;color:#fff;background:linear-gradient(100deg,rgba(3,44,32,.98),rgba(3,44,32,.78)),url("../img/catalog-hero.jpg") center/cover no-repeat}.compact-inner-hero{padding:2.4rem 0 2.8rem}.inner-hero .breadcrumb{margin-bottom:1.7rem}.inner-hero h1{margin:0 0 .55rem;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.7rem,5vw,4.4rem);font-weight:400}.inner-hero p:not(.eyebrow){max-width:760px;color:rgba(255,255,255,.84)}
.checkout-section{padding:2.5rem 0 5rem;background:#f5f1e9}.checkout-progress{display:grid;grid-template-columns:repeat(3,1fr);max-width:720px;margin:0 auto 2.5rem}.checkout-progress>div{position:relative;display:grid;place-items:center;gap:.45rem;color:#87908b;text-align:center}.checkout-progress>div:after{content:"";position:absolute;top:20px;left:62%;width:76%;height:1px;background:#c9c2b7}.checkout-progress>div:last-child:after{display:none}.checkout-progress span{z-index:1;width:42px;height:42px;display:grid;place-items:center;background:#f5f1e9;border:1px solid #b8c0bc;border-radius:50%;font-weight:800}.checkout-progress strong{font-size:.82rem;text-transform:uppercase}.checkout-progress .active{color:var(--green-900)}.checkout-progress .active span{color:#fff;background:var(--green-900);border-color:var(--green-900)}.checkout-progress .active:after{background:var(--gold)}.checkout-panel,.order-summary{background:#fff;border:1px solid #ddd5c9}.checkout-panel{padding:1.5rem}.checkout-panel+.checkout-panel{margin-top:1.5rem}.checkout-panel-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.3rem;padding-bottom:1rem;border-bottom:1px solid #e4ddd2}.panel-kicker{margin:0 0 .2rem;color:var(--gold-dark);font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.checkout-panel-heading h2,.order-summary h2,.contact-form-card h2,.showroom-body h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.8rem,3vw,2.6rem);font-weight:400}.checkout-panel-heading h2 small{color:#7b8580;font-family:Arial,sans-serif;font-size:1rem}.link-arrow{display:inline-flex;align-items:center;gap:.5rem;color:var(--green-700);font-weight:700}.cart-items{display:grid}.cart-item{display:grid;grid-template-columns:128px minmax(0,1fr) auto auto;align-items:center;gap:1.2rem;padding:1.2rem 0;border-bottom:1px solid #e8e2d8}.cart-item-image{height:112px;overflow:hidden;background:#eee8df}.cart-item-image img{width:100%;height:100%;object-fit:cover}.cart-item-copy p{margin:0;color:var(--gold-dark);font-size:.76rem;font-weight:800;text-transform:uppercase}.cart-item-copy h3{margin:.15rem 0;font-family:Georgia,"Times New Roman",serif;font-size:1.45rem}.cart-item-copy h3 a{color:var(--ink)}.cart-item-copy small{display:block;color:#67726c}.cart-remove{display:inline-flex;align-items:center;gap:.35rem;margin-top:.65rem;padding:0;color:#8a3e3e;background:transparent;border:0;font-size:.82rem}.cart-quantity{display:grid;grid-template-columns:34px 44px 34px;align-items:center;overflow:hidden;border:1px solid #c8cfc9;border-radius:.2rem}.cart-quantity button,.cart-quantity input{width:100%;height:38px;padding:0;text-align:center;background:#fff;border:0}.cart-quantity input{min-height:38px;border-left:1px solid #d9dedb;border-right:1px solid #d9dedb}.cart-line-price{min-width:104px;color:var(--green-900);font-size:1.1rem;text-align:right}.cart-empty{padding:4rem 1rem;text-align:center}.cart-empty>i{display:block;color:var(--gold-dark);font-size:3rem}.cart-empty h3{margin:.8rem 0 .4rem;font-family:Georgia,"Times New Roman",serif;font-size:2rem}.cart-extra{display:grid;grid-template-columns:1fr 250px;gap:1rem;margin-top:1.4rem}.coupon-box,.cart-help-card{padding:1rem;background:#f7f4ed}.coupon-box label{display:block;margin-bottom:.45rem;font-weight:700}.coupon-box small{display:block;margin-top:.45rem}.coupon-success{color:#18714f}.coupon-error{color:#a13c3c}.cart-help-card{display:flex;align-items:center;gap:.75rem}.cart-help-card>i{color:var(--gold-dark);font-size:2rem}.cart-help-card strong,.cart-help-card a{display:block}.cart-help-card a{color:var(--green-700);font-weight:800}.secure-note{display:inline-flex;align-items:center;gap:.35rem;color:#61706a;font-size:.78rem}.checkout-subsection{margin-top:1.8rem;padding-top:1.4rem;border-top:1px solid #e3ddd2}.checkout-subsection h3{margin-bottom:.9rem;font-size:1.15rem;font-weight:800}.checkout-choice{position:relative;display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:.8rem;margin-bottom:.65rem;padding:.9rem;cursor:pointer;background:#faf8f3;border:1px solid #d7d0c4}.checkout-choice input,.payment-option input{position:absolute;opacity:0}.checkout-choice:has(input:checked),.payment-option:has(input:checked)>span{background:#edf3ef;border-color:var(--green-900);box-shadow:inset 0 0 0 1px var(--green-900)}.checkout-choice-icon{width:44px;height:44px;display:grid;place-items:center;color:var(--green-900);background:#fff;border-radius:50%;font-size:1.25rem}.checkout-choice strong,.checkout-choice small{display:block}.checkout-choice small{color:#65716b}.payment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem}.payment-option{position:relative;cursor:pointer}.payment-option>span{min-height:88px;display:grid;place-items:center;align-content:center;gap:.3rem;text-align:center;background:#faf8f3;border:1px solid #d7d0c4}.payment-option i{color:var(--green-700);font-size:1.5rem}.checkout-consent{display:flex;align-items:flex-start;gap:.6rem;margin-top:1.3rem}.checkout-consent .form-check-input{min-height:0;margin-top:.3rem}.order-summary{position:sticky;top:calc(var(--header-height) + 1.5rem);padding:1.5rem;box-shadow:0 20px 45px rgba(40,47,42,.09)}.summary-items{display:grid;gap:.8rem;max-height:300px;overflow-y:auto;margin-top:1rem;padding-top:1rem;border-top:1px solid #e5ded3}.summary-item{display:grid;grid-template-columns:60px 1fr auto;align-items:center;gap:.7rem}.summary-item img{width:60px;height:55px;object-fit:contain}.summary-item strong,.summary-item small{display:block}.summary-item small{color:#707b75;font-size:.78rem}.summary-item b{color:var(--green-900);font-size:.85rem}.summary-totals{display:grid;gap:.65rem;margin:1.2rem 0 0;padding-top:1.1rem;border-top:1px solid #e5ded3}.summary-totals>div{display:flex;justify-content:space-between}.summary-totals dt{color:#56615c;font-weight:500}.summary-totals dd{margin:0;font-weight:700}.summary-total{margin-top:.45rem;padding-top:.9rem;border-top:1px solid #d7d0c4}.summary-total dt,.summary-total dd{color:var(--green-900);font-size:1.35rem;font-weight:800}.tax-note{color:#707a75;font-size:.78rem}.order-summary .btn{display:flex;align-items:center;justify-content:space-between}.summary-trust{display:grid;gap:.6rem;margin-top:1rem;color:#65716b;font-size:.78rem}.summary-trust i{color:var(--green-700);margin-right:.35rem}
.contacts-hero{padding:3rem 0 3.4rem;background:linear-gradient(100deg,rgba(3,44,32,.98),rgba(3,44,32,.75) 58%,rgba(3,44,32,.3)),url("../img/gallery-room.jpg") center/cover no-repeat}.contact-cards-section{position:relative;z-index:2;margin-top:-1.8rem}.contact-card{height:100%;min-height:190px;padding:1.3rem;background:#fff;border:1px solid #ddd5c9;box-shadow:0 16px 35px rgba(34,45,39,.08)}.contact-card>i{color:var(--gold-dark);font-size:2rem}.contact-card p{margin:.7rem 0 .25rem;color:#68736e;font-size:.78rem;font-weight:800;text-transform:uppercase}.contact-card a,.contact-card small{display:block}.contact-card a{color:var(--green-900);font-weight:800;word-break:break-word}.contact-card small{margin-top:.4rem;color:#76817b}.contact-main-section{padding:3.5rem 0 4.5rem;background:#f7f4ed}.contact-form-card{padding:1.6rem;background:#fff;border:1px solid #ddd5c9}.file-upload{min-height:88px;display:flex;align-items:center;gap:.9rem;padding:1rem;cursor:pointer;background:#faf8f3;border:1px dashed #aab4ae}.file-upload input{position:absolute;opacity:0}.file-upload>i{color:var(--gold-dark);font-size:1.8rem}.file-upload strong,.file-upload small{display:block}.file-upload small{color:#77817c}.showroom-card{overflow:hidden;background:var(--green-950);color:#fff}.showroom-image{position:relative;height:310px}.showroom-image img{width:100%;height:100%;object-fit:cover}.showroom-image span{position:absolute;left:1rem;bottom:1rem;padding:.4rem .65rem;color:var(--green-950);background:var(--gold);font-size:.78rem;font-weight:800;text-transform:uppercase}.showroom-body{padding:1.5rem}.showroom-body>p{color:rgba(255,255,255,.76)}.showroom-body dl{display:grid;gap:.85rem;margin:1.2rem 0}.showroom-body dl>div{display:grid;grid-template-columns:110px 1fr;gap:.8rem;padding-top:.8rem;border-top:1px solid rgba(255,255,255,.15)}.showroom-body dt{color:var(--gold);font-size:.8rem;text-transform:uppercase}.showroom-body dd{margin:0}.showroom-body .link-arrow{color:var(--gold)}.map-section{padding:0 0 4.5rem;background:#f7f4ed}.map-visual{position:relative;min-height:470px;overflow:hidden;background:#e8e6dd;border:1px solid #d3cdc1}.map-grid-lines{position:absolute;inset:0;opacity:.45;background:linear-gradient(30deg,transparent 24%,rgba(255,255,255,.75) 25%,rgba(255,255,255,.75) 27%,transparent 28%,transparent 74%,rgba(255,255,255,.75) 75%,rgba(255,255,255,.75) 77%,transparent 78%);background-size:125px 210px}.map-road{position:absolute;background:#fff;border:1px solid #d4d1c8;box-shadow:0 0 0 5px rgba(255,255,255,.45)}.road-one{width:130%;height:20px;left:-12%;top:48%;transform:rotate(-12deg)}.road-two{width:85%;height:16px;right:-10%;top:25%;transform:rotate(28deg)}.road-three{width:70%;height:14px;left:15%;bottom:18%;transform:rotate(8deg)}.map-park{position:absolute;width:250px;height:150px;right:8%;bottom:8%;display:grid;place-items:center;color:#6e997f;background:#bfd1b9;border-radius:45% 55% 40% 60%;font-size:3rem}.map-water{position:absolute;width:130px;height:520px;left:17%;top:-35px;background:#b9d8dc;transform:rotate(12deg);opacity:.75}.map-pin{position:absolute;z-index:2;left:56%;top:42%;display:grid;place-items:center;color:var(--green-950);transform:translate(-50%,-50%)}.map-pin i{color:var(--gold-dark);font-size:3.5rem}.map-pin span{padding:.35rem .55rem;background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.12);font-size:.78rem;font-weight:800}.map-info{position:absolute;z-index:3;left:1.5rem;bottom:1.5rem;width:min(370px,calc(100% - 3rem));padding:1.3rem;background:rgba(255,255,255,.96);box-shadow:0 20px 45px rgba(39,47,42,.18)}.map-info h2{font-family:Georgia,"Times New Roman",serif;font-size:2rem}
.info-hero{position:relative;min-height:620px;display:flex;align-items:center;overflow:hidden;color:#fff;background:var(--green-950)}.info-hero-image{position:absolute;inset:0 0 0 25%}.info-hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--green-950),rgba(3,44,32,.92) 20%,rgba(3,44,32,.35) 67%,rgba(3,44,32,.05))}.info-hero-image img{width:100%;height:100%;object-fit:cover}.info-hero .container-xxl{padding-top:3rem;padding-bottom:3rem}.info-hero .breadcrumb{margin-bottom:4rem}.info-hero h1{max-width:900px;margin-bottom:1rem;font-family:Georgia,"Times New Roman",serif;font-size:clamp(3rem,6vw,5.4rem);font-weight:400;line-height:.98}.info-hero p:not(.eyebrow){max-width:730px;color:rgba(255,255,255,.86);font-size:1.1rem}.article-meta{display:flex;flex-wrap:wrap;gap:1.2rem;margin-top:1.5rem;color:rgba(255,255,255,.72);font-size:.85rem}.article-section{padding:4.5rem 0 5rem;background:#fff}.article-content>section{margin-top:4rem;padding-top:1rem}.article-lead{color:#334039;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.55rem,3vw,2.15rem);line-height:1.4}.article-image-wide{margin:2.5rem 0 1rem}.article-image-wide img{width:100%;height:480px;object-fit:cover}.article-image-wide span,.article-split-images figcaption{display:block;margin-top:.55rem;color:#6f7974;font-size:.82rem}.article-number{display:block;margin-bottom:.35rem;color:var(--gold-dark);font-size:.85rem;font-weight:900;letter-spacing:.1em}.article-content h2{margin-bottom:1.2rem;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.2rem,4vw,3.5rem);line-height:1.06}.article-content>section>p{color:#4d5953;font-size:1.05rem;line-height:1.75}.material-comparison{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-top:1.6rem}.material-comparison article{overflow:hidden;background:#f7f4ed;border:1px solid #ddd5c9}.material-comparison img{width:100%;height:170px;object-fit:cover}.material-comparison article>div{padding:1rem}.material-comparison p{margin:0;color:#65706b}.article-callout{display:flex;gap:1rem;margin-top:1.5rem;padding:1.4rem;background:#edf3ef;border-left:4px solid var(--gold)}.article-callout>i{color:var(--gold-dark);font-size:2rem}.article-callout p{margin:0}.article-split-images{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:3.2rem}.article-split-images figure{margin:0}.article-split-images img{width:100%;height:330px;object-fit:cover}.opening-guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-top:1.5rem}.opening-guide-grid article{padding:1.2rem;background:#f7f4ed;border:1px solid #ddd5c9}.opening-guide-grid i{color:var(--gold-dark);font-size:2rem}.opening-guide-grid h3{margin:.7rem 0 .35rem}.opening-guide-grid p{margin:0;color:#66716c}.checklist-box{margin-top:1.5rem;padding:1.4rem;color:#fff;background:var(--green-950)}.checklist-box ul{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem 1rem;margin:0;padding:0;list-style:none}.checklist-box i{color:var(--gold);margin-right:.4rem}.article-faq .accordion{border:1px solid #ddd5c9}.article-faq .accordion-button{min-height:64px;background:#faf8f3;box-shadow:none;font-weight:700}.article-sidebar{position:sticky;top:calc(var(--header-height) + 1.5rem);display:grid;gap:1rem}.article-toc{padding:1.3rem;background:#f7f4ed;border:1px solid #ddd5c9}.article-toc a{display:grid;grid-template-columns:34px 1fr;gap:.65rem;padding:.7rem 0;color:#35423c;border-bottom:1px solid #e4ddd2}.article-toc a span:first-child{color:var(--gold-dark);font-weight:800}.article-cta{padding:1.4rem;color:#fff;background:linear-gradient(rgba(3,44,32,.88),rgba(3,44,32,.96)),url("../img/product-doors.jpg") center/cover no-repeat}.article-cta>i{color:var(--gold);font-size:2rem}.article-cta h3{margin:.8rem 0 .4rem;font-family:Georgia,"Times New Roman",serif;font-size:1.8rem}.article-cta p{color:rgba(255,255,255,.78)}.info-bottom-cta{padding:3rem 0;color:#fff;background:var(--green-900)}.info-bottom-cta h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,4vw,3.4rem)}
@media(max-width:1399.98px){.navbar-dark .navbar-nav .nav-link{padding-left:.4rem;padding-right:.4rem;font-size:.8rem}.btn-header-quote{padding-left:.75rem;padding-right:.75rem}}
@media(max-width:1199.98px){.header-utilities{display:grid;grid-template-columns:auto 1fr;gap:.7rem;padding-top:.9rem}.header-utilities .btn-header-quote{margin:0!important}.header-mobile-tools{gap:.35rem}.article-sidebar,.order-summary{position:static}}
@media(max-width:991.98px){.search-layout{grid-template-columns:1fr}.search-aside{padding:1rem 0 0;border-top:1px solid #ded6ca;border-left:0}.cart-extra{grid-template-columns:1fr}.info-hero{min-height:560px}.info-hero-image{left:0;opacity:.52}.info-hero-image:after{background:linear-gradient(90deg,var(--green-950),rgba(3,44,32,.8))}.info-hero .breadcrumb{margin-bottom:2.5rem}}
@media(max-width:767.98px){.global-search-results{grid-template-columns:1fr}.global-search-box{grid-template-columns:28px 1fr}.global-search-box kbd{display:none}.checkout-panel-heading{align-items:flex-start;flex-direction:column}.payment-grid,.material-comparison,.opening-guide-grid{grid-template-columns:1fr}.checkout-choice{grid-template-columns:44px 1fr}.checkout-choice b{grid-column:2}.article-image-wide img{height:350px}.article-split-images{grid-template-columns:1fr}.checklist-box ul{grid-template-columns:1fr}.map-visual{min-height:560px}.map-info{right:1rem;left:1rem;width:auto}}
@media(max-width:575.98px){.header-mobile-tools .header-icon-button{min-width:38px;height:38px}.checkout-panel{padding:1rem}.showroom-image{height:240px}.info-hero{min-height:590px}.info-hero h1{font-size:3rem}.article-section{padding-top:3rem}.article-image-wide img{height:280px}.article-split-images img{height:260px}}

/* Header language control */
.header-language-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.header-language-button.dropdown-toggle::after {
  flex: 0 0 auto;
  margin: 0 0 0 .05rem;
  vertical-align: middle;
}

@media (max-width: 1199.98px) {
  .header-utilities > .dropdown {
    min-width: 0;
  }

  .header-utilities .language-menu {
    position: static !important;
    width: 100%;
    min-width: 100%;
    margin-top: .5rem;
    transform: none !important;
  }
}

@media (max-width: 575.98px) {
  .header-utilities {
    grid-template-columns: 1fr;
  }

  .header-utilities > .dropdown,
  .header-language-button,
  .header-utilities .language-menu {
    width: 100%;
    min-width: 100%;
  }
}
