/* ==========================================================================
   Altos Coturnos — CSS do tema (F4). Um arquivo, sem build.
   Ordem: 1 tokens · 2 base · 3 layout · 4 componentes · 5 header · 6 home · 7 PLP · 8 PDP
          · 9 carrinho/checkout/conta · 10 footer · 11 utilitários · 12 guia DEV
   Breakpoints (documentados; media queries não aceitam var()): 600px · 900px · 1200px
   ========================================================================== */

/* ---- 1. TOKENS -------------------------------------------------------- */
@font-face { font-family: Jost; font-weight: 400 700; font-style: normal; font-display: swap; src: url("../fonts/jost-latin-var.woff2") format("woff2"); }
:root {
  /* cores — marca: azul-marinho #050A30 e azul #38B6FF (legado); ação #0B6FA8 garante 5,4:1 com branco */
  --c-ink: #050A30; --c-text: #14183A; --c-muted: #595F66;
  --c-brand: #38B6FF; --c-action: #0B6FA8; --c-action-hover: #095A89; --c-olive: #6B6B45;
  --c-bg: #FFFFFF; --c-surface: #F4F3EC; --c-surface-2: #E9E7DC; --c-border: #D9D8CF; --c-border-strong: #8C8F94;
  --c-success: #2F6B0F; --c-warning: #8A5A00; --c-error: #B3261E; --c-info: #0B6FA8;
  --c-promo: #97CD2B; --c-on-promo: #050A30; --c-price-sale: #B3261E;
  /* tipografia */
  --font: Jost, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --fs-sm: .875rem; --fs-base: 1rem; --fs-lg: 1.125rem;
  --fs-h3: clamp(1.125rem, 1.05rem + .4vw, 1.375rem); --fs-h2: clamp(1.375rem, 1.2rem + .9vw, 1.875rem); --fs-h1: clamp(1.75rem, 1.4rem + 1.8vw, 2.75rem);
  --lh-tight: 1.15; --lh-base: 1.55;
  /* espaçamento (base 4px) */
  --s-1: .25rem; --s-2: .5rem; --s-3: .75rem; --s-4: 1rem; --s-5: 1.5rem; --s-6: 2rem; --s-7: 3rem; --s-8: 4rem;
  /* forma */
  --r-sm: 4px; --r-md: 8px; --r-lg: 14px; --r-pill: 999px;
  --shadow-1: 0 1px 2px rgb(5 10 48 / .08), 0 1px 6px rgb(5 10 48 / .06); --shadow-2: 0 8px 28px rgb(5 10 48 / .18);
  /* layout */
  --container: 90rem; --gutter: clamp(1rem, 3vw, 1.5rem); --control-h: 3rem; --tap-min: 2.75rem;
  /* camadas */
  --z-header: 50; --z-drawer: 80; --z-backdrop: 70; --z-float: 40;
  /* movimento */
  --t-fast: 120ms; --t-base: 220ms; --ease: cubic-bezier(.2, .7, .2, 1);
  /* foco: 3px de ação (5,4:1 sobre branco); sobre fundo escuro usa-se --c-brand */
  --focus: 3px solid var(--c-action);
}

/* ---- 2. BASE ---------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 6rem; }
body { margin: 0; font: var(--fs-base)/var(--lh-base) var(--font); color: var(--c-text); background: var(--c-bg); overflow-wrap: break-word; }
img, svg, video { max-width: 100%; height: auto; }
img { display: block; }
h1, h2, h3, h4 { color: var(--c-ink); line-height: var(--lh-tight); margin: 0 0 var(--s-3); font-weight: 600; }
h1 { font-size: var(--fs-h1); } h2 { font-size: var(--fs-h2); } h3 { font-size: var(--fs-h3); }
p { margin: 0 0 var(--s-4); }
a { color: var(--c-action); text-underline-offset: .18em; }
a:hover { color: var(--c-action-hover); }
:focus-visible { outline: var(--focus); outline-offset: 2px; border-radius: 2px; }
.on-dark :focus-visible, .announce :focus-visible, .site-footer :focus-visible, .hero :focus-visible { outline-color: var(--c-brand); }
.icon { flex: none; vertical-align: middle; }
.muted { color: var(--c-muted); }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; } }

/* ---- 3. LAYOUT -------------------------------------------------------- */
.container { width: 100%; max-width: calc(var(--container) + 2 * var(--gutter)); margin-inline: auto; padding-inline: var(--gutter); }
.site-main { min-height: 50vh; padding-block: var(--s-5) var(--s-8); }
.site-main--home { padding-block: 0 var(--s-6); }
.page-title { margin-block: var(--s-4) var(--s-5); }
.prose { max-width: 46rem; } .prose--wide { max-width: none; }
.prose :where(h2, h3) { margin-top: var(--s-5); }
.plain-list { padding-left: var(--s-5); }
.sr-only, .screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.skip-link { position: absolute; left: var(--s-3); top: -4rem; z-index: 100; background: var(--c-ink); color: #fff; padding: var(--s-3) var(--s-4); border-radius: var(--r-md); }
.skip-link:focus { top: var(--s-3); color: #fff; outline-color: var(--c-brand); }
.breadcrumb { font-size: var(--fs-sm); color: var(--c-muted); margin-bottom: var(--s-3); }
.breadcrumb a { color: var(--c-muted); } .breadcrumb a:hover { color: var(--c-action); }
.crumb-sep { margin-inline: .4em; }

/* ---- 4. COMPONENTES --------------------------------------------------- */
.btn, .button, button.button, .wp-element-button, .wc-block-components-button:not(.is-link), .single_add_to_cart_button {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--s-2); min-height: var(--control-h); padding: .6rem 1.25rem;
  font: 600 var(--fs-base)/1.2 var(--font); text-decoration: none; text-align: center; cursor: pointer;
  background: var(--c-action); color: #fff; border: 2px solid var(--c-action); border-radius: var(--r-md);
  transition: background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);
}
.btn:hover, .button:hover, .wp-element-button:hover, .wc-block-components-button:not(.is-link):hover, .single_add_to_cart_button:hover { background: var(--c-action-hover); border-color: var(--c-action-hover); color: #fff; }
.btn--ghost { background: transparent; color: var(--c-action); } .btn--ghost:hover { background: var(--c-surface); color: var(--c-action-hover); }
.btn--dark { background: var(--c-ink); border-color: var(--c-ink); } .btn--dark:hover { background: #1a1f4d; border-color: #1a1f4d; }
.btn--light { background: #fff; border-color: #fff; color: var(--c-ink); } .btn--light:hover { background: var(--c-surface); border-color: var(--c-surface); color: var(--c-ink); }
.btn--lg { min-height: 3.25rem; padding-inline: 1.75rem; font-size: var(--fs-lg); }
.btn[disabled], .button[disabled], .button.disabled, .single_add_to_cart_button.disabled, .single_add_to_cart_button:disabled { background: var(--c-surface-2); border-color: var(--c-surface-2); color: #4a4e55; cursor: not-allowed; }
.icon-btn { display: inline-flex; align-items: center; justify-content: center; width: var(--tap-min); height: var(--tap-min); background: none; border: 0; color: var(--c-ink); cursor: pointer; border-radius: var(--r-md); }
.icon-btn:hover { background: var(--c-surface); }
.badge { display: inline-block; padding: .2rem .6rem; font-size: var(--fs-sm); font-weight: 600; line-height: 1.2; border-radius: var(--r-sm); text-transform: uppercase; letter-spacing: .02em; }
.badge--promo { background: var(--c-promo); color: var(--c-on-promo); } .badge--muted { background: var(--c-surface-2); color: #3d4148; } .badge--info { background: var(--c-ink); color: #fff; }
.price, .woocommerce-Price-amount { font-weight: 600; color: var(--c-ink); }
.price del { color: var(--c-muted); font-weight: 400; margin-right: .4em; } .price ins { text-decoration: none; color: var(--c-price-sale); }
.field { margin: 0 0 var(--s-4); } .field label, label { font-weight: 500; }
input[type=text], input[type=email], input[type=tel], input[type=password], input[type=search], input[type=number], input[type=url], select, textarea,
.wc-block-components-text-input input, .wc-block-components-select .wc-blocks-components-select__select {
  width: 100%; min-height: var(--control-h); padding: .55rem .8rem; font: inherit; color: var(--c-text); background: #fff; border: 1px solid var(--c-border-strong); border-radius: var(--r-md);
}
textarea { min-height: 7rem; }
input:focus-visible, select:focus-visible, textarea:focus-visible { outline: var(--focus); outline-offset: 1px; }
.field--error input, input[aria-invalid=true] { border-color: var(--c-error); border-width: 2px; } .field__error { display: block; color: var(--c-error); font-size: var(--fs-sm); margin-top: var(--s-1); font-weight: 500; }
.notice, .woocommerce-message, .woocommerce-error, .woocommerce-info, .wc-block-components-notice-banner {
  display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-3); margin: 0 0 var(--s-4); padding: var(--s-3) var(--s-4); list-style: none;
  border-left: 5px solid var(--c-info); background: var(--c-surface); border-radius: var(--r-md); color: var(--c-text);
}
.notice--success, .woocommerce-message { border-color: var(--c-success); } .notice--error, .woocommerce-error { border-color: var(--c-error); } .notice--info, .woocommerce-info { border-color: var(--c-info); }
.woocommerce-message .button, .woocommerce-info .button { order: 2; margin-left: auto; }
.empty-state { text-align: center; padding-block: var(--s-7); } .empty-state--inline { padding: var(--s-5); background: var(--c-surface); border-radius: var(--r-md); }
.empty-state__code { font-size: 5rem; font-weight: 700; color: var(--c-border-strong); margin: 0; line-height: 1; } .empty-state__search { max-width: 28rem; margin: var(--s-5) auto; }

/* Chips (tamanho) — progressivo: o <select> do Woo continua sendo a fonte da verdade */
.chips { display: flex; flex-wrap: wrap; gap: var(--s-2); }
.chip, .size-chip span { display: inline-flex; align-items: center; justify-content: center; min-width: var(--tap-min); min-height: var(--tap-min); padding: 0 .9rem; font: 500 var(--fs-base) var(--font); color: var(--c-ink); background: #fff; border: 1.5px solid var(--c-border-strong); border-radius: var(--r-md); cursor: pointer; }
.chip:hover { border-color: var(--c-ink); }
.chip.is-selected, .size-chip input:checked + span { background: var(--c-ink); border-color: var(--c-ink); color: #fff; }
.chip.is-unavailable { color: #5b5f66; background: var(--c-surface); border-style: dashed; text-decoration: line-through; cursor: not-allowed; }
.chip--small { min-height: 2rem; min-width: 0; font-size: var(--fs-sm); cursor: default; }
.chips.has-error .chip { border-color: var(--c-error); }
.size-chip { display: inline-block; } .size-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; } .size-chip input:focus-visible + span { outline: var(--focus); outline-offset: 2px; }

/* Cards — fotografia protagonista; preço com hierarquia; CTA compacto */
ul.products { list-style: none; margin: 0 0 var(--s-6); padding: 0; display: grid; gap: var(--s-3); grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 700px) { ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-4); } }
@media (min-width: 1100px) { ul.products.columns-4, .plp ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 1500px) { .plp ul.products { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--c-border); border-radius: var(--r-lg); overflow: hidden; position: relative; transition: box-shadow var(--t-base) var(--ease), transform var(--t-base) var(--ease); }
.card:hover { box-shadow: var(--shadow-2); }
.card__media { position: relative; display: block; aspect-ratio: 1; background: #f7f7f4; }
.card__img { width: 100%; height: 100%; object-fit: cover; }
.card__badges { position: absolute; top: var(--s-2); right: var(--s-2); display: flex; gap: var(--s-1); }
.card__body { display: flex; flex-direction: column; gap: .35rem; padding: .7rem .8rem .85rem; flex: 1; }
.card__title { font-size: .9375rem; font-weight: 500; line-height: 1.3; margin: 0; min-height: 2.6em; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.card__title a { color: var(--c-ink); text-decoration: none; } .card__title a:hover { text-decoration: underline; }
.card__title a::after { content: ""; position: absolute; inset: 0; } /* card inteiro clicável sem duplicar links */
.card__price { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 0 .5rem; min-height: 1.75rem; }
.card__price del { font-size: .8125rem; order: 0; color: var(--c-muted); font-weight: 400; } .card__price ins { order: 1; font-size: 1.25rem; margin-left: auto; font-weight: 700; text-decoration: none; color: var(--c-price-sale); } .card__price > .woocommerce-Price-amount { font-size: 1.25rem; font-weight: 700; }
.card__cta { margin-top: auto; padding-top: .35rem; position: relative; z-index: 1; }
.card__cta .button { width: 100%; min-height: 2.5rem; padding: .4rem .75rem; font-size: .875rem; text-transform: uppercase; letter-spacing: .03em; }
.card__cta .ajax_add_to_cart::before { content: "+"; font-size: 1.25em; line-height: 1; margin-right: .1em; }
.card .added_to_cart { display: block; margin-top: var(--s-2); font-size: var(--fs-sm); text-align: center; }

/* ---- 5. HEADER -------------------------------------------------------- */
.announce { background: var(--c-ink); color: #fff; text-align: center; font-size: var(--fs-sm); font-weight: 500; padding: .55rem 0; }
.site-header { position: sticky; top: 0; z-index: var(--z-header); background: #fff; border-bottom: 1px solid var(--c-border); }
.header-main { display: grid; grid-template-columns: auto 1fr auto; grid-template-areas: "nav logo actions" "search search search"; align-items: center; gap: var(--s-2) var(--s-2); padding-block: var(--s-2); }
.nav-toggle { grid-area: nav; } .logo { grid-area: logo; justify-self: start; display: block; } .header-search { grid-area: search; } .header-actions { grid-area: actions; display: flex; gap: var(--s-1); }
.logo__img { width: 112px; height: auto; aspect-ratio: 300 / 128; }
.searchbar { position: relative; display: flex; }
.searchbar__input { padding-right: 3rem; border-radius: var(--r-pill); background: var(--c-surface); border-color: var(--c-border); }
.searchbar__btn { position: absolute; right: .25rem; top: 50%; transform: translateY(-50%); width: 2.5rem; height: 2.5rem; border: 0; background: none; color: var(--c-ink); cursor: pointer; border-radius: 50%; }
.searchbar__btn:hover { background: var(--c-surface-2); }
.header-link { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: var(--s-2); min-width: var(--tap-min); min-height: var(--tap-min); color: var(--c-ink); text-decoration: none; border-radius: var(--r-md); line-height: 1.1; font-weight: 500; }
.header-link:hover { background: var(--c-surface); color: var(--c-ink); }
.header-link__txt { display: none; flex-direction: column; } .header-link__txt small { color: var(--c-muted); font-size: .75rem; font-weight: 400; }
.cart-count { position: absolute; top: .1rem; right: .05rem; min-width: 1.25rem; height: 1.25rem; padding: 0 .3rem; border-radius: var(--r-pill); background: var(--c-ink); color: #fff; font-size: .75rem; font-weight: 600; display: inline-flex; align-items: center; justify-content: center; }
.cart-count[data-empty] { background: var(--c-surface-2); color: #3d4148; }
/* navegação: sem JS fica visível em bloco; com JS vira gaveta no mobile */
.nav-wrap { border-top: 1px solid var(--c-border); background: #fff; }
.nav-close { display: none; }
.primary-nav .menu, .footer-nav .menu { list-style: none; margin: 0; padding: 0; }
.primary-nav a { display: flex; align-items: center; min-height: var(--tap-min); padding: .4rem .25rem; color: var(--c-ink); text-decoration: none; font-weight: 500; text-transform: uppercase; letter-spacing: .02em; font-size: var(--fs-sm); }
.primary-nav a:hover { color: var(--c-action); }
.primary-nav .current-menu-item > a, .primary-nav .current-menu-ancestor > a { background: var(--c-action); color: #fff; border-radius: var(--r-pill); } .primary-nav .current-menu-item > a:hover { color: #fff; }
.primary-nav .sub-menu .current-menu-item > a { border-radius: var(--r-md); }
.primary-nav .sub-menu { list-style: none; margin: 0; padding: 0 0 0 var(--s-4); }
.primary-nav .sub-menu a { text-transform: none; font-weight: 400; font-size: var(--fs-base); }
.sub-toggle { display: none; }
.js .nav-wrap { position: fixed; inset: 0 auto 0 0; width: min(88vw, 22rem); transform: translateX(-102%); transition: transform var(--t-base) var(--ease); z-index: var(--z-drawer); overflow-y: auto; box-shadow: var(--shadow-2); visibility: hidden; border: 0; }
.js .nav-wrap.is-open { transform: none; visibility: visible; }
.js .nav-close { display: inline-flex; margin: var(--s-2) 0 var(--s-2) auto; }
.nav-backdrop { position: fixed; inset: 0; background: rgb(5 10 48 / .55); z-index: var(--z-backdrop); }
.js .primary-nav .menu-item-has-children { position: relative; display: block; }
.js .primary-nav .menu-item-has-children > a { padding-right: 3rem; }
.js .sub-toggle { display: inline-flex; position: absolute; right: 0; top: 0; }
.js .primary-nav .sub-menu { display: none; } .js .primary-nav .menu-item-has-children.is-open > .sub-menu { display: block; }
.js .menu-item-has-children.is-open > .sub-toggle .icon { transform: rotate(180deg); }
@media (min-width: 900px) {
  .header-main { grid-template-columns: auto minmax(14rem, 1fr) auto; grid-template-areas: "logo search actions"; gap: var(--s-5); padding-block: var(--s-3); }
  .logo__img { width: 170px; } .nav-toggle { display: none; } .header-link__txt { display: flex; }
  .cart-count { top: 0; right: 0; }
  .js .nav-wrap, .nav-wrap { position: static; inset: auto; width: auto; transform: none; visibility: visible; box-shadow: none; overflow: visible; border-top: 1px solid var(--c-border); }
  .js .nav-close, .nav-backdrop { display: none !important; }
  .primary-nav .menu { display: flex; justify-content: center; gap: var(--s-1); }
  .primary-nav a { padding: .4rem .9rem; white-space: nowrap; }
  .primary-nav .menu-item-has-children { position: relative; }
  .js .primary-nav .menu-item-has-children > a { padding-right: 2.2rem; } .js .sub-toggle { width: 2rem; height: var(--tap-min); right: 0; }
  .primary-nav .sub-menu, .js .primary-nav .sub-menu { display: none; position: absolute; left: 0; top: 100%; min-width: 15rem; padding: var(--s-2); background: #fff; border: 1px solid var(--c-border); border-radius: var(--r-md); box-shadow: var(--shadow-2); z-index: 10; }
  .primary-nav .menu-item-has-children:hover > .sub-menu, .primary-nav .menu-item-has-children:focus-within > .sub-menu, .js .primary-nav .menu-item-has-children.is-open > .sub-menu { display: block; }
  .primary-nav .sub-menu a { padding: .5rem .75rem; }
}

/* ---- 6. HOME ---------------------------------------------------------- */
.hero { position: relative; background: var(--c-ink); color: #fff; isolation: isolate; overflow: hidden; }
.hero__viewport { overflow: hidden; } .hero__track { display: flex; }
.hero:not(.is-ready) .hero__slide:nth-child(n+2) { display: none; }
.hero.is-ready .hero__track { transition: transform .55s var(--ease); }
.hero__slide { position: relative; flex: 0 0 100%; min-width: 0; display: flex; align-items: flex-end; min-height: clamp(30rem, 118vw, 36rem); isolation: isolate; }
.hero__slide picture, .hero__slide > img { position: absolute; inset: 0; z-index: -2; }
.hero__img { width: 100%; height: 100%; object-fit: cover; }
.hero__slide::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgb(5 10 48 / .88) 0%, rgb(5 10 48 / .55) 45%, rgb(5 10 48 / 0) 75%); }
.hero__inner { width: 100%; padding-block: var(--s-6) 3.5rem; } .hero__copy { max-width: 36rem; }
.hero__eyebrow { margin: 0 0 var(--s-2); font-size: var(--fs-sm); font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #cfe9ff; }
.hero__title { color: #fff; font-size: clamp(2.25rem, 1.4rem + 4vw, 4.5rem); line-height: 1.02; letter-spacing: -.01em; margin-bottom: var(--s-3); text-wrap: balance; text-shadow: 0 2px 18px rgb(0 0 0 / .45); }
.hero__text { font-size: var(--fs-lg); margin-bottom: var(--s-4); max-width: 30rem; }
@media (min-width: 700px) {
  .hero__slide { align-items: center; min-height: clamp(22rem, 33vw, 40rem); }
  .hero__slide::after { background: linear-gradient(90deg, rgb(5 10 48 / .85) 0%, rgb(5 10 48 / .5) 38%, rgb(5 10 48 / 0) 68%); }
  .hero__inner { padding-block: var(--s-6); }
}
/* controles do carrossel (só com 2+ campanhas e JS) */
.hero__controls { position: absolute; inset: 0; pointer-events: none; z-index: 2; }
.hero__controls[hidden] { display: none; }
.hero__btn { pointer-events: auto; position: absolute; top: 50%; transform: translateY(-50%); width: 2.75rem; height: 2.75rem; display: grid; place-items: center; border: 0; border-radius: 50%; background: rgb(255 255 255 / .92); color: var(--c-ink); cursor: pointer; box-shadow: var(--shadow-1); }
.hero__btn:hover { background: #fff; } .hero__btn--prev { left: var(--s-3); } .hero__btn--next { right: var(--s-3); }
@media (max-width: 699.98px) { .hero__btn { top: 26%; width: 2.5rem; height: 2.5rem; } }
@media (min-width: 700px) { .hero--multi .hero__inner { padding-inline: calc(var(--gutter) + 3.75rem); } }
.hero__btn--prev .icon { transform: rotate(90deg); } .hero__btn--next .icon { transform: rotate(-90deg); }
.hero__dots { pointer-events: auto; position: absolute; left: 50%; bottom: .35rem; transform: translateX(-50%); display: flex; align-items: center; background: rgb(5 10 48 / .55); border-radius: var(--r-pill); padding: 0 .25rem; }
.hero__dot, .hero__pause { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border: 0; background: none; cursor: pointer; color: #fff; }
.hero__dot span { width: .6rem; height: .6rem; border-radius: 50%; background: rgb(255 255 255 / .55); border: 1px solid transparent; } .hero__dot[aria-current=true] span { background: #fff; width: 1.4rem; border-radius: var(--r-pill); }
.hero__pause:hover, .hero__dot:hover span { background-color: rgb(255 255 255 / .85); } .hero__pause { border-left: 1px solid rgb(255 255 255 / .35); border-radius: 0; margin-left: .25rem; }
.hero__pause:hover { background: none; opacity: .8; }
.btn--outline-light { background: transparent; border-color: #fff; color: #fff; } .btn--outline-light:hover { background: #fff; color: var(--c-ink); }
.section { padding-block: var(--s-6); } .section--tight { padding-block: var(--s-4); }
.section__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--s-4); margin-bottom: var(--s-4); border-bottom: 2px solid var(--c-ink); padding-bottom: var(--s-2); }
.section__title { margin: 0; font-size: var(--fs-h2); text-transform: uppercase; letter-spacing: .01em; } .link-more { font-weight: 600; display: inline-flex; align-items: center; gap: .25rem; text-transform: uppercase; font-size: var(--fs-sm); letter-spacing: .04em; }
/* categorias — círculos com foto; rolagem horizontal com snap no mobile */
.cats { padding-block: var(--s-5) var(--s-3); }
.cat-strip { list-style: none; margin: 0; padding: .25rem .25rem var(--s-3); display: flex; gap: var(--s-4); overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: thin; }
.cat-chip { display: flex; flex-direction: column; align-items: center; gap: var(--s-2); width: 5.75rem; text-decoration: none; color: var(--c-ink); text-align: center; scroll-snap-align: start; font-weight: 500; font-size: var(--fs-sm); line-height: 1.2; }
.cat-chip__img { display: grid; place-items: center; width: 5rem; height: 5rem; border-radius: 50%; overflow: hidden; background: var(--c-surface); border: 2px solid var(--c-ink); font-size: 1.75rem; font-weight: 600; transition: border-color var(--t-fast), box-shadow var(--t-fast); }
.cat-chip__img img { width: 100%; height: 100%; object-fit: cover; } .cat-chip:hover .cat-chip__img { border-color: var(--c-action); box-shadow: 0 0 0 3px var(--c-brand); } .cat-chip:hover { color: var(--c-action); }
@media (min-width: 900px) { .cat-strip { justify-content: safe center; gap: var(--s-6); } .cat-chip { width: 8rem; font-size: var(--fs-base); } .cat-chip__img { width: 7rem; height: 7rem; } }
/* vitrines: grade 3/4/5 no desktop; trilho com snap no mobile (densidade comercial) */
.shelf .container, .editorial .container { max-width: calc(var(--container) + 2 * var(--gutter)); }
.shelf__list { margin-bottom: 0; }
@media (max-width: 699.98px) {
  ul.products.shelf__list { display: grid; grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: 46%; gap: var(--s-3); overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: var(--s-2); margin-inline: calc(-1 * var(--gutter)); padding-inline: var(--gutter); scroll-padding-inline: var(--gutter); }
  .shelf__list > .card { scroll-snap-align: start; }
}
@media (min-width: 700px) { ul.products.shelf__list { grid-template-columns: repeat(3, minmax(0, 1fr)); } .shelf__list > .card:nth-child(n+4) { display: none; } }
@media (min-width: 1000px) { ul.products.shelf__list { grid-template-columns: repeat(4, minmax(0, 1fr)); } .shelf__list > .card:nth-child(n+4) { display: flex; } .shelf__list > .card:nth-child(n+5) { display: none; } }
@media (min-width: 1280px) { ul.products.shelf__list { grid-template-columns: repeat(5, minmax(0, 1fr)); } .shelf__list > .card:nth-child(n+5) { display: flex; } }
/* banner largo (full-bleed) */
.wide { margin-block: var(--s-4); background: var(--c-ink); }
.wide__link { position: relative; display: grid; align-items: center; justify-items: center; text-align: center; color: #fff; text-decoration: none; min-height: 13rem; isolation: isolate; overflow: hidden; }
.wide__link picture, .wide__link > img { position: absolute; inset: 0; z-index: -1; } .wide__img { width: 100%; height: 100%; object-fit: cover; }
.wide__copy { display: grid; gap: var(--s-2); justify-items: center; padding: var(--s-5) var(--gutter); }
.wide__eyebrow { font-size: var(--fs-sm); letter-spacing: .14em; text-transform: uppercase; color: #cfe9ff; font-weight: 600; }
.wide__title { font-size: clamp(1.5rem, 1rem + 2.4vw, 2.75rem); letter-spacing: .12em; text-transform: uppercase; line-height: 1.1; } .wide__text { font-size: var(--fs-lg); }
@media (min-width: 900px) { .wide__link { min-height: 14rem; } }
/* seção editorial (fundo escuro) */
.editorial { background: var(--c-ink); color: #fff; padding-block: var(--s-6); margin-top: var(--s-6); }
.editorial__grid { display: grid; gap: var(--s-5); } .editorial__copy { display: grid; align-content: center; justify-items: start; gap: var(--s-3); }
.editorial__eyebrow { margin: 0; color: var(--c-brand); font-weight: 600; letter-spacing: .12em; text-transform: uppercase; font-size: var(--fs-sm); }
.editorial__title { color: var(--c-brand); font-size: clamp(1.75rem, 1.2rem + 2vw, 2.5rem); text-transform: uppercase; margin: 0; letter-spacing: .02em; } .editorial__text { margin: 0; font-size: var(--fs-lg); max-width: 22rem; text-transform: uppercase; letter-spacing: .04em; color: #dfe3f2; }
@media (min-width: 1000px) { .editorial__grid { grid-template-columns: 17rem minmax(0, 1fr); gap: var(--s-6); align-items: center; } .editorial ul.products.shelf__list { grid-template-columns: repeat(4, minmax(0, 1fr)); } .editorial .shelf__list > .card:nth-child(n+5) { display: none; } }
@media (min-width: 700px) and (max-width: 999.98px) { .editorial ul.products.shelf__list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* ---- 7. LISTAGEM (PLP) ------------------------------------------------ */
.woocommerce-products-header { margin-bottom: var(--s-4); } .woocommerce-products-header__title, .product_title { margin-top: 0; }
.term-description { color: var(--c-muted); max-width: 46rem; }
.plp { display: block; } .plp__bar { display: flex; justify-content: flex-end; margin-bottom: var(--s-3); }
.plp__main > .woocommerce-result-count { display: inline-block; margin: 0 var(--s-4) var(--s-3) 0; color: var(--c-muted); font-size: var(--fs-sm); }
.woocommerce-ordering { float: right; margin: 0 0 var(--s-3); } .woocommerce-ordering select { width: auto; min-width: 12rem; }
.plp__main ul.products { clear: both; }
@media (min-width: 900px) { .plp { display: grid; grid-template-columns: 15rem minmax(0, 1fr); gap: var(--s-6); align-items: start; } .plp__bar { display: none; } .filters { position: sticky; top: 8.5rem; } }
.filters__title, .filter-group__title { font-size: var(--fs-base); font-weight: 600; margin: 0 0 var(--s-2); text-transform: uppercase; letter-spacing: .03em; padding: 0; }
.filters__head { display: flex; justify-content: space-between; align-items: center; } .filters__title { font-size: var(--fs-lg); }
.filter-group { margin: 0 0 var(--s-5); padding: 0; border: 0; min-width: 0; }
.filter-list { list-style: none; margin: 0; padding: 0; } .filter-list a { display: flex; justify-content: space-between; min-height: 2.25rem; align-items: center; color: var(--c-text); text-decoration: none; }
.filter-list a:hover { color: var(--c-action); } .filter-list a[aria-current] { font-weight: 600; color: var(--c-ink); } .count { color: var(--c-muted); font-size: var(--fs-sm); }
.price-range { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s-2); } .price-range label { font-size: var(--fs-sm); color: var(--c-muted); }
.size-grid { display: flex; flex-wrap: wrap; gap: var(--s-2); }
.filters__actions { display: grid; gap: var(--s-2); }
.js [data-filters-toggle] { display: inline-flex; } .js [data-filters-toggle][hidden] { display: inline-flex; }
@media (max-width: 899.98px) {
  .js .filters { position: fixed; inset: 0 0 0 auto; width: min(92vw, 24rem); background: #fff; padding: var(--s-4); overflow-y: auto; transform: translateX(102%); transition: transform var(--t-base) var(--ease); z-index: var(--z-drawer); visibility: hidden; box-shadow: var(--shadow-2); }
  .js .filters.is-open { transform: none; visibility: visible; }
  .js [data-filters-close] { display: inline-flex; } .filters-backdrop { position: fixed; inset: 0; background: rgb(5 10 48 / .55); z-index: var(--z-backdrop); }
}
@media (min-width: 900px) { [data-filters-toggle], [data-filters-close], .filters-backdrop { display: none !important; } }
.woocommerce-pagination { margin: var(--s-5) 0; } .woocommerce-pagination ul { display: flex; flex-wrap: wrap; gap: var(--s-2); justify-content: center; list-style: none; margin: 0; padding: 0; border: 0 !important; }
.woocommerce-pagination li { border: 0 !important; float: none !important; } .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: var(--tap-min); min-height: var(--tap-min); padding: 0 .75rem; border: 1px solid var(--c-border-strong); border-radius: var(--r-md); text-decoration: none; color: var(--c-ink); font-weight: 500; }
.page-numbers.current { background: var(--c-ink); color: #fff; border-color: var(--c-ink); } a.page-numbers:hover { background: var(--c-surface); }

/* ---- 8. PRODUTO (PDP) ------------------------------------------------- */
.single-product div.product { display: grid; gap: var(--s-5); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 900px) { .single-product div.product { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: var(--s-7); align-items: start; } .single-product:not(.altos-go-product) .summary { position: sticky; top: 8rem; }   /* resumo longo (composto) não pode ficar "preso": o botão ficaria fora da tela */ .single-product div.product > .pdp-sections, .single-product div.product > .related, .single-product div.product > .upsells { grid-column: 1 / -1; } }
.gallery { position: relative; display: grid; gap: var(--s-3); } .gallery__badge { position: absolute; z-index: 2; top: var(--s-3); left: var(--s-3); }
.gallery__main { margin: 0; background: var(--c-surface); border-radius: var(--r-lg); overflow: hidden; aspect-ratio: 1; } .gallery__img { width: 100%; height: 100%; object-fit: cover; }
.gallery__thumbs { list-style: none; margin: 0; padding: 0; display: flex; gap: var(--s-2); overflow-x: auto; } .gallery__thumb { width: 4.5rem; height: 4.5rem; padding: 0; border: 2px solid transparent; border-radius: var(--r-md); overflow: hidden; background: var(--c-surface); cursor: pointer; }
.gallery__thumb[aria-current=true] { border-color: var(--c-ink); } .gallery__thumb img { width: 100%; height: 100%; object-fit: cover; }
.summary .price { display: block; font-size: 1.75rem; margin-bottom: var(--s-4); } .summary .price del { font-size: 1.125rem; }
.summary .woocommerce-product-details__short-description { color: var(--c-muted); margin-bottom: var(--s-4); }
.woocommerce-product-rating { margin-bottom: var(--s-3); display: flex; gap: var(--s-2); align-items: center; font-size: var(--fs-sm); }
.star-rating { position: relative; display: inline-block; width: 5.4em; height: 1em; overflow: hidden; line-height: 1; font-size: 1rem; letter-spacing: .1em; color: var(--c-border-strong); }
.star-rating::before { content: "★★★★★"; position: absolute; inset: 0 auto auto 0; }
.star-rating span { position: absolute; top: 0; left: 0; overflow: hidden; padding-top: 1.5em; color: var(--c-ink); }
.star-rating span::before { content: "★★★★★"; position: absolute; top: 0; left: 0; }
p.stars a { color: var(--c-ink); }
table.variations { border: 0; margin: 0 0 var(--s-4); width: 100%; border-collapse: collapse; } table.variations th, table.variations td { display: block; padding: 0 0 var(--s-2); text-align: left; border: 0; }
table.variations label { font-weight: 600; color: var(--c-ink); } .js table.variations select.is-enhanced { position: absolute; opacity: 0; pointer-events: none; width: 1px; height: 1px; }
.reset_variations { display: inline-block; margin-top: var(--s-2); font-size: var(--fs-sm); }
.woocommerce-variation-price { margin-bottom: var(--s-3); } .woocommerce-variation-availability .stock { color: var(--c-success); font-weight: 500; } .stock.out-of-stock { color: var(--c-error); font-weight: 600; }
.variation-error { color: var(--c-error); font-weight: 500; margin: 0 0 var(--s-3); }
form.cart:not(.variations_form), .woocommerce-variation-add-to-cart { display: flex; gap: var(--s-3); align-items: stretch; flex-wrap: wrap; margin-bottom: var(--s-4); }
.quantity input.qty { width: 5rem; text-align: center; min-height: var(--control-h); }
.single_add_to_cart_button { flex: 1 1 12rem; min-height: 3.25rem; font-size: var(--fs-lg); }
.product_meta { font-size: var(--fs-sm); color: var(--c-muted); display: grid; gap: var(--s-1); margin-top: var(--s-4); }
.trust { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s-3); } .trust__item strong { display: block; } .trust__item { display: flex; align-items: flex-start; gap: var(--s-3); color: var(--c-ink); } .trust__item span { display: block; color: var(--c-muted); font-size: var(--fs-sm); } .trust__item .icon { color: var(--c-action); margin-top: .15rem; }
.trust--pdp { margin-top: var(--s-5); padding: var(--s-4); background: var(--c-surface); border-radius: var(--r-md); }
.pdp-sections { display: grid; gap: var(--s-6); margin-top: var(--s-4); } .pdp-section h2, .woocommerce-Reviews-title { font-size: var(--fs-h3); padding-bottom: var(--s-2); border-bottom: 2px solid var(--c-ink); display: block; }
.woocommerce-product-attributes { width: 100%; border-collapse: collapse; } .woocommerce-product-attributes th, .woocommerce-product-attributes td { text-align: left; padding: var(--s-2) var(--s-3); border-bottom: 1px solid var(--c-border); } .woocommerce-product-attributes th { width: 30%; color: var(--c-muted); font-weight: 500; }
.related.products h2, .upsells.products h2 { margin-top: var(--s-6); }
.commentlist { list-style: none; padding: 0; } .commentlist li { padding: var(--s-4) 0; border-bottom: 1px solid var(--c-border); } .comment-form-rating select { max-width: 14rem; }
/* Grupos e Opções + composições (componentes visuais genéricos — domínio na F6) */
.optgroup { display: grid; gap: var(--s-5); } .optgroup__set { margin: 0; padding: 0; border: 0; display: flex; flex-wrap: wrap; gap: var(--s-2); } .optgroup__title { width: 100%; padding: 0; font-weight: 600; color: var(--c-ink); margin-bottom: var(--s-1); }
.req { font-size: var(--fs-sm); font-weight: 400; color: var(--c-muted); } .opt { position: relative; } .opt input { position: absolute; opacity: 0; } .opt__box { display: grid; min-width: 7rem; padding: .6rem 1rem; border: 1.5px solid var(--c-border-strong); border-radius: var(--r-md); cursor: pointer; background: #fff; } .opt__box small { color: var(--c-muted); }
.opt input:checked + .opt__box { border-color: var(--c-ink); box-shadow: inset 0 0 0 1.5px var(--c-ink); } .opt input:focus-visible + .opt__box { outline: var(--focus); outline-offset: 2px; } .opt.is-unavailable .opt__box { background: var(--c-surface); color: #5b5f66; border-style: dashed; cursor: not-allowed; }
.optgroup__set--error .opt__box { border-color: var(--c-error); }
.combo-grid { display: grid; gap: var(--s-4); } @media (min-width: 700px) { .combo-grid { grid-template-columns: 1fr 1fr; } }
.combo { border: 1px solid var(--c-border); border-radius: var(--r-lg); padding: var(--s-4); } .combo__title { font-size: var(--fs-lg); } .combo__slots { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s-2); } .combo__slots li { display: flex; justify-content: space-between; align-items: center; gap: var(--s-3); padding: var(--s-2) var(--s-3); background: var(--c-surface); border-radius: var(--r-md); }

/* ---- 9. CARRINHO · CHECKOUT · MINHA CONTA ----------------------------- */
.wc-block-cart, .wc-block-checkout { font-family: var(--font); color: var(--c-text); }
.wc-block-components-title, .wc-block-cart__totals-title, .wc-block-components-checkout-step__title { font-family: var(--font); color: var(--c-ink); font-weight: 600; }
.wc-block-components-button:not(.is-link) { border-radius: var(--r-md); }
.wc-block-components-checkout-place-order-button, .wc-block-cart__submit-button { min-height: 3.25rem; font-size: var(--fs-lg); width: 100%; }
.wc-block-components-totals-wrapper, .wc-block-cart-items td { border-color: var(--c-border); }
.wc-block-components-product-name { color: var(--c-ink); font-weight: 500; text-decoration: none; }
.wc-block-components-sidebar-layout .wc-block-components-main, .wc-block-components-sidebar { box-sizing: border-box; }
.wc-block-checkout__sidebar, .wp-block-woocommerce-cart-totals-block { background: var(--c-surface); border-radius: var(--r-lg); padding: var(--s-4); }
.wc-block-components-text-input label, .wc-block-components-form .wc-block-components-text-input label { color: var(--c-muted); }
.wc-block-components-text-input.has-error input { border-color: var(--c-error); }
.wc-block-components-validation-error { color: var(--c-error); font-weight: 500; }
.wc-block-components-radio-control__option-checked { font-weight: 600; }
.woocommerce-cart-form, table.shop_table { width: 100%; border-collapse: collapse; } table.shop_table th, table.shop_table td { padding: var(--s-3); border-bottom: 1px solid var(--c-border); text-align: left; }
/* Minha conta */
.woocommerce-account .woocommerce { display: grid; gap: var(--s-5); } @media (min-width: 900px) { .woocommerce-account.logged-in .woocommerce { grid-template-columns: 15rem minmax(0, 1fr); gap: var(--s-6); align-items: start; } }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--s-2); } @media (min-width: 900px) { .woocommerce-MyAccount-navigation ul { display: grid; gap: 0; border: 1px solid var(--c-border); border-radius: var(--r-md); overflow: hidden; } }
.woocommerce-MyAccount-navigation a { display: flex; align-items: center; min-height: var(--tap-min); padding: .4rem 1rem; text-decoration: none; color: var(--c-ink); font-weight: 500; border: 1px solid var(--c-border); border-radius: var(--r-md); } @media (min-width: 900px) { .woocommerce-MyAccount-navigation a { border: 0; border-bottom: 1px solid var(--c-border); border-radius: 0; } }
.woocommerce-MyAccount-navigation .is-active a { background: var(--c-ink); color: #fff; }
.woocommerce form.login, .woocommerce form.register, .woocommerce form.lost_reset_password, .woocommerce-ResetPassword { max-width: 30rem; padding: var(--s-5); border: 1px solid var(--c-border); border-radius: var(--r-lg); background: #fff; }
.woocommerce form .form-row { margin: 0 0 var(--s-4); } .woocommerce form .form-row label { display: block; margin-bottom: var(--s-1); } .woocommerce .required { color: var(--c-error); text-decoration: none; }
.woocommerce-form-login__rememberme { display: flex; align-items: center; gap: var(--s-2); margin-bottom: var(--s-3); } input[type=checkbox], input[type=radio] { width: 1.15rem; height: 1.15rem; accent-color: var(--c-action); }
.woocommerce-address-fields__field-wrapper { display: grid; gap: 0 var(--s-4); } @media (min-width: 700px) { .woocommerce-address-fields__field-wrapper { grid-template-columns: 1fr 1fr; } }

/* ---- 10. FOOTER ------------------------------------------------------- */
.site-footer { background: var(--c-ink); color: #dfe3f2; margin-top: var(--s-6); } .site-footer a { color: #fff; }
.footer-trust { background: var(--c-surface); border-bottom: 1px solid var(--c-border); padding-block: var(--s-5); color: var(--c-text); } .footer-trust .trust { grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: var(--s-4); }
.footer-trust .trust__item .icon { width: 2.25rem; height: 2.25rem; } .footer-trust .trust__item strong { font-size: var(--fs-lg); color: var(--c-action); }
.footer-grid { display: grid; gap: var(--s-6) var(--s-5); padding-block: var(--s-7); grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); }
.footer-title { color: #fff; font-size: var(--fs-lg); margin-bottom: var(--s-3); } .footer-list, .footer-nav .menu { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s-1); } .footer-nav a, .footer-list a { display: inline-flex; min-height: 2rem; align-items: center; }
.pay-list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--s-2); } .pay-list li { padding: .3rem .8rem; border: 1px solid rgb(255 255 255 / .4); border-radius: var(--r-pill); font-size: var(--fs-sm); color: #fff; }
.footer-legal { border-top: 1px solid rgb(255 255 255 / .18); padding-block: var(--s-4); font-size: var(--fs-sm); text-align: center; } .footer-legal p { margin: 0; }
.wa-float { position: fixed; right: var(--s-4); bottom: var(--s-4); z-index: var(--z-float); display: grid; place-items: center; width: 3.5rem; height: 3.5rem; border-radius: 50%; background: #0B6B3A; color: #fff; box-shadow: var(--shadow-2); }
.wa-float:hover { background: #09562e; color: #fff; }

/* ---- 11. GUIA DE COMPONENTES (DEV) ------------------------------------ */
.ds__sec { margin-bottom: var(--s-7); } .ds__sec h2 { border-bottom: 2px solid var(--c-ink); padding-bottom: var(--s-2); }
.ds__note { color: var(--c-muted); } .ds__row { display: flex; flex-wrap: wrap; gap: var(--s-3); align-items: center; list-style: none; padding: 0; } .ds__row--cards { align-items: stretch; } .ds__row--cards .card { width: 15rem; }
.ds__swatches { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s-4); grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr)); } .ds__swatches li { display: grid; gap: var(--s-1); } .ds__sw { height: 3.5rem; border-radius: var(--r-md); border: 1px solid var(--c-border); }
.ds__t1 { font-size: var(--fs-h1); font-weight: 600; margin: 0; color: var(--c-ink); } .ds__t2 { font-size: var(--fs-h2); font-weight: 600; margin: 0 0 var(--s-2); color: var(--c-ink); } .ds__t3 { font-size: var(--fs-h3); font-weight: 600; color: var(--c-ink); }
.ds__dark { background: var(--c-ink); padding: var(--s-3); border-radius: var(--r-md); } .ds__grid2 { display: grid; gap: var(--s-4); } @media (min-width: 700px) { .ds__grid2 { grid-template-columns: 1fr 1fr; } }
.ds__ph { display: grid; place-items: center; height: 100%; color: var(--c-muted); font-size: var(--fs-sm); }

/* Botão nativo do WooCommerce (mostrar senha): alvo de toque adequado */
.woocommerce form .show-password-input { min-width: 2.75rem; min-height: 2.75rem; }

/* Checkout enxuto (poucos distratores): sem menu, busca, selos nem WhatsApp; mantém logo, conta e carrinho */
.woocommerce-checkout .nav-wrap, .woocommerce-checkout .header-search, .woocommerce-checkout .nav-toggle, .woocommerce-checkout .footer-trust, .woocommerce-checkout .wa-float { display: none !important; }
.woocommerce-checkout .header-main { grid-template-areas: "logo actions"; grid-template-columns: 1fr auto; }
/* Texto dos blocos do WooCommerce em escala legível */
.wc-block-components-product-name, .wc-block-components-totals-item, .wc-block-components-product-metadata, .wc-block-components-totals-coupon__button, .wc-block-components-checkbox__label, .wc-block-components-radio-control__label { font-size: 1rem; }
.wc-block-components-product-metadata { color: var(--c-muted); font-size: var(--fs-sm); }

/* Campo de senha: botão "mostrar senha" do WooCommerce (ícone próprio, sem fonte de ícones) */
.woocommerce .password-input { position: relative; display: block; }
.woocommerce .password-input input { padding-right: 3.25rem; }
.woocommerce form .show-password-input { position: absolute; right: .25rem; top: 50%; transform: translateY(-50%); width: 2.75rem; padding: 0; border: 0; border-radius: var(--r-md); cursor: pointer; background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23050A30' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / 22px no-repeat; }
.woocommerce form .show-password-input:hover { background-color: var(--c-surface); }
.woocommerce form .show-password-input.display-password { background-color: var(--c-surface-2); }

/* Arte completa (o texto já está na imagem): sem gradiente nem texto sobreposto; a imagem inteira é o link */
.hero__slide--art { display: block; min-height: 0; } .hero__slide--art::after { display: none; }
.hero__slide--art .hero__artlink { display: block; } .hero__slide--art picture, .hero__slide--art > a > img { position: static; display: block; }
.hero__slide--art .hero__img { position: static; width: 100%; height: auto; aspect-ratio: 1920 / 650; object-fit: cover; }
@media (max-width: 699.98px) { .hero__slide--art .hero__img { aspect-ratio: 1080 / 1350; } }
.wide__link:has(> .sr-only:last-child) { min-height: 0; } .wide__link:has(> .sr-only:last-child) .wide__img { position: static; height: auto; aspect-ratio: 1920 / 650; }
@media (max-width: 699.98px) { .wide__link:has(> .sr-only:last-child) .wide__img { aspect-ratio: 1080 / 1350; } }
.wide__link:has(> .sr-only:last-child) picture { position: static; display: block; width: 100%; }

/* ---- Grupos e Opções (PDP de compra composta): chips acessíveis por grupo, resumo e erros ---- */
.go-form { display: grid; gap: var(--s-5); margin-bottom: var(--s-4); }
.go-group { margin: 0; padding: 0; border: 0; min-width: 0; }
.go-group__title { padding: 0; margin-bottom: var(--s-2); font-weight: 600; color: var(--c-ink); font-size: var(--fs-lg); }
.go-group__desc { margin: 0 0 var(--s-2); font-size: var(--fs-sm); }
.go-chips { display: flex; flex-wrap: wrap; gap: var(--s-2); }
.go-chip { position: relative; display: inline-flex; }
.go-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.go-chip__text { display: inline-flex; align-items: center; justify-content: center; gap: .25rem; min-width: var(--tap-min); min-height: var(--tap-min); padding: 0 .9rem; font: 500 var(--fs-base) var(--font); color: var(--c-ink); background: #fff; border: 1.5px solid var(--c-border-strong); border-radius: var(--r-md); cursor: pointer; transition: background var(--t-fast), border-color var(--t-fast); }
.go-chip:hover .go-chip__text { border-color: var(--c-ink); }
.go-chip input:checked + .go-chip__text { background: var(--c-ink); border-color: var(--c-ink); color: #fff; }
.go-chip input:focus-visible + .go-chip__text { outline: var(--focus); outline-offset: 2px; }
.go-chip.is-unavailable .go-chip__text { color: #5b5f66; background: var(--c-surface); border-style: dashed; text-decoration: line-through; cursor: not-allowed; }
.go-group.has-error .go-chip__text { border-color: var(--c-error); }
.go-group.has-error .go-group__title { color: var(--c-error); }
.go-chip small { font-size: var(--fs-sm); font-weight: 400; }
.go-summary { padding: var(--s-4); background: var(--c-surface); border-radius: var(--r-md); }
.go-summary__title { font-size: var(--fs-base); text-transform: uppercase; letter-spacing: .03em; margin: 0 0 var(--s-2); }
.go-summary__list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s-1); }
.go-summary__total { margin: var(--s-3) 0 0; font-weight: 600; color: var(--c-ink); }
.go-actions { display: flex; gap: var(--s-3); align-items: stretch; flex-wrap: wrap; }
.wc-block-components-product-metadata__description, .wc-block-components-product-details { font-size: var(--fs-sm); }

form.cart.go-form { display: grid; gap: var(--s-5); align-items: start; }
/* F6-H1: 9 itens no menu (inclui Compra Coletiva) — compacta entre 900 e 1279 px sem quebrar rótulos em duas linhas */
@media (min-width: 900px) and (max-width: 1279px) { .primary-nav .menu { gap: 0; } .primary-nav a { padding: .4rem .5rem; letter-spacing: 0; } .js .primary-nav .menu-item-has-children > a { padding-right: 2rem; } }
@media (min-width: 900px) and (max-width: 1399px) { .cat-strip { gap: var(--s-4); } .cat-chip { width: 6.5rem; font-size: var(--fs-sm); } .cat-chip__img { width: 5.5rem; height: 5.5rem; } }
@media (min-width: 900px) and (max-width: 999px) { .primary-nav a { padding: .4rem .3rem; font-size: .8rem; } }
