/* Product pages: fill the layout + keep true image aspect ratio */
.woocommerce div.product .woocommerce-product-gallery,
.woocommerce-product-gallery { width: 100% !important; max-width: 640px !important; float: none !important; }

.woocommerce div.product div.summary,
div.product .summary.entry-summary { width: 100% !important; max-width: none !important; float: none !important; }

.woocommerce-product-gallery__image { height: auto !important; max-height: none !important; aspect-ratio: auto !important; }

.woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image img,
.woocommerce-product-gallery__image > img { width: 100% !important; height: auto !important; max-height: none !important; object-fit: contain !important; aspect-ratio: auto !important; display: block; }

/* ==== R80 UPGRADE v2 (added by Claude) ==== */
:root{--r80-red:#FF2E2E;--r80-orange:#FF7A00;--r80-grad:linear-gradient(100deg,#FF2E2E,#FF7A00);--r80-ease:cubic-bezier(.2,.8,.2,1);}
main.stackd-home{max-width:min(1520px,94vw)!important;}
.stackd-marquee,.stackd-reviews{overflow:hidden;}
img,video{max-width:100%;}
.stackd-hero{padding:clamp(24px,3.2vw,64px) clamp(20px,3vw,56px) clamp(20px,2.6vw,48px)!important;gap:clamp(20px,3.4vw,64px)!important;align-items:center;}
@media (min-width:900px){.stackd-hero-copy{flex:1 1 46%!important;max-width:none!important;}
.stackd-hero-img{flex:1 1 54%!important;height:auto!important;aspect-ratio:16/10;background-size:cover!important;background-position:center!important;}}
.stackd-hero h1{font-size:clamp(2.15rem,6.6vw,4.6rem)!important;line-height:.95!important;letter-spacing:-.045em!important;font-weight:900!important;margin:0 0 .35em!important;text-wrap:balance;}
.stackd-hero h1::after{content:"";display:block;width:clamp(64px,9vw,132px);height:6px;margin-top:.28em;border-radius:99px;background:var(--r80-grad);}
.stackd-hero p{font-size:clamp(1rem,1.35vw,1.2rem)!important;line-height:1.55!important;max-width:52ch;text-wrap:pretty;}
}
}
.stackd-hero-ctas{gap:14px!important;margin-top:clamp(14px,1.6vw,22px)!important;flex-wrap:wrap;}
.stackd-hero-ctas .stackd-btn{position:relative;overflow:hidden;background:var(--r80-grad)!important;color:#fff!important;border:0!important;font-size:clamp(.95rem,1.15vw,1.15rem)!important;font-weight:900!important;letter-spacing:.04em;text-transform:uppercase;padding:clamp(15px,1.5vw,20px) clamp(26px,2.6vw,42px)!important;border-radius:999px!important;box-shadow:0 12px 30px rgba(255,46,46,.38);transition:transform .25s var(--r80-ease),box-shadow .25s var(--r80-ease);animation:r80-pulse 2.6s ease-in-out infinite;}
.stackd-hero-ctas .stackd-btn::after{content:"";position:absolute;top:0;left:-130%;width:55%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.6),transparent);transform:skewX(-20deg);animation:r80-sweep 3.6s ease-in-out infinite;}
.stackd-hero-ctas .stackd-btn:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 20px 46px rgba(255,46,46,.55);animation-play-state:paused;}
@keyframes r80-pulse{0%,100%{box-shadow:0 12px 30px rgba(255,46,46,.38);}50%{box-shadow:0 16px 44px rgba(255,46,46,.62);}}
@keyframes r80-sweep{0%,68%{left:-130%}100%{left:140%}}
.stackd-hero-ctas .stackd-btn-outline{border:2px solid rgba(17,17,17,.22)!important;border-radius:999px!important;font-weight:800!important;text-transform:uppercase;letter-spacing:.04em;font-size:clamp(.9rem,1.05vw,1.05rem)!important;padding:clamp(13px,1.4vw,18px) clamp(22px,2.2vw,34px)!important;transition:border-color .2s,transform .2s var(--r80-ease),background .2s;}
.stackd-hero-ctas .stackd-btn-outline:hover{border-color:#111!important;background:rgba(17,17,17,.04)!important;transform:translateY(-2px);}
.stackd-btn,.stackd-btn-outline{transition:transform .2s var(--r80-ease),box-shadow .2s var(--r80-ease);}
.stackd-btn:active,.stackd-btn-outline:active{transform:scale(.97);}
.stackd-profit-banner{position:relative;overflow:hidden;text-align:center!important;align-items:center!important;justify-content:center!important;gap:10px!important;padding:clamp(30px,4vw,58px) clamp(20px,3vw,48px)!important;border-radius:22px!important;background:linear-gradient(135deg,#14090A 0%,#2A0C0C 55%,#3A1005 100%)!important;color:#fff!important;box-shadow:0 20px 50px rgba(255,46,46,.18);margin:0 clamp(20px,3vw,48px) clamp(28px,3.4vw,52px)!important;}
.stackd-profit-banner::before{content:"";position:absolute;left:50%;top:50%;width:min(60rem,140%);aspect-ratio:1;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(255,60,30,.34),transparent 62%);pointer-events:none;animation:r80-breathe 5.5s ease-in-out infinite;}
.stackd-profit-banner>*{position:relative;z-index:1;text-align:center!important;}
@keyframes r80-breathe{0%,100%{transform:translate(-50%,-50%) scale(.92);opacity:.7;}50%{transform:translate(-50%,-50%) scale(1.08);opacity:1;}}
.stackd-profit-banner .label{display:inline-block;align-self:center;font-size:clamp(.68rem,.85vw,.8rem)!important;letter-spacing:.26em!important;text-transform:uppercase;font-weight:800!important;color:#fff!important;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.22);padding:.55em 1.15em;border-radius:999px;}
.stackd-profit-banner .stat{font-size:clamp(2.4rem,6.4vw,5rem)!important;line-height:1!important;font-weight:900!important;letter-spacing:-.045em!important;background:linear-gradient(180deg,#FFFFFF 8%,#FFB199 55%,#FF4A2E 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent!important;filter:drop-shadow(0 8px 26px rgba(255,60,30,.4));margin:.12em 0!important;}
.stackd-profit-banner .desc{font-size:clamp(.92rem,1.15vw,1.08rem)!important;color:rgba(255,255,255,.78)!important;max-width:56ch;margin:0 auto!important;text-wrap:balance;}
.stackd-cat-grid{gap:clamp(14px,1.6vw,24px)!important;padding-left:clamp(20px,3vw,48px)!important;padding-right:clamp(20px,3vw,48px)!important;}
.stackd-cat-tile{position:relative;height:auto!important;aspect-ratio:4/3;border-radius:18px!important;background-size:cover!important;background-position:center!important;box-shadow:0 6px 18px rgba(0,0,0,.10);transition:transform .35s var(--r80-ease),box-shadow .35s var(--r80-ease);}
.stackd-cat-tile::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:2px;background:var(--r80-grad);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s;pointer-events:none;z-index:3;}
.stackd-cat-tile:hover{transform:translateY(-8px) scale(1.015);box-shadow:0 26px 54px rgba(0,0,0,.28);}
.stackd-cat-tile:hover::after{opacity:1;}
.stackd-cat-overlay{background:linear-gradient(to top,rgba(0,0,0,.86) 0%,rgba(0,0,0,.35) 46%,rgba(0,0,0,.05) 100%)!important;align-items:flex-end!important;padding:clamp(14px,1.4vw,22px)!important;flex-direction:column!important;justify-content:flex-end!important;gap:6px;}
.stackd-cat-overlay span{font-size:clamp(1.02rem,1.5vw,1.5rem)!important;font-weight:900!important;letter-spacing:-.015em!important;text-transform:uppercase;color:#fff!important;line-height:1.05;}
.stackd-cat-overlay::after{content:"Shop now \2192";font-size:clamp(.72rem,.85vw,.85rem);font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:var(--r80-grad);padding:.5em 1em;border-radius:999px;opacity:0;transform:translateY(8px);transition:opacity .3s var(--r80-ease),transform .3s var(--r80-ease);}
.stackd-cat-tile:hover .stackd-cat-overlay::after{opacity:1;transform:none;}
@media (max-width:899px){.stackd-cat-grid{grid-template-columns:repeat(2,1fr)!important;}.stackd-cat-overlay::after{opacity:1;transform:none;}.stackd-hero-ctas .stackd-btn,.stackd-hero-ctas .stackd-btn-outline{flex:1 1 100%;}}
.stackd-section-title,.stackd-reviews-title,.stackd-compare-title{font-size:clamp(1.4rem,2.6vw,2.25rem)!important;font-weight:900!important;letter-spacing:-.03em!important;line-height:1.05!important;margin-bottom:.6em!important;display:flex;align-items:center;gap:.5em;}
.stackd-section-title::before,.stackd-reviews-title::before{content:"";width:.34em;height:.34em;border-radius:99px;background:var(--r80-grad);flex:0 0 auto;}
.stackd-compare-eyebrow{font-size:clamp(.68rem,.85vw,.8rem)!important;letter-spacing:.24em!important;text-transform:uppercase;font-weight:800!important;opacity:.6;}
.stackd-feat-card{background:#fff;border:1px solid rgba(0,0,0,.07);border-radius:18px!important;padding:10px 10px 14px!important;overflow:hidden;transition:transform .3s var(--r80-ease),box-shadow .3s var(--r80-ease);}
.stackd-feat-card:hover{transform:translateY(-6px);box-shadow:0 20px 42px rgba(0,0,0,.16);}
.stackd-feat-img{aspect-ratio:1/1;height:auto!important;border-radius:12px!important;overflow:hidden;}
.stackd-feat-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--r80-ease);}
.stackd-feat-card:hover .stackd-feat-img img{transform:scale(1.07);}
.stackd-feat-name{font-size:clamp(.88rem,1.05vw,1.05rem)!important;font-weight:800!important;margin-top:12px!important;line-height:1.25;}
.stackd-feat-price{font-size:clamp(.95rem,1.1vw,1.12rem)!important;margin-top:6px!important;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;}
.stackd-feat-price del{opacity:.42;font-weight:500;text-decoration:line-through;}
.stackd-feat-price ins{text-decoration:none;color:#E01B1B!important;font-weight:900;}
.stackd-feat-price .r80-from{font-size:.75em;font-weight:700;opacity:.7;margin-right:3px;text-transform:uppercase;letter-spacing:.06em;}
.stackd-review-card{border-radius:16px;transition:transform .3s var(--r80-ease),box-shadow .3s var(--r80-ease);}
.stackd-review-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(0,0,0,.12);}
.stackd-review-stars{color:#FFC300!important;letter-spacing:1px;}
.stackd-hero-img{transition:transform .4s var(--r80-ease),box-shadow .4s var(--r80-ease);}
.stackd-hero-img:hover{transform:translateY(-4px);box-shadow:0 24px 54px rgba(0,0,0,.22);}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition-duration:.01ms!important;}}

/* r80-mobile-cta */
@media (max-width:640px){
.stackd-hero-ctas{flex-direction:column!important;align-items:stretch!important;gap:10px!important;}
.stackd-hero-ctas .stackd-btn,.stackd-hero-ctas .stackd-btn-outline{width:100%!important;padding-left:18px!important;padding-right:18px!important;letter-spacing:.02em!important;white-space:nowrap;}
.stackd-profit-banner{border-radius:18px!important;}
}
/* ==== END R80 UPGRADE v2 ==== */


/* ===== HERO COPY CENTRED (mobile + desktop) — added by Claude ===== */
.stackd-hero-copy{text-align:center!important}
.stackd-hero-copy h1{text-align:center!important}
.stackd-hero-copy h1::after{margin-left:auto!important;margin-right:auto!important}
.stackd-hero-copy p{text-align:center!important;margin-left:auto!important;margin-right:auto!important}
.stackd-hero-ctas{justify-content:center!important}
.stackd-hero-copy p strong{font-weight:800!important;color:#17140f!important}