/* ===== Contact & Route ===== */
:root{
  --ct-ink:#0f172a; --ct-muted:#475569; --ct-bg:#fff; --ct-dark:#0e1113;
  --ct-accent:#F4B41A; --ct-border:rgba(0,0,0,.08); --ct-border-dark:rgba(255,255,255,.14);
  --ct-green:#17c964; --ct-red:#f31260;
}

.ea-contact{ padding: clamp(32px,7vw,80px) 0; }
.ea-contact--light{ background:var(--ct-bg); color:var(--ct-ink); }
.ea-contact--dark{ background:var(--ct-dark); color:#e9eef3; }
.ea-contact--beige{ background:linear-gradient(180deg, rgba(181,150,120,.10), rgba(181,150,120,.18)); }
.ea-contact__wrap{ max-width:1200px; margin:0 auto; padding:0 16px; }

.ea-contact__head{ text-align:center; margin-bottom: clamp(16px,4vw,26px); }
.ea-contact__title{ margin:0 0 8px; font-size: clamp(22px,4.6vw,38px); line-height:1.16; color: #6f5854;}
.ea-contact__intro{ max-width:760px; margin:0 auto; color: #474747 !important; }
.ea-contact--dark .ea-contact__intro{ color:#cfd6dd; }

.ea-contact__grid{ display:grid; grid-template-columns: 1.1fr 1fr; gap: clamp(14px,3vw,20px); align-items:start; }
@media (max-width: 980px){ .ea-contact__grid{ grid-template-columns: 1fr; } }

.ea-contact__card{ border:1px solid var(--ct-border); border-radius:16px; padding:14px; background:rgba(255,255,255,.76); backdrop-filter: blur(6px); }
.ea-contact--dark .ea-contact__card{ background:rgba(255,255,255,.08); border-color:var(--ct-border-dark); }

.ea-contact__sub{ margin:0 0 8px; font-size:18px; }

.ea-nap .nap-line{ margin-bottom:10px; }
.ea-nap .name{ font-weight:800; font-size:18px; }
.ea-nap .address a{ color:inherit; text-decoration:none; }
.copy-addr{ margin-left:8px; font-size:12px; padding:4px 8px; border-radius:999px; border:1px solid var(--ct-border); background:transparent; cursor:pointer; }
.ea-contact--dark .copy-addr{ border-color: var(--ct-border-dark); color:#e9eef3; }

.telmail{ display:flex; gap:10px; flex-wrap:wrap; }
.telmail a{ font-weight:800; text-decoration:none; color:inherit; }

.ea-status{ display:inline-flex; align-items:center; gap:8px; font-weight:800; padding:8px 12px; border-radius:999px; background: rgba(0,0,0,.04); border:1px solid rgba(0,0,0,.08); }
.ea-contact--dark .ea-status{ background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.16); }
.ea-status .dot{ width:10px; height:10px; border-radius:50%; background: var(--ct-red); position:relative; }
.ea-status.open .dot{ background: var(--ct-green); }
.ea-status.open .dot::after{ content:""; position:absolute; inset:-4px; border:2px solid rgba(23,201,100,.45); border-radius:50%; animation:ring 1.6s ease-out infinite; }
@keyframes ring{ 0%{ transform:scale(.6); opacity:1 } 100%{ transform:scale(1.6); opacity:0 } }

.ea-routebtns{ display:flex; gap:10px; flex-wrap:wrap; margin-top: 10px; }
.ea-btn{ display:inline-flex; align-items:center; justify-content:center; height:42px; padding:0 16px; border-radius:999px; font-weight:800; text-decoration:none; }
.ea-btn--primary{ background: var(--ct-accent); color:#151515; }
.ea-btn--ghost{ border:1.5px solid rgba(0,0,0,.16); color:inherit; }

.ea-socials{ display:flex; gap:12px; padding:0; margin:12px 0 0; list-style:none; flex-wrap:wrap; }
.ea-socials a{ text-decoration:none; font-weight:700;    color: #000000; }

.ea-hours{ margin-top: 14px; }
.ea-hours h4{ margin:0 0 6px; }
.ea-table{ width:100%; border-collapse: collapse; }
.ea-table th, .ea-table td{ padding:8px 0; border-bottom:1px solid rgba(0,0,0,.06); }
.ea-contact--dark .ea-table th, .ea-contact--dark .ea-table td{ border-color: rgba(255,255,255,.12); }
.ea-table tr.is-today th, .ea-table tr.is-today td{ font-weight:800; }

/* Map */
.ea-contact__mapwrap{ border:1px solid var(--ct-border); border-radius:16px; padding:14px; background:rgba(255,255,255,.76); backdrop-filter: blur(6px); }
.ea-contact--dark .ea-contact__mapwrap{ background:rgba(255,255,255,.08); border-color:var(--ct-border-dark); }
.ea-map{ margin-top: 6px; }
.ea-map--inline iframe{ width:100%; height:340px; border:0; border-radius: 12px; }
.ea-map__placeholder{ display:flex; justify-content:space-between; align-items:center; gap:10px; background: rgba(0,0,0,.04); border:1px dashed rgba(0,0,0,.12); border-radius:12px; padding:12px; }
.ea-contact--dark .ea-map__placeholder{ background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.14); }
.ea-map__placeholder .text{ display:flex; gap:10px; flex-direction:column; }
.ea-map__frame{ margin-top:10px; min-height: 340px; border-radius:12px; overflow:hidden; }
.ea-map__frame iframe{ width:100%; height:340px; border:0; }

/* FAQ */
.ea-faq{ margin-top: 14px; }
.ea-faq h4{ margin: 0 0 6px; }
.ea-faq ul{ list-style:none; padding:0; margin:0; display:grid; gap:8px; }
.ea-faq li strong{ display:block; }
.ea-faq li p{ margin:4px 0 0;     color: #474747 !important; }
.ea-contact--dark .ea-faq li p{ color:#cfd6dd; }
