/*
Theme Name: TahirRihat
Theme URI: https://tahirrihat.com
Author: TahirRihat
Description: A fully custom news WordPress theme for tahirrihat.com
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: tahirrihat
Tags: news, magazine, custom-logo, featured-images
*/

/* ============================================================ CSS CUSTOM PROPERTIES ============================================================ */
:root {
  --color-primary: #cc0000; --color-primary-dark: #990000;
  --color-bg: #f5f5f5; --color-surface: #ffffff; --color-white: #ffffff;
  --color-text: #333333; --color-text-muted: #888888;
  --color-dark: #1a1a1a; --color-dark-2: #2a2a2a; --color-border: #e0e0e0;
  --color-shadow: 0 2px 8px rgba(0,0,0,0.08);
  --font-heading: 'Playfair Display', Georgia, serif;
  --font-body: 'DM Sans', system-ui, sans-serif;
  --font-ui: 'DM Sans', system-ui, sans-serif;
  --font-size-base: 16px;
  --container-max: 1200px; --container-pad: 20px;
  --section-gap: 32px; --card-pad: 16px; --card-gap: 16px; --radius: 6px;
  --widget-header-bg: #cc0000; --widget-header-text: #ffffff;
  --search-overlay-bg: #cc0000; --mobile-pad: 16px; --mobile-accent: #cc0000;
}
[data-theme="dark"] {
  --color-bg: #0d0d0d; --color-surface: #1a1a1a; --color-white: #1e1e1e;
  --color-text: #e0e0e0; --color-text-muted: #888888;
  --color-dark: #f0f0f0; --color-dark-2: #cccccc;
  --color-border: #333333; --color-shadow: 0 2px 8px rgba(0,0,0,0.4);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:var(--font-size-base);scroll-behavior:smooth}
body{font-family:var(--font-body);font-size:1rem;line-height:1.65;color:var(--color-text);background:var(--color-bg);transition:background .3s,color .3s}
img{max-width:100%;height:auto;display:block}
a{color:var(--color-primary);text-decoration:none}
a:hover{color:var(--color-primary-dark)}
ul{list-style:none}
button{cursor:pointer;border:none;background:none;font-family:inherit}
.container{max-width:var(--container-max);padding-left:var(--container-pad);padding-right:var(--container-pad);margin-left:auto;margin-right:auto}
.site-wrapper{min-height:100vh;display:flex;flex-direction:column}
.site-main{flex:1}
.content-area{padding:var(--section-gap) 0}
.content-row{display:grid;grid-template-columns:1fr 320px;gap:var(--card-gap)}
.content-row.no-sidebar{grid-template-columns:1fr}
/* TOPBAR */
.topbar{background:var(--topbar-bg,#1a1a1a);color:var(--topbar-text,#aaa);font-size:12px;height:var(--topbar-height,36px);display:flex;align-items:center}
.topbar .container{display:flex;justify-content:space-between;align-items:center;width:100%}
.topbar-left,.topbar-right{display:flex;align-items:center;gap:12px}
.topbar-links a{color:var(--topbar-text,#aaa);transition:color .2s}
.topbar-links a:hover{color:var(--color-primary)}
/* HEADER */
.site-header{background:var(--header-bg,#fff);border-bottom:3px solid var(--header-border,var(--color-primary));position:relative;z-index:100}
.site-header.sticky{position:sticky;top:0;box-shadow:var(--color-shadow)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:var(--header-height,68px)}
.site-branding{display:flex;align-items:center;gap:12px}
.custom-logo{max-width:var(--logo-width,160px);max-height:var(--logo-height,50px);width:auto;height:auto}
.site-title{font-family:var(--font-heading);font-size:var(--title-size,26px);font-weight:700;color:var(--color-dark);line-height:1.1}
.site-title a{color:inherit}
.site-description{font-size:11px;color:var(--color-text-muted);margin-top:2px}
.header-actions{display:flex;align-items:center;gap:10px}
.btn-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);color:var(--color-text);transition:background .2s,color .2s}
.btn-icon:hover{background:var(--color-primary);color:#fff}
.hamburger{display:none;font-size:22px}
/* NAV */
.nav-bar{background:var(--nav-bg,#1a1a1a);position:relative;z-index:99}
.primary-nav{display:flex;align-items:center}
.primary-nav>li{position:relative}
.primary-nav>li>a{display:flex;align-items:center;height:var(--nav-height,56px);padding:0 16px;color:var(--nav-text,#ccc);font-size:var(--nav-font-size,14px);font-weight:500;transition:background .2s,color .2s;gap:4px}
.primary-nav>li>a:hover,.primary-nav>li.current-menu-item>a,.primary-nav>li.current-menu-ancestor>a{background:var(--nav-hover-bg,var(--color-primary));color:var(--nav-hover-text,#fff)}
.primary-nav .sub-menu{position:absolute;top:100%;left:0;min-width:200px;background:var(--dropdown-bg,#fff);box-shadow:0 4px 16px rgba(0,0,0,.15);border-top:2px solid var(--color-primary);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s,transform .2s;z-index:200}
.primary-nav>li:hover>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.primary-nav .sub-menu a{display:block;padding:10px 16px;color:var(--dropdown-text,#333);font-size:13px;border-bottom:1px solid var(--color-border);transition:background .15s,color .15s}
.primary-nav .sub-menu a:hover{background:var(--color-primary);color:#fff}
.nav-social{display:flex;align-items:center;gap:4px;margin-left:auto;padding-right:8px}
.nav-social a{color:var(--nav-text,#ccc);padding:8px;font-size:15px;transition:color .2s}
.nav-social a:hover{color:var(--color-primary)}
/* TICKER */
.breaking-ticker{background:var(--ticker-bg,var(--color-primary));overflow:hidden;display:flex;align-items:center;height:38px}
.ticker-label{display:flex;align-items:center;gap:8px;background:var(--ticker-label-bg,#0a0a0a);color:#fff;padding:0 16px;height:100%;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:1px;white-space:nowrap;flex-shrink:0;position:relative}
.ticker-label::after{content:'';position:absolute;right:-10px;top:0;bottom:0;width:0;height:0;border-top:19px solid transparent;border-bottom:19px solid transparent;border-left:10px solid var(--ticker-label-bg,#0a0a0a)}
.ticker-pulse{width:8px;height:8px;background:#fff;border-radius:50%;animation:tickerPulse 1.2s infinite;flex-shrink:0}
@keyframes tickerPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}
.ticker-track{flex:1;min-width:0;overflow:hidden;height:100%;display:flex;align-items:center;padding-left:20px}
.ticker-inner{display:flex;gap:48px;animation:tickerScroll 35s linear infinite;white-space:nowrap}
.breaking-ticker:hover .ticker-inner{animation-play-state:paused}
@keyframes tickerScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.ticker-item{color:#fff;font-size:13px;font-weight:500;flex-shrink:0}
.ticker-item a{color:inherit}
.ticker-item a:hover{text-decoration:underline}
/* HERO SLIDER */
.hero-slider{position:relative;overflow:hidden}
.slider-viewport{position:relative;height:var(--slider-height,55vh);overflow:hidden}
.slider-viewport::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#2a2a2a 25%,#3a3a3a 50%,#2a2a2a 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;z-index:0}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
.slide{position:absolute;inset:0;opacity:0;transition:opacity .6s ease;z-index:1}
.slide.active{opacity:1;z-index:2}
.slide-img{width:100%;height:100%;object-fit:cover;transform:scale(1);transition:transform 6s ease}
.slide.active .slide-img{transform:scale(1.04)}
.slide-overlay{position:absolute;inset:0;background:linear-gradient(to top,var(--slide-overlay,rgba(0,0,0,.7)) 0%,transparent 60%);z-index:3}
.slide-content{position:absolute;bottom:0;left:0;right:0;padding:32px;z-index:4}
.slide-cat-badge{display:inline-block;padding:3px 10px;background:var(--badge-bg,var(--color-primary));color:var(--badge-text,#fff);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;border-radius:3px;margin-bottom:10px}
.slide-title{font-family:var(--font-heading);font-size:clamp(1.4rem,3vw,2.2rem);color:var(--slide-title-color,#fff);line-height:1.2;margin-bottom:10px;font-weight:700;font-style:italic}
.slide-meta{display:flex;gap:14px;color:var(--slide-meta-color,rgba(255,255,255,.75));font-size:13px;align-items:center;flex-wrap:wrap}
.slider-arrows{position:absolute;top:50%;transform:translateY(-50%);left:0;right:0;z-index:10;display:flex;justify-content:space-between;padding:0 16px;pointer-events:none}
.slider-arrow{pointer-events:all;width:40px;height:40px;background:rgba(0,0,0,.4);color:var(--arrow-color,#cc0000);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;transition:background .2s}
.slider-arrow:hover{background:var(--color-primary);color:#fff}
.slider-dots{position:absolute;bottom:16px;right:24px;display:flex;gap:6px;z-index:10}
.slider-dot{width:8px;height:8px;background:rgba(255,255,255,.5);border-radius:50%;cursor:pointer;transition:background .2s,transform .2s}
.slider-dot.active{background:var(--dot-active,var(--color-primary));transform:scale(1.3)}
/* SECTION HEADERS */
.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:10px;border-bottom:2px solid var(--color-primary)}
.section-title{font-family:var(--font-heading);font-size:1.3rem;font-weight:700;color:var(--color-dark)}
.section-more{font-size:13px;color:var(--color-primary);font-weight:600;white-space:nowrap}
.section-more:hover{color:var(--color-primary-dark)}
/* POST CARDS */
.post-card{background:var(--color-surface);border-radius:var(--radius);overflow:hidden;box-shadow:var(--color-shadow);transition:transform .2s,box-shadow .2s}
.post-card:hover{transform:translateY(-3px);box-shadow:0 6px 20px rgba(0,0,0,.12)}
.card-thumb{overflow:hidden;aspect-ratio:16/9}
.card-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.post-card:hover .card-thumb img{transform:scale(1.04)}
.card-body{padding:var(--card-pad)}
.cat-badge{display:inline-block;padding:2px 8px;background:var(--color-primary);color:#fff;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;border-radius:3px;margin-bottom:8px}
.card-title{font-family:var(--font-heading);font-size:1rem;font-weight:700;color:var(--color-dark);line-height:1.3;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.card-title a{color:inherit}
.card-title a:hover{color:var(--color-primary)}
.card-meta{display:flex;gap:10px;font-size:12px;color:var(--color-text-muted);flex-wrap:wrap;align-items:center}
.card-excerpt{font-size:13px;color:var(--color-text-muted);margin-top:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card-list{display:flex;gap:12px;background:var(--color-surface);border-radius:var(--radius);overflow:hidden}
.card-list .card-thumb{width:120px;flex-shrink:0;aspect-ratio:3/2}
.card-list .card-body{padding:10px;flex:1}
.card-list .card-title{font-size:.9rem;-webkit-line-clamp:2}
/* LAYOUTS */
.home-section{margin-bottom:var(--section-gap)}
.layout-hero-list{display:grid;grid-template-columns:1fr 1fr;gap:var(--card-gap)}
.layout-hero-list .post-card:first-child .card-thumb{aspect-ratio:unset;height:300px}
.layout-hero-list .right-stack{display:flex;flex-direction:column;gap:var(--card-gap)}
.layout-hero-list .right-stack .post-card{display:flex;gap:10px}
.layout-hero-list .right-stack .card-thumb{width:100px;flex-shrink:0;aspect-ratio:3/2;height:auto}
.layout-hero-list .right-stack .card-title{font-size:.875rem}
.layout-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--card-gap)}
.layout-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--card-gap)}
.layout-grid-4 .card-title{font-size:.875rem}
.layout-list{display:flex;flex-direction:column;gap:var(--card-gap)}
.layout-magazine{display:grid;grid-template-columns:2fr 1fr;gap:var(--card-gap)}
.layout-magazine .magazine-main{display:grid;grid-template-columns:1fr 1fr;gap:var(--card-gap)}
.layout-magazine .magazine-main .post-card:first-child{grid-column:span 2}
.layout-magazine .magazine-sidebar{display:flex;flex-direction:column;gap:var(--card-gap)}
/* TRENDING */
.trending-section{background:var(--color-surface);border-radius:var(--radius);overflow:hidden;margin-bottom:var(--section-gap)}
.trending-header{background:var(--color-primary);color:#fff;padding:12px 16px;font-family:var(--font-heading);font-size:1.1rem;font-weight:700;display:flex;align-items:center;gap:8px}
.trending-list{padding:8px 0}
.trending-item{display:flex;gap:12px;padding:10px 16px;border-bottom:1px solid var(--color-border);align-items:flex-start}
.trending-item:last-child{border-bottom:none}
.trending-num{font-size:1.8rem;font-weight:900;color:var(--color-border);line-height:1;min-width:36px;font-family:var(--font-heading)}
.trending-thumb{width:64px;height:48px;object-fit:cover;border-radius:4px;flex-shrink:0}
.trending-body{flex:1}
.trending-title{font-size:.875rem;font-weight:600;color:var(--color-dark);line-height:1.3;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.trending-title a{color:inherit}
.trending-title a:hover{color:var(--color-primary)}
.trending-meta{font-size:11px;color:var(--color-text-muted)}
/* SIDEBAR */
.sidebar-area{display:flex;flex-direction:column;gap:24px}
.widget{background:var(--color-surface);border-radius:var(--radius);overflow:hidden;box-shadow:var(--color-shadow)}
.widget-header{background:var(--widget-header-bg,var(--color-primary));padding:10px 14px}
.widget-title{font-family:var(--font-heading);font-size:1rem;font-weight:700;color:var(--widget-header-text,#fff);margin:0}
.widget-title-plain{font-family:var(--font-heading);font-size:1rem;font-weight:700;color:var(--color-dark);padding:10px 14px 0}
.widget-body{padding:14px}
.widget ul li{padding:8px 0;border-bottom:1px solid var(--color-border);font-size:14px}
.widget ul li:last-child{border-bottom:none}
.widget ul li a{color:var(--color-text)}
.widget ul li a:hover{color:var(--color-primary)}
/* ADS */
.ad-slot{text-align:center;padding:8px 0}
.ad-label{font-size:10px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:4px}
/* SINGLE */
.single-article{max-width:var(--article-max-width,860px);margin:0 auto}
.article-header{margin-bottom:24px}
.breadcrumb{font-size:13px;color:var(--color-text-muted);margin-bottom:12px}
.breadcrumb a{color:var(--color-text-muted)}
.breadcrumb a:hover{color:var(--color-primary)}
.article-title{font-family:var(--font-heading);font-size:clamp(1.6rem,4vw,2.4rem);font-weight:700;font-style:italic;color:var(--color-dark);line-height:1.2;margin-bottom:16px}
.article-meta{display:flex;gap:16px;align-items:center;color:var(--color-text-muted);font-size:13px;flex-wrap:wrap;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--color-border)}
.article-author{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--color-dark)}
.article-author img{width:32px;height:32px;border-radius:50%;object-fit:cover}
.article-featured-img{margin-bottom:24px}
.article-featured-img img{width:100%;border-radius:var(--radius)}
.article-content{font-family:'Source Serif 4',Georgia,serif;font-size:1.0625rem;line-height:1.8;color:var(--color-text)}
.article-content p{margin-bottom:1.4em}
.article-content h2,.article-content h3{font-family:var(--font-heading);color:var(--color-dark);margin:1.6em 0 .6em}
.article-content h2{font-size:1.5rem}
.article-content h3{font-size:1.25rem}
.article-content img{border-radius:var(--radius);margin:1.4em 0}
.article-content blockquote{border-left:4px solid var(--color-primary);padding:12px 20px;margin:1.6em 0;background:var(--color-bg);color:var(--color-text-muted);font-style:italic}
.article-content ul,.article-content ol{margin:1em 0 1em 1.5em}
.in-article-ad{margin:28px 0;text-align:center}
.share-buttons{margin:24px 0;padding:16px 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}
.share-label{font-weight:600;margin-bottom:10px;font-size:14px}
.share-links{display:flex;gap:8px;flex-wrap:wrap}
.share-link{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--radius);font-size:13px;font-weight:600;color:#fff}
.share-link.facebook{background:#1877f2}
.share-link.twitter{background:#000}
.share-link.whatsapp{background:#25d366}
.related-posts{margin-top:32px}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--card-gap)}
/* ARCHIVE */
.archive-header{background:var(--archive-header-bg,var(--color-dark));color:#fff;padding:32px 0;margin-bottom:24px}
.archive-header h1{font-family:var(--font-heading);font-size:1.8rem}
.archive-grid{display:grid;gap:var(--card-gap)}
.archive-grid.grid-3{grid-template-columns:repeat(3,1fr)}
.archive-grid.grid-2{grid-template-columns:repeat(2,1fr)}
.archive-grid.list{grid-template-columns:1fr}
.archive-grid.list .post-card{flex-direction:row}
.archive-grid.list .card-thumb{width:200px;flex-shrink:0}
.pagination{display:flex;gap:6px;justify-content:center;margin:32px 0;flex-wrap:wrap}
.pagination a,.pagination span{padding:8px 14px;background:var(--color-surface);border-radius:var(--radius);font-size:14px;color:var(--color-text);border:1px solid var(--color-border)}
.pagination .current{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}
.pagination a:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}
/* SEARCH */
.search-form-wrap{background:var(--color-surface);padding:24px;border-radius:var(--radius);margin-bottom:24px;display:flex;gap:10px}
.search-form-wrap input{flex:1;padding:10px 16px;border:1px solid var(--color-border);border-radius:999px;font-family:var(--font-body);font-size:15px;background:var(--color-bg);color:var(--color-text)}
.search-form-wrap button{padding:10px 20px;background:var(--color-primary);color:#fff;border-radius:999px;font-weight:600}
.search-results-count{font-size:14px;color:var(--color-text-muted);margin-bottom:16px}
/* MOBILE SEARCH OVERLAY */
#mobile-search-overlay{display:none;position:fixed;inset:0;background:var(--search-overlay-bg,var(--color-primary));z-index:9999;align-items:center;justify-content:center;flex-direction:column;gap:1rem;padding:2rem}
#mobile-search-overlay.active{display:flex}
.search-overlay-close{position:absolute;top:20px;right:20px;width:40px;height:40px;background:rgba(255,255,255,.2);color:#fff;border-radius:50%;font-size:20px;display:flex;align-items:center;justify-content:center}
.search-overlay-close:hover{background:rgba(255,255,255,.3)}
.search-overlay-form{width:100%;max-width:540px;display:flex;gap:10px}
.search-overlay-input{flex:1;padding:14px 20px;border-radius:999px;border:none;font-size:16px;font-family:var(--font-body);outline:none}
.search-overlay-btn{padding:14px 24px;background:#fff;color:var(--search-overlay-bg,var(--color-primary));border-radius:999px;font-weight:700;font-size:15px}
/* MOBILE DRAWER */
.mobile-drawer-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:999}
.mobile-drawer-overlay.open{display:block}
.mobile-drawer{position:fixed;top:0;bottom:0;width:280px;background:var(--nav-bg,#1a1a1a);z-index:1000;overflow-y:auto;transition:transform .3s ease}
.mobile-drawer.drawer-left{left:0;transform:translateX(-100%)}
.mobile-drawer.drawer-right{right:0;transform:translateX(100%)}
.mobile-drawer.open{transform:translateX(0)}
.mobile-drawer.fullscreen{width:100%}
.drawer-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid rgba(255,255,255,.1)}
.drawer-close{color:#fff;font-size:22px}
.mobile-nav{padding:12px 0}
.mobile-nav li a{display:block;padding:12px 16px;color:var(--nav-text,#ccc);font-size:14px;border-bottom:1px solid rgba(255,255,255,.05)}
.mobile-nav li a:hover{background:var(--color-primary);color:#fff}
.mobile-nav .sub-menu{padding-left:16px;background:rgba(0,0,0,.2)}
.mobile-nav .sub-menu a{font-size:13px;padding:9px 16px}
/* FOOTER */
.site-footer{background:var(--footer-bg,#0a0a0a);color:var(--footer-text,#aaa);font-size:var(--footer-font-size,13px)}
.footer-widgets{padding:48px 0 32px}
.footer-grid{display:grid;gap:32px}
.footer-grid.cols-1{grid-template-columns:1fr}
.footer-grid.cols-2{grid-template-columns:repeat(2,1fr)}
.footer-grid.cols-3{grid-template-columns:repeat(3,1fr)}
.footer-grid.cols-4{grid-template-columns:repeat(4,1fr)}
.footer-widget-title{font-family:var(--font-heading);font-size:1rem;font-weight:700;color:var(--footer-heading-color,#fff);margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.1)}
.footer-widget ul li{padding:6px 0;border-bottom:1px solid rgba(255,255,255,.05)}
.footer-widget ul li a{color:var(--footer-link-color,#888)}
.footer-widget ul li a:hover{color:var(--color-primary)}
.footer-colophon{padding:16px 0;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.footer-copyright{color:var(--footer-text,#aaa);font-size:12px}
.footer-nav{display:flex;gap:14px}
.footer-nav a{color:var(--footer-link-color,#888);font-size:12px}
.footer-nav a:hover{color:var(--color-primary)}
.footer-social{display:flex;gap:8px}
.social-icon{width:var(--social-icon-size,36px);height:var(--social-icon-size,36px);display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);color:var(--footer-text,#aaa);border-radius:var(--radius);font-size:15px;transition:background .2s,color .2s}
.social-icon:hover{background:var(--color-primary);color:#fff}
.social-icon.circle{border-radius:50%}
.social-icon.rounded{border-radius:8px}
.social-icon.square{border-radius:0}
.social-icon.plain{background:none}
/* BACK TO TOP */
#back-to-top{position:fixed;bottom:24px;right:24px;width:44px;height:44px;background:var(--btn-top-color,var(--color-primary));color:#fff;border-radius:50%;font-size:18px;display:none;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,.2);z-index:500}
#back-to-top.visible{display:flex}
#back-to-top:hover{background:var(--color-primary-dark)}
/* 404 */
.error-404-wrap{text-align:center;padding:80px 20px}
.error-404-num{font-size:8rem;font-weight:900;color:var(--color-primary);font-family:var(--font-heading);line-height:1}
.error-404-title{font-family:var(--font-heading);font-size:2rem;margin:16px 0}
.error-404-text{color:var(--color-text-muted);margin-bottom:24px}
.error-404-form{max-width:400px;margin:0 auto;display:flex;gap:8px}
.error-404-form input{flex:1;padding:10px 16px;border:1px solid var(--color-border);border-radius:999px;font-size:15px;background:var(--color-bg);color:var(--color-text)}
.btn-primary{padding:10px 20px;background:var(--color-primary);color:#fff;border-radius:999px;font-weight:600}
.btn-primary:hover{background:var(--color-primary-dark)}
/* PAGE */
.page-content{max-width:860px;margin:0 auto}
.page-title{font-family:var(--font-heading);font-size:2rem;font-weight:700;color:var(--color-dark);margin-bottom:24px;padding-bottom:12px;border-bottom:2px solid var(--color-primary)}
.page-body{font-family:'Source Serif 4',Georgia,serif;font-size:1.0625rem;line-height:1.8}
.page-body p{margin-bottom:1.4em}
/* COMMENTS */
.comments-section{margin-top:40px;padding-top:24px;border-top:2px solid var(--color-border)}
.comments-title{font-family:var(--font-heading);font-size:1.4rem;font-weight:700;margin-bottom:20px;color:var(--color-dark)}
.comment-list li{margin-bottom:16px;list-style:none}
.comment-body{background:var(--color-surface);padding:16px;border-radius:var(--radius);border-left:3px solid var(--color-primary)}
.comment-author{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.comment-author img{border-radius:50%}
.comment-meta{font-size:12px;color:var(--color-text-muted)}
.comment-content p{font-size:14px;line-height:1.6}
.children{margin-left:32px;margin-top:12px}
.comment-respond{margin-top:32px}
.comment-form input,.comment-form textarea{width:100%;padding:10px 14px;border:1px solid var(--color-border);border-radius:var(--radius);font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);margin-bottom:12px}
.comment-form textarea{height:120px;resize:vertical}
.comment-form .submit{background:var(--color-primary);color:#fff;padding:10px 24px;border-radius:var(--radius);font-weight:600;font-size:14px}
/* UTILITY */
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.no-posts{text-align:center;padding:60px 20px;color:var(--color-text-muted)}
/* RESPONSIVE */
@media (max-width:1024px){
.layout-grid-4{grid-template-columns:repeat(2,1fr)}
.layout-magazine{grid-template-columns:1fr}
.content-row{grid-template-columns:1fr 280px}
}
@media (max-width:768px){
.container{padding-left:var(--mobile-pad);padding-right:var(--mobile-pad)}
.topbar{display:none}
.hamburger{display:flex}
.primary-nav,.nav-social{display:none}
.slider-viewport{height:auto;aspect-ratio:16/9}
.layout-hero-list,.layout-grid-3,.layout-grid-4,.layout-magazine{grid-template-columns:1fr}
.content-row{grid-template-columns:1fr}
.related-grid{grid-template-columns:repeat(2,1fr)}
.archive-grid.grid-3,.archive-grid.grid-2{grid-template-columns:1fr}
.footer-grid{grid-template-columns:1fr}
.footer-colophon{flex-direction:column;text-align:center}
.slide-content{padding:16px}
.slide-title{font-size:1.1rem}
}
@media (max-width:480px){
.related-grid{grid-template-columns:1fr}
.share-links{gap:6px}
.share-link{padding:6px 10px;font-size:12px}
}

/* ============================================================
   FOOTER ENHANCEMENTS (v2)
   ============================================================ */
.site-footer { font-family: var(--font-footer, var(--font-body)); }
.footer-main { padding: var(--footer-pt, 48px) 0 var(--footer-pb, 32px); }
.footer-main-grid { display: grid; gap: 40px; }
.footer-main-grid.cols-2 { grid-template-columns: 1.5fr 1fr; }
.footer-main-grid.cols-3 { grid-template-columns: 1.5fr 1fr 1fr; }
.footer-main-grid.cols-4 { grid-template-columns: 1.5fr 1fr 1fr 1fr; }
.footer-main-grid.cols-1 { grid-template-columns: 1fr; }
.footer-col {}
.footer-col--about .custom-logo { max-width: 160px; margin-bottom: 14px; filter: brightness(0) invert(1); }
.footer-brand-name { font-family: var(--font-heading); font-size: 1.4rem; font-weight: 700; color: var(--footer-heading-color, #fff); }
.footer-tagline { color: var(--footer-text, #aaa); font-size: 13px; line-height: 1.6; margin: 10px 0 16px; max-width: 280px; }
.footer-col-title { font-family: var(--font-widget-title, var(--font-heading)); font-size: var(--footer-title-size, 13px); font-weight: 700; color: var(--footer-heading-color, #fff); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 16px; padding-bottom: 8px; border-bottom: 1px solid var(--footer-divider, #222); }
.footer-col-links { list-style: none; padding: 0; margin: 0; }
.footer-col-links li { padding: 6px 0; border-bottom: 1px solid rgba(255,255,255,.04); }
.footer-col-links li:last-child { border-bottom: none; }
.footer-col-links a { color: var(--footer-link-color, #888); font-size: 13px; display: flex; align-items: center; gap: 6px; transition: color .2s; }
.footer-col-links a:hover { color: var(--footer-link-hover, var(--color-primary)); }
.footer-col-links i { font-size: 10px; color: var(--color-primary); }
.footer-recent-posts { list-style: none; padding: 0; margin: 0; }
.footer-recent-posts li { padding: 8px 0; border-bottom: 1px solid rgba(255,255,255,.05); }
.footer-recent-posts li:last-child { border-bottom: none; }
.footer-recent-posts a { color: var(--footer-link-color, #888); font-size: 13px; font-weight: 600; line-height: 1.4; display: block; transition: color .2s; }
.footer-recent-posts a:hover { color: var(--footer-link-hover, var(--color-primary)); }
.footer-post-date { display: block; font-size: 11px; color: var(--footer-text, #666); margin-top: 2px; }
.footer-social { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
.social-icon { width: var(--social-icon-size, 36px); height: var(--social-icon-size, 36px); display: flex; align-items: center; justify-content: center; background: var(--social-icon-bg, #2a2a2a); color: var(--social-icon-color, #aaa); border-radius: var(--radius); font-size: 15px; transition: background .2s, color .2s; }
.social-icon:hover { background: var(--social-icon-hover-bg, var(--color-primary)); color: var(--social-icon-hover-color, #fff); }
.social-icon.circle { border-radius: 50%; }
.social-icon.rounded { border-radius: 8px; }
.social-icon.square { border-radius: 0; }
.social-icon.plain { background: none; }
.footer-bottom { background: var(--footer-bottom-bg, #080808); padding: 14px 0; }
.footer-bottom-inner { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; }
.footer-copyright { color: var(--footer-bottom-text, #666); font-size: 12px; }
.footer-copyright a { color: inherit; }
.footer-copyright a:hover { color: var(--color-primary); }
.footer-bottom-links { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.footer-designed { color: var(--footer-bottom-text, #666); font-size: 12px; }
.footer-bottom-links a { color: var(--footer-bottom-text, #666); font-size: 12px; transition: color .2s; }
.footer-bottom-links a:hover { color: var(--color-primary); }
.footer-bottom-links a::before { content: '·'; margin-right: 12px; }
/* Footer style variants */
.site-footer--minimal .footer-main { display: none; }
.site-footer--centered .footer-main-grid { text-align: center; justify-items: center; }
.site-footer--centered .footer-social { justify-content: center; }
.site-footer--dark-wide .footer-col-title { border-bottom-color: var(--color-primary); }
/* Sidebar full width fix */
.sidebar-area { min-width: 0; }
/* ============================================================
   SIDEBAR TABS
   ============================================================ */
/* (Inline in sidebar-tabs.php via wp_head) */

/* ============================================================
   ARTICLE CONTENT FIXES
   ============================================================ */
.article-content { box-sizing: border-box; }
.single-article .content-row { align-items: flex-start; }

/* ============================================================
   LATEST NEWS BLOCK
   ============================================================ */
.latest-news-block { padding: 0; margin-bottom: var(--section-gap); }

/* ============================================================
   RESPONSIVE FOOTER
   ============================================================ */
@media (max-width: 1024px) {
  .footer-main-grid.cols-4 { grid-template-columns: 1fr 1fr; }
  .footer-main-grid.cols-3 { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px) {
  .footer-main-grid { grid-template-columns: 1fr !important; }
  .footer-bottom-inner { flex-direction: column; text-align: center; }
  .footer-bottom-links { justify-content: center; }
}

/* ============================================================
   PREMIUM FOOTER v3
   ============================================================ */
.footer-ad-zone { background: var(--footer-bottom-bg,#080808); padding: 12px 0; text-align: center; }
.site-footer { background: var(--footer-bg,#0f0f0f); color: var(--footer-text,#999); font-size: var(--footer-fs,13px); }
.footer-body { padding: var(--footer-pt,56px) 0 var(--footer-pb,40px); }
.footer-body-grid { display: grid; gap: var(--footer-col-gap,40px); }
.footer-cols-1 { grid-template-columns: 1fr; }
.footer-cols-2 { grid-template-columns: 1.4fr 1fr; }
.footer-cols-3 { grid-template-columns: 1.4fr 1fr 1fr; }
.footer-cols-4 { grid-template-columns: 1.6fr 1fr 1fr 1fr; }
/* Brand col */
.footer-logo { margin-bottom: 14px; }
.footer-logo img,.footer-logo .custom-logo { max-width: 180px; filter: brightness(0) invert(1); opacity: .9; }
.footer-site-name { font-family: var(--font-heading); font-size: 1.5rem; font-weight: 800; color: #fff; }
.footer-tagline { font-size: 13px; line-height: 1.65; color: var(--footer-text,#999); margin: 10px 0 16px; max-width: 280px; }
.footer-contact-line { font-size: 12px; color: var(--footer-text,#999); margin-top: 6px; display: flex; align-items: center; gap: 7px; }
.footer-contact-line a { color: var(--footer-link,#888); }
.footer-contact-line a:hover { color: var(--footer-link-hover,var(--color-primary)); }
.footer-social-row { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 16px; margin-bottom: 4px; }
/* Column headings */
.footer-col-heading { font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: 1.2px; color: var(--footer-heading-c,#fff); margin-bottom: 18px; padding-bottom: 10px; border-bottom: 2px solid var(--footer-divider,#333); position: relative; }
.footer-col-heading::after { content:''; position:absolute; bottom:-2px; left:0; width:32px; height:2px; background:var(--color-primary); }
/* Link list */
.footer-link-list { list-style: none; padding: 0; margin: 0; }
.footer-link-list li { padding: 5px 0; border-bottom: 1px solid rgba(255,255,255,.04); }
.footer-link-list li:last-child { border-bottom: none; }
.footer-link-list a { color: var(--footer-link,#888); font-size: 13px; display: flex; align-items: center; gap: 7px; transition: color .2s, padding-left .2s; }
.footer-link-list a:hover { color: var(--footer-link-hover,var(--color-primary)); padding-left: 4px; }
.footer-link-list i { font-size: 9px; color: var(--color-primary); flex-shrink: 0; }
/* Recent posts in footer */
.footer-recent-list { list-style: none; padding: 0; margin: 0; }
.footer-recent-list li { display: flex; gap: 10px; padding: 8px 0; border-bottom: 1px solid rgba(255,255,255,.05); align-items: flex-start; }
.footer-recent-list li:last-child { border-bottom: none; }
.footer-rp-thumb { width: 60px; height: 44px; flex-shrink: 0; overflow: hidden; border-radius: 4px; }
.footer-rp-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.footer-rp-body { flex: 1; min-width: 0; }
.footer-rp-title { display: block; color: var(--footer-link,#888); font-size: 13px; font-weight: 600; line-height: 1.4; margin-bottom: 4px; transition: color .2s; white-space: normal; }
.footer-rp-title:hover { color: var(--footer-link-hover,var(--color-primary)); }
.footer-rp-meta { font-size: 10px; color: var(--footer-text,#666); display: flex; align-items: center; gap: 4px; }
/* Social icons */
.social-icon { width: var(--social-size,36px); height: var(--social-size,36px); display: inline-flex; align-items: center; justify-content: center; background: var(--social-bg,#2a2a2a); color: var(--social-color,#aaa); border-radius: var(--radius); font-size: 14px; transition: background .2s, color .2s; flex-shrink: 0; }
.social-icon:hover { background: var(--social-hbg,var(--color-primary)); color: var(--social-hcolor,#fff); }
.social-icon.circle { border-radius: 50%; }
.social-icon.rounded { border-radius: 8px; }
.social-icon.square { border-radius: 0; }
.social-icon.plain { background: none !important; }
.social-icon-sm { width: 28px; height: 28px; font-size: 12px; }
/* Bottom bar */
.footer-bottom { background: var(--footer-bottom-bg,#080808); border-top: 1px solid rgba(255,255,255,.06); padding: 14px 0; }
.footer-bottom-inner { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.footer-copy { font-size: 12px; color: var(--footer-bottom-text,#555); }
.footer-copy a { color: var(--footer-bottom-text,#555); }
.footer-copy a:hover { color: var(--footer-link-hover,var(--color-primary)); }
.footer-bottom-links { display: flex; gap: 0; flex-wrap: wrap; }
.footer-bottom-links a { font-size: 12px; color: var(--footer-bottom-link,#777); padding: 0 10px; border-right: 1px solid rgba(255,255,255,.1); transition: color .2s; }
.footer-bottom-links a:first-child { padding-left: 0; }
.footer-bottom-links a:last-child { border-right: none; }
.footer-bottom-links a:hover { color: var(--footer-link-hover,var(--color-primary)); }
.footer-bottom-social { display: flex; gap: 6px; }
/* Layout variants */
.footer-layout-centered .footer-body-grid { text-align: center; }
.footer-layout-centered .footer-col-heading::after { left: 50%; transform: translateX(-50%); }
.footer-layout-centered .footer-social-row { justify-content: center; }
.footer-layout-centered .footer-tagline { margin-left: auto; margin-right: auto; }
.footer-layout-centered .footer-bottom-inner { justify-content: center; }
/* Responsive */
@media (max-width: 1100px) {
    .footer-cols-4 { grid-template-columns: 1fr 1fr; }
    .footer-cols-3 { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px) {
    .footer-body-grid { grid-template-columns: 1fr; }
    .footer-bottom-inner { flex-direction: column; text-align: center; gap: 8px; }
    .footer-bottom-links { justify-content: center; }
    .footer-bottom-social { justify-content: center; }
}

/* ============================================================
   GLOBAL SIDE PADDING + SECTION TITLE SPACING
   ============================================================ */
.section-header {
    margin-top: var(--section-title-pad-top, 0px);
    margin-bottom: var(--section-title-pad-bottom, 16px);
}

/* ============================================================
   SEARCH: OVERLAY + INLINE — BOTH DESKTOP & MOBILE
   ============================================================ */

/* Hide old mobile-search-overlay ID if still referenced anywhere */
#mobile-search-overlay { display: none !important; }

/* Fullscreen overlay (default) */
.search-overlay-wrap {
    display: none;
    position: fixed;
    inset: 0;
    background: var(--search-overlay-bg, var(--color-primary));
    z-index: 9999;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 1rem;
    padding: 2rem;
}
.search-overlay-wrap.active { display: flex; }

/* When inline style is selected, disable the fullscreen overlay entirely */
.search-overlay-wrap.search-style-inline { display: none !important; }

/* Inline search bar — appears below header on icon click */
.inline-search-bar {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    border-top: 1px solid var(--color-border, #e0e0e0);
    border-bottom: 3px solid var(--color-primary);
    z-index: 998;
    box-shadow: 0 6px 24px rgba(0,0,0,.12);
}
.inline-search-bar.open { display: block; }
.inline-search-inner {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 0;
    position: relative;
}
.inline-search-inner form {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 10px;
}
.inline-search-icon {
    color: var(--color-primary);
    font-size: 16px;
    flex-shrink: 0;
}
.inline-search-input {
    flex: 1;
    padding: 10px 16px;
    border: 1.5px solid var(--color-border, #e0e0e0);
    border-radius: 999px;
    font-family: var(--font-body);
    font-size: 15px;
    background: var(--color-bg, #f5f5f5);
    color: var(--color-text, #222);
    outline: none;
    transition: border-color .2s;
}
.inline-search-input:focus { border-color: var(--color-primary); }
.inline-search-submit {
    padding: 10px 22px;
    background: var(--color-primary);
    color: #fff;
    border-radius: 999px;
    font-weight: 700;
    font-size: 14px;
    transition: background .2s;
    flex-shrink: 0;
}
.inline-search-submit:hover { background: var(--color-primary-dark); }
.inline-search-close {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--color-border, #eee);
    color: var(--color-text, #333);
    font-size: 14px;
    transition: background .2s;
    flex-shrink: 0;
}
.inline-search-close:hover { background: var(--color-primary); color: #fff; }

/* Site header needs relative positioning for inline search dropdown */
.site-header { position: relative; z-index: 100; }

@media (max-width: 768px) {
    .inline-search-input { font-size: 14px; }
    .inline-search-submit { padding: 10px 16px; font-size: 13px; }
}

/* ============================================================
   FEATURED IMAGE — FIX MOBILE STRETCHING
   ============================================================ */
.article-featured-img {
    margin-bottom: 24px;
    overflow: hidden;
    border-radius: var(--radius, 6px);
}
.article-featured-img img {
    width: 100%;
    height: auto;
    display: block;
    max-width: 100%;
    border-radius: var(--radius, 6px);
    object-fit: cover;
}
@media (max-width: 768px) {
    .article-featured-img {
        margin-left: 0;
        margin-right: 0;
        border-radius: var(--radius, 6px);
    }
    .article-featured-img img {
        width: 100%;
        height: auto;
        max-width: 100%;
    }
    /* Ensure article body has proper horizontal padding on mobile */
    .single-article {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }
    .article-content {
        overflow-x: hidden;
        word-break: break-word;
    }
}

/* Featured image caption */
.featured-img-caption {
    font-size: 12px;
    color: var(--color-text-muted, #888);
    text-align: center;
    padding: 7px 12px;
    background: var(--color-surface, #f5f5f5);
    border-bottom-left-radius: var(--radius, 6px);
    border-bottom-right-radius: var(--radius, 6px);
    margin: 0;
    border-top: 1px solid var(--color-border, #e0e0e0);
    font-style: italic;
    line-height: 1.5;
}

/* ============================================================
   LATEST NEWS — fix title spacing (section-header inside lnb)
   ============================================================ */
.latest-news-block .section-header {
    padding-top: var(--section-title-pad-top, 0px);
    padding-bottom: var(--section-title-pad-bottom, 16px);
    margin-top: var(--section-title-pad-top, 0px);
    margin-bottom: 0;
    border-bottom: 2px solid var(--color-primary);
}
.latest-news-block .section-header .section-title {
    margin: 0;
    padding: 0;
}

/* ============================================================
   DARK MODE — COMPLETELY REMOVED
   ============================================================ */
[data-theme="dark"],
html[data-theme="dark"],
body[data-theme="dark"] {
    /* Reset all dark mode overrides — force light mode always */
    --color-bg: #ffffff !important;
    --color-surface: #f5f5f5 !important;
    --color-text: #222222 !important;
    --color-text-muted: #666666 !important;
    --color-border: #e0e0e0 !important;
    --color-dark: #1a1a1a !important;
    --color-dark-2: #2a2a2a !important;
    background-color: #ffffff !important;
    color: #222222 !important;
}
.dark-toggle,
#dark-toggle,
.btn-icon.dark-toggle {
    display: none !important;
}

/* ============================================================
   THEPRINT-STYLE FOOTER
   ============================================================ */
.theprint-footer {
    background: #2e2e2e;
    color: #cccccc;
    font-size: 13px;
}

/* Main body: dark charcoal */
.theprint-footer .footer-body {
    background: #2e2e2e;
    padding: 48px 0 40px;
}

/* Two-column grid: brand left, nav columns right */
.footer-theprint-grid {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 48px;
    align-items: flex-start;
}

/* Brand column */
.theprint-footer .footer-col-brand {
    display: flex;
    flex-direction: column;
    gap: 0;
}
.theprint-footer .footer-logo {
    margin-bottom: 10px;
}
.theprint-footer .footer-logo img,
.theprint-footer .footer-logo .custom-logo {
    max-width: 200px;
    height: auto;
    filter: brightness(0) invert(1);
    opacity: 0.9;
}
.theprint-footer .footer-site-name {
    font-family: var(--font-heading);
    font-size: 1.8rem;
    font-weight: 900;
    color: #fff;
    letter-spacing: -0.5px;
}
.theprint-footer .footer-tagline {
    font-size: 13px;
    line-height: 1.6;
    color: #bbbbbb;
    margin: 6px 0 10px;
    max-width: 280px;
}
.theprint-footer .footer-contact-line {
    font-size: 13px;
    color: #aaa;
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 4px;
    flex-wrap: wrap;
}
.theprint-footer .footer-contact-label {
    color: #aaa;
    font-weight: 500;
}
.theprint-footer .footer-contact-email {
    color: #e07b4a;
    font-weight: 500;
}
.theprint-footer .footer-contact-email:hover {
    color: #f09070;
    text-decoration: underline;
}

/* Follow Us section */
.footer-brand-follow {
    margin-top: 18px;
}
.footer-follow-label {
    display: block;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.5px;
    color: #ffffff;
    margin-bottom: 12px;
    text-transform: uppercase;
}
.theprint-footer .footer-social-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 0;
}

/* Social icons — brand colored circles (ThePrint style) */
.footer-social-icon {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 16px;
    transition: transform .2s, opacity .2s;
    flex-shrink: 0;
    text-decoration: none;
}
.footer-social-icon:hover {
    transform: translateY(-2px);
    opacity: 0.85;
    color: #ffffff;
}
.footer-social-icon.social-icon-sm {
    width: 30px;
    height: 30px;
    font-size: 12px;
}

/* Nav columns area */
.footer-nav-columns {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}
.footer-nav-col {}
.theprint-footer .footer-col-heading {
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: #ffffff;
    margin-bottom: 16px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(255,255,255,0.12);
    position: relative;
}
.theprint-footer .footer-col-heading::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 28px;
    height: 2px;
    background: var(--color-primary, #cc0000);
}
.theprint-footer .footer-link-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.theprint-footer .footer-link-list li {
    padding: 4px 0;
    border-bottom: 1px solid rgba(255,255,255,.05);
}
.theprint-footer .footer-link-list li:last-child { border-bottom: none; }
.theprint-footer .footer-link-list a {
    color: #aaaaaa;
    font-size: 13px;
    display: block;
    padding: 3px 0;
    transition: color .2s, padding-left .2s;
    line-height: 1.5;
}
.theprint-footer .footer-link-list a:hover {
    color: #ffffff;
    padding-left: 5px;
}

/* Bottom bar — ThePrint accent orange/red */
.theprint-footer .footer-bottom {
    background: var(--color-primary, #cc0000);
    border-top: none;
    padding: 16px 0;
}
.theprint-footer .footer-bottom-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}
.theprint-footer .footer-copy {
    font-size: 12px;
    color: rgba(255,255,255,0.85);
    font-weight: 500;
}
.theprint-footer .footer-copy a { color: rgba(255,255,255,0.85); }
.theprint-footer .footer-copy a:hover { color: #ffffff; }
.theprint-footer .footer-bottom-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
}
.theprint-footer .footer-bottom-links a {
    font-size: 12px;
    color: rgba(255,255,255,0.85);
    padding: 0 10px;
    border-right: 1px solid rgba(255,255,255,.3);
    font-weight: 500;
    transition: color .2s;
}
.theprint-footer .footer-bottom-links a:first-child { padding-left: 0; }
.theprint-footer .footer-bottom-links a:last-child { border-right: none; }
.theprint-footer .footer-bottom-links a:hover { color: #ffffff; }

/* DESKTOP — 1024px */
@media (max-width: 1100px) {
    .footer-theprint-grid {
        grid-template-columns: 260px 1fr;
        gap: 32px;
    }
    .footer-nav-columns { grid-template-columns: repeat(3, 1fr); gap: 20px; }
}

/* TABLET — 768px */
@media (max-width: 768px) {
    .footer-theprint-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    .footer-nav-columns {
        grid-template-columns: 1fr 1fr;
        gap: 20px;
    }
    .theprint-footer .footer-body { padding: 32px 0 28px; }
    .theprint-footer .footer-logo img,
    .theprint-footer .footer-logo .custom-logo { max-width: 160px; }
    .footer-social-icon { width: 38px; height: 38px; font-size: 14px; }
    .theprint-footer .footer-bottom-inner { flex-direction: column; text-align: center; gap: 8px; }
    .theprint-footer .footer-bottom-links { justify-content: center; }
    .footer-brand-follow { margin-top: 14px; }
}

/* MOBILE — 480px */
@media (max-width: 480px) {
    .footer-nav-columns { grid-template-columns: 1fr; gap: 20px; }
    .theprint-footer .footer-social-row { gap: 6px; }
    .footer-social-icon { width: 36px; height: 36px; font-size: 13px; }
}

/* ============================================================
   SIDEBAR — ensure Trending + Tabs are independent stacking sections
   ============================================================ */
.trending-section {
    background: var(--color-surface, #f5f5f5);
    border-radius: var(--radius, 6px);
    overflow: hidden;
    margin-bottom: 24px;
    box-shadow: 0 1px 4px rgba(0,0,0,.06);
}
.sidebar-tabs-widget {
    margin-bottom: 24px;
}

/* ============================================================
   TICKER — PREMIUM DESIGN TEMPLATES (structural, not just color)
   ============================================================ */

/* Template: Breaking Wire (LED style) */
.ticker-tpl-breaking-wire .breaking-ticker {
    border-top: 2px solid rgba(255,255,255,.15);
    border-bottom: 2px solid rgba(255,255,255,.15);
    letter-spacing: 0.3px;
}
.ticker-tpl-breaking-wire .ticker-label {
    font-family: var(--font-heading);
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 10px;
    font-weight: 900;
    border-right: 2px solid rgba(255,255,255,.25);
}
.ticker-tpl-breaking-wire .ticker-pulse {
    animation: pulse-blink 1s infinite;
}
@keyframes pulse-blink {
    0%, 100% { opacity: 1; }
    50% { opacity: 0; }
}

/* Template: Newspaper (serif, elegant) */
.ticker-tpl-newspaper .breaking-ticker {
    font-family: Georgia, 'Times New Roman', serif;
    border-top: 3px double rgba(0,0,0,.3);
    border-bottom: 3px double rgba(0,0,0,.3);
}
.ticker-tpl-newspaper .ticker-label {
    font-family: Georgia, serif;
    font-style: italic;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 0.5px;
}
.ticker-tpl-newspaper .ticker-item a {
    font-family: Georgia, serif;
    font-style: italic;
}
.ticker-tpl-newspaper .ticker-sep {
    font-family: Georgia, serif;
    font-size: 16px;
    opacity: 0.5;
}

/* Template: Gradient (premium gradient bar) */
.ticker-tpl-gradient .breaking-ticker {
    background: linear-gradient(90deg, #cc0000 0%, #ff4444 100%) !important;
    box-shadow: 0 3px 12px rgba(204,0,0,.4);
}
.ticker-tpl-gradient .ticker-label {
    background: rgba(0,0,0,.35) !important;
    backdrop-filter: blur(4px);
}

/* Template: Modern Dark (sleek newsroom style) */
.ticker-tpl-modern-dark .breaking-ticker {
    background: #0d0d0d !important;
    border-left: 4px solid var(--color-primary);
}
.ticker-tpl-modern-dark .ticker-label {
    background: var(--color-primary) !important;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 10px;
}
.ticker-tpl-modern-dark .ticker-item a {
    font-weight: 600;
    letter-spacing: 0.2px;
}

/* Template: Bold Ribbon (big, high-impact) */
.ticker-tpl-bold-ribbon .breaking-ticker {
    box-shadow: 0 4px 16px rgba(0,0,0,.25);
}
.ticker-tpl-bold-ribbon .ticker-label {
    padding: 0 20px;
    clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 50%, calc(100% - 12px) 100%, 0 100%);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}
.ticker-tpl-bold-ribbon .ticker-label::after { display: none; }
.ticker-tpl-bold-ribbon .ticker-track { padding-left: 16px; }

/* Template: Ticker Tape (classic Wall Street look) */
.ticker-tpl-ticker-tape .breaking-ticker {
    font-family: 'Courier New', monospace;
    border-top: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
}
.ticker-tpl-ticker-tape .ticker-item a {
    font-family: 'Courier New', monospace;
    font-weight: 700;
    letter-spacing: 0.5px;
}
.ticker-tpl-ticker-tape .ticker-sep {
    font-family: 'Courier New', monospace;
    font-size: 18px;
    opacity: 0.6;
}

/* Template: Stitched border (magazine feel) */
.ticker-tpl-stitched .breaking-ticker {
    outline: 3px solid transparent;
    box-shadow: 0 0 0 1px rgba(255,255,255,.4), inset 0 0 0 1px rgba(255,255,255,.1);
}
.ticker-tpl-stitched .ticker-label {
    border-right: 2px dashed rgba(255,255,255,.3);
}

/* Template: Live dot pulse (TV broadcast feel) */
.ticker-tpl-live .ticker-pulse {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    display: inline-block;
    margin-right: 6px;
    animation: live-pulse 1.4s ease-in-out infinite;
    box-shadow: 0 0 0 0 currentColor;
}
@keyframes live-pulse {
    0%   { box-shadow: 0 0 0 0 rgba(255,255,255,.6); }
    70%  { box-shadow: 0 0 0 6px rgba(255,255,255,0); }
    100% { box-shadow: 0 0 0 0 rgba(255,255,255,0); }
}

