/* ===== reset (minimal-reset) ===== */
*{margin:0;padding:0;box-sizing:border-box;}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
button{font:inherit;cursor:pointer;}
input,textarea{font:inherit;}

/* ===== typography (slab-headers) ===== */
body{font-family:'Open Sans',sans-serif;font-weight:400;line-height:1.7;color:#431407;background:#fffaf5;}
h1,h2,h3,h4{font-family:'Roboto Slab',serif;font-weight:700;color:#431407;}
h1{font-size:clamp(1.9rem,5vw,3rem);line-height:1.15;}
h2{font-size:clamp(1.5rem,3.6vw,2.1rem);margin-bottom:1rem;}
h3{font-size:1.2rem;margin-bottom:.6rem;}
p{font-size:1rem;line-height:1.7;margin-bottom:.75rem;color:#7c2d12;}
a[href]{color:#ea580c;}
.legal-wrap a,.form-panel a,.form-note a,.checkbox-row a,.contact-card a{text-decoration:underline;}

/* ===== atomic utility classes (css_naming: atomic / css_methodology: functional-css) ===== */
.d-flex{display:flex;}
.d-block{display:block;}
.jc-between{justify-content:space-between;}
.jc-center{justify-content:center;}
.ai-center{align-items:center;}
.fd-col{flex-direction:column;}
.gap-1{gap:.5rem;}
.gap-2{gap:1rem;}
.gap-3{gap:1.5rem;}
.text-center{text-align:center;}
.fw-bold{font-weight:700;}
.fw-semi{font-weight:600;}
.mt-1{margin-top:.5rem;}
.mt-2{margin-top:1rem;}
.mt-3{margin-top:1.5rem;}
.mb-0{margin-bottom:0;}
.mb-1{margin-bottom:.5rem;}
.mb-2{margin-bottom:1rem;}
.p-2{padding:1rem;}
.p-3{padding:1.5rem;}
.w-100{width:100%;}
.rounded{border-radius:10px;}
.fs-sm{font-size:.85rem;}
.fs-lg{font-size:1.1rem;}

/* ===== layout containers ===== */
.wrap{width:92vw;max-width:1200px;margin:0 auto;}
.legal-wrap{width:92vw;max-width:800px;margin:0 auto;}

/* ===== top announcement bar ===== */
.top-bar{background:#ea580c;color:#fff;text-align:center;padding:.6rem 1rem;font-weight:600;font-size:.85rem;letter-spacing:.02em;}

/* ===== header ===== */
.site-header{background:#fffaf5;border-bottom:1px solid #ffedd5;position:sticky;top:0;z-index:900;}
.site-header__inner{width:92vw;max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:1rem 0;gap:1rem;}
.site-header__brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;}
.site-header__brand img{height:2rem;width:auto;}
.site-header__meta{display:flex;align-items:center;gap:1.2rem;}
.site-header__phone{font-weight:700;color:#431407;font-size:.95rem;white-space:nowrap;text-decoration:none;}
.site-header__cart{position:relative;display:flex;align-items:center;gap:.35rem;font-weight:600;color:#431407;border:1px solid #ffedd5;padding:.45rem .9rem;border-radius:999px;background:#fff7ed;text-decoration:none;}
.site-header__cart-count{background:#ea580c;color:#fff;border-radius:999px;min-width:1.3rem;height:1.3rem;display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;padding:0 .25rem;}
[data-mm-menu] ul{display:flex;flex-direction:column;gap:0;list-style:none;padding-left:0;}
[data-mm-menu] ul li a{font-weight:600;font-size:.95rem;color:#431407;padding-bottom:.2rem;border-bottom:2px solid transparent;transition:.2s;text-decoration:none;}
[data-mm-menu] ul li a:hover{color:#ea580c;border-bottom-color:#ea580c;}
[data-mm-toggle] span{background:#431407;}

/*
 * navigation_type: hamburger-menu — baseline off-canvas signature.
 * The live interaction is delivered by the mobile-menu module (mobile_menu_variant:
 * slide-top, translateY), which fully owns [data-mm-menu]. This class documents the
 * hamburger-menu dimension's own off-screen-left pattern and is not attached to any
 * element in markup, so it never competes with the module's transform.
 */
.nav-offcanvas-legacy{transform:translateX(-100%);transition:transform .3s;}

/* mobile-menu module (slide-top) */
[data-mm-header]{--mm-bg:#fffaf5;--mm-text:#431407;--mm-primary:#ea580c;--mm-overlay-bg:rgba(67,20,7,0.55);--mm-transition:0.3s ease}
[data-mm-header]{position:relative}
[data-mm-toggle]{display:flex;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:8px;z-index:1001;margin-left:auto}
[data-mm-toggle] span{display:block;width:24px;height:2px;background:var(--mm-text);transition:var(--mm-transition)}
[data-mm-menu]{position:fixed;top:0;left:0;width:100%;background:var(--mm-bg);transform:translateY(-100%);transition:transform var(--mm-transition);z-index:1100;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;padding:60px 24px 24px;box-shadow:0 4px 20px rgba(0,0,0,0.1)}
[data-mm-menu].mm-open{transform:translateY(0)}
[data-mm-menu] ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}
[data-mm-menu] ul li a{display:block;padding:14px 0;text-decoration:none;font-size:16px;border-bottom:1px solid rgba(67,20,7,0.08)}
[data-mm-close]{position:absolute;top:16px;right:16px;background:none;border:none;font-size:28px;line-height:1;cursor:pointer;color:var(--mm-text);padding:4px 8px}
[data-mm-overlay]{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--mm-overlay-bg);opacity:0;visibility:hidden;transition:opacity var(--mm-transition),visibility var(--mm-transition);z-index:1050}
[data-mm-overlay].mm-visible{opacity:1;visibility:visible}
@media(min-width:768px){
  [data-mm-toggle]{display:none!important}
  [data-mm-menu]{position:static!important;width:auto!important;height:auto!important;background:transparent!important;transform:none!important;padding:0!important;overflow:visible!important;flex-direction:row!important;box-shadow:none!important}
  [data-mm-menu] ul{flex-direction:row;gap:0;align-items:center}
  [data-mm-menu] ul li a{padding:8px 16px;border-bottom:none;font-size:inherit}
  [data-mm-close]{display:none!important}
  [data-mm-overlay]{display:none!important}
}
@media(prefers-reduced-motion:reduce){[data-mm-menu],[data-mm-overlay],[data-mm-toggle] span{transition:none!important}}

/* ===== page-hero (inner pages) ===== */
.page-hero{background:#fff7ed;padding:2.2vw 1rem;}
.breadcrumbs{font-size:.85rem;color:#b45309;margin-bottom:.5rem;}
.breadcrumbs a{color:#b45309;text-decoration:none;}
.breadcrumbs a:hover{color:#ea580c;}

/* ===== hero (boxed-contained) — section_class_names: above-fold -> abfo ===== */
.abfo{padding:4vw 1rem 3vw;background:#fff7ed;}
.hero__box{max-width:1000px;margin:0 auto;background:#fffaf5;border-radius:24px;box-shadow:0 20px 60px rgba(67,20,7,.14);padding:clamp(2rem,5vw,4rem);display:flex;flex-direction:column;gap:2.5rem;}
.hero__content .eyebrow{display:inline-block;background:#ffedd5;color:#c2410c;font-weight:700;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;padding:.35rem .8rem;border-radius:999px;margin-bottom:1rem;}
.hero__content p{font-size:1.05rem;}
.hero__cta{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.4rem;}
.hero__image img{width:100%;border-radius:18px;object-fit:cover;box-shadow:0 14px 34px rgba(67,20,7,.18);}
.hero__giant-stats{display:flex;justify-content:center;gap:clamp(1.2rem,5vw,4rem);margin:3vw 0 0;flex-wrap:wrap;}
.stat{text-align:center;}
.stat__number{font-size:clamp(1.9rem,4.5vw,3.2rem);font-weight:800;color:#ea580c;line-height:1;font-family:'Roboto Slab',serif;}
.stat__label{font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;margin-top:.4rem;color:#7c2d12;}

/* ===== section base ===== */
.section{padding:4vw 1rem;}
.section--tint{background:#fff7ed;}
.section-header{max-width:680px;margin:0 auto 2rem;text-align:center;}
.section-header p{max-width:600px;margin:0 auto;}

/* ===== divider (brush-stroke) ===== */
.section-divider{height:36px;background:#ea580c;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='40'%3E%3Cpath d='M0 20 Q300 0 600 20 T1200 20 V40 H0Z'/%3E%3C/svg%3E") bottom/cover no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='40'%3E%3Cpath d='M0 20 Q300 0 600 20 T1200 20 V40 H0Z'/%3E%3C/svg%3E") bottom/cover no-repeat;}

/* ===== value-props / shop-benefits / info-grid — section_class_names: services -> vapr ===== */
.vapr .grid,.shop-benefits .grid,.info-grid{display:flex;flex-direction:row;flex-wrap:wrap;gap:1.5rem;}
.card{flex:1 1 100%;border-radius:14px;padding:1.75rem;background:#fff;box-shadow:0 6px 20px rgba(67,20,7,.08);transition:.25s;}
.card:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(67,20,7,.16);}
.card__icon{font-size:1.8rem;margin-bottom:.7rem;}
.card__title{font-size:1.1rem;margin-bottom:.4rem;}
.card__text{font-size:.92rem;margin-bottom:0;}

/* ===== proof-points — section_class_names: about -> prpo ===== */
.prpo{display:flex;flex-direction:column;gap:2.5rem;}
.prpo-grid{display:flex;flex-direction:column;gap:2.5rem;align-items:center;}
.prpo-image img{border-radius:18px;box-shadow:0 14px 34px rgba(67,20,7,.14);}
.prpo-list{margin-top:1rem;}
.prpo-list li{display:flex;gap:.6rem;margin-bottom:.65rem;font-size:.96rem;color:#7c2d12;}
.prpo-list li::before{content:"✓";color:#ea580c;font-weight:700;}

/* ===== buttons (animated-fill) ===== */
.btn{display:inline-block;border-radius:8px;padding:.85rem 1.8rem;font-weight:700;cursor:pointer;border:2px solid transparent;font-size:.98rem;transition:.25s;}
.btn-primary{position:relative;overflow:hidden;background:transparent;color:#ea580c;border:2px solid #ea580c;z-index:0;}
.btn-primary::before{content:"";position:absolute;inset:0;background:#ea580c;transform:scaleX(0);transform-origin:left;transition:.3s;z-index:-1;}
.btn-primary:hover{color:#fff;}
.btn-primary:hover::before{transform:scaleX(1);}
.btn-secondary{background:#fff;color:#431407;border:2px solid #ffedd5;}
.btn-secondary:hover{border-color:#ea580c;color:#ea580c;}
.btn-block{display:block;width:100%;text-align:center;}

/* ===== lead-capture — section_class_names: contact -> leca ===== */
.leca{background:#431407;color:#fff;border-radius:20px;margin:0 4vw;padding:clamp(2rem,5vw,3.5rem);text-align:center;}
.leca h2{color:#fff;}
.leca p{color:#f2d9c5;}

/* ===== faq — section_class_names: faq -> inan (card-grid) ===== */
.inan .faq-grid{display:grid;grid-template-columns:1fr;gap:1.25rem;}
.faq-eyebrow{display:inline-block;background:#ffedd5;color:#c2410c;font-weight:700;font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;padding:.3rem .75rem;border-radius:999px;margin-bottom:.6rem;}
.faq-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 14px rgba(67,20,7,.08);}
.faq-card h3{font-size:1rem;margin-bottom:.5rem;color:#431407;}
.faq-card p{font-size:.92rem;margin-bottom:0;}

/* ===== footer (app-download, warm-recolored) ===== */
.site-footer{background:#2a1408;color:#eadfd3;padding:3.5rem 0 1.5rem;margin-top:2rem;}
.site-footer__top{display:flex;flex-direction:column;gap:2.5rem;padding-bottom:2rem;border-bottom:1px solid rgba(255,255,255,.1);}
.site-footer__top h3{color:#fff;margin-bottom:.6rem;}
.site-footer__top p{color:#c9ac93;}
.site-footer__badges{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1rem;}
.badge{display:flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:.6rem 1rem;font-size:.85rem;color:#f2d9c5;}
.site-footer__cols{display:flex;gap:2.5rem;flex-wrap:wrap;}
.site-footer__col h4{color:#fff;font-size:.95rem;margin-bottom:.8rem;}
.site-footer__col ul{list-style:none;padding-left:0;}
.site-footer__col ul li{margin-bottom:.5rem;}
.site-footer__col ul li a{color:#c9ac93;font-size:.9rem;text-decoration:none;}
.site-footer__col ul li a:hover{color:#f0a35e;}
.site-footer__bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.6rem;padding-top:1.4rem;font-size:.82rem;color:#a9876f;}
.site-footer__disclaimer{max-width:1200px;margin:1.4rem auto 0;padding:0 1rem;font-size:.78rem;color:#a9876f;text-align:center;line-height:1.6;}

/* ===== floating action button + modal ===== */
.fab{position:fixed;right:1.2rem;bottom:1.2rem;z-index:950;background:#ea580c;color:#fff;border:none;border-radius:999px;padding:.95rem 1.5rem;font-weight:700;box-shadow:0 10px 28px rgba(234,88,12,.4);display:flex;align-items:center;gap:.5rem;}
.fab:hover{background:#c2410c;}
.fab-modal{position:fixed;inset:0;background:rgba(67,20,7,.55);z-index:1200;display:none;align-items:center;justify-content:center;padding:1rem;}
.fab-modal.is-open{display:flex;}
.fab-modal__inner{background:#fff;border-radius:18px;max-width:420px;width:100%;padding:2rem;position:relative;}
.fab-modal__close{position:absolute;top:.8rem;right:1rem;background:none;border:none;font-size:1.6rem;color:#7c2d12;}
.fab-modal__inner h3{margin-bottom:.4rem;}
.fab-modal__inner p{font-size:.9rem;}
body{padding-bottom:5rem;}

/* ===== forms ===== */
.form-group{margin-bottom:1rem;}
.form-label{display:block;margin-bottom:.35rem;font-weight:600;font-size:.9rem;}
.form-input{width:100%;padding:.75rem .9rem;border:1px solid #ffedd5;border-radius:8px;background:#fff;font-size:1rem;}
textarea.form-input{min-height:120px;resize:vertical;}
.form-input:focus{outline:2px solid #ea580c;outline-offset:1px;}
.form-error{color:#c2410c;font-size:.82rem;margin-top:.3rem;}
.form-note{font-size:.82rem;color:#b45309;margin-top:.6rem;}
.checkbox-row{display:flex;align-items:flex-start;gap:.5rem;font-size:.85rem;color:#7c2d12;margin-bottom:1rem;}

/* ===== bottom nav (mobile_behavior) ===== */
.bottom-nav{display:none;}

/* ===== product page ===== */
.product-layout{display:flex;flex-direction:column;gap:2.5rem;}
.product-gallery__main{position:relative;border-radius:18px;overflow:hidden;box-shadow:0 14px 34px rgba(67,20,7,.14);background:#fff;}
.product-gallery__slide{display:none;}
.product-gallery__slide.is-active{display:block;}
.product-gallery__dots{display:flex;justify-content:center;gap:.5rem;margin-top:.8rem;}
.gallery-dot{width:44px;height:44px;border-radius:999px;border:none;background:transparent;display:flex;align-items:center;justify-content:center;}
.gallery-dot::before{content:"";display:block;width:10px;height:10px;border-radius:50%;background:#ffedd5;}
.gallery-dot.is-active::before{background:#ea580c;}
.buy-panel{background:#fff;border-radius:18px;padding:2rem;box-shadow:0 6px 20px rgba(67,20,7,.08);}
.buy-panel .sku{font-size:.82rem;color:#b45309;margin-bottom:.4rem;}
.price{display:flex;align-items:baseline;gap:.7rem;margin:.6rem 0 1rem;}
.price__new{font-family:'Roboto Slab',serif;font-size:2.1rem;font-weight:700;color:#ea580c;}
.price__old{font-size:1.1rem;color:#b45309;text-decoration:line-through;}
.price__badge{background:#ffedd5;color:#c2410c;font-weight:700;font-size:.8rem;padding:.25rem .6rem;border-radius:999px;}
.stock{display:inline-flex;align-items:center;gap:.4rem;font-weight:600;color:#166534;font-size:.9rem;margin-bottom:1.2rem;}
.stock::before{content:"";width:8px;height:8px;border-radius:50%;background:#22c55e;}
.benefit-list{margin:1rem 0 1.4rem;}
.benefit-list li{display:flex;gap:.6rem;margin-bottom:.55rem;font-size:.94rem;color:#7c2d12;}
.benefit-list li::before{content:"✓";color:#ea580c;font-weight:700;}
.qty-stepper{display:flex;align-items:center;border:1px solid #ffedd5;border-radius:8px;overflow:hidden;width:fit-content;margin-bottom:1.2rem;}
.qty-stepper button{width:44px;height:44px;background:#fff7ed;border:none;font-size:1.2rem;color:#431407;}
.qty-stepper input{width:56px;height:44px;text-align:center;border:none;border-left:1px solid #ffedd5;border-right:1px solid #ffedd5;font-size:1rem;}
.trust-strip{display:flex;gap:1.2rem;flex-wrap:wrap;margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid #ffedd5;}
.trust-strip__item{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:#7c2d12;background:#fff;border-radius:10px;padding:.9rem 1.2rem;box-shadow:0 4px 14px rgba(67,20,7,.07);}
.tabs{margin-top:2rem;}
.tab-nav{display:flex;gap:.5rem;flex-wrap:wrap;border-bottom:1px solid #ffedd5;margin-bottom:1.4rem;}
.tab-btn{background:none;border:none;padding:.8rem 1.1rem;font-weight:700;color:#b45309;border-bottom:3px solid transparent;}
.tab-btn.is-active{color:#ea580c;border-bottom-color:#ea580c;}
.tab-panel{display:none;}
.tab-panel.is-active{display:block;}
.tab-panel ul{margin:.6rem 0;}
.tab-panel ul li{margin-bottom:.4rem;color:#7c2d12;font-size:.94rem;}

/* ===== cart page ===== */
.cart-layout{display:flex;flex-direction:column;gap:2.5rem;}
.cart-table{width:100%;background:#fff;border-radius:14px;box-shadow:0 6px 20px rgba(67,20,7,.08);overflow:hidden;}
.cart-row{display:flex;align-items:center;gap:1rem;padding:1.2rem;border-bottom:1px solid #ffedd5;flex-wrap:wrap;}
.cart-row img{width:72px;height:72px;object-fit:cover;border-radius:10px;}
.cart-row__info{flex:1;}
.cart-row__info h3{font-size:1rem;margin-bottom:.2rem;}
.cart-row__price{font-size:.88rem;color:#b45309;}
.cart-row__total{font-weight:700;min-width:80px;text-align:right;}
.cart-summary{background:#fff7ed;padding:1.2rem;display:flex;justify-content:space-between;font-weight:700;font-size:1.1rem;}
.cart-empty{background:#fff;border-radius:14px;padding:3rem 1.5rem;text-align:center;box-shadow:0 6px 20px rgba(67,20,7,.08);}
.checkout-panel{background:#fff;border-radius:18px;padding:2rem;box-shadow:0 6px 20px rgba(67,20,7,.08);}

/* ===== delivery / returns steps ===== */
.steps{margin:1.4rem 0;}
.step{display:flex;gap:.9rem;margin-bottom:1.1rem;align-items:flex-start;}
.step__num{background:#ffedd5;color:#c2410c;font-weight:700;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.step__text h3{font-size:1rem;margin-bottom:.2rem;}
.step__text p{margin-bottom:0;font-size:.94rem;}
.success-icon{font-size:2.6rem;margin-bottom:.6rem;}

/* ===== contacts page ===== */
.contact-layout{display:flex;flex-direction:column;gap:2.5rem;}
.contact-card{background:#fff;border-radius:14px;padding:1.6rem;box-shadow:0 6px 20px rgba(67,20,7,.08);margin-bottom:1.2rem;}
.contact-card h3{font-size:1rem;margin-bottom:.4rem;}
.contact-card a{color:#ea580c;font-weight:700;}
.form-panel{background:#fff;border-radius:18px;padding:2rem;box-shadow:0 6px 20px rgba(67,20,7,.08);}

/* ===== legal pages ===== */
.updated{font-size:.85rem;color:#b45309;margin-bottom:1.4rem;}
.legal-wrap h2{font-size:1.35rem;margin:1.8rem 0 .7rem;}
.legal-wrap p,.legal-wrap li{font-size:1rem;line-height:1.75;margin-bottom:.7rem;color:#7c2d12;}
.legal-wrap ul{list-style:disc;padding-left:1.4rem;}
.legal-wrap table{width:100%;border-collapse:collapse;margin:1rem 0;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 4px 14px rgba(67,20,7,.07);}
.legal-wrap th,.legal-wrap td{padding:.8rem 1rem;text-align:left;font-size:.92rem;border-bottom:1px solid #ffedd5;}
.legal-wrap th{background:#fff7ed;color:#431407;}
.notice{background:#fff;border-left:4px solid #ea580c;border-radius:10px;padding:1.4rem 1.6rem;box-shadow:0 4px 14px rgba(67,20,7,.07);margin-bottom:1.4rem;}

/* =========================================================
   MOBILE-FIRST BREAKPOINTS (breakpoint_direction: mobile-first)
   Base rules above are the mobile layout; min-width queries
   below layer on the wider-screen treatment.
   ========================================================= */
@media(min-width:768px){
  .hero__box{flex-direction:row;align-items:center;}
  .hero__box .hero__content{flex:1.1;}
  .hero__box .hero__image{flex:.9;}
  .prpo-grid{flex-direction:row;align-items:center;}
  .prpo-grid > *{flex:1;}
  .product-layout{flex-direction:row;align-items:flex-start;}
  .product-layout > *{flex:1;}
  .cart-layout{flex-direction:row;align-items:flex-start;}
  .cart-layout > :first-child{flex:1.3;}
  .cart-layout > :last-child{flex:1;}
  .contact-layout{flex-direction:row;align-items:flex-start;}
  .contact-layout > :first-child{flex:.9;}
  .contact-layout > :last-child{flex:1.1;}
  .site-footer__top{flex-direction:row;}
  .site-footer__top > :first-child{flex:1;}
  .site-footer__top > :last-child{flex:1.4;}
  .vapr .grid .card,.shop-benefits .grid .card,.info-grid .card{flex:1 1 calc(33.333% - 1rem);}
}
@media(min-width:900px){
  .inan .faq-grid{grid-template-columns:repeat(3,1fr);}
}
@media(min-width:1024px){
  .wrap,.site-header__inner{width:88vw;}
}

/* mobile-only bottom navigation (mobile_behavior: bottom-nav) */
@media(max-width:768px){
  .section > .wrap,
  .section > .legal-wrap{width:100%;}
  .bottom-nav{display:flex;position:fixed;bottom:0;left:0;width:100%;background:#fffaf5;border-top:1px solid #ffedd5;justify-content:space-around;z-index:940;padding:.5rem 0 .6rem;box-shadow:0 -4px 16px rgba(67,20,7,.08);}
  .bottom-nav__item{display:flex;flex-direction:column;align-items:center;gap:.15rem;font-size:.68rem;color:#7c2d12;font-weight:600;text-decoration:none;}
  .bottom-nav__item span:first-child{font-size:1.15rem;}
  body{padding-bottom:8.2rem;}
}

/* Cookie Consent Styles - Unique ID: v1.0_20260806_80751133 */
:root {
  --cc-bg: #ffffff;
  --cc-text: #431407;
  --cc-text-secondary: #7c2d12;
  --cc-border: rgba(67,20,7,0.1);
  --cc-primary: #ea580c;
  --cc-primary-hover: #c2410c;
  --cc-secondary: #ffffff;
  --cc-secondary-hover: #f3f4f6;
  --cc-secondary-border: #d1d5db;
  --cc-toggle-bg: #d1d5db;
  --cc-toggle-active: #ea580c;
  --cc-overlay: rgba(0, 0, 0, 0.6);
  --cc-shadow: 0 -4px 20px rgba(67,20,7,0.2);
  --cc-radius: 16px;
  --cc-radius-sm: 8px;
  --cc-transition: 0.3s ease;
  --cc-z-index: 99999;
}

.cc-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.cc-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: var(--cc-z-index);
  background: var(--cc-bg);
  box-shadow: var(--cc-shadow);
  transform: translateY(100%);
  opacity: 0;
  visibility: hidden;
  transition: transform var(--cc-transition), opacity var(--cc-transition), visibility var(--cc-transition);
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  line-height: 1.5;
  color: var(--cc-text);
}

.cc-banner.cc-visible {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
}

.cc-banner-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 1.5rem 2rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}

.cc-banner-content {
  flex: 1 1 auto;
  min-width: 280px;
  max-width: 700px;
}

.cc-title {
  font-size: 1.125rem;
  font-weight: 600;
  margin: 0 0 0.5rem 0;
  color: var(--cc-text);
}

.cc-description {
  margin: 0;
  font-size: 0.9375rem;
  color: var(--cc-text-secondary);
  line-height: 1.6;
}

.cc-link {
  color: var(--cc-primary);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.cc-link:hover {
  text-decoration: none;
}

.cc-banner-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  flex-shrink: 0;
}

.cc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.85rem 1.6rem;
  font-size: 0.9375rem;
  font-weight: 600;
  border-radius: var(--cc-radius-sm);
  cursor: pointer;
  transition: all var(--cc-transition);
  text-decoration: none;
  border: 2px solid transparent;
  min-height: 48px;
  line-height: 1.2;
  font-family: inherit;
}

.cc-btn:focus-visible {
  outline: 2px solid var(--cc-primary);
  outline-offset: 2px;
}

.cc-btn-primary {
  background: var(--cc-primary);
  color: #ffffff;
  border-color: var(--cc-primary);
}

.cc-btn-primary:hover {
  background: var(--cc-primary-hover);
  border-color: var(--cc-primary-hover);
}

.cc-btn-secondary {
  background: var(--cc-secondary);
  color: var(--cc-text);
  border-color: var(--cc-secondary-border);
}

.cc-btn-secondary:hover {
  background: var(--cc-secondary-hover);
  border-color: var(--cc-text);
}

.cc-btn-link {
  background: transparent;
  color: var(--cc-primary);
  border-color: transparent;
  padding: 0.75rem 1rem;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.cc-btn-link:hover {
  text-decoration: none;
  background: #ea580c1A;
}

.cc-settings-modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: calc(var(--cc-z-index) + 1);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--cc-transition), visibility var(--cc-transition);
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  line-height: 1.5;
  color: var(--cc-text);
}

.cc-settings-modal.cc-visible {
  opacity: 1;
  visibility: visible;
}

.cc-settings-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--cc-overlay);
  cursor: pointer;
}

.cc-settings-container {
  position: relative;
  background: var(--cc-bg);
  border-radius: var(--cc-radius);
  max-width: 600px;
  width: 90%;
  max-height: 90vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
  transform: scale(0.95);
  transition: transform var(--cc-transition);
}

.cc-settings-modal.cc-visible .cc-settings-container {
  transform: scale(1);
}

.cc-settings-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.5rem;
  border-bottom: 1px solid var(--cc-border);
}

.cc-settings-title {
  font-size: 1.25rem;
  font-weight: 600;
  margin: 0;
  color: var(--cc-text);
}

.cc-settings-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: transparent;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  color: var(--cc-text-secondary);
  transition: all var(--cc-transition);
}

.cc-settings-close:hover {
  background: var(--cc-secondary-hover);
  color: var(--cc-text);
}

.cc-settings-close:focus {
  outline: 2px solid var(--cc-primary);
  outline-offset: 2px;
}

.cc-settings-body {
  flex: 1;
  overflow-y: auto;
  padding: 1.5rem;
}

.cc-settings-description {
  margin: 0 0 1.5rem 0;
  font-size: 0.9375rem;
  color: var(--cc-text-secondary);
}

.cc-settings-footer {
  padding: 1.5rem;
  border-top: 1px solid var(--cc-border);
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
}

.cc-category {
  padding: 1rem 0;
  border-bottom: 1px solid var(--cc-border);
}

.cc-category:last-child {
  border-bottom: none;
}

.cc-category-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.cc-category-info {
  flex: 1;
}

.cc-category-title {
  font-size: 1rem;
  font-weight: 600;
  margin: 0 0 0.25rem 0;
  color: var(--cc-text);
}

.cc-category-description {
  font-size: 0.875rem;
  color: var(--cc-text-secondary);
  margin: 0;
  line-height: 1.5;
}

.cc-toggle {
  flex-shrink: 0;
}

.cc-toggle input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.cc-toggle-label {
  display: block;
  width: 52px;
  height: 28px;
  background: var(--cc-toggle-bg);
  border-radius: 14px;
  position: relative;
  cursor: pointer;
  transition: background var(--cc-transition);
}

.cc-toggle-label::after {
  content: '';
  position: absolute;
  top: 3px;
  left: 3px;
  width: 22px;
  height: 22px;
  background: #ffffff;
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
  transition: transform var(--cc-transition);
}

.cc-toggle input:checked + .cc-toggle-label {
  background: var(--cc-toggle-active);
}

.cc-toggle input:checked + .cc-toggle-label::after {
  transform: translateX(24px);
}

.cc-toggle input:focus-visible + .cc-toggle-label {
  box-shadow: 0 0 0 3px #ea580c4D;
}

.cc-toggle-disabled .cc-toggle-label {
  opacity: 0.7;
  cursor: not-allowed;
}

.cc-toggle-disabled input:checked + .cc-toggle-label {
  background: var(--cc-toggle-active);
}

.cc-footer-link {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
  opacity: 0.8;
  transition: opacity var(--cc-transition);
  cursor: pointer;
  font-size: 0.875rem;
}

.cc-footer-link:hover {
  opacity: 1;
}

.cc-footer-separator {
  opacity: 0.5;
}

@media (max-width: 768px) {
  .cc-banner-container {
    flex-direction: column;
    align-items: stretch;
    padding: 1.25rem 1rem;
    gap: 1.25rem;
  }
  
  .cc-banner-content {
    max-width: 100%;
    min-width: auto;
  }
  
  .cc-title {
    font-size: 1rem;
  }
  
  .cc-description {
    font-size: 0.875rem;
  }
  
  .cc-banner-actions {
    flex-direction: column;
    gap: 0.5rem;
  }
  
  .cc-btn {
    width: 100%;
    justify-content: center;
  }
  
  .cc-btn-primary,
  .cc-btn-secondary {
    order: 0;
  }
  
  .cc-btn-link {
    order: 1;
  }
  
  .cc-settings-container {
    width: 100%;
    max-width: 100%;
    height: 100%;
    max-height: 100%;
    border-radius: 0;
  }
  
  .cc-settings-body {
    padding: 1rem;
  }
  
  .cc-category-header {
    flex-direction: column;
    gap: 0.75rem;
  }
  
  .cc-toggle {
    align-self: flex-start;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cc-banner,
  .cc-settings-modal,
  .cc-settings-container,
  .cc-btn,
  .cc-toggle-label,
  .cc-toggle-label::after,
  .cc-settings-close {
    transition: none;
  }
}

@media print {
  .cc-banner,
  .cc-settings-modal {
    display: none !important;
  }
}
