/*==================================================
  RESET & ROOT VARIABLES
==================================================*/
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
:root{
  /* Brand Colors */
  --blush-50:#FFF5F4;--blush-100:#FAE8E5;--blush-200:#F2C4BE;
  --blush-300:#E8A89E;--blush-400:#D4887C;--blush-500:#BE6B5E;
  --rose-100:#FCE4EC;--rose-200:#F8B4C8;--rose-300:#F06292;
  --rose-400:#8B3A52;--rose-500:#5C1F30;--rose-600:#3D1020;
  --gold-100:#FDF3DC;--gold-200:#F5DCAA;--gold-300:#E8C06A;
  --gold-400:#C9963A;--gold-500:#8B6012;--gold-600:#5A3D08;
  --ivory:#FDF8F5;--ivory-2:#F5ECE6;--ivory-3:#EDD8CC;
  --text-900:#2C1008;--text-700:#5A2E1A;--text-500:#8B5A42;--text-300:#B8856A;
  /* Semantic */
  --bg:var(--blush-100);--surface:white;
  --primary:var(--rose-400);--primary-dark:var(--rose-500);
  --accent:var(--gold-400);--accent-light:var(--gold-200);
  /* Spacing & Shape */
  --r:14px;--r-sm:8px;--r-xs:6px;
  --shadow-sm:0 2px 8px rgba(139,58,82,.08);
  --shadow:0 4px 20px rgba(139,58,82,.12);
  --shadow-lg:0 8px 40px rgba(139,58,82,.18);
  /* Layout */
  --sidebar-w:230px;--topbar-h:60px;
}

/* DARK / NIGHT THEME */
.theme-night{
  --bg:#1A0810;--surface:#2C1020;--blush-100:#2C1020;
  --blush-200:#3D1830;--blush-300:#5C2840;--ivory:#2C1020;
  --ivory-2:#3D1828;--ivory-3:#4D2038;--text-900:#F9EAE8;
  --text-700:#E8C4BE;--text-500:#C89890;--text-300:#A87068;
  --shadow-sm:0 2px 8px rgba(0,0,0,.3);--shadow:0 4px 20px rgba(0,0,0,.4);
  --shadow-lg:0 8px 40px rgba(0,0,0,.5);
}
.theme-garden{--bg:#EEF5EA;--blush-100:#EEF5EA;--primary:#3D7A3A;--primary-dark:#2A5528;--accent:#8BAF42}
.theme-sky{--bg:#E8F4FD;--blush-100:#E8F4FD;--primary:#1565C0;--primary-dark:#0D47A1;--accent:#42A5F5}
.theme-gold{--bg:#FDF5E0;--blush-100:#FDF5E0;--primary:#8B6012;--primary-dark:#5A3D08;--accent:#C9963A}
.theme-lavender{--bg:#F3E5F5;--blush-100:#F3E5F5;--primary:#7B1FA2;--primary-dark:#4A148C;--accent:#CE93D8}

html,body{height:100%;overflow:hidden;background:var(--bg);color:var(--text-900);font-family:'Nunito',sans-serif;transition:background .3s,color .3s}

/*==================================================
  LOGIN SCREEN
==================================================*/
#login-screen{
  position:fixed;inset:0;z-index:2000;
  background:linear-gradient(160deg,#fce8e6 0%,#f9d5d0 35%,#f2c4be 70%,#e8a89e 100%);
  display:flex;align-items:center;justify-content:center;padding:16px;
  overflow-y:auto;
}
.login-box{
  background:rgba(255,255,255,.92);backdrop-filter:blur(20px);
  border-radius:24px;padding:40px 36px 32px;
  width:min(440px,100%);
  box-shadow:0 24px 64px rgba(139,58,82,.22),0 0 0 1px rgba(201,150,58,.2);
  display:flex;flex-direction:column;align-items:center;gap:16px;
  animation:loginSlide .5s cubic-bezier(.34,1.56,.64,1);
}
@keyframes loginSlide{from{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}
.login-crown{font-size:40px;line-height:1;animation:crownBounce 2s ease-in-out infinite}
@keyframes crownBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.login-title{font-family:'Cinzel',serif;font-size:22px;color:var(--gold-500);letter-spacing:3px;text-align:center;line-height:1.2}
.login-script{font-family:'Great Vibes',cursive;font-size:30px;color:var(--rose-400);line-height:1.1;text-align:center}
.login-verse{font-family:'EB Garamond',serif;font-style:italic;font-size:14px;color:var(--text-500);text-align:center;line-height:1.7}
.login-divider{width:90%;height:1px;background:linear-gradient(90deg,transparent,var(--gold-300),transparent)}
.plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%}
.plan-pill{
  border:1.5px solid var(--blush-200);border-radius:12px;
  padding:10px 8px;text-align:center;cursor:pointer;
  transition:all .2s;background:var(--blush-50);
}
.plan-pill:hover,.plan-pill.sel{border-color:var(--gold-400);background:var(--rose-100);transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.plan-name{font-family:'Cinzel',serif;font-size:10px;color:var(--gold-500);letter-spacing:1px}
.plan-price{font-size:15px;font-weight:700;color:var(--primary);margin:2px 0}
.plan-feat{font-size:10px;color:var(--text-500);line-height:1.4}
.login-form{width:100%;display:flex;flex-direction:column;gap:10px}
.l-input{
  width:100%;padding:13px 16px;border-radius:10px;
  border:1.5px solid var(--blush-200);background:var(--blush-50);
  font-family:'Nunito',sans-serif;font-size:14px;color:var(--text-900);
  outline:none;transition:border .2s,background .2s;
}
.l-input:focus{border-color:var(--gold-400);background:white}
.l-btn{
  width:100%;padding:15px;border-radius:12px;
  background:linear-gradient(135deg,var(--rose-400) 0%,var(--rose-500) 100%);
  color:white;font-family:'Cinzel',serif;font-size:13px;
  letter-spacing:2px;border:none;cursor:pointer;
  transition:opacity .2s,transform .15s;margin-top:4px;
  box-shadow:0 4px 16px rgba(139,58,82,.35);
}
.l-btn:hover{opacity:.9;transform:translateY(-1px)}
.l-guest{font-size:12px;color:var(--text-500);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.l-guest:hover{color:var(--primary)}

/*==================================================
  APP SHELL
==================================================*/
#app{display:none;height:100%;flex-direction:column}
#app.vis{display:flex}

/* TOPBAR */
#topbar{
  height:var(--topbar-h);background:var(--surface);
  border-bottom:1px solid var(--blush-200);
  display:flex;align-items:center;padding:0 16px;gap:12px;
  box-shadow:var(--shadow-sm);z-index:100;flex-shrink:0;
  transition:background .3s;
}
#menu-btn{background:none;border:none;cursor:pointer;font-size:22px;color:var(--primary);padding:6px;display:none}
.brand{display:flex;flex-direction:column;line-height:1.15;flex-shrink:0}
.brand-title{font-family:'Cinzel',serif;font-size:12px;color:var(--gold-500);letter-spacing:2px}
.brand-script{font-family:'Great Vibes',cursive;font-size:20px;color:var(--primary);line-height:1}
.topbar-search{flex:1;max-width:360px;margin-left:auto;position:relative}
.topbar-search input{
  width:100%;padding:9px 16px 9px 38px;border-radius:20px;
  border:1.5px solid var(--blush-200);background:var(--blush-50);
  font-size:13px;color:var(--text-900);outline:none;
  font-family:'Nunito',sans-serif;transition:all .2s;
}
.topbar-search input:focus{border-color:var(--gold-400);background:white;box-shadow:0 0 0 3px rgba(201,150,58,.12)}
.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:14px;pointer-events:none}
.topbar-acts{display:flex;align-items:center;gap:6px;margin-left:10px}
.tb-btn{
  background:none;border:1.5px solid var(--blush-200);border-radius:10px;
  padding:7px 10px;cursor:pointer;font-size:17px;
  transition:all .2s;color:var(--primary);
}
.tb-btn:hover{background:var(--rose-100);border-color:var(--rose-200)}
.avatar{
  width:38px;height:38px;border-radius:50%;
  background:linear-gradient(135deg,var(--primary),var(--primary-dark));
  display:flex;align-items:center;justify-content:center;
  color:white;font-family:'Cinzel',serif;font-size:14px;font-weight:700;
  cursor:pointer;border:2px solid var(--gold-300);flex-shrink:0;
  box-shadow:0 2px 8px rgba(139,58,82,.25);
}

/* BODY */
#body{display:flex;flex:1;overflow:hidden}

/* SIDEBAR */
#sidebar{
  width:var(--sidebar-w);flex-shrink:0;
  background:var(--surface);border-right:1px solid var(--blush-200);
  display:flex;flex-direction:column;overflow-y:auto;
  transition:transform .3s,background .3s;z-index:80;
  scrollbar-width:thin;scrollbar-color:var(--blush-200) transparent;
}
#sidebar.hide{transform:translateX(calc(-1 * var(--sidebar-w)))}
.sb-section{padding:14px 10px 6px}
.sb-label{font-family:'Cinzel',serif;font-size:9px;color:var(--text-300);letter-spacing:2.5px;padding:0 6px;margin-bottom:6px}
.nav-item{
  display:flex;align-items:center;gap:10px;padding:10px 12px;
  border-radius:10px;cursor:pointer;transition:all .18s;margin-bottom:2px;
  font-size:13px;font-weight:600;color:var(--text-700);
  border:none;background:none;width:100%;text-align:left;
}
.nav-item:hover{background:var(--rose-100);color:var(--primary)}
.nav-item.active{
  background:linear-gradient(135deg,var(--rose-100),#fde4ec);
  color:var(--primary-dark);
  box-shadow:inset 3px 0 0 var(--primary);
}
.nav-ico{font-size:18px;width:24px;text-align:center;flex-shrink:0}
.nav-badge{
  margin-left:auto;background:var(--primary);color:white;
  border-radius:10px;padding:2px 8px;font-size:10px;font-weight:700;
}
.sb-div{height:1px;background:var(--blush-200);margin:8px 12px}
.theme-row{display:flex;gap:7px;padding:8px 12px 14px;flex-wrap:wrap;align-items:center}
.t-dot{
  width:24px;height:24px;border-radius:50%;cursor:pointer;
  border:2px solid transparent;transition:transform .15s,box-shadow .15s;
  box-shadow:0 1px 4px rgba(0,0,0,.15);
}
.t-dot:hover{transform:scale(1.18)}
.t-dot.active{border-color:var(--gold-400);transform:scale(1.15);box-shadow:0 0 0 3px rgba(201,150,58,.25)}

/* CONTENT */
#content{flex:1;overflow-y:auto;background:var(--bg);transition:background .3s;scrollbar-width:thin;scrollbar-color:var(--blush-200) transparent}

/* PANELS */
.panel{display:none;padding:22px;min-height:100%;animation:fadeIn .25s ease}
.panel.active{display:block}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

/* ── CARDS ── */
.card{background:var(--surface);border-radius:var(--r);padding:20px;box-shadow:var(--shadow);border:1px solid var(--blush-200);transition:background .3s,box-shadow .2s}
.card:hover{box-shadow:var(--shadow-lg)}
.card-sm{padding:14px 16px}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.ga{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}

/* ── BUTTONS ── */
.btn-primary{
  padding:11px 22px;border-radius:var(--r-sm);
  background:linear-gradient(135deg,var(--primary),var(--primary-dark));
  color:white;border:none;cursor:pointer;
  font-family:'Cinzel',serif;font-size:11px;letter-spacing:2px;
  transition:opacity .2s,transform .15s;box-shadow:0 3px 12px rgba(139,58,82,.3);
}
.btn-primary:hover{opacity:.9;transform:translateY(-1px)}
.btn-outline{
  padding:10px 20px;border-radius:var(--r-sm);background:transparent;
  color:var(--primary);border:1.5px solid var(--primary);cursor:pointer;
  font-family:'Cinzel',serif;font-size:11px;letter-spacing:1px;transition:all .2s;
}
.btn-outline:hover{background:var(--rose-100)}
.btn-ghost{
  background:none;border:none;cursor:pointer;padding:6px 10px;
  font-family:'Cinzel',serif;font-size:10px;letter-spacing:1px;
  color:var(--text-500);transition:color .2s;border-radius:6px;
}
.btn-ghost:hover{color:var(--primary);background:var(--rose-100)}

/* ── INPUTS ── */
.f-input{
  width:100%;padding:12px 15px;border-radius:var(--r-sm);
  border:1.5px solid var(--blush-200);background:var(--blush-50);
  font-family:'Nunito',sans-serif;font-size:14px;color:var(--text-900);
  outline:none;transition:border .2s,background .2s;resize:vertical;
}
.f-input:focus{border-color:var(--gold-400);background:var(--ivory)}

/* ── SECTION HEADERS ── */
.ph{margin-bottom:20px}
.ph-title{font-family:'Cinzel',serif;font-size:18px;color:var(--gold-500);letter-spacing:2px}
.ph-script{font-family:'Great Vibes',cursive;font-size:24px;color:var(--primary);line-height:1.1;margin-top:2px}

/* DIVIDER */
.gold-hr{height:1px;background:linear-gradient(90deg,transparent,var(--gold-300),transparent);margin:16px 0}

/*==================================================
  HOME PANEL
==================================================*/
.welcome-banner{
  background:linear-gradient(135deg,var(--rose-100) 0%,#fde4ec 100%);
  border-radius:var(--r);padding:22px;border:1px solid var(--rose-200);
  display:flex;align-items:center;gap:16px;margin-bottom:20px;
  box-shadow:var(--shadow-sm);
}
.wb-icon{font-size:48px;flex-shrink:0;animation:float 3s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.wb-title{font-family:'Cinzel',serif;font-size:18px;color:var(--primary-dark);letter-spacing:1px}
.wb-verse{font-family:'EB Garamond',serif;font-style:italic;font-size:15px;color:var(--text-700);margin-top:5px;line-height:1.6}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}
.stat{background:var(--surface);border-radius:var(--r);padding:16px;text-align:center;box-shadow:var(--shadow-sm);border:1px solid var(--blush-200)}
.stat-n{font-family:'Cinzel',serif;font-size:30px;color:var(--primary);line-height:1}
.stat-l{font-size:11px;color:var(--text-500);margin-top:4px;font-weight:600;letter-spacing:.5px}
.devo{
  background:linear-gradient(135deg,var(--rose-500) 0%,#6B1A30 100%);
  border-radius:var(--r);padding:24px;color:white;margin-bottom:20px;
  position:relative;overflow:hidden;box-shadow:var(--shadow-lg);
}
.devo::before{content:'\201C';position:absolute;top:-12px;left:12px;font-size:100px;opacity:.08;font-family:Georgia,serif;line-height:1}
.devo-label{font-family:'Cinzel',serif;font-size:9px;letter-spacing:3px;opacity:.7;margin-bottom:8px}
.devo-text{font-family:'EB Garamond',serif;font-style:italic;font-size:18px;line-height:1.8;margin-bottom:10px}
.devo-ref{font-family:'Cinzel',serif;font-size:11px;color:var(--gold-200);letter-spacing:2px}
.quick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-bottom:20px}
.quick-card{
  background:var(--surface);border-radius:var(--r);padding:16px;
  display:flex;flex-direction:column;align-items:center;gap:8px;
  cursor:pointer;border:1px solid var(--blush-200);transition:all .2s;
  box-shadow:var(--shadow-sm);text-align:center;
}
.quick-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--primary)}
.quick-ico{font-size:28px}
.quick-label{font-family:'Cinzel',serif;font-size:11px;color:var(--primary-dark);letter-spacing:1px}
.live-upcoming{
  background:var(--surface);border-radius:var(--r);padding:18px;
  border:1px solid var(--blush-200);box-shadow:var(--shadow-sm);
  display:flex;align-items:center;gap:14px;
}
.live-upcoming-icon{font-size:36px;flex-shrink:0}

/*==================================================
  BIBLE PANEL
==================================================*/
#bible-panel{padding:0;display:none;flex-direction:column}
#bible-panel.active{display:flex}

.bible-toolbar{
  background:var(--surface);border-bottom:1px solid var(--blush-200);
  padding:12px 16px;display:flex;align-items:center;
  gap:8px;flex-wrap:wrap;box-shadow:var(--shadow-sm);flex-shrink:0;
}
.b-sel{
  font-family:'Cinzel',serif;font-size:11px;letter-spacing:.5px;
  background:var(--blush-50);color:var(--primary-dark);
  border:1.5px solid var(--blush-200);padding:8px 12px;
  border-radius:var(--r-sm);cursor:pointer;outline:none;transition:border .2s;
}
.b-sel:focus{border-color:var(--gold-400)}
.hl-group{display:flex;align-items:center;gap:5px;margin-left:auto}
.hl-label{font-family:'Cinzel',serif;font-size:9px;color:var(--text-300);letter-spacing:1.5px;margin-right:4px}
.hd{width:22px;height:22px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:transform .15s;flex-shrink:0}
.hd:hover{transform:scale(1.3)}
.hd.on{border-color:var(--text-900);transform:scale(1.2)}
.hd-x{background:var(--blush-50)!important;border-color:var(--blush-200)!important;font-size:11px;display:flex;align-items:center;justify-content:center;color:var(--text-500)}

/* LIVE BAR */
#live-bar{
  background:linear-gradient(135deg,var(--rose-500),#7A1030);
  padding:10px 16px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  flex-shrink:0;
}
.live-badge{
  background:rgba(255,255,255,.2);color:white;
  font-family:'Cinzel',serif;font-size:9px;letter-spacing:2px;
  padding:4px 10px;border-radius:10px;display:flex;align-items:center;gap:5px;flex-shrink:0;
}
.live-dot{width:7px;height:7px;border-radius:50%;background:#FF4455;animation:blink 1s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.2}}
@keyframes devoPulse{0%,100%{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}
.live-verse-text{flex:1;font-family:'EB Garamond',serif;font-style:italic;font-size:13px;color:rgba(255,255,255,.9);min-width:0}
.live-people{font-family:'Cinzel',serif;font-size:10px;color:rgba(255,255,255,.7);letter-spacing:1px;flex-shrink:0}
.live-action{
  background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.35);
  color:white;border-radius:6px;padding:6px 12px;cursor:pointer;
  font-family:'Cinzel',serif;font-size:9px;letter-spacing:1px;transition:background .2s;flex-shrink:0;
}
.live-action:hover{background:rgba(255,255,255,.32)}

/* BOOK VIEWER */
.book-viewer{
  display:flex;flex:1;overflow:hidden;
  background:linear-gradient(160deg,#f5e8e4 0%,#eeddd6 50%,#e8d5cc 100%);
  align-items:center;justify-content:center;
  padding:14px 46px;position:relative;
}
.book-viewer::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 50% 42%,rgba(255,255,255,.4) 0%,transparent 68%);
  pointer-events:none;
}
/* OPEN BOOK wrapper — two pages + spine */
#open-book{
  display:flex;
  width:min(960px,100%);
  height:min(590px,100%);
  box-shadow:0 22px 64px rgba(92,31,48,.26),0 4px 16px rgba(92,31,48,.14);
  border-radius:3px 7px 7px 3px;
  position:relative;
  flex-shrink:0;
}
/* SPINE / center fold */
#book-spine{
  width:22px;flex-shrink:0;
  background:linear-gradient(180deg,#E8C06A 0%,#E8A89E 20%,#D4887C 50%,#E8A89E 80%,#E8C06A 100%);
  display:flex;align-items:center;justify-content:center;
  box-shadow:inset -3px 0 8px rgba(0,0,0,.18),inset 3px 0 8px rgba(0,0,0,.18),0 0 12px rgba(0,0,0,.12);
  z-index:5;flex-shrink:0;position:relative;
}
#book-spine::before{
  content:'';position:absolute;top:0;left:50%;width:1px;height:100%;
  background:linear-gradient(180deg,transparent,rgba(255,255,255,.35) 30%,rgba(255,255,255,.35) 70%,transparent);
}
#spine-label{
  font-family:'Cinzel',serif;font-size:7px;color:#5C1F30;
  writing-mode:vertical-rl;transform:rotate(180deg);
  letter-spacing:2.5px;opacity:.8;
}
/* LEFT PAGE */
#page-left{
  flex:1;
  background:linear-gradient(108deg,#fdfaf7 0%,#f8f1ea 100%);
  display:flex;flex-direction:column;
  position:relative;
  box-shadow:inset -8px 0 20px rgba(139,58,82,.06);
  overflow:hidden;
  border:3px solid #E8A89E;
  border-right:none;
  border-radius:3px 0 0 3px;
}
/* RIGHT PAGE — this is the one that "flips" */
#page-right{
  flex:1;
  background:linear-gradient(72deg,#f5ede4 0%,#fdf9f6 100%);
  display:flex;flex-direction:column;
  border-radius:0 7px 7px 0;
  position:relative;
  transform-origin:left center;
  transform-style:preserve-3d;
  transition:transform .65s cubic-bezier(.645,.045,.355,1);
  box-shadow:inset 8px 0 20px rgba(139,58,82,.06);
  overflow:hidden;
  border:3px solid #E8A89E;
  border-left:none;
}
#page-right.flip-fwd{transform:rotateY(-175deg)}
#page-right.flip-bk{transform:rotateY(175deg);transition:none}
#page-right.flip-bk-go{transform:rotateY(0deg);transition:transform .65s cubic-bezier(.645,.045,.355,1)}
/* Gold corner ornaments */
.pg-corner{position:absolute;width:34px;height:34px;pointer-events:none;z-index:3}
.pg-corner svg{width:100%;height:100%}
.co-tl{top:6px;left:6px}.co-tr{top:6px;right:6px;transform:scaleX(-1)}
.co-bl{bottom:6px;left:6px;transform:scaleY(-1)}.co-br{bottom:6px;right:6px;transform:scale(-1,-1)}
/* Scrollable inner area of each page */
.pg-inner{flex:1;padding:32px 28px 16px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#E8A89E transparent;position:relative;z-index:2;}
.pg-inner::-webkit-scrollbar{width:4px}
.pg-inner::-webkit-scrollbar-thumb{background:#E8A89E;border-radius:2px}
/* Page header (book name + chapter) */
.pg-head{text-align:center;padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid #EDD8CC}
.pg-head::after{content:'✦';display:block;color:#C9963A;font-size:11px;margin-top:5px}
.pg-book-name{font-family:'Cinzel',serif;font-size:15px;color:#8B6012;letter-spacing:2.5px;font-weight:700}
.pg-ch-label{font-family:'Cinzel',serif;font-size:10px;color:#B8856A;letter-spacing:3px;margin-top:3px}
/* Page footer with nav */
.pg-foot{display:flex;align-items:center;justify-content:space-between;padding:8px 22px 10px;border-top:1px solid #EDD8CC;flex-shrink:0;position:relative;z-index:2;background:linear-gradient(0,#f5ede4,#fdf9f6);}
.pg-foot button{background:none;border:1.5px solid #E8A89E;border-radius:6px;padding:6px 14px;cursor:pointer;font-family:'Cinzel',serif;font-size:10px;letter-spacing:1px;color:#8B3A52;transition:all .2s;}
.pg-foot button:hover{background:#FCE4EC;border-color:#8B3A52}
.pg-page-num{font-family:'Cinzel',serif;font-size:10px;color:#B8856A;letter-spacing:2px}
/* Side arrow nav buttons (outside book) */
#book-prev,#book-next{
  position:absolute;top:50%;transform:translateY(-50%);
  background:rgba(255,255,255,.78);backdrop-filter:blur(4px);
  border:1.5px solid #E8A89E;color:#8B3A52;
  font-size:22px;width:36px;height:60px;
  cursor:pointer;border-radius:6px;transition:all .2s;z-index:20;
  display:flex;align-items:center;justify-content:center;
}
#book-prev{left:6px}#book-next{right:6px}
#book-prev:hover,#book-next:hover{background:white;border-color:#8B3A52;box-shadow:0 4px 16px rgba(139,58,82,.2)}


/* BIBLE PAGES */
/* #bible-pages is now unused — open-book uses #open-book directly */
#bible-pages{ display:none; }
.b-page{
  flex:1;padding:28px 24px 16px;overflow-y:auto;
  scrollbar-width:thin;scrollbar-color:var(--blush-200) transparent;
}
.b-page-head{
  text-align:center;padding-bottom:14px;margin-bottom:16px;
  border-bottom:1px solid var(--ivory-3);
}
.b-book-name{font-family:'Cinzel',serif;font-size:16px;color:var(--gold-500);letter-spacing:3px;font-weight:700}
.b-ch-label{font-family:'Cinzel',serif;font-size:10px;color:var(--text-300);letter-spacing:3px;margin-top:4px}
.b-page-foot{
  display:flex;justify-content:space-between;align-items:center;
  padding:10px 24px 14px;border-top:1px solid var(--ivory-3);
  background:linear-gradient(0,var(--ivory-2),var(--ivory));flex-shrink:0;
}
.b-page-foot button{
  background:none;border:1.5px solid var(--blush-200);border-radius:6px;
  padding:7px 16px;cursor:pointer;font-family:'Cinzel',serif;font-size:10px;
  letter-spacing:1px;color:var(--primary);transition:all .2s;
}
.b-page-foot button:hover{background:var(--rose-100);border-color:var(--primary)}
.pg-num{font-family:'Cinzel',serif;font-size:10px;color:var(--text-300);letter-spacing:2px}

/* VERSE RENDERING */
.verse-wrap{display:inline;cursor:pointer;border-radius:3px;padding:1px 0;transition:background .15s}
.verse-wrap:hover{background:rgba(201,150,58,.14)}
.vn{font-family:'Cinzel',serif;font-size:9px;color:var(--gold-400);vertical-align:super;margin-right:2px;font-weight:700;user-select:none}
.vt{font-family:'EB Garamond',serif;font-size:17px;line-height:1.95;color:var(--text-900)}
.hl-y{background:rgba(255,235,59,.42)!important}
.hl-p{background:rgba(233,30,99,.2)!important}
.hl-b{background:rgba(33,150,243,.22)!important}
.hl-g{background:rgba(76,175,80,.25)!important}
.hl-r{background:rgba(201,150,58,.35)!important}

.loading-verse{
  font-family:'EB Garamond',serif;font-style:italic;font-size:16px;
  color:var(--text-300);text-align:center;padding:60px 20px;
  animation:loadpulse 1.5s ease-in-out infinite;
}
@keyframes loadpulse{0%,100%{opacity:.4}50%{opacity:1}}

/*==================================================
  NOTES PANEL
==================================================*/
.notes-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:18px;flex-wrap:wrap}
.note-filters{display:flex;gap:6px;flex-wrap:wrap}
.nf-chip{
  padding:5px 14px;border-radius:12px;font-size:11px;font-weight:600;
  border:1.5px solid var(--blush-200);background:var(--surface);
  color:var(--text-700);cursor:pointer;transition:all .18s;font-family:'Cinzel',serif;letter-spacing:.5px;
}
.nf-chip.on,.nf-chip:hover{background:var(--rose-100);border-color:var(--primary);color:var(--primary-dark)}
.note-card{
  background:var(--surface);border-radius:var(--r);padding:18px;
  box-shadow:var(--shadow);border:1px solid var(--blush-200);
  border-left:4px solid var(--gold-400);cursor:pointer;
  transition:all .2s;margin-bottom:12px;
}
.note-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-left-color:var(--primary)}
.nc-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:6px}
.nc-title{font-family:'Cinzel',serif;font-size:13px;color:var(--primary-dark);font-weight:600;letter-spacing:.5px}
.nc-ref{font-size:11px;color:var(--gold-500);font-family:'Cinzel',serif;letter-spacing:1px;margin-top:2px}
.nc-text{font-family:'EB Garamond',serif;font-size:15px;color:var(--text-700);line-height:1.65;margin-top:6px}
.nc-date{font-size:10px;color:var(--text-300);margin-top:8px;font-style:italic}
.nc-del{background:none;border:none;cursor:pointer;font-size:16px;color:var(--text-300);padding:0;line-height:1;transition:color .2s}
.nc-del:hover{color:#E53935}

.note-editor{
  background:var(--surface);border-radius:var(--r);padding:22px;
  box-shadow:var(--shadow);border:1px solid var(--blush-200);
  display:flex;flex-direction:column;gap:12px;margin-bottom:20px;
}
.ne-head{font-family:'Cinzel',serif;font-size:13px;color:var(--gold-500);letter-spacing:1px;margin-bottom:4px}
.ne-row{display:flex;gap:10px}

/*==================================================
  PRAYER JOURNAL
==================================================*/
.prayer-streak{display:flex;gap:8px;align-items:center;margin-bottom:18px;flex-wrap:wrap}
.streak-d{
  width:38px;height:38px;border-radius:50%;border:2px solid var(--blush-200);
  display:flex;align-items:center;justify-content:center;
  font-size:11px;font-family:'Cinzel',serif;color:var(--text-300);
  transition:all .3s;
}
.streak-d.done{
  background:linear-gradient(135deg,var(--primary),var(--primary-dark));
  border-color:transparent;color:white;font-size:15px;box-shadow:0 2px 8px rgba(139,58,82,.3);
}
.cat-bar{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}
.cat-pill{
  padding:5px 14px;border-radius:12px;font-size:11px;font-weight:600;
  border:1.5px solid var(--blush-200);background:var(--surface);
  color:var(--text-700);cursor:pointer;transition:all .18s;font-family:'Cinzel',serif;
}
.cat-pill.on,.cat-pill:hover{background:var(--rose-100);border-color:var(--primary);color:var(--primary)}
.prayer-item{
  display:flex;align-items:flex-start;gap:12px;
  background:var(--surface);border-radius:var(--r);
  padding:15px 17px;box-shadow:var(--shadow-sm);
  border:1px solid var(--blush-200);margin-bottom:10px;transition:all .2s;
}
.prayer-item:hover{box-shadow:var(--shadow)}
.p-check{
  width:26px;height:26px;border-radius:50%;flex-shrink:0;
  border:2px solid var(--blush-300);cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  font-size:13px;transition:all .2s;margin-top:2px;
}
.p-check.ans{
  background:linear-gradient(135deg,var(--primary),var(--primary-dark));
  border-color:transparent;color:white;box-shadow:0 2px 8px rgba(139,58,82,.3);
}
.p-body{flex:1}
.p-req{font-family:'EB Garamond',serif;font-size:15px;color:var(--text-900);line-height:1.65}
.p-meta{font-size:11px;color:var(--text-300);margin-top:4px;font-style:italic}
.p-tag{display:inline-block;background:var(--rose-100);color:var(--primary);border-radius:6px;padding:2px 8px;font-size:10px;font-family:'Cinzel',serif;letter-spacing:.5px;margin-right:4px}
.p-del{background:none;border:none;cursor:pointer;color:var(--text-300);font-size:16px;padding:0;line-height:1;transition:color .2s;flex-shrink:0}
.p-del:hover{color:#E53935}

/*==================================================
  STUDY PLANS
==================================================*/
.plan-hero{
  background:linear-gradient(135deg,var(--primary-dark) 0%,#6B1A30 60%,#3D0D1E 100%);
  border-radius:var(--r);padding:26px;color:white;margin-bottom:20px;
  position:relative;overflow:hidden;box-shadow:var(--shadow-lg);
}
.plan-hero::after{content:'✦';position:absolute;right:18px;bottom:8px;font-size:90px;opacity:.06;line-height:1}
.ph-plan-title{font-family:'Cinzel',serif;font-size:20px;letter-spacing:2px;margin-bottom:4px}
.ph-plan-script{font-family:'Great Vibes',cursive;font-size:26px;opacity:.9;line-height:1.1}
.plan-prog-wrap{background:rgba(255,255,255,.18);border-radius:6px;height:7px;margin:14px 0 6px;overflow:hidden}
.plan-prog-fill{height:100%;border-radius:6px;background:var(--gold-200);transition:width .6s}
.plan-prog-label{font-family:'Cinzel',serif;font-size:10px;opacity:.75;letter-spacing:1px}
.plan-list{display:flex;flex-direction:column;gap:10px}
.plan-item{
  background:var(--surface);border-radius:var(--r);padding:16px 18px;
  box-shadow:var(--shadow-sm);border:1px solid var(--blush-200);
  display:flex;align-items:center;gap:14px;cursor:pointer;transition:all .2s;
}
.plan-item:hover{box-shadow:var(--shadow-lg);border-color:var(--primary);transform:translateY(-2px)}
.plan-item-ico{
  width:46px;height:46px;border-radius:12px;flex-shrink:0;
  background:linear-gradient(135deg,var(--rose-100),#fde4ec);
  display:flex;align-items:center;justify-content:center;font-size:24px;
}
.plan-item-body{flex:1;min-width:0}
.plan-item-name{font-family:'Cinzel',serif;font-size:13px;color:var(--primary-dark);letter-spacing:1px}
.plan-item-desc{font-size:12px;color:var(--text-500);margin-top:2px;line-height:1.4}
.plan-item-days{font-family:'Cinzel',serif;font-size:10px;color:var(--gold-500);letter-spacing:1px;margin-top:4px}
.plan-mini-bar{height:3px;background:var(--blush-200);border-radius:3px;margin-top:6px;overflow:hidden}
.plan-mini-fill{height:100%;border-radius:3px;background:var(--primary)}
.plan-item-arr{color:var(--text-300);font-size:20px;flex-shrink:0}
.plan-tag{
  display:inline-block;background:var(--rose-100);color:var(--primary);
  border-radius:6px;padding:2px 9px;font-size:9px;font-family:'Cinzel',serif;
  letter-spacing:1px;margin-left:auto;flex-shrink:0;
}

/*==================================================
  BOOKMARKS
==================================================*/
.bm-item{
  display:flex;align-items:center;gap:12px;
  background:var(--surface);border-radius:var(--r);
  padding:13px 16px;box-shadow:var(--shadow-sm);
  border:1px solid var(--blush-200);margin-bottom:8px;
  cursor:pointer;transition:all .2s;
}
.bm-item:hover{box-shadow:var(--shadow-lg);border-color:var(--gold-400);transform:translateX(3px)}
.bm-ico{font-size:22px;flex-shrink:0}
.bm-body{flex:1;min-width:0}
.bm-ref{font-family:'Cinzel',serif;font-size:12px;color:var(--gold-500);letter-spacing:1px}
.bm-text{font-family:'EB Garamond',serif;font-style:italic;font-size:14px;color:var(--text-700);line-height:1.5;margin-top:2px}
.bm-date{font-size:10px;color:var(--text-300);font-style:italic;margin-left:auto;white-space:nowrap;padding-left:8px;flex-shrink:0}
.bm-del{background:none;border:none;cursor:pointer;color:var(--text-300);font-size:17px;padding:0;transition:color .2s;flex-shrink:0}
.bm-del:hover{color:#E53935}

/*==================================================
  COMMUNITY
==================================================*/
.community-post{
  background:var(--surface);border-radius:var(--r);padding:18px;
  box-shadow:var(--shadow-sm);border:1px solid var(--blush-200);margin-bottom:12px;transition:all .2s;
}
.community-post:hover{box-shadow:var(--shadow)}
.post-hd{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.post-av{
  width:36px;height:36px;border-radius:50%;flex-shrink:0;
  background:linear-gradient(135deg,var(--primary),var(--primary-dark));
  display:flex;align-items:center;justify-content:center;
  color:white;font-family:'Cinzel',serif;font-size:13px;font-weight:700;
}
.post-name{font-family:'Cinzel',serif;font-size:12px;color:var(--primary-dark);letter-spacing:.5px}
.post-time{font-size:11px;color:var(--text-300);margin-left:auto;font-style:italic}
.post-text{font-family:'EB Garamond',serif;font-size:15px;color:var(--text-900);line-height:1.75}
.post-foot{display:flex;gap:14px;margin-top:12px;padding-top:10px;border-top:1px solid var(--blush-200)}
.post-act{background:none;border:none;cursor:pointer;font-size:12px;color:var(--text-500);font-family:'Cinzel',serif;letter-spacing:.5px;display:flex;align-items:center;gap:4px;padding:0;transition:color .2s}
.post-act:hover{color:var(--primary)}

/*==================================================
  TOAST & OVERLAYS
==================================================*/
#toast{
  position:fixed;bottom:24px;right:24px;z-index:9999;
  background:var(--primary-dark);color:white;
  font-family:'Cinzel',serif;font-size:11px;letter-spacing:1px;
  padding:12px 22px;border-radius:12px;
  box-shadow:0 8px 24px rgba(0,0,0,.25);
  transform:translateY(80px);opacity:0;
  transition:all .35s;pointer-events:none;
}
#toast.on{transform:translateY(0);opacity:1}
#verse-tooltip{
  position:fixed;z-index:500;background:var(--primary-dark);color:white;
  font-family:'Cinzel',serif;font-size:10px;letter-spacing:1px;
  padding:5px 12px;border-radius:8px;pointer-events:none;display:none;
  box-shadow:0 4px 12px rgba(0,0,0,.3);white-space:nowrap;
}
/* mobile overlay */
#sidebar-overlay{
  display:none;position:fixed;inset:0;z-index:79;
  background:rgba(0,0,0,.3);backdrop-filter:blur(2px);
}

/*==================================================
  RESPONSIVE
==================================================*/
@media(max-width:720px){
  :root{--topbar-h:54px;--sidebar-w:260px}
  #menu-btn{display:flex!important}
  #sidebar{position:fixed;top:var(--topbar-h);left:0;bottom:0;z-index:80;transform:translateX(calc(-1 * var(--sidebar-w)))}
  #sidebar.open{transform:translateX(0);box-shadow:4px 0 20px rgba(0,0,0,.2)}
  #sidebar-overlay.vis{display:block}
  .stats{grid-template-columns:repeat(2,1fr)}
  .g2,.g3{grid-template-columns:1fr}
  .topbar-search{display:none}
  /* Open book responsive */
  .book-viewer{padding:8px 4px}
  #open-book{flex-direction:column;height:auto;border-radius:3px}
  #book-spine{width:100%;height:16px;flex-direction:row;justify-content:center;border-radius:3px 3px 0 0}
  #spine-label{writing-mode:horizontal-tb;transform:none;font-size:8px;letter-spacing:2px}
  #page-left,#page-right{flex:none;height:300px;border-radius:0;border:3px solid #E8A89E}
  #page-left{border-bottom:none;border-radius:0}
  #page-right{border-top:none;transform-origin:top center;border-radius:0 0 3px 3px}
  #page-right.flip-fwd{transform:rotateX(-175deg)}
  #page-right.flip-bk{transform:rotateX(175deg)}
  #page-right.flip-bk-go{transform:rotateX(0deg)}
  #book-prev{left:2px;width:28px;height:48px;font-size:16px}
  #book-next{right:2px;width:28px;height:48px;font-size:16px}
  .pg-inner{padding:20px 14px 12px}
  /* Bible mobile: stacked */
  .book-viewer{flex-direction:column}
  
  
  
  
  
  
  #bible-pages{width:100%}
  .hl-label{display:none}
}

.hl-search-verse{background:rgba(255,235,59,.5)!important;animation:searchPulse 1.5s ease-out;border-radius:4px;}
@keyframes searchPulse{0%{box-shadow:0 0 0 0 rgba(201,150,58,.6)}70%{box-shadow:0 0 0 8px rgba(201,150,58,0)}100%{box-shadow:0 0 0 0 rgba(201,150,58,0)}}

/* ── Study Lesson Audio Player ─────────────────── */
#sd-lessons-list [id$="-wrap"] {
  display:block;
}
.lesson-audio-row {
  display:flex;align-items:center;gap:8px;
  margin-top:9px;padding-top:9px;
  border-top:1px solid var(--blush-100,#FAE8E5);
}

/* ════════════════════════════════════════════════════════════
   COMMUNITY FEED
════════════════════════════════════════════════════════════ */
.comm-post {
  background: white;
  border-radius: var(--r);
  padding: 18px 20px;
  box-shadow: var(--shadow);
  border: 1px solid var(--blush-200);
  margin-bottom: 14px;
  transition: box-shadow .2s;
}
.comm-post:hover { box-shadow: var(--shadow-lg); }
.comm-post.pinned {
  border-left: 4px solid var(--gold-400);
  background: linear-gradient(135deg, #fffbf0, white);
}
.comm-post-hd {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.comm-post-av {
  width: 38px; height: 38px; border-radius: 50%;
  background: linear-gradient(135deg, var(--primary), var(--primary-dark));
  color: white;
  font-family: 'Cinzel', serif; font-size: 16px; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.comm-post-name {
  font-family: 'Cinzel', serif; font-size: 12px;
  color: var(--primary-dark); letter-spacing: .5px;
}
.comm-ministry-badge {
  font-family: 'Cinzel', serif; font-size: 9px; letter-spacing: 1px;
  background: linear-gradient(135deg, var(--primary), var(--gold-500));
  color: white; padding: 2px 8px; border-radius: 10px;
}
.comm-post-time {
  font-family: 'Cinzel', serif; font-size: 9px;
  color: var(--text-300); letter-spacing: 1px; margin-left: auto;
}
.comm-post-body {
  font-family: 'EB Garamond', serif; font-size: 17px;
  line-height: 1.75; color: var(--text-700);
  margin-bottom: 12px;
}
.comm-post-footer {
  display: flex; align-items: center; gap: 6px;
  flex-wrap: wrap; padding-top: 10px;
  border-top: 1px solid var(--blush-100);
}
.comm-react-btn {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 6px 12px; border-radius: 20px;
  border: 1.5px solid var(--blush-200);
  background: white; cursor: pointer;
  font-family: 'Cinzel', serif; font-size: 10px;
  color: var(--text-700); letter-spacing: .5px;
  transition: all .18s;
}
.comm-react-btn:hover { background: var(--rose-100); border-color: var(--primary); }
.comm-react-btn.active-praise { background: #fff3e0; border-color: var(--gold-400); color: var(--gold-500); }
.comm-react-btn.active-love   { background: #fde8ec; border-color: var(--rose-300); color: var(--primary); }
.comm-comment-area {
  margin-top: 12px; padding-top: 12px;
  border-top: 1px solid var(--blush-100);
}
.comm-comment {
  display: flex; gap: 8px; margin-bottom: 10px; align-items: flex-start;
}
.comm-comment-av {
  width: 28px; height: 28px; border-radius: 50%; flex-shrink: 0;
  background: linear-gradient(135deg, var(--blush-300), var(--rose-300));
  color: white; font-family: 'Cinzel', serif; font-size: 12px;
  display: flex; align-items: center; justify-content: center;
}
.comm-comment-body {
  background: var(--blush-50); border-radius: 0 10px 10px 10px;
  padding: 8px 12px; flex: 1;
}
.comm-comment-name {
  font-family: 'Cinzel', serif; font-size: 10px;
  color: var(--primary-dark); margin-bottom: 3px;
}
.comm-comment-text {
  font-family: 'EB Garamond', serif; font-size: 15px;
  color: var(--text-700); line-height: 1.55;
}
.comm-comment-time {
  font-family: 'Cinzel', serif; font-size: 9px;
  color: var(--text-300); margin-top: 3px;
}
.comm-reply-input {
  display: flex; gap: 8px; align-items: center; margin-top: 8px;
}
.comm-reply-input input {
  flex: 1; padding: 8px 12px; border-radius: 20px;
  border: 1.5px solid var(--blush-200);
  font-family: 'EB Garamond', serif; font-size: 15px;
  outline: none; background: var(--blush-50);
  transition: all .2s;
}
.comm-reply-input input:focus {
  border-color: var(--gold-400); background: white;
}
.comm-reply-send {
  padding: 8px 16px; border-radius: 20px;
  background: var(--primary); color: white; border: none;
  cursor: pointer; font-family: 'Cinzel', serif;
  font-size: 10px; letter-spacing: 1px; flex-shrink: 0;
  transition: all .2s;
}
.comm-reply-send:hover { background: var(--primary-dark); }
.comm-pin-badge {
  font-family: 'Cinzel', serif; font-size: 9px;
  color: var(--gold-500); letter-spacing: 1.5px;
}


/* ════════════════════════════════════════════════════════════════
   FINAL MINISTRY POLISH — Women Rooted in Truth
════════════════════════════════════════════════════════════════ */

/* ── LOGIN SCREEN — calm, beautiful, uncluttered ── */
#login-screen {
  background: linear-gradient(160deg, #fce8e6 0%, #f9d5d0 35%, #f2c4be 65%, #eeddd6 100%);
}
.login-box {
  max-width: 420px;
  margin: 0 auto;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,.7);
  padding: 36px 32px 28px !important;
  gap: 16px !important;
}
.login-crown { font-size: 42px !important; line-height: 1; }
.login-title { margin-bottom: 2px !important; }
.login-verse {
  font-size: 14px !important;
  line-height: 1.8 !important;
  opacity: .85;
}

/* ── LIVE STUDY — featured event card look ── */
.live-upcoming {
  border-radius: 14px !important;
  border: 1.5px solid var(--blush-200) !important;
  background: linear-gradient(135deg, #fff8f9, #fff5f7) !important;
  box-shadow: 0 4px 20px rgba(139,58,82,.08) !important;
}
.live-upcoming .btn-primary {
  background: linear-gradient(135deg, var(--primary), var(--primary-dark)) !important;
  font-size: 11px !important;
  padding: 11px 20px !important;
  letter-spacing: 2px !important;
  box-shadow: 0 4px 14px rgba(139,58,82,.3) !important;
}

/* ── DEVOTION CARD — complete, sectioned feel ── */
#home-devo-card {
  border-radius: var(--r) !important;
}
#home-devo-full-panel > div {
  margin-bottom: 16px;
}
.devo-ref { font-size: 11px !important; letter-spacing: 1.5px !important; }

/* ── STATS GRID — cleaner ── */
.stats {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 8px !important;
}
.stat {
  border-radius: 12px !important;
  background: rgba(255,255,255,.7) !important;
  border: 1px solid var(--blush-200) !important;
}

/* ── QUICK GRID — more breathable ── */
.quick-grid {
  grid-template-columns: repeat(3,1fr) !important;
}

/* ── SECTION LABELS — consistent small-caps style ── */
.devo-section-label,
.comm-ministry-badge {
  text-transform: uppercase;
  letter-spacing: 2px;
}

/* ── DEVO REFRESH BUTTON ── */
#devo-reload-btn:hover {
  background: rgba(255,255,255,.25) !important;
  color: white !important;
  transform: scale(1.03);
}
#devo-reload-btn:active {
  transform: scale(.97);
}

/* ── NOTES / PRAYER / STUDY CARDS ── */
.note-card {
  border-radius: 12px !important;
  transition: box-shadow .2s !important;
}
.note-card:hover { box-shadow: var(--shadow-lg) !important; }

/* ── SUBSCRIPTION / SUPPORT PANEL ── */
/* Scoped to profile panel only */
#profile-panel .plan-hero { border-radius: var(--r) !important; }
#profile-panel .ph-plan-title { margin-bottom: 4px !important; }
#profile-panel .ph-plan-script { line-height: 1.3 !important; }

/* ── COMMUNITY POSTS ── */
.comm-post {
  border-radius: var(--r) !important;
}

/* ── BIBLE READER — page turn area ── */
.book-viewer {
  border-radius: var(--r) !important;
}

/* ── FOOTER ── */
.app-footer {
  background: linear-gradient(135deg, var(--ivory), var(--blush-50,#FFF5F4)) !important;
  border-top: 1px solid var(--blush-200) !important;
  text-align: center !important;
  padding: 22px 24px !important;
  line-height: 2 !important;
}

/* ── MOBILE RESPONSIVE ── */
@media(max-width: 480px) {
  .stats { grid-template-columns: repeat(2,1fr) !important; }
  .quick-grid { grid-template-columns: repeat(2,1fr) !important; }
  .login-box { padding: 28px 20px 22px !important; }
}

/* ── PRIMARY BUTTON CONSISTENCY ── */
.btn-primary {
  font-family: 'Cinzel', serif !important;
  letter-spacing: 2px !important;
  border-radius: 50px !important;
  transition: all .22s !important;
}
.btn-primary:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 20px rgba(139,58,82,.28) !important;
}

/* ── SECONDARY BUTTON CONSISTENCY ── */
.btn-outline, [class*="btn-sec"] {
  font-family: 'Cinzel', serif !important;
  letter-spacing: 1.5px !important;
  border-radius: 50px !important;
}

/* ── UTILITY BUTTONS ── */
.comm-react-btn, .post-act {
  border-radius: 20px !important;
}

/* ── ACCESSIBILITY: focus rings ── */
button:focus-visible {
  outline: 2px solid var(--gold-400) !important;
  outline-offset: 2px !important;
}
input:focus, textarea:focus, select:focus {
  outline: none !important;
  border-color: var(--gold-400) !important;
}


/* ================================================================
   PROFILE PANEL ISOLATION — Women Rooted in Truth
   Profile content is ONLY visible inside #profile-panel.
   showPanel() sets display:none on all panels before activating one.
   The avatar wrapper uses position:relative + overflow:hidden so
   absolutely-positioned children (photo img, camera badge) cannot
   escape into other sections.
================================================================ */
/* ── Profile avatar: position:relative + overflow:hidden
      so absolutely-positioned children (photo, upload btn)
      cannot escape the 68×68 circle boundary ── */
#profile-avatar-display {
  position: relative !important;
  overflow: hidden !important;
  width: 110px !important;
  height: 110px !important;
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
#profile-avatar-display > img {
  /* Constrain absolutely-positioned children to parent bounds */
  position: absolute;
}
#profile-avatar-display > button#prof-photo-upload-btn {
  overflow: visible; /* allow the button to peek slightly outside */
}
/* Topbar avatar stays in topbar — not in any panel */
#av {
  position: relative;
  overflow: hidden;
}


/* ══════════════════════════════════════════════════════════════════
   PROFILE PANEL ISOLATION
   — All profile content is contained within #profile-panel
   — .panel { display:none } already hides inactive panels
   — Extra guards below prevent any absolute-child escape
══════════════════════════════════════════════════════════════════ */

/* Guarantee every panel is truly invisible when not active */
.panel { display: none !important; overflow: hidden; }
.panel.active { display: block !important; overflow: visible; }

/* Topbar avatar (#av) stays small and circular — never expands */
#av {
  position: relative;
  overflow: hidden;
  border-radius: 50%;
  flex-shrink: 0;
  cursor: pointer;
}

/* prof-photo-upload-btn must NOT escape its parent */
#prof-photo-upload-btn {
  position: absolute !important;
  bottom: -2px !important;
  right: -2px !important;
  z-index: 2;
  pointer-events: auto;
}

/* prof-photo-img must stay inside the 68px circle */
#prof-photo-img {
  position: absolute !important;
  inset: 0 !important;
  width: 110px !important;
  height: 110px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  z-index: 1;
}

/* prof-av-initials is the background circle — z-index 0 */
#prof-av-initials {
  position: relative;
  z-index: 0;
  flex-shrink: 0;
}

/* Prevent any profile child from overflowing its panel */
#profile-panel * {
  max-width: 100%;
  box-sizing: border-box;
}

/* Strictly scope profile summary card visibility */
#prof-summary-card {
  display: none;
}
#profile-panel #prof-summary-card {
  display: block;
}

/* ════ PHASE 4 (2026-07-19): Admin content manager ════ */
.adm-card{background:#fff;border:1px solid var(--blush-200);border-radius:14px;padding:18px;margin-bottom:16px;box-shadow:0 2px 12px rgba(139,58,82,.06)}
.adm-head{font-family:'Cinzel',serif;font-size:11px;color:var(--primary-dark);letter-spacing:2px;margin-bottom:12px}
.adm-label{display:block;font-family:'Cinzel',serif;font-size:9px;color:var(--primary-dark);letter-spacing:1.5px;margin:10px 0 4px}
.adm-input{width:100%;box-sizing:border-box;padding:9px 12px;border:1.5px solid var(--blush-200);border-radius:10px;font-family:'EB Garamond',serif;font-size:15px;background:#fff;color:var(--text-900,#3E2A2E)}
.adm-input:focus{outline:2px solid var(--primary);outline-offset:1px}
textarea.adm-input{resize:vertical}
.adm-row{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap;margin-top:10px}
.adm-btn{padding:11px 18px;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border:none;border-radius:10px;cursor:pointer;font-family:'Cinzel',serif;font-size:10px;letter-spacing:1.5px}
.adm-btn-ghost{padding:11px 16px;background:none;border:1.5px solid var(--blush-200);color:var(--primary);border-radius:10px;cursor:pointer;font-family:'Cinzel',serif;font-size:10px;letter-spacing:1.5px}
.adm-btn-danger{padding:11px 16px;background:none;border:1.5px solid #d78;color:#b3475e;border-radius:10px;cursor:pointer;font-family:'Cinzel',serif;font-size:10px;letter-spacing:1.5px}
.adm-status{font-family:'EB Garamond',serif;font-style:italic;font-size:14px;color:var(--text-500,#8a6a72);background:var(--blush-50,#fdf3f6);border-radius:8px;padding:8px 12px;margin-top:10px}
.adm-note{font-family:'EB Garamond',serif;font-size:14px;color:var(--text-700,#5a4147);line-height:1.7;margin:0 0 10px}
.adm-st.adm-st-active{background:var(--primary);color:#fff;border-color:var(--primary)}

/* ════ PHASE 5 (2026-07-19): Rooted Discipleship Night card ════ */
.wk-card{background:linear-gradient(135deg,var(--primary,#8B3A52),var(--primary-dark,#6d2c40));color:#fff;border-radius:16px;padding:22px 24px;margin-bottom:18px;box-shadow:0 4px 18px rgba(139,58,82,.25)}
.wk-label{font-family:'Cinzel',serif;font-size:10px;letter-spacing:2.5px;opacity:.85;margin-bottom:10px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.wk-badge{font-family:'Cinzel',serif;font-size:9px;letter-spacing:1.5px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.35);border-radius:12px;padding:3px 10px}
.wk-badge-live{background:rgba(255,60,80,.35);border-color:rgba(255,120,130,.7)}
.wk-badge-done{opacity:.75}
.wk-title{font-family:'EB Garamond',serif;font-size:24px;line-height:1.25;margin-bottom:6px}
.wk-when{font-family:'Cinzel',serif;font-size:11px;letter-spacing:1.5px;color:#F5D9A8;margin-bottom:8px}
.wk-ref{font-family:'Cinzel',serif;font-size:11px;letter-spacing:1.5px;opacity:.9;margin-bottom:8px}
.wk-summary{font-family:'EB Garamond',serif;font-size:15px;line-height:1.75;opacity:.92;margin-bottom:14px}
.wk-empty{font-family:'EB Garamond',serif;font-style:italic;font-size:15px;line-height:1.7;opacity:.85;margin-bottom:12px}
.wk-actions{display:flex;gap:10px;flex-wrap:wrap}
.wk-btn-ghost{display:inline-block;padding:10px 16px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.4);color:#fff;border-radius:10px;cursor:pointer;font-family:'Cinzel',serif;font-size:10px;letter-spacing:1.5px;text-decoration:none}
.wk-recap{margin-top:14px;border-top:1px solid rgba(255,255,255,.2);padding-top:12px}
.wk-recap-text{font-family:'EB Garamond',serif;font-style:italic;font-size:15px;line-height:1.75;opacity:.9;margin-bottom:10px}

/* ════ PHASE 6 (2026-07-19): design tokens (consolidated aliases) ════ */
:root{
  --sage-100:#E4EEE2; --sage-300:#B9D2B4; --sage-500:#8BAF84;
  --wk-gold:#F5D9A8;
  --space-1:6px; --space-2:10px; --space-3:14px; --space-4:18px; --space-5:24px;
}

/* ════ PHASE 6: redesigned Home ════ */
.wb-continue-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px}
.wb-continue-btn{font-size:10px;letter-spacing:1.5px;padding:11px 20px;border-radius:22px}
.wb-lastref{font-family:'Cinzel',serif;font-size:11px;letter-spacing:1.5px;color:var(--primary-dark)}

.home-duo{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;margin-bottom:18px;align-items:stretch}
.home-duo-even{grid-template-columns:1fr 1fr}
@media(max-width:720px){.home-duo,.home-duo-even{grid-template-columns:1fr}}
.home-duo > .devo{margin-bottom:0}

.daily-actions{display:flex;flex-direction:column;gap:10px}
.da-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:#fff;border:1px solid var(--blush-200);border-radius:14px;padding:14px 16px;cursor:pointer;box-shadow:0 2px 10px rgba(139,58,82,.06);transition:transform .15s,box-shadow .15s;font:inherit;color:inherit}
.da-row:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(139,58,82,.12)}
.da-row:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.da-ico{width:38px;height:38px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--blush-50,#fdf3f6);border-radius:50%;font-size:17px}
.da-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.da-label{font-family:'Cinzel',serif;font-size:9px;letter-spacing:2px;color:var(--primary-dark)}
.da-text{font-family:'EB Garamond',serif;font-size:14px;line-height:1.5;color:var(--text-700,#5a4147);display:block;overflow:hidden;text-overflow:ellipsis}
.da-arrow{color:var(--primary);font-size:20px;flex-shrink:0}

.hs-card{background:#fff;border:1px solid var(--blush-200);border-radius:16px;padding:20px;box-shadow:0 2px 12px rgba(139,58,82,.07);display:flex;flex-direction:column;gap:8px}
.hs-card-gold{background:linear-gradient(135deg,#FBF6E9,#F7EED8);border-color:#EBDDB8}
.hs-label{font-family:'Cinzel',serif;font-size:9px;letter-spacing:2px;color:var(--primary-dark)}
.hs-title{font-family:'EB Garamond',serif;font-size:20px;line-height:1.3;color:var(--text-900,#3E2A2E)}
.hs-title-serif{font-size:17px;line-height:1.55}
.hs-sub{font-family:'EB Garamond',serif;font-style:italic;font-size:14px;color:var(--text-500,#8a6a72);line-height:1.6}
.hs-progress{height:8px;background:var(--blush-100,#f7e2e9);border-radius:6px;overflow:hidden;margin-top:4px}
.hs-progress-fill{height:100%;width:0;background:var(--sage-500);border-radius:6px;transition:width .4s}
.hs-btn{align-self:flex-start;margin-top:auto;padding:10px 16px;background:none;border:1.5px solid var(--blush-200);color:var(--primary);border-radius:10px;cursor:pointer;font-family:'Cinzel',serif;font-size:10px;letter-spacing:1.5px}
.hs-btn:hover{background:var(--blush-50,#fdf3f6)}

.rooted-verse{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--blush-50,#fdf3f6);border:1px solid var(--blush-200);border-radius:14px;padding:14px 18px;margin-bottom:10px}
.rv-heart{font-size:18px}
.rv-text{flex:1;min-width:220px;font-family:'EB Garamond',serif;font-size:14px;font-style:italic;line-height:1.65;color:var(--text-700,#5a4147)}
.rv-ref{font-family:'Cinzel',serif;font-size:9px;letter-spacing:2px;color:var(--text-500,#8a6a72)}

/* ════ TTS controls (2026-07-19) ════ */
.tts{display:flex;flex-direction:column;gap:10px}
.tts-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tts-btn{padding:9px 14px;border-radius:10px;cursor:pointer;font-family:'Cinzel',serif;font-size:9px;letter-spacing:1.5px;border:1.5px solid var(--blush-200);background:#fff;color:var(--primary)}
.tts-btn:disabled{opacity:.45;cursor:default}
.tts-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.tts-btn-main{background:linear-gradient(135deg,var(--primary),var(--primary-dark));border:none;color:#fff;padding:10px 16px}
.tts-label{font-family:'Cinzel',serif;font-size:8px;letter-spacing:1.5px;color:var(--text-500,#8a6a72)}
.tts-sel{padding:7px 10px;border:1.5px solid var(--blush-200);border-radius:8px;font-family:'EB Garamond',serif;font-size:13px;background:#fff;max-width:180px}
.tts-sel:focus-visible{outline:2px solid var(--primary);outline-offset:1px}
.tts-status{font-family:'Cinzel',serif;font-size:9px;letter-spacing:1.5px;color:var(--text-500,#8a6a72);margin-left:auto}
.tts-unsupported{font-family:'EB Garamond',serif;font-style:italic;font-size:14px;line-height:1.6}
.tts-ondark .tts-btn{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.35);color:#fff}
.tts-ondark .tts-btn-main{background:rgba(255,255,255,.22);border:1px solid rgba(255,255,255,.5)}
.tts-ondark .tts-label,.tts-ondark .tts-status{color:rgba(255,255,255,.75)}
.tts-ondark .tts-sel{background:rgba(255,255,255,.9)}
.tts-inline{flex-direction:row;flex-wrap:wrap;width:100%;padding-top:6px}
@media(prefers-reduced-motion:reduce){.tts-btn{transition:none}}

/* ════════════════════════════════════════════════════════════════
   PHASE 7 (2026-07-20) — REFERENCE-FAITHFUL HOME + ACCESSIBILITY
════════════════════════════════════════════════════════════════ */

/* Semantic heading resets — visual style unchanged, structure real */
h1.ph-title,h2.wb-title,h2.hs-label,h2.wk-label,h3.devo-mock-title{margin:0;font-weight:400}
blockquote.votd-text{margin:0}

/* Global visible focus (WCAG 2.4.7) */
:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}

/* ── Welcome banner with the reference photo ── */
.welcome-banner.wb-photo{position:relative;display:flex;align-items:stretch;overflow:hidden;background:linear-gradient(135deg,#FBEDE9,#F9E3DD);min-height:210px;padding:0;border-radius:18px}
.wb-photo .wb-content{flex:1;padding:30px 10px 26px 30px;position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center}
.wb-photo .wb-title{font-family:'EB Garamond',serif;font-size:34px;color:#7A2F44;line-height:1.15}
.wb-photo .wb-title::after{content:' 🌿';font-size:22px}
.wb-photo .wb-verse{font-family:'EB Garamond',serif;font-size:16px;line-height:1.6;color:#8a5a64;margin-top:8px}
.wb-photo-side{flex:0 0 42%;background:url('../images/home-banner.jpg') center right/cover no-repeat;position:relative}
.wb-photo-side::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#F9E3DD 0%,rgba(249,227,221,0) 40%)}
@media(max-width:900px){.wb-photo-side{flex-basis:34%}}
@media(max-width:640px){
  .welcome-banner.wb-photo{flex-direction:column;min-height:0}
  .wb-photo .wb-content{padding:22px}
  .wb-photo-side{flex:none;height:150px;background-position:center 65%}
  .wb-photo-side::before{background:linear-gradient(180deg,#F9E3DD 0%,rgba(249,227,221,0) 40%)}
  .wb-photo .wb-title{font-size:27px}
}

/* ── Devotional card: cream, per the reference ── */
.devo{background:#fff !important;color:var(--text-900,#3E2A2E) !important;border:1px solid var(--blush-200);box-shadow:0 2px 14px rgba(139,58,82,.07)}
.devo .devo-label,#devo-date-label{color:var(--primary-dark) !important}
#devo-loading-dot{background:var(--primary) !important}
.devo-mock-title{font-family:'EB Garamond',serif;font-size:30px;line-height:1.2;color:var(--text-900,#3E2A2E);margin:6px 0 2px}
.devo .devo-ref{color:var(--text-500,#8a6a72) !important;font-family:'Cinzel',serif;font-size:11px;letter-spacing:1.5px}
.devo .devo-text{color:var(--text-700,#5a4147) !important;font-family:'EB Garamond',serif;font-size:16px;line-height:1.8;font-style:normal}
.devo-read-btn{background:linear-gradient(135deg,var(--primary),var(--primary-dark));border:none;color:#fff;border-radius:10px;padding:11px 20px;cursor:pointer;font-family:'Cinzel',serif;font-size:10px;letter-spacing:1.5px;display:inline-flex;align-items:center;gap:6px}
.devo-ghost-btn{background:none;border:1.5px solid var(--blush-200);color:var(--primary);border-radius:10px;padding:10px 16px;cursor:pointer;font-family:'Cinzel',serif;font-size:10px;letter-spacing:1.5px}
/* Expanded reading shell keeps its warm dark interior (white inline text) */
.devo-expanded-shell{background:linear-gradient(135deg,var(--primary,#8B3A52),var(--primary-dark,#6d2c40));border-radius:14px;padding:18px}

/* ── Three-column band: devo · actions · photo ── */
.home-duo{grid-template-columns:1.35fr 1fr .52fr}
.home-side-photo{border-radius:16px;background:url('../images/home-side.jpg') center/cover no-repeat;min-height:100%;box-shadow:0 2px 14px rgba(139,58,82,.10)}
@media(max-width:1080px){.home-duo{grid-template-columns:1.35fr 1fr}.home-side-photo{display:none}}
@media(max-width:720px){.home-duo{grid-template-columns:1fr}}

/* ── Bottom trio ── */
.home-trio{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:18px;align-items:stretch}
@media(max-width:1080px){.home-trio{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.home-trio{grid-template-columns:1fr}}
.hs-card{position:relative;overflow:hidden}
.hs-card-rose{background:linear-gradient(160deg,#FBEDF1,#F7DEE6);border-color:#F0CFDA}
.hc-chip{align-self:flex-start;background:#fff;border:1px solid #EBDDB8;border-radius:16px;padding:6px 14px;font-family:'Cinzel',serif;font-size:9px;letter-spacing:1.5px;color:#8a6a2f}
.hc-plant{position:absolute;right:10px;bottom:8px;width:86px;height:104px;background:url('../images/challenge-plant.jpg') center/cover no-repeat;border-radius:10px;opacity:.95;box-shadow:0 2px 8px rgba(120,90,30,.18)}
@media(max-width:400px){.hc-plant{display:none}}
.hs-card-gold .hs-title-serif,.hs-card-gold .hs-sub{max-width:calc(100% - 92px)}
.cm-post{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:#fff;border:1px solid #F0CFDA;border-radius:12px;padding:10px 12px;cursor:pointer;font:inherit}
.cm-avatar{width:34px;height:34px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Cinzel',serif;font-size:12px;flex-shrink:0}
.cm-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.cm-name{font-family:'EB Garamond',serif;font-size:14px;color:var(--text-900,#3E2A2E);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cm-time{font-family:'Cinzel',serif;font-size:8px;letter-spacing:1px;color:var(--text-500,#8a6a72)}

/* ── Sidebar: Verse of the Day ── */
.sb-votd{border-top:1px solid var(--blush-200);margin-top:14px;padding-top:14px;position:relative}
.votd-text{font-family:'EB Garamond',serif;font-size:14px;font-style:italic;line-height:1.7;color:var(--text-700,#5a4147);padding:6px 2px}
.votd-ref{font-family:'Cinzel',serif;font-size:9px;letter-spacing:2px;color:var(--text-500,#8a6a72);margin-top:4px}
.sb-sprig{font-size:20px;opacity:.55;margin-top:10px;transform:rotate(-12deg)}

/* ── Gathering card: inner info panel + botanical accent (reference) ── */
.wk-card{position:relative;overflow:hidden}
.wk-card-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:18px;align-items:start;position:relative;z-index:1}
@media(max-width:820px){.wk-card-grid{grid-template-columns:1fr}}
.wk-info-panel{background:#FBEDF1;color:#5a2233;border-radius:14px;padding:16px 18px}
.wk-info-label{font-family:'Cinzel',serif;font-size:9px;letter-spacing:2px;color:#8B3A52;display:flex;align-items:center;gap:6px;margin-bottom:8px}
.wk-info-when{font-family:'EB Garamond',serif;font-size:16px;line-height:1.5;color:#4d1e2c}
.wk-info-discuss{font-family:'EB Garamond',serif;font-size:13px;font-style:italic;color:#8a5a64;margin-top:10px}
.wk-info-ref{font-family:'EB Garamond',serif;font-size:19px;color:#6d2c40;margin-top:2px}
.wk-info-theme{font-family:'EB Garamond',serif;font-style:italic;font-size:15px;color:#8B3A52;margin-top:2px}
.wk-leaf{position:absolute;right:-8px;bottom:-14px;width:150px;height:150px;opacity:.28;z-index:0;pointer-events:none}
/* Minimum readable sizes on small screens (labels only decorate) */
@media(max-width:480px){.da-label,.hs-label,.wk-label{font-size:10px}.da-text{font-size:14px}}
