:root{--glee-red:#b5122c;--glee-ink:#11100f;--glee-paper:#f3efe8;--glee-line:rgba(17,16,15,.13)}
.glee-shop-hero{min-height:calc(100svh - var(--header-h));display:flex;flex-direction:column;justify-content:space-between;padding:clamp(70px,8vw,140px) clamp(22px,6vw,110px) 40px;background:var(--glee-ink);color:#fff;overflow:hidden}.glee-shop-hero>p{font-size:9px;font-weight:800;letter-spacing:.17em}.glee-shop-hero>p span{display:inline-block;width:34px;height:2px;margin-right:12px;vertical-align:middle;background:var(--glee-red)}.glee-shop-hero>div{display:grid;grid-template-columns:1.4fr .6fr;align-items:end;gap:8vw}.glee-shop-hero h1{margin:0;font-size:clamp(100px,17vw,320px);line-height:.7;letter-spacing:-.07em}.glee-shop-hero h1 em{color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.65);font-family:Georgia,serif;font-weight:400}.glee-shop-hero>div>p{max-width:420px;margin:0;color:#aaa39d;font-size:clamp(14px,1.3vw,20px);line-height:1.7}.glee-shop-hero footer{display:flex;justify-content:space-between;padding-top:24px;border-top:1px solid rgba(255,255,255,.18);font-size:8px;letter-spacing:.15em}.glee-shop-shell{display:grid;grid-template-columns:minmax(250px,19vw) 1fr;align-items:start;background:var(--glee-paper)}.glee-shop-filters{position:sticky;top:0;max-height:100svh;overflow:auto;border-right:1px solid var(--glee-line)}.glee-shop-content{min-width:0;padding:0 clamp(18px,3vw,58px) 110px}.glee-shop-toolbar{min-height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--glee-line);font-size:10px;letter-spacing:.1em}.glee-shop-toolbar p{margin:0}.glee-shop-toolbar select{padding:13px 36px 13px 12px;border:1px solid var(--glee-line);background:transparent}.glee-shop-content ul.products{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(22px,3vw,58px) clamp(16px,2vw,34px);margin:55px 0 0!important;padding:0!important}.glee-product-card{float:none!important;width:auto!important;margin:0!important;list-style:none}.glee-product-card__media{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;background:#e8e2da}.glee-product-card__media img{width:100%!important;height:100%!important;margin:0!important;object-fit:contain;transition:transform .85s cubic-bezier(.22,1,.36,1)}.glee-product-card:hover .glee-product-card__media img{transform:scale(1.035)}.glee-product-card__badge{position:absolute;z-index:2;left:16px;top:16px;padding:8px 10px;background:var(--glee-red);color:#fff;font-size:8px;font-weight:900;letter-spacing:.13em}.glee-product-card__overlay{position:absolute;z-index:3;inset:auto 14px 14px;display:flex;align-items:center;justify-content:space-between;padding:18px 20px;background:rgba(255,255,255,.82);backdrop-filter:blur(16px);opacity:0;transform:translateY(14px);transition:.45s cubic-bezier(.22,1,.36,1)}.glee-product-card:hover .glee-product-card__overlay{opacity:1;transform:none}.glee-product-card__overlay b{font-size:9px;letter-spacing:.13em}.glee-product-card__info{padding:20px 2px 0}.glee-product-card__info>p{margin:0 0 8px;color:#7d766f;font-size:9px;font-weight:800;letter-spacing:.14em}.glee-product-card__info h2{margin:0;font-size:clamp(19px,1.7vw,30px);line-height:1.05;letter-spacing:-.035em}.glee-product-card__info>div{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-top:20px}.glee-product-card__info strong{font-size:clamp(18px,1.5vw,26px)}.glee-product-card__info strong del{color:#9b948d;font-size:.7em}.glee-product-card__info strong ins{text-decoration:none}.glee-product-card__info small{color:#706a64;font-size:10px}.glee-filter-open{display:none}.woocommerce-pagination{margin-top:70px}.woocommerce-pagination ul{display:flex;gap:8px;margin:0!important;padding:0!important;border:0!important}.woocommerce-pagination li{border:0!important}.woocommerce-pagination a,.woocommerce-pagination span{display:grid!important;place-items:center;width:46px;height:46px;border:1px solid var(--glee-line)!important}.woocommerce-pagination .current{background:var(--glee-ink)!important;color:#fff!important}
@media(max-width:900px){.glee-shop-hero>div{grid-template-columns:1fr}.glee-shop-shell{grid-template-columns:1fr}.glee-shop-filters{position:static;max-height:none;border:0}.glee-shop-content{padding-inline:20px}.glee-filter-open{position:sticky;z-index:20;top:10px;display:flex;justify-content:space-between;width:100%;margin:18px 0;padding:18px;border:0;background:var(--glee-ink);color:#fff;font-size:10px;font-weight:900;letter-spacing:.13em}.glee-shop-content ul.products{grid-template-columns:1fr 1fr;gap:34px 12px}.glee-product-card__overlay{display:none}.glee-product-card__info>div{align-items:start;flex-direction:column;gap:5px}}
@media(max-width:560px){.glee-shop-hero{min-height:82svh}.glee-shop-hero h1{font-size:27vw}.glee-shop-content ul.products{grid-template-columns:1fr}.glee-product-card__info h2{font-size:24px}.glee-product-card__info strong{font-size:22px}}

/* Namespace proprio: evita colisao com o reveal generico do tema-base. */
.glee-product-card.glee-card-reveal{opacity:0;transform:translateY(34px);transition:opacity .7s cubic-bezier(.22,1,.36,1) var(--glee-card-delay,0ms),transform .7s cubic-bezier(.22,1,.36,1) var(--glee-card-delay,0ms)}
.glee-product-card.glee-card-visible{opacity:1;transform:none}

.glee-home-products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,2vw,30px);margin:50px 0 0!important;padding:0!important}
.product-gallery__rail button{display:block;width:100%;padding:0;border:1px solid transparent;background:none;cursor:pointer}.product-gallery__rail button.is-active{border-color:#111}.product-gallery__rail img{display:block;width:100%;height:auto}.product-gallery__stage figure{display:none;width:100%;height:100%;margin:0}.product-gallery__stage figure.is-active{display:grid;place-items:center}.product-gallery__stage figure img{width:100%;height:100%;object-fit:contain}.product-buy .cart{display:grid;grid-template-columns:auto 1fr;gap:12px;width:100%}.product-buy .quantity input{width:76px;height:58px;text-align:center}.product-buy .single_add_to_cart_button{min-height:58px;padding:0 28px;border:0;background:#111;color:#fff;font-size:11px;font-weight:800;letter-spacing:.1em;cursor:pointer}.product-buy .single_add_to_cart_button:hover{background:var(--glee-red)}
@media(max-width:900px){.glee-home-products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.glee-home-products{grid-template-columns:1fr}.product-buy .cart{grid-template-columns:1fr}.product-buy .quantity input{width:100%}}

/* Catalogo editorial full-width + drawer AJAX */
.glee-shop{min-height:100svh;padding-top:calc(var(--header-h) + 34px);background:var(--glee-paper)}
.glee-shop-bar{min-height:112px;padding:22px clamp(20px,4vw,72px);display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--glee-line);background:var(--glee-paper)}
.glee-shop-bar>div{display:flex;align-items:center;gap:18px}.glee-shop-bar p{margin:0;font-size:8px;font-weight:900;letter-spacing:.16em}.glee-shop-bar strong{padding-left:18px;border-left:1px solid var(--glee-line);color:#817970;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.glee-filter-open{min-width:min(360px,42vw);min-height:58px;padding:0 20px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:16px;border:1px solid var(--glee-ink);background:transparent;color:var(--glee-ink);cursor:pointer;text-align:left;font-size:9px;font-weight:900;letter-spacing:.14em;transition:color .3s,background .3s}.glee-filter-open:hover{color:#fff;background:var(--glee-ink)}.glee-filter-open b{min-width:28px;height:28px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--glee-red);font-size:8px}.glee-filter-open i{font:400 22px/1 Arial;transition:transform .3s}.glee-filter-open[aria-expanded=true] i{transform:rotate(45deg)}
.glee-shop-content{position:relative;width:100%;padding:clamp(36px,4vw,72px) clamp(18px,4vw,72px) 120px;transition:opacity .25s}.glee-shop.is-loading .glee-shop-content{opacity:.42;pointer-events:none}.glee-shop.is-loading::after{content:"";position:fixed;z-index:1005;left:0;top:0;width:100%;height:2px;background:var(--glee-red);animation:gleeAjaxLine 1s ease-in-out infinite}@keyframes gleeAjaxLine{0%{transform:translateX(-100%) scaleX(.25)}55%{transform:translateX(10%) scaleX(.55)}100%{transform:translateX(100%) scaleX(.25)}}
.glee-shop-content ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(34px,4vw,72px) clamp(12px,1.8vw,30px);margin:0!important;padding:0!important}.glee-shop-content .glee-product-card__info h2{font-size:clamp(18px,1.55vw,28px)}
.glee-active-filters{min-height:0;display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px}.glee-active-filters:empty{display:none}.glee-active-filters>span{display:inline-flex;align-items:center;gap:10px;padding:9px 11px;border:1px solid var(--glee-line);border-radius:999px;background:#fff;font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.glee-active-filters button{width:17px;height:17px;padding:0;border:0;border-radius:50%;color:#fff;background:var(--glee-ink);cursor:pointer;line-height:16px}
.woocommerce-pagination{display:flex;justify-content:center}
.glee-load-more{display:grid;place-items:center;gap:14px;margin:clamp(62px,8vw,120px) auto 0}.glee-load-more__button{position:relative;width:min(520px,100%);min-height:72px;padding:0 25px;display:grid;grid-template-columns:1fr auto;align-items:center;border:1px solid var(--glee-ink);color:#fff;background:var(--glee-ink);cursor:pointer;overflow:hidden;font:900 10px/1 Manrope,sans-serif;letter-spacing:.16em;text-align:left;transition:color .35s,background .35s,transform .35s}.glee-load-more__button::before{content:"";position:absolute;inset:0;background:var(--glee-red);transform:translateX(-102%);transition:transform .55s cubic-bezier(.22,1,.36,1)}.glee-load-more__button:hover::before,.glee-load-more__button.is-loading::before{transform:none}.glee-load-more__button span,.glee-load-more__button i{position:relative;z-index:1}.glee-load-more__button i{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.35);border-radius:50%;font:400 21px/1 Arial;transition:transform .4s}.glee-load-more__button:hover i{transform:rotate(90deg)}.glee-load-more__button.is-loading i{animation:gleeLoadSpin .75s linear infinite}.glee-load-more__button:disabled{cursor:wait}.glee-load-more>p{margin:0;color:#817970;font-size:8px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.glee-load-more.is-complete .glee-load-more__button{cursor:default;color:var(--glee-ink);background:transparent}.glee-load-more-entry{animation:gleeLoadCard .7s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--glee-load-index,0) * 45ms)}@keyframes gleeLoadSpin{to{transform:rotate(360deg)}}@keyframes gleeLoadCard{from{opacity:0;transform:translateY(34px)}to{opacity:1;transform:none}}

/* WooCommerce sem caixa central e relacionados em grade editorial */
.glee-commerce-shell,.single-product .glee-commerce-shell{width:100%;max-width:none;margin:0;padding:0;overflow:hidden}
.glee-single-product{width:100%;max-width:none;margin:0}.glee-single-product .product-hero{width:100%;max-width:none;margin:0}
.recommendations ul.products,.related.products ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,2vw,34px);margin:52px 0 0!important;padding:0!important}.recommendations li.product,.related.products li.product{float:none!important;width:auto!important;margin:0!important}

/* Logos atualizadas */
.brand img{width:auto;height:auto;max-width:190px;max-height:58px;object-fit:contain}.footer__top>img{width:min(250px,100%);height:auto;filter:none}.footer__brand-signature{flex:0 0 auto;width:100%;height:15.21vw;margin:0;padding:0;overflow:hidden;line-height:0}/* The signature is a crop: the image is laid out wider than the viewport and pulled
   by negative margins so the wordmark's own top-left corner lands at 0,0 and the
   bottom bleeds off. Those offsets are the content's edges inside the file, so they
   have to be recomputed whenever the artwork changes — logo-signature.png measures
   1638x390 with the wordmark at x 78-1579, y 47-314. invert() turns the black
   artwork white so the .17 opacity reads against the near-black footer. */
.footer__brand-signature img{display:block;width:109.13vw;height:auto;max-width:none;margin:-3.13vw 0 0 -5.20vw;padding:0;opacity:.17;filter:invert(1)}

@media(max-width:1000px){.glee-shop-content ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}.recommendations ul.products,.related.products ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.glee-shop{padding-top:calc(var(--header-h) + 28px)}.glee-shop-bar{align-items:flex-start;flex-direction:column;padding:22px 18px}.glee-filter-open{width:100%;min-width:0}.glee-shop-content{padding-inline:16px}.glee-shop-content ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 10px}.glee-product-card__info{padding-top:14px}.glee-product-card__info h2,.glee-shop-content .glee-product-card__info h2{font-size:18px}.glee-product-card__info>div{margin-top:12px}.glee-product-card__info strong{font-size:18px}.glee-product-card__info small{font-size:8px}}
@media(max-width:440px){.glee-shop-bar>div{width:100%;justify-content:space-between}.glee-shop-content ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}.recommendations ul.products,.related.products ul.products{grid-template-columns:1fr}.brand img{max-width:150px}}

/* Sacola editorial: preview no hover + drawer real do WooCommerce */
.glee-cart-is-open{overflow:hidden}
.favorite-button svg{fill:none;stroke:currentColor;stroke-width:1.35;stroke-linejoin:round}
.glee-cart-preview{position:fixed;z-index:1000;top:calc(34px + var(--header-h) + 10px);right:4.5vw;width:min(390px,calc(100vw - 32px));max-height:min(610px,calc(100dvh - 140px));overflow:auto;overscroll-behavior:contain;padding:22px;color:#111;background:rgba(249,246,240,.96);border:1px solid rgba(17,16,15,.13);box-shadow:0 28px 80px rgba(20,15,12,.2);backdrop-filter:blur(18px);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-10px);transition:opacity .25s,visibility .25s,transform .35s cubic-bezier(.22,1,.36,1)}
.glee-cart-preview.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.glee-cart-preview__heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px;padding-bottom:14px;border-bottom:1px solid var(--glee-line);font-size:8px;font-weight:900;letter-spacing:.15em}
.glee-cart-preview__heading .glee-cart-count{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--glee-ink);font-size:8px}
.glee-cart-backdrop{position:fixed;z-index:1100;inset:0;background:rgba(12,10,9,.5);backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}
.glee-cart-backdrop.is-open{opacity:1;visibility:visible}
.glee-cart-drawer{position:fixed;z-index:1101;inset:0 0 0 auto;width:min(540px,100vw);height:100vh;height:100dvh;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;color:#111;background:#f4f0e9;box-shadow:-28px 0 80px rgba(16,14,12,.2);transform:translateX(104%);transition:transform .58s cubic-bezier(.22,1,.36,1)}
.glee-cart-drawer.is-open{transform:none}
.glee-cart-drawer__heading{position:sticky;z-index:3;top:0;min-height:118px;padding:28px 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(0,0,0,.14);background:rgba(244,240,233,.94);backdrop-filter:blur(16px)}
.glee-cart-drawer__heading>div{display:grid;gap:9px}.glee-cart-drawer__heading small{color:#8b847c;font-size:8px;font-weight:800;letter-spacing:.18em}.glee-cart-drawer__heading strong{font:800 28px/1 "Barlow Condensed",sans-serif}.glee-cart-drawer__heading button{width:46px;height:46px;border:1px solid rgba(0,0,0,.18);border-radius:50%;background:transparent;font-size:24px;cursor:pointer;transition:.3s}.glee-cart-drawer__heading button:hover{color:#fff;background:#111;transform:rotate(90deg)}
.glee-cart-drawer>.widget_shopping_cart_content{padding:0 32px 42px}
.woocommerce-mini-cart{margin:0;padding:0;list-style:none}
.woocommerce-mini-cart-item{position:relative;min-height:124px;margin:0;padding:24px 34px 24px 0;border-bottom:1px solid rgba(0,0,0,.11)}
.woocommerce-mini-cart-item>a:not(.remove){display:grid;grid-template-columns:88px 1fr;align-items:center;gap:18px;font:800 17px/1.12 "Barlow Condensed",sans-serif;text-transform:uppercase}
.woocommerce-mini-cart-item img{grid-column:1;grid-row:1/3;width:88px!important;height:100px!important;margin:0!important;object-fit:contain;background:#e9e3db}
.woocommerce-mini-cart-item .remove{position:absolute;z-index:2;right:0;top:22px;width:28px;height:28px;display:grid;place-items:center;border:1px solid rgba(0,0,0,.16);border-radius:50%;font-size:18px;line-height:1}
.woocommerce-mini-cart-item .quantity{display:block;margin:-26px 0 0 106px;color:#7d756e;font-size:10px;font-weight:700;letter-spacing:.05em}
.woocommerce-mini-cart__total{margin:0;padding:25px 0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(0,0,0,.11);font-size:9px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.woocommerce-mini-cart__total .woocommerce-Price-amount{font:800 25px/1 "Barlow Condensed",sans-serif;letter-spacing:0}
.woocommerce-mini-cart__buttons{margin:24px 0 0;display:grid;grid-template-columns:1fr 1.25fr;gap:10px}.woocommerce-mini-cart__buttons a{min-height:54px;padding:0 14px;display:flex!important;align-items:center;justify-content:center;border:1px solid #111;background:transparent!important;color:#111!important;font-size:9px!important;font-weight:900!important;letter-spacing:.09em!important;text-align:center;text-transform:uppercase}.woocommerce-mini-cart__buttons .checkout{color:#fff!important;background:#111!important}.woocommerce-mini-cart__buttons a:hover{color:#fff!important;background:var(--glee-red)!important;border-color:var(--glee-red)}
.woocommerce-mini-cart__empty-message{min-height:260px;margin:0;display:grid;place-items:center;color:#817970;font:700 12px/1.6 "Manrope",sans-serif;text-align:center}
.glee-cart-preview .woocommerce-mini-cart-item{min-height:88px;padding-block:14px}.glee-cart-preview .woocommerce-mini-cart-item>a:not(.remove){grid-template-columns:62px 1fr;font-size:14px}.glee-cart-preview .woocommerce-mini-cart-item img{width:62px!important;height:70px!important}.glee-cart-preview .woocommerce-mini-cart-item .remove{top:12px}.glee-cart-preview .woocommerce-mini-cart-item .quantity{margin:-19px 0 0 80px}.glee-cart-preview .woocommerce-mini-cart__total{padding-block:18px}.glee-cart-preview .woocommerce-mini-cart__buttons{margin-top:16px}.glee-cart-preview .woocommerce-mini-cart__buttons a{min-height:44px;font-size:8px!important}
.mobile-menu__commerce{display:none}
@media(max-width:900px){.glee-cart-preview{display:none}.mobile-menu__commerce{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:auto;padding-top:22px}.mobile-menu__commerce a,.mobile-menu__commerce button{min-height:54px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(255,255,255,.25);color:#fff;background:transparent;font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.mobile-menu__commerce button{font:inherit}.mobile-menu__commerce .glee-cart-count{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;color:#111;background:#fff;font-size:8px}}
@media(max-width:560px){.glee-cart-drawer__heading{min-height:96px;padding:22px}.glee-cart-drawer>.widget_shopping_cart_content{padding-inline:22px}.woocommerce-mini-cart-item>a:not(.remove){grid-template-columns:76px 1fr;font-size:15px}.woocommerce-mini-cart-item img{width:76px!important;height:88px!important}.woocommerce-mini-cart-item .quantity{margin-left:94px}.woocommerce-mini-cart__buttons{grid-template-columns:1fr}.mobile-menu__commerce{grid-template-columns:1fr}}
.glee-product-card__info>.glee-product-card__actions{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);align-items:stretch;gap:8px;margin-top:22px}.glee-card-quick,.glee-card-add{min-height:48px;padding:0 13px;display:flex;align-items:center;justify-content:center;gap:12px;border:1px solid var(--glee-line);background:transparent;color:var(--glee-ink);font:800 8px/1.2 Manrope,sans-serif;letter-spacing:.08em;text-align:center;cursor:pointer;transition:color .3s,background .3s,border-color .3s,transform .3s}.glee-card-quick:hover{border-color:var(--glee-ink);transform:translateY(-2px)}.glee-card-add{justify-content:space-between;border-color:var(--glee-ink);background:var(--glee-ink);color:#fff}.glee-card-add:hover,.glee-card-add.loading{border-color:var(--glee-red);background:var(--glee-red);transform:translateY(-2px)}.glee-card-add.added{border-color:#28734f;background:#28734f}.glee-card-add span{font-size:15px;font-weight:400}.glee-quick-view-modal [data-qv-actions]{margin:22px 0 8px}.glee-quick-view-modal [data-qv-actions] .glee-card-add{width:100%}
@media(max-width:560px){.glee-product-card__info>.glee-product-card__actions{grid-template-columns:1fr}.glee-card-quick,.glee-card-add{min-height:46px}}
@media(hover:none),(pointer:coarse){.glee-cart-preview{display:none}}

/* Mobile commerce: keep the two-column catalogue compact and inside the viewport. */
@media (max-width: 760px) {
  html,
  body {
    max-width: 100%;
    overflow-x: clip;
    overscroll-behavior-x: none;
  }

  .glee-shop,
  .glee-shop-shell,
  .glee-shop-content,
  .glee-shop-content ul.products,
  .glee-shop-content ul.products > li,
  .glee-product-card,
  .glee-product-card__info {
    min-width: 0;
    max-width: 100%;
  }

  .glee-product-card__info h2,
  .glee-product-card__info > p {
    overflow-wrap: anywhere;
  }

  .glee-product-card__info > .glee-product-card__actions {
    display: block;
    min-width: 0;
    width: 100%;
    margin-top: 16px;
  }

  .glee-product-card__actions .glee-card-quick {
    display: none;
  }

  .glee-product-card__actions .glee-card-add,
  .woocommerce .glee-product-card__actions .glee-card-add.button {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    padding: 0 10px;
    gap: 6px;
    font-size: 7px;
    line-height: 1.2;
  }

  .glee-product-card__actions .glee-card-add span {
    flex: 0 0 auto;
    font-size: 13px;
  }
}

@media (max-width: 1100px) {
  html,
  body {
    max-width: 100%;
    overflow-x: clip;
    overscroll-behavior-x: none;
  }

  .glee-product-card__info > .glee-product-card__actions {
    grid-template-columns: minmax(0, 1fr);
    min-width: 0;
    width: 100%;
  }

  .glee-product-card__actions .glee-card-quick,
  .glee-product-card__actions .glee-card-add,
  .woocommerce .glee-product-card__actions .glee-card-add.button {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }
}

/* Page transition — full boot between WordPress views */
.glee-page-transition {
  position: fixed;
  z-index: 99998;
  inset: 0;
  overflow: hidden;
  display: grid;
  place-items: center;
  color: #f6f0e8;
  background:
    radial-gradient(circle at 72% 24%, rgba(194, 7, 46, .28), transparent 34%),
    linear-gradient(135deg, #090909 0%, #111 52%, #1c050b 100%);
  transform: translate3d(0, 102%, 0);
  transition: transform .72s cubic-bezier(.76, 0, .24, 1);
  pointer-events: none;
  contain: layout paint;
}

.glee-page-transition::before,
.glee-page-transition::after {
  content: "";
  position: absolute;
  inset: 0;
}

.glee-page-transition::before {
  opacity: .18;
  background-image: repeating-linear-gradient(90deg, transparent 0, transparent calc(12.5vw - 1px), rgba(255,255,255,.19) 12.5vw);
}

.glee-page-transition::after {
  inset: 6.5vw;
  border: 1px solid rgba(255,255,255,.13);
}

.glee-page-transition.is-covering,
.glee-transition-arrival .glee-page-transition {
  transform: translate3d(0, 0, 0);
}

.glee-page-transition.is-revealing {
  transform: translate3d(0, -102%, 0);
}

.glee-page-transition.is-resetting {
  transition: none !important;
  transform: translate3d(0, 102%, 0) !important;
}

.glee-page-transition__meta {
  position: absolute;
  z-index: 2;
  top: clamp(28px, 4vw, 64px);
  left: clamp(24px, 6.5vw, 112px);
  right: clamp(24px, 6.5vw, 112px);
  display: flex;
  justify-content: space-between;
  gap: 24px;
  font: 700 clamp(9px, .68vw, 12px)/1 Manrope, sans-serif;
  letter-spacing: .24em;
}

.glee-page-transition__route {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 10vw;
  right: 10vw;
  height: 1px;
  border-top: 1px dashed rgba(255,255,255,.27);
}

.glee-page-transition__route i {
  position: absolute;
  top: -4px;
  width: 7px;
  height: 7px;
  border: 1px solid rgba(255,255,255,.58);
  border-radius: 50%;
  background: #101010;
}

.glee-page-transition__route i:nth-child(1) { left: 0; }
.glee-page-transition__route i:nth-child(2) { left: 50%; }
.glee-page-transition__route i:nth-child(3) { right: 0; }

.glee-page-transition__plane {
  position: absolute;
  z-index: 4;
  top: 50%;
  /* Anchored to the centre of the viewport, so the resting point is the middle of
     the panel — over the wordmark — instead of the 44vw it used to stop at. */
  left: 50%;
  width: clamp(112px, 13vw, 230px);
  height: auto;
  opacity: 0;
  filter: brightness(0) invert(1) drop-shadow(-28px 14px 18px rgba(194, 7, 46, .38));
  transform: translate3d(-50%, -50%, 0) rotate(0) scale(1);
  will-change: transform, opacity;
}

.glee-page-transition.is-covering .glee-page-transition__plane {
  opacity: 0;
  animation: none;
}

.glee-transition-arrival .glee-page-transition__plane {
  opacity: 1;
  transform: translate3d(-50%, -50%, 0) rotate(0) scale(1);
}

.glee-page-transition.is-plane-arriving .glee-page-transition__plane {
  animation: glee-plane-load .58s cubic-bezier(.32, .72, 0, 1) both;
}

.glee-page-transition.is-plane-departing .glee-page-transition__plane {
  animation: glee-plane-unload .46s cubic-bezier(.32, .72, 0, 1) both;
}

.glee-page-transition.is-revealing .glee-page-transition__plane {
  opacity: 0;
}

.glee-page-transition__wordmark {
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  /* Sized for the full wordmark rather than a single word, and stroked at 2px to
     match the INVERNO 2026 and GLEE / MOTION lettering elsewhere on the site — at
     1px it read as a smudge against the dark panel. */
  font: 800 clamp(46px, 12.5vw, 200px)/.82 "Barlow Condensed", sans-serif;
  letter-spacing: -.045em;
  white-space: nowrap;
  color: transparent;
  -webkit-text-stroke: 2px rgba(255,255,255,.22);
  opacity: 0;
  transform: scale(.92);
  transition: opacity .3s ease .18s, transform .65s cubic-bezier(.16, 1, .3, 1) .08s;
}

.glee-page-transition.is-covering .glee-page-transition__wordmark,
.glee-transition-arrival .glee-page-transition__wordmark {
  opacity: 1;
  transform: scale(1);
}

body.glee-is-transitioning {
  overflow: hidden !important;
  cursor: progress;
}

/* In: from off the right edge to a dead stop in the centre, over the wordmark.
   Out: from that same centre, away to the left. Both are expressed relative to the
   centred resting transform, so they hold on any viewport without per-breakpoint
   copies of the keyframes. */
@keyframes glee-plane-load {
  0% { opacity: 0; transform: translate3d(calc(-50% + 82vw), -50%, 0) rotate(-7deg) scale(.78); }
  18% { opacity: 1; }
  100% { opacity: 1; transform: translate3d(-50%, -50%, 0) rotate(0) scale(1); }
}

@keyframes glee-plane-unload {
  0% { opacity: 1; transform: translate3d(-50%, -50%, 0) rotate(0) scale(1); }
  70% { opacity: 1; }
  100% { opacity: 0; transform: translate3d(calc(-50% - 88vw), -50%, 0) rotate(7deg) scale(.78); }
}

@media (max-width: 700px) {
  .glee-page-transition::after { inset: 22px; }
  .glee-page-transition__meta { top: 30px; left: 28px; right: 28px; }
  .glee-page-transition__meta span:last-child { display: none; }
  .glee-page-transition__route { left: 7vw; right: 7vw; }
  /* The plane and its keyframes are centre-relative now, so this breakpoint no
     longer needs its own copies — it only adjusts the surrounding furniture. */
}

/* The drawer owns its scroll; Lenis must never consume wheel/touch here. */
.cart-drawer {
  grid-template-rows: auto minmax(0, 1fr) !important;
  overflow: hidden !important;
  overscroll-behavior: contain;
}

.cart-drawer__dynamic {
  min-height: 0;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  touch-action: pan-y;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable;
}

@media (prefers-reduced-motion: reduce) {
  .glee-page-transition { transition-duration: .28s; }
  .glee-page-transition__plane { animation: none !important; }
  .glee-page-transition.is-covering .glee-page-transition__plane,
  .glee-transition-arrival .glee-page-transition__plane { opacity: 1; transform: translate3d(-50%, -50%, 0) scale(1); }
}

/* Product price: keep the main amount monumental without scaling the Pix line. */
.single-product .product-price > strong,
.single-product .product-price > strong .woocommerce-Price-amount,
.single-product .product-price > strong .woocommerce-Price-currencySymbol {
  font-size: clamp(96px, 6.6vw, 130px) !important;
  line-height: .9;
}

.single-product .product-price > span,
.single-product .product-price > span .woocommerce-Price-amount,
.single-product .product-price > span .woocommerce-Price-currencySymbol {
  font-size: 17px !important;
}

/* Glee transition v2: white 140px mosaic, faster and visually continuous. */
.glee-page-transition {
  display: block;
  color: #11100f;
  background: transparent;
  transform: none !important;
  transition: none;
}
.glee-page-transition::before,
.glee-page-transition::after { display: none; }
.glee-transition-arrival .glee-page-transition { background: #f8f5ef; }
.glee-transition-arrival .glee-page-transition.is-revealing { background: transparent; }
.glee-page-transition.is-resetting { visibility: hidden; }
.glee-page-transition__tiles {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: repeat(var(--glee-tile-columns, 14), minmax(0, 1fr));
  grid-template-rows: repeat(var(--glee-tile-rows, 8), minmax(0, 1fr));
}
.glee-page-transition__tiles i {
  display: block;
  min-width: 0;
  min-height: 0;
  opacity: 0;
  background: #f8f5ef;
  box-shadow: inset 0 0 0 .5px rgba(17,16,15,.035);
  transform: scale(.72);
  transition: opacity .23s ease var(--glee-tile-delay,0ms), transform .33s cubic-bezier(.22,1,.36,1) var(--glee-tile-delay,0ms);
}
.glee-page-transition.is-covering .glee-page-transition__tiles i,
.glee-transition-arrival .glee-page-transition__tiles i { opacity: 1; transform: scale(1.012); }
.glee-page-transition.is-revealing .glee-page-transition__tiles i {
  opacity: 0;
  transform: scale(.78);
  transition-delay: var(--glee-tile-out-delay,0ms);
}
.glee-page-transition__mark {
  position: absolute;
  z-index: 3;
  left: clamp(24px,5vw,88px);
  bottom: clamp(24px,5vw,70px);
  display: flex;
  align-items: baseline;
  gap: 16px;
  opacity: 0;
  transition: opacity .18s ease .15s;
}
.glee-page-transition__mark span { font: 900 25px/1 "Barlow Condensed",sans-serif; letter-spacing: -.02em; }
.glee-page-transition__mark small { font: 800 7px/1 Manrope,sans-serif; letter-spacing: .18em; }
.glee-page-transition.is-covering .glee-page-transition__mark,
.glee-transition-arrival .glee-page-transition__mark { opacity: .72; }
.glee-page-transition.is-revealing .glee-page-transition__mark { opacity: 0; transition-delay: 0s; }
/* This v2 panel is ivory, but the furniture above it was drawn for the dark version:
   the wordmark and the route line were white and simply disappeared against it. They
   are restated here in the site's own outline treatment — 2px cherry, the same stroke
   used by the INVERNO 2026 and GLEE / MOTION lettering — so the panel stops reading
   as an empty white screen and the plane has something to fly across. */
.glee-page-transition__wordmark {
  font-size: clamp(54px, 15vw, 250px);
  -webkit-text-stroke: 2px rgba(169,14,49,.30);
}
.glee-page-transition__meta { color: rgba(17,16,15,.55); }
.glee-page-transition__route { border-top-color: rgba(17,16,15,.14); }
.glee-page-transition__route i { border-color: rgba(169,14,49,.42); background: #f8f5ef; }

/* Every layer has to clear with the panel. The route and the meta line had no opacity
   bound to any state, so once the panel went transparent they stayed on the page for
   good. The wordmark did fade, but its .18s opacity delay meant it was still on screen
   after the ivory had gone. On reveal all three drop together, with no delay. */
.glee-page-transition__meta,
.glee-page-transition__route {
  opacity: 0;
  transition: opacity .2s ease;
}
.glee-page-transition.is-covering .glee-page-transition__meta,
.glee-page-transition.is-covering .glee-page-transition__route,
.glee-transition-arrival .glee-page-transition__meta,
.glee-transition-arrival .glee-page-transition__route { opacity: 1; }

/* No delay, and a duration that lands inside the tiles' own staggered dissolve
   (~180-450ms) so these clear with the ivory rather than before or after it. */
.glee-page-transition.is-revealing .glee-page-transition__meta,
.glee-page-transition.is-revealing .glee-page-transition__route,
.glee-page-transition.is-revealing .glee-page-transition__wordmark {
  opacity: 0;
  transition-delay: 0s;
  transition-duration: .34s;
}

.glee-page-transition__plane { filter: drop-shadow(-22px 13px 16px rgba(17,16,15,.18)); }
.glee-page-transition.is-covering.is-plane-arriving .glee-page-transition__plane { animation: glee-plane-load .38s cubic-bezier(.32,.72,0,1) both; }
.glee-page-transition.is-plane-departing .glee-page-transition__plane { animation-duration: .25s; }
@media (max-width:700px) {
  .glee-page-transition__mark { left: 24px; bottom: 26px; }
  .glee-page-transition__mark small { display: none; }
}
@media (prefers-reduced-motion:reduce) {
  .glee-page-transition__tiles i { transition-duration: .12s; transition-delay: 0s; }
}

@media (max-width: 680px) {
  .single-product .product-price > strong,
  .single-product .product-price > strong .woocommerce-Price-amount,
  .single-product .product-price > strong .woocommerce-Price-currencySymbol {
    font-size: clamp(54px, 15vw, 68px) !important;
    line-height: .92;
  }

  .single-product .product-price > span,
  .single-product .product-price > span .woocommerce-Price-amount,
  .single-product .product-price > span .woocommerce-Price-currencySymbol {
    font-size: 14px !important;
  }
}

/* Mobile header commerce shortcuts: account and favorites remain one tap away. */
@media (max-width: 900px) {
  .site-header .header-actions {
    display: flex;
    align-items: center;
    gap: 4px;
  }

  .site-header .header-actions > .icon-button {
    display: grid;
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    border-radius: 50%;
  }

  .site-header .header-actions > .icon-button:hover,
  .site-header .header-actions > .icon-button:focus-visible {
    background: rgba(17,16,15,.08);
  }

  .site-header .header-actions > .icon-button svg {
    width: 19px;
    height: 19px;
  }

  .site-header .header-actions > .bag-button { display: none; }
  .site-header .header-actions > .menu-toggle {
    width: 44px;
    height: 44px;
    margin-left: 2px;
  }
}

@media (max-width: 440px) {
  .site-header { padding-inline: 14px; }
  .site-header .brand img { width: clamp(118px,36vw,148px); }
  .site-header .header-actions { gap: 1px; }
  .site-header .header-actions > .icon-button {
    width: 33px;
    height: 33px;
    flex-basis: 33px;
  }
  .site-header .header-actions > .menu-toggle {
    width: 41px;
    height: 41px;
  }
}

/* Mobile commerce header + editorial live-search overlay. */
.mobile-only-action,
.bag-button__icon { display: none; }
.mobile-search-overlay { display: none; }

@media (max-width:900px) {
  html.mobile-search-is-open,
  body.mobile-search-is-open {
    height: 100%;
    overflow: hidden !important;
    overscroll-behavior: none;
    touch-action: none;
  }
  .site-header .header-actions {
    gap: 2px;
    min-width: 0;
  }
  .site-header .header-actions > .mobile-only-action { display: grid; }
  .site-header .header-actions > .bag-button {
    position: relative;
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    min-width: 36px;
    padding: 0;
    border: 0;
  }
  .site-header .bag-button > span { display: none; }
  .site-header .bag-button__icon {
    display: block;
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.45;
  }
  .site-header .bag-button .glee-cart-count {
    position: absolute;
    top: -1px;
    right: -1px;
    width: 16px;
    height: 16px;
    font-size: 7px;
  }
  .mobile-search-overlay {
    position: fixed;
    z-index: 9990;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 28px max(20px,6vw);
    color: #fff;
    background: rgba(10,9,9,.91);
    backdrop-filter: blur(18px);
    opacity: 0;
    visibility: hidden;
    transition: opacity .35s ease, visibility .35s ease;
    overscroll-behavior: contain;
    touch-action: none;
  }
  .mobile-search-overlay.is-open { opacity: 1; visibility: visible; }
  .mobile-search-overlay__close {
    position: absolute;
    top: max(22px,env(safe-area-inset-top));
    right: 22px;
    width: 48px;
    height: 48px;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 50%;
    background: transparent;
    color: #fff;
  }
  .mobile-search-overlay__close span {
    position: absolute;
    left: 13px;
    top: 23px;
    width: 20px;
    height: 1px;
    background: currentColor;
  }
  .mobile-search-overlay__close span:first-child { transform: rotate(45deg); }
  .mobile-search-overlay__close span:last-child { transform: rotate(-45deg); }
  .mobile-search-overlay__inner {
    width: min(720px,100%);
    max-height: calc(100dvh - 56px);
    transform: translateY(24px);
    transition: transform .6s cubic-bezier(.22,1,.36,1);
    overscroll-behavior: contain;
  }
  .mobile-search-overlay.is-open .mobile-search-overlay__inner { transform: none; }
  .mobile-search-overlay__inner > p {
    margin: 0 0 24px;
    color: rgba(255,255,255,.58);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .15em;
  }
  .mobile-search-overlay__inner > p span { color: #f09ab1; }
  .mobile-search-overlay__inner > small {
    display: block;
    margin-top: 15px;
    color: rgba(255,255,255,.45);
    font-size: 8px;
    letter-spacing: .08em;
  }
  .mobile-search-overlay__form {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    border-bottom: 1px solid rgba(255,255,255,.72);
  }
  .mobile-search-overlay__form input[type="search"] {
    min-width: 0;
    height: 72px;
    padding: 0;
    border: 0;
    outline: 0;
    color: #fff;
    background: transparent;
    font: 500 clamp(31px,8vw,58px)/1 "Barlow Condensed",sans-serif;
    letter-spacing: -.02em;
  }
  .mobile-search-overlay__form input::placeholder { color: rgba(255,255,255,.4); }
  .mobile-search-overlay__form > button {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 3px 0 18px;
    border: 0;
    color: #fff;
    background: transparent;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .12em;
  }
  .mobile-search-overlay__form .live-search-results {
    top: calc(100% + 16px);
    max-height: min(48vh,520px);
    overflow-x: hidden;
    overflow-y: auto !important;
    color: #11100f;
    background: #f3efe8;
    overscroll-behavior: contain;
    touch-action: pan-y;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width:520px) {
  .site-header { grid-template-columns: minmax(86px,1fr) auto; padding-inline: 10px; }
  .site-header .brand img { width: clamp(88px,27vw,116px); }
  .site-header .header-actions > .icon-button,
  .site-header .header-actions > .bag-button {
    width: 30px;
    height: 34px;
    min-width: 30px;
    flex-basis: 30px;
  }
  .site-header .header-actions > .menu-toggle {
    width: 38px;
    height: 38px;
    margin-left: 1px;
  }
  .site-header .header-actions > .icon-button svg,
  .site-header .bag-button__icon { width: 17px; height: 17px; }
  .mobile-search-overlay__form input[type="search"] { height: 62px; font-size: clamp(27px,8vw,40px); }
  .mobile-search-overlay__form > button span { display: none; }
}

/* Generic pages must render their content; this restores the WooCommerce account dashboard. */
.glee-page-shell { min-height: 70vh; padding: clamp(130px,14vw,210px) clamp(20px,6vw,100px) 110px; }
.glee-page-heading { margin-bottom: clamp(42px,6vw,84px); }
.glee-page-heading h1 { max-width: 1200px; margin: 22px 0 0; font: 800 clamp(58px,8vw,138px)/.82 "Barlow Condensed",sans-serif; letter-spacing: -.05em; text-transform: uppercase; }
.glee-page-content { width: 100%; }
body.woocommerce-account .glee-account-page { padding-top: clamp(130px,12vw,180px); }
body.woocommerce-account .glee-account-page .glee-page-heading h1 { font-size: clamp(62px,7vw,118px); }

/* The hero headline is laid out for two lines and sits 24px off the bottom of a card
   that ends flush with the viewport. A one-line title therefore lives in the last 24
   usable pixels, where the phone's browser bar or a slightly short window swallows it
   — which is why a WhatsApp title showed in the video library but appeared missing on
   the hero. Reserving two lines' worth of height lifts a short title to where the
   second line of a long one begins, so both start at the same place; the extra bottom
   offset keeps either of them clear of the screen edge. */
.hero-video-card footer h2 { min-height: 1.66em; }

/* The trust rail rides 84px up over the hero, so anything anchored to the bottom of
   a card can end up underneath it — which is what clipped the second line of a
   two-line headline on shorter, wider desktops. The offset below clears that overlap
   plus a margin, instead of only clearing the edge of the screen. */
.hero-video-card footer { bottom: clamp(104px, 12vh, 132px); }

/* Two heights were fighting here. The video window is a grid cell stretched by the
   headline column on the left, which can run taller than the screen; the rail inside
   it was pinned to calc(100svh - header) with a 700px floor. Whatever the window had
   left over showed as a black strip under the videos — hidden behind the trust rail
   on a desktop, plainly visible on a tablet. And on a 1366x768 laptop the 700px floor
   pushed the card past the fold, taking the headline with it.
   The window now caps at the space actually available and sits at the top of its
   cell; the rail simply fills it. One height, no strip, nothing below the fold. */
.hero-video-window {
  align-self: start;
  height: calc(100svh - var(--header-h));
  min-height: calc(100svh - var(--header-h));
  max-height: calc(100svh - var(--header-h));
}
.hero-video-rail {
  height: 100%;
  min-height: 0;
}

/* A grid item defaults to min-width:auto, so the wordmark refused to shrink below
   its intrinsic width and pushed the fixed header past the viewport — which in turn
   gave the whole document horizontal overflow. It may shrink; the logo scales. */
.site-header > .brand,
.site-header > .site-brand { min-width: 0; }
.site-header > .brand img,
.site-header > .site-brand img { max-width: 100%; height: auto; object-fit: contain; }

/* An auto/1fr track is still sized by the wordmark's intrinsic width, so between
   the phone cap (<=440px) and the roomy desktop it has to be capped explicitly —
   otherwise the track alone measured 501px inside a 768px viewport. */
@media (max-width: 1100px) {
  .site-header > .brand img,
  .site-header > .site-brand img { width: clamp(132px, 26vw, 210px); }
}

/* Overlay scroll contract. Every panel that scrolls on its own carries
   data-lenis-prevent (see header.php) so Lenis releases the wheel/touch to it; these
   properties are the other half of that contract — without them the gesture falls
   through to the page behind, which is what the mobile menu and the mega panel were
   doing at every breakpoint. Matches the drawers that already comply. */
.mobile-menu,
.glee-mega-panel {
  overflow-y: auto;
  overscroll-behavior: contain;
  touch-action: pan-y;
  -webkit-overflow-scrolling: touch;
}

/* In the static prototype .purchase-row was the grid that held the quantity box and
   the button as two children (assets/legacy/product.css: 108px 1fr). In WordPress it
   holds a single <form class="cart">, which owns that grid itself, so the legacy
   fixed first track squeezed the whole form into 108px — and into 94px below 680px,
   leaving 4px for the button. The row is a plain block here; the form does the work. */
.single-product .purchase-row { display: block; }
.single-product .purchase-row .cart { width: 100%; }

/* Mobile product page: predictable gallery, readable pricing and contained CTAs. */
@media (max-width: 680px) {
  .single-product .glee-commerce-shell,
  .single-product .glee-single-product,
  .single-product .product-hero,
  .single-product .product-gallery,
  .single-product .product-buy {
    min-width: 0;
    max-width: 100%;
    overflow-x: clip;
  }

  .single-product .product-gallery {
    grid-template-rows: min(65dvh, 610px) 76px;
  }

  .single-product .product-gallery__rail {
    min-width: 0;
    height: 76px;
    padding: 7px 5vw;
    gap: 8px;
    overflow-x: auto;
    overflow-y: hidden;
  }

  .single-product .product-gallery__rail > button {
    flex: 0 0 62px;
    width: 62px;
    min-width: 62px;
    height: 62px;
    overflow: hidden;
  }

  .single-product .product-gallery__rail > button img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    object-fit: contain;
  }

  .single-product .product-gallery:has(.product-gallery__rail > button:only-child) {
    grid-template-rows: min(68dvh, 640px);
  }

  .single-product .product-gallery__rail:has(> button:only-child) {
    display: none;
  }

  .single-product .product-gallery:has(.product-gallery__rail > button:only-child) .product-gallery__counter {
    bottom: 20px;
  }

  .single-product .product-buy {
    padding: 44px 5vw 64px;
  }

  .single-product .product-buy h1,
  .single-product .product-buy__subtitle,
  .single-product .product-price,
  .single-product .product-price > strong,
  .single-product .product-price > span,
  .single-product .product-price small {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .single-product .product-buy h1 {
    font-size: clamp(48px, 16vw, 66px);
  }

  .single-product .product-price {
    margin-top: 24px;
    padding: 22px 0;
    gap: 10px;
  }

  .single-product .purchase-row,
  .single-product .purchase-row .cart {
    min-width: 0;
    max-width: 100%;
  }

  .single-product .purchase-row { display: block; }

  .single-product .purchase-row .cart {
    grid-template-columns: 82px minmax(0, 1fr);
    gap: 8px;
  }

  .single-product .product-buy .quantity,
  .single-product .product-buy .quantity input {
    width: 82px;
    min-width: 0;
  }

  .single-product .product-buy .single_add_to_cart_button {
    min-width: 0;
    width: 100%;
    padding-inline: 12px;
    font-size: 9px;
    line-height: 1.25;
  }

  .single-product .whatsapp-buy {
    min-width: 0;
    width: 100%;
    padding-inline: 18px;
  }
}

/* Keep menu items in their original grid; extend only the black band to viewport edges. */
@media (min-width: 901px) {
  .site-header .desktop-nav {
    position: static;
    left: auto;
    width: calc(100% + 9vw);
    max-width: none;
    margin-left: -4.5vw;
    padding-inline: 4.5vw;
    transform: none;
    background: var(--ink);
    box-shadow: 0 0 0 100vmax var(--ink);
    clip-path: inset(0 -100vmax);
  }
}

/* Editorial mega menu — adapted from the local Vet Contagem project. */
@media (min-width: 901px) {
  .glee-mega-trigger {
    height: 100%;
    padding: 0;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border: 0;
    color: #fff;
    background: transparent;
    cursor: pointer;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
  }
  .glee-mega-trigger i { color: var(--cherry); font: 400 14px/1 Arial,sans-serif; transition: transform .35s var(--ease); }
  .glee-mega-trigger[aria-expanded="true"] i { transform: rotate(45deg); }
  .site-header.mega-open { background: rgba(242,238,231,.98); }

  .glee-mega-panel {
    position: fixed;
    z-index: 90;
    top: var(--glee-mega-top,166px);
    left: 0;
    width: 100%;
    padding: 14px 18px 18px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-18px);
    transition: opacity .32s var(--ease),transform .42s var(--ease),visibility .32s;
  }
  .glee-mega-panel.is-open { opacity: 1; visibility: visible; pointer-events: auto; transform: none; }
  .glee-mega-view {
    width: min(1540px,calc(100vw - 36px));
    min-height: min(560px,calc(100svh - var(--glee-mega-top,166px) - 18px));
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(250px,.72fr) minmax(460px,1.35fr) minmax(300px,.85fr);
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.72);
    border-radius: 22px;
    color: var(--ink);
    background: rgba(247,244,237,.985);
    box-shadow: 0 38px 90px rgba(33,21,15,.2);
  }
  .glee-mega-view[hidden] { display: none!important; }
  .glee-mega-intro { padding: 46px 38px; display: flex; flex-direction: column; border-right: 1px solid var(--line); }
  .glee-mega-intro .eyebrow { margin: 0; color: var(--cherry); font-size: 8px; }
  .glee-mega-intro h2 { max-width: 330px; margin: 34px 0 20px; font: 700 clamp(34px,2.55vw,50px)/.92 "Barlow Condensed",sans-serif; letter-spacing: -.04em; text-transform: uppercase; }
  .glee-mega-intro > p:not(.eyebrow) { max-width: 310px; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.7; }
  .glee-mega-intro > a { margin-top: auto; padding-bottom: 10px; display: flex; justify-content: space-between; border-bottom: 1px solid var(--ink); font-size: 8px; font-weight: 900; letter-spacing: .1em; }

  .glee-mega-links { display: grid; grid-template-rows: repeat(5,1fr); }
  .glee-mega-link { position: relative; min-width: 0; padding: 16px 30px; display: grid; grid-template-columns: 38px minmax(0,1fr) 24px; grid-template-rows: auto auto; column-gap: 16px; align-content: center; border-bottom: 1px solid var(--line); transition: color .32s var(--ease),background .32s var(--ease),padding-left .32s var(--ease); }
  .glee-mega-link:last-child { border-bottom: 0; }
  .glee-mega-link::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: #f0b4c4; transform: scaleY(0); transform-origin: bottom; transition: transform .35s var(--ease); }
  .glee-mega-link:hover,.glee-mega-link:focus-visible { padding-left: 37px; color: #fff; background: var(--cherry-dark); }
  .glee-mega-link:hover::before,.glee-mega-link:focus-visible::before { transform: scaleY(1); transform-origin: top; }
  .glee-mega-link > span { grid-row: 1/3; align-self: center; color: var(--muted); font-size: 9px; font-weight: 800; }
  .glee-mega-link strong { font: 700 23px/1 "Barlow Condensed",sans-serif; letter-spacing: -.02em; text-transform: uppercase; }
  .glee-mega-link small { margin-top: 7px; overflow: hidden; color: var(--muted); font-size: 9px; white-space: nowrap; text-overflow: ellipsis; }
  .glee-mega-link > b { grid-column: 3; grid-row: 1/3; align-self: center; font-size: 17px; transition: transform .3s; }
  .glee-mega-link:hover > span,.glee-mega-link:focus-visible > span,.glee-mega-link:hover small,.glee-mega-link:focus-visible small { color: rgba(255,255,255,.58); }
  .glee-mega-link:hover > b,.glee-mega-link:focus-visible > b { transform: translate(3px,-3px); }
  .glee-mega-panel.is-open .glee-mega-view.is-active .glee-mega-link { animation: gleeMegaEnter .52s var(--ease) both; animation-delay: calc(var(--i) * 48ms + 60ms); }
  @keyframes gleeMegaEnter { from { opacity:0; transform:translateX(-14px); } to { opacity:1; transform:none; } }

  .glee-mega-preview { --preview-image:none; position: relative; min-width: 0; padding: 32px; display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; color: #fff; background: #170d10; }
  .glee-mega-preview::before { content: ""; position: absolute; inset: 0; background-image: var(--preview-image); background-position: center; background-size: cover; opacity: .72; transform: scale(1.03); transition: opacity .25s,transform .6s var(--ease); }
  .glee-mega-preview.is-switching::before { opacity: .2; transform: scale(1.08); }
  .glee-mega-preview__shade { position: absolute; inset: 0; background: linear-gradient(180deg,rgba(15,7,9,.04),rgba(55,1,17,.94)); }
  .glee-mega-preview__copy,.glee-mega-preview > a { position: relative; z-index: 1; }
  .glee-mega-preview__copy > span { color: #f6c3d0; font-size: 8px; font-weight: 900; letter-spacing: .16em; }
  .glee-mega-preview__copy strong { display: block; margin-top: 12px; font: 700 clamp(31px,2.4vw,46px)/.9 "Barlow Condensed",sans-serif; text-transform: uppercase; }
  .glee-mega-preview__copy p { max-width: 330px; margin: 15px 0 28px; color: rgba(255,255,255,.7); font-size: 11px; line-height: 1.65; }
  .glee-mega-preview > a { padding: 18px 19px; display: flex; align-items: center; justify-content: space-between; border: 1px solid rgba(255,255,255,.28); background: rgba(70,0,20,.48); backdrop-filter: blur(12px); font-size: 8px; font-weight: 900; letter-spacing: .1em; transition: background .3s,transform .3s; }
  .glee-mega-preview > a:hover { background: rgba(169,14,49,.94); transform: translateY(-3px); }
}

@media (max-width: 900px) {
  .glee-mega-panel { display: none!important; }
}
