/*
Theme Name: MarktngWave
Theme URI: https://marktngwave.com/
Author: MarktngWave Team
Author URI: https://marktngwave.com/
Description: MarktngWave is a lightning-fast, SEO-ready, plug-and-play news / magazine / blog theme. Works out of the box for news portals, blogs, magazines, business and WooCommerce shops. Built-in breaking-news ticker, hero slider, post carousels, trending tabs, scroll animations, reading progress, dark mode, ad slots, schema markup and one-click demo content. No page builder required. No jQuery.
Version: 1.0.2
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: marktngwave
Tags: news, blog, magazine, entertainment, grid-layout, one-column, two-columns, right-sidebar, left-sidebar, custom-logo, custom-menu, featured-images, footer-widgets, threaded-comments, sticky-post, translation-ready, e-commerce, wide-blocks
*/

/* ============================================================
   1. TOKENS + RESET + BASE
   ============================================================ */
:root{
  --mw-primary:#e11d2e;
  --mw-primary-dark:#b31220;
  --mw-navy:#1a2350;
  --mw-navy-2:#232f6b;
  --mw-ink:#14161c;
  --mw-muted:#6b7280;
  --mw-bg:#f3f4f7;
  --mw-card:#ffffff;
  --mw-border:#e8eaf0;
  --mw-header-bg:#ffffff;
  --mw-footer-bg:#10142e;
  --mw-footer-ink:#c9cde3;
  --mw-radius:10px;
  --mw-shadow:0 10px 30px rgba(16,20,46,.08);
  --mw-shadow-lg:0 24px 60px rgba(16,20,46,.16);
  --mw-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Inter,"Helvetica Neue",Arial,"Noto Sans",sans-serif;
  --mw-max:1240px;
  --mw-head-h:64px;
}
[data-theme="dark"]{
  --mw-ink:#eef0f7;
  --mw-muted:#a3a9c2;
  --mw-bg:#0e1122;
  --mw-card:#171b33;
  --mw-border:#262c4d;
  --mw-header-bg:#131739;
  --mw-shadow:0 10px 30px rgba(0,0,0,.35);
  --mw-shadow-lg:0 24px 60px rgba(0,0,0,.5);
}
*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--mw-font);
  background:var(--mw-bg);
  color:var(--mw-ink);
  font-size:16px;line-height:1.65;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--mw-navy-2);text-decoration:none}
[data-theme="dark"] a{color:#9fb0ff}
a:hover{color:var(--mw-primary)}
h1,h2,h3,h4,h5,h6{line-height:1.25;font-weight:800;letter-spacing:-.01em}
p{margin:0 0 1em}
ul,ol{margin:0 0 1em 1.2em}
li::marker{color:var(--mw-primary)}
blockquote{border-left:4px solid var(--mw-primary);background:var(--mw-card);padding:1em 1.2em;margin:1.2em 0;border-radius:0 var(--mw-radius) var(--mw-radius) 0;box-shadow:var(--mw-shadow)}
code,kbd,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
pre{background:#0f1330;color:#e8ecff;padding:1em;border-radius:8px;overflow:auto;margin-bottom:1.2em}
table{width:100%;border-collapse:collapse;margin-bottom:1.4em;background:var(--mw-card)}
th,td{border:1px solid var(--mw-border);padding:.6em .8em;text-align:left}
th{background:var(--mw-navy);color:#fff}
input,select,textarea,button{font:inherit;color:inherit}
input[type="text"],input[type="email"],input[type="search"],input[type="url"],select,textarea{
  width:100%;background:var(--mw-card);border:1.5px solid var(--mw-border);
  border-radius:8px;padding:.65em .9em;outline:none;transition:border-color .2s,box-shadow .2s;
}
input:focus,select:focus,textarea:focus{border-color:var(--mw-primary);box-shadow:0 0 0 3px rgba(225,29,46,.12)}
button,.button,input[type="submit"]{cursor:pointer}
::selection{background:var(--mw-primary);color:#fff}

/* ---------- utilities ---------- */
.mw-container{max-width:var(--mw-max);margin:0 auto;padding:0 16px}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--mw-primary);color:#fff!important;padding:.7em 1.2em;z-index:9999;border-radius:0 0 8px 0;font-weight:700}
.skip-link:focus{left:0}
.btn{display:inline-flex;align-items:center;gap:.5em;background:var(--mw-primary);color:#fff!important;border:0;border-radius:8px;padding:.68em 1.4em;font-weight:700;position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s,background .2s}
.btn:hover{background:var(--mw-primary-dark);transform:translateY(-2px);box-shadow:var(--mw-shadow-lg)}
.btn::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-20deg);transition:left .5s}
.btn:hover::after{left:120%}
.btn-ghost{background:transparent;color:var(--mw-ink)!important;border:1.5px solid var(--mw-border)}
.btn-ghost:hover{border-color:var(--mw-primary);color:var(--mw-primary)!important;box-shadow:none}
.btn-sm{padding:.4em 1em;font-size:.85em}
.cat-badge{display:inline-block;background:var(--mw-primary);color:#fff!important;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:.32em .8em;border-radius:5px;line-height:1.5;transition:transform .2s,background .2s}
a.cat-badge:hover{background:var(--mw-navy);transform:translateY(-1px)}
.entry-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.4em .9em;color:var(--mw-muted);font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.entry-meta a{color:inherit}
.entry-meta a:hover{color:var(--mw-primary)}
.entry-meta svg{width:13px;height:13px;fill:currentColor;vertical-align:-2px;margin-right:3px}

/* gradient placeholder thumbs (plug & play with zero images) */
.mw-ph{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(135deg,#232f6b 0%,#4a3aff 45%,#e11d2e 100%);color:#fff;font-weight:900;font-size:2.2rem;letter-spacing:.02em}
.mw-ph::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 15%,rgba(255,255,255,.35),transparent 45%),radial-gradient(circle at 85% 90%,rgba(0,0,0,.35),transparent 50%)}
.mw-ph span{position:relative;text-shadow:0 4px 18px rgba(0,0,0,.35)}
.mw-ph.hue-1{background:linear-gradient(135deg,#0f2027,#203a43 55%,#2c5364)}
.mw-ph.hue-2{background:linear-gradient(135deg,#561050,#8e2a5b 55%,#e11d2e)}
.mw-ph.hue-3{background:linear-gradient(135deg,#134e5e,#2b8a6d 60%,#a8e063)}
.mw-ph.hue-4{background:linear-gradient(135deg,#232f6b,#7b2ff7 55%,#f107a3)}
.mw-ph.hue-5{background:linear-gradient(135deg,#f7971e,#ffd200 60%,#f44336)}
.mw-ph.hue-6{background:linear-gradient(135deg,#141e30,#35577d 60%,#e11d2e)}

/* image shimmer while lazy-loading */
.mw-media{position:relative;overflow:hidden;background:var(--mw-border)}
.mw-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1),opacity .4s}
.mw-media img[loading="lazy"]{background:linear-gradient(90deg,var(--mw-border) 25%,rgba(255,255,255,.35) 50%,var(--mw-border) 75%);background-size:200% 100%;animation:mwShimmer 1.4s infinite}
@keyframes mwShimmer{to{background-position:-200% 0}}

/* reading progress + back to top */
.reading-progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--mw-primary),#ff7a45);z-index:10001}
.back-to-top{position:fixed;right:18px;bottom:18px;width:46px;height:46px;border-radius:50%;background:var(--mw-navy);color:#fff;border:0;display:flex;align-items:center;justify-content:center;box-shadow:var(--mw-shadow-lg);opacity:0;visibility:hidden;transform:translateY(14px);transition:.3s;z-index:9000}
.back-to-top.show{opacity:1;visibility:visible;transform:none}
.back-to-top:hover{background:var(--mw-primary)}
.back-to-top svg{width:20px;height:20px;fill:#fff}

/* ============================================================
   2. TOPBAR + HEADER + NAV
   ============================================================ */
.topbar{background:var(--mw-footer-bg);color:var(--mw-footer-ink);font-size:.8rem}
.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:1em;min-height:38px}
.topbar .date{font-weight:600}
.topbar-right{display:flex;align-items:center;gap:.9em}
.topbar a{color:var(--mw-footer-ink)}
.topbar a:hover{color:#fff}
.social-icons{display:flex;gap:.45em}
.social-icons a{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.1);transition:.25s}
.social-icons a:hover{background:var(--mw-primary);transform:translateY(-2px)}
.social-icons svg{width:14px;height:14px;fill:#fff}
.theme-toggle{background:rgba(255,255,255,.1);border:0;color:#fff;border-radius:20px;padding:.25em .8em;font-size:.78rem;font-weight:700;display:inline-flex;gap:.4em;align-items:center;transition:.25s}
.theme-toggle:hover{background:var(--mw-primary)}

.site-header{background:var(--mw-header-bg);border-bottom:1px solid var(--mw-border)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5em;padding:18px 0}
.site-branding{display:flex;align-items:center;gap:.8em;min-width:0}
.site-logo img{max-height:56px;width:auto}
.site-title{font-size:1.7rem;font-weight:900;line-height:1.1}
.site-title a{color:var(--mw-ink)}
.site-title .wave{color:var(--mw-primary)}
.site-tagline{font-size:.8rem;color:var(--mw-muted);font-weight:600}
.header-ad{flex:0 1 728px;max-width:728px;text-align:center}
.ad-label{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mw-muted);margin-bottom:4px}
.header-ad img{border-radius:6px;margin:0 auto}
.header-ad .ad-slot{display:flex;align-items:center;justify-content:center;min-height:90px;border:2px dashed var(--mw-border);border-radius:8px;color:var(--mw-muted);font-weight:700;background:repeating-linear-gradient(45deg,transparent,transparent 12px,rgba(0,0,0,.025) 12px,rgba(0,0,0,.025) 24px)}

/* main nav */
.main-nav{background:linear-gradient(180deg,var(--mw-navy-2),var(--mw-navy));position:sticky;top:0;z-index:8000;box-shadow:0 6px 20px rgba(10,14,40,.25)}
.main-nav.stuck{box-shadow:0 10px 30px rgba(10,14,40,.4)}
.nav-inner{display:flex;align-items:center;gap:.5em}
.nav-toggle{display:none;background:var(--mw-primary);border:0;color:#fff;border-radius:8px;padding:.5em .7em;font-weight:800}
ul.menu,ul.menu ul{list-style:none;margin:0;padding:0}
ul.menu{display:flex;align-items:stretch;flex-wrap:wrap}
ul.menu>li{position:relative}
ul.menu>li>a{display:block;color:#fff!important;font-weight:800;font-size:.85rem;letter-spacing:.05em;text-transform:uppercase;padding:1.05em 1.15em;position:relative;transition:.2s}
ul.menu>li>a::after{content:"";position:absolute;left:1.15em;right:1.15em;bottom:.6em;height:2px;background:#fff;transform:scaleX(0);transform-origin:left;transition:transform .25s}
ul.menu>li:hover>a::after,ul.menu>li.current-menu-item>a::after{transform:scaleX(1)}
ul.menu>li.current-menu-item>a,ul.menu>li.current-menu-ancestor>a{background:var(--mw-primary)}
ul.menu>li:hover>a{background:rgba(255,255,255,.08)}
ul.menu>li.current-menu-item:hover>a{background:var(--mw-primary)}
.menu-item-has-children>a .caret{display:inline-block;margin-left:5px;font-size:.7em;transition:transform .25s}
.menu-item-has-children:hover>a .caret{transform:rotate(180deg)}
ul.menu ul{position:absolute;top:100%;left:0;min-width:220px;background:var(--mw-card);border-radius:0 0 10px 10px;box-shadow:var(--mw-shadow-lg);opacity:0;visibility:hidden;transform:translateY(10px);transition:.25s;padding:.5em;z-index:50}
ul.menu li:hover>ul,ul.menu li.focus>ul{opacity:1;visibility:visible;transform:none}
ul.menu ul a{display:block;color:var(--mw-ink)!important;padding:.6em .9em;border-radius:6px;font-size:.88rem;font-weight:600}
ul.menu ul a:hover{background:rgba(225,29,46,.08);color:var(--mw-primary)!important;padding-left:1.2em}
ul.menu ul ul{left:100%;top:0;border-radius:10px}
.nav-spend{flex:1}
.nav-actions{display:flex;align-items:center;gap:.6em;margin-left:auto;padding:.4em 0}
.search-toggle{background:rgba(255,255,255,.12);border:0;width:38px;height:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;transition:.25s}
.search-toggle:hover{background:var(--mw-primary);transform:rotate(12deg) scale(1.05)}
.search-toggle svg{width:17px;height:17px;fill:#fff}
.signin-btn{background:var(--mw-primary);color:#fff!important;font-weight:800;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;padding:.6em 1.2em;border-radius:30px;transition:.25s;white-space:nowrap}
.signin-btn:hover{background:#fff!important;color:var(--mw-primary)!important;transform:translateY(-2px)}

/* search overlay */
.search-overlay{position:fixed;inset:0;background:rgba(10,14,40,.92);backdrop-filter:blur(6px);z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;transition:.3s}
.search-overlay.open{opacity:1;visibility:visible}
.search-overlay form{width:min(640px,100%);transform:scale(.92) translateY(10px);transition:.35s cubic-bezier(.2,.9,.3,1.2)}
.search-overlay.open form{transform:none}
.search-overlay input[type="search"]{background:#fff;border:0;border-radius:14px;font-size:1.2rem;padding:.9em 1.2em;color:#111}
.search-overlay .search-submit{margin-top:1em;width:100%;border:0;background:var(--mw-primary);color:#fff;font-weight:800;padding:.85em;border-radius:12px;font-size:1rem}
.search-close{position:absolute;top:24px;right:28px;background:transparent;border:2px solid rgba(255,255,255,.4);color:#fff;width:46px;height:46px;border-radius:50%;font-size:1.2rem;transition:.25s}
.search-close:hover{border-color:#fff;transform:rotate(90deg)}

/* ============================================================
   3. TOP TAGS + BREAKING TICKER
   ============================================================ */
.tags-bar{background:var(--mw-card);border-bottom:1px solid var(--mw-border)}
.tags-inner{display:flex;align-items:center;gap:.7em;padding:.65em 16px;flex-wrap:wrap}
.tags-label{font-weight:900;font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;display:inline-flex;align-items:center;gap:.4em}
.tags-label::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--mw-primary);box-shadow:0 0 0 4px rgba(225,29,46,.15);animation:mwPulse 1.8s infinite}
@keyframes mwPulse{50%{box-shadow:0 0 0 8px rgba(225,29,46,0)}}
.tag-pill{background:var(--mw-bg);border:1px solid var(--mw-border);color:var(--mw-ink)!important;font-size:.78rem;font-weight:700;padding:.28em .9em;border-radius:30px;transition:.2s}
.tag-pill:hover{background:var(--mw-navy);border-color:var(--mw-navy);color:#fff!important;transform:translateY(-2px)}

.ticker{background:var(--mw-card);border-bottom:1px solid var(--mw-border);display:flex;align-items:stretch;overflow:hidden}
.ticker-label{background:var(--mw-primary);color:#fff;font-weight:900;text-transform:uppercase;letter-spacing:.04em;font-size:.85rem;display:flex;align-items:center;gap:.5em;padding:.7em 1.2em;position:relative;flex-shrink:0}
.ticker-label::after{content:"";position:absolute;right:-14px;top:0;border-left:14px solid var(--mw-primary);border-top:28px solid transparent;border-bottom:28px solid transparent}
.ticker-dot{width:9px;height:9px;border-radius:50%;background:#fff;animation:mwBlink 1s infinite}
@keyframes mwBlink{50%{opacity:.25}}
.ticker-viewport{flex:1;overflow:hidden;position:relative;display:flex;align-items:center;-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.ticker-track{display:flex;gap:2.6em;white-space:nowrap;padding-left:1.5em;will-change:transform;animation:mwTicker var(--mw-ticker-speed,45s) linear infinite}
.ticker-viewport:hover .ticker-track{animation-play-state:paused}
@keyframes mwTicker{to{transform:translateX(-50%)}}
.ticker-item{font-weight:700;font-size:.88rem;display:inline-flex;align-items:center;gap:.5em}
.ticker-item a{color:var(--mw-ink)}
.ticker-item a:hover{color:var(--mw-primary)}
.ticker-item::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--mw-primary);flex-shrink:0}

/* ============================================================
   4. HERO GRID (slider + side cards + tabs)
   ============================================================ */
.hero-section{padding:22px 0 6px}
.hero-grid{display:grid;grid-template-columns:1.65fr 1fr 1fr;gap:18px;align-items:stretch}

/* hero slider */
.hero-slider{position:relative;border-radius:var(--mw-radius);overflow:hidden;box-shadow:var(--mw-shadow-lg);min-height:460px;background:#0c0f26}
.hero-slides{position:relative;height:100%;min-height:460px}
.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .7s ease,visibility .7s}
.hero-slide.active{opacity:1;visibility:visible;z-index:2}
.hero-slide .mw-media,.hero-slide .mw-ph{position:absolute;inset:0;height:100%}
.hero-slide img{animation:mwKenburns 8s ease-out forwards}
.hero-slide.active img{animation:mwKenburns 8s ease-out forwards}
@keyframes mwKenburns{from{transform:scale(1.12)}to{transform:scale(1)}}
.hero-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,8,25,.05) 30%,rgba(5,8,25,.55) 62%,rgba(5,8,25,.92));z-index:1}
.hero-content{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:26px;color:#fff}
.hero-slide .cat-badge{margin-bottom:.7em;box-shadow:0 6px 18px rgba(0,0,0,.35)}
.hero-title{font-size:1.75rem;line-height:1.18;margin:.35em 0 .5em;text-shadow:0 3px 14px rgba(0,0,0,.5)}
.hero-title a{color:#fff}
.hero-title a:hover{color:#ffd7db}
.hero-content .entry-meta{color:rgba(255,255,255,.85)}
.hero-content .entry-meta a{color:#fff}
.hero-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:42px;height:42px;border:0;border-radius:8px;background:rgba(255,255,255,.92);color:var(--mw-navy);font-size:1.1rem;font-weight:900;transition:.25s;display:flex;align-items:center;justify-content:center}
.hero-arrow:hover{background:var(--mw-primary);color:#fff;transform:translateY(-50%) scale(1.08)}
.hero-prev{left:14px}.hero-next{right:14px;background:var(--mw-primary);color:#fff}
.hero-dots{position:absolute;bottom:14px;right:18px;z-index:5;display:flex;gap:.4em}
.hero-dots button{width:10px;height:10px;border-radius:50%;border:0;background:rgba(255,255,255,.45);transition:.25s;padding:0}
.hero-dots button.active{background:#fff;width:26px;border-radius:6px}

/* hero middle column */
.hero-side{display:flex;flex-direction:column;gap:18px}
.mini-card{background:var(--mw-card);border-radius:var(--mw-radius);overflow:hidden;box-shadow:var(--mw-shadow);flex:1;display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s}
.mini-card:hover{transform:translateY(-5px);box-shadow:var(--mw-shadow-lg)}
.mini-card .mw-media{aspect-ratio:16/9}
.mini-card:hover .mw-media img{transform:scale(1.07)}
.mini-card .cat-badge{position:absolute;top:10px;left:10px;z-index:2}
.mini-body{padding:14px 16px 16px}
.mini-title{font-size:1.02rem;line-height:1.35;margin:.4em 0 .5em}
.mini-title a{color:var(--mw-ink)}
.mini-title a:hover{color:var(--mw-primary)}

/* hero tabs column */
.hero-tabs{background:var(--mw-card);border-radius:var(--mw-radius);box-shadow:var(--mw-shadow);display:flex;flex-direction:column;overflow:hidden;min-height:100%}
.tab-btns{display:flex;border-bottom:2px solid var(--mw-border)}
.tab-btn{flex:1;background:none;border:0;padding:.85em .3em;font-weight:800;font-size:.82rem;color:var(--mw-muted);display:flex;align-items:center;justify-content:center;gap:.4em;transition:.2s;border-bottom:3px solid transparent;margin-bottom:-2px}
.tab-btn svg{width:15px;height:15px;fill:currentColor}
.tab-btn:hover{color:var(--mw-primary)}
.tab-btn.active{color:var(--mw-primary);border-bottom-color:var(--mw-primary)}
.tab-panels{flex:1;position:relative}
.tab-panel{display:none;padding:12px;animation:mwFadeUp .4s ease}
.tab-panel.active{display:block}
@keyframes mwFadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.tab-item{display:flex;gap:12px;padding:10px;border-radius:8px;transition:.2s;align-items:flex-start}
.tab-item:hover{background:var(--mw-bg);transform:translateX(4px)}
.tab-item .mw-media{width:86px;height:74px;border-radius:7px;flex-shrink:0;font-size:1.2rem}
.tab-item .cat-badge{font-size:.62rem;margin-bottom:4px}
.tab-item h4{font-size:.86rem;line-height:1.35}
.tab-item h4 a{color:var(--mw-ink)}
.tab-item h4 a:hover{color:var(--mw-primary)}
.tab-item + .tab-item{border-top:1px dashed var(--mw-border)}

/* ============================================================
   5. SECTIONS + POST CARDS + GRIDS
   ============================================================ */
.section{padding:26px 0 4px}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:1em;margin-bottom:18px;border-bottom:3px solid var(--mw-border);padding-bottom:10px;position:relative}
.section-head::after{content:"";position:absolute;left:0;bottom:-3px;width:120px;height:3px;background:var(--mw-primary);border-radius:3px}
.section-title{font-size:1.3rem;text-transform:uppercase;letter-spacing:.02em;display:flex;align-items:center;gap:.5em}
.section-title::before{content:"";width:12px;height:22px;background:var(--mw-primary);border-radius:3px;display:inline-block;transform:skewX(-12deg)}
.view-all{font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--mw-muted)!important;display:inline-flex;align-items:center;gap:.3em}
.view-all:hover{color:var(--mw-primary)!important;gap:.6em}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.post-card{background:var(--mw-card);border-radius:var(--mw-radius);overflow:hidden;box-shadow:var(--mw-shadow);display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s;height:100%}
.post-card:hover{transform:translateY(-6px);box-shadow:var(--mw-shadow-lg)}
.post-card .mw-media{aspect-ratio:16/10}
.post-card:hover .mw-media img{transform:scale(1.08) rotate(.3deg)}
.post-card .cat-badge{position:absolute;top:10px;left:10px;z-index:2}
.card-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:.5em;flex:1}
.card-title{font-size:1.05rem;line-height:1.4}
.card-title a{color:var(--mw-ink)}
.card-title a:hover{color:var(--mw-primary)}
.card-excerpt{color:var(--mw-muted);font-size:.9rem;flex:1}
.read-more{font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--mw-primary)!important}
.sticky-ribbon{position:absolute;top:12px;right:-32px;transform:rotate(45deg);background:var(--mw-primary);color:#fff;font-size:.68rem;font-weight:800;padding:.3em 2.6em;z-index:3;letter-spacing:.1em;text-transform:uppercase}

/* list cards (main column) */
.list-card{display:flex;gap:18px;background:var(--mw-card);border-radius:var(--mw-radius);overflow:hidden;box-shadow:var(--mw-shadow);padding:14px;transition:.3s}
.list-card:hover{transform:translateX(5px);box-shadow:var(--mw-shadow-lg)}
.list-card .mw-media{width:280px;min-height:180px;border-radius:8px;flex-shrink:0}
.list-card:hover .mw-media img{transform:scale(1.06)}
.list-body{flex:1;display:flex;flex-direction:column;gap:.5em;justify-content:center}
.list-title{font-size:1.2rem}
.list-title a{color:var(--mw-ink)}
.list-title a:hover{color:var(--mw-primary)}

/* carousel */
.carousel-wrap{position:relative}
.carousel{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:6px 2px 16px;scrollbar-width:thin}
.carousel::-webkit-scrollbar{height:8px}
.carousel::-webkit-scrollbar-thumb{background:var(--mw-primary);border-radius:8px}
.carousel .post-card{min-width:300px;max-width:300px;scroll-snap-align:start}
.carousel-btn{position:absolute;top:38%;width:44px;height:44px;border-radius:50%;border:0;background:var(--mw-card);box-shadow:var(--mw-shadow-lg);color:var(--mw-ink);font-size:1.2rem;font-weight:900;z-index:5;transition:.25s}
.carousel-btn:hover{background:var(--mw-primary);color:#fff;transform:scale(1.1)}
.carousel-prev{left:-12px}.carousel-next{right:-12px}

/* main layout + sidebar */
.layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:26px;padding:26px 0 40px;align-items:start}
.layout.sidebar-left{grid-template-columns:330px minmax(0,1fr)}
.layout.sidebar-left .content-area{order:2}
.layout.no-sidebar{grid-template-columns:minmax(0,1fr)}
.stack{display:flex;flex-direction:column;gap:18px}

/* ============================================================
   6. SINGLE POST / PAGE
   ============================================================ */
.breadcrumbs{background:var(--mw-card);border:1px solid var(--mw-border);border-radius:8px;padding:.6em 1em;font-size:.82rem;font-weight:600;color:var(--mw-muted);margin-bottom:18px}
.breadcrumbs a{color:var(--mw-navy-2)}
[data-theme="dark"] .breadcrumbs a{color:#9fb0ff}
.breadcrumbs a:hover{color:var(--mw-primary)}
.breadcrumbs .sep{margin:0 .5em;color:var(--mw-primary)}
.article-card{background:var(--mw-card);border-radius:var(--mw-radius);box-shadow:var(--mw-shadow);overflow:hidden}
.article-head{padding:28px 30px 0}
.article-title{font-size:2rem;margin:.4em 0 .5em;line-height:1.2}
.article-meta{display:flex;flex-wrap:wrap;gap:.6em 1.2em;align-items:center;color:var(--mw-muted);font-size:.82rem;font-weight:600;border-top:1px solid var(--mw-border);border-bottom:1px solid var(--mw-border);padding:.8em 0;margin:1em 0}
.article-meta .author-ava{width:34px;height:34px;border-radius:50%;object-fit:cover}
.article-thumb{margin:0}
.article-thumb .mw-media{aspect-ratio:16/8}
.article-body{padding:26px 30px;font-size:1.05rem;line-height:1.8}
.article-body img{border-radius:8px}
.article-body h2{font-size:1.5rem;margin:1.2em 0 .5em}
.article-body h3{font-size:1.25rem;margin:1.1em 0 .5em}
.article-body a{color:var(--mw-primary);text-decoration:underline;text-underline-offset:3px}
.article-body iframe{max-width:100%;border-radius:8px}
.post-tags{display:flex;flex-wrap:wrap;gap:.5em;padding:0 30px 20px}
.share-row{display:flex;align-items:center;justify-content:space-between;gap:1em;flex-wrap:wrap;padding:16px 30px;border-top:1px dashed var(--mw-border)}
.share-btns{display:flex;gap:.5em}
.share-btns a{width:38px;height:38px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:#fff!important;transition:.25s}
.share-btns a:hover{transform:translateY(-3px) scale(1.05)}
.share-btns svg{width:16px;height:16px;fill:#fff}
.share-x{background:#000}.share-fb{background:#1877f2}.share-wa{background:#25d366}.share-tg{background:#229ed9}.share-li{background:#0a66c2}.share-copy{background:var(--mw-navy)}
.author-box{display:flex;gap:18px;background:var(--mw-bg);border:1px solid var(--mw-border);border-radius:var(--mw-radius);padding:22px;margin:22px}
.author-box img{width:90px;height:90px;border-radius:50%;flex-shrink:0;object-fit:cover;border:3px solid var(--mw-primary)}
.author-box h4{font-size:1.05rem;margin-bottom:.3em}
.author-box p{color:var(--mw-muted);font-size:.92rem;margin:0}
.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:22px}
.post-nav a{background:var(--mw-bg);border:1px solid var(--mw-border);border-radius:8px;padding:14px 16px;display:block;transition:.25s}
.post-nav a:hover{border-color:var(--mw-primary);transform:translateY(-3px)}
.post-nav span{display:block;font-size:.72rem;font-weight:800;text-transform:uppercase;color:var(--mw-primary);letter-spacing:.06em}
.post-nav strong{color:var(--mw-ink);font-size:.95rem}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0 22px 26px}
.inline-ad{margin:1.5em 22px;text-align:center}

/* archive header */
.archive-head{background:var(--mw-card);border-radius:var(--mw-radius);box-shadow:var(--mw-shadow);padding:26px 28px;margin-bottom:20px;border-left:5px solid var(--mw-primary)}
.archive-head h1{font-size:1.7rem}
.archive-head p{color:var(--mw-muted);margin:.4em 0 0}
.archive-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}

/* pagination */
.pagination{display:flex;gap:.5em;justify-content:center;margin:30px 0 10px;flex-wrap:wrap}
.pagination .page-numbers{min-width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;background:var(--mw-card);border:1px solid var(--mw-border);border-radius:9px;font-weight:800;color:var(--mw-ink)!important;transition:.2s;padding:0 .7em}
.pagination .page-numbers:hover{border-color:var(--mw-primary);color:var(--mw-primary)!important;transform:translateY(-2px)}
.pagination .current{background:var(--mw-primary);border-color:var(--mw-primary);color:#fff!important;box-shadow:0 8px 20px rgba(225,29,46,.35)}

/* comments */
.comments-area{background:var(--mw-card);border-radius:var(--mw-radius);box-shadow:var(--mw-shadow);padding:26px 28px;margin-top:22px}
.comments-title{font-size:1.25rem;margin-bottom:1em}
.comment-list{list-style:none;margin:0}
.comment-list .children{list-style:none;margin-left:2em}
.comment-body{border:1px solid var(--mw-border);border-radius:10px;padding:16px;margin-bottom:14px;transition:.2s}
.comment-body:hover{border-color:var(--mw-primary)}
.comment-author img{border-radius:50%;margin-right:.6em}
.comment-meta{font-size:.78rem;color:var(--mw-muted);margin:.3em 0 .6em}
.comment-reply-link{font-size:.78rem;font-weight:800;text-transform:uppercase;color:var(--mw-primary)!important}
.comment-respond textarea{margin-bottom:.8em}
.form-submit .submit{background:var(--mw-primary);color:#fff;border:0;border-radius:8px;padding:.7em 1.6em;font-weight:800}
.form-submit .submit:hover{background:var(--mw-primary-dark)}

/* 404 + search */
.error-404{text-align:center;background:var(--mw-card);border-radius:var(--mw-radius);box-shadow:var(--mw-shadow);padding:60px 30px}
.error-404 h1{font-size:5rem;color:var(--mw-primary);line-height:1}
.search-form{display:flex;gap:.5em}
.search-form input[type="search"]{flex:1}
.search-form .search-submit{background:var(--mw-primary);color:#fff;border:0;border-radius:8px;padding:.65em 1.4em;font-weight:800;white-space:nowrap}

/* ============================================================
   7. SIDEBAR + WIDGETS
   ============================================================ */
.sidebar{position:sticky;top:76px;display:flex;flex-direction:column;gap:20px;max-height:calc(100vh - 90px);overflow:auto;padding-bottom:6px;scrollbar-width:thin}
.widget{background:var(--mw-card);border-radius:var(--mw-radius);box-shadow:var(--mw-shadow);padding:20px;overflow:hidden}
.widget-title{font-size:1rem;text-transform:uppercase;letter-spacing:.03em;margin:-20px -20px 16px;padding:14px 20px;border-bottom:3px solid var(--mw-primary);display:flex;align-items:center;gap:.5em}
.widget-title::before{content:"";width:10px;height:18px;background:var(--mw-primary);border-radius:3px;transform:skewX(-12deg)}
.widget ul{list-style:none;margin:0}
.widget li{padding:.5em 0;border-bottom:1px dashed var(--mw-border)}
.widget li:last-child{border-bottom:0}
.widget a{color:var(--mw-ink);font-weight:600}
.widget a:hover{color:var(--mw-primary)}
.widget .post-count{float:right;background:var(--mw-bg);border-radius:20px;font-size:.72rem;padding:.1em .7em;color:var(--mw-muted)}
.widget .tab-item{padding:8px 4px}
.widget .tab-item .mw-media{width:72px;height:62px}
.newsletter-box{text-align:center}
.newsletter-box p{color:var(--mw-muted);font-size:.9rem}
.newsletter-box input[type="email"]{margin:.6em 0}
.newsletter-box button{width:100%;border:0;background:var(--mw-primary);color:#fff;font-weight:800;padding:.7em;border-radius:8px;transition:.2s}
.newsletter-box button:hover{background:var(--mw-primary-dark);transform:translateY(-2px)}
.widget-ad{text-align:center}
.widget-social .social-icons a{width:40px;height:40px;border-radius:10px}
.widget-social .social-icons svg{width:17px;height:17px}
.follow-row{display:flex;align-items:center;justify-content:space-between;background:var(--mw-bg);border-radius:8px;padding:.55em .9em;margin-bottom:.5em;font-weight:700;font-size:.85rem;transition:.2s}
.follow-row:hover{transform:translateX(4px)}
.follow-row svg{width:16px;height:16px}
.tagcloud{display:flex;flex-wrap:wrap;gap:.5em}
.tagcloud a{border:1px solid var(--mw-border);border-radius:6px;padding:.3em .8em;font-size:.8rem!important;font-weight:700}
.tagcloud a:hover{background:var(--mw-primary);border-color:var(--mw-primary);color:#fff!important}
.widget_calendar table{margin:0}
.widget_calendar td,.widget_calendar th{text-align:center;padding:.35em}

/* ============================================================
   8. FOOTER
   ============================================================ */
.site-footer{background:var(--mw-footer-bg);color:var(--mw-footer-ink);margin-top:40px}
.footer-top{height:4px;background:linear-gradient(90deg,var(--mw-primary),#ff7a45,var(--mw-navy-2),var(--mw-primary));background-size:300% 100%;animation:mwSlideBg 8s linear infinite}
@keyframes mwSlideBg{to{background-position:300% 0}}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:30px;padding:44px 0 30px}
.footer-grid h3{color:#fff;font-size:1rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1em;padding-bottom:.6em;border-bottom:2px solid rgba(255,255,255,.12);position:relative}
.footer-grid h3::after{content:"";position:absolute;left:0;bottom:-2px;width:46px;height:2px;background:var(--mw-primary)}
.footer-grid ul{list-style:none;margin:0}
.footer-grid li{padding:.35em 0}
.footer-grid a{color:var(--mw-footer-ink)}
.footer-grid a:hover{color:#fff;padding-left:5px}
.footer-about p{font-size:.9rem}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:16px 0;font-size:.82rem}
.footer-bottom .mw-container{display:flex;align-items:center;justify-content:space-between;gap:1em;flex-wrap:wrap}
.footer-menu{display:flex;gap:1.2em;list-style:none;margin:0}

/* ============================================================
   9. SCROLL ANIMATIONS (JS adds .in when visible)
   ============================================================ */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
.reveal-l{opacity:0;transform:translateX(-36px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
.reveal-r{opacity:0;transform:translateX(36px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
.reveal-z{opacity:0;transform:scale(.92);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
.reveal.in,.reveal-l.in,.reveal-r.in,.reveal-z.in{opacity:1;transform:none}
.hover-lift{transition:transform .3s,box-shadow .3s}
.hover-lift:hover{transform:translateY(-6px)}
.float-anim{animation:mwFloat 5s ease-in-out infinite}
@keyframes mwFloat{50%{transform:translateY(-8px)}}

/* ============================================================
   10. GUTENBERG / BLOCKS COMPAT
   ============================================================ */
.entry-content > *,.article-body > *{max-width:100%}
.alignwide{max-width:1100px;margin-left:auto;margin-right:auto}
.alignfull{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);max-width:100vw}
.wp-block-image img{border-radius:8px}
.wp-block-quote{border-left:4px solid var(--mw-primary)}
.wp-block-button__link{background:var(--mw-primary);border-radius:8px;font-weight:700}
.wp-block-table table{margin-bottom:1.4em}
.wp-block-pullquote{border-top:3px solid var(--mw-primary);border-bottom:3px solid var(--mw-primary)}

/* ============================================================
   11. WOOCOMMERCE COMPAT (basic, works out of the box)
   ============================================================ */
.woocommerce ul.products{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product{background:var(--mw-card);border-radius:var(--mw-radius);box-shadow:var(--mw-shadow);padding:12px;text-align:center}
.woocommerce ul.products li.product a img{border-radius:8px}
.woocommerce ul.products li.product .price{color:var(--mw-primary);font-weight:800}
.woocommerce span.onsale{background:var(--mw-primary)}
.woocommerce #respond input#submit,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{background:var(--mw-primary);color:#fff;border-radius:8px;font-weight:800}
.woocommerce #respond input#submit:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{background:var(--mw-primary-dark);color:#fff}
.woocommerce div.product{background:var(--mw-card);border-radius:var(--mw-radius);box-shadow:var(--mw-shadow);padding:24px}
.woocommerce .quantity .qty{width:4em}

/* ============================================================
   12. RESPONSIVE
   ============================================================ */
@media (max-width:1100px){
  .hero-grid{grid-template-columns:1.4fr 1fr}
  .hero-tabs{grid-column:1/-1}
  .tab-panels{display:grid;grid-template-columns:repeat(2,1fr)}
  .tab-panel.active{display:grid}
  .tab-panel{display:none}
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .layout{grid-template-columns:minmax(0,1fr) 300px}
  .header-ad{display:none}
}
@media (max-width:920px){
  .nav-toggle{display:inline-flex}
  ul.menu{display:none;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--mw-navy);max-height:70vh;overflow:auto;padding:.5em;box-shadow:var(--mw-shadow-lg)}
  .main-nav.menu-open ul.menu{display:flex}
  ul.menu>li>a{padding:.8em 1em;border-radius:6px}
  ul.menu ul{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;background:rgba(255,255,255,.06);margin:.3em 0 .6em;display:none}
  ul.menu li.sub-open>ul{display:block}
  ul.menu ul a{color:#fff!important}
  .hero-grid{grid-template-columns:1fr}
  .hero-slider,.hero-slides{min-height:380px}
  .hero-title{font-size:1.4rem}
  .layout,.layout.sidebar-left{grid-template-columns:1fr}
  .sidebar{position:static;max-height:none;overflow:visible}
  .grid-3,.archive-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
  .list-card .mw-media{width:220px}
  .article-title{font-size:1.6rem}
  .article-head,.article-body{padding-left:18px;padding-right:18px}
}
@media (max-width:620px){
  body{font-size:15px}
  .topbar .date{display:none}
  .grid-3,.grid-2,.grid-4,.archive-grid,.related-grid{grid-template-columns:1fr}
  .tab-panels{grid-template-columns:1fr}
  .list-card{flex-direction:column}
  .list-card .mw-media{width:100%;min-height:200px}
  .hero-slider,.hero-slides{min-height:340px}
  .hero-content{padding:18px}
  .hero-title{font-size:1.2rem}
  .carousel .post-card{min-width:78vw}
  .footer-grid{grid-template-columns:1fr}
  .post-nav{grid-template-columns:1fr}
  .header-inner{padding:14px 0}
  .site-title{font-size:1.4rem}
  .ticker-label{font-size:.72rem;padding:.7em .8em}
  .signin-btn{display:none}
}

/* dark-mode fine tuning */
[data-theme="dark"] .hero-arrow{background:rgba(255,255,255,.14);color:#fff}
[data-theme="dark"] pre{background:#000}
[data-theme="dark"] th{background:#000}
[data-theme="dark"] .mw-media img[loading="lazy"]{background:linear-gradient(90deg,#232946 25%,#313a5e 50%,#232946 75%);background-size:200% 100%}
[data-theme="dark"] .header-ad .ad-slot{background:repeating-linear-gradient(45deg,transparent,transparent 12px,rgba(255,255,255,.04) 12px,rgba(255,255,255,.04) 24px)}

/* reduced motion: disable ALL animation */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .reveal,.reveal-l,.reveal-r,.reveal-z{opacity:1;transform:none}
  .ticker-track{animation:none;flex-wrap:wrap;white-space:normal}
}
html.no-motion .ticker-track{animation:none}
html.no-motion .reveal,html.no-motion .reveal-l,html.no-motion .reveal-r,html.no-motion .reveal-z{opacity:1;transform:none}

/* print */
@media print{
  .topbar,.main-nav,.ticker,.tags-bar,.sidebar,.site-footer,.back-to-top,.share-row,.post-nav,.comments-area,.reading-progress,.hero-tabs,.search-overlay{display:none!important}
  body{background:#fff}
  .article-card,.layout{box-shadow:none}
}

/* ---------- fixes: positioned badges + click-through hero overlay ---------- */
.post-card,.mini-card{position:relative}
.hero-slide::after{pointer-events:none}
.main-nav{position:sticky}

/* ---------- footer column variants (CSS-driven so responsive still works) ---------- */
.footer-grid.fcols-2{grid-template-columns:1.4fr 1fr}
.footer-grid.fcols-3{grid-template-columns:1.3fr 1fr 1fr}
.topbar ul.menu{display:inline-flex;margin:0 0 0 1em;vertical-align:middle}
.topbar ul.menu>li>a{padding:.4em .7em;font-size:.76rem}
.topbar ul.menu>li>a::after{display:none}
@media (max-width:920px){
  .footer-grid.fcols-2,.footer-grid.fcols-3,.footer-grid.fcols-4{grid-template-columns:1fr 1fr}
  .topbar ul.menu{display:none}
}
@media (max-width:620px){
  .footer-grid.fcols-2,.footer-grid.fcols-3,.footer-grid.fcols-4{grid-template-columns:1fr}
}
