/* ════════════════════════════════════════
   HAUS MONIKA PRO – Zusätzliches CSS v3
════════════════════════════════════════ */

/* ── FORMULAR FEEDBACK ── */
.hm-form-msg {
  padding: 14px 18px;
  border-radius: 8px;
  font-size: .88rem;
  font-family: 'Inter', sans-serif;
  margin-bottom: 16px;
  font-weight: 500;
}
.hm-form-msg--ok  { background: #d1fae5; border: 1px solid #6ee7b7; color: #065f46; }
.hm-form-msg--err { background: #fee2e2; border: 1px solid #fca5a5; color: #991b1b; }

/* ── FORMULAR FEHLER-FELDER ── */
.hm-field-error {
  border-color: #ef4444 !important;
  background: #fff5f5 !important;
  box-shadow: 0 0 0 3px rgba(239,68,68,.1) !important;
}

/* ── CAPTCHA ── */
#hmCaptchaWrap .hm-captcha-question {
  font-weight: 700;
  color: var(--c-navy);
  font-family: 'Inter', sans-serif;
}
#hmCaptchaAnswer {
  transition: border-color .2s, box-shadow .2s;
}
#hmCaptchaAnswer:focus {
  border-color: var(--c-pine2) !important;
  box-shadow: 0 0 0 3px rgba(45,106,79,.12) !important;
}

/* ── SCHNELLLINKS RESPONSIVE ── */
@media (max-width: 768px) {
  .hm-homelinks-grid {
    grid-template-columns: 1fr 1fr !important;
  }
  .hm-homelinks-grid a:nth-child(2) { border-right: none !important; }
  .hm-homelinks-grid a:nth-child(n+3) { border-top: 1px solid var(--c-border); }
}
@media (max-width: 480px) {
  .hm-homelinks-grid { grid-template-columns: 1fr !important; }
  .hm-homelinks-grid a { border-right: none !important; border-bottom: 1px solid var(--c-border) !important; }
}

/* ── BEWERTUNGS-STERNE ── */
.hm-review-stars { color: #f59e0b; font-size: .95rem; letter-spacing: 2px; }

/* ── DTV BILD-OVERRIDE ── */
.hm-dtv-left img {
  width: 88px;
  height: 88px;
  object-fit: contain;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.2);
  background: rgba(255,255,255,.08);
  flex-shrink: 0;
}

/* ── ZUSÄTZLICHE PRICE-TABLE ── */
.hm-price-detail-table td,
.hm-price-detail-table th { transition: background .2s; }
.hm-price-detail-table tr:hover td { background: rgba(255,255,255,.04) !important; }

/* ── DATENSCHUTZ / IMPRESSUM ── */
.entry-content h2 {
  font-size: 1.5rem;
  color: var(--c-navy);
  margin: 36px 0 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--c-border);
}
.entry-content h3 {
  font-size: 1.15rem;
  color: var(--c-pine);
  margin: 22px 0 8px;
}
.entry-content p { margin-bottom: .9rem; }
.entry-content a { color: var(--c-pine); text-decoration: underline; }

/* ── ANFAHRT KARTE ── */
.hm-map-embed {
  position: relative;
}
.hm-map-embed::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: 12px;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.08);
}

/* ── BUCHUNGSLEISTE FOCUS ── */
.hm-bs-group input:focus,
.hm-bs-group select:focus {
  outline: none;
  border-color: var(--c-pine2) !important;
  background: #fff !important;
}

/* ── RESPONSIVE FIXES ── */
@media (max-width: 768px) {
  .hm-contact-wrap { border-radius: 0; }
  .hm-booking-strip {
    position: static !important;
    transform: none !important;
  }
  .hm-dtv-inner { gap: 20px; }
  .hm-dtv-right { justify-content: flex-start; gap: 20px; }
}

/* ══ V4 FIXES ══════════════════════════════ */

/* Footer: keinen automatischen Menü-Titel anzeigen */
.hm-footer-col > ul:first-child,
.hm-footer-col > nav > ul { margin-top: 0; }
.hm-footer-col .menu { list-style:none;padding:0;display:flex;flex-direction:column;gap:8px; }
.hm-footer-col .menu li a { font-size:.83rem;color:rgba(250,248,244,.45);transition:color .2s;font-family:'Inter',sans-serif; }
.hm-footer-col .menu li a:hover { color:#fff; }

/* Galerie: Platzhalter-Höhe */
.hm-g-ph { width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3rem; }
.hm-gallery-grid .hm-g-item { min-height:200px; }

/* Service-Karte: Bild aus Customizer */
.hm-service-thumb { position:relative;overflow:hidden; }
.hm-service-thumb img { position:absolute;inset:0;width:100%;height:100%;object-fit:cover; }

/* Hero-Statistiken: editierbar */
.hm-dtv-stat .n { font-family:'Playfair Display',serif;font-size:2rem;font-weight:700;color:var(--c-gold);line-height:1; }
.hm-dtv-stat .l { font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-top:3px; }

/* Schnelllinks Responsive */
@media(max-width:640px){
  .hm-container > div[style*="repeat(4,1fr)"] {
    grid-template-columns:1fr 1fr !important;
  }
  .hm-container > div[style*="repeat(4,1fr)"] a:nth-child(2) { border-right:none !important; }
  .hm-container > div[style*="repeat(4,1fr)"] a:nth-child(n+3) { border-top:1px solid var(--c-border) !important; }
}
@media(max-width:400px){
  .hm-container > div[style*="repeat(4,1fr)"] { grid-template-columns:1fr !important; }
  .hm-container > div[style*="repeat(4,1fr)"] a { border-right:none !important; border-bottom:1px solid var(--c-border) !important; }
}

/* DTV Bild aus Customizer */
.hm-dtv-left > img {
  width:88px;height:88px;object-fit:contain;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.2);
  background:rgba(255,255,255,.08);
  flex-shrink:0;
}

/* Anfahrt: Karte aus Customizer Koordinaten */
.hm-map-embed iframe { width:100%;height:100%;border:none;display:block; }

/* ══ VOLLBREITE FIX ══════════════════════════════════════ */
/* Verhindert den grauen Rahmen im WordPress-Frontend       */
html, body {
  width: 100% !important;
  max-width: 100% !important;
  background: var(--c-cream) !important;
}

/* WordPress fügt manchmal .site oder #page als Wrapper ein */
.site, #page, #content, .site-content {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Hero: immer volle Viewport-Breite */
.hm-hero,
.hm-usp-strip,
.hm-dtv-band,
.hm-section.dark,
.hm-section.pine,
.hm-section.alt,
.hm-footer {
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Sicherstellen dass der Body-Hintergrund stimmt */
body.is-front {
  background: var(--c-cream) !important;
}

/* ══ HERO: Mindesthöhe bei fehlendem Bild ════════════════ */
.hm-hero { min-height: 560px; }

/* ══ SLIDE-CONTENT: Abstand von oben (Admin-Bar) ════════ */
.admin-bar .hm-header { top: 32px !important; }
@media(max-width:782px) {
  .admin-bar .hm-header { top: 46px !important; }
}
