/* ============================================================
   Physics Mastery Hub — Extended Styles
   Ad slots, calculators, email capture, affiliate cards, exam prep
   ============================================================ */

/* --- AD SLOTS: CLS Prevention --- */
.ad-wrap{text-align:center;margin:1.5rem auto;max-width:800px}
.ad-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-light);margin-bottom:.3rem}
.ad-slot-banner{min-height:90px;width:100%;max-width:728px;background:rgba(0,0,0,.03);border-radius:6px;display:inline-block}
.ad-slot-rectangle{min-height:280px;width:100%;max-width:336px;background:rgba(0,0,0,.03);border-radius:6px;display:inline-block}
.ad-slot-responsive{min-height:250px;width:100%;background:rgba(0,0,0,.03);border-radius:6px;display:inline-block}
.ad-slot-sidebar{min-height:250px;width:300px;background:rgba(0,0,0,.03);border-radius:6px;display:inline-block}
.ad-sticky-footer{position:fixed;bottom:0;left:0;right:0;min-height:60px;background:var(--color-bg-card);border-top:1px solid var(--color-border);z-index:900;display:flex;align-items:center;justify-content:center;padding:4px}
.ad-sticky-close{position:absolute;right:8px;top:4px;background:none;border:none;font-size:.75rem;color:var(--color-text-light);cursor:pointer;padding:2px 6px}
@media(min-width:769px){.ad-sticky-footer{display:none}}

/* --- CALCULATOR PAGES --- */
.calc-hero{background:linear-gradient(135deg,#0a0e1a 0%,#0d1b3e 55%,#0a1628 100%);color:#fff;padding:3rem 1.5rem 2.5rem;text-align:center}
.calc-hero .eyebrow{display:inline-block;background:rgba(100,180,255,.15);color:#64b4ff;border:1px solid rgba(100,180,255,.3);border-radius:20px;padding:.3rem .9rem;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.8rem}
.calc-hero h1{font-size:clamp(1.6rem,4vw,2.4rem);font-weight:800}
.calc-hero .formula-banner{font-size:clamp(1.4rem,5vw,2.6rem);color:#7dd3fc;margin:.8rem 0}
.calc-hero p{color:rgba(255,255,255,.72);max-width:560px;margin:0 auto;font-size:.95rem}
.calculator-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius);padding:2rem;max-width:600px;margin:0 auto 2rem;box-shadow:var(--shadow)}
.calc-input-group{margin-bottom:1rem}
.calc-input-group label{display:block;font-weight:700;font-size:.85rem;margin-bottom:.35rem;color:var(--color-text)}
.calc-input-group .unit-tag{font-size:.75rem;color:var(--color-text-light);font-weight:400;margin-left:.3rem}
.calc-input-wrap{display:flex;gap:.5rem;align-items:center}
.calc-input-wrap input{flex:1;padding:.65rem 1rem;border:1.5px solid var(--color-border);border-radius:10px;font-size:1rem;color:var(--color-text);background:var(--color-bg);transition:border-color .2s;font-family:var(--font-mono)}
.calc-input-wrap input:focus{outline:none;border-color:var(--color-accent)}
.calc-input-wrap select{padding:.65rem .8rem;border:1.5px solid var(--color-border);border-radius:10px;font-size:.88rem;color:var(--color-text);background:var(--color-bg);min-width:90px}
.calc-result-box{background:linear-gradient(135deg,rgba(54,166,214,.08),rgba(54,166,214,.04));border:2px solid rgba(54,166,214,.25);border-radius:14px;padding:1.4rem 1.6rem;text-align:center;margin-top:1.2rem;min-height:80px;transition:all .3s ease}
.calc-result-box.has-result{border-color:var(--color-accent)}
.calc-result-value{font-size:2.2rem;font-weight:800;color:var(--color-accent);font-family:var(--font-mono);line-height:1.2}
.calc-result-unit{font-size:.9rem;color:var(--color-text-light);margin-top:.2rem}
.calc-result-formula{font-size:.78rem;color:var(--color-text-light);margin-top:.6rem;font-style:italic}
.calc-error{color:var(--color-error);font-size:.9rem;padding:.5rem 0}
.calc-reset-btn{background:none;border:1.5px solid var(--color-border);border-radius:8px;padding:.45rem 1rem;font-size:.82rem;color:var(--color-text-light);cursor:pointer;margin-top:.8rem;transition:all .2s}
.calc-reset-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}
.calc-divider{display:flex;align-items:center;gap:.8rem;margin:1rem 0;color:var(--color-text-light);font-size:.78rem}
.calc-divider::before,.calc-divider::after{content:'';flex:1;height:1px;background:var(--color-border)}
.calc-step{display:flex;gap:.8rem;padding:.8rem 1rem;border-left:3px solid var(--color-accent);background:var(--color-bg);border-radius:0 8px 8px 0;margin-bottom:.6rem;font-size:.9rem;align-items:flex-start}
.calc-step-num{background:var(--color-accent);color:#fff;font-weight:800;font-size:.7rem;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.related-calcs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.7rem;margin-top:1rem}
.related-calc-card{display:block;background:var(--color-bg);border:1.5px solid var(--color-border);border-radius:10px;padding:.75rem 1rem;text-decoration:none;color:var(--color-text);font-size:.85rem;font-weight:700;transition:all .2s}
.related-calc-card:hover{border-color:var(--color-accent);color:var(--color-accent);transform:translateY(-2px);text-decoration:none}
.related-calc-card .rc-icon{font-size:1.2rem;display:block;margin-bottom:.3rem}

/* --- EMAIL CAPTURE --- */
.email-capture-section{background:linear-gradient(135deg,#0a0e1a,#0d1b3e);padding:3rem 1.5rem;text-align:center;color:#fff}
.email-capture-section h2{color:#fff;margin-bottom:.5rem}
.email-capture-section p{color:rgba(255,255,255,.72);max-width:500px;margin:0 auto 1.5rem}
.email-form-row{display:flex;gap:.6rem;max-width:480px;margin:0 auto;flex-wrap:wrap;justify-content:center}
.email-form-row input[type=email]{flex:1;min-width:220px;padding:.75rem 1.1rem;border:1.5px solid rgba(255,255,255,.25);border-radius:10px;background:rgba(255,255,255,.08);color:#fff;font-size:.95rem;transition:border-color .2s}
.email-form-row input[type=email]::placeholder{color:rgba(255,255,255,.45)}
.email-form-row input[type=email]:focus{outline:none;border-color:var(--color-accent)}
.email-privacy-note{font-size:.72rem;color:rgba(255,255,255,.45);margin-top:.7rem}
.email-success-msg{display:none;background:rgba(16,185,129,.15);border:1px solid rgba(16,185,129,.3);border-radius:10px;padding:1rem 1.5rem;color:#34d399;font-weight:700;max-width:480px;margin:0 auto}
.exit-popup-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);z-index:9000;display:flex;align-items:center;justify-content:center}
.exit-popup-box{background:var(--color-bg-card);border-radius:var(--radius);padding:2.5rem 2rem 2rem;max-width:460px;width:90%;position:relative;text-align:center;box-shadow:var(--shadow-lg);animation:slideUp .35s ease}
.exit-popup-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.3rem;cursor:pointer;color:var(--color-text-light)}
.exit-popup-emoji{font-size:3rem;display:block;margin-bottom:.8rem}
.exit-popup-box h3{margin-bottom:.5rem}
.exit-popup-box p{color:var(--color-text-light);font-size:.9rem;margin-bottom:1.2rem}
.inline-signup{background:linear-gradient(135deg,rgba(54,166,214,.06),rgba(54,166,214,.02));border:1.5px solid rgba(54,166,214,.2);border-radius:var(--radius-sm);padding:1.2rem 1.3rem}
.inline-signup h4{margin-bottom:.5rem;font-size:.95rem}
.inline-signup p{font-size:.82rem;color:var(--color-text-light);margin-bottom:.8rem}
.inline-signup-row{display:flex;gap:.4rem}
.inline-signup-row input{flex:1;padding:.5rem .8rem;border:1.5px solid var(--color-border);border-radius:8px;font-size:.88rem;background:var(--color-bg);color:var(--color-text)}
.inline-signup-row input:focus{outline:none;border-color:var(--color-accent)}
.inline-signup-row button{background:var(--color-accent);color:#fff;border:none;border-radius:8px;padding:.5rem 1rem;font-weight:700;font-size:.82rem;cursor:pointer;white-space:nowrap}
.inline-signup-row button:hover{background:#2590c0}

/* --- AMAZON AFFILIATE BOOK CARDS --- */
.book-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-top:1rem}
.book-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column}
.book-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.book-cover{background:linear-gradient(135deg,#0a0e1a,#1a2744);padding:1.2rem;text-align:center;font-size:2.5rem;min-height:100px;display:flex;align-items:center;justify-content:center}
.book-info{padding:.8rem;flex:1;display:flex;flex-direction:column}
.book-title{font-size:.85rem;font-weight:700;color:var(--color-text);margin-bottom:.3rem;line-height:1.3}
.book-author{font-size:.75rem;color:var(--color-text-light);margin-bottom:.6rem}
.book-level{font-size:.68rem;font-weight:700;padding:.15rem .45rem;border-radius:10px;background:rgba(54,166,214,.1);color:var(--color-accent);display:inline-block;margin-bottom:.6rem}
.book-buy-btn{display:block;background:#ff9900;color:#000 !important;text-align:center;padding:.45rem;border-radius:6px;font-size:.78rem;font-weight:700;text-decoration:none;margin-top:auto;transition:background .2s}
.book-buy-btn:hover{background:#e68a00;text-decoration:none}
.affiliate-disclosure{font-size:.72rem;color:var(--color-text-light);margin-top:.6rem;font-style:italic}

/* --- EXAM PREP PAGES --- */
.exam-hero{background:linear-gradient(135deg,#0a0e1a 0%,#1a0a2e 50%,#0a1628 100%);padding:3.5rem 1.5rem 3rem;text-align:center;color:#fff}
.exam-badge{display:inline-block;background:rgba(234,109,78,.2);color:#ea6d4e;border:1px solid rgba(234,109,78,.4);border-radius:20px;padding:.3rem .9rem;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.8rem}
.exam-stats-row{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap;margin-top:1.5rem}
.exam-stat{text-align:center}
.exam-stat strong{display:block;font-size:1.8rem;font-weight:800;color:#f2b84b}
.exam-stat span{font-size:.78rem;color:rgba(255,255,255,.6)}
.topic-accordion{border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden;margin-bottom:.5rem}
.topic-accordion-header{display:flex;justify-content:space-between;align-items:center;padding:.9rem 1.2rem;cursor:pointer;background:var(--color-bg);font-weight:700;font-size:.92rem;user-select:none;transition:background .2s}
.topic-accordion-header:hover{background:var(--color-bg-card)}
.topic-accordion-header .tag{font-size:.7rem;font-weight:700;padding:.15rem .5rem;border-radius:10px;background:rgba(54,166,214,.1);color:var(--color-accent)}
.topic-accordion-body{display:none;padding:1rem 1.2rem 1.2rem;border-top:1px solid var(--color-border);background:var(--color-bg-card)}
.topic-accordion-body.open{display:block}
.exam-formula-list{list-style:none;padding:0;margin:0}
.exam-formula-list li{display:flex;align-items:baseline;gap:.7rem;padding:.35rem 0;border-bottom:1px dotted var(--color-border);font-size:.88rem}
.exam-formula-list li:last-child{border-bottom:none}
.efl-name{color:var(--color-text-light);flex:0 0 45%;font-size:.8rem}
.efl-eq{font-family:var(--font-mono);color:var(--color-text);flex:1}
.efl-link{font-size:.72rem;color:var(--color-accent);white-space:nowrap}
.practice-q{background:var(--color-bg);border-radius:10px;padding:1rem 1.2rem;margin-top:.8rem}
.practice-q-prompt{font-size:.9rem;font-weight:600;margin-bottom:.6rem;line-height:1.5}
.practice-q-choices{list-style:none;padding:0}
.practice-q-choices li{display:flex;gap:.5rem;align-items:flex-start;padding:.3rem .5rem;font-size:.85rem;cursor:pointer;border-radius:6px;transition:background .15s;margin-bottom:.2rem}
.practice-q-choices li:hover{background:rgba(54,166,214,.06)}
.choice-letter{background:var(--color-border);color:var(--color-text);font-weight:700;font-size:.72rem;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:.1rem}
.pq-correct .choice-letter{background:#10b981;color:#fff}
.pq-incorrect .choice-letter{background:#ef4444;color:#fff}
.practice-q-explain{display:none;margin-top:.6rem;padding:.6rem .8rem;background:rgba(16,185,129,.08);border-left:3px solid #10b981;border-radius:0 6px 6px 0;font-size:.82rem}
.practice-q-explain.show{display:block}
.section-divider{border:none;border-top:1px solid var(--color-border);margin:2rem 0}

/* --- ARTICLE LAYOUT (blog posts) --- */
.article-layout{max-width:100%}
.article-hero{background:linear-gradient(135deg,#0a0e1a 0%,#0d1b3e 55%,#0a1628 100%);padding:3.5rem 1.5rem 3rem;color:#fff}
.article-hero-inner{max-width:800px;margin:0 auto}
.article-meta-top{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap;margin-bottom:.8rem}
.article-category{background:rgba(100,180,255,.15);color:#64b4ff;border:1px solid rgba(100,180,255,.3);border-radius:20px;padding:.25rem .8rem;font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.read-time{font-size:.78rem;color:rgba(255,255,255,.55)}
.article-hero h1{font-size:clamp(1.7rem,4vw,2.6rem);font-weight:800;line-height:1.2;margin-bottom:.8rem}
.article-standfirst{color:rgba(255,255,255,.75);font-size:1.05rem;max-width:680px;line-height:1.7;margin-bottom:1.5rem}
.author-bar{display:flex;gap:.8rem;align-items:center;padding:.8rem;background:rgba(255,255,255,.06);border-radius:10px;width:fit-content}
.author-avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--color-accent),#ea6d4e);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1rem;color:#fff;flex-shrink:0}
.article-body{max-width:800px;margin:0 auto;padding:2rem 1.5rem}
.article-body h2{font-size:1.4rem;margin-top:2.5rem;margin-bottom:.8rem;padding-bottom:.4rem;border-bottom:2px solid var(--color-border)}
.article-body h3{font-size:1.1rem;margin-top:1.5rem;margin-bottom:.5rem;color:var(--color-accent)}
.article-body p{color:var(--color-text);line-height:1.8;margin-bottom:1rem}
.article-body ul,.article-body ol{padding-left:1.5rem;margin-bottom:1rem}
.article-body li{line-height:1.8;margin-bottom:.3rem;color:var(--color-text)}
.article-body blockquote{border-left:3px solid var(--color-accent);padding:.8rem 1.2rem;margin:1rem 0;font-style:italic;color:var(--color-text-light);background:var(--color-bg-card);border-radius:0 8px 8px 0}
.article-body details summary{cursor:pointer;font-weight:700;padding:.4rem 0;list-style:none}
.article-body details summary::marker,.article-body details summary::-webkit-details-marker{display:none}
.article-body details[open] summary{color:var(--color-accent)}

/* TOC */
.toc-box{background:var(--color-bg-card);border:1px solid var(--color-border);border-left:4px solid var(--color-accent);border-radius:var(--radius-sm);padding:1.2rem 1.5rem;margin-bottom:2rem}
.toc-box strong{display:block;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-light);margin-bottom:.6rem}
.toc-box ol{margin:0;padding-left:1.3rem}
.toc-box li{font-size:.85rem;margin-bottom:.3rem}
.toc-box a{color:var(--color-accent);text-decoration:none}
.toc-box a:hover{text-decoration:underline}

/* Callout boxes */
.callout-box{border-radius:10px;padding:1rem 1.3rem;margin:1.5rem 0;border-left:4px solid}
.callout-box.info{background:rgba(54,166,214,.06);border-color:var(--color-accent)}
.callout-box.warning{background:rgba(234,179,8,.06);border-color:#eab308}
.callout-box.caution{background:rgba(239,68,68,.06);border-color:#ef4444}
.callout-box strong{display:block;margin-bottom:.4rem;font-size:.88rem}
.callout-box p{margin:0;font-size:.88rem;color:var(--color-text-light)}

/* Formula highlight in articles */
.formula-highlight{background:linear-gradient(135deg,rgba(54,166,214,.08),rgba(54,166,214,.03));border:1px solid rgba(54,166,214,.2);border-radius:8px;padding:.7rem 1.2rem;margin:1rem 0;font-family:var(--font-mono);font-size:1.05rem;color:var(--color-accent);text-align:center;overflow-x:auto}

/* Data table in articles */
.data-table{width:100%;border-collapse:collapse;font-size:.85rem;margin:1rem 0}
.data-table th{text-align:left;padding:.5rem .8rem;background:var(--color-bg);font-weight:700;border-bottom:2px solid var(--color-border)}
.data-table td{padding:.45rem .8rem;border-bottom:1px solid var(--color-border)}
.data-table tbody tr:hover{background:var(--color-bg)}

/* Related posts */
.related-posts{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}
.related-posts h3{font-size:1rem;margin-bottom:1rem}
.related-posts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.8rem}
.related-post-card{display:block;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.8rem 1rem;text-decoration:none;transition:all .2s}
.related-post-card:hover{border-color:var(--color-accent);transform:translateY(-2px);text-decoration:none}
.rp-category{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--color-accent);margin-bottom:.3rem}
.rp-title{display:block;font-size:.85rem;font-weight:700;color:var(--color-text);line-height:1.4}
