/* Temas do site público, escolhidos em Site → Aparência (src/core/aparencia.ts).
   O site.css é o tema "Cinema escuro" (o visual escuro de antes dos temas); cada tema abaixo muda o layout da capa, a tipografia,
   o cabeçalho, as categorias e os cartões, não só as cores. Regras só valem com <html data-tema="...">.
   O "Set noturno" (no fim) parte do visual do Cinema: títulos em caixa alta e fotos em placas claras. */
html[data-tema]:not([data-tema=cinema]):not([data-tema=noturno]) :is(h1, h2, .titulo-secao, .secao > h2, .cat-card span, .cta h2, .texto-pagina h2, .numeros-site b, .preco-site, .total-site, .datas-site .diarias, .marca-texto) { font-stretch: 100%; text-transform: none; letter-spacing: -.015em; }
html[data-tema]:not([data-tema=cinema]) :is(.item .foto, .hero .arte, .produto .galeria, .linha-cart img) { background: var(--foto, #fff); }
html[data-tema]:not([data-tema=cinema]) body { font-size: 15px; }

/* ---------- Estúdio claro: cabeçalho branco com menu no meio, capa centralizada, cartões brancos com sombra */
[data-tema=estudio] { --foto: #fff; }
[data-tema=estudio] .btn { border-radius: 10px; }
[data-tema=estudio] .cab { background: color-mix(in srgb, var(--painel) 92%, transparent); border-bottom: 0; box-shadow: 0 1px 0 var(--linha), 0 8px 24px rgba(0,0,0,.04); }
[data-tema=estudio] .cab .dentro { padding: 14px 24px; }
[data-tema=estudio] .menu { margin-right: auto; }
[data-tema=estudio] .menu > a { font-weight: 600; color: var(--mudo); }
[data-tema=estudio] .menu > a:hover { color: var(--fg); }
[data-tema=estudio] .menu > a.on { color: var(--fg); box-shadow: inset 0 -2px 0 var(--am); border-radius: 0; }
[data-tema=estudio] .secao { padding-top: 64px; }
[data-tema=estudio] :is(.secao > h2, .titulo-secao) { font-weight: 800; font-size: clamp(26px, 3vw, 36px); }
[data-tema=estudio] .numeros-site { gap: 0; background: var(--painel); border-radius: 20px; box-shadow: 0 8px 30px rgba(0,0,0,.05); }
[data-tema=estudio] .numeros-site div { border: 0; background: none; text-align: center; padding: 26px 12px; }
[data-tema=estudio] .numeros-site div + div { border-left: 1px solid var(--linha); }
[data-tema=estudio] .numeros-site b { color: var(--fg); font-size: 44px; }
[data-tema=estudio] .numeros-site span { text-transform: none; letter-spacing: 0; font-size: 14px; }
[data-tema=estudio] .cats-grade { gap: 16px; }
[data-tema=estudio] .cat-card { aspect-ratio: auto; display: flex; flex-direction: column; border: 0; border-radius: 18px; background: var(--painel); box-shadow: 0 1px 2px rgba(0,0,0,.05), 0 10px 30px rgba(0,0,0,.06); }
[data-tema=estudio] .cat-card img { aspect-ratio: 4 / 3; height: auto; padding: 20px; background: #fff; }
[data-tema=estudio] .cat-card span { position: static; background: none; color: var(--fg); font-size: 16px; font-weight: 700; padding: 12px 16px 16px; }
[data-tema=estudio] .cat-card small { color: var(--mudo); opacity: 1; }
[data-tema=estudio] .item { border: 0; border-radius: 18px; box-shadow: 0 1px 2px rgba(0,0,0,.05), 0 10px 30px rgba(0,0,0,.06); transition: transform .15s, box-shadow .15s; }
[data-tema=estudio] .item:hover { transform: translateY(-2px); box-shadow: 0 2px 4px rgba(0,0,0,.06), 0 18px 40px rgba(0,0,0,.1); }
[data-tema=estudio] .item .corpo { padding: 14px 16px 16px; }
[data-tema=estudio] .item .preco-site { color: var(--fg); font-size: 19px; }
[data-tema=estudio] .item .acao { flex-direction: column; align-items: stretch; }
[data-tema=estudio] .item .acao > .stepper { justify-content: space-between; }
[data-tema=estudio] .item .acao > .btn { padding: 9px 14px; font-size: 14px; }
[data-tema=estudio] :is(.passos div, .depoimentos figure, .caixa-site, .datas-site, .produto .compra) { border: 0; border-radius: 18px; box-shadow: 0 1px 2px rgba(0,0,0,.05), 0 10px 30px rgba(0,0,0,.06); }
[data-tema=estudio] .depoimentos blockquote { font-size: 17px; }
[data-tema=estudio] .cta .caixa { background: var(--fg); color: var(--bg); border-radius: 28px; padding: 40px; }
[data-tema=estudio] .cta .btn { background: var(--am); color: var(--am-tinta); border-color: var(--am); }

/* ---------- Eventos colorido: cabeçalho na cor da marca, capa com a foto de fundo, categorias em círculos, pílulas */
[data-tema=eventos] { --foto: color-mix(in srgb, var(--am) 7%, #fff); }
[data-tema=eventos] .btn { border-radius: 99px; }
[data-tema=eventos] :is(input, select, textarea) { border-radius: 12px !important; }
[data-tema=eventos] .aviso-topo { background: var(--fg); color: var(--bg); }
[data-tema=eventos] .cab { background: var(--am); border-bottom: 0; backdrop-filter: none; }
[data-tema=eventos] .cab .dentro { padding: 12px 20px; }
[data-tema=eventos] :is(.menu > a, .carrinho-btn, .marca-texto) { color: var(--am-tinta); }
[data-tema=eventos] .menu > a { border-radius: 99px; padding: 8px 14px; font-weight: 600; }
[data-tema=eventos] :is(.menu > a:hover, .menu > a.on) { color: var(--am-tinta); background: color-mix(in srgb, var(--am-tinta) 16%, transparent); }
[data-tema=eventos] .carrinho-btn:hover { color: var(--am-tinta); }
[data-tema=eventos] .carrinho-btn span { background: var(--am-tinta); color: var(--am); }
[data-tema=eventos] .hamburguer span { background: var(--am-tinta); }
[data-tema=eventos] .cab .btn.pri { background: var(--am-tinta); color: var(--am); border-color: var(--am-tinta); }
[data-tema=eventos] .cab .btn.fantasma { color: var(--am-tinta); }
[data-tema=eventos] .hero { border: 0; border-radius: 0 0 40px 40px; min-height: 480px; display: grid; align-items: center; background: linear-gradient(135deg, var(--am), color-mix(in srgb, var(--am) 55%, #ffb000)); color: var(--am-tinta); }
[data-tema=eventos] .hero .dentro { position: static; grid-template-columns: 1fr; padding: 80px 24px; width: 100%; }
[data-tema=eventos] .hero .dentro > div:first-child { position: relative; z-index: 2; max-width: 640px; }
[data-tema=eventos] .hero h1 { color: var(--am-tinta); font-weight: 800; font-size: clamp(38px, 6.5vw, 76px); line-height: 1.02; }
[data-tema=eventos] .hero p { color: var(--am-tinta); font-size: 18px; }
[data-tema=eventos] .hero .btn { background: transparent; color: var(--am-tinta); border: 2px solid currentColor; }
[data-tema=eventos] .hero .btn.pri { background: var(--am-tinta); color: var(--am); border-color: var(--am-tinta); }
[data-tema=eventos] .hero .arte { position: absolute; inset: 0; border-radius: 0; aspect-ratio: auto; background: none; z-index: 0; }
[data-tema=eventos] .hero .arte img { object-fit: cover; opacity: .9; }
[data-tema=eventos] .hero .arte::after { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, var(--am) 0%, color-mix(in srgb, var(--am) 82%, transparent) 42%, color-mix(in srgb, var(--am) 10%, transparent) 85%); }
[data-tema=eventos] :is(.secao > h2, .titulo-secao) { font-weight: 800; }
[data-tema=eventos] .secao > h2::after { content: ""; display: block; width: 56px; height: 6px; border-radius: 99px; background: var(--am); margin-top: 10px; }
[data-tema=eventos] .numeros-site div { border: 0; border-radius: 22px; background: var(--am-esc); }
[data-tema=eventos] .numeros-site span { text-transform: none; letter-spacing: 0; font-size: 14px; color: var(--fg); }
[data-tema=eventos] .cats-grade { display: flex; gap: 18px; overflow-x: auto; padding: 6px 2px 12px; scroll-snap-type: x mandatory; scrollbar-width: thin; }
[data-tema=eventos] .cat-card { flex: 0 0 136px; aspect-ratio: auto; background: none; border: 0; text-align: center; scroll-snap-align: start; overflow: visible; }
[data-tema=eventos] .cat-card img { width: 136px; height: 136px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 5px var(--am-esc); padding: 18px; }
[data-tema=eventos] .cat-card span { position: static; background: none; color: var(--fg); font-size: 15px; font-weight: 700; padding: 10px 0 0; }
[data-tema=eventos] .cat-card small { color: var(--mudo); opacity: 1; }
[data-tema=eventos] .item { border: 0; border-radius: 24px; box-shadow: 0 12px 30px color-mix(in srgb, var(--am) 14%, transparent); }
[data-tema=eventos] .item .foto { margin: 8px 8px 0; border-radius: 18px; overflow: hidden; }
[data-tema=eventos] .item .corpo { padding: 12px 16px 16px; }
[data-tema=eventos] .item .preco-site { font-weight: 800; }
[data-tema=eventos] .stepper { border-radius: 99px; }
[data-tema=eventos] .chips-site button { padding: 8px 16px; font-weight: 600; }
[data-tema=eventos] :is(.passos div, .depoimentos figure, .caixa-site, .produto .compra) { border: 0; border-radius: 24px; box-shadow: 0 12px 30px color-mix(in srgb, var(--am) 10%, transparent); }
[data-tema=eventos] .datas-site { border-radius: 24px; border-width: 2px; }
[data-tema=eventos] .passos div::before { width: 40px; height: 40px; font-size: 18px; }
[data-tema=eventos] .depoimentos figure:nth-child(2n+1) { background: var(--am-esc); box-shadow: none; }
[data-tema=eventos] .cta .caixa { border-radius: 32px; padding: 40px; background: linear-gradient(135deg, var(--am), color-mix(in srgb, var(--am) 55%, #ffb000)); }
[data-tema=eventos] .produto .galeria { border-radius: 28px; border: 0; }

/* ---------- Minimalista: branco, linhas finas, cantos retos, capa com a foto à esquerda, categorias em lista */
[data-tema=neutro] { --foto: var(--painel); }
[data-tema=neutro] :is(.btn, input, select, textarea, .stepper) { border-radius: 3px !important; }
[data-tema=neutro] .cab { background: var(--bg); }
[data-tema=neutro] .cab .dentro { padding: 18px 24px; }
[data-tema=neutro] .cab .marca img { height: 34px; }
[data-tema=neutro] .menu > a { color: var(--mudo); font-weight: 500; }
[data-tema=neutro] :is(.menu > a:hover, .menu > a.on) { color: var(--fg); }
[data-tema=neutro] .menu > a.on { text-decoration: underline; text-underline-offset: 6px; text-decoration-color: var(--am); }
[data-tema=neutro] .hero .dentro { grid-template-columns: 1fr 1fr; gap: 56px; padding: 80px 24px; }
[data-tema=neutro] .hero .arte { order: -1; border-radius: 3px; aspect-ratio: 4 / 3; }
[data-tema=neutro] .hero h1 { color: var(--fg); font-weight: 700; font-size: clamp(34px, 5vw, 60px); line-height: 1.05; }
[data-tema=neutro] .hero h1::before { content: ""; display: block; width: 44px; height: 3px; background: var(--am); margin-bottom: 22px; }
[data-tema=neutro] .hero p { color: var(--mudo); opacity: 1; }
[data-tema=neutro] .secao { padding-top: 64px; }
[data-tema=neutro] :is(.secao > h2, .titulo-secao) { font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .16em; color: var(--mudo); border-top: 1px solid var(--linha); padding-top: 14px; }
[data-tema=neutro] .entre .titulo-secao { border: 0; padding: 0; }
[data-tema=neutro] .titulo-secao em { color: var(--fg); }
[data-tema=neutro] .numeros-site { gap: 24px; }
[data-tema=neutro] .numeros-site div { border: 0; border-top: 2px solid var(--fg); border-radius: 0; background: none; padding: 16px 0 0; }
[data-tema=neutro] .numeros-site b { color: var(--fg); font-weight: 600; font-size: 46px; }
[data-tema=neutro] .numeros-site span { text-transform: none; letter-spacing: 0; font-size: 14px; }
[data-tema=neutro] .cats-grade { grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 0 32px; }
[data-tema=neutro] .cat-card { aspect-ratio: auto; display: grid; grid-template-columns: 72px 1fr; align-items: center; border: 0; border-bottom: 1px solid var(--linha); border-radius: 0; background: none; padding: 12px 0; }
[data-tema=neutro] .cat-card img { width: 72px; height: 72px; padding: 6px; background: var(--painel); border-radius: 3px; }
[data-tema=neutro] .cat-card:hover img { transform: none; }
[data-tema=neutro] .cat-card span { position: static; background: none; color: var(--fg); font-size: 16px; font-weight: 600; padding: 0 16px; }
[data-tema=neutro] .cat-card:hover span { color: var(--am); }
[data-tema=neutro] .cat-card small { color: var(--mudo); opacity: 1; }
[data-tema=neutro] .item { border-radius: 3px; background: var(--bg); }
[data-tema=neutro] .item .nome { font-weight: 500; font-size: 15px; }
[data-tema=neutro] .item .preco-site { color: var(--fg); font-weight: 600; font-size: 18px; }
[data-tema=neutro] .chips-site button { border-radius: 3px; }
[data-tema=neutro] :is(.caixa-site, .datas-site, .produto .compra, .produto .galeria, .noticia-card, .contatos-site a, .contatos-site div) { border-radius: 3px; }
[data-tema=neutro] .passos div { border: 0; border-top: 1px solid var(--fg); border-radius: 0; background: none; padding: 16px 0 0; }
[data-tema=neutro] .passos div::before { background: none; color: var(--am); width: auto; height: auto; font-size: 28px; font-weight: 600; display: block; }
[data-tema=neutro] .depoimentos figure { border: 0; border-left: 2px solid var(--am); border-radius: 0; background: none; padding: 4px 0 4px 18px; }
[data-tema=neutro] .depoimentos blockquote { font-size: 18px; }
[data-tema=neutro] .cta .caixa { background: var(--painel); color: var(--fg); border-radius: 3px; border: 1px solid var(--linha); padding: 36px; }
[data-tema=neutro] .cta .btn { background: var(--fg); color: var(--bg); border-color: var(--fg); }

@media (max-width: 900px) {
  [data-tema=estudio] .menu, [data-tema=neutro] .menu { margin-right: 0; background: var(--bg); }
  [data-tema=eventos] .menu { background: var(--am); }
  [data-tema=eventos] .menu > a { border-radius: 0; border-bottom-color: color-mix(in srgb, var(--am-tinta) 20%, transparent); }
  [data-tema=estudio] .numeros-site div + div { border-left: 0; border-top: 1px solid var(--linha); }
  [data-tema=eventos] .hero { min-height: 420px; border-radius: 0 0 28px 28px; }
  [data-tema=eventos] .hero .dentro { padding: 48px 18px; }
  [data-tema=eventos] .hero .arte::after { background: linear-gradient(180deg, color-mix(in srgb, var(--am) 70%, transparent) 0%, var(--am) 75%); }
  [data-tema=neutro] .hero .dentro { grid-template-columns: 1fr; gap: 24px; padding: 24px 16px 40px; }
  [data-tema=neutro] .cats-grade { grid-template-columns: 1fr; }
}

/* ===================================================================== estrutura própria de cada tema
   (o site.js monta a página inicial e a loja de outro jeito conforme o tema) */
html[data-tema]:not([data-tema=cinema]) .item .selo-livre { display: block; }

/* ---------- Estúdio claro: capa de reserva (datas e busca na capa), carrossel, loja com filtros na lateral */
.hero-reserva { border-bottom: 0; background: radial-gradient(1200px 400px at 85% 0%, color-mix(in srgb, var(--am) 14%, transparent), transparent 70%); }
.hero-reserva .dentro { grid-template-columns: 1.05fr .95fr; gap: 48px; padding: 72px 24px 48px; }
.hero-reserva h1 { color: var(--fg); font-weight: 800; font-size: clamp(36px, 5.2vw, 64px); line-height: 1.02; }
.hero-reserva .hero-texto p { color: var(--mudo); opacity: 1; font-size: 18px; margin: 18px 0 0; }
.selos-confianca { list-style: none; padding: 0; margin: 22px 0 0; display: flex; flex-wrap: wrap; gap: 8px 18px; }
.selos-confianca li { font-weight: 600; font-size: 14px; }
.selos-confianca li::before { content: "✓"; color: var(--am); font-weight: 800; margin-right: 6px; }
.reserva-card { background: var(--painel); border-radius: 22px; padding: 22px; display: grid; gap: 12px; box-shadow: 0 2px 4px rgba(0,0,0,.04), 0 24px 60px -20px rgba(0,0,0,.25); overflow: hidden; }
.reserva-card .arte { margin: -22px -22px 4px; aspect-ratio: 16 / 7; background: #fff; }
.reserva-card .arte img { width: 100%; height: 100%; object-fit: contain; padding: 10px; }
.reserva-card h2 { font-size: 22px; font-weight: 800; margin: 0; }
.reserva-card .par-datas { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.reserva-card .campo span { font-weight: 600; color: var(--fg); }
.reserva-card input { padding: 12px !important; font-size: 15px; }
.trilho-itens { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(240px, 1fr); grid-template-columns: none; overflow-x: auto; scroll-snap-type: x mandatory; padding: 6px 4px 18px; scrollbar-width: none; }
.trilho-itens > * { scroll-snap-align: start; }
.trilho-itens::-webkit-scrollbar { display: none; }
.btn.seta { width: 36px; height: 36px; padding: 0; border-radius: 99px !important; font-size: 16px; }
.loja-lateral { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 28px; align-items: start; }
.filtros-lado { position: sticky; top: 84px; }
.filtros-lado .filtros-abrir { display: none; }
.filtros-corpo { display: grid; gap: 16px; background: var(--painel); border-radius: 18px; padding: 16px; box-shadow: 0 1px 2px rgba(0,0,0,.05), 0 10px 30px rgba(0,0,0,.06); }
.filtros-corpo .datas-site { grid-template-columns: 1fr; box-shadow: none; padding: 0; background: none; }
.rot-filtro { display: block; margin-bottom: 6px; font-size: 13px; }
.lista-cats { display: grid; gap: 2px; }
.lista-cats button { display: flex; justify-content: space-between; gap: 8px; text-align: left; background: none; border: 0; padding: 8px 10px; border-radius: 8px; cursor: pointer; color: var(--fg); font-size: 14px; }
.lista-cats button small { color: var(--mudo); }
.lista-cats button:hover { background: var(--painel2); }
.lista-cats button.on { background: var(--am-esc); color: var(--fg); font-weight: 700; }
[data-tema=estudio] .barra-resultado { background: var(--painel); border-radius: 14px; padding: 10px 14px; margin-top: 0; }

/* ---------- Eventos colorido: kits em destaque, categorias em círculos também na loja */
.grade-kits { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 18px; }
.kit-card { background: var(--painel); border-radius: 26px; overflow: hidden; display: grid; grid-template-rows: auto 1fr; box-shadow: 0 14px 34px color-mix(in srgb, var(--am) 16%, transparent); }
.kit-card .foto { position: relative; aspect-ratio: 16 / 10; background: var(--foto, #fff); display: grid; place-items: center; }
.kit-card .foto img { width: 100%; height: 100%; object-fit: contain; padding: 16px; }
.kit-card .foto img.sem { width: 30%; height: auto; opacity: .35; }
.preco-selo { position: absolute; right: 14px; bottom: 14px; background: var(--am); color: var(--am-tinta); font-weight: 800; font-size: 18px; padding: 6px 14px; border-radius: 99px; font-family: var(--f-tit); }
.preco-selo small { font-weight: 500; font-size: 12px; margin-left: 2px; }
.kit-card .corpo { padding: 16px 18px 18px; display: flex; flex-direction: column; gap: 8px; }
.kit-card .nome { font-family: var(--f-tit); font-weight: 800; font-size: 20px; color: var(--fg); text-decoration: none; line-height: 1.15; }
.kit-card .pecas { margin: 0; padding-left: 18px; color: var(--mudo); font-size: 14px; columns: 2; column-gap: 18px; }
.kit-card .acao { margin-top: auto; display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.cats-circulos { display: flex; gap: 14px; overflow-x: auto; padding: 4px 2px 12px; scrollbar-width: thin; }
.cats-circulos button { flex: 0 0 auto; display: grid; justify-items: center; gap: 6px; background: none; border: 0; cursor: pointer; color: var(--fg); font-weight: 600; font-size: 13px; width: 88px; }
.cats-circulos .circ { width: 72px; height: 72px; border-radius: 50%; background: #fff; display: grid; place-items: center; overflow: hidden; box-shadow: 0 0 0 3px var(--am-esc); transition: box-shadow .15s; }
.cats-circulos .circ img { width: 100%; height: 100%; object-fit: contain; padding: 10px; }
.cats-circulos .circ img.sem { width: 50%; height: auto; }
.cats-circulos .circ b { color: var(--am); font-size: 26px; }
.cats-circulos button.on .circ { box-shadow: 0 0 0 4px var(--am); }
.cats-circulos button.on { color: var(--am); }
[data-tema=eventos] .grade-itens { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 18px; }

/* ---------- Minimalista: lista de preços (linhas) na página inicial e na loja, catálogo numerado */
.lista-itens { display: grid; border-top: 1px solid var(--fg); }
.item-linha { display: grid; grid-template-columns: 76px minmax(0, 1fr) 150px 150px 130px; gap: 18px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--linha); }
.item-linha .foto { width: 76px; height: 76px; background: var(--painel); display: grid; place-items: center; border-radius: 3px; }
.item-linha .foto img { width: 100%; height: 100%; object-fit: contain; padding: 6px; }
.item-linha .foto img.sem { width: 50%; height: auto; opacity: .35; }
.item-linha .info { display: grid; gap: 2px; min-width: 0; }
.item-linha .nome { color: var(--fg); text-decoration: none; font-weight: 600; font-size: 16px; }
.item-linha .nome:hover { color: var(--am); }
.item-linha .cat, .item-linha .pecas-resumo { font-size: 12px; color: var(--mudo); }
.item-linha .preco-site { color: var(--fg); font-weight: 600; font-size: 17px; text-align: right; }
.item-linha .botao { text-align: right; }
[data-tema=neutro] .cats-grade { counter-reset: cat; }
[data-tema=neutro] .cat-card { counter-increment: cat; grid-template-columns: 34px 72px 1fr; }
[data-tema=neutro] .cat-card::before { content: counter(cat, decimal-leading-zero); color: var(--mudo); font-size: 13px; font-variant-numeric: tabular-nums; }

@media (max-width: 900px) {
  .hero-reserva .dentro { grid-template-columns: 1fr; gap: 24px; padding: 32px 16px; }
  .loja-lateral { grid-template-columns: 1fr; gap: 12px; }
  .filtros-lado { position: static; }
  .filtros-lado .filtros-abrir { display: flex; width: 100%; }
  .filtros-lado .filtros-corpo { display: none; margin-top: 8px; }
  .filtros-lado.aberto .filtros-corpo { display: grid; }
  .item-linha { grid-template-columns: 64px minmax(0, 1fr) auto; grid-template-areas: "foto info preco" "foto estado botao"; gap: 4px 12px; }
  .item-linha .foto { grid-area: foto; width: 64px; height: 64px; }
  .item-linha .info { grid-area: info; }
  .item-linha .preco-site { grid-area: preco; font-size: 15px; }
  .item-linha .estado { grid-area: estado; }
  .item-linha .botao { grid-area: botao; }
  .item-linha .pecas-resumo { display: none; }
  .kit-card .pecas { columns: 1; }
  .grade-kits { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .filtros-lado .datas-resumo { position: static; }
  .trilho-itens { grid-auto-columns: 72%; }
  [data-tema=eventos] .grade-itens { grid-template-columns: 1fr 1fr; gap: 10px; }
}
html[data-tema]:not([data-tema=cinema]) .marca { text-decoration: none; }
html[data-tema]:not([data-tema=cinema]) .cat-card img.sem { object-fit: contain; padding: 18%; opacity: .3; filter: grayscale(1); }
.loja-lateral > * { min-width: 0; }
.filtros-lado .filtros-abrir { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; justify-content: flex-start; }

/* ===================================================================== Set noturno
   Palco preto com uma luz amarela: fotos em placas cor de papel, títulos estreitos em caixa alta com uma palavra em
   destaque, títulos de seção com "olho", busca de datas logo abaixo da capa, destaques em carrossel e filtros da loja
   em painel (deslizante no celular). Verde e vermelho só para disponibilidade. Movimento: 200 ms e nada se a pessoa
   pediu menos movimento no aparelho. */
[data-tema=noturno] { --foto: #f4f1ea; --vel: .2s; --anel: color-mix(in srgb, var(--am) 18%, transparent); --sombra-set: 0 1px 2px rgba(0,0,0,.35), 0 24px 48px -24px rgba(0,0,0,.85); }
[data-tema=noturno] body { font-size: 15px; font-feature-settings: "cv02", "cv03", "cv04", "cv11"; }
[data-tema=noturno] body::before { content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background: radial-gradient(520px 420px at 4% 2%, color-mix(in srgb, var(--am) 10%, transparent), transparent 70%),
    radial-gradient(640px 520px at 98% 72%, color-mix(in srgb, var(--am) 6%, transparent), transparent 70%); }
[data-tema=noturno] :is(h1, h2, h3, .titulo-secao, .secao > h2, .cta h2, .texto-pagina h2, .marca-texto) { font-family: var(--f-tit); font-stretch: 100%; font-weight: 800; text-transform: uppercase; letter-spacing: .01em; }
[data-tema=noturno] h1 { font-size: clamp(40px, 6vw, 64px); line-height: .95; }
[data-tema=noturno] h2 { font-size: 24px; line-height: 1.05; }
[data-tema=noturno] :is(h1, h2, h3) em { color: var(--am); font-style: normal; }
[data-tema=noturno] .sub { color: var(--mudo); font-size: 16px; }
[data-tema=noturno] .titulo-olho { display: grid; gap: 10px; margin-bottom: 26px; }
[data-tema=noturno] :is(.titulo-olho, .hero-set) .olho { display: flex; align-items: center; gap: 12px; margin: 0; font-size: 12px; font-weight: 500; text-transform: uppercase; letter-spacing: .3em; color: var(--mudo); }
[data-tema=noturno] :is(.titulo-olho, .hero-set) .olho::before { content: ""; flex: none; width: 32px; height: 1px; background: var(--am); }
[data-tema=noturno] .titulo-olho :is(h1, h2) { margin: 0; }
[data-tema=noturno] .titulo-olho h2 { font-size: clamp(36px, 5vw, 50px); line-height: .95; }
[data-tema=noturno] .titulo-linha { align-items: flex-end; margin-bottom: 26px; gap: 14px; }
[data-tema=noturno] .titulo-linha .titulo-olho { margin: 0; }
[data-tema=noturno] .titulo-linha a { color: var(--am); text-decoration: none; font-weight: 500; }
[data-tema=noturno] .titulo-linha a:hover { text-decoration: underline; text-underline-offset: 4px; }
/* botões, campos e passos de quantidade */
[data-tema=noturno] .btn { border-radius: 10px; transition: background-color var(--vel), border-color var(--vel), color var(--vel), transform var(--vel), box-shadow var(--vel); }
[data-tema=noturno] .btn:hover:not(:disabled) { border-color: color-mix(in srgb, var(--fg) 35%, transparent); }
[data-tema=noturno] .btn.pri:hover:not(:disabled) { filter: none; background: color-mix(in srgb, var(--am) 88%, #fff); border-color: var(--am); transform: translateY(-1px); box-shadow: 0 10px 30px -10px color-mix(in srgb, var(--am) 65%, transparent); }
[data-tema=noturno] .btn:active:not(:disabled) { transform: scale(.98); }
[data-tema=noturno] .btn.pri:disabled { background: var(--linha2); border-color: var(--linha2); color: var(--mudo); opacity: 1; }
[data-tema=noturno] .btn.grande { min-height: 48px; padding: 12px 24px; font-size: 16px; font-weight: 600; }
[data-tema=noturno] .btn.contorno { background: transparent; border-color: color-mix(in srgb, var(--fg) 30%, transparent); }
[data-tema=noturno] .btn.seta { width: 40px; height: 40px; background: transparent; }
[data-tema=noturno] .btn.seta:hover:not(:disabled) { border-color: var(--am); color: var(--am); }
[data-tema=noturno] :is(input[type=text], input[type=search], input[type=date], input[type=email], input[type=tel], input[type=password], select, textarea) { border-radius: 12px; border-color: var(--linha); background: var(--bg); min-height: 44px; padding: 10px 12px; transition: border-color var(--vel), box-shadow var(--vel); }
[data-tema=noturno] :is(input, select, textarea):hover { border-color: color-mix(in srgb, var(--fg) 30%, transparent); }
[data-tema=noturno] :is(input, select, textarea):focus { border-color: var(--am); box-shadow: 0 0 0 3px var(--anel); }
[data-tema=noturno] .campo { font-size: 13px; gap: 6px; }
[data-tema=noturno] .stepper { border-color: var(--linha); border-radius: 10px; background: var(--bg); padding: 3px; gap: 2px; }
[data-tema=noturno] .stepper button { background: transparent; border-radius: 8px; width: 34px; height: 34px; transition: background-color var(--vel); }
[data-tema=noturno] .stepper button:hover:not(:disabled) { background: var(--painel2); }
[data-tema=noturno] .stepper span { font-weight: 600; }
[data-tema=noturno] :is(.caixa-site, .status-conta) { border-radius: 18px; }
[data-tema=noturno] .caixa-site { padding: 22px; border-color: var(--linha); }
[data-tema=noturno] .caixa-site h2 { font-size: 26px; margin-bottom: 14px; }
[data-tema=noturno] .aviso-orcamento { border: 1px solid var(--am-borda); background: var(--am-esc); border-radius: 12px; padding: 14px 16px; }

/* cabeçalho: menu ao lado da marca com sublinhado amarelo; entrar, cadastro e pedido à direita */
[data-tema=noturno] .cab { background: color-mix(in srgb, var(--bg) 90%, transparent); border-bottom-color: var(--linha); }
[data-tema=noturno] .cab .dentro { max-width: 1280px; min-height: 64px; padding: 10px 24px; }
[data-tema=noturno] .marca-texto { font-size: 26px; }
[data-tema=noturno] .menu { flex: 1; margin-left: 28px; gap: 24px; }
[data-tema=noturno] .menu > a { position: relative; padding: 6px 0; border-radius: 0; color: var(--mudo); transition: color var(--vel); }
[data-tema=noturno] .menu > a::after { content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 2px; background: var(--am); transform: scaleX(0); transform-origin: left; transition: transform var(--vel); }
[data-tema=noturno] :is(.menu > a:hover, .menu > a.on) { color: var(--fg); }
[data-tema=noturno] :is(.menu > a:hover, .menu > a.on)::after { transform: scaleX(1); }
[data-tema=noturno] .menu-conta { margin-left: auto; }
[data-tema=noturno] .menu-conta .btn { padding: 8px 16px; font-size: 14px; }
[data-tema=noturno] .menu-conta .btn.fantasma:hover { color: var(--fg); }
[data-tema=noturno] .carrinho-btn { width: 40px; height: 40px; padding: 0; display: grid; place-items: center; border: 1px solid var(--linha2); border-radius: 50%; margin-left: 4px; transition: border-color var(--vel), color var(--vel); }
[data-tema=noturno] .carrinho-btn:hover { border-color: var(--am); }
[data-tema=noturno] .carrinho-btn svg { width: 18px; height: 18px; }
[data-tema=noturno] .carrinho-btn span { top: -5px; right: -5px; }

/* capa dividida: texto de um lado, a arte numa placa clara com halo amarelo do outro; datas logo abaixo */
[data-tema=noturno] .hero-set { border-bottom: 0; isolation: isolate; }
[data-tema=noturno] .hero-set::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background-image: linear-gradient(to right, color-mix(in srgb, var(--linha) 55%, transparent) 1px, transparent 1px), linear-gradient(to bottom, color-mix(in srgb, var(--linha) 55%, transparent) 1px, transparent 1px);
  background-size: 48px 48px; -webkit-mask-image: radial-gradient(ellipse at 65% 35%, #000 10%, transparent 62%); mask-image: radial-gradient(ellipse at 65% 35%, #000 10%, transparent 62%); }
[data-tema=noturno] .hero-set .dentro { max-width: 1280px; grid-template-columns: 1.1fr .9fr; gap: 48px; padding: 64px 24px 44px; }
[data-tema=noturno] .hero-set h1 { color: var(--fg); font-size: clamp(46px, 7vw, 84px); line-height: .92; margin: 18px 0 0; }
[data-tema=noturno] .hero-set .hero-texto > p:not(.olho) { color: var(--mudo); opacity: 1; font-size: 18px; margin: 22px 0 0; max-width: 56ch; }
[data-tema=noturno] .hero-set .olho { max-width: none; } /* "Locação de equipamentos em <cidade>" numa linha só no computador */
[data-tema=noturno] .botoes-hero { margin-top: 30px; gap: 12px; }
[data-tema=noturno] .botoes-hero .btn.grande { width: auto; }
[data-tema=noturno] .arte-set { position: relative; aspect-ratio: 4 / 3; display: grid; place-items: center; }
[data-tema=noturno] .arte-set::before { content: ""; position: absolute; inset: -2% 4%; border-radius: 50%; border: 1px dashed color-mix(in srgb, var(--am) 32%, transparent); animation: set-orbita 40s linear infinite; }
[data-tema=noturno] .arte-set .halo { position: absolute; inset: 8%; border-radius: 50%; background: radial-gradient(closest-side, color-mix(in srgb, var(--am) 30%, transparent), transparent); filter: blur(14px); }
[data-tema=noturno] .arte-set .placa { position: relative; width: 80%; aspect-ratio: 4 / 3; background: var(--foto); border-radius: 18px; overflow: hidden; box-shadow: 0 40px 70px -28px rgba(0,0,0,.9); animation: set-flutua 6s ease-in-out infinite; }
[data-tema=noturno] .arte-set .placa img { width: 100%; height: 100%; object-fit: contain; padding: 6%; display: block; }
[data-tema=noturno] .dentro-busca { max-width: 1280px; margin: 0 auto; padding: 0 24px; }
[data-tema=noturno] .busca-set { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; align-items: start; background: var(--painel); border: 1px solid var(--linha); border-radius: 18px; padding: 20px; box-shadow: var(--sombra-set); }
[data-tema=noturno] .busca-set .btn.grande { width: auto; margin-top: 6px; }
[data-tema=noturno] .busca-set .datas-site { border: 0; padding: 0; background: none; }
[data-tema=noturno] .busca-set .datas-resumo { display: none; }
[data-tema=noturno] .busca-set .datas-bloco .datas-site { display: grid; margin: 0; }
[data-tema=noturno] .busca-set p.mudo { color: var(--mudo); opacity: 1; font-size: 13px; max-width: none; margin: 10px 0 0 !important; }
@keyframes set-orbita { to { transform: rotate(360deg); } }
@keyframes set-flutua { 50% { transform: translateY(-10px); } }

/* datas: dois campos com rótulo e ícone, seta no meio, diárias em pílula amarela */
[data-tema=noturno] .datas-site { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; gap: 12px; align-items: center; background: var(--painel); border: 1px solid var(--linha); border-radius: 18px; padding: 16px; }
[data-tema=noturno] .datas-site .campo { background: var(--bg); border: 1px solid var(--linha); border-radius: 12px; padding: 10px 14px 6px; gap: 2px; transition: border-color var(--vel), box-shadow var(--vel); }
[data-tema=noturno] .datas-site .campo:hover { border-color: color-mix(in srgb, var(--fg) 30%, transparent); }
[data-tema=noturno] .datas-site .campo:focus-within { border-color: var(--am); box-shadow: 0 0 0 3px var(--anel); }
[data-tema=noturno] .datas-site .campo > span { display: flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: .12em; color: var(--mudo); }
[data-tema=noturno] .datas-site .campo > span::before { content: ""; width: 14px; height: 14px; background: var(--am); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Crect x='4' y='5' width='16' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M4 11h16'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Crect x='4' y='5' width='16' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M4 11h16'/%3E%3C/svg%3E") center / contain no-repeat; }
[data-tema=noturno] .datas-site .par { grid-template-columns: minmax(0, 1fr) 86px; gap: 4px; }
[data-tema=noturno] .datas-site .par :is(input, select) { border: 0; background: transparent; box-shadow: none; min-height: 34px; padding: 2px 0; font-size: 16px; color: var(--fg); color-scheme: dark; }
[data-tema=noturno] .datas-site .diarias { font-family: var(--f-txt); font-stretch: 100%; font-weight: 600; font-size: 14px; background: var(--am-esc); color: var(--am); border-radius: 99px; padding: 6px 14px; }
[data-tema=noturno] .datas-site .diarias:empty { display: none; }
[data-tema=noturno] .datas-resumo { top: 72px; border-color: var(--linha); border-radius: 14px; }
[data-tema=noturno] .datas-bloco + p.mudo { margin-top: 10px !important; }

/* números, categorias, passos, depoimentos e novidades */
[data-tema=noturno] .secao { max-width: 1280px; padding: 96px 24px 0; }
[data-tema=noturno] .pagina-site:not(.cheia) { max-width: 1280px; padding: 40px 24px 96px; }
[data-tema=noturno] .numeros-site { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px; }
[data-tema=noturno] .numeros-site div { position: relative; overflow: hidden; border-radius: 18px; padding: 20px 24px; background: linear-gradient(135deg, var(--painel), var(--bg)); transition: border-color var(--vel); }
[data-tema=noturno] .numeros-site div::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--am); transform: scaleX(0); transform-origin: left; transition: transform .3s; }
[data-tema=noturno] .numeros-site div:hover { border-color: var(--am); }
[data-tema=noturno] .numeros-site div:hover::before { transform: scaleX(1); }
[data-tema=noturno] .numeros-site b { font-size: clamp(40px, 4.4vw, 56px); font-weight: 800; }
[data-tema=noturno] .numeros-site span { display: block; margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--linha); font-size: 13px; letter-spacing: .1em; }
/* números logo abaixo da capa: uma faixa baixa, não três cartazes */
[data-tema=noturno] .secao-numeros { padding-top: 44px; }
[data-tema=noturno] .cats-grade { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
[data-tema=noturno] .cat-card { aspect-ratio: auto; display: flex; flex-direction: column; background: var(--painel); border-radius: 18px; transition: border-color var(--vel), transform var(--vel), box-shadow var(--vel); }
[data-tema=noturno] .cat-card img { aspect-ratio: 4 / 3; height: auto; padding: 10%; background: var(--foto); transition: transform var(--vel); }
[data-tema=noturno] .cat-card:hover { border-color: var(--am); transform: translateY(-4px); box-shadow: var(--sombra-set); }
[data-tema=noturno] .cat-card span { position: relative; z-index: 1; background: var(--painel); color: var(--fg); font-size: 20px; padding: 12px 14px 14px; line-height: 1.05; }
[data-tema=noturno] .cat-card small { color: var(--mudo); opacity: 1; margin-top: 4px; font-size: 13px; }
html[data-tema=noturno] .cats-grade > .cat-card img.sem { padding: 24%; opacity: 1; filter: none; } /* sem foto: o desenho cinza na placa clara (opacidade escureceria a placa) */
[data-tema=noturno] .passos { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
[data-tema=noturno] .passos div { position: relative; overflow: hidden; border-radius: 18px; padding: 24px; transition: border-color var(--vel); }
[data-tema=noturno] .passos div:hover { border-color: var(--am); }
[data-tema=noturno] .passos div::before { display: none; }
[data-tema=noturno] .passo-icone { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 12px; background: var(--am); color: var(--am-tinta); margin-bottom: 18px; transition: transform var(--vel); }
[data-tema=noturno] .passo-icone svg { width: 26px; height: 26px; }
[data-tema=noturno] .passos div:hover .passo-icone { transform: scale(1.1); }
[data-tema=noturno] .passos div b::before { content: counter(passo, decimal-leading-zero); position: absolute; right: 22px; top: 18px; font-family: var(--f-tit); font-weight: 800; font-size: 44px; line-height: 1; color: var(--linha2); }
[data-tema=noturno] .passos b { font-family: var(--f-tit); font-weight: 800; font-size: 26px; text-transform: uppercase; line-height: 1; margin-bottom: 8px; }
[data-tema=noturno] .passos p { font-size: 14px; }
[data-tema=noturno] .depoimentos { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; }
[data-tema=noturno] .depoimentos figure { display: flex; flex-direction: column; gap: 14px; border-radius: 18px; padding: 24px; transition: border-color var(--vel), transform var(--vel); }
[data-tema=noturno] .depoimentos figure:hover { border-color: var(--am); transform: translateY(-4px); }
[data-tema=noturno] .depoimentos blockquote { flex: 1; margin: 0; font-size: 16px; color: color-mix(in srgb, var(--fg) 90%, transparent); }
[data-tema=noturno] .depoimentos figcaption { font-weight: 600; }
[data-tema=noturno] .depoimentos .estrelas { display: block; font-size: 16px; letter-spacing: 3px; margin-bottom: 4px; }
[data-tema=noturno] .grade-noticias { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; }
[data-tema=noturno] .noticia-card { position: relative; border-radius: 18px; transition: border-color var(--vel), transform var(--vel), box-shadow var(--vel); }
[data-tema=noturno] .noticia-card:hover { border-color: var(--am); transform: translateY(-4px); box-shadow: var(--sombra-set); }
[data-tema=noturno] .noticia-card div { padding: 18px 20px 20px; }
[data-tema=noturno] .noticia-card time { text-transform: uppercase; letter-spacing: .1em; }
[data-tema=noturno] .noticia-card h3 { font-size: 24px; line-height: 1.05; margin: 6px 0 8px; }
[data-tema=noturno] .contatos-site :is(a, div) { border-radius: 16px; transition: border-color var(--vel); }
[data-tema=noturno] .contatos-site a:hover { border-color: var(--am); }
[data-tema=noturno] .cta { max-width: 1280px; padding: 0 24px; margin-top: 96px; }
[data-tema=noturno] .cta .caixa { color: var(--fg); border: 1px solid var(--linha); border-radius: 20px; padding: 40px; background: radial-gradient(520px 220px at 0% 0%, color-mix(in srgb, var(--am) 16%, transparent), transparent 70%), var(--painel); }
[data-tema=noturno] .cta h2 { font-size: clamp(34px, 5vw, 54px); line-height: .95; }
[data-tema=noturno] .cta .btn { background: transparent; color: var(--fg); border-color: color-mix(in srgb, var(--fg) 30%, transparent); padding: 12px 22px; font-size: 15px; }
[data-tema=noturno] .cta .btn.pri { background: var(--am); color: var(--am-tinta); border-color: var(--am); font-weight: 600; }

/* cartões dos equipamentos: placa clara com a categoria, selo de disponibilidade, nome em caixa alta, botão largo */
[data-tema=noturno] .grade-itens { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 22px; }
[data-tema=noturno] .item { border-radius: 18px; border-color: var(--linha); box-shadow: 0 1px 2px rgba(0,0,0,.3); transition: border-color var(--vel), box-shadow var(--vel), transform var(--vel); }
[data-tema=noturno] :is(.item:hover, .item:focus-within) { border-color: var(--am); transform: translateY(-4px); box-shadow: var(--sombra-set); }
[data-tema=noturno] .item .foto { overflow: hidden; }
[data-tema=noturno] .item .foto img { padding: 10%; transition: transform var(--vel); }
[data-tema=noturno] :is(.item:hover, .cat-card:hover) img { transform: scale(1.05); }
[data-tema=noturno] .item .foto img.sem { padding: 0; }
[data-tema=noturno] .chip-cat { position: absolute; left: 12px; top: 12px; max-width: calc(100% - 24px); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; background: color-mix(in srgb, var(--bg) 82%, transparent); backdrop-filter: blur(6px); color: var(--fg); font-size: 11px; text-transform: uppercase; letter-spacing: .1em; padding: 4px 10px; border-radius: 99px; }
[data-tema=noturno] .item-set .corpo { padding: 16px; gap: 10px; }
[data-tema=noturno] .disp-linha { display: flex; justify-content: flex-end; }
[data-tema=noturno] .disp { display: inline-flex; font-size: 12px; font-weight: 500; padding: 3px 10px; border-radius: 99px; border: 1px solid var(--linha2); color: var(--mudo); }
[data-tema=noturno] .disp.sim { color: var(--ok); border-color: color-mix(in srgb, var(--ok) 40%, transparent); background: color-mix(in srgb, var(--ok) 10%, transparent); }
[data-tema=noturno] .disp.nao { color: var(--erro); border-color: color-mix(in srgb, var(--erro) 40%, transparent); background: color-mix(in srgb, var(--erro) 10%, transparent); }
[data-tema=noturno] .item-set .nome { font-family: var(--f-tit); font-weight: 800; font-size: 22px; line-height: 1.02; text-transform: uppercase; overflow-wrap: anywhere; transition: color var(--vel); }
[data-tema=noturno] .item-set .preco-site { font-family: var(--f-txt); font-stretch: 100%; font-weight: 600; font-size: 18px; }
[data-tema=noturno] .item-set .preco-site small { font-size: 13px; }
[data-tema=noturno] .inclui { font-size: 13px; color: var(--mudo); }
[data-tema=noturno] .inclui summary { cursor: pointer; color: var(--fg); list-style: none; display: inline-flex; align-items: center; gap: 6px; }
[data-tema=noturno] .inclui summary::-webkit-details-marker { display: none; }
[data-tema=noturno] .inclui summary::after { content: "▾"; color: var(--mudo); transition: transform var(--vel); }
[data-tema=noturno] .inclui[open] summary::after { transform: rotate(180deg); }
[data-tema=noturno] .inclui ul { margin: 8px 0 0; padding-left: 18px; display: grid; gap: 2px; }
[data-tema=noturno] .item-set .acao { display: block; margin-top: auto; padding-top: 4px; }
[data-tema=noturno] .item-set .acao > :is(.btn, .stepper) { width: 100%; min-height: 42px; }
[data-tema=noturno] .item-set .acao > .stepper { display: flex; justify-content: space-between; }
[data-tema=noturno] .item-set .acao > .btn.peq { font-size: 14px; font-weight: 600; }
[data-tema=noturno] .item-set .acao > .btn.pri::before { content: ""; width: 16px; height: 16px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 18a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm10 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4ZM5.2 4l.6 3H21l-2 8H7.4L4.4 2H1v2h3.2Z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 18a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm10 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4ZM5.2 4l.6 3H21l-2 8H7.4L4.4 2H1v2h3.2Z'/%3E%3C/svg%3E") center / contain no-repeat; }
[data-tema=noturno] .trilho-itens { grid-auto-columns: 290px; gap: 20px; padding: 6px 4px 22px; }
[data-tema=noturno] .grade-kits { grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 22px; }
[data-tema=noturno] .kit-card { border: 1px solid var(--linha); border-radius: 18px; box-shadow: 0 1px 2px rgba(0,0,0,.3); transition: border-color var(--vel), transform var(--vel), box-shadow var(--vel); }
[data-tema=noturno] .kit-card:hover { border-color: var(--am); transform: translateY(-4px); box-shadow: var(--sombra-set); }
[data-tema=noturno] .kit-card .foto { overflow: hidden; }
[data-tema=noturno] .kit-card .foto img { padding: 8%; transition: transform var(--vel); }
[data-tema=noturno] .kit-card:hover .foto img { transform: scale(1.05); }
[data-tema=noturno] .kit-card .nome { font-size: 24px; text-transform: uppercase; line-height: 1.02; }
[data-tema=noturno] .preco-selo { font-family: var(--f-txt); font-weight: 600; font-size: 16px; }
/* kits prontos em carrossel; o que vem no kit em uma coluna, com o nome da peça sem o nome do kit na frente */
[data-tema=noturno] .grade-kits.trilho-itens { grid-template-columns: none; grid-auto-columns: 340px; gap: 20px; }
[data-tema=noturno] .kit-card .pecas { columns: 1; display: grid; gap: 3px; font-size: 13px; }
[data-tema=noturno] .kit-card .pecas li.mais { margin-left: -18px; }
[data-tema=noturno] .kit-card .pecas li.mais a { color: var(--am); text-decoration: none; }
[data-tema=noturno] .kit-card .pecas li.mais a:hover { text-decoration: underline; }
[data-tema=noturno] .acoes-secao { margin-top: 28px; }
[data-tema=noturno] .cta-texto p { color: var(--mudo); opacity: 1; font-size: 16px; margin-top: 14px; }

/* loja: datas em cima; busca, Filtros e ordem numa linha; filtros na lateral */
[data-tema=noturno] .busca-linha { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 20px; }
[data-tema=noturno] .busca-campo { flex: 1 1 280px; min-width: 0; position: relative; }
[data-tema=noturno] .busca-campo::before { content: ""; position: absolute; left: 14px; top: 50%; width: 18px; height: 18px; margin-top: -9px; background: var(--mudo); pointer-events: none; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='10' cy='10' r='7'/%3E%3Cpath d='m21 21-6-6'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='10' cy='10' r='7'/%3E%3Cpath d='m21 21-6-6'/%3E%3C/svg%3E") center / contain no-repeat; }
[data-tema=noturno] .busca-campo input { padding-left: 42px; background: var(--painel); }
[data-tema=noturno] .busca-linha select { width: auto; flex: 0 1 220px; background: var(--painel); }
[data-tema=noturno] .busca-linha .filtros-abrir { display: none; min-height: 44px; gap: 8px; }
[data-tema=noturno] .conta-filtros { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 99px; background: var(--am); color: var(--am-tinta); font-size: 11px; font-weight: 700; }
[data-tema=noturno] .conta-filtros[hidden] { display: none; }
[data-tema=noturno] .loja-set { display: grid; grid-template-columns: 256px minmax(0, 1fr); gap: 32px; align-items: start; }
[data-tema=noturno] .painel-filtros { position: sticky; top: 88px; display: grid; gap: 18px; align-content: start; background: var(--painel); border: 1px solid var(--linha); border-radius: 18px; padding: 20px; max-height: calc(100vh - 110px); overflow-y: auto; scrollbar-width: thin; }
[data-tema=noturno] .painel-filtros .rot-filtro { font-size: 12px; font-weight: 500; text-transform: uppercase; letter-spacing: .12em; color: var(--mudo); margin-bottom: 8px; }
[data-tema=noturno] .painel-filtros .lista-cats button { border-radius: 10px; transition: background-color var(--vel), color var(--vel); }
[data-tema=noturno] .painel-filtros .lista-cats button.on { background: var(--am-esc); color: var(--am); }
[data-tema=noturno] .painel-filtros .lista-cats button.on small { color: var(--am); }
[data-tema=noturno] :is(.painel-topo, .fundo-filtros) { display: none; }
[data-tema=noturno] .painel-acoes { display: grid; }
[data-tema=noturno] .painel-acoes [data-fechar-filtros] { display: none; }
[data-tema=noturno] .loja-set .grade-itens > .vazio { grid-column: 1 / -1; border: 1px dashed var(--linha2); border-radius: 18px; padding: 64px 16px; }

/* produto: foto grande na placa, olho com a categoria, caixa de reserva com o total em destaque */
[data-tema=noturno] .migalhas a { text-decoration: none; transition: color var(--vel); }
[data-tema=noturno] .migalhas a:hover { color: var(--am); }
[data-tema=noturno] .produto { gap: 56px; }
[data-tema=noturno] .produto .galeria { position: sticky; top: 88px; border-radius: 18px; border-color: var(--linha); transition: border-color .3s; }
[data-tema=noturno] .produto .galeria:hover { border-color: var(--am); }
[data-tema=noturno] .produto .galeria img { padding: 10%; transition: transform .5s; }
[data-tema=noturno] .produto .galeria:hover img { transform: scale(1.05); }
[data-tema=noturno] .rotulo-produto { display: flex; align-items: center; gap: 12px; letter-spacing: .25em !important; }
[data-tema=noturno] .rotulo-produto::before { content: ""; flex: none; width: 32px; height: 1px; background: var(--am); }
[data-tema=noturno] .produto h1 { font-size: clamp(40px, 5.5vw, 64px); margin-top: 14px; overflow-wrap: anywhere; }
[data-tema=noturno] .produto .preco-site { font-family: var(--f-txt); font-stretch: 100%; font-weight: 600; font-size: 30px; margin: 14px 0; }
[data-tema=noturno] .produto .preco-site small { font-size: 15px; }
[data-tema=noturno] .produto .compra { border-radius: 18px; padding: 20px; gap: 14px; box-shadow: var(--sombra-set); }
[data-tema=noturno] .produto .compra .datas-site { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); border: 0; padding: 0; background: none; }
[data-tema=noturno] .produto .compra .datas-site .diarias { grid-column: 1 / -1; justify-self: start; }
[data-tema=noturno] .produto .compra > .linha { border-top: 1px solid var(--linha); padding-top: 14px; }
[data-tema=noturno] .produto .compra > .linha > .btn.pri { flex: 1; min-height: 48px; font-size: 16px; }
[data-tema=noturno] .total-compra { background: var(--am-esc); color: var(--fg) !important; padding: 12px 16px; border-radius: 12px; font-size: 14px; }
[data-tema=noturno] .produto h2 { font-size: 30px; }
[data-tema=noturno] .produto ul.pecas { display: grid; gap: 4px; font-size: 14px; }

/* pedido (carrinho), entrar, cadastro e minha conta */
[data-tema=noturno] .duas { grid-template-columns: minmax(0, 1fr) minmax(0, 420px); gap: 28px; }
[data-tema=noturno] .linha-cart { grid-template-columns: 80px minmax(0, 1fr) auto; gap: 16px; padding: 16px 0; }
[data-tema=noturno] .linha-cart img { width: 80px; height: 80px; border-radius: 12px; padding: 6px; }
[data-tema=noturno] .linha-cart .nome b { font-family: var(--f-tit); font-weight: 800; font-size: 21px; text-transform: uppercase; line-height: 1.02; }
[data-tema=noturno] .linha-cart .nome { text-decoration: none; }
[data-tema=noturno] .linha-cart .nome:hover b { color: var(--am); }
[data-tema=noturno] .linha-cart .v { color: var(--am); font-weight: 600; }
[data-tema=noturno] .total-site { font-family: var(--f-txt); font-stretch: 100%; font-weight: 600; font-size: 30px; }
[data-tema=noturno] .total-site span:first-child { font-size: 14px; color: var(--mudo); font-weight: 400; }
[data-tema=noturno] .estreita { max-width: 480px; }
[data-tema=noturno] .estreita .caixa-site, [data-tema=noturno] .media > .caixa-site { padding: 28px; box-shadow: var(--sombra-set); }
[data-tema=noturno] .abas-entrar { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; background: var(--bg); border-radius: 12px; padding: 4px; }
[data-tema=noturno] .abas-entrar > * { min-height: 42px; display: grid; place-items: center; border-radius: 9px; font-family: var(--f-tit); font-weight: 800; font-size: 19px; text-transform: uppercase; text-decoration: none; color: var(--mudo); transition: color var(--vel), background-color var(--vel); }
[data-tema=noturno] .abas-entrar a:hover { color: var(--fg); }
[data-tema=noturno] .abas-entrar .on { background: var(--am); color: var(--am-tinta); }
[data-tema=noturno] .abas-tipo label { border-radius: 12px; transition: border-color var(--vel), background-color var(--vel); }
[data-tema=noturno] .doc-linha { border-radius: 12px; padding: 12px 14px; }
[data-tema=noturno] .doc-linha.ok { border-color: color-mix(in srgb, var(--ok) 50%, transparent); }
[data-tema=noturno] .status-conta { padding: 18px 20px; }
[data-tema=noturno] .status-conta b { font-family: var(--f-tit); font-size: 22px; text-transform: uppercase; }

/* rodapé */
[data-tema=noturno] .rodape-site { margin-top: 96px; }
[data-tema=noturno] .pagina-site:not(.cheia) + .rodape-site { margin-top: 0; }
[data-tema=noturno] .rodape-site .dentro { max-width: 1280px; padding: 48px 24px; gap: 40px; }
[data-tema=noturno] .rodape-site a { color: var(--mudo); transition: color var(--vel); }
[data-tema=noturno] .rodape-site a:hover { color: var(--am); }
[data-tema=noturno] .rodape-site h4 { font-family: var(--f-tit); font-size: 16px; letter-spacing: .08em; }

/* movimento da referência: luzes e grade do fundo, faixa de luz, foto e ícones flutuando, entrada suave e brilho nos cartões */
[data-tema=noturno] body::before { animation: set-luz 9s ease-in-out infinite alternate; }
[data-tema=noturno] body::after { content: ""; position: fixed; top: 0; bottom: 0; left: 0; width: 33%; z-index: -1; pointer-events: none; filter: blur(12px);
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--am) 7%, transparent), transparent); animation: set-varre 7s ease-in-out infinite; }
[data-tema=noturno] .hero-set::before { animation: set-grade 24s linear infinite; }
[data-tema=noturno] .arte-set .halo { animation: set-luz 9s ease-in-out infinite alternate; }
[data-tema=noturno] .arte-set .flutua { position: absolute; color: var(--am); pointer-events: none; animation: set-flutua 6s ease-in-out infinite; }
[data-tema=noturno] .arte-set .f1 { width: 44px; left: 0; top: 6%; }
[data-tema=noturno] .arte-set .f2 { width: 36px; right: 2%; top: 0; opacity: .8; animation-duration: 7s; animation-delay: -2s; }
[data-tema=noturno] .arte-set .f3 { width: 40px; right: 6%; bottom: 2%; opacity: .7; animation-duration: 8s; animation-delay: -4s; }
[data-tema=noturno] .arte-set .f4 { width: 32px; left: 0; bottom: 4%; opacity: .6; animation-duration: 5.5s; animation-delay: -1s; }
[data-tema=noturno] .marca img { transition: transform var(--vel); }
[data-tema=noturno] .marca:hover img { transform: rotate(-3deg) scale(1.04); }
[data-tema=noturno] :is(.hero-set .hero-texto, .hero-set .arte-set, .busca-set) { animation: set-sobe .4s ease-out backwards; }
[data-tema=noturno] .hero-set .arte-set { animation-delay: .12s; }
[data-tema=noturno] .busca-set { animation-delay: .2s; }
[data-tema=noturno] .chegando :is(.titulo-olho, .numeros-site > div, .cats-grade > a, .passos > div, .grade-itens > *, .depoimentos > figure, .grade-noticias > a, .grade-kits > *, .produto > *, .caixa-site, .caixa-datas, .datas-site) { animation: set-sobe .35s ease-out backwards; }
[data-tema=noturno] .chegando :is(.numeros-site, .cats-grade, .passos, .grade-itens, .depoimentos, .grade-noticias, .grade-kits, .produto, .duas) > :nth-child(2) { animation-delay: 60ms; }
[data-tema=noturno] .chegando :is(.numeros-site, .cats-grade, .passos, .grade-itens, .depoimentos, .grade-noticias, .grade-kits, .produto, .duas) > :nth-child(3) { animation-delay: 120ms; }
[data-tema=noturno] .chegando :is(.numeros-site, .cats-grade, .passos, .grade-itens, .depoimentos, .grade-noticias, .grade-kits, .duas) > :nth-child(4) { animation-delay: 180ms; }
[data-tema=noturno] .chegando :is(.cats-grade, .grade-itens, .grade-noticias, .grade-kits) > :nth-child(5) { animation-delay: 220ms; }
[data-tema=noturno] .chegando :is(.cats-grade, .grade-itens, .grade-kits) > :nth-child(6) { animation-delay: 260ms; }
[data-tema=noturno] .chegando :is(.cats-grade, .grade-itens) > :nth-child(7) { animation-delay: 300ms; }
[data-tema=noturno] .chegando :is(.cats-grade, .grade-itens) > :nth-child(n+8) { animation-delay: 340ms; }
[data-tema=noturno] :is(.numeros-site > div, .cat-card, .noticia-card, .passos > div)::after { content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none;
  background: linear-gradient(110deg, transparent 35%, color-mix(in srgb, var(--am) 14%, transparent) 50%, transparent 65%); transform: translateX(-100%); transition: transform .7s ease; }
[data-tema=noturno] :is(.numeros-site > div, .cat-card, .noticia-card, .passos > div):hover::after { transform: translateX(100%); }
@keyframes set-sobe { from { opacity: 0; transform: translateY(8px); } }
@keyframes set-luz { from { transform: translate(-6%, -4%) scale(1); } to { transform: translate(6%, 5%) scale(1.15); } }
@keyframes set-varre { from { transform: translateX(-120%) skewX(-18deg); } to { transform: translateX(360%) skewX(-18deg); } }
@keyframes set-grade { to { background-position: 48px 48px; } }

/* celular e tablet */
@media (max-width: 900px) {
  [data-tema=noturno] .cab { backdrop-filter: none; background: var(--bg); }
  [data-tema=noturno] .cab .dentro { padding: 10px 16px; gap: 10px; }
  [data-tema=noturno] .carrinho-btn { margin-left: auto; }
  [data-tema=noturno] .hamburguer { order: 3; margin-left: 0; }
  /* menu: painel que desliza da esquerda, com fundo escurecido */
  [data-tema=noturno] .menu { display: flex; position: fixed; top: 0; bottom: 0; left: 0; right: auto; width: min(85vw, 360px); margin: 0; padding: 24px 16px; gap: 2px; flex: none; background: var(--painel); border-right: 1px solid var(--linha); border-bottom: 0; overflow-y: auto; z-index: 70;
    transform: translateX(-105%); visibility: hidden; transition: transform .25s ease, visibility 0s linear .25s; }
  [data-tema=noturno] .menu.aberto { transform: none; visibility: visible; transition: transform .25s ease; box-shadow: 0 0 0 100vmax rgba(0,0,0,.6); }
  [data-tema=noturno] .menu > a { padding: 14px 12px; border-radius: 10px; border-bottom: 0; color: var(--fg); font-size: 16px; }
  [data-tema=noturno] .menu > a::after { display: none; }
  [data-tema=noturno] .menu > a.on { background: var(--painel2); box-shadow: inset 3px 0 0 var(--am); }
  [data-tema=noturno] .menu-conta { margin: 16px 0 0; flex-direction: column; align-items: stretch; }
  [data-tema=noturno] .menu-conta .btn { padding: 12px; font-size: 15px; }
  [data-tema=noturno] .menu-conta .btn.fantasma { border-color: var(--linha2); color: var(--fg); }
  [data-tema=noturno] body:has(.menu.aberto) .barra-pedido { display: none; }
  [data-tema=noturno] .hero-set .dentro { grid-template-columns: 1fr; gap: 28px; padding: 36px 16px 28px; }
  [data-tema=noturno] .arte-set { width: 100%; max-width: 440px; justify-self: center; }
  [data-tema=noturno] .dentro-busca { padding: 0 16px; }
  [data-tema=noturno] .busca-set { grid-template-columns: 1fr; padding: 16px; }
  [data-tema=noturno] .busca-set .btn.grande { width: 100%; margin: 0; }
  [data-tema=noturno] .cats-grade { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  [data-tema=noturno] .passos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  [data-tema=noturno] .busca-linha .filtros-abrir { display: inline-flex; }
  [data-tema=noturno] .loja-set { grid-template-columns: 1fr; }
  /* filtros da loja: painel que desliza da esquerda */
  [data-tema=noturno] .painel-filtros { position: fixed; top: 0; bottom: 0; left: 0; width: min(88vw, 380px); max-height: none; border-radius: 0 18px 18px 0; border-left: 0; z-index: 80; padding: 20px 20px 0;
    transform: translateX(-105%); visibility: hidden; transition: transform .25s ease, visibility 0s linear .25s; }
  [data-tema=noturno] .painel-filtros.aberto { transform: none; visibility: visible; transition: transform .25s ease; }
  [data-tema=noturno] .painel-topo { display: flex; justify-content: space-between; align-items: center; }
  [data-tema=noturno] .painel-topo b { font-family: var(--f-tit); font-weight: 800; font-size: 28px; text-transform: uppercase; }
  [data-tema=noturno] .painel-topo .fechar { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--linha2); background: none; color: var(--fg); font-size: 22px; line-height: 1; cursor: pointer; }
  [data-tema=noturno] .painel-acoes { grid-template-columns: 1fr 1fr; gap: 10px; position: sticky; bottom: 0; background: var(--painel); padding: 14px 0 calc(16px + env(safe-area-inset-bottom)); border-top: 1px solid var(--linha); }
  [data-tema=noturno] .painel-acoes [data-fechar-filtros] { display: inline-flex; }
  [data-tema=noturno] .fundo-filtros { display: block; position: fixed; inset: 0; z-index: 75; background: rgba(0,0,0,.6); opacity: 0; pointer-events: none; transition: opacity .25s; }
  [data-tema=noturno] .painel-filtros.aberto ~ .fundo-filtros { opacity: 1; pointer-events: auto; }
  [data-tema=noturno] body.filtros-abertos { overflow: hidden; }
  [data-tema=noturno] body.filtros-abertos .barra-pedido { display: none; }
  [data-tema=noturno] .produto { gap: 24px; }
  [data-tema=noturno] .duas { grid-template-columns: 1fr; gap: 16px; }
  [data-tema=noturno] .produto .galeria { position: static; }
  [data-tema=noturno] .rodape-site .dentro { padding: 40px 16px; gap: 28px; }
}
@media (max-width: 640px) {
  [data-tema=noturno] .secao { padding: 64px 16px 0; }
  [data-tema=noturno] .pagina-site:not(.cheia) { padding: 24px 16px 80px; }
  [data-tema=noturno] .cta { padding: 0 16px; margin-top: 64px; }
  [data-tema=noturno] .cta .caixa { padding: 28px 20px; }
  [data-tema=noturno] .rodape-site { margin-top: 64px; }
  [data-tema=noturno] .hero-set h1 { font-size: clamp(42px, 12vw, 56px); }
  [data-tema=noturno] .hero-set .hero-texto > p:not(.olho) { font-size: 16px; }
  [data-tema=noturno] .hero-set .dentro { padding-top: 28px; }
  [data-tema=noturno] .botoes-hero .btn.grande { flex: 1 1 auto; }
  /* no celular a ilustração sai: a busca pelas datas sobe para a primeira tela */
  [data-tema=noturno] .arte-set { display: none; }
  [data-tema=noturno] .titulo-olho h2 { font-size: 36px; }
  [data-tema=noturno] h1 { font-size: 40px; }
  [data-tema=noturno] .titulo-olho .olho { letter-spacing: .22em; }
  /* números em uma fileira */
  [data-tema=noturno] .secao-numeros { padding-top: 28px; }
  [data-tema=noturno] .numeros-site { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 8px; }
  [data-tema=noturno] .passos { grid-template-columns: 1fr; }
  [data-tema=noturno] .numeros-site div { padding: 14px 12px; border-radius: 14px; }
  [data-tema=noturno] .numeros-site b { font-size: 30px; }
  [data-tema=noturno] .numeros-site span { font-size: 11px; letter-spacing: .06em; margin-top: 8px; padding-top: 8px; }
  /* categorias em lista de duas colunas (foto pequena ao lado do nome), não dez cartazes */
  [data-tema=noturno] .cats-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  [data-tema=noturno] .cat-card { flex-direction: row; align-items: center; border-radius: 14px; }
  [data-tema=noturno] .cat-card img { flex: none; width: 64px; height: 64px; aspect-ratio: 1; padding: 8px; }
  html[data-tema=noturno] .cats-grade > .cat-card img.sem { padding: 16px; }
  [data-tema=noturno] .hero-set .olho { letter-spacing: .16em; }
  [data-tema=noturno] .cta .linha .btn { flex: 1 1 auto; }
  [data-tema=noturno] .cat-card span { flex: 1; min-width: 0; font-size: 16px; padding: 8px 10px; background: none; overflow-wrap: anywhere; }
  [data-tema=noturno] .cat-card small { font-size: 12px; margin-top: 2px; }
  [data-tema=noturno] .grade-kits.trilho-itens { grid-auto-columns: 86%; gap: 12px; }
  [data-tema=noturno] .acoes-secao .btn { flex: 1 1 auto; }
  [data-tema=noturno] .datas-site { grid-template-columns: 1fr; padding: 12px; }
  [data-tema=noturno] .datas-site .diarias { justify-self: start; }
  /* equipamentos em duas colunas no celular: catálogo grande, rolagem curta */
  [data-tema=noturno] .grade-itens { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  [data-tema=noturno] .item-set .corpo { padding: 12px; gap: 8px; }
  [data-tema=noturno] .item-set .nome { font-size: 18px; }
  [data-tema=noturno] .item-set .preco-site { font-size: 15px; }
  [data-tema=noturno] .item-set .preco-site small { font-size: 11px; }
  [data-tema=noturno] .chip-cat { left: 8px; top: 8px; font-size: 10px; padding: 3px 8px; letter-spacing: .06em; }
  [data-tema=noturno] .disp { font-size: 11px; padding: 2px 8px; }
  [data-tema=noturno] .disp-linha { justify-content: flex-start; }
  [data-tema=noturno] .item-set .acao > :is(.btn, .stepper) { min-height: 40px; }
  [data-tema=noturno] .item-set .acao > .btn.pri::before { display: none; }
  [data-tema=noturno] .trilho-itens { grid-template-columns: none; grid-auto-columns: 78%; gap: 12px; }
  [data-tema=noturno] .trilho-itens .item-set .nome { font-size: 20px; }
  [data-tema=noturno] .titulo-linha .linha .seta { display: none; }
  [data-tema=noturno] .grade-kits { grid-template-columns: 1fr; }
  [data-tema=noturno] .busca-linha select { flex: 1 1 auto; }
  [data-tema=noturno] .busca-linha .filtros-abrir { flex: 0 0 auto; }
  [data-tema=noturno] .produto h1 { font-size: 40px; }
  [data-tema=noturno] .produto .compra { padding: 16px; }
  [data-tema=noturno] .caixa-site { padding: 18px 16px; }
  [data-tema=noturno] .linha-cart { grid-template-columns: 64px minmax(0, 1fr); gap: 12px; }
  [data-tema=noturno] .linha-cart img { width: 64px; height: 64px; }
  [data-tema=noturno] .linha-cart .nome b { font-size: 18px; }
  [data-tema=noturno] .estreita .caixa-site, [data-tema=noturno] .media > .caixa-site { padding: 20px 16px; }
}
@media (prefers-reduced-motion: reduce) {
  [data-tema=noturno] *, [data-tema=noturno] *::before, [data-tema=noturno] *::after { animation: none !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  [data-tema=noturno] :is(.item, .cat-card, .kit-card, .noticia-card, .depoimentos figure):hover { transform: none; }
  [data-tema=noturno] :is(.item, .cat-card, .kit-card, .produto .galeria):hover img { transform: none; }
  [data-tema=noturno] :is(.numeros-site > div, .cat-card, .noticia-card, .passos > div)::after, [data-tema=noturno] body::after { display: none; }
}
