/* OltConfort — editorial storefront, September 2026 */
:root {
  --bg: #f6f4ee; --bg-soft: #eeece3; --canopy: #253b30;
  --surface: #eeece3; --surface-strong: #fffdf8;
  --text: #253b30; --muted: #666b60; --linen: #253b30;
  --brand: #253b30; --brand-soft: #75542f; --moss: #75542f;
  --line: #d9dcd1; --ok: #346242; --radius: 2px; --radius-sm: 2px;
  --container: 1240px; --shadow-soft: none; --header-h: 90px;
}
body { background: var(--bg); }
::selection { background: #d9c399; color: #253b30; }
.bg-canopy, .bg-glow, .grain-overlay { display: none; }
.container { width: min(100% - 96px, var(--container)); }
a, button, input, select, textarea { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 2px solid #936e36; outline-offset: 5px; }
section { padding: 88px 0; scroll-margin-top: 130px; }
section h2 { font-size: clamp(2.6rem, 4.5vw, 4rem); font-weight: 500; line-height: 1.02; letter-spacing: -.035em; }
h2 em { font-weight: 500; color: #77735d; }
.eyebrow { color: #72745d; font-size: .75rem; font-weight: 600; letter-spacing: .17em; text-transform: uppercase; margin: 0 0 22px; }
.site-top { position: sticky; top: 0; z-index: 30; }
.delivery-bar { background: #253b30; color: #f6f4ee; padding: 9px 20px; border: 0; }
.delivery-bar p { font-size: .75rem; letter-spacing: .075em; }
.delivery-bar span { margin: 0 15px; color: #c4ab7a; }
.site-header { background: rgba(246,244,238,.97); border-bottom: 1px solid var(--line); }
.logo { font-size: 1.9rem; gap: 0; letter-spacing: -.045em; }
.logo span { color: inherit; }
.logo-ring { margin-right: 12px; width: 28px; height: 28px; background: none; border: 1px solid #89917a; box-shadow: inset 0 0 0 4px var(--bg), inset 0 0 0 5px #89917a, inset 0 0 0 9px var(--bg), inset 0 0 0 10px #89917a; }
.main-nav { gap: 32px; }
.main-nav a { font-size: .875rem; color: #4b554a; }
.main-nav a:hover { color: #8e693a; }
.btn { min-height: 48px; background: #253b30; color: #fffdf8; border: 1px solid #253b30; border-radius: 2px; text-transform: none; font-size: .875rem; font-weight: 500; letter-spacing: .01em; padding: 14px 24px; box-shadow: none; gap: 28px; }
.btn:hover { background: #3d5543; color: #fffdf8; box-shadow: none; }
.btn-small { min-height: 44px; padding: 10px 18px; }
.btn-ghost { color: #253b30; background: transparent; border-color: #c1c7b8; }
.btn-ghost:hover { background: #e7e9df; color: #253b30; border-color: #253b30; }
.cart-toggle, .nav-toggle { background: transparent; border: 0; }
.hero { min-height: 640px; height: min(740px, 77vh); background: #eeeae0; align-items: center; overflow: hidden; }
.hero-media { left: 46%; }
.hero-bg-img { object-position: 57% center; animation: none; transform: none; }
.hero-scrim { background: linear-gradient(90deg, rgba(32,35,23,.06), transparent 25%); }
.hero-content { width: 48%; max-width: 620px; margin-left: max(48px, calc((100% - 1240px)/2)); padding: 50px 36px 44px 0; }
.hero .eyebrow { color: #72745d; margin-bottom: 28px; }
.hero h1 { font-size: clamp(3.6rem, 5.5vw, 5.6rem); font-weight: 500; line-height: .98; max-width: none; letter-spacing: -.045em; color: #253b30; }
.hero h1 em { color: #77735d; font-weight: 500; }
.hero .lead { font-size: 1rem; line-height: 1.8; max-width: 34ch; color: #626858; margin-top: 26px; }
.hero-cta { margin-top: 30px; gap: 14px; }
.hero .btn { color: #fffdf8; background: #253b30; padding: 16px 22px; }
.hero .btn:hover { background: #3d5543; box-shadow: none; }
.hero .btn-ghost { color: #253b30; background: transparent; border: 0; padding-inline: 0; gap: 12px; }
.hero .btn-ghost:hover { background: transparent; color: #75542f; }
.hero-note { font-size: .6875rem; letter-spacing: .2em; color: #74745f; margin: 40px 0 0; }
.hero-note span { padding: 0 12px; }
.hero-caption { position: absolute; bottom: 26px; left: calc(46% + 30px); right: 30px; display: flex; justify-content: space-between; gap: 20px; color: white; text-shadow: 0 1px 6px #000; font-size: .625rem; letter-spacing: .14em; }
.hero-caption span:last-child { font-family: var(--font-display); font-size: 1.15rem; letter-spacing: .01em; }
.trust-strip { margin-top: 0; padding: 0; }
.trust-strip-inner { background: transparent; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; box-shadow: none; backdrop-filter: none; }
.trust-strip-inner article { padding: 34px 40px; flex-direction: row; align-items: center; gap: 18px; border: 0; }
.trust-strip-inner article:first-child { padding-left: 0; }
.trust-strip-inner article:last-child { padding-right: 0; }
.trust-strip-inner strong { font-size: 1.9rem; white-space: nowrap; font-weight: 500; }
.trust-strip-inner span { font-size: .75rem; max-width: 18ch; }
.section-intro { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; }
.section-intro > p { color: var(--muted); font-size: 1rem; max-width: 36ch; line-height: 1.8; margin: 0 0 5px; }
.products-pillars { gap: 28px; margin: 38px 0 32px; }
.products-pillars article { border-top: 1px solid var(--line); padding-top: 20px; }
.products-pillars h3 { font-family: var(--font-body); font-size: .875rem; font-weight: 600; }
.products-pillars p { font-size: .875rem; line-height: 1.6; }
.products-grid { gap: 24px; }
.product-card { border: 1px solid var(--line); background: #fffdf8; border-radius: 2px; box-shadow: none; overflow: hidden; }
.product-card:hover { border-color: #a9b39f; box-shadow: 0 12px 30px #253b300a; }
.product-card-thumb { border: 0; background: #e9e6dc; border-radius: 0; }
.product-card-thumb img { aspect-ratio: 4/3; }
.product-card-content { padding: 24px; gap: 10px; }
.product-card-title { font-size: 1.65rem; font-weight: 600; }
.product-card-price { font-family: var(--font-body); font-size: 1.05rem; color: #253b30; }
.product-card-excerpt { font-size: .875rem; line-height: 1.65; }
.product-card-stock { font-size: .75rem; font-weight: 500; }
.product-card-actions { margin-top: 16px; gap: 10px; }
.product-card-actions .btn { font-size: .8125rem; padding: 12px; }
.product-card-add.is-added { color: #fffdf8; }
button:disabled { opacity: .5; cursor: not-allowed; }
.catalog-delivery { margin: 25px 0 0; padding-top: 18px; border-top: 1px solid var(--line); color: var(--muted); font-size: .8125rem; line-height: 1.7; }
.catalog-delivery span { margin-right: 12px; }
.supply-strip { padding-top: 10px; padding-bottom: 80px; }
.supply-strip-inner { background: #253b30; border: 0; padding: 58px; gap: 70px; border-radius: 2px; }
.supply-strip .eyebrow { color: #c5bd98; }
.supply-heading { color: #faf7ed; font-size: clamp(2.4rem, 4vw, 3.5rem); }
.supply-heading em { color: #c5bd98; }
.supply-lead { color: #ccd0c4; line-height: 1.8; }
.supply-steps { gap: 0; }
.supply-steps li { align-items: center; padding: 22px 0; background: none; border: 0; border-bottom: 1px solid #ffffff26; border-radius: 0; gap: 20px; }
.step-num { font-family: var(--font-display); font-size: 1.9rem; font-weight: 500; color: #c5bd98; background: none; width: 36px; height: auto; }
.step-text { color: #f3f2e9; font-size: .875rem; }
.depot { padding-top: 0; }
.depot-layout, .history-layout { gap: 65px; align-items: center; border: 0; background: transparent; box-shadow: none; }
.depot-photo, .history-photo { border-radius: 2px; border: 0; margin: 0; overflow: hidden; }
.depot-photo img, .history-photo img { aspect-ratio: 1.15; width: 100%; height: auto; object-fit: cover; min-height: 0; border-radius: 2px; }
.depot-inner, .history-copy { background: none; padding: 20px 0; border: 0; box-shadow: none; }
.depot-title { font-size: clamp(2.5rem,4.5vw,4rem); }
.depot-lead, .history-lead, .history-copy > p { font-size: 1rem; line-height: 1.85; }
.services { border-top: 1px solid var(--line); }
.services .grid { margin-top: 35px; gap: 26px; }
.card.card-media { padding: 0; border: 0; background: transparent; box-shadow: none; }
.card-media .card-photo img { aspect-ratio: 4/3; }
.card-media .card-body { padding: 24px 0 0; }
.card h3 { font-size: 1.6rem; }
.card p { font-size: .9375rem; line-height: 1.8; }
.extras-section { padding-top: 0; padding-bottom: 75px; }
.extras-section h2 { font-size: 2rem; }
.extras-grid { gap: 36px; }
.extras-card { border-top: 1px solid var(--line); padding-top: 20px; }
.extras-card h3 { font-family: var(--font-body); font-size: .875rem; }
.extras-card p { line-height: 1.8; }
.history { border-top: 1px solid var(--line); }
.history-photo { order: 2; }
.history-tags { gap: 10px; }
.history-tags li { background: transparent; border-color: var(--line); border-radius: 0; color: #56634e; font-size: .8125rem; }
.contact { padding: 60px; margin-bottom: 80px; gap: 64px; background: #eceee5; border: 0; border-radius: 2px; box-shadow: none; }
.contact-copy h2 { font-size: clamp(2.5rem, 4vw, 3.5rem); }
.contact-copy > p { line-height: 1.8; }
.contact-copy a { color: #75542f; }
.contact-form { gap: 18px; }
.contact-form label { font-size: .8125rem; color: #4b5948; gap: 8px; }
input, select, textarea, .product-modal-qty { background: #fffdf8; border: 1px solid #cdd2c4; border-radius: 2px; color: #253b30; padding: 13px 14px; }
select { appearance: auto; }
input:focus, select:focus, textarea:focus { border-color: #667c5c; box-shadow: 0 0 0 3px #667c5c17; }
.order-summary { background: #f6f4ee; }
.transport-disclaimer { background: transparent; border: 0; border-left: 2px solid #a18c61; padding: 6px 0 6px 18px; box-shadow: none; }
.transport-disclaimer-label { font-size: .75rem; color: #75542f; }
.transport-disclaimer--compact .transport-disclaimer-text { font-size: .875rem; line-height: 1.75; color: var(--muted); }
.transport-disclaimer-text strong { font-weight: 600; }
.site-footer { background: #253b30; color: #f3f0e6; margin: 0; border: 0; }
.footer-brand { padding: 48px 0 35px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #ffffff26; }
.footer-brand .logo { color: #f3f0e6; font-size: 2.8rem; }
.footer-brand p { font-family: var(--font-display); font-size: 1.6rem; color: #c5bd98; }
.footer-wrap { padding: 20px 0; font-size: .75rem; color: #c7cec0; }
.footer-wrap a { color: #eee6d2; white-space: nowrap; }
.cart-drawer { z-index: 151; background: #f6f4ee; box-shadow: -12px 0 40px #0002; width: min(100%,460px); }
.cart-backdrop { z-index: 150; }
.cart-drawer-head, .cart-drawer-foot, .cart-drawer-body { padding: 24px; }
.cart-drawer-head h2 { font-size: 2rem; }
.cart-row-qty button { min-width: 32px; min-height: 32px; }
.product-modal-dialog { background: #f6f4ee; border: 0; border-radius: 2px; padding: 24px; }
.product-modal-heading { font-size: 2rem; }
.product-modal-close { background: #f6f4ee; color: #253b30; border-radius: 2px; }
.product-modal-close:hover { background: #e7e9df; }
.p-slider-btn { color: #fff; }
.p-slider-dot { background: #b9bcae; width: 12px; height: 12px; }
.form-status.is-error, .product-card-stock.is-out { color: #a44327; }
.success-wrap .btn { align-self: flex-start; margin-top: 25px; }
@media (max-width: 1100px) {
  .container { width: calc(100% - 56px); }
  .hero-content { margin-left: 28px; padding-right: 24px; }
  .hero h1 { font-size: 4.3rem; }
  .main-nav { gap: 18px; }
  .trust-strip-inner article { padding: 28px 18px; gap: 12px; }
  .trust-strip-inner strong { font-size: 1.65rem; }
}
@media (max-width: 960px) {
  .nav-wrap { min-height: 74px; }
  .nav-toggle { position: relative; z-index: 102; }
  .main-nav { background: #f6f4ee; padding-top: 90px; }
  .main-nav a { font-size: 1rem; }
  .hero { height: auto; min-height: 600px; }
  .hero h1 { font-size: clamp(3.2rem, 6.3vw, 4.3rem); }
  .hero-cta { flex-direction: column; align-items: flex-start; }
  .hero-cta .btn { width: auto; }
  .hero-media { left: 48%; }
  .hero-caption { left: calc(48% + 24px); }
  .hero-caption span:first-child { display: none; }
  .trust-strip-inner { grid-template-columns: repeat(3,1fr); }
  .trust-strip-inner article { flex-direction: column; align-items: flex-start; border: 0; }
  .products-pillars { grid-template-columns: repeat(3,1fr); }
  .supply-strip-inner { grid-template-columns: 1fr 1fr; padding: 36px; gap: 32px; }
  .depot-layout, .history-layout { grid-template-columns: 1fr 1fr; gap: 32px; }
  .contact { padding: 36px; gap: 30px; }
  .footer-wrap { flex-direction: row; text-align: left; }
}
@media (max-width: 620px) {
  .container { width: calc(100% - 40px); }
  section { padding: 55px 0; scroll-margin-top: 115px; }
  .delivery-bar { padding: 8px 10px; }
  .delivery-bar p { font-size: .625rem; letter-spacing: .025em; }
  .delivery-bar span { margin: 0 5px; }
  .nav-wrap { min-height: 68px; }
  .logo { font-size: 1.65rem; }
  .logo-ring { width: 24px; height: 24px; margin-right: 8px; }
  .nav-actions { gap: 2px; }
  .nav-cta { display: none; }
  .hero { display: flex; flex-direction: column; min-height: 0; align-items: stretch; }
  .hero-content { margin: 0; width: 100%; max-width: none; padding: 42px 24px 35px; order: 0; }
  .hero .eyebrow { margin-bottom: 20px; font-size: .6875rem; }
  .hero h1 { font-size: clamp(3.25rem, 12vw, 4.65rem); }
  .hero .lead { font-size: .9375rem; max-width: 36ch; margin-top: 20px; }
  .hero-cta { gap: 16px; margin-top: 24px; flex-direction: row; align-items: center; }
  .hero .btn { font-size: .8125rem; min-height: 48px; padding: 13px 17px; gap: 16px; }
  .hero .btn-ghost { padding: 0; gap: 8px; }
  .hero-note { display: none; }
  .hero-media { position: relative; inset: auto; width: 100%; height: 300px; order: 1; }
  .hero-bg-img { object-position: center 55%; }
  .hero-caption { left: 24px; bottom: 20px; right: 24px; }
  .trust-strip-inner article { padding: 24px 9px; gap: 5px; }
  .trust-strip-inner strong { font-size: 1.35rem; }
  .trust-strip-inner span { font-size: .6875rem; }
  .section-intro { display: block; }
  .section-intro > p { margin-top: 20px; font-size: .9375rem; }
  section h2 { font-size: 2.7rem; }
  .eyebrow { font-size: .6875rem; margin-bottom: 18px; }
  .products-pillars { grid-template-columns: 1fr; gap: 15px; margin-top: 25px; }
  .products-pillars article { padding-top: 14px; }
  .products-pillars p { margin: 5px 0 0; }
  .products-grid { grid-template-columns: 1fr; gap: 25px; }
  .product-card-content { padding: 22px; }
  .product-card-thumb img { aspect-ratio: 4/3; }
  .supply-strip { padding-bottom: 55px; }
  .supply-strip-inner { grid-template-columns: 1fr; padding: 30px 25px; gap: 20px; }
  .depot-layout, .history-layout { grid-template-columns: 1fr; gap: 22px; }
  .depot-inner, .history-copy { padding: 0; }
  .history-photo { order: 0; }
  .depot-photo img, .history-photo img { aspect-ratio: 4/3; }
  #services { padding: 50px 0; }
  #services > h2 { font-size: 2.7rem; line-height: 1.02; }
  #services .grid { gap: 30px; margin-top: 30px; grid-template-columns: 1fr; }
  #services .card-media .card-photo img { max-height: none; aspect-ratio: 4/3; }
  #services .card-media .card-body { padding: 20px 0 0; }
  #services .card h3 { font-size: 1.7rem; line-height: 1.2; }
  #services .card p { font-size: .9375rem; line-height: 1.8; }
  .extras-section { padding-bottom: 45px; }
  .extras-grid { gap: 24px; }
  .contact { padding: 28px 22px; margin-top: 0; margin-bottom: 50px; gap: 25px; }
  .contact-copy h2 { font-size: 2.5rem; }
  .footer-brand { align-items: flex-start; flex-direction: column; padding: 35px 0 20px; }
  .footer-brand p { margin-top: 12px; }
  .footer-wrap { flex-direction: column; align-items: flex-start; gap: 5px; }
  .product-modal { padding: 10px; }
  .product-modal-dialog { padding: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
.history-copy h2 { font-size: clamp(2.5rem, 4.5vw, 4rem); }
.depot-photo, .history-photo { min-height: 0; }

/* Prominent delivery area notice, visible throughout the storefront. */
.delivery-bar { padding: 18px 24px; text-align: center; }
.delivery-bar p { margin: 0; font-size: clamp(1.125rem, 2vw, 1.5rem); font-weight: 700; line-height: 1.4; letter-spacing: .035em; color: #fff9e9; }
section { scroll-margin-top: 170px; }
@media (max-width: 620px) {
  .delivery-bar { padding: 15px 20px; }
  .delivery-bar p { font-size: 1.125rem; line-height: 1.4; max-width: 30ch; margin-inline: auto; }
  section { scroll-margin-top: 155px; }
  .main-nav { padding-top: 140px; }
}

/* General enquiries are independent of checkout. */
.inquiry { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; padding-top: 10px; padding-bottom: 85px; }
.inquiry-copy > p:not(.eyebrow) { color: var(--muted); max-width: 40ch; line-height: 1.85; margin-top: 24px; }
.inquiry-delivery { display: flex; gap: 16px; padding: 24px 0; margin-top: 28px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.inquiry-delivery > span { color: #75542f; font-size: 1.5rem; }
.inquiry-delivery p { margin: 0; color: var(--muted); line-height: 1.8; font-size: .875rem; }
.inquiry-delivery strong { color: var(--text); font-weight: 600; }
.inquiry-email { display: inline-block; color: #75542f; margin-top: 22px; overflow-wrap: anywhere; }
.inquiry-email[hidden] { display: none; }
.inquiry-form { padding: 32px; background: #eceee5; }
.inquiry-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.inquiry-row label { display: block; }
.inquiry-row input { width: 100%; margin-top: 8px; }
.field-optional { font-weight: 400; }
.inquiry-note { font-size: .75rem; line-height: 1.7; color: var(--muted); margin: 0; }
.inquiry-form input, .inquiry-form select, .inquiry-form textarea { width: 100%; min-width: 0; }
.inquiry-form textarea { resize: vertical; min-height: 150px; }
@media (max-width: 960px) { .inquiry { gap: 32px; } .inquiry-row { grid-template-columns: 1fr; } }
@media (max-width: 620px) { .inquiry { grid-template-columns: 1fr; gap: 25px; padding-bottom: 50px; } .inquiry-form { padding: 24px 20px; } }
