/*
Theme Name: Echo 151
Author: Alex Hub
Description: A starter theme for content-focused websites.
Version: 5.13.9
Tested up to: 6.5
Requires at least: 5.8
Tags: news, education
License URI: https://www.gnu.org/licenses/gpl-3.0.html
License: GNU General Public License v3 or later
*/

:root{
  --bg:#fbf6ee;
  --bg-alt:#f3ead8;
  --surface:#ffffff;
  --ink:#2b2118;
  --ink-soft:#5b4a3a;
  --accent:#a8632d;
  --accent-soft:#d99863;
  --leaf:#6b8a5a;
  --line:#e6d8c0;
  --shadow:0 10px 30px rgba(75,46,14,.08);
  --radius:14px;
  --radius-lg:22px;
}
@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,600;9..144,800&family=Karla:wght@400;500;700&display=swap');
html{scroll-behavior:smooth;}
html,body{overflow-x:hidden;}
*{box-sizing:border-box;}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'Karla',system-ui,sans-serif;font-size:17px;line-height:1.7;}
h1,h2,h3,h4{font-family:'Fraunces',Georgia,serif;font-weight:600;color:var(--ink);line-height:1.18;letter-spacing:-.01em;}
h1{font-size:clamp(2rem,4vw + 1rem,3.6rem);margin:.2em 0 .4em;}
h2{font-size:clamp(1.5rem,2vw + .8rem,2.2rem);margin:1.6em 0 .5em;}
h3{font-size:1.25rem;margin:1.2em 0 .4em;}
p{margin:.6em 0;}
a{color:var(--accent);text-decoration:none;border-bottom:1px dashed transparent;transition:border-color .2s,color .2s;}
a:hover,a:focus{color:#7e441a;border-bottom-color:var(--accent-soft);}
img{max-width:100%;height:auto;display:block;border-radius:var(--radius);}
.container{max-width:1180px;margin:0 auto;padding:0 22px;}
hr{border:0;height:1px;background:var(--line);margin:2.4em 0;}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(251,246,238,.78);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid transparent;transition:border-color .25s,background .25s;}
.site-header.scrolled{border-bottom-color:var(--accent-soft);background:rgba(251,246,238,.94);}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 0;flex-wrap:wrap;}
.logo{display:flex;align-items:center;gap:10px;font-family:'Fraunces',serif;font-weight:800;font-size:1.4rem;color:var(--ink);border:0;}
.logo-mark{width:34px;height:34px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#f6c285,var(--accent));box-shadow:inset -3px -4px 8px rgba(123,66,16,.35);}
.primary-nav{display:flex;gap:26px;flex-wrap:wrap;justify-content:center;}
.primary-nav a{color:var(--ink-soft);font-weight:500;border:0;position:relative;padding:6px 0;}
.primary-nav a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:center;transition:transform .25s;}
.primary-nav a:hover::after,.primary-nav a:focus::after{transform:scaleX(1);}
.header-cta{background:var(--accent);color:#fff;border:0;padding:11px 20px;border-radius:999px;font-weight:600;}
.header-cta:hover{background:#7e441a;color:#fff;}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 26px;border-radius:999px;font-weight:600;font-family:'Karla',sans-serif;border:0;cursor:pointer;transition:transform .15s,box-shadow .25s,background .25s;border-bottom:0;}
.btn-primary{background:var(--accent);color:#fff;}
.btn-primary:hover{background:#7e441a;color:#fff;transform:translateY(-1px);box-shadow:var(--shadow);}
.btn-cta{background:var(--leaf);color:#fff;font-size:1.05rem;padding:16px 30px;}
.btn-cta:hover{background:#4d6b41;color:#fff;}
.btn-ghost{background:transparent;color:var(--accent);border:1px solid var(--accent);}
.btn-ghost:hover{background:var(--accent);color:#fff;}

/* Hero */
.hero{background:linear-gradient(135deg,#f6c285 0%,var(--bg-alt) 70%);padding:90px 0 80px;position:relative;overflow:hidden;}
.hero::before{content:"";position:absolute;width:340px;height:340px;border-radius:50%;background:rgba(168,99,45,.12);right:-90px;top:-90px;}
.hero::after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:rgba(107,138,90,.18);left:-60px;bottom:-90px;}
.hero-inner{position:relative;max-width:780px;}
.hero h1{margin-top:0;}
.hero .lede{font-size:1.25rem;color:var(--ink-soft);max-width:620px;}
.hero .meta{display:inline-block;background:#fff;padding:6px 14px;border-radius:999px;color:var(--accent);font-weight:600;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;}
.hero-actions{display:flex;gap:14px;margin-top:24px;flex-wrap:wrap;}

/* Article layout */
.article-wrap{padding:60px 0;}
.article{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:48px;margin-top:-40px;position:relative;}
.article p{font-size:1.05rem;color:var(--ink);}
.article ul,.article ol{padding-left:1.4em;}
.article li{margin:.4em 0;}

/* Summary box */
.summary-box{background:var(--bg-alt);border-left:4px solid var(--accent);border-radius:var(--radius);padding:22px 26px;margin:24px 0;}
.summary-box h4{margin:0 0 8px;font-family:'Fraunces',serif;}
.summary-box ol{margin:0;padding-left:1.2em;}

/* Info box */
.info-box{background:#fff7e9;border:1px solid var(--line);border-radius:var(--radius);padding:22px 26px;margin:24px 0;display:flex;flex-wrap:wrap;gap:14px;align-items:flex-start;}
.info-box .ico{width:46px;height:46px;border-radius:50%;background:var(--accent-soft);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-family:'Fraunces',serif;flex-shrink:0;}
.info-box .body{flex:1;min-width:240px;}
.info-box h4{margin:0 0 6px;}

/* Quote */
blockquote{margin:30px 0;padding:24px 28px;background:#fff;border-radius:var(--radius);border-left:5px solid var(--leaf);font-family:'Fraunces',serif;font-style:italic;font-size:1.2rem;color:var(--ink);box-shadow:var(--shadow);}
blockquote cite{display:block;margin-top:10px;font-size:.9rem;color:var(--ink-soft);font-style:normal;}

/* Meta */
.post-meta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;color:var(--ink-soft);font-size:.9rem;margin-bottom:18px;}
.post-meta .chip{background:var(--bg-alt);padding:5px 12px;border-radius:999px;color:var(--ink);font-weight:500;}
.breadcrumb{font-size:.88rem;color:var(--ink-soft);margin-bottom:14px;}
.breadcrumb a{color:var(--ink-soft);}

/* Two-column single layout */
.single-layout{display:flex;flex-wrap:wrap;gap:36px;padding:50px 0;align-items:flex-start;}
.single-main{flex:1 1 640px;min-width:0;}
.single-aside{flex:1 1 280px;max-width:340px;}
.single-aside .card{position:sticky;top:96px;background:#fff;border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);margin-bottom:20px;}
.toc{list-style:none;padding:0;margin:0;}
.toc li{margin:6px 0;}
.toc a{display:flex;align-items:center;gap:10px;color:var(--ink-soft);border:0;padding:6px 0;}
.toc a::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--line);flex-shrink:0;transition:background .2s,transform .2s;}
.toc a.active{color:var(--accent);font-weight:600;}
.toc a.active::before{background:var(--accent);transform:scale(1.3);}
.author-card{display:flex;align-items:center;gap:14px;}
.author-card .avatar{width:54px;height:54px;border-radius:50%;background:radial-gradient(circle at 30% 30%,var(--accent-soft),var(--accent));}
.author-card h4{margin:0;}
.author-card p{margin:0;font-size:.88rem;color:var(--ink-soft);}

/* Quote of the day */
.quote-of-day{background:linear-gradient(160deg,var(--leaf),#4d6b41);color:#fff;border-radius:var(--radius);padding:22px;}
.quote-of-day p{margin:0;font-family:'Fraunces',serif;font-style:italic;font-size:1.05rem;}

/* Posts row */
.posts-row{display:flex;flex-wrap:wrap;gap:22px;margin:30px 0;}
.post-mini{flex:1 1 280px;background:#fff;border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);transition:transform .25s;}
.post-mini:hover{transform:translateY(-4px);}
.post-mini h3{margin:.1em 0 .3em;}
.post-mini h3 a{color:var(--ink);border:0;}
.post-mini .tag{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-weight:600;}
.read-more{display:inline-block;margin-top:10px;font-weight:600;border:0;}

/* Latest list */
.latest-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px;}
.latest-list li{background:#fff;border-radius:var(--radius);padding:18px 22px;display:flex;flex-wrap:wrap;gap:8px 18px;align-items:baseline;box-shadow:0 4px 14px rgba(75,46,14,.05);}
.latest-list .num{font-family:'Fraunces',serif;font-size:1.4rem;color:var(--accent);font-weight:800;width:38px;}
.latest-list h3{margin:0;flex:1 1 260px;font-size:1.15rem;}
.latest-list h3 a{color:var(--ink);border:0;}

/* Section break */
.section-break{display:flex;justify-content:center;align-items:center;gap:14px;margin:50px 0;}
.section-break span{width:60px;height:1px;background:var(--accent-soft);}
.section-break .leaf{width:14px;height:14px;background:var(--leaf);border-radius:50% 0;transform:rotate(45deg);}

/* About preview */
.about-preview{background:#fff;border-radius:var(--radius-lg);padding:40px;display:flex;flex-wrap:wrap;gap:30px;align-items:center;box-shadow:var(--shadow);margin:40px 0;}
.about-preview .text{flex:1 1 340px;}
.about-preview .ill{flex:0 0 200px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle at 30% 30%,var(--accent-soft),var(--leaf));}

/* Subscribe */
.subscribe{background:linear-gradient(135deg,var(--accent),#7e441a);color:#fff;padding:60px 0;margin:60px 0 0;border-radius:var(--radius-lg);}
.subscribe-inner{max-width:760px;margin:0 auto;text-align:center;padding:0 22px;}
.subscribe h2{color:#fff;}
.subscribe p{color:rgba(255,255,255,.9);margin-bottom:20px;}
.form{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;text-align:left;}
.field{display:flex;flex-direction:column;flex:1 1 200px;max-width:260px;}
.field span{font-size:.85rem;margin-bottom:6px;color:rgba(255,255,255,.85);}
.field input{padding:12px 16px;border-radius:10px;border:0;font-family:inherit;font-size:1rem;background:#fff;color:var(--ink);}
.subscribe .btn-primary{flex:0 0 auto;background:#fff;color:var(--accent);align-self:flex-end;margin-top:24px;}
.subscribe .btn-primary:hover{background:#fbf6ee;color:#7e441a;}

/* CTA banner */
.cta-banner{background:var(--leaf);color:#fff;border-radius:var(--radius-lg);margin:40px 0;}
.cta-inner{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;padding:30px 36px;}
.cta-inner h3{margin:0;color:#fff;}
.cta-inner p{margin:.2em 0 0;color:rgba(255,255,255,.9);}

/* Disclaimer */
.disclaimer{background:var(--bg-alt);border-radius:var(--radius);padding:18px 22px;color:var(--ink-soft);font-size:.93rem;margin:30px 0;border:1px dashed var(--line);}

/* Read also */
.read-also{margin:50px 0;}
.read-also h2{text-align:center;}
.read-also-grid{display:flex;flex-wrap:wrap;gap:18px;margin-top:20px;}
.read-also-grid a{flex:1 1 260px;background:#fff;border-radius:var(--radius);padding:20px;color:var(--ink);border:0;box-shadow:var(--shadow);transition:transform .2s;}
.read-also-grid a:hover{transform:translateY(-3px);color:var(--ink);}
.read-also-grid .label{display:block;color:var(--accent);font-weight:600;font-size:.78rem;text-transform:uppercase;margin-bottom:4px;letter-spacing:.08em;}

/* Page generic */
.page-body{padding:60px 0;}
.page-body .article{margin-top:0;}
.page-body h2{margin-top:1.6em;}
.legal{font-size:.97rem;}
.legal h2{font-size:1.4rem;}
.legal ul{padding-left:1.4em;}

/* Contacts */
.contact-grid{display:flex;flex-wrap:wrap;gap:30px;margin-top:30px;}
.contact-card{flex:1 1 240px;background:var(--bg-alt);border-radius:var(--radius);padding:24px;}
.contact-card h3{margin-top:0;}

/* Success */
.success-wrap{padding:120px 0;text-align:center;}
.success-wrap h1{font-size:clamp(2.5rem,6vw,4.5rem);}
.success-wrap p{max-width:520px;margin:14px auto 30px;font-size:1.15rem;color:var(--ink-soft);}

/* 404 */
.notfound{padding:120px 0;text-align:center;}
.notfound h1{font-size:6rem;margin:0;color:var(--accent);}
.notfound p{font-size:1.2rem;color:var(--ink-soft);}

/* Footer */
.site-footer{background:var(--bg-alt);margin-top:80px;padding:60px 0 30px;}
.footer-rule{height:1px;background:var(--line);margin-bottom:36px;}
.footer-cols{display:flex;flex-wrap:wrap;gap:30px;justify-content:space-between;}
.footer-col{flex:1 1 180px;min-width:180px;}
.footer-col h4{font-family:'Fraunces',serif;font-size:1.05rem;margin:0 0 12px;color:var(--ink);}
.footer-col ul{list-style:none;padding:0;margin:0;}
.footer-col li{margin:6px 0;}
.footer-col a{color:var(--ink-soft);border:0;font-size:.95rem;}
.footer-col a:hover{color:var(--accent);}
.footer-contact{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;padding:30px 0 16px;color:var(--ink-soft);font-size:.92rem;border-top:1px solid var(--line);margin-top:36px;}
.footer-copy{text-align:center;font-size:.85rem;color:var(--ink-soft);}

/* Cookie consent */
.cookie-bar{position:fixed;left:18px;right:18px;bottom:18px;background:#fff;border-radius:var(--radius);padding:18px 22px;box-shadow:0 18px 50px rgba(43,33,24,.18);z-index:100;display:none;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;border:1px solid var(--line);}
.cookie-bar.show{display:flex;}
.cookie-bar p{margin:0;flex:1 1 240px;color:var(--ink-soft);font-size:.92rem;}
.cookie-buttons{display:flex;flex-wrap:wrap;gap:10px;}
.cookie-buttons button{flex:1 1 auto;padding:11px 18px;border-radius:999px;border:1px solid var(--line);background:var(--bg-alt);color:var(--ink);font-weight:600;cursor:pointer;font-family:inherit;}
.cookie-buttons button.primary{background:var(--accent);color:#fff;border-color:var(--accent);}
.cookie-modal{position:fixed;inset:0;background:rgba(43,33,24,.55);display:none;align-items:center;justify-content:center;z-index:200;padding:18px;}
.cookie-modal.show{display:flex;}
.cookie-modal-inner{background:#fff;border-radius:var(--radius-lg);max-width:520px;width:100%;padding:30px;}
.cookie-modal h3{margin-top:0;}
.cookie-cat{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);}
.cookie-cat:last-of-type{border-bottom:0;}
.cookie-cat .info h4{margin:0;}
.cookie-cat .info p{margin:.2em 0 0;font-size:.88rem;color:var(--ink-soft);}
.switch{position:relative;width:46px;height:26px;background:var(--line);border-radius:999px;cursor:pointer;flex-shrink:0;transition:background .2s;}
.switch::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;border-radius:50%;transition:left .2s;}
.switch.on{background:var(--leaf);}
.switch.on::after{left:23px;}
.switch.disabled{opacity:.7;cursor:not-allowed;}
.cookie-modal-actions{margin-top:18px;text-align:right;}

/* Responsive tweaks */
@media (max-width:780px){
  .article{padding:30px 22px;margin-top:-20px;}
  .hero{padding:60px 0 50px;}
  .single-aside{max-width:none;}
  .single-aside .card{position:static;}
  .header-cta{display:none;}
}
