/*
Theme Name: JMFM Fitness Viola Demo
Theme URI: https://jmfm.tel-tech.com.pl/
Author: TEL-TECH
Author URI: https://tel-tech.com.pl/
Description: Lekki motyw demonstracyjny WordPress/WooCommerce odwzorowujący projekt FitnessViola z dostarczonych makiet PDF. Elementor-ready, bez zewnętrznych fontów.
Version: 1.5.0 Premium Responsive Hero Rebuild
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: jmfm
*/

:root{
  --cream:#fbf8ee;
  --ink:#2d3b24;
  --green:#76943d;
  --green-dark:#6e8d35;
  --forest:#2c4023;
  --sage:#bdd89a;
  --pink:#f27db2;
  --pink-dark:#e461a1;
  --white:#fff;
  --muted:#657058;
  --radius:22px;
  --container:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
button,input,textarea{font:inherit}
.site-wrap{overflow:hidden}
.container{width:min(var(--container),calc(100% - 48px));margin-inline:auto}
.kicker{font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700}
.serif{font-family:Georgia,'Times New Roman',serif;font-weight:400}
.italic{font-style:italic}
.section{padding:88px 0}
.section-title{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.2rem,4.2vw,4.7rem);line-height:.95;margin:0 0 24px;letter-spacing:-.045em;font-weight:400}
.section-title em{font-weight:400}
.lead{font-size:clamp(1rem,1.3vw,1.2rem);max-width:760px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 24px;border-radius:999px;background:var(--pink);color:#fff;font-weight:700;font-size:.92rem;box-shadow:0 8px 22px rgba(242,125,178,.2);border:0;cursor:pointer;transition:transform .2s ease,background .2s ease}
.btn:hover{transform:translateY(-2px);background:var(--pink-dark)}
.btn-outline{background:transparent;border:1px solid currentColor;box-shadow:none}
.btn-outline:hover{background:rgba(255,255,255,.08)}
.site-header{position:absolute;z-index:20;left:0;right:0;top:0;color:#fff}
.site-header .header-inner{height:74px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{font-family:Georgia,'Times New Roman',serif;font-size:1.22rem;font-style:italic;white-space:nowrap}
.brand small{font-family:Arial,Helvetica,sans-serif;font-style:normal;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;margin-left:4px}
.main-nav{display:flex;gap:28px;font-size:.85rem;align-items:center}
.main-nav a{opacity:.92}
.main-nav a:hover{opacity:1}
.menu-toggle{display:none;border:0;background:transparent;color:inherit;font-size:1.55rem}

/* HOME HERO */
.hero{min-height:930px;background:var(--forest);color:#fff;position:relative;display:flex;align-items:flex-end;padding:120px 0 86px}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,39,17,.78) 0%,rgba(22,39,17,.38) 46%,rgba(22,39,17,.08) 70%),url('assets/images/hero.jpg') center 34%/cover no-repeat}
.hero:after{content:"";position:absolute;left:-3%;right:-3%;bottom:-1px;height:72px;background:var(--green);clip-path:polygon(0 58%,12% 49%,25% 55%,38% 46%,50% 52%,64% 43%,78% 54%,90% 47%,100% 55%,100% 100%,0 100%)}
.hero .container{position:relative;z-index:2}
.hero-copy{max-width:610px;margin-bottom:180px}
.hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(3rem,5vw,5.7rem);line-height:.9;font-weight:400;letter-spacing:-.055em;margin:0 0 26px}
.hero h1 em{color:#e6f0c4;font-weight:400}
.hero p{max-width:540px;font-size:1.08rem;margin:0 0 28px}
.stats{position:absolute;z-index:3;bottom:28px;left:50%;transform:translateX(-50%);width:min(var(--container),calc(100% - 48px));display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.stat{background:#bdd899;color:var(--ink);padding:22px 20px;border-radius:11px;min-height:112px}
.stat b{display:block;font-family:Georgia,'Times New Roman',serif;font-size:1.55rem;font-weight:400;margin-bottom:4px}
.stat span{font-size:.83rem;display:block;max-width:145px}

.intro-green{background:var(--green);color:#fff;text-align:center;padding:64px 0 88px}
.intro-green .lead{margin:0 auto 26px;font-size:1.02rem;max-width:760px}
.intro-green .section-title{font-size:clamp(2.2rem,3.3vw,3.55rem)}

.why{background:var(--cream);padding:92px 0 110px}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:48px}
.reason{position:relative}
.reason-image{height:265px;border-radius:14px 14px 0 0;overflow:hidden;background:#d9d9d9}
.reason-image img{width:100%;height:100%;object-fit:cover}
.reason-body{background:#c4dda0;padding:28px 28px 34px;min-height:250px;border-radius:0 0 14px 14px}
.reason:nth-child(3) .reason-body{background:var(--green);color:#fff}
.reason h3{font-family:Georgia,'Times New Roman',serif;font-size:1.85rem;line-height:1.05;margin:0 0 12px;font-weight:400}
.reason p{margin:0;font-size:.95rem}
.reason-number{font-family:Georgia,'Times New Roman',serif;font-size:1.1rem;margin-bottom:12px;opacity:.8}

.product-banner{position:relative;background:var(--pink);min-height:360px;display:flex;align-items:center;color:#fff;clip-path:polygon(0 8%,15% 4%,32% 7%,48% 3%,62% 8%,76% 4%,100% 8%,100% 93%,86% 96%,70% 92%,54% 97%,36% 93%,18% 97%,0 92%)}
.product-banner .container{display:grid;grid-template-columns:.95fr 1.05fr;gap:70px;align-items:center}
.product-cover{height:300px;max-width:430px;background:#d3d3d3;border-radius:17px;transform:rotate(-3deg);box-shadow:0 30px 40px rgba(0,0,0,.14)}
.product-banner h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.7rem,4vw,4.7rem);line-height:.92;font-weight:400;margin:0 0 18px}
.product-banner p{max-width:520px;margin:0 0 22px}
.product-banner .btn{background:var(--green-dark)}

.about-preview{padding:88px 0 110px;background:var(--cream)}
.about-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:55px;align-items:center}
.about-photo{min-height:460px;position:relative}
.about-photo:before{content:"";position:absolute;right:10px;bottom:22px;width:72%;height:72%;background:#d9d9d9;border-radius:10px;transform:rotate(4deg)}
.about-photo .cafe{position:absolute;left:0;bottom:70px;width:47%;height:260px;object-fit:cover;border-radius:14px;z-index:1}
.about-photo .cutout{position:absolute;right:0;bottom:0;width:66%;z-index:2}
.about-copy p{margin:0 0 18px}

.testimonials{background:var(--sage);padding:76px 0 100px;text-align:center}
.testimonial-grid{margin:42px auto 30px;display:grid;grid-template-columns:repeat(3,1fr);gap:13px;max-width:1000px;align-items:start}
.testimonial-grid img{width:100%;border-radius:10px;box-shadow:0 8px 18px rgba(44,64,35,.08)}

.steps{background:var(--green-dark);color:#fff;padding:86px 0;position:relative}
.steps-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:center}
.steps-list{display:grid;gap:11px}
.step{background:var(--cream);color:var(--ink);border-radius:12px;padding:24px 28px;display:grid;grid-template-columns:70px 1fr;gap:18px;align-items:start}
.step-num{font-family:Georgia,'Times New Roman',serif;color:var(--green);font-size:1.55rem;font-style:italic}
.step h3{font-family:Georgia,'Times New Roman',serif;font-size:1.25rem;margin:0 0 5px;font-weight:400}
.step p{margin:0;font-size:.88rem}

.faq-section{padding:86px 0 100px;text-align:center}
.faq{max-width:800px;margin:36px auto 28px;text-align:left}
.faq-item{background:#fff;border-radius:10px;margin:7px 0;overflow:hidden}
.faq-q{width:100%;border:0;background:transparent;display:flex;justify-content:space-between;gap:25px;padding:20px 22px;text-align:left;color:var(--ink);cursor:pointer;font-weight:600}
.faq-q span:last-child{color:var(--pink);font-size:1.2rem}
.faq-a{display:none;padding:0 22px 20px;color:#5e6657;font-size:.94rem}
.faq-item.open .faq-a{display:block}

.final-cta{padding:40px 0 62px;background:var(--cream)}
.final-box{background:var(--green-dark);color:#fff;min-height:285px;border:6px solid #d0e5ae;border-radius:18px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;position:relative;overflow:hidden;padding:38px 44px}
.final-box h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.5rem,4vw,4.4rem);line-height:.94;font-weight:400;margin:0 0 18px}
.final-box p{max-width:540px}
.final-person{position:absolute;right:30px;bottom:-28px;width:38%;max-height:340px;object-fit:contain;object-position:bottom}

.site-footer{background:var(--forest);color:#fff;padding:42px 0 34px;font-size:.8rem}
.footer-grid{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:40px;align-items:start}
.footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 20px;opacity:.85}
.footer-note{opacity:.8}
.socials{display:flex;gap:16px;margin-top:14px;opacity:.85}

/* PRODUCT PAGE */
.product-hero{background:var(--green-dark);color:#fff;padding:135px 0 80px;min-height:780px;position:relative;overflow:hidden}
.product-hero:after{content:"";position:absolute;bottom:-1px;left:-3%;right:-3%;height:68px;background:var(--cream);clip-path:polygon(0 54%,12% 42%,25% 52%,38% 39%,51% 51%,64% 43%,79% 55%,91% 45%,100% 55%,100% 100%,0 100%)}
.product-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:45px;align-items:center}
.product-hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(3.5rem,5.3vw,6.2rem);line-height:.87;font-weight:400;letter-spacing:-.055em;margin:0 0 24px}
.product-hero h1 em{color:#ff9dc8;font-weight:400}
.product-hero p{max-width:620px;font-size:1.08rem}
.hero-price-row{display:flex;align-items:center;gap:17px;flex-wrap:wrap;margin-top:28px}
.hero-price{font-family:Georgia,'Times New Roman',serif;font-size:1.35rem}
.product-hero-art{position:relative;min-height:520px}
.product-hero-art:before{content:"";position:absolute;inset:8% 0 9% 5%;background:#c7e3a0;border-radius:50% 43% 52% 46%;transform:rotate(-4deg)}
.product-hero-art img{position:absolute;z-index:2;right:-20px;bottom:0;width:100%;max-height:550px;object-fit:contain}
.product-microstats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:32px}
.product-microstats div{background:#d8e9bd;color:var(--ink);padding:13px 16px;border-radius:10px;font-size:.82rem}

.sales-intro{padding:95px 0 75px;text-align:center}
.sales-intro .lead{margin-inline:auto}
.sales-feature{padding:60px 0}
.sales-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.sales-feature.reverse .visual{order:2}
.sales-feature .visual{height:390px;border-radius:18px;background:#d5d5d5;overflow:hidden}
.sales-feature .visual img{width:100%;height:100%;object-fit:cover}
.sales-feature h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.25rem,3.3vw,3.7rem);line-height:1;font-weight:400;margin:0 0 18px}
.sales-feature p{margin:0 0 16px}
.caption{font-family:Georgia,'Times New Roman',serif;font-style:italic;color:var(--green-dark);font-size:1.1rem}

.pink-strip{background:#e6c4b5;color:#fff;position:relative;overflow:hidden}
.pink-strip .container{min-height:310px;display:grid;grid-template-columns:1fr 1fr;align-items:center}
.pink-strip img{height:340px;object-fit:contain;margin-left:auto}
.pink-strip h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.6rem,4.2vw,4.7rem);line-height:.92;font-weight:400}

.inside{padding:92px 0}
.inside-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:center}
.checklist{list-style:none;padding:0;margin:0;display:grid;gap:13px}
.checklist li{position:relative;padding-left:30px}
.checklist li:before{content:'✓';position:absolute;left:0;top:0;color:var(--pink);font-weight:700}
.meal-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.meal-card{height:180px;background:#d7d7d7;border-radius:16px;position:relative;overflow:hidden}
.meal-card:nth-child(2n){background:#c7dda0}
.meal-card span{position:absolute;left:14px;bottom:12px;background:#fff;border-radius:999px;padding:5px 10px;font-size:.75rem}

.forwho{background:var(--sage);padding:70px 0}
.forwho-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}
.for-card{padding:34px;background:var(--green-dark);color:#fff;border-radius:15px}
.for-card.no{background:#79836f}
.for-card h3{font-family:Georgia,'Times New Roman',serif;font-size:2rem;margin:0 0 18px;font-weight:400}

.bundle{padding:90px 0;text-align:center}
.bundle-box{max-width:760px;margin:34px auto;background:#fff;border:1px solid #e4e0d5;border-radius:18px;padding:34px;text-align:left}
.bundle-row{display:flex;justify-content:space-between;gap:30px;padding:14px 0;border-bottom:1px solid #eee}
.bundle-row:last-child{border-bottom:0}
.bundle-total{font-family:Georgia,'Times New Roman',serif;font-size:2rem;color:var(--green-dark)}

.support{background:var(--green-dark);color:#fff;padding:70px 0}
.support-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}
.support .steps-list{gap:9px}

/* ABOUT */
.about-hero{padding:145px 0 80px;background:var(--green-dark);color:#fff;text-align:center}
.about-hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(3.3rem,5.5vw,6.4rem);line-height:.9;font-weight:400;max-width:900px;margin:0 auto 22px}
.about-hero p{max-width:890px;margin:0 auto}
.story{padding:92px 0}
.story-row{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;margin:0 0 100px}
.story-row:nth-child(even) .story-copy{order:2}
.story-row:nth-child(even) .story-image{order:1}
.story-copy h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.4rem,3.7vw,4.25rem);line-height:.95;font-weight:400;margin:0 0 22px}
.story-copy p{margin:0 0 17px}
.story-image{height:430px;background:#d6d6d6;border-radius:18px;overflow:hidden;position:relative}
.story-image img{width:100%;height:100%;object-fit:cover}
.story-image.cutout img{object-fit:contain;object-position:bottom}
.story-quote{background:var(--green-dark);color:#fff;padding:60px 0;text-align:center;margin:5px 0 95px}
.story-quote p{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.7rem,2.8vw,3rem);line-height:1.15;max-width:920px;margin:auto;font-style:italic}
.values{background:#f7f3e8;padding:80px 0}
.values-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;max-width:900px;margin:35px auto 0}
.value{background:#fff;border-radius:12px;padding:26px;text-align:center}
.value h3{font-family:Georgia,'Times New Roman',serif;font-size:1.55rem;margin:0 0 9px;font-weight:400}

/* CONTACT */
.contact-page{padding:150px 0 90px;min-height:75vh;background:linear-gradient(to bottom,var(--forest) 0 80px,var(--cream) 80px 100%)}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px}
.contact-card{background:#fff;border-radius:18px;padding:34px}
.contact-form{display:grid;gap:15px}
.contact-form input,.contact-form textarea{width:100%;border:1px solid #dedbd0;border-radius:10px;padding:14px 16px;background:#fff}
.contact-form textarea{min-height:150px;resize:vertical}

/* Woo */
.woocommerce .button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{background:var(--pink)!important;color:#fff!important;border-radius:999px!important;padding:.85em 1.4em!important}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--green-dark)!important}

@media (max-width:1024px){
  .container{width:min(var(--container),calc(100% - 36px))}
  .main-nav{gap:18px}
  .hero{min-height:860px}
  .hero-copy{margin-bottom:190px;max-width:540px}
  .stats{grid-template-columns:repeat(2,1fr);bottom:23px}
  .stat{min-height:90px}
  .why-grid{gap:18px}
  .product-banner .container,.about-grid,.sales-feature-grid,.inside-grid,.support-grid,.story-row{gap:38px}
  .testimonial-grid{grid-template-columns:repeat(2,1fr)}
  .product-microstats{grid-template-columns:repeat(2,1fr)}
}

@media (max-width:767px){
  .container{width:calc(100% - 30px)}
  .section{padding:65px 0}
  .site-header .header-inner{height:64px}
  .main-nav{display:none;position:absolute;top:60px;left:15px;right:15px;background:var(--forest);padding:20px;border-radius:14px;flex-direction:column;align-items:flex-start;box-shadow:0 20px 40px rgba(0,0,0,.2)}
  .site-header.nav-open .main-nav{display:flex}
  .menu-toggle{display:block}
  .hero{min-height:970px;padding:110px 0 360px;align-items:center}
  .hero:before{background:linear-gradient(180deg,rgba(22,39,17,.52),rgba(22,39,17,.75)),url('assets/images/hero.jpg') 64% 35%/cover no-repeat}
  .hero-copy{margin:0;max-width:100%}
  .hero h1{font-size:clamp(3.15rem,14vw,4.7rem);max-width:420px}
  .hero p{max-width:420px}
  .stats{grid-template-columns:repeat(2,1fr);gap:8px;bottom:55px;width:calc(100% - 30px)}
  .stat{padding:16px 14px;min-height:100px}
  .why-grid,.product-banner .container,.about-grid,.steps-grid,.final-box,.product-hero-grid,.sales-feature-grid,.pink-strip .container,.inside-grid,.forwho-grid,.support-grid,.story-row,.values-grid,.contact-grid,.footer-grid{grid-template-columns:1fr}
  .why-grid{gap:22px}
  .reason-image{height:230px}
  .product-banner{clip-path:none;padding:65px 0}
  .product-banner .container{gap:30px}
  .product-cover{height:240px;width:85%;margin:auto;order:2}
  .about-preview{padding-bottom:65px}
  .about-photo{min-height:400px;order:2}
  .testimonial-grid{grid-template-columns:1fr 1fr;gap:9px}
  .steps-grid{gap:35px}
  .step{grid-template-columns:48px 1fr;padding:20px}
  .final-box{padding:34px 28px 250px;min-height:570px}
  .final-person{width:82%;right:-5%;bottom:-40px}
  .footer-links{grid-template-columns:1fr}
  .product-hero{padding-top:110px;min-height:auto;padding-bottom:90px}
  .product-hero-art{min-height:390px;order:-1}
  .product-hero-art img{right:0}
  .product-microstats{grid-template-columns:1fr 1fr}
  .sales-feature.reverse .visual{order:0}
  .sales-feature .visual{height:290px}
  .pink-strip .container{padding-top:50px}
  .pink-strip img{height:290px;margin:auto}
  .meal-gallery{grid-template-columns:repeat(2,1fr)}
  .story-row{margin-bottom:65px}
  .story-row:nth-child(even) .story-copy,.story-row:nth-child(even) .story-image{order:initial}
  .story-image{height:330px}
}

@media (max-width:430px){
  body{font-size:15px}
  .btn{min-height:44px;padding-inline:20px}
  .hero h1{font-size:3.25rem}
  .stats{grid-template-columns:1fr 1fr}
  .stat b{font-size:1.25rem}
  .stat span{font-size:.72rem}
  .section-title{font-size:2.55rem}
  .testimonial-grid{grid-template-columns:1fr}
  .product-microstats{grid-template-columns:1fr}
  .meal-gallery{grid-template-columns:1fr 1fr}
}


/* ===== PREMIUM EXPERIENCE v1.0 ===== */
body{background:radial-gradient(circle at 80% 10%,rgba(189,216,154,.14),transparent 26%),var(--cream)}
.site-header{backdrop-filter:saturate(140%) blur(10px);transition:background .35s ease,box-shadow .35s ease,transform .35s ease}
.site-header.is-scrolled{background:rgba(44,64,35,.92);box-shadow:0 10px 40px rgba(23,36,17,.14)}
.main-nav a{position:relative}
.main-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:var(--pink);transition:right .3s cubic-bezier(.2,.8,.2,1)}
.main-nav a:hover:after{right:0}

.btn{position:relative;overflow:hidden;isolation:isolate;gap:10px;will-change:transform}
.btn:before{content:"";position:absolute;inset:-2px;z-index:-1;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.38) 45%,transparent 70%);transform:translateX(-130%);transition:transform .65s ease}
.btn:hover:before{transform:translateX(130%)}
.btn i{font-style:normal;transition:transform .25s ease}.btn:hover i{transform:translateX(4px)}

.eyebrow-pill{display:inline-flex;margin-bottom:18px;padding:8px 13px;border:1px solid rgba(255,255,255,.42);border-radius:999px;background:rgba(255,255,255,.1);backdrop-filter:blur(6px);font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;font-weight:700}
.premium-hero,.premium-product-hero,.premium-about-hero{position:relative;isolation:isolate}
.hero-orbit{position:absolute;border:1px solid rgba(255,255,255,.24);border-radius:50%;pointer-events:none;z-index:0;animation:orbitFloat 9s ease-in-out infinite}
.hero-orbit-a{width:330px;height:330px;right:8%;top:15%}.hero-orbit-b{width:170px;height:170px;right:26%;top:47%;animation-delay:-3s}
@keyframes orbitFloat{50%{transform:translate3d(0,-14px,0) rotate(7deg)}}

.stat{transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;border:1px solid transparent}
.stat:hover{transform:translateY(-7px);box-shadow:0 18px 45px rgba(29,49,21,.13);border-color:rgba(255,255,255,.5)}
.reason{transition:transform .2s ease,box-shadow .35s ease;transform-style:preserve-3d}
.reason:hover{box-shadow:0 28px 65px rgba(51,74,35,.14)}
.reason-body{position:relative;z-index:2}.reason-number{transition:transform .35s ease}.reason:hover .reason-number{transform:translateX(5px)}
.reason-image{position:relative}.reason-image:after,.image-reveal:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.0),rgba(255,255,255,.22),rgba(255,255,255,0));transform:translateX(-120%);transition:transform .9s ease;pointer-events:none}.reason:hover .reason-image:after,.image-reveal:hover:after{transform:translateX(120%)}

.grocery-visual{background:linear-gradient(145deg,#d6e9b9,#a9c77a)!important;display:grid;place-items:center;overflow:hidden}
.grocery-bag{width:46%;aspect-ratio:.8;background:#fbf8ee;clip-path:polygon(10% 12%,36% 12%,40% 0,60% 0,64% 12%,90% 12%,100% 100%,0 100%);display:grid;place-items:center;text-align:center;font-family:Georgia,serif;font-size:1.15rem;line-height:1.05;box-shadow:0 20px 45px rgba(53,74,37,.12);transform:rotate(-4deg)}
.grocery-bag small{color:var(--pink);font-size:1.3rem}.grocery-chip{position:absolute;padding:7px 11px;background:#fff;border-radius:999px;font-size:.66rem;font-weight:700;box-shadow:0 9px 20px rgba(44,64,35,.12)}.g1{left:8%;top:14%}.g2{right:8%;top:22%}.g3{right:5%;bottom:14%}

.premium-cover{display:flex!important;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:linear-gradient(145deg,#728f3b,#354d27)!important;color:#fff;box-shadow:0 32px 65px rgba(44,64,35,.28)!important;position:relative;overflow:hidden}
.premium-cover:before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:var(--pink);filter:blur(1px);opacity:.9;right:-70px;top:-65px}.premium-cover:after{content:"";position:absolute;width:220px;height:220px;border:1px solid rgba(255,255,255,.25);border-radius:50%;left:-110px;bottom:-120px}
.premium-cover>*{position:relative;z-index:1}.premium-cover strong{font-family:Georgia,serif;font-weight:400;font-size:2rem;line-height:.9}.premium-cover strong em{color:#ffd6e8}.cover-kicker{font-size:.65rem;letter-spacing:.25em;margin-bottom:20px}.premium-cover small{margin-top:24px;opacity:.8}

.solo-photo .cafe{width:100%;height:100%;object-fit:cover;border-radius:22px}.solo-photo:before{content:"";position:absolute;width:84%;height:78%;right:-8%;bottom:-8%;background:var(--sage);border-radius:42% 58% 63% 37%/50% 45% 55% 50%;z-index:-1;animation:blob 8s ease-in-out infinite}@keyframes blob{50%{border-radius:58% 42% 40% 60%/42% 58% 42% 58%;transform:rotate(2deg)}}
.photo-stamp{position:absolute;right:-12px;bottom:22px;background:var(--pink);color:#fff;width:110px;height:110px;border-radius:50%;display:grid;place-content:center;text-align:center;font-family:Georgia,serif;line-height:1;transform:rotate(8deg);box-shadow:0 20px 40px rgba(228,97,161,.25)}.photo-stamp b{font-weight:400;font-style:italic}

.testimonial-grid img{transition:transform .35s ease,box-shadow .35s ease;transform-origin:center}.testimonial-grid img:hover{transform:translateY(-8px) rotate(-.8deg) scale(1.015);box-shadow:0 22px 45px rgba(49,66,38,.16);z-index:2}
.premium-steps{position:relative}.premium-steps:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--sage),transparent)}
.step{transition:transform .3s ease,background .3s ease}.step:hover{transform:translateX(8px);background:#fff}.step-num{transition:transform .35s ease,background .35s ease}.step:hover .step-num{transform:rotate(-7deg) scale(1.08);background:var(--pink);color:#fff}

.faq-item{transition:background .3s ease,transform .3s ease}.faq-item:hover{transform:translateX(4px)}.faq-q span:last-child{transition:transform .3s ease}.faq-item.open .faq-q span:last-child{transform:rotate(45deg)}

.final-box{position:relative;isolation:isolate}.final-box:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 0,rgba(255,255,255,.2),transparent 30%);pointer-events:none}.final-visual{justify-self:end;width:min(310px,80%);aspect-ratio:1;border-radius:50%;display:grid;place-content:center;text-align:center;background:linear-gradient(145deg,#f7a9cb,#e967a5);color:#fff;box-shadow:0 35px 80px rgba(228,97,161,.28);transform:rotate(5deg)}.final-visual span{font-size:.8rem;letter-spacing:.2em;text-transform:uppercase}.final-visual b{font-family:Georgia,serif;font-size:2.4rem;line-height:.84;font-weight:400}.final-visual small{margin-top:14px}

.daily-flow{background:linear-gradient(145deg,#eef4e4,#d5e8b7)!important;display:flex;align-items:center;justify-content:center;gap:12px;padding:28px;position:relative}.meal-dot{width:92px;height:92px;border-radius:50%;background:#fff;display:grid;place-content:center;text-align:center;box-shadow:0 14px 30px rgba(67,92,47,.10)}.meal-dot b{font-family:Georgia,serif;font-size:1.15rem}.meal-dot span{font-size:.65rem}.meal-line{width:36px;height:1px;background:var(--green-dark)}.sweet-badge{position:absolute;right:8%;bottom:12%;background:var(--pink);color:#fff;padding:9px 13px;border-radius:999px;font-weight:700;font-size:.75rem;transform:rotate(-5deg)}
.product-about-photo{display:grid;place-items:end center}.product-about-photo .cutout{position:relative!important;inset:auto!important;width:90%!important;height:auto!important;object-fit:contain!important}

.editorial-card{background:linear-gradient(145deg,#6f8e37,#304625)!important;color:#fff;display:grid!important;place-content:center;padding:50px;text-align:left}.editorial-card .big-number{font-family:Georgia,serif;font-size:8rem;line-height:.7;color:#ffd2e6}.editorial-card strong{font-family:Georgia,serif;font-size:2.2rem;font-weight:400;margin-left:7rem;margin-top:-1.1rem}.editorial-card p{margin-top:28px;font-size:1rem;opacity:.92}.story-image{box-shadow:0 25px 55px rgba(48,67,38,.12)}

/* scroll reveal - progressive enhancement */
.js .reveal{opacity:0;transform:translate3d(0,30px,0);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.js .reveal-left{transform:translate3d(-34px,0,0)}.js .reveal-right{transform:translate3d(34px,0,0)}.js .reveal.is-visible{opacity:1;transform:none}
[data-stagger]>*{transition-delay:calc(var(--i,0) * 70ms)}

/* premium reading progress */
.page-progress{position:fixed;left:0;top:0;height:3px;width:0;background:linear-gradient(90deg,var(--pink),#ffd0e5);z-index:9999;pointer-events:none}

/* mobile sticky conversion */
.mobile-buy{display:none}
@media(max-width:767px){
 .hero-orbit{opacity:.55}.photo-stamp{right:0}.final-visual{justify-self:center;margin-top:20px}.daily-flow{gap:5px;padding:18px}.meal-dot{width:72px;height:72px}.meal-line{width:16px}.sweet-badge{right:5%;bottom:5%}
 .mobile-buy{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:999;background:rgba(44,64,35,.94);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:8px 8px 8px 14px;align-items:center;justify-content:space-between;gap:10px;color:#fff;box-shadow:0 20px 50px rgba(24,39,17,.3);transform:translateY(130%);transition:transform .35s ease}.mobile-buy.show{transform:none}.mobile-buy span{font-size:.75rem;line-height:1.2}.mobile-buy .btn{min-height:40px;padding-inline:16px;white-space:nowrap}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.js .reveal{opacity:1;transform:none}}

/* ======================================================================
   RESPONSIVE HARDENING v1.2
   Desktop-first source preserved; these overrides make all layouts fluid
   from wide desktop down to 320px without horizontal overflow.
   ====================================================================== */

html,body{max-width:100%;overflow-x:clip}
body{-webkit-text-size-adjust:100%;text-size-adjust:100%}
main,.site-wrap,section,.container{min-width:0}
.container{max-width:var(--container);width:100%;padding-inline:clamp(18px,3.2vw,32px);margin-inline:auto}
:is(.hero-copy,.about-copy,.story-copy,.sales-feature-grid>*,.product-hero-grid>*,.inside-grid>*,.support-grid>*,.contact-grid>*,.footer-grid>*,.why-grid>*,.steps-grid>*,.forwho-grid>*){min-width:0}
:is(h1,h2,h3,p,a,span,strong,li){overflow-wrap:anywhere}
img,svg,video,iframe{max-width:100%}
.btn{max-width:100%;text-align:center;line-height:1.2;padding-block:12px;height:auto}

/* Header stays usable on smaller laptops/tablets. */
@media (max-width:1100px){
  .site-header .header-inner{gap:18px}
  .main-nav{gap:14px;font-size:.8rem}
  .brand{font-size:1.08rem}
  .brand small{display:none}
}

/* Tablet / small laptop: avoid cramped desktop grids. */
@media (max-width:960px){
  .section{padding-block:clamp(64px,8vw,82px)}
  .section-title{font-size:clamp(2.35rem,6vw,3.9rem);line-height:.98}

  .hero{min-height:820px;padding-top:100px}
  .hero-copy{max-width:520px;margin-bottom:210px}
  .hero h1{font-size:clamp(3.2rem,7.5vw,4.8rem)}

  .why-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
  .reason:last-child{grid-column:1/-1;max-width:calc(50% - 9px);width:100%;justify-self:center}
  .reason-body{min-height:0;height:100%}

  .product-banner .container{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:36px}
  .product-cover{width:100%;max-width:390px}

  .about-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:34px}
  .about-photo{min-height:400px}

  .steps-grid{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:44px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:30px}
  .footer-note{grid-column:1/-1}

  .product-hero{min-height:auto;padding-bottom:92px}
  .product-hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);gap:24px}
  .product-hero h1{font-size:clamp(3rem,7vw,4.8rem)}
  .product-hero-art{min-height:430px}

  .sales-feature-grid,.inside-grid,.support-grid{gap:36px}
  .sales-feature .visual{height:340px}
  .meal-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}

  .story-row{gap:38px;margin-bottom:78px}
  .story-image{height:380px}
}

/* Mobile navigation and true single-column mobile flow. */
@media (max-width:767px){
  :root{--radius:18px}
  body{padding-bottom:0}
  .container{padding-inline:18px}
  .section{padding-block:58px}
  .section-title{font-size:clamp(2.25rem,11vw,3.25rem);letter-spacing:-.035em}
  .lead{font-size:1rem}

  .site-header{position:absolute}
  .site-header .header-inner{height:66px}
  .brand{font-size:1.08rem}
  .menu-toggle{display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:50%;background:rgba(255,255,255,.10);font-size:1.35rem;line-height:1;cursor:pointer}
  .main-nav{display:none;top:68px;left:18px;right:18px;width:auto;max-height:calc(100vh - 92px);overflow:auto;gap:0;padding:10px;background:rgba(44,64,35,.97);border:1px solid rgba(255,255,255,.12);border-radius:16px}
  .site-header.nav-open .main-nav{display:flex}
  .main-nav a{width:100%;padding:14px 12px;border-radius:10px;font-size:.95rem}
  .main-nav a:hover{background:rgba(255,255,255,.08)}
  .main-nav a:after{display:none}

  /* The stats are now in normal flow instead of an absolutely positioned block. */
  .hero{display:block;min-height:0;padding:96px 0 36px;align-items:initial}
  .hero:before{background:linear-gradient(180deg,rgba(22,39,17,.50) 0%,rgba(22,39,17,.58) 48%,rgba(22,39,17,.86) 100%),url('assets/images/hero.jpg') 61% 24%/cover no-repeat}
  .hero:after{height:42px}
  .hero .container{min-height:580px;display:flex;align-items:flex-end;padding-bottom:18px}
  .hero-copy{max-width:100%;margin:0}
  .hero h1{font-size:clamp(2.9rem,13vw,4.15rem);line-height:.91;margin-bottom:20px}
  .hero p{font-size:1rem;max-width:100%;margin-bottom:22px}
  .eyebrow-pill{font-size:.65rem;letter-spacing:.1em;margin-bottom:14px}
  .stats{position:relative;left:auto;bottom:auto;transform:none;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px auto 0;padding:0 18px 48px}
  .stat{min-height:0;padding:15px 14px;border-radius:12px}
  .stat b{font-size:clamp(1.15rem,5vw,1.35rem)}
  .stat span{max-width:none;font-size:.74rem;line-height:1.3}

  .intro-green{padding:58px 0 68px}
  .intro-green .section-title{font-size:clamp(2.25rem,10vw,3rem)}

  .why{padding:62px 0 72px}
  .why-grid{grid-template-columns:1fr;gap:22px;margin-top:34px}
  .reason:last-child{grid-column:auto;max-width:none;width:auto}
  .reason-image{height:clamp(220px,65vw,300px)}
  .reason-body{padding:23px 22px 28px}
  .reason h3{font-size:1.7rem}

  .product-banner{min-height:0;padding:64px 0;clip-path:none}
  .product-banner .container{grid-template-columns:1fr;gap:34px}
  .product-cover{order:0;height:auto;min-height:260px;width:min(88%,380px);max-width:100%;margin-inline:auto;transform:rotate(-2deg)}
  .product-banner h2{font-size:clamp(2.7rem,12vw,3.75rem)}

  .about-preview{padding:62px 0 78px}
  .about-grid{grid-template-columns:1fr;gap:36px}
  .about-photo{min-height:clamp(340px,105vw,470px);order:2}
  .solo-photo .cafe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 25%}
  .solo-photo:before{right:-3%;bottom:-4%;width:88%;height:78%}
  .photo-stamp{width:94px;height:94px;right:2px;bottom:18px;font-size:.9rem}

  .testimonials{padding:62px 0 74px}
  .testimonial-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:30px}
  .testimonial-grid img:hover{transform:none}

  .steps{padding:64px 0}
  .steps-grid{grid-template-columns:1fr;gap:32px}
  .steps-list{gap:9px}
  .step{grid-template-columns:44px minmax(0,1fr);gap:12px;padding:18px}
  .step:hover{transform:none}

  .faq-section{padding:62px 0 72px}
  .faq{margin-top:28px}
  .faq-q{padding:18px 16px;gap:14px}
  .faq-a{padding:0 16px 18px}
  .faq-item:hover{transform:none}

  .final-cta{padding:28px 0 48px}
  .final-box{grid-template-columns:1fr;min-height:0;padding:32px 24px;border-width:4px;gap:28px}
  .final-box h2{font-size:clamp(2.35rem,11vw,3.3rem)}
  .final-person{position:relative;right:auto;bottom:auto;width:min(92%,380px);max-height:none;margin:0 auto -36px;justify-self:center}
  .final-visual{width:min(250px,75vw);justify-self:center;margin-top:8px}

  .site-footer{padding:38px 0 90px}
  .footer-grid{grid-template-columns:1fr;gap:26px}
  .footer-note{grid-column:auto}
  .footer-links{grid-template-columns:1fr 1fr;gap:10px 18px}
  .socials{flex-wrap:wrap}

  /* Product page */
  .product-hero{padding:94px 0 70px;min-height:0}
  .product-hero-grid{grid-template-columns:1fr;gap:20px}
  .product-hero-art{order:-1;min-height:clamp(320px,95vw,440px);margin-top:-10px}
  .product-hero-art:before{inset:8% 7% 7% 7%}
  .product-hero-art img{right:auto;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,520px);max-height:100%}
  .product-hero h1{font-size:clamp(2.85rem,13vw,4.15rem);line-height:.91}
  .product-hero p{font-size:1rem}
  .hero-price-row{gap:12px}
  .product-microstats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .product-microstats div{padding:12px;font-size:.76rem}

  .sales-intro{padding:62px 0 48px}
  .sales-feature{padding:42px 0}
  .sales-feature-grid{grid-template-columns:1fr;gap:28px}
  .sales-feature.reverse .visual{order:0}
  .sales-feature .visual{height:clamp(250px,72vw,360px)}
  .sales-feature h2{font-size:clamp(2.2rem,10vw,3.2rem)}

  .pink-strip .container{grid-template-columns:1fr;min-height:0;padding-top:48px}
  .pink-strip h2{font-size:clamp(2.5rem,11vw,3.6rem)}
  .pink-strip img{width:min(90%,430px);height:auto;max-height:320px;object-fit:contain;margin:20px auto 0}

  .inside{padding:62px 0}
  .inside-grid{grid-template-columns:1fr;gap:34px}
  .meal-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .meal-card{height:auto;aspect-ratio:1.15}
  .forwho{padding:58px 0}
  .forwho-grid{grid-template-columns:1fr;gap:16px}
  .for-card{padding:26px 22px}
  .bundle{padding:62px 0}
  .bundle-box{padding:24px 18px;margin-top:26px}
  .bundle-row{align-items:flex-start;gap:16px}
  .bundle-row>*:first-child{min-width:0}
  .bundle-row span{flex:0 0 auto;text-align:right}
  .support{padding:60px 0}
  .support-grid{grid-template-columns:1fr;gap:30px}

  /* About */
  .about-hero{padding:100px 0 58px;text-align:left}
  .about-hero h1{font-size:clamp(2.75rem,12.5vw,4rem);margin-left:0}
  .about-hero p{margin-left:0}
  .story{padding:62px 0}
  .story-row{grid-template-columns:1fr;gap:26px;margin-bottom:60px}
  .story-row:nth-child(even) .story-copy,.story-row:nth-child(even) .story-image{order:initial}
  .story-copy h2{font-size:clamp(2.25rem,10vw,3.2rem)}
  .story-image{height:auto;min-height:300px;aspect-ratio:1.08}
  .story-image.cutout{aspect-ratio:.9}
  .editorial-card{padding:34px 28px}
  .editorial-card .big-number{font-size:6rem}
  .editorial-card strong{font-size:1.9rem;margin-left:5.2rem}
  .story-quote{padding:48px 0;margin-bottom:62px}
  .values{padding:60px 0}
  .values-grid{grid-template-columns:1fr;gap:12px}

  /* Contact */
  .contact-page{padding:105px 0 64px;background:linear-gradient(to bottom,var(--forest) 0 72px,var(--cream) 72px 100%)}
  .contact-grid{grid-template-columns:1fr;gap:28px}
  .contact-card{padding:24px 20px}

  /* Premium motion should never create mobile overflow. */
  .hero-orbit{display:none}
  .grocery-chip{font-size:.62rem;padding:6px 9px}
  .daily-flow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:20px}
  .meal-dot{width:100%;height:auto;aspect-ratio:1;border-radius:50%}
  .meal-line{display:none}
  .sweet-badge{position:static;grid-column:1/-1;justify-self:center;transform:rotate(-3deg)}

  .mobile-buy{left:10px;right:10px;bottom:10px;padding:7px 7px 7px 12px;border-radius:15px}
  .mobile-buy span{min-width:0;overflow-wrap:normal}
  .mobile-buy .btn{flex:0 0 auto;white-space:nowrap}
}

/* Narrow phones: 320–430px. */
@media (max-width:430px){
  body{font-size:15px}
  .container{padding-inline:15px}
  .hero .container{min-height:540px;padding-inline:15px}
  .hero h1{font-size:clamp(2.6rem,13.5vw,3.5rem)}
  .stats{padding-inline:15px;grid-template-columns:1fr 1fr}
  .stat{padding:13px 11px}
  .stat b{font-size:1.12rem}
  .stat span{font-size:.69rem}
  .testimonial-grid{grid-template-columns:1fr}
  .product-microstats{grid-template-columns:1fr 1fr}
  .meal-gallery{grid-template-columns:1fr 1fr}
  .footer-links{grid-template-columns:1fr}
  .bundle-row{display:grid;grid-template-columns:minmax(0,1fr) auto}
  .mobile-buy span{font-size:.69rem}
  .mobile-buy .btn{padding-inline:13px;font-size:.8rem}
}

@media (max-width:360px){
  .container{padding-inline:12px}
  .hero .container{padding-inline:12px;min-height:520px}
  .stats{padding-inline:12px;grid-template-columns:1fr}
  .hero h1{font-size:2.55rem}
  .section-title{font-size:2.25rem}
  .product-microstats{grid-template-columns:1fr}
  .meal-gallery{grid-template-columns:1fr}
  .mobile-buy span{display:none}
  .mobile-buy{justify-content:center;padding:7px}
  .mobile-buy .btn{width:100%}
}

/* Elementor compatibility: content inside this theme should not inherit a fixed canvas. */
.elementor-section,.elementor-container,.elementor-widget-wrap,.e-con,.e-con-inner{max-width:100%}
.elementor img{height:auto;max-width:100%}

/* Reduced motion: retain the premium look without motion-related jank. */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .js .reveal,.js .reveal-left,.js .reveal-right{opacity:1!important;transform:none!important}
}

/* WooCommerce cart / checkout / thank-you responsive safeguards */
.woocommerce{max-width:100%}
.woocommerce form,.woocommerce table,.woocommerce .cart-collaterals,.woocommerce .checkout,.woocommerce .woocommerce-order{max-width:100%}
.woocommerce table.shop_table{width:100%;table-layout:auto}
.woocommerce .col2-set{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;width:100%}
.woocommerce .col2-set .col-1,.woocommerce .col2-set .col-2{width:auto;float:none;min-width:0}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{max-width:100%;width:100%}

@media (max-width:767px){
  .woocommerce{font-size:.95rem}
  .woocommerce .col2-set{grid-template-columns:1fr;gap:20px}
  .woocommerce form.checkout_coupon,.woocommerce form.login,.woocommerce form.register{padding:18px}
  .woocommerce .cart-collaterals .cart_totals,.woocommerce-page .cart-collaterals .cart_totals{float:none;width:100%}
  .woocommerce table.shop_table{font-size:.9rem}
  .woocommerce table.shop_table_responsive tr,.woocommerce-page table.shop_table_responsive tr{display:block;padding:10px 0;border-bottom:1px solid #e8e3d8}
  .woocommerce table.shop_table_responsive tr td,.woocommerce-page table.shop_table_responsive tr td{display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:right!important;padding:10px 12px}
  .woocommerce table.shop_table_responsive tr td:before,.woocommerce-page table.shop_table_responsive tr td:before{flex:0 0 42%;text-align:left}
  .woocommerce table.shop_table_responsive tr td.product-thumbnail,.woocommerce-page table.shop_table_responsive tr td.product-thumbnail{display:none}
  .woocommerce table.shop_table_responsive tr td.actions,.woocommerce-page table.shop_table_responsive tr td.actions{display:block;text-align:left!important}
  .woocommerce table.shop_table_responsive tr td.actions:before,.woocommerce-page table.shop_table_responsive tr td.actions:before{display:none}
  .woocommerce .coupon{display:grid!important;grid-template-columns:1fr;gap:8px;width:100%}
  .woocommerce .coupon .input-text{width:100%!important;margin:0!important}
  .woocommerce .coupon .button,.woocommerce .actions .button{width:100%;margin-top:8px!important}
  .woocommerce #payment ul.payment_methods{padding:18px}
  .woocommerce #payment div.form-row{padding:18px}
  .woocommerce .woocommerce-order-details,.woocommerce .woocommerce-customer-details{overflow:hidden}
  .woocommerce ul.order_details{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0}
  .woocommerce ul.order_details li{float:none;border:0;margin:0;padding:12px;background:#fff;border-radius:10px}
}

@media (max-width:430px){
  .woocommerce ul.order_details{grid-template-columns:1fr}
  .woocommerce table.shop_table_responsive tr td,.woocommerce-page table.shop_table_responsive tr td{gap:10px;padding-inline:8px}
}


/* ======================================================================
   HERO STATS RESPONSIVE FIX v1.3
   Keep statistic cards fully visible at every mobile width.
   ====================================================================== */
.stats,
.stat{
  min-width:0;
  box-sizing:border-box;
}
.stat{
  width:100%;
  max-width:100%;
  height:auto;
  overflow:visible;
}
.stat b,
.stat span{
  max-width:100%;
  white-space:normal;
  word-break:normal;
  overflow-wrap:break-word;
  hyphens:auto;
}

@media (max-width:767px){
  .hero{
    padding-bottom:0;
  }
  .stats{
    position:relative;
    inset:auto;
    transform:none;
    width:calc(100% - 24px);
    max-width:100%;
    margin:10px auto 0;
    padding:0 0 48px;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .stat{
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-height:104px;
    padding:16px 15px;
  }
  .stat b{
    font-size:clamp(1.18rem,4.6vw,1.4rem);
    line-height:1.05;
  }
  .stat span{
    margin-top:5px;
    font-size:clamp(.72rem,2.7vw,.82rem);
    line-height:1.28;
  }
  .stat:hover{
    transform:none;
  }
}

/* One full-width card per row on normal smartphones.
   This avoids squeezed/cropped cards at 390–430px. */
@media (max-width:520px){
  .stats{
    width:calc(100% - 30px);
    grid-template-columns:1fr;
    gap:8px;
    padding-bottom:46px;
  }
  .stat{
    min-height:0;
    padding:14px 16px;
    border-radius:12px;
  }
  .stat b{
    font-size:1.22rem;
  }
  .stat span{
    font-size:.78rem;
  }
}

@media (max-width:360px){
  .stats{
    width:calc(100% - 24px);
  }
}


/* ======================================================================
   HERO STATS TABLET FIX v1.4
   At widths above 768px and below desktop, keep the stat cards in normal
   flow so they never get clipped by the hero area.
   ====================================================================== */
@media (min-width:768px) and (max-width:960px){
  .hero{
    min-height:0;
    padding:110px 0 34px;
    display:block;
  }
  .hero:after{
    height:54px;
  }
  .hero .container{
    min-height:640px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
  }
  .hero-copy{
    max-width:560px;
    margin-bottom:0;
  }
  .stats{
    position:relative;
    left:auto;
    bottom:auto;
    transform:none;
    width:100%;
    max-width:100%;
    margin:28px auto 0;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }
  .stat{
    min-height:108px;
    padding:18px 16px;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
  .stat b{font-size:1.32rem;line-height:1.06}
  .stat span{max-width:none;font-size:.78rem;line-height:1.3}
}

@media (min-width:961px) and (max-width:1100px){
  .hero{min-height:900px;padding-bottom:118px}
  .hero-copy{margin-bottom:170px;max-width:520px}
  .stats{width:calc(100% - 36px);grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
  .stat{padding:18px 14px;min-height:102px}
  .stat b{font-size:1.28rem;line-height:1.06}
  .stat span{max-width:none;font-size:.76rem;line-height:1.28}
}


/* ======================================================================
   HERO + STATS CANONICAL RESPONSIVE REBUILD v1.5
   One layout model for every viewport. Stats stay in normal document flow
   inside the hero container, so they cannot be clipped at 961px, 1024px,
   1100px or any intermediate width.
   ====================================================================== */
.hero{
  min-height:0 !important;
  height:auto !important;
  display:block !important;
  padding:clamp(104px,9vw,138px) 0 clamp(52px,6vw,78px) !important;
  overflow:visible !important;
}
.hero .container{
  position:relative;
  z-index:2;
  width:100%;
  max-width:var(--container);
  min-height:clamp(660px,68vw,820px);
  margin-inline:auto;
  padding-inline:clamp(18px,3.2vw,32px);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  align-items:stretch;
}
.hero-copy{
  width:min(610px,100%);
  max-width:100% !important;
  margin:0 !important;
}
.hero .stats{
  position:relative !important;
  inset:auto !important;
  left:auto !important;
  right:auto !important;
  top:auto !important;
  bottom:auto !important;
  transform:none !important;
  width:100% !important;
  max-width:100% !important;
  margin:clamp(34px,4vw,52px) 0 0 !important;
  padding:0 !important;
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(10px,1.2vw,14px);
  z-index:4;
}
.hero .stat{
  min-width:0 !important;
  width:100% !important;
  max-width:100% !important;
  min-height:112px;
  height:auto !important;
  padding:clamp(17px,1.7vw,22px) clamp(15px,1.8vw,20px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  overflow:visible !important;
}
.hero .stat b,
.hero .stat span{
  min-width:0;
  max-width:none !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none;
}
.hero .stat b{
  font-size:clamp(1.22rem,1.6vw,1.55rem);
  line-height:1.05;
}
.hero .stat span{
  font-size:clamp(.76rem,.9vw,.84rem);
  line-height:1.3;
}

/* 2x2 before four columns become cramped. */
@media (max-width:1199px){
  .hero .container{min-height:clamp(650px,72vw,790px)}
  .hero .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero .stat{min-height:100px}
}

/* Tablet: keep the hero compact but never crop cards. */
@media (max-width:767px){
  .hero{padding:92px 0 38px !important}
  .hero:before{
    background:linear-gradient(180deg,rgba(22,39,17,.50) 0%,rgba(22,39,17,.58) 48%,rgba(22,39,17,.86) 100%),url('assets/images/hero.jpg') 61% 24%/cover no-repeat !important;
  }
  .hero .container{
    min-height:580px;
    padding-inline:18px;
  }
  .hero .stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
    margin-top:24px !important;
  }
  .hero .stat{min-height:96px;padding:15px 14px}
  .hero .stat:hover{transform:none}
}

/* Phones: one card per row; no squeezing, no clipping. */
@media (max-width:520px){
  .hero .container{min-height:540px;padding-inline:15px}
  .hero .stats{grid-template-columns:1fr;gap:8px}
  .hero .stat{min-height:0;padding:14px 16px}
  .hero .stat b{font-size:1.22rem}
  .hero .stat span{font-size:.78rem}
}

@media (max-width:360px){
  .hero .container{padding-inline:12px}
}
