/* Phase 5: non-destructive enhancement layer. Loaded after the migrated stylesheet. */
:root {
  --alfatih-navy: #0c2f4f;
  --alfatih-blue: #0e6eae;
  --alfatih-sky: #eaf6fc;
  --alfatih-ink: #13263a;
  --alfatih-muted: #5d6d7e;
  --alfatih-line: #dbe7ef;
  --alfatih-surface: #ffffff;
  --alfatih-radius: 18px;
  --alfatih-shadow: 0 12px 32px rgba(12, 47, 79, .10);
}

html { scroll-behavior: smooth; }
body { color: var(--alfatih-ink); text-rendering: optimizeLegibility; }
body.phase57 { padding-bottom: 72px; }

.navbar {
  position: sticky;
  top: 0;
  z-index: 50;
  backdrop-filter: blur(14px);
  box-shadow: 0 6px 24px rgba(12, 47, 79, .07);
}
.nav-inner { min-height: 76px; }
.nav-links a, .nav-dropdown-toggle, .btn { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.nav-cta .phase57-booking-link { box-shadow: 0 8px 20px rgba(14,110,174,.18); }

.hero { overflow: hidden; }
.hero h1 { max-width: 18ch; text-wrap: balance; }
.hero .lead { max-width: 68ch; }
.hero-card, .card, .cta-band, .media-frame { border-radius: var(--alfatih-radius); }
.card { transition: transform .2s ease, box-shadow .2s ease; }
@media (hover:hover) {
  .card:hover { transform: translateY(-3px); box-shadow: var(--alfatih-shadow); }
}

.section-header h2 { text-wrap: balance; }
.section-header p, .card p, .footer p { line-height: 1.68; }

.phase57-action-dock {
  position: fixed;
  left: 50%;
  bottom: 14px;
  transform: translateX(-50%);
  z-index: 90;
  width: min(760px, calc(100% - 24px));
  padding: 8px;
  border: 1px solid rgba(255,255,255,.7);
  border-radius: 18px;
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(18px);
  box-shadow: 0 14px 40px rgba(12,47,79,.2);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}
.phase57-action-dock a {
  min-height: 48px;
  padding: 10px 12px;
  border-radius: 12px;
  text-decoration: none;
  font-weight: 750;
  text-align: center;
  display:flex;
  align-items:center;
  justify-content:center;
}
.phase57-action-dock .book { background: var(--alfatih-blue); color:#fff; }
.phase57-action-dock .corporate { background: var(--alfatih-navy); color:#fff; }
.phase57-action-dock .whatsapp { background:#f0f7f2; color:#155d36; }
.phase57-action-dock .locations { background:#f5f7fa; color:var(--alfatih-navy); }
.phase57 .floating-whatsapp, .phase57 .mobile-bottom { display:none !important; }

.phase57-inline-cta {
  margin: 28px auto;
  padding: 20px;
  border: 1px solid var(--alfatih-line);
  border-radius: var(--alfatih-radius);
  background: linear-gradient(135deg, #f8fcff, #edf7fc);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.phase57-inline-cta h2 { margin:0 0 6px; font-size:clamp(1.2rem,2vw,1.55rem); }
.phase57-inline-cta p { margin:0; color:var(--alfatih-muted); }
.phase57-inline-cta .actions { display:flex; gap:10px; flex-wrap:wrap; }

:focus-visible { outline: 3px solid #1b84c6; outline-offset: 3px; border-radius: 6px; }

@media (max-width: 820px) {
  body.phase57 { padding-bottom: 84px; }
  .nav-inner { min-height: 66px; }
  .phase57-action-dock { grid-template-columns: 1fr 1fr; bottom: 8px; }
  .phase57-action-dock a { font-size:.83rem; padding:8px; }
  .phase57-inline-cta { align-items:flex-start; flex-direction:column; }
  .phase57-inline-cta .actions { width:100%; }
  .phase57-inline-cta .actions .btn { flex:1; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}

/* Phase 7 public booking */
.booking-shell { max-width: 980px; }
.booking-card { background:var(--alfatih-surface); border:1px solid var(--alfatih-line); border-radius:22px; padding:clamp(18px,3vw,32px); box-shadow:var(--alfatih-shadow); }
.booking-card label, #corporate-lead-form label { display:flex; flex-direction:column; gap:7px; font-weight:700; color:var(--alfatih-ink); }
.booking-card input, .booking-card select, .booking-card textarea, #corporate-lead-form input, #corporate-lead-form select, #corporate-lead-form textarea { width:100%; min-height:46px; border:1px solid #cbdbe6; border-radius:10px; padding:10px 12px; background:#fff; color:var(--alfatih-ink); font:inherit; }
.booking-card textarea, #corporate-lead-form textarea { min-height:110px; resize:vertical; }
.booking-steps { display:grid; grid-template-columns:repeat(5,1fr); gap:8px; margin-bottom:24px; }
.booking-steps span { border-radius:999px; background:#edf3f7; padding:8px 10px; font-size:.8rem; text-align:center; color:#53697a; }
.booking-steps span.active { background:var(--alfatih-navy); color:white; }
.booking-slots { margin:22px 0; border:1px solid var(--alfatih-line); border-radius:16px; padding:18px; }
.booking-slot-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(110px,1fr)); gap:10px; }
.booking-slot { position:relative; }
.booking-slot input { position:absolute; opacity:0; pointer-events:none; }
.booking-slot label { display:block; text-align:center; border:1px solid #b7cedd; border-radius:10px; padding:11px; cursor:pointer; font-weight:750; background:#fff; }
.booking-slot input:checked + label { background:var(--alfatih-blue); color:#fff; border-color:var(--alfatih-blue); }
.booking-alert { min-height:24px; margin:8px 0 14px; font-weight:700; }
.booking-alert.error { color:#9c2f2f; }
.booking-alert.success { color:#17663b; }
.booking-confirmation { margin-top:24px; border:1px solid #bfe0cc; background:#f3fbf6; border-radius:18px; padding:24px; }
.booking-consent { margin:18px 0; flex-direction:row !important; align-items:flex-start; font-weight:500 !important; }
.booking-consent input { width:auto; min-height:auto; margin-top:4px; }
.muted { color:var(--alfatih-muted); }
@media (max-width:720px) { .booking-steps { grid-template-columns:1fr 1fr; } .booking-steps span:last-child { grid-column:1 / -1; } }
