/* Conversion V4 / P2 – mobile Kontaktleiste (WhatsApp · Anrufen · Buchen).
   Die vorhandene .mobile-booking-cta bleibt als "Buchen"-Segment erhalten; conversion-v2.js steuert
   weiterhin deren data-visible. Die Leiste uebernimmt diese Sichtbarkeit per :has(). Keine zweite Leiste. */
.mobile-contact-bar { display: none; }

@media (max-width: 759px) {
  .mobile-contact-bar {
    position: fixed; z-index: 80;
    right: max(12px, calc(env(safe-area-inset-right) + 8px));
    bottom: max(12px, calc(env(safe-area-inset-bottom) + 8px));
    left: max(12px, calc(env(safe-area-inset-left) + 8px));
    display: grid; grid-template-columns: 1fr 1fr 1.35fr;
    min-height: 52px; overflow: hidden;
    border: 1px solid rgba(255, 250, 242, .28); border-radius: 999px;
    background: var(--v21-espresso, #3a271f);
    box-shadow: 0 12px 30px rgba(60, 34, 24, .3);
    opacity: 0; pointer-events: none;
    transform: translateY(calc(100% + 24px + env(safe-area-inset-bottom)));
    transition: opacity .2s ease, transform .2s ease;
  }
  .mobile-contact-bar:has(.mobile-booking-cta[data-visible="true"]) { opacity: 1; pointer-events: auto; transform: translateY(0); }

  .mobile-contact-bar > a {
    display: flex; align-items: center; justify-content: center; gap: .4rem;
    min-width: 0; min-height: 52px; padding: .55rem .5rem;
    color: var(--v21-ivory, #fffaf2); font-weight: 800; font-size: .95rem; line-height: 1.15;
    text-align: center; text-decoration: none; white-space: nowrap;
  }
  .mobile-contact-bar > a + a { border-left: 1px solid rgba(255, 250, 242, .22); }
  .mobile-contact-bar > a:focus-visible { outline: 3px solid var(--v21-gold, #d8b36a); outline-offset: -3px; }
  .mobile-contact-bar .mcb-wa { background: #1f6b45; }
  .mobile-contact-bar .mcb-tel { background: var(--v21-espresso, #3a271f); }
  /* Vorhandenes Buchen-Segment: Position und Sichtbarkeit uebernimmt die Leiste. */
  .mobile-contact-bar > .mobile-booking-cta {
    position: static !important; inset: auto !important; display: flex !important;
    min-height: 52px; padding: .55rem .6rem; border: 0; border-radius: 0; box-shadow: none;
    background: linear-gradient(135deg, var(--v21-terracotta, #8f4936), var(--v21-copper, #a85f3f));
    opacity: 1 !important; transform: none !important; transition: none;
  }
  .mcb-icon { width: 1.05em; height: 1.05em; flex: none; }

  /* Dort, wo die bisherige Leiste ausgeblendet wird, entfaellt die ganze Leiste. */
  body.v2-consent-open .mobile-contact-bar,
  body:has(.booking-v4) .mobile-contact-bar,
  body:has(.cmp26-page) .mobile-contact-bar,
  body:has(#wolfsteiner-contact-form) .mobile-contact-bar,
  body:has(.bq:focus-within) .mobile-contact-bar { display: none !important; }
}

@media (max-width: 340px) {
  .mobile-contact-bar > a { font-size: .85rem; gap: .25rem; }
  .mcb-icon { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .mobile-contact-bar { transition: none; }
}

/* Chalet-Seiten: weiterer Kontaktweg unter den Hero-Buttons */
.v2-contact-alt { margin: .35rem 0 0; font-size: .92rem; }
.v2-contact-alt a { font-weight: 700; }

/* Kontaktseite: Datenschutzhinweis ersetzt die Pflicht-Checkbox – Text ueber volle Breite statt Checkbox-Raster. */
#wolfsteiner-contact-form .privacy-note { display: block; color: #514941; font-size: .95rem; line-height: 1.5; }
