/* Disk Gelo e Água — estilos do site. Prefixo dg-. */

:root {
  --glaciar: #0b3954;
  --glaciar-2: #12507a;
  --glaciar-3: #1d6a98;
  --gelo: #eef7fb;
  --gelo-2: #dceef6;
  --branco: #fff;
  --sol: #ffc23d;
  --sol-forte: #f2a900;
  --sol-claro: #fff3cf;
  --texto: #1f3a4d;
  --suave: #4a6577;
  --linha: #c9dfea;
  --alerta: #b3261e;
  --titulos: "Baloo 2", "Trebuchet MS", sans-serif;
  --corrido: "Readex Pro", "Segoe UI", Tahoma, sans-serif;
  --curva: 16px;
  --sombra: 0 18px 40px -24px rgb(11 57 84 / .45);
}

html { -webkit-text-size-adjust: none; text-size-adjust: none; scroll-padding-top: 6rem; }
html *, html ::before, html ::after { box-sizing: border-box; }
@media (prefers-reduced-motion: no-preference) { :root { scroll-behavior: smooth; } }
body.dg { margin: 0; background: var(--gelo); color: var(--texto); font: 400 1.05rem/1.62 var(--corrido); }
.dg [hidden] { display: none !important; }
.dg h1, .dg h2, .dg h3 { margin: 0 0 .45em; color: var(--glaciar); font-family: var(--titulos); line-height: 1.05; font-weight: 800; }
.dg h1 { font-size: clamp(2.3rem, 7vw, 4rem); letter-spacing: -.015em; }
.dg h2 { font-size: clamp(1.8rem, 4.8vw, 2.7rem); }
.dg h3 { font-size: 1.32rem; font-weight: 700; line-height: 1.15; }
.dg p { margin: 0 0 .9em; }
.dg ul, .dg ol { margin: 0; padding: 0; list-style-type: none; }
.dg dl, .dg dd { margin: 0; }
.dg a { color: var(--glaciar-2); text-underline-offset: .2em; }
.dg a:hover { color: var(--glaciar-3); }
.dg :focus-visible { outline: 3px solid var(--sol-forte); outline-offset: 2px; border-radius: 4px; }
.dg-icone { flex: 0 0 auto; }
calc-gelo, calc-galao, mapa-loja, pedido-form, aviso-cookies { display: block; }

.dg-caixa { width: min(calc(100% - 2rem), 1160px); margin-inline: auto; }
.dg-caixa--estreita { width: min(calc(100% - 2rem), 800px); }
.dg-so-leitor { position: absolute !important; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.dg-pular { position: absolute; z-index: 99; left: .75rem; top: -4rem; padding: .6rem 1rem; border-radius: 10px; background: var(--sol); color: var(--glaciar); }
.dg-pular:focus { top: .75rem; }

/* ---- botões ---- */
.dg-botao {
  display: inline-flex; align-items: center; gap: .5rem; justify-content: center;
  min-height: 3.1rem; padding: .65rem 1.3rem; border: 2px solid rgb(255 255 255 / 0); border-radius: 14px;
  font: 700 1.08rem/1 var(--titulos); letter-spacing: .01em; text-decoration: none; cursor: pointer;
  transition: background-color .18s ease-out, color .18s ease-out, border-color .18s ease-out, transform .18s ease-out;
}
.dg .dg-botao--sol { background: var(--sol); color: var(--glaciar); }
.dg .dg-botao--sol:hover { background: var(--sol-forte); color: var(--glaciar); }
.dg .dg-botao--claro { background: var(--branco); border-color: var(--linha); color: var(--glaciar); }
.dg .dg-botao--claro:hover { border-color: var(--glaciar-2); color: var(--glaciar); }
.dg .dg-botao--contorno { background: none; border-color: var(--glaciar); color: var(--glaciar); }
.dg .dg-botao--contorno:hover { background: var(--glaciar); color: var(--branco); }
.dg .dg-botao--contorno-claro { background: none; border-color: var(--sol); color: var(--branco); }
.dg .dg-botao--linha { min-height: 2.8rem; background: var(--gelo); border-color: var(--linha); color: var(--glaciar); font-size: 1rem; }
.dg .dg-botao--linha:hover { background: var(--sol-claro); border-color: var(--sol-forte); }
.dg-botao--cheio { width: 100%; }
.dg-botao:active { transform: translateY(1px); }

/* ---- topo ---- */
.dg-topo { position: sticky; top: 0; z-index: 30; background: rgb(255 255 255 / .97); border-bottom: 1px solid var(--linha); }
.dg-topo__faixa { display: flex; align-items: center; gap: .75rem; min-height: 4.4rem; }
.dg-marca { display: inline-flex; align-items: center; gap: .55rem; margin-right: auto; color: var(--glaciar); font: 800 1.3rem/1 var(--titulos); text-decoration: none; }
.dg .dg-marca:hover { color: var(--glaciar); }
.dg .dg-topo__fone { display: inline-flex; align-items: center; gap: .4rem; padding: .5rem .85rem; border-radius: 999px; background: var(--glaciar); color: var(--branco); font-weight: 600; font-size: .95rem; text-decoration: none; white-space: nowrap; }
.dg .dg-topo__fone:hover { background: var(--glaciar-2); color: var(--branco); }
.dg-topo__pedido { display: none; }
.dg-nav { display: none; }
.dg-nav-botao { display: grid; place-items: center; width: 2.9rem; height: 2.9rem; padding: 0; border: 1.5px solid var(--linha); border-radius: 12px; background: var(--branco); color: var(--glaciar); cursor: pointer; }
.dg-topo--aberto .dg-nav {
  position: absolute; inset: 100% 0 auto; display: grid; padding: .5rem 1rem 1rem;
  background: var(--branco); border-bottom: 1px solid var(--linha); box-shadow: var(--sombra);
}
.dg .dg-nav a { padding: .8rem .25rem; border-bottom: 1px solid var(--gelo-2); color: var(--glaciar); font-weight: 600; text-decoration: none; }

/* ---- capa ---- */
.dg-capa {
  position: relative; overflow: hidden; padding: 2.2rem 0 3rem;
  background:
    linear-gradient(135deg, rgb(255 255 255 / .55) 0 18%, transparent 18%) 92% 14% / 90px 90px no-repeat,
    radial-gradient(circle at 88% 20%, var(--gelo-2) 0 120px, transparent 121px),
    radial-gradient(circle at 70% 95%, var(--sol-claro) 0 90px, transparent 91px),
    var(--gelo);
}
.dg-capa__grade { display: grid; gap: 2rem; align-items: start; }
.dg-selo { display: inline-block; margin-bottom: 1rem !important; padding: .3rem .8rem; border-radius: 10px; background: var(--sol-claro); color: var(--glaciar); font: 700 .95rem/1.3 var(--titulos); letter-spacing: .02em; }
.dg-capa__linha { max-width: 58ch; color: var(--suave); font-size: 1.12rem; }
.dg-capa__acoes { display: flex; flex-wrap: wrap; gap: .7rem; margin: 1.4rem 0 1.3rem; }
.dg-capa__itens { display: grid; gap: .45rem; color: var(--glaciar); font-weight: 500; }
.dg-capa__itens li, .dg-publico li { display: flex; gap: .5rem; align-items: flex-start; }
.dg-capa__itens .dg-icone, .dg-publico .dg-icone { margin-top: .3rem; color: var(--glaciar-3); }
.dg-capa__fone { font-size: 1.08rem; }

/* ---- placa da loja ---- */
.dg-faixa-placa { padding: 0 0 2.6rem; background: var(--gelo); }
.dg-placa {
  display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1.1rem; align-items: center;
  padding: 1.1rem 1.25rem; border-radius: 20px; background: var(--glaciar); color: #d8eef7;
  box-shadow: inset 0 0 0 4px var(--glaciar), inset 0 0 0 6px rgb(255 255 255 / .55), var(--sombra);
}
.dg-placa__numero { padding: 0 .2rem; color: var(--sol); font: 800 clamp(3.2rem, 14vw, 5.6rem)/.9 var(--titulos); letter-spacing: -.03em; }
.dg-placa__nome { margin: 0 0 .15rem !important; color: var(--branco); font: 800 1.45rem/1.1 var(--titulos); }
.dg-placa__rua { margin: 0 0 .35rem !important; font-weight: 500; }
.dg-placa__dados { margin: 0 !important; font-size: .9rem; color: #b9d8e8; overflow-wrap: anywhere; }
.dg .dg-placa a { color: var(--sol); }

/* ---- blocos ---- */
.dg-bloco { padding: 4rem 0; background: var(--branco); }
.dg-bloco--gelo { background: var(--gelo); }
.dg-bloco--noite { background: var(--glaciar); color: #d8eef7; }
.dg-bloco--noite h2 { color: var(--branco); }
.dg .dg-bloco--noite a:not(.dg-botao) { color: var(--sol); }
.dg-bloco__cabeca { max-width: 720px; margin-bottom: 2rem; }
.dg-bloco__cabeca p:last-child { margin-bottom: 0; color: var(--suave); }
.dg-sobre { margin-bottom: .45rem !important; color: var(--glaciar-3); font: 800 .92rem/1 var(--titulos); letter-spacing: .14em; text-transform: uppercase; }
.dg-sobre::before { content: ""; display: inline-block; width: .8em; height: .8em; margin-right: .5em; border-radius: 4px; background: var(--sol); vertical-align: -.05em; }
.dg-sobre--sol { color: var(--sol); }
.dg-dupla { display: grid; gap: 2rem; align-items: start; }

/* ---- produtos ---- */
.dg-produtos { display: grid; gap: 1rem; }
.dg-produto { display: flex; flex-direction: column; padding: 1.4rem; border: 1px solid var(--linha); border-radius: var(--curva); background: var(--branco); }
.dg-bloco--gelo .dg-produto { background: var(--branco); }
.dg-produto__figura { display: grid; place-items: center; width: 4rem; height: 4rem; margin-bottom: .9rem; border-radius: 18px; background: var(--gelo-2); color: var(--glaciar-2); }
.dg-produto p { color: var(--suave); }
.dg-produto__nota { padding-left: .7rem; border-left: 3px solid var(--sol); font-size: .95rem; }
.dg-produto .dg-botao { margin-top: auto; align-self: flex-start; }

/* ---- calculadora ---- */
.dg-calc { padding: 1.25rem; border-radius: 22px; background: var(--branco); box-shadow: var(--sombra); }
.dg-calc__abas { display: grid; grid-template-columns: 1fr 1fr; gap: .4rem; margin-bottom: 1.1rem; padding: .3rem; border-radius: 14px; background: var(--gelo-2); }
.dg-calc__aba { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; min-height: 2.9rem; padding: .4rem .6rem; border: 0; border-radius: 11px; background: none; color: var(--glaciar); font: 700 1rem/1.1 var(--titulos); cursor: pointer; }
.dg-calc__aba[aria-selected="true"] { background: var(--branco); box-shadow: 0 2px 8px rgb(11 57 84 / .15); }
.dg-calc__grade { display: grid; gap: .9rem; margin-bottom: .8rem; }
.dg-marcar { display: flex; gap: .6rem; align-items: flex-start; margin-bottom: .55rem; cursor: pointer; }
.dg-marcar input { width: 1.3rem; height: 1.3rem; margin: .15rem 0 0; accent-color: var(--glaciar-2); }
.dg-calc__resposta { display: block; margin: 1rem 0 .4rem; padding: 1rem 1.1rem; border-radius: 14px; background: var(--glaciar); color: var(--branco); font: 800 1.5rem/1.2 var(--titulos); }
.dg-calc__resposta small { display: block; margin-top: .25rem; color: #b9d8e8; font: 400 .95rem/1.4 var(--corrido); }
.dg-calc__nota { color: var(--suave); font-size: .92rem; }

/* ---- passos ---- */
.dg-passos { display: grid; gap: 1rem; }
.dg-passos li { position: relative; padding: 1.3rem 1.3rem 1.2rem 4.4rem; border-radius: var(--curva); background: var(--gelo); }
.dg-passo__numero { position: absolute; left: 1.2rem; top: 1.1rem; display: grid; place-items: center; width: 2.4rem; height: 2.4rem; border-radius: 12px; background: var(--sol); color: var(--glaciar); font: 800 1.3rem/1 var(--titulos); }
.dg-passos p { margin: 0; color: var(--suave); }

/* ---- loja e mapa ---- */
.dg-loja { display: grid; gap: 1.8rem; }
.dg-loja__dados { display: grid; gap: .8rem; margin-bottom: 1.2rem !important; }
.dg-loja__dados li { display: flex; gap: .65rem; align-items: flex-start; overflow-wrap: anywhere; }
.dg-loja__dados .dg-icone { margin-top: .15rem; color: var(--glaciar-3); }
.dg-loja__area { padding: .9rem 1rem; border-radius: 14px; background: var(--sol-claro); color: var(--glaciar); }
.dg-mapa {
  display: grid; place-content: center; justify-items: center; gap: .8rem; min-height: 19rem; padding: 1.5rem; border-radius: 22px; text-align: center; color: #d8eef7;
  background: radial-gradient(circle at 30% 30%, var(--glaciar-2), var(--glaciar) 70%) var(--glaciar);
}
.dg-mapa p { margin: 0; }
.dg .dg-mapa a { color: var(--sol); }
.dg-mapa--aberta { display: block; min-height: 0; padding: 0; background: none; }
.dg-mapa iframe { display: block; width: 100%; height: 22rem; border: 0; border-radius: 22px; }

/* ---- perguntas ---- */
.dg-duvidas { display: grid; gap: .7rem; }
.dg-duvida { border: 1.5px solid var(--linha); border-radius: 14px; background: var(--branco); }
.dg-duvida[open] { border-color: var(--glaciar-3); }
.dg-duvida summary { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem 1.15rem; color: var(--glaciar); font-weight: 600; cursor: pointer; list-style: none; }
.dg-duvida summary::-webkit-details-marker { display: none; }
.dg-duvida summary::after { content: "+"; flex: 0 0 auto; display: grid; place-items: center; width: 1.6rem; height: 1.6rem; border-radius: 8px; background: var(--gelo-2); font: 800 1.2rem/1 var(--titulos); }
.dg-duvida[open] summary::after { content: "–"; background: var(--sol); }
.dg-duvida__texto { padding: 0 1.15rem 1.1rem; color: var(--suave); }
.dg-duvida__texto p { margin: 0; }

/* ---- pedido ---- */
.dg-pedido { padding: 1.4rem 1.2rem; border-radius: 22px; background: var(--branco); color: var(--texto); box-shadow: var(--sombra); }
.dg-capa .dg-pedido { border: 2px solid var(--glaciar); }
.dg .dg-pedido__titulo { margin: 0 0 .2rem; color: var(--glaciar); font-size: 1.7rem; }
.dg .dg-pedido a:not(.dg-botao) { color: var(--glaciar-2); }
.dg-pedido__apoio { color: var(--suave); font-size: .97rem; }
.dg-pedido__aviso { margin: 0 0 1rem !important; padding: .8rem 1rem; border-radius: 12px; background: #fdeceb; color: #7f1d17; font-weight: 500; }
.dg-pedido__campos { display: grid; gap: .9rem; margin-bottom: 1rem; }
.dg-campo { display: grid; gap: .35rem; }
.dg-campo label, .dg-campo > span { color: var(--glaciar); font-weight: 600; font-size: .97rem; }
.dg-opcional { color: var(--suave); font-weight: 400; }
.dg-campo input, .dg-campo select, .dg-campo textarea {
  width: 100%; min-height: 3rem; padding: .6rem .8rem; border: 1.5px solid #9dbdcd; border-radius: 12px;
  background: var(--branco); color: var(--texto); font: inherit; font-size: 1rem;
}
.dg-campo textarea { min-height: 6.5rem; resize: vertical; }
.dg-campo input:focus, .dg-campo select:focus, .dg-campo textarea:focus { border-color: var(--glaciar-2); outline: 3px solid var(--gelo-2); outline-offset: 0; }
.dg-campo [aria-invalid="true"], .dg-aceite [aria-invalid="true"] { border-color: var(--alerta); }
.dg-erro { margin: 0 !important; color: var(--alerta); font-size: .92rem; font-weight: 500; }
.dg-aceite { display: grid; grid-template-columns: 1.6rem minmax(0, 1fr); gap: .2rem .6rem; margin-bottom: 1.1rem; font-size: .93rem; }
.dg-aceite input { width: 1.3rem; height: 1.3rem; margin: .15rem 0 0; accent-color: var(--glaciar-2); }
.dg-aceite .dg-erro { grid-column: 2; }
.dg-escondido { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.dg-pedido-lado__empresa { padding-top: .9rem; border-top: 1px solid rgb(216 238 247 / .25); font-size: .93rem; }

/* ---- quadro "informe" (campanhas) ---- */
.dg-quadro { padding: 1.4rem; border: 2px dashed var(--linha); border-radius: 20px; background: var(--gelo); }
.dg .dg-quadro__titulo { font-size: 1.45rem; }
.dg-informe div { display: grid; grid-template-columns: 5.5rem minmax(0, 1fr); gap: .8rem; padding: .6rem 0; border-bottom: 1px solid var(--linha); }
.dg-informe div:last-child { border-bottom: 0; }
.dg-informe dt { color: var(--glaciar); font-weight: 600; }
.dg-informe dd { color: var(--suave); }
.dg-publico { display: grid; gap: .65rem; font-size: 1.05rem; }

/* ---- páginas de apoio ---- */
.dg-aviso-final { padding: 5rem 0 6rem; }
.dg-texto-legal h2 { margin-top: 1.5em; font-size: 1.55rem; }
.dg-texto-legal__data { color: var(--suave); }

/* ---- rodapé ---- */
.dg-rodape { padding: 3rem 0 1.4rem; background: #082c42; color: #b9d8e8; font-size: .96rem; }
.dg-rodape__colunas { display: grid; gap: 1.6rem; }
.dg-rodape__marca { display: flex; align-items: center; gap: .55rem; color: var(--branco); font: 800 1.3rem/1 var(--titulos); }
.dg-rodape__miudo { font-size: .9rem; }
.dg .dg-rodape__titulo { margin: 0 0 .5rem; color: var(--sol); font-size: 1.05rem; letter-spacing: .06em; text-transform: uppercase; }
.dg-rodape__lista { display: grid; gap: .2rem; }
.dg .dg-rodape a, .dg-rodape__botao { display: inline-flex; align-items: center; min-height: 2.6rem; color: var(--branco); }
.dg-rodape__botao { padding: 0; border: 0; background: none; font: inherit; text-decoration: underline; text-underline-offset: .2em; cursor: pointer; }
.dg-rodape__fim { margin-top: 2rem; padding-top: 1.1rem; border-top: 1px solid rgb(185 216 232 / .2); font-size: .88rem; }
.dg-rodape__fim p { margin: 0; }

/* ---- barra do celular e cookies ---- */
.dg-barra {
  position: fixed; z-index: 40; left: .6rem; right: .6rem; bottom: max(.6rem, env(safe-area-inset-bottom));
  display: grid; grid-template-columns: 1fr 1.5fr; gap: .5rem; padding: .45rem; border-radius: 18px;
  background: var(--glaciar); box-shadow: 0 14px 30px -10px rgb(8 44 66 / .6); transition: transform .25s ease, opacity .25s ease;
}
.dg .dg-barra a { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; min-height: 3rem; border-radius: 13px; font: 700 1.05rem/1 var(--titulos); text-decoration: none; }
.dg .dg-barra__fone { background: var(--glaciar-2); color: var(--branco); }
.dg .dg-barra__pedido { background: var(--sol); color: var(--glaciar); }
.dg-barra--some { opacity: 0; pointer-events: none; transform: translateY(130%); }
body.dg:has(.dg-barra) { padding-bottom: 5rem; }
.dg-cookies {
  position: fixed; z-index: 60; left: .75rem; right: .75rem; bottom: .75rem; max-width: 24rem;
  padding: 1.1rem 1.1rem 1rem; border-radius: 18px; background: var(--branco); color: var(--texto);
  border: 2px solid var(--glaciar); box-shadow: 0 24px 50px -20px rgb(8 44 66 / .55); font-size: .93rem; line-height: 1.5;
}
.dg-cookies__titulo { margin: 0 0 .3rem !important; color: var(--glaciar); font: 800 1.15rem/1.2 var(--titulos); }
.dg-cookies__botoes { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; margin-top: .8rem; }
.dg-cookies .dg-botao { min-height: 2.8rem; }

/* ---- a partir de 46em ---- */
@media (min-width: 46em) {
  .dg-bloco { padding: 5rem 0; }
  .dg-produtos { grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); }
  .dg-passos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .dg-calc__grade, .dg-pedido__campos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dg-campo--largo { grid-column: 1 / -1; }
  .dg-pedido { padding: 1.8rem 1.7rem; }
  .dg-rodape__colunas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dg-placa { padding: 1.4rem 2rem; gap: 2rem; }
}

/* ---- a partir de 66em ---- */
@media (min-width: 66em) {
  .dg-nav-botao { display: none; }
  .dg-nav, .dg-topo--aberto .dg-nav { position: static; display: flex; gap: .2rem; padding: 0; margin-right: auto; background: none; border: 0; box-shadow: none; }
  .dg .dg-nav a { padding: .55rem .7rem; border: 0; border-radius: 10px; font-size: .98rem; }
  .dg .dg-nav a:hover { background: var(--gelo); }
  .dg-marca { margin-right: 1.4rem; }
  .dg-topo--curto .dg-marca { margin-right: auto; }
  .dg-topo__pedido { display: inline-flex; min-height: 2.8rem; padding: .5rem 1.1rem; }
  .dg-capa { padding: 4rem 0 4.5rem; }
  .dg-capa__grade { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 3.5rem; }
  .dg-dupla { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 3.5rem; }
  .dg-dupla--pedido { grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); }
  .dg-loja { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 3rem; align-items: stretch; }
  .dg-rodape__colunas { grid-template-columns: 1.4fr 1fr 1fr 1fr; }
  .dg-barra { display: none; }
  body.dg:has(.dg-barra) { padding-bottom: 0; }
}

@media (prefers-reduced-motion: reduce), (update: slow) {
  .dg *, .dg ::before, .dg ::after { transition: none !important; animation: none !important; }
}
