:root {
  --navy:#040264;
  --red:#d71920;
  --ink:#171927;
  --muted:#6d7280;
  --line:#e7e8ee;
  --soft:#f5f6f9;
  --white:#fff;
  --shadow:0 18px 45px rgba(4,2,100,.09);
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--soft)}
html{overflow-x:clip}
body{margin:0;min-height:100vh}
button,input,select{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
button{cursor:pointer}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.store-header{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:minmax(210px,300px) minmax(260px,1fr) auto;gap:18px;align-items:center;padding:14px clamp(16px,4vw,58px);background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}
.store-brand{display:flex;align-items:center;gap:11px;color:var(--navy)}
.store-brand strong,.store-brand small{display:block}
.store-brand strong{font-size:14px;line-height:1.1}
.store-brand small{font-size:11px;color:var(--muted);margin-top:3px}
.brand-mark,.hero-seal{display:grid;place-items:center;background:linear-gradient(135deg,var(--red) 0 49%,#fff 49% 51%,var(--navy) 51%);color:#fff;font-weight:900;border:1px solid #ddd}
.brand-mark{width:45px;height:45px;border-radius:14px}
.search-form{display:flex;border:1px solid #d9dbe5;background:#fff;border-radius:14px;overflow:hidden;min-width:0}
.search-form input{flex:1;border:0;padding:13px 15px;min-width:0;outline:0}
.search-form button,.cart-button,.checkout-button{border:0;background:var(--navy);color:#fff;font-weight:800}
.search-form button{padding:0 20px}
.cart-button{border-radius:12px;padding:12px 15px;white-space:nowrap}
.cart-button span{display:inline-grid;place-items:center;background:var(--red);border-radius:999px;min-width:22px;height:22px;padding:0 6px;margin-left:6px;font-size:12px}
.category-bar{display:flex;align-items:center;gap:8px;padding:11px clamp(16px,4vw,58px);background:#fff;border-bottom:1px solid var(--line);overflow-x:auto;white-space:nowrap}
.category-list{display:flex;gap:8px}
.category-chip{border:1px solid #dddfea;background:#fff;color:var(--navy);border-radius:999px;padding:8px 13px;font-size:13px;font-weight:750}
.category-chip.active{background:var(--navy);color:#fff;border-color:var(--navy)}
main{max-width:1420px;margin:auto;padding:24px clamp(16px,4vw,58px) 60px}
.hero-store{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:270px;padding:clamp(30px,5vw,58px);border-radius:26px;background:radial-gradient(circle at 85% 15%,rgba(255,255,255,.18),transparent 28%),linear-gradient(135deg,#040264,#1511a4);color:#fff;box-shadow:var(--shadow)}
.hero-store .eyebrow{color:rgba(255,255,255,.67)}
.hero-store h1{max-width:780px;margin:10px 0 12px;font-size:clamp(34px,5vw,66px);line-height:.98;letter-spacing:-.035em}
.hero-store p{max-width:680px;color:rgba(255,255,255,.78);line-height:1.6;margin:0}
.hero-seal{flex:0 0 auto;width:110px;height:110px;border-radius:30px;font-size:38px;box-shadow:0 20px 40px rgba(0,0,0,.2)}
.eyebrow{font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.1em;color:var(--navy)}
.catalog-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:34px 0 18px}
.catalog-heading h2{font-size:clamp(27px,3vw,40px);margin:5px 0 0;color:var(--navy)}
.link-button,.back-button{border:0;background:transparent;color:var(--navy);font-weight:800;padding:8px 0}
.message{min-height:24px;color:var(--muted);margin-bottom:10px}
.message.error{color:#a61b1b}
.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.product-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 8px 28px rgba(4,2,100,.055);transition:transform .18s ease,box-shadow .18s ease}
.product-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.product-media{aspect-ratio:1/1;background:#fff;display:grid;place-items:center;overflow:hidden;border-bottom:1px solid var(--line)}
.product-media img{width:100%;height:100%;object-fit:contain;padding:12px}
.image-placeholder{width:100%;height:100%;min-height:180px;display:grid;place-items:center;align-content:center;gap:7px;background:linear-gradient(145deg,#fff,#f0f1f7);color:#a2a5b1}
.image-placeholder span{display:grid;place-items:center;width:60px;height:60px;border-radius:18px;background:var(--navy);color:#fff;font-size:25px;font-weight:900}
.image-placeholder small{font-size:11px}
.product-body{display:flex;flex:1;flex-direction:column;padding:16px}
.product-brand{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:750}
.product-name{margin:7px 0 14px;font-size:15px;line-height:1.35;min-height:41px}
.price-row{margin-top:auto}
.old-price{display:block;font-size:12px;color:#8c909b;text-decoration:line-through;min-height:17px}
.current-price{color:var(--navy);font-size:22px;font-weight:900}
.discount-badge{display:inline-block;margin-left:7px;padding:4px 7px;border-radius:999px;background:#fff1f1;color:#b9151b;font-size:11px;font-weight:850}
.availability{display:block;margin-top:8px;font-size:12px;font-weight:750;color:#16794c}
.availability.unavailable{color:#9b2929}
.pager{display:flex;justify-content:center;align-items:center;gap:15px;margin:30px 0}
.pager button{border:1px solid #d9dbe5;background:#fff;color:var(--navy);border-radius:11px;padding:10px 14px;font-weight:750}
.pager button:disabled{opacity:.45;cursor:not-allowed}
.product-detail-view{max-width:1180px;margin:auto}
.back-button{margin-bottom:17px}
.product-detail{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(340px,1.1fr);gap:34px;background:#fff;border:1px solid var(--line);border-radius:24px;padding:clamp(20px,4vw,40px);box-shadow:var(--shadow)}
.detail-media{aspect-ratio:1/1;border:1px solid var(--line);border-radius:18px;overflow:hidden;display:grid;place-items:center}
.detail-media img{width:100%;height:100%;object-fit:contain;padding:18px}
.detail-info h1{color:var(--navy);font-size:clamp(28px,4vw,48px);line-height:1.05;margin:8px 0 16px}
.detail-description{color:var(--muted);line-height:1.7;white-space:pre-line}
.detail-price{margin:22px 0}
.detail-price .current-price{font-size:34px}
.variant-control{margin:22px 0;padding:16px;background:var(--soft);border-radius:14px}
.variant-control label{display:grid;gap:8px;font-weight:750}
.variant-control select{width:100%;padding:12px;border:1px solid #d6d8e3;border-radius:10px;background:#fff}
.add-cart{width:100%;border:0;border-radius:13px;padding:14px 18px;background:var(--red);color:#fff;font-weight:900;font-size:16px}
.add-cart:disabled{background:#a5a6ae;cursor:not-allowed}
.detail-note{font-size:12px;color:var(--muted);line-height:1.5}
.store-footer{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:34px clamp(16px,4vw,58px);background:var(--navy);color:#fff}
.store-footer p{color:rgba(255,255,255,.7);margin:7px 0;line-height:1.5}
.drawer-backdrop{position:fixed;inset:0;background:rgba(10,10,30,.45);z-index:50}
.cart-panel{position:fixed;z-index:60;right:0;top:0;height:100vh;height:100dvh;width:min(460px,94vw);display:flex;flex-direction:column;background:#fff;box-shadow:-20px 0 50px rgba(0,0,0,.2);transform:translateX(105%);transition:transform .22s ease}
.cart-panel.open{transform:translateX(0)}
.cart-panel>header{display:flex;align-items:center;justify-content:space-between;padding:22px;border-bottom:1px solid var(--line)}
.cart-panel h2{margin:4px 0 0;color:var(--navy)}
.icon-button{border:0;background:var(--soft);width:44px;height:44px;border-radius:10px;font-size:24px}
.cart-items{flex:1;overflow:auto;padding:18px}
#cart-feedback{margin:0;padding:12px 20px;background:#fff8e1;color:var(--navy);font-size:14px;line-height:1.5}
#cart-feedback:empty{display:none}
.cart-empty{text-align:center;color:var(--muted);padding:50px 20px}
.cart-item{display:grid;grid-template-columns:70px 1fr auto;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}
.cart-thumb{width:70px;height:70px;border-radius:10px;border:1px solid var(--line);object-fit:contain;background:#fff}
.cart-item h3{font-size:13px;margin:0 0 5px}
.cart-attrs{font-size:11px;color:var(--muted);margin-bottom:6px}
.cart-item-price{font-size:13px;font-weight:850;color:var(--navy)}
.qty-controls{display:flex;align-items:center;gap:5px;margin-top:7px}
.qty-controls button{width:36px;height:36px;border:1px solid #dddfea;background:#fff;border-radius:8px;font-size:18px;font-weight:800}
.remove-cart{border:0;background:transparent;color:#a61b1b;font-size:12px;font-weight:800;padding:8px 4px;min-height:36px;align-self:start}
.cart-summary{padding:20px;border-top:1px solid var(--line)}
.cart-summary>div{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.cart-summary strong{font-size:22px;color:var(--navy)}
.cart-summary small{display:block;color:var(--muted);line-height:1.5;margin-bottom:14px}
.checkout-button{width:100%;border-radius:12px;padding:13px}
.checkout-button:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:1050px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.store-header{grid-template-columns:1fr auto}.search-form{grid-column:1/-1;grid-row:2}.hero-store h1{font-size:44px}}
@media(max-width:760px){.store-header{position:static;padding:12px 14px;gap:10px}.store-brand strong{font-size:12px}.category-bar{padding:9px 14px}main{padding:16px 14px 42px}.hero-store{min-height:auto;padding:28px 22px}.hero-seal{display:none}.hero-store h1{font-size:36px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.product-body{padding:12px}.product-name{font-size:13px}.current-price{font-size:18px}.product-detail{grid-template-columns:1fr;gap:22px;padding:16px}.store-footer{grid-template-columns:1fr}.cart-panel{width:100vw}.cart-panel>header{padding:16px 14px}.cart-items{padding:12px 14px}.cart-item{grid-template-columns:56px minmax(0,1fr) auto;gap:10px}.cart-thumb{width:56px;height:56px}.qty-controls{gap:8px}.qty-controls button{width:44px;height:44px;border-radius:10px}.remove-cart{min-height:44px;padding:10px 4px}.cart-summary{padding:16px 14px max(16px,env(safe-area-inset-bottom))}.checkout-button{min-height:48px}.icon-button{min-width:44px;min-height:44px}}
@media(max-width:420px){.search-form button{padding:0 13px}.product-grid{grid-template-columns:1fr 1fr}.product-media .image-placeholder{min-height:130px}.old-price{font-size:10px}.current-price{font-size:17px}.discount-badge{display:block;width:max-content;margin:5px 0 0}}

.site-menu-bar{display:flex;gap:18px;align-items:center;padding:10px clamp(16px,4vw,58px);background:#fff;border-bottom:1px solid var(--line);overflow-x:auto;white-space:nowrap}
.site-menu-bar:empty{display:none}
.site-menu-bar a{color:var(--navy);font-size:13px;font-weight:800}
.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:8px}
.footer-links a{color:rgba(255,255,255,.8);font-size:13px;text-decoration:underline;text-underline-offset:3px}
.content-page-view{max-width:960px;margin:auto}
.content-page-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:clamp(24px,5vw,50px);box-shadow:var(--shadow)}
.content-page-card h1{font-size:clamp(30px,5vw,54px);line-height:1.05;color:var(--navy);margin:8px 0 26px}
.content-page-body{color:var(--ink);font-size:16px;line-height:1.8}
.content-page-body p{white-space:pre-line;margin:0 0 18px}
.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:45;background:#147b47;color:#fff;border-radius:999px;padding:13px 18px;font-weight:900;box-shadow:0 14px 32px rgba(0,0,0,.2)}
@media(max-width:760px){.site-menu-bar{padding:9px 14px}.whatsapp-float{right:14px;bottom:14px;padding:11px 15px;font-size:13px}}

/* Etapa 10 — interface oficial */
body{background:#f6f7fb}
.utility-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:center;padding:9px clamp(16px,3vw,42px);background:var(--navy);color:#fff;font-size:12px;font-weight:750}
.utility-bar span{text-align:center;white-space:nowrap}
.official-header{display:grid;grid-template-columns:240px minmax(360px,1fr) auto;gap:28px;align-items:center;padding:18px clamp(16px,3vw,42px);background:#fff;border-bottom:1px solid #e4e6ee}
.official-logo{position:relative;display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;align-items:center;justify-content:center;width:240px;min-height:64px;padding:8px 18px;border-radius:10px;background:linear-gradient(100deg,#ed0015 0 48%,#07165c 48%);color:#fff;box-shadow:0 8px 20px rgba(4,2,100,.12)}
.logo-main{grid-column:1;grid-row:1;font-size:31px;line-height:1;font-weight:1000;letter-spacing:-.03em;text-shadow:2px 2px 0 #173575,-1px -1px 0 #173575}
.logo-sub{grid-column:1;grid-row:2;font-size:10px;letter-spacing:.28em;font-weight:900}
.logo-star{grid-column:2;grid-row:1/3;font-size:24px;margin-left:7px}
.logo-crown{position:absolute;top:-7px;left:79px;color:#ffd338;font-size:20px}
.official-search{height:52px;border-radius:9px;border:1px solid #cfd4e2}
.official-search .search-icon{display:grid;place-items:center;width:48px;color:var(--navy);font-size:28px}
.official-search input{font-size:15px}
.official-search button{background:#ec0718;padding:0 28px}
.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:20px}
.header-action{position:relative;display:flex;align-items:center;gap:9px;border:0;background:transparent;color:#07113c;padding:4px 0;min-width:max-content}
.header-action strong,.header-action small{display:block;text-align:left}
.header-action strong{font-size:13px}
.header-action small{font-size:11px;color:#6f7587;margin-top:2px}
.action-icon{font-size:30px;line-height:1}
.disabled-action{opacity:.72;cursor:not-allowed}
.cart-header-button{cursor:pointer}
.cart-badge{position:absolute;top:-6px;left:24px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#ed0718;color:#fff;font-size:11px;font-weight:900}
.official-category-nav{display:flex;align-items:center;gap:12px;padding:9px clamp(16px,3vw,42px);background:#fff;border-bottom:1px solid #e3e5ec;overflow-x:auto;white-space:nowrap}
.all-categories-button{display:flex;align-items:center;gap:9px;border:0;border-radius:9px;padding:12px 18px;background:#ef0718;color:#fff;font-weight:850}
.official-category-list{gap:3px}
.official-category-list .category-chip{border:0;border-radius:7px;background:#fff;padding:10px 13px;color:#0a1646}
.official-category-list .category-chip.active{background:#eef1fa;color:var(--navy)}
.site-menu-bar{padding:7px clamp(16px,3vw,42px)}
.store-main{max-width:none;padding:8px 16px 48px}
.campaign-banner{position:relative;display:grid;grid-template-columns:minmax(300px,.9fr) minmax(300px,1fr) minmax(180px,.42fr);align-items:center;min-height:305px;overflow:hidden;border-radius:14px;background:
radial-gradient(circle at 28% 17%,rgba(255,220,45,.95) 0 4%,transparent 4.2%),
linear-gradient(180deg,#20b8ef 0 43%,#71d5ff 43% 62%,#f7cf72 62% 100%);box-shadow:0 8px 24px rgba(6,22,78,.12)}
.campaign-banner:before,.campaign-banner:after{content:"";position:absolute;bottom:-30px;width:210px;height:250px;border-radius:50% 50% 0 0;background:repeating-linear-gradient(75deg,#168d43 0 8px,#38b95f 8px 16px);opacity:.9;filter:blur(.3px)}
.campaign-banner:before{left:-70px;transform:rotate(-25deg)}
.campaign-banner:after{right:-75px;transform:rotate(28deg)}
.campaign-copy{position:relative;z-index:3;display:flex;flex-direction:column;align-items:flex-start;padding:28px 20px 28px 9vw}
.campaign-kicker{font-size:11px;font-weight:900;color:#fff;background:#ed0718;border-radius:5px;padding:5px 8px;margin-bottom:8px}
.campaign-title{font-size:clamp(52px,7vw,108px);line-height:.8;color:#ff8d0a;-webkit-text-stroke:3px #7f2b00;text-shadow:0 7px 0 #fbd14b,0 11px 12px rgba(65,40,0,.35);letter-spacing:-.06em}
.campaign-subtitle{margin-top:14px;font-size:clamp(34px,4.7vw,74px);line-height:.88;color:#fff;-webkit-text-stroke:2px #123a93;text-shadow:0 6px 0 #1a5fc5;transform:rotate(-2deg)}
.campaign-note{margin-top:22px;max-width:430px;padding:9px 12px;border-radius:8px;background:rgba(255,255,255,.87);color:#081d5b;font-size:13px;font-weight:800}
.campaign-products{position:relative;z-index:2;display:flex;align-items:flex-end;justify-content:center;gap:12px;height:100%;padding-bottom:30px}
.campaign-product{display:grid;place-items:center;color:#fff;background:linear-gradient(150deg,#16182b,#03040a);border:5px solid #27293a;box-shadow:0 15px 30px rgba(0,0,0,.28)}
.campaign-product.p1{width:150px;height:185px;border-radius:12px;font-size:55px}
.campaign-product.p2{width:135px;height:225px;border-radius:20px 20px 8px 8px;font-size:60px}
.campaign-product.p3{width:170px;height:170px;border-radius:50%;font-size:70px}
.campaign-board{position:relative;z-index:3;display:flex;flex-direction:column;gap:7px;justify-self:end;margin-right:38px;padding:22px 20px;background:linear-gradient(#a85f15,#7d3d08);border:7px solid #704016;border-radius:7px;transform:rotate(-3deg);color:#fff;text-align:center;box-shadow:0 13px 25px rgba(0,0,0,.25)}
.campaign-board strong{font-size:21px;line-height:1.05}
.campaign-board small{font-weight:900;margin-top:6px}
.benefit-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:12px;background:#fff;border:1px solid #eceef3;border-radius:12px;box-shadow:0 8px 25px rgba(10,20,70,.05)}
.benefit-strip article{display:flex;align-items:center;gap:14px;padding:16px 28px;border-right:1px solid #eef0f5}
.benefit-strip article:last-child{border-right:0}
.benefit-icon{font-size:32px;color:#ef0718}
.benefit-strip strong,.benefit-strip small{display:block}
.benefit-strip strong{font-size:14px;color:#0d153b}
.benefit-strip small{margin-top:3px;color:#6f7587;font-size:12px}
.category-showcase{margin-top:12px}
.category-tiles{display:grid;grid-template-columns:repeat(12,minmax(90px,1fr));gap:7px}
.category-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:115px;padding:10px;border:1px solid #ebedf3;border-radius:12px;background:#fff;color:#0d153b;text-align:center;font-size:11px;font-weight:800}
.category-tile:hover{border-color:#cdd2e3;box-shadow:0 8px 20px rgba(4,2,100,.06)}
.category-tile-mark{display:grid;place-items:center;width:66px;height:66px;border-radius:50%;background:linear-gradient(145deg,#fafafa,#edf0f7);color:var(--navy);font-size:23px;font-weight:1000;border:1px solid #e4e6ed}
.category-tile.all .category-tile-mark{font-size:18px;letter-spacing:.1em}
.offers-shell{margin-top:14px}
.offers-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:42px;padding:8px 16px;background:#ef0718;color:#fff;border-radius:9px 9px 0 0}
.offers-heading>div{display:flex;align-items:center;gap:8px}
.offers-heading strong{font-size:20px}
.offers-view-all{border:0;background:transparent;color:#fff;font-weight:750}
.catalog-context-row{display:flex;justify-content:space-between;align-items:center;min-height:26px;padding:5px 4px;color:#71778a;font-size:12px}
.catalog-context-row .message{min-height:auto;margin:0}
.official-product-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.official-product-grid .product-card{border-radius:8px;box-shadow:none;border-color:#edf0f4}
.official-product-grid .product-card:hover{transform:none;box-shadow:0 8px 22px rgba(4,2,100,.08)}
.official-product-grid .product-media{aspect-ratio:1/.86;border-bottom:0}
.official-product-grid .product-media img{padding:10px}
.official-product-grid .product-body{padding:10px 12px 15px}
.official-product-grid .product-brand{display:none}
.official-product-grid .product-name{font-size:13px;min-height:38px;margin:4px 0 8px;color:#0c153f;font-weight:780}
.official-product-grid .old-price{font-size:11px}
.official-product-grid .current-price{font-size:20px;color:#e20b18}
.official-product-grid .discount-badge{position:absolute;margin:0;top:9px;left:9px;background:#ef0718;color:#fff;border-radius:6px;padding:5px 8px;font-size:11px}
.official-product-grid .product-card{position:relative}
.official-product-grid .availability{font-size:11px;margin-top:7px}
@media(max-width:1250px){
  .official-header{grid-template-columns:220px 1fr}.header-actions{grid-column:1/-1;justify-content:flex-end}.official-product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.category-tiles{grid-template-columns:repeat(6,minmax(100px,1fr))}
}
@media(max-width:900px){
  .utility-bar{grid-template-columns:repeat(2,1fr);row-gap:5px}.official-header{grid-template-columns:1fr}.official-logo{justify-self:center}.header-actions{justify-content:center;flex-wrap:wrap}.campaign-banner{grid-template-columns:1fr;min-height:360px}.campaign-copy{padding:30px}.campaign-products,.campaign-board{display:none}.benefit-strip{grid-template-columns:repeat(2,1fr)}.benefit-strip article:nth-child(2){border-right:0}.official-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:620px){
  .utility-bar{display:none}.official-header{padding:12px}.official-logo{width:210px;min-height:57px}.logo-main{font-size:27px}.header-actions{justify-content:space-between;gap:8px}.disabled-action{display:none}.cart-header-button{margin-left:auto}.official-category-nav{padding:8px 10px}.store-main{padding:6px 9px 36px}.campaign-banner{min-height:260px;border-radius:10px}.campaign-copy{padding:22px}.campaign-title{font-size:55px}.campaign-subtitle{font-size:39px}.benefit-strip{grid-template-columns:1fr}.benefit-strip article{border-right:0;border-bottom:1px solid #eef0f5;padding:12px 16px}.benefit-strip article:last-child{border-bottom:0}.category-tiles{display:flex;overflow-x:auto;gap:7px}.category-tile{flex:0 0 110px}.official-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.offers-heading strong{font-size:17px}.official-product-grid .current-price{font-size:18px}
}

.campaign-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:4}
.campaign-banner.has-campaign-image{background:#fff}
.campaign-banner.has-campaign-image:before,.campaign-banner.has-campaign-image:after,
.campaign-banner.has-campaign-image .campaign-copy,
.campaign-banner.has-campaign-image .campaign-products,
.campaign-banner.has-campaign-image .campaign-board{display:none}

.category-tile-mark img{width:100%;height:100%;object-fit:contain;padding:5px;border-radius:50%}

.campaign-arrow{position:absolute;top:50%;z-index:7;transform:translateY(-50%);display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.94);color:var(--navy);font-size:31px;line-height:1;box-shadow:0 6px 18px rgba(0,0,0,.15)}
.campaign-arrow.prev{left:12px}.campaign-arrow.next{right:12px}
.campaign-dots{position:absolute;z-index:8;left:50%;bottom:12px;display:flex;gap:7px;transform:translateX(-50%)}
.campaign-dot{width:10px;height:10px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.85);box-shadow:0 0 0 1px rgba(0,0,0,.12)}
.campaign-dot.active{background:#ed0718}
.campaign-clickable .campaign-image{cursor:pointer}
@media(max-width:620px){.campaign-arrow{width:34px;height:34px;font-size:26px}.campaign-arrow.prev{left:7px}.campaign-arrow.next{right:7px}}

.logo-fallback{position:relative;display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;align-items:center;justify-content:center;width:100%}
.store-logo-image{display:block;max-width:100%;max-height:74px;object-fit:contain}
.store-logo-image[hidden]{display:none}
.official-logo.has-real-logo{background:#fff;box-shadow:none;padding:0}
.official-logo.has-real-logo .logo-fallback{display:none}

.categories-backdrop{position:fixed;inset:0;z-index:60;background:rgba(2,8,35,.42);backdrop-filter:blur(2px)}
.categories-drawer{position:fixed;z-index:70;top:0;left:0;width:min(390px,92vw);height:100dvh;overflow:auto;background:#fff;box-shadow:18px 0 45px rgba(4,2,100,.2);transform:translateX(-105%);transition:transform .22s ease;padding-bottom:28px}
.categories-drawer.open{transform:translateX(0)}
.categories-drawer>header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px;border-bottom:1px solid var(--line)}
.categories-drawer h2{margin:4px 0 0;color:var(--navy);font-size:24px}
.categories-all-link{display:block;width:calc(100% - 28px);margin:14px;border:0;border-radius:10px;padding:12px 14px;background:#ef0718;color:#fff;font-weight:900;text-align:left}
.categories-menu-list{display:grid}
.categories-menu-item{display:flex;align-items:center;gap:11px;width:100%;border:0;border-bottom:1px solid #f0f1f5;background:#fff;color:#111936;padding:11px 16px 11px calc(16px + (var(--category-depth,0) * 18px));text-align:left;font-weight:720}
.categories-menu-item:hover,.categories-menu-item.active{background:#f4f5fb;color:var(--navy)}
.categories-menu-item img{width:34px;height:34px;object-fit:contain;border:1px solid #eceef3;border-radius:8px;background:#fff}
@media(max-width:620px){.categories-drawer{width:min(350px,94vw)}}

/* Etapa 11 — página de produto */
.official-product-detail{align-items:start}
.detail-gallery{display:grid;gap:10px;position:sticky;top:18px}
.detail-image-caption{margin:0;text-align:center;color:var(--muted);font-size:11px}
.detail-status-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:-4px 0 14px}
.detail-availability{font-size:12px;font-weight:850;color:#17794b}
.detail-availability.unavailable{color:#a32a2a}
.detail-brand{font-size:12px;color:var(--muted)}
.detail-price-card{padding:18px;border:1px solid #e5e7ef;border-radius:16px;background:#fafbfe;margin:14px 0}
.detail-price-label{display:block;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.detail-price-card .detail-price{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:7px 0 4px}
.detail-price-card .current-price{font-size:38px;color:#e30b19}
.detail-price-card .old-price{font-size:14px}
.detail-price-card small{color:var(--muted);line-height:1.45}
.detail-discount{display:inline-block;padding:5px 8px;border-radius:7px;background:#ef0718;color:#fff;font-size:12px;font-weight:900}
.detail-variant-host:empty{display:none}
.detail-purchase{display:grid;gap:15px;margin-top:16px}
.detail-trust-grid{display:grid;grid-template-columns:1fr;gap:8px}
.detail-trust-grid article{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border:1px solid #eceef4;border-radius:11px;background:#fff}
.detail-trust-icon{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:#f0f2fb;color:var(--navy);font-weight:900}
.detail-trust-grid strong,.detail-trust-grid small{display:block}
.detail-trust-grid strong{font-size:12px;color:#121a45}
.detail-trust-grid small{margin-top:2px;color:var(--muted);font-size:11px;line-height:1.4}
.detail-description-card{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.detail-description-card h2{margin:0 0 10px;color:var(--navy);font-size:18px}
@media(max-width:900px){
  .official-product-detail{grid-template-columns:1fr;gap:20px}
  .detail-gallery{position:static}
  .detail-info h1{font-size:clamp(26px,7vw,40px)}
}
@media(max-width:620px){
  .product-detail-view{max-width:none}
  .product-detail{border-radius:14px;padding:14px}
  .detail-price-card .current-price{font-size:32px}
  .detail-status-row{align-items:flex-start;flex-direction:column}
  .add-cart{position:sticky;bottom:10px;z-index:15;box-shadow:0 10px 25px rgba(239,7,24,.22)}
}

.preview-ribbon{width:100%;padding:7px 14px;background:#ffcf3f;color:#2d2200;text-align:center;font-size:11px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid #d8aa1e}
.preview-ribbon[hidden]{display:none}

/* Categorias principais no menu; subcategorias aparecem em submenu discreto. */
.official-category-nav{
  position:relative;
  z-index:45;
  overflow:visible;
  align-items:flex-start;
}
.official-category-list{
  align-items:center;
  flex:1 1 0;
  min-width:0;
  flex-wrap:wrap;
}
.all-categories-button{
  flex:0 0 auto;
}
.category-nav-group:nth-last-child(-n+3)>.category-submenu{
  left:auto;
  right:0;
}
.cart-panel:not(.open),
.categories-drawer:not(.open){
  visibility:hidden;
}
.category-nav-group{
  position:relative;
  flex:0 0 auto;
}
.category-nav-group.has-subcategories>.category-chip::after{
  content:"⌄";
  margin-left:5px;
  font-size:11px;
  opacity:.65;
}
.category-submenu{
  display:none;
  position:absolute;
  top:calc(100% + 4px);
  left:0;
  z-index:80;
  min-width:210px;
  padding:6px;
  border:1px solid #e6e8f0;
  border-radius:10px;
  background:#fff;
  box-shadow:0 14px 32px rgba(4,2,100,.12);
}
.category-nav-group:hover>.category-submenu,
.category-nav-group:focus-within>.category-submenu{
  display:grid;
}
.category-submenu-item{
  width:100%;
  border:0;
  border-radius:7px;
  background:#fff;
  color:#202642;
  padding:9px 10px;
  text-align:left;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
}
.category-submenu-item:hover,
.category-submenu-item:focus-visible,
.category-submenu-item.active{
  background:#f3f4fb;
  color:var(--navy);
}
@media(max-width:760px){
  .official-category-nav{
    overflow:visible;
  }
  .official-category-list{
    display:none;
  }
  .all-categories-button{
    width:100%;
    justify-content:center;
  }
  .category-submenu{
    display:none!important;
  }
  .category-nav-group.has-subcategories>.category-chip::after{
    display:none;
  }
}


/* Galeria pública de fotos do produto */
.detail-main-image{
  overflow:hidden;
  border:1px solid #e8eaf0;
  border-radius:16px;
  background:#fff;
}
.detail-main-image img{
  display:block;
  width:100%;
  aspect-ratio:1/1;
  object-fit:contain;
  background:#fff;
}
.detail-thumbnails{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.detail-thumbnail{
  min-width:0;
  padding:4px;
  overflow:hidden;
  border:1px solid #e1e4ec;
  border-radius:10px;
  background:#fff;
  cursor:pointer;
  transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;
}
.detail-thumbnail:hover,
.detail-thumbnail:focus-visible{
  border-color:#b8bdd1;
  transform:translateY(-1px);
  outline:none;
}
.detail-thumbnail.active{
  border-color:var(--navy);
  box-shadow:0 0 0 2px rgba(4,2,100,.08);
}
.detail-thumbnail img{
  display:block;
  width:100%;
  aspect-ratio:1/1;
  object-fit:contain;
  background:#fff;
}
@media(max-width:620px){
  .detail-thumbnails{
    gap:6px;
  }
}


/* Layout público — base moderna V1 */
:root{
  --store-content:1480px;
  --store-surface:#ffffff;
  --store-soft:#f4f5f9;
  --store-line:#e6e8ef;
  --store-shadow:0 14px 34px rgba(4,2,100,.07);
}

body{
  background:var(--store-soft);
}

.utility-bar{
  min-height:34px;
  padding-left:max(18px,calc((100vw - var(--store-content))/2 + 18px));
  padding-right:max(18px,calc((100vw - var(--store-content))/2 + 18px));
  font-size:11px;
  letter-spacing:.01em;
}

.official-header{
  position:relative;
  z-index:50;
  grid-template-columns:220px minmax(320px,1fr) auto;
  gap:24px;
  padding:16px max(18px,calc((100vw - var(--store-content))/2 + 18px));
  border-bottom:1px solid var(--store-line);
  box-shadow:0 5px 18px rgba(16,24,64,.035);
}

.official-logo{
  width:220px;
  min-height:60px;
  border-radius:12px;
}

.official-search{
  width:100%;
  max-width:780px;
  height:50px;
  justify-self:center;
  border-color:#d7dae5;
  border-radius:12px;
  box-shadow:0 4px 14px rgba(17,26,70,.035);
  transition:border-color .15s ease,box-shadow .15s ease;
}

.official-search:focus-within{
  border-color:#a8aec5;
  box-shadow:0 0 0 3px rgba(4,2,100,.06),0 6px 18px rgba(17,26,70,.05);
}

.official-search .search-icon{
  width:44px;
  font-size:22px;
}

.official-search button{
  min-width:96px;
  padding:0 22px;
}

.disabled-action{
  display:none!important;
}

.header-actions{
  grid-column:auto;
  gap:8px;
}

.cart-header-button{
  margin:0;
  padding:9px 12px;
  border:1px solid #e0e3eb;
  border-radius:12px;
  background:#f8f9fc;
  transition:border-color .15s ease,background .15s ease,transform .15s ease;
}

.cart-header-button:hover{
  border-color:#cfd4e2;
  background:#fff;
  transform:translateY(-1px);
}

.action-icon.cart-icon{
  font-size:24px;
}

.official-category-nav,
.site-menu-bar{
  padding-left:max(18px,calc((100vw - var(--store-content))/2 + 18px));
  padding-right:max(18px,calc((100vw - var(--store-content))/2 + 18px));
}

.official-category-nav{
  min-height:54px;
  border-bottom:1px solid var(--store-line);
}

.official-category-list .category-chip{
  padding:10px 12px;
  font-size:12px;
}

.store-main{
  width:min(calc(100% - 28px),var(--store-content));
  margin:0 auto;
  padding:18px 0 56px;
}

.campaign-banner{
  border-radius:18px;
  box-shadow:var(--store-shadow);
}

.campaign-banner.has-campaign-image{
  min-height:0;
  aspect-ratio:1580/450;
}

.benefit-strip{
  gap:10px;
  margin-top:14px;
  border:0;
  background:transparent;
  box-shadow:none;
}

.benefit-strip article,
.benefit-strip article:last-child{
  min-width:0;
  min-height:78px;
  padding:15px 18px;
  border:1px solid var(--store-line);
  border-radius:14px;
  background:var(--store-surface);
  box-shadow:0 6px 18px rgba(16,24,64,.035);
}

.benefit-icon{
  display:grid;
  place-items:center;
  flex:0 0 34px;
  width:34px;
  height:34px;
  color:var(--navy);
}

.benefit-icon svg,
.cart-icon svg{
  display:block;
  width:26px;
  height:26px;
}

.campaign-dots:has(>.campaign-dot:only-child),
.pager:has(#page-prev:disabled):has(#page-next:disabled){
  display:none;
}

.category-showcase{
  margin-top:16px;
}

.category-tiles{
  grid-template-columns:repeat(8,minmax(0,1fr));
  gap:10px;
}

.category-tile{
  min-height:130px;
  padding:12px;
  border-radius:16px;
  font-size:12px;
  transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;
}

.category-tile:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(4,2,100,.075);
}

.category-tile.active{
  border-color:var(--navy);
  background:#f5f5fc;
  box-shadow:inset 0 0 0 1px var(--navy);
}

.category-tile:focus-visible,
.category-chip:focus-visible,
.categories-menu-item:focus-visible{
  outline:3px solid var(--navy);
  outline-offset:-3px;
}

.category-tile-mark{
  width:72px;
  height:72px;
}

.offers-shell{
  margin-top:18px;
}

.offers-heading{
  min-height:52px;
  padding:10px 18px;
  border-radius:14px 14px 0 0;
  background:linear-gradient(90deg,#d71920,#ef0718);
}

.catalog-context-row{
  padding:8px 4px;
}

.official-product-grid{
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
}

.official-product-grid .product-card{
  overflow:hidden;
  border-radius:14px;
  border-color:var(--store-line);
  box-shadow:0 7px 20px rgba(4,2,100,.045);
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}

.official-product-grid .product-card:hover{
  transform:translateY(-2px);
  border-color:#d8dce7;
  box-shadow:0 13px 30px rgba(4,2,100,.085);
}

.official-product-grid .product-media{
  aspect-ratio:1/1;
  border-bottom:1px solid #f0f1f5;
}

.official-product-grid .product-body{
  padding:13px 14px 16px;
}

.official-product-grid .product-name{
  min-height:42px;
  margin:5px 0 10px;
  font-size:14px;
  line-height:1.42;
}

.official-product-grid .current-price{
  font-size:22px;
}

.official-product-grid .discount-badge{
  top:11px;
  left:11px;
  border-radius:8px;
}

@media(max-width:1250px){
  .official-header{
    grid-template-columns:200px minmax(260px,1fr) auto;
    gap:18px;
  }

  .official-logo{
    width:200px;
  }

  .category-tiles{
    grid-template-columns:repeat(6,minmax(0,1fr));
  }

  .official-product-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}

@media(max-width:900px){
  .official-header{
    grid-template-columns:180px minmax(220px,1fr) auto;
    gap:14px;
  }

  .official-logo{
    width:180px;
  }

  .header-actions{
    grid-column:auto;
    justify-content:flex-end;
  }

  .category-tiles{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }

  .official-product-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .benefit-strip{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .benefit-strip article{
    border:1px solid var(--store-line);
  }
}

@media(max-width:760px){
  .utility-bar{
    display:none;
  }

  .official-header{
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
    padding:12px 14px;
  }

  .official-logo{
    grid-column:1;
    grid-row:1;
    justify-self:start;
    width:min(176px,100%);
    min-height:50px;
  }

  .logo-sub{
    white-space:nowrap;
    font-size:8px;
    letter-spacing:.15em;
  }

  .header-actions{
    grid-column:2;
    grid-row:1;
    justify-self:end;
  }

  .cart-header-button{
    min-width:48px;
    min-height:46px;
    padding:8px 10px;
  }

  .cart-header-button>span:last-child{
    display:none;
  }

  .official-search{
    grid-column:1/-1;
    grid-row:2;
    max-width:none;
    height:50px;
  }

  .official-search button{
    min-width:82px;
    padding:0 16px;
  }

  .official-category-nav,
  .site-menu-bar{
    padding-left:10px;
    padding-right:10px;
  }

  .store-main{
    width:calc(100% - 18px);
    padding:10px 0 38px;
  }

  .campaign-banner{
    min-height:270px;
    border-radius:14px;
  }

  .campaign-banner.has-campaign-image{
    min-height:0;
    aspect-ratio:820/1000;
  }

  .benefit-strip{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }

  .benefit-strip article{
    min-height:84px;
    padding:12px;
    gap:10px;
  }

  .benefit-icon{
    font-size:23px;
  }

  .benefit-strip strong{
    font-size:12px;
  }

  .benefit-strip small{
    font-size:10px;
  }

  .category-tiles{
    display:flex;
    gap:8px;
    padding-bottom:4px;
    overflow-x:auto;
    scroll-snap-type:x proximity;
    scroll-behavior:smooth;
    overscroll-behavior-inline:contain;
    scrollbar-width:none;
  }

  .category-tiles::-webkit-scrollbar{
    display:none;
  }

  .category-tile{
    flex:0 0 126px;
    min-height:122px;
    scroll-snap-align:start;
  }

  .official-product-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
  }

  .official-product-grid .product-body{
    padding:10px 11px 13px;
  }

  .official-product-grid .product-name{
    min-height:38px;
    font-size:12px;
  }

  .official-product-grid .current-price{
    font-size:18px;
  }

  .offers-heading{
    min-height:48px;
    padding:9px 12px;
  }
}

@media(max-width:420px){
  .benefit-strip{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .benefit-strip article{
    align-items:flex-start;
    gap:8px;
    padding:12px 10px;
  }

  .benefit-icon{
    flex:0 0 20px;
    width:20px;
    height:24px;
  }

  .benefit-icon svg{
    width:20px;
    height:20px;
  }

  .benefit-strip article>div{
    min-width:0;
    overflow-wrap:anywhere;
  }

  .category-tile{
    flex-basis:116px;
  }
}


/* Layout público — rodapé e atendimento */
.store-footer{
  position:relative;
  grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);
  gap:48px;
  padding:46px max(18px,calc((100vw - var(--store-content))/2 + 18px));
  border-top:4px solid var(--red);
  background:linear-gradient(135deg,#03025d 0%,#070b4b 100%);
  box-shadow:0 -10px 30px rgba(4,2,100,.08);
}

.store-footer>div{
  min-width:0;
}

.store-footer:has(>div:last-child[hidden]){
  grid-template-columns:minmax(0,1fr);
}

.catalog-context-row{
  flex-wrap:wrap;
}

#catalog-context{
  flex-shrink:0;
}

@media(max-width:760px){
  .catalog-context-row{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
  }
  #catalog-message{
    text-align:left;
    line-height:1.5;
  }
}

.store-footer>div:first-child{
  max-width:620px;
}

.store-footer strong{
  font-size:16px;
  letter-spacing:.01em;
}

.store-footer p{
  max-width:560px;
  margin-top:10px;
  color:rgba(255,255,255,.72);
  font-size:13px;
  line-height:1.65;
}

.footer-links{
  gap:6px;
  margin-top:12px;
}

.footer-links a{
  width:max-content;
  max-width:100%;
  padding:4px 0;
  color:rgba(255,255,255,.76);
  text-decoration:none;
  transition:color .15s ease,transform .15s ease;
}

.footer-links a:hover,
.footer-links a:focus-visible{
  color:#fff;
  transform:translateX(2px);
  outline:none;
  text-decoration:underline;
  text-underline-offset:4px;
}

.whatsapp-float{
  right:20px;
  bottom:20px;
  padding:12px 17px;
  border:1px solid rgba(255,255,255,.38);
  box-shadow:0 12px 30px rgba(0,0,0,.22);
  transition:transform .15s ease,box-shadow .15s ease;
}

.whatsapp-float:hover,
.whatsapp-float:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(0,0,0,.26);
  outline:none;
}

@media(max-width:760px){
  .store-footer{
    grid-template-columns:1fr;
    gap:26px;
    padding:34px 18px 42px;
  }

  .whatsapp-float{
    right:12px;
    bottom:12px;
    padding:11px 14px;
  }
}


/* Layout público — página de produto */
.product-detail-view{
  width:min(100%,1280px);
  max-width:1280px;
}

.official-product-detail{
  grid-template-columns:minmax(360px,1fr) minmax(390px,1fr);
  gap:48px;
  padding:30px;
  border:1px solid var(--store-line);
  border-radius:22px;
  box-shadow:0 16px 38px rgba(4,2,100,.065);
}

.detail-gallery{
  top:24px;
  gap:12px;
}

.detail-main-image{
  border-color:#e4e7ee;
  border-radius:20px;
  box-shadow:0 8px 22px rgba(16,24,64,.04);
}

.detail-main-image .detail-media{
  border:0;
  border-radius:0;
}

.detail-thumbnails{
  gap:10px;
}

.detail-thumbnail{
  border-radius:12px;
}

.detail-image-caption{
  color:#9297a7;
  font-size:10px;
}

.detail-info{
  min-width:0;
  padding:4px 4px 0;
}

.detail-info h1{
  margin:8px 0 15px;
  color:#11183e;
  font-size:clamp(30px,3.1vw,46px);
  line-height:1.08;
  letter-spacing:-.025em;
}

.detail-status-row{
  margin:0 0 16px;
  padding-bottom:15px;
  border-bottom:1px solid #eceef3;
}

.detail-price-card{
  margin:16px 0;
  padding:20px;
  border:1px solid #e3e6ee;
  border-radius:16px;
  background:linear-gradient(135deg,#fff 0%,#f8f9fd 100%);
}

.detail-price-card .detail-price{
  margin:8px 0 5px;
}

.detail-price-card .current-price{
  color:var(--red);
  font-size:40px;
  letter-spacing:-.025em;
}

.detail-discount{
  border-radius:8px;
}

.variant-control{
  margin:16px 0;
  padding:14px;
  border:1px solid #e4e7ef;
  border-radius:14px;
  background:#fff;
}

.variant-control label{
  gap:9px;
  color:#1c2348;
  font-size:13px;
}

.variant-control select{
  min-height:46px;
  border-color:#d9dce7;
  border-radius:10px;
}

.detail-purchase{
  gap:13px;
  margin-top:17px;
}

.add-cart{
  min-height:54px;
  border-radius:12px;
  box-shadow:0 10px 24px rgba(215,25,32,.18);
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease;
}

.add-cart:hover:not(:disabled),
.add-cart:focus-visible:not(:disabled){
  transform:translateY(-1px);
  background:#c9151c;
  box-shadow:0 14px 28px rgba(215,25,32,.23);
  outline:none;
}

.detail-trust-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}

.detail-trust-grid article{
  min-width:0;
  padding:11px;
  border-color:#e8eaf1;
  border-radius:12px;
  background:#fbfcfe;
}

.detail-trust-grid strong{
  font-size:11px;
}

.detail-trust-grid small{
  font-size:10px;
}

.detail-description-card{
  margin-top:24px;
  padding-top:22px;
}

.detail-description-card h2{
  font-size:19px;
}

.detail-description{
  color:#5f6575;
  font-size:14px;
  line-height:1.72;
}

.detail-relation-shelf{
  margin-top:22px;
  padding:22px;
  border:1px solid var(--store-line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 28px rgba(4,2,100,.045);
}
.detail-relation-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}
.detail-relation-heading span{
  display:block;
  color:#8a90a0;
  font-size:10px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.detail-relation-heading h2{
  margin:4px 0 0;
  color:#11183e;
  font-size:22px;
}
.detail-relation-controls{
  display:flex;
  gap:8px;
  flex:0 0 auto;
}
.detail-relation-controls[hidden]{display:none!important}
.detail-relation-arrow{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border:1px solid #dfe2ec;
  border-radius:50%;
  background:#fff;
  color:var(--navy);
  font-size:28px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 5px 14px rgba(4,2,100,.06);
}
.detail-relation-arrow:hover:not(:disabled),
.detail-relation-arrow:focus-visible:not(:disabled){
  border-color:var(--navy);
  box-shadow:0 8px 18px rgba(4,2,100,.12);
  outline:none;
}
.detail-relation-arrow:disabled{
  opacity:.32;
  cursor:not-allowed;
}
.detail-relation-grid{
  display:flex;
  flex-wrap:nowrap;
  gap:10px;
  overflow-x:auto;
  overflow-y:hidden;
  padding:2px 2px 10px;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  overscroll-behavior-inline:contain;
  scrollbar-width:none;
}
.detail-relation-grid::-webkit-scrollbar{display:none}
.detail-relation-grid .product-card{
  flex:0 0 clamp(210px,23vw,285px);
  min-width:0;
  border-radius:12px;
  box-shadow:none;
  scroll-snap-align:start;
}
.detail-relation-grid .product-card:hover{
  box-shadow:0 8px 22px rgba(4,2,100,.08);
}
@media(max-width:620px){
  .detail-relation-shelf{
    margin-top:14px;
    padding:14px;
    border-radius:14px;
  }
  .detail-relation-heading{
    align-items:center;
    gap:10px;
  }
  .detail-relation-heading h2{font-size:18px}
  .detail-relation-controls{gap:6px}
  .detail-relation-arrow{
    min-width:44px;
    min-height:44px;
    width:44px;
    height:44px;
  }
  .detail-relation-grid{
    gap:8px;
    margin-right:-14px;
    padding-right:14px;
  }
  .detail-relation-grid .product-card{
    flex-basis:min(72vw,240px);
  }
}

@media(max-width:1100px){
  .official-product-detail{
    grid-template-columns:minmax(320px,.95fr) minmax(360px,1.05fr);
    gap:30px;
    padding:24px;
  }

  .detail-trust-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:760px){
  .product-detail-view{
    width:100%;
  }

  .official-product-detail{
    grid-template-columns:1fr;
    gap:18px;
    padding:14px;
    border-radius:16px;
    box-shadow:0 8px 24px rgba(4,2,100,.05);
  }

  .detail-gallery{
    position:static;
  }

  .detail-info{
    padding:0;
  }

  .detail-info h1{
    font-size:clamp(27px,8vw,38px);
  }

  .detail-price-card{
    padding:16px;
  }

  .detail-price-card .current-price{
    font-size:33px;
  }

  .detail-description{
    font-size:13px;
  }
}


/* Layout público — carrinho lateral */
.drawer-backdrop{
  background:rgba(7,10,35,.46);
  backdrop-filter:blur(2px);
}

.cart-panel{
  width:min(480px,96vw);
  height:100dvh;
  border-left:1px solid #e4e6ed;
  box-shadow:-24px 0 54px rgba(4,2,42,.18);
}

.cart-panel>header{
  padding:22px 22px 18px;
  background:linear-gradient(180deg,#fff,#fafbfe);
}

.cart-panel h2{
  margin:3px 0 0;
  color:#11183e;
  font-size:25px;
  letter-spacing:-.02em;
}

.cart-panel .icon-button{
  flex:0 0 40px;
  width:40px;
  height:40px;
  border:1px solid #e2e4ec;
  background:#fff;
  color:#30364e;
  transition:border-color .15s ease,background .15s ease;
}

.cart-panel .icon-button:hover,
.cart-panel .icon-button:focus-visible{
  border-color:#cfd3df;
  background:#f5f6fa;
  outline:none;
}

.cart-items{
  padding:8px 20px 18px;
}

.cart-empty{
  margin:14px 0;
  padding:54px 20px;
  border:1px dashed #dfe2ea;
  border-radius:14px;
  background:#fafbfe;
}

.cart-item{
  grid-template-columns:82px minmax(0,1fr) auto;
  gap:14px;
  padding:18px 0;
  border-bottom:1px solid #eceef3;
}

.cart-thumb{
  width:82px;
  height:82px;
  border-color:#e5e7ee;
  border-radius:12px;
  padding:4px;
}

.cart-item h3{
  margin:1px 0 6px;
  color:#171d43;
  font-size:13px;
  line-height:1.4;
}

.cart-attrs{
  margin-bottom:7px;
  color:#7a7f8f;
  line-height:1.4;
}

.cart-item-price{
  color:var(--red);
  font-size:14px;
}

.qty-controls{
  gap:7px;
  margin-top:10px;
}

.qty-controls button{
  width:30px;
  height:30px;
  border-color:#d9dce6;
  border-radius:8px;
  color:var(--navy);
  font-weight:850;
  transition:border-color .15s ease,background .15s ease;
}

.qty-controls button:hover,
.qty-controls button:focus-visible{
  border-color:#bfc4d5;
  background:#f6f7fb;
  outline:none;
}

.remove-cart{
  align-self:start;
  padding:3px 0;
  color:#a9292e;
  font-size:10px;
  font-weight:750;
}

.cart-summary{
  padding:20px 22px max(22px,env(safe-area-inset-bottom));
  border-top:1px solid #e3e5ed;
  background:#fbfcfe;
  box-shadow:0 -8px 24px rgba(18,24,60,.04);
}

.cart-summary>div{
  margin-bottom:10px;
}

.cart-summary>div>span{
  color:#626879;
  font-size:13px;
  font-weight:700;
}

.cart-summary strong{
  color:#11183e;
  font-size:27px;
  letter-spacing:-.02em;
}

.cart-summary small{
  margin:0 0 15px;
  color:#73798a;
  font-size:11px;
}

.checkout-button{
  min-height:52px;
  border:0;
  border-radius:12px;
  padding:14px 16px;
  background:var(--red);
  color:#fff;
  font-size:14px;
  font-weight:900;
  box-shadow:0 10px 22px rgba(215,25,32,.18);
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease;
}

.checkout-button:hover:not(:disabled),
.checkout-button:focus-visible:not(:disabled){
  transform:translateY(-1px);
  background:#c9151c;
  box-shadow:0 14px 28px rgba(215,25,32,.23);
  outline:none;
}

@media(max-width:560px){
  .cart-panel{
    width:100vw;
    max-width:none;
    border-left:0;
  }

  .cart-panel>header{
    padding:17px 16px 14px;
  }

  .cart-panel h2{
    font-size:22px;
  }

  .cart-items{
    padding:6px 14px 16px;
  }

  .cart-item{
    grid-template-columns:68px minmax(0,1fr) auto;
    gap:10px;
    padding:15px 0;
  }

  .cart-thumb{
    width:68px;
    height:68px;
  }

  .cart-summary{
    padding:16px 16px max(18px,env(safe-area-inset-bottom));
  }
}


/* Layout público — páginas institucionais */
.content-page-view{
  width:min(100%,1100px);
  max-width:1100px;
  margin:0 auto;
}

.content-page-view .back-button{
  margin:2px 0 14px;
  padding:8px 2px;
}

.content-page-card{
  padding:clamp(28px,4.5vw,58px);
  border:1px solid #e3e6ed;
  border-radius:20px;
  box-shadow:0 14px 34px rgba(4,2,100,.055);
}

.content-page-card .eyebrow{
  display:inline-block;
  margin-bottom:5px;
}

.content-page-card h1{
  max-width:850px;
  margin:6px 0 28px;
  color:#11183e;
  font-size:clamp(32px,4.6vw,52px);
  line-height:1.08;
  letter-spacing:-.03em;
}

.content-page-body{
  max-width:820px;
  color:#555c6e;
  font-size:16px;
  line-height:1.82;
}

.content-page-body p{
  margin:0 0 20px;
}

@media(max-width:760px){
  .content-page-card{
    padding:24px 18px 30px;
    border-radius:15px;
  }

  .content-page-card h1{
    margin-bottom:22px;
    font-size:clamp(29px,9vw,40px);
  }

  .content-page-body{
    font-size:15px;
    line-height:1.72;
  }
}


/* Blocos controláveis da página inicial */
[data-home-block][hidden]{
  display:none!important;
}
.home-products-block{
  min-width:0;
}


/* Categorias — modo fixo ou carrossel rotativo */
.category-tiles.is-rotating{
  display:flex;
  grid-template-columns:none;
  flex-wrap:nowrap;
  gap:10px;
  overflow-x:auto;
  overflow-y:hidden;
  padding-bottom:6px;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  overscroll-behavior-inline:contain;
  scrollbar-width:none;
}
.category-tiles.is-rotating::-webkit-scrollbar{
  display:none;
}
.category-tiles.is-rotating .category-tile{
  flex:0 0 clamp(122px,11vw,148px);
  scroll-snap-align:start;
}
@media(max-width:760px){
  .category-tiles.is-rotating .category-tile{
    flex-basis:116px;
  }
}


/* Vitrines configuráveis da Home */
.home-shelf{
  position:relative;
  min-width:0;
  margin-top:22px;
}
.home-shelf-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:12px;
}
.home-shelf-heading>div:first-child{min-width:0}
.home-shelf-heading span{
  display:block;
  margin-bottom:3px;
  color:#73798b;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.home-shelf-heading h2{
  margin:0;
  color:var(--navy);
  font-size:24px;
  line-height:1.15;
}
.home-carousel-controls{
  display:flex;
  gap:8px;
  flex:0 0 auto;
}
.home-carousel-controls[hidden]{display:none!important}
.home-carousel-controls button{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border:1px solid #dfe2ec;
  border-radius:50%;
  background:#fff;
  color:var(--navy);
  font-size:28px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 5px 14px rgba(4,2,100,.06);
}
.home-carousel-controls button:hover:not(:disabled){
  border-color:var(--navy);
  box-shadow:0 8px 18px rgba(4,2,100,.12);
}
.home-carousel-controls button:disabled{
  opacity:.32;
  cursor:not-allowed;
}
.home-shelf-track{
  min-width:0;
}
.product-shelf-track.is-fixed{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
}
.product-shelf-track.is-rotating,
.testimonial-track.is-rotating{
  display:flex;
  flex-wrap:nowrap;
  gap:12px;
  overflow-x:auto;
  overflow-y:hidden;
  padding:2px 2px 10px;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  overscroll-behavior-inline:contain;
  scrollbar-width:none;
}
.product-shelf-track.is-rotating::-webkit-scrollbar,
.testimonial-track.is-rotating::-webkit-scrollbar{
  display:none;
}
.product-shelf-track.is-rotating .product-card{
  flex:0 0 clamp(190px,19vw,250px);
  scroll-snap-align:start;
}
.testimonial-track.is-fixed{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.testimonial-track.is-rotating .testimonial-card{
  flex:0 0 clamp(260px,30vw,390px);
  scroll-snap-align:start;
}
.testimonial-card{
  min-height:190px;
  padding:20px;
  border:1px solid #e4e6ef;
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 24px rgba(4,2,100,.05);
}
.testimonial-stars{
  margin-bottom:12px;
  color:#d9a000;
  font-size:19px;
  letter-spacing:.08em;
}
.testimonial-card p{
  margin:0 0 18px;
  color:#34394b;
  font-size:14px;
  line-height:1.65;
}
.testimonial-card strong{
  color:var(--navy);
  font-size:14px;
}
.home-shelf-empty{
  grid-column:1/-1;
  width:100%;
  padding:24px;
  border:1px dashed #d8dbe7;
  border-radius:16px;
  background:#fafbfe;
  color:#7a8092;
  text-align:center;
  font-size:13px;
}
.category-showcase .home-shelf-heading{
  margin-bottom:10px;
}
.category-tiles.is-rotating{
  position:relative;
}
.category-tiles.is-rotating .category-tile{
  flex:0 0 clamp(122px,11vw,148px);
}
@media(max-width:1100px){
  .product-shelf-track.is-fixed{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}
@media(max-width:760px){
  .home-shelf{margin-top:18px}
  .home-shelf-heading{
    align-items:center;
    gap:10px;
  }
  .home-shelf-heading h2{font-size:19px}
  .home-shelf-heading span{font-size:9px}
  .home-carousel-controls{gap:6px}
  .home-carousel-controls button{
    width:38px;
    height:38px;
    font-size:25px;
  }
  .product-shelf-track.is-fixed{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
  }
  .product-shelf-track.is-rotating .product-card{
    flex-basis:min(72vw,220px);
  }
  .testimonial-track.is-fixed{
    grid-template-columns:1fr;
  }
  .testimonial-track.is-rotating .testimonial-card{
    flex-basis:min(82vw,330px);
  }
  .category-tiles.is-rotating .category-tile{
    flex-basis:116px;
  }
}

/* Leitura e navegação no produto e carrinho */
.cart-attrs{font-size:12px;line-height:1.5;color:#60677b}
.cart-item-price{font-variant-numeric:tabular-nums}
.detail-thumbnail:focus-visible,.qty-controls button:focus-visible,.remove-cart:focus-visible,.variant-control select:focus-visible{outline:3px solid #8588d4;outline-offset:3px}
@media(max-width:760px){
  .variant-control select{font-size:16px;min-height:48px}
  .qty-controls button,.remove-cart{min-width:44px;min-height:44px}
  .cart-item{grid-template-columns:56px minmax(0,1fr)}
  .cart-item .remove-cart{grid-column:2;justify-self:start}
}

/* Cliente: prioridade no celular; painel administrativo mantém foco no desktop. */
@media(max-width:760px){
  #search-input{font-size:16px;min-width:0}
  #search-form button{min-height:48px}
  #categories-close,#cart-close,.home-carousel-controls button,.campaign-arrow{
    min-width:44px;min-height:44px;
  }
  #clear-filters,#page-prev,#page-next,#back-catalog,#back-page-catalog{
    min-height:44px;
  }
}


/* Página do produto — ações flutuantes sem sobreposição no celular */
@media(max-width:760px){
  .store-product-route .add-cart{
    bottom:max(10px,env(safe-area-inset-bottom));
  }
  .store-product-route .whatsapp-float{
    bottom:calc(82px + env(safe-area-inset-bottom));
  }
}


/* Cards de produto — botão Comprar em todas as vitrines */
.product-card-main{
  display:flex;
  flex:1 1 auto;
  min-width:0;
  flex-direction:column;
  color:inherit;
  text-decoration:none;
}
.product-card-action{
  padding:0 14px 14px;
}
.product-buy-button{
  width:100%;
  min-height:44px;
  border:0;
  border-radius:10px;
  padding:10px 12px;
  background:var(--red);
  color:#fff;
  font-size:13px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 7px 16px rgba(215,25,32,.16);
  transition:transform .15s ease,background .15s ease,box-shadow .15s ease;
}
.product-buy-button:hover:not(:disabled),
.product-buy-button:focus-visible:not(:disabled){
  background:#c9151c;
  transform:translateY(-1px);
  box-shadow:0 10px 20px rgba(215,25,32,.22);
  outline:none;
}
.product-buy-button:focus-visible{
  outline:3px solid #8588d4;
  outline-offset:2px;
}
.product-buy-button:disabled{
  background:#a9adb9;
  box-shadow:none;
  cursor:not-allowed;
}
@media(max-width:760px){
  .product-card-action{
    padding:0 10px 11px;
  }
  .product-buy-button{
    min-height:44px;
    padding:9px 8px;
    font-size:12px;
  }
}

body.cart-open,body.categories-open{overflow:hidden}


/* Home e catálogo — navegação mobile confortável com o polegar */
@media(max-width:760px){
  .cart-header-button{
    min-height:48px;
    padding:8px 2px;
  }
  .all-categories-button,
  .official-category-list .category-chip{
    min-height:44px;
  }
  .official-category-nav{
    scroll-behavior:smooth;
    overscroll-behavior-inline:contain;
    scrollbar-width:none;
  }
  .official-category-nav::-webkit-scrollbar{
    display:none;
  }
  .official-category-list .category-chip{
    scroll-snap-align:start;
  }
  .site-menu-bar{
    overscroll-behavior-inline:contain;
    scrollbar-width:none;
  }
  .site-menu-bar::-webkit-scrollbar{
    display:none;
  }
  .site-menu-bar a{
    display:inline-flex;
    align-items:center;
    min-height:44px;
  }
}


/* Home mobile — leitura sem sacrificar a grade de duas colunas */
@media(max-width:760px){
  .benefit-strip small{
    font-size:11px;
    line-height:1.35;
  }
  .official-product-grid .product-name{
    font-size:13px;
    line-height:1.35;
  }
  .official-product-grid .availability{
    font-size:12px;
    line-height:1.35;
  }
  .product-buy-button{
    font-size:13px;
  }
}


/* Produto mobile — leitura confortável dos detalhes */
@media(max-width:760px){
  .detail-description{
    font-size:14px;
    line-height:1.7;
  }
  .detail-trust-grid strong{
    font-size:12px;
  }
  .detail-trust-grid small{
    font-size:11px;
    line-height:1.45;
  }
  .detail-price-card small{
    font-size:12px;
    line-height:1.5;
  }
}


/* Avaliações de clientes — produto, Home, página geral e rodapé */
.review-stars{
  display:inline-block;
  color:#d89a00;
  letter-spacing:.06em;
  font-size:17px;
  line-height:1;
}
.review-summary{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  color:#6e7487;
  font-size:12px;
}
.review-summary strong{
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:var(--navy);
  font-size:20px;
}
.review-summary .review-stars{font-size:16px}
.customer-review-track{
  display:flex;
  gap:12px;
  overflow-x:auto;
  overflow-y:hidden;
  padding:2px 2px 10px;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  overscroll-behavior-inline:contain;
  scrollbar-width:none;
}
.customer-review-track::-webkit-scrollbar{display:none}
.customer-review-card{
  min-width:0;
  padding:18px;
  border:1px solid #e3e6ee;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 24px rgba(4,2,100,.05);
}
.customer-review-track .customer-review-card{
  flex:0 0 clamp(260px,30vw,390px);
  scroll-snap-align:start;
}
.customer-review-card.featured{
  border-color:#d7d9ef;
  box-shadow:0 10px 28px rgba(4,2,100,.08);
}
.customer-review-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:12px;
}
.verified-review{
  padding:5px 7px;
  border-radius:999px;
  background:#e8f7ef;
  color:#16794c;
  font-size:10px;
  font-weight:900;
}
.customer-review-card p{
  margin:0 0 15px;
  color:#34394b;
  font-size:14px;
  line-height:1.65;
}
.customer-review-card strong{
  display:block;
  color:var(--navy);
  font-size:14px;
}
.customer-review-card small{
  display:block;
  margin-top:3px;
  color:#7b8193;
  font-size:11px;
}
.review-link-button{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  color:var(--navy);
  font-size:12px;
  font-weight:900;
}
.customer-reviews-home .review-summary{margin:-4px 0 12px}
.product-review-section{
  margin-top:22px;
  padding:22px;
  border:1px solid var(--store-line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 28px rgba(4,2,100,.045);
}
.product-review-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:14px;
}
.product-review-heading h2{
  margin:5px 0 0;
  color:#11183e;
  font-size:22px;
}
.customer-review-list{
  display:grid;
  gap:10px;
}
.external-review-note{
  margin:-4px 0 14px;
  padding:10px 12px;
  border:1px solid #e3e5ef;
  border-radius:10px;
  background:#f8f9fc;
  color:#666d80;
  font-size:12px;
  line-height:1.5;
}
.customer-review-card.external-review strong{
  color:var(--navy);
}
.customer-review-card.external-review small{
  color:#777d90;
}
.external-rating-aggregate{
  border-style:solid;
}
.external-rating-source-link{
  display:inline-flex;
  align-items:center;
  width:max-content;
  min-height:34px;
  margin-top:8px;
  padding:6px 10px;
  border:1px solid #dfe2ec;
  border-radius:999px;
  color:var(--navy);
  background:#fff;
  font-size:11px;
  font-weight:850;
  text-decoration:none;
}
.external-rating-source-link:hover{
  border-color:#c8ccdc;
  background:#f7f8fc;
}
.product-review-list{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.review-empty{
  grid-column:1/-1;
  margin:0;
  padding:18px;
  border:1px dashed #d9dce8;
  border-radius:12px;
  background:#fafbfe;
  color:#777d90;
  font-size:13px;
  line-height:1.5;
}
.product-review-form-card{
  margin-top:16px;
  padding:18px;
  border:1px solid #e6e8ef;
  border-radius:14px;
  background:#fafbfe;
}
.product-review-form-card h3{
  margin:0 0 5px;
  color:var(--navy);
  font-size:18px;
}
.product-review-form-card>p{
  margin:0 0 14px;
  color:#72788a;
  font-size:12px;
  line-height:1.5;
}
.customer-review-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.customer-review-form label{
  display:grid;
  gap:6px;
  color:#242a47;
  font-size:12px;
  font-weight:800;
}
.customer-review-form label:has(textarea),
.customer-review-form .review-submit{
  grid-column:1/-1;
}
.customer-review-form input,
.customer-review-form select,
.customer-review-form textarea{
  width:100%;
  min-height:46px;
  border:1px solid #d8dbe6;
  border-radius:10px;
  padding:11px 12px;
  background:#fff;
  color:#171927;
  font:inherit;
}
.customer-review-form textarea{
  min-height:110px;
  resize:vertical;
}
.customer-review-form input:focus-visible,
.customer-review-form select:focus-visible,
.customer-review-form textarea:focus-visible,
.review-submit:focus-visible,
.review-link-button:focus-visible{
  outline:3px solid #8588d4;
  outline-offset:2px;
}
.review-submit{
  min-height:48px;
  border:0;
  border-radius:11px;
  padding:12px 16px;
  background:var(--red);
  color:#fff;
  font-weight:900;
}
.review-submit:disabled{opacity:.55;cursor:not-allowed}
.review-feedback{
  min-height:22px;
  margin:10px 0 0;
  color:#5c6274;
  font-size:12px;
  font-weight:750;
}
.review-honeypot{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
}
.reviews-page-view{
  width:min(100%,1220px);
  margin:0 auto;
}
.reviews-page-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);
  gap:20px;
  align-items:start;
}
.review-list-card .review-summary{margin:-12px 0 20px}
.review-form-card{
  position:sticky;
  top:18px;
}
.review-form-card h2{
  margin:6px 0 8px;
  color:var(--navy);
  font-size:26px;
}
.review-form-card>p{
  color:#6f7587;
  font-size:13px;
  line-height:1.55;
}
.review-form-card .customer-review-form{
  grid-template-columns:1fr;
}
.review-form-card .customer-review-form label,
.review-form-card .customer-review-form .review-submit{
  grid-column:auto;
}
.footer-review{
  max-width:500px;
  margin-top:18px;
}
.footer-review .customer-review-card{
  border-color:rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
  box-shadow:none;
}
.footer-review .customer-review-card p,
.footer-review .customer-review-card strong,
.footer-review .customer-review-card small{
  color:#fff;
}
.footer-review .customer-review-card small{opacity:.72}

@media(max-width:760px){
  .review-link-button{min-height:44px}
  .product-review-section{
    margin-top:14px;
    padding:14px;
    border-radius:14px;
  }
  .product-review-heading{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
  }
  .product-review-heading h2{font-size:19px}
  .product-review-list{grid-template-columns:1fr}
  .customer-review-form{grid-template-columns:1fr}
  .customer-review-form label,
  .customer-review-form label:has(textarea),
  .customer-review-form .review-submit{
    grid-column:auto;
  }
  .customer-review-form input,
  .customer-review-form select,
  .customer-review-form textarea{
    min-height:48px;
    font-size:16px;
  }
  .customer-review-track .customer-review-card{
    flex-basis:min(84vw,330px);
  }
  .reviews-page-grid{grid-template-columns:1fr}
  .review-form-card{position:static}
  .reviews-page-view .content-page-card{padding:22px 16px 26px}
}


.footer-review-link{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  margin-top:10px;
  color:#fff;
  font-size:13px;
  font-weight:850;
  text-decoration:underline;
  text-underline-offset:3px;
}


/* Resumo de avaliações nos cards e no detalhe do produto */
.product-rating-summary{
  display:flex;
  align-items:center;
  gap:6px;
  min-height:20px;
  margin:2px 0 3px;
  color:#72788a;
  font-size:11px;
  line-height:1.25;
}
.product-rating-stars{
  color:#d89a00;
  letter-spacing:.025em;
  font-size:14px;
  line-height:1;
  white-space:nowrap;
}
.product-rating-stars.unrated{
  color:#b9bec9;
  letter-spacing:.05em;
}
.product-rating-summary:has(.product-rating-stars.unrated) .product-rating-label{
  color:#747b8f;
  font-weight:800;
}
.product-rating-label{
  color:#6b7183;
  font-weight:750;
}
.detail-product-rating{
  width:max-content;
  max-width:100%;
  min-height:38px;
  margin:2px 0 4px;
  padding:7px 10px;
  border:1px solid #e2e5ee;
  border-radius:999px;
  background:#fff;
  cursor:pointer;
}
.detail-product-rating .product-rating-stars{font-size:17px}
.detail-product-rating .product-rating-label{
  color:#30364c;
  font-size:12px;
}
.detail-product-rating:hover{
  border-color:#c9cde2;
  background:#fafbff;
}
.detail-product-rating:focus-visible{
  outline:3px solid #8588d4;
  outline-offset:2px;
}
@media(max-width:760px){
  .product-rating-summary{font-size:10px}
  .product-rating-stars{font-size:13px}
  .detail-product-rating{
    min-height:44px;
    padding:9px 11px;
  }
  .detail-product-rating .product-rating-stars{font-size:16px}
  .detail-product-rating .product-rating-label{font-size:11px}
}


/* Seletor de estrelas clicáveis */
.review-star-picker{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:56px;
  padding:2px 0 4px;
}
.review-star-picker input[type="hidden"]{display:none}
.review-star-button{
  display:inline-grid;
  place-items:center;
  width:48px;
  height:48px;
  padding:0;
  border:0;
  border-radius:12px;
  background:transparent;
  color:#c8ccd7;
  font-size:38px;
  line-height:1;
  cursor:pointer;
  transform:scale(1);
  transform-origin:center;
  transition:color .16s ease, transform .12s ease, filter .16s ease;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}
.review-star-button.selected{
  color:#f2b01e;
  filter:drop-shadow(0 2px 3px rgba(216,154,0,.18));
}
.review-star-button:hover{
  transform:scale(1.06);
}
.review-star-button:active{
  transform:scale(.82);
}
.review-star-button.star-pressed{
  animation:review-star-press .28s cubic-bezier(.22,.9,.35,1);
}
.review-star-button:focus-visible{
  outline:3px solid #8588d4;
  outline-offset:2px;
}
@keyframes review-star-press{
  0%{transform:scale(1)}
  32%{transform:scale(.76)}
  66%{transform:scale(1.13)}
  100%{transform:scale(1)}
}
@media(prefers-reduced-motion:reduce){
  .review-star-button{
    transition:none;
  }
  .review-star-button.star-pressed{
    animation:none;
  }
}
@media(max-width:760px){
  .review-star-picker{
    gap:5px;
    min-height:58px;
  }
  .review-star-button{
    width:50px;
    height:50px;
    font-size:40px;
  }
}


@media(max-width:360px){
  .review-star-picker{gap:4px}
  .review-star-button{width:44px;height:50px;font-size:36px}
}

/* Feedback global de toque/clique em botões */
button:not(:disabled){
  -webkit-tap-highlight-color:transparent;
  transform-origin:center;
}
button:not(:disabled):not(.review-star-button):active{
  transform:scale(.92);
  filter:brightness(.78) saturate(1.22);
}
button.button-pressed:not(.review-star-button){
  animation:global-button-press .28s cubic-bezier(.22,.9,.35,1);
  filter:brightness(.78) saturate(1.22);
}
@keyframes global-button-press{
  0%{transform:scale(1);filter:brightness(1) saturate(1)}
  32%{transform:scale(.82);filter:brightness(.72) saturate(1.28)}
  66%{transform:scale(1.08);filter:brightness(.9) saturate(1.12)}
  100%{transform:scale(1);filter:brightness(1) saturate(1)}
}
@media(prefers-reduced-motion:reduce){
  button:not(:disabled):not(.review-star-button):active{transform:none}
  button.button-pressed:not(.review-star-button){animation:none}
}


/* Catálogo e variações dentro do carrinho, com controles confortáveis no celular. */
.cart-add-products,.cart-picker-add{width:100%;min-height:48px;border:1px solid var(--navy,#040264);border-radius:12px;background:#fff;color:var(--navy,#040264);font:inherit;font-weight:800;padding:12px;cursor:pointer}
.cart-product-picker{border:1px solid #dfe2ed;border-radius:14px;padding:14px;margin:14px 0;background:#f8f9fc}
.cart-product-picker[hidden]{display:none}
.cart-product-picker header{display:flex;align-items:center;justify-content:space-between;gap:10px}
.cart-product-picker h3{margin:0;font-size:18px}
.cart-product-picker header button{min-width:44px;min-height:44px;border:0;background:#fff;border-radius:10px;font-size:26px;cursor:pointer}
.cart-product-picker label{display:block;margin:12px 0 6px;font-weight:700}
.cart-product-picker input,.cart-product-picker select{width:100%;min-height:48px;padding:10px;border:1px solid #d7dbe8;border-radius:10px;background:#fff;color:#191d35;font:inherit;font-size:16px;box-sizing:border-box}
.cart-picker-search-row{display:flex;gap:8px}
.cart-picker-search-row input{min-width:0;flex:1}
.cart-picker-search-row button,#cart-picker-more{min-height:48px;border:1px solid #d7dbe8;border-radius:10px;background:#fff;font:inherit;font-weight:700;padding:10px;cursor:pointer}
#cart-picker-status{font-size:14px;line-height:1.5}
#cart-picker-results{display:grid;gap:8px;margin-top:14px}
.cart-picker-product{display:flex;align-items:center;text-align:left;gap:12px;width:100%;padding:10px;min-height:72px;border:1px solid #e0e3ed;border-radius:12px;background:#fff;font:inherit;cursor:pointer}
.cart-picker-product img,.cart-picker-product .image-placeholder{width:58px;height:58px;object-fit:contain;flex:none}
.cart-picker-product span{display:grid;gap:6px;min-width:0}
.cart-picker-product strong{font-size:14px;overflow-wrap:anywhere}
.cart-picker-selection{padding:12px;background:#fff;border:1px solid #d7dbe8;border-radius:12px}
.cart-picker-selection h4{margin:0 0 10px}
.cart-picker-photo img{width:100%;height:140px;object-fit:contain}
.cart-picker-add{margin-top:14px;background:var(--navy,#040264);color:#fff}
.cart-product-picker button:disabled{opacity:.55;cursor:wait}
#cart-picker-more{width:100%;margin-top:12px}

/* Cores do mesmo produto, sem sair do carrinho. */
#cart-add-products[hidden]{display:none}
.cart-mixed-colors p{font-size:13px;font-weight:750;margin:14px 0 8px}
.cart-color-choices{display:flex;flex-wrap:wrap;gap:8px}
.cart-color-choice{min-width:54px;min-height:64px;max-width:100%;border:1px solid #d9dbe7;border-radius:10px;background:#fff;padding:5px 8px;color:var(--navy);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px}
.cart-color-choice img{width:32px;height:32px;object-fit:contain;border-radius:6px}
.cart-color-choice span{font-size:12px}
.cart-color-choice:disabled{opacity:.45;cursor:not-allowed}
.cart-color-choice:focus-visible{outline:3px solid #040264;outline-offset:2px}
.cart-colors-retry{min-height:44px;background:#fff;border:1px solid #d9dbe7;border-radius:8px;margin-top:10px}

/* Toque e desaceleração nativos, sem capturar o gesto do celular. */
.campaign-track {
  position: absolute;
  inset: 0;
  z-index: 4;
  display: flex;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x pan-y pinch-zoom;
}
.campaign-track[hidden] { display: none; }
.campaign-track::-webkit-scrollbar { display: none; }
.campaign-track.is-single { overflow-x: hidden; }
.campaign-slide {
  display: block;
  flex: 0 0 100%;
  min-width: 0;
  height: 100%;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  background: #fff;
}
.campaign-slide picture { display: block; width: 100%; height: 100%; }
.campaign-track .campaign-image {
  position: static;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  transform: none;
  transition: none;
  touch-action: auto;
  user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: none;
}
.campaign-track.is-mouse-dragging { scroll-snap-type: none; cursor: grabbing; }
.campaign-track:focus-visible { outline: 3px solid #040264; outline-offset: -3px; }

/* Cards mais compactos: mantém fotos, legibilidade e área de toque do Comprar. */
.product-card .product-body{padding:8px 12px}
.product-card .product-name{margin:2px 0 4px;min-height:2.6em;line-height:1.3}
.product-card .product-rating-summary{min-height:18px;margin:0 0 2px}
.product-card .price-row{margin-top:3px;line-height:1.2}
.product-card .old-price{min-height:0;line-height:1.2}
.product-card .old-price:empty{display:none}
.product-card .availability{margin-top:3px;line-height:1.25}
.product-card .product-card-action{padding:0 12px 10px}
@media(max-width:760px){
  .product-card .product-body{padding:8px 10px 7px}
  .product-card .product-card-action{padding:0 10px 8px}
}

/* Topo compacto: quantidade na mesma linha do ícone do carrinho. */
.official-header{padding-top:10px;padding-bottom:10px}
.official-logo{width:180px;min-height:48px}
.store-logo-image{max-height:60px}
.cart-header-button{flex-wrap:nowrap}
.cart-header-button .cart-badge{position:static;flex-shrink:0;align-self:center}
@media(max-width:760px){
  .official-header{padding:6px 12px;gap:6px 10px}
  .official-logo{width:min(140px,100%);height:48px;min-height:0;padding:4px 8px}
  .official-logo.has-real-logo{display:flex;align-items:center}
  .store-logo-image{max-height:48px;max-width:100%;width:auto}
  .logo-main{font-size:23px}
  .logo-sub{font-size:7px;letter-spacing:.1em}
  .cart-header-button{min-height:44px;min-width:0;padding:6px 9px;gap:6px}
  .cart-header-button .cart-icon{display:flex;align-items:center}
  .cart-header-button .cart-icon svg{width:24px;height:24px}
  .official-search{height:48px}
  .official-search button{min-height:48px}
}

/* Busca com sugestões reais, sem aumentar a altura do topo. */
.official-search{position:relative;overflow:visible}
.official-search>button[type="submit"]{border-radius:0 10px 10px 0}
.search-suggestions{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:60;max-height:min(420px,55dvh);overflow-y:auto;overscroll-behavior:contain;padding:8px;background:#fff;border:1px solid #e0e3ef;border-radius:14px;box-shadow:0 14px 38px #04026426}
.search-suggestions[hidden],.search-suggestions [hidden]{display:none!important}
.search-suggestion-status{margin:4px 8px 8px;font-size:12px;line-height:1.4;color:#647087}
.search-suggestion{display:flex;align-items:center;gap:12px;min-height:60px;padding:8px;border-radius:10px;color:#040264;text-decoration:none}
.search-suggestion:hover,.search-suggestion[aria-selected="true"]{background:#f0f2fa}
.search-suggestion-thumb{display:grid;place-items:center;flex-shrink:0;width:48px;height:48px;background:#f7f8fc;border:1px solid #edf0f5;border-radius:8px;overflow:hidden}
.search-suggestion-thumb img{width:100%;height:100%;object-fit:contain}
.search-suggestion-no-photo{font-size:10px;text-align:center;color:#788197}
.search-suggestion-name{min-width:0;font-size:14px;font-weight:750;line-height:1.3;overflow-wrap:anywhere}
.official-search .search-suggestion-all{width:100%;min-height:44px;margin-top:5px;padding:10px;border-radius:10px;background:#f0f2fa;color:#040264;font-size:13px;font-weight:800}
.search-suggestion-all:focus-visible{outline:2px solid #040264;outline-offset:-2px}
@media(max-width:760px){
  .search-suggestions{max-height:45dvh;padding:6px}
  .search-suggestion{gap:10px;padding:7px;min-height:58px}
  .search-suggestion-name{font-size:13px}
}


/* Rodapé premium — referência accordion mobile */
.store-footer{
  display:block;
  padding:0;
  border-top:3px solid var(--red);
  background:#05063a;
  color:#fff;
  box-shadow:none;
}
.footer-shell{
  width:min(100%,var(--store-content));
  margin:0 auto;
  padding:52px clamp(18px,4vw,58px) 34px;
}
.footer-accordion-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:36px;
}
.footer-group{
  min-width:0;
  border:0;
}
.footer-group[hidden]{
  display:none!important;
}
.footer-group summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:44px;
  color:#fff;
  font-size:16px;
  font-weight:800;
  letter-spacing:.01em;
  cursor:default;
}
.footer-group summary::-webkit-details-marker{
  display:none;
}
.footer-plus{
  display:none;
}
.footer-group-content{
  padding-top:14px;
}
.footer-group-links,
.footer-info-list{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:10px;
}
.footer-group-links a,
.footer-link-button{
  width:max-content;
  min-width:0;
  max-width:100%;
  overflow-wrap:anywhere;
  margin:0;
  padding:2px 0;
  border:0;
  background:transparent;
  color:rgba(255,255,255,.74);
  font:inherit;
  font-size:13px;
  line-height:1.5;
  text-align:left;
  text-decoration:none;
  cursor:pointer;
  transition:color .15s ease,transform .15s ease;
}
.footer-group-links a:hover,
.footer-group-links a:focus-visible,
.footer-link-button:hover,
.footer-link-button:focus-visible{
  color:#fff;
  transform:translateX(2px);
  outline:none;
  text-decoration:underline;
  text-underline-offset:4px;
}
.footer-info-list span{
  color:rgba(255,255,255,.68);
  font-size:13px;
  line-height:1.5;
}
.footer-review-link{
  margin:0;
}
.footer-review{
  margin-top:14px;
}
.footer-brand-block{
  display:flex;
  flex-direction:column;
  align-items:center;
  margin-top:52px;
  padding-top:38px;
  border-top:1px solid rgba(255,255,255,.14);
  text-align:center;
}
.footer-brand-logo{
  display:block;
  width:auto;
  max-width:min(300px,78vw);
  max-height:92px;
  object-fit:contain;
  filter:grayscale(1) brightness(0) invert(1);
  opacity:.98;
}
.footer-brand-text{
  display:block;
  color:#fff;
  font-size:clamp(24px,3vw,38px)!important;
  font-weight:900;
  letter-spacing:.14em!important;
  line-height:1.15;
}
.footer-brand-description{
  max-width:620px!important;
  margin:14px auto 0!important;
  color:rgba(255,255,255,.68)!important;
  text-align:center;
}
.footer-payment-badges{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px;
  margin-top:26px;
}
.footer-payment-badges span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:7px 12px;
  border:1px solid rgba(4,2,100,.12);
  border-radius:6px;
  background:#fff;
  color:#040264;
  font-size:12px;
  font-weight:900;
  box-shadow:0 4px 14px rgba(0,0,0,.12);
}
.footer-copyright,
.footer-location{
  max-width:none!important;
  margin:22px 0 0!important;
  color:rgba(255,255,255,.78)!important;
  font-size:12px!important;
  line-height:1.5!important;
  text-align:center;
}
.footer-location{
  margin-top:8px!important;
  color:rgba(255,255,255,.56)!important;
}

@media(max-width:760px){
  .footer-shell{
    padding:12px 22px calc(28px + env(safe-area-inset-bottom));
  }
  .footer-accordion-grid{
    display:block;
  }
  .footer-group{
    border-bottom:1px solid rgba(255,255,255,.22);
  }
  .footer-group summary{
    min-height:72px;
    padding:0;
    font-size:18px;
    cursor:pointer;
  }
  .footer-plus{
    display:block;
    flex:0 0 auto;
    color:rgba(255,255,255,.92);
    font-size:30px;
    font-weight:300;
    line-height:1;
    transition:transform .18s ease;
  }
  .footer-group[open] .footer-plus{
    transform:rotate(45deg);
  }
  .footer-group-content{
    padding:0 0 20px;
  }
  .footer-group-links,
  .footer-info-list{
    gap:12px;
  }
  .footer-group-links a,
  .footer-link-button,
  .footer-info-list span{
    font-size:14px;
  }
  .footer-brand-block{
    margin-top:42px;
    padding-top:0;
    border-top:0;
  }
  .footer-brand-text{
    font-size:clamp(24px,8vw,32px)!important;
    letter-spacing:.08em!important;
  }
  .footer-brand-logo{
    max-width:min(250px,78vw);
    max-height:78px;
  }
  .footer-payment-badges{
    margin-top:22px;
    gap:7px;
  }
  .footer-payment-badges span{
    min-height:32px;
    padding:6px 9px;
    font-size:11px;
  }
  .footer-copyright{
    margin-top:20px!important;
    font-size:11px!important;
  }
  .footer-location{
    font-size:11px!important;
  }
}


/* Rodapé compacto — reduzir espaçamento vertical sem perder legibilidade */
.footer-shell{
  padding-top:36px;
  padding-bottom:24px;
}
.footer-group summary{
  min-height:36px;
  line-height:1.2;
}
.footer-group-content{
  padding-top:8px;
}
.footer-group-links,
.footer-info-list{
  gap:6px;
}
.footer-group-links a,
.footer-link-button,
.footer-info-list span{
  line-height:1.32;
}
.footer-group-links a,
.footer-link-button{
  padding:1px 0;
}
.footer-review{
  margin-top:8px;
}
.footer-brand-block{
  margin-top:34px;
  padding-top:24px;
}
.footer-brand-description{
  margin-top:8px!important;
  line-height:1.4!important;
}
.footer-payment-badges{
  margin-top:16px;
}
.footer-copyright,
.footer-location{
  line-height:1.3!important;
}
.footer-copyright{
  margin-top:14px!important;
}
.footer-location{
  margin-top:4px!important;
}

@media(max-width:760px){
  .footer-shell{
    padding:8px 20px calc(20px + env(safe-area-inset-bottom));
  }
  .footer-group summary{
    min-height:52px;
    font-size:16px;
  }
  .footer-group-content{
    padding:0 0 12px;
  }
  .footer-group-links,
  .footer-info-list{
    gap:8px;
  }
  .footer-group-links a,
  .footer-link-button,
  .footer-info-list span{
    font-size:13px;
    line-height:1.32;
  }
  .footer-brand-block{
    margin-top:26px;
  }
  .footer-payment-badges{
    margin-top:14px;
  }
  .footer-copyright{
    margin-top:14px!important;
  }
}


/* Descrições de produto — leitura compacta e consistente */
.detail-description{
  line-height:1.58;
}
@media(max-width:760px){
  .detail-description{
    line-height:1.55;
  }
}

/* Technical facts shown only when present in the registered product. */
.detail-specifications-card{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.detail-specifications-card h2{margin:0 0 12px;color:var(--navy);font-size:18px;line-height:1.3}
.detail-specifications-list{margin:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 14px}
.detail-specification-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;min-width:0;padding:10px 0;border-bottom:1px solid var(--line)}
.detail-specification-row dt{color:var(--muted);font-size:13px;line-height:1.45}
.detail-specification-row dd{margin:0;font-size:13px;font-weight:650;text-align:right;color:var(--navy);overflow-wrap:anywhere}
@media(max-width:760px){.detail-specifications-list{grid-template-columns:minmax(0,1fr)}.detail-specification-row{gap:12px;padding:9px 0}}

/* Homologação — menu de categorias uniforme no desktop (2026-10-12).
   O botão "Todas as categorias" permanece disponível apenas no mobile. */
@media (min-width: 761px) {
  .official-category-nav {
    display: block;
    overflow: visible;
    padding-top: 9px;
    padding-bottom: 9px;
  }
  .official-category-nav > .all-categories-button {
    display: none;
  }
  .official-category-nav > .official-category-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: stretch;
    justify-content: center;
    width: 100%;
    max-width: var(--store-content, 1600px);
    margin-inline: auto;
    gap: 4px 8px;
    white-space: normal;
  }
  .official-category-list > .category-nav-group {
    display: flex;
    width: 100%;
    min-width: 0;
  }
  .official-category-list .category-nav-group > .category-chip {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    min-height: 44px;
    padding: 9px 8px;
    color: var(--navy);
    background: #fff;
    border: 0;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 750;
    line-height: 1.25;
    text-align: center;
    white-space: normal;
  }
  .official-category-list .category-nav-group > .category-chip:hover,
  .official-category-list .category-nav-group > .category-chip:focus-visible {
    background: #f0f2fa;
  }
  .official-category-list .category-nav-group > .category-chip:focus-visible {
    outline: 2px solid var(--navy);
    outline-offset: -2px;
  }
}
@media (min-width: 1180px) {
  .official-category-nav > .official-category-list {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}

/* Navegação principal compacta; categorias continuam no catálogo e no rodapé. */
.official-header{position:sticky;top:0;z-index:50;box-shadow:0 3px 14px rgba(4,2,100,.06)}
.official-category-nav[hidden],#site-header-menu[hidden]{display:none}
.store-primary-nav{display:flex;justify-content:center;align-items:center;gap:clamp(12px,4vw,56px);padding:4px 12px;background:#fff;border-bottom:1px solid var(--line)}
.store-primary-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 14px;color:var(--navy);text-decoration:none;font-size:14px;font-weight:750;border-radius:8px}
.store-primary-nav a:hover{background:#f0f2fa}
.store-primary-nav a:focus-visible{outline:2px solid var(--navy);outline-offset:-2px}
#home-products-block{scroll-margin-top:190px}
@media(max-width:760px){.store-primary-nav{gap:8px}.store-primary-nav a{padding:8px 10px;font-size:13px}#home-products-block{scroll-margin-top:180px}}

/* A página Produtos apresenta somente o catálogo; Início mantém seus blocos. */
.store-catalog-only #catalog-view > :not(#home-products-block){display:none}

/* Não exibir a arte demonstrativa enquanto a imagem cadastrada carrega. */
.campaign-banner .campaign-copy,.campaign-banner .campaign-products,.campaign-banner .campaign-board,
.campaign-banner::before,.campaign-banner::after,.campaign-banner .summer-decoration{display:none}
.campaign-banner:not(.has-campaign-image){background:#f1f3f8}
.campaign-loading{position:absolute;inset:0;display:grid;place-items:center;color:#69748a;font-size:14px}
.campaign-banner.has-campaign-image .campaign-loading{display:none}
.campaign-banner.campaign-unavailable{display:none}

.installment-suggestion{display:block;color:#26334f;font-size:.92rem;font-weight:600;line-height:1.45;margin:6px 0}.installment-suggestion[hidden]{display:none}.installment-disclaimer{display:block;color:#667085;font-size:.78rem;line-height:1.4;margin:4px 0 12px}

.installment-suggestion{display:inline-flex;align-items:center;justify-content:center;width:fit-content;max-width:100%;padding:4px 8px;margin:5px 0 7px;border:1px solid #e2e5ec;border-radius:7px;background:#f5f6f9;color:#566075;font-size:.78rem;font-weight:500;line-height:1.25;letter-spacing:0;box-shadow:none}.installment-suggestion[hidden]{display:none}

.campaign-banner.has-campaign-image .campaign-status { display:none; }
