/* =====================================================================
   Fachmarkt Altshausen – Ergänzungen für WordPress
   custom.css bleibt unverändert aus dem HTML-Entwurf, alles Neue steht hier.
   ===================================================================== */

/* Telefon in der Topbar ist im Theme ein Link */
.fa-topbar-tel{ color:#C8D4C0; text-decoration:none; }
.fa-topbar-tel:hover{ color:#fff; }
.fa-topbar-tel, .fm-topbar .fm-open-pill{ white-space:nowrap; }
/* Unter 576px brachen Nummer und Status-Pille im Entwurf zweizeilig um. Anrufen
   bietet dort die mobile Leiste unten – die Nummer oben entfällt. */
@media (max-width: 575.98px){ .fa-topbar-tel{ display:none!important; } }

/* Footer-Listen (im Entwurf per style="font-size:14px") */
.fa-footer-liste{ font-size:14px; }

/* Sticky-Navbar unter der WordPress-Admin-Leiste */
@media (min-width: 783px){ .admin-bar .fm-navbar.sticky-top{ top:32px; } }
@media (min-width: 601px) and (max-width: 782.98px){ .admin-bar .fm-navbar.sticky-top{ top:46px; } }

/* Kontaktdaten in »Anfahrt« sind Links */
.fm-contact span a{ color:inherit; text-decoration:none; }
.fm-contact span a:hover{ color:var(--fm-gruen-tief); }

/* Google-Karte erst nach Klick (Datenschutz) */
.fm-map iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.fa-map-consent{ position:absolute; inset:0; display:grid; place-items:center; padding:24px;
  background:repeating-linear-gradient(45deg,#EFEADE,#EFEADE 10px,#E8E2D2 10px,#E8E2D2 20px); }
.fa-map-consent-box{ background:#fff; border:1px solid var(--fm-linie); border-radius:14px; padding:24px 28px;
  max-width:360px; text-align:center; display:flex; flex-direction:column; align-items:center; gap:6px;
  box-shadow:0 18px 30px -18px rgba(31,58,43,.25); }
/* .fm-map svg aus custom.css (Kartengrafik des Entwurfs) würde das Symbol auf volle Breite ziehen */
.fa-map-consent-box svg{ width:28px; height:28px; color:var(--fm-sonne); margin-bottom:4px; }
.fa-map-consent-box strong{ color:var(--fm-gruen-tief); font-size:16px; }
.fa-map-consent-box span{ color:var(--fm-text-mute); font-size:14px; }
.fa-map-consent-box .btn{ margin-top:10px; padding:.5rem 1rem; }
.fa-map-consent-box small{ color:var(--fm-text-mute); font-size:11.5px; margin-top:4px; }
.fm-map.is-geladen .fa-map-consent{ display:none; }

/* Team-Foto statt Platzhalter */
.mt-avatar.fa-avatar-foto{ padding:0; }
.mt-avatar.fa-avatar-foto img{ width:100%; height:100%; object-fit:cover; display:block; }

/* Textseiten (Impressum, Datenschutz, AGB) */
.fa-text{ max-width:820px; }
.fa-text h1{ font-size:clamp(36px,4.4vw,56px); }
.fa-text h2{ font-size:clamp(24px,2.6vw,32px); margin-top:2rem; }
.fa-text h3{ font-size:21px; margin-top:1.5rem; }
.fa-text p, .fa-text li{ font-size:16.5px; line-height:1.7; }
.fa-text a{ color:var(--fm-gruen-tief); text-decoration-color:var(--fm-gruen); text-underline-offset:3px; }

/* Aktiver Hauptmenüpunkt */
.fm-navbar .nav-link.active{ color:var(--fm-gruen-tief); }
.fm-navbar .nav-link.active::after{ transform:scaleX(1); }

/* Detail-Fenster der Aktions-Karten (Layout »aktionen«) */
.fa-modal .modal-content{ border:0; border-radius:18px; overflow:hidden; background:#fff;
  box-shadow:0 28px 50px -24px rgba(31,58,43,.35); }
/* Das Fenster wächst mit dem Inhalt, gescrollt wird die ganze Ebene (kein modal-dialog-scrollable). */
.fa-modal-bild{ position:relative; aspect-ratio:16/9; width:100%; flex-shrink:0; overflow:hidden;
  background:repeating-linear-gradient(45deg,#E8E2D2,#E8E2D2 10px,#DCD4BF 10px,#DCD4BF 20px); }
.fa-modal-bild img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.fa-modal-bild::after{ content:''; position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(31,58,43,0) 60%,rgba(31,58,43,.35) 100%); }
.fa-modal-close{ position:absolute; top:14px; right:14px; z-index:3; width:40px; height:40px; padding:0;
  border-radius:50%; background-color:#fff; background-size:12px; opacity:1;
  box-shadow:0 6px 16px -6px rgba(31,58,43,.4); }
.fa-modal-close:hover{ background-color:var(--fm-gruen-soft); }
.fa-modal .modal-body{ padding:1.75rem 2rem .5rem; }
.fa-modal-kicker{ display:block; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--fm-gruen);
  font-weight:600; margin-bottom:.5rem; }
.fa-modal-titel{ font-size:clamp(24px,2.6vw,30px); margin-bottom:.75rem; }
.fa-modal-lead{ font-size:16.5px; color:var(--fm-text-mute); line-height:1.6; }
.fa-modal-text{ font-size:15.5px; line-height:1.7; }
.fa-modal-text > :last-child{ margin-bottom:0; }
.fa-modal-text h2, .fa-modal-text h3, .fa-modal-text h4{ font-size:20px; margin:1.25rem 0 .5rem; }
.fa-modal-text a{ color:var(--fm-gruen-tief); text-decoration-color:var(--fm-gruen); text-underline-offset:3px; }
/* Listen wie im Sortiment (.sh-list) */
.fa-modal-text ul{ list-style:none; padding:0; margin:0 0 1rem; display:grid; gap:2px; }
.fa-modal-text ul li{ display:flex; gap:8px; padding:4px 0; }
.fa-modal-text ul li::before{ content:'›'; color:var(--fm-linie-stark); flex:0 0 auto; }
.fa-modal .modal-footer{ border-top:1px solid var(--fm-linie); padding:1rem 2rem 1.25rem; gap:.5rem; margin-top:1rem; }
.fa-modal .modal-footer > *{ margin:0; }
@media (max-width: 575.98px){
  .fa-modal .modal-body{ padding:1.25rem 1.25rem .25rem; }
  .fa-modal .modal-footer{ padding:1rem 1.25rem; }
  .fa-modal .modal-footer > *{ flex:1 1 auto; justify-content:center; }
}
