/* Contato (prefixo co-): onde e quando, com o mapa; porcelana antes do rodapé escuro */
.co-secao{background:var(--porcelana); overflow:hidden}
.co-malha i:nth-child(1){left:-20%; top:-20%; width:70vmax; height:70vmax;
  background:radial-gradient(closest-side, #efe6d6, #efe6d600);
  background:radial-gradient(closest-side in oklch, oklch(.925 .023 86), oklch(.925 .023 86 / 0))}
.co-malha i:nth-child(2){right:-16%; top:-30%; width:70vmax; height:70vmax;
  background:radial-gradient(closest-side, #e3e9ec, #e3e9ec00);
  background:radial-gradient(closest-side in oklch, oklch(.905 .012 230), oklch(.925 .009 228 / 0))}
.co-malha i:nth-child(3){left:30%; bottom:-50%; width:60vmax; height:60vmax;
  background:radial-gradient(closest-side, #fbf8f1, #fbf8f100);
  background:radial-gradient(closest-side in oklch, oklch(.981 .011 90), oklch(.981 .011 90 / 0))}

.co-miolo{display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1.1fr); gap:var(--e5) clamp(2.5rem, 6vw, 6rem); align-items:stretch}
.co-apoio{margin-top:var(--e3)}

/* a ficha: três linhas com fios */
.co-ficha{margin:var(--e5) 0 0; padding:0; display:grid}
.co-ficha > div{display:grid; grid-template-columns:7.5rem minmax(0,1fr); gap:var(--e2); padding:var(--e3) 0; border-top:1px solid var(--fio)}
.co-ficha > div:last-child{border-bottom:1px solid var(--fio)}
.co-ficha dt{padding-top:.35rem; white-space:nowrap}
.co-ficha dd{margin:0}
.co-endereco{font-style:normal; font-family:var(--f-titulo); font-size:1.5rem; line-height:1.25}
.co-miudo{display:inline-block; margin-top:.3rem; font-family:var(--f-texto); font-size:1rem; font-weight:500; color:var(--tinta-2); letter-spacing:.01em}
.co-mapa-link{margin-top:var(--e2); font-size:.95rem}
.co-horario{font-family:var(--f-titulo); font-size:1.5rem; line-height:1.25}
.co-horas{display:inline-block; margin-top:.3rem; font-family:var(--f-texto); font-size:1rem; font-weight:500; color:var(--tinta-2); letter-spacing:.01em; font-variant-numeric:tabular-nums}
.co-agora{display:none; align-items:center; gap:.55rem; margin-top:.7rem; font-size:.95rem; color:var(--tinta-2)}
.co-agora.ativo{display:flex}
.co-agora::before{content:""; width:.55rem; height:.55rem; border-radius:50%; background:var(--aco); box-shadow:0 0 0 3px rgb(154 163 171 / .25)}
.co-agora.aberto::before{background:var(--mel); box-shadow:0 0 0 3px rgb(216 183 128 / .3)}
.co-acoes{display:flex; flex-direction:column; align-items:flex-start; gap:var(--e2)}
.co-links{display:flex; flex-wrap:wrap; align-items:center; gap:.3rem .8rem; font-size:.98rem; font-variant-numeric:tabular-nums}
.co-links span{color:var(--aco)}

/* a caixa do mapa com o marcador */
.co-caixa{position:relative; min-height:26rem; border-radius:var(--raio); overflow:hidden; box-shadow:0 0 0 1px var(--fio), 0 24px 40px -28px rgb(37 47 60 / .5)}
.co-mapa{position:absolute; inset:0; display:grid; place-items:center;
  background:radial-gradient(closest-side at 50% 50%, #e3e9ec, #d5e0e8 70%, #cdd8df); background:radial-gradient(closest-side at 50% 50% in oklch, var(--opala), var(--esmalte) 70%, var(--opala-funda))}
.co-mapa::before{content:""; position:absolute; inset:0; opacity:.5;
  background-image:linear-gradient(var(--fio) 1px, transparent 1px), linear-gradient(90deg, var(--fio) 1px, transparent 1px); background-size:3.5rem 3.5rem; background-position:center}
.co-mapa.carregado::before{display:none}
.co-mapa button{position:relative; margin-top:7rem; padding:.85rem 1.3rem; background:var(--luz); color:var(--tinta); border:1px solid var(--fio); border-radius:var(--raio); font:inherit; font-size:.95rem; font-weight:500; cursor:pointer; box-shadow:var(--sombra-pousada); transition:transform .5s var(--curva), background .3s}
.co-mapa button:hover{transform:translateY(-2px); background:#fff}
.co-mapa iframe{display:block; width:100%; height:100%; border:0; filter:saturate(.72) contrast(.98)}
/* o foco de luz: cobre o pino do Google (que fica 20 px acima do centro) e deixa o marcador pousado numa clareira */
.co-foco{position:absolute; left:50%; top:50%; width:7rem; height:7rem; margin:-4.8rem 0 0 -3.5rem; border-radius:50%; pointer-events:none;
  background:radial-gradient(closest-side, #f6f1e7 48%, #f6f1e700); background:radial-gradient(closest-side in oklch, oklch(.958 .014 88) 48%, oklch(.958 .014 88 / 0))}
.co-marcador{position:absolute; left:50%; top:50%; width:4.6rem; height:auto; transform:translate(-50%, -92%); pointer-events:none; filter:drop-shadow(0 10px 10px rgb(37 47 60 / .35))}
/* o gesto da seção: o pino desce e pousa no mapa quando a caixa revela */
.co-caixa.wf-rev .co-marcador{transform:translate(-50%, -92%) translateY(-28px); opacity:0; transition:transform 1.1s var(--curva) .45s, opacity .6s ease .45s}
.co-caixa.wf-rev.visto .co-marcador{transform:translate(-50%, -92%); opacity:1}
/* a vinheta: a folha do mapa sob a luz da bancada (não bloqueia o toque) */
.co-caixa::after{content:""; position:absolute; inset:0; pointer-events:none; border-radius:inherit; box-shadow:inset 0 0 0 1px rgb(37 47 60 / .08), inset 0 0 70px rgb(246 241 231 / .55)}
.co-legenda{position:absolute; left:1rem; top:1rem; margin:0; padding:.6rem .9rem .65rem; display:flex; flex-direction:column; gap:.1rem; background:var(--luz); border-radius:var(--raio); color:var(--tinta); box-shadow:var(--sombra-pousada); pointer-events:none}
.co-legenda strong{font-family:var(--f-titulo); font-weight:400; font-size:1.05rem; letter-spacing:.01em; line-height:1.2}
.co-legenda span{font-size:var(--t-pequeno); letter-spacing:.06em; color:var(--tinta-2)}

@media (max-width:860px){
  .co-miolo{grid-template-columns:1fr; gap:var(--e4)}
  .co-ficha{margin-top:var(--e4)}
  .co-ficha > div{grid-template-columns:1fr; gap:.5rem; padding:var(--e2) 0}
  .co-endereco,.co-horario{font-size:1.3rem}
  .co-caixa{min-height:23rem}
  .co-mapa button{margin-top:5.5rem}
  .co-marcador{width:3.8rem}
  .co-foco{width:6rem; height:6rem; margin:-4.1rem 0 0 -3rem}
  .co-legenda{left:.75rem; top:.75rem; padding:.5rem .75rem}
}
