/* Folha única do site. Tema: parede de azulejo branco, rejunte cinza,
   ralo como marca. Prefixo fe- em tudo para não brigar com nada. */

:root {
  --chumbo: #202427;
  --chumbo-2: #2D3337;
  --chumbo-3: #3B4247;
  --texto: #22272B; --apoio: #545E66; --loica: #F3F5F4; --azulejo: #FFFFFF; --rejunte: #DCE2E1;
  --rejunte-forte: #C3CDCC; --tomate: #C93A1B; --tomate-fundo: #A82F14; --tomate-claro: #FBE5DC;
  --tomate-luz: #FFB59E; --menta: #D7F0E8; --menta-borda: #BFE3D8; --menta-funda: #1D7A66;
  --zap: #167A43; --zap-funda: #10633A; --raio-azulejo: 4px; --raio-grande: 14px;
  --sombra-cartao: 0 1px 0 var(--rejunte-forte), 0 16px 32px -20px rgba(32, 36, 39, .5);
  --fonte-titulo: "League Spartan", "Trebuchet MS", sans-serif;
  --fonte-texto: "Commissioner", "Segoe UI", Arial, sans-serif; --largura-maxima: 1180px;
}

html { box-sizing: border-box; } *, ::before, ::after { box-sizing: inherit; }
[hidden] { display: none !important; } /* vence qualquer display das classes */

html {
  -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-behavior: smooth;
  scroll-padding-top: 92px;
}
body {
  margin: 0; background: var(--loica); color: var(--texto); font-family: var(--fonte-texto);
  font-size: 1.0625rem; line-height: 1.6;
}
h1, h2, h3 {
  margin: 0 0 .5em; font-family: var(--fonte-titulo); line-height: 1.08; letter-spacing: -.012em;
  color: var(--chumbo);
}
h1 { font-weight: 800; }
h2, h3 { font-weight: 700; }
p { margin: 0 0 1.05em; orphans: 2; widows: 2; }
ul, ol { margin-top: 0; }
a { color: var(--menta-funda); text-underline-offset: .2em; }
a:hover { text-decoration-thickness: .13em; }
svg { max-width: 100%; }
input, button, textarea, select { font: inherit; color: inherit; }
:focus-visible { outline: 3px solid var(--tomate); outline-offset: 3px; }
main:focus { outline: none; }

.fe-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.fe-icone { width: 1.25em; height: 1.25em; flex: none; }
.fe-largura { width: min(100% - 32px, var(--largura-maxima)); margin-left: auto; margin-right: auto; }

.fe-pular {
  position: absolute; left: 12px; top: -120px; z-index: 60; padding: 12px 16px;
  border-radius: var(--raio-azulejo); background: var(--chumbo); color: #FFFFFF; font-weight: 700;
}
.fe-pular:focus { top: 12px; }

/* === topo === */
.fe-topo {
  position: sticky; top: 0; z-index: 30; background: var(--azulejo);
  border-bottom: 3px solid var(--rejunte);
}
.fe-topo__linha { display: flex; align-items: center; gap: 14px; min-height: 76px; }
.fe-marca {
  display: flex; align-items: center; gap: 11px; margin-right: auto;
  color: var(--chumbo); text-decoration: none;
}
.fe-marca__ralo { width: 46px; height: 46px; flex: none; }
.fe-marca__palavras { display: grid; }
.fe-marca__nome { font: 800 1.7rem/0.95 var(--fonte-titulo); letter-spacing: -.025em; }
.fe-marca__ramo {
  margin-top: 4px; color: var(--tomate-fundo); font-size: .7rem; font-weight: 700;
  letter-spacing: .17em; line-height: 1.1; text-transform: uppercase;
}
.fe-topo__acoes { display: flex; align-items: center; gap: 10px; }
.fe-topo__fone {
  display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 6px;
  color: var(--chumbo); font-weight: 700; text-decoration: none; white-space: nowrap;
}
.fe-topo__fone .fe-icone { color: var(--tomate); }

.fe-menu-botao { display: none; }

@media (min-width: 1121px) {
  .fe-menu {
    position: static; inset: auto; display: flex; gap: 2px; width: auto; height: auto; margin: 0;
    padding: 0; overflow: visible; border: 0; background: transparent; color: inherit;
  }
  .fe-menu a {
    padding: 10px 11px; border-radius: var(--raio-azulejo); color: var(--chumbo); font-size: .98rem;
    font-weight: 600; text-decoration: none; white-space: nowrap;
  }
  .fe-menu a:hover { background: var(--loica); }
}
@media (max-width: 1120px) {
  .fe-menu-botao {
    display: inline-flex; align-items: center; gap: 9px; min-height: 44px; padding: 8px 13px;
    border: 2px solid var(--rejunte-forte); border-radius: var(--raio-azulejo);
    background: var(--azulejo); font-weight: 700; cursor: pointer;
  }
  .fe-menu-botao__risco {
    width: 18px; height: 12px;
    background:
      linear-gradient(var(--chumbo), var(--chumbo)) top / 100% 2px no-repeat,
      linear-gradient(var(--chumbo), var(--chumbo)) center / 100% 2px no-repeat,
      linear-gradient(var(--chumbo), var(--chumbo)) bottom / 100% 2px no-repeat;
  }
  .fe-menu {
    position: fixed; inset: 86px 12px auto 12px; width: auto; height: auto; margin: 0; padding: 6px;
    border: 3px solid var(--rejunte); border-radius: var(--raio-grande); background: var(--azulejo);
    color: var(--texto); box-shadow: 0 26px 50px -24px rgba(0, 0, 0, .5);
  }
  .fe-menu a {
    display: block; padding: 14px 12px; border-bottom: 1px solid var(--rejunte);
    color: var(--chumbo); font-weight: 700; text-decoration: none;
  }
  .fe-menu a:last-child { border-bottom: 0; }
}
@media (max-width: 720px) {
  .fe-topo__acoes { display: none; }
  .fe-topo__linha { min-height: 70px; }
  .fe-marca__ralo { width: 40px; height: 40px; }
  .fe-marca__nome { font-size: 1.5rem; }
  .fe-menu { inset: 80px 10px auto 10px; }
}

/* === botões === */
.fe-botoes { display: flex; flex-wrap: wrap; gap: 12px; }
.fe-botoes--centro { justify-content: center; }
.fe-botao {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px;
  padding: 12px 20px; border: 2px solid transparent; border-radius: 6px;
  box-shadow: inset 0 -3px 0 rgba(0, 0, 0, .2); font-size: 1rem; font-weight: 700;
  line-height: 1.15; text-align: center; text-decoration: none; cursor: pointer;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
.fe-botao .fe-icone { width: 22px; height: 22px; }
.fe-botao--baixo { min-height: 44px; padding: 8px 15px; }
.fe-botao--zap { background: var(--zap); color: #FFFFFF; }
.fe-botao--zap:hover { background: var(--zap-funda); color: #FFFFFF; }
.fe-botao--escuro { background: var(--chumbo); color: #FFFFFF; }
.fe-botao--escuro:hover { background: var(--chumbo-3); color: #FFFFFF; }
.fe-botao--tomate { background: var(--tomate); color: #FFFFFF; }
.fe-botao--tomate:hover { background: var(--tomate-fundo); color: #FFFFFF; }
.fe-botao--linha { border-color: var(--chumbo); background: var(--azulejo); color: var(--chumbo); box-shadow: none; }
.fe-botao--linha:hover { background: var(--loica); color: var(--chumbo); }
.fe-botao--claro { background: #FFFFFF; color: var(--chumbo); }
.fe-botao--claro:hover { background: var(--loica); color: var(--chumbo); }
.fe-botao--linha-zap { border-color: var(--zap); background: #FFFFFF; color: var(--zap-funda); box-shadow: none; }
.fe-botao--linha-zap:hover { background: #EAF6EF; color: var(--zap-funda); }

/* === títulos de seção === */
.fe-sobretitulo {
  display: flex; align-items: center; gap: 10px; margin-bottom: 14px; color: var(--tomate-fundo);
  font-size: .8rem; font-weight: 700; letter-spacing: .14em;
  line-height: 1.3; text-transform: uppercase;
}
.fe-sobretitulo::before {
  content: ""; flex: none; width: 13px; height: 13px; border-radius: 3px; background: var(--tomate);
  box-shadow: 0 0 0 2px var(--azulejo), 0 0 0 4px var(--rejunte-forte);
}
.fe-secao { padding: 76px 0; }
.fe-secao__titulo { font-size: clamp(1.85rem, 3.6vw, 2.65rem); font-weight: 800; }
.fe-secao__apoio { max-width: 40em; margin-bottom: 34px; color: var(--apoio); font-size: 1.08rem; }
.fe-secao--menta { background: var(--menta); }
.fe-secao--rejunte {
  background-color: var(--loica);
  background-image:
    linear-gradient(var(--rejunte) 1px, transparent 1px),
    linear-gradient(90deg, var(--rejunte) 1px, transparent 1px);
  background-size: 34px 34px;
}

/* === abertura: parede de azulejo === */
.fe-parede {
  position: relative; padding: 58px 0 84px; background-color: var(--azulejo);
  background-image:
    linear-gradient(135deg, rgba(255, 255, 255, 0) 58%, rgba(32, 36, 39, .035)),
    linear-gradient(var(--rejunte) 2px, transparent 2px),
    linear-gradient(90deg, var(--rejunte) 2px, transparent 2px);
  background-size: 66px 66px;
}
.fe-parede::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 24px;
  border-top: 2px solid var(--rejunte-forte);
  background:
    radial-gradient(circle, var(--tomate) 0 4px, transparent 4.5px) 0 0 / 33px 24px,
    linear-gradient(90deg, var(--rejunte-forte) 2px, transparent 2px) 0 0 / 33px 24px,
    var(--chumbo);
}
.fe-parede__grade {
  display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); gap: 44px;
  align-items: start;
}
.fe-parede h1 { margin-bottom: 18px; font-size: clamp(2.3rem, 5.2vw, 4.05rem); }
.fe-parede__destaque { display: block; color: var(--tomate); }
.fe-parede__apoio { max-width: 35em; color: var(--apoio); font-size: 1.16rem; }
.fe-parede__selos { display: grid; gap: 10px; margin: 28px 0 0; padding: 0; list-style: none; }
.fe-parede__selos li {
  display: flex; align-items: center; gap: 11px; width: fit-content; max-width: 100%;
  padding: 7px 12px 7px 9px; border: 2px solid var(--rejunte); border-radius: var(--raio-azulejo);
  background: var(--azulejo); font-weight: 500;
}
.fe-selo-icone { width: 22px; height: 22px; flex: none; color: var(--menta-funda); }

.fe-seletor {
  padding: 22px; border: 3px solid var(--rejunte); border-radius: var(--raio-grande);
  background: var(--azulejo); box-shadow: var(--sombra-cartao);
}
.fe-seletor__titulo { margin-bottom: 4px; color: var(--chumbo); font: 800 1.6rem/1.1 var(--fonte-titulo); }
.fe-seletor__dica { margin-bottom: 14px; color: var(--apoio); font-size: .95rem; }
.fe-seletor__azulejos {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0;
  list-style: none;
}
.fe-azulejo {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px;
  min-height: 102px; height: 100%; padding: 10px 6px; border: 2px solid var(--rejunte);
  border-radius: var(--raio-azulejo); background: var(--loica); color: var(--chumbo);
  font-size: .93rem; font-weight: 700; line-height: 1.15; text-align: center; text-decoration: none;
  transition: border-color .15s ease, background-color .15s ease;
}
.fe-azulejo__icone { width: 34px; height: 34px; color: var(--tomate); }
.fe-azulejo:hover { border-color: var(--tomate); background: var(--azulejo); }
.fe-azulejo[aria-current="true"] { border-color: var(--chumbo); background: var(--chumbo); color: #FFFFFF; }
.fe-azulejo[aria-current="true"] .fe-azulejo__icone { color: var(--tomate-luz); }
.fe-seletor__painel { margin-top: 16px; padding-top: 16px; border-top: 2px dashed var(--rejunte-forte); }
.fe-seletor__escolha { margin-bottom: 12px; font-weight: 700; }
.fe-seletor__previa {
  margin: 12px 0 14px; padding: 12px 14px; border-radius: 12px 12px 12px 3px;
  background: var(--menta); font-size: .95rem; overflow-wrap: anywhere;
}

/* === faixa de identificação === */
.fe-ficha { padding: 30px 0; background: var(--chumbo); color: #E7ECEB; }
.fe-ficha__titulo { margin-bottom: 16px; color: #FFFFFF; font-size: 1.15rem; }
.fe-ficha__dados {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .8fr) minmax(0, 1.5fr) minmax(0, 1fr);
  gap: 16px 28px; margin: 0;
}
.fe-ficha__dados dt { color: #AEB9B7; font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; }
.fe-ficha__dados dd { margin: 4px 0 0; color: #FFFFFF; font-weight: 600; overflow-wrap: anywhere; }

/* === serviços === */
.fe-servicos {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 208px), 1fr)); gap: 16px;
  margin: 0; padding: 0; list-style: none;
}
.fe-servico {
  position: relative; display: flex; flex-direction: column; gap: 10px; padding: 24px 20px 18px;
  border: 2px solid var(--rejunte); border-radius: var(--raio-azulejo); background: var(--azulejo);
  transition: border-color .15s ease;
}
.fe-servico:hover { border-color: var(--chumbo); }
.fe-servico__azulejo {
  display: grid; place-items: center; width: 62px; height: 62px; border-radius: var(--raio-azulejo);
  background: var(--tomate-claro); box-shadow: 0 0 0 3px var(--azulejo), 0 0 0 5px var(--rejunte);
}
.fe-servico__icone { width: 34px; height: 34px; color: var(--tomate-fundo); }
.fe-servico__nome { margin: 8px 0 0; font-size: 1.32rem; }
.fe-servico__nome a { color: var(--chumbo); text-decoration: none; }
.fe-servico__nome a::after { content: ""; position: absolute; inset: 0; }
.fe-servico__resumo { margin: 0; color: var(--apoio); font-size: .98rem; }
.fe-servico__pedir {
  position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 6px;
  min-height: 42px; margin-top: auto; color: var(--tomate-fundo); font-weight: 700;
}
.fe-seta { width: 18px; height: 18px; flex: none; }

/* === caminho da água === */
.fe-caminho {
  display: grid; grid-template-columns: minmax(0, 1.28fr) minmax(0, 1fr); gap: 28px;
  align-items: start;
}
.fe-caminho__desenho {
  margin: 0; padding: 14px; border: 3px solid var(--rejunte); border-radius: var(--raio-grande);
  background: var(--azulejo);
}
.fe-caminho__desenho svg { display: block; width: 100%; height: auto; }
.fe-caminho__desenho figcaption { margin-top: 8px; color: var(--apoio); font-size: .86rem; }
.fe-d-chao { fill: #EFE9DF; }
.fe-d-casa { fill: #FBFCFC; stroke: var(--chumbo-3); stroke-width: 3; stroke-linejoin: round; }
.fe-d-parede { stroke: var(--rejunte-forte); stroke-width: 3; }
.fe-d-calcada { stroke: var(--chumbo-3); stroke-width: 6; }
.fe-d-rotulo { fill: var(--apoio); font-family: var(--fonte-texto); font-size: 15px; font-weight: 600; }
.fe-d-rotulo--baixo { font-size: 13px; }
.fe-d-peca { fill: #E8EDEC; stroke: var(--chumbo-3); stroke-width: 2.5; stroke-linejoin: round; }
.fe-d-caixa { fill: #D9D2C6; stroke: var(--chumbo-3); stroke-width: 2.5; }
.fe-d-rede { fill: #E2DCD2; stroke: var(--chumbo-3); stroke-width: 2.5; stroke-dasharray: 5 4; }
.fe-d-cano {
  fill: none; stroke: #A9B4B3; stroke-width: 8; stroke-linecap: round; stroke-linejoin: round;
  transition: stroke .2s ease;
}
.fe-d-cano--rua { stroke-dasharray: 2 12; }
.fe-d-cano.fe-aceso { stroke: var(--tomate); stroke-dasharray: 14 10; animation: fe-corre .9s linear infinite; }
.fe-d-no.fe-ativo .fe-d-peca,
.fe-d-no.fe-ativo .fe-d-caixa,
.fe-d-no.fe-ativo .fe-d-rede { fill: var(--tomate-claro); stroke: var(--tomate-fundo); }
@keyframes fe-corre { to { stroke-dashoffset: -24; } }

.fe-caminho__botoes { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.fe-caminho__botao {
  min-height: 44px; padding: 8px 14px; border: 2px solid var(--rejunte-forte);
  border-radius: var(--raio-azulejo); background: var(--azulejo); font-weight: 600; cursor: pointer;
}
.fe-caminho__botao:hover { border-color: var(--chumbo); }
.fe-caminho__botao[aria-pressed="true"] { border-color: var(--chumbo); background: var(--chumbo); color: #FFFFFF; }
.fe-caminho__texto {
  margin-bottom: 12px; padding: 16px 18px; border-left: 6px solid var(--tomate);
  border-radius: var(--raio-azulejo); background: var(--azulejo);
}
.fe-caminho__texto h3 { font-size: 1.25rem; }
.fe-caminho__texto p:last-of-type { margin-bottom: 8px; }
.fe-caminho__link { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; font-weight: 700; }
.fe-caminho__nota { margin: 0; color: var(--apoio); font-size: .9rem; }
.fe-sem-js .fe-caminho__botoes { display: none; }
.fe-com-js .fe-caminho__texto:not(.fe-visivel) { display: none; }

/* === cuidados === */
.fe-enquanto {
  display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 34px;
  align-items: start;
}
.fe-cuidados { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.fe-cuidados li {
  position: relative; padding: 16px 18px 16px 64px; border: 2px solid var(--menta-borda);
  border-radius: var(--raio-azulejo); background: var(--azulejo);
}
.fe-cuidados strong { display: block; color: var(--chumbo); }
.fe-cuidados__icone { position: absolute; top: 17px; left: 18px; width: 30px; height: 30px; color: var(--menta-funda); }

/* === passos === */
.fe-passos {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 0; padding: 0;
  list-style: none;
}
.fe-passo {
  padding: 26px 24px; border: 2px solid var(--rejunte); border-radius: var(--raio-azulejo);
  background: var(--azulejo);
}
.fe-passo__numero {
  display: grid; place-items: center; width: 58px; height: 58px; margin-bottom: 16px;
  border: 3px dashed var(--tomate); border-radius: 50%; background: var(--tomate-claro);
  color: var(--tomate-fundo); font: 800 1.75rem/1 var(--fonte-titulo);
}
.fe-passo__titulo { font-size: 1.3rem; }
.fe-passo p { margin: 0; color: var(--apoio); }

/* === pedido === */
.fe-secao--pedido { background: var(--chumbo); color: #E7ECEB; }
.fe-secao--pedido .fe-secao__titulo { color: #FFFFFF; }
.fe-secao--pedido .fe-sobretitulo { color: var(--tomate-luz); }
.fe-secao--pedido .fe-sobretitulo::before { box-shadow: 0 0 0 2px var(--chumbo), 0 0 0 4px var(--chumbo-3); }
.fe-pedido {
  display: grid; grid-template-columns: minmax(0, .74fr) minmax(0, 1.26fr); gap: 44px;
  align-items: start;
}
.fe-pedido__lado a { color: #9FE3CF; }
.fe-pedido__lembretes { display: grid; gap: 8px; margin: 18px 0 0; padding-left: 1.15em; color: #CDD6D4; }
.fe-formulario {
  position: relative; overflow: hidden; padding-bottom: 24px;
  border: 3px solid var(--rejunte-forte); border-radius: var(--raio-grande);
  background: var(--azulejo); color: var(--texto);
}
.fe-formulario > * { margin-left: 22px; margin-right: 22px; }
.fe-formulario > .fe-formulario__faixa {
  display: flex; align-items: center; gap: 10px; margin: 0 0 20px; padding: 16px 22px;
  background: var(--tomate); color: #FFFFFF; font: 800 1.22rem/1 var(--fonte-titulo);
}
.fe-formulario__icone { width: 26px; height: 26px; color: #FFFFFF; }
.fe-formulario a { color: var(--menta-funda); }
.fe-isca { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.fe-alerta {
  margin-bottom: 18px; padding: 12px 14px; border-left: 6px solid var(--tomate);
  border-radius: var(--raio-azulejo); background: var(--tomate-claro); color: #6E1E0C;
  font-weight: 600;
}
.fe-grupo { min-width: 0; margin-top: 0; margin-bottom: 18px; padding: 0; border: 0; }
.fe-rotulo { display: block; margin-bottom: 6px; color: var(--chumbo); font-size: .95rem; font-weight: 700; }
legend.fe-rotulo { padding: 0; margin-bottom: 9px; }
.fe-opcional { color: var(--apoio); font-weight: 400; }
.fe-opcoes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.fe-opcao { position: relative; display: block; }
.fe-opcao input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.fe-opcao__caixa {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px;
  min-height: 86px; height: 100%; padding: 12px 6px; border: 2px solid var(--rejunte-forte);
  border-radius: var(--raio-azulejo); background: var(--loica); font-size: .9rem; font-weight: 600;
  line-height: 1.2; text-align: center;
}
.fe-opcao__icone { width: 26px; height: 26px; color: var(--tomate); }
.fe-opcao input:checked + .fe-opcao__caixa { border-color: var(--chumbo); background: var(--chumbo); color: #FFFFFF; }
.fe-opcao input:checked + .fe-opcao__caixa .fe-opcao__icone { color: var(--tomate-luz); }
.fe-opcao input:focus-visible + .fe-opcao__caixa { outline: 3px solid var(--tomate); outline-offset: 2px; }
.fe-grupo--erro .fe-opcao__caixa { border-color: var(--tomate); }
.fe-campos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.fe-item { min-width: 0; }
.fe-item--largo { grid-column: 1 / -1; }
.fe-campo {
  width: 100%; min-height: 48px; padding: 10px 12px; border: 2px solid var(--rejunte-forte);
  border-radius: var(--raio-azulejo); background: #FFFFFF;
}
.fe-campo:focus { border-color: var(--chumbo); outline: 3px solid rgba(201, 58, 27, .35); outline-offset: 0; }
textarea.fe-campo { min-height: 112px; resize: vertical; }
.fe-campo[aria-invalid="true"] { border-color: var(--tomate); background: #FFF7F4; }
.fe-erro { margin: 6px 0 0; color: #A3260F; font-size: .88rem; font-weight: 600; }
.fe-aceite {
  display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 10px; align-items: start;
  margin-top: 18px; font-size: .95rem;
}
.fe-aceite input { width: 22px; height: 22px; margin: 2px 0 0; accent-color: var(--tomate); }
.fe-aceite .fe-erro { grid-column: 2; }
.fe-aceite--erro label { color: #A3260F; }
.fe-formulario__envio { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.fe-formulario__envio .fe-botao { flex: 1 1 220px; }

/* === endereço e mapa === */
.fe-onde {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 34px;
  align-items: stretch;
}
.fe-onde__endereco {
  margin-bottom: 16px; padding: 18px; border: 2px solid var(--rejunte);
  border-radius: var(--raio-azulejo); background: var(--azulejo); font-style: normal;
  line-height: 1.7; overflow-wrap: anywhere;
}
.fe-onde__contatos { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.fe-onde__contatos a {
  display: inline-flex; align-items: center; gap: 10px; min-height: 44px; color: var(--chumbo);
  font-weight: 700;
}
.fe-onde__contatos .fe-icone { width: 22px; height: 22px; color: var(--tomate); }
.fe-onde__horario { margin: 14px 0 0; }
.fe-mapa {
  min-height: 340px; overflow: hidden; border: 3px solid var(--rejunte-forte);
  border-radius: var(--raio-grande); background-color: #EEF2F1;
  background-image:
    linear-gradient(#FFFFFF 3px, transparent 3px),
    linear-gradient(90deg, #FFFFFF 3px, transparent 3px);
  background-size: 48px 48px;
}
.fe-mapa__capa {
  display: grid; justify-items: center; align-content: center; gap: 12px; height: 100%;
  min-height: 340px; padding: 24px; text-align: center;
}
.fe-mapa__pino { width: 56px; height: 56px; color: var(--tomate); }
.fe-mapa__nota { max-width: 22em; margin: 0; padding: 4px 10px; border-radius: var(--raio-azulejo); background: var(--azulejo); color: var(--apoio); font-size: .9rem; }
.fe-mapa iframe { display: block; width: 100%; height: 100%; min-height: 340px; border: 0; }
.fe-sem-js .fe-mapa__botao,
.fe-sem-js .fe-mapa__nota { display: none; }

/* === dúvidas === */
.fe-duvidas {
  display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: 34px;
  align-items: start;
}
.fe-duvida {
  margin-bottom: 10px; border: 2px solid var(--rejunte); border-radius: var(--raio-azulejo);
  background: var(--azulejo);
}
.fe-duvida summary {
  position: relative; min-height: 44px; padding: 16px 54px 16px 18px; color: var(--chumbo);
  font-weight: 700; list-style: none; cursor: pointer;
}
.fe-duvida summary::-webkit-details-marker { display: none; }
.fe-duvida summary::after {
  content: ""; position: absolute; top: 50%; right: 22px; width: 10px; height: 10px;
  margin-top: -8px; border-right: 3px solid var(--tomate); border-bottom: 3px solid var(--tomate);
  transform: rotate(45deg); transition: transform .2s ease;
}
.fe-duvida[open] { border-color: var(--rejunte-forte); }
.fe-duvida[open] summary::after { margin-top: -3px; transform: rotate(-135deg); }
.fe-duvida p { margin: 0; padding: 0 18px 16px; color: var(--apoio); }

/* === chamada final === */
.fe-chamada { padding: 52px 0; background: var(--tomate); color: #FFFFFF; }
.fe-chamada__grade { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; }
.fe-chamada__titulo { color: #FFFFFF; font-size: clamp(1.6rem, 3vw, 2.35rem); }
.fe-chamada p { margin: 0; color: #FFF3EE; }
.fe-chamada .fe-botao--zap { background: #FFFFFF; color: var(--zap-funda); }
.fe-chamada .fe-botao--zap:hover { background: #EAF6EF; }
.fe-chamada .fe-botao--claro { background: var(--chumbo); color: #FFFFFF; }
.fe-chamada .fe-botao--claro:hover { background: var(--chumbo-3); color: #FFFFFF; }

/* === páginas de serviço === */
.fe-parede--servico { padding: 40px 0 74px; }
.fe-trilha { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; color: var(--apoio); font-size: .9rem; }
.fe-trilha a { color: var(--apoio); }
.fe-sinais {
  padding: 24px; border: 3px solid var(--rejunte); border-radius: var(--raio-grande);
  background: var(--azulejo); box-shadow: var(--sombra-cartao);
}
.fe-sinais__azulejo {
  display: grid; place-items: center; width: 64px; height: 64px; margin-bottom: 14px;
  border-radius: var(--raio-azulejo); background: var(--tomate);
}
.fe-sinais__icone { width: 36px; height: 36px; color: #FFFFFF; }
.fe-sinais__titulo { font-size: 1.38rem; }
.fe-sinais__lista { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.fe-sinais__lista li { position: relative; padding-left: 30px; }
.fe-sinais__lista li::before {
  content: ""; position: absolute; top: .3em; left: 0; width: 17px; height: 17px;
  border: 2px solid var(--tomate); border-radius: 3px; background: var(--tomate-claro);
}
.fe-dupla { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.fe-dupla__bloco { padding: 28px; border: 2px solid var(--rejunte); border-radius: var(--raio-azulejo); background: var(--azulejo); }
.fe-dupla__bloco--menta { border-color: var(--menta-borda); background: var(--menta); }
.fe-dupla__bloco .fe-secao__titulo { font-size: clamp(1.5rem, 2.6vw, 1.95rem); }
.fe-lista-azulejo { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.fe-lista-azulejo li { position: relative; padding-left: 28px; }
.fe-lista-azulejo li::before {
  content: ""; position: absolute; top: .42em; left: 2px; width: 12px; height: 12px;
  border-radius: 2px; background: var(--chumbo);
  box-shadow: 0 0 0 2px var(--azulejo), 0 0 0 4px var(--rejunte-forte);
}
.fe-lista-numerada { display: grid; gap: 10px; margin: 0; padding-left: 1.3em; }
.fe-lista-numerada li::marker { color: var(--menta-funda); font-weight: 800; }
.fe-outros {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 224px), 1fr)); gap: 12px;
  margin: 0; padding: 0; list-style: none;
}
.fe-outros--centro { max-width: 760px; margin: 26px auto 0; text-align: left; }
.fe-outro {
  display: flex; align-items: center; gap: 12px; min-height: 64px; padding: 14px 16px;
  border: 2px solid var(--rejunte); border-radius: var(--raio-azulejo); background: var(--azulejo);
  color: var(--chumbo); font-weight: 700; text-decoration: none;
}
.fe-outro:hover { border-color: var(--tomate); }
.fe-outro__icone { width: 28px; height: 28px; flex: none; color: var(--tomate); }

/* === confirmação e erro === */
.fe-parede--recado { padding: 64px 0 90px; text-align: center; }
.fe-recado { max-width: 760px; }
.fe-recado h1 { font-size: clamp(2.2rem, 5vw, 3.4rem); }
.fe-recado .fe-parede__apoio { margin-left: auto; margin-right: auto; }
.fe-recado__selo {
  display: inline-grid; place-items: center; width: 86px; height: 86px; margin-bottom: 20px;
  border-radius: 50%; background: var(--zap);
  box-shadow: 0 0 0 6px var(--azulejo), 0 0 0 9px var(--rejunte-forte);
}
.fe-recado__selo--erro { background: var(--chumbo); }
.fe-recado__icone { width: 44px; height: 44px; color: #FFFFFF; }
.fe-recado__resumo {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 20px; margin: 26px 0;
  padding: 18px 20px; border: 2px solid var(--rejunte); border-radius: var(--raio-azulejo);
  background: var(--azulejo); text-align: left;
}
.fe-recado__resumo dt { color: var(--apoio); font-size: .76rem; letter-spacing: .1em; text-transform: uppercase; }
.fe-recado__resumo dd { margin: 2px 0 0; font-weight: 700; overflow-wrap: anywhere; }
.fe-recado__volta { margin: 22px 0 0; }

/* === textos legais === */
.fe-documento { padding: 56px 0 76px; background: var(--azulejo); }
.fe-documento__miolo { max-width: 780px; }
.fe-documento h1 { font-size: clamp(2.05rem, 4.2vw, 2.85rem); }
.fe-documento h2 { margin-top: 1.9em; font-size: 1.38rem; }
.fe-documento__data { color: var(--apoio); font-size: .92rem; }
.fe-documento li { margin-bottom: .55em; }

/* === rodapé === */
.fe-rodape { padding: 52px 0 0; background: var(--chumbo); color: #D3DAD9; font-size: .95rem; }
.fe-rodape a { color: #FFFFFF; }
.fe-rodape__grade {
  display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, .9fr); gap: 34px;
}
.fe-rodape__marca { margin-bottom: 14px; color: #FFFFFF; font: 800 1.45rem/1 var(--fonte-titulo); }
.fe-rodape__dados { display: grid; gap: 8px; margin: 0; }
.fe-rodape__dados div { display: grid; grid-template-columns: 118px minmax(0, 1fr); gap: 10px; }
.fe-rodape__dados dt { color: #9AA6A4; }
.fe-rodape__dados dd { margin: 0; color: #FFFFFF; overflow-wrap: anywhere; }
.fe-rodape__titulo { margin-bottom: 8px; color: #FFFFFF; font-size: .8rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.fe-rodape__links ul { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
.fe-rodape__links a { display: inline-block; min-height: 36px; padding: 7px 0; }
.fe-rodape__pe { margin-top: 34px; padding: 18px 0 26px; border-top: 1px solid var(--chumbo-3); color: #AEB9B7; font-size: .86rem; }
.fe-rodape__pe p { margin: 0; }

/* === barra do celular === */
.fe-barra { display: none; }
.fe-barra a {
  display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 50px;
  border-radius: 6px; color: #FFFFFF; font-weight: 700; text-decoration: none;
}
.fe-barra a:hover { color: #FFFFFF; }
.fe-barra .fe-icone { width: 22px; height: 22px; }
.fe-barra__zap { background: var(--zap); }
.fe-barra__fone { background: var(--chumbo); }

/* === aviso de cookies === */
.fe-cookies {
  position: fixed; left: 50%; bottom: 18px; z-index: 50; width: min(100% - 32px, 840px);
  display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 24px; align-items: center;
  padding: 16px 20px; border: 3px solid var(--chumbo); border-radius: var(--raio-grande);
  background: var(--azulejo); color: var(--texto); box-shadow: 0 26px 50px -24px rgba(0, 0, 0, .55);
  font-size: .95rem; transform: translateX(-50%);
}
.fe-cookies p { margin: 0; }
.fe-cookies__titulo { margin-bottom: 6px; color: var(--chumbo); font: 800 1.15rem/1.1 var(--fonte-titulo); }
.fe-cookies__botoes { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; grid-column: 2; grid-row: 1 / span 2; min-width: 250px; }
.fe-cookies__botoes button {
  min-height: 46px; border: 2px solid var(--chumbo); border-radius: 6px; font-weight: 700;
  cursor: pointer;
}
.fe-cookies__sim { background: var(--chumbo); color: #FFFFFF; }
.fe-cookies__nao { background: var(--azulejo); color: var(--chumbo); }

/* === telas menores === */
@media (max-width: 1060px) {
  .fe-ficha__dados { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 990px) {
  .fe-parede__grade,
  .fe-caminho,
  .fe-enquanto,
  .fe-pedido,
  .fe-onde,
  .fe-duvidas { grid-template-columns: minmax(0, 1fr); }
  .fe-passos { grid-template-columns: minmax(0, 1fr); }
  .fe-rodape__grade { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fe-rodape__quem { grid-column: 1 / -1; }
  .fe-secao { padding: 60px 0; }
}
@media (max-width: 720px) {
  body { padding-bottom: 74px; }
  .fe-barra {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; display: grid;
    grid-auto-columns: minmax(0, 1fr); grid-auto-flow: column; gap: 8px;
    padding: 8px 10px calc(8px + env(safe-area-inset-bottom)); border-top: 3px solid var(--rejunte);
    background: rgba(255, 255, 255, .97); transition: transform .2s ease;
  }
  .fe-barra.fe-recolhida { transform: translateY(115%); }
  .fe-cookies { left: 12px; bottom: 84px; width: auto; right: 12px; grid-template-columns: minmax(0, 1fr); transform: none; }
  .fe-cookies__botoes { grid-column: 1; grid-row: auto; min-width: 0; margin-top: 10px; }
  .fe-dupla,
  .fe-campos,
  .fe-recado__resumo { grid-template-columns: minmax(0, 1fr); }
  .fe-parede { padding: 38px 0 66px; }
  .fe-parede--recado { padding: 44px 0 70px; }
  .fe-botoes .fe-botao { flex: 1 1 100%; }
}
@media (max-width: 580px) {
  .fe-ficha__dados,
  .fe-rodape__grade { grid-template-columns: minmax(0, 1fr); }
  .fe-rodape__dados div { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .fe-opcoes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fe-seletor { padding: 16px; }
  .fe-formulario > * { margin-left: 16px; margin-right: 16px; }
  .fe-formulario > .fe-formulario__faixa { padding: 14px 16px; }
  .fe-sinais,
  .fe-dupla__bloco { padding: 20px; }
}
@media print, (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; scroll-padding-top: 92px; }
  .fe-d-cano.fe-aceso { animation: none; }
  .fe-barra,
  .fe-botao,
  .fe-duvida summary::after { transition: none; }
}
