:root{
  --gg-red:#6e100f;
  --gg-red-deep:#570d0c;
  --gg-red-mid:#8f1715;
  --gg-rose:#f7eaea;
  --gg-rose-2:#faefef;
  --gg-cream:#f6f3ef;
  --gg-paper:#ffffff;
  --gg-ink:#111111;
  --gg-muted:#665d5b;
  --gg-line:#e8dddb;
  --gg-green:#2f6f4e;
  --gg-radius:12px;
  --gg-shadow:0 12px 35px rgba(70,16,15,.08);
  --gg-container:1180px;
}
html{scroll-behavior:smooth;background:#fff}
body.ttgf-goodgrove{margin:0!important;background:#fff!important;color:var(--gg-ink)!important;font-family:"Inter",Arial,sans-serif!important;font-size:16px!important;line-height:1.55!important;overflow-x:hidden}
body.ttgf-goodgrove *{box-sizing:border-box}
body.ttgf-goodgrove img{max-width:100%;height:auto;display:block}
body.ttgf-goodgrove a{color:inherit;text-decoration:none}
body.ttgf-goodgrove button,body.ttgf-goodgrove input,body.ttgf-goodgrove textarea,body.ttgf-goodgrove select{font:inherit}
body.ttgf-goodgrove h1,body.ttgf-goodgrove h2,body.ttgf-goodgrove h3,body.ttgf-goodgrove h4{font-family:"Libre Franklin","Inter",Arial,sans-serif!important;color:inherit!important;letter-spacing:-.035em!important;line-height:1.04!important;margin:0!important;font-weight:800!important}
body.ttgf-goodgrove h1{font-size:clamp(46px,5.2vw,78px)!important}
body.ttgf-goodgrove h2{font-size:clamp(34px,4vw,58px)!important}
body.ttgf-goodgrove h3{font-size:clamp(21px,2vw,30px)!important}
body.ttgf-goodgrove p{margin:0 0 1em}
.gg-container{width:min(calc(100% - 48px),var(--gg-container));margin-inline:auto}
.gg-section{padding:90px 0}
.gg-kicker{display:inline-block;margin:0 0 18px!important;color:var(--gg-red)!important;font-size:12px!important;font-weight:800!important;letter-spacing:.16em!important;text-transform:uppercase;line-height:1.2!important}
.gg-kicker--dark{color:#fff!important}
.gg-center-heading{max-width:760px;margin:0 auto 48px;text-align:center}
.gg-center-heading h2{margin-bottom:15px!important}
.gg-center-heading>p:last-child{color:var(--gg-muted);font-size:17px;max-width:680px;margin-inline:auto}
.gg-center-heading--light,.gg-center-heading--light h2,.gg-center-heading--light p{color:#fff!important}
.gg-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:48px;padding:0 27px!important;border-radius:7px!important;border:1px solid transparent!important;font-size:13px!important;font-weight:800!important;letter-spacing:.02em!important;text-transform:uppercase!important;line-height:1!important;transition:.2s ease;cursor:pointer}
.gg-btn:hover{transform:translateY(-1px)}
.gg-btn--red{background:var(--gg-red)!important;color:#fff!important;border-color:var(--gg-red)!important}
.gg-btn--red:hover{background:var(--gg-red-deep)!important}
.gg-btn--light{background:#fff!important;color:var(--gg-red)!important;border-color:#fff!important}

/* Header */
.gg-site{min-height:100vh;background:#fff}
.gg-header{position:sticky;top:0;z-index:999;background:rgba(255,255,255,.97);border-bottom:1px solid #eee9e6;backdrop-filter:blur(12px)}
.admin-bar .gg-header{top:32px}
.gg-header__inner{width:min(calc(100% - 48px),1380px);height:76px;margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;position:relative}
.gg-header__nav{display:flex;align-items:center;gap:28px;justify-self:start}
.gg-header__nav a{font-size:14px;font-weight:600;white-space:nowrap;position:relative;padding:10px 0}
.gg-header__nav a.is-active,.gg-header__nav a:hover{color:var(--gg-red)}
.gg-brand{font-family:Georgia,"Times New Roman",serif!important;font-size:27px!important;font-weight:700!important;letter-spacing:-.03em!important;justify-self:center;white-space:nowrap}
.gg-header__actions{justify-self:end;display:flex;align-items:center}
.gg-cart-link{position:relative;width:42px;height:42px;border-radius:50%;display:grid;place-items:center}
.gg-cart-icon{width:18px;height:19px;border:2px solid #171717;border-top:0;border-radius:2px;position:relative;margin-top:3px}
.gg-cart-icon:before{content:"";position:absolute;left:4px;right:4px;top:-6px;height:7px;border:2px solid #171717;border-bottom:0;border-radius:8px 8px 0 0}
.gg-cart-count{position:absolute;right:0;top:0;min-width:17px;height:17px;border-radius:50%;background:var(--gg-red);color:#fff;font-size:10px;font-weight:800;display:grid;place-items:center;padding:0 4px}
.gg-menu-toggle{display:none;background:none;border:0;width:42px;height:42px;padding:9px;gap:4px;flex-direction:column;justify-content:center}
.gg-menu-toggle span{display:block;height:2px;width:100%;background:#111;transition:.2s}
.gg-mobile-menu{display:none}

/* Hero */
.gg-hero{background:linear-gradient(90deg,#fff 0%,#fff 46%,#fbefef 100%);padding:72px 0 58px}
.gg-hero__grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:82px;min-height:560px}
.gg-hero__copy{max-width:590px}
.gg-hero__copy h1{font-size:clamp(50px,5.4vw,76px)!important;color:var(--gg-red)!important;margin-bottom:20px!important}
.gg-rating{display:flex;align-items:center;gap:11px;margin:0 0 18px;font-size:13px}.gg-rating span{color:#be2c27;letter-spacing:2px}.gg-rating strong{font-size:13px}.gg-rating em{font-style:normal;color:#7f7572}
.gg-hero__lead{font-size:18px;line-height:1.65;color:#4f4947;max-width:550px;margin-bottom:26px!important}
.gg-check-list{list-style:none!important;margin:20px 0 0!important;padding:0!important;display:flex;flex-wrap:wrap;gap:10px 18px;color:#5c5451;font-size:13px}.gg-check-list li:before{content:"✓";color:var(--gg-red);font-weight:800;margin-right:6px}
.gg-hero__media{position:relative;display:flex;justify-content:center}
.gg-product-stage{width:min(100%,520px);aspect-ratio:1.25/1;background:linear-gradient(145deg,#efe5df,#d8c3b8);border-radius:10px;display:grid;place-items:center;overflow:hidden;box-shadow:var(--gg-shadow);border:1px solid rgba(110,16,15,.15)}
.gg-product-stage img{max-width:62%;max-height:82%;object-fit:contain;filter:drop-shadow(0 18px 15px rgba(0,0,0,.16))}
.gg-floating-proof{position:absolute;right:1%;bottom:8%;background:#fff;border-radius:8px;box-shadow:0 7px 22px rgba(0,0,0,.12);padding:10px 13px;display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700}.gg-floating-proof b{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:var(--gg-red);color:#fff}
.gg-ticker{background:#8a1513;color:#fff;overflow:hidden;height:40px;display:flex;align-items:center}.gg-ticker__track{display:flex;align-items:center;gap:0;white-space:nowrap;animation:ggTicker 28s linear infinite}.gg-ticker__track span{padding:0 28px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.gg-ticker__track span+span:before{content:"✦";margin-right:28px;color:#fff}
@keyframes ggTicker{to{transform:translateX(-50%)}}

/* Benefits */
.gg-benefits{background:#fff}
.gg-three-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:980px;margin:0 auto}
.gg-benefit-card{background:#f8f6f3;border-radius:10px;overflow:hidden;border:1px solid #eee8e4}
.gg-benefit-card img{width:100%;height:250px;object-fit:cover}
.gg-benefit-card>div{padding:23px 24px 27px}.gg-benefit-card span{display:grid;place-items:center;width:28px;height:28px;border-radius:4px;background:var(--gg-red);color:#fff;font-size:11px;font-weight:800;margin-bottom:14px}.gg-benefit-card h3{font-size:23px!important;margin-bottom:10px!important}.gg-benefit-card p{color:#665d5b;font-size:14px;margin:0}
.gg-center-cta{text-align:center;margin-top:34px}

/* Difference */
.gg-difference{background:linear-gradient(180deg,#791311 0%,#5f0d0c 100%);color:#fff}
.gg-difference__inner{max-width:900px}.gg-difference__stats{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:35px 0 18px}.gg-difference__stats article{padding:25px 28px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.045);border-radius:8px}.gg-difference__stats small{display:block;font-size:10px;letter-spacing:.15em;font-weight:800;color:#f6d8d6;margin-bottom:14px}.gg-difference__stats strong{display:block;font-size:54px;line-height:1;color:#fff}.gg-difference__stats h3{font-size:20px!important;margin:7px 0 10px!important}.gg-difference__stats p{font-size:13px;color:#f0d8d6;margin:0}
.gg-concentration{display:grid;grid-template-columns:1fr auto 1fr;gap:25px;align-items:center;padding:24px 30px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18);border-radius:8px;text-align:center}.gg-concentration span{display:block;font-size:26px;font-weight:800}.gg-concentration small{font-size:11px;color:#f0d8d6}.gg-ratio{font-size:44px;font-weight:800}.gg-ratio span{display:inline;font-size:34px;margin:0 4px}

/* Ingredient */
.gg-ingredient{background:#fff}.gg-ingredient__images{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:860px;margin:0 auto}.gg-ingredient figure{margin:0;border-radius:9px;overflow:hidden;position:relative}.gg-ingredient figure img{width:100%;height:320px;object-fit:cover}.gg-ingredient figcaption{position:absolute;left:15px;bottom:13px;background:rgba(87,13,12,.92);color:#fff;padding:7px 10px;border-radius:4px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}

/* Timeline */
.gg-timeline{background:#fbefef}.gg-timeline__panel{max-width:930px;margin:0 auto;background:#fff;border-radius:10px;padding:42px 44px 34px;box-shadow:0 7px 25px rgba(80,24,21,.08)}.gg-timeline__chart{width:100%;height:225px}.gg-timeline__steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.gg-timeline__steps article{padding-top:12px;border-top:2px solid #f0d8d6}.gg-timeline__steps b{display:block;color:var(--gg-red);font-size:10px;letter-spacing:.12em}.gg-timeline__steps h3{font-size:19px!important;margin:8px 0!important}.gg-timeline__steps p{font-size:12px;color:#665d5b;margin:0}

/* Quiz */
.gg-quiz{background:#f7f6f4}.gg-quiz__card{width:min(100%,440px);margin:0 auto;background:#fff;padding:24px;border:1px solid #ddd7d3;border-radius:10px;box-shadow:0 9px 30px rgba(0,0,0,.07)}.gg-quiz__card>p{font-weight:700;margin-bottom:12px}.gg-quiz__card>button{display:block;width:100%;text-align:left;background:#fbfaf9;border:1px solid #e4ded9;border-radius:5px;padding:12px 14px;margin:8px 0;cursor:pointer;font-size:13px}.gg-quiz__card>button:hover,.gg-quiz__card>button.is-active{border-color:var(--gg-red);color:var(--gg-red)}.gg-quiz__result{margin-top:18px;padding:16px;background:var(--gg-rose);border-radius:6px}.gg-quiz__result small,.gg-quiz__result strong,.gg-quiz__result a{display:block}.gg-quiz__result small{text-transform:uppercase;font-size:10px;font-weight:800;color:var(--gg-red)}.gg-quiz__result strong{font-size:20px;margin:4px 0}.gg-quiz__result a{font-size:12px;font-weight:800;color:var(--gg-red)}

/* Reviews */
.gg-reviews{background:#f6f5f3}.gg-reviews__heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:25px}.gg-reviews__heading h2{font-size:44px!important}.gg-review-score{background:#fff;border:1px solid #e8e1de;border-radius:8px;padding:13px 18px;display:grid;grid-template-columns:auto auto;gap:0 8px;min-width:190px}.gg-review-score strong{font-size:25px}.gg-review-score span{color:#b92723;letter-spacing:1px}.gg-review-score small{grid-column:1/-1;color:#746c69;font-size:10px}.gg-review-thumbs{display:flex;gap:10px;overflow:hidden;margin-bottom:18px}.gg-review-thumbs img{width:86px;height:70px;object-fit:cover;border-radius:7px}.gg-review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gg-review-card{background:#fff;border:1px solid #e8e2df;border-radius:8px;padding:18px;min-height:190px;display:flex;flex-direction:column}.gg-stars{color:#b92723;font-size:13px;letter-spacing:1px;margin-bottom:10px}.gg-review-card p{font-size:13px;line-height:1.55;flex:1}.gg-review-card>div:last-child{display:flex;justify-content:space-between;gap:10px;align-items:end}.gg-review-card strong{font-size:12px}.gg-review-card span{font-size:10px;color:#7f7774}
.gg-guarantee{background:var(--gg-red);color:#fff;padding:32px 0}.gg-guarantee__inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:25px}.gg-guarantee__badge{width:70px;height:70px;border-radius:50%;background:#fff;color:var(--gg-red);display:grid;place-items:center;align-content:center}.gg-guarantee__badge strong{font-size:27px;line-height:1}.gg-guarantee__badge span{font-size:9px;font-weight:800}.gg-guarantee h2{font-size:24px!important;margin-bottom:5px!important}.gg-guarantee p{margin:0;color:#f5dedd;font-size:13px;max-width:680px}

/* FAQ/final */
.gg-faq{background:#fff}.gg-faq__list{max-width:850px;margin:0 auto}.gg-faq details{border-bottom:1px solid #eadfdb}.gg-faq summary{list-style:none;cursor:pointer;padding:18px 0;font-weight:700;font-size:14px;display:flex;justify-content:space-between;gap:20px}.gg-faq summary::-webkit-details-marker{display:none}.gg-faq summary span{color:var(--gg-red);font-size:18px}.gg-faq details p{padding:0 0 18px;color:#665d5b;font-size:14px;max-width:720px}.gg-final-cta{background:var(--gg-red);color:#fff;padding:72px 0;text-align:center}.gg-final-cta .gg-container{max-width:740px}.gg-final-cta h2{font-size:44px!important;margin-bottom:14px!important}.gg-final-cta p{color:#f4dedd;max-width:620px;margin:0 auto 24px}

/* Contact */
.gg-contact-page{min-height:560px;background:radial-gradient(circle at 78% 28%,#f6dddd 0,rgba(246,221,221,.85) 12%,#fbf2f2 40%,#fff 74%)}.gg-contact-hero{min-height:610px;display:flex;align-items:center;justify-content:center;padding:58px 24px}.gg-contact-card{width:min(100%,690px);background:#fff;border:1px solid #dcd6d2;border-radius:12px;padding:54px 48px;text-align:center;box-shadow:0 10px 30px rgba(60,20,18,.04)}.gg-contact-card h1{font-size:38px!important;margin-bottom:12px!important}.gg-contact-card>p{max-width:540px;margin:0 auto 12px;color:#6b6260;font-size:14px}.gg-contact-card>p a{font-weight:700}.gg-contact-form{margin-top:30px}.gg-contact-form__row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.gg-contact-form input,.gg-contact-form textarea{width:100%;border:1px solid #8c817e!important;border-radius:4px!important;background:#fff!important;padding:13px 15px!important;color:#111!important;margin:0 0 12px!important;min-height:48px!important;box-shadow:none!important}.gg-contact-form textarea{min-height:125px!important;resize:vertical}.gg-contact-form .gg-btn{min-width:135px;margin-top:4px}.gg-form-notice{margin:20px 0 -10px;padding:10px 13px;border-radius:5px;font-size:13px}.gg-form-notice--success{background:#eef8f0;color:#285e37}.gg-form-notice--error{background:#fff0f0;color:#7a1614}

/* Footer */
.gg-footer{background:var(--gg-red);color:#fff;padding:48px 0 0}.gg-footer__top{display:grid;grid-template-columns:1fr 1.25fr;gap:120px;padding-bottom:45px}.gg-footer h2{font-size:16px!important;letter-spacing:0!important;margin-bottom:20px!important}.gg-footer__menu{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.gg-footer__menu a,.gg-footer__contact a,.gg-footer__contact p{font-size:13px;color:#fff}.gg-footer__contact p{max-width:560px;margin-bottom:24px}.gg-footer__disclaimers{border-top:1px solid rgba(255,255,255,.13);padding-top:30px;padding-bottom:28px}.gg-footer__disclaimers p{font-size:10px;font-weight:600;line-height:1.6;margin-bottom:13px;color:#fff}.gg-footer__bottom{border-top:1px solid rgba(255,255,255,.08);padding:22px 24px 28px;text-align:center}.gg-payment-badges{display:flex;justify-content:center;gap:5px;flex-wrap:wrap;margin-bottom:10px}.gg-payment-badges span{display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#1c1c1c;border-radius:2px;padding:4px 7px;font-size:8px;font-weight:800;min-width:32px}.gg-footer__bottom p{margin:0;font-size:10px}

/* Product / shop */
.gg-product-buy{padding:58px 0 35px;background:#fff}.gg-product-buy__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:start}.gg-product-gallery__main{background:#f0efec;border-radius:10px;min-height:600px;display:grid;place-items:center;overflow:hidden}.gg-product-gallery__main img{max-height:520px;max-width:82%;object-fit:contain}.gg-product-gallery__thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}.gg-product-gallery__thumbs button{border:1px solid transparent;background:#f6f3ef;padding:0;border-radius:7px;overflow:hidden;cursor:pointer;aspect-ratio:1.25}.gg-product-gallery__thumbs button.is-active{border-color:var(--gg-red)}.gg-product-gallery__thumbs img{width:100%;height:100%;object-fit:cover}.gg-product-summary{position:sticky;top:100px}.gg-product-proof{display:flex;align-items:center;gap:8px;margin-bottom:14px;font-size:12px}.gg-product-proof span{color:#b92723}.gg-product-proof em{font-style:normal;color:#7b7370}.gg-product-summary h1{font-size:46px!important;color:var(--gg-red)!important;margin-bottom:14px!important}.gg-product-subtitle{font-size:15px;color:#5f5754}.gg-product-price{font-size:26px;font-weight:800;margin:15px 0}.gg-product-points{list-style:none!important;padding:0!important;margin:18px 0 20px!important;display:grid;grid-template-columns:1fr 1fr;gap:9px 20px;font-size:13px}.gg-product-points li:before{content:"✦";color:var(--gg-red);margin-right:7px}.gg-buy-tiers{display:grid;gap:8px;margin:15px 0}.gg-buy-tier{width:100%;background:#fff;border:1px solid #ddd6d2;border-radius:7px;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;text-align:left;cursor:pointer;color:#111}.gg-buy-tier.is-active{border:2px solid var(--gg-red);padding:13px 15px}.gg-buy-tier span{display:flex;flex-direction:column}.gg-buy-tier strong{font-size:14px}.gg-buy-tier small{font-size:10px;color:#7b7370;margin-top:2px}.gg-buy-tier b{font-size:14px}.gg-add-to-cart{width:100%;min-height:54px!important;margin:5px 0 10px}.gg-pay-badges{display:flex;gap:7px;align-items:center;justify-content:center;color:#6e6764;font-size:10px;margin-bottom:15px}.gg-pay-badges span:not(:first-child){background:#f0efed;padding:4px 6px;border-radius:3px;color:#333}.gg-guarantee-box{background:#f2f7f1;border:1px solid #d4e0d4;border-radius:7px;padding:14px 16px;margin:15px 0}.gg-guarantee-box strong{font-size:13px}.gg-guarantee-box p{font-size:11px;margin:4px 0 0;color:#5c655d}.gg-product-accordions details{border-top:1px solid #e9e2de}.gg-product-accordions summary{padding:16px 0;display:flex;justify-content:space-between;font-size:12px;font-weight:700;cursor:pointer;list-style:none}.gg-product-accordions summary::-webkit-details-marker{display:none}.gg-product-accordions p{font-size:12px;color:#645c59;padding-bottom:14px}
.gg-product-band{background:linear-gradient(145deg,#70100f,#5a0d0c);color:#fff;padding:72px 0}.gg-product-band__inner{max-width:780px}.gg-product-band h2{font-size:38px!important;margin-bottom:16px!important}.gg-product-band p{color:#f5d9d8}.gg-product-band__table{margin-top:28px;border:1px solid rgba(255,255,255,.18);border-radius:7px;overflow:hidden}.gg-product-band__table p{display:grid;grid-template-columns:125px 1fr;margin:0;padding:13px 16px;border-bottom:1px solid rgba(255,255,255,.13);font-size:12px}.gg-product-band__table p:last-child{border-bottom:0}.gg-product-band__table b{color:#fff}
.gg-product-ingredient{background:#fbefef}.gg-product-ingredient__grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px;align-items:center;max-width:900px}.gg-product-ingredient img{max-height:330px;margin:auto;object-fit:contain}.gg-product-ingredient h2{font-size:38px!important;color:var(--gg-red)!important;margin-bottom:12px!important}.gg-product-why{background:var(--gg-red);color:#fff}.gg-product-why__grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:50px;align-items:center;max-width:760px;margin:auto}.gg-product-why__grid img{max-height:280px;object-fit:contain;margin:auto}.gg-product-why__grid div{display:grid;gap:0}.gg-product-why__grid p{background:rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.12);padding:13px 16px;margin:0;font-size:13px}.gg-product-promise{background:#fbefef}.gg-promise-card{max-width:760px;margin:auto;text-align:center}.gg-promise-card>span{width:95px;height:95px;border-radius:50%;background:var(--gg-red);color:#fff;display:grid;place-items:center;align-content:center;margin:0 auto 20px;font-size:35px;font-weight:800}.gg-promise-card>span small{font-size:10px}.gg-promise-card h2{font-size:36px!important;margin-bottom:10px!important}.gg-promise-card p{max-width:590px;margin:0 auto 22px;color:#645c59}

/* Policy */
.gg-policy-page{background:#fff;padding:70px 0}.gg-policy-shell{width:min(calc(100% - 40px),860px);margin:auto}.gg-policy-card h1{font-size:44px!important;margin-bottom:14px!important}.gg-policy-content{font-size:15px;color:#2d2b2a}.gg-policy-content h2,.gg-policy-content h3{font-size:23px!important;margin:30px 0 10px!important;letter-spacing:-.02em!important}.gg-policy-content p,.gg-policy-content li{line-height:1.7}.gg-policy-content ul,.gg-policy-content ol{padding-left:20px}
.gg-generic-page{padding:70px 0}.gg-generic-page__inner{max-width:860px}.gg-generic-page h1{font-size:44px!important;margin-bottom:25px!important}.gg-generic-page__content{font-size:15px;line-height:1.7}

/* Woo common */
.gg-woo-page{background:#fff;padding:62px 0 82px}.gg-woo-page__inner>h1{font-size:46px!important;margin:3px 0 34px!important}.gg-woo-page .woocommerce{font-family:"Inter",Arial,sans-serif!important}.gg-woo-page table.shop_table{border:1px solid #e1d8d3!important;border-radius:8px!important;overflow:hidden;background:#fff}.gg-woo-page table.shop_table th{font-size:12px!important;text-transform:uppercase;letter-spacing:.04em;background:#f8f5f2}.gg-woo-page table.shop_table td{font-size:14px!important}.gg-woo-page .button,.gg-woo-page button.button,.gg-woo-page input.button,.gg-checkout-page .button,.gg-checkout-page button.button{background:var(--gg-red)!important;color:#fff!important;border-radius:6px!important;min-height:44px!important;padding:0 20px!important;font-size:12px!important;font-weight:800!important;text-transform:uppercase!important;line-height:44px!important}.gg-woo-page input,.gg-woo-page select,.gg-woo-page textarea{border:1px solid #d9d1cc!important;border-radius:5px!important;min-height:44px!important;padding:10px 12px!important}.gg-woo-page .cart_totals{background:#f8f5f2;border:1px solid #e3d9d4;border-radius:8px;padding:22px}.gg-woo-page .cart_totals h2{font-size:24px!important;margin-bottom:15px!important}

/* Checkout */
.gg-checkout-page{background:#f5f5f5;padding:48px 0 80px;min-height:700px}.gg-checkout-shell{width:min(calc(100% - 48px),1160px);margin:auto}.gg-checkout-page .woocommerce{display:block!important}.gg-checkout-page form.checkout{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(390px,.82fr)!important;gap:44px!important;align-items:start!important}.gg-checkout-page #customer_details{grid-column:1!important;display:block!important}.gg-checkout-page #order_review_heading,.gg-checkout-page #order_review{grid-column:2!important}.gg-checkout-page #order_review_heading{grid-row:1!important;align-self:start!important;margin:0!important;background:#f5f5f5;font-size:0!important;height:0!important;overflow:hidden!important}.gg-checkout-page #order_review{grid-row:1 / span 3!important;background:#f3f3f3!important;border:1px solid #dedede!important;border-radius:10px!important;padding:26px!important;position:sticky!important;top:105px!important}.gg-checkout-page h3{font-family:"Inter",sans-serif!important;font-size:22px!important;letter-spacing:-.02em!important;margin-bottom:18px!important}.gg-checkout-page .woocommerce-billing-fields,.gg-checkout-page .woocommerce-additional-fields{background:#fff;border-radius:9px;border:1px solid #e3e3e3;padding:28px;margin-bottom:18px}.gg-checkout-page .form-row{margin-bottom:13px!important}.gg-checkout-page label{font-size:12px!important;font-weight:700!important;margin-bottom:5px!important}.gg-checkout-page input.input-text,.gg-checkout-page select,.gg-checkout-page textarea{width:100%!important;border:1px solid #d3d3d3!important;background:#fff!important;border-radius:7px!important;min-height:48px!important;padding:11px 13px!important;font-size:14px!important;box-shadow:none!important}.gg-checkout-page .select2-selection{height:48px!important;border:1px solid #d3d3d3!important;border-radius:7px!important}.gg-checkout-page .select2-selection__rendered{line-height:46px!important}.gg-checkout-page .select2-selection__arrow{height:46px!important}.gg-checkout-page table.shop_table{background:transparent!important;border:0!important;margin-bottom:16px!important}.gg-checkout-page table.shop_table th,.gg-checkout-page table.shop_table td{border-color:#ddd!important;padding:13px 0!important;font-size:13px!important}.gg-checkout-page #payment{background:transparent!important}.gg-checkout-page #payment ul.payment_methods{padding:0!important;border:0!important}.gg-checkout-page #payment ul.payment_methods li{background:#fff;border:1px solid #ddd;border-radius:8px;padding:14px!important;margin-bottom:10px!important}.gg-checkout-page #payment div.payment_box{background:#f7f7f7!important;margin:10px 0 0!important;font-size:12px!important}.gg-checkout-page #payment div.payment_box:before{display:none!important}.gg-checkout-page #payment .place-order{padding:18px 0 0!important;margin:0!important}.gg-checkout-page #place_order{width:100%!important;min-height:54px!important;background:var(--gg-red)!important;color:#fff!important;border-radius:7px!important;font-size:13px!important;font-weight:800!important;text-transform:none!important;line-height:54px!important;padding:0!important}.gg-checkout-page .woocommerce-privacy-policy-text{font-size:11px;color:#666}.gg-checkout-page .woocommerce-error,.gg-checkout-page .woocommerce-info,.gg-checkout-page .woocommerce-message{border-top-color:var(--gg-red)!important;background:#fff!important}

/* Account */
.gg-account-page .woocommerce{display:grid;grid-template-columns:230px 1fr;gap:38px}.gg-account-page .woocommerce-MyAccount-navigation ul{list-style:none!important;margin:0!important;padding:0!important;border:1px solid #e3dbd6;border-radius:8px;overflow:hidden}.gg-account-page .woocommerce-MyAccount-navigation li a{display:block;padding:14px 16px;border-bottom:1px solid #eee7e3;font-size:13px}.gg-account-page .woocommerce-MyAccount-navigation li.is-active a{background:var(--gg-red);color:#fff}.gg-account-page .woocommerce-MyAccount-navigation li:last-child a{border-bottom:0}.gg-account-page .woocommerce-MyAccount-content{font-size:14px}.gg-account-page .woocommerce form.login,.gg-account-page .woocommerce form.register{border:1px solid #e3dbd6!important;border-radius:8px!important;padding:26px!important;max-width:620px}.gg-account-page .woocommerce:not(:has(.woocommerce-MyAccount-navigation)){display:block}

/* Responsive */
@media (max-width:1100px){
  .gg-header__nav{gap:17px}.gg-header__nav a{font-size:13px}.gg-brand{font-size:24px!important}
  .gg-hero__grid{gap:40px}.gg-product-buy__grid{gap:28px}.gg-product-gallery__main{min-height:510px}
}
@media (max-width:900px){
  .admin-bar .gg-header{top:46px}
  .gg-header__inner{width:min(calc(100% - 28px),100%);height:68px;grid-template-columns:42px 1fr 42px;gap:10px}
  .gg-header__nav{display:none}.gg-menu-toggle{display:flex;justify-self:start}.gg-brand{font-size:22px!important;overflow:hidden;text-overflow:ellipsis;max-width:100%;text-align:center}
  .gg-mobile-menu{display:none;background:#fff;border-top:1px solid #eee4df;padding:10px 22px 20px}.gg-mobile-menu.is-open{display:block}.gg-mobile-menu a{display:block;padding:14px 4px;border-bottom:1px solid #eee7e3;font-size:14px;font-weight:600}.gg-menu-toggle.is-open span:nth-child(1){transform:translateY(6px) rotate(45deg)}.gg-menu-toggle.is-open span:nth-child(2){opacity:0}.gg-menu-toggle.is-open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  .gg-section{padding:70px 0}.gg-hero{padding:48px 0}.gg-hero__grid,.gg-product-buy__grid{grid-template-columns:1fr}.gg-hero__copy{max-width:none}.gg-hero__media{order:-1}.gg-product-stage{width:min(100%,520px)}.gg-hero__copy h1{font-size:52px!important}.gg-product-summary{position:static}.gg-product-gallery__main{min-height:480px}
  .gg-three-cards{grid-template-columns:1fr 1fr}.gg-three-cards article:last-child{grid-column:1/-1}.gg-benefit-card img{height:220px}
  .gg-review-grid{grid-template-columns:1fr 1fr}.gg-guarantee__inner{grid-template-columns:auto 1fr}.gg-guarantee .gg-btn{grid-column:1/-1;justify-self:start;margin-left:95px}
  .gg-footer__top{gap:50px}
  .gg-product-ingredient__grid,.gg-product-why__grid{grid-template-columns:1fr;gap:30px;text-align:center}.gg-product-ingredient img{max-height:270px}.gg-product-why__grid img{max-height:230px}
  .gg-checkout-page form.checkout{grid-template-columns:1fr!important}.gg-checkout-page #customer_details,.gg-checkout-page #order_review_heading,.gg-checkout-page #order_review{grid-column:1!important;grid-row:auto!important}.gg-checkout-page #order_review{position:static!important}.gg-account-page .woocommerce{grid-template-columns:1fr}.gg-account-page .woocommerce-MyAccount-navigation ul{display:flex;overflow:auto}.gg-account-page .woocommerce-MyAccount-navigation li a{white-space:nowrap;border-bottom:0;border-right:1px solid #eee7e3}
}
@media (max-width:640px){
  body.ttgf-goodgrove{font-size:15px!important}.gg-container{width:min(calc(100% - 30px),var(--gg-container))}.gg-section{padding:58px 0}.gg-kicker{font-size:10px!important;margin-bottom:13px!important}.gg-center-heading{margin-bottom:34px}.gg-center-heading>p:last-child{font-size:15px}
  .gg-header__inner{width:calc(100% - 20px)}.gg-brand{font-size:19px!important}.gg-cart-link{width:38px;height:38px}
  .gg-hero{background:linear-gradient(180deg,#fbefef 0,#fff 52%);padding-top:25px}.gg-hero__grid{gap:30px}.gg-product-stage{aspect-ratio:1.15}.gg-hero__copy{text-align:left}.gg-hero__copy h1{font-size:44px!important}.gg-hero__lead{font-size:16px}.gg-check-list{display:block}.gg-check-list li{margin:6px 0}.gg-ticker{height:36px}.gg-ticker__track span{font-size:9px;padding:0 16px}.gg-ticker__track span+span:before{margin-right:16px}
  .gg-three-cards{grid-template-columns:1fr}.gg-three-cards article:last-child{grid-column:auto}.gg-benefit-card img{height:240px}.gg-difference__stats{grid-template-columns:1fr}.gg-difference__stats strong{font-size:44px}.gg-concentration{grid-template-columns:1fr;gap:12px}.gg-ratio{order:-1}.gg-ingredient__images{grid-template-columns:1fr}.gg-ingredient figure img{height:260px}.gg-timeline__panel{padding:24px 18px}.gg-timeline__chart{height:150px}.gg-timeline__steps{grid-template-columns:1fr 1fr}.gg-review-grid{grid-template-columns:1fr}.gg-reviews__heading{align-items:start;flex-direction:column}.gg-reviews__heading h2{font-size:36px!important}.gg-guarantee__inner{grid-template-columns:1fr;text-align:center}.gg-guarantee__badge{margin:auto}.gg-guarantee .gg-btn{grid-column:auto;justify-self:center;margin-left:0}.gg-final-cta h2{font-size:36px!important}
  .gg-contact-hero{padding:35px 15px}.gg-contact-card{padding:34px 20px}.gg-contact-form__row{grid-template-columns:1fr}.gg-contact-card h1{font-size:32px!important}
  .gg-footer__top{grid-template-columns:1fr;gap:38px}.gg-footer{padding-top:38px}
  .gg-product-buy{padding-top:25px}.gg-product-gallery__main{min-height:390px}.gg-product-gallery__main img{max-height:350px}.gg-product-gallery__thumbs{grid-template-columns:repeat(4,1fr)}.gg-product-summary h1{font-size:36px!important}.gg-product-points{grid-template-columns:1fr}.gg-product-band{padding:55px 0}.gg-product-band h2{font-size:31px!important}.gg-product-band__table p{grid-template-columns:1fr;gap:4px}.gg-product-ingredient h2{font-size:32px!important}.gg-promise-card h2{font-size:31px!important}
  .gg-policy-page{padding:48px 0}.gg-policy-card h1{font-size:36px!important}.gg-woo-page{padding:45px 0}.gg-woo-page__inner>h1{font-size:38px!important}.gg-checkout-page{padding:25px 0 50px}.gg-checkout-shell{width:calc(100% - 20px)}.gg-checkout-page .woocommerce-billing-fields,.gg-checkout-page .woocommerce-additional-fields,.gg-checkout-page #order_review{padding:18px!important}.gg-account-page .woocommerce-MyAccount-navigation ul{display:block}.gg-account-page .woocommerce-MyAccount-navigation li a{border-right:0;border-bottom:1px solid #eee7e3}
}
/* Checkout-specific compact header */
.gg-header--checkout .gg-header__inner{grid-template-columns:1fr auto 1fr;height:92px}
.gg-header--checkout .gg-brand{display:flex;flex-direction:column;align-items:center;gap:8px}
.gg-header--checkout .gg-brand small{font-family:"Inter",Arial,sans-serif;font-size:9px;font-weight:800;letter-spacing:.08em;color:#fff;background:var(--gg-red);border-radius:3px;padding:4px 9px;line-height:1.1}
.gg-header--checkout .gg-checkout-spacer{justify-self:start}
@media(max-width:640px){.gg-header--checkout .gg-header__inner{height:76px}.gg-header--checkout .gg-brand small{font-size:7px;padding:3px 5px;letter-spacing:.04em}}
/* Horizontal customer slider and motion */
.gg-review-slider{position:relative}.gg-review-grid{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:5px}.gg-review-grid::-webkit-scrollbar{display:none}.gg-review-card{flex:0 0 min(360px,calc(33.333% - 8px));scroll-snap-align:start}.gg-review-controls{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.gg-review-controls button{width:42px;height:42px;border-radius:50%;border:1px solid #d7ceca;background:#fff;color:var(--gg-red);font-size:17px;cursor:pointer}.gg-review-controls button:hover{background:var(--gg-red);color:#fff}
.gg-js .gg-reveal-auto{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}.gg-js .gg-reveal-auto.is-visible{opacity:1;transform:none}
.gg-sticky-buy{position:fixed;left:50%;bottom:18px;transform:translate(-50%,18px);z-index:800;width:min(520px,calc(100% - 32px));opacity:0;pointer-events:none;transition:.25s ease;background:var(--gg-red);color:#fff;border-radius:7px;box-shadow:0 10px 35px rgba(62,7,7,.25);text-align:center;font-size:12px;font-weight:800;text-transform:uppercase;padding:14px 20px}.gg-sticky-buy.is-visible{opacity:1;pointer-events:auto;transform:translate(-50%,0)}
@media(max-width:900px){.gg-review-card{flex-basis:min(340px,78vw)}}
@media(max-width:640px){.gg-review-card{flex-basis:84vw}.gg-review-controls{justify-content:center}}
.gg-header__nav a.is-active{background:var(--gg-red);color:#fff!important;padding:7px 11px;border-radius:4px}
/* Move payment into the left checkout column, like the reference checkout. */
.gg-checkout-payment-slot{grid-column:1!important;background:#fff;border:1px solid #e3e3e3;border-radius:9px;padding:28px;margin-top:0}.gg-checkout-payment-slot>h2{font-family:"Inter",sans-serif!important;font-size:21px!important;letter-spacing:-.02em!important;margin:0 0 5px!important}.gg-checkout-safe{font-size:12px;color:#6a6a6a;margin:0 0 16px!important}.gg-checkout-payment-slot #payment{padding:0!important;background:transparent!important}.gg-checkout-page #order_review{grid-row:1 / span 2!important}.gg-checkout-page #order_review #payment{display:none!important}.gg-checkout-payment-slot #payment{display:block!important}
@media(max-width:900px){.gg-checkout-payment-slot{grid-column:1!important;padding:18px}.gg-checkout-page #order_review{grid-row:auto!important}}

/* --------------------------------------------------------------------------
   v5.1 GoodGrove fidelity pass — homepage scale, spacing, sticky header + cart
   -------------------------------------------------------------------------- */
:root{
  --gg-red:#861311;
  --gg-red-deep:#6f0e0d;
  --gg-red-mid:#b82e2b;
  --gg-rose:#fff1f1;
  --gg-rose-2:#fff6f6;
  --gg-cream:#f7f4f1;
  --gg-paper:#ffffff;
  --gg-ink:#171313;
  --gg-muted:#5e5350;
  --gg-line:#e7ddda;
  --gg-shadow:0 18px 45px rgba(77,20,18,.12);
  --gg-container:1120px;
}
html{scroll-padding-top:92px}
body.ttgf-goodgrove{
  font-family:"Inter",Arial,sans-serif!important;
  font-size:16px!important;
  line-height:1.55!important;
  color:var(--gg-ink)!important;
  background:#fff!important;
}
body.ttgf-goodgrove h1,
body.ttgf-goodgrove h2,
body.ttgf-goodgrove h3,
body.ttgf-goodgrove h4{
  font-family:"Inter Tight","Inter",Arial,sans-serif!important;
  font-weight:700!important;
  letter-spacing:-.035em!important;
  line-height:1.02!important;
}
body.ttgf-goodgrove h1{font-size:clamp(48px,4.4vw,64px)!important}
body.ttgf-goodgrove h2{font-size:clamp(36px,3.5vw,50px)!important}
body.ttgf-goodgrove h3{font-size:clamp(21px,1.8vw,25px)!important}
.gg-container{width:min(calc(100% - 48px),var(--gg-container))}
.gg-section{padding:96px 0}
.gg-kicker{
  margin-bottom:14px!important;
  color:var(--gg-red)!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.16em!important;
  line-height:1.2!important;
}
.gg-kicker--dark{color:#fff!important}
.gg-center-heading{max-width:820px;margin-bottom:48px}
.gg-center-heading h2{color:var(--gg-red)!important;margin-bottom:14px!important}
.gg-center-heading>p:last-child{max-width:720px;color:var(--gg-muted);font-size:17px;line-height:1.55}
.gg-center-heading--light h2,.gg-center-heading--light>p:last-child{color:#fff!important}
.gg-btn{
  min-height:50px;
  padding:0 30px!important;
  border-radius:999px!important;
  font-size:13px!important;
  font-weight:800!important;
  letter-spacing:.015em!important;
  box-shadow:none;
}
.gg-btn--red{background:var(--gg-red)!important;border-color:var(--gg-red)!important}
.gg-btn--red:hover{background:var(--gg-red-deep)!important;border-color:var(--gg-red-deep)!important}
.gg-btn--light{background:#fff!important;color:var(--gg-red)!important;border-color:#fff!important}
.gg-center-cta{margin-top:38px}

/* sticky reference-style header */
.gg-site{overflow:visible!important}
.gg-header{
  position:sticky!important;
  top:0!important;
  z-index:1200!important;
  background:#fff!important;
  border-bottom:1px solid #ece8e5!important;
  backdrop-filter:none!important;
  box-shadow:0 1px 0 rgba(0,0,0,.015);
}
.admin-bar .gg-header{top:32px!important}
.gg-header__inner{
  width:min(calc(100% - 48px),1360px);
  height:88px;
  grid-template-columns:1fr auto 1fr;
  gap:30px;
}
.gg-header__nav{gap:32px}
.gg-header__nav a{font-size:15px;font-weight:500;padding:8px 0}
.gg-header__nav a.is-active{padding:8px 12px;border-radius:4px;background:var(--gg-red);color:#fff!important}
.gg-brand{font-size:28px!important;color:#111!important}
.gg-cart-link{
  appearance:none;
  border:0;
  background:transparent;
  color:#111;
  width:46px;
  height:46px;
  padding:0;
  cursor:pointer;
  display:grid;
  place-items:center;
}
.gg-cart-icon{width:28px;height:28px;border:0!important;border-radius:0!important;margin:0!important;position:static!important}
.gg-cart-icon:before{display:none!important}
.gg-cart-count{right:0;top:2px;min-width:18px;height:18px;font-size:10px;background:var(--gg-red)}

/* cart drawer */
body.gg-cart-is-open{overflow:hidden!important}
.gg-cart-overlay{
  position:fixed;
  inset:0;
  z-index:1998;
  background:rgba(0,0,0,.44);
  opacity:0;
  transition:opacity .25s ease;
}
.gg-cart-overlay.is-open{opacity:1}
.gg-cart-drawer{
  position:fixed;
  z-index:1999;
  top:0;
  right:0;
  width:min(430px,100vw);
  height:100dvh;
  background:#fff;
  box-shadow:-14px 0 45px rgba(0,0,0,.18);
  transform:translateX(102%);
  transition:transform .28s cubic-bezier(.2,.8,.2,1);
  display:flex;
  flex-direction:column;
  color:var(--gg-ink);
}
.gg-cart-drawer.is-open{transform:translateX(0)}
.admin-bar .gg-cart-overlay{top:32px}
.admin-bar .gg-cart-drawer{top:32px;height:calc(100dvh - 32px)}
.gg-cart-drawer__head{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:1px solid var(--gg-line)}
.gg-cart-drawer__head h2{font-size:22px!important;letter-spacing:-.02em!important;color:var(--gg-red)!important}
.gg-cart-drawer__close{width:44px;height:44px;border:0;background:transparent;position:relative;cursor:pointer;padding:0}
.gg-cart-drawer__close span{position:absolute;left:10px;right:10px;top:21px;height:1.5px;background:#111}
.gg-cart-drawer__close span:first-child{transform:rotate(45deg)}
.gg-cart-drawer__close span:last-child{transform:rotate(-45deg)}
.gg-cart-drawer__content{display:flex;flex-direction:column;min-height:0;height:100%;overflow:auto}
.gg-cart-drawer__shipping{padding:16px 22px 18px;text-align:center;border-bottom:1px solid var(--gg-line)}
.gg-cart-drawer__shipping strong{display:block;font-size:13px;margin-bottom:10px;color:#231d1c}
.gg-cart-drawer__progress{height:9px;border-radius:999px;background:#f1dfdd;overflow:hidden}
.gg-cart-drawer__progress span{display:block;height:100%;background:repeating-linear-gradient(135deg,var(--gg-red),var(--gg-red) 7px,#b94a46 7px,#b94a46 12px);border-radius:inherit}
.gg-cart-drawer__items{padding:18px 20px;display:grid;gap:18px}
.gg-cart-item{display:grid;grid-template-columns:92px 1fr auto;gap:14px;align-items:start;position:relative}
.gg-cart-item.is-updating{opacity:.5;pointer-events:none}
.gg-cart-item__image{width:92px;height:104px;background:#f4f1ef;border-radius:4px;display:grid;place-items:center;overflow:hidden}
.gg-cart-item__image img{width:100%;height:100%;object-fit:contain}
.gg-cart-item__body{min-width:0;padding-top:2px}
.gg-cart-item__name{display:block;font-size:14px;font-weight:700;line-height:1.3;margin-bottom:5px}
.gg-cart-item__meta{font-size:12px;color:#5f5754;margin-bottom:14px}
.gg-cart-item__bottom{display:flex;align-items:center;gap:10px}
.gg-cart-qty{height:34px;display:flex;align-items:center;border:1px solid #cfc6c2;border-radius:4px;overflow:hidden}
.gg-cart-qty button{width:32px;height:32px;border:0;background:#fff;cursor:pointer;font-size:17px;color:#333}
.gg-cart-qty span{min-width:30px;text-align:center;font-size:12px}
.gg-cart-item__remove{border:0;background:transparent;color:#6b625e;font-size:11px;text-decoration:underline;cursor:pointer;padding:5px}
.gg-cart-item__price{font-size:14px;font-weight:700;color:var(--gg-red);white-space:nowrap;padding-top:2px}
.gg-cart-drawer__footer{margin-top:auto;padding:18px 20px 22px;border-top:1px solid var(--gg-line);background:#fff}
.gg-cart-drawer__subtotal{display:flex;align-items:center;justify-content:space-between;font-size:16px;margin-bottom:14px}
.gg-cart-drawer__subtotal span{font-size:18px;font-weight:700}
.gg-cart-drawer__checkout{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;background:var(--gg-red);color:#fff!important;border-radius:4px;font-size:16px;font-weight:700;letter-spacing:.01em}
.gg-cart-drawer__checkout:hover{background:var(--gg-red-deep)}
.gg-cart-drawer__footer p{font-size:10px;color:#7a716d;text-align:center;margin:8px 0 0}
.gg-cart-drawer__empty{margin:auto;padding:35px;text-align:center}
.gg-cart-drawer__empty p{font-size:18px;margin-bottom:20px}

/* Hero — reference width/scale */
.gg-hero{
  background:linear-gradient(100deg,#fff 0%,#fff 43%,#fff6f6 72%,#fbecec 100%);
  padding:58px 0 64px;
}
.gg-hero__grid{grid-template-columns:1fr 1.08fr;gap:78px;min-height:575px}
.gg-hero__copy{max-width:535px}
.gg-hero .gg-kicker{
  color:#fff!important;
  background:var(--gg-red);
  border-radius:999px;
  padding:9px 16px 9px 28px;
  margin-bottom:20px!important;
  position:relative;
  letter-spacing:.12em!important;
}
.gg-hero .gg-kicker:before{content:"";width:5px;height:5px;border-radius:50%;background:#fff;position:absolute;left:14px;top:50%;transform:translateY(-50%)}
.gg-hero__copy h1{font-size:clamp(52px,4.4vw,64px)!important;line-height:.98!important;color:var(--gg-red)!important;max-width:530px;margin-bottom:22px!important}
.gg-rating{font-size:14px;margin-bottom:20px;gap:10px}.gg-rating span{color:#bd2e2b}.gg-rating strong{font-size:14px}.gg-rating em{font-size:14px;color:#4f4744}
.gg-hero__lead{font-size:18px;line-height:1.55;max-width:520px;color:#514744;margin-bottom:27px!important}
.gg-hero .gg-btn{min-width:265px;min-height:58px;font-size:14px!important;box-shadow:0 10px 24px rgba(134,19,17,.18)}
.gg-check-list{margin-top:21px!important;gap:10px 20px;font-size:13px;color:#5f5552}
.gg-product-stage{width:min(100%,565px);aspect-ratio:1.34;background:linear-gradient(145deg,#efe5df,#d7c1b7);border:5px solid #fff;border-radius:16px;box-shadow:0 20px 55px rgba(92,38,32,.18)}
.gg-product-stage img{max-width:70%;max-height:84%;filter:drop-shadow(0 16px 18px rgba(0,0,0,.13))}
.gg-floating-proof{right:-2%;bottom:-4%;border-radius:12px;padding:13px 17px;font-size:11px;box-shadow:0 9px 24px rgba(0,0,0,.15)}
.gg-floating-proof b{width:31px;height:31px;background:var(--gg-red)}
.gg-ticker{height:50px;background:#b52e2b}
.gg-ticker__track span{font-size:12px;padding:0 31px;letter-spacing:.045em}
.gg-ticker__track span+span:before{margin-right:31px}

/* three-card section */
.gg-benefits{padding-top:92px;padding-bottom:92px}
.gg-benefits .gg-center-heading{max-width:840px}
.gg-benefits .gg-center-heading h2{font-size:clamp(40px,3.4vw,50px)!important;color:var(--gg-red)!important}
.gg-benefits .gg-center-heading>p:last-child{font-size:18px;color:#564b48}
.gg-three-cards{max-width:1120px;gap:24px}
.gg-benefit-card{border:1px solid #e8dfda;border-radius:16px;background:#f8f6f3;overflow:hidden}
.gg-benefit-card__media{position:relative}
.gg-benefit-card__media img{width:100%;height:266px;object-fit:cover}
.gg-benefit-icon{position:absolute;left:26px;bottom:-24px;width:50px;height:50px;border-radius:10px;background:var(--gg-red);border:3px solid #fff;display:grid;place-items:center;z-index:2;box-shadow:0 3px 8px rgba(55,12,11,.12)}
.gg-benefit-icon svg{width:22px;height:22px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gg-benefit-card__body{padding:39px 26px 30px!important}
.gg-benefit-eyebrow{margin:0 0 8px!important;color:#bd2f2b!important;font-size:11px!important;font-weight:800!important;letter-spacing:.1em!important;text-transform:uppercase}
.gg-benefit-card h3{font-size:22px!important;line-height:1.08!important;color:var(--gg-red)!important;margin-bottom:10px!important}
.gg-benefit-card__body>p:last-child{font-size:15px;line-height:1.5;color:#554b48;margin:0}

/* dark differentiator */
.gg-difference{background:linear-gradient(180deg,#7d100e 0%,#670c0b 100%);padding:98px 0 94px;color:#fff}
.gg-difference__inner{max-width:850px}
.gg-difference .gg-center-heading{max-width:760px;margin-bottom:42px}
.gg-difference .gg-center-heading h2{font-size:clamp(40px,3.2vw,48px)!important;color:#fff!important}
.gg-difference .gg-center-heading>p:last-child{font-size:17px;line-height:1.5;color:#f8e4e2!important;max-width:680px}
.gg-difference__stats{gap:22px;margin:0 0 22px}
.gg-difference__stats article{padding:30px 30px 28px;border-radius:14px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.28)}
.gg-difference__stats article.is-muted{opacity:.48}
.gg-difference__stats article.is-featured{opacity:1;border-color:rgba(255,255,255,.92);background:rgba(255,255,255,.11)}
.gg-difference__stats small{font-size:10px;margin-bottom:18px;color:#fff}
.gg-difference__stats strong{font-family:"Inter Tight",sans-serif;font-size:56px;line-height:.92;letter-spacing:-.04em;color:#fff}
.gg-difference__stats h3{font-size:25px!important;color:#fff!important;margin:7px 0 10px!important}
.gg-difference__stats p{font-size:14px;line-height:1.5;color:#f7dedd;margin:0}
.gg-concentration{padding:26px 34px;border-radius:14px;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.25)}
.gg-concentration span{font-family:"Inter Tight",sans-serif;font-size:29px}
.gg-concentration small{font-size:11px;color:#f7dedd}
.gg-ratio{font-family:"Inter Tight",sans-serif;font-size:48px}
.gg-difference .gg-center-cta{margin-top:30px}
.gg-difference .gg-btn--light{min-width:210px;min-height:52px;font-size:13px!important}

/* ingredient panel */
.gg-ingredient{padding:102px 0 96px}
.gg-ingredient .gg-center-heading{max-width:760px;margin-bottom:42px}
.gg-ingredient .gg-center-heading h2{font-size:clamp(38px,3.2vw,47px)!important;color:var(--gg-red)!important}
.gg-ingredient .gg-center-heading>p:last-child{font-size:17px;color:#564b48}
.gg-ingredient__images{max-width:930px;gap:20px}
.gg-ingredient figure{border-radius:16px;box-shadow:0 10px 24px rgba(0,0,0,.07)}
.gg-ingredient figure img{height:305px}
.gg-ingredient figcaption{left:16px;bottom:14px;padding:7px 11px;border-radius:5px;background:rgba(112,13,12,.93);font-size:10px}

/* light pink timeline */
.gg-timeline{background:#fff1f1;padding:100px 0 88px}
.gg-timeline .gg-center-heading{max-width:760px;margin-bottom:40px}
.gg-timeline .gg-center-heading h2{font-size:clamp(40px,3.2vw,48px)!important;color:var(--gg-red)!important}
.gg-timeline .gg-center-heading>p:last-child{font-size:17px;color:#5a4f4c}
.gg-timeline__panel{max-width:860px;border-radius:15px;padding:45px 42px 34px;box-shadow:0 8px 24px rgba(83,18,16,.08)}
.gg-timeline__chart{height:230px}
.gg-timeline__steps{gap:16px}
.gg-timeline__steps article{border-top:1px solid #ecc9c7;padding-top:12px}
.gg-timeline__steps b{font-size:10px;color:#b52623}
.gg-timeline__steps h3{font-size:21px!important;line-height:1.08!important;color:#181313!important;margin:7px 0 7px!important}
.gg-timeline__steps p{font-size:13px;line-height:1.45;color:#5c514e}
.gg-timeline .gg-center-cta{margin-top:32px}
.gg-timeline .gg-btn{min-width:210px}

/* utility restored after removing the legacy stylesheet */
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.screen-reader-text:focus{position:fixed!important;top:8px;left:8px;width:auto;height:auto;margin:0;padding:10px 14px;clip:auto;background:#fff;color:#111;z-index:999999}

@media(max-width:1100px){
  .gg-header__nav{gap:22px}.gg-header__nav a{font-size:14px}.gg-brand{font-size:25px!important}
  .gg-hero__grid{gap:48px}.gg-three-cards{gap:18px}
}
@media(max-width:900px){
  .admin-bar .gg-header{top:46px!important}
  .admin-bar .gg-cart-overlay{top:46px}.admin-bar .gg-cart-drawer{top:46px;height:calc(100dvh - 46px)}
  .gg-header__inner{height:70px}
  .gg-hero__grid{grid-template-columns:1fr;min-height:auto}.gg-hero__media{order:0}.gg-hero__copy{max-width:600px}.gg-product-stage{width:min(100%,620px)}
  .gg-three-cards{grid-template-columns:1fr 1fr}.gg-three-cards article:last-child{grid-column:1/-1;max-width:calc(50% - 9px);justify-self:center;width:100%}
  .gg-difference__inner{max-width:760px}
}
@media(max-width:640px){
  body.ttgf-goodgrove{font-size:15px!important}
  .gg-container{width:min(calc(100% - 30px),var(--gg-container))}
  .gg-section{padding:68px 0}
  .gg-header__inner{height:66px}
  .gg-brand{font-size:19px!important}
  .gg-cart-link{width:40px;height:40px}.gg-cart-icon{width:25px;height:25px}
  .gg-hero{padding:34px 0 44px;background:linear-gradient(180deg,#fff7f7 0,#fff 64%)}
  .gg-hero__grid{gap:30px}.gg-hero__copy h1{font-size:43px!important;line-height:1!important}.gg-hero__lead{font-size:16px}.gg-hero .gg-btn{min-width:0;width:100%;min-height:54px}.gg-product-stage{border-width:3px;border-radius:12px}.gg-floating-proof{right:2%;bottom:-6%;padding:10px 12px}
  .gg-ticker{height:42px}.gg-ticker__track span{font-size:10px;padding:0 18px}.gg-ticker__track span+span:before{margin-right:18px}
  .gg-benefits .gg-center-heading h2,.gg-difference .gg-center-heading h2,.gg-ingredient .gg-center-heading h2,.gg-timeline .gg-center-heading h2{font-size:36px!important}.gg-center-heading>p:last-child{font-size:15px!important}
  .gg-three-cards{grid-template-columns:1fr}.gg-three-cards article:last-child{grid-column:auto;max-width:none}.gg-benefit-card__media img{height:245px}
  .gg-difference{padding:72px 0}.gg-difference__stats{grid-template-columns:1fr}.gg-difference__stats strong{font-size:48px}.gg-concentration{grid-template-columns:1fr;gap:12px}.gg-ratio{order:-1}
  .gg-ingredient{padding:72px 0}.gg-ingredient__images{grid-template-columns:1fr}.gg-ingredient figure img{height:260px}
  .gg-timeline{padding:72px 0}.gg-timeline__panel{padding:24px 18px}.gg-timeline__chart{height:155px}.gg-timeline__steps{grid-template-columns:1fr 1fr}.gg-timeline__steps h3{font-size:18px!important}.gg-timeline__steps p{font-size:12px}
  .gg-cart-drawer{width:100vw}.gg-cart-item{grid-template-columns:78px 1fr auto;gap:11px}.gg-cart-item__image{width:78px;height:92px}.gg-cart-item__price{font-size:12px}
}
.gg-home h1,.gg-home h2,.gg-home h3{color:var(--gg-red)!important}
.gg-home .gg-difference h1,.gg-home .gg-difference h2,.gg-home .gg-difference h3,
.gg-home .gg-guarantee h1,.gg-home .gg-guarantee h2,.gg-home .gg-guarantee h3,
.gg-home .gg-final-cta h1,.gg-home .gg-final-cta h2,.gg-home .gg-final-cta h3{color:#fff!important}
.gg-hero__copy h1 em{font-style:italic;font-weight:600!important}

/* ==========================================================================\n   v5.2.0 — GoodGrove lower-home, footer + contact fidelity pass\n   ========================================================================== */
:root{
  --gg-red:#7f100e;
  --gg-red-deep:#650c0b;
  --gg-red-mid:#b92d29;
  --gg-rose:#faeeee;
  --gg-rose-2:#fbf3f3;
  --gg-cream:#f6f5f2;
  --gg-muted:#665a56;
  --gg-line:#e8ded9;
}
body.ttgf-goodgrove{margin:0!important;padding:0!important;min-height:100%;}
body.ttgf-goodgrove{background:var(--gg-red)!important;}
body.ttgf-goodgrove .gg-site{background:#fff!important;margin:0!important;padding:0!important;min-height:0!important;}
body.ttgf-goodgrove .gg-home{background:#fff;}
body.ttgf-goodgrove .gg-home .gg-btn{border-radius:999px!important;min-height:52px;padding:0 30px!important;gap:10px;}

/* Starting point quiz */
.gg-quiz{background:#f5f4f1!important;padding:78px 0 108px!important;}
.gg-quiz .gg-container{width:min(calc(100% - 48px),1060px)!important;}
.gg-quiz .gg-center-heading{max-width:690px!important;margin-bottom:42px!important;}
.gg-quiz .gg-center-heading .gg-kicker{font-size:10px!important;letter-spacing:.22em!important;color:#b42a26!important;margin-bottom:18px!important;}
.gg-quiz .gg-center-heading h2{font-size:38px!important;line-height:1.03!important;letter-spacing:-.035em!important;color:var(--gg-red)!important;margin-bottom:16px!important;}
.gg-quiz .gg-center-heading>p:last-child{font-size:15px!important;line-height:1.45!important;max-width:640px!important;color:#4f4542!important;}
.gg-quiz__card{width:min(100%,510px)!important;margin:0 auto!important;padding:30px 30px 25px!important;border:1px solid #e0d8d3!important;border-radius:15px!important;box-shadow:0 12px 30px rgba(45,24,20,.14)!important;background:#fff!important;}
.gg-quiz__progress{height:5px!important;background:#efefed!important;border-radius:999px!important;overflow:hidden!important;margin:0 0 21px!important;}
.gg-quiz__progress span{display:block!important;width:33.333%;height:100%;background:#b93834;border-radius:999px;transition:width .24s ease;}
.gg-quiz__step{display:none;}
.gg-quiz__step.is-active{display:block;}
.gg-quiz__step>p{font-size:18px!important;line-height:1.25!important;color:#8a0e0c!important;font-weight:700!important;margin:0 0 18px!important;}
.gg-quiz__step>button{display:block!important;width:100%!important;text-align:left!important;background:#f8f7f5!important;border:1px solid #ddd8d4!important;border-radius:8px!important;padding:13px 16px!important;margin:0 0 9px!important;min-height:46px!important;cursor:pointer!important;font-size:13px!important;font-weight:500!important;line-height:1.25!important;letter-spacing:0!important;text-transform:none!important;color:#151210!important;box-shadow:none!important;}
.gg-quiz__step>button:hover,.gg-quiz__step>button.is-active{border-color:#b93834!important;background:#fff8f7!important;color:#7f100e!important;}
.gg-quiz__result{margin-top:0!important;padding:18px 20px!important;background:#f9eeee!important;border-radius:8px!important;text-align:left!important;}
.gg-quiz__result small{font-size:10px!important;letter-spacing:.15em!important;color:#a9221f!important;}
.gg-quiz__result strong{font-size:22px!important;color:#111!important;margin:5px 0 12px!important;}
.gg-quiz__result a{font-size:13px!important;font-weight:800!important;color:#7f100e!important;}
.gg-quiz__restart{margin-top:14px!important;padding:0!important;border:0!important;background:transparent!important;color:#7f100e!important;font-size:11px!important;font-weight:700!important;text-decoration:underline!important;cursor:pointer!important;}

/* Testimonials / reviews */
.gg-reviews{background:#f5f4f1!important;padding:86px 0 78px!important;overflow:hidden!important;}
.gg-reviews__intro{width:min(calc(100% - 48px),850px)!important;}
.gg-reviews__heading{display:flex!important;justify-content:space-between!important;align-items:flex-end!important;gap:38px!important;margin-bottom:30px!important;}
.gg-reviews__heading .gg-kicker{font-size:11px!important;letter-spacing:.04em!important;text-transform:none!important;color:#1a1715!important;margin-bottom:4px!important;}
.gg-reviews__heading h2{font-size:29px!important;line-height:1.06!important;color:#7f100e!important;letter-spacing:-.035em!important;}
.gg-review-score{min-width:258px!important;min-height:62px!important;padding:12px 17px!important;border:1px solid #e1d9d5!important;border-radius:9px!important;background:#fff!important;display:grid!important;grid-template-columns:auto 1fr!important;align-items:center!important;column-gap:12px!important;box-shadow:none!important;}
.gg-review-score strong{font-size:31px!important;line-height:1!important;font-weight:500!important;color:#7f100e!important;}
.gg-review-score span{font-size:13px!important;color:#b92d29!important;letter-spacing:2px!important;}
.gg-review-score small{grid-column:2!important;color:#6c625f!important;font-size:9px!important;line-height:1.2!important;margin-top:-13px!important;}
.gg-review-thumbs{display:grid!important;grid-template-columns:repeat(6,1fr)!important;gap:10px!important;overflow:visible!important;margin:0 0 30px!important;}
.gg-review-thumbs img{width:100%!important;height:132px!important;object-fit:cover!important;border-radius:8px!important;}
.gg-review-marquee{width:100vw!important;margin-left:calc(50% - 50vw)!important;overflow:hidden!important;padding:0 0 6px!important;}
.gg-review-row{display:flex!important;gap:16px!important;width:max-content!important;will-change:transform;}
.gg-review-row--one{margin-left:18px!important;margin-bottom:16px!important;}
.gg-review-row--two{margin-left:-158px!important;}
.gg-review-card{width:255px!important;min-width:255px!important;min-height:182px!important;padding:17px 18px 16px!important;border-radius:12px!important;border:1px solid #e3dbd7!important;background:#fff!important;box-shadow:0 2px 7px rgba(60,30,25,.05)!important;display:flex!important;flex-direction:column!important;color:#7f100e!important;}
.gg-review-card__top{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:12px!important;margin-bottom:12px!important;}
.gg-review-card .gg-stars{color:#c03430!important;font-size:12px!important;letter-spacing:1.2px!important;margin:0!important;white-space:nowrap!important;}
.gg-review-tag{display:inline-flex!important;align-items:center!important;border-radius:999px!important;background:#faeeee!important;color:#bd3a35!important;font-size:7px!important;line-height:1!important;letter-spacing:.08em!important;font-weight:800!important;padding:6px 8px!important;white-space:nowrap!important;}
.gg-review-card>p{font-size:13px!important;line-height:1.48!important;color:#8a2622!important;font-weight:500!important;margin:0 0 14px!important;flex:1!important;}
.gg-review-card__meta{display:grid!important;grid-template-columns:30px 1fr auto!important;align-items:center!important;gap:8px!important;padding-top:10px!important;border-top:1px solid #eee4e0!important;}
.gg-review-avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#f8ece9;color:#9c2521;font-size:11px;font-weight:700;}
.gg-review-card__meta strong{font-size:10px!important;line-height:1.2!important;color:#28201e!important;}
.gg-verified{font-size:8px!important;color:#b62d28!important;white-space:nowrap!important;}
.gg-reviews>.gg-center-cta{margin-top:44px!important;}
.gg-reviews>.gg-center-cta .gg-btn{min-width:226px!important;}
.gg-review-controls{display:none!important;}

/* Guarantee strip */
.gg-guarantee{background:#7f100e!important;color:#fff!important;padding:42px 0!important;}
.gg-guarantee__inner{width:min(calc(100% - 48px),940px)!important;display:grid!important;grid-template-columns:110px 1fr 255px!important;gap:34px!important;align-items:center!important;}
.gg-guarantee__badge{width:102px!important;height:102px!important;border-radius:50%!important;background:#fff!important;color:#7f100e!important;border:3px solid #bd3a35!important;box-shadow:none!important;}
.gg-guarantee__badge strong{font-size:30px!important;font-weight:700!important;}
.gg-guarantee__badge span{font-size:8px!important;letter-spacing:.06em!important;}
.gg-guarantee h2{font-size:24px!important;line-height:1.08!important;color:#fff!important;letter-spacing:-.025em!important;margin:0 0 8px!important;}
.gg-guarantee p{font-size:13px!important;line-height:1.45!important;color:#fff!important;max-width:580px!important;margin:0!important;font-weight:500!important;}
.gg-guarantee .gg-btn{min-height:54px!important;width:100%!important;background:#fff!important;color:#7f100e!important;border-radius:999px!important;}

/* FAQ */
.gg-faq{background:#fff!important;padding:88px 0 92px!important;}
.gg-faq .gg-container{width:min(calc(100% - 48px),920px)!important;}
.gg-faq .gg-center-heading{max-width:610px!important;margin-bottom:38px!important;}
.gg-faq .gg-kicker{font-size:10px!important;letter-spacing:.22em!important;color:#b42a26!important;margin-bottom:17px!important;}
.gg-faq .gg-center-heading h2{font-size:39px!important;line-height:1.05!important;color:#7f100e!important;letter-spacing:-.035em!important;}
.gg-faq__list{max-width:650px!important;margin:0 auto!important;}
.gg-faq details{border-bottom:1px solid #e5dbd7!important;}
.gg-faq details:first-child{border-top:1px solid #e5dbd7!important;}
.gg-faq summary{padding:18px 0!important;font-size:15px!important;line-height:1.35!important;font-weight:500!important;color:#7f100e!important;align-items:center!important;}
.gg-faq summary span{width:25px!important;height:25px!important;border:1px solid #e2d9d5!important;border-radius:50%!important;display:grid!important;place-items:center!important;color:#b62d28!important;font-size:15px!important;font-weight:400!important;line-height:1!important;flex:0 0 auto!important;}
.gg-faq details p{padding:0 42px 18px 0!important;font-size:13px!important;line-height:1.5!important;color:#5e5552!important;}

/* Final CTA above the footer */
.gg-final-cta{background:#650c0b!important;color:#fff!important;padding:70px 0 64px!important;text-align:center!important;}
.gg-final-cta .gg-container{max-width:760px!important;}
.gg-final-cta .gg-kicker{font-size:10px!important;letter-spacing:.19em!important;color:#fff!important;margin-bottom:20px!important;}
.gg-final-cta h2{font-size:42px!important;line-height:1.03!important;letter-spacing:-.04em!important;color:#fff!important;margin:0 auto 13px!important;max-width:690px!important;}
.gg-final-cta p{font-size:14px!important;line-height:1.45!important;color:#fff!important;max-width:560px!important;margin:0 auto 25px!important;}
.gg-final-cta .gg-btn{min-width:190px!important;background:#fff!important;color:#7f100e!important;}

/* Footer */
.gg-footer{background:#7f100e!important;color:#fff!important;padding:52px 0 0!important;margin:0!important;}
.gg-footer__top{width:min(calc(100% - 48px),1160px)!important;display:grid!important;grid-template-columns:1fr 1.25fr!important;gap:120px!important;padding-bottom:52px!important;}
.gg-footer h2{font-family:"Inter",Arial,sans-serif!important;font-size:14px!important;line-height:1.2!important;font-weight:700!important;letter-spacing:0!important;color:#fff!important;margin:0 0 18px!important;}
.gg-footer__menu{gap:9px!important;}
.gg-footer__menu a,.gg-footer__contact a,.gg-footer__contact p{font-size:12px!important;line-height:1.45!important;color:#fff!important;font-weight:500!important;}
.gg-footer__contact p{max-width:580px!important;margin:0 0 25px!important;}
.gg-footer__contact p+p{margin-bottom:6px!important;}
.gg-footer__disclaimers{width:min(calc(100% - 48px),1160px)!important;border-top:0!important;padding:0 0 38px!important;}
.gg-footer__disclaimers p{font-size:8px!important;line-height:1.55!important;font-weight:600!important;margin:0 0 13px!important;color:#fff!important;}
.gg-footer__bottom{border-top:1px solid rgba(255,255,255,.09)!important;padding:29px 24px 24px!important;text-align:center!important;margin:0!important;background:#7f100e!important;}
.gg-payment-badges{gap:5px!important;margin-bottom:12px!important;}
.gg-payment-badges span{padding:3px 6px!important;font-size:7px!important;min-width:28px!important;border-radius:2px!important;}
.gg-footer__bottom p{font-size:9px!important;color:#fff!important;}
.gg-footer+*,.gg-site:after,body.ttgf-goodgrove:after{margin-bottom:0!important;padding-bottom:0!important;}

/* Contact page */
.gg-contact-page{min-height:650px!important;background:radial-gradient(circle at 78% 42%,rgba(248,218,219,.82) 0,rgba(250,231,232,.72) 18%,rgba(253,244,244,.78) 42%,#fff 74%)!important;}
.gg-contact-hero{min-height:650px!important;padding:48px 24px 72px!important;align-items:flex-start!important;}
.gg-contact-card{width:min(100%,470px)!important;margin-top:0!important;background:#fff!important;border:1px solid #d9d3cf!important;border-radius:11px!important;padding:36px 31px 36px!important;text-align:center!important;box-shadow:none!important;}
.gg-contact-card h1{font-size:30px!important;line-height:1.05!important;letter-spacing:-.03em!important;color:#111!important;margin:0 0 17px!important;}
.gg-contact-card>p{max-width:380px!important;margin:0 auto 12px!important;color:#665c59!important;font-size:12px!important;line-height:1.55!important;}
.gg-contact-card>p strong,.gg-contact-card>p a{color:#111!important;font-weight:700!important;}
.gg-contact-form{margin-top:22px!important;}
.gg-contact-form__row{gap:9px!important;}
.gg-contact-form input,.gg-contact-form textarea{border:1px solid #817975!important;border-radius:4px!important;padding:10px 14px!important;margin:0 0 9px!important;min-height:41px!important;font-size:12px!important;line-height:1.3!important;color:#2a2422!important;background:#fff!important;}
.gg-contact-form input::placeholder,.gg-contact-form textarea::placeholder{color:#6c625f!important;opacity:1!important;}
.gg-contact-form textarea{min-height:92px!important;}
.gg-contact-form .gg-btn{min-width:100px!important;min-height:42px!important;margin-top:2px!important;border-radius:4px!important;font-size:11px!important;padding:0 26px!important;background:#7f100e!important;color:#fff!important;}

@media (max-width: 900px){
  .gg-quiz,.gg-reviews,.gg-faq{padding-top:66px!important;padding-bottom:72px!important;}
  .gg-review-thumbs{grid-template-columns:repeat(3,1fr)!important;}
  .gg-review-thumbs img{height:150px!important;}
  .gg-reviews__heading{align-items:flex-start!important;}
  .gg-guarantee__inner{grid-template-columns:90px 1fr!important;gap:22px!important;}
  .gg-guarantee__badge{width:86px!important;height:86px!important;}
  .gg-guarantee .gg-btn{grid-column:1/-1!important;width:auto!important;min-width:220px!important;justify-self:center!important;margin:8px auto 0!important;}
  .gg-footer__top{gap:55px!important;}
}

@media (max-width: 640px){
  .gg-quiz .gg-center-heading h2,.gg-faq .gg-center-heading h2{font-size:33px!important;}
  .gg-quiz__card{padding:24px 19px 20px!important;border-radius:12px!important;}
  .gg-quiz__step>p{font-size:17px!important;}
  .gg-reviews__heading{display:block!important;}
  .gg-reviews__heading h2{font-size:27px!important;margin-bottom:18px!important;}
  .gg-review-score{width:220px!important;min-width:0!important;}
  .gg-review-thumbs{grid-template-columns:repeat(3,1fr)!important;gap:7px!important;margin-top:24px!important;}
  .gg-review-thumbs img{height:104px!important;}
  .gg-review-row--one{margin-left:12px!important;}.gg-review-row--two{margin-left:-120px!important;}
  .gg-review-card{width:235px!important;min-width:235px!important;min-height:175px!important;}
  .gg-guarantee{padding:38px 0!important;}
  .gg-guarantee__inner{grid-template-columns:1fr!important;text-align:center!important;}
  .gg-guarantee__badge{margin:0 auto!important;}
  .gg-guarantee h2{font-size:23px!important;}.gg-guarantee p{margin:0 auto!important;}
  .gg-final-cta{padding:60px 0 55px!important;}.gg-final-cta h2{font-size:34px!important;}
  .gg-footer__top{grid-template-columns:1fr!important;gap:36px!important;padding-bottom:36px!important;}
  .gg-footer__disclaimers{padding-bottom:27px!important;}
  .gg-contact-hero{padding:36px 16px 58px!important;min-height:0!important;}
  .gg-contact-card{padding:30px 20px!important;}
  .gg-contact-card h1{font-size:28px!important;}.gg-contact-form__row{grid-template-columns:1fr!important;}
}

/* =========================================================
   v5.3 — GoodGrove commerce structure + responsive polish
   ========================================================= */
:root{
  --gg-commerce-max:1460px;
  --gg-checkout-max:1120px;
  --gg-cart-max:1180px;
  --gg-shop-red:#86110f;
  --gg-shop-red-dark:#6c0b0a;
  --gg-shop-blush:#fbefef;
  --gg-shop-line:#dfd7d3;
}

/* Commerce pages must own the full viewport width. Background sections are
   full bleed; only their inner content is constrained. */
body.ttgf-goodgrove.woocommerce,
body.ttgf-goodgrove.woocommerce-page,
.gg-shop-page,
.gg-product-page,
.gg-shop-archive,
.gg-product-buy,
.gg-product-band,
.gg-product-ingredient,
.gg-product-why,
.gg-product-promise,
.gg-woo-page,
.gg-checkout-page{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
.gg-shop-page .gg-container,
.gg-product-page .gg-container,
.gg-shop-archive .gg-container{
  width:min(calc(100% - 56px),var(--gg-commerce-max))!important;
  max-width:var(--gg-commerce-max)!important;
}

/* ---------------- Product / Shop hero ---------------- */
.gg-product-buy{
  padding:44px 0 72px!important;
  background:#fff!important;
}
.gg-product-buy__grid{
  grid-template-columns:minmax(0,1.08fr) minmax(440px,.92fr)!important;
  gap:62px!important;
  align-items:start!important;
}
.gg-product-gallery{
  min-width:0!important;
}
.gg-product-gallery__main{
  min-height:0!important;
  aspect-ratio:1 / 1!important;
  width:100%!important;
  background:#f1f0ed!important;
  border-radius:9px!important;
  border:1px solid #eeeae7!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
}
.gg-product-gallery__main img{
  width:auto!important;
  height:auto!important;
  max-width:84%!important;
  max-height:84%!important;
  object-fit:contain!important;
  filter:none!important;
}
.gg-product-gallery__thumbs{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
  margin-top:10px!important;
}
.gg-product-gallery__thumbs button{
  aspect-ratio:1.22 / 1!important;
  border:1px solid #e1d9d5!important;
  background:#fff!important;
  border-radius:5px!important;
}
.gg-product-gallery__thumbs button.is-active{
  border:1.5px solid var(--gg-shop-red)!important;
}
.gg-product-gallery__thumbs img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.gg-product-summary{
  position:sticky!important;
  top:96px!important;
  min-width:0!important;
  padding-top:4px!important;
}
.gg-product-proof{
  margin:0 0 18px!important;
  gap:7px!important;
  color:#111!important;
  font-size:12px!important;
  line-height:1.2!important;
}
.gg-product-proof span{font-size:13px!important;color:#b51d1a!important;letter-spacing:1px!important}
.gg-product-proof b{font-size:12px!important;font-weight:800!important}
.gg-product-proof em{font-size:11px!important;color:#8a817d!important}
.gg-product-summary h1{
  max-width:620px!important;
  font-family:"Inter Tight","Inter",Arial,sans-serif!important;
  font-size:clamp(42px,3.45vw,58px)!important;
  line-height:.98!important;
  letter-spacing:-.05em!important;
  color:#0d0d0d!important;
  font-weight:800!important;
  margin:0 0 14px!important;
}
.gg-product-subtitle{
  max-width:610px!important;
  margin:0 0 14px!important;
  color:#6b625f!important;
  font-size:15px!important;
  line-height:1.55!important;
}
.gg-product-price{
  margin:14px 0 20px!important;
  color:#111!important;
  font-size:29px!important;
  line-height:1!important;
  font-weight:800!important;
}
.gg-product-points{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  column-gap:28px!important;
  row-gap:15px!important;
  margin:0 0 24px!important;
  color:#5f5754!important;
  font-size:13px!important;
  line-height:1.35!important;
}
.gg-product-points li{
  min-width:0!important;
  padding-left:18px!important;
  position:relative!important;
}
.gg-product-points li:before{
  content:"✧"!important;
  position:absolute!important;
  left:0!important;
  top:-1px!important;
  margin:0!important;
  color:var(--gg-shop-red)!important;
  font-size:14px!important;
  font-weight:800!important;
}
.gg-buy-form{margin-top:8px!important}
.gg-buy-tiers{gap:8px!important;margin:0 0 10px!important}
.gg-buy-tier{
  position:relative!important;
  display:grid!important;
  grid-template-columns:22px 1fr auto!important;
  gap:10px!important;
  align-items:center!important;
  min-height:58px!important;
  width:100%!important;
  padding:10px 14px!important;
  border:1px solid #d8d2ce!important;
  border-radius:7px!important;
  background:#f7f6f4!important;
  color:#111!important;
  box-shadow:none!important;
}
.gg-buy-tier:hover{border-color:#b9aaa5!important;background:#fff!important}
.gg-buy-tier.is-active{
  padding:9px 13px!important;
  border:2px solid var(--gg-shop-red)!important;
  background:#fff!important;
}
.gg-buy-tier i{
  width:16px!important;
  height:16px!important;
  border:1.5px solid #c7bfbb!important;
  border-radius:50%!important;
  display:block!important;
  position:relative!important;
}
.gg-buy-tier.is-active i{border-color:var(--gg-shop-red)!important}
.gg-buy-tier.is-active i:after{
  content:""!important;
  position:absolute!important;
  inset:3px!important;
  background:var(--gg-shop-red)!important;
  border-radius:50%!important;
}
.gg-buy-tier span{min-width:0!important}
.gg-buy-tier strong{
  color:#171210!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:700!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
.gg-buy-tier small{
  margin-top:3px!important;
  color:#918985!important;
  font-size:9px!important;
  line-height:1.15!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
.gg-buy-tier>b{
  color:#171210!important;
  font-size:13px!important;
  line-height:1.1!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
.gg-add-to-cart{
  width:100%!important;
  min-height:56px!important;
  margin:10px 0 10px!important;
  border-radius:7px!important;
  background:var(--gg-shop-red)!important;
  border-color:var(--gg-shop-red)!important;
  display:flex!important;
  flex-direction:column!important;
  gap:3px!important;
  color:#fff!important;
  box-shadow:none!important;
}
.gg-add-to-cart span{
  color:#fff!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:.01em!important;
}
.gg-add-to-cart small{
  color:#f4cccc!important;
  font-size:8px!important;
  line-height:1!important;
  font-weight:600!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
}
.gg-add-to-cart:hover{background:var(--gg-shop-red-dark)!important}
.gg-pay-badges{
  min-height:24px!important;
  margin:2px 0 18px!important;
  gap:8px!important;
  color:#807875!important;
  font-size:9px!important;
}
.gg-pay-badges span:not(:first-child){
  background:#fff!important;
  border:1px solid #e0dbd8!important;
  padding:3px 6px!important;
  border-radius:3px!important;
  color:#292321!important;
}
.gg-guarantee-box{
  margin:0 0 12px!important;
  padding:15px 17px 15px 74px!important;
  min-height:78px!important;
  background:#f2f6f0!important;
  border:1px solid #cad7c9!important;
  border-radius:7px!important;
  position:relative!important;
}
.gg-guarantee-box:before{
  content:"30\A DAYS"!important;
  white-space:pre!important;
  position:absolute!important;
  left:16px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:43px!important;
  height:43px!important;
  border-radius:50%!important;
  background:#385f43!important;
  color:#fff!important;
  display:grid!important;
  place-items:center!important;
  align-content:center!important;
  text-align:center!important;
  font-size:8px!important;
  line-height:1.08!important;
  font-weight:800!important;
}
.gg-guarantee-box strong{font-size:13px!important;line-height:1.2!important;color:#1f1b19!important}
.gg-guarantee-box p{font-size:11px!important;line-height:1.45!important;color:#5e5956!important;margin:5px 0 0!important}
.gg-product-accordions{border-bottom:1px solid #e4dedb!important}
.gg-product-accordions details{border-top:1px solid #e4dedb!important}
.gg-product-accordions summary{
  min-height:48px!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  color:#201b19!important;
  font-size:12px!important;
  line-height:1.3!important;
  font-weight:700!important;
}
.gg-product-accordions summary span{font-size:15px!important;font-weight:400!important;color:#4b4542!important}
.gg-product-accordions details p{padding:0 26px 16px 0!important;font-size:12px!important;line-height:1.55!important}

/* ---------------- Full-width product storytelling ---------------- */
.gg-product-band{
  padding:84px 0!important;
  background:radial-gradient(circle at 75% 35%,#7c1514 0,#6b0c0b 42%,#5d0909 100%)!important;
  color:#fff!important;
}
.gg-product-band__inner{
  width:min(calc(100% - 56px),780px)!important;
  max-width:780px!important;
  margin:0 auto!important;
}
.gg-product-band .gg-kicker{color:#fff!important;font-size:10px!important;letter-spacing:.18em!important;margin-bottom:16px!important}
.gg-product-band h2{
  color:#fff!important;
  font-size:clamp(32px,2.5vw,42px)!important;
  line-height:1.03!important;
  margin:0 0 20px!important;
}
.gg-product-band__inner>div>p:not(.gg-kicker){color:#fff!important;font-size:14px!important;line-height:1.62!important;max-width:700px!important}
.gg-product-band__table{margin-top:28px!important;border:1px solid rgba(255,255,255,.24)!important;border-radius:8px!important;background:rgba(255,255,255,.055)!important}
.gg-product-band__table p{
  grid-template-columns:120px 1fr!important;
  gap:18px!important;
  padding:15px 18px!important;
  border-color:rgba(255,255,255,.18)!important;
  color:#fff!important;
  font-size:12px!important;
  line-height:1.45!important;
}
.gg-product-band__table b{font-size:12px!important;color:#fff!important}
.gg-product-ingredient{
  padding:58px 0!important;
  background:var(--gg-shop-blush)!important;
}
.gg-product-ingredient__grid{
  width:min(calc(100% - 56px),980px)!important;
  max-width:980px!important;
  grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr)!important;
  gap:72px!important;
  align-items:center!important;
}
.gg-product-ingredient img{
  width:100%!important;
  max-width:300px!important;
  max-height:300px!important;
  object-fit:contain!important;
  margin:auto!important;
}
.gg-product-ingredient h2{
  color:#111!important;
  font-size:32px!important;
  line-height:1.05!important;
  letter-spacing:-.035em!important;
  margin:0 0 13px!important;
}
.gg-product-ingredient p:last-child{font-size:14px!important;line-height:1.6!important;color:#5f5754!important;max-width:560px!important}
.gg-product-why{
  padding:78px 0 84px!important;
  background:var(--gg-shop-red)!important;
}
.gg-product-why .gg-center-heading{margin-bottom:36px!important}
.gg-product-why .gg-center-heading h2{font-size:40px!important;color:#fff!important}
.gg-product-why__grid{
  width:min(calc(100% - 56px),760px)!important;
  max-width:760px!important;
  grid-template-columns:230px minmax(0,1fr)!important;
  gap:45px!important;
}
.gg-product-why__grid img{width:100%!important;max-height:260px!important;object-fit:contain!important;background:#fff!important}
.gg-product-why__grid p{
  min-height:47px!important;
  display:flex!important;
  align-items:center!important;
  margin:0!important;
  padding:12px 15px!important;
  background:rgba(255,255,255,.10)!important;
  border-bottom:1px solid rgba(255,255,255,.22)!important;
  color:#fff!important;
  font-size:12px!important;
  line-height:1.35!important;
}
.gg-product-promise{
  padding:62px 0!important;
  background:var(--gg-shop-blush)!important;
}
.gg-promise-card{max-width:760px!important}
.gg-promise-card>span{width:82px!important;height:82px!important;margin-bottom:18px!important;background:var(--gg-shop-red)!important;font-size:30px!important}
.gg-promise-card h2{font-size:32px!important;color:#111!important;margin-bottom:10px!important}
.gg-promise-card p{font-size:13px!important;line-height:1.55!important;color:#675e5b!important;max-width:560px!important}
.gg-promise-card .gg-btn{min-height:44px!important;padding:0 22px!important;border-radius:5px!important;font-size:11px!important}
.gg-sticky-buy{display:none!important}

/* ---------------- Cart fallback page ---------------- */
.gg-cart-page{
  padding:54px 0 84px!important;
  background:#fff!important;
}
.gg-cart-page .gg-woo-page__inner{
  width:min(calc(100% - 56px),var(--gg-cart-max))!important;
  max-width:var(--gg-cart-max)!important;
  margin:auto!important;
}
.gg-cart-page .gg-kicker{margin-bottom:8px!important;color:var(--gg-shop-red)!important;font-size:10px!important}
.gg-cart-page .gg-woo-page__inner>h1{
  color:#111!important;
  font-size:clamp(42px,4vw,62px)!important;
  line-height:1!important;
  margin:0 0 30px!important;
}
.gg-cart-page .woocommerce{width:100%!important;max-width:none!important}
.gg-cart-page form.woocommerce-cart-form{width:100%!important;float:none!important;margin:0!important}
.gg-cart-page table.shop_table{
  width:100%!important;
  border:0!important;
  border-radius:0!important;
  border-collapse:collapse!important;
  margin:0 0 22px!important;
}
.gg-cart-page table.shop_table thead th{
  padding:12px 14px!important;
  background:#f5f1ee!important;
  border:0!important;
  color:#5f5652!important;
  font-size:10px!important;
  line-height:1.2!important;
}
.gg-cart-page table.shop_table td{
  padding:18px 14px!important;
  border-top:0!important;
  border-bottom:1px solid #e6dfdb!important;
  color:#211c1a!important;
  font-size:13px!important;
  vertical-align:middle!important;
}
.gg-cart-page td.product-thumbnail{width:90px!important}
.gg-cart-page td.product-thumbnail img{width:62px!important;height:72px!important;object-fit:contain!important}
.gg-cart-page td.product-name a{font-weight:700!important;color:#111!important}
.gg-cart-page .quantity .qty{width:62px!important;min-height:42px!important;text-align:center!important}
.gg-cart-page td.actions{padding:18px 0!important;border-bottom:0!important}
.gg-cart-page .coupon{display:flex!important;gap:10px!important;align-items:center!important}
.gg-cart-page .coupon input.input-text{width:180px!important;min-height:44px!important;margin:0!important}
.gg-cart-page .button{min-height:44px!important;line-height:42px!important;border-radius:5px!important;background:var(--gg-shop-red)!important;font-size:10px!important}
.gg-cart-page .cart-collaterals{
  display:flex!important;
  justify-content:flex-end!important;
  width:100%!important;
  margin-top:30px!important;
}
.gg-cart-page .cart_totals{
  float:none!important;
  width:min(100%,390px)!important;
  margin:0!important;
  padding:22px!important;
  background:#f7f4f1!important;
  border:1px solid #e1d8d3!important;
  border-radius:8px!important;
}
.gg-cart-page .cart_totals h2{font-size:22px!important;color:#111!important;text-align:center!important;margin-bottom:14px!important}
.gg-cart-page .cart_totals table{width:100%!important;margin:0 0 14px!important}
.gg-cart-page .cart_totals table th,.gg-cart-page .cart_totals table td{padding:13px 10px!important;font-size:12px!important}
.gg-cart-page .wc-proceed-to-checkout{padding:0!important}
.gg-cart-page .wc-proceed-to-checkout a.checkout-button{display:flex!important;min-height:50px!important;align-items:center!important;justify-content:center!important;width:100%!important;margin:0!important;background:var(--gg-shop-red)!important;color:#fff!important;font-size:11px!important;border-radius:5px!important}

/* ---------------- Checkout: reference two-column structure ---------------- */
.gg-checkout-page{
  min-height:calc(100vh - 92px)!important;
  padding:38px 0 30px!important;
  background:linear-gradient(90deg,#fff 0,#fff 53%,#f5f5f5 53%,#f5f5f5 100%)!important;
  overflow:visible!important;
}
.gg-checkout-shell{
  width:min(calc(100% - 44px),var(--gg-checkout-max))!important;
  max-width:var(--gg-checkout-max)!important;
  margin:0 auto!important;
}
.gg-checkout-page .woocommerce,
.gg-checkout-page .woocommerce form.checkout,
.gg-checkout-page .woocommerce-checkout{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
.gg-checkout-page form.checkout{
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr)!important;
  column-gap:48px!important;
  row-gap:18px!important;
  align-items:start!important;
}
.gg-checkout-page #customer_details{
  grid-column:1!important;
  grid-row:1!important;
  width:100%!important;
  float:none!important;
  margin:0!important;
  padding:0!important;
}
/* Neutralize WooCommerce's legacy 48% floated columns: this is the source of
   the narrow/broken billing panel in the previous build. */
.gg-checkout-page #customer_details.col2-set,
.gg-checkout-page #customer_details .col-1,
.gg-checkout-page #customer_details .col-2,
.gg-checkout-page .woocommerce .col2-set .col-1,
.gg-checkout-page .woocommerce .col2-set .col-2{
  width:100%!important;
  max-width:none!important;
  float:none!important;
  clear:both!important;
  margin:0!important;
}
.gg-checkout-page .woocommerce-billing-fields,
.gg-checkout-page .woocommerce-shipping-fields,
.gg-checkout-page .woocommerce-additional-fields{
  width:100%!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  margin:0!important;
}
.gg-checkout-page .woocommerce-billing-fields>h3,
.gg-checkout-page .woocommerce-shipping-fields>h3{
  color:#111!important;
  font-size:23px!important;
  line-height:1.1!important;
  margin:0 0 18px!important;
}
.gg-checkout-page .woocommerce-billing-fields__field-wrapper,
.gg-checkout-page .woocommerce-shipping-fields__field-wrapper{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:0 10px!important;
}
.gg-checkout-page .form-row{
  float:none!important;
  width:100%!important;
  margin:0 0 12px!important;
  padding:0!important;
}
.gg-checkout-page .form-row-first,
.gg-checkout-page .form-row-last{
  width:calc(50% - 5px)!important;
}
.gg-checkout-page .form-row-last{margin-left:auto!important}
.gg-checkout-page label{
  display:block!important;
  margin:0 0 5px!important;
  color:#171311!important;
  font-size:11px!important;
  line-height:1.25!important;
  font-weight:700!important;
}
.gg-checkout-page input.input-text,
.gg-checkout-page select,
.gg-checkout-page textarea,
.gg-checkout-page .select2-container .select2-selection--single{
  width:100%!important;
  min-height:46px!important;
  height:46px!important;
  padding:10px 12px!important;
  background:#fff!important;
  border:1px solid #d8d4d1!important;
  border-radius:7px!important;
  color:#1e1a18!important;
  font-size:13px!important;
  line-height:24px!important;
  box-shadow:none!important;
}
.gg-checkout-page textarea{height:auto!important;min-height:90px!important}
.gg-checkout-page .select2-container{width:100%!important}
.gg-checkout-page .select2-selection__rendered{line-height:24px!important;padding:0!important;color:#1e1a18!important}
.gg-checkout-page .select2-selection__arrow{height:44px!important;right:7px!important}
.gg-checkout-payment-slot{
  grid-column:1!important;
  grid-row:2!important;
  width:100%!important;
  margin:8px 0 0!important;
  padding:24px!important;
  background:#fff!important;
  border:1px solid #e1dedb!important;
  border-radius:8px!important;
}
.gg-checkout-payment-slot>h2{
  color:#111!important;
  font-size:25px!important;
  line-height:1.08!important;
  margin:0 0 5px!important;
}
.gg-checkout-safe{font-size:11px!important;line-height:1.45!important;color:#6e6662!important;margin:0 0 16px!important}
.gg-checkout-payment-slot #payment{width:100%!important;margin:0!important;background:transparent!important}
.gg-checkout-page #payment ul.payment_methods{margin:0!important;padding:0!important;border:0!important}
.gg-checkout-page #payment ul.payment_methods li{
  margin:0 0 10px!important;
  padding:13px!important;
  background:#fff!important;
  border:1px solid #ddd7d3!important;
  border-radius:6px!important;
  font-size:12px!important;
}
.gg-checkout-page #payment div.payment_box{margin:10px -1px -1px!important;padding:12px!important;background:#f7f6f4!important;border-radius:0 0 5px 5px!important;color:#504946!important;font-size:11px!important;line-height:1.45!important}
.gg-checkout-page #payment .place-order{padding:16px 0 0!important;margin:0!important}
.gg-checkout-page #place_order{
  width:100%!important;
  min-height:50px!important;
  height:50px!important;
  line-height:50px!important;
  margin:0!important;
  padding:0 18px!important;
  background:var(--gg-shop-red)!important;
  color:#fff!important;
  border:0!important;
  border-radius:6px!important;
  font-size:11px!important;
  font-weight:800!important;
  text-transform:none!important;
}
.gg-checkout-page .woocommerce-privacy-policy-text{margin-top:0!important;color:#746c69!important;font-size:10px!important;line-height:1.5!important}

.gg-checkout-page #order_review_heading{display:none!important}
.gg-checkout-page #order_review{
  grid-column:2!important;
  grid-row:1 / span 2!important;
  width:100%!important;
  max-width:none!important;
  float:none!important;
  clear:none!important;
  margin:0!important;
  padding:24px!important;
  background:#f5f5f5!important;
  border:0!important;
  border-radius:0!important;
  position:sticky!important;
  top:108px!important;
  box-shadow:none!important;
}
.gg-checkout-page #order_review:before{
  content:"Your order"!important;
  display:block!important;
  margin:0 0 18px!important;
  color:#111!important;
  font-family:"Inter Tight","Inter",Arial,sans-serif!important;
  font-size:23px!important;
  line-height:1.1!important;
  font-weight:800!important;
  letter-spacing:-.03em!important;
}
.gg-checkout-page #order_review table.shop_table{
  width:100%!important;
  margin:0!important;
  border:0!important;
  border-collapse:collapse!important;
  background:transparent!important;
}
.gg-checkout-page #order_review table.shop_table th,
.gg-checkout-page #order_review table.shop_table td{
  padding:13px 0!important;
  border:0!important;
  border-bottom:1px solid #ddd!important;
  background:transparent!important;
  color:#201c1a!important;
  font-size:12px!important;
  line-height:1.4!important;
  vertical-align:top!important;
}
.gg-checkout-page #order_review table.shop_table th:last-child,
.gg-checkout-page #order_review table.shop_table td:last-child{text-align:right!important}
.gg-checkout-page #order_review table.shop_table tfoot tr:last-child th,
.gg-checkout-page #order_review table.shop_table tfoot tr:last-child td{
  padding-top:16px!important;
  border-bottom:0!important;
  font-size:17px!important;
  font-weight:800!important;
}
.gg-checkout-page #order_review #payment{display:none!important}
.gg-checkout-page .woocommerce-error,
.gg-checkout-page .woocommerce-info,
.gg-checkout-page .woocommerce-message{
  width:100%!important;
  margin:0 0 20px!important;
  padding:14px 18px!important;
  background:#fff!important;
  border:1px solid #e0dbd8!important;
  border-top:2px solid var(--gg-shop-red)!important;
  color:#3a3431!important;
  font-size:12px!important;
}
.gg-checkout-footer{
  background:#fff!important;
  border-top:1px solid #e5e2df!important;
  padding:22px 0 28px!important;
}
.gg-checkout-footer__inner{
  width:min(calc(100% - 44px),var(--gg-checkout-max))!important;
  margin:0 auto!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px 18px!important;
}
.gg-checkout-footer__inner a{
  color:var(--gg-shop-red)!important;
  font-size:10px!important;
  line-height:1.3!important;
  text-decoration:underline!important;
}

/* Header on checkout: keep the compact reference layout aligned to the same shell. */
.gg-header--checkout .gg-header__inner{
  width:min(calc(100% - 44px),var(--gg-checkout-max))!important;
  height:82px!important;
}
.gg-header--checkout .gg-brand{font-size:24px!important}
.gg-header--checkout .gg-brand small{font-size:7px!important;padding:3px 7px!important;border-radius:2px!important}

@media (max-width:1100px){
  .gg-product-buy__grid{grid-template-columns:minmax(0,1fr) minmax(390px,.92fr)!important;gap:34px!important}
  .gg-product-summary h1{font-size:44px!important}
  .gg-checkout-shell{width:min(calc(100% - 32px),980px)!important}
  .gg-checkout-page form.checkout{grid-template-columns:minmax(0,1.06fr) minmax(330px,.94fr)!important;column-gap:32px!important}
}
@media (max-width:900px){
  .gg-shop-page .gg-container,.gg-product-page .gg-container,.gg-shop-archive .gg-container{width:min(calc(100% - 32px),760px)!important}
  .gg-product-buy__grid{grid-template-columns:1fr!important;gap:32px!important}
  .gg-product-summary{position:static!important}
  .gg-product-gallery__main{aspect-ratio:1.08 / 1!important}
  .gg-product-summary h1{font-size:44px!important}
  .gg-product-ingredient__grid,.gg-product-why__grid{grid-template-columns:1fr!important;gap:30px!important;text-align:center!important}
  .gg-product-ingredient p:last-child{margin-left:auto!important;margin-right:auto!important}
  .gg-product-why__grid img{max-width:260px!important;margin:auto!important}
  .gg-checkout-page{background:#fff!important;padding-top:26px!important}
  .gg-checkout-shell{width:min(calc(100% - 30px),720px)!important}
  .gg-checkout-page form.checkout{grid-template-columns:1fr!important;gap:22px!important}
  .gg-checkout-page #customer_details,.gg-checkout-payment-slot,.gg-checkout-page #order_review{grid-column:1!important;grid-row:auto!important}
  .gg-checkout-page #order_review{position:static!important;background:#f5f5f5!important;padding:22px!important;border-radius:8px!important}
  .gg-checkout-footer__inner{width:min(calc(100% - 30px),720px)!important}
  .gg-cart-page .gg-woo-page__inner{width:min(calc(100% - 32px),760px)!important}
}
@media (max-width:640px){
  .gg-product-buy{padding:26px 0 52px!important}
  .gg-product-gallery__main{aspect-ratio:1 / 1!important;border-radius:7px!important}
  .gg-product-gallery__thumbs{gap:6px!important}
  .gg-product-summary h1{font-size:37px!important;line-height:1!important}
  .gg-product-subtitle{font-size:14px!important}
  .gg-product-points{grid-template-columns:1fr!important;gap:10px!important}
  .gg-buy-tier{grid-template-columns:20px 1fr auto!important;min-height:56px!important;padding:10px 11px!important}
  .gg-buy-tier.is-active{padding:9px 10px!important}
  .gg-product-band{padding:60px 0!important}
  .gg-product-band__inner{width:calc(100% - 32px)!important}
  .gg-product-band__table p{grid-template-columns:1fr!important;gap:5px!important}
  .gg-product-ingredient,.gg-product-why,.gg-product-promise{padding-top:54px!important;padding-bottom:54px!important}
  .gg-product-why .gg-center-heading h2{font-size:34px!important}
  .gg-checkout-shell{width:calc(100% - 22px)!important}
  .gg-checkout-page .form-row-first,.gg-checkout-page .form-row-last{width:100%!important;margin-left:0!important}
  .gg-checkout-payment-slot,.gg-checkout-page #order_review{padding:18px!important}
  .gg-checkout-page #order_review:before{font-size:21px!important}
  .gg-checkout-footer__inner{width:calc(100% - 22px)!important}
  .gg-cart-page .gg-woo-page__inner{width:calc(100% - 24px)!important}
  .gg-cart-page table.shop_table thead{display:none!important}
  .gg-cart-page table.shop_table,.gg-cart-page table.shop_table tbody,.gg-cart-page table.shop_table tr,.gg-cart-page table.shop_table td{display:block!important;width:100%!important}
  .gg-cart-page table.shop_table tr{position:relative!important;padding:16px 0!important;border-bottom:1px solid #e4ddda!important}
  .gg-cart-page table.shop_table td{border:0!important;padding:7px 0!important;text-align:left!important}
  .gg-cart-page td.product-remove{position:absolute!important;right:0!important;top:12px!important;width:auto!important;z-index:2!important}
  .gg-cart-page td.product-thumbnail{width:80px!important}
  .gg-cart-page td.actions{padding-top:14px!important}
  .gg-cart-page .coupon{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important}
  .gg-cart-page .coupon input.input-text{width:100%!important}
  .gg-cart-page td.actions>button{width:100%!important;margin-top:10px!important}
  .gg-cart-page .cart-collaterals{justify-content:stretch!important}
  .gg-cart-page .cart_totals{width:100%!important}
}

/* The reference checkout does not use WooCommerce's full-width coupon notice. */
.gg-checkout-page .woocommerce-form-coupon-toggle,
.gg-checkout-page form.checkout_coupon{display:none!important;}

/* =========================================================
   v5.4 — reference-scale typography, moving reviews, cart/footer polish
   ========================================================= */
:root{
  --gg-red:#6e100f;
  --gg-red-deep:#570d0c;
  --gg-shop-red:#6e100f;
  --gg-shop-red-dark:#570d0c;
}

/* Keep the GoodGrove-like type scale restrained. The body-prefixed selectors
   intentionally outrank the legacy global theme heading rules. */
body.ttgf-goodgrove h1{font-size:clamp(42px,4vw,58px)!important;line-height:1.01!important;letter-spacing:-.045em!important;}
body.ttgf-goodgrove h2{font-size:clamp(30px,3vw,42px)!important;line-height:1.04!important;letter-spacing:-.04em!important;}
body.ttgf-goodgrove h3{font-size:clamp(19px,1.8vw,24px)!important;line-height:1.08!important;letter-spacing:-.03em!important;}

/* Header cart: no dark circular button background. */
body.ttgf-goodgrove .gg-cart-link{
  width:42px!important;height:42px!important;padding:0!important;
  background:transparent!important;border:0!important;border-radius:0!important;
  box-shadow:none!important;color:#111!important;
}
body.ttgf-goodgrove .gg-cart-link:hover,body.ttgf-goodgrove .gg-cart-link:focus{background:transparent!important;color:var(--gg-red)!important;}
body.ttgf-goodgrove .gg-cart-icon{width:25px!important;height:25px!important;}
body.ttgf-goodgrove .gg-cart-count{right:-1px!important;top:0!important;}

/* Reviews: same visual scale as the reference and continuous opposite-direction rows. */
body.ttgf-goodgrove .gg-reviews{padding:78px 0 82px!important;background:#f4f3f1!important;overflow:hidden!important;}
body.ttgf-goodgrove .gg-reviews__intro{width:min(calc(100% - 48px),1040px)!important;}
body.ttgf-goodgrove .gg-reviews__heading{margin-bottom:22px!important;align-items:center!important;}
body.ttgf-goodgrove .gg-reviews__heading h2{font-size:32px!important;line-height:1.04!important;max-width:590px!important;color:#111!important;}
body.ttgf-goodgrove .gg-reviews .gg-kicker{font-size:10px!important;margin-bottom:7px!important;letter-spacing:.14em!important;}
body.ttgf-goodgrove .gg-review-score{min-width:205px!important;padding:12px 17px!important;}
body.ttgf-goodgrove .gg-review-score strong{font-size:28px!important;}
body.ttgf-goodgrove .gg-review-score span{font-size:12px!important;}
body.ttgf-goodgrove .gg-review-score small{font-size:8px!important;}
body.ttgf-goodgrove .gg-review-thumbs{gap:9px!important;margin-bottom:26px!important;}
body.ttgf-goodgrove .gg-review-thumbs img{height:112px!important;border-radius:7px!important;}
body.ttgf-goodgrove .gg-review-marquee{overflow:hidden!important;}
body.ttgf-goodgrove .gg-review-row{gap:14px!important;animation-duration:42s!important;animation-timing-function:linear!important;animation-iteration-count:infinite!important;}
body.ttgf-goodgrove .gg-review-row--one{margin-left:0!important;margin-bottom:14px!important;animation-name:ggReviewLeft!important;}
body.ttgf-goodgrove .gg-review-row--two{margin-left:0!important;transform:translateX(calc(-50% - 7px));animation-name:ggReviewRight!important;}
body.ttgf-goodgrove .gg-review-marquee:hover .gg-review-row{animation-play-state:paused!important;}
body.ttgf-goodgrove .gg-review-card{width:260px!important;min-width:260px!important;min-height:178px!important;padding:15px 16px 14px!important;border-radius:10px!important;}
body.ttgf-goodgrove .gg-review-card__top{margin-bottom:10px!important;}
body.ttgf-goodgrove .gg-review-card .gg-stars{font-size:11px!important;}
body.ttgf-goodgrove .gg-review-tag{font-size:6.5px!important;padding:5px 7px!important;}
body.ttgf-goodgrove .gg-review-card>p{font-size:12px!important;line-height:1.48!important;margin-bottom:11px!important;}
body.ttgf-goodgrove .gg-review-card__meta{grid-template-columns:28px 1fr auto!important;padding-top:9px!important;gap:7px!important;}
body.ttgf-goodgrove .gg-review-avatar{width:28px!important;height:28px!important;font-size:10px!important;}
body.ttgf-goodgrove .gg-review-card__meta strong{font-size:9.5px!important;}
body.ttgf-goodgrove .gg-verified{font-size:7.5px!important;}
body.ttgf-goodgrove .gg-reviews>.gg-center-cta{margin-top:34px!important;}
@keyframes ggReviewLeft{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 7px))}}
@keyframes ggReviewRight{from{transform:translateX(calc(-50% - 7px))}to{transform:translateX(0)}}
@media (prefers-reduced-motion:reduce){body.ttgf-goodgrove .gg-review-row{animation:none!important;}}

/* Narrow 30-day guarantee strip: preserve TTGF policy, copy reference sizing. */
body.ttgf-goodgrove .gg-guarantee{background:#6e100f!important;padding:38px 0!important;}
body.ttgf-goodgrove .gg-guarantee__inner{width:min(calc(100% - 48px),940px)!important;grid-template-columns:100px minmax(0,1fr) 240px!important;gap:28px!important;}
body.ttgf-goodgrove .gg-guarantee__badge{width:94px!important;height:94px!important;border:3px solid #bf4a45!important;}
body.ttgf-goodgrove .gg-guarantee__badge strong{font-size:27px!important;line-height:1!important;}
body.ttgf-goodgrove .gg-guarantee__badge span{font-size:7px!important;}
body.ttgf-goodgrove .gg-guarantee h2{font-size:22px!important;line-height:1.08!important;letter-spacing:-.02em!important;margin:0 0 7px!important;}
body.ttgf-goodgrove .gg-guarantee p{font-size:12px!important;line-height:1.45!important;max-width:510px!important;}
body.ttgf-goodgrove .gg-guarantee .gg-btn{min-height:50px!important;font-size:11px!important;padding:0 22px!important;}

/* Final CTA: reference uses a compact headline, not a hero-sized one. */
body.ttgf-goodgrove .gg-final-cta{background:linear-gradient(180deg,#6e100f 0%,#5b0c0b 100%)!important;padding:66px 0 62px!important;}
body.ttgf-goodgrove .gg-final-cta .gg-container{max-width:700px!important;}
body.ttgf-goodgrove .gg-final-cta .gg-kicker{font-size:9px!important;margin-bottom:17px!important;}
body.ttgf-goodgrove .gg-final-cta h2{font-size:36px!important;line-height:1.04!important;max-width:620px!important;margin:0 auto 11px!important;}
body.ttgf-goodgrove .gg-final-cta p{font-size:13px!important;line-height:1.45!important;max-width:540px!important;margin-bottom:23px!important;}
body.ttgf-goodgrove .gg-final-cta .gg-btn{min-height:48px!important;font-size:11px!important;min-width:180px!important;}

/* Cart drawer: reference-scale heading, controls and spacing. */
body.ttgf-goodgrove .gg-cart-drawer{width:min(430px,100vw)!important;}
body.ttgf-goodgrove .gg-cart-drawer__head{height:62px!important;padding:0 20px!important;}
body.ttgf-goodgrove .gg-cart-drawer__head h2{font-size:24px!important;line-height:1!important;color:#111!important;letter-spacing:-.03em!important;}
body.ttgf-goodgrove .gg-cart-drawer__close{width:38px!important;height:38px!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;}
body.ttgf-goodgrove .gg-cart-drawer__close span{left:7px!important;right:7px!important;top:18px!important;background:#111!important;}
body.ttgf-goodgrove .gg-cart-drawer__shipping{padding:13px 20px 15px!important;}
body.ttgf-goodgrove .gg-cart-drawer__shipping strong{font-size:12px!important;margin-bottom:8px!important;}
body.ttgf-goodgrove .gg-cart-drawer__progress{height:8px!important;}
body.ttgf-goodgrove .gg-cart-drawer__items{padding:18px 20px!important;gap:14px!important;}
body.ttgf-goodgrove .gg-cart-item{grid-template-columns:76px minmax(0,1fr) auto!important;gap:12px!important;}
body.ttgf-goodgrove .gg-cart-item__image{width:76px!important;height:92px!important;background:#f5f3f1!important;}
body.ttgf-goodgrove .gg-cart-item__name{font-size:12px!important;line-height:1.28!important;margin-bottom:4px!important;}
body.ttgf-goodgrove .gg-cart-item__meta{font-size:10px!important;margin-bottom:11px!important;color:#7b716d!important;}
body.ttgf-goodgrove .gg-cart-item__bottom{gap:8px!important;}
body.ttgf-goodgrove .gg-cart-qty{height:32px!important;}
body.ttgf-goodgrove .gg-cart-qty button{width:29px!important;height:30px!important;padding:0!important;background:#fff!important;border:0!important;color:#333!important;box-shadow:none!important;}
body.ttgf-goodgrove .gg-cart-qty span{min-width:27px!important;font-size:11px!important;}
body.ttgf-goodgrove .gg-cart-item__remove{padding:4px 2px!important;background:transparent!important;border:0!important;box-shadow:none!important;color:#6b625e!important;font-size:9px!important;line-height:1!important;text-decoration:underline!important;text-transform:none!important;letter-spacing:0!important;}
body.ttgf-goodgrove .gg-cart-item__price{font-size:12px!important;padding-top:1px!important;}
body.ttgf-goodgrove .gg-cart-drawer__footer{padding:15px 20px 18px!important;}
body.ttgf-goodgrove .gg-cart-drawer__subtotal{font-size:14px!important;margin-bottom:12px!important;}
body.ttgf-goodgrove .gg-cart-drawer__subtotal span{font-size:16px!important;}
body.ttgf-goodgrove .gg-cart-drawer__checkout{min-height:48px!important;font-size:14px!important;border-radius:4px!important;}
body.ttgf-goodgrove .gg-cart-drawer__footer p{font-size:9px!important;margin-top:7px!important;}

/* Footer: correct burgundy and restrained GoodGrove-like scale. */
body.ttgf-goodgrove .gg-footer{background:#6e100f!important;padding:46px 0 0!important;}
body.ttgf-goodgrove .gg-footer__top{width:min(calc(100% - 48px),1080px)!important;grid-template-columns:.9fr 1.2fr!important;gap:105px!important;padding-bottom:44px!important;}
body.ttgf-goodgrove .gg-footer h2{font-size:24px!important;line-height:1.05!important;font-weight:700!important;margin:0 0 15px!important;color:#fff!important;}
body.ttgf-goodgrove .gg-footer__menu{gap:7px!important;}
body.ttgf-goodgrove .gg-footer__menu a,body.ttgf-goodgrove .gg-footer__contact a,body.ttgf-goodgrove .gg-footer__contact p{font-size:10.5px!important;line-height:1.45!important;font-weight:500!important;}
body.ttgf-goodgrove .gg-footer__contact p{max-width:520px!important;margin-bottom:20px!important;}
body.ttgf-goodgrove .gg-footer__disclaimers{width:min(calc(100% - 48px),1080px)!important;padding:0 0 32px!important;}
body.ttgf-goodgrove .gg-footer__disclaimers p{font-size:7px!important;line-height:1.55!important;margin-bottom:10px!important;}
body.ttgf-goodgrove .gg-footer__bottom{background:#6e100f!important;padding:22px 24px 22px!important;}
body.ttgf-goodgrove .gg-footer__bottom p{font-size:8px!important;}

/* Contact card: the global H1 rule previously overrode this and made it huge. */
body.ttgf-goodgrove .gg-contact-page{background:radial-gradient(circle at 75% 42%,rgba(249,224,225,.88) 0,rgba(252,239,239,.82) 30%,#fff 73%)!important;}
body.ttgf-goodgrove .gg-contact-hero{padding:46px 24px 68px!important;min-height:620px!important;}
body.ttgf-goodgrove .gg-contact-card{width:min(100%,465px)!important;padding:35px 30px 35px!important;border-radius:9px!important;}
body.ttgf-goodgrove .gg-contact-card h1{font-size:28px!important;line-height:1.05!important;letter-spacing:-.025em!important;margin:0 0 15px!important;}
body.ttgf-goodgrove .gg-contact-card>p{font-size:11.5px!important;line-height:1.55!important;max-width:380px!important;margin-bottom:10px!important;}
body.ttgf-goodgrove .gg-contact-form{margin-top:20px!important;}
body.ttgf-goodgrove .gg-contact-form input,body.ttgf-goodgrove .gg-contact-form textarea{min-height:40px!important;font-size:11.5px!important;padding:9px 13px!important;margin-bottom:9px!important;}
body.ttgf-goodgrove .gg-contact-form textarea{min-height:90px!important;}
body.ttgf-goodgrove .gg-contact-form .gg-btn{min-height:40px!important;min-width:98px!important;font-size:10px!important;border-radius:4px!important;}

/* Product/shop: keep the structure, but match the reference type scale. */
body.ttgf-goodgrove .gg-product-summary h1{font-size:clamp(38px,3.1vw,52px)!important;line-height:.98!important;max-width:590px!important;margin-bottom:12px!important;}
body.ttgf-goodgrove .gg-product-subtitle{font-size:13px!important;line-height:1.5!important;}
body.ttgf-goodgrove .gg-product-price{font-size:27px!important;}
body.ttgf-goodgrove .gg-product-points{font-size:12px!important;row-gap:13px!important;}
body.ttgf-goodgrove .gg-buy-tier>b,body.ttgf-goodgrove .gg-buy-tier>b *,body.ttgf-goodgrove .gg-buy-tier .woocommerce-Price-amount,body.ttgf-goodgrove .gg-buy-tier .woocommerce-Price-amount bdi{white-space:nowrap!important;display:inline!important;line-height:1!important;}
body.ttgf-goodgrove .gg-buy-tier>b{min-width:72px!important;text-align:right!important;}
body.ttgf-goodgrove .gg-product-band{background:linear-gradient(135deg,#6e100f 0%,#5b0c0b 100%)!important;padding:70px 0!important;}
body.ttgf-goodgrove .gg-product-band__inner{width:min(calc(100% - 56px),780px)!important;text-align:center!important;}
body.ttgf-goodgrove .gg-product-band h2{font-size:34px!important;line-height:1.04!important;max-width:690px!important;margin:0 auto 14px!important;}
body.ttgf-goodgrove .gg-product-band__inner>div>p:not(.gg-kicker){font-size:13px!important;line-height:1.55!important;max-width:650px!important;margin:0 auto!important;}
body.ttgf-goodgrove .gg-product-band__table{margin:26px auto 0!important;text-align:left!important;max-width:700px!important;}
body.ttgf-goodgrove .gg-product-band__table p{font-size:11px!important;padding:13px 16px!important;}
body.ttgf-goodgrove .gg-product-band__table b{font-size:11px!important;}
body.ttgf-goodgrove .gg-product-ingredient h2{font-size:29px!important;line-height:1.04!important;}
body.ttgf-goodgrove .gg-product-why .gg-center-heading h2{font-size:32px!important;line-height:1.04!important;}
body.ttgf-goodgrove .gg-promise-card h2{font-size:29px!important;line-height:1.04!important;}
body.ttgf-goodgrove .gg-promise-card>span{width:72px!important;height:72px!important;font-size:27px!important;}
body.ttgf-goodgrove .gg-promise-card p{font-size:12px!important;max-width:520px!important;}

@media (max-width:900px){
  body.ttgf-goodgrove .gg-reviews__intro{width:min(calc(100% - 32px),780px)!important;}
  body.ttgf-goodgrove .gg-review-thumbs img{height:100px!important;}
  body.ttgf-goodgrove .gg-guarantee__inner{grid-template-columns:86px 1fr!important;}
  body.ttgf-goodgrove .gg-guarantee .gg-btn{grid-column:1/-1!important;width:auto!important;min-width:210px!important;}
  body.ttgf-goodgrove .gg-footer__top{gap:50px!important;}
}
@media (max-width:640px){
  body.ttgf-goodgrove h1{font-size:40px!important;}
  body.ttgf-goodgrove h2{font-size:30px!important;}
  body.ttgf-goodgrove .gg-reviews{padding:58px 0 64px!important;}
  body.ttgf-goodgrove .gg-reviews__heading h2{font-size:27px!important;}
  body.ttgf-goodgrove .gg-review-thumbs{grid-template-columns:repeat(3,1fr)!important;}
  body.ttgf-goodgrove .gg-review-thumbs img{height:88px!important;}
  body.ttgf-goodgrove .gg-review-card{width:232px!important;min-width:232px!important;}
  body.ttgf-goodgrove .gg-guarantee__inner{grid-template-columns:1fr!important;text-align:center!important;}
  body.ttgf-goodgrove .gg-guarantee__badge{margin-inline:auto!important;}
  body.ttgf-goodgrove .gg-guarantee h2{font-size:21px!important;}
  body.ttgf-goodgrove .gg-final-cta h2{font-size:31px!important;}
  body.ttgf-goodgrove .gg-footer__top{grid-template-columns:1fr!important;gap:30px!important;}
  body.ttgf-goodgrove .gg-footer h2{font-size:22px!important;}
  body.ttgf-goodgrove .gg-contact-card h1{font-size:27px!important;}
  body.ttgf-goodgrove .gg-product-band h2{font-size:29px!important;}
  body.ttgf-goodgrove .gg-product-summary h1{font-size:38px!important;}
}

/* --------------------------------------------------------------------------
   v5.5 Shop/product full-bleed + alignment/spacing correction
   -------------------------------------------------------------------------- */
/* WooCommerce's legacy stylesheet adds 48px side padding and 60px top padding
   to #content. Our custom shop markup already handles its own spacing, so that
   legacy padding creates the visible white gutters around full-width sections. */
body.ttgf-goodgrove.woocommerce #content.gg-shop-page,
body.ttgf-goodgrove.woocommerce-page #content.gg-shop-page,
body.ttgf-goodgrove.woocommerce #content.gg-product-page,
body.ttgf-goodgrove.woocommerce-page #content.gg-product-page,
body.ttgf-goodgrove.woocommerce #content.gg-shop-archive,
body.ttgf-goodgrove.woocommerce-page #content.gg-shop-archive{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}

/* Keep section backgrounds truly edge-to-edge while constraining only the
   inner .gg-container content. */
body.ttgf-goodgrove .gg-shop-page > .gg-product-buy,
body.ttgf-goodgrove .gg-shop-page > .gg-product-band,
body.ttgf-goodgrove .gg-shop-page > .gg-product-ingredient,
body.ttgf-goodgrove .gg-shop-page > .gg-product-why,
body.ttgf-goodgrove .gg-shop-page > .gg-product-promise{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* The old Woo top padding was stacking with this section's own padding. */
body.ttgf-goodgrove .gg-product-buy{
  padding:48px 0 60px!important;
}

/* Tighter vertical rhythm on the storytelling sections. */
body.ttgf-goodgrove .gg-product-band{
  padding:58px 0!important;
}
body.ttgf-goodgrove .gg-product-band__inner{
  width:min(calc(100% - 48px),760px)!important;
}
body.ttgf-goodgrove .gg-product-band h2{
  font-size:30px!important;
  margin-bottom:12px!important;
}
body.ttgf-goodgrove .gg-product-band__table{
  margin-top:22px!important;
}

body.ttgf-goodgrove .gg-product-ingredient{
  padding:48px 0!important;
}
body.ttgf-goodgrove .gg-product-ingredient__grid{
  width:min(calc(100% - 48px),920px)!important;
  max-width:920px!important;
  gap:54px!important;
}
body.ttgf-goodgrove .gg-product-ingredient h2{
  font-size:27px!important;
  margin-bottom:10px!important;
}

body.ttgf-goodgrove .gg-product-why{
  padding:58px 0 62px!important;
}
body.ttgf-goodgrove .gg-product-why .gg-center-heading{
  margin-bottom:28px!important;
}
body.ttgf-goodgrove .gg-product-why .gg-center-heading h2{
  font-size:29px!important;
}
body.ttgf-goodgrove .gg-product-why__grid{
  width:min(calc(100% - 48px),720px)!important;
  max-width:720px!important;
  gap:36px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Center the final promise card explicitly instead of relying on inherited
   margin rules from the original theme. */
body.ttgf-goodgrove .gg-product-promise{
  padding:48px 0 54px!important;
}
body.ttgf-goodgrove .gg-product-promise > .gg-container{
  width:min(calc(100% - 48px),900px)!important;
  max-width:900px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  display:flex!important;
  justify-content:center!important;
}
body.ttgf-goodgrove .gg-promise-card{
  width:min(100%,620px)!important;
  max-width:620px!important;
  margin:0 auto!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
body.ttgf-goodgrove .gg-promise-card > span{
  width:68px!important;
  height:68px!important;
  margin:0 auto 14px!important;
  font-size:25px!important;
}
body.ttgf-goodgrove .gg-promise-card h2{
  width:100%!important;
  font-size:27px!important;
  line-height:1.04!important;
  margin:0 auto 8px!important;
  text-align:center!important;
}
body.ttgf-goodgrove .gg-promise-card p{
  width:100%!important;
  max-width:520px!important;
  margin:0 auto 18px!important;
  text-align:center!important;
}
body.ttgf-goodgrove .gg-promise-card .gg-btn{
  margin:0 auto!important;
}

/* Bring the main product title a little closer to the reference scale. */
body.ttgf-goodgrove .gg-product-summary h1{
  font-size:clamp(35px,2.75vw,46px)!important;
  line-height:1!important;
}

@media (max-width:900px){
  body.ttgf-goodgrove .gg-product-buy{padding:36px 0 50px!important;}
  body.ttgf-goodgrove .gg-product-band{padding:50px 0!important;}
  body.ttgf-goodgrove .gg-product-ingredient,
  body.ttgf-goodgrove .gg-product-why,
  body.ttgf-goodgrove .gg-product-promise{padding-top:46px!important;padding-bottom:46px!important;}
  body.ttgf-goodgrove .gg-product-ingredient__grid,
  body.ttgf-goodgrove .gg-product-why__grid{gap:26px!important;}
}

@media (max-width:640px){
  body.ttgf-goodgrove .gg-product-summary h1{font-size:34px!important;}
  body.ttgf-goodgrove .gg-product-band h2{font-size:27px!important;}
  body.ttgf-goodgrove .gg-product-ingredient h2,
  body.ttgf-goodgrove .gg-product-why .gg-center-heading h2,
  body.ttgf-goodgrove .gg-promise-card h2{font-size:26px!important;}
  body.ttgf-goodgrove .gg-product-promise > .gg-container,
  body.ttgf-goodgrove .gg-product-band__inner,
  body.ttgf-goodgrove .gg-product-ingredient__grid,
  body.ttgf-goodgrove .gg-product-why__grid{width:calc(100% - 30px)!important;}
}

/* --------------------------------------------------------------------------
   v5.6 Responsive QA pass: mobile sticky header, controls, page spacing,
   footer floor, and home-section text rhythm.
   -------------------------------------------------------------------------- */

/* Keep the page filling the viewport so no blank strip can appear after the
   footer on short pages or mobile emulation viewports. */
html,
body.ttgf-goodgrove{
  margin-bottom:0!important;
  padding-bottom:0!important;
  min-height:100%!important;
}
body.ttgf-goodgrove{
  min-height:100dvh!important;
}
body.ttgf-goodgrove #page.gg-site,
body.ttgf-goodgrove .gg-site{
  min-height:100dvh!important;
  display:flex!important;
  flex-direction:column!important;
  margin:0!important;
  padding:0!important;
}
body.ttgf-goodgrove .gg-site > main{
  flex:1 0 auto!important;
}
body.ttgf-goodgrove .gg-footer,
body.ttgf-goodgrove .gg-checkout-footer{
  flex:0 0 auto!important;
  margin-top:auto!important;
  margin-bottom:0!important;
}
body.ttgf-goodgrove:after,
body.ttgf-goodgrove .gg-site:after{
  content:none!important;
  display:none!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
}

/* Header controls: never inherit the legacy theme's filled button styling. */
body.ttgf-goodgrove .gg-menu-toggle,
body.ttgf-goodgrove .gg-menu-toggle:hover,
body.ttgf-goodgrove .gg-menu-toggle:focus,
body.ttgf-goodgrove .gg-menu-toggle:active,
body.ttgf-goodgrove .gg-cart-link,
body.ttgf-goodgrove .gg-cart-link:hover,
body.ttgf-goodgrove .gg-cart-link:focus,
body.ttgf-goodgrove .gg-cart-link:active{
  appearance:none!important;
  -webkit-appearance:none!important;
  background:transparent!important;
  background-color:transparent!important;
  border:0!important;
  box-shadow:none!important;
  outline-offset:3px!important;
}
body.ttgf-goodgrove .gg-menu-toggle{
  color:var(--gg-red)!important;
  border-radius:0!important;
}
body.ttgf-goodgrove .gg-menu-toggle span{
  background:var(--gg-red)!important;
  border-radius:999px!important;
}
body.ttgf-goodgrove .gg-cart-link{
  color:var(--gg-red)!important;
  border-radius:0!important;
}
body.ttgf-goodgrove .gg-cart-link svg{
  color:var(--gg-red)!important;
  stroke:currentColor!important;
}
body.ttgf-goodgrove .gg-cart-count{
  background:var(--gg-red)!important;
  color:#fff!important;
}

/* WordPress mobile admin bar is absolute at <=600px, so keeping a 46px sticky
   offset after it has scrolled away creates the visible gap above the header. */
body.admin-bar.ttgf-goodgrove .gg-header{top:32px!important;}
body.admin-bar.ttgf-goodgrove .gg-cart-overlay{top:32px!important;}
body.admin-bar.ttgf-goodgrove .gg-cart-drawer{top:32px!important;height:calc(100dvh - 32px)!important;}
@media (min-width:601px) and (max-width:782px){
  body.admin-bar.ttgf-goodgrove .gg-header{top:46px!important;}
  body.admin-bar.ttgf-goodgrove .gg-cart-overlay{top:46px!important;}
  body.admin-bar.ttgf-goodgrove .gg-cart-drawer{top:46px!important;height:calc(100dvh - 46px)!important;}
}
@media (max-width:600px){
  body.admin-bar.ttgf-goodgrove .gg-header{top:0!important;}
  body.admin-bar.ttgf-goodgrove .gg-cart-overlay{top:0!important;}
  body.admin-bar.ttgf-goodgrove .gg-cart-drawer{top:0!important;height:100dvh!important;}
}

/* The sticky header should be fully opaque and own its stacking layer so page
   copy never visually bleeds through it while scrolling. */
body.ttgf-goodgrove .gg-header{
  isolation:isolate!important;
  background:#fff!important;
}
body.ttgf-goodgrove .gg-header__inner{
  position:relative!important;
  z-index:2!important;
  background:#fff!important;
}
body.ttgf-goodgrove .gg-mobile-menu{
  position:relative!important;
  z-index:2!important;
  background:#fff!important;
}

/* Contact: retain deliberate breathing room between the sticky header and the
   card on first load and after responsive reflow. */
body.ttgf-goodgrove .gg-contact-page{
  overflow:visible!important;
}
body.ttgf-goodgrove .gg-contact-hero{
  padding-top:56px!important;
  padding-bottom:72px!important;
}
body.ttgf-goodgrove .gg-contact-card{
  margin-top:0!important;
}

/* Checkout: prevent the Billing details heading from landing underneath the
   sticky checkout header and keep the form's opening rhythm consistent. */
body.ttgf-goodgrove .gg-checkout-page{
  padding-top:46px!important;
  scroll-margin-top:110px!important;
}
body.ttgf-goodgrove .gg-checkout-page #customer_details{
  padding-top:0!important;
}
body.ttgf-goodgrove .gg-checkout-page .woocommerce-billing-fields>h3,
body.ttgf-goodgrove .gg-checkout-page .woocommerce-shipping-fields>h3{
  display:block!important;
  margin:0 0 22px!important;
  padding:0!important;
  line-height:1.2!important;
  overflow:visible!important;
}
body.ttgf-goodgrove .gg-checkout-page .woocommerce-billing-fields__field-wrapper,
body.ttgf-goodgrove .gg-checkout-page .woocommerce-shipping-fields__field-wrapper{
  padding-top:0!important;
}

/* Home differentiator: separate the large value from its supporting label and
   copy. The earlier .92 line-height made the two text blocks feel merged. */
body.ttgf-goodgrove .gg-difference__stats small{
  margin-bottom:20px!important;
  line-height:1.25!important;
}
body.ttgf-goodgrove .gg-difference__stats strong{
  line-height:1.02!important;
  margin:0 0 10px!important;
}
body.ttgf-goodgrove .gg-difference__stats h3{
  margin:0 0 12px!important;
  line-height:1.12!important;
}
body.ttgf-goodgrove .gg-difference__stats p{
  line-height:1.6!important;
}
body.ttgf-goodgrove .gg-concentration span{
  line-height:1.08!important;
}
body.ttgf-goodgrove .gg-concentration small{
  display:block!important;
  margin-top:8px!important;
  line-height:1.35!important;
}
body.ttgf-goodgrove .gg-ratio{
  line-height:1!important;
}

/* Timeline: give each label, title and description an intentional vertical
   rhythm instead of letting the three lines visually run into each other. */
body.ttgf-goodgrove .gg-timeline__steps{
  column-gap:20px!important;
  row-gap:24px!important;
}
body.ttgf-goodgrove .gg-timeline__steps article{
  padding-top:14px!important;
}
body.ttgf-goodgrove .gg-timeline__steps b{
  display:block!important;
  margin:0 0 8px!important;
  line-height:1.2!important;
}
body.ttgf-goodgrove .gg-timeline__steps h3{
  margin:0 0 9px!important;
  line-height:1.12!important;
}
body.ttgf-goodgrove .gg-timeline__steps p{
  margin:0!important;
  line-height:1.55!important;
}

/* General responsive QA: long copy should wrap safely and controls should not
   create horizontal overflow at narrow widths. */
body.ttgf-goodgrove .gg-brand,
body.ttgf-goodgrove .gg-product-summary h1,
body.ttgf-goodgrove .gg-center-heading h2,
body.ttgf-goodgrove .gg-difference__stats h3,
body.ttgf-goodgrove .gg-timeline__steps h3{
  overflow-wrap:anywhere!important;
}
body.ttgf-goodgrove .gg-header,
body.ttgf-goodgrove .gg-mobile-menu,
body.ttgf-goodgrove .gg-footer,
body.ttgf-goodgrove .gg-checkout-footer{
  width:100%!important;
  max-width:none!important;
}

@media (max-width:900px){
  body.ttgf-goodgrove .gg-contact-hero{
    padding-top:42px!important;
  }
  body.ttgf-goodgrove .gg-checkout-page{
    padding-top:36px!important;
  }
}

@media (max-width:640px){
  body.ttgf-goodgrove .gg-header__inner{
    width:calc(100% - 24px)!important;
    min-width:0!important;
  }
  body.ttgf-goodgrove .gg-menu-toggle{
    width:40px!important;
    height:40px!important;
    padding:10px 8px!important;
  }
  body.ttgf-goodgrove .gg-menu-toggle span{
    height:2px!important;
  }
  body.ttgf-goodgrove .gg-brand{
    max-width:100%!important;
    min-width:0!important;
  }
  body.ttgf-goodgrove .gg-mobile-menu{
    padding:8px 20px 18px!important;
  }
  body.ttgf-goodgrove .gg-mobile-menu a{
    padding:14px 4px!important;
    font-size:14px!important;
    line-height:1.35!important;
  }

  body.ttgf-goodgrove .gg-contact-hero{
    padding:30px 15px 56px!important;
  }
  body.ttgf-goodgrove .gg-contact-card{
    width:100%!important;
  }

  body.ttgf-goodgrove .gg-checkout-page{
    padding:32px 0 50px!important;
  }
  body.ttgf-goodgrove .gg-checkout-page .woocommerce-billing-fields>h3,
  body.ttgf-goodgrove .gg-checkout-page .woocommerce-shipping-fields>h3{
    margin-bottom:20px!important;
  }

  body.ttgf-goodgrove .gg-difference__stats article{
    padding:27px 24px 26px!important;
  }
  body.ttgf-goodgrove .gg-difference__stats strong{
    margin-bottom:9px!important;
  }
  body.ttgf-goodgrove .gg-difference__stats h3{
    margin-bottom:10px!important;
  }

  body.ttgf-goodgrove .gg-timeline__steps{
    column-gap:16px!important;
    row-gap:28px!important;
  }
}

@media (max-width:480px){
  /* One column is more readable than squeezing four timeline descriptions into
     two very narrow columns on phone portrait widths. */
  body.ttgf-goodgrove .gg-timeline__steps{
    grid-template-columns:1fr!important;
    gap:22px!important;
  }
  body.ttgf-goodgrove .gg-timeline__chart{
    height:135px!important;
  }
  body.ttgf-goodgrove .gg-timeline__panel{
    padding:22px 18px 25px!important;
  }
  body.ttgf-goodgrove .gg-timeline__steps article{
    padding-top:12px!important;
  }
  body.ttgf-goodgrove .gg-timeline__steps h3{
    font-size:18px!important;
  }
  body.ttgf-goodgrove .gg-timeline__steps p{
    font-size:12px!important;
  }
}

/* ==========================================================================
   v5.7.0 — mobile header visibility, injected footer strip, policy typography,
   and themed 404 page.
   ========================================================================== */

body.ttgf-goodgrove > div[role="complementary"][aria-label*="Footer" i],
body.ttgf-goodgrove > div[role="complementary"][aria-label*="footer" i]{
  display:none!important;
  visibility:hidden!important;
  width:0!important;
  height:0!important;
  max-height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
  opacity:0!important;
}
body.ttgf-goodgrove > #page + div[role="complementary"]{
  display:none!important;
  margin:0!important;
  padding:0!important;
  height:0!important;
  max-height:0!important;
  overflow:hidden!important;
}

:root{--gg-adminbar-offset:0px}
body.admin-bar.ttgf-goodgrove .gg-header{top:32px!important}
body.admin-bar.ttgf-goodgrove .gg-cart-overlay{top:32px!important}
body.admin-bar.ttgf-goodgrove .gg-cart-drawer{top:32px!important;height:calc(100dvh - 32px)!important}
html.gg-admin-offset-ready body.admin-bar.ttgf-goodgrove .gg-header{top:var(--gg-adminbar-offset)!important}
html.gg-admin-offset-ready body.admin-bar.ttgf-goodgrove .gg-cart-overlay{top:var(--gg-adminbar-offset)!important}
html.gg-admin-offset-ready body.admin-bar.ttgf-goodgrove .gg-cart-drawer{top:var(--gg-adminbar-offset)!important;height:calc(100dvh - var(--gg-adminbar-offset))!important}
@media (min-width:601px) and (max-width:782px){
  body.admin-bar.ttgf-goodgrove .gg-header{top:46px!important}
  body.admin-bar.ttgf-goodgrove .gg-cart-overlay{top:46px!important}
  body.admin-bar.ttgf-goodgrove .gg-cart-drawer{top:46px!important;height:calc(100dvh - 46px)!important}
}
@media (max-width:600px){
  body.admin-bar.ttgf-goodgrove .gg-header{top:46px!important}
  body.admin-bar.ttgf-goodgrove .gg-cart-overlay{top:46px!important}
  body.admin-bar.ttgf-goodgrove .gg-cart-drawer{top:46px!important;height:calc(100dvh - 46px)!important}
  html.gg-admin-offset-ready body.admin-bar.ttgf-goodgrove .gg-header{top:var(--gg-adminbar-offset)!important}
  html.gg-admin-offset-ready body.admin-bar.ttgf-goodgrove .gg-cart-overlay{top:var(--gg-adminbar-offset)!important}
  html.gg-admin-offset-ready body.admin-bar.ttgf-goodgrove .gg-cart-drawer{top:var(--gg-adminbar-offset)!important;height:calc(100dvh - var(--gg-adminbar-offset))!important}
}

body.ttgf-goodgrove .gg-header{min-height:0!important;overflow:visible!important}
body.ttgf-goodgrove .gg-header__inner{
  display:grid!important;
  visibility:visible!important;
  opacity:1!important;
  transform:none!important;
  color:var(--gg-ink)!important;
}
body.ttgf-goodgrove .gg-brand,
body.ttgf-goodgrove .gg-header__actions,
body.ttgf-goodgrove .gg-cart-link{
  visibility:visible!important;
  opacity:1!important;
  transform:none!important;
}
@media (max-width:900px){
  body.ttgf-goodgrove .gg-header__nav{display:none!important}
  body.ttgf-goodgrove .gg-menu-toggle{display:flex!important;visibility:visible!important;opacity:1!important;transform:none!important}
  body.ttgf-goodgrove .gg-header__actions{display:flex!important}
  body.ttgf-goodgrove .gg-brand{display:block!important;color:#111!important;line-height:1.08!important}
}
@media (max-width:420px){
  body.ttgf-goodgrove .gg-header__inner{grid-template-columns:38px minmax(0,1fr) 38px!important;gap:6px!important;width:calc(100% - 18px)!important}
  body.ttgf-goodgrove .gg-menu-toggle{width:38px!important;height:38px!important;padding:10px 7px!important}
  body.ttgf-goodgrove .gg-cart-link{width:38px!important;height:38px!important}
  body.ttgf-goodgrove .gg-brand{font-size:18px!important;white-space:nowrap!important;text-overflow:ellipsis!important;overflow:hidden!important;text-align:center!important}
}
@media (max-width:350px){body.ttgf-goodgrove .gg-brand{font-size:16px!important}}

body.ttgf-goodgrove .gg-policy-page{background:#fff!important;padding:58px 0 74px!important}
body.ttgf-goodgrove .gg-policy-shell{width:min(calc(100% - 48px),980px)!important;margin:0 auto!important}
body.ttgf-goodgrove .gg-policy-card{width:100%!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
body.ttgf-goodgrove .gg-policy-card>h1{font-size:42px!important;line-height:1.04!important;letter-spacing:-.035em!important;margin:0 0 20px!important;color:#151212!important;max-width:820px!important}
body.ttgf-goodgrove .gg-policy-content{max-width:900px!important;font-size:14px!important;line-height:1.68!important;color:#4e4744!important}
body.ttgf-goodgrove .gg-policy-content>p:first-child{font-size:15px!important;line-height:1.65!important;color:#5c5350!important;max-width:860px!important;margin-bottom:24px!important}
body.ttgf-goodgrove .gg-policy-content h2{font-size:25px!important;line-height:1.12!important;letter-spacing:-.025em!important;color:#181414!important;margin:32px 0 9px!important}
body.ttgf-goodgrove .gg-policy-content h3{font-size:19px!important;line-height:1.15!important;letter-spacing:-.02em!important;color:#181414!important;margin:25px 0 8px!important}
body.ttgf-goodgrove .gg-policy-content p,body.ttgf-goodgrove .gg-policy-content li{font-size:14px!important;line-height:1.68!important}
body.ttgf-goodgrove .gg-policy-content p{margin:0 0 15px!important}
body.ttgf-goodgrove .gg-policy-content ul,body.ttgf-goodgrove .gg-policy-content ol{margin:10px 0 20px!important;padding-left:22px!important}
body.ttgf-goodgrove .gg-policy-content li+li{margin-top:7px!important}
body.ttgf-goodgrove .gg-policy-content a{color:var(--gg-red)!important;text-decoration:underline!important;text-underline-offset:2px!important}

body.ttgf-goodgrove .gg-generic-page{padding:58px 0 74px!important}
body.ttgf-goodgrove .gg-generic-page__inner{width:min(calc(100% - 48px),980px)!important;max-width:980px!important;margin:0 auto!important}
body.ttgf-goodgrove .gg-generic-page h1{font-size:42px!important;line-height:1.04!important;margin:0 0 20px!important}
body.ttgf-goodgrove .gg-generic-page__content{font-size:14px!important;line-height:1.68!important;color:#4e4744!important}
body.ttgf-goodgrove .gg-generic-page__content h2{font-size:25px!important;line-height:1.12!important;margin:32px 0 9px!important}
body.ttgf-goodgrove .gg-generic-page__content h3{font-size:19px!important;line-height:1.15!important;margin:25px 0 8px!important}
body.ttgf-goodgrove .gg-generic-page__content p{font-size:14px!important;line-height:1.68!important;margin:0 0 15px!important}

body.ttgf-goodgrove .gg-404-page{display:flex!important;min-height:clamp(470px,66vh,690px)!important;background:var(--gg-rose-2)!important}
body.ttgf-goodgrove .gg-404-section{width:100%!important;display:grid!important;place-items:center!important;padding:72px 24px!important}
body.ttgf-goodgrove .gg-404-card{width:min(100%,720px)!important;text-align:center!important;background:#fff!important;border:1px solid var(--gg-line)!important;border-radius:18px!important;padding:58px 48px!important;box-shadow:0 16px 45px rgba(75,15,14,.07)!important}
body.ttgf-goodgrove .gg-404-card .gg-kicker{margin-bottom:15px!important}
body.ttgf-goodgrove .gg-404-card h1{font-size:44px!important;line-height:1.02!important;color:var(--gg-red)!important;margin:0 0 15px!important}
body.ttgf-goodgrove .gg-404-card>p:not(.gg-kicker){max-width:560px!important;margin:0 auto 26px!important;font-size:15px!important;line-height:1.6!important;color:#5e5552!important}
body.ttgf-goodgrove .gg-404-actions{display:flex!important;align-items:center!important;justify-content:center!important;gap:12px!important;flex-wrap:wrap!important}
body.ttgf-goodgrove .gg-404-shop{background:#fff!important;color:var(--gg-red)!important;border-color:var(--gg-red)!important}
body.ttgf-goodgrove .gg-404-shop:hover{background:#fff6f6!important}

@media (max-width:640px){
  body.ttgf-goodgrove .gg-policy-page,body.ttgf-goodgrove .gg-generic-page{padding:38px 0 54px!important}
  body.ttgf-goodgrove .gg-policy-shell,body.ttgf-goodgrove .gg-generic-page__inner{width:calc(100% - 30px)!important}
  body.ttgf-goodgrove .gg-policy-card>h1,body.ttgf-goodgrove .gg-generic-page h1{font-size:32px!important;line-height:1.06!important;margin-bottom:16px!important}
  body.ttgf-goodgrove .gg-policy-content>p:first-child{font-size:14px!important;margin-bottom:20px!important}
  body.ttgf-goodgrove .gg-policy-content h2,body.ttgf-goodgrove .gg-generic-page__content h2{font-size:21px!important;margin-top:26px!important}
  body.ttgf-goodgrove .gg-policy-content h3,body.ttgf-goodgrove .gg-generic-page__content h3{font-size:18px!important;margin-top:22px!important}
  body.ttgf-goodgrove .gg-policy-content p,body.ttgf-goodgrove .gg-policy-content li,body.ttgf-goodgrove .gg-generic-page__content,body.ttgf-goodgrove .gg-generic-page__content p{font-size:13.5px!important;line-height:1.65!important}
  body.ttgf-goodgrove .gg-404-section{padding:46px 15px!important}
  body.ttgf-goodgrove .gg-404-card{padding:38px 22px!important;border-radius:14px!important}
  body.ttgf-goodgrove .gg-404-card h1{font-size:32px!important}
  body.ttgf-goodgrove .gg-404-card>p:not(.gg-kicker){font-size:14px!important}
  body.ttgf-goodgrove .gg-404-actions{display:grid!important;grid-template-columns:1fr!important;width:100%!important}
  body.ttgf-goodgrove .gg-404-actions .gg-btn{width:100%!important}
}


/* ==========================================================================
   v5.8.0 — policy cleanup, footer readability, universal first-section
   breathing room on tablet/mobile, and lightweight responsive hardening.
   ========================================================================== */

/* The legal disclaimers were too tiny in the footer, especially on laptops.
   Keep them secondary, but readable. */
body.ttgf-goodgrove .gg-footer__disclaimers p{
  font-size:11.5px!important;
  line-height:1.68!important;
  letter-spacing:0!important;
}

/* Policy pages: keep the content compact and consistent with the storefront
   rather than inheriting oversized editor/theme typography. */
body.ttgf-goodgrove .gg-policy-card>h1{
  font-size:40px!important;
  margin-bottom:24px!important;
}
body.ttgf-goodgrove .gg-policy-content{
  font-size:14.5px!important;
  line-height:1.7!important;
}
body.ttgf-goodgrove .gg-policy-content>p:first-child{
  font-size:15px!important;
  margin-bottom:26px!important;
}
body.ttgf-goodgrove .gg-policy-content h2{
  font-size:23px!important;
  margin:30px 0 9px!important;
}
body.ttgf-goodgrove .gg-policy-content p,
body.ttgf-goodgrove .gg-policy-content li{
  font-size:14.5px!important;
  line-height:1.7!important;
}

/* A sticky header needs a little visual buffer before the first content block
   at tablet/mobile widths. Using a pseudo-spacer inside <main> preserves each
   page's own background colour and avoids fixed pixel offsets in templates. */
@media (max-width:1024px){
  body.ttgf-goodgrove main#content::before{
    content:"";
    display:block;
    width:100%;
    height:26px;
    flex:0 0 26px;
    pointer-events:none;
  }
  body.ttgf-goodgrove .gg-404-page{
    flex-direction:column!important;
  }
  html{
    scroll-padding-top:calc(102px + var(--gg-adminbar-offset, 0px));
  }
}

@media (max-width:640px){
  body.ttgf-goodgrove main#content::before{
    height:22px;
    flex-basis:22px;
  }
  body.ttgf-goodgrove .gg-footer__disclaimers p{
    font-size:11px!important;
    line-height:1.68!important;
  }
  body.ttgf-goodgrove .gg-policy-card>h1{
    font-size:31px!important;
    margin-bottom:19px!important;
  }
  body.ttgf-goodgrove .gg-policy-content>p:first-child{
    font-size:14px!important;
    line-height:1.68!important;
  }
  body.ttgf-goodgrove .gg-policy-content h2{
    font-size:20px!important;
    line-height:1.15!important;
    margin:25px 0 8px!important;
  }
  body.ttgf-goodgrove .gg-policy-content p,
  body.ttgf-goodgrove .gg-policy-content li{
    font-size:13.5px!important;
    line-height:1.68!important;
  }
}

/* ==========================================================================
   v5.9.0 — footer hierarchy refinement.
   Primary footer navigation/contact copy must remain larger than the legal
   disclaimer copy below it at every responsive breakpoint.
   ========================================================================== */
body.ttgf-goodgrove .gg-footer__menu a,
body.ttgf-goodgrove .gg-footer__contact a,
body.ttgf-goodgrove .gg-footer__contact p{
  font-size:13px!important;
  line-height:1.55!important;
}

@media (max-width:1024px){
  body.ttgf-goodgrove .gg-footer__menu a,
  body.ttgf-goodgrove .gg-footer__contact a,
  body.ttgf-goodgrove .gg-footer__contact p{
    font-size:12.5px!important;
    line-height:1.55!important;
  }
}

@media (max-width:640px){
  body.ttgf-goodgrove .gg-footer__menu a,
  body.ttgf-goodgrove .gg-footer__contact a,
  body.ttgf-goodgrove .gg-footer__contact p{
    font-size:12.5px!important;
    line-height:1.55!important;
  }
}

/* ==========================================================================
   v6.0.0 — consistent first-section breathing room.
   Every live storefront page now starts with a deliberate, symmetrical
   vertical gutter below the sticky header. Explicit spacing replaces the
   older pseudo-element spacer so there is one predictable source of truth.
   ========================================================================== */

body.ttgf-goodgrove main#content::before{
  content:none!important;
  display:none!important;
  width:0!important;
  height:0!important;
  flex:0 0 0!important;
}

body.ttgf-goodgrove{
  --gg-first-section-space:56px;
}

/* Section-led pages: Home, Contact, Shop/Product and 404. */
body.ttgf-goodgrove main#content > .gg-hero,
body.ttgf-goodgrove main#content > .gg-contact-hero,
body.ttgf-goodgrove main#content > .gg-product-buy,
body.ttgf-goodgrove main#content > .gg-404-section{
  padding-top:var(--gg-first-section-space)!important;
  padding-bottom:var(--gg-first-section-space)!important;
}

/* Main-wrapper pages: policies, generic pages, cart/account and checkout. */
body.ttgf-goodgrove main#content.gg-policy-page,
body.ttgf-goodgrove main#content.gg-generic-page,
body.ttgf-goodgrove main#content.gg-woo-page,
body.ttgf-goodgrove main#content.gg-checkout-page{
  padding-top:var(--gg-first-section-space)!important;
  padding-bottom:var(--gg-first-section-space)!important;
}

/* Keep the first content block itself flush inside the new page gutter. */
body.ttgf-goodgrove .gg-contact-card,
body.ttgf-goodgrove .gg-policy-shell,
body.ttgf-goodgrove .gg-generic-page__inner,
body.ttgf-goodgrove .gg-woo-page__inner,
body.ttgf-goodgrove .gg-checkout-shell{
  margin-top:0!important;
}

@media (max-width:1024px){
  body.ttgf-goodgrove{
    --gg-first-section-space:48px;
  }
}

@media (max-width:640px){
  body.ttgf-goodgrove{
    --gg-first-section-space:40px;
  }
}


/* ==========================================================================
   v6.1.0 — tablet/mobile sticky-header flow fix.
   Do not zero the root <html> margin: WordPress uses that margin to reserve
   space for the logged-in admin toolbar. Resetting it caused the sticky header
   to shift downward over the first section and consume its top padding on
   tablet/mobile widths. The body reset remains; the root offset is left to
   WordPress, so the first-section spacing from v6.0 stays fully visible.
   ========================================================================== */

@media (max-width:1024px){
  body.ttgf-goodgrove .gg-header{
    position:sticky!important;
    z-index:1200!important;
  }

  /* Keep the intended opening gutter visible below the header. */
  body.ttgf-goodgrove main#content > .gg-hero,
  body.ttgf-goodgrove main#content > .gg-contact-hero,
  body.ttgf-goodgrove main#content > .gg-product-buy,
  body.ttgf-goodgrove main#content > .gg-404-section,
  body.ttgf-goodgrove main#content.gg-policy-page,
  body.ttgf-goodgrove main#content.gg-generic-page,
  body.ttgf-goodgrove main#content.gg-woo-page,
  body.ttgf-goodgrove main#content.gg-checkout-page{
    position:relative!important;
  }
}
