/* Kingdom Alignment Labs — Shared Styles */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400&family=Source+Serif+4:ital,opsz,wght@0,8..60,300;0,8..60,400;0,8..60,600;1,8..60,400&family=Alte+Haas+Grotesk:wght@400;700&display=swap');

:root {
  --ink:#1A1A2E; --gold:#C9A84C; --gold2:#A07830;
  --cream:#F8F5EF; --paper:#FDFCF9; --rule:#E4DDD0; --muted:#8A8070; --soft:#F2EDE4;
  --l0:#1E6B4A; --l1:#3D7A3A; --l2:#B8722A; --l3:#8A6414;
  --l4:#B84C1A; --l5:#962C0A; --l6:#6B1A1A;
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Source Serif 4',Georgia,serif;color:var(--ink);background:var(--paper);}

/* Typography */
h1,h2,h3,h4{font-family:'Playfair Display',serif;font-weight:400;}
.label{font-family:'Alte Haas Grotesk',sans-serif;font-size:9px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--muted);}
.gold{color:var(--gold);}
.muted{color:var(--muted);}

/* Buttons */
.btn{display:inline-block;padding:13px 32px;font-family:'Alte Haas Grotesk',sans-serif;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;border:none;cursor:pointer;border-radius:2px;text-decoration:none;transition:all .2s;}
.btn-gold{background:var(--gold);color:var(--ink);}
.btn-gold:hover{background:var(--gold2);color:white;}
.btn-outline{background:transparent;color:var(--gold);border:1px solid var(--gold);}
.btn-outline:hover{background:var(--gold);color:var(--ink);}
.btn-dark{background:var(--ink);color:white;}
.btn-dark:hover{background:#2A2A4A;}

/* Nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(26,26,46,0.97);backdrop-filter:blur(8px);border-bottom:1px solid rgba(201,168,76,0.2);}
.nav-inner{max-width:1100px;margin:0 auto;padding:0 40px;display:flex;align-items:center;justify-content:space-between;height:64px;}
.nav-brand{font-family:'Alte Haas Grotesk',sans-serif;font-size:10px;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:var(--gold);text-decoration:none;}
.nav-links{display:flex;align-items:center;gap:32px;}
.nav-link{font-family:'Alte Haas Grotesk',sans-serif;font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,0.6);text-decoration:none;transition:color .2s;}
.nav-link:hover{color:var(--gold);}
.nav-link.active{color:var(--gold);}

/* Page wrapper */
.page{padding-top:64px;}

/* Section */
.section{padding:96px 40px;}
.section-inner{max-width:1100px;margin:0 auto;}
.section-inner.narrow{max-width:760px;}

/* Cards */
.card{background:white;border:1px solid var(--rule);border-radius:4px;padding:32px;}
.card-gold{border-top:3px solid var(--gold);}

/* Form elements */
.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;}
.form-label{font-family:'Alte Haas Grotesk',sans-serif;font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--muted);}
.form-input{padding:11px 14px;border:1px solid var(--rule);border-radius:2px;font-family:'Source Serif 4',serif;font-size:15px;color:var(--ink);background:white;outline:none;transition:border-color .2s;}
.form-input:focus{border-color:var(--gold);}
.form-select{appearance:none;padding:11px 14px;border:1px solid var(--rule);border-radius:2px;font-family:'Source Serif 4',serif;font-size:15px;color:var(--ink);background:white;outline:none;cursor:pointer;}

/* Alert */
.alert{padding:14px 18px;border-radius:2px;font-size:13px;margin-bottom:16px;}
.alert-error{background:#FEE8E8;border:1px solid #F0BBBB;color:#6B1A1A;}
.alert-success{background:#EEF8EE;border:1px solid #BBDABB;color:#1A4A1A;}
.alert-info{background:#EEF2FF;border:1px solid #BBBFF0;color:#1A1A6B;}

/* Loading */
.spinner{display:inline-block;width:20px;height:20px;border:2px solid var(--rule);border-top-color:var(--gold);border-radius:50%;animation:spin .7s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}

/* Divider */
.rule{border:none;border-top:1px solid var(--rule);margin:40px 0;}
.rule-gold{border-top-color:var(--gold);}

/* Score display */
.score-badge{display:inline-flex;align-items:center;gap:12px;padding:12px 20px;border-radius:2px;}
.sb-lv{font-family:'Alte Haas Grotesk',sans-serif;font-size:13px;font-weight:700;letter-spacing:1px;color:white;padding:6px 14px;border-radius:2px;}
.sb-name{font-family:'Playfair Display',serif;font-size:22px;color:var(--ink);}

/* Callout */
.callout{padding:16px 20px;border-left:3px solid var(--gold);background:var(--soft);font-size:15px;line-height:1.7;margin:20px 0;}

/* Grid layouts */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}

@media(max-width:768px){
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr;}
  .section{padding:64px 24px;}
  .nav-inner{padding:0 24px;}
  .nav-links{gap:16px;}
}

/* ── MOBILE RESPONSIVE ─────────────────────────────────────────────────────── */
@media(max-width:768px){
  /* Nav */
  .nav-inner{padding:0 16px;height:56px;}
  .nav-brand{font-size:9px;letter-spacing:2px;}
  .nav-links{gap:10px;}
  .nav-link{font-size:8px;letter-spacing:1px;}
  .nav-links .btn{padding:7px 14px;font-size:8px;}

  /* Sections */
  .section{padding:52px 20px;}
  .section-inner{max-width:100%;}

  /* Grid breakdowns */
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr;}

  /* Buttons */
  .btn{padding:12px 24px;font-size:10px;}
}

@media(max-width:480px){
  .nav-links .nav-link:not(:last-child):not(:nth-last-child(2)){display:none;}
}

/* ── COMPREHENSIVE MOBILE FIXES ─────────────────────────────────────────────── */
@media(max-width:768px){
  /* Nav */
  .nav-inner{padding:0 16px;height:56px;}
  .nav-brand{font-size:8px;letter-spacing:2px;}
  .nav-links{gap:8px;}
  .nav-link{font-size:8px;letter-spacing:0px;display:none;}
  .nav-links .btn{padding:7px 12px;font-size:8px;}
  /* Show only essential nav items on mobile */
  .nav-link:last-of-type{display:flex;}
  .nav-link:nth-last-of-type(2){display:flex;}

  /* Hero sections */
  .hero-inner{grid-template-columns:1fr!important;padding:90px 20px 60px!important;}
  .hero-title{font-size:32px!important;}
  .hero-visual{display:none!important;}
  .hero-actions{flex-direction:column;}
  .hero-actions .btn{width:100%;text-align:center;justify-content:center;}

  /* Stats */
  .stats-inner{grid-template-columns:1fr 1fr!important;padding:24px 20px!important;}
  .stat-num{font-size:32px!important;}

  /* Step grid */
  .step-grid{grid-template-columns:1fr!important;}
  .step::after{display:none!important;}

  /* Levels grid */
  .levels-grid{grid-template-columns:1fr 1fr!important;}

  /* Portals */
  .portals-grid{grid-template-columns:1fr!important;}

  /* Sections */
  .section{padding:48px 20px!important;}

  /* Forms */
  .form-row{grid-template-columns:1fr!important;}
  .info-grid{grid-template-columns:1fr!important;}

  /* Books */
  .book-card{grid-template-columns:1fr!important;gap:20px!important;}
  .book-cover{max-width:140px;}
  .notify-form{flex-direction:column;}

  /* Footer */
  .footer-top{flex-direction:column;gap:20px!important;}
  .footer-links{gap:16px!important;}
}

/* ── ASSESSMENT MOBILE FIXES ─────────────────────────────────────────────────── */
@media(max-width:600px){
  .q-area{padding:24px 16px!important;}
  .q-text{font-size:18px!important;line-height:1.5!important;}
  .scale-btns{gap:6px!important;}
  .scale-btn{padding:18px 4px!important;border-radius:4px!important;}
  .scale-btn-num{font-size:22px!important;}
  .scale-btn-label{display:none!important;}
  .q-nav{gap:12px;}
  .q-nav-back{padding:12px 16px!important;font-size:9px!important;}
  #next-btn{padding:14px 20px!important;font-size:9px!important;}
  .welcome-wrap{padding:40px 20px!important;}
  .welcome-title{font-size:28px!important;}
  .info-form{padding:20px!important;}
  .email-row{flex-direction:column!important;}

  /* Person report mobile */
  .cover{flex-direction:column!important;}
  .cover-left{width:100%!important;padding:28px 20px!important;min-height:auto!important;}
  .cover-right{padding:28px 20px!important;}
  .cr-name{font-size:36px!important;}
  .report-page{padding:28px 20px!important;}

  /* Pastor portal mobile */
  .stat-row{grid-template-columns:1fr 1fr!important;}
  .sc-val{font-size:28px!important;}
  .dash-nav{padding:0 16px!important;}
  .dn-tabs{gap:0!important;}
  .dn-tab{padding:0 10px!important;font-size:8px!important;letter-spacing:1px!important;}
}
