/* ─── AFFIRMATIONS PAGE ──────────────────────────────────────── */

/* Light nav on affirmations page */
body.aff-page nav { background:rgba(251,247,244,.97); backdrop-filter:blur(16px); border-bottom:1px solid rgba(201,169,110,.2); }
body.aff-page .nav-logo-name { color:var(--espresso); }
body.aff-page .nav-links a { color:rgba(43,36,25,.65); }
body.aff-page .nav-links a:hover { color:var(--gold); }
body.aff-page .nav-aff-link { background:var(--gold) !important; color:var(--espresso) !important; }
body.aff-page .nav-drawer { background:rgba(242,237,226,.97) !important; }
body.aff-page .nav-drawer a { color:rgba(43,36,25,.75) !important; }
body.aff-page .nav-burger span { background:var(--espresso); }
body.aff-page { background:#FBF7F4; }

/* ─── SECTION ────────────────────────────────────────────────── */
#affirmations { background:#FBF7F4; }

.aff-inner {
  min-height:calc(100vh - 68px); display:flex; flex-direction:column; align-items:center;
  padding:76px 24px 60px; position:relative; overflow:hidden;
}
.aff-blob { position:absolute; border-radius:50%; filter:blur(90px); pointer-events:none; z-index:0; }
.aff-blob-1 { width:580px; height:580px; background:radial-gradient(circle,rgba(201,169,110,.15) 0%,transparent 70%); top:-120px; right:-70px; animation:affDA 22s ease-in-out infinite alternate; }
.aff-blob-2 { width:480px; height:480px; background:radial-gradient(circle,rgba(138,158,140,.18) 0%,transparent 70%); bottom:-70px; left:-50px; animation:affDB 28s ease-in-out infinite alternate; }
.aff-blob-3 { width:360px; height:360px; background:radial-gradient(circle,rgba(201,169,110,.1) 0%,transparent 70%); top:38%; left:24%; animation:affDC 34s ease-in-out infinite alternate; }
@keyframes affDA { from { transform:translate(0,0); } to { transform:translate(-50px,34px); } }
@keyframes affDB { from { transform:translate(0,0); } to { transform:translate(34px,-40px); } }
@keyframes affDC { from { transform:translate(0,0); } to { transform:translate(-22px,24px); } }

.aff-header { text-align:center; margin-bottom:40px; animation:fadeUp .8s ease both; position:relative; z-index:1; }
.aff-eyebrow { font-size:.58rem; font-weight:300; letter-spacing:.28em; text-transform:uppercase; color:#8B5E3C; margin-bottom:14px; display:flex; align-items:center; justify-content:center; gap:14px; }
.aff-eyebrow::before, .aff-eyebrow::after { content:''; width:28px; height:1px; background:rgba(139,94,60,.35); }
.aff-title { font-family:var(--fd); font-weight:300; font-size:clamp(1.9rem,4.2vw,3.1rem); color:var(--espresso); line-height:1.1; }
.aff-title em { font-style:italic; color:#8B5E3C; }
.aff-subtitle { margin-top:9px; font-family:var(--fd); font-size:.87rem; font-style:italic; color:rgba(43,36,25,.45); }

.aff-date { font-family:var(--fd); font-style:italic; font-size:.87rem; color:rgba(43,36,25,.4); margin-bottom:30px; animation:fadeUp .8s .1s ease both; position:relative; z-index:1; }

.aff-card-wrap { width:100%; max-width:680px; animation:fadeUp .8s .2s ease both; position:relative; z-index:1; }
.aff-card {
  background:#FDFAF4; border:1px solid rgba(201,169,110,.28);
  padding:58px 52px; position:relative; text-align:center;
  transition:opacity .36s ease, transform .36s ease;
  box-shadow:0 2px 40px rgba(60,30,15,.08), 0 1px 4px rgba(60,30,15,.04);
}
.aff-card::before { content:''; position:absolute; top:14px; left:14px; width:24px; height:24px; border-top:1px solid rgba(201,169,110,.3); border-left:1px solid rgba(201,169,110,.3); }
.aff-card::after  { content:''; position:absolute; bottom:14px; right:14px; width:24px; height:24px; border-bottom:1px solid rgba(201,169,110,.3); border-right:1px solid rgba(201,169,110,.3); }
.aff-card.out { opacity:0; transform:translateY(10px); }
.aff-card-num { font-size:.58rem; font-weight:300; letter-spacing:.25em; text-transform:uppercase; color:rgba(201,169,110,.55); margin-bottom:26px; }
.aff-text { font-family:var(--fd); font-weight:300; font-size:clamp(1.3rem,2.5vw,1.88rem); line-height:1.62; color:#2E2418; min-height:78px; display:flex; align-items:center; justify-content:center; }
.aff-cat { margin-top:26px; display:inline-flex; align-items:center; gap:10px; font-size:.57rem; font-weight:300; letter-spacing:.22em; text-transform:uppercase; color:var(--cocoa); }
.aff-cat::before, .aff-cat::after { content:''; display:inline-block; width:16px; height:1px; background:var(--cocoa); opacity:.45; }

.aff-dots { margin-top:30px; display:flex; align-items:center; justify-content:center; gap:6px; }
.aff-dot { width:5px; height:5px; border-radius:50%; background:rgba(201,169,110,.2); transition:all .3s; cursor:pointer; }
.aff-dot:hover { background:rgba(201,169,110,.5); }
.aff-dot.active { background:var(--gold); transform:scale(1.5); }
.aff-dot.viewed { background:rgba(201,169,110,.42); }

.aff-controls { display:flex; align-items:center; gap:16px; margin-top:38px; animation:fadeUp .8s .32s ease both; position:relative; z-index:1; flex-wrap:wrap; justify-content:center; }
.aff-btn { font-size:.6rem; font-weight:300; letter-spacing:.2em; text-transform:uppercase; border:none; cursor:pointer; background:none; color:rgba(43,36,25,.45); padding:10px 4px; transition:color .25s; font-family:var(--fs); }
.aff-btn:hover { color:#8B5E3C; }
.aff-btn-primary { background:#8B5E3C; color:var(--cream); padding:12px 30px; letter-spacing:.18em; font-weight:500; box-shadow:0 2px 18px rgba(139,94,60,.2); transition:background .25s, transform .2s; }
.aff-btn-primary:hover { background:#7A5235; transform:translateY(-1px); }
.aff-fav { background:none; border:none; cursor:pointer; font-size:1.05rem; color:rgba(201,169,110,.45); transition:all .2s; padding:8px; }
.aff-fav:hover { transform:scale(1.2); color:var(--gold); }
.aff-fav.active { color:#8B5E3C; }

.aff-daily { width:100%; max-width:680px; margin-top:48px; animation:fadeUp .8s .46s ease both; position:relative; z-index:1; }
.aff-daily-label { font-size:.56rem; font-weight:300; letter-spacing:.24em; text-transform:uppercase; color:rgba(43,36,25,.38); margin-bottom:16px; display:flex; align-items:center; gap:14px; font-family:var(--fs); }
.aff-daily-label::after { content:''; flex:1; height:1px; background:rgba(201,169,110,.25); }
.aff-mini-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.aff-mini { background:rgba(255,255,255,.65); border:1px solid rgba(201,169,110,.18); padding:18px 15px; cursor:pointer; transition:all .25s; text-align:center; }
.aff-mini:hover { border-color:rgba(201,169,110,.45); transform:translateY(-2px); background:rgba(255,255,255,.9); }
.aff-mini.active { border-color:#8B5E3C; background:rgba(139,94,60,.05); }
.aff-mini-cat { font-size:.52rem; letter-spacing:.18em; text-transform:uppercase; color:var(--cocoa); margin-bottom:6px; font-family:var(--fs); }
.aff-mini-text { font-family:var(--fd); font-size:.8rem; font-style:italic; color:rgba(43,36,25,.68); line-height:1.5; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }

.aff-ornament { display:flex; align-items:center; justify-content:center; gap:14px; margin:46px 0 20px; color:rgba(201,169,110,.55); font-size:.82rem; letter-spacing:.4em; position:relative; z-index:1; }
.aff-ornament::before, .aff-ornament::after { content:''; width:54px; height:1px; background:linear-gradient(90deg,transparent,rgba(201,169,110,.45)); }
.aff-ornament::after { transform:scaleX(-1); }

.aff-foot { text-align:center; margin-bottom:32px; position:relative; z-index:1; }
.aff-foot-powered { font-size:.56rem; font-weight:300; letter-spacing:.2em; text-transform:uppercase; color:rgba(43,36,25,.35); font-family:var(--fs); }
.aff-foot-powered span { color:#8B5E3C; }
.aff-foot-credit { margin-top:5px; font-family:var(--fd); font-style:italic; font-size:.78rem; color:rgba(43,36,25,.28); }

/* ─── RESPONSIVE ─────────────────────────────────────────────── */
@media (max-width:900px) {
  .aff-inner { padding:60px 18px 48px; }
  .aff-card { padding:44px 26px; }
  .aff-mini-grid { grid-template-columns:1fr; gap:8px; }
  .aff-controls { gap:12px; }
}
@media (max-width:480px) {
  .aff-card { padding:36px 20px; }
  .aff-title { font-size:clamp(1.65rem,7.5vw,2.4rem); }
}
