/* ==========================================================================
   visit.css · Visite: horários, contato e mapa
   ========================================================================== */
/* visite */
.vis{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;align-items:stretch}
.vis h2{font-size:clamp(40px,5.2vw,78px);margin-top:20px;letter-spacing:-.05em}
.vis .lead{margin-top:20px;font-size:17.5px;color:rgba(244,228,212,.74);max-width:44ch}
.vis-t{display:flex;flex-direction:column;gap:22px}
.hrs{border:1px solid var(--dline);border-radius:var(--r);overflow:hidden}
.hrs .now{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--dline);font:500 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.hrs .now i{width:8px;height:8px;border-radius:50%;background:#C2603F}
.hrs .now.on i{background:#5FBF7F;animation:ping 2s infinite}
.hrs dl{margin:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.hrs dl div{padding:14px 6px;text-align:center;border-right:1px solid var(--dline)}
.hrs dl div:last-child{border-right:0}
.hrs dt{font:600 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:rgba(244,228,212,.62)}
.hrs dd{margin:8px 0 0;font:500 11px/1.3 var(--mono);color:var(--cream)}
.hrs dd.off{color:rgba(244,228,212,.35)}
.hrs div.td{background:rgba(217,162,115,.12)}
.hrs div.td dt{color:var(--crema)}
.ct{display:grid;gap:10px}
.ct a,.ct div{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 18px;border-radius:14px;border:1px solid var(--dline);text-decoration:none;transition:border-color .2s,background .2s}
.ct a:hover{border-color:var(--dline2);background:rgba(244,228,212,.04)}
.ct small{font:500 10px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:rgba(244,228,212,.55)}
.ct b{font:500 15px/1.3 var(--mono);text-align:right}
.map{position:relative;border:1px solid var(--dline);border-radius:var(--r);overflow:hidden;min-height:440px;background:var(--dark2)}
.map svg{position:absolute;inset:0;width:100%;height:100%}
.map .pin{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:10px}
.map .pin svg{position:static;width:64px;height:66px}
.map .pin b{padding:9px 12px;border-radius:999px;background:var(--cream);color:var(--ink);font:600 12px/1 var(--mono);letter-spacing:.04em;white-space:nowrap}
.map .cd{position:absolute;left:18px;bottom:16px;right:18px;display:flex;justify-content:space-between;gap:10px;font:500 10.5px/1.4 var(--mono);letter-spacing:.08em;color:rgba(244,228,212,.62)}
.map .ring{transform-origin:50% 50%;transform-box:fill-box;animation:ring 3.2s ease-out infinite}
@keyframes ring{0%{opacity:.7;transform:scale(.3)}100%{opacity:0;transform:scale(1.4)}}
.vis .ctas{margin-top:0}
