/*
Theme Name: Daily Potter — Enchanted
Theme URI: https://example.com/daily-potter
Author: Meta AI for Daily Potter Club
Author URI: https://example.com
Description: A magical, purple-first WordPress theme for a J.K. Rowling fansite. Starry night header, floating particles, glowing cards, Hogwarts-house accents, dark reading mode, and clean blog/news layouts. Built for FSE-free classic themes.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: daily-potter
Tags: blog, news, custom-colors, custom-menu, featured-images, threaded-comments, translation-ready, dark, magical
*/

:root{--purple:#6d28d9;--purple2:#a855f7;--deep:#0f0a1e;--deep2:#1e1145;--gold:#fbbf24;--gold2:#f59e0b;--cream:#fdfaff;--ink:#1a1033;--muted:#6b5b8a;--card:#fff;--line:#e9e0ff}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,sans-serif;background:var(--cream);color:var(--ink);line-height:1.65}
body.light{background:#fffaf0}.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
h1,h2,h3,.brand strong{font-family:Cinzel,serif}h1{font-size:clamp(2.4rem,5vw,4rem);line-height:1.05}
a{color:var(--purple);text-decoration:none}a:hover{color:var(--purple2)}
.stars{position:fixed;inset:0;pointer-events:none;z-index:0;background-image:radial-gradient(1px 1px at 20% 30%,#fff 50%,transparent),radial-gradient(1px 1px at 60% 10%,#fbbf24 50%,transparent),radial-gradient(1.5px 1.5px at 80% 40%,#fff 50%,transparent),radial-gradient(1px 1px at 35% 70%,#fff 50%,transparent);opacity:.35}
.topbar{background:var(--deep);color:#e9d5ff;font-size:.82rem;position:relative;z-index:2}.topbar-inner{display:flex;justify-content:space-between;gap:12px;padding:8px 20px;flex-wrap:wrap}.topbar a{color:#fde68a}.pill-btn{background:#2e1a5e;color:#fff;border:1px solid #7c3aed;border-radius:999px;padding:3px 10px;cursor:pointer}
.site-header{background:linear-gradient(135deg,#2e1065,#6d28d9 55%,#9333ea);color:#fff;position:sticky;top:0;z-index:10;box-shadow:0 10px 30px rgba(46,16,101,.35)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px}.brand a{display:flex;gap:12px;align-items:center;color:#fff}.crest{font-size:2rem;background:#fbbf24;color:#2e1065;width:52px;height:52px;display:grid;place-items:center;border-radius:50%;box-shadow:0 0 0 3px #fff3,0 0 25px #fbbf24}.brand strong{font-size:1.35rem;letter-spacing:.08em;display:block}.brand small{font-size:.65rem;letter-spacing:.22em;opacity:.8}
.primary-nav{display:flex;gap:18px;align-items:center}.primary-nav ul{display:flex;gap:18px;list-style:none;margin:0;padding:0}.primary-nav a{color:#fff;font-weight:600}.primary-nav a:hover{color:var(--gold)}.search-mini{display:flex;background:#fff;border-radius:999px;overflow:hidden}.search-mini input{border:0;padding:8px 12px;outline:0;width:170px}.search-mini button{border:0;background:var(--gold);cursor:pointer;padding:0 12px}.menu-toggle{display:none;background:var(--gold);border:0;border-radius:8px;padding:8px 12px;font-weight:700}
.hero{background:linear-gradient(180deg,#1e1145,#4c1d95);color:#fff;padding:56px 0 48px;position:relative}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:center}.eyebrow{letter-spacing:.18em;font-size:.78rem;color:var(--gold);font-weight:700}.hero h1{color:#fff;margin:12px 0}.hero h1 em{color:var(--gold);font-family:'Playfair Display',serif}.lede{font-size:1.15rem;opacity:.92;max-width:520px}.hero-actions{display:flex;gap:12px;margin:22px 0}.btn{display:inline-block;padding:13px 22px;border-radius:999px;font-weight:700}.btn-gold{background:var(--gold);color:#2e1065;box-shadow:0 8px 20px rgba(251,191,36,.35)}.btn-ghost{border:2px solid #fff;color:#fff}.btn-small{padding:10px 16px}.house-strip{display:flex;gap:8px;flex-wrap:wrap}.house{border:1px solid #ffffff44;background:#ffffff14;color:#fff;border-radius:999px;padding:8px 12px;cursor:pointer}.house:hover{background:#fff;color:#2e1065}
.hero-card{background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 25px 60px rgba(0,0,0,.35);transform:rotate(1deg)}.hero-card img{width:100%;height:340px;object-fit:cover;display:block}.hero-card-label{display:block;padding:18px;color:var(--ink)}.hero-card-label strong{display:block;font-family:Cinzel,serif;font-size:1.25rem;margin:8px 0 4px}.hero-card-label small{color:var(--muted)}.hero-placeholder{padding:60px;text-align:center;color:var(--ink)}.hero-placeholder .big{font-size:4rem}
.section-head{display:flex;justify-content:space-between;align-items:end;margin:48px 0 20px}.section-head h2{font-size:2rem;margin:0}.section-head p{color:var(--muted);margin:4px 0 0}.link-arrow{font-weight:700}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.post-card{background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 8px 24px rgba(109,40,217,.08);transition:.25s}.post-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(109,40,217,.18)}.card-thumb{display:block;position:relative}.card-thumb img{width:100%;height:210px;object-fit:cover;display:block}.thumb-fallback{height:210px;display:grid;place-items:center;font-size:3rem;background:linear-gradient(135deg,#6d28d9,#ec4899)}.card-cat{position:absolute;left:12px;top:12px}.cat-badge{display:inline-block;padding:5px 10px;border-radius:999px;font-size:.75rem;font-weight:700;color:#fff;background:var(--purple)}.house-gryffindor{background:#991b1b}.house-slytherin{background:#065f46}.house-ravenclaw{background:#1e40af}.house-hufflepuff{background:#b45309}.card-body{padding:18px}.meta{font-size:.82rem;color:var(--muted)}.card-body h3{font-size:1.2rem;line-height:1.3;margin:8px 0}.card-body p{color:#4a3a66}.read-more{font-weight:700}
.quote-band{background:var(--deep);color:#fff;text-align:center;padding:44px 0;margin:56px 0}.quote-band blockquote{font-family:'Playfair Display',serif;font-size:clamp(1.4rem,3vw,2rem);margin:10px 0}.quote-band cite{color:var(--gold)}
.two-col{display:grid;grid-template-columns:1.4fr .6fr;gap:24px;margin-bottom:56px}.start-list a{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:12px}.start-list span{color:var(--muted);font-size:.9rem}.poll-card{background:linear-gradient(135deg,#6d28d9,#9333ea);color:#fff;border-radius:18px;padding:22px}.poll-card label{display:block;margin:8px 0}
.single,.page-article{padding:36px 0}.narrow{max-width:780px}.breadcrumb{color:var(--muted);font-size:.9rem}.single-title{font-size:clamp(2rem,4vw,3rem);line-height:1.1}.single-meta{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;margin:18px 0}.single-hero img{width:100%;border-radius:18px}.entry-content{font-size:1.08rem}.entry-content img{max-width:100%;height:auto;border-radius:12px}.entry-content h2{margin-top:32px}.share-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;background:#f3efff;border-radius:12px;padding:14px;margin:28px 0}.author-box{display:flex;gap:14px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}.avatar{font-size:2rem;width:56px;height:56px;background:var(--gold);border-radius:50%;display:grid;place-items:center;flex-shrink:0}
.archive-head{padding:36px 0 10px}.pagination{margin:28px 0;text-align:center}.pagination .nav-links{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.pagination a,.pagination span{padding:10px 14px;border-radius:10px;background:#fff;border:1px solid var(--line)}.pagination .current{background:var(--purple);color:#fff}
.site-footer{background:var(--deep);color:#d8c8ff;margin-top:40px;padding:48px 0 20px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:28px}.site-footer h3,.site-footer h4{color:#fff}.socials{display:flex;gap:10px;flex-wrap:wrap}.socials a{color:#fff;background:#ffffff14;padding:6px 10px;border-radius:999px}.newsletter-form{display:flex;gap:8px}.newsletter-form input{flex:1;padding:11px;border-radius:999px;border:0}.newsletter-form button{background:var(--gold);border:0;border-radius:999px;padding:11px 14px;font-weight:700;cursor:pointer}.footer-bottom{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid #ffffff22;margin-top:32px;padding-top:16px;font-size:.9rem}.footer-bottom ul{display:flex;gap:14px;list-style:none;margin:0;padding:0}.footer-bottom a{color:#d8c8ff}
.notfound{text-align:center;padding:80px 0}.notfound .big{font-size:5rem}.comments-area{padding-bottom:40px}.comments-area ol{list-style:none;padding:0}.comment{border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:12px;background:#fff}.comment-form input,.comment-form textarea{width:100%;padding:11px;border:1px solid var(--line);border-radius:10px;margin-bottom:10px}.comment-form .submit{background:var(--purple);color:#fff;border:0;padding:12px 20px;border-radius:999px;font-weight:700;cursor:pointer}
.widget{margin-bottom:18px}.widget-title{font-size:1.05rem}
@media(max-width:900px){.card-grid{grid-template-columns:repeat(2,1fr)}.hero-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.two-col{grid-template-columns:1fr}}
@media(max-width:640px){.card-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.menu-toggle{display:block}.primary-nav{display:none;flex-direction:column;align-items:flex-start;background:#2e1065;padding:14px;border-radius:12px;position:absolute;right:16px;top:88px;min-width:260px}.primary-nav.open{display:flex}.primary-nav ul{flex-direction:column}.header-inner{flex-wrap:wrap}.search-mini input{width:130px}.topbar-right{display:flex;gap:10px;flex-wrap:wrap}}
