*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:18px;scroll-behavior:smooth;overflow-x:hidden}
body{font-family:var(--font-corpo),sans-serif;background:var(--c-bg);color:var(--c-text);min-height:100vh;transition:background .3s,color .3s;overflow-x:hidden}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.topbar,.site-header,.main-nav-wrapper,.nav-inner,.ticker-bar,.hero-section,.stories-section,
.trending-topics,.ep-section,.site-footer,.post-page,.inner-page,.static-page,.bg-white,
.nav-dropdown,.author-box,.comment-form,.author-hero,.author-card,.static-hero{
  transition:background .3s,color .3s,border-color .3s;
}

/* ============================================================
   TOPBAR
============================================================ */
.topbar{background:var(--c-topbar)}
.topbar-inner{max-width:1240px;margin:0 auto;padding:0 20px;height:36px;display:flex;align-items:center;justify-content:space-between}
.topbar-left{display:flex;gap:24px}
.topbar-left a{color:var(--c-topbar-text);font-size:14px;font-weight:400;transition:color .2s}
.topbar-left a:hover{color:var(--c-topbar-hover)}
.topbar-right{display:flex;align-items:center;gap:16px}
.topbar-date{color:var(--c-topbar-text);font-size:14px}
.topbar-social a{color:var(--c-topbar-text);font-size:16px;transition:color .2s}
.topbar-social a:hover{color:var(--c-topbar-hover)}
.social-icons{display:flex;gap:12px}
.social-icons a{color:var(--c-topbar-text);width:22px;height:22px;display:flex;align-items:center;justify-content:center;transition:color .2s}
.social-icons a:hover{color:var(--c-topbar-hover)}
.social-icons i{font-size:16px;line-height:1}

/* ============================================================
   SITE HEADER
============================================================ */
.site-header{background:var(--c-header-bg, var(--c-bg-white));color:var(--c-header-txt, var(--c-text));padding:18px 20px;display:flex;align-items:center;justify-content:space-between;max-width:1240px;margin:0 auto}
.logo{display:flex;align-items:baseline;font-size:36px;line-height:1;letter-spacing:-1px}
.logo-light{font-family:var(--font-corpo),sans-serif;font-weight:800;color:var(--c-text)}
.logo-light span.L{color:var(--c-accent);font-style:italic}
.logo-news{font-family:var(--font-corpo),sans-serif;font-weight:300;color:var(--c-text)}
.logo-dot{color:var(--c-accent);font-weight:900;font-size:42px;line-height:0;margin-left:1px;vertical-align:-2px}
.ad-banner{width:100%;max-width:740px;overflow:hidden;flex-shrink:1}
.ad-banner img{width:100%;height:auto;object-fit:cover}

/* ============================================================
   NAVIGATION
============================================================ */
.main-nav-wrapper{background:var(--c-bg-white);border-bottom:none}
.main-nav{max-width:1240px;margin:0 auto}
.nav-inner{background:var(--c-nav);display:flex;align-items:center;justify-content:flex-start;margin:0 20px;height:50px;gap:8px}
.nav-menu{list-style:none;display:flex;align-items:center;height:100%;flex-wrap:nowrap;min-width:0}
.nav-actions{margin-left:auto}
.nav-item{position:relative;height:100%;display:flex;align-items:center}
.nav-link{color:var(--c-nav-text);font-size:15px;font-weight:500;padding:0 16px;height:100%;display:flex;align-items:center;gap:5px;transition:color .2s;white-space:nowrap}
.nav-link:hover{color:var(--c-nav-hover, var(--c-accent))}
.nav-item.has-dropdown{position:relative;}
.nav-item.has-dropdown:hover > .nav-dropdown,.nav-item.has-dropdown:focus-within > .nav-dropdown{display:block;}
.nav-dropdown{display:none;position:absolute;top:100%;left:0;background:var(--c-surface,#fff);min-width:190px;box-shadow:0 6px 24px rgba(0,0,0,.16);border-radius:6px;padding:6px 0;z-index:999;list-style:none;margin:0;}
.nav-dropdown li a{padding:9px 18px;font-size:15px;font-weight:500;color:var(--c-text,#222);white-space:nowrap;display:block;transition:color .15s,background .15s;}
.nav-dropdown li a:hover,.nav-dropdown li a.active{color:var(--c-nav-hover, var(--c-accent));background:rgba(0,0,0,.05);}
.t3-sb-sub{padding-left:28px!important;font-size:15px!important;opacity:.8;}
.nav-item.active .nav-link{background:var(--c-nav-active-bg, var(--c-accent));color:var(--c-nav-active-txt, #fff);font-weight:600}
.nav-badge{font-size:12px;font-weight:700;padding:2px 6px;border-radius:3px;letter-spacing:.5px;text-transform:uppercase;line-height:1.4}
.nav-badge.red{background:#e74c3c;color:#fff}
.nav-badge.yellow{background:#c8f03a;color:var(--c-topbar)}
.nav-arrow{width:10px;height:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);display:inline-block;opacity:.7}
.nav-dropdown{position:absolute;top:100%;left:0;background:var(--c-dropdown-bg);min-width:180px;box-shadow:0 8px 24px var(--c-shadow);border-top:3px solid var(--c-accent);z-index:999;opacity:0;visibility:hidden;transform:translateY(6px);transition:all .2s ease}
.nav-item:hover .nav-dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.nav-dropdown a{display:block;padding:10px 16px;font-size:15px;color:var(--c-text2);border-bottom:1px solid var(--c-dropdown-bd);transition:background .15s}
.nav-dropdown a:hover{background:var(--c-overlay);color:var(--c-link)}
.nav-actions{display:flex;align-items:center;gap:4px}
.nav-icon-btn{background:none;border:none;color:var(--c-nav-text);cursor:pointer;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:color .2s}
.nav-icon-btn:hover{color:var(--c-accent)}
.nav-icon-btn i{font-size:20px;line-height:1}
.toggle-switch{width:44px;height:22px;background:var(--c-text-muted);border-radius:11px;position:relative;cursor:pointer;border:none;transition:background .2s;flex-shrink:0;margin-right:4px}
.toggle-switch::after{content:'';position:absolute;top:3px;left:3px;width:16px;height:16px;background:var(--c-bg-white);border-radius:50%;transition:transform .2s}
.toggle-switch .toggle-icon{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;pointer-events:none;transition:transform .2s;z-index:1}
.toggle-switch .toggle-icon i{font-size:12px;color:var(--c-text3);line-height:1}
.toggle-switch.on{background:var(--c-accent)}
.toggle-switch.on::after{transform:translateX(22px)}
.toggle-switch.on .toggle-icon{transform:translateX(22px)}
.toggle-switch.on .toggle-icon i{color:var(--c-accent)}
.cart-btn{position:relative;width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--c-topbar-text);cursor:pointer;transition:color .2s}
.cart-btn:hover{color:#fff}
.cart-btn i{font-size:20px;line-height:1}
.cart-count{position:absolute;top:2px;right:2px;background:var(--c-accent);color:#fff;font-size:11px;font-weight:700;width:14px;height:14px;border-radius:50%;display:flex;align-items:center;justify-content:center}

/* ============================================================
   TICKER
============================================================ */
.ticker-bar{background:var(--c-ticker-bg);max-width:1240px;margin:0 auto;display:flex;align-items:center;height:42px;padding:0 20px;overflow:hidden}
.ticker-label{background:#e74c3c;color:#fff;font-size:13px;font-weight:700;padding:5px 12px;border-radius:3px;letter-spacing:.5px;text-transform:uppercase;flex-shrink:0;margin-right:16px}
.ticker-content{flex:1;overflow:hidden;position:relative;height:100%;display:flex;align-items:center}
.ticker-track{display:flex;align-items:center;animation:tickerScroll 18s linear infinite;white-space:nowrap;gap:60px}
.ticker-item{display:flex;align-items:center;gap:10px;font-size:15.5px;font-weight:500;color:var(--c-text2);white-space:nowrap}
.ticker-date{font-size:13px;color:var(--c-text-muted);font-weight:400;text-transform:uppercase;letter-spacing:.5px}
@keyframes tickerScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.ticker-arrows{display:flex;gap:4px;flex-shrink:0;margin-left:12px}
.ticker-arrow{width:26px;height:26px;border:1px solid var(--c-border2);background:var(--c-bg-card);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--c-text-muted);border-radius:2px;font-size:15px;transition:background .15s,color .15s}
.ticker-arrow:hover{background:var(--c-accent);color:#fff;border-color:var(--c-accent)}

/* ============================================================
   HERO
============================================================ */
.hero-section{max-width:1240px;margin:0 auto;padding:0 20px 24px;background:var(--c-bg-white)}
.hero-grid{display:grid;grid-template-columns:1fr 460px;gap:4px}
.hero-main{position:relative;overflow:hidden;cursor:pointer;grid-row:1/3}
.hero-main img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s;min-height:390px}
.hero-main:hover img{transform:scale(1.03)}
.score-badge{position:absolute;top:14px;right:14px;background:var(--c-nav);color:#fff;font-size:15px;font-weight:700;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:2;letter-spacing:-.3px}
.hero-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.85) 0%,rgba(0,0,0,.4) 60%,transparent 100%);padding:28px 22px 20px;z-index:1}
.cat-badge{display:inline-block;font-size:12px;font-weight:700;padding:3px 10px;border-radius:2px;letter-spacing:.5px;text-transform:uppercase;margin-bottom:9px;color:#fff}
.hero-title{font-family:var(--font-titulo),serif;font-size:27px;font-weight:700;color:#fff;line-height:1.3;margin-bottom:8px}
.hero-meta{font-size:13px;color:rgba(255,255,255,.65);letter-spacing:.4px;text-transform:uppercase}
.hero-meta strong{color:rgba(255,255,255,.9);font-weight:600}
.hero-top-right{position:relative;overflow:hidden;cursor:pointer}
.hero-top-right img{width:100%;height:100%;object-fit:cover;display:block;min-height:194px;transition:transform .4s}
.hero-top-right:hover img{transform:scale(1.03)}
.hero-top-right .score-badge{width:34px;height:34px}
.hero-top-right .hero-overlay{padding:20px 16px 16px}
.hero-top-right .hero-title{font-size:19px}
.hero-bottom-right{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.hero-small{position:relative;overflow:hidden;cursor:pointer}
.hero-small img{width:100%;height:185px;object-fit:cover;display:block;transition:transform .4s}
.hero-small:hover img{transform:scale(1.04)}
.hero-small .hero-overlay{padding:16px 12px 12px}
.hero-small .hero-title{font-size:16px;line-height:1.35;margin-bottom:6px}

/* ============================================================
   SECTION HEADER (badge title)
============================================================ */
.section-header{display:flex;align-items:center;margin-bottom:18px;border-bottom:2px solid var(--c-border)}
.section-header:has(.badge-red)   { border-bottom-color:#e74c3c }
.section-header:has(.badge-blue)  { border-bottom-color:var(--c-accent) }
.section-header:has(.badge-green) { border-bottom-color:#7cb82f }
.section-header:has(.badge-pink)  { border-bottom-color:#e91e8c }
.section-header:has(.badge-cyan)  { border-bottom-color:#00bcd4 }
.section-badge{font-size:14px;font-weight:700;padding:6px 22px 6px 14px;color:#fff;letter-spacing:.3px;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,0 100%);position:relative;bottom:-1px}
.section-viewall{margin-left:auto;font-size:14px;color:var(--c-accent);font-weight:600;padding-bottom:6px}
.section-viewall:hover{text-decoration:underline}

/* ============================================================
   MORE TOP STORIES + SIDEBAR
============================================================ */
.stories-section{background:var(--c-bg-white);padding:32px 0 40px}
.stories-container{max-width:1240px;margin:0 auto;padding:0 20px;display:grid;grid-template-columns:1fr 330px;gap:30px;align-items:start}
.stories-main{display:flex;flex-direction:column}

/* Featured post */
.fp-wrap{display:flex;flex-direction:column;gap:12px}
.fp-img-wrap{position:relative;overflow:hidden}
.fp-img-wrap img{width:100%;height:240px;object-fit:cover;display:block;transition:transform .4s}
.fp-img-wrap:hover img{transform:scale(1.04)}
.fp-cat{position:absolute;bottom:0;left:0;font-size:12px;font-weight:700;padding:4px 10px;text-transform:uppercase;letter-spacing:.4px;color:#fff}
.fp-score{position:absolute;bottom:12px;right:12px;background:var(--c-nav);color:#fff;font-size:14px;font-weight:700;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.fp-info{padding-top:4px}
.fp-title{font-family:var(--font-titulo),serif;font-size:20px;font-weight:700;color:var(--c-text);line-height:1.35;margin-bottom:8px;display:block}
.fp-title:hover{color:var(--c-link)}
.fp-excerpt{font-size:15px;color:var(--c-text4);line-height:1.6;margin-bottom:10px}
.fp-meta{font-size:13px;color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.4px}
.fp-meta strong{color:var(--c-text3)}

/* List posts */
.stories-body{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.list-posts{display:flex;flex-direction:column;gap:14px}
.list-post{display:grid;grid-template-columns:100px 1fr;gap:10px;align-items:start}
.list-post-img-wrap{position:relative;overflow:hidden}
.list-post-img-wrap img{width:100px;height:70px;object-fit:cover;display:block;transition:transform .4s}
.list-post-img-wrap:hover img{transform:scale(1.06)}
.list-post-cat{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;display:inline-block;color:var(--c-text);border-bottom:2px solid;line-height:0.7;margin-bottom:5px}
.list-post-title{font-family:var(--font-titulo),serif;font-size:15.5px;font-weight:700;color:var(--c-text);line-height:1.3;display:block;margin-bottom:4px}
.list-post-title:hover{color:var(--c-link)}
.list-post-meta{font-size:13px;color:var(--c-text-faint);text-transform:uppercase;letter-spacing:.3px}

/* Filter tabs */
.filter-tabs{display:flex;gap:0;margin-left:auto;padding-bottom:6px}
.filter-tab{font-size:14px;font-weight:600;padding:4px 12px;color:var(--c-text-muted);cursor:pointer;border-bottom:2px solid transparent;line-height:0.7;transition:color .15s}
.filter-tab.active,.filter-tab:hover{color:var(--c-accent);border-bottom-color:var(--c-accent)}

/* Sidebar */
.sidebar{position:sticky;top:20px;align-self:start;display:flex;flex-direction:column;gap:24px}
.social-widget{}
.social-row{display:flex;align-items:center;gap:12px;padding:10px 14px;color:#fff;cursor:pointer;transition:opacity .2s;margin-bottom:4px;border-radius:3px}
.social-row:hover{opacity:.9}
.social-row i{font-size:20px;line-height:1;flex-shrink:0}
.social-name{font-size:15px;font-weight:700;flex:1}
.social-count{font-size:13px;opacity:.85}

.trending-now{}
.trending-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.trending-item{cursor:pointer}
.trending-img-wrap{position:relative;overflow:hidden;border-radius:3px;margin-bottom:8px}
.trending-img-wrap img{width:100%;height:120px;object-fit:cover;display:block;transition:transform .4s}
.trending-item:hover .trending-img-wrap img{transform:scale(1.06)}
.trending-cat{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;display:block;margin-bottom:4px}
.trending-title{font-family:var(--font-titulo),serif;font-size:12.5px;font-weight:700;color:var(--c-text);line-height:1.3;display:block;margin-bottom:4px}
.trending-title:hover{color:var(--c-link)}
.trending-meta{font-size:12px;color:var(--c-text-faint);text-transform:uppercase;letter-spacing:.3px}
.play-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:28px;height:28px;background:rgba(255,255,255,.9);border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:2}
.play-btn::after{content:'';border-left:10px solid var(--c-topbar);border-top:6px solid transparent;border-bottom:6px solid transparent;margin-left:2px}

/* Don't Miss */
.dont-miss{margin-top:36px}
.dm-featured-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}
.dm-featured-item{position:relative;overflow:hidden;cursor:pointer;border-radius:3px}
.dm-featured-item img{width:100%;height:240px;object-fit:cover;display:block;transition:transform .4s}
.dm-featured-item:hover img{transform:scale(1.04)}
.dm-featured-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.92) 0%,rgba(0,0,0,.6) 50%,transparent 100%);padding:40px 14px 14px}
.dm-featured-cat{display:inline-block;font-size:12px;font-weight:700;padding:3px 10px;border-radius:2px;letter-spacing:.5px;text-transform:uppercase;color:#fff;margin-bottom:7px}
.dm-featured-title{font-family:var(--font-titulo),serif;font-size:17px;font-weight:700;color:#fff;line-height:1.3;display:block;margin-bottom:6px}
.dm-featured-title:hover{color:#dce8ff}
.dm-featured-meta{font-size:13px;color:rgba(255,255,255,.65);text-transform:uppercase;letter-spacing:.4px}
.dm-list-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.dm-list-item{display:grid;grid-template-columns:80px 1fr;gap:10px;align-items:start}
.dm-list-item img{width:80px;height:58px;object-fit:cover;display:block;transition:transform .4s}
.dm-list-item:hover img{transform:scale(1.06)}
.dm-list-cat{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;display:inline-block;color:var(--c-text);border-bottom:2px solid;line-height:0.7;margin-bottom:4px}
.dm-list-title{font-family:var(--font-titulo),serif;font-size:15px;font-weight:700;color:var(--c-text);line-height:1.3;display:block}
.dm-list-title:hover{color:var(--c-link)}
.dm-list-date{font-size:13px;color:var(--c-text-faint);text-transform:uppercase;letter-spacing:.3px;margin-top:3px}

/* Explore More */
.explore-more{margin-top:36px}
.explore-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.explore-item{cursor:pointer}
.explore-img-wrap{position:relative;overflow:hidden;margin-bottom:10px}
.explore-img-wrap img{width:100%;height:175px;object-fit:cover;display:block;transition:transform .4s}
.explore-item:hover .explore-img-wrap img{transform:scale(1.04)}
.explore-cat{position:absolute;bottom:0;left:0;font-size:12px;font-weight:700;padding:3px 8px;text-transform:uppercase;letter-spacing:.4px;color:#fff}
.explore-title{font-family:var(--font-titulo),serif;font-size:15.5px;font-weight:700;color:var(--c-text);line-height:1.3;display:block}
.explore-title:hover{color:var(--c-link)}

/* ============================================================
   TRENDING TOPICS
============================================================ */
.trending-topics-section{width:100%;background:var(--c-trending-sec);padding:48px 20px 52px;text-align:center}
.tt-heading{font-family:var(--font-titulo),serif;font-size:29px;font-weight:700;color:var(--c-text);margin-bottom:8px;position:relative;display:inline-block}
.tt-heading::before,.tt-heading::after{content:'';position:absolute;top:50%;width:60px;height:2px;background:#c8a96e}
.tt-heading::before{right:calc(100% + 16px)}
.tt-heading::after{left:calc(100% + 16px)}
.tt-subtitle{font-size:16px;color:var(--c-text-muted);margin-bottom:32px}
.tt-row{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;max-width:1240px;margin:0 auto}
.topic-item{display:flex;flex-direction:column;align-items:center;gap:10px;cursor:pointer;transition:transform .3s}
.topic-item:hover{transform:translateY(-4px) scale(1.07)}
.topic-img{width:140px;height:140px;border-radius:50%;border:3px solid var(--c-bg-white);box-shadow:0 4px 16px rgba(0,0,0,.15);overflow:hidden}
.topic-img img{width:100%;height:100%;object-fit:cover}
.topic-name{font-family:var(--font-titulo),serif;font-size:16px;font-weight:700;color:var(--c-text)}
.topic-count{font-size:13px;color:var(--c-text-muted)}

/* ============================================================
   EDITOR'S PICKS + LATEST + RECOMMENDED
============================================================ */
.ep-section{background:var(--c-bg-white);padding:36px 0 40px}
.ep-container{max-width:1240px;margin:0 auto;padding:0 20px;display:grid;grid-template-columns:1fr 330px;gap:30px;align-items:start}
.ep-main{display:flex;flex-direction:column;gap:36px}

.ep-featured{display:grid;grid-template-columns:minmax(0,300px) 1fr;gap:20px;align-items:start}
.ep-featured-img{position:relative;overflow:hidden}
.ep-featured-img img{width:100%;height:200px;object-fit:cover;display:block;transition:transform .4s}
.ep-featured-img:hover img{transform:scale(1.04)}
.ep-title{font-family:var(--font-titulo),serif;font-size:19px;font-weight:700;color:var(--c-text);line-height:1.35;margin-bottom:8px;display:block}
.ep-title:hover{color:var(--c-accent)}
.ep-excerpt{font-size:15px;color:var(--c-text4);line-height:1.6;margin-bottom:8px}
.ep-meta{font-size:13px;color:var(--c-text-faint);text-transform:uppercase;letter-spacing:.3px}
.ep-list-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ep-list-item{display:grid;grid-template-columns:80px 1fr;gap:10px;align-items:start}
.ep-list-item img{width:80px;height:58px;object-fit:cover;display:block;transition:transform .4s}
.ep-list-item:hover img{transform:scale(1.06)}
.ep-list-cat{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;display:inline-block;color:var(--c-text);border-bottom:2px solid;line-height:0.7;margin-bottom:4px}
.ep-list-title{font-family:var(--font-titulo),serif;font-size:15px;font-weight:700;color:var(--c-text);line-height:1.3;display:block}
.ep-list-title:hover{color:var(--c-link)}

/* Latest News grid */
.ln-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ln-item{cursor:pointer}
.ln-img-wrap{position:relative;overflow:hidden;margin-bottom:8px}
.ln-img-wrap img{width:100%;height:200px;object-fit:cover;display:block;transition:transform .4s}
.ln-item:hover .ln-img-wrap img{transform:scale(1.04)}
.ln-cat{position:absolute;bottom:0;left:0;font-size:12px;font-weight:700;padding:3px 8px;text-transform:uppercase;letter-spacing:.4px;color:#fff}
.ln-score{position:absolute;top:10px;right:10px;background:var(--c-nav);color:#fff;font-size:13px;font-weight:700;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.ln-title{font-family:var(--font-titulo),serif;font-size:16px;font-weight:700;color:var(--c-text);line-height:1.3;display:block;margin-bottom:4px}
.ln-title:hover{color:var(--c-link)}
.ln-excerpt{font-size:14px;color:var(--c-text-muted);line-height:1.5;margin-bottom:4px}
.ln-meta{font-size:13px;color:var(--c-text-faint);text-transform:uppercase;letter-spacing:.3px}

/* Recommended sidebar */
.rec-sidebar{position:sticky;top:20px;align-self:start}
.rec-featured-img{position:relative;overflow:hidden;margin-bottom:14px}
.rec-featured-img img{width:100%;height:200px;object-fit:cover;display:block;transition:transform .4s}
.rec-featured-img:hover img{transform:scale(1.04)}
.rec-list{display:flex;flex-direction:column;gap:14px;margin-bottom:20px}
.rec-list-item{display:grid;grid-template-columns:80px 1fr;gap:10px;align-items:start}
.rec-list-item img{width:80px;height:58px;object-fit:cover;display:block}
.rec-list-cat{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;display:inline-block;color:var(--c-text);border-bottom:2px solid;line-height:0.7;margin-bottom:4px}
.rec-list-title{font-family:var(--font-titulo),serif;font-size:15px;font-weight:700;color:var(--c-text);line-height:1.3;display:block}
.rec-list-title:hover{color:var(--c-link)}
.rec-ad{margin-top:20px}
.rec-ad img{display:block;width:100%}

/* ============================================================
   FOOTER
============================================================ */
.site-footer{background:var(--c-footer-bg);color:var(--c-footer-text);padding:48px 0 0}
.footer-inner{max-width:1240px;margin:0 auto;padding:0 20px 40px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.4fr;gap:40px}
.footer-col-title{font-size:18px;font-weight:700;color:var(--c-footer-head);margin-bottom:16px}
.footer-about p{font-size:15px;line-height:1.7;color:var(--c-footer-link);margin-bottom:18px}
.footer-socials{display:flex;gap:12px;flex-wrap:wrap}
.footer-socials a{color:var(--c-footer-text);display:flex;align-items:center;transition:color .2s}
.footer-socials a:hover{color:var(--c-footer-hover)}
.footer-socials i{font-size:20px;line-height:1}
.footer-links ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.footer-links ul li a{font-size:15px;color:var(--c-footer-link);transition:color .2s}
.footer-links ul li a:hover{color:var(--c-footer-hover)}
.footer-subscribe p{font-size:15px;color:var(--c-footer-text);line-height:1.6;margin-bottom:16px}
.footer-subscribe-form{display:flex;margin-bottom:12px}
.footer-subscribe-form input{flex:1;padding:10px 14px;font-size:15px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.08);color:var(--c-footer-text);outline:none;border-right:none}
.footer-subscribe-form input::placeholder{color:rgba(255,255,255,.4)}
.footer-subscribe-form button{background:var(--c-accent);color:#fff;border:none;padding:10px 18px;font-size:15px;font-weight:600;cursor:pointer}
.footer-consent{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--c-text-muted);cursor:pointer}
.footer-consent input{accent-color:var(--c-accent);width:14px;height:14px}
.footer-bottom{max-width:1240px;margin:0 auto;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;font-size:14px;color:var(--c-footer-bottom-txt, var(--c-footer-link));background:var(--c-footer-bottom-bg, var(--c-footer-bg))}
.footer-bottom a{color:var(--c-footer-link);transition:color .2s}
.footer-bottom a:hover{color:#fff}
.footer-bottom-links{display:flex;gap:20px}
.back-to-top{position:fixed;bottom:28px;right:28px;width:38px;height:38px;background:var(--c-text3);color:#fff;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:20px;opacity:.7;z-index:999;transition:background .2s}
.back-to-top:hover{background:var(--c-accent);opacity:1}

/* ============================================================
   POST PAGE
============================================================ */
.post-page{max-width:1240px;margin:0 auto;padding:28px 20px 48px;display:grid;grid-template-columns:1fr 310px;gap:40px;align-items:start}
body:has(.post-page){background:var(--c-post-bg)}
.breadcrumb{font-size:14px;color:var(--c-text-muted);margin-bottom:14px;display:flex;align-items:center;gap:0;flex-wrap:wrap}
.breadcrumb a{color:var(--c-text-muted);transition:color .2s}
.breadcrumb a:hover{color:var(--c-link)}
.breadcrumb li{display:inline-flex;align-items:center}
.breadcrumb li+li::before{content:'›';margin:0 6px;color:var(--c-text-faint);speak:none;speak-as:spell-out}
.post-cat-badge{display:inline-block;font-size:12px;font-weight:700;padding:3px 10px;border-radius:2px;text-transform:uppercase;letter-spacing:.5px;color:#fff;margin-bottom:12px}
.post-title{font-family:var(--font-titulo),serif;font-size:34px;font-weight:700;color:var(--c-text);line-height:1.2;margin-bottom:12px}
.post-subtitle{font-size:18px;color:var(--c-text3);line-height:1.5;margin-bottom:16px}
.post-meta-bar{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.3px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--c-border);flex-wrap:wrap;line-height:1.5}
.post-meta-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;margin-right:2px}
.post-meta-bar strong{color:var(--c-text3);font-weight:700}
.post-meta-bar .dot{color:var(--c-topbar-text)}
.post-featured-img{width:100%!important;height:auto!important;max-height:600px;object-fit:cover;margin-bottom:8px;display:block;aspect-ratio:auto!important}
.post-img-source{font-size:14px;color:#888;margin-bottom:24px;font-style:italic}
.post-article{min-width:0;overflow:hidden}
.post-wrapper{display:block}
.share-float{position:sticky;top:80px;display:flex;flex-direction:column;gap:8px}
.share-float a{width:36px;height:36px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:opacity .2s}
.share-float a:hover{opacity:.85}
.share-float a i{font-size:18px;line-height:1}
.post-content{font-family:var(--font-titulo),serif;font-size:18px;line-height:1.6;color:var(--c-text2)}
.post-content p{margin-bottom:18px}
.post-content h3{font-size:25px;font-weight:700;color:var(--c-text);margin:28px 0 12px;font-family:var(--font-titulo),serif}
.post-content blockquote{border-left:4px solid var(--c-text);padding:14px 20px;margin:24px 0;background:var(--c-blockquote);font-size:19px;font-weight:600;color:var(--c-text);line-height:1.5}
.post-content blockquote::before{display:none}
.drop-cap{float:left;font-size:62px;line-height:.75;font-family:var(--font-titulo),serif;font-weight:700;color:var(--c-text);margin-right:8px;margin-top:6px}
.post-tags{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0 28px}
.post-tag{background:var(--c-topbar);color:#fff;font-size:14px;font-weight:600;padding:5px 14px;border-radius:2px;cursor:pointer;transition:background .2s}
.post-tag:hover{background:var(--c-link)}
.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--c-border);border:1px solid var(--c-border);margin-bottom:28px}
.post-nav-item{background:var(--c-bg-white);padding:16px;display:flex;align-items:center;gap:12px}
.post-nav-item.next{justify-content:flex-end;text-align:right}
.post-nav-img{width:52px;height:52px;object-fit:cover;border-radius:3px;flex-shrink:0}
.post-nav-label{font-size:12px;color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}
.post-nav-title{font-family:var(--font-titulo),serif;font-size:15px;font-weight:700;color:var(--c-text);line-height:1.3;display:block}
.post-nav-title:hover{color:var(--c-link)}
.share-bar{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:28px}
.share-btn{display:flex;align-items:center;gap:6px;padding:9px 16px;border-radius:3px;font-size:14px;font-weight:700;color:#fff;cursor:pointer;border:none;transition:opacity .2s}
.share-btn:hover{opacity:.88}
.share-btn i{font-size:16px;line-height:1}
.share-btn.sm{padding:9px 12px}
.author-box{display:flex;gap:18px;align-items:flex-start;padding:22px;border:1px solid var(--c-border);border-radius:4px;margin-bottom:36px}
.author-box-avatar{width:80px;height:80px;border-radius:50%;object-fit:cover;flex-shrink:0}
.author-box-label{font-size:13px;color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}
.author-box-name{font-size:19px;font-weight:700;color:var(--c-text);margin-bottom:6px}
.author-box-bio{font-size:15px;color:var(--c-text4);line-height:1.6;margin-bottom:12px}
.author-socials{display:flex;gap:12px}
.author-socials a{color:var(--c-text-muted);transition:color .2s}
.author-socials a:hover{color:var(--c-accent)}
.author-socials i{font-size:18px;line-height:1}
.comment-section{margin-bottom:40px}
.comment-title{font-family:var(--font-titulo),serif;font-size:25px;font-weight:700;color:var(--c-text);margin-bottom:6px}
.comment-note{font-size:14px;color:var(--c-text-muted);margin-bottom:20px}
.comment-note span{color:#e74c3c}
.comment-form textarea{width:100%;border:1px solid var(--c-border2);padding:14px;font-size:16px;font-family:var(--font-corpo),sans-serif;resize:vertical;min-height:130px;margin-bottom:12px;outline:none;color:var(--c-text2)}
.comment-form textarea:focus{border-color:var(--c-accent)}
.comment-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:12px}
.comment-fields input{border:1px solid var(--c-border2);padding:10px 14px;font-size:15px;font-family:var(--font-corpo),sans-serif;outline:none;color:var(--c-text2);width:100%}
.comment-fields input:focus{border-color:var(--c-accent)}
.comment-save{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--c-text3);margin-bottom:16px;cursor:pointer}
.comment-save input{accent-color:var(--c-accent);width:14px;height:14px}
.comment-submit{background:var(--c-accent);color:#fff;border:none;padding:10px 22px;font-size:15px;font-weight:700;cursor:pointer;border-radius:3px;transition:background .2s}
.comment-submit:hover{background:color-mix(in srgb, var(--c-accent) 80%, black)}
/* ── inner-container: same max-width as post-page ── */
.inner-container{max-width:1160px;margin:0 auto;padding:0 20px;}
.related-section{border-top:1px solid var(--c-border);padding:32px 0 48px}
.related-title{font-family:var(--font-titulo),serif;font-size:22px;font-weight:700;color:var(--c-text);margin-bottom:20px}
.related-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media (max-width: 900px) { .related-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 480px) { .related-grid { grid-template-columns: 1fr 1fr; } }
.related-img{position:relative;overflow:hidden;margin-bottom:10px}
.related-img img{width:100%;height:140px;object-fit:cover;display:block;transition:transform .4s}
.related-item:hover .related-img img{transform:scale(1.05)}
.related-cat{position:absolute;bottom:0;left:0;font-size:12px;font-weight:700;padding:3px 8px;text-transform:uppercase;letter-spacing:.4px;color:#fff}
.related-post-title{font-family:var(--font-titulo),serif;font-size:16px;font-weight:700;color:var(--c-text);line-height:1.35;margin-bottom:5px;display:block}
.related-post-title:hover{color:var(--c-accent)}
.related-excerpt{font-size:14px;color:var(--c-text-muted);line-height:1.5;margin-bottom:5px}
.related-meta{font-size:13px;color:var(--c-text-faint);text-transform:uppercase;letter-spacing:.3px}
.related-meta strong{color:var(--c-text-muted)}

/* Post sidebar */
.post-sidebar{position:sticky;top:20px;display:flex;flex-direction:column;gap:28px}
.sb-header{display:flex;align-items:center;margin-bottom:14px;border-bottom:2px solid #00bcd4}
.sb-badge{background:#00bcd4;color:#fff;font-size:14px;font-weight:700;padding:5px 20px 5px 12px;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,0 100%);letter-spacing:.3px;position:relative;bottom:-1px}
.sb-post{display:grid;grid-template-columns:80px 1fr;gap:10px;padding:12px 0;border-bottom:1px solid var(--c-sb-border);align-items:start}
.sb-post:last-of-type{border-bottom:none}
.sb-post img{width:80px;height:58px;object-fit:cover;display:block}
.sb-post-cat{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;display:inline-block;color:var(--c-text);border-bottom:2px solid;line-height:0.7;margin-bottom:4px}
.sb-post-title{font-family:var(--font-titulo),serif;font-size:15px;font-weight:700;color:var(--c-text);line-height:1.3;display:block;margin-bottom:3px}
.sb-post-title:hover{color:var(--c-link)}
.sb-post-date{font-size:12px;color:var(--c-text-faint);text-transform:uppercase;letter-spacing:.3px}
.sb-cat-header{display:flex;align-items:center;margin-bottom:14px;border-bottom:2px solid #00bcd4}
.sb-cat-badge{background:#00bcd4;color:#fff;font-size:14px;font-weight:700;padding:5px 20px 5px 12px;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,0 100%);letter-spacing:.3px;position:relative;bottom:-1px}
.sb-cats{display:flex;flex-direction:column}
.sb-cat-item{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--c-border);cursor:pointer}
.sb-cat-item:last-child{border-bottom:none}
.sb-cat-left{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:500;color:var(--c-text2)}
.sb-cat-left::before{content:'›';color:var(--c-text-muted);font-size:18px}
.sb-cat-left:hover{color:var(--c-link)}
.sb-cat-count{font-size:13px;font-weight:700;color:#fff;padding:2px 7px;border-radius:3px;min-width:20px;text-align:center}

/* ============================================================
   INNER PAGE LAYOUT (category, author, etc.)
============================================================ */
.inner-page{max-width:1240px;margin:0 auto;padding:28px 20px 48px;display:grid;grid-template-columns:1fr 310px;gap:40px;align-items:start;background:var(--c-bg-white)}
.inner-main{}
.inner-breadcrumb{font-size:14px;color:var(--c-text-muted);margin-bottom:16px;display:flex;align-items:center;gap:6px}
.inner-breadcrumb a{color:var(--c-text-muted);transition:color .2s}
.inner-breadcrumb a:hover{color:var(--c-link)}
.inner-breadcrumb .sep{color:var(--c-text-faint)}
.inner-page-title{font-family:var(--font-corpo),sans-serif;font-size:28px;font-weight:800;color:var(--c-text);margin-bottom:6px}
.inner-page-desc{font-size:16px;color:var(--c-text4);line-height:1.6;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--c-border)}

/* Category/Archive post list */
.archive-list{display:flex;flex-direction:column;gap:0}
.archive-item{display:grid;grid-template-columns:minmax(0,260px) 1fr;gap:20px;align-items:start;padding:20px 0;border-bottom:1px solid var(--c-border)}
.archive-item:last-child{border-bottom:none}
.archive-img{position:relative;overflow:hidden;flex-shrink:0}
.archive-img img{width:100%;height:175px;object-fit:cover;display:block;transition:transform .4s;border-radius:2px}
.archive-item:hover .archive-img img{transform:scale(1.04)}
.archive-img-cat{position:absolute;bottom:0;left:0;font-size:12px;font-weight:700;padding:3px 8px;text-transform:uppercase;letter-spacing:.4px;color:#fff}
.archive-img-score{position:absolute;top:10px;right:10px;background:var(--c-nav);color:#fff;font-size:14px;font-weight:700;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.archive-info{}
.archive-cat-label{display:inline-block;font-size:12px;font-weight:700;padding:3px 10px;border-radius:2px;text-transform:uppercase;letter-spacing:.5px;color:#fff;margin-bottom:10px}
.archive-title{font-family:var(--font-titulo),serif;font-size:22px;font-weight:700;color:var(--c-text);line-height:1.3;margin-bottom:8px;display:block}
.archive-title:hover{color:var(--c-link)}
.archive-excerpt{font-size:15px;color:var(--c-text4);line-height:1.6;margin-bottom:10px}
.archive-meta{font-size:13px;color:var(--c-text-faint);text-transform:uppercase;letter-spacing:.4px}
.archive-meta strong{color:var(--c-text3)}

/* Authors grid */
.authors-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.author-card{border:1px solid var(--c-border);border-radius:4px;padding:20px;display:flex;gap:14px;align-items:flex-start;transition:box-shadow .2s}
.author-card:hover{box-shadow:0 4px 18px var(--c-shadow)}
.author-card-avatar{width:64px;height:64px;border-radius:50%;background:var(--c-trophy);display:flex;align-items:center;justify-content:center;font-size:25px;font-weight:800;color:#fff;flex-shrink:0}
.author-card-name{font-size:18px;font-weight:700;color:var(--c-text);margin-bottom:2px}
.author-card-role{font-size:14px;color:var(--c-accent);font-weight:600;margin-bottom:6px}
.author-card-bio{font-size:14px;color:var(--c-text-muted);line-height:1.5;margin-bottom:8px}
.author-card-meta{font-size:13px;color:var(--c-text-faint)}
.author-card-meta a{color:var(--c-link);font-weight:600}

/* Author single */
.author-hero{display:flex;gap:20px;align-items:center;padding:24px;background:var(--c-surface);border-radius:4px;margin-bottom:24px}
.author-hero-avatar{width:90px;height:90px;border-radius:50%;background:var(--c-border2);display:flex;align-items:center;justify-content:center;font-size:35px;font-weight:800;color:#fff;flex-shrink:0}
.author-hero-name{font-size:27px;font-weight:800;color:var(--c-text);margin-bottom:3px}
.author-hero-role{font-size:15px;color:var(--c-accent);font-weight:600;margin-bottom:8px}
.author-hero-bio{font-size:15px;color:var(--c-text4);line-height:1.6}

/* Static pages (about, terms, privacy, contact) */
.static-page{max-width:1240px;margin:0 auto;padding:28px 20px 60px;background:var(--c-bg-white)}
.static-hero{width:100%;height:220px;background:linear-gradient(135deg,var(--c-nav) 0%,var(--c-text2) 100%);display:flex;align-items:center;justify-content:center;margin-bottom:40px;position:relative;overflow:hidden}
.static-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.45}
.static-hero-title{font-family:var(--font-titulo),serif;font-size:38px;font-weight:700;color:#fff;position:relative;z-index:1;text-align:center}
.static-content{max-width:820px;margin:0 auto;font-size:17px;color:var(--c-text3);line-height:1.8}
.static-content h1{font-family:var(--font-titulo),serif;font-size:33px;font-weight:700;color:var(--c-text);margin-bottom:8px;line-height:1.2}
.static-content h1+p:first-of-type{font-size:15px;color:var(--c-text-muted);margin-bottom:28px}
.static-content h2{font-family:var(--font-titulo),serif;font-size:25px;font-weight:700;color:var(--c-text);margin:32px 0 10px;padding-bottom:8px;border-bottom:1px solid var(--c-border)}
.static-content h3{font-size:19px;font-weight:700;color:var(--c-text);margin:24px 0 8px}
.static-content p{margin-bottom:16px}
.static-content ul,.static-content ol{margin:0 0 16px 24px}
.static-content ul li,.static-content ol li{margin-bottom:6px}
.static-content strong{color:var(--c-text)}
.static-content a{color:var(--c-link);text-decoration:underline}
.static-content blockquote{border-left:3px solid var(--c-link);margin:20px 0;padding:12px 20px;background:var(--c-bg-alt,#f5f5f5);font-style:italic;color:var(--c-text-muted)}
.static-content hr{border:none;border-top:1px solid var(--c-border);margin:28px 0}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;max-width:860px;margin:0 auto}
.contact-label{font-size:14px;font-weight:700;color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}
.contact-val{font-size:16px;color:var(--c-text2);margin-bottom:16px}
.contact-val a{color:var(--c-link)}
.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--c-border2);padding:11px 14px;font-size:16px;font-family:var(--font-corpo),sans-serif;outline:none;color:var(--c-text2);margin-bottom:12px;border-radius:2px}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--c-link)}
.contact-form textarea{min-height:120px;resize:vertical}
.contact-form button{background:var(--c-accent);color:#fff;border:none;padding:11px 28px;font-size:16px;font-weight:700;cursor:pointer;border-radius:3px;transition:background .2s}
.contact-form button:hover{background:color-mix(in srgb, var(--c-accent) 80%, black)}

/* Pesquisa */
.search-bar-wrap{display:flex;gap:0;margin-bottom:24px}
.search-bar-wrap input{flex:1;border:2px solid var(--c-link);padding:12px 16px;font-size:17px;outline:none;font-family:var(--font-corpo),sans-serif;border-right:none}
.search-bar-wrap button{background:var(--c-accent);color:#fff;border:none;padding:12px 20px;font-size:17px;cursor:pointer;font-weight:700;transition:background .2s}
.search-bar-wrap button:hover{background:color-mix(in srgb, var(--c-accent) 80%, black)}
.search-count{font-size:15px;color:var(--c-text-muted);margin-bottom:20px}

/* 404 */
.page-404{text-align:center;padding:60px 20px;max-width:600px;margin:0 auto}
.page-404-code{font-size:120px;font-weight:900;color:var(--c-surface2);line-height:1;margin-bottom:-10px}
.page-404-title{font-family:var(--font-titulo),serif;font-size:35px;font-weight:700;color:var(--c-text);margin-bottom:12px}
.page-404-desc{font-size:17px;color:var(--c-text-muted);line-height:1.6;margin-bottom:28px}
.page-404-search{display:flex;gap:0;max-width:420px;margin:0 auto 20px}
.page-404-search input{flex:1;border:2px solid var(--c-border2);padding:11px 14px;font-size:16px;outline:none;font-family:var(--font-corpo),sans-serif;border-right:none}
.page-404-search button{background:var(--c-accent);color:#fff;border:none;padding:11px 16px;cursor:pointer}
.page-404-search button i{font-size:20px;line-height:1;color:#fff}
.page-404-back{display:inline-block;background:var(--c-accent);color:#fff;padding:11px 28px;font-size:16px;font-weight:700;border-radius:3px;transition:background .2s}
.page-404-back:hover{background:color-mix(in srgb, var(--c-accent) 80%, black)}

/* ============================================================
   UTILITY / MIGRATED INLINE STYLES
============================================================ */

/* Dynamic color helpers via CSS custom properties */
.dyn-bg  { background: var(--bg) }
.dyn-bc  { border-color: var(--bc) }
.dyn-col { color: var(--col) }

/* ep-featured-cat-badge needs dyn-bg + absolute position */
.ep-featured-cat-badge { background: var(--bg); position:absolute; bottom:0; left:0 }

/* Wrapper backgrounds */
.bg-white { background:var(--c-bg-white) }
.bg-pad-404 { background:var(--c-bg-white); padding:60px 20px }

/* Footer */
.footer-divider { border-top:1px solid var(--c-footer-div, rgba(255,255,255,.12)) }
.footer-col-hidden { visibility:hidden }

/* Logo image */
.logo-img { height:50px; width:auto; display:block }

/* Author name link */
.author-name-link { color:var(--c-text); text-decoration:none }

/* Static hero variants */
.static-hero-sm { height:140px }
.static-hero-title-sm { font-size:33px }

/* Contact page */
.contact-section-title  { font-family:var(--font-titulo),serif; font-size:27px; font-weight:700; color:var(--c-text); margin-bottom:12px }
.contact-section-desc   { font-size:16px; color:var(--c-text3); line-height:1.7; margin-bottom:24px }
.contact-location-title { font-size:18px; font-weight:700; color:var(--c-text); margin-bottom:10px }

/* Search form */
.search-form-wrap { margin-bottom:20px }

/* Empty state messages */
.empty-msg { color:var(--c-text-muted); padding:20px 0 }

/* Section header color variants */


/* Section badge color variants */
.badge-red   { background:#e74c3c }
.badge-blue  { background:var(--c-accent) }
.badge-green { background:#7cb82f }
.badge-pink  { background:#e91e8c }
.badge-cyan  { background:#00bcd4 }

/* Share float network colors */
.sf-facebook  { background:#3b5998 }
.sf-twitter   { background:var(--c-topbar) }
.sf-pinterest { background:#e60023 }
.sf-linkedin  { background:#0a66c2 }
.sf-whatsapp  { background:#25d366 }
.sf-telegram  { background:#2ca5e0 }

/* Share bar network colors */
.share-btn-lg      { flex:1; max-width:155px }
.sb-facebook       { background:#3b5998 }
.sb-twitter        { background:var(--c-topbar) }
.sb-pinterest      { background:#e60023 }
.sb-linkedin       { background:#0a66c2 }
.sb-whatsapp       { background:#25d366 }
.sb-telegram       { background:#2ca5e0 }
.sb-email          { background:var(--c-text2) }

/* Meta author text colors */
.meta-author-light { color:rgba(255,255,255,.85) }
.meta-author-dark  { color:var(--c-text3) }

/* Hero title small variant */
.hero-title-sm { font-size:17px }

/* Editor's picks featured */
.ep-featured       { margin-bottom:20px }
.ep-featured-img   { display:block }
.fp-img-wrap       { display:block }
.list-post-img-wrap{ display:block }
.explore-img-wrap  { display:block }
.rec-featured-img  { display:block }
.ln-img-wrap       { display:block; position:relative; overflow:hidden }

/* Content inline links */
.content-link { color:var(--c-accent) }

/* sb-cat-left: remove underline */
.sb-cat-left { text-decoration:none }
/* ══════════════════════════════════════════════════════
   SEO: Table of Contents (ToC) — gerado automaticamente
   ══════════════════════════════════════════════════════ */
.toc {
    margin-top: 20px;
    background: var(--c-surface, #f9f9f9);
    border: 1px solid var(--c-border2, #ddd);
    border-left: 4px solid var(--c-accent, #e63946);
    border-radius: 6px;
    padding: 18px 22px;
    margin-bottom: 0;
    font-size: 0.9rem;
}
.toc details{margin:0}
.toc summary{cursor:pointer;list-style:none}
.toc summary::-webkit-details-marker{display:none}
.toc summary::after{content:'▾';float:right;font-size:1.1em;transition:transform .2s}
.toc details:not([open]) summary::after{transform:rotate(-90deg)}
.toc-title {
    font-weight: 700;
    font-size: 0.95rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    margin-bottom: 12px;
    color: var(--c-accent, #e63946);
}
.article-content figure:first-of-type{margin:0!important}
.toc-list {
    margin: 0;
    padding-left: 20px;
    line-height: 1.8;
}
.toc-list li a {
    color: var(--c-text, #1a1a1a);
    text-decoration: none;
    transition: color .2s;
}
.toc-list li a:hover { color: var(--c-accent, #e63946); text-decoration: underline; }
.toc-list li.toc-sub { margin-left: 16px; font-size: 0.85rem; }

/* CLS prevention: reservar espaço mínimo para anúncios */
.ad-wide-wrap{background:transparent;text-align:center;width:100%}
.ad-sq-wrap{min-height:250px;background:transparent;text-align:center}
.ad-wide-wrap img,.ad-sq-wrap img{display:block;margin:0 auto}

/* ============================================================
   HAMBURGER & MOBILE SIDEBAR — Tema 3
============================================================ */
.t3-hamburger{display:none;flex-direction:column;gap:20px;background:none;border:none;cursor:pointer;padding:5px 4px;flex-shrink:0}
.t3-hamburger span{display:block;width:24px;height:2px;background:var(--c-nav-text);border-radius:2px;transition:background .2s}
.t3-sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:9990}
.t3-sidebar-overlay.active{display:block}
.t3-sidebar-menu{position:fixed;top:0;left:-300px;width:280px;height:100%;background:var(--c-bg-white);z-index:9999;overflow-y:auto;transition:left .3s ease;box-shadow:3px 0 20px rgba(0,0,0,.15)}
.t3-sidebar-menu.active{left:0}
.t3-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--c-border)}
.t3-sidebar-header .t3-sb-logo img{height:36px;width:auto}
.t3-sidebar-close{background:none;border:none;font-size:29px;cursor:pointer;color:var(--c-text2);padding:4px;line-height:1}
.t3-sidebar-close:hover{color:var(--c-accent)}
.t3-sidebar-nav{padding:8px 0}
.t3-sidebar-nav a{display:flex;align-items:center;justify-content:space-between;padding:13px 18px;font-size:16px;font-weight:600;color:var(--c-text2);border-bottom:1px solid var(--c-border);transition:background .15s,color .15s}
.t3-sidebar-nav a:hover{background:var(--c-surface);color:var(--c-nav-hover, var(--c-accent))}

/* ============================================================
   RESPONSIVE — Mobile First (tema3 não tinha @media queries)
============================================================ */

/* ── Tablet (≤ 1024px) ── */
@media (max-width: 1024px) {
  .site-header { padding: 14px 16px; flex-wrap: wrap; gap: 10px; }
  .ad-banner { width: 100%; max-width: 300px; height: 50px; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero-bottom-right { grid-template-columns: 1fr 1fr; }
  .hero-top-right { display: none; }
  .stories-container { grid-template-columns: 1fr 280px; gap: 20px; }
  .stories-body { grid-template-columns: 1fr; }
  .ep-container { grid-template-columns: 1fr 280px; gap: 20px; }
  .ep-featured { grid-template-columns: 1fr; }
  .footer-inner { grid-template-columns: 1fr 1fr; gap: 30px; }
  .post-page { grid-template-columns: 1fr 280px; gap: 28px; }
  .inner-page { grid-template-columns: 1fr 280px; gap: 28px; }
  .contact-grid { grid-template-columns: 1fr; }
  .archive-item { grid-template-columns: 200px 1fr; }
  .archive-img img { width: 100%; }
}

/* ── Mobile largo (≤ 768px) ── */
@media (max-width: 768px) {
  /* Topbar */
  .topbar-inner { height: auto; padding: 6px 16px; flex-wrap: wrap; gap: 4px; }
  .topbar-left { gap: 12px; }
  .topbar-left a { font-size: 13px; }
  .topbar-date { display: none; }
  .topbar-right { gap: 10px; }
  .social-icons a { width: 18px; height: 18px; }
  .social-icons i { font-size: 14px; }

  /* Header */
  .site-header { flex-direction: column; align-items: flex-start; gap: 10px; padding: 12px 16px; }
  .ad-banner { display: none; }

  /* Nav — esconde links, mostra hamburger */
  .nav-menu { display: none !important; }
  .t3-hamburger { display: flex; }
  .nav-inner { margin: 0 16px; height: auto; padding: 6px 0; }

  /* Ticker */
  .ticker-bar { height: auto; min-height: 36px; }
  .ticker-label { display: none; }

  /* Hero */
  .hero-grid { grid-template-columns: 1fr; }
  .hero-main img { min-height: 240px; }
  .hero-bottom-right { grid-template-columns: 1fr; }
  .hero-small img { height: 160px; }
  .hero-title { font-size: 22px; }
  .hero-top-right { display: none; }

  /* Stories / Main content */
  .stories-container { grid-template-columns: 1fr; }
  .stories-sidebar { display: none; }
  .stories-body { grid-template-columns: 1fr; }
  .ep-container { grid-template-columns: 1fr; }
  .ep-sidebar { display: none; }
  .ep-featured { grid-template-columns: 1fr; }

  /* Featured post */
  .fp-img-wrap img { width: 100%; height: 200px; }

  /* Post list items */
  .post-list-item { flex-direction: column; }
  .pli-img { width: 100%; height: 180px; }
  .pli-img img { width: 100%; }

  /* Archive */
  .archive-item { grid-template-columns: 1fr; }
  .archive-img img { width: 100%; height: 200px; }

  /* Footer */
  .footer-inner { grid-template-columns: 1fr 1fr; gap: 24px; padding: 0 16px 30px; }
  .footer-bottom { flex-direction: column; gap: 8px; padding: 12px 16px; text-align: center; }

  /* Post page */
  .post-page { grid-template-columns: 1fr; padding: 20px 16px 32px; }
  .post-sidebar { display: none; }
  .post-title { font-size: clamp(20px,5vw,30px); }
  .post-wrapper { display: block; }
  .share-float { display: none; }

  /* Inner pages */
  .inner-page { grid-template-columns: 1fr; padding: 20px 16px; }
  .inner-sidebar { display: none; }

  /* Authors grid */
  .authors-grid { grid-template-columns: 1fr; }

  /* Share */
  .share-bar { flex-wrap: wrap; gap: 6px; }
  .share-btn-lg { max-width: 100%; }

  /* Comments */
  .comment-form-grid { grid-template-columns: 1fr; }
}

/* ── Mobile estreito (≤ 480px) ── */
@media (max-width: 480px) {
  /* Topbar */
  .topbar-inner { padding: 5px 12px; }
  .topbar-left { gap: 8px; }
  .topbar-left a { font-size: 12px; }
  .social-icons { gap: 8px; }

  /* Header */
  .site-header { padding: 10px 12px; }
  .logo { font-size: 29px; }
  .logo-dot { font-size: 35px; }

  /* Nav */
  .nav-inner { margin: 0 12px; }

  /* Hero */
  .hero-section { padding: 0 12px 16px; }
  .hero-main img { min-height: 200px; }
  .hero-title { font-size: 19px; }
  .hero-bottom-right { grid-template-columns: 1fr; }
  .hero-small img { height: 140px; }

  /* Stories */
  .stories-container { padding: 0 12px; }
  .ep-container { padding: 0 12px; }
  .fp-img-wrap img { height: 180px; }

  /* Trending topics */
  .tt-row { gap: 10px; }
  .tt-item { font-size: 14px; padding: 6px 14px; }

  /* Don't miss */
  .dm-featured-grid { grid-template-columns: 1fr; }
  .dm-list-grid { grid-template-columns: 1fr; }

  /* Explore */
  .explore-grid { grid-template-columns: 1fr 1fr; gap: 10px; }

  /* Footer */
  .footer-inner { grid-template-columns: 1fr; gap: 20px; padding: 0 12px 24px; }
  .footer-bottom { padding: 10px 12px; font-size: 13px; }
  .footer-bottom-links { gap: 10px; flex-wrap: wrap; justify-content: center; }

  /* Post */
  .post-page { padding: 14px 12px 24px; }
  .post-title { font-size: 19px; }
  .post-meta-bar{flex-wrap:wrap;font-size:14px;gap:8px}
  .post-featured-img { margin-bottom: 18px; }
  .post-content p { font-size: 16px; line-height: 1.6; }
  .post-content h3 { font-size: 22px; }
  .post-tags a { font-size: 13px; padding: 4px 12px; }
  .post-nav { grid-template-columns: 1fr; }

  /* Archive */
  .archive-item { grid-template-columns: 1fr; }

  /* Inner pages */
  .inner-page { padding: 14px 12px; }
  .inner-container { padding: 0 12px; }
  .authors-grid { grid-template-columns: 1fr; }

  /* Static */
  .static-page { padding: 14px 12px 40px; }
  .static-content { font-size: 16px; }
  .contact-grid { padding: 0 12px; }

  /* 404 */
  .page-404 { padding: 40px 16px; }
  .page-404-title { font-size: 27px; }

  /* ep/ln grids */
  .ep-list-grid { grid-template-columns: 1fr; }
  .ln-grid { grid-template-columns: 1fr; }
  .trending-grid { grid-template-columns: 1fr; }
}

/* Cookie Consent Bar */
.cookie-box{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--c-surface,#fff);border-top:1px solid var(--c-border,#ddd);padding:18px 0;z-index:9990;box-shadow:0 -2px 12px rgba(0,0,0,.08)}
.cookie-box.active{display:block}
.cookie-box .cb-inner{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.cookie-box .cb-text{font-size:15.5px;color:var(--c-text-muted,#444);line-height:1.55}
.cookie-box .cb-text a{color:var(--c-text,#333);text-decoration:underline;font-weight:600}
.cookie-box .cb-btn{flex-shrink:0;background:var(--c-accent,#2196F3);color:#fff;border:none;padding:10px 28px;font-size:15px;font-weight:700;border-radius:4px;cursor:pointer;white-space:nowrap}
.cookie-box .cb-btn:hover{opacity:.85}
@media(max-width:600px){.cookie-box .cb-inner{flex-direction:column;text-align:center;gap:12px}}

/* Stories menu highlight */
a.nav-link[href="/stories"],.topbar a[href="/stories"]{background:linear-gradient(90deg,#ec4899,#a855f7,#3b82f6,#06b6d4)!important;-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important;font-weight:700!important}

/* Article Content Styling */
.article-content{--tc:var(--c-text,#1a1a1a);--c1:var(--c-accent,#1a73e8);--bg:#1a1a1a;--br:6px;font-size:18px!important;display:flex;flex-direction:column;gap:20px;line-height:1.6}
.article-content h1:first-child{display:none!important}
.article-content h2,.article-content h3{color:var(--tc)!important;margin-top:15px!important;margin-bottom:0px!important}
.article-content p{margin-bottom:0!important}
.article-content ul,.article-content ol{padding-left:24px!important;display:flex!important;flex-direction:column!important;gap:10px!important}
.article-content ul{list-style:disc!important}
.article-content ol{list-style:decimal!important}
.article-content li::marker{color:var(--c1,var(--c-accent,#1a73e8))!important;font-weight:700!important;font-size:1.1em!important}
.article-content blockquote{border-left:4px solid var(--c1)!important;padding:16px!important;color:#fff!important;background:var(--tc)!important;font-style:italic!important;border-radius:var(--br)!important}
.article-content blockquote p,.article-content blockquote span,.article-content blockquote cite{color:#fff!important}
.article-content pre{background:var(--bg)!important;padding:20px!important;border:1px solid var(--tc)!important;border-radius:var(--br)!important;overflow-x:auto!important;color:#dcdcdc!important;font-family:monospace!important}
.article-content a{color:var(--c1)!important;text-decoration:underline!important;font-weight:500!important}
.article-content img{box-shadow:none!important;width:100%!important;border-radius:var(--br)!important;border:none!important;margin:0!important;padding:0!important}
.article-content figcaption{font-size:14px!important;text-align:left!important;margin-top:10px!important;color:var(--tc)!important;word-wrap:break-word!important;overflow-wrap:break-word!important}
.article-content figure{margin:0!important;max-width:100%!important;overflow:hidden!important}
.article-content table{margin:0!important;border-collapse:unset!important;color:var(--tc)!important;width:100%!important;max-width:100%!important;table-layout:auto!important}
.article-content .table-wrap{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;margin:16px 0!important;max-width:100%!important}
.article-content th{border:none!important;color:var(--tc)!important;background-color:transparent!important;border-left:1px solid var(--c1)!important;border-bottom:1px solid var(--c1)!important;padding:5px 15px!important;font-size:13px!important;font-weight:700!important;text-transform:uppercase!important}
.article-content td{border:none!important;color:var(--tc)!important;background-color:transparent!important;border-left:1px solid var(--c1)!important;border-bottom:1px solid var(--c1)!important;padding:5px 15px!important;font-size:17px!important}
.article-content tr{border:none!important;color:var(--tc)!important;background:none!important}
.article-content th:first-child,.article-content td:first-child{padding-left:0!important;border-left:none!important}
.article-content tr:last-child td{border-bottom:none!important}
.article-content code{color:var(--tc)!important;border:1px solid #333!important;padding:0 3px!important;font-size:17px!important;font-weight:600!important;border-radius:var(--br)!important}
.article-content pre code{border:none!important}

/* Table responsive fix */
@media (max-width: 768px){
    .article-content table{display:block!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
    .article-content table tbody{display:table!important;width:100%!important;min-width:500px!important}
}
body.dark-mode .post-img-source{color:#777;}

/* Capa com figcaption igual às inline */

/* Capa com figcaption IDÊNTICO às inline */
.post-cover-figure{margin:0 0 24px;max-width:100%;overflow:hidden}
.post-cover-figure img{width:100%;height:auto;max-height:600px;object-fit:cover;display:block;border-radius:4px}
.post-cover-figure figcaption{font-size:14px;text-align:left;margin-top:10px;color:var(--tc);word-wrap:break-word;overflow-wrap:break-word;font-style:italic;line-height:1.4}

/* Video Cover */
.post-cover-video-wrap{position:relative;width:100%;padding-bottom:56.25%;background:#000;overflow:hidden}
.post-cover-video{width:100%;max-height:600px;display:block;background:#000}
.post-cover-figure video{width:100%}
.card-play-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:40px;color:rgba(255,255,255,.85);pointer-events:none;text-shadow:0 2px 8px rgba(0,0,0,.4)}


/* Card play icon positioning */
a[href]:has(>.card-play-icon){position:relative;display:inline-block}



/* ============================================================
   ════════  REDESIGN R1 — EDITORIAL / REVISTA PREMIUM  ════════
   Override layer appended last (cascade wins). Nada removido.
   Usa SOMENTE as CSS variables do tema (:root no tema3.php).
   Neutros derivados via color-mix a partir das vars existentes.
============================================================ */

:root{
  /* ── Tokens de design derivados (não hardcode de cor/fonte) ── */
  --r:10px;            /* radius base do tema */
  --r-sm:6px;
  --r-lg:16px;
  --r-pill:999px;

  /* tinta/superfície/linha derivadas das vars do tema */
  --ink:        var(--c-text);
  --ink-soft:   var(--c-text3);
  --ink-faint:  var(--c-text-muted);
  --surface:    var(--c-bg-card);
  --surface-2:  color-mix(in srgb, var(--c-bg-white) 96%, var(--c-text) 4%);
  --hair:       color-mix(in srgb, var(--c-border) 70%, var(--c-text) 6%);
  --hair-soft:  color-mix(in srgb, var(--c-border) 88%, transparent);

  /* accent derivados */
  --accent:     var(--c-accent);
  --accent-2:   var(--c-accent2, var(--c-accent));
  --accent-ghost: color-mix(in srgb, var(--c-accent) 12%, transparent);
  --accent-tint:  color-mix(in srgb, var(--c-accent) 7%,  var(--c-bg-white));
  --on-accent:  #ffffff; /* contraste padrão do tema p/ badges (mantém comportamento atual) */

  /* sombras editoriais suaves */
  --sh-1: 0 1px 2px rgba(0,0,0,.04), 0 1px 3px rgba(0,0,0,.05);
  --sh-2: 0 6px 18px -6px color-mix(in srgb, var(--c-shadow) 80%, transparent), 0 2px 6px rgba(0,0,0,.05);
  --sh-3: 0 18px 48px -14px color-mix(in srgb, var(--c-shadow) 85%, transparent);

  /* escala tipográfica fluida */
  --fs-hero:   clamp(1.9rem, 1.1rem + 2.6vw, 3.05rem);
  --fs-h1:     clamp(1.7rem, 1.1rem + 1.9vw, 2.55rem);
  --fs-sec:    clamp(1.02rem, .92rem + .35vw, 1.18rem);

  /* espaçamento generoso/assimétrico */
  --gap:24px;
  --gap-lg:clamp(28px, 4vw, 56px);
}

[data-theme="dark"]{
  --surface-2: color-mix(in srgb, var(--c-bg-white) 88%, #ffffff 6%);
  --hair:      color-mix(in srgb, var(--c-border) 80%, #ffffff 8%);
  --hair-soft: color-mix(in srgb, var(--c-border) 90%, transparent);
  --accent-tint: color-mix(in srgb, var(--c-accent) 16%, var(--c-bg-white));
  --sh-1: 0 1px 2px rgba(0,0,0,.4);
  --sh-2: 0 8px 22px -8px rgba(0,0,0,.6);
  --sh-3: 0 22px 54px -16px rgba(0,0,0,.7);
}

html{font-size:17px}
@media (min-width:1280px){ html{font-size:18px} }
body{ -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; letter-spacing:.1px }

/* container ligeiramente mais largo e arejado */
.topbar-inner,.site-header,.main-nav,.ticker-bar,.hero-section,.stories-container,
.ep-container,.footer-inner,.footer-bottom,.post-page,.inner-page,.static-page{
  max-width:1280px;
}

/* ── TOPBAR: mais fino, refinado ── */
.topbar{ border-bottom:1px solid var(--hair-soft) }
.topbar-inner{ height:40px }
.topbar-left a,.topbar-date,.topbar-social a{ font-size:13px; letter-spacing:.2px }
.topbar-social a{ transition:color .2s, transform .2s }
.topbar-social a:hover{ transform:translateY(-1px) }

/* ── SITE HEADER: respiro vertical, logo destacada ── */
.site-header{ padding:26px 24px; align-items:center }
.ad-banner{ border-radius:var(--r-sm); opacity:.96 }
.ad-banner img{ border-radius:var(--r-sm) }

/* ── NAV: limpo, pílulas, sticky discreto ── */
.main-nav-wrapper{ position:sticky; top:0; z-index:900; background:var(--c-bg-white);
  border-bottom:1px solid var(--hair-soft); backdrop-filter:saturate(1.1) }
.nav-inner{ height:56px; gap:4px; border-radius:0 }
.nav-link{ font-size:14.5px; font-weight:600; letter-spacing:.2px; padding:0 14px; border-radius:var(--r-pill);
  position:relative; transition:color .2s, background .2s }
.nav-link::after{ content:''; position:absolute; left:14px; right:14px; bottom:9px; height:2px;
  background:var(--accent); border-radius:2px; transform:scaleX(0); transform-origin:left;
  transition:transform .25s ease }
.nav-item:not(.active) .nav-link:hover::after{ transform:scaleX(1) }
.nav-item.active .nav-link{ border-radius:var(--r); padding:7px 16px }
.nav-item.active .nav-link::after{ display:none }
.nav-dropdown{ border-radius:var(--r); padding:8px; min-width:210px; box-shadow:var(--sh-3);
  border-top:none; margin-top:6px }
.nav-dropdown a{ border-bottom:none; border-radius:var(--r-sm); padding:9px 12px; font-weight:500 }
.nav-dropdown a:hover{ background:var(--accent-ghost); color:var(--c-link) }
.nav-icon-btn{ border-radius:var(--r-pill) }
.nav-icon-btn:hover{ background:var(--accent-ghost) }

/* ── TICKER: pílula editorial ── */
.ticker-bar{ height:48px }
.ticker-label{ border-radius:var(--r-pill); padding:5px 14px; letter-spacing:.6px;
  background:var(--accent); color:var(--on-accent) }
.ticker-arrow{ border-radius:var(--r-pill); width:28px; height:28px }
.ticker-arrow:hover{ background:var(--accent); color:var(--on-accent) }

/* ============================================================
   HERO — assimétrico, generoso, sobreposições suaves
============================================================ */
.hero-section{ padding:clamp(20px,3vw,40px) 24px clamp(28px,4vw,52px) }
.hero-grid{ grid-template-columns:1.62fr 1fr; gap:16px }
.hero-main,.hero-top-right,.hero-small{ border-radius:var(--r-lg); box-shadow:var(--sh-2) }
.hero-main img{ min-height:clamp(360px,42vw,560px) }
.hero-overlay{ background:linear-gradient(to top,rgba(0,0,0,.86) 0%,rgba(0,0,0,.45) 45%,rgba(0,0,0,0) 100%);
  padding:clamp(22px,3vw,40px) clamp(20px,2.4vw,34px) clamp(20px,2vw,30px) }
.cat-badge{ border-radius:var(--r-pill); padding:4px 12px; backdrop-filter:saturate(1.2);
  box-shadow:0 2px 8px rgba(0,0,0,.25) }
.hero-title{ font-size:var(--fs-hero); font-weight:800; line-height:1.12; letter-spacing:-.5px;
  text-wrap:balance }
.hero-main:hover img,.hero-top-right:hover img,.hero-small:hover img{ transform:scale(1.05) }
.hero-top-right .hero-title{ font-size:clamp(1.15rem,.9rem+.8vw,1.5rem); line-height:1.2 }
.hero-bottom-right{ gap:16px }
.hero-small .hero-title{ font-size:clamp(1rem,.85rem+.4vw,1.18rem); line-height:1.25 }
.hero-small img{ height:clamp(160px,16vw,210px) }
.hero-meta{ font-size:11.5px }

/* ============================================================
   SECTION HEADER — editorial, kicker + linha
============================================================ */
.section-header{ margin-bottom:24px; border-bottom-width:1px; border-bottom-color:var(--hair);
  align-items:flex-end; padding-bottom:0 }
.section-badge{ clip-path:none; border-radius:var(--r-sm) var(--r-sm) 0 0; font-size:var(--fs-sec);
  font-weight:800; letter-spacing:.3px; padding:9px 18px; bottom:-1px; color:var(--on-accent) }
.section-viewall{ font-weight:700; letter-spacing:.2px; display:inline-flex; align-items:center; gap:5px;
  padding:6px 12px; border-radius:var(--r-pill); transition:background .2s, gap .2s }
.section-viewall:hover{ text-decoration:none; background:var(--accent-ghost); gap:9px }
.section-viewall::after{ content:'→'; font-weight:700 }

/* ============================================================
   STORIES (home) — grid arejado, card destaque
============================================================ */
.stories-section{ padding:clamp(28px,4vw,52px) 0 clamp(36px,5vw,64px) }
.stories-container{ grid-template-columns:minmax(0,1fr) 340px; gap:var(--gap-lg) }
.stories-body{ gap:var(--gap-lg); align-items:start }

.fp-wrap{ gap:16px }
.fp-img-wrap{ border-radius:var(--r); box-shadow:var(--sh-2) }
.fp-img-wrap img{ height:clamp(220px,24vw,300px) }
.fp-cat{ border-radius:0 var(--r-sm) 0 0; padding:5px 14px; letter-spacing:.5px; color:var(--on-accent) }
.fp-title{ font-size:clamp(1.25rem,1rem+.7vw,1.6rem); line-height:1.22; font-weight:800; letter-spacing:-.3px;
  text-wrap:balance }
.fp-excerpt{ font-size:.95rem }

/* list posts — cartões assimétricos, hover lift */
.list-posts{ gap:18px }
.list-post{ grid-template-columns:118px 1fr; gap:14px; padding:10px;
  border-radius:var(--r); transition:background .2s, transform .2s }
.list-post:hover{ background:var(--surface-2); transform:translateX(2px) }
.list-post-img-wrap{ border-radius:var(--r-sm) }
.list-post-img-wrap img{ width:118px; height:84px }
.list-post-cat{ border-bottom:none; color:var(--accent); letter-spacing:.5px; line-height:1.2; margin-bottom:6px }
.list-post-title{ font-size:1rem; line-height:1.28 }

/* ── SIDEBAR home ── */
.sidebar{ gap:var(--gap-lg); top:72px }
.social-widget{ display:flex; flex-direction:column; gap:8px }
.social-row{ border-radius:var(--r-sm); padding:12px 16px; box-shadow:var(--sh-1);
  transition:transform .2s, opacity .2s }
.social-row:hover{ transform:translateY(-2px); opacity:1 }

/* ============================================================
   ARCHIVE / CATEGORY LIST — destaque + ritmo
============================================================ */
.archive-list{ gap:6px }
.archive-item{ grid-template-columns:minmax(0,300px) 1fr; gap:var(--gap-lg); padding:24px;
  border-bottom:1px solid var(--hair-soft); border-radius:var(--r);
  transition:background .2s, box-shadow .2s }
.archive-item:hover{ background:var(--surface-2); box-shadow:var(--sh-1) }
.archive-img{ border-radius:var(--r); box-shadow:var(--sh-1) }
.archive-img img{ height:clamp(170px,18vw,210px); border-radius:var(--r) }
.archive-img-cat{ border-radius:0 var(--r-sm) 0 0; padding:4px 12px; color:var(--on-accent) }
.archive-cat-label{ border-radius:var(--r-pill); padding:4px 13px; color:var(--on-accent) }
.archive-title{ font-size:clamp(1.25rem,1rem+.7vw,1.6rem); line-height:1.22; letter-spacing:-.3px;
  font-weight:800; text-wrap:balance }
.archive-excerpt{ font-size:.97rem }

/* primeiro item da arquivo = destaque maior (assimetria) */
.archive-list > .archive-item:first-child{ grid-template-columns:minmax(0,420px) 1fr }
.archive-list > .archive-item:first-child .archive-img img{ height:clamp(230px,26vw,320px) }
.archive-list > .archive-item:first-child .archive-title{ font-size:clamp(1.5rem,1.1rem+1.1vw,2.05rem) }
@media (max-width:768px){
  .archive-list > .archive-item:first-child{ grid-template-columns:1fr }
}

/* ── INNER PAGE titles ── */
.inner-page{ gap:var(--gap-lg) }
.inner-page-title{ font-size:var(--fs-h1); font-weight:800; letter-spacing:-.6px; line-height:1.1 }
.inner-page-desc{ border-bottom:1px solid var(--hair) }

/* ============================================================
   POST PAGE — leitura editorial confortável
============================================================ */
.post-page{ grid-template-columns:minmax(0,1fr) 330px; gap:var(--gap-lg);
  padding:clamp(24px,3vw,44px) 24px clamp(36px,4vw,56px) }
.post-cat-badge{ border-radius:var(--r-pill); padding:4px 14px; color:var(--on-accent) }
.post-title{ font-size:var(--fs-h1); font-weight:800; line-height:1.12; letter-spacing:-.7px;
  text-wrap:balance }
.post-subtitle{ font-size:clamp(1.05rem,1rem+.4vw,1.3rem); line-height:1.5; color:var(--ink-soft) }
.post-meta-bar{ border-bottom:1px solid var(--hair) }
.post-cover-figure{ border-radius:var(--r-lg); box-shadow:var(--sh-2) }
.post-cover-figure img{ border-radius:var(--r-lg) }
.post-tag{ border-radius:var(--r-pill); padding:6px 16px; font-weight:600;
  background:var(--accent-ghost); color:var(--c-link); transition:background .2s, color .2s }
.post-tag:hover{ background:var(--accent); color:var(--on-accent) }
.post-nav{ gap:1px; border:1px solid var(--hair); border-radius:var(--r); overflow:hidden }
.post-nav-item{ transition:background .2s }
.post-nav-item:hover{ background:var(--surface-2) }
.post-nav-img{ border-radius:var(--r-sm) }
.share-bar{ gap:8px }
.share-btn{ border-radius:var(--r-pill); padding:10px 18px; transition:opacity .2s, transform .2s }
.share-btn:hover{ transform:translateY(-1px) }
.author-box{ border:1px solid var(--hair); border-radius:var(--r-lg); padding:26px;
  background:var(--surface-2); box-shadow:var(--sh-1) }
.author-box-avatar{ box-shadow:var(--sh-1) }
.comment-submit{ border-radius:var(--r-pill); padding:11px 26px }
.comment-form textarea,.comment-fields input{ border-radius:var(--r-sm); border-color:var(--hair) }

/* related — cartões */
.related-section{ border-top:1px solid var(--hair); padding:clamp(28px,4vw,48px) 0 }
.related-grid{ gap:22px }
.related-img{ border-radius:var(--r); box-shadow:var(--sh-1) }
.related-img img{ height:160px; border-radius:var(--r) }
.related-cat{ border-radius:0 var(--r-sm) 0 0; color:var(--on-accent) }
.related-post-title{ font-size:1.05rem; line-height:1.3 }

/* ── POST SIDEBAR ── */
.post-sidebar{ top:72px; gap:32px }
.sb-badge,.sb-cat-badge{ clip-path:none; border-radius:var(--r-sm) var(--r-sm) 0 0; padding:7px 18px;
  color:var(--on-accent) }
.sb-post{ padding:14px 0; grid-template-columns:96px 1fr; gap:14px; border-bottom:1px solid var(--hair-soft) }
.sb-post img{ width:96px; height:68px; border-radius:var(--r-sm) }
.sb-post-cat{ border-bottom:none; color:var(--accent) }
.sb-cat-count{ border-radius:var(--r-pill); color:var(--on-accent) }
.sb-cat-item{ border-bottom:1px solid var(--hair-soft) }

/* ============================================================
   AUTHORS
============================================================ */
.authors-grid{ gap:22px }
.author-card{ border:1px solid var(--hair); border-radius:var(--r-lg); padding:24px;
  background:var(--surface-2); transition:transform .2s, box-shadow .2s }
.author-card:hover{ transform:translateY(-3px); box-shadow:var(--sh-2) }
.author-hero{ border-radius:var(--r-lg); padding:28px; box-shadow:var(--sh-1) }
.author-hero-name{ font-size:var(--fs-h1); letter-spacing:-.5px }

/* ============================================================
   STATIC / HERO PAGES
============================================================ */
.static-hero{ border-radius:var(--r-lg); height:clamp(180px,22vw,250px) }
.static-hero-title{ font-size:var(--fs-h1); font-weight:800; letter-spacing:-.5px }

/* ── FORMS gerais ── */
.contact-form input,.contact-form textarea{ border-radius:var(--r-sm); border-color:var(--hair) }
.contact-form button,.search-bar-wrap button,.page-404-back{ border-radius:var(--r-pill) }
.search-bar-wrap input{ border-radius:var(--r-sm) 0 0 var(--r-sm) }
.search-bar-wrap button{ border-radius:0 var(--r-pill) var(--r-pill) 0 }

/* ============================================================
   FOOTER — polido, colunas assimétricas
============================================================ */
.site-footer{ padding-top:clamp(40px,5vw,64px) }
.footer-inner{ grid-template-columns:1.6fr 1fr 1fr 1.5fr; gap:var(--gap-lg);
  padding-bottom:clamp(32px,4vw,48px) }
.footer-col-title{ font-size:.85rem; text-transform:uppercase; letter-spacing:1.2px;
  position:relative; padding-bottom:12px; margin-bottom:18px }
.footer-col-title::after{ content:''; position:absolute; left:0; bottom:0; width:34px; height:2px;
  background:var(--accent); border-radius:2px }
.footer-socials a{ width:38px; height:38px; justify-content:center; border-radius:var(--r-pill);
  background:color-mix(in srgb, var(--c-footer-text) 14%, transparent); transition:transform .2s, background .2s }
.footer-socials a:hover{ transform:translateY(-2px); background:var(--accent); color:var(--on-accent) }
.footer-socials i{ font-size:18px }
.footer-links ul li a{ transition:color .2s, padding .2s }
.footer-links ul li a:hover{ padding-left:5px }
.footer-subscribe-form{ border-radius:var(--r-pill); overflow:hidden;
  border:1px solid color-mix(in srgb, var(--c-footer-text) 22%, transparent) }
.footer-subscribe-form input{ border:none; background:transparent }
.footer-subscribe-form button{ border-radius:0 }
.footer-divider{ border-top:1px solid var(--c-footer-div) }
.back-to-top{ border-radius:var(--r-pill); box-shadow:var(--sh-2);
  width:44px; height:44px; transition:transform .2s, background .2s }
.back-to-top:hover{ transform:translateY(-3px) }

/* ============================================================
   RESPONSIVE — ajustes do redesign
============================================================ */
@media (max-width:1024px){
  .hero-grid{ grid-template-columns:1fr }
  .stories-container{ grid-template-columns:minmax(0,1fr) 300px; gap:32px }
  .footer-inner{ grid-template-columns:1fr 1fr; gap:32px }
  .archive-list > .archive-item:first-child{ grid-template-columns:minmax(0,300px) 1fr }
}
@media (max-width:768px){
  .nav-inner{ height:auto }
  .hero-grid{ gap:14px }
  .stories-container{ grid-template-columns:1fr }
  .archive-item{ grid-template-columns:1fr; padding:18px }
  .archive-img img{ height:200px }
  .footer-inner{ grid-template-columns:1fr 1fr }
}
@media (max-width:480px){
  .footer-inner{ grid-template-columns:1fr }
  .hero-bottom-right{ grid-template-columns:1fr }
  .section-badge{ font-size:.92rem; padding:8px 14px }
}


/* ============================================================
   ════════  REFINO R2 — EDITORIAL AWARD-WINNING  ════════
   Camada appended por último (cascata vence). Nada removido.
   Usa SOMENTE as CSS variables do tema + tokens do R1.
   Neutros/realces derivados via color-mix. Dark overrides no fim.
============================================================ */

:root{
  /* ── Escala de espaçamento coerente (passo 1.5x ~ base 4px) ── */
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 24px;
  --sp-6: 32px;
  --sp-7: 48px;
  --sp-8: 64px;

  /* ── Tokens tipográficos: leading + tracking coerentes ── */
  --lh-tight:   1.12;   /* manchetes grandes */
  --lh-snug:    1.22;   /* títulos de card */
  --lh-normal:  1.5;    /* subtítulos */
  --lh-relaxed: 1.7;    /* corpo longo */
  --tr-tight:   -.018em;/* manchetes */
  --tr-snug:    -.01em; /* títulos médios */
  --tr-wide:    .06em;  /* eyebrows/kickers caixa-alta */

  /* ── Easing editorial (cubic) p/ micro-interações coesas ── */
  --ease: cubic-bezier(.22,.61,.36,1);
  --ease-out: cubic-bezier(.16,1,.3,1);
  --dur: .26s;
  --dur-fast: .16s;

  /* ── Realces finos derivados do accent ── */
  --accent-line:  color-mix(in srgb, var(--c-accent) 85%, var(--c-text) 6%);
  --accent-faint: color-mix(in srgb, var(--c-accent) 4%, var(--c-bg-white));
  --hair-strong:  color-mix(in srgb, var(--c-border) 50%, var(--c-text) 14%);

  /* anel de foco acessível e na cor da marca */
  --focus-ring: 0 0 0 2px var(--c-bg-white), 0 0 0 4px color-mix(in srgb, var(--c-accent) 65%, transparent);
}

[data-theme="dark"]{
  --accent-faint: color-mix(in srgb, var(--c-accent) 12%, var(--c-bg-white));
  --hair-strong:  color-mix(in srgb, var(--c-border) 60%, #ffffff 12%);
  --focus-ring: 0 0 0 2px var(--c-bg-white), 0 0 0 4px color-mix(in srgb, var(--c-accent) 75%, transparent);
}

/* ── Seleção de texto na cor da marca (detalhe premium) ── */
::selection{ background:color-mix(in srgb, var(--c-accent) 22%, transparent); color:var(--c-text) }

/* ── Foco acessível e coeso em tudo que é interativo ── */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,
.nav-link:focus-visible,.section-viewall:focus-visible,.post-tag:focus-visible,
.share-btn:focus-visible,.footer-socials a:focus-visible,.back-to-top:focus-visible,
.ticker-arrow:focus-visible,.nav-icon-btn:focus-visible{
  outline:none; box-shadow:var(--focus-ring); border-radius:var(--r-sm);
}

/* ── Transições coesas: usa o mesmo easing/duração em toda imagem-card ── */
.hero-main img,.hero-top-right img,.hero-small img,.fp-img-wrap img,.list-post-img-wrap img,
.trending-img-wrap img,.dm-featured-item img,.dm-list-item img,.explore-img-wrap img,
.ep-featured-img img,.ln-img-wrap img,.rec-featured-img img,.archive-img img,.related-img img{
  transition:transform .55s var(--ease-out);
}

/* ============================================================
   TIPOGRAFIA — hierarquia mais profunda e leading/tracking finos
============================================================ */
.hero-title{ line-height:var(--lh-tight); letter-spacing:var(--tr-tight) }
.fp-title,.archive-title{ line-height:var(--lh-snug); letter-spacing:var(--tr-snug) }
.post-title{ line-height:var(--lh-tight); letter-spacing:var(--tr-tight) }
.inner-page-title,.author-hero-name,.static-hero-title,.tt-heading{ letter-spacing:var(--tr-snug) }
.list-post-title,.trending-title,.ep-list-title,.rec-list-title,.sb-post-title,
.dm-list-title,.explore-title,.ln-title,.related-post-title,.post-nav-title{
  letter-spacing:-.005em;
}
/* corpo de leitura: medida confortável e leading generoso */
.post-content,.article-content{ line-height:var(--lh-relaxed) }
.post-content p,.article-content p{ max-width:none }
.post-subtitle{ line-height:var(--lh-normal) }
.fp-excerpt,.ep-excerpt,.archive-excerpt,.ln-excerpt,.related-excerpt{ line-height:var(--lh-relaxed) }

/* eyebrows / kickers de categoria — caixa-alta com tracking coerente */
.list-post-cat,.trending-cat,.ep-list-cat,.rec-list-cat,.sb-post-cat,.dm-list-cat,
.fp-meta,.ep-meta,.ln-meta,.archive-meta,.related-meta,.trending-meta,.dm-list-date,
.sb-post-date,.list-post-meta,.author-box-label,.post-nav-label,.contact-label{
  letter-spacing:var(--tr-wide);
}

/* ============================================================
   SECTION HEADER — eyebrow editorial + linha viva
============================================================ */
.section-header{ gap:var(--sp-3); position:relative }
/* linha base do header ganha um trecho de accent à esquerda (detalhe revista) */
.section-header::after{
  content:''; position:absolute; left:0; bottom:-1px; width:64px; height:2px;
  background:var(--accent-line); border-radius:2px; z-index:1;
}
.section-badge{ box-shadow:0 6px 14px -8px color-mix(in srgb,var(--c-accent) 60%,transparent) }
.section-viewall::after{ transition:transform var(--dur) var(--ease) }
.section-viewall:hover::after{ transform:translateX(2px) }

/* tt-heading: divisores mais delicados, na cor da marca */
.tt-heading::before,.tt-heading::after{
  background:color-mix(in srgb, var(--c-accent) 55%, transparent); width:48px; opacity:.9;
}
.tt-subtitle{ letter-spacing:.01em }

/* ============================================================
   HERO — sobreposição mais refinada + brilho sutil no hover
============================================================ */
.hero-main,.hero-top-right,.hero-small{ transition:box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease) }
.hero-main:hover,.hero-top-right:hover,.hero-small:hover{ box-shadow:var(--sh-3) }
/* fina linha-luz no topo da overlay p/ separar do título */
.hero-overlay .cat-badge{ box-shadow:0 2px 10px rgba(0,0,0,.3) }
.hero-meta{ letter-spacing:var(--tr-wide) }
.hero-meta strong{ letter-spacing:.02em }

/* ============================================================
   CARDS — ritmo de hover coeso (lift + título no accent)
============================================================ */
.list-post{ transition:background var(--dur) var(--ease), transform var(--dur) var(--ease) }
.list-post:hover{ transform:translateX(3px) }
.trending-item,.explore-item,.ln-item,.dm-featured-item,.dm-list-item,.related-item,.ep-list-item{
  transition:transform var(--dur) var(--ease);
}
.trending-item:hover,.explore-item:hover,.ln-item:hover{ transform:translateY(-2px) }
.trending-img-wrap,.explore-img-wrap,.ln-img-wrap,.ep-featured-img,.rec-featured-img,.dm-featured-item{
  border-radius:var(--r-sm); box-shadow:var(--sh-1);
}
.trending-img-wrap img,.explore-img-wrap img,.ln-img-wrap img,.dm-featured-item img,.related-img img{
  border-radius:var(--r-sm);
}
/* eyebrow de categoria recebe pequeno traço (consistência editorial) */
.trending-cat,.ln-cat,.explore-cat{ font-weight:800 }

/* ============================================================
   SIDEBAR — cabeçalhos com kicker e ritmo
============================================================ */
.rec-sidebar,.post-sidebar,.sidebar{ top:80px }
.rec-list-item{ transition:transform var(--dur) var(--ease) }
.rec-list-item:hover{ transform:translateX(3px) }
.rec-list-item img,.ep-list-item img{ border-radius:var(--r-sm) }
.sb-cat-left{ transition:color var(--dur-fast) var(--ease), gap var(--dur) var(--ease) }
.sb-cat-item{ transition:padding var(--dur) var(--ease) }

/* ============================================================
   POST — leitura premium: drop-cap, blockquote, divisores
============================================================ */
.drop-cap{ color:var(--c-accent); margin-top:8px; line-height:.7 }
.post-content blockquote{
  border-left-width:3px; border-left-color:var(--accent-line);
  border-radius:0 var(--r-sm) var(--r-sm) 0; font-style:italic;
}
.post-content h3{ letter-spacing:var(--tr-snug); line-height:var(--lh-snug) }
/* divisor fino entre seções de leitura, na cor da marca */
.post-meta-bar{ position:relative }
.post-tag{ transition:background var(--dur) var(--ease), color var(--dur) var(--ease), transform var(--dur-fast) var(--ease) }
.post-tag:hover{ transform:translateY(-1px) }
.author-box{ position:relative; overflow:hidden }
.author-box::before{
  content:''; position:absolute; top:0; left:0; width:3px; height:100%;
  background:var(--accent-line);
}
.author-box-name{ letter-spacing:var(--tr-snug) }

/* share buttons: leve escala + sombra coesa */
.share-btn{ transition:transform var(--dur-fast) var(--ease), box-shadow var(--dur) var(--ease), opacity var(--dur) var(--ease) }
.share-btn:hover{ box-shadow:var(--sh-1) }

/* ============================================================
   NAV — sublinhado mais refinado + dropdown polido
============================================================ */
.nav-link::after{ height:2.5px; border-radius:var(--r-pill); transition:transform var(--dur) var(--ease-out) }
.nav-dropdown{ transition:opacity var(--dur) var(--ease), transform var(--dur) var(--ease), visibility var(--dur) }
.nav-dropdown a{ transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), padding var(--dur) var(--ease) }
.nav-dropdown a:hover{ padding-left:16px }

/* ============================================================
   FOOTER — hairlines e ritmo final
============================================================ */
.footer-col-title::after{ background:var(--accent-line); width:32px; transition:width var(--dur) var(--ease) }
.footer-col:hover .footer-col-title::after{ width:48px }
.footer-bottom{ border-top:1px solid var(--c-footer-div) }
.footer-links ul li a{ transition:color var(--dur) var(--ease), padding var(--dur) var(--ease) }

/* ── breadcrumb: separador mais elegante ── */
.breadcrumb a,.inner-breadcrumb a{ transition:color var(--dur-fast) var(--ease) }

/* ── reduz movimento p/ quem prefere ── */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important;
    transition-duration:.001ms !important; scroll-behavior:auto !important }
}

/* ── ajustes responsivos do R2 ── */
@media (max-width:768px){
  .section-header::after{ width:48px }
  .hero-title{ letter-spacing:-.01em }
}


/* ============================================================
   ════════  POLISH R3 — DETALHE FINAL EDITORIAL  ════════
   Camada appended por último (cascata vence). Nada removido.
   Usa SOMENTE as CSS variables do tema + tokens do R1/R2.
   Neutros/realces via color-mix. Dark overrides já herdados.
   Foco: tokenizar resíduos, estados redondos (hover/focus/
   active/disabled/empty), micro-tipografia (viúvas/medida ch),
   alinhamento de grid e responsivo afinado.
============================================================ */

:root{
  /* medida de leitura confortável p/ corpo do post (~68 caracteres) */
  --measure: 68ch;
}

/* ── MICRO-TIPOGRAFIA: evita viúvas/órfãs no corpo e excertos ── */
.post-content p,.article-content p,
.fp-excerpt,.ep-excerpt,.archive-excerpt,.ln-excerpt,.related-excerpt,
.post-subtitle,.inner-page-desc,.author-box-bio,.author-hero-bio,
.static-content p,.footer-about p{
  text-wrap:pretty;
}
/* títulos de card menores também equilibram quebra */
.list-post-title,.trending-title,.ep-list-title,.rec-list-title,.sb-post-title,
.dm-list-title,.explore-title,.ln-title,.related-post-title,.post-nav-title,
.ep-title,.dm-featured-title,.hero-top-right .hero-title,.hero-small .hero-title{
  text-wrap:balance;
}

/* ── MEDIDA DE LEITURA (ch): só texto fluido; mídia segue full-bleed ── */
.post-content > p,.article-content > p,
.post-content > h2,.article-content > h2,
.post-content > h3,.article-content > h3,
.post-content > ul,.article-content > ul,
.post-content > ol,.article-content > ol,
.post-content > blockquote{
  max-width:var(--measure);
}
/* mídia, tabelas e blocos largos não recebem a medida (ocupam a coluna) */
.post-content > figure,.article-content > figure,
.post-content > .table-wrap,.article-content > .table-wrap,
.post-content > table,.article-content > table,
.post-content > pre,.article-content > pre,
.post-content > img,.article-content > img,
.post-cover-figure{
  max-width:100%;
}

/* ── ESPAÇAMENTOS RESIDUAIS → tokens --sp-* (coerência) ── */
.breadcrumb,.inner-breadcrumb{ margin-bottom:var(--sp-4); gap:var(--sp-1) }
.post-cat-badge{ margin-bottom:var(--sp-3) }
.post-subtitle{ margin-bottom:var(--sp-4) }
.post-meta-bar{ margin-bottom:var(--sp-5); padding-bottom:var(--sp-4); gap:var(--sp-3) }
.post-tags{ margin:var(--sp-5) 0 var(--sp-6); gap:var(--sp-2) }
.post-nav{ margin-bottom:var(--sp-6) }
.share-bar{ margin-bottom:var(--sp-6) }
.section-header{ margin-bottom:var(--sp-5) }
.comment-note{ margin-bottom:var(--sp-5) }
.comment-fields{ gap:var(--sp-3); margin-bottom:var(--sp-3) }
.related-title{ margin-bottom:var(--sp-5) }
.cat-badge,.dm-featured-cat{ margin-bottom:var(--sp-2) }

/* ── RAIOS RESIDUAIS → tokens --r* ── */
.score-badge,.fp-score,.ln-score,.archive-img-score{ box-shadow:var(--sh-1) }
.post-nav-img,.post-meta-avatar{ border-radius:var(--r-sm) }
.share-float a{ border-radius:var(--r-sm) }
.toggle-switch{ border-radius:var(--r-pill) }
.nav-badge,.ticker-label{ border-radius:var(--r-sm) }
.toc{ border-radius:var(--r) }
.cookie-box .cb-btn{ border-radius:var(--r-pill) }

/* ── ESTADOS: ACTIVE (feedback de toque/clique coeso) ── */
.share-btn:active,.comment-submit:active,.contact-form button:active,
.search-bar-wrap button:active,.footer-subscribe-form button:active,
.page-404-back:active,.cookie-box .cb-btn:active,.post-tag:active{
  transform:translateY(0) scale(.98);
}
.ticker-arrow:active,.nav-icon-btn:active,.back-to-top:active{ transform:scale(.94) }
.list-post:active,.archive-item:active{ transform:none }
.footer-socials a:active{ transform:translateY(0) scale(.94) }
.section-viewall:active{ transform:translateY(1px) }

/* ── ESTADOS: DISABLED (botões — ex.: comment-submit via JS) ── */
button:disabled,.comment-submit:disabled,.contact-form button:disabled,
.footer-subscribe-form button:disabled{
  opacity:.55; cursor:not-allowed; transform:none; box-shadow:none;
  filter:saturate(.6);
}
button:disabled:hover{ opacity:.55 }

/* ── ESTADOS: HOVER que faltavam (consistência) ── */
.contact-form button,.search-bar-wrap button,.footer-subscribe-form button,
.page-404-back,.comment-submit,.cookie-box .cb-btn{
  transition:background var(--dur) var(--ease), transform var(--dur-fast) var(--ease),
             box-shadow var(--dur) var(--ease);
}
.contact-form button:hover,.search-bar-wrap button:hover,.page-404-back:hover,
.comment-submit:hover{ box-shadow:var(--sh-1) }
.cookie-box .cb-btn:hover{ opacity:1; box-shadow:var(--sh-1) }
.breadcrumb a:hover,.inner-breadcrumb a:hover{ color:var(--c-accent) }
.author-card-meta a:hover,.contact-val a:hover,.content-link:hover,
.static-content a:hover{ color:var(--accent-line) }
.post-tag:hover{ box-shadow:var(--sh-1) }

/* ── ESTADO EMPTY: mensagens de lista/busca vazia mais elegantes ── */
.empty-msg{
  color:var(--ink-faint); padding:var(--sp-7) var(--sp-5); text-align:center;
  border:1px dashed var(--hair-strong); border-radius:var(--r-lg);
  background:var(--surface-2); font-size:1rem; line-height:var(--lh-normal);
}
.search-count{ color:var(--ink-faint); margin-bottom:var(--sp-5); letter-spacing:.01em }

/* ── FOCO: campos de formulário com anel coeso (sem deslocar layout) ── */
.comment-form textarea:focus,.comment-fields input:focus,
.contact-form input:focus,.contact-form textarea:focus,
.search-bar-wrap input:focus,.page-404-search input:focus,
.footer-subscribe-form input:focus{
  outline:none; border-color:var(--accent-line);
  box-shadow:0 0 0 3px var(--accent-ghost);
}
.footer-subscribe-form:focus-within{
  border-color:color-mix(in srgb, var(--c-footer-text) 42%, transparent);
}

/* ── ALINHAMENTO DE GRID: thumbs de lista uniformes (ratio coerente) ── */
.dm-list-item,.ep-list-item,.rec-list-item,.sb-post{ align-items:start }
.dm-list-item img,.ep-list-item img,.rec-list-item img,.sb-post img,
.list-post-img-wrap img{ aspect-ratio:4/3; object-fit:cover; height:auto }
.list-post{ align-items:start }
/* trending: thumbs com ratio fixo p/ linha-base perfeita */
.trending-img-wrap img{ aspect-ratio:16/10; height:auto }
.explore-img-wrap img,.ln-img-wrap img{ aspect-ratio:16/10; height:auto }
.related-img img{ aspect-ratio:16/10; height:auto }

/* ── DETALHE: avatar de autor com anel sutil na cor da marca ── */
.author-box-avatar,.post-meta-avatar{
  outline:2px solid var(--accent-ghost); outline-offset:2px;
}
.author-card-avatar,.author-hero-avatar{ box-shadow:var(--sh-1) }

/* ── DETALHE: drop-cap mais editorial (alinhado à baseline) ── */
.drop-cap{ padding-right:var(--sp-1) }

/* ── DETALHE: ticker pausa no hover (legibilidade) ── */
.ticker-content:hover .ticker-track{ animation-play-state:paused }

/* ── DETALHE: back-to-top com transição coesa de easing ── */
.back-to-top{ transition:transform var(--dur) var(--ease), background var(--dur) var(--ease),
              opacity var(--dur) var(--ease) }

/* ── DETALHE: section-viewall seta usa easing/dur do R2 (já feito) + cor ── */
.section-viewall:hover{ color:var(--accent-line) }

/* ── DETALHE: nav sticky ganha sombra fina ao rolar (sempre presente, sutil) ── */
.main-nav-wrapper{ box-shadow:0 1px 0 var(--hair-soft) }

/* ── TOC: itens com micro-interação coesa ── */
.toc-list li a{ transition:color var(--dur-fast) var(--ease) }
.toc summary{ transition:color var(--dur-fast) var(--ease) }
.toc summary:hover{ color:var(--c-accent) }

/* ============================================================
   RESPONSIVO R3 — afinamento 1024 / 768 / 480
============================================================ */
@media (max-width:1024px){
  /* sticky offset coerente com nav sticky (56px) */
  .sidebar,.post-sidebar,.rec-sidebar{ top:72px }
}
@media (max-width:768px){
  /* nav não-sticky no mobile (hamburger): evita sombra órfã */
  .main-nav-wrapper{ position:static; box-shadow:none }
  /* medida de leitura cede à largura da tela */
  .post-content > p,.article-content > p,
  .post-content > h2,.article-content > h2,
  .post-content > h3,.article-content > h3,
  .post-content > ul,.article-content > ul,
  .post-content > ol,.article-content > ol,
  .post-content > blockquote{ max-width:100% }
  /* espaço de toque maior em alvos pequenos */
  .ticker-arrow{ width:32px; height:32px }
  .empty-msg{ padding:var(--sp-6) var(--sp-4) }
}
@media (max-width:480px){
  /* respiro vertical entre blocos editoriais menores */
  .post-tags{ margin:var(--sp-4) 0 var(--sp-5) }
  .section-header{ margin-bottom:var(--sp-4) }
  /* trending topics: círculos um pouco menores p/ caber 2 por linha */
  .topic-img{ width:108px; height:108px }
  /* footer socials: alvos confortáveis */
  .footer-socials a{ width:40px; height:40px }
}

/* HEADER alinhado ao limite do nav-wrapper (1240) — topbar e bg-white contidos igual o nav */
.topbar{max-width:1240px;margin-left:auto;margin-right:auto}
.bg-white:has(.site-header){max-width:1240px;margin-left:auto;margin-right:auto}

/* data: 1a letra maiuscula */
.topbar-date::first-letter{text-transform:uppercase}

/* nav-wrapper sem borda inferior */
.main-nav-wrapper{border-bottom:none;box-shadow:none}

/* nav-inner cantos inferiores arredondados */
.nav-inner{border-radius:0 0 10px 10px}
