:root {
--bg: #FFFFFF;
--surface: #F6F6F6;
--text: #111111;
--text-soft: #6E6E6E;
--red: #E0142D;
--red-text: #B30E22;
--line: #EBEBEB;
--module-bg: #A8112A;
--navy: #0F1B33;
--navy-soft: #1B2A4A;
--green: #173B2E;
--green-soft: #23553F;
--mint: #2BC79A;
--radius: 18px;
}

/* DARK MODE, applied to <html data-theme="dark"> */
[data-theme="dark"] {
--bg: #121212;
--surface: #1C1C1C;
--text: #F5F5F5;
--text-soft: #A3A3A3;
--red: #FF4459;
--red-text: #FF7A89;
--line: #2A2A2A;
--module-bg: #7A0E1F;
--navy: #0A1122;
--navy-soft: #141F38;
--green: #0E2A20;
--green-soft: #163F2F;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'Poppins',sans-serif;background:var(--bg);color:var(--text);line-height:1.55;overflow-x:hidden;}
html{background:var(--bg);}
html,body{transition:background-color .3s ease,color .3s ease;}
a{text-decoration:none;color:inherit;}
img{display:block;max-width:100%;}
:focus-visible{outline:2px solid var(--red);outline-offset:2px;}
.display{font-family:'League Spartan',sans-serif;}
.modern{font-family:'Space Grotesk',sans-serif;}
.eyebrow{font-family:'Oswald',sans-serif;font-size:12px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--red-text);}

/* ---- TWO-ROW HEADER (Telex-stílus) ---- */
/* Sticky header */
.site-header{
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    background: var(--red);
    transition: background .25s ease;
    width: 100%;
}
[data-theme="dark"] .site-header { background: var(--module-bg); }


/* Row 1, logo centred, actions on each side */
.header-top{border-bottom:1px solid rgba(255,255,255,.15);}
.header-top-inner{max-width:1180px;margin:0 auto;padding:0 24px;height:72px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;}
.logo{grid-column:2;display:flex;align-items:center;font-family:'Poppins',sans-serif;font-size:30px;font-weight:800;letter-spacing:-1.5px;white-space:nowrap;text-decoration:none;}
.logo .okos{color:#fff;}
.logo .hir{color:#111111;}
.header-actions-left{display:flex;align-items:center;gap:10px;justify-content:flex-start;}
.header-actions{display:flex;align-items:center;gap:10px;justify-content:flex-end;}
.icon-btn,.theme-toggle{width:40px;height:40px;border:1px solid rgba(255,255,255,.4);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;background:none;color:#fff;transition:border-color .15s,color .15s,background .15s;}
.icon-btn:hover,.theme-toggle:hover{border-color:rgba(255,255,255,.8);background:rgba(255,255,255,.15);}
.icon-btn svg,.theme-toggle svg{width:18px;height:18px;}
.theme-toggle .moon{display:none;}
[data-theme="dark"] .theme-toggle .sun{display:none;}
[data-theme="dark"] .theme-toggle .moon{display:block;}

/* Row 2, category nav */
.header-nav{background:var(--red);transition:background .2s ease;}
[data-theme="dark"] .header-nav{background:var(--module-bg);}
.header-nav-inner{max-width:1180px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:center;}
.header-nav ul{display:flex;gap:0;list-style:none;margin:0;padding:0;align-items:center;}
.header-nav li{list-style:none;margin:0;padding:0;}
.header-nav a{display:block;padding:14px 18px;font-family:'Oswald',sans-serif;font-size:13px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:#fff;white-space:nowrap;transition:color .15s ease;}
.header-nav a:hover{color:#111111 !important;}
.header-nav li.current-menu-item > a{color:#fff;}
.header-nav li.current-menu-item > a:hover{color:#111111 !important;}
.header-nav .sub-menu{display:none;}
.header-nav .sub-menu{display:none;}
/* Legacy selectors kept for fallback_nav compatibility */
.main-nav{display:none;}


/* fresh news ticker */
.ticker-bar{border-bottom:1px solid var(--line);}
.ticker-bar .wrap{max-width:1180px;margin:0 auto;padding:0 24px;display:flex;align-items:center;gap:32px;height:56px;overflow-x:auto;}
.ticker-label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--red-text);flex-shrink:0;}
.ticker-label svg{width:15px;height:15px;}
.ticker-label-text{display:inline;}
.ticker-items{display:flex;gap:28px;flex-shrink:0;}
.ticker-item{padding-left:24px;border-left:1px solid var(--line);min-width:190px;}
.ticker-item:first-child{padding-left:0;border-left:none;}
.ticker-item time{display:block;font-size:11px;color:var(--text-soft);margin-bottom:2px;font-family:'Poppins',sans-serif;font-style:normal;}
.ticker-item span{font-size:13px;font-weight:500;line-height:1.3;font-family:'Poppins',sans-serif;font-style:normal;}

/* shared section wrapper */
.section{max-width:1180px;margin:0 auto;padding:0 24px 56px;}

/* 3-column layout */
.cols3{max-width:1180px;margin:32px auto 0;padding:0 24px 56px;display:grid;grid-template-columns:0.85fr 1.55fr 0.85fr;gap:40px;}
.col{display:flex;flex-direction:column;}
.lead .media{position:relative;overflow:hidden;aspect-ratio:16/9;margin-bottom:16px;}
.lead .media img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .4s ease;}
/* Lead overlay: hidden on desktop, shown on mobile */
.lead-text-overlay{display:none;}
/* Desktop titles shown normally */
.lead-title--desktop{font-family:'League Spartan',sans-serif;font-weight:800;font-size:22px;line-height:1.25;color:var(--text);margin-bottom:10px;}
.lead-tags--desktop{margin-bottom:8px;}
.col-mid .lead .media{aspect-ratio:3/2;}
.col-mid .lead .media img{object-position:center top;}
/* Lead without image: colored top strip instead */
.lead-no-image{height:4px;background:var(--red);margin-bottom:12px;}
/* Mobile: no-image lead = no image placeholder space */


/* Desktop: hide lead image area if no image (mobile handles separately) */
.lead-title--desktop{font-family:'League Spartan',sans-serif;font-weight:800;font-size:22px;line-height:1.25;color:var(--text);margin-bottom:10px;}
.lead-tags--desktop{margin-bottom:8px;}

/* News card without image: text-only compact style */
.news-card--no-image{background:var(--surface);padding:18px 18px 18px 22px;border-radius:6px;border-left:4px solid var(--red);}
.news-card--no-image .eyebrow{margin-bottom:8px;}
.news-card--no-image h3{font-size:15px;line-height:1.45;margin-bottom:0;}
.news-card--no-image time{display:none;}
.lead-link:hover .media img{transform:scale(1.05);}
.lead-tags{display:flex;align-items:center;gap:14px;margin-bottom:10px;}
.live{display:flex;align-items:center;gap:6px;font-family:'Oswald',sans-serif;font-size:12px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--red-text);}
.live .dot{width:6px;height:6px;border-radius:50%;background:var(--red);animation:pulse 1.6s ease-in-out infinite;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.3;}}
.lead h2{font-family:'League Spartan',sans-serif;font-weight:800;line-height:1.18;font-size:20px;margin-bottom:8px;transition:color .15s ease;letter-spacing:-.2px;}
.lead-link:hover h2{color:var(--red);}
.col-mid .lead h2{font-size:34px;}
.lead p{font-size:14px;color:var(--text) !important;font-family:'Poppins',sans-serif !important;font-style:normal !important;}

.more-link{display:block;padding:18px 0;border-top:1px solid var(--line);}
.more-link h3{font-family:'League Spartan',sans-serif;font-weight:700;font-size:16px;line-height:1.3;margin-bottom:6px;transition:color .15s ease;letter-spacing:-.1px;}
.more-link:hover h3{color:var(--red);}
.more-link p{font-size:13px;color:var(--text) !important;font-family:'Poppins',sans-serif !important;font-style:normal !important;}
.more-link .eyebrow{display:block;margin-bottom:6px;}
.more-link time{display:none;}
.col .eyebrow{font-family:'Space Grotesk',sans-serif;font-weight:600;letter-spacing:1.2px;}

/* single-image hero feature block */
.feature-hero{position:relative;overflow:hidden;border-radius:4px;margin-bottom:8px;}
.feature-hero .hero-img{position:relative;aspect-ratio:21/9;overflow:hidden;}
.feature-hero .hero-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.feature-hero:hover .hero-img img{transform:scale(1.03);}
.feature-hero .hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 25%,rgba(0,0,0,.8) 100%);}
.feature-hero .hero-content{position:absolute;bottom:0;left:0;right:0;padding:36px 40px;color:#fff;}
.feature-hero .hero-tags{display:flex;align-items:center;gap:16px;margin-bottom:14px;}
.feature-hero .hero-cat{font-family:'Oswald',sans-serif;font-size:12px;font-weight:600;letter-spacing:2px;text-transform:uppercase;background:var(--red);color:#fff;padding:5px 12px;}
.feature-hero .hero-live{display:flex;align-items:center;gap:6px;font-family:'Oswald',sans-serif;font-size:12px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:#fff;}
.feature-hero .hero-live .dot{width:6px;height:6px;border-radius:50%;background:#fff;animation:pulse 1.6s ease-in-out infinite;}
.feature-hero h2{font-family:'League Spartan',sans-serif;font-weight:800;font-size:40px;line-height:1.12;margin-bottom:12px;letter-spacing:-.3px;max-width:780px;}
.feature-hero p{font-size:15px;color:rgba(255,255,255,.9);margin-bottom:18px;max-width:640px;font-family:'Poppins',sans-serif !important;font-style:normal !important;}
.feature-hero .hero-arrow{display:inline-flex;align-items:center;gap:6px;font-family:"League Spartan",sans-serif;font-weight:700;font-size:14px;letter-spacing:.5px;color:#fff;border-bottom:1.5px solid rgba(255,255,255,.5);padding-bottom:3px;}
.feature-hero .hero-arrow svg{width:14px;height:14px;transition:transform .2s ease;}
.feature-hero:hover .hero-arrow svg{transform:translateX(4px);}

/* Szabadszemle, navy opinion section */
.opinion-band{background:var(--navy);padding:64px 0;margin-top:8px;}
.opinion-inner{max-width:1180px;margin:0 auto;padding:0 24px;}
.opinion-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:36px;gap:20px;flex-wrap:wrap;}
.szabadszemle-logo{font-family:'Fraunces',serif;font-size:34px;font-weight:600;letter-spacing:-.5px;display:flex;align-items:baseline;}
.szabadszemle-logo .sz1{color:var(--mint);}
.szabadszemle-logo .sz2{color:#fff;}
.szabadszemle-logo .sz-dot{color:var(--mint);}
.opinion-head p{font-family:'Poppins',sans-serif;font-size:14px;color:rgba(255,255,255,.55);max-width:380px;}
.opinion-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:28px;}
.opinion-card{background:var(--navy-soft);display:flex;flex-direction:column;height:100%;transition:background .2s ease;overflow:hidden;border-radius:4px;}
.opinion-card:hover{background:#22325A;}
.opinion-thumb{overflow:hidden;aspect-ratio:16/9;flex-shrink:0;}
.opinion-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;display:block;}
.opinion-card:hover .opinion-thumb img{transform:scale(1.04);}
.opinion-body{padding:24px;display:flex;flex-direction:column;flex:1;}
.opinion-card--lead .opinion-body{padding:28px;}
.opinion-title{font-family:'League Spartan',sans-serif;font-size:16px;font-weight:800;color:#fff;line-height:1.3;margin-bottom:14px;flex:1;}
.opinion-card--lead .opinion-title{font-size:19px;}
.opinion-author{display:flex;align-items:center;gap:14px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);}
.opinion-author img{width:44px;height:44px;object-fit:cover;border-radius:50%;flex-shrink:0;filter:grayscale(15%);}
.opinion-author .name{font-family:'Poppins',sans-serif;font-size:14px;font-weight:600;color:#fff;}
.opinion-author .role{font-family:'Poppins',sans-serif;font-size:12px;color:rgba(255,255,255,.5);}

/* padded gap before quiz */
.gap-pad{height:8px;}

/* political quiz banner, rounded, stamp */
.quiz-banner{position:relative;background:var(--green);border-radius:28px;padding:48px;overflow:hidden;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;}
.quiz-banner-text{position:relative;z-index:1;color:#fff;}
.quiz-banner .eyebrow{color:var(--mint);margin-bottom:10px;}
.quiz-banner h2{font-family:'League Spartan',sans-serif;font-size:30px;font-weight:800;line-height:1.2;margin-bottom:14px;max-width:520px;}
.quiz-banner p{font-size:14px;color:rgba(255,255,255,.7);max-width:480px;margin-bottom:22px;font-family:'Poppins',sans-serif !important;font-style:normal !important;}
.quiz-cta-btn{display:inline-flex;align-items:center;gap:10px;background:var(--mint);color:#0B2A20;font-family:'Poppins',sans-serif;font-weight:600;font-size:14px;padding:13px 26px;border-radius:30px;transition:transform .15s ease,box-shadow .15s ease;}
.quiz-cta-btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(43,199,154,.35);}
.quiz-cta-btn svg{width:16px;height:16px;}
.quiz-art{position:relative;z-index:1;width:220px;flex-shrink:0;}
.quiz-art svg{width:100%;height:auto;display:block;}
.quiz-art .qa-line{fill:none;stroke:var(--mint);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;}
.quiz-art .qa-sign1{animation:signWiggle 3.4s ease-in-out infinite;transform-origin:140px 230px;}
.quiz-art .qa-sign2{animation:signWiggle 3.8s ease-in-out infinite reverse;transform-origin:360px 250px;}
@keyframes signWiggle{0%,100%{transform:rotate(-2deg);}50%{transform:rotate(2deg);}}

/* "Szabadidő+" module */
.extra-module{display:grid;grid-template-columns:220px 1fr 1fr;border-radius:var(--radius);overflow:hidden;}
.extra-brand{background:var(--text);color:var(--bg);display:flex;flex-direction:column;justify-content:center;padding:28px;transition:background .2s ease,color .2s ease;}
.extra-brand .display{font-size:26px;font-weight:800;}
.extra-brand .display span{color:var(--red);}
.extra-brand p{font-size:13px;opacity:.7;margin-top:10px;}
.extra-list{background:var(--surface);padding:20px;display:flex;flex-direction:column;gap:16px;justify-content:center;border:1px solid var(--line);border-left:none;}
.extra-list--play{background:var(--red);border:none;}
.extra-item{display:flex;align-items:center;gap:14px;}
.extra-item img{width:56px;height:56px;object-fit:cover;border-radius:10px;flex-shrink:0;}
.extra-item span{font-size:14px;font-weight:500;line-height:1.35;transition:color .15s ease;}
.extra-list:not(.extra-list--play) .extra-item:hover span{color:var(--red);}
.extra-list--play .extra-item span{color:#fff;}
.play-circle{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .15s ease;}
.extra-item:hover .play-circle{transform:scale(1.08);}
.play-circle svg{width:14px;height:14px;fill:#fff;margin-left:1px;}

/* red 3D economy section */
.econ-band{background:var(--red);border-radius:28px;padding:56px;position:relative;overflow:hidden;}
.econ-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;}
.econ-text .eyebrow{color:#FFD9DD;}
.econ-text h2{font-family:'League Spartan',sans-serif;color:#fff;font-size:32px;font-weight:800;line-height:1.2;margin:12px 0 16px;}
.econ-text p{color:rgba(255,255,255,.92) !important;font-size:14px;margin-bottom:22px;max-width:420px;font-family:'Poppins',sans-serif !important;font-style:normal !important;}
.econ-link{display:inline-flex;align-items:center;gap:8px;color:#fff;font-family:'League Spartan',sans-serif;font-weight:700;font-size:15px;letter-spacing:.3px;border-bottom:2px solid rgba(255,255,255,.4);padding-bottom:4px;}
.econ-link svg{width:14px;height:14px;transition:transform .2s ease;}
.econ-link:hover svg{transform:translateX(4px);}
/* Econ scene: stacked banknote illustration */
.econ-scene{position:relative;display:flex;align-items:center;justify-content:center;}
.econ-illustration{width:100%;max-width:380px;height:auto;filter:drop-shadow(0 12px 32px rgba(0,0,0,.3));}

.econ-chart svg{width:100%;height:100%;}

.econ-band .grain{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.06) 1px,transparent 1px);background-size:18px 18px;z-index:1;}

/* "Okos videók" module */
/* Okos videók module */
/* ── New 4-card video module ── */
.tv2-module{background:#18181c;border-radius:var(--radius);padding:28px 32px 32px;}
.tv2-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;}
.tv2-brand{display:flex;align-items:center;gap:10px;font-family:'League Spartan',sans-serif;font-size:15px;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:#fff !important;text-decoration:none;}
.tv2-brand:hover{opacity:.8;color:#fff !important;}
.tv2-all{font-family:'League Spartan',sans-serif;font-size:13px;font-weight:700;letter-spacing:1px;color:#fff !important;text-decoration:none;transition:opacity .15s;}
.tv2-all:hover{opacity:.7;color:#fff !important;}
.tv2-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.tv2-card{cursor:pointer;}
.tv2-thumb{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:6px;background:#000;margin-bottom:10px;}
.tv2-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease,opacity .2s ease;}
.tv2-card:hover .tv2-thumb img{transform:scale(1.04);opacity:.85;}
.tv2-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease;}
.tv2-play svg{width:44px;height:44px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.6));}
.tv2-card:hover .tv2-play{opacity:1;}
.tv2-title{font-family:'Poppins',sans-serif;font-size:13px;font-weight:500;line-height:1.5;color:rgba(255,255,255,.9);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:2px;}

/* shared video/thumbnail dressing */
.thumb{position:relative;}
.thumb .scrim{position:absolute;inset:0;background:rgba(0,0,0,.2);}
.video-cat{font-family:'Oswald',sans-serif;position:absolute;top:10px;left:10px;background:var(--red);color:#fff;font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;padding:5px 10px;display:flex;align-items:center;gap:6px;}
.video-cat .dot{width:6px;height:6px;border-radius:50%;background:#fff;animation:pulse 1.6s ease-in-out infinite;}
.play-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:52px;height:52px;background:var(--red);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:transform .15s ease;}
.thumb:hover .play-btn{transform:translate(-50%,-50%) scale(1.08);}
.play-btn svg{width:18px;height:18px;fill:#fff;margin-left:2px;}
.duration{position:absolute;bottom:10px;right:10px;background:rgba(0,0,0,.7);color:#fff;font-size:12px;font-weight:500;padding:2px 7px;}
.thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.thumb:hover img{transform:scale(1.05);}

/* second article round, 4 col grid */
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.news-card{display:flex;flex-direction:column;}
.news-card .media{display:block;position:relative;overflow:hidden;aspect-ratio:4/3;margin-bottom:14px;}
.news-card .media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.news-card:hover .media img{transform:scale(1.05);}
.news-card h3{font-family:'League Spartan',sans-serif;font-weight:700;font-size:17px;line-height:1.3;margin-bottom:6px;transition:color .15s ease;}
.news-card:hover h3{color:var(--red);}
.news-card .eyebrow{display:block;margin-bottom:8px;}
.news-card time{font-size:12px;color:var(--text-soft);font-family:'Poppins',sans-serif;font-style:normal;display:none;}

/* section header with subtitle */
.section-header{display:flex;align-items:baseline;gap:14px;margin-bottom:20px;}
.section-title{font-family:'Oswald',sans-serif;font-size:13px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--text-soft);}
.section-subtitle{font-size:12px;color:var(--text-soft);opacity:.6;}

/* closing photo gallery */
.gallery-section{}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:160px 160px;gap:14px;}
.gallery-cell{position:relative;overflow:hidden;display:block;border:none;padding:0;cursor:pointer;background:var(--surface);width:100%;height:100%;}
.gallery-cell img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.gallery-cell:hover img{transform:scale(1.07);}
.gallery-cell::after{content:'';position:absolute;inset:0;background:rgba(0,0,0,0);transition:background .25s ease;}
.gallery-cell:hover::after{background:rgba(0,0,0,.15);}
.gallery-cell.g-wide{grid-column:span 2;}
.gallery-cell.g-tall{grid-row:span 2;}
.gallery-caption{position:absolute;left:14px;bottom:12px;color:#fff;font-family:'Oswald',sans-serif;font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;text-shadow:0 2px 8px rgba(0,0,0,.5);opacity:0;transition:opacity .25s ease;z-index:2;}
.gallery-cell:hover .gallery-caption{opacity:1;}
.gallery-zoom{position:absolute;top:12px;right:12px;width:32px;height:32px;background:rgba(0,0,0,.5);border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .25s ease;z-index:2;}
.gallery-zoom svg{width:14px;height:14px;stroke:#fff;}
.gallery-cell:hover .gallery-zoom{opacity:1;}
/* Lightbox */
.gallery-lightbox{border:none;border-radius:8px;background:#000;padding:0;max-width:92vw;max-height:92vh;width:auto;position:fixed;}
.gallery-lightbox::backdrop{background:rgba(0,0,0,.88);}
.lightbox-close{position:absolute;top:12px;right:12px;width:40px;height:40px;background:rgba(255,255,255,.12);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;transition:background .15s ease;z-index:10;}
.lightbox-close:hover{background:rgba(255,255,255,.25);}
.lightbox-close svg{width:18px;height:18px;stroke:#fff;}
.lightbox-inner{display:flex;flex-direction:column;align-items:center;}
#lightbox-img{max-width:90vw;max-height:82vh;object-fit:contain;display:block;}
.lightbox-caption{color:rgba(255,255,255,.7);font-size:13px;text-align:center;padding:12px 20px 16px;margin:0;font-family:'Poppins',sans-serif;}
/* extra-module without podcast */
.extra-module--no-podcast{grid-template-columns:220px 1fr;}

/* ---- FOOTER ---- */
.site-footer{background:#0d0d0d;color:#fff;padding:56px 0 0;}
.site-footer a{color:rgba(255,255,255,.75);text-decoration:none;transition:color .15s ease;font-style:normal;}
.site-footer a:hover{color:var(--red);}
.footer-col ul li a{color:#fff !important;}
.footer-col ul li a:hover{color:var(--red) !important;}
.footer-top{max-width:1180px;margin:0 auto;padding:0 24px 48px;display:grid;grid-template-columns:220px 1fr 1fr 1fr;gap:48px;border-bottom:1px solid rgba(255,255,255,.1);}
.footer-brand{}
.footer-logo{font-family:'Poppins',sans-serif;font-size:22px;font-weight:800;letter-spacing:-1px;margin-bottom:12px;display:inline-block;}
.footer-logo .okos{color:#fff;}
.footer-logo .hir{color:var(--red);}
.footer-tagline{display:none;}
.footer-col h4{font-family:'Oswald',sans-serif;font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:16px;}
.footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.footer-col ul li a{font-family:'Poppins',sans-serif;font-size:14px;font-style:normal;}
.footer-bottom{max-width:1180px;margin:0 auto;padding:20px 24px;display:flex;justify-content:center;align-items:center;}
.footer-copy{font-size:12px;color:rgba(255,255,255,.35);font-family:'Poppins',sans-serif;text-align:center;width:100%;}
.footer-legal{display:none;}

/* scroll reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}

@media (prefers-reduced-motion:reduce){
    .live .dot,.video-cat .dot,.econ-shape,.econ-bars{animation:none;}
    *{transition:none !important;}
    .reveal{opacity:1;transform:none;}
}

@media (max-width:880px){
    /* Header mobilon: csak row1 látszik, row2 nav elrejtve */
    .header-top-inner{height:60px;}
    .logo{font-size:24px;}
    .header-nav{display:none;}
    .main-nav{display:none;}
    .cols3{grid-template-columns:1fr;gap:0;}
    .col{margin-bottom:32px;}
    .col-mid{order:-1;}
    /* ── Mobile: MINDEN lead kártya cinematic overlay kap ── */
    .col .lead-link{display:block;}
    .col .lead{overflow:hidden;border-radius:6px;}
    /* No-image lead on mobile: compact text card, no empty space */
    .col .lead--no-image{border-radius:0;border-left:3px solid var(--red);padding-left:12px;background:transparent;}
    .col .lead--no-image .lead-no-image{display:none;}
    .col .lead--no-image .lead-tags--desktop{display:block !important;margin-bottom:6px;}
    .col .lead--no-image .lead-title--desktop{display:block !important;color:var(--text) !important;font-size:17px !important;}
    .col .lead--no-image p{display:block !important;color:var(--text-soft) !important;font-size:14px !important;margin-top:6px;}
    .col .lead--no-image .lead-text-overlay{display:none !important;}
    .col .lead .media:not(:empty){position:relative;aspect-ratio:4/3;margin-bottom:0;}
    .col .lead-no-image{height:0;margin:0;padding:0;}
    .col .lead .media img{display:block;width:100%;height:100%;object-fit:cover;}
    /* Gradient overlay on image */
    .col .lead .media::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 25%,rgba(0,0,0,.88) 100%);z-index:1;pointer-events:none;}
    /* Text overlay inside media, flex column anchored to bottom */
    .col .lead-text-overlay{display:flex;flex-direction:column;justify-content:flex-end;position:absolute;inset:0;z-index:2;padding:14px;}
    .col .lead-text-overlay .eyebrow{color:rgba(255,255,255,.85);font-size:10px;margin-bottom:6px;}
    .col .lead-text-overlay h2,.col .lead-text-overlay .lead-overlay-title{color:#fff;font-size:16px;line-height:1.22;margin:0;font-family:'League Spartan',sans-serif;font-weight:800;}
    .col-mid .lead-text-overlay h2,.col-mid .lead-text-overlay .lead-overlay-title{font-size:19px;}
    /* Mobile: secondary col items as clean horizontal list */
    .col .more-link{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-top:1px solid var(--line);border-bottom:none;}
    .col .more-link .eyebrow{font-size:9px;letter-spacing:1.5px;white-space:nowrap;margin-bottom:4px;display:block;}
    .col .more-link h3{font-size:14px;line-height:1.3;margin:0;}
    .col .more-link p{display:none;}
    /* Hide desktop elements on mobile */
    .col .lead-title--desktop,.col .lead-tags--desktop,.col .lead p{display:none !important;}
    /* ticker: hide text label, show only bell icon */
    .ticker-bar .wrap{height:44px;gap:12px;padding:0 16px;}
    .ticker-label-text{display:none;}
    .ticker-label{gap:0;}
    .ticker-item{min-width:160px;}
    .ticker-item span{font-size:12px;}
    /* feature hero mobile */
    .feature-hero .hero-img{aspect-ratio:4/3;}
    .feature-hero h2{font-size:22px;}
    .feature-hero .hero-content{padding:20px;}
    /* opinion */
    .opinion-grid{grid-template-columns:1fr;}
    .quiz-banner{grid-template-columns:1fr;text-align:left;padding:32px;}
    .quiz-art{display:none;}
    .extra-module{grid-template-columns:1fr;}
    .extra-module--no-podcast{grid-template-columns:1fr;}
    /* economy mobile */
    .econ-band{padding:28px 20px;}
    .econ-inner{grid-template-columns:1fr;}
    .econ-scene{margin-top:16px;}
    .econ-float-img{
      width:90%;
      max-width:300px;
      right:0;
      transform:rotate(-1deg);
    }
    /* videos */
    .tv2-grid{grid-template-columns:repeat(2,1fr);gap:12px;}
    .tv-row{grid-template-columns:1fr;}
    .grid4{grid-template-columns:repeat(2,1fr);}
    /* gallery: 2 cols on mobile, all same height */
    .gallery-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:130px 130px 130px;}
    .gallery-cell.g-wide{grid-column:span 1;}
    .gallery-cell.g-tall{grid-row:span 1;}
}

/* ============================================================
   SINGLE POST / PAGE STYLES
   Adapted from TisztaHírek 2026 Redesign spec
============================================================ */

/* Page-level background: light grey so the article "floats" as a card */
body.single-post,
body.single {
background-color: #f0f2f5;
padding-top: 40px;
padding-bottom: 60px;
}
[data-theme="dark"] body.single-post,
[data-theme="dark"] body.single {
background-color: #0a0a0a;
}

/* The article card itself */
body.single-post .post-article,
body.single .post-article {
max-width: 980px;
margin: 0 auto;
background: var(--bg);
border-radius: 12px;
box-shadow:
    0 4px 6px -1px rgba(0,0,0,.06),
    0 10px 15px -3px rgba(0,0,0,.06),
    0 0 0 1px rgba(0,0,0,.03);
overflow: hidden; /* Keeps feature image inside radius */
}

/* Header area inside card */
.post-header {
padding: 36px 40px 0;
}
.post-header .eyebrow {
display: inline-block;
margin-bottom: 14px;
font-family: 'Oswald', sans-serif;
font-size: 12px;
font-weight: 600;
letter-spacing: 2px;
text-transform: uppercase;
color: var(--red-text);
}

/* Title */
.post-title {
font-family: 'League Spartan', sans-serif;
font-weight: 800;
font-size: 2.4rem;
line-height: 1.15;
letter-spacing: -0.5px;
color: var(--text);
margin-bottom: 20px;
max-width: 100%;
}

/* Lead / excerpt, piros bal szegély, kiemelt bevezető */
.post-excerpt {
font-size: 1.15rem;
font-weight: 500;
line-height: 1.65;
color: var(--text);
background: transparent;
border-left: 5px solid var(--red);
padding: 8px 0 8px 22px;
margin: 0 0 28px 0;
font-family: 'Poppins', sans-serif;
font-style: normal !important;
}

/* Meta row: avatar + name + date + reading time */
.post-meta {
display: flex;
align-items: center;
gap: 14px;
padding: 0 40px 28px;
border-bottom: 1px solid var(--line);
margin-top: 4px;
}
.post-author-avatar {
width: 44px;
height: 44px;
border-radius: 50%;
object-fit: cover;
flex-shrink: 0;
}
.post-author-name {
display: block;
font-weight: 600;
font-size: 14px;
color: var(--text);
}
.post-meta time,
.post-reading-time {
font-size: 13px;
color: var(--text-soft);
}

/* Feature image, full width inside card, no side padding */
.post-feature-image {
padding: 0;
margin-top: 0;
}
.post-feature-image img {
width: 100%;
max-height: 480px;
object-fit: cover;
display: block;
border-radius: 0;
}
.post-feature-image figcaption {
font-size: 13px;
color: var(--text-soft);
margin: 10px 40px 0;
text-align: center;
padding-bottom: 8px;
}

/* Content area */
.post-content {
padding: 36px 48px 48px;
max-width: 100%;
}

/* Body text */
.post-content p {
font-size: 1.1rem;
line-height: 1.8;
margin-bottom: 1.6rem;
color: var(--text);
font-family: 'Poppins', sans-serif;
font-style: normal !important;
}

/* Headings inside content */
.post-content h2 {
font-family: 'League Spartan', sans-serif;
font-weight: 800;
font-size: 1.7rem;
margin: 3rem 0 1.2rem;
color: var(--text);
letter-spacing: -0.3px;
}
.post-content h3 {
font-family: 'League Spartan', sans-serif;
font-weight: 700;
font-size: 1.35rem;
margin: 2.4rem 0 1rem;
color: var(--text);
border-bottom: 3px solid var(--red);
display: inline-block;
padding-bottom: 5px;
}

/* Links */
.post-content a {
color: var(--red-text);
text-decoration: underline;
text-underline-offset: 3px;
}

/* Blockquote */
.post-content blockquote {
border-left: 5px solid var(--red);
padding: 12px 0 12px 24px;
margin: 2rem 0;
font-family: 'Poppins', sans-serif;
font-size: 1.15rem;
font-weight: 500;
color: var(--text);
font-style: normal;
}

/* Lists, piros markerek */
.post-content ul,
.post-content ol {
margin: 0 0 1.6rem 1.4rem;
font-size: 1.1rem;
line-height: 1.8;
font-family: 'Poppins', sans-serif;
}
.post-content li {
margin-bottom: 10px;
padding-left: 8px;
}
.post-content ul li::marker {
color: var(--red);
font-size: 1.15em;
}

/* Images inside content */
.post-content img {
width: 100%;
margin: 2rem 0;
height: auto;
border-radius: 6px;
}
.post-content figcaption {
font-size: 13px;
color: var(--text-soft);
text-align: center;
margin-top: -1.4rem;
margin-bottom: 2rem;
}

/* Code */
.post-content code {
background: var(--surface);
padding: 2px 6px;
border-radius: 4px;
font-size: 0.9em;
}
.post-content pre {
background: var(--surface);
padding: 18px;
border-radius: 10px;
overflow-x: auto;
margin-bottom: 1.6rem;
}
.post-content hr {
border: none;
border-top: 1px solid var(--line);
margin: 2.5rem 0;
}

/* ---- Tiszta.AI interaktív elemek (ai-node tooltip) ---- */
.post-content .ai-node {
position: relative;
cursor: help;
display: inline !important;
border-bottom: 2px dashed #2ecc71;
background-color: rgba(46,204,113,.06);
padding: 0 2px !important;
margin: 0 !important;
transition: background-color .2s ease;
}
.post-content .ai-node:hover {
background-color: rgba(46,204,113,.22);
color: var(--text);
}
/* Tooltip buborék */
.post-content .ai-node::after {
content: attr(data-analysis);
position: absolute;
bottom: 140%;
left: 50%;
transform: translateX(-50%) translateY(10px);
width: 280px;
background: #1a1a1a;
color: #fff;
padding: 14px 18px;
border-radius: 6px;
font-size: 0.875rem;
line-height: 1.5;
text-align: left;
visibility: hidden;
opacity: 0;
transition: all .2s ease;
z-index: 9999;
box-shadow: 0 10px 30px rgba(0,0,0,.25);
pointer-events: none;
font-family: 'Poppins', sans-serif;
font-style: normal;
}
/* Nyíl */
.post-content .ai-node::before {
content: "";
position: absolute;
bottom: 120%;
left: 50%;
margin-left: -6px;
border-width: 6px;
border-style: solid;
border-color: #1a1a1a transparent transparent transparent;
visibility: hidden;
opacity: 0;
transition: all .2s ease;
}
.post-content .ai-node:hover::after,
.post-content .ai-node:hover::before,
.post-content .ai-node.active::after,
.post-content .ai-node.active::before {
visibility: visible;
opacity: 1;
transform: translateX(-50%) translateY(0);
}

/* ---- UI Legend (Tiszta.AI jelmagyarázat) ---- */
.post-content .ui-legend {
display: flex;
gap: 20px;
margin-bottom: 22px;
font-size: 0.85rem;
color: var(--text-soft);
font-weight: 600;
font-family: 'Poppins', sans-serif;
align-items: center;
flex-wrap: wrap;
}
.post-content .ui-legend .dot {
width: 10px;
height: 10px;
border-radius: 50%;
display: inline-block;
margin-right: 6px;
background-image: none !important;
}

/* ---- Elemzési szekció (sötét panel a cikk alján) ---- */
.post-content .analysis-section {
background: #1e1e1e;
color: #e0e0e0;
padding: 36px;
border-radius: 8px;
margin-top: 48px;
border-top: 4px solid #2ecc71;
}
.post-content .analysis-section h2 {
color: #2ecc71;
margin-top: 0;
border: none;
display: block;
font-size: 1.4rem;
font-family: 'League Spartan', sans-serif;
padding-bottom: 0;
}
.post-content .analysis-point {
margin-bottom: 22px;
padding-left: 18px;
border-left: 2px solid #444;
}
.post-content .analysis-point strong {
display: block;
color: #fff;
text-transform: uppercase;
font-size: 0.78rem;
letter-spacing: 1px;
margin-bottom: 5px;
}
.post-content .analysis-section cite {
color: #2ecc71;
font-style: italic;
font-weight: 600;
}
.post-content .analysis-section cite a {
color: #2ecc71 !important;
text-decoration: none;
}

/* ---- Lead box (alternatív kiemelt bevezető osztály) ---- */
.post-content .lead-box {
font-size: 1.15rem;
font-weight: 500;
line-height: 1.65;
color: var(--text);
background: transparent;
border-left: 5px solid var(--red);
padding: 10px 0 10px 22px;
margin: 0 0 2rem 0;
font-family: 'Poppins', sans-serif;
font-style: normal !important;
}

/* Tags */
.post-tags {
display: flex;
gap: 10px;
flex-wrap: wrap;
padding: 24px 40px 32px;
border-top: 1px solid var(--line);
}
.filter-pill {
font-family: 'Oswald', sans-serif;
font-size: 12px;
font-weight: 600;
letter-spacing: 1.5px;
text-transform: uppercase;
padding: 6px 14px;
border: 1.5px solid var(--line);
border-radius: 20px;
color: var(--text-soft);
transition: border-color .15s ease, color .15s ease;
}
.filter-pill:hover {
border-color: var(--red);
color: var(--red);
}

/* WordPress alignment helpers */
.wp-caption { max-width: 100%; }
.wp-caption img { width: 100%; height: auto; }
.alignleft { float: left; margin-right: 20px; }
.alignright { float: right; margin-left: 20px; }
.aligncenter { display: block; margin: 0 auto; }

/* ---- MOBILE ADAPTÁCIÓ ---- */
@media (max-width: 768px) {
body.single-post,
body.single {
    background-color: var(--bg) !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
body.single-post .post-article,
body.single .post-article {
    border-radius: 0;
    box-shadow: none;
    max-width: 100%;
}
.post-header {
    padding: 24px 16px 0;
}
.post-title {
    font-size: 1.7rem;
}
.post-excerpt {
    font-size: 1rem;
}
.post-meta {
    padding: 0 16px 22px;
}
.post-content {
    padding: 24px 16px 32px;
}
.post-content p {
    font-size: 1.05rem;
    line-height: 1.7;
}
.post-feature-image figcaption {
    margin: 8px 16px 0;
}
.post-tags {
    padding: 20px 16px 28px;
}
.post-content .analysis-section {
    padding: 24px 18px;
}
/* ai-node tooltip: bottom-sheet stílus mobilon */
.post-content .ai-node::after {
    position: fixed !important;
    bottom: auto !important;
    left: 16px !important;
    right: 16px !important;
    top: 20px !important;
    width: auto !important;
    max-width: none !important;
    transform: none !important;
    z-index: 99999 !important;
    box-shadow: 0 8px 30px rgba(0,0,0,.4) !important;
}
.post-content .ai-node::before {
    display: none !important;
}
.post-content .ai-node.active::after {
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
}
}

/* ============================================================
   ARCHIVE / CATEGORY / SEARCH / AUTHOR GRID
============================================================ */
.archive-header{padding-top:40px;padding-bottom:8px;}
.archive-title{font-family:'League Spartan',sans-serif;font-size:32px;font-weight:800;margin-bottom:8px;}
.archive-description{color:var(--text-soft);margin-bottom:32px;max-width:640px;}
.archive-banner{width:100%;max-height:280px;object-fit:cover;margin-bottom:24px;}
.author-header{display:flex;align-items:center;gap:20px;margin-bottom:36px;flex-wrap:wrap;padding-top:40px;}
.author-header img{width:80px;height:80px;border-radius:50%;object-fit:cover;}
.author-header h1{font-family:'League Spartan',sans-serif;font-size:28px;font-weight:800;}
.author-header p{color:var(--text-soft);margin-top:6px;max-width:560px;}

/* ============================================================
   PAGINATION
============================================================ */
.pagination{display:flex;justify-content:center;gap:16px;margin-top:48px;flex-wrap:wrap;}
.pagination a,.pagination span{font-family:'Oswald',sans-serif;font-size:13px;font-weight:600;letter-spacing:1px;text-transform:uppercase;padding:10px 20px;border:1.5px solid var(--line);border-radius:20px;color:var(--text-soft);transition:all .15s ease;}
.pagination a:hover{border-color:var(--red);color:var(--red);}
.pagination .current{border-color:var(--text);color:var(--text);}

/* ============================================================
   COMMENTS
============================================================ */
.comments-area{max-width:760px;padding:48px 24px;margin:0 auto;}
.comments-title{font-family:'League Spartan',sans-serif;font-size:22px;font-weight:800;margin-bottom:24px;}
.comment-list{list-style:none;}
.comment-body{padding:18px 0;border-bottom:1px solid var(--line);}
.comment-author .fn{font-weight:600;font-size:14px;}
.comment-meta time{font-size:12px;color:var(--text-soft);}
.comment-content p{font-size:15px;line-height:1.6;margin-top:8px;}
.comment-respond input,.comment-respond textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:12px;font-family:'Poppins',sans-serif;font-size:14px;margin-bottom:14px;background:var(--bg);color:var(--text);}
.comment-respond .form-submit input{width:auto;background:var(--red);color:#fff;border:none;padding:12px 24px;cursor:pointer;font-weight:600;}

/* ============================================================
   WIDGETS / SIDEBAR (used on search results, 404)
============================================================ */
.search-no-results{padding:80px 24px;text-align:center;max-width:600px;margin:0 auto;}
.search-no-results h1{font-family:'League Spartan',sans-serif;font-size:28px;font-weight:800;margin-bottom:12px;}
.search-form{display:flex;gap:10px;margin-top:24px;justify-content:center;}
.search-form input[type="search"]{flex:1;max-width:360px;border:1px solid var(--line);border-radius:24px;padding:12px 20px;font-family:'Poppins',sans-serif;background:var(--bg);color:var(--text);}
.search-form input[type="submit"]{border:none;background:var(--red);color:#fff;border-radius:24px;padding:12px 24px;font-weight:600;cursor:pointer;}

/* ============================================================
   404
============================================================ */
.error-404{max-width:600px;margin:0 auto;padding:120px 24px;text-align:center;}
.error-404 h1{font-family:'League Spartan',sans-serif;font-size:72px;font-weight:800;color:var(--red);}
.error-404 p{color:var(--text-soft);font-size:16px;margin:16px 0 28px;}

/* WordPress core alignment/gallery helper classes */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:28px;}
.gallery-item img{width:100%;height:auto;}
.screen-reader-text{position:absolute;left:-9999px;}

@media (max-width:880px){
.gallery{grid-template-columns:repeat(2,1fr);}
/* Footer mobile */
.footer-top{grid-template-columns:1fr;gap:32px;padding-bottom:32px;}
.footer-bottom{flex-direction:column;align-items:flex-start;gap:8px;}
}

/* Single post: ensure sticky header doesn't get clipped */
body.single-post .site-header,
body.single .site-header,
body.page .site-header {
position: sticky;
top: 0;
z-index: 100;
width: 100%;
left: 0;
}
/* WordPress admin bar offset */
.admin-bar .site-header {
top: 32px;
}
@media screen and (max-width: 782px) {
.admin-bar .site-header {
    top: 46px;
}
}


/* Admin notice for video/gallery empty state */
.tisztahirek-admin-notice{
background:#fff3cd;border:1px solid #ffc107;padding:16px 20px;margin:0 24px 24px;
font-family:'Poppins',sans-serif;font-size:13px;line-height:1.6;border-radius:6px;
max-width:1180px;margin:0 auto 24px;
}
.tisztahirek-admin-notice a{color:var(--red);text-decoration:underline;}
.tisztahirek-admin-notice code{background:#eee;padding:2px 5px;border-radius:3px;font-size:12px;}

/* ============================================================
   v30 KIEGÉSZÍTÉSEK, kereső overlay, mobil menü, follow dobozok,
   kép nélküli kártyák javítása, finomított reszponzivitás.
   (A fájl végén állnak, így felülírják a korábbi ütköző szabályokat.)
============================================================ */

/* ---- Hamburger: csak mobilon látszik ---- */
.menu-toggle{display:none;}

/* ---- KERESŐ OVERLAY ---- */
.search-overlay{
  position:fixed;inset:0;z-index:10000;
  background:rgba(10,10,10,.82);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  display:flex;align-items:flex-start;justify-content:center;
  padding:14vh 24px 24px;
}
.search-overlay[hidden]{display:none;}
.search-overlay-inner{width:100%;max-width:640px;}
.search-overlay-form{
  display:flex;align-items:center;gap:12px;
  background:var(--bg);border-radius:14px;
  padding:8px 8px 8px 20px;
  box-shadow:0 24px 64px rgba(0,0,0,.45);
  margin:0;justify-content:flex-start;
}
.search-overlay-icon{width:20px;height:20px;color:var(--text-soft);flex-shrink:0;}
.search-overlay-form input[type="search"]{
  flex:1;min-width:0;max-width:none;border:none;background:transparent;
  font-family:'Poppins',sans-serif;font-size:17px;color:var(--text);
  padding:14px 4px;border-radius:0;
}
.search-overlay-form input[type="search"]:focus{outline:none;}
.search-overlay-submit{
  border:none;background:var(--red);color:#fff;border-radius:10px;
  padding:13px 22px;font-family:'Poppins',sans-serif;font-weight:600;
  font-size:14px;cursor:pointer;flex-shrink:0;
  transition:transform .15s ease,opacity .15s ease;
}
.search-overlay-submit:hover{transform:translateY(-1px);opacity:.92;}
.search-overlay-hint{
  text-align:center;color:rgba(255,255,255,.55);font-size:12px;
  margin-top:14px;font-family:'Poppins',sans-serif;
}
.search-overlay-close{
  position:absolute;top:20px;right:20px;width:44px;height:44px;
  background:rgba(255,255,255,.12);border:none;border-radius:50%;
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  color:#fff;transition:background .15s ease;
}
.search-overlay-close:hover{background:rgba(255,255,255,.25);}
.search-overlay-close svg{width:18px;height:18px;}
body.overlay-open,body.drawer-open{overflow:hidden;}

/* ---- MOBIL MENÜ (drawer) ---- */
.mobile-drawer{
  position:fixed;top:0;left:0;bottom:0;width:min(320px,86vw);z-index:10001;
  background:var(--bg);box-shadow:8px 0 40px rgba(0,0,0,.25);
  display:flex;flex-direction:column;overflow-y:auto;
}
.mobile-drawer[hidden]{display:none;}
.drawer-backdrop{position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,.55);}
.drawer-backdrop[hidden]{display:none;}
.mobile-drawer-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 20px;background:var(--red);
}
[data-theme="dark"] .mobile-drawer-head{background:var(--module-bg);}
.mobile-drawer-logo{font-family:'Poppins',sans-serif;font-size:24px;font-weight:800;letter-spacing:-1px;}
.mobile-drawer-logo .okos{color:#fff;}
.mobile-drawer-logo .hir{color:#111;}
.mobile-drawer-close{
  width:38px;height:38px;border:1px solid rgba(255,255,255,.4);border-radius:50%;
  background:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;
}
.mobile-drawer-close svg{width:16px;height:16px;}
.mobile-drawer-nav ul{list-style:none;margin:0;padding:8px 0;}
.mobile-drawer-nav li{margin:0;padding:0;}
.mobile-drawer-nav a{
  display:block;padding:14px 24px;
  font-family:'Oswald',sans-serif;font-size:14px;font-weight:600;
  letter-spacing:1.5px;text-transform:uppercase;color:var(--text);
  border-bottom:1px solid var(--line);
}
.mobile-drawer-nav a:hover{color:var(--red);}
.mobile-drawer-extra{padding:16px 24px 32px;display:flex;flex-direction:column;gap:10px;margin-top:auto;}
.mobile-drawer-link{
  display:block;text-align:center;padding:13px 18px;border-radius:8px;
  font-family:'Poppins',sans-serif;font-size:14px;font-weight:600;
  border:1.5px solid var(--line);color:var(--text);
}
.mobile-drawer-link--accent{background:var(--red);border-color:var(--red);color:#fff;}

/* ---- FOLLOW DOBOZOK (cikk oldal) ---- */
.post-follow{
  display:grid;grid-template-columns:1fr 1fr;gap:16px;
  padding:8px 40px 8px;
}
.follow-card{
  display:flex;flex-direction:column;align-items:flex-start;gap:12px;
  border-radius:12px;padding:22px 24px;
}
.follow-card--google{
  background:var(--surface);border:1px solid var(--line);
}
.follow-card--facebook{
  background:#1877F2;
}
.follow-card-icon{
  width:44px;height:44px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.follow-card--google .follow-card-icon{background:var(--bg);border:1px solid var(--line);}
.follow-card--facebook .follow-card-icon{background:rgba(255,255,255,.14);}
.follow-card-text{
  font-family:'Poppins',sans-serif;font-size:14px;font-weight:600;
  line-height:1.5;margin:0;flex:1;
}
.follow-card--google .follow-card-text{color:var(--text);}
.follow-card--facebook .follow-card-text{color:#fff;}
.follow-card-btn{
  display:inline-block;padding:11px 26px;border-radius:8px;
  font-family:'Poppins',sans-serif;font-size:14px;font-weight:600;
  transition:transform .15s ease,opacity .15s ease;
}
.follow-card-btn:hover{transform:translateY(-1px);opacity:.92;}
.follow-card-btn--dark{background:#1a1a1a;color:#fff !important;}
[data-theme="dark"] .follow-card-btn--dark{background:#fff;color:#111 !important;}
.follow-card-btn--light{background:#fff;color:#1877F2 !important;}

/* ---- KÉP NÉLKÜLI KÁRTYÁK, egységes, letisztult kezelés ---- */
.news-card--no-image{
  background:var(--surface);
  padding:20px;border-radius:8px;
  border:1px solid var(--line);border-left:4px solid var(--red);
  display:flex;flex-direction:column;justify-content:flex-start;
}
.news-card--no-image h3{font-size:16px;line-height:1.4;margin-bottom:8px;}
.news-card--no-image time{display:block;margin-top:auto;}

/* ---- RESZPONZIVITÁS FINOMÍTÁS ---- */
@media (max-width:880px){
  .menu-toggle{display:flex;}
  .search-overlay{padding:10vh 16px 16px;}
  .search-overlay-form{padding:6px 6px 6px 16px;}
  .search-overlay-form input[type="search"]{font-size:16px;padding:12px 2px;}
  .search-overlay-submit{padding:12px 16px;}

  /* Kép nélküli LEAD mobilon: kompakt szöveges kártya, nincs üres hely.
     (A korábbi ütköző display szabályok itt egyértelműen felülírva.) */
  .col .lead--no-image{
    background:var(--surface);
    border:1px solid var(--line);border-left:4px solid var(--red);
    border-radius:8px;padding:16px;
  }
  .col .lead--no-image .lead-no-image{display:none;}
  .col .lead--no-image .lead-tags--desktop{display:block !important;margin-bottom:6px;}
  .col .lead--no-image .lead-title--desktop{
    display:block !important;color:var(--text) !important;
    font-size:17px !important;line-height:1.3;margin-bottom:6px;
  }
  .col .lead--no-image p{
    display:block !important;color:var(--text-soft) !important;
    font-size:13px !important;margin:0;
  }

  /* Follow dobozok mobilon egymás alatt */
  .post-follow{grid-template-columns:1fr;padding:8px 16px;}
}

@media (max-width:640px){
  /* Kis kijelzőn a 4-es rács 1 oszlopos, a kép nélküli kártyák így
     nem törnek furán, minden kártya teljes szélességű */
  .grid4{grid-template-columns:1fr;gap:20px;}
  .news-card .media{aspect-ratio:16/9;}
}

/* ============================================================
   v32, CIKK LAYOUT: hirdetések, kvíz CTA, Telex-stílusú follow
   dobozok, teljes reszponzív finomítás.
   (A fájl végén áll, így felülírja a korábbi ütköző szabályokat.)
============================================================ */

/* ---- IN-ARTICLE HIRDETÉS ---- */
.article-ad{
  margin:36px 0;
  padding:14px 0 6px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  text-align:center;
  min-height:250px;              /* CLS csökkentés betöltés előtt */
}
.article-ad-label{
  display:block;
  font-family:'Oswald',sans-serif;
  font-size:10px;font-weight:600;
  letter-spacing:2.5px;text-transform:uppercase;
  color:var(--text-soft);
  margin-bottom:10px;
}
.article-ad .adsbygoogle{margin:0 auto;}

/* Cikk alatti blokk, a kártyán belül, a tartalommal azonos szélességben */
.post-below-ad{padding:0 48px 40px;}
.post-below-ad .article-ad{margin:0;border-bottom:none;padding-bottom:0;}

/* ---- KVÍZ KONVERZIÓS BOX a cikk törzsében ---- */
.article-quiz-cta{
  display:block;
  margin:36px 0;
  padding:28px 30px;
  background:var(--surface);
  border:1px solid var(--line);
  border-left:5px solid var(--red);
  border-radius:10px;
}
.aqc-badge{
  display:block;
  font-family:'Oswald',sans-serif;
  font-size:10px;font-weight:600;
  letter-spacing:2.5px;text-transform:uppercase;
  color:var(--red-text);
  margin-bottom:10px;
}
.aqc-title{
  display:block;
  font-family:'League Spartan',sans-serif;
  font-size:1.45rem;font-weight:800;line-height:1.2;
  color:var(--text);
  margin-bottom:8px;
}
.aqc-sub{
  display:block;
  font-family:'Poppins',sans-serif;
  font-size:.95rem;line-height:1.65;
  color:var(--text-soft);
  margin-bottom:18px;
}
.aqc-btn{
  display:inline-block;
  background:var(--red);color:#fff !important;
  font-family:'Poppins',sans-serif;
  font-size:14px;font-weight:600;
  padding:12px 26px;border-radius:8px;
  text-decoration:none !important;border-bottom:none !important;
  transition:transform .15s ease,box-shadow .15s ease;
}
.aqc-btn:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(224,20,45,.3);}

/* ---- FOLLOW DOBOZOK, Telex-stílus ---- */
.post-follow{
  display:grid;grid-template-columns:1fr 1fr;gap:18px;
  padding:6px 48px 12px;
}
.follow-box{
  border-radius:12px;
  padding:24px;
  display:flex;flex-direction:column;
}
/* Google kártya: keretes, világos */
.follow-box--google{
  background:var(--bg);
  border:1.5px solid var(--text);
  justify-content:space-between;
}
[data-theme="dark"] .follow-box--google{border-color:var(--line);background:var(--surface);}
.follow-box-row{
  display:flex;align-items:center;gap:14px;
  margin-bottom:18px;
}
.follow-box-gicon{flex-shrink:0;display:flex;}
.follow-box-text{
  font-family:'Poppins',sans-serif;
  font-size:15px;font-weight:600;line-height:1.45;
  color:var(--text);
}
.follow-box-text--light{color:#fff;text-align:center;margin-bottom:16px;}
.follow-box-btn{
  display:flex;align-items:center;justify-content:center;gap:8px;
  width:100%;
  padding:13px 18px;border-radius:8px;
  font-family:'Poppins',sans-serif;
  font-size:15px;font-weight:600;
  text-decoration:none !important;border-bottom:none !important;
  transition:transform .15s ease,opacity .15s ease;
}
.follow-box-btn:hover{transform:translateY(-1px);opacity:.92;}
.follow-box-btn--dark{background:#1a1a1a;color:#fff !important;}
[data-theme="dark"] .follow-box-btn--dark{background:#fff;color:#111 !important;}
.follow-box-btn--white{background:#fff;color:#1877F2 !important;}
/* Facebook kártya: tömör kék, középre zárt */
.follow-box--facebook{
  background:#1877F2;
  align-items:center;justify-content:center;
  text-align:center;
}
.follow-box-wordmark{
  font-family:'Poppins',sans-serif;
  font-size:28px;font-weight:800;letter-spacing:-1px;
  margin-bottom:10px;
}
.follow-box-wordmark .okos{color:#fff;}
.follow-box-wordmark .hir{color:rgba(255,255,255,.75);}

/* ---- RESZPONZÍV CIKK-FINOMÍTÁS ---- */
.post-title{font-size:clamp(1.65rem,4.5vw,2.4rem);}

@media (max-width:880px){
  body.single-post,body.single{padding-top:16px;padding-bottom:32px;}
  body.single-post .post-article,body.single .post-article{
    border-radius:0;margin:0 -0px;
    box-shadow:none;
  }
  .post-header{padding:24px 18px 0;}
  .post-excerpt{font-size:1.05rem;padding-left:16px;margin-bottom:22px;}
  .post-meta{padding:0 18px 20px;gap:12px;}
  .post-author-avatar{width:38px;height:38px;}
  .post-feature-image img{max-height:320px;}
  .post-feature-image figcaption{margin:8px 18px 0;}
  .post-content{padding:24px 18px 32px;}
  .post-content p{font-size:1.05rem;line-height:1.85;}
  .post-content h2{font-size:1.35rem;}
  .post-content h3{font-size:1.15rem;}
  .article-ad{margin:28px -4px;min-height:250px;}
  .article-quiz-cta{padding:22px 18px;margin:28px 0;}
  .aqc-title{font-size:1.25rem;}
  .post-follow{grid-template-columns:1fr;padding:4px 18px 8px;gap:14px;}
  .post-below-ad{padding:0 18px 28px;}
  .post-tags{padding-left:18px;padding-right:18px;}
}

@media (max-width:480px){
  .post-title{font-size:1.55rem;}
  .post-content p{font-size:1rem;}
  .follow-box{padding:20px 18px;}
  .follow-box-wordmark{font-size:24px;}
}
