/*
Theme Name: AAGBAP
Theme URI: https://AAGBAP.COM
Author: AAGBAP.COM <3 AI
Description: AAGBAP theme — fast WordPress blog/news theme. Dark mode, boxed layout, SEO optimized, mobile-first, schema markup.
Version: 5.1.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: seo-vibe
Tags: blog, news, dark-mode, seo, mobile-first, fast, schema, boxed, sidebar
*/

/* ═══════════════════════════════════════════
   TOKENS
   ═══════════════════════════════════════════ */
:root {
  --a:  #FF6B35;
  --b:  #7C5CFC;
  --c:  #17C9A0;
  --d:  #FFD43B;
  --a2: #e0521c;

  /* Light mode */
  --bg:   #F0F2FA;
  --surf: #FFFFFF;
  --s2:   #F4F5FC;
  --s3:   #E8EAF6;
  --bd:   rgba(100,110,180,.22);
  --bdf:  rgba(100,110,180,.12);

  --tx:  #1A1C2E;
  --tx2: #3D406A;
  --txm: #717499;
  --txi: #FFF;

  /* Outer (boxed bg) */
  --outer: #C8CCE4;
  --outer-pat: rgba(90,100,170,.10);

  /* Fonts */
  --fd: 'Quicksand', sans-serif;
  --fb: 'Nunito', sans-serif;

  /* Space */
  --xs:.35rem; --sm:.7rem; --md:1.1rem; --lg:1.8rem; --xl:2.8rem;

  /* Box width — 1441px */
  --w: 1280px;
  --wn: 840px;
  --hh: 0px; /* updated by JS */

  /* Radius */
  --rs:6px; --rm:12px; --rl:18px; --rx:24px; --rp:999px;

  /* Shadow */
  --sh0:0 1px 3px rgba(26,28,46,.06);
  --sh1:0 2px 8px rgba(26,28,46,.09),0 1px 3px rgba(26,28,46,.05);
  --sh2:0 4px 20px rgba(26,28,46,.12),0 2px 6px rgba(26,28,46,.07);
  --sh3:0 10px 40px rgba(26,28,46,.16);
  --it: inset 0 1px 0 rgba(255,255,255,.85);

  /* Glow */
  --ga:0 0 22px rgba(255,107,53,.28);
  --gb:0 0 22px rgba(124,92,252,.28);

  --e: .2s cubic-bezier(.4,0,.2,1);
  --es:.35s cubic-bezier(.34,1.56,.64,1);
}

/* ── DARK ──────────────────────────────────── */
[data-theme="dark"] {
  --bg:   #1C1F2B;
  --surf: #242738;
  --s2:   #2B2F46;
  --s3:   #323658;
  --bd:   rgba(120,130,240,.24);
  --bdf:  rgba(120,130,240,.13);
  --tx:   #EAECFF;
  --tx2:  #B8BCDC;
  --txm:  #72769A;
  --txi:  #171923;
  --outer: #0E1018;
  --outer-pat: rgba(90,100,190,.10);
  --sh1:0 2px 8px rgba(0,0,0,.32);
  --sh2:0 4px 20px rgba(0,0,0,.44);
  --sh3:0 10px 40px rgba(0,0,0,.54);
  --it: inset 0 1px 0 rgba(255,255,255,.06);
  --ga:0 0 28px rgba(255,107,53,.35);
  --gb:0 0 28px rgba(124,92,252,.35);
}
@media(prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#1C1F2B;--surf:#242738;--s2:#2B2F46;--s3:#323658;
    --bd:rgba(120,130,240,.24);--bdf:rgba(120,130,240,.13);
    --tx:#EAECFF;--tx2:#B8BCDC;--txm:#72769A;--txi:#171923;
    --outer:#060710;--outer-pat:rgba(80,90,180,.12);
    --sh1:0 2px 8px rgba(0,0,0,.4);--sh2:0 4px 20px rgba(0,0,0,.55);
    --it:inset 0 1px 0 rgba(255,255,255,.04);
    --ga:0 0 28px rgba(255,107,53,.38);
  }
}

/* ═══════════════════════════════════════════
   KEYFRAMES
   ═══════════════════════════════════════════ */
@keyframes ticker {
  0%   { transform: translateX(100%); }
  100% { transform: translateX(-100%); }
}
@keyframes logoShine {
  0%   { top:-120%; opacity:0; }
  10%  { opacity:1; }
  70%  { opacity:.7; }
  100% { top:130%; opacity:0; }
}
@keyframes logoPulse {
  0%,100%{ box-shadow:0 0 0 0 rgba(255,107,53,0); }
  50%    { box-shadow:0 0 0 8px rgba(255,107,53,.15); }
}
@keyframes rainbow {
  0%  { background-position:0% 50%; }
  50% { background-position:100% 50%; }
  100%{ background-position:0% 50%; }
}
@keyframes fadeUp {
  from{ opacity:0; transform:translateY(20px); }
  to  { opacity:1; transform:translateY(0); }
}
@keyframes shimmer {
  0%  { left:-80%; }
  100%{ left:130%; }
}
@keyframes spin {
  to { transform:rotate(360deg); }
}

/* Scroll reveal */
.svr { opacity:0; transform:translateY(22px); transition:opacity .5s var(--e), transform .5s var(--e); }
.svr.on { opacity:1; transform:none; }
.d1{transition-delay:.07s} .d2{transition-delay:.14s} .d3{transition-delay:.21s}

/* ═══════════════════════════════════════════
   RESET & BASE
   ═══════════════════════════════════════════ */
*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html{ font-size:100%; scroll-behavior:smooth; -webkit-text-size-adjust:100%; }

body {
  font-family:var(--fb);
  font-size:clamp(.9rem,1.8vw,1rem);
  font-weight:500; line-height:1.75; color:var(--tx);
  overflow-x:hidden; transition:background var(--e),color var(--e);

  /* Outer background — visible around the 960px box */
  background-color: var(--outer);
  background-image:
    radial-gradient(ellipse 55% 45% at 10% 10%, rgba(124,92,252,.12) 0%,transparent 55%),
    radial-gradient(ellipse 45% 35% at 90% 90%, rgba(255,107,53,.10) 0%,transparent 55%),
    radial-gradient(circle, var(--outer-pat) 1px, transparent 1px);
  background-size: auto, auto, 26px 26px;
  background-attachment: fixed;

  /* Vertical padding so box floats */
  padding-bottom: var(--lg);
}

img,video{ max-width:100%; height:auto; display:block; }
a{ color:var(--a); text-decoration:none; transition:color var(--e); }
a:hover{ color:var(--a2); }
h1,h2,h3,h4,h5,h6{ font-family:var(--fd); font-weight:700; line-height:1.25; color:var(--tx); }
p{ margin-bottom:var(--sm); }
p:last-child{ margin-bottom:0; }

/* ─── SKIP LINK ────────────────────────────── */
.skip-link{
  position:absolute;top:-100%;left:var(--md);
  background:var(--a);color:#fff;
  padding:var(--xs) var(--sm);
  border-radius:0 0 var(--rs) var(--rs);
  font-family:var(--fd);font-weight:700;font-size:.8rem;z-index:9999;
}
.skip-link:focus{ top:0; }

/* ═══════════════════════════════════════════
   BOXED WRAPPER — 960px centered
   ═══════════════════════════════════════════ */
.boxed-wrap {
  width: 100%;
  max-width: var(--w);
  margin-inline: auto;
  background: var(--bg);
  position: relative;
  overflow: hidden;          /* ← KEY: clips everything inside */
  box-shadow:
    0 0 0 1px rgba(0,0,0,.12),
    var(--sh3),
    0 40px 100px rgba(0,0,0,.18);
  min-height: 100vh;
}
[data-theme="dark"] .boxed-wrap {
  box-shadow:
    0 0 0 1px rgba(120,130,220,.15),
    0 10px 50px rgba(0,0,0,.65),
    0 40px 100px rgba(0,0,0,.5);
}

/* Animated rainbow top border */
.boxed-wrap::before {
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,var(--a),var(--b),var(--c),var(--d),var(--a));
  background-size:300%; animation:rainbow 5s ease infinite; z-index:999;
  pointer-events:none;
}

/* ─── CONTAINER — always stays INSIDE the box ── */
.container{
  width: 100%;
  max-width: 100%;          /* never wider than boxed-wrap */
  padding-inline: var(--md);
  box-sizing: border-box;
}

/* ═══════════════════════════════════════════
   UTILITY TOP BAR
   ═══════════════════════════════════════════ */
.util-bar {
  background: var(--s2);
  border-bottom: 1px solid var(--bdf);
  padding: .32rem 0;
  font-family: var(--fd);
  font-size: .72rem;
}
.util-bar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sm);
  flex-wrap: wrap;
}
.util-bar__links { display:flex; align-items:center; gap:0; list-style:none; flex-wrap:wrap; }
.util-bar__links a {
  color: var(--txm);
  padding: .2em .6em;
  font-weight: 600;
  text-decoration: none;
  border-right: 1px solid var(--bd);
  transition: color var(--e);
  white-space: nowrap;
}
.util-bar__links li:last-child a { border-right: none; }
.util-bar__links a:hover { color: var(--a); }

.util-bar__search {
  display: flex;
  align-items: center;
  gap: .35rem;
  flex-shrink: 0;
}
.util-bar__search input {
  padding: .25em .6em;
  font-family: var(--fd);
  font-size: .72rem;
  font-weight: 600;
  background: var(--surf);
  border: 1.5px solid var(--bd);
  border-radius: var(--rs) 0 0 var(--rs);
  color: var(--tx);
  outline: none;
  width: 130px;
  transition: border-color var(--e);
}
.util-bar__search input:focus { border-color: var(--a); }
.util-bar__search button {
  padding: .28em .65em;
  background: var(--tx);
  border: none;
  border-radius: 0 var(--rs) var(--rs) 0;
  cursor: pointer;
  color: var(--txi);
  transition: background var(--e);
  display: flex; align-items: center;
}
.util-bar__search button svg { width:14px; height:14px; }
.util-bar__search button:hover { background: var(--a); }

/* ═══════════════════════════════════════════
   LOGO BAR
   (logo left, ad/tagline space right)
   ═══════════════════════════════════════════ */
.logo-bar {
  background: var(--surf);
  border-bottom: 1px solid var(--bd);
  padding: var(--md) 0;
}
.logo-bar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--md);
}

/* LOGO */
.site-logo {
  display: inline-flex; align-items: center;
  gap: .55rem; text-decoration: none; flex-shrink: 0;
}
.site-logo__img-wrap {
  position: relative;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: var(--rm); overflow: hidden; flex-shrink: 0;
  animation: logoPulse 3.5s ease-in-out infinite;
}
/* White light sweep */
.site-logo__img-wrap::before {
  content:'';
  position:absolute; left:-35%; width:170%; height:65%;
  background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.9) 45%,rgba(255,255,255,1) 55%,rgba(255,255,255,.9) 65%,rgba(255,255,255,0) 100%);
  transform:skewX(-12deg);
  pointer-events:none; z-index:10; opacity:0;
  animation:logoShine 4.5s ease-in-out .8s infinite;
}
.site-logo__img-wrap img,
.site-logo__img-wrap .custom-logo {
  display:block!important; height:52px; width:auto; max-width:220px;
  object-fit:contain; position:relative; z-index:2; border-radius:var(--rm);
  transition:transform var(--es);
}
.site-logo:hover .site-logo__img-wrap img { transform:scale(1.05); }

/* Fallback text logo */
.site-logo__fb { display:inline-flex; align-items:center; gap:.5rem; }
.site-logo__icon {
  width:48px; height:48px;
  background:linear-gradient(135deg,var(--a),var(--b));
  border-radius:var(--rm);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--fd); font-weight:800; font-size:1.15rem; color:#fff;
  animation:logoPulse 3.5s ease-in-out infinite;
  position:relative; overflow:hidden; flex-shrink:0;
}
.site-logo__icon::before {
  content:''; position:absolute; left:-35%; width:170%; height:65%;
  background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.9) 50%,rgba(255,255,255,0) 100%);
  transform:skewX(-12deg); pointer-events:none; z-index:5; opacity:0;
  animation:logoShine 4.5s ease-in-out .8s infinite;
}
.site-logo__name {
  font-family:var(--fd); font-weight:800; font-size:1.75rem;
  color:var(--tx); letter-spacing:.04em; line-height:1;
  text-transform: uppercase;
  transition:color var(--e);
}
.site-logo__name em { font-style:normal; color:var(--a); }

/* Ad / tagline space — constrained, no overflow */
.logo-bar__ad {
  flex: 1;
  max-width: 500px;
  min-height: 60px;
  max-height: 80px;
  background: var(--s2);
  border: 1px dashed var(--bd);
  border-radius: var(--rs);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--fd); font-size: .72rem; color: var(--txm);
  font-weight: 600; letter-spacing: .05em;
  overflow: hidden;
  /* Prevent any child (ads, widgets) from expanding height */
  contain: layout;
}
/* Force any ad iframe/img inside to stay contained */
.logo-bar__ad iframe,
.logo-bar__ad img,
.logo-bar__ad > * {
  max-width: 100% !important;
  max-height: 80px !important;
  overflow: hidden;
}

/* Logo bar right actions */
.logo-bar__actions { display:flex; align-items:center; gap:.4rem; flex-shrink:0; }
.hbtn {
  width:34px; height:34px;
  display:flex; align-items:center; justify-content:center;
  background:var(--s2); border:1px solid var(--bd);
  border-radius:var(--rm); color:var(--txm); cursor:pointer;
  transition:all var(--es); text-decoration:none;
}
.hbtn svg { width:16px; height:16px; }
.hbtn:hover { background:var(--a); border-color:var(--a); color:#fff; transform:scale(1.1) rotate(-4deg); }

.dark-toggle {
  width:48px; height:26px;
  background:var(--s2); border:1.5px solid var(--bd);
  border-radius:var(--rp); cursor:pointer; position:relative; flex-shrink:0;
  transition:all var(--e);
}
.dark-toggle::after {
  content:''; position:absolute; top:2px; left:2px;
  width:18px; height:18px;
  background:linear-gradient(135deg,var(--a),var(--b));
  border-radius:50%; transition:all var(--es);
  box-shadow:0 1px 5px rgba(0,0,0,.2);
}
[data-theme="dark"] .dark-toggle::after { left:calc(100% - 20px); }

.hamburger {
  display:none; flex-direction:column; justify-content:center;
  gap:4px; width:34px; height:34px;
  background:var(--s2); border:1px solid var(--bd);
  border-radius:var(--rm); cursor:pointer; padding:8px;
}
.hamburger span { display:block; width:100%; height:2px; background:var(--tx); border-radius:2px; transition:all var(--e); }
.hamburger.is-open span:nth-child(1){ transform:rotate(45deg) translate(4px,4px); }
.hamburger.is-open span:nth-child(2){ opacity:0; transform:scaleX(0); }
.hamburger.is-open span:nth-child(3){ transform:rotate(-45deg) translate(4px,-4px); }

/* ═══════════════════════════════════════════
   CATEGORY NAV BAR  (Primary Menu 2)
   Full-width colored — exactly like cine350
   ═══════════════════════════════════════════ */
.cat-bar {
  background: var(--tx);
  border-bottom: 2px solid var(--a);
  overflow-x: auto; scrollbar-width: none;
  position: sticky; top: 0; z-index: 300;
}
[data-theme="dark"] .cat-bar { background: #0A0C18; }
.cat-bar::-webkit-scrollbar { display: none; }

.cat-bar__menu {
  display:flex; align-items:stretch;
  list-style:none; min-width:max-content;
}
.cat-bar__menu a {
  font-family:var(--fd); font-size:.8rem; font-weight:700;
  color: rgba(255,255,255,.88);
  padding: .55em 1.1em;
  display: block; white-space: nowrap;
  text-decoration: none; letter-spacing: .01em;
  transition: all var(--e);
  border-right: 1px solid rgba(255,255,255,.08);
}
.cat-bar__menu a:hover { background:var(--a); color:#fff; }
.cat-bar__menu .current-menu-item>a,
.cat-bar__menu .current-cat>a { background:var(--a); color:#fff; }

/* Shuffle / random icon slot */
.cat-bar__extra {
  margin-left: auto;
  display: flex; align-items: center;
  padding-inline: .75em;
  cursor: pointer; color: rgba(255,255,255,.7);
  transition: color var(--e);
}
.cat-bar__extra:hover { color: #fff; }
.cat-bar__extra svg { width:18px; height:18px; }

/* Mobile nav drawer */
.mobile-drawer {
  display:none; position:absolute; top:100%; left:0; right:0;
  background:var(--surf); border-bottom:2px solid var(--bd);
  box-shadow:var(--sh3); padding:var(--md); z-index:500;
  animation:fadeUp .2s ease;
}
.mobile-drawer.on { display:block; }
.mobile-drawer ul { list-style:none; }
.mobile-drawer li a {
  display:block; font-family:var(--fd); font-weight:600; font-size:.9rem;
  color:var(--tx); padding:.55em var(--sm); border-radius:var(--rm);
  text-decoration:none; transition:all var(--e);
}
.mobile-drawer li a:hover { background:rgba(255,107,53,.1); color:var(--a); padding-left:1.1em; }
.mobile-drawer .dv { height:1px; background:var(--bd); margin:var(--sm) 0; }
.mobile-drawer .dl { font-family:var(--fd); font-size:.65rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--txm); padding:.25em var(--sm); }

/* ═══════════════════════════════════════════
   BREAKING NEWS TICKER
   ═══════════════════════════════════════════ */
.breaking-bar {
  background: var(--surf);
  border-bottom: 1px solid var(--bdf);
  display: flex;
  align-items: stretch;
  overflow: hidden;
  height: 38px;
}
.breaking-bar__label {
  background: var(--a);
  color: #fff;
  font-family: var(--fd);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 0 .9em;
  display: flex; align-items: center; justify-content: center;
  white-space: nowrap;
  flex-shrink: 0;
  border-radius: 0 var(--rs) var(--rs) 0;
  margin: 6px 0 6px 0;
  position: relative; z-index: 1;
}
.breaking-bar__label::after {
  content:''; position:absolute; right:-8px; top:0; bottom:0;
  width:8px;
  background:linear-gradient(to right, var(--a), transparent);
  pointer-events:none;
}
.breaking-bar__track {
  flex: 1; overflow: hidden;
  display: flex; align-items: center;
  position: relative;
  mask-image: linear-gradient(to right, transparent 0%, black 5%, black 95%, transparent 100%);
}
.breaking-bar__inner {
  white-space: nowrap;
  animation: ticker 30s linear infinite;
  display: inline-block;
  font-family: var(--fd); font-size: .8rem; font-weight: 600;
  color: var(--tx2);
  padding-left: 100%;
}
.breaking-bar__inner a { color: var(--tx2); text-decoration: none; transition: color var(--e); }
.breaking-bar__inner a:hover { color: var(--a); }
.breaking-bar__inner .sep { margin: 0 1.5em; color: var(--bd); }

/* ═══════════════════════════════════════════
   MAIN LAYOUT — Sidebar Left + Content Right
   (matches cine350 structure exactly)
   ═══════════════════════════════════════════ */
.site-main { padding: var(--md) 0 var(--xl); }

.layout-wrap {
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: var(--md);
  align-items: start;
}

/* ═══════════════════════════════════════════
   LEFT SIDEBAR
   ═══════════════════════════════════════════ */
.site-sidebar {
  display: flex; flex-direction: column;
  gap: var(--md);
  position: sticky;
  top: calc(var(--cat-h, 38px) + var(--md));
}

/* Search box in sidebar */
.sb-search {
  background: var(--surf);
  border: 1.5px solid var(--bd);
  border-radius: var(--rl);
  padding: var(--md);
  box-shadow: var(--sh0);
}
.sb-search-row {
  display: flex; gap: 0;
}
.sb-search input {
  flex: 1; padding: .55em .85em;
  font-family: var(--fd); font-size: .85rem; font-weight: 600;
  background: var(--s2); border: 1.5px solid var(--bd);
  border-right: none;
  border-radius: var(--rm) 0 0 var(--rm);
  color: var(--tx); outline: none;
  transition: border-color var(--e);
}
.sb-search input:focus { border-color: var(--a); }
.sb-search button {
  padding: 0 .85em;
  background: var(--tx);
  border: none; border-radius: 0 var(--rm) var(--rm) 0;
  cursor: pointer; color: var(--txi);
  transition: background var(--e);
  display:flex; align-items:center;
}
.sb-search button svg { width:16px; height:16px; }
[data-theme="dark"] .sb-search button { background:var(--a); }
.sb-search button:hover { background: var(--a); }

/* Widget Box */
.wbox {
  background: var(--surf);
  border: 1.5px solid var(--bd);
  border-radius: var(--rl);
  overflow: hidden;
  box-shadow: var(--sh0);
  transition: box-shadow var(--e);
}
.wbox:hover { box-shadow: var(--sh1); }

.wbox__head {
  background: var(--s2);
  border-bottom: 1px solid var(--bdf);
  padding: .6rem var(--md);
  display: flex; align-items: center; gap: .45rem;
}
.wbox__ico {
  width:22px; height:22px; border-radius:var(--rs);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.ia{background:rgba(255,107,53,.14);color:var(--a);}
.ib{background:rgba(124,92,252,.14);color:var(--b);}
.ic{background:rgba(23,201,160,.14);color:var(--c);}
.id{background:rgba(255,212,59,.18);color:#906b00;}
.wbox__ico svg { width:12px; height:12px; }
.wbox__title { font-family:var(--fd); font-size:.82rem; font-weight:800; }
.wbox__body { padding:var(--md); }

/* Tab widget (Popular/Recent/Comments/Tags) */
.tab-widget { }
.tab-widget__tabs {
  display:flex; list-style:none;
  border-bottom: 1px solid var(--bd);
  background: var(--s2);
}
.tab-widget__tabs button {
  flex:1; padding:.5em .5em;
  font-family:var(--fd); font-size:.74rem; font-weight:700;
  background:none; border:none; border-bottom:2px solid transparent;
  cursor:pointer; color:var(--txm);
  transition:all var(--e); white-space:nowrap;
}
.tab-widget__tabs button.active,
.tab-widget__tabs button:hover { color:var(--a); border-bottom-color:var(--a); }
.tab-panel { display:none; padding:var(--md); }
.tab-panel.active { display:block; }

.sb-post {
  display:flex; gap:.6rem; align-items:flex-start;
  padding:.5rem 0; border-bottom:1px solid var(--bdf);
  text-decoration:none; transition:all var(--e);
}
.sb-post:last-child { border-bottom:none; padding-bottom:0; }
.sb-post:first-child { padding-top:0; }
.sb-post:hover { padding-left:4px; }
.sb-post__thumb {
  width:70px; height:50px; border-radius:var(--rs);
  object-fit:cover; flex-shrink:0; background:var(--s2);
  transition:transform var(--e);
}
.sb-post:hover .sb-post__thumb { transform:scale(1.04); }
.sb-post__title {
  font-family:var(--fd); font-size:.78rem; font-weight:700;
  color:var(--tx); line-height:1.3;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  transition:color var(--e);
}
.sb-post:hover .sb-post__title { color:var(--a); }
.sb-post__meta { font-family:var(--fd); font-size:.65rem; color:var(--txm); margin-top:.2em; display:flex; align-items:center; gap:.3em; }

/* Categories in sidebar */
.sb-cat {
  display:flex; align-items:center; justify-content:space-between;
  padding:.44rem 0; border-bottom:1px solid var(--bdf);
  text-decoration:none; transition:all var(--e);
}
.sb-cat:last-child { border-bottom:none; }
.sb-cat:hover { padding-left:4px; }
.sb-cat__name { font-family:var(--fd); font-size:.82rem; font-weight:600; color:var(--tx2); transition:color var(--e); }
.sb-cat:hover .sb-cat__name { color:var(--a); }
.sb-cat__cnt { font-family:var(--fd); font-size:.67rem; font-weight:700; background:var(--s2); border:1px solid var(--bd); border-radius:var(--rp); padding:.1em .5em; color:var(--txm); transition:all var(--e); }
.sb-cat:hover .sb-cat__cnt { background:var(--a); border-color:var(--a); color:#fff; }

/* Tags */
.tag-cloud { display:flex; flex-wrap:wrap; gap:.35em; }
.tag-pill { font-family:var(--fd); font-size:.7rem; font-weight:600; padding:.25em .65em; border-radius:var(--rp); border:1.5px solid var(--bd); color:var(--txm); text-decoration:none; transition:all var(--es); }
.tag-pill:hover { background:var(--b); border-color:var(--b); color:#fff; transform:scale(1.05); }

/* ═══════════════════════════════════════════
   MAIN CONTENT
   ═══════════════════════════════════════════ */
.main-content { min-width:0; }

/* Section Title (Recent Posts style) */
.sec-title {
  font-family:var(--fd); font-size:.82rem; font-weight:800;
  letter-spacing:.07em; text-transform:uppercase;
  color:var(--tx2);
  padding-bottom:.5rem;
  border-bottom:2px solid var(--tx2);
  margin-bottom:var(--md);
  display:flex; align-items:center; justify-content:space-between;
}
.sec-title a { font-size:.68rem; font-weight:700; color:var(--a); text-decoration:none; letter-spacing:0; text-transform:none; }

/* Posts grid */
.posts-grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:var(--md);
}

/* Post Card */
.post-card {
  background:var(--surf); border:1px solid var(--bd);
  border-radius:var(--rl); overflow:hidden;
  box-shadow:var(--sh0);
  display:flex; flex-direction:column;
  transition:all var(--e); position:relative;
}
.post-card::after { content:''; position:absolute; top:0; left:-80%; width:50%; height:100%; background:linear-gradient(90deg,transparent,rgba(255,255,255,.07) 50%,transparent); pointer-events:none; z-index:3; }
.post-card:hover::after { animation:shimmer .6s ease; }
.post-card:hover { transform:translateY(-4px); box-shadow:var(--sh2); border-color:rgba(255,107,53,.3); }

.post-card__img {
  aspect-ratio:16/10; overflow:hidden; background:var(--s2); flex-shrink:0; position:relative;
}
.post-card__img img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.post-card:hover .post-card__img img { transform:scale(1.07); }
.post-card__img-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,.3),transparent 50%); opacity:0; transition:opacity var(--e); }
.post-card:hover .post-card__img-overlay { opacity:1; }

.cat-badge-ov { position:absolute; bottom:.5rem; left:.5rem; z-index:2; font-family:var(--fd); font-size:.62rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:#fff; padding:.2em .6em; border-radius:var(--rp); text-decoration:none; }
.c1.cat-badge-ov{background:rgba(255,107,53,.9);}
.c2.cat-badge-ov{background:rgba(124,92,252,.9);}
.c3.cat-badge-ov{background:rgba(23,201,160,.9);}
.c4.cat-badge-ov{background:rgba(255,212,59,.85);color:#5a3d00;}

.post-card__body { padding:var(--sm); display:flex; flex-direction:column; gap:.3rem; flex:1; }
.post-card__title { font-family:var(--fd); font-size:.88rem; font-weight:700; line-height:1.35; }
.post-card__title a { color:var(--tx); text-decoration:none; transition:color var(--e); }
.post-card__title a:hover { color:var(--a); }
.post-card__meta { font-family:var(--fd); font-size:.65rem; color:var(--txm); display:flex; align-items:center; gap:.35rem; margin-top:auto; padding-top:.35rem; border-top:1px solid var(--bdf); flex-wrap:wrap; }
.post-card__meta svg { width:11px; height:11px; }

/* ── Cat badge inline ────────── */
.cat-badge { display:inline-flex; align-items:center; font-family:var(--fd); font-size:.62rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; padding:.2em .65em; border-radius:var(--rp); text-decoration:none; width:fit-content; transition:all var(--es); }
.cat-badge:hover { transform:scale(1.06); }
.c1{background:rgba(255,107,53,.12);color:var(--a);}
.c2{background:rgba(124,92,252,.11);color:var(--b);}
.c3{background:rgba(23,201,160,.11);color:var(--c);}
.c4{background:rgba(255,212,59,.16);color:#906b00;}

/* ── Section header ─────────── */
.section-hd { display:flex; align-items:center; justify-content:space-between; margin-bottom:var(--md); }
.section-title-lg { font-family:var(--fd); font-size:1rem; font-weight:800; display:flex; align-items:center; gap:.4rem; }
.section-title-lg::before { content:''; display:inline-block; width:12px; height:12px; background:linear-gradient(135deg,var(--a),var(--b)); border-radius:3px; flex-shrink:0; }
.view-all { font-family:var(--fd); font-size:.74rem; font-weight:700; color:var(--a); text-decoration:none; display:flex; align-items:center; gap:.25em; padding:.28em .75em; border:1.5px solid var(--a); border-radius:var(--rp); transition:all var(--es); }
.view-all:hover { background:var(--a); color:#fff; }

/* ═══════════════════════════════════════════
   BUTTONS
   ═══════════════════════════════════════════ */
.btn { display:inline-flex; align-items:center; gap:.35em; font-family:var(--fd); font-size:.82rem; font-weight:700; padding:.6em 1.3em; border-radius:var(--rp); border:none; cursor:pointer; text-decoration:none; transition:all var(--es); line-height:1; }
.btn-p { background:linear-gradient(135deg,var(--a),var(--a2)); color:#fff; box-shadow:var(--sh0); }
.btn-p:hover { color:#fff; box-shadow:var(--sh1),var(--ga); transform:translateY(-1px) scale(1.02); }
.btn-g { background:var(--s2); color:var(--tx2); border:1px solid var(--bd); }
.btn-g:hover { background:var(--s3); color:var(--tx); }

/* ═══════════════════════════════════════════
   SINGLE POST
   ═══════════════════════════════════════════ */
.single-hero { border-radius:var(--rl); overflow:hidden; aspect-ratio:16/7; box-shadow:var(--sh2); margin-bottom:var(--md); }
.single-hero img { width:100%; height:100%; object-fit:cover; }
.single-title {
  font-size: clamp(1.2rem, 2.8vw, 1.7rem);
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.3;
  margin-bottom: var(--sm);
  text-shadow: 0 1px 3px rgba(0,0,0,.08);
  word-break: break-word;
  overflow-wrap: break-word;
}
.single-meta { display:flex; align-items:center; gap:.6rem; flex-wrap:wrap; font-family:var(--fd); font-size:.78rem; color:var(--txm); margin-bottom:var(--md); }
.meta-chip { display:flex; align-items:center; gap:.25em; background:var(--s2); border:1px solid var(--bd); border-radius:var(--rp); padding:.2em .65em; font-size:.72rem; font-weight:600; color:var(--txm); }
.meta-chip svg { width:12px; height:12px; }
.author-chip { display:flex; align-items:center; gap:.3em; background:var(--s2); border:1px solid var(--bd); border-radius:var(--rp); padding:.18em .65em .18em .25em; font-weight:600; color:var(--tx2); text-decoration:none; transition:all var(--e); }
.author-chip img { width:20px; height:20px; border-radius:50%; }
.author-chip:hover { border-color:var(--a); color:var(--a); }

.entry-content { font-size:1rem; line-height:1.85; overflow:hidden; max-width:100%; }
.entry-content h2 { font-size:1.35rem; margin:var(--lg) 0 var(--sm); }
.entry-content h3 { font-size:1.1rem; margin:var(--md) 0 var(--xs); }
.entry-content p { margin-bottom:var(--md); max-width:100%; }
.entry-content ul,.entry-content ol { padding-left:1.4em; margin-bottom:var(--md); }
.entry-content li { margin-bottom:.3em; }
.entry-content a { color:var(--a); text-decoration:underline; text-underline-offset:3px; }
.entry-content img { border-radius:var(--rl); margin-block:var(--md); max-width:100%; height:auto; display:block; }
.entry-content blockquote { margin-block:var(--md); padding:var(--md) var(--lg); background:var(--s2); border-left:4px solid var(--a); border-radius:0 var(--rm) var(--rm) 0; font-style:italic; color:var(--tx2); box-shadow:var(--sh0); }
.entry-content code { font-size:.875em; background:var(--s2); border:1px solid var(--bd); border-radius:var(--rs); padding:.1em .35em; }
.entry-content pre { background:var(--s2); border:1px solid var(--bd); border-radius:var(--rl); padding:var(--md); overflow-x:auto; margin-block:var(--md); position:relative; }
.entry-content pre code { background:none; border:none; padding:0; }

/* ── VIDEO / IFRAME RESPONSIVE FIX ── */
/* Wraps all iframes/videos in a responsive container */
.entry-content iframe,
.entry-content video,
.entry-content embed,
.entry-content object {
  max-width: 100% !important;
  display: block;
}

/* Responsive video wrapper (WordPress wraps in .wp-block-embed or .wp-video) */
.entry-content .wp-block-embed,
.entry-content .wp-block-embed__wrapper,
.entry-content .wp-video,
.entry-content .fluid-width-video-wrapper {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
  overflow: hidden;
  max-width: 100%;
  border-radius: var(--rl);
  background: #000;
  margin-bottom: var(--md);
}
.entry-content .wp-block-embed iframe,
.entry-content .wp-block-embed__wrapper iframe,
.entry-content .wp-video iframe,
.entry-content .fluid-width-video-wrapper iframe,
.entry-content .wp-video video {
  position: absolute;
  top: 0; left: 0;
  width: 100% !important;
  height: 100% !important;
  border-radius: var(--rl);
}

/* Force any standalone iframe to be responsive */
.entry-content > iframe {
  width: 100% !important;
  max-width: 100% !important;
  aspect-ratio: 16 / 9;
  height: auto !important;
  border-radius: var(--rl);
  border: none;
  margin-bottom: var(--md);
  display: block;
}

.post-tags { display:flex; align-items:center; flex-wrap:wrap; gap:.4em; margin-top:var(--md); padding-top:var(--md); border-top:1px solid var(--bd); }
.post-tags__lbl { font-family:var(--fd); font-size:.7rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em; color:var(--txm); }
.author-box { background:var(--surf); border:1px solid var(--bd); border-radius:var(--rx); padding:var(--lg); display:flex; gap:var(--md); align-items:flex-start; margin-top:var(--lg); box-shadow:var(--sh0); }
.author-box__av { width:64px; height:64px; border-radius:var(--rl); object-fit:cover; border:2.5px solid var(--a); flex-shrink:0; }
.author-box__name { font-size:.95rem; font-weight:800; margin-bottom:.2em; }
.author-box__name a { color:var(--tx); text-decoration:none; }
.author-box__name a:hover { color:var(--a); }
.author-box__bio { font-size:.85rem; color:var(--txm); line-height:1.6; }
.post-nav { display:grid; grid-template-columns:1fr 1fr; gap:var(--md); margin-top:var(--lg); }
.pnl { background:var(--surf); border:1px solid var(--bd); border-radius:var(--rl); padding:var(--md); text-decoration:none; box-shadow:var(--sh0); transition:all var(--e); }
.pnl:hover { border-color:rgba(255,107,53,.35); box-shadow:var(--sh1); transform:translateY(-2px); }
.pnl--r { text-align:right; }
.pnl__lbl { font-family:var(--fd); font-size:.65rem; font-weight:800; text-transform:uppercase; letter-spacing:.07em; color:var(--txm); display:flex; align-items:center; gap:.25em; margin-bottom:.35em; }
.pnl--r .pnl__lbl { justify-content:flex-end; }
.pnl__t { font-family:var(--fd); font-size:.85rem; font-weight:700; color:var(--tx); line-height:1.3; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }

/* ═══════════════════════════════════════════
   BREADCRUMBS
   ═══════════════════════════════════════════ */
.breadcrumbs { font-family:var(--fd); font-size:.74rem; font-weight:600; color:var(--txm); display:flex; align-items:center; flex-wrap:wrap; gap:.35em; padding:var(--sm) 0; }
.breadcrumbs a { color:var(--txm); text-decoration:none; transition:color var(--e); }
.breadcrumbs a:hover { color:var(--a); }
.breadcrumbs .sep { color:var(--bd); }

/* ═══════════════════════════════════════════
   PAGINATION
   ═══════════════════════════════════════════ */
.pagination { display:flex; align-items:center; justify-content:center; gap:.35rem; margin-top:var(--xl); flex-wrap:wrap; }
.pagination a,.pagination span { display:flex; align-items:center; justify-content:center; min-width:36px; height:36px; padding:0 .55em; border-radius:var(--rm); font-family:var(--fd); font-size:.82rem; font-weight:700; text-decoration:none; transition:all var(--es); border:1.5px solid var(--bd); background:var(--surf); color:var(--txm); }
.pagination a:hover,.pagination .current { background:var(--a); border-color:var(--a); color:#fff; transform:scale(1.06); }

/* ═══════════════════════════════════════════
   SEARCH OVERLAY
   ═══════════════════════════════════════════ */
.search-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,.72); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); z-index:9000; align-items:flex-start; justify-content:center; padding-top:90px; }
.search-overlay.on { display:flex; }
.search-overlay__box { background:var(--surf); border:1px solid var(--bd); border-radius:var(--rx); width:100%; max-width:520px; padding:var(--md); box-shadow:var(--sh3); animation:fadeUp .22s ease; }
.search-overlay__input { width:100%; padding:.75em 1em; font-family:var(--fd); font-size:1.1rem; font-weight:600; background:var(--s2); border:1.5px solid var(--bd); border-radius:var(--rl); color:var(--tx); outline:none; transition:border-color var(--e); }
.search-overlay__input:focus { border-color:var(--a); }
.search-hint { font-family:var(--fd); font-size:.7rem; color:var(--txm); margin-top:.45rem; text-align:center; }

/* ═══════════════════════════════════════════
   READING PROGRESS
   ═══════════════════════════════════════════ */
.reading-progress { position:fixed; top:0; left:0; height:3px; width:0%; background:linear-gradient(90deg,var(--a),var(--b),var(--c),var(--a)); background-size:200%; animation:rainbow 3s ease infinite; z-index:9999; border-radius:0 2px 2px 0; transition:width .1s linear; }

/* ═══════════════════════════════════════════
   BACK TO TOP
   ═══════════════════════════════════════════ */
.back-to-top { position:fixed; bottom:var(--md); right:var(--md); width:40px; height:40px; background:linear-gradient(135deg,var(--a),var(--b)); color:#fff; border:none; border-radius:var(--rl); cursor:pointer; display:none; align-items:center; justify-content:center; box-shadow:var(--sh1),var(--ga); transition:all var(--es); z-index:500; }
.back-to-top.on { display:flex; }
.back-to-top:hover { transform:translateY(-3px) scale(1.08); }
@media(min-width:980px){ .back-to-top{ right:calc(50% - calc(var(--w)/2) + var(--md)); } }

/* ═══════════════════════════════════════════
   FOOTER WIDGET BAR
   ═══════════════════════════════════════════ */
.footer-widget-bar {
  background:linear-gradient(135deg,var(--b) 0%,var(--a) 100%);
  padding:var(--xl) 0; position:relative; overflow:hidden;
}
.footer-widget-bar::before { content:''; position:absolute; width:350px; height:350px; background:radial-gradient(circle,rgba(255,255,255,.07) 0%,transparent 65%); top:-80px; right:-80px; pointer-events:none; }
.fwb-inner { display:grid; grid-template-columns:2fr 1fr 1fr; gap:var(--lg); align-items:start; }
.fwb-block h4 { font-family:var(--fd); font-size:.9rem; font-weight:800; color:#fff; margin-bottom:var(--sm); padding-bottom:.45rem; border-bottom:1px solid rgba(255,255,255,.18); }
.fwb-block p { font-size:.82rem; color:rgba(255,255,255,.82); line-height:1.6; margin-bottom:var(--sm); }
.nl-row { display:flex; gap:.4rem; margin-bottom:.4rem; }
.nl-row input { flex:1; padding:.55em .9em; border:1.5px solid rgba(255,255,255,.3); border-radius:var(--rp); background:rgba(255,255,255,.14); backdrop-filter:blur(8px); color:#fff; font-family:var(--fd); font-size:.8rem; font-weight:600; outline:none; transition:border-color var(--e); }
.nl-row input::placeholder { color:rgba(255,255,255,.5); }
.nl-row input:focus { border-color:rgba(255,255,255,.65); }
.nl-row button { padding:.55em 1.1em; background:#fff; color:var(--b); border:none; border-radius:var(--rp); font-family:var(--fd); font-size:.8rem; font-weight:800; cursor:pointer; transition:all var(--es); white-space:nowrap; }
.nl-row button:hover { background:var(--d); color:#5a3d00; transform:scale(1.03); }
.nl-msg { font-size:.72rem; color:rgba(255,255,255,.82); min-height:1em; }
.fwb-links { list-style:none; display:flex; flex-direction:column; gap:.38em; }
.fwb-links a { font-family:var(--fd); font-size:.82rem; font-weight:500; color:rgba(255,255,255,.82); text-decoration:none; display:flex; align-items:center; gap:.3em; transition:all var(--e); }
.fwb-links a::before { content:'›'; font-weight:900; color:rgba(255,255,255,.45); }
.fwb-links a:hover { color:#fff; padding-left:4px; }
.fwb-links a:hover::before { color:#fff; }

/* ═══════════════════════════════════════════
   MAIN FOOTER
   ═══════════════════════════════════════════ */
.site-footer { background:var(--surf); border-top:1px solid var(--bd); }
.footer-main { padding:var(--xl) 0; display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:var(--lg); }
.footer-brand-desc { font-size:.82rem; color:var(--txm); line-height:1.65; margin:var(--sm) 0 var(--md); }
.footer-social { display:flex; gap:.4rem; }
.footer-social a { width:32px; height:32px; display:flex; align-items:center; justify-content:center; background:var(--s2); border:1px solid var(--bd); border-radius:var(--rm); color:var(--txm); text-decoration:none; font-family:var(--fd); font-size:.72rem; font-weight:800; transition:all var(--es); }
.footer-social a:hover { background:var(--a); border-color:var(--a); color:#fff; transform:scale(1.1) rotate(5deg); }
.footer-col-title { font-family:var(--fd); font-size:.88rem; font-weight:800; margin-bottom:var(--md); }
.footer-links { list-style:none; display:flex; flex-direction:column; gap:.42em; }
.footer-links a { font-family:var(--fd); font-size:.82rem; font-weight:500; color:var(--txm); text-decoration:none; transition:all var(--e); display:flex; align-items:center; gap:.3em; }
.footer-links a::before { content:'›'; color:var(--a); font-weight:900; }
.footer-links a:hover { color:var(--a); padding-left:4px; }
.footer-bottom { border-top:1px solid var(--bd); padding:var(--md) 0; display:flex; align-items:center; justify-content:space-between; gap:var(--md); flex-wrap:wrap; font-family:var(--fd); font-size:.72rem; color:var(--txm); }
.footer-bottom a { color:var(--a); text-decoration:none; }

/* ═══════════════════════════════════════════
   404
   ═══════════════════════════════════════════ */
.error-404 { text-align:center; padding:var(--xl) 0; }
.error-404__n { font-size:clamp(4rem,15vw,8rem); font-weight:900; background:linear-gradient(135deg,var(--a),var(--b)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; line-height:1; }

/* ─── UTILS ─────────────────────────────────── */
.screen-reader-text { clip:rect(1px,1px,1px,1px); clip-path:inset(50%); height:1px; width:1px; margin:-1px; padding:0; overflow:hidden; position:absolute; word-wrap:normal!important; }

/* ═══════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════ */
@media(max-width:979px){
  body { background-color:var(--bg); background-image:none; }
  .boxed-wrap { max-width:100%; box-shadow:none; }
}
@media(max-width:760px){
  .layout-wrap { grid-template-columns:1fr; }
  .site-sidebar { position:static; }
  .posts-grid { grid-template-columns:repeat(2,1fr); }
  .footer-main { grid-template-columns:1fr 1fr; }
  .fwb-inner { grid-template-columns:1fr; }
}
@media(max-width:500px){
  .posts-grid { grid-template-columns:1fr; }
  .footer-main { grid-template-columns:1fr; }
  .util-bar__links { display:none; }
  .nl-row { flex-direction:column; }
}
@media print{
  .cat-bar,.util-bar,.back-to-top,.reading-progress,.search-overlay{ display:none!important; }
}

/* ═══════════════════════════════════════════
   POST LINE LIST (index.php — no sidebar)
   ═══════════════════════════════════════════ */

.post-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* Each post row = horizontal card with left thumb + right content */
.post-row {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: var(--md);
  align-items: flex-start;
  padding: var(--md) 0;
  border-bottom: 1px solid var(--bdf);
  transition: background var(--e);
}
.post-row:first-child { padding-top: 0; }
.post-row:last-child  { border-bottom: none; }
.post-row:hover       { background: rgba(255,107,53,.03); margin-inline: calc(-1 * var(--md)); padding-inline: var(--md); border-radius: var(--rm); }

/* Thumbnail */
.post-row__img {
  position: relative;
  display: block;
  aspect-ratio: 16/10;
  overflow: hidden;
  border-radius: var(--rm);
  background: var(--s2);
  flex-shrink: 0;
  transition: box-shadow var(--e);
}
.post-row__img img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .45s ease;
}
.post-row:hover .post-row__img img { transform: scale(1.05); }
.post-row__img-ph {
  width: 100%; height: 100%;
  background: linear-gradient(135deg, var(--a), var(--b));
}
.post-row__cat {
  position: absolute; bottom: .4rem; left: .4rem; z-index: 2;
  font-family: var(--fd); font-size: .6rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: .06em;
  color: #fff; padding: .18em .55em; border-radius: var(--rp);
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
}
.post-row__cat.c1{background:rgba(255,107,53,.88);}
.post-row__cat.c2{background:rgba(124,92,252,.88);}
.post-row__cat.c3{background:rgba(23,201,160,.88);}
.post-row__cat.c4{background:rgba(255,212,59,.85);color:#4a2e00;}

/* Body */
.post-row__body {
  display: flex;
  flex-direction: column;
  gap: .4rem;
  min-width: 0;
}

.post-row__title {
  font-family: var(--fd);
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: -.01em;
}
.post-row__title a { color: var(--tx); text-decoration: none; transition: color var(--e); }
.post-row__title a:hover { color: var(--a); }

.post-row__excerpt {
  font-size: .875rem;
  color: var(--txm);
  line-height: 1.65;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.post-row__meta {
  display: flex;
  align-items: center;
  gap: .5rem;
  flex-wrap: wrap;
  font-family: var(--fd);
  font-size: .72rem;
  color: var(--txm);
  margin-top: .2rem;
}
.post-row__avatar {
  width: 22px; height: 22px;
  border-radius: 50%; object-fit: cover;
  border: 1.5px solid var(--bd);
}
.post-row__author { font-weight: 700; color: var(--tx2); }
.post-row__sep    { color: var(--bd); }
.post-row__read   {
  margin-left: auto;
  font-weight: 700; color: var(--a);
  text-decoration: none; white-space: nowrap;
  font-size: .72rem;
  padding: .2em .65em;
  border: 1px solid var(--a);
  border-radius: var(--rp);
  transition: all var(--es);
}
.post-row__read:hover { background: var(--a); color: #fff; }

/* Mobile: stack vertically */
@media (max-width: 600px) {
  .post-row { grid-template-columns: 1fr; }
  .post-row__img { aspect-ratio: 16/9; }
  .post-row__read { margin-left: 0; }
}

/* ═══════════════════════════════════════════
   SINGLE POST — LINE / DIVIDER SYSTEM
   ═══════════════════════════════════════════ */

/* Narrow container for single post */
.container--narrow { max-width: calc(var(--wn) + 2.5rem); }

/* Top row: cat badge + reading time */
.single-header__top {
  display: flex;
  align-items: center;
  gap: var(--sm);
  margin-bottom: var(--sm);
}
.single-rt {
  display: flex; align-items: center; gap: .3em;
  font-family: var(--fd); font-size: .72rem; font-weight: 600;
  color: var(--txm); margin-left: auto;
}
.single-rt svg { width: 12px; height: 12px; }

/* ── THE DIVIDER LINE ── */
.single-divider {
  height: 1px;
  background: linear-gradient(90deg, var(--a) 0%, var(--b) 40%, transparent 100%);
  margin: var(--md) 0;
  border: none;
  opacity: .45;
}

/* Hero image */
.single-hero {
  border-radius: var(--rl);
  overflow: hidden;
  aspect-ratio: 16/7;
  box-shadow: var(--sh2);
  margin-bottom: var(--lg);
}
.single-hero img { width: 100%; height: 100%; object-fit: cover; }

/* Content wrapper with left accent line */
.single-content-wrap {
  position: relative;
}

/* Share buttons */
.share-row {
  display: flex;
  align-items: center;
  gap: .5rem;
  flex-wrap: wrap;
}
.share-row__lbl {
  font-family: var(--fd); font-size: .72rem;
  font-weight: 800; text-transform: uppercase;
  letter-spacing: .06em; color: var(--txm);
}
.share-btn {
  font-family: var(--fd); font-size: .72rem; font-weight: 700;
  color: #fff; padding: .3em .85em; border-radius: var(--rp);
  text-decoration: none; transition: all var(--es);
  opacity: .88;
}
.share-btn:hover { opacity: 1; transform: translateY(-1px) scale(1.04); color: #fff; }

/* Related section */
.related-section {
  margin-top: var(--lg);
}

/* ═══════════════════════════════════════════
   GALLERY GRID — 3 col × 5 rows = 15 posts
   ═══════════════════════════════════════════ */
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  width: 100%;
  box-sizing: border-box;
}
.gallery-grid--2col { grid-template-columns: repeat(2, minmax(0, 1fr)); }

/* Gallery Card */
.gallery-card {
  background: var(--surf);
  border: 1.5px solid var(--bd);
  border-radius: var(--rl);
  overflow: hidden;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
  position: relative;
  display: flex;
  flex-direction: column;
}
.gallery-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--sh2);
  border-color: rgba(255,107,53,.35);
}

/* Image wrap — 16:10 landscape ratio (like cine350) */
.gallery-card__img-wrap {
  display: block;
  aspect-ratio: 16 / 10;
  position: relative;
  overflow: hidden;
  background: var(--s3);
  flex-shrink: 0;
}
.gallery-card__img-wrap img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .45s ease;
}
.gallery-card:hover .gallery-card__img-wrap img { transform: scale(1.06); }

/* Dark gradient overlay */
.gallery-card__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.65) 0%, rgba(0,0,0,.1) 55%, transparent 100%);
  opacity: .6;
  transition: opacity .3s ease;
  pointer-events: none;
}
.gallery-card:hover .gallery-card__overlay { opacity: .85; }

/* PLAY BUTTON — center, appears on hover */
.gallery-card__play {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%,-50%) scale(.75);
  opacity: 0;
  transition: all .28s cubic-bezier(.34,1.56,.64,1);
  z-index: 4;
  pointer-events: none;
}
.gallery-card__play svg { width: 50px; height: 50px; display: block; }
.gallery-card:hover .gallery-card__play {
  opacity: 1;
  transform: translate(-50%,-50%) scale(1);
}

/* Category badge — bottom-left of image */
.gallery-card__cat {
  position: absolute; bottom: .45rem; left: .45rem; z-index: 3;
  font-family: var(--fd); font-size: .58rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: .06em;
  color: #fff; padding: .18em .55em; border-radius: var(--rp);
  pointer-events: none;
}
.gallery-card__cat.c1{background:rgba(255,107,53,.9);}
.gallery-card__cat.c2{background:rgba(124,92,252,.9);}
.gallery-card__cat.c3{background:rgba(23,201,160,.9);}
.gallery-card__cat.c4{background:rgba(255,212,59,.9);color:#4a2e00;}

/* Trending badge — top-right of image */
.gallery-card__trending-img {
  position: absolute; top: .45rem; right: .45rem; z-index: 5;
  pointer-events: none;
}
.trending-badge {
  display: inline-flex; align-items: center; gap: .3em;
  background: var(--a); color: #fff;
  font-family: var(--fd); font-size: .58rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: .04em;
  padding: .2em .55em; border-radius: var(--rp);
}

/* No image placeholder */
.gallery-card__no-img {
  width: 100%; height: 100%;
  background: linear-gradient(135deg, var(--s2) 0%, var(--s3) 100%);
}

/* Card body */
.gallery-card__body {
  padding: .6rem .7rem .7rem;
  display: flex; flex-direction: column; gap: .25rem;
  flex: 1;
}

/* Category text links */
.gallery-card__cats {
  display: flex; align-items: center; gap: .25rem; flex-wrap: wrap;
}
.gallery-card__cat-link {
  font-family: var(--fd); font-size: .62rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: .04em;
  color: var(--a); text-decoration: none;
  transition: color var(--e);
  line-height: 1.2;
}
.gallery-card__cat-link:hover { color: var(--a2); }
.gallery-card__cat-sep { color: var(--bd); font-size: .6rem; }

/* Title */
.gallery-card__title {
  font-family: var(--fd); font-size: .85rem; font-weight: 700;
  line-height: 1.35; margin: 0;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.gallery-card__title a { color: var(--tx); text-decoration: none; transition: color var(--e); }
.gallery-card__title a:hover { color: var(--a); }

/* Meta — NO author */
.gallery-card__meta {
  font-family: var(--fd); font-size: .65rem; color: var(--txm);
  display: flex; align-items: center; gap: .3rem; flex-wrap: wrap;
  margin-top: auto; padding-top: .2rem;
}
.gallery-card__meta-sep { color: var(--bd); }

/* Trending label */
.gallery-card__trending-label {
  display: inline-flex; align-items: center; gap: .3em;
  font-family: var(--fd); font-size: .62rem; font-weight: 800;
  color: var(--a); margin-top: .1rem;
}

/* Responsive */
@media(max-width:760px){ .gallery-grid{ grid-template-columns:repeat(2,1fr); gap:10px; } }
@media(max-width:480px){ .gallery-grid{ grid-template-columns:1fr; } }

/* ═══════════════════════════════════════════
   ANIMATED PAGINATION — BOX STYLE
   ═══════════════════════════════════════════ */
@keyframes pgBounce {
  0%,100%{ transform:scale(1); }
  50%{ transform:scale(1.15); }
}

.pagination {
  display: flex; align-items: center; justify-content: center;
  gap: .4rem; margin-top: var(--xl); flex-wrap: wrap;
}
.pagination a,
.pagination span {
  display: flex; align-items: center; justify-content: center;
  min-width: 38px; height: 38px; padding: 0 .6em;
  border-radius: var(--rm);
  font-family: var(--fd); font-size: .82rem; font-weight: 700;
  text-decoration: none;
  border: 1.5px solid var(--bd);
  background: var(--surf);
  color: var(--txm);
  transition: all .22s cubic-bezier(.34,1.56,.64,1);
  position: relative; overflow: hidden;
}
/* Shine sweep on hover */
.pagination a::before {
  content: '';
  position: absolute; top: 0; left: -80%;
  width: 50%; height: 100%;
  background: linear-gradient(90deg,transparent,rgba(255,255,255,.1) 50%,transparent);
  pointer-events: none;
  transition: left 0s;
}
.pagination a:hover::before { animation: shimmer .5s ease; }
.pagination a:hover {
  border-color: var(--a);
  color: var(--a);
  transform: translateY(-3px);
  box-shadow: 0 4px 14px rgba(255,107,53,.2);
}
.pagination .current {
  background: linear-gradient(135deg,var(--a),var(--a2));
  border-color: var(--a);
  color: #fff;
  animation: pgBounce .4s ease;
  box-shadow: 0 4px 14px rgba(255,107,53,.3);
}
.pagination .dots {
  border: none; background: none; color: var(--txm);
  pointer-events: none; min-width: 20px;
}
/* prev/next arrows */
.pagination .prev-btn,
.pagination .next-btn {
  font-size: .8rem; padding: 0 .85em;
}
.pagination .prev-btn:hover,
.pagination .next-btn:hover {
  background: var(--a); border-color: var(--a); color: #fff;
  transform: translateY(-3px);
}

/* ═══════════════════════════════════════════
   SINGLE POST LAYOUT (with sidebar)
   ═══════════════════════════════════════════ */
.single-layout {
  display: grid;
  grid-template-columns: 1fr 260px;
  gap: var(--md);
  align-items: stretch;     /* both cols same height */
  padding: var(--md);
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow: visible;
}
.single-main {
  min-width: 0;
  max-width: 100%;
  overflow: visible;
  display: flex;
  flex-direction: column;
}
.single-sidebar {
  position: sticky;
  top: calc(var(--cat-h, 38px) + var(--sm));
  display: flex;
  flex-direction: column;
  gap: var(--md);
  min-width: 0;
  overflow: visible;
  /* Match height of main column */
  align-self: start;
  /* Sticky only works with align-self:start */
}

/* Trending post widget */
.trending-widget .wbox__head { border-radius: 0; }

/* Trending Now on single */
.single-trending {
  display: inline-flex; align-items: center; gap: .4em;
  font-family: var(--fd); font-size: .78rem; font-weight: 800;
  color: var(--a); margin-bottom: var(--xs);
  background: rgba(255,107,53,.1);
  padding: .3em .85em; border-radius: var(--rp);
}

@media(max-width:760px){
  .single-layout{ grid-template-columns:1fr; }
  .single-sidebar{ position:static; }
}

/* ═══════════════════════════════════════════
   BUTTON SHORTCODE STYLES
   ═══════════════════════════════════════════ */
.sv-btn-wrap {
  display: flex; flex-wrap: wrap; gap: .6rem;
  margin-block: var(--md);
}
.sv-shortcode-btn {
  display: inline-flex; align-items: center; gap: .5em;
  font-family: var(--fd); font-size: .875rem; font-weight: 700;
  padding: .6em 1.4em; border-radius: var(--rp);
  text-decoration: none; cursor: pointer; border: none;
  transition: all .22s cubic-bezier(.34,1.56,.64,1);
  position: relative; overflow: hidden; line-height: 1;
  color: #fff;
}
.sv-shortcode-btn::before {
  content:''; position:absolute; top:0; left:-80%;
  width:50%; height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.15) 50%,transparent);
  pointer-events:none;
}
.sv-shortcode-btn:hover::before { animation:shimmer .5s ease; }
.sv-shortcode-btn:hover {
  transform: translateY(-2px) scale(1.03);
  box-shadow: 0 6px 20px rgba(0,0,0,.25);
  color: #fff;
}
.sv-shortcode-btn:active { transform: scale(.97); }

/* Button color variants */
.sv-btn-orange  { background: linear-gradient(135deg,#FF6B00,#cc5500); }
.sv-btn-red     { background: linear-gradient(135deg,#E53935,#b71c1c); }
.sv-btn-pink    { background: linear-gradient(135deg,#E91E8C,#ad1457); }
.sv-btn-blue    { background: linear-gradient(135deg,#1565C0,#0d47a1); }
.sv-btn-green   { background: linear-gradient(135deg,#2ecc71,#16a34a); }
.sv-btn-purple  { background: linear-gradient(135deg,#7C5CFC,#5a3acc); }
.sv-btn-yellow  { background: linear-gradient(135deg,#FFD43B,#e6b800); color:#4a3000; }
.sv-btn-cyan    { background: linear-gradient(135deg,#17C9A0,#0a9e7c); }
.sv-btn-dark    { background: linear-gradient(135deg,#2c3e50,#1a252f); }

/* Size variants */
.sv-btn-small  { font-size:.75rem; padding:.45em 1em; }
.sv-btn-medium { font-size:.875rem; padding:.6em 1.4em; }
.sv-btn-large  { font-size:1rem; padding:.75em 1.8em; }
.sv-btn-xl     { font-size:1.1rem; padding:.85em 2em; }

/* Download area header */
.sv-download-header {
  text-align: center;
  font-family: var(--fd);
  font-size: 1rem;
  font-weight: 800;
  color: var(--tx);
  margin-block: var(--md);
  letter-spacing: .03em;
  display: flex; align-items: center; justify-content: center; gap: .5em;
}
.sv-download-header::before,
.sv-download-header::after {
  content: ''; flex: 1; height: 1px;
  background: linear-gradient(90deg, transparent, var(--a), transparent);
}

/* ═══════════════════════════════════════════
   COMMENT AREA — BEAUTIFUL LINED UI
   ═══════════════════════════════════════════ */

/* Comments area header */
.comments-hd {
  display: flex; align-items: center; gap: .6rem;
  margin-bottom: var(--md);
}
.comments-hd__icon {
  width: 30px; height: 30px; border-radius: var(--rm);
  background: rgba(255,107,53,.12); color: var(--a);
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.comments-hd__icon svg { width: 15px; height: 15px; }
.comments-hd__title {
  font-family: var(--fd); font-size: 1rem; font-weight: 800;
  letter-spacing: -.01em;
}

/* Comment list */
.comment-list { list-style: none; }

.comment-item {
  padding: var(--md) 0;
  border-bottom: 1px solid var(--bdf);
  transition: background var(--e);
}
.comment-item:last-child { border-bottom: none; }

.comment-wrap {
  display: flex; gap: .85rem; align-items: flex-start;
}

/* Avatar */
.comment-avatar {
  position: relative; flex-shrink: 0;
}
.comment-avatar__img {
  width: 44px; height: 44px; border-radius: var(--rm);
  display: block; object-fit: cover;
  border: 2px solid var(--bd);
}
.comment-author-badge {
  position: absolute; bottom: -6px; left: 50%;
  transform: translateX(-50%);
  font-family: var(--fd); font-size: .55rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: .04em;
  background: var(--a); color: #fff;
  padding: .1em .45em; border-radius: var(--rp);
  white-space: nowrap;
}

/* Comment body */
.comment-body { flex: 1; min-width: 0; }

.comment-header {
  display: flex; align-items: center;
  justify-content: space-between; gap: .5rem;
  margin-bottom: .4rem;
  padding-bottom: .4rem;
  border-bottom: 1px solid var(--bdf);
}
.comment-header__left {
  display: flex; align-items: center; gap: .5rem; flex-wrap: wrap;
}
.comment-author-name {
  font-family: var(--fd); font-size: .85rem; font-weight: 800;
  color: var(--tx);
}
.comment-time {
  font-family: var(--fd); font-size: .7rem; color: var(--txm);
}
.comment-reply {
  font-family: var(--fd); font-size: .72rem; font-weight: 700;
  color: var(--a); cursor: pointer; text-decoration: none;
  display: inline-flex; align-items: center; gap: .25em;
  padding: .2em .6em; border: 1px solid var(--a); border-radius: var(--rp);
  transition: all var(--es);
}
.comment-reply:hover { background: var(--a); color: #fff; }
.comment-reply a { color: inherit; text-decoration: none; }

.comment-text {
  font-size: .875rem; line-height: 1.7; color: var(--tx2);
}
.comment-text p { margin-bottom: .5em; }
.comment-text p:last-child { margin-bottom: 0; }

.comment-pending {
  font-family: var(--fd); font-size: .72rem;
  color: var(--txm); font-style: italic; margin-top: .4rem;
}

.comments-closed {
  font-family: var(--fd); font-size: .85rem; color: var(--txm);
  text-align: center; padding: var(--md) 0;
}

/* ── COMMENT FORM ── */
.comment-form-wrap {
  margin-top: var(--lg);
  background: var(--surf);
  border: 1.5px solid var(--bd);
  border-radius: var(--rx);
  padding: var(--lg);
  box-shadow: var(--sh0);
}

.comment-form-hd {
  display: flex; align-items: center; gap: .6rem;
  margin-bottom: var(--md);
}
.comment-form-hd__icon {
  width: 30px; height: 30px; border-radius: var(--rm);
  background: rgba(255,107,53,.12); color: var(--a);
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.comment-form-hd__icon svg { width: 14px; height: 14px; }
.comment-form-hd__title {
  font-family: var(--fd); font-size: .95rem; font-weight: 800;
}
.comment-form-hd__title a,
.comment-form-hd__user { color: var(--a); text-decoration: none; }

/* Form fields */
.cf-field-row {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: var(--md); margin-bottom: var(--md);
}
.cf-field {
  display: flex; flex-direction: column; gap: .4rem;
}
.cf-field--textarea { margin-bottom: var(--md); }

.cf-field label {
  font-family: var(--fd); font-size: .72rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: .05em; color: var(--txm);
  display: flex; align-items: center; gap: .3em;
}
.cf-field label svg { width: 13px; height: 13px; }
.cf-req { color: var(--a); }

.cf-field input,
.cf-field textarea {
  background: var(--s2);
  border: 1.5px solid var(--bd);
  border-radius: var(--rm);
  padding: .65em 1em;
  font-family: var(--fb); font-size: .9rem;
  color: var(--tx); outline: none;
  transition: border-color var(--e), box-shadow var(--e);
  width: 100%;
}
.cf-field input:focus,
.cf-field textarea:focus {
  border-color: var(--a);
  box-shadow: 0 0 0 3px rgba(255,107,53,.1);
}
.cf-field textarea {
  resize: vertical; min-height: 130px; line-height: 1.7;
}

.cf-submit-row {
  display: flex; align-items: center; gap: var(--sm);
}
.cf-submit {
  display: inline-flex; align-items: center; gap: .5em;
  font-family: var(--fd); font-size: .875rem; font-weight: 800;
  padding: .65em 1.8em; border-radius: var(--rp); border: none;
  cursor: pointer;
  background: linear-gradient(135deg, var(--a), var(--a2));
  color: #fff;
  transition: all .22s cubic-bezier(.34,1.56,.64,1);
  box-shadow: 0 3px 12px rgba(255,107,53,.25);
}
.cf-submit:hover {
  transform: translateY(-2px) scale(1.03);
  box-shadow: 0 6px 20px rgba(255,107,53,.35);
}
.cf-submit:active { transform: scale(.97); }
.cf-submit svg { width: 15px; height: 15px; }

/* Cancel reply link */
#cancel-comment-reply-link {
  font-family: var(--fd); font-size: .72rem; color: var(--txm);
  text-decoration: none; transition: color var(--e);
}
#cancel-comment-reply-link:hover { color: var(--a); }

@media(max-width:600px){
  .cf-field-row { grid-template-columns: 1fr; }
  .comment-wrap { flex-direction: row; }
  .comment-avatar__img { width:36px; height:36px; }
}

/* ═══════════════════════════════════════════
   sv-video-wrap — auto-injected iframe wrapper
   ═══════════════════════════════════════════ */
.sv-video-wrap {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
  overflow: hidden;
  width: 100%;
  max-width: 100%;
  border-radius: var(--rl);
  background: #000;
  margin-bottom: var(--md);
}
.sv-video-wrap iframe {
  position: absolute;
  top: 0; left: 0;
  width: 100% !important;
  height: 100% !important;
  border: none;
  border-radius: var(--rl);
}

/* ═══════════════════════════════════════════
   SINGLE POST — extra overflow guard
   ═══════════════════════════════════════════ */
.single-main,
.container--narrow {
  max-width: 100%;
  overflow-x: hidden;
  box-sizing: border-box;
}

/* Responsive single layout breakpoints */
@media (max-width: 820px) {
  .single-layout {
    grid-template-columns: 1fr;
    padding: var(--sm);
  }
  .single-sidebar { position: static; }
}

/* ═══════════════════════════════════════════
   RESPONSIVE BREAKPOINTS v12
   ═══════════════════════════════════════════ */

/* Mobile portrait: 320–480px */
@media (max-width: 480px) {
  :root { --md:.85rem; --lg:1.4rem; --xl:2rem; }
  .boxed-wrap { border-radius:0; }
  body { background-color:var(--bg); background-image:none; }
  .util-bar { display:none; }
  .logo-bar__ad { display:none; }
  .gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .single-layout { grid-template-columns:1fr; padding:var(--sm); }
  .single-sidebar { position: static; }
  .fwb-inner { grid-template-columns:1fr; }
  .footer-main { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; text-align:center; gap:.5rem; }
  .post-nav { grid-template-columns:1fr; }
  .share-btns { gap:.4rem; }
  .share-btn span { display:none; }
  .share-btn { padding:.45em; }
  .cat-bar__menu a { padding:.5em .7em; font-size:.72rem; }
}

/* Tablets: 481–768px */
@media (min-width:481px) and (max-width:768px) {
  body { background-color:var(--bg); background-image:none; }
  .boxed-wrap { max-width:100%; box-shadow:none; }
  .util-bar { display:none; }
  .logo-bar__ad { max-width:300px; }
  .gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .gallery-grid--2col { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .single-layout { grid-template-columns:1fr; }
  .single-sidebar { position:static; }
  .fwb-inner { grid-template-columns:1fr 1fr; }
  .footer-main { grid-template-columns:1fr 1fr; }
  .footer-bottom { flex-direction:column; }
  .post-nav { grid-template-columns:1fr; }
  .layout-wrap { grid-template-columns:1fr; }
}

/* Laptops/Small: 769–1024px */
@media (min-width:769px) and (max-width:1024px) {
  body { padding-bottom:1rem; }
  .boxed-wrap { max-width:100%; }
  .gallery-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
  .single-layout { grid-template-columns:1fr 240px; }
  .footer-main { grid-template-columns:1fr 1fr; }
  .fwb-inner { grid-template-columns:1fr 1fr; }
}

/* Desktops: 1025–1200px */
@media (min-width:1025px) and (max-width:1200px) {
  .boxed-wrap { max-width:var(--w); }
  .gallery-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

/* XL: 1201px+ */
@media (min-width:1201px) {
  .boxed-wrap { max-width:var(--w); }
  body { padding-bottom:2rem; }
}

/* ═══════════════════════════════════════════
   ADVERTISEMENT SPACES
   ═══════════════════════════════════════════ */
.sv-ad {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: auto !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  margin-block: 0 !important;
  border-radius: 0 !important;
  display: block !important;
}
/* Force ALL children of any ad space to be responsive */
.sv-ad *,
.sv-ad ins,
.sv-ad iframe,
.sv-ad img,
.sv-ad script + ins,
.sv-ad > div,
.sv-ad > a {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  display: block !important;
  box-sizing: border-box !important;
}
/* AdSense specific */
.sv-ad .adsbygoogle {
  width: 100% !important;
  max-width: 100% !important;
}

/* 468×60 top/bottom banner — responsive */
.sv-ad--top-banner,
.sv-ad--bottom-banner {
  min-height: 60px;
  max-height: 100px;
  background: var(--s2);
  border: 1px dashed var(--bd);
  display: flex; align-items: center; justify-content: center;
  text-align: center;
}
.sv-ad--top-banner { margin-bottom: var(--md); }

/* Sidebar ads — fully responsive, no fixed size */
.sv-ad--sidebar.sv-ad--300x250 {
  width: 100%;
  max-width: 100%;
  min-height: auto;
  padding: 0 !important;
  margin: 0 0 var(--md) !important;
  display: block;
  overflow: hidden;
}
.sv-ad--sidebar.sv-ad--300x250 ins,
.sv-ad--sidebar.sv-ad--300x250 iframe,
.sv-ad--sidebar.sv-ad--300x250 img,
.sv-ad--sidebar.sv-ad--300x250 > * {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  display: block;
}

/* Below header — fully responsive */
.sv-ad--below-header {
  width: 100%;
  max-width: 100%;
  min-height: auto;
  padding: 0 !important;
  margin-bottom: var(--md);
  display: block;
  overflow: hidden;
  text-align: center;
}
.sv-ad--below-header ins,
.sv-ad--below-header iframe,
.sv-ad--below-header img,
.sv-ad--below-header > * {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  display: block;
  margin-inline: auto;
}

/* Above/below article — fully responsive, no fixed height */
.sv-ad--above-article,
.sv-ad--below-article {
  width: 100%;
  max-width: 100%;
  min-height: auto;
  padding: 0 !important;
  border-radius: 0;
  display: block;
  overflow: hidden;
  text-align: center;
}
.sv-ad--above-article ins, .sv-ad--above-article iframe,
.sv-ad--above-article img, .sv-ad--above-article > *,
.sv-ad--below-article ins, .sv-ad--below-article iframe,
.sv-ad--below-article img, .sv-ad--below-article > * {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  display: block;
  margin-inline: auto;
}

/* Background image ad */
.sv-ad--bg {
  position: relative;
  min-height: 200px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex; align-items: center; justify-content: center;
  border-radius: var(--rl);
  overflow: hidden;
  margin-block: var(--lg);
}
.sv-ad--bg::before {
  content: '';
  position: absolute; inset: 0;
  background: rgba(0,0,0,.3);
  pointer-events: none;
}
.sv-ad--bg a { position: relative; z-index: 1; }

/* Placeholder label */
.sv-ad--placeholder {
  font-family: var(--fd);
  font-size: .72rem; font-weight: 700;
  color: var(--txm); letter-spacing: .05em;
  text-transform: uppercase;
}

/* All ad iframes/imgs responsive */
.sv-ad iframe,
.sv-ad img,
.sv-ad ins {
  max-width: 100% !important;
  height: auto !important;
  display: block;
}

/* ═══════════════════════════════════════════
   SHARE SECTION — box + line UI
   ═══════════════════════════════════════════ */
.share-section {
  background: var(--surf);
  border: 1.5px solid var(--bd);
  border-radius: var(--rl);
  overflow: hidden;
  margin-bottom: var(--md);
}
.share-section__head {
  background: var(--s2);
  border-bottom: 1px solid var(--bd);
  padding: .6rem var(--md);
  display: flex; align-items: center; gap: .5rem;
  font-family: var(--fd); font-size: .78rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: .06em; color: var(--txm);
}
.share-section__head svg { width: 14px; height: 14px; }
.share-btns {
  padding: .85rem var(--md);
  display: flex; flex-wrap: wrap; gap: .5rem;
}
.share-btn {
  display: inline-flex; align-items: center; gap: .4em;
  font-family: var(--fd); font-size: .75rem; font-weight: 700;
  color: #fff;
  background: var(--share-clr, #555);
  padding: .45em 1em;
  border-radius: var(--rp);
  text-decoration: none;
  transition: all .2s cubic-bezier(.34,1.56,.64,1);
  opacity: .88;
}
.share-btn:hover { opacity:1; transform:translateY(-2px) scale(1.04); color:#fff; }
.share-btn i { font-size: 13px; }

/* ═══════════════════════════════════════════
   TAGS SECTION — box + line UI
   ═══════════════════════════════════════════ */
.post-tags-section {
  background: var(--surf);
  border: 1.5px solid var(--bd);
  border-radius: var(--rl);
  overflow: hidden;
  margin-bottom: var(--md);
}
.post-tags-section__head {
  background: var(--s2);
  border-bottom: 1px solid var(--bd);
  padding: .6rem var(--md);
  display: flex; align-items: center; gap: .5rem;
  font-family: var(--fd); font-size: .78rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: .06em; color: var(--txm);
}
.post-tags-section__head svg { width: 13px; height: 13px; }
.post-tags-cloud {
  padding: .75rem var(--md);
  display: flex; flex-wrap: wrap; gap: .4em;
}

/* ═══════════════════════════════════════════
   CATEGORY DESCRIPTION
   ═══════════════════════════════════════════ */
.category-desc {
  background: var(--s2);
  border: 1.5px solid var(--bd);
  border-left: 4px solid var(--a);
  border-radius: 0 var(--rm) var(--rm) 0;
  padding: var(--md);
  margin-top: var(--sm);
  font-size: .9rem;
  color: var(--tx2);
  line-height: 1.7;
}

/* ═══════════════════════════════════════════
   GO TO TOP BUTTON
   ═══════════════════════════════════════════ */
.go-top-btn {
  position: fixed;
  bottom: 1.5rem;
  right: calc(50% - 480px + 1rem); /* align to right edge of box */
  width: 42px; height: 42px;
  background: linear-gradient(135deg, var(--a), var(--b));
  color: #fff;
  border: none; border-radius: var(--rl);
  cursor: pointer;
  display: none;
  align-items: center; justify-content: center;
  box-shadow: 0 4px 16px rgba(0,0,0,.25);
  z-index: 999;
  transition: all .3s cubic-bezier(.34,1.56,.64,1);
  opacity: 0;
}
.go-top-btn.on {
  display: flex;
  opacity: 1;
}
.go-top-btn:hover {
  transform: translateY(-4px) scale(1.1);
  box-shadow: 0 8px 24px rgba(0,0,0,.3);
}
/* On small screens, right:1rem */
@media (max-width: 979px) {
  .go-top-btn { right: 1rem; }
}

/* ═══════════════════════════════════════════
   FOOTER TEXT UPDATES
   ═══════════════════════════════════════════ */
.footer-bottom {
  border-top: 1px solid var(--bd);
  padding: var(--md) 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--md);
  flex-wrap: wrap;
}
.footer-bottom__texts {
  display: flex; flex-direction: column; gap: .25rem;
}
.footer-text-1,
.footer-text-2 {
  font-family: var(--fd); font-size: .75rem; color: var(--txm); margin: 0;
}
.footer-text-2 { opacity: .75; }
.footer-bottom__right {
  font-family: var(--fd); font-size: .75rem; color: var(--txm);
}
.footer-bottom__right a { color: var(--a); text-decoration: none; }

/* ═══════════════════════════════════════════
   ADMIN-ONLY META CHIP
   ═══════════════════════════════════════════ */
.meta-chip--admin {
  border-color: var(--a);
  color: var(--a);
  background: rgba(255,107,53,.08);
}

/* ═══════════════════════════════════════════
   RELATED SECTION — below post
   ═══════════════════════════════════════════ */
.related-section {
  margin-top: var(--lg);
}

/* ═══════════════════════════════════════════
   V12 UPDATE — ALL IMPROVEMENTS
   ═══════════════════════════════════════════ */

/* ── WIDTH 1441px + RESPONSIVE ── */
@media (min-width: 1280px) {
  .boxed-wrap { max-width:var(--w); }
  body { padding-bottom: 2rem; }
  .gallery-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .single-layout { grid-template-columns: 1fr 300px; }
  .footer-main { grid-template-columns: 2fr 1fr 1fr 1fr; }
}
@media (min-width: 769px) and (max-width: 1279px) {
  .boxed-wrap { max-width:var(--w); }
  .gallery-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .single-layout { grid-template-columns: 1fr 280px; }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .boxed-wrap { max-width: 100%; }
  .gallery-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap:10px; }
  .single-layout { grid-template-columns: 1fr 240px; }
  .footer-main { grid-template-columns: 1fr 1fr; gap:var(--md); }
  .fwb-inner { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 481px) and (max-width: 768px) {
  .boxed-wrap { max-width: 100%; box-shadow: none; }
  body { background-color: var(--bg); background-image: none; }
  .util-bar { display: none; }
  .gallery-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
  .single-layout { grid-template-columns: 1fr; }
  .single-sidebar { position: static; }
  .footer-main { grid-template-columns: 1fr 1fr; }
  .fwb-inner { grid-template-columns: 1fr; }
  .post-nav { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; text-align: center; }
}
@media (max-width: 480px) {
  .boxed-wrap { max-width: 100%; border-radius: 0; box-shadow: none; }
  body { background-color: var(--bg); background-image: none; padding-bottom: 0; }
  .util-bar, .logo-bar__ad { display: none; }
  .gallery-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; }
  .single-layout { grid-template-columns: 1fr; padding: var(--sm); }
  .single-sidebar { position: static; }
  .fwb-inner, .footer-main { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; text-align: center; gap: .5rem; }
  .post-nav { grid-template-columns: 1fr; }
  .share-btns { gap: .35rem; }
  .share-btn span { display: none; }
  .share-btn { padding: .5em .65em; }
  .cat-bar__menu a { padding: .5em .7em; font-size: .72rem; }
  .logo-bar { padding: .7rem 0; }
  .site-logo__img-wrap img, .site-logo__img-wrap .custom-logo { height: 36px; }
  .gallery-card__title { font-size: .78rem; }
  .gallery-card__body { padding: .5rem; }
}

/* ── IMPROVED DARK MODE UI ── */
[data-theme="dark"] .gallery-card {
  border-color: rgba(130,140,255,.14);
}
[data-theme="dark"] .gallery-card:hover {
  border-color: rgba(255,107,53,.4);
  background: var(--surf);
}
[data-theme="dark"] .wbox {
  border-color: rgba(130,140,255,.14);
}
[data-theme="dark"] .cat-bar {
  background: #12141E;
}
[data-theme="dark"] .logo-bar {
  background: var(--surf);
  border-bottom-color: rgba(130,140,255,.12);
}
[data-theme="dark"] .util-bar {
  background: #12141E;
}
[data-theme="dark"] .site-header-wrap {
  background: rgba(30,33,48,.92);
}
[data-theme="dark"] .footer-widget-bar {
  background: linear-gradient(135deg, #1a0a2e 0%, #1a100a 100%);
}
[data-theme="dark"] .wbox__head {
  background: var(--s3);
}
[data-theme="dark"] .single-divider {
  opacity: .3;
}
[data-theme="dark"] .share-section,
[data-theme="dark"] .post-tags-section {
  border-color: rgba(130,140,255,.14);
}

/* ── BUTTONS: spacing + improved colors ── */
.sv-btn-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;        /* comfortable spacing between buttons */
  margin-block: var(--md);
  align-items: center;
}
.sv-shortcode-btn {
  display: inline-flex; align-items: center; gap: .5em;
  font-family: var(--fd); font-size: .88rem; font-weight: 700;
  padding: .65em 1.5em;
  border-radius: var(--rp); border: none;
  cursor: pointer; text-decoration: none;
  transition: all .22s cubic-bezier(.34,1.56,.64,1);
  position: relative; overflow: hidden; line-height: 1; color: #fff;
  letter-spacing: .01em;
  box-shadow: 0 3px 12px rgba(0,0,0,.2);
}
.sv-shortcode-btn:hover {
  transform: translateY(-2px) scale(1.03);
  box-shadow: 0 6px 20px rgba(0,0,0,.3);
  color: #fff; filter: brightness(1.08);
}
.sv-shortcode-btn:active { transform: scale(.97); }
/* New button color palette */
.sv-btn-orange  { background: linear-gradient(135deg,#FF7A00,#cc5a00); }
.sv-btn-red     { background: linear-gradient(135deg,#E53935,#b71c1c); }
.sv-btn-pink    { background: linear-gradient(135deg,#E91E8C,#ad1457); }
.sv-btn-blue    { background: linear-gradient(135deg,#1565C0,#0d47a1); }
.sv-btn-green   { background: linear-gradient(135deg,#2E7D32,#1b5e20); }
.sv-btn-purple  { background: linear-gradient(135deg,#6A1B9A,#4a148c); }
.sv-btn-yellow  { background: linear-gradient(135deg,#F9A825,#e65100); }
.sv-btn-cyan    { background: linear-gradient(135deg,#00838F,#006064); }
.sv-btn-dark    { background: linear-gradient(135deg,#263238,#102027); }
/* Size variants */
.sv-btn-small  { font-size:.78rem; padding:.42em 1em; }
.sv-btn-medium { font-size:.88rem; padding:.65em 1.5em; }
.sv-btn-large  { font-size:1rem;   padding:.75em 2em; }
.sv-btn-xl     { font-size:1.1rem; padding:.85em 2.2em; }

/* ── AD SPACES: no padding, flush ── */
.sv-ad {
  padding: 0 !important;
  margin-block: 0;
  border-radius: 0;
}
.sv-ad + .sv-ad { margin-top: 0; }
/* Inline ads that need spacing use their parent's margin */
.sv-ad--above-article { margin-bottom: var(--md) !important; }
.sv-ad--below-article { margin-top: var(--md) !important; }

/* ── THICKER BORDERS AND LINES ── */
:root {
  --bdr-w: 1.5px;   /* border width token */
}
.gallery-card          { border-width: 1.5px; }
.wbox                  { border-width: 1.5px; }
.post-nav .pnl         { border-width: 1.5px; }
.single-divider        { opacity: .55; height: 1.5px; }
.share-section         { border-width: 1.5px; }
.post-tags-section     { border-width: 1.5px; }
.share-section__head   { border-bottom-width: 1.5px; }
.post-tags-section__head { border-bottom-width: 1.5px; }
.cat-bar               { border-bottom-width: 2.5px; }
.tab-widget__tabs      { border-bottom: 1.5px solid var(--bd); }
.tab-widget__tabs button { border-bottom-width: 2px; }
.pagination a, .pagination span { border-width: 1.5px; }
.sb-search input       { border-width: 1.5px; }
.category-desc         { border-left-width: 4px; border-width: 1.5px; border-left-width: 4px; }
.breadcrumbs           { border-bottom: 1px solid var(--bdf); padding-bottom: var(--sm); }
.wbox__head            { border-bottom-width: 1.5px; }
.footer-bottom         { border-top-width: 1.5px; }
.logo-bar              { border-bottom-width: 1.5px; }
.util-bar              { border-bottom-width: 1.5px; }
.header-sub, .cat-bar  { border-top-width: 1.5px; }

/* ── GALLERY IN-GRID AD (random position) ── */
.gallery-ad-slot {
  /* sits as a natural cell in the 3-col grid */
  grid-column: span 1;
  background: var(--s2);
  border: 1.5px dashed var(--bd);
  border-radius: var(--rl);
  overflow: hidden;
  padding: 0;
  margin: 0;
  /* Match card height */
  min-height: 220px;
  display: flex;
  align-items: stretch;
  justify-content: stretch;
}
/* Make any widget/ad inside fill the slot fully */
.gallery-ad-slot > *,
.gallery-ad-slot .widget,
.gallery-ad-slot ins,
.gallery-ad-slot iframe,
.gallery-ad-slot img {
  width: 100% !important;
  height: 100% !important;
  min-height: 220px;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}
[data-theme="dark"] .gallery-ad-slot {
  background: var(--s3);
  border-color: rgba(130,140,255,.15);
}

/* ── UI GENERAL IMPROVEMENTS ── */
/* Slightly rounded post card images top */
.gallery-card__img-wrap { border-radius: var(--rl) var(--rl) 0 0; }
/* Card body separator line */
.gallery-card__body { border-top: 1.5px solid var(--bdf); }
/* Trending badge - more visible */
.trending-badge { font-size: .6rem; padding: .22em .62em; letter-spacing: .04em; }
/* Section title accent */
.sec-title { letter-spacing: .05em; }
/* Widget head icons - slightly bigger */
.wbox__ico { width: 24px; height: 24px; }
/* Sidebar post thumbnails - rounded more */
.sb-post__thumb { border-radius: var(--rm); }
/* Meta chips - slightly taller */
.meta-chip { padding: .25em .75em; border-width: 1.5px; }
/* Pagination current - bolder */
.pagination .current { font-size: .9rem; min-width: 42px; height: 42px; }
/* Better focus outlines */
a:focus-visible, button:focus-visible {
  outline: 2px solid var(--a);
  outline-offset: 2px;
  border-radius: var(--rs);
}

/* ═══════════════════════════════════════════
   FINAL — WIDGET BOX LINES + SHADOW
   ═══════════════════════════════════════════ */

/* Every sidebar widget gets box + shadow + line */
.site-sidebar .widget,
.single-sidebar .widget {
  background: var(--surf);
  border: 1.5px solid var(--bd);
  border-radius: var(--rl);
  box-shadow: var(--sh1);
  overflow: hidden;
  margin-bottom: var(--md);
  transition: box-shadow var(--e);
}
.site-sidebar .widget:last-child,
.single-sidebar .widget:last-child { margin-bottom: 0; }
.site-sidebar .widget:hover,
.single-sidebar .widget:hover { box-shadow: var(--sh2); }

/* Widget title — lined header */
.site-sidebar .widget-title,
.single-sidebar .widget-title {
  font-family: var(--fd);
  font-size: .85rem;
  font-weight: 800;
  margin: 0;
  padding: .65rem var(--md);
  background: var(--s2);
  border-bottom: 1.5px solid var(--bd);
  letter-spacing: .01em;
  display: flex;
  align-items: center;
  gap: .45rem;
}
/* Colored left accent on widget title */
.site-sidebar .widget-title::before,
.single-sidebar .widget-title::before {
  content: '';
  display: inline-block;
  width: 3px;
  height: 14px;
  background: linear-gradient(180deg, var(--a), var(--b));
  border-radius: 3px;
  flex-shrink: 0;
}

/* Widget body padding */
.site-sidebar .widget > *:not(.widget-title):not(.wbox__head),
.single-sidebar .widget > *:not(.widget-title):not(.wbox__head) {
  padding: var(--md);
}
/* But don't double-pad wbox already-padded children */
.site-sidebar .widget .wbox__body { padding: var(--md); }

/* Dark mode widgets */
[data-theme="dark"] .site-sidebar .widget,
[data-theme="dark"] .single-sidebar .widget {
  border-color: rgba(120,130,230,.18);
  box-shadow: var(--sh1);
}
[data-theme="dark"] .site-sidebar .widget-title,
[data-theme="dark"] .single-sidebar .widget-title {
  background: var(--s3);
  border-bottom-color: rgba(120,130,230,.15);
}

/* ═══════════════════════════════════════════
   FOOTER — 3 COLUMNS CENTERED, NO BRAND COL
   ═══════════════════════════════════════════ */
.footer-main--3col {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--lg);
  padding: var(--xl) 0 var(--lg);
  /* Remove old 2fr 1fr 1fr 1fr layout */
}

.footer-col-box {
  background: var(--surf);
  border: 1.5px solid var(--bd);
  border-radius: var(--rl);
  overflow: hidden;
  box-shadow: var(--sh0);
  transition: box-shadow var(--e);
}
.footer-col-box:hover { box-shadow: var(--sh1); }

/* Footer col box header (title) */
.footer-col-box .footer-col-title {
  font-family: var(--fd);
  font-size: .82rem;
  font-weight: 800;
  margin: 0;
  padding: .6rem var(--md);
  background: var(--s2);
  border-bottom: 1.5px solid var(--bd);
  letter-spacing: .01em;
  display: flex;
  align-items: center;
  gap: .4rem;
}
.footer-col-box .footer-col-title::before {
  content: '';
  display: inline-block;
  width: 3px; height: 12px;
  background: linear-gradient(180deg, var(--a), var(--b));
  border-radius: 3px;
  flex-shrink: 0;
}

/* Widget inside footer col box */
.footer-col-box .widget { margin: 0; border: none; box-shadow: none; border-radius: 0; }
.footer-col-box .widget-title {
  font-family: var(--fd); font-size: .82rem; font-weight: 800;
  padding: .6rem var(--md);
  margin: 0;
  background: var(--s2);
  border-bottom: 1.5px solid var(--bd);
}
.footer-col-box .widget-title::before {
  content: '';
  display: inline-block;
  width: 3px; height: 12px;
  background: linear-gradient(180deg, var(--a), var(--b));
  border-radius: 3px;
  margin-right: .4rem;
}

/* Footer links inside box */
.footer-col-box .footer-links,
.footer-col-box ul {
  list-style: none;
  padding: var(--sm) var(--md);
}
.footer-col-box .footer-links li,
.footer-col-box ul li {
  padding: .3rem 0;
  border-bottom: 1px solid var(--bdf);
}
.footer-col-box .footer-links li:last-child,
.footer-col-box ul li:last-child { border-bottom: none; }
.footer-col-box .footer-links a,
.footer-col-box ul a {
  font-family: var(--fd); font-size: .82rem; font-weight: 500;
  color: var(--txm); text-decoration: none;
  display: flex; align-items: center; gap: .3em;
  transition: all var(--e);
}
.footer-col-box .footer-links a::before,
.footer-col-box ul a::before { content: '›'; color: var(--a); font-weight: 900; }
.footer-col-box .footer-links a:hover,
.footer-col-box ul a:hover { color: var(--a); padding-left: 4px; }

/* Dark mode footer cols */
[data-theme="dark"] .footer-col-box {
  border-color: rgba(120,130,230,.18);
}
[data-theme="dark"] .footer-col-box .footer-col-title,
[data-theme="dark"] .footer-col-box .widget-title {
  background: var(--s3);
  border-bottom-color: rgba(120,130,230,.15);
}

/* Responsive footer cols */
@media (max-width: 768px) {
  .footer-main--3col { grid-template-columns: 1fr; gap: var(--md); }
}
@media (min-width: 481px) and (max-width: 768px) {
  .footer-main--3col { grid-template-columns: 1fr 1fr; }
  .footer-col-box:last-child { grid-column: 1 / -1; }
}

/* ═══════════════════════════════════════════
   RECENT POSTS WIDGET — sb-post inside widget
   ═══════════════════════════════════════════ */
.site-sidebar .widget .sb-post,
.single-sidebar .widget .sb-post {
  padding: .55rem var(--md);
  margin: 0;
  border-radius: 0;
  border-bottom: 1px solid var(--bdf);
}
.site-sidebar .widget .sb-post:last-child,
.single-sidebar .widget .sb-post:last-child { border-bottom: none; }
.site-sidebar .widget .sb-post:hover,
.single-sidebar .widget .sb-post:hover { background: var(--s2); padding-left: calc(var(--md) + 4px); }

/* ═══════════════════════════════════════════
   WBOX inside sidebar gets no double border
   ═══════════════════════════════════════════ */
.site-sidebar .widget .wbox,
.single-sidebar .widget .wbox {
  border: none;
  box-shadow: none;
  border-radius: 0;
}

/* ═══════════════════════════════════════════
   V17 FINAL SMALL EDITS
   ═══════════════════════════════════════════ */

/* 1. Post links — new tab styles (SEO: no rel nofollow) */
.gallery-card__img-wrap[target="_blank"],
.gallery-card__title a[target="_blank"],
.post-row__img[target="_blank"],
.post-row__title a[target="_blank"] {
  cursor: pointer;
}

/* 2. [NEW] badge */
.sv-new-badge {
  display: inline-flex;
  align-items: center;
  font-family: var(--fd);
  font-size: .55rem;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
  background: var(--a);
  color: #fff;
  padding: .12em .42em;
  border-radius: var(--rp);
  vertical-align: middle;
  margin-left: .3em;
  line-height: 1.5;
  flex-shrink: 0;
  animation: badgePop .4s var(--es);
}
@keyframes badgePop {
  0%   { transform: scale(0); opacity: 0; }
  70%  { transform: scale(1.18); }
  100% { transform: scale(1); opacity: 1; }
}
/* badge on gallery card title */
.gallery-card__title .sv-new-badge { font-size: .52rem; }
/* badge on sidebar post list */
.sb-post__title .sv-new-badge { font-size: .5rem; }

/* 3. Mobile: search bar below logo/ad — always visible */
.logo-bar__mobile-search {
  display: none;
  padding: .5rem var(--md);
  border-top: 1.5px solid var(--bdf);
  background: var(--surf);
}
.logo-bar__mobile-search form {
  display: flex; gap: 0;
}
.logo-bar__mobile-search input {
  flex: 1;
  padding: .6em .9em;
  font-family: var(--fd); font-size: .85rem; font-weight: 600;
  background: var(--s2); border: 1.5px solid var(--bd);
  border-right: none;
  border-radius: var(--rm) 0 0 var(--rm);
  color: var(--tx); outline: none;
  transition: border-color var(--e);
}
.logo-bar__mobile-search input:focus { border-color: var(--a); }
.logo-bar__mobile-search button {
  padding: 0 1em;
  background: var(--a); border: none;
  border-radius: 0 var(--rm) var(--rm) 0;
  cursor: pointer; color: #fff;
  display: flex; align-items: center;
  transition: background var(--e);
}
.logo-bar__mobile-search button:hover { background: var(--a2); }
.logo-bar__mobile-search button svg { width: 16px; height: 16px; }

@media (max-width: 768px) {
  .logo-bar__mobile-search { display: block; }
  /* hide utility bar search on mobile since we have mobile search */
  .util-bar__search { display: none; }
}

/* 4. [NEW UPDATES] widget */
.sv-new-updates-widget .wbox__head { background: linear-gradient(135deg, rgba(255,107,53,.12), rgba(124,92,252,.10)); }
.sv-update-item {
  display: flex; align-items: flex-start;
  gap: .5rem;
  padding: .5rem var(--md);
  border-bottom: 1.5px solid var(--bdf);
  text-decoration: none;
  transition: all var(--e);
}
.sv-update-item:last-child { border-bottom: none; }
.sv-update-item:hover { background: var(--s2); padding-left: calc(var(--md) + 4px); }
.sv-update-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--a); flex-shrink: 0; margin-top: .45em;
}
.sv-update-title {
  font-family: var(--fd); font-size: .78rem; font-weight: 700;
  color: var(--tx); line-height: 1.35;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  transition: color var(--e);
}
.sv-update-item:hover .sv-update-title { color: var(--a); }
.sv-update-date {
  font-family: var(--fd); font-size: .62rem; color: var(--txm); margin-top: .15em;
}

/* 5. Recent Posts Large Thumbnail widget */
.sv-rp-large-item {
  display: block;
  text-decoration: none;
  border-bottom: 1.5px solid var(--bdf);
  transition: all var(--e);
  overflow: hidden;
}
.sv-rp-large-item:last-child { border-bottom: none; }
.sv-rp-large-item:hover .sv-rp-large-img img { transform: scale(1.05); }
.sv-rp-large-img {
  aspect-ratio: 16/9;
  overflow: hidden;
  background: var(--s2);
  position: relative;
}
.sv-rp-large-img img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
  transition: transform .4s ease;
}
.sv-rp-large-img-ph {
  width: 100%; height: 100%;
  background: linear-gradient(135deg, var(--a), var(--b));
}
.sv-rp-large-title {
  font-family: var(--fd); font-size: .82rem; font-weight: 700;
  color: var(--tx); line-height: 1.4;
  padding: .55rem var(--md) .6rem;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  transition: color var(--e);
}
.sv-rp-large-item:hover .sv-rp-large-title { color: var(--a); }

/* Thicker global borders reinforcement */
.wbox                  { border-width: 1.5px; }
.gallery-card          { border-width: 1.5px; }
.meta-chip             { border-width: 1.5px; }
.footer-col-box        { border-width: 1.5px; }
.share-section         { border-width: 1.5px; }
.post-tags-section     { border-width: 1.5px; }
.tab-widget__tabs      { border-bottom-width: 1.5px; }
.cat-bar               { border-bottom-width: 2.5px; }
.single-divider        { height: 1.5px; opacity: .5; }
hr                     { border-width: 1.5px; border-color: var(--bd); }

/* NEW badge hidden by default — JS reveals for unread posts */
.sv-new-hidden { display: none !important; }

/* ═══════════════════════════════════════════
   V17 CORRECTIONS
   ═══════════════════════════════════════════ */

/* ── FIX 3+4: Mobile widgets always visible ── */
@media (max-width: 768px) {
  /* Sidebars show on mobile — stacked below content */
  .site-sidebar,
  .single-sidebar {
    display: flex !important;
    flex-direction: column;
    gap: var(--md);
    position: static !important;
    width: 100%;
  }
  /* Single post layout becomes 1 col on mobile */
  .single-layout {
    grid-template-columns: 1fr !important;
  }
  /* Layout wrap (home sidebar) becomes 1 col */
  .layout-wrap {
    grid-template-columns: 1fr !important;
  }
}

/* ── FIX 4: SV New Updates widget — mobile only ── */
.sv-new-updates-widget-wrap {
  display: none; /* hidden on desktop */
}
@media (max-width: 768px) {
  .sv-new-updates-widget-wrap {
    display: block;
    padding: 0 var(--md) var(--md);
  }
}

/* ── FIX 5: Animated NEW badge — blink + pulse ── */
@keyframes svNewBlink {
  0%, 49% { opacity: 1; background: var(--a); }
  50%, 100% { opacity: .6; background: #ff3a3a; }
}
@keyframes svNewPulse {
  0%   { box-shadow: 0 0 0 0 rgba(255,107,53,.6); }
  70%  { box-shadow: 0 0 0 5px rgba(255,107,53,0); }
  100% { box-shadow: 0 0 0 0 rgba(255,107,53,0); }
}
.sv-new-badge {
  animation: svNewBlink 1.2s ease-in-out infinite, svNewPulse 1.8s ease-out infinite !important;
  border-radius: var(--rp);
}

/* Animated dot for New Updates widget */
@keyframes svDotBlink {
  0%, 49%  { opacity: 1; transform: scale(1); }
  50%, 100% { opacity: .4; transform: scale(.75); }
}
.sv-update-dot {
  animation: svDotBlink 1.4s ease-in-out infinite;
}

/* ── Width customizer CSS variable override (via wp_head output) ── */
/* Site width is controlled via Customizer → Site Width */


/* ═══════════════════════════════════════════
   GALLERY 4-COLUMN GRID
   4 per row × 6 rows = 24 items (23 posts + 1 ad)
   ═══════════════════════════════════════════ */
.gallery-grid--4col {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  width: 100%;
  box-sizing: border-box;
}

/* Ad slot in 4-col grid */
.gallery-grid--4col .gallery-ad-slot {
  grid-column: span 1;
  min-height: 200px;
}

/* Responsive breakpoints for 4-col */
@media (min-width: 1025px) and (max-width: 1280px) {
  .gallery-grid--4col { grid-template-columns: repeat(4, minmax(0,1fr)); gap: 10px; }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .gallery-grid--4col { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; }
}
@media (min-width: 481px) and (max-width: 768px) {
  .gallery-grid--4col { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 9px; }
}
@media (max-width: 480px) {
  .gallery-grid--4col { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; }
}

/* ═══════════════════════════════════════════
   RECENTLY UPDATED BAR — single post page
   1 post strip, compact, fast
   ═══════════════════════════════════════════ */
.sv-recent-update-bar {
  background: var(--s2);
  border: 1.5px solid var(--bd);
  border-left: 4px solid var(--a);
  border-radius: 0 var(--rm) var(--rm) 0;
  padding: .65rem var(--md);
  display: flex;
  align-items: center;
  gap: var(--md);
  flex-wrap: wrap;
}

.sv-recent-update-bar__label {
  display: flex;
  align-items: center;
  gap: .35em;
  font-family: var(--fd);
  font-size: .65rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--a);
  white-space: nowrap;
  flex-shrink: 0;
}
.sv-recent-update-bar__label svg { width:12px; height:12px; }

.sv-recent-update-bar__link {
  display: flex;
  align-items: center;
  gap: .5rem;
  flex: 1;
  text-decoration: none;
  min-width: 0;
  flex-wrap: wrap;
}

.sv-recent-update-bar__cat {
  font-family: var(--fd);
  font-size: .62rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: #fff;
  background: var(--b);
  padding: .15em .55em;
  border-radius: var(--rp);
  white-space: nowrap;
  flex-shrink: 0;
}

.sv-recent-update-bar__title {
  font-family: var(--fd);
  font-size: .85rem;
  font-weight: 700;
  color: var(--tx);
  flex: 1;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: color var(--e);
}
.sv-recent-update-bar__link:hover .sv-recent-update-bar__title { color: var(--a); }

.sv-recent-update-bar__date {
  font-family: var(--fd);
  font-size: .68rem;
  color: var(--txm);
  white-space: nowrap;
  flex-shrink: 0;
}

.sv-recent-update-bar__arrow {
  flex-shrink: 0;
  color: var(--txm);
  transition: transform var(--e), color var(--e);
}
.sv-recent-update-bar__link:hover .sv-recent-update-bar__arrow {
  color: var(--a);
  transform: translateX(3px);
}

[data-theme="dark"] .sv-recent-update-bar {
  background: var(--s3);
  border-color: rgba(120,130,230,.2);
  border-left-color: var(--a);
}

@media (max-width: 600px) {
  .sv-recent-update-bar { flex-direction: column; align-items: flex-start; gap: .4rem; }
  .sv-recent-update-bar__link { flex-wrap: nowrap; }
  .sv-recent-update-bar__title { font-size: .8rem; }
}

/* ═══════════════════════════════════════════
   SV RECENTLY UPDATED FEED — RSS style
   Compact, no images, title + link + date
   ═══════════════════════════════════════════ */
.sv-updates-feed {
  background: var(--surf);
  border: 1.5px solid var(--bd);
  border-radius: var(--rl);
  overflow: hidden;
}

/* Header bar */
.sv-updates-feed__head {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .65rem var(--md);
  background: var(--s2);
  border-bottom: 1.5px solid var(--bd);
  font-family: var(--fd);
  font-size: .78rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--tx2);
}
.sv-updates-feed__icon {
  display: flex; align-items: center;
  color: var(--a);
}
.sv-updates-feed__icon svg { width:14px; height:14px; }
.sv-updates-feed__count {
  margin-left: auto;
  background: var(--a);
  color: #fff;
  font-size: .6rem;
  font-weight: 800;
  padding: .15em .55em;
  border-radius: var(--rp);
  letter-spacing: .03em;
}

/* Ordered list */
.sv-updates-feed__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Each feed item */
.sv-updates-feed__item {
  display: flex;
  align-items: baseline;
  gap: .65rem;
  border-bottom: 1px solid var(--bdf);
  transition: background var(--e);
}
.sv-updates-feed__item:last-child { border-bottom: none; }
.sv-updates-feed__item:hover { background: var(--s2); }

/* Number */
.sv-updates-feed__num {
  font-family: var(--fd);
  font-size: .65rem;
  font-weight: 800;
  color: var(--txm);
  min-width: 1.6rem;
  text-align: right;
  padding: .6rem 0 .6rem var(--md);
  flex-shrink: 0;
  line-height: 1.4;
}

/* Link row */
.sv-updates-feed__link {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: .6rem;
  flex: 1;
  padding: .58rem var(--md) .58rem 0;
  text-decoration: none;
  min-width: 0;
}

/* Title */
.sv-updates-feed__title {
  font-family: var(--fd);
  font-size: .82rem;
  font-weight: 600;
  color: var(--tx2);
  line-height: 1.4;
  flex: 1;
  min-width: 0;
  transition: color var(--e);
  /* Allow wrapping for long titles */
  word-break: break-word;
}
.sv-updates-feed__item:hover .sv-updates-feed__title {
  color: var(--a);
}

/* Date — right aligned, muted */
.sv-updates-feed__date {
  font-family: var(--fd);
  font-size: .65rem;
  color: var(--txm);
  white-space: nowrap;
  flex-shrink: 0;
  padding-top: .1em; /* align with text baseline */
}

/* Dark mode */
[data-theme="dark"] .sv-updates-feed {
  border-color: rgba(120,130,230,.2);
}
[data-theme="dark"] .sv-updates-feed__head {
  background: var(--s3);
  border-bottom-color: rgba(120,130,230,.15);
}
[data-theme="dark"] .sv-updates-feed__item:hover {
  background: var(--s3);
}

/* Mobile compact */
@media (max-width: 480px) {
  .sv-updates-feed__link {
    flex-direction: column;
    gap: .2rem;
  }
  .sv-updates-feed__date {
    font-size: .6rem;
  }
}

/* ═══════════════════════════════════════════
   POST PAGE — BOX + LINES + SHADOWS (modern)
   ═══════════════════════════════════════════ */

/* Main content wrapper gets a card feel */
.single-main {
  background: var(--surf);
  border: 2px solid var(--bd);
  border-radius: var(--rx);
  /* Strong, visible shadow */
  box-shadow:
    0 2px 4px rgba(0,0,0,.06),
    0 8px 24px rgba(0,0,0,.1),
    0 20px 48px rgba(0,0,0,.08);
  overflow: visible;
  position: relative;
}
[data-theme="dark"] .single-main {
  border-color: rgba(130,140,255,.25);
  box-shadow:
    0 2px 4px rgba(0,0,0,.3),
    0 8px 24px rgba(0,0,0,.45),
    0 20px 48px rgba(0,0,0,.3);
}
.single-header {
  border-radius: calc(var(--rx) - 2px) calc(var(--rx) - 2px) 0 0;
  overflow: hidden;
}

/* Post header section — boxed */
.single-header {
  padding: var(--lg) var(--lg) var(--md);
  border-bottom: 1.5px solid var(--bdf);
}
.single-header__top { margin-bottom: var(--sm); }

/* Dividers between post sections */
.single-divider {
  height: 2px;
  background: linear-gradient(90deg, var(--a) 0%, var(--b) 50%, var(--bd) 100%);
  opacity: .55;
  margin: 0;
  border: none;
}

/* Entry content padding inside the card */
.entry-content {
  padding: var(--lg) var(--lg) var(--md);
  min-height: 80px;
}

/* Share section gets top border accent */
.share-section {
  margin: 0;
  border-radius: 0;
  border: none;
  border-top: 1.5px solid var(--bdf);
}

/* Tags section */
.post-tags-section {
  border-radius: 0;
  border: none;
  border-top: 1.5px solid var(--bdf);
}

/* Related posts inside card */
.related-section {
  padding: var(--md) var(--lg);
  border-top: 1.5px solid var(--bdf);
  margin: 0;
}

/* Post nav inside card */
.post-nav {
  padding: var(--md) var(--lg);
  border-top: 1.5px solid var(--bdf);
  margin: 0;
}

/* Breadcrumbs — above card */
.breadcrumbs {
  padding: var(--sm) 0 var(--sm);
  margin-bottom: var(--sm);
}

/* Ad spaces inside card — flush */
.sv-ad--above-article { border-radius: 0; border-top: 1.5px solid var(--bdf); }
.sv-ad--below-article { border-radius: 0; border-top: 1.5px solid var(--bdf); }

/* Sidebar card */
.single-sidebar .wbox {
  box-shadow: var(--sh1);
}

/* Dark mode card */
[data-theme="dark"] .single-main {
  border-color: rgba(120,130,230,.2);
  box-shadow: 0 4px 24px rgba(0,0,0,.4);
}

/* Meta chips inside header */
.single-meta {
  display: flex; flex-wrap: wrap; gap: .5rem;
  padding: 0;
}

/* ═══════════════════════════════════════════
   404 PAGE — Modern Attractive UI
   ═══════════════════════════════════════════ */
.sv-404-wrap {
  padding: var(--xl) 0 calc(var(--xl) * 2);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--lg);
}

/* Animated 404 number */
.sv-404-number {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .15em;
  line-height: 1;
}
.sv-404-num {
  font-family: var(--fd);
  font-size: clamp(5rem, 15vw, 9rem);
  font-weight: 900;
  background: linear-gradient(135deg, var(--a), var(--b));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  letter-spacing: -.03em;
}
.sv-404-circle {
  display: block;
  width: clamp(80px, 13vw, 140px);
  height: clamp(80px, 13vw, 140px);
  flex-shrink: 0;
}
.sv-404-circle svg { width: 100%; height: 100%; }
@keyframes sv404ring {
  to { stroke-dashoffset: 0; }
}
.sv-404-ring {
  animation: sv404ring 1.2s cubic-bezier(.4,0,.2,1) .3s forwards;
}

/* Message card */
.sv-404-card {
  background: var(--surf);
  border: 1.5px solid var(--bd);
  border-radius: var(--rx);
  box-shadow: var(--sh2);
  padding: var(--xl) var(--lg);
  max-width: 500px;
  width: 100%;
}

.sv-404-icon {
  width: 64px; height: 64px;
  background: rgba(255,107,53,.1);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto var(--md);
  color: var(--a);
}
.sv-404-icon svg { width: 30px; height: 30px; }

.sv-404-title {
  font-family: var(--fd);
  font-size: 1.5rem;
  font-weight: 800;
  margin-bottom: var(--sm);
  letter-spacing: -.01em;
}
.sv-404-desc {
  color: var(--txm);
  font-size: .9rem;
  line-height: 1.7;
  margin-bottom: var(--lg);
  max-width: 380px;
  margin-inline: auto;
}

/* Search in 404 */
.sv-404-search {
  margin-bottom: var(--md);
}
.sv-404-search form {
  display: flex; gap: 0;
  max-width: 380px;
  margin-inline: auto;
}
.sv-404-search-input {
  flex: 1;
  padding: .7em 1em;
  font-family: var(--fd); font-size: .9rem;
  background: var(--s2);
  border: 1.5px solid var(--bd);
  border-right: none;
  border-radius: var(--rp) 0 0 var(--rp);
  color: var(--tx); outline: none;
  transition: border-color var(--e);
}
.sv-404-search-input:focus { border-color: var(--a); }
.sv-404-search-btn {
  padding: 0 1.1em;
  background: linear-gradient(135deg, var(--a), var(--a2));
  border: none;
  border-radius: 0 var(--rp) var(--rp) 0;
  color: #fff; cursor: pointer;
  display: flex; align-items: center;
  transition: all var(--es);
}
.sv-404-search-btn:hover { filter: brightness(1.1); transform: scale(1.03); }

/* Action buttons */
.sv-404-actions {
  display: flex; gap: .6rem; justify-content: center; flex-wrap: wrap;
  margin-top: var(--md);
}
.sv-404-btn {
  display: inline-flex; align-items: center; gap: .4em;
  font-family: var(--fd); font-size: .85rem; font-weight: 700;
  padding: .6em 1.4em; border-radius: var(--rp);
  text-decoration: none; cursor: pointer; border: none;
  transition: all .22s cubic-bezier(.34,1.56,.64,1);
}
.sv-404-btn--primary {
  background: linear-gradient(135deg, var(--a), var(--a2));
  color: #fff;
  box-shadow: 0 3px 14px rgba(255,107,53,.3);
}
.sv-404-btn--primary:hover { color: #fff; transform: translateY(-2px); box-shadow: 0 6px 20px rgba(255,107,53,.4); }
.sv-404-btn--secondary {
  background: var(--s2);
  color: var(--tx2);
  border: 1.5px solid var(--bd);
}
.sv-404-btn--secondary:hover { background: var(--s3); color: var(--tx); transform: translateY(-2px); }

/* Suggested posts */
.sv-404-posts { width: 100%; max-width: 700px; }
.sv-404-posts-title {
  font-family: var(--fd); font-size: .82rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: .07em;
  color: var(--txm); margin-bottom: var(--md);
}
.sv-404-posts-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: var(--sm);
}
.sv-404-post-card {
  background: var(--surf);
  border: 1.5px solid var(--bd);
  border-radius: var(--rl);
  overflow: hidden;
  text-decoration: none;
  transition: all .22s ease;
  display: flex; flex-direction: column;
}
.sv-404-post-card:hover { transform: translateY(-3px); box-shadow: var(--sh2); border-color: rgba(255,107,53,.35); }
.sv-404-post-img { aspect-ratio: 16/10; overflow: hidden; }
.sv-404-post-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s; display: block; }
.sv-404-post-card:hover .sv-404-post-img img { transform: scale(1.06); }
.sv-404-post-title {
  font-family: var(--fd); font-size: .75rem; font-weight: 700;
  color: var(--tx); padding: .5rem .6rem;
  line-height: 1.35; margin: 0;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  transition: color var(--e);
}
.sv-404-post-card:hover .sv-404-post-title { color: var(--a); }

/* 404 responsive */
@media (max-width: 600px) {
  .sv-404-posts-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .sv-404-card { padding: var(--lg) var(--md); }
}
@media (max-width: 360px) {
  .sv-404-actions { flex-direction: column; align-items: center; }
}

/* ═══════════════════════════════════════════
   V26 FINAL FIXES
   ═══════════════════════════════════════════ */

/* ── FIX: All ad children always responsive ── */
.sv-ad,
.sv-ad *,
.sv-ad ins,
.sv-ad iframe,
.sv-ad embed,
.sv-ad object,
.sv-ad > div,
.sv-ad .adsbygoogle {
  max-width: 100% !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.sv-ad iframe,
.sv-ad img { height: auto !important; display: block !important; }

/* Sidebar ads — no fixed pixel constraints */
.sv-ad--sidebar,
.sv-ad--sidebar.sv-ad--300x250 {
  width: 100% !important;
  max-width: 100% !important;
  min-height: auto !important;
  min-width: 0 !important;
}

/* ── FOOTER DARK MODE TOGGLE ── */
.footer-dark-row {
  border-top: 1px solid var(--bdf);
  padding: var(--md) 0 var(--sm);
  display: flex;
  justify-content: center;
}

.footer-dark-btn {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  background: var(--s2);
  border: 1.5px solid var(--bd);
  border-radius: var(--rp);
  padding: .45em 1.2em;
  cursor: pointer;
  font-family: var(--fd);
  font-size: .78rem;
  font-weight: 700;
  color: var(--txm);
  transition: all .22s cubic-bezier(.34,1.56,.64,1);
}
.footer-dark-btn:hover {
  background: var(--s3);
  color: var(--tx);
  border-color: var(--a);
  transform: scale(1.03);
}

/* Track + thumb */
.footer-dark-btn__track {
  width: 38px; height: 20px;
  background: var(--s3);
  border: 1.5px solid var(--bd);
  border-radius: var(--rp);
  position: relative;
  flex-shrink: 0;
  transition: background .2s ease;
}
.footer-dark-btn__thumb {
  position: absolute;
  top: 2px; left: 2px;
  width: 14px; height: 14px;
  border-radius: 50%;
  background: var(--txm);
  transition: all .22s cubic-bezier(.34,1.56,.64,1);
}
/* Dark state — thumb moves right + turns accent color */
[data-theme="dark"] .footer-dark-btn__track {
  background: rgba(124,92,252,.2);
  border-color: var(--b);
}
[data-theme="dark"] .footer-dark-btn__thumb {
  left: calc(100% - 16px);
  background: var(--b);
}

/* Sun/moon icons */
.footer-dark-btn__moon,
.footer-dark-btn__sun {
  display: flex; align-items: center;
  color: var(--txm);
  transition: color .2s, opacity .2s;
}
[data-theme="dark"] .footer-dark-btn__moon { color: var(--b); }
[data-theme="light"] .footer-dark-btn__sun,
:root:not([data-theme="dark"]) .footer-dark-btn__sun { color: var(--a); }

.footer-dark-btn__label {
  font-family: var(--fd);
  font-size: .75rem;
  font-weight: 700;
  color: var(--txm);
  min-width: 68px;
  text-align: left;
}

/* ═══════════════════════════════════════════
   ADBLOCKER DETECTION
   ═══════════════════════════════════════════ */

/* The bait element — ad blockers hide/remove this */
#sv-ad-bait {
  position: absolute;
  width: 1px; height: 1px;
  left: -9999px; top: -9999px;
  opacity: 0; pointer-events: none;
}

/* Overlay — shown only when ad blocker detected */
.sv-adblock-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.82);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  z-index: 99999;
  align-items: center;
  justify-content: center;
  padding: var(--md);
}
.sv-adblock-overlay.sv-show { display: flex; }

.sv-adblock-box {
  background: var(--surf);
  border: 2px solid var(--a);
  border-radius: var(--rx);
  padding: var(--xl) var(--lg);
  max-width: 480px;
  width: 100%;
  text-align: center;
  box-shadow: 0 20px 60px rgba(0,0,0,.5);
  animation: fadeUp .3s ease;
}
.sv-adblock-icon {
  width: 64px; height: 64px;
  background: rgba(255,107,53,.12);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto var(--md);
  color: var(--a);
}
.sv-adblock-icon svg { width: 32px; height: 32px; }
.sv-adblock-title {
  font-family: var(--fd); font-size: 1.3rem; font-weight: 800;
  margin-bottom: var(--sm); color: var(--tx);
}
.sv-adblock-text {
  font-size: .9rem; color: var(--txm);
  line-height: 1.7; margin-bottom: var(--lg);
}
.sv-adblock-steps {
  background: var(--s2); border-radius: var(--rl);
  padding: var(--md); margin-bottom: var(--lg);
  text-align: left;
}
.sv-adblock-step {
  display: flex; align-items: flex-start; gap: .6rem;
  font-family: var(--fd); font-size: .82rem; color: var(--tx2);
  padding: .3rem 0; border-bottom: 1px solid var(--bdf);
}
.sv-adblock-step:last-child { border-bottom: none; }
.sv-adblock-step-num {
  width: 20px; height: 20px; border-radius: 50%;
  background: var(--a); color: #fff;
  font-size: .65rem; font-weight: 800;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; margin-top: 1px;
}
.sv-adblock-btn {
  display: inline-flex; align-items: center; gap: .4em;
  font-family: var(--fd); font-size: .9rem; font-weight: 700;
  padding: .7em 2em; border-radius: var(--rp); border: none; cursor: pointer;
  background: linear-gradient(135deg, var(--a), var(--a2));
  color: #fff;
  box-shadow: 0 4px 16px rgba(255,107,53,.3);
  transition: all .22s cubic-bezier(.34,1.56,.64,1);
}
.sv-adblock-btn:hover { transform: scale(1.04); box-shadow: 0 6px 20px rgba(255,107,53,.4); }

/* Hidden download section — revealed when no ad blocker */
.sv-dl-locked {
  position: relative;
}
.sv-dl-lock-msg {
  display: none;
  background: var(--s2);
  border: 1.5px dashed var(--a);
  border-radius: var(--rl);
  padding: var(--md);
  text-align: center;
  font-family: var(--fd); font-size: .85rem; color: var(--txm);
  margin-block: var(--md);
}
.sv-dl-lock-msg svg { color: var(--a); margin-bottom: .4rem; display: block; margin-inline: auto; }

/* Show lock message, hide content when ad blocker active */
body.sv-adblock-active .sv-dl-locked > *:not(.sv-dl-lock-msg) { display: none !important; }
body.sv-adblock-active .sv-dl-lock-msg { display: block; }

/* ── ADBLOCK — Dismiss button + shake + download lock ── */
.sv-adblock-dismiss {
  display: block;
  width: 100%;
  margin-top: .75rem;
  padding: .5em 1em;
  background: none;
  border: 1.5px solid var(--bd);
  border-radius: var(--rp);
  font-family: var(--fd); font-size: .75rem;
  color: var(--txm); cursor: pointer;
  transition: all var(--e);
}
.sv-adblock-dismiss:hover { border-color: var(--txm); color: var(--tx); }

@keyframes svAdblockShake {
  0%,100%{ transform: translateX(0); }
  15%{ transform: translateX(-6px); }
  30%{ transform: translateX(6px); }
  45%{ transform: translateX(-4px); }
  60%{ transform: translateX(4px); }
  75%{ transform: translateX(-2px); }
  90%{ transform: translateX(2px); }
}
.sv-adblock-shake { animation: svAdblockShake .6s ease !important; }

/* Download section locked by ad blocker */
.sv-dl-locked.sv-dl-blocked > *:not(.sv-dl-lock-msg) { display: none !important; }
.sv-dl-locked.sv-dl-blocked .sv-dl-lock-msg { display: block !important; }

/* ═══════════════════════════════════════════
   V29 FIXES — HEADER / NAV / DARK FLASH
   ═══════════════════════════════════════════ */

/* ── Logo bar ad: RIGHT side, always takes space ── */
.logo-bar__inner {
  display: flex;
  align-items: center;
  gap: var(--md);
  padding: var(--sm) 0;
}

.logo-bar__ad--right {
  flex-shrink: 0;
  min-width: 200px;        /* always reserves space */
  max-width: 500px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  overflow: hidden;
}
.logo-bar__ad--right ins,
.logo-bar__ad--right iframe,
.logo-bar__ad--right img,
.logo-bar__ad--right > * {
  max-width: 100% !important;
  height: auto !important;
  display: block;
}

/* Empty ad state — placeholder preserves layout */
.logo-bar__ad-empty {
  width: 100%;
  min-width: 200px;
  height: 60px;
  border: 1.5px dashed var(--bd);
  border-radius: var(--rm);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: .5;
}
.logo-bar__ad-label {
  font-family: var(--fd);
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--txm);
}

/* ── PRIMARY MENU 1 BAR — with search ── */
.primary-nav-bar {
  background: var(--s2);
  border-bottom: 1.5px solid var(--bd);
}
.primary-nav-bar__inner {
  display: flex;
  align-items: stretch;
  min-height: 44px;
  gap: 0;
}
.primary-nav-bar__menu-wrap {
  flex: 1;
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: none;
}
.primary-nav-bar__menu-wrap::-webkit-scrollbar { display: none; }

/* Primary nav menu items */
.primary-nav__menu {
  display: flex;
  align-items: stretch;
  list-style: none;
  margin: 0;
  padding: 0;
  height: 100%;
}
.primary-nav__menu li {
  display: flex;
  align-items: stretch;
  flex-shrink: 0;
}
.primary-nav__menu > li {
  border-right: 1px solid var(--bdf);
}
.primary-nav__menu a {
  display: flex;
  align-items: center;
  padding: 0 1.1em;
  font-family: var(--fd);
  font-size: .8rem;
  font-weight: 700;
  color: var(--tx2);
  text-decoration: none;
  white-space: nowrap;
  letter-spacing: .01em;
  border-bottom: 3px solid transparent;
  transition: all .18s ease;
}
.primary-nav__menu a:hover {
  color: var(--a);
  background: rgba(255,107,53,.06);
  border-bottom-color: var(--a);
}
.primary-nav__menu .current-menu-item > a,
.primary-nav__menu .current_page_item > a {
  color: var(--a);
  border-bottom-color: var(--a);
  font-weight: 800;
}

/* Search box on right of primary nav */
.primary-nav__search {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  border-left: 1.5px solid var(--bd);
}
.primary-nav__search-input {
  background: transparent;
  border: none;
  outline: none;
  padding: 0 .85rem;
  font-family: var(--fd);
  font-size: .8rem;
  color: var(--tx);
  width: 160px;
  height: 100%;
  min-height: 44px;
  transition: width .25s ease, background .2s;
}
.primary-nav__search-input::placeholder { color: var(--txm); }
.primary-nav__search-input:focus {
  width: 220px;
  background: rgba(255,107,53,.05);
}
.primary-nav__search-btn {
  background: none;
  border: none;
  border-left: 1px solid var(--bdf);
  padding: 0 .9rem;
  cursor: pointer;
  color: var(--txm);
  height: 100%;
  min-height: 44px;
  display: flex;
  align-items: center;
  transition: all .18s;
}
.primary-nav__search-btn:hover {
  color: #fff;
  background: var(--a);
}

/* Dark mode */
[data-theme="dark"] .primary-nav-bar {
  background: var(--s2);
  border-bottom-color: rgba(120,130,230,.18);
}

/* ── Prevent flash: html always defaults to dark in stylesheet ── */
html:not([data-theme]) { color-scheme: dark; }
html[data-theme="dark"] { color-scheme: dark; }
html[data-theme="light"] { color-scheme: light; }

/* Mobile: collapse search in primary nav */
@media (max-width: 768px) {
  .primary-nav-bar { display: none; } /* shown in mobile drawer */
  .logo-bar__ad--right { min-width: 0; max-width: 280px; }
  .logo-bar__ad-empty { min-width: 120px; height: 50px; }
}

/* ═══════════════════════════════════════════
   LOGO — CLEAN ANIMATED GRADIENT TEXT
   No icon prefix. Smooth, modern, attractive.
   ═══════════════════════════════════════════ */
.site-logo__text {
  display: flex;
  align-items: baseline;
  line-height: 1;
  gap: 0;
}

.site-logo__part1,
.site-logo__part2 {
  font-family: var(--fd);
  font-weight: 900;
  font-size: 1.9rem;
  letter-spacing: .05em;
  text-transform: uppercase;
  line-height: 1;
}

/* Part 1 — animated gradient sweep */
.site-logo__part1 {
  background: linear-gradient(
    90deg,
    #ffffff  0%,
    #e8e8ff 25%,
    #ffffff 50%,
    #c8caff 75%,
    #ffffff 100%
  );
  background-size: 300% 100%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: logoSweep 3.5s ease-in-out infinite;
}

/* Part 2 — orange-to-pink gradient, subtle pulse */
.site-logo__part2 {
  background: linear-gradient(90deg, var(--a) 0%, #ff3ab0 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  filter: drop-shadow(0 0 8px rgba(255,107,53,.45));
  animation: logoPulse2 2.8s ease-in-out infinite;
}

@keyframes logoSweep {
  0%   { background-position: 100% 50%; }
  50%  { background-position: 0% 50%; }
  100% { background-position: 100% 50%; }
}
@keyframes logoPulse2 {
  0%,100% { filter: drop-shadow(0 0 6px rgba(255,107,53,.4)); }
  50%     { filter: drop-shadow(0 0 14px rgba(255,58,176,.65)); }
}

/* Hover: slight scale */
.site-logo:hover .site-logo__text { transform: scale(1.025); }
.site-logo__text { transition: transform .25s ease; }

/* Light mode: keep vibrant */
[data-theme="light"] .site-logo__part1 {
  background: linear-gradient(90deg, #1a1a2e 0%, #4a4a8a 50%, #1a1a2e 100%);
  background-size: 300% 100%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: logoSweepDark 3.5s ease-in-out infinite;
}
[data-theme="light"] .site-logo__part2 {
  background: linear-gradient(90deg, var(--a) 0%, #cc0066 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
@keyframes logoSweepDark {
  0%   { background-position: 100% 50%; }
  50%  { background-position: 0% 50%; }
  100% { background-position: 100% 50%; }
}

/* Remove old icon */
.site-logo__icon { display: none !important; }
.site-logo__fb   { gap: 0 !important; }

/* ── MOBILE SEARCH BAR — top of header, mobile only ── */
.mobile-top-search {
  display: none; /* desktop hidden */
  background: var(--s2);
  border-bottom: 1.5px solid var(--bd);
  padding: .45rem var(--md);
}
.mobile-top-search__form {
  display: flex;
  align-items: center;
  background: var(--s3);
  border: 1.5px solid var(--bd);
  border-radius: var(--rp);
  overflow: hidden;
  transition: border-color .2s;
}
.mobile-top-search__form:focus-within {
  border-color: var(--a);
  box-shadow: 0 0 0 3px rgba(255,107,53,.12);
}
.mobile-top-search__input {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  padding: .55em .9em;
  font-family: var(--fd);
  font-size: .9rem;
  color: var(--tx);
  min-width: 0;
}
.mobile-top-search__input::placeholder { color: var(--txm); }
.mobile-top-search__btn {
  background: var(--a);
  border: none;
  padding: 0 1em;
  height: 38px;
  cursor: pointer;
  color: #fff;
  display: flex;
  align-items: center;
  flex-shrink: 0;
  transition: background .18s;
}
.mobile-top-search__btn:hover { background: var(--a2); }

@media (max-width: 768px) {
  .mobile-top-search { display: block; }
}

/* ═══════════════════════════════════════════
   V29c FIX — Search in util-bar, not Menu 1
   ═══════════════════════════════════════════ */

/* Util-bar inner: flex row, links left + search right */
.util-bar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--md);
  height: 34px;
}

/* Search form in util-bar */
.util-bar__search-form {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  background: rgba(255,255,255,.06);
  border: 1px solid var(--bdf);
  border-radius: var(--rp);
  overflow: hidden;
  transition: border-color .2s, box-shadow .2s;
}
.util-bar__search-form:focus-within {
  border-color: var(--a);
  box-shadow: 0 0 0 2px rgba(255,107,53,.15);
}
.util-bar__search-input {
  background: transparent;
  border: none;
  outline: none;
  padding: 0 .75rem;
  font-family: var(--fd);
  font-size: .76rem;
  color: var(--tx);
  width: 170px;
  height: 28px;
  transition: width .25s ease;
}
.util-bar__search-input::placeholder { color: var(--txm); font-size: .74rem; }
.util-bar__search-input:focus { width: 220px; }
.util-bar__search-btn {
  background: none;
  border: none;
  border-left: 1px solid var(--bdf);
  padding: 0 .65rem;
  height: 28px;
  cursor: pointer;
  color: var(--txm);
  display: flex;
  align-items: center;
  transition: all .15s;
}
.util-bar__search-btn:hover { color: #fff; background: var(--a); }

/* Primary nav bar — full width, NO search field */
.primary-nav-bar__inner {
  display: flex;
  align-items: stretch;
  min-height: 44px;
}
.primary-nav__menu {
  display: flex;
  align-items: stretch;
  list-style: none;
  margin: 0; padding: 0;
  flex: 1;
  overflow-x: auto;
  scrollbar-width: none;
}
.primary-nav__menu::-webkit-scrollbar { display: none; }
.primary-nav__menu li {
  display: flex;
  align-items: stretch;
  border-right: 1px solid var(--bdf);
  flex-shrink: 0;
}
.primary-nav__menu a {
  display: flex;
  align-items: center;
  padding: 0 1.1em;
  font-family: var(--fd);
  font-size: .8rem;
  font-weight: 700;
  color: var(--tx2);
  text-decoration: none;
  white-space: nowrap;
  border-bottom: 3px solid transparent;
  transition: all .18s;
}
.primary-nav__menu a:hover { color: var(--a); background: rgba(255,107,53,.06); border-bottom-color: var(--a); }
.primary-nav__menu .current-menu-item > a,
.primary-nav__menu .current_page_item > a { color: var(--a); border-bottom-color: var(--a); }

/* Hide old search form in primary nav (in case still rendered) */
.primary-nav__search { display: none !important; }

/* Mobile: hide util-bar search (mobile has its own top bar) */
@media (max-width: 768px) {
  .util-bar__search-form { display: none; }
  .mobile-top-search { display: block; }
}
@media (min-width: 769px) {
  .mobile-top-search { display: none !important; }
  .util-bar__search-form { display: flex; }
}

/* ═══════════════════════════════════════════
   V29c — UTIL BAR SEARCHBOX (top right)
   ═══════════════════════════════════════════ */

/* Util bar inner — flex with space-between */
.util-bar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--md);
}

/* Search box in util bar */
.util-bar__searchbox {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--rp);
  overflow: hidden;
  transition: border-color .2s, background .2s;
}
.util-bar__searchbox:focus-within {
  border-color: var(--a);
  background: rgba(255,107,53,.07);
}
.util-bar__searchbox-input {
  background: transparent;
  border: none;
  outline: none;
  padding: .3em .75em;
  font-family: var(--fd);
  font-size: .76rem;
  color: var(--tx);
  width: 180px;
  transition: width .25s ease;
}
.util-bar__searchbox-input::placeholder { color: var(--txm); }
.util-bar__searchbox-input:focus { width: 240px; }
.util-bar__searchbox-btn {
  background: none;
  border: none;
  border-left: 1px solid rgba(255,255,255,.1);
  padding: 0 .65em;
  cursor: pointer;
  color: var(--txm);
  height: 28px;
  display: flex;
  align-items: center;
  transition: color .18s, background .18s;
}
.util-bar__searchbox-btn:hover { color: var(--a); }

/* Hide on mobile (mobile-top-search used instead) */
@media (max-width: 768px) {
  .util-bar__searchbox { display: none; }
}

/* Remove old util-bar__search if any */
.util-bar__search { display: none !important; }

/* ── PRIMARY NAV: full width, no search ── */
.primary-nav-bar {
  background: var(--s2);
  border-bottom: 1.5px solid var(--bd);
}
.primary-nav-bar__inner {
  display: flex;
  align-items: stretch;
  min-height: 44px;
}
.primary-nav-bar__menu-wrap {
  flex: 1;
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: none;
}
.primary-nav-bar__menu-wrap::-webkit-scrollbar { display: none; }
.primary-nav__menu {
  display: flex;
  align-items: stretch;
  list-style: none;
  margin: 0;
  padding: 0;
  height: 100%;
}
.primary-nav__menu li { display: flex; align-items: stretch; flex-shrink: 0; border-right: 1px solid var(--bdf); }
.primary-nav__menu a {
  display: flex; align-items: center;
  padding: 0 1.1em;
  font-family: var(--fd); font-size: .8rem; font-weight: 700;
  color: var(--tx2); text-decoration: none; white-space: nowrap;
  border-bottom: 3px solid transparent;
  transition: all .18s ease;
}
.primary-nav__menu a:hover { color: var(--a); background: rgba(255,107,53,.06); border-bottom-color: var(--a); }
.primary-nav__menu .current-menu-item > a,
.primary-nav__menu .current_page_item > a { color: var(--a); border-bottom-color: var(--a); font-weight: 800; }

[data-theme="dark"] .primary-nav-bar { background: var(--s2); border-bottom-color: rgba(120,130,230,.18); }

/* Remove old search from primary nav if any */
.primary-nav__search { display: none !important; }

/* ── MOBILE TOP SEARCH ── */
.mobile-top-search {
  display: none;
  background: var(--s2);
  border-bottom: 1.5px solid var(--bd);
  padding: .45rem var(--md);
}
@media (max-width: 768px) { .mobile-top-search { display: block; } }
.mobile-top-search__form {
  display: flex; align-items: center;
  background: var(--s3);
  border: 1.5px solid var(--bd);
  border-radius: var(--rp);
  overflow: hidden;
  transition: border-color .2s;
}
.mobile-top-search__form:focus-within { border-color: var(--a); box-shadow: 0 0 0 3px rgba(255,107,53,.12); }
.mobile-top-search__input {
  flex: 1; background: transparent; border: none; outline: none;
  padding: .55em .9em; font-family: var(--fd); font-size: .9rem; color: var(--tx); min-width: 0;
}
.mobile-top-search__input::placeholder { color: var(--txm); }
.mobile-top-search__btn {
  background: var(--a); border: none; padding: 0 1em; height: 38px;
  cursor: pointer; color: #fff; display: flex; align-items: center; flex-shrink: 0;
}
.mobile-top-search__btn:hover { background: var(--a2); }

/* Hide cat-bar if still present */
.cat-bar { display: none !important; }

/* ═══════════════════════════════════════════
   SIDEBAR SEARCH — Beautiful default UI
   ═══════════════════════════════════════════ */
.sb-search {
  background: var(--surf);
  border: 1.5px solid var(--bd);
  border-top: 3px solid var(--a);
  border-radius: var(--rl);
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0,0,0,.12);
  margin-bottom: var(--md);
}
.sb-search-row {
  display: flex;
  align-items: center;
  background: var(--s2);
  border-radius: 0 0 calc(var(--rl) - 2px) calc(var(--rl) - 2px);
  overflow: hidden;
  margin: var(--sm);
  border: 1.5px solid var(--bd);
  border-radius: var(--rp);
  transition: border-color .2s, box-shadow .2s;
}
.sb-search-row:focus-within {
  border-color: var(--a);
  box-shadow: 0 0 0 3px rgba(255,107,53,.12);
}
.sb-search-row input[type="search"] {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  padding: .65em .9em;
  font-family: var(--fd);
  font-size: .85rem;
  color: var(--tx);
  min-width: 0;
}
.sb-search-row input::placeholder { color: var(--txm); }
.sb-search-row button {
  background: linear-gradient(135deg, var(--a), var(--a2));
  border: none;
  padding: 0 1em;
  height: 38px;
  cursor: pointer;
  color: #fff;
  display: flex;
  align-items: center;
  flex-shrink: 0;
  border-radius: 0 calc(var(--rp) - 2px) calc(var(--rp) - 2px) 0;
  transition: filter .18s;
}
.sb-search-row button:hover { filter: brightness(1.12); }
.sb-search-row button svg { width: 15px; height: 15px; }

/* ── REMOVE WIDGET SPACING — tight layout ── */
.wbox {
  margin-bottom: 0 !important;
}
/* Gap between widgets controlled only by the sidebar gap */
.site-sidebar,
.single-sidebar {
  gap: var(--sm) !important;  /* tighter than var(--md) */
}
/* Remove bottom margin on last wbox */
.site-sidebar > *:last-child,
.single-sidebar > *:last-child { margin-bottom: 0 !important; }

/* ── RELATED POSTS — mobile only, 4 posts, below post ── */
.related-section { display: none; }  /* hidden desktop */

@media (max-width: 768px) {
  .related-section {
    display: block !important;
    padding: var(--md) 0 0;
    margin-top: var(--md);
    border-top: 1.5px solid var(--bdf);
  }
  .related-section .gallery-grid {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: var(--sm);
    margin-top: var(--sm) !important;
  }
  .related-section .sec-title {
    font-size: .82rem;
    padding: 0 var(--sm);
  }
}

/* ═══════════════════════════════════════════
   LIGHT MODE — DARK HEADER / DARK ACCENTS
   When user switches to light mode, keep
   header/nav dark for contrast, lighten content
   ═══════════════════════════════════════════ */
[data-theme="light"] {
  /* Keep most backgrounds light */
  --bg:   #f0f2f8;
  --surf: #ffffff;
  --s2:   #f5f6fa;
  --s3:   #ebebf5;
  --tx:   #111827;
  --tx2:  #374151;
  --txm:  #6b7280;
  --bd:   rgba(0,0,0,.1);
  --bdf:  rgba(0,0,0,.06);
  --sh0:  0 1px 3px rgba(0,0,0,.06);
  --sh1:  0 2px 12px rgba(0,0,0,.08);
  --sh2:  0 8px 24px rgba(0,0,0,.12);
}

/* Header stays dark even in light mode — professional look */
[data-theme="light"] .util-bar {
  background: #111827;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
[data-theme="light"] .util-bar__links a { color: #9ca3af; }
[data-theme="light"] .util-bar__links a:hover { color: var(--a); }
[data-theme="light"] .util-bar__searchbox { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.15); }
[data-theme="light"] .util-bar__searchbox-input { color: #e5e7eb; }
[data-theme="light"] .util-bar__searchbox-input::placeholder { color: #6b7280; }

[data-theme="light"] .logo-bar {
  background: #1a1d2e;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
[data-theme="light"] .logo-bar__ad-empty {
  border-color: rgba(255,255,255,.15);
}
[data-theme="light"] .logo-bar__ad-label { color: rgba(255,255,255,.35); }
[data-theme="light"] .hamburger span { background: #e5e7eb; }

[data-theme="light"] .primary-nav-bar {
  background: #252840;
  border-bottom-color: rgba(255,255,255,.08);
}
[data-theme="light"] .primary-nav__menu a { color: #c9cde8; }
[data-theme="light"] .primary-nav__menu a:hover { color: var(--a); background: rgba(255,107,53,.1); }

/* Content area: white cards, light bg */
[data-theme="light"] .boxed-wrap {
  background: var(--bg);
  box-shadow: 0 0 40px rgba(0,0,0,.08);
}
[data-theme="light"] .gallery-card {
  background: #fff;
  border-color: rgba(0,0,0,.08);
  box-shadow: 0 2px 8px rgba(0,0,0,.07);
}
[data-theme="light"] .gallery-card__title a { color: #111827 !important; }
[data-theme="light"] .wbox { background: #fff; border-color: rgba(0,0,0,.09); }
[data-theme="light"] .wbox__head { background: #f8f9fc; border-bottom-color: rgba(0,0,0,.07); }
[data-theme="light"] .site-footer { background: #1a1d2e; }
[data-theme="light"] .footer-dark-btn { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.2); color: #c9cde8; }

/* Post page light mode */
[data-theme="light"] .single-main {
  background: #fff;
  border-color: rgba(0,0,0,.09);
  box-shadow: 0 2px 16px rgba(0,0,0,.08), 0 8px 32px rgba(0,0,0,.06);
}
[data-theme="light"] .single-sidebar .wbox { background: #fff; }

/* ═══════════════════════════════════════════
   SEARCH RESULTS PAGE
   ═══════════════════════════════════════════ */
.search-results-header {
  padding-bottom: var(--md);
  border-bottom: 2px solid var(--bd);
  margin-bottom: var(--lg);
}
.search-results-title {
  font-family: var(--fd);
  font-size: clamp(1.2rem, 3vw, 1.7rem);
  font-weight: 800;
  line-height: 1.3;
  margin: 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .35em;
}
.search-results-query {
  color: var(--a);
  background: rgba(255,107,53,.1);
  border-radius: var(--rs);
  padding: .05em .35em;
  font-style: italic;
}
.search-results-site { color: var(--b); }

.search-noresults {
  text-align: center;
  padding: var(--xl) 0;
  color: var(--txm);
}
.search-noresults svg { display: block; margin: 0 auto var(--md); }
.search-noresults p { font-size: 1rem; margin-bottom: var(--md); }
.sv-btn-back {
  display: inline-flex; align-items: center; gap: .4em;
  font-family: var(--fd); font-size: .85rem; font-weight: 700;
  padding: .6em 1.4em; border-radius: var(--rp);
  background: var(--s2); border: 1.5px solid var(--bd);
  color: var(--tx2); text-decoration: none;
  transition: all .2s;
}
.sv-btn-back:hover { background: var(--a); border-color: var(--a); color: #fff; }

/* ── ANNOUNCEMENT BAR ── */
.sv-announcement {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-family: var(--fd);
  font-size: .72rem;
  font-weight: 700;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: var(--rp);
  padding: .22em .75em;
  flex-shrink: 0;
  animation: annSlideIn .4s ease;
}
@keyframes annSlideIn {
  from { opacity:0; transform:translateY(-4px); }
  to   { opacity:1; transform:translateY(0); }
}
.sv-ann__dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--ann-clr, var(--a));
  flex-shrink: 0;
  animation: annDotBlink 1.5s ease-in-out infinite;
}
@keyframes annDotBlink {
  0%,100% { opacity: 1; transform: scale(1); }
  50%     { opacity: .4; transform: scale(.7); }
}
.sv-ann__link {
  color: #e0e2f0;
  text-decoration: none;
  transition: color .18s;
}
.sv-ann__link:hover { color: var(--ann-clr, var(--a)); }
.sv-announcement span { color: #c8cae0; }

/* ── POPUP BOX ── */
.sv-popup-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.75);
  backdrop-filter: blur(4px);
  z-index: 99998;
  align-items: center;
  justify-content: center;
  padding: var(--md);
}
.sv-popup-overlay.sv-show { display: flex; }

.sv-popup-box {
  background: var(--surf);
  border: 2px solid var(--bd);
  border-top: 3px solid var(--a);
  border-radius: var(--rx);
  box-shadow: 0 20px 60px rgba(0,0,0,.5);
  padding: var(--lg);
  max-width: 480px;
  width: 100%;
  position: relative;
  animation: popboxIn .3s cubic-bezier(.34,1.56,.64,1);
}
@keyframes popboxIn {
  from { transform: scale(.85) translateY(20px); opacity: 0; }
  to   { transform: scale(1) translateY(0); opacity: 1; }
}

.sv-popup-close {
  position: absolute;
  top: var(--sm); right: var(--sm);
  background: var(--s2); border: 1.5px solid var(--bd);
  border-radius: 50%; width: 32px; height: 32px;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; color: var(--txm);
  transition: all .18s;
}
.sv-popup-close:hover { background: var(--a); border-color: var(--a); color: #fff; transform: rotate(90deg); }

.sv-popup-title {
  font-family: var(--fd);
  font-size: 1.15rem; font-weight: 800;
  margin: 0 0 var(--md);
  padding-right: 2rem;
  color: var(--tx);
}
.sv-popup-content {
  font-size: .9rem;
  line-height: 1.7;
  color: var(--tx2);
  margin-bottom: var(--lg);
}
.sv-popup-content a { color: var(--a); }
.sv-popup-actions {
  display: flex; gap: .6rem; flex-wrap: wrap;
}
.sv-popup-btn {
  display: inline-flex; align-items: center;
  font-family: var(--fd); font-size: .85rem; font-weight: 700;
  padding: .6em 1.4em; border-radius: var(--rp);
  cursor: pointer; text-decoration: none;
  transition: all .2s cubic-bezier(.34,1.56,.64,1);
  border: none;
}
.sv-popup-btn--cta {
  background: linear-gradient(135deg, var(--a), var(--a2));
  color: #fff;
  box-shadow: 0 4px 14px rgba(255,107,53,.3);
}
.sv-popup-btn--cta:hover { transform: scale(1.04); box-shadow: 0 6px 20px rgba(255,107,53,.4); color:#fff; }
.sv-popup-btn--close {
  background: var(--s2); color: var(--tx2); border: 1.5px solid var(--bd);
}
.sv-popup-btn--close:hover { background: var(--s3); }

@media (max-width: 480px) {
  .sv-popup-box { padding: var(--md); }
  .sv-popup-actions { flex-direction: column; }
  .sv-popup-btn { justify-content: center; }
}

/* ── MOBILE ANNOUNCEMENT BAR ── */
.sv-ann-mobile-bar {
  display: none; /* desktop: hidden — util-bar shows it there */
}
@media (max-width: 768px) {
  .sv-ann-mobile-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,107,53,.1);
    border-bottom: 1px solid rgba(255,107,53,.2);
    padding: .4rem var(--md);
    min-height: 34px;
  }
  .sv-ann-mobile-bar .sv-announcement {
    background: none;
    border: none;
    padding: 0;
    font-size: .76rem;
    justify-content: center;
    text-align: center;
  }
}

/* ═══════════════════════════════════════════
   HEADER FIX — Announcement bar + mobile
   ═══════════════════════════════════════════ */

/* Unified announcement bar — shows everywhere */
.sv-ann-bar {
  background: rgba(0,0,0,.55);
  border-bottom: 1px solid rgba(255,107,53,.25);
}
.sv-ann-bar__inner {
  display: flex;
  align-items: center;
  min-height: 32px;
  padding: .25rem 0;
}
.sv-ann-bar .sv-announcement {
  background: none;
  border: none;
  padding: 0;
  font-size: .76rem;
}
[data-theme="dark"] .sv-ann-bar {
  background: rgba(255,107,53,.06);
  border-bottom-color: rgba(255,107,53,.2);
}

/* Remove old conflicting mobile-bar rules */
.sv-ann-mobile-bar { display: none !important; }

/* ── FIX: mobile-top-search — ONLY on mobile, clean rules ── */
.mobile-top-search { display: none; }

@media (max-width: 768px) {
  .mobile-top-search { display: block !important; }
}
@media (min-width: 769px) {
  .mobile-top-search { display: none !important; }
}

/* ── FIX: primary-nav-bar — make sure it's always block on desktop ── */
.primary-nav-bar { display: block; }
@media (max-width: 768px) {
  .primary-nav-bar { display: none; }
}

/* ── FIX: util-bar always visible on desktop ── */
@media (min-width: 769px) {
  .util-bar { display: block !important; }
}

/* ── FIX: logo-bar__inner layout — no overlap ── */
.logo-bar__inner {
  display: flex;
  align-items: center;
  gap: var(--md);
  flex-wrap: nowrap;
  padding: var(--sm) 0;
}
.site-logo { flex-shrink: 0; }
