/* Estilo "minimalismo de luxo" da Santo Congelado (Leonardo, 30/10/2026). Só carrega com NEXT_PUBLIC_ESTILO_DA_LOJA=luxo.
   Fio de 1 px no lugar de sombra e caixa · subtítulos na fonte da loja · caixa-alta espaçada nos rótulos ·
   cantos de 2 px · laranja só em detalhes · preço e botão no verde da loja, que é conversão, não estilo.
   :root:root na frente de cada regra: vale sobre os CSS Modules qualquer que seja a ordem no <head>.
   ponytail: selecionamos por prefixo de classe dos módulos (camada sobre a estrutura); se um módulo renomear classe, a regra só deixa de valer. */
:root:root:root:root {
  --lx-tinta: #231F20;
  --lx-apoio: #6F6A64;
  --lx-fio: #E6E1D9;
  --lx-reta: Inter, -apple-system, sans-serif;

  --color-paper: #FFFFFF;
  --color-cream: #F7F5F1;
  --color-cream-deep: #F4F1EC;
  --color-line: var(--lx-fio);
  --color-line-soft: var(--lx-fio);
  --color-ink: var(--lx-tinta);
  --color-muted: var(--lx-apoio);
  --cta-peso: 500;
  --color-primary-dark: var(--lx-tinta);
  --color-leaf: var(--lx-tinta);
  --peso-destaque: 500;
  --hero-degrade: none;
  --sh-card: none;
  --card-raio: 2px;
  --card-raio-dentro: 2px;

  /* subtítulos: token da plataforma */
  --font-secao: "Pacifico", cursive;
  --secao-caixa: none;
  --secao-peso: 400;
  --secao-espaco: 0;
  --secao-escala: 1.24;
  --secao-cor: #2F3437;

  /* header: tokens da plataforma */
  --logo-topo-celular: 32px !important; /* vale sobre o 42 do LOGO_DO_TOPO: a busca ganha o espaço */
  --anuncio: var(--lx-tinta);
  --anuncio-tinta: #F4EFE7;
  --anuncio-destaque: #FC9F04;
  --topo-contorno: var(--lx-fio);
  --topo-pe: var(--lx-fio);
  --topo-busca: transparent;
  --topo-busca-tinta: var(--lx-tinta);
  --regua-espaco: .13em;
  --regua-ofertas-peso: 400;
  --ofertas-marca: linear-gradient(#FC9F04, #FC9F04);
  --ofertas-marca-tam: 100% 1px;
  --ofertas-marca-pos: 0 100%;
  --ofertas-marca-folga: 0px;

}
:root:root body { background: var(--color-paper); }

/* checkout: fundo um tom abaixo e caixas brancas com fio, para o cadastro e o resumo não sumirem no branco */
:root:root:root:root:has([class*="CheckoutForm_root"]) {
  --color-paper: #F3F0EA;
  --color-line: #DDD7CD;
  --color-line-soft: #E6E1D9;
}

/* ── Header ─────────────────────────────────────────── */
:root:root .mao-barra { border-bottom: 0 !important; }
:root:root .mao-barra p { font-size: 12px !important; font-weight: 400 !important; letter-spacing: .05em !important; }
:root:root .mao-barra strong { font-weight: 500 !important; }
:root:root header .mao-campo { height: 44px !important; padding-left: 16px !important; background: transparent !important; }
:root:root header .mao-campo input { font-size: 14px !important; }
:root:root header .mao-botao { width: 36px !important; height: 36px !important; background: transparent !important; }
:root:root header .mao-botao svg { color: var(--lx-tinta); stroke: var(--lx-tinta); }
:root:root header svg { stroke-width: 1.2; }
:root:root header nav :is(a, button[aria-expanded]) { font-size: 12px !important; font-weight: 400 !important; }
:root:root header nav a.ver-tudo { font-weight: 700 !important; }
/* selo colorido do Santinho, com respiro até o fio do topo */
:root:root header nav img[alt*="antinho"] { height: 56px !important; margin-top: -31px !important; }
:root:root header nav ul { padding-bottom: 28px !important; }
/* A linha Santinho ainda não lançou: tirar esta regra no lançamento. */
:root:root header nav span:has(> img[alt*="antinho"]) { position: relative; }
:root:root header nav span:has(> img[alt*="antinho"])::after { content: "Em breve"; position: absolute; top: 26px; left: 50%; transform: translateX(-50%); padding: 3px 5px 3px 6px; border-radius: 2px; background: var(--lx-tinta); color: #FC9F04; font: 500 9px/1 var(--lx-reta); letter-spacing: .12em; text-transform: uppercase; white-space: nowrap; }
:root:root header nav a.regua-link[aria-current], :root:root header nav a[aria-current="page"] { text-decoration-thickness: 1px !important; }

/* Faixas de ponta a ponta não têm canto (a regra "sem curvas" abaixo arredondaria a faixa preta e o pé do topo) */
:root:root .mao-barra, :root:root header.sticky, :root:root header.sticky > header, :root:root header.sticky > header > div { border-radius: 0 !important; }

/* Linha do topo no celular: simétrica (menu e carrinho de 32), então logo + busca centram na tela; logo e lupa em 32, busca em 44 */
:root:root .mao-topo-celular { position: relative; }
:root:root .mao-topo-celular > button[aria-label^="Carrinho"] { width: 32px; height: 44px; }
:root:root .mao-topo-celular .mao-campo { gap: 4px !important; padding-right: 8px !important; }
:root:root .mao-topo-celular .mao-campo > span:first-child { line-height: 1.7; }
:root:root .mao-topo-celular .mao-botao { width: 32px !important; height: 32px !important; }
:root:root .mao-topo-celular .mao-lupa { width: 15px; height: 15px; }

/* ── Balão de quem está logado ───────────────────────── */
/* Corpo no desenho do marca-texto dos subtítulos (--secao-marca), chapado: rgba(107,193,208,.55) sobre branco = #AEDDE5. Pode ser curvo, como os ícones. */
:root:root .balao { display: block; width: fit-content; height: 24px; padding: 0 12px; align-content: center; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 40' preserveAspectRatio='none'%3E%3Cpath d='M15 3 C60 0 125 3 184 1 C194 1 199 9 199 20 C199 31 194 38 184 38 C130 40 70 37 16 39 C6 39 1 31 1 21 C1 11 5 4 15 3 Z' fill='%23AEDDE5'/%3E%3C/svg%3E") center / 100% 100% no-repeat; color: var(--lx-tinta); white-space: nowrap; font: 400 12px/20px var(--lx-reta); letter-spacing: 0; font-variant-numeric: tabular-nums; }
/* divisor: linha vertical na caixa do valor, reta */
:root:root .balao b { margin-left: 8px; padding-left: 8px; font-weight: 600; border-radius: 0 !important; box-shadow: inset 1px 0 0 rgb(35 31 32 / .35); }
:root:root .balao-ligado { display: block; color: inherit; text-decoration: none; cursor: pointer; transition: filter 160ms ease, transform 160ms cubic-bezier(.23, 1, .32, 1); }
:root:root .balao-ligado:active { transform: scale(.97); }
:root:root .balao-ligado:focus-visible { outline: none; }
:root:root .balao-ligado:focus-visible .balao { outline: 2px solid var(--lx-tinta); outline-offset: 2px; }
@media (hover: hover) and (pointer: fine) { :root:root .balao-ligado:hover { filter: brightness(.95); } }
@media (prefers-reduced-motion: reduce) { :root:root .balao-ligado { transition: filter 160ms ease; } :root:root .balao-ligado:active { transform: none; } }
/* Computador: no branco entre a faixa preta e os ícones, sem mexer no layout. Trilho do início da área livre até a cauda: o corpo encosta à direita, à esquerda da cabeça; não cabe, cresce para a direita, nunca sobre a busca. A cauda desce até o lado da cabeça. */
:root:root .balao-topo { position: absolute; left: -122px; width: 137px; bottom: 100%; display: flex; justify-content: safe flex-end; pointer-events: none; }
:root:root .balao-topo > * { flex: none; pointer-events: auto; }
:root:root .balao-topo::after { content: ""; position: absolute; width: 18px; height: 20px; left: 119px; top: calc(100% - 3px); pointer-events: none; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 20'%3E%3Cpath d='M0 0h11c.4 6 2.500 12 6.400 17.600.4.7-.1 1.400-.9 1.100C10 16.400 3.500 9 0 0z' fill='%23AEDDE5'/%3E%3C/svg%3E") center / 100% 100% no-repeat; }
/* Celular: dentro do topo, abaixo do logo e da busca, centrado na tela. Com saldo vai da borda do logo à da busca, com o texto no centro; sem saldo, o tamanho do texto. A cauda acompanha o corpo e a ponta cai sob o logo. */
:root:root .mao-topo-celular:has(> .balao-celular) { padding-bottom: 36px !important; }
:root:root .balao-celular { position: absolute; left: 44px; right: 44px; top: 64px; display: flex; justify-content: center; transform-origin: 50% 0; }
:root:root .balao-celular .balao { position: relative; flex: none; }
:root:root .balao-celular.balao-cheio .balao { width: 100%; min-width: max-content; padding: 0 8px; text-align: center; }
:root:root .balao-celular .balao::after { content: ""; position: absolute; width: 14px; height: 9px; left: 14px; top: -6px; pointer-events: none; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 11' preserveAspectRatio='none'%3E%3Cpath d='M14 11C10.400 8.700 6.900 5.200 4.600 1 4.100.1 3 .2 2.800 1.200 2.300 4.800 1.400 8.300 0 11z' fill='%23AEDDE5'/%3E%3C/svg%3E") center / 100% 100% no-repeat; }
:root:root .balao-celular.balao-cheio .balao::after { left: 92px; }
/* alvo de toque: desce até o pé do topo e não invade a busca */
:root:root .balao-celular .balao::before { content: ""; position: absolute; inset: -4px -4px -8px; }

/* ── Banner principal: mesmo lugar e proporção ──────── */
:root:root main section[aria-roledescription="carousel"] > div:first-child { box-shadow: none !important; background: #F4F1EC !important; }
:root:root main section[aria-roledescription="carousel"] button[aria-label*="nterior" i], :root:root main section[aria-roledescription="carousel"] button[aria-label*="róximo" i] { background: rgba(255, 255, 255, .92) !important; border: 1px solid var(--lx-fio) !important; box-shadow: none !important; color: var(--lx-tinta) !important; }
:root:root main section[aria-roledescription="carousel"] button svg { stroke-width: 1.2; }

/* ── Faixa de vantagens ─────────────────────────────── */
:root:root [class*="FaixaDaLoja_bento_"] { gap: 0 !important; border-block: 1px solid var(--lx-fio); }
:root:root [class*="FaixaDaLoja_bentoCard"] { min-height: 84px; padding: 12px 20px !important; gap: 14px; background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; color: var(--lx-tinta) !important; }
:root:root [class*="FaixaDaLoja_bentoCard"] + [class*="FaixaDaLoja_bentoCard"] { border-left: 1px solid var(--lx-fio) !important; }
:root:root [class*="FaixaDaLoja_bentoMini"] { overflow: visible !important; width: 56px !important; height: 56px !important; flex: 0 0 56px; background: transparent !important; border-radius: 0 !important; color: var(--lx-tinta); }
:root:root .lx-icone { display: block; width: 100%; height: 100%; object-fit: contain; }
/* a loja aplica cover e zoom de 12% na arte 3D: o ícone flat entra inteiro */
:root:root [class*="FaixaDaLoja_bentoArte"], :root:root [class*="ProductDetail_mini_"] img { transform: none !important; object-fit: contain !important; }
:root:root [class*="FaixaDaLoja_bentoTitulo"] { font-family: Inter, sans-serif !important; font-size: 14px !important; font-weight: 500 !important; line-height: 1.25 !important; letter-spacing: .005em !important; color: var(--lx-tinta) !important; }
:root:root [class*="FaixaDaLoja_bentoLinha"] { font-size: 12px !important; font-weight: 400 !important; color: var(--lx-apoio) !important; }
:root:root [class*="FaixaDaLoja_bentoCodigo"] { font-size: 10px !important; font-weight: 500 !important; letter-spacing: .14em !important; color: var(--lx-tinta) !important; }

/* ── Subtítulos: a fonte da loja (Pacifico) com o marca-texto azul ── */
:root:root .secao-apoio { margin-top: 8px !important; font-weight: 400 !important; font-size: 10.5px !important; color: var(--lx-apoio) !important; }

/* ── Categorias ─────────────────────────────────────── */
:root:root main section ul a[style*="aspect-ratio"] { box-shadow: none !important; }
:root:root main section ul a[style*="aspect-ratio"] > span:last-child { font-size: 11.5px !important; font-weight: 400 !important; letter-spacing: .12em !important; text-transform: uppercase; }

/* ── Cards de produto: sem caixa, mesma ordem ───────── */
:root:root main div[style*="box-shadow:var(--sh-card)"], :root:root main div[style*="box-shadow: var(--sh-card)"] { background: transparent !important; border: 0 !important; }
:root:root main a[class*="aspect-"][class*="m-1.5"] { margin: 0 !important; background: #F4F1EC !important; }
:root:root main div[style*="sh-card"] > div[class*="px-3"] { padding-inline: 0 !important; }
:root:root main mark { background: none !important; color: var(--lx-tinta) !important; font-weight: 500 !important; padding: 0 !important; }
:root:root main div[class*="grid-flow-col"] { margin-bottom: 14px !important; border-bottom: 1px solid var(--lx-fio) !important; }
:root:root main div[class*="grid-flow-col"] > div + div { border-left: 1px solid var(--lx-fio) !important; }
:root:root main div[class*="grid-flow-col"] [class*="text-[11px]"] { font-size: 10px !important; letter-spacing: .1em; text-transform: uppercase; color: var(--lx-apoio) !important; }
:root:root main div[class*="grid-flow-col"] [class*="text-[13px]"] { font-weight: 400 !important; }
:root:root .lx-prato { display: block; font: 600 13px/1.32 var(--lx-reta); letter-spacing: .08em; text-transform: uppercase; color: var(--lx-tinta); text-wrap: balance; }
:root:root .lx-com { display: block; margin-top: 4px; font: 400 12.5px/1.35 Inter, sans-serif; color: var(--lx-apoio); text-wrap: pretty; }
/* título do card: sempre caixa alta, 2 linhas reservadas. ponytail: a parte que não cabe cai para a 3ª linha e some (só CSS, sem medir com JS); o nome inteiro segue na página do produto */
:root:root .lx-titulo { display: flex; flex-wrap: wrap; column-gap: .45em; height: 34px; overflow: hidden; font: 600 13px/17px var(--lx-reta); letter-spacing: .08em; text-transform: uppercase; color: var(--lx-tinta); text-wrap: balance; }
:root:root .lx-titulo > span { min-width: 0; max-width: 100%; }
:root:root .lx-titulo > span:first-child { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
:root:root .lx-titulo > span + span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
/* selo do kit no pé da foto, no azul do rodapé; a foto de kit vem sem arte */
:root:root .lx-kit { position: absolute; inset: 0; z-index: 1; display: flex; align-items: flex-end; justify-content: space-between; gap: 8px; padding: 12px; background: linear-gradient(to top, rgba(35, 31, 32, .84) 0%, rgba(35, 31, 32, .62) 30%, rgba(35, 31, 32, 0) 68%); pointer-events: none; }
:root:root .lx-kit-texto { min-width: 0; }
:root:root .lx-kit-selo { display: inline-block; margin-bottom: 6px; padding: 6px 9px; background: #6BC1D0; color: var(--lx-tinta); font: 600 11px/1 var(--lx-reta); letter-spacing: .1em; text-transform: uppercase; }
:root:root .lx-kit-nome { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; text-wrap: balance; color: #FFF; font: 600 20px/1.15 var(--lx-reta); letter-spacing: .03em; text-transform: uppercase; }
:root:root .lx-kit-off { flex: none; display: grid; place-content: center; width: 56px; height: 56px; background: #6BC1D0; color: var(--lx-tinta); text-align: center; }
:root:root .lx-kit-off b { display: block; font: 600 19px/1 var(--lx-reta); }
:root:root .lx-kit-off small { display: block; margin-top: 3px; font: 600 9px/1 var(--lx-reta); letter-spacing: .12em; }
@media (max-width: 767px) {
  :root:root .lx-kit { gap: 6px; padding: 8px; }
  :root:root .lx-kit-selo { margin-bottom: 4px; padding: 4px 6px; font-size: 9px; }
  :root:root .lx-kit-nome { font-size: 13px; }
  :root:root .lx-kit-off { width: 44px; height: 44px; }
  :root:root .lx-kit-off b { font-size: 15px; }
  :root:root .lx-kit-off small { font-size: 8px; }
}
:root:root main h3[class*="text-[14px]"] { -webkit-line-clamp: unset !important; overflow: visible !important; display: block !important; height: auto !important; }
:root:root main span[style*="--color-preco"] { font-size: 17px !important; font-weight: 600 !important; letter-spacing: 0 !important; font-family: Inter, sans-serif !important; }
:root:root main span[style*="--color-amber"] { background: rgba(255, 255, 255, .94) !important; color: var(--lx-tinta) !important; font-size: 10px !important; font-weight: 400 !important; letter-spacing: .13em !important; }
:root:root button[aria-label$="ao carrinho"] { font-size: 11px !important; font-weight: 500 !important; letter-spacing: .13em !important; text-transform: uppercase !important; }
:root:root button[aria-label$="ao carrinho"]:hover { background: var(--color-cta-dark) !important; }
:root:root button[aria-label$="ao carrinho"] svg { stroke-width: 1.2; width: 12px; height: 12px; }
:root:root main button[aria-label*="avorit"] { width: 36px !important; height: 36px !important; box-shadow: none !important; background: rgba(255, 255, 255, .9) !important; }
:root:root main button[aria-label*="avorit"] svg { width: 21px; height: 21px; stroke-width: 1.2; }

/* ── Banners do meio: mesmo lugar, mesma mensagem ───── */

/* ── Categoria ──────────────────────────────────────── */
/* título sem o fundo de rabiscos: só a Pacifico com o marca-texto, alinhada à esquerda como os subtítulos */
:root:root [class*="PageHeader_banner"] { min-height: 0 !important; height: auto !important; padding: 4px 0 !important; background: none !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
:root:root [class*="PageHeader_titulo"] { margin: 0 !important; padding: 0 !important; background-color: transparent !important; border: 0 !important; box-shadow: none !important; color: #2F3437 !important; }
/* título da página de categoria um degrau acima dos subtítulos */
:root:root [class*="PageHeader_banner"]:not([class*="ProductDetail_preparoTopo"]) [class*="PageHeader_titulo"] { font-size: 40px !important; }
/* os dois títulos sem marca-texto na loja ganham o mesmo traço dos subtítulos */
:root:root [class*="PageHeader_titulo"], :root:root [class*="ProductDetail_preparoTopo"] :is(h2, h3), :root:root [aria-label="Cupons disponíveis"] h2, :root:root main h1[class*="md:text-[26px]"] { width: fit-content; background-image: var(--secao-marca) !important; background-repeat: no-repeat !important; background-origin: content-box !important; background-size: var(--secao-marca-tam, 100% .62em) !important; background-position: var(--secao-marca-pos, 0 72%) !important; }

/* ── Produto ────────────────────────────────────────── */
:root:root [class*="ProductDetail_nome"] { font: 600 24px/1.25 var(--lx-reta) !important; letter-spacing: .06em !important; text-transform: uppercase; color: var(--lx-tinta) !important; }
:root:root [class*="ProductDetail_nome"] .lx-prato { font: inherit; letter-spacing: inherit; }
:root:root [class*="ProductDetail_nome"] .lx-com { margin-top: 8px; font: 400 15px/1.4 Inter, sans-serif; letter-spacing: 0; text-transform: none; }
:root:root [class*="ProductDetail_gancho"] { font-weight: 400 !important; color: var(--lx-apoio) !important; }
:root:root [class*="ProductDetail_num"] { font-weight: 400 !important; font-size: 18px !important; }
:root:root [class*="ProductDetail_rotulo"] { font-size: 10px !important; letter-spacing: .1em; text-transform: uppercase; }
:root:root [class*="ProductDetail_preco_"], :root:root [class*="ProductDetail_preco_"] b, :root:root [class*="ProductDetail_preco_"] strong { font-size: 26px !important; font-weight: 600 !important; letter-spacing: 0 !important; color: var(--color-preco) !important; }
:root:root [class*="ProductDetail_pix"] b, :root:root [class*="ProductDetail_pix"] strong { font-weight: 600 !important; color: var(--color-preco) !important; }
:root:root [class*="ProductDetail_qtd_"] { box-shadow: none !important; border: 1px solid #BDB6AB !important; }
:root:root [class*="ProductDetail_cta"] { font-weight: 400 !important; font-size: 12px !important; letter-spacing: .13em !important; text-transform: uppercase; }
:root:root [class*="ProductDetail_cta"] * { font-weight: 400 !important; }
:root:root [class*="ProductDetail_miniEntrega"], :root:root [class*="ProductDetail_miniZap"] { background: transparent !important; border-radius: 0 !important; }
:root:root [class*="ProductDetail_mini_"] { overflow: visible !important; }
:root:root [class*="ProductDetail_preparoTopo"] { background: transparent !important; background-image: none !important; color: var(--lx-tinta) !important; border-bottom: 1px solid var(--lx-fio); border-radius: 0 !important; }
:root:root [class*="ProductDetail_preparoTopo"] * { color: var(--lx-tinta) !important; }
/* o título sem fundo não pode encostar na borda do painel do preparo */
:root:root [class*="ProductDetail_preparoTopo"] { padding: 24px 40px 0 !important; border-bottom: 0 !important; }
:root:root [class*="ProductDetail_metodos"] { display: flex; align-items: center; gap: 10px; padding: 0 !important; border: 0; border-radius: 0 !important; background: none !important; font-size: 11px !important; font-weight: 500 !important; letter-spacing: .13em; text-transform: uppercase; }
:root:root [class*="ProductDetail_metodos"] .lx-icone { width: 40px; height: 40px; flex: none; }
/* Quantidade do kit: selo no turquesa dos ícones flat. */
:root:root [class*="ProductDetail_kitQtd"] { display: grid; place-items: center; justify-self: end; width: 36px; height: 36px; min-width: 0; background: #6BC1D0; color: var(--lx-tinta) !important; font-size: 13px; text-align: center; }
:root:root [class*="ProductDetail_preparo_"], :root:root [class*="ProductDetail_tabela"], :root:root [class*="ProductDetail_modulo"] { box-shadow: none !important; }

/* ── Mini-carrinho ──────────────────────────────────── */
:root:root [class*="MiniCart_panel"] { --cream-deep: #F4F1EC; border-radius: 0 !important; box-shadow: none !important; border-left: 1px solid var(--lx-fio); background: #FFFFFF !important; }
:root:root [class*="MiniCart_count"] { background: none !important; color: var(--lx-apoio) !important; font-size: 13px !important; font-weight: 400 !important; }
:root:root [class*="MiniCart_row_"] { border-color: var(--lx-fio) !important; }
:root:root [class*="MiniCart_lineTotal"], :root:root [class*="MiniCart_value"] { color: var(--color-preco) !important; font-weight: 600 !important; }
:root:root [class*="MiniCart_stepper"] { border: 1px solid #BDB6AB !important; background: none !important; }
:root:root [class*="MiniCart_totalLabel"] { font-size: 11px !important; font-weight: 400 !important; letter-spacing: .13em !important; text-transform: uppercase !important; }
:root:root [class*="MiniCart_totalValue"] { font: 600 24px/1.1 Inter, sans-serif !important; color: var(--color-preco) !important; }
:root:root [class*="MiniCart_cta"], :root:root [class*="CheckoutForm_cta_"] { background: var(--color-cta) !important; color: #FFF !important; font-size: 12px !important; font-weight: 400 !important; letter-spacing: .13em !important; text-transform: uppercase !important; box-shadow: none !important; }

/* barrinha de frete grátis: a da loja, com a mesma lógica de preenchimento; só o canto muda */

/* sugestões do carrinho: a prateleira da loja no mesmo acabamento dos cards */
:root:root [class*="MiniCart_xsell_"] { border-color: var(--lx-fio) !important; }
:root:root [class*="MiniCart_sugName"] { font-weight: 500 !important; color: var(--lx-tinta) !important; }
:root:root [class*="MiniCart_sugPrice"] { color: var(--color-preco) !important; font-size: 13px !important; font-weight: 600 !important; }
:root:root [class*="MiniCart_add"], :root:root [class*="CheckoutForm_add_"] { flex: 0 0 32px; width: 32px !important; height: 32px !important; min-width: 0 !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; background: var(--color-cta) !important; color: #FFF !important; box-shadow: none !important; }
/* o valor da barrinha acompanha cada camada: branco sobre o verde, tinta fora dele */
:root:root [class*="MiniCart_bandText"] [class*="MiniCart_value"] { color: inherit !important; }

/* ── Checkout ───────────────────────────────────────── */
:root:root [class*="CheckoutForm_pageTitle"] { width: fit-content; }
:root:root [class*="CheckoutForm_main_"] > section, :root:root [class*="CheckoutForm_root"] section { box-shadow: none !important; }
:root:root [class*="CheckoutForm_surface"] { background: #FFF !important; box-shadow: 0 0 0 1px #DDD7CD !important; }
:root:root [class*="CheckoutForm_vazioTitulo"] { font-size: 32px !important; line-height: 1.2 !important; }
:root:root [class*="CheckoutForm_input"], :root:root [class*="CheckoutForm_inWrap"], :root:root [class*="CheckoutForm_chip"], :root:root [class*="CheckoutForm_option"], :root:root [class*="CheckoutForm_list"], :root:root [class*="CheckoutForm_stepper"], :root:root [class*="CheckoutForm_stepBtn"], :root:root [class*="CheckoutForm_add_"], :root:root [class*="CheckoutForm_thumb"] { box-shadow: none !important; }
:root:root [class*="CheckoutForm_label"] { font-size: 11px !important; font-weight: 400 !important; letter-spacing: .1em !important; text-transform: uppercase !important; color: var(--lx-apoio) !important; }
:root:root [class*="CheckoutForm_green"], :root:root [class*="CheckoutForm_price"], :root:root [class*="CheckoutForm_earn"], :root:root [class*="CheckoutForm_save"] { color: var(--color-preco) !important; font-weight: 600 !important; }
:root:root [class*="CheckoutForm_add_"] { border: 0 !important; }
:root:root [class*="CheckoutForm_totalLabel"] { font-size: 11px !important; font-weight: 400 !important; letter-spacing: .13em !important; }
:root:root [class*="CheckoutForm_totalValue"] { font: 600 24px/1.1 Inter, sans-serif !important; color: var(--color-preco) !important; }
:root:root [class*="CheckoutForm_stepper"] { border: 1px solid #BDB6AB !important; }
:root:root [class*="CheckoutForm_chip"][aria-pressed="true"], :root:root [class*="CheckoutForm_chip"][aria-checked="true"] { background: color-mix(in oklab, var(--color-base) 16%, #FFF) !important; border: 1px solid var(--color-base-dark) !important; }

/* ── Botão principal fora dos cards (404, estados vazios): verde, como todos ── */
:root:root main a[style*="background-color:var(--color-primary)"], :root:root main a[style*="background-color: var(--color-primary)"], :root:root main button[style*="background-color:var(--color-primary)"]:not([aria-label*="anner"]), :root:root main button[style*="background-color: var(--color-primary)"]:not([aria-label*="anner"]) { background-color: var(--color-cta) !important; color: #FFF !important; font-weight: 400 !important; letter-spacing: .13em !important; }
:root:root main a[style*="solid var(--color-primary"] { border-color: #BDB6AB !important; color: var(--lx-tinta) !important; font-weight: 400 !important; letter-spacing: .13em !important; }

/* ── Telas de conta: mesmo acabamento do checkout ──── */
:root:root:root:root:has([class*="Conta_pagina"]) {
  --color-paper: #F3F0EA;
  --color-line: #DDD7CD;
  --color-line-soft: #E6E1D9;
}
:root:root [class*="Conta_sup"] { background: #FFF !important; box-shadow: 0 0 0 1px #DDD7CD !important; }
:root:root [class*="Conta_cta"] { font-size: 12px !important; font-weight: 400 !important; letter-spacing: .13em !important; text-transform: uppercase !important; }
:root:root [class*="Conta_label"] { font-size: 11px !important; font-weight: 400 !important; letter-spacing: .1em !important; text-transform: uppercase !important; color: var(--lx-apoio) !important; }

/* ── Rodapé azul de hoje, sem o arco ──────────────── */
:root:root footer { border-radius: 0 !important; }
/* tipografia do resto da proposta: rótulo em caixa-alta espaçada e texto corrido leve */
:root:root footer h3 { font-size: 12px !important; font-weight: 600 !important; letter-spacing: .13em !important; }
:root:root footer a, :root:root footer p, :root:root footer span, :root:root footer button { font-weight: 400 !important; }

/* ── Celular ────────────────────────────────────────── */
/* Sem curvas: tudo reto. Só fica redondo o que é círculo de função. */
:where(body *), :where(body *)::before, :where(body *)::after { border-radius: 2px !important; }
:root:root :is([class*="CheckoutForm_radio"], input[type="radio"], [class*="_spin"], [class*="Spin"], [class*="_giro"], .animate-spin, [style*="spin"], [class*="min-w-[18px]"], [class*="ProductDetail_kitQtd"]) { border-radius: 50% !important; }

/* Modais: mesmo fundo do carrinho, moldura de fio. */
:root:root [class*="DeliveryModal_fundo"], :root:root [aria-label="Cupons disponíveis"] { background: color-mix(in srgb, var(--lx-tinta) 36%, transparent) !important; backdrop-filter: blur(6px) !important; }
:root:root [class*="DeliveryModal_modal_"], :root:root [aria-label="Cupons disponíveis"] > div { box-shadow: 0 0 0 1px #DDD7CD !important; }
:root:root [class*="DeliveryModal_onde"] img { background: none !important; }
/* Título simples (busca, cupons) igual ao das outras páginas. */
:root:root main h1[class*="md:text-[26px]"], :root:root [aria-label="Cupons disponíveis"] h2 { width: fit-content; font-family: var(--font-secao) !important; font-size: 32px !important; line-height: 1.2 !important; font-weight: var(--secao-peso, 400) !important; letter-spacing: 0 !important; color: #2F3437 !important; }
:root:root [aria-label="Cupons disponíveis"] h2 { font-size: 28px !important; }
:root:root main :is(h1, h2, h3) em { font-style: normal !important; }
:root:root main h1[class*="md:text-[26px]"] { text-transform: none !important; }
/* Cartão de cupom: sem o recorte redondo de tíquete. */
:root:root div[style*="-7px"][style*="14px"] { display: none !important; }

/* O que flutua usa fio, não sombra. */
:root:root .mao-campo:focus-within { box-shadow: 0 0 0 1px var(--lx-tinta) !important; }
:root:root [class*="CookieBanner_bar_"], :root:root [class*="ProductDetail_barraFixa"], :root:root [class*="CheckoutForm_bar_"] { box-shadow: none !important; border-top: 1px solid var(--lx-fio) !important; }
:root:root header .absolute.left-0.right-0 { box-shadow: 0 0 0 1px var(--lx-fio) !important; }
:root:root button:is([aria-label="Próximo"], [aria-label="Anterior"]) { box-shadow: none !important; border: 1px solid var(--lx-fio) !important; background: #FFF !important; }

/* Botão secundário e de cookies falam como o CTA. */
:root:root :is([class*="CheckoutForm_btn2"], [class*="Conta_btn2"], [class*="CookieBanner_button"]) { font-size: 12px !important; font-weight: 400 !important; letter-spacing: .13em !important; text-transform: uppercase !important; }
:root:root [class*="CookieBanner_text"] { color: var(--lx-apoio) !important; }

/* Teto de peso 600; o crédito da Módulo fica de fora. */
:root:root :is(b, strong, th, caption):not(a.group *, .mao-barra *) { font-weight: 600 !important; }
:root:root [class*="ProductDetail_etapas"] h3, :root:root [style*="font-weight:700"], :root:root [style*="font-weight: 700"], :root:root :is([class*="CheckoutForm_optTitle"], [class*="CheckoutForm_optRight"], [class*="CheckoutForm_optSub"], [class*="CheckoutForm_chipBig"], [class*="CheckoutForm_ok_"], [class*="CookieBanner_text"] a) { font-weight: 600 !important; }

/* Marcador do carrossel: traço fino, com a área de toque preservada. */
:root:root button[aria-label^="Ir para banner"] { position: relative; width: 24px !important; height: 3px !important; }
:root:root button[aria-label^="Ir para banner"]::after { content: ""; position: absolute; inset: -10px 0; }

@media (max-width: 767px) {
  :root:root [class*="CheckoutForm_vazioTitulo"] { font-size: 28px !important; }
  :root:root [class*="FaixaDaLoja_bentoCard"] { flex: 0 0 74vw; padding: 12px 16px !important; gap: 12px; }
  :root:root [class*="FaixaDaLoja_bentoMini"] { width: 48px !important; height: 48px !important; flex: 0 0 48px; }
  :root:root .lx-prato, :root:root .lx-titulo { font-size: 12.5px; }
  :root:root [class*="ProductDetail_nome"] { font-size: 20px !important; }
  :root:root [class*="PageHeader_banner"]:not([class*="ProductDetail_preparoTopo"]) [class*="PageHeader_titulo"] { font-size: 30px !important; }
  :root:root [class*="ProductDetail_preparoTopo"] { flex-wrap: wrap; row-gap: 6px; padding: 20px 24px 0 !important; }
  :root:root [class*="ProductDetail_metodos"] { flex-basis: 100%; margin-left: 0 !important; }
}
