/* site.css — EverVerse public community reading site (light, warm, calm). */
:root{
  --ink:#1c1a2e; --muted:#6b6b84; --accent:#7c5cff; --accent2:#3bb4bf;
  --line:#eae7f5; --cream:#fbfaff; --card:#ffffff;
  --grad:linear-gradient(135deg,#7c5cff 0%,#4bc0c8 100%);
  --shadow:0 16px 40px rgba(20,10,60,.09);
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{font-family:"Segoe UI",system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--cream);line-height:1.6;-webkit-font-smoothing:antialiased;}
.serif{font-family:Georgia,"Times New Roman",serif;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1080px;margin:0 auto;padding:0 22px;}
.hidden{display:none !important;}

/* Header + nav */
header.site{position:sticky;top:0;z-index:30;background:rgba(251,250,255,.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.bar{display:flex;align-items:center;gap:14px;height:62px;}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:19px;cursor:pointer;}
.logo .mark{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--grad);color:#fff;font-size:19px;box-shadow:0 6px 16px rgba(124,92,255,.35);}
nav.sections{display:flex;gap:4px;margin-left:auto;}
nav.sections button{background:none;border:none;font-size:15px;font-weight:600;color:var(--muted);padding:8px 14px;border-radius:10px;cursor:pointer;}
nav.sections button:hover{color:var(--ink);background:#f2eeff;}
nav.sections button.active{color:var(--accent);background:#f0ecff;}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;cursor:pointer;font-weight:700;font-size:15px;padding:11px 18px;border-radius:12px;transition:transform .06s ease;}
.btn:active{transform:translateY(1px);}
.btn.primary{background:var(--grad);color:#fff;box-shadow:0 8px 22px rgba(124,92,255,.28);}
.btn.ghost{background:#fff;color:var(--ink);border:1px solid var(--line);}
.btn.sm{padding:8px 12px;font-size:14px;border-radius:10px;}

/* Hero (Today) */
.hero{background:var(--grad);color:#fff;position:relative;overflow:hidden;}
.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(620px 320px at 82% 0%,rgba(255,255,255,.26),transparent 60%);}
.hero .wrap{position:relative;padding:44px 22px 40px;text-align:center;}
.hero h1{font-size:clamp(26px,4vw,40px);margin:0 0 10px;font-weight:800;letter-spacing:-.4px;}
.hero p{margin:0 auto;max-width:560px;opacity:.95;font-size:17px;}
.today-date{font-size:13px;text-transform:uppercase;letter-spacing:1px;opacity:.9;margin-bottom:6px;}

section.band{padding:40px 0;}
.section-title{font-size:22px;font-weight:800;margin:0 0 4px;}
.section-sub{color:var(--muted);margin:0 0 22px;font-size:15px;}
.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px;}

/* Post cards (Today) */
.posts-2{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
@media (max-width:800px){.posts-2{grid-template-columns:1fr;}}
.post{background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow);}
.post .imgwrap{background:#0b0f1c;display:grid;place-items:center;}
.post .imgwrap canvas{width:100%;height:auto;display:block;}
.post .body{padding:18px 20px 20px;}
.post .src{font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--accent);}
.post .mean{font-size:15px;color:#3a3a52;margin:10px 0 0;line-height:1.55;}
.post .mean b{color:var(--accent);}
.post .acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px;}
.langblock{margin-top:14px;padding-top:14px;border-top:1px dashed var(--line);}
.lb-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin-bottom:8px;}
.lb-row{display:flex;gap:10px;padding:4px 0;font-size:14px;line-height:1.4;}
.lb-lang{min-width:74px;color:var(--accent);font-weight:600;flex-shrink:0;}
.lb-text{color:#3a3a52;flex:1;}
.lb-listen{flex-shrink:0;background:#f0ecff;border:1px solid var(--line);border-radius:8px;width:30px;height:28px;cursor:pointer;font-size:14px;line-height:1;padding:0;}
.lb-listen:hover:not(:disabled){background:#e5dcff;}
.lb-listen:disabled{opacity:.4;cursor:default;}

/* Feed grid (Posts archive) */
.feed{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px;}
.feed .cell{cursor:pointer;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;transition:transform .08s ease,box-shadow .2s ease;}
.feed .cell:hover{transform:translateY(-3px);box-shadow:var(--shadow);}
.feed .cell canvas{width:100%;height:auto;display:block;background:#0b0f1c;}
.feed .cap{padding:9px 11px;}
.feed .cap .d{font-size:11px;color:var(--muted);}
.feed .cap .r{font-size:13px;font-weight:700;}
.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
select.pill{background:#fff;border:1px solid var(--line);border-radius:10px;padding:9px 12px;font-size:14px;color:var(--ink);}
input.search{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 14px;font-size:15px;min-width:200px;flex:1;}

/* Sermon + verse list */
.card-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;}
.tile{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;cursor:pointer;transition:transform .08s ease,box-shadow .2s ease;}
.tile:hover{transform:translateY(-3px);box-shadow:var(--shadow);}
.badges{display:flex;gap:8px;align-items:center;margin-bottom:8px;}
.badge{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:#fff;background:var(--accent);padding:3px 9px;border-radius:20px;}
.badge.alt{background:#eef0ff;color:var(--accent);}
.tile h3{margin:0 0 6px;font-size:17px;font-family:Georgia,serif;}
.tile .v{font-size:12px;color:var(--accent2);font-weight:700;margin-bottom:8px;}
.tile p{margin:0;font-size:14px;color:var(--muted);line-height:1.5;}
.vrow{display:flex;gap:12px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--line);cursor:pointer;}
.vrow:hover{background:#faf9ff;}
.vrow .vr-ref{min-width:130px;font-size:13px;font-weight:700;color:var(--accent2);}
.vrow .vr-text{font-size:15px;color:#3a3a52;}

/* Detail overlay */
.overlay{position:fixed;inset:0;z-index:40;background:rgba(20,12,45,.5);backdrop-filter:blur(4px);display:none;overflow-y:auto;padding:24px 14px;}
.overlay.open{display:block;}
.sheet{background:#fff;max-width:640px;margin:0 auto;border-radius:20px;box-shadow:0 30px 80px rgba(0,0,0,.4);overflow:hidden;}
.sheet .imgwrap{background:#0b0f1c;display:grid;place-items:center;}
.sheet .imgwrap canvas{width:100%;height:auto;max-height:70vh;display:block;}
.sheet .content{padding:22px 24px 26px;}
.sheet .close{float:right;background:#f2eeff;border:none;width:36px;height:36px;border-radius:50%;font-size:18px;cursor:pointer;color:var(--accent);}
.sheet h2{margin:6px 0 6px;font-size:22px;}
.sheet .meta{font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin-bottom:12px;}
.sheet blockquote.verse{font-family:Georgia,serif;font-size:19px;line-height:1.5;color:var(--ink);margin:0 0 6px;}
.sheet .ref{color:var(--accent2);font-weight:700;font-size:14px;}
.sheet .mean{margin-top:14px;padding:14px 16px;background:rgba(124,92,255,.1);border-left:3px solid var(--accent);border-radius:8px;font-size:15px;line-height:1.55;}
.sheet .mean b{color:var(--accent);}
.sheet .body p{font-size:16px;line-height:1.7;margin:0 0 14px;}
.sheet .body p[dir="rtl"],.sheet blockquote[dir="rtl"],.sheet .mean[dir="rtl"]{text-align:right;}
.sheet .acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px;}
.sheet .langrow{margin-top:16px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.sheet .status{font-size:13px;color:var(--muted);margin-top:8px;min-height:16px;}

/* Reactions */
.react-bar{display:flex;gap:10px;margin-top:14px;}
.react-btn{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:8px 15px;font-size:14px;font-weight:600;color:var(--ink);cursor:pointer;transition:transform .06s ease,border-color .15s;}
.react-btn:hover{transform:translateY(-1px);}
.react-btn.on.love{background:#ffeef3;border-color:#ff8ba0;color:#d94a6a;}
.react-btn.on.like{background:#eef2ff;border-color:var(--accent);color:var(--accent);}
.react-btn b{font-weight:800;}

/* Comments */
.comments{margin-top:20px;padding-top:18px;border-top:1px solid var(--line);}
.cmt-heading{font-weight:800;font-size:16px;margin-bottom:12px;}
.cmt-list{display:flex;flex-direction:column;gap:10px;margin-bottom:16px;max-height:340px;overflow:auto;}
.cmt{background:#f8f6ff;border:1px solid var(--line);border-radius:12px;padding:10px 13px;}
.cmt-name-lbl{font-size:12px;font-weight:700;color:var(--accent);margin-bottom:3px;}
.cmt-body{font-size:14px;line-height:1.5;color:#3a3a52;white-space:pre-wrap;}
.cmt-empty{color:var(--muted);font-size:14px;padding:8px 0;}
.cmt-form{display:flex;flex-direction:column;gap:8px;}
.cmt-form input,.cmt-form textarea{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:15px;font-family:inherit;}
.cmt-row{display:flex;align-items:center;gap:10px;}
.cmt-status{font-size:13px;color:var(--muted);}

/* Trending */
.trend-list{display:flex;flex-direction:column;gap:10px;}
.trend-row{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;cursor:pointer;transition:transform .08s ease,box-shadow .2s;}
.trend-row:hover{transform:translateY(-2px);box-shadow:var(--shadow);}
.trend-rank{font-size:20px;font-weight:800;color:var(--accent);min-width:26px;text-align:center;}
.trend-main{flex:1;min-width:0;}
.trend-ref{font-weight:700;font-size:14px;color:var(--accent2);}
.trend-text{font-size:14px;color:#3a3a52;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.trend-counts{font-size:14px;font-weight:700;white-space:nowrap;}

footer.site{padding:40px 0 90px;color:var(--muted);font-size:14px;text-align:center;border-top:1px solid var(--line);margin-top:20px;}
footer .adminlink{color:var(--muted);opacity:.5;font-size:12px;}
.follow{margin-top:20px;}
.follow > span{display:block;font-size:13px;color:var(--muted);margin-bottom:10px;text-transform:uppercase;letter-spacing:.6px;}
.social{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
.social a{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:9px 16px;font-size:14px;font-weight:600;color:var(--ink);transition:transform .06s ease,border-color .15s ease;}
.social a:hover{transform:translateY(-2px);border-color:var(--accent);color:var(--accent);}

/* Mobile bottom nav */
@media (max-width:720px){
  nav.sections{position:fixed;left:0;right:0;bottom:0;margin:0;z-index:60;background:rgba(251,250,255,.97);backdrop-filter:blur(10px);border-top:1px solid var(--line);justify-content:space-around;padding:6px env(safe-area-inset-right) calc(6px + env(safe-area-inset-bottom)) env(safe-area-inset-left);}
  nav.sections button{flex:1;font-size:12px;padding:8px 4px;border-radius:8px;}
  body{padding-bottom:64px;}
  .bar{height:56px;}
  .feed{grid-template-columns:repeat(2,1fr);}
  select.pill,input.search{font-size:16px;}
}

/* ---- 3D tilt-on-hover (depth) ---- */
.tilt { transition: transform .18s ease, box-shadow .18s ease; will-change: transform; transform-style: preserve-3d; }
.tilt:hover { box-shadow: 0 22px 44px rgba(20, 16, 40, .22); z-index: 2; }

/* ================= Content protection + app funnel ================= */
body.protect, body.protect .sheet, body.protect .post, body.protect .cell,
body.protect .mean, body.protect h1, body.protect h2, body.protect p {
  -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none;
  -webkit-touch-callout: none;
}
body.protect img, body.protect canvas { -webkit-user-drag: none; user-select: none; }
/* allow inputs to work */
body.protect input, body.protect textarea, body.protect select { -webkit-user-select: text; user-select: text; }

/* app-mode vs browser-mode visibility */
.app-only { display: none; }
.browser-only { display: none; }
body.app-mode .app-only { display: block; }
body.browser-mode .browser-only { display: block; }
body.browser-mode nav.sections button[data-go="posts"],
body.browser-mode nav.sections button[data-go="trending"],
body.browser-mode nav.sections button[data-go="sermons"],
body.browser-mode nav.sections button[data-go="verses"] { display: none; }

/* app download CTA band */
.appcta { background: linear-gradient(135deg, #2a1a5e 0%, #7c5cff 100%); color: #fff; text-align: center; }
.appcta .wrap { padding: 44px 20px; }
.appcta h2 { font-size: 26px; margin: 0 0 8px; color: #fff; }
.appcta p { color: rgba(255,255,255,.9); max-width: 560px; margin: 0 auto 22px; line-height: 1.55; }
.store-badges { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-bottom: 16px; }
.store-badge { display: inline-flex; align-items: center; gap: 8px; background: rgba(0,0,0,.28); border: 1px solid rgba(255,255,255,.25);
  color: #fff; border-radius: 12px; padding: 10px 16px; font-size: 14px; font-weight: 600; }
.store-badge small { display: block; font-size: 10px; opacity: .7; font-weight: 400; }
.btn-install { background: #fff; color: #4a2fb0; border: 0; border-radius: 12px; padding: 13px 26px; font-size: 16px; font-weight: 700; cursor: pointer; }
.appcta .lic { margin-top: 18px; font-size: 12px; color: rgba(255,255,255,.75); }

/* toast */
#ev-toast { position: fixed; left: 50%; bottom: 26px; transform: translateX(-50%) translateY(20px);
  background: #17122b; color: #fff; padding: 12px 18px; border-radius: 12px; font-size: 14px; box-shadow: 0 10px 30px rgba(0,0,0,.4);
  opacity: 0; pointer-events: none; transition: opacity .25s, transform .25s; z-index: 9999; max-width: 90vw; text-align: center; }
#ev-toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }
.lic-note { color: var(--muted); font-size: 12px; margin-top: 10px; }

/* ---- This Week + Wallpapers (app views) ---- */
body.browser-mode nav.sections button[data-go="week"],
body.browser-mode nav.sections button[data-go="saved"],
body.browser-mode nav.sections button[data-go="wallpapers"] { display: none; }

.week-list { display: flex; flex-direction: column; gap: 12px; margin-top: 12px; }
.week-card { display: flex; gap: 14px; align-items: center; background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 10px; cursor: pointer; transition: box-shadow .15s, transform .15s; }
.week-card:hover { box-shadow: 0 10px 26px rgba(20,16,40,.12); transform: translateY(-1px); }
.week-card.today { border-color: var(--brand, #7c5cff); box-shadow: 0 6px 20px rgba(124,92,255,.16); }
.week-card canvas { width: 84px; height: 84px; border-radius: 10px; flex: 0 0 auto; }
.week-info .wd { font-weight: 700; font-size: 16px; }
.week-info .wdt { color: var(--muted); font-size: 13px; margin: 2px 0; }
.week-info .wr { font-size: 13px; color: var(--ink); }

.wp-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 16px; margin-top: 12px; }
.wp-card { display: flex; flex-direction: column; gap: 8px; }
.wp-card canvas { width: 100%; height: auto; border-radius: 12px; box-shadow: 0 8px 22px rgba(0,0,0,.18); display: block; }
.wp-card .btn { width: 100%; }

.reminder-row { margin: 4px 0 16px; }
.reminder-row .btn { width: 100%; }
