/* =========================================================
   MK Marriage Bureau — Theme
   Palette: deep maroon / gold / cream / white / charcoal
   ========================================================= */
:root{
  --mkb-maroon:#6b0f2a;
  --mkb-maroon-dark:#4a0a1c;
  --mkb-gold:#c9a24b;
  --mkb-gold-light:#e7cd8b;
  --mkb-cream:#fbf6ee;
  --mkb-ivory:#fffdf8;
  --mkb-charcoal:#2b2523;
  --mkb-muted:#7a6f68;
  --mkb-border:#ecdfc9;
  --mkb-radius:14px;
  --mkb-shadow:0 10px 30px rgba(107,15,42,.08);
  --mkb-shadow-sm:0 4px 14px rgba(43,37,35,.06);
}

body{
  font-family:'Poppins',-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--mkb-charcoal);
  background:var(--mkb-cream);
}
h1,h2,h3,h4,h5,.mkb-serif{ font-family:'Playfair Display',Georgia,serif; }

a{ color:var(--mkb-maroon); text-decoration:none; }
a:hover{ color:var(--mkb-gold); }

.btn-mkb-primary{
  background:linear-gradient(135deg,var(--mkb-maroon),var(--mkb-maroon-dark));
  color:#fff; border:none; border-radius:50px; padding:.65rem 1.6rem;
  font-weight:600; letter-spacing:.02em; transition:.25s ease;
  box-shadow:0 6px 18px rgba(107,15,42,.25);
}
.btn-mkb-primary:hover{ color:#fff; transform:translateY(-2px); box-shadow:0 10px 24px rgba(107,15,42,.32); }

.btn-mkb-gold{
  background:linear-gradient(135deg,var(--mkb-gold),#b6883a);
  color:#3a2a06; border:none; border-radius:50px; padding:.65rem 1.6rem; font-weight:700;
  transition:.25s ease;
}
.btn-mkb-gold:hover{ color:#3a2a06; transform:translateY(-2px); }

.btn-mkb-outline{
  border:1.5px solid var(--mkb-maroon); color:var(--mkb-maroon); border-radius:50px;
  padding:.6rem 1.5rem; font-weight:600; background:transparent; transition:.25s ease;
}
.btn-mkb-outline:hover{ background:var(--mkb-maroon); color:#fff; }

/* ---------- Header ---------- */
.mkb-header{
  background:var(--mkb-ivory); border-bottom:1px solid var(--mkb-border);
  position:sticky; top:0; z-index:1030;
}
.mkb-logo{ height:48px; width:auto; }
.mkb-header .nav-link{ font-weight:500; color:var(--mkb-charcoal); padding:.5rem 1rem; }
.mkb-header .nav-link.active,.mkb-header .nav-link:hover{ color:var(--mkb-maroon); }
.mkb-register-btn{ background:var(--mkb-maroon); color:#fff !important; border-radius:50px; padding:.5rem 1.3rem !important; font-weight:600; }
.mkb-register-btn:hover{ background:var(--mkb-gold); color:#3a2a06 !important; }

/* ---------- Hero ---------- */
.mkb-hero{
  position:relative; min-height:560px; display:flex; align-items:center;
  background:linear-gradient(rgba(30,6,15,.72),rgba(74,10,28,.55)),url('../images/hero.jpg') center/cover no-repeat;
  color:#fff;
}
.mkb-hero h1{ font-size:2.6rem; font-weight:700; text-shadow:0 2px 12px rgba(0,0,0,.35); }
.mkb-hero p.lead{ color:#f3e6d8; }

.mkb-search-panel{
  background:#fff; border-radius:var(--mkb-radius); box-shadow:var(--mkb-shadow);
  padding:1.6rem; margin-top:-70px; position:relative; z-index:5; border-top:4px solid var(--mkb-gold);
}

/* ---------- Cards ---------- */
.mkb-card{
  background:#fff; border-radius:var(--mkb-radius); box-shadow:var(--mkb-shadow-sm);
  border:1px solid var(--mkb-border); transition:.25s ease; overflow:hidden;
}
.mkb-card:hover{ box-shadow:var(--mkb-shadow); transform:translateY(-4px); }

.mkb-profile-card .mkb-photo-wrap{ position:relative; aspect-ratio:3/4; overflow:hidden; background:#eee; }
.mkb-profile-card .mkb-photo-wrap img{
  width:100%; height:100%; object-fit:cover; user-select:none; -webkit-user-drag:none; pointer-events:none;
}
.mkb-profile-card .mkb-blur-badge{
  position:absolute; top:10px; left:10px; background:rgba(43,37,35,.75); color:#fff;
  font-size:.7rem; padding:.25rem .6rem; border-radius:20px;
}
.mkb-profile-card .mkb-body{ padding:1rem 1.1rem; }
.mkb-profile-card h6{ margin:0; font-weight:700; }
.mkb-profile-card .mkb-meta{ font-size:.85rem; color:var(--mkb-muted); }

.mkb-section{ padding:4rem 0; }
.mkb-section-title{ text-align:center; margin-bottom:2.5rem; }
.mkb-section-title h2{ font-weight:700; color:var(--mkb-maroon); }
.mkb-section-title p{ color:var(--mkb-muted); }

.mkb-why-icon{
  width:64px; height:64px; border-radius:50%; background:linear-gradient(135deg,var(--mkb-gold-light),var(--mkb-gold));
  display:flex; align-items:center; justify-content:center; font-size:1.5rem; color:var(--mkb-maroon-dark); margin:0 auto 1rem;
}

.mkb-step-num{
  width:46px; height:46px; border-radius:50%; background:var(--mkb-maroon); color:#fff;
  display:flex; align-items:center; justify-content:center; font-weight:700; margin:0 auto 1rem;
}

.mkb-cta{ background:linear-gradient(135deg,var(--mkb-maroon),var(--mkb-maroon-dark)); color:#fff; border-radius:var(--mkb-radius); }

.mkb-footer{ background:var(--mkb-charcoal); color:#d8cfc9; }
.mkb-footer a{ color:#e7cd8b; }
.mkb-footer h6{ color:#fff; font-weight:700; margin-bottom:1rem; }

/* ---------- Forms / wizard ---------- */
.mkb-wizard-steps{ display:flex; flex-wrap:wrap; gap:.4rem; margin-bottom:2rem; }
.mkb-wizard-steps .step{
  flex:1; min-width:90px; text-align:center; padding:.5rem .3rem; font-size:.75rem; border-radius:8px;
  background:#f1e6d3; color:var(--mkb-muted);
}
.mkb-wizard-steps .step.active{ background:var(--mkb-maroon); color:#fff; font-weight:600; }
.mkb-wizard-steps .step.done{ background:var(--mkb-gold-light); color:var(--mkb-maroon-dark); }

.mkb-auth-card{ background:#fff; border-radius:var(--mkb-radius); box-shadow:var(--mkb-shadow); }

.mkb-progress-ring{ font-size:.85rem; }

.mkb-locked-overlay{
  position:absolute; inset:0; background:rgba(255,255,255,.85); display:flex; align-items:center; justify-content:center;
  text-align:center; padding:1rem;
}

/* Utility */
.text-mkb-maroon{ color:var(--mkb-maroon) !important; }
.bg-mkb-cream{ background:var(--mkb-cream) !important; }
.mkb-stat-card{ background:#fff; border-radius:var(--mkb-radius); box-shadow:var(--mkb-shadow-sm); padding:1.25rem; border-left:4px solid var(--mkb-gold); }

@media (max-width:767px){
  .mkb-hero{ min-height:460px; }
  .mkb-hero h1{ font-size:1.8rem; }
  .mkb-search-panel{ margin-top:1.2rem; }
}

/* ---------- Scroll-reveal (site-wide) ---------- */
/* Applied automatically by assets/js/main.js to page-content blocks
   as they enter the viewport; register.php-style forms and cards
   fade/rise into place instead of popping in. Elements that already
   opt in by hand (e.g. home.css's hand-tuned home page reveals) are
   left alone by the auto-initialiser — see main.js. */
.mkb-reveal{
  opacity:0; transform:translateY(28px);
  transition:opacity .6s cubic-bezier(.2,.8,.2,1), transform .6s cubic-bezier(.2,.8,.2,1);
  transition-delay:var(--mkb-delay,0s);
}
.mkb-reveal.mkb-in{ opacity:1; transform:translateY(0); }
html.no-js .mkb-reveal{ opacity:1 !important; transform:none !important; }
@media (prefers-reduced-motion: reduce){
  .mkb-reveal{ transition-duration:.001ms !important; }
}
