/* Shared styles for Aahana's Web blog (index + posts). */
:root {
  --pink:#ff5fa2; --grape:#8b5cf6; --sky:#38bdf8; --mint:#34d399;
  --sun:#ffd23f; --tanger:#ff8c42; --berry:#ef4444; --ink:#2b2350; --soft:#5b5680;
}
* { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { font-family:'Quicksand',sans-serif; color:var(--ink); background:#fdf7ff; line-height:1.7; overflow-x:hidden; }
h1,h2,h3,.brand,.btn,.tag,.post-card h3 { font-family:'Baloo 2',cursive; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; }

/* nav */
nav { position:sticky; top:0; z-index:30; padding:14px 22px; background:rgba(255,255,255,0.92); backdrop-filter:blur(14px); border-bottom:3px solid rgba(139,92,246,0.22); }
.nav-inner { display:flex; align-items:center; justify-content:space-between; max-width:1100px; margin:0 auto; gap:14px; flex-wrap:wrap; }
.brand { font-weight:800; font-size:1.3rem; background:linear-gradient(90deg,var(--grape),var(--pink),var(--tanger)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.nav-links { display:flex; gap:8px; flex-wrap:wrap; }
.nav-links a { padding:9px 15px; border-radius:999px; font-weight:700; font-size:.95rem; color:var(--ink); transition:all .2s ease; }
.nav-links a:hover { color:#fff; background:var(--grape); transform:translateY(-2px); }

/* buttons */
.btn { display:inline-flex; align-items:center; gap:8px; padding:13px 24px; border-radius:999px; font-weight:700; font-size:1rem; cursor:pointer; border:none; transition:transform .2s ease; }
.btn:hover { transform:translateY(-3px) scale(1.02); }
.btn-primary { background:linear-gradient(135deg,var(--grape),var(--pink)); color:#fff; box-shadow:0 14px 30px rgba(139,92,246,0.32); }
.btn-secondary { background:#fff; color:var(--grape); box-shadow:0 10px 24px rgba(139,92,246,0.16); }

/* blog index */
.blog-hero { max-width:1100px; margin:0 auto; padding:54px 22px 24px; text-align:center; }
.blog-hero h1 { font-size:clamp(2.2rem,5vw,3.6rem); margin-bottom:12px; }
.blog-hero h1 .grad { background:linear-gradient(90deg,var(--grape),var(--sky)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.blog-hero p { color:var(--soft); font-weight:500; max-width:640px; margin:0 auto; font-size:1.12rem; }
.posts { max-width:1100px; margin:0 auto; padding:24px 22px 50px; display:grid; gap:24px; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); }
.post-card { background:#fff; border-radius:24px; overflow:hidden; box-shadow:0 18px 42px rgba(43,35,80,0.09); transition:transform .25s ease, box-shadow .25s ease; display:flex; flex-direction:column; }
.post-card:hover { transform:translateY(-6px); box-shadow:0 28px 60px rgba(43,35,80,0.16); }
.post-card .thumb { height:160px; background:linear-gradient(135deg,var(--grape),var(--sky)); display:flex; align-items:center; justify-content:center; font-size:3.4rem; }
.post-card .body { padding:20px 22px 24px; display:flex; flex-direction:column; flex:1; }
.post-card .tag { align-self:flex-start; font-size:.72rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:#fff; background:var(--tanger); padding:4px 12px; border-radius:999px; margin-bottom:10px; }
.post-card h3 { font-size:1.3rem; margin-bottom:8px; }
.post-card p { color:var(--soft); font-weight:500; flex:1; }
.post-card .read { margin-top:14px; color:var(--grape); font-weight:700; }

/* article (post) */
.article-wrap { max-width:780px; margin:0 auto; padding:18px 22px 60px; }
.crumb { color:var(--soft); font-weight:600; margin:16px 0 4px; }
.crumb a { color:var(--grape); }
.post-head { padding:14px 0 6px; }
.post-head .tag { display:inline-block; font-size:.72rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:#fff; background:var(--grape); padding:5px 14px; border-radius:999px; }
.post-head h1 { font-size:clamp(2rem,5vw,3.1rem); line-height:1.1; margin:12px 0 8px; }
.post-head .byline { color:var(--soft); font-weight:600; }
.readout-bar { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin:16px 0 6px; }
.readout-btn { display:inline-flex; align-items:center; gap:8px; padding:11px 22px; border:none; border-radius:999px; background:linear-gradient(135deg,var(--pink),var(--tanger)); color:#fff; font-weight:700; font-family:'Baloo 2',cursive; font-size:1rem; cursor:pointer; box-shadow:0 10px 24px rgba(255,140,66,0.4); }
.readout-btn:hover { filter:brightness(1.07); }
.readout-hint { color:var(--soft); font-weight:600; font-size:.92rem; }

.article { font-size:1.1rem; color:#3a3852; }
.article h2 { font-size:1.7rem; margin:34px 0 10px; color:var(--ink); }
.article h3 { font-size:1.25rem; margin:22px 0 6px; color:var(--grape); }
.article p { margin:0 0 14px; }
.article ul, .article ol { margin:6px 0 16px 24px; }
.article li { margin-bottom:7px; }
.article blockquote { margin:18px 0; padding:14px 20px; background:#fff; border-left:6px solid var(--grape); border-radius:14px; font-style:italic; color:#4a4766; box-shadow:0 10px 26px rgba(43,35,80,0.06); }
.article .lead { font-size:1.2rem; color:var(--soft); font-weight:500; }
.keyfacts { background:#fff; border-radius:20px; padding:20px 24px; box-shadow:0 14px 34px rgba(43,35,80,0.07); margin:18px 0; }
.keyfacts h3 { margin-top:0; color:var(--tanger); }
.keyfacts dl { display:grid; grid-template-columns:auto 1fr; gap:8px 16px; }
.keyfacts dt { font-weight:700; color:var(--ink); }
.keyfacts dd { color:var(--soft); }

/* figures with graceful "image coming soon" placeholder */
.fig { margin:20px 0; }
.fig img { width:100%; border-radius:18px; display:block; box-shadow:0 16px 38px rgba(43,35,80,0.12); }
.fig figcaption { margin-top:8px; color:var(--soft); font-weight:600; font-size:.92rem; text-align:center; }
.fig.noimg img { display:none; }
.fig.noimg { }
.fig.noimg .ph { display:flex; align-items:center; justify-content:center; flex-direction:column; gap:6px; min-height:200px; border-radius:18px; background:linear-gradient(135deg,#efe9ff,#e6f6ff); color:var(--soft); font-weight:700; text-align:center; padding:18px; }
.fig .ph { display:none; }
.fig.noimg .ph { display:flex; }

/* tags row */
.tags-row { display:flex; flex-wrap:wrap; gap:8px; margin:26px 0 10px; }
.tags-row .tag { background:#efe9ff; color:var(--grape); font-weight:700; font-size:.85rem; padding:5px 14px; border-radius:999px; }

.nextcta { text-align:center; background:linear-gradient(135deg,var(--grape),var(--pink)); color:#fff; border-radius:26px; padding:32px 24px; margin:32px 0 8px; }
.nextcta h3 { font-size:1.6rem; margin-bottom:8px; } .nextcta p { opacity:.95; margin-bottom:18px; font-weight:500; }
.nextcta .btn-white { background:#fff; color:var(--grape); }

footer { text-align:center; padding:28px 22px 46px; color:var(--soft); font-weight:600; }
footer a { color:var(--grape); }

/* floating stop-reading button (created by readout.js) */
#tts-stop-btn { position:fixed; bottom:24px; right:24px; background:var(--berry); color:#fff; padding:14px 22px; border-radius:999px; border:none; font-weight:700; font-size:1rem; font-family:'Baloo 2',cursive; cursor:pointer; box-shadow:0 12px 28px rgba(0,0,0,0.3); z-index:9999; display:none; }
#tts-stop-btn.active { display:inline-flex; align-items:center; gap:6px; }
.tts-reading { background:rgba(255,210,63,0.35); border-radius:6px; }

@media (max-width:520px){ .nav-links a{padding:8px 11px; font-size:.86rem} }
