/*
Theme Name: Newslite Kadri — Hilsn Final
Author: Hilsn
Description: Fast news theme with CWV-focused images, SEO meta (NewsArticle), hero+grid homepage, inline related block, after-post latest, footer menu links, Customizer controls, and Dark/Light mode.
Version: 2.0.4-align9
Text Domain: newslite-kadri
Update URI: false
*/

:root{--max:1240px;--gap:20px;--fg:#0b0b0c;--muted:#6b7280;--link:#111827;--bg:#fff;--title-size:42px;--body-size:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
html,body{overflow-x:hidden}
body{margin:0;font:16px/1.75 Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--fg);background:var(--bg)}
img{max-width:100%;height:auto;display:block}
a{color:var(--fg);text-decoration:none}a:hover{opacity:.9}
.container{max-width:var(--max);margin:auto;padding:0 18px}
@media(max-width:640px){.container{padding:0 12px}}

/* Header */
.header{position:sticky;top:0;background:var(--bg);border-bottom:1px solid #eee;z-index:50}
.header .bar{display:flex;align-items:center;gap:14px;min-height:64px}
.brand .site-title{display:inline-block;font-weight:900;font-size:26px;letter-spacing:.4px;text-transform:uppercase;line-height:1;transform:translateY(3px)}
.theme-light .brand .site-title{background:linear-gradient(90deg,#0b0b0c 0%, #0b0b0c 65%, #1f2937 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.theme-dark .brand .site-title{background:linear-gradient(90deg,#fff 0%, #e5e7eb 65%, #cbd5e1 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.brand .site-title::after{content:"";display:block;width:40px;height:3px;margin-top:6px;border-radius:999px;background:linear-gradient(90deg,#111827 0%, #0ea5e9 100%)}

/* Nav */
.nav{max-width:100%}
.nav-track{overflow-x:auto;overflow-y:hidden;white-space:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;touch-action:pan-x;overscroll-behavior-inline:contain}
.nav-track::-webkit-scrollbar{display:none}
.nav .menu{display:inline-flex;gap:16px;padding:0 6px;margin:0;list-style:none}
.nav .menu li{flex:0 0 auto}
.nav a{white-space:nowrap;font-weight:700;font-size:15px;letter-spacing:.25px;line-height:1.2;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}

/* Main */
.main{padding:28px 0}
.grid{display:grid;gap:20px}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1024px){.grid-3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.grid-3{grid-template-columns:1fr}}

.card{display:flex;flex-direction:column;gap:10px}
.card .thumb{aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#f3f4f6}
.card h3{margin:0;font-size:18px;line-height:1.25;font-weight:800}
.card .meta{font-size:12px;color:var(--muted)}
.card .excerpt{font-size:14px;color:#4b5563;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

/* Hero */
.hero{display:grid;grid-template-columns:1.35fr 1fr;gap:32px;margin:6px 0 28px;align-items:center}
.hero .title{font-size:48px;line-height:1.08;margin:0 0 8px;font-weight:900;letter-spacing:-.2px}
.hero .excerpt{color:#4b5563;font-size:17px;max-width:68ch}
.hero .thumb{aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#f3f4f6}
@media(max-width:1024px){.hero{grid-template-columns:1fr}.hero .title{font-size:36px}.hero .thumb{margin-top:8px}}
@media(max-width:640px){.hero{gap:16px}.hero .title{font-size:28px}}

/* Category hero */
.cat-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;margin:8px 0 24px;align-items:center}
.cat-hero .thumb{aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#f3f4f6}
.cat-hero .title{font-size:34px;margin:0 0 8px;font-weight:900}
.cat-hero .meta{color:var(--muted);font-size:13px;margin-bottom:8px}
@media(max-width:1024px){.cat-hero{grid-template-columns:1fr}.cat-hero .title{font-size:26px}}

/* Footer */
.footer{border-top:1px solid #eee;margin-top:28px;padding:18px 0;color:#6b7280;background:var(--bg)}
.footer .bottom{display:flex;justify-content:space-between;gap:16px;align-items:center}
.footer-nav .menu{display:flex;gap:14px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.footer-nav .menu a{color:#6b7280;font-size:14px}
.footer-nav .menu a:hover{text-decoration:underline}
@media (max-width: 700px){
  .footer .bottom{flex-direction:column;align-items:flex-start;gap:6px}
  .footer-nav{order:-1;width:100%}
  .footer-nav .menu{margin:0;padding:0}
}

/* Prose */
.prose h1{font-size:var(--title-size);line-height:1.18;margin:10px 0 6px;font-weight:900}
@media(max-width:640px){.prose h1{font-size:calc(var(--title-size) * .67)}}
.meta{color:var(--muted);font-size:14px;margin:6px 0 8px}
.featured-image{margin:14px 0 18px}
.featured-image img{border-radius:12px;width:100%;height:auto}
.prose .entry{font-size:var(--body-size);line-height:1.78}
.prose .entry p,.prose .entry li{font-size:inherit}
.prose h1,.prose .entry{max-width:68ch;margin-left:auto;margin-right:auto}
@media(max-width:640px){.prose h1,.prose .entry{max-width:92%}}

/* Tags */
.post-tags{margin-top:18px;padding-top:12px;border-top:1px solid #eee;font-size:14px}
.post-tags__label{color:#6b7280;margin-right:6px}
.post-tags a{background:#f5f5f5;border-radius:999px;padding:4px 10px;margin-right:6px;display:inline-block}
.post-tags a:hover{background:#ebebeb}

/* Related */
.related{margin:24px 0;padding:16px 0 4px;border-top:2px solid #111;border-bottom:1px solid #eee}
.related__title{margin:0 0 12px;font-size:20px;font-weight:900;letter-spacing:.4px}
.related__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:18px}
.related__item{display:flex;gap:14px;align-items:flex-start}
.related__thumb{width:120px;flex:0 0 120px;display:block;border-radius:10px;overflow:hidden;background:#f3f4f6}
.related__thumb img{width:100%;height:auto;display:block}
.related__meta{flex:1 1 auto}
.related__link{display:block;font-weight:800;font-size:18px;line-height:1.25;margin-bottom:6px;color:var(--fg)}
.related__link:hover{text-decoration:underline}
.related__byline{font-size:13px;color:var(--muted)}
@media (max-width:640px){.related__thumb{width:96px;flex-basis:96px}.related__link{font-size:16px}}

/* After-post */
.after-related{margin:24px 0 8px;padding-top:12px;border-top:1px solid #eee}
.after-related .section-title{font-size:20px;font-weight:900;margin:0 0 12px}

/* Dark mode variables */
.theme-dark{--bg:#000;--fg:#e5e7eb;--muted:#9ca3af;--link:#e5e7eb}
.theme-dark .card .excerpt{color:#cbd5e1}
.theme-dark .post-tags a{background:#1f2937}
.theme-dark .footer{border-top-color:#1f2937}


/* Align byline, tags and inline-related with the content column */
.prose .meta,
.prose .post-tags,
.prose .related{
  max-width:68ch;
  margin-left:auto;
  margin-right:auto;
}


/* Mobile layout adjustments (v2.0.4-mb) */
@media (max-width: 640px){
  /* Align byline (date/time/category) with title/content; hide author segment only on mobile */
  .prose .meta.byline{max-width:92%;margin:6px auto 10px auto;padding-left:0}
  .byline__authorsegment{display:inline}

  /* Tags in same column alignment */
  .post-tags{max-width:92%;margin:10px auto 14px auto}

  /* Inline related block alignment */
  .related .related__title{max-width:92%;margin:16px auto 8px auto;padding:0}
  .related .related__list{max-width:92%;margin:0 auto 16px auto}
}


/* Alignment tweaks v2.0.4-align */
.prose .meta.byline{ text-align:left; margin:6px 0 10px 0; padding-left:0 }
.related .related__title{ margin:16px 0 8px 0; padding:0 }
.related .related__list{ margin:0 0 16px 0 }

@media (max-width: 640px){
  /* Keep the same column feel on mobile */
  .prose .meta.byline{max-width:92%; margin-left:auto; margin-right:auto;}
  .post-tags{max-width:92%; margin-left:auto; margin-right:auto;}
  .related .related__title,
  .related .related__list{max-width:92%; margin-left:auto; margin-right:auto;}
}


/* After-related mobile alignment */
@media (max-width: 640px){
  .after-related .section-title{max-width:92%;margin-left:auto;margin-right:auto}
  .after-related .grid{max-width:92%;margin-left:auto;margin-right:auto}
}


/* v2.0.4-align4 — desktop tags alignment with article column */
.prose .post-tags{margin-left:0;margin-right:0;padding-left:0}
@media (min-width: 641px){
  .prose .post-tags{max-width:100% !important}
}


/* v2.0.4-align5 — align related meta with article title on both desktop & mobile */
.related .meta,
.related-inline .meta,
.after-related .meta,
.after-related .card .meta{
  text-align:left !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
/* Make related titles follow the same flow */
.after-related .card .title,
.related .item .title{ text-align:left }

@media (max-width: 640px){
  /* keep same column feel under article */
  .related .related__title,
  .related .related__list,
  .after-related .section-title,
  .after-related .grid{max-width:92%; margin-left:auto; margin-right:auto}
}


/* v2.0.4-align6 — category mobile width + dark header border */
@media (max-width:640px){
  .category .cat-hero,
  .category .grid,
  .category .pagination{max-width:92%;margin-left:auto;margin-right:auto}
}
.theme-dark .header{border-bottom-color:#111}


/* v2.0.4-align7 — home mobile width like category/single */
@media (max-width:640px){
  .home .hero,
  .home .section-title,
  .home .grid,
  .home .grid-3,
  .home .listing,
  .home .related,
  .home .pagination{max-width:92%;margin-left:auto;margin-right:auto}
}


/* v2.0.4-align8 — fix category mobile edges symmetrically + softer dark header line */
@media (max-width:640px){
  /* Use symmetric padding instead of width hacks to avoid one-side flush */
  .category .cat-hero,
  .category .grid,
  .category .pagination{
    max-width:none !important;
    width:auto !important;
    margin:0 !important;
    padding-left:12px !important;
    padding-right:12px !important;
  }
}
/* Fainter border in dark header (barely visible) */
.theme-dark .header{border-bottom-color: rgba(255,255,255,.06) !important}


/* v2.0.4-align9 — fix first home hero on mobile: no side-by-side, stack like the rest */
@media (max-width: 640px){
  .home .hero{display:block !important}
  .home .hero .thumb{margin-top:12px}
  .home .hero .thumb img{width:100%;height:auto;display:block}
}


/* VISUAL FIXES */
.card .thumb img{width:100%;height:100%;object-fit:cover;display:block}
/* Mobile-only horizontal nav scroller */
@media (max-width: 768px){
  .nav-track{overflow-x:auto;overflow-y:hidden;white-space:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .nav-track::-webkit-scrollbar{display:none}
  .nav .menu{display:inline-flex;gap:14px}
  .nav .menu li{flex:0 0 auto}
}
/* Grid image safety for any other thumbnails */
.hero .thumb img,
.cat-hero .thumb img{width:100%;height:100%;object-fit:cover;display:block}


.search-form{display:flex;align-items:center;gap:8px}
.search-form .search-field{flex:1 1 auto;padding:10px 12px;border:1px solid #ddd;border-radius:8px;background:transparent;color:inherit}
.search-form .search-submit{border:0;background:transparent;font-size:18px;cursor:pointer}


/* Header actions and search */
.header .bar{display:flex;align-items:center;justify-content:space-between}
.header .actions{display:flex;align-items:center;gap:12px}
.header .icon-btn{border:0;background:transparent;font-size:20px;cursor:pointer;line-height:1;padding:6px;border-radius:8px}
.header .icon-btn:focus{outline:2px solid #0000;outline-offset:2px}

/* Full-bleed nav row */
.subnav{border-top:1px solid #eee;border-bottom:1px solid #eee;background:var(--bg);}
.subnav .nav{max-width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;width:100vw}
.subnav .nav-track{overflow-x:auto;overflow-y:hidden;white-space:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.subnav .nav-track::-webkit-scrollbar{display:none}
.subnav .menu{display:inline-flex;gap:18px;padding:8px 14px;margin:0;list-style:none}
.subnav .menu li{flex:0 0 auto}

/* Search panel */
.search-panel{position:fixed;top:64px;right:12px;left:12px;max-width:720px;margin:auto;background:var(--bg);border:1px solid #ddd;border-radius:12px;padding:12px;box-shadow:0 10px 30px rgba(0,0,0,.12);display:none;z-index:60}
.search-panel.open{display:block}

/* Mobile-only tweaks */
@media (max-width: 640px){
  .card .excerpt{display:none}
  .hero .thumb{aspect-ratio:16/9}
  .hero .thumb img{width:100%;height:100%;object-fit:cover;display:block}
  .header .bar{min-height:56px}
  .subnav .menu{gap:14px;padding:8px 10px}
}


/* Header spacing tighten */
.header .bar{gap:8px;min-height:56px;padding:6px 0}
.subnav{margin-top:0;border-top:1px solid #eee;border-bottom:1px solid #eee}
.subnav .menu{padding:6px 12px}

/* Mobile: 2-column cards */
@media (max-width:640px){
  .grid-3{grid-template-columns:repeat(2,1fr)}
  .after-related .grid{grid-template-columns:repeat(2,1fr)}
  .card h3{font-size:16px}
  .card .meta{font-size:11px}
}


/* Glue subnav directly under logo bar (no vertical gap) */
.header{border-bottom:0}
.header .bar{padding-bottom:0}
.subnav{margin-top:0;border-top:1px solid #eee;position:relative;top:-1px}


/* Header container padding for safe edges */
.header .bar.container{padding-left:22px;padding-right:22px}


/* Subnav aligned with brand container */
.subnav .nav{max-width:100%;left:auto;right:auto;margin:0;padding:0}
.subnav .container{padding-left:22px;padding-right:22px}


/* Exact left alignment for subnav with brand */
.subnav .menu{padding-left:0;padding-right:0;margin-left:0}
.subnav .nav-track{padding-left:0}


/* spacing & related tweaks */
.main{padding-top:16px}
@media(max-width:768px){.main{padding-top:8px}}

/* inline related block: consistent top border & tighter spacing */
.prose .related{border-top:1px solid #eee;padding-top:8px;margin:12px 0 8px}
.theme-dark .prose .related{border-top-color:#1f2937}
@media (prefers-color-scheme:dark){.prose .related{border-top-color:#1f2937}}

/* title + list spacing a bit tighter */
.related .related__title{margin:10px 0 6px 0}
.related .related__list{margin:0 0 12px 0}

/* bring subnav closer to content */
.subnav{margin-bottom:6px}
@media(max-width:768px){.subnav{margin-bottom:4px}}


.card .meta{margin-bottom:0}
.card .meta + .excerpt,
.card .meta + p{margin-top:0;padding-top:0}

@media (prefers-color-scheme:dark){
  .subnav,
  .related,
  .after-related,
  .entry-footer,
  .post-footer,
  .prose hr,
  hr{border-color:rgba(255,255,255,.16)!important}
}
.theme-dark .subnav,
.theme-dark .related,
.theme-dark .after-related,
.theme-dark .entry-footer,
.theme-dark .post-footer,
.theme-dark .prose hr,
.theme-dark hr{border-color:rgba(255,255,255,.16)!important}
[data-theme="dark"] .subnav,
[data-theme="dark"] .related,
[data-theme="dark"] .after-related,
[data-theme="dark"] .entry-footer,
[data-theme="dark"] .post-footer,
[data-theme="dark"] .prose hr,
[data-theme="dark"] hr{border-color:rgba(255,255,255,.16)!important}

.prose iframe[src*="youtube.com"], .prose iframe[src*="youtu.be"],
.entry-content iframe[src*="youtube.com"], .entry-content iframe[src*="youtu.be"],
.wp-block-embed__wrapper iframe, .wp-has-aspect-ratio iframe {
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  aspect-ratio:16/9;
  display:block;
}

.entry-footer, .post-footer, .tags { margin-bottom: 8px !important; }
.after-related { margin-top: 10px !important; }
@media (max-width: 640px){
  .entry-footer, .post-footer, .tags { margin-bottom: 6px !important; }
  .after-related { margin-top: 8px !important; }
}


.prose .post-tags{margin-bottom:6px!important}
.after-related{border-top:0!important;padding-top:6px!important;margin-top:6px!important}
@media(max-width:640px){
  .prose .post-tags{margin-bottom:4px!important}
  .after-related{padding-top:4px!important;margin-top:4px!important}
}


@media (max-width: 991px){
  html, body{height:auto!important;overflow-y:auto!important;overflow-x:auto!important;}
  #page,.site,.site-container,.site-content,.site-main,.content,.content-area,.page-content,.container,main,.prose,.wrap{
    height:auto!important;overflow:visible!important;-webkit-overflow-scrolling:auto!important;
  }
  .single .entry-header,
  .single .entry-title,
  .single-post .entry-title,
  .single .prose>h1:first-child,
  .single .entry-content{margin-top:0!important;padding-top:0!important;}

}

/* submenu universal */
.site-header, header, .header, .main-nav { overflow: visible !important; }
.site-header nav ul, header nav ul, .header nav ul, .main-nav ul { list-style:none; margin:0; padding:0; }
.site-header nav ul li, header nav ul li, .header nav ul li, .main-nav ul li { position:relative; }
.site-header nav ul li ul, header nav ul li ul, .header nav ul li ul, .main-nav ul li ul {
  display:none; position:absolute; left:0; top:100%; z-index:9999;
  min-width:200px; background:var(--submenu-bg, #111);
  padding:8px 0; box-shadow:0 8px 24px rgba(0,0,0,.25);
}
.site-header nav ul li:hover>ul, header nav ul li:hover>ul, .header nav ul li:hover>ul, .main-nav ul li:hover>ul,
.site-header nav ul li:focus-within>ul, header nav ul li:focus-within>ul, .header nav ul li:focus-within>ul, .main-nav ul li:focus-within>ul { display:block; }
.site-header nav ul li ul li a, header nav ul li ul li a, .header nav ul li ul li a, .main-nav ul li ul li a { display:block; padding:10px 14px; white-space:nowrap; }
.site-header nav ul li ul li, header nav ul li ul li, .header nav ul li ul li, .main-nav ul li ul li { position:relative; }
.site-header nav ul li ul li ul, header nav ul li ul li ul, .header nav ul li ul li ul, .main-nav ul li ul li ul { top:0; left:100%; }


/* apply menu font-size var */
.site-header nav ul > li > a,
header nav ul > li > a,
.header nav ul > li > a,
.main-nav ul > li > a,
.main-nav .menu > li > a { font-size: var(--menu-font-size, inherit) !important; }



/* === HILSN NAV PATCH 2025-08-22 ===
   Submenu shows ONLY under its parent item (desktop), with proper layering.
   Does not affect mobile (< 992px).
*/
@media (min-width: 992px) {
  .main-nav, .site-header, .primary-nav { position: relative; z-index: 30; }
  .main-nav ul.menu > li,
  .primary-nav ul.menu > li { position: relative; }

  .main-nav ul.menu > li > ul.sub-menu,
  .primary-nav ul.menu > li > ul.sub-menu {
    position: absolute;
    left: 0;
    top: calc(100% + 10px);
    display: none;
    min-width: 220px;
    padding: 10px 0;
    margin: 0;
    background: var(--hilsn-surface, #fff);
    border-radius: 10px;
    box-shadow: 0 10px 30px rgba(0,0,0,.08);
    z-index: 9999;
    width: max-content; /* do not stretch full width */
  }

  /* Show submenu only for hovered/focused parent */
  .main-nav ul.menu > li:hover > ul.sub-menu,
  .main-nav ul.menu > li:focus-within > ul.sub-menu,
  .primary-nav ul.menu > li:hover > ul.sub-menu,
  .primary-nav ul.menu > li:focus-within > ul.sub-menu { display: block; }

  /* Prevent any full-width underline bars from appearing */
  .main-nav { border-bottom: 0 !important; }
  .main-nav .menu > li > a::after,
  .primary-nav .menu > li > a::after {
    /* if theme draws a long underline, disable it on desktop */
    content: none !important;
  }

  /* Submenu items look clean */
  .main-nav ul.sub-menu li a,
  .primary-nav ul.sub-menu li a {
    display: block;
    padding: 8px 14px;
    white-space: nowrap;
  }
}
/* === END HILSN NAV PATCH === */



/* HILSN NAV PATCH 2025-08-22 (overflow ensure) */
@media (min-width: 992px) {
  .main-nav ul.menu,
  .primary-nav ul.menu { overflow: visible !important; }
}


/* === HILSN NAV SUBMENU FIX v2 (2025-08-22) === */
@media (min-width: 992px) {
  .site-header, .header, .main-header { position: relative; z-index: 50; }
  .main-nav, .primary-nav { position: relative; z-index: 51; }
  .main-nav .menu, .primary-nav .menu { overflow: visible !important; }

  .main-nav .menu > li,
  .primary-nav .menu > li { position: relative; }

  .main-nav .menu > li > a::before,
  .main-nav .menu > li > a::after,
  .primary-nav .menu > li > a::before,
  .primary-nav .menu > li > a::after { display: none !important; content: none !important; }

  .main-nav .menu > li > .sub-menu,
  .primary-nav .menu > li > .sub-menu {
    position: absolute;
    left: 0;
    top: calc(100% + 10px);
    display: none;
    min-width: 220px;
    width: max-content;
    padding: 10px 0;
    margin: 0;
    border-radius: 10px;
    box-shadow: 0 14px 34px rgba(0,0,0,.16);
    z-index: 9999;
    background: #ffffff;
    border: 1px solid rgba(0,0,0,.06);
  }
  body.dark .main-nav .menu > li > .sub-menu,
  body.dark .primary-nav .menu > li > .sub-menu {
    background: #0f1115;
    border-color: rgba(255,255,255,.06);
    box-shadow: 0 14px 34px rgba(0,0,0,.5);
  }

  .main-nav .menu > li:hover > .sub-menu,
  .main-nav .menu > li:focus-within > .sub-menu,
  .primary-nav .menu > li:hover > .sub-menu,
  .primary-nav .menu > li:focus-within > .sub-menu { display: block; }

  .main-nav .sub-menu li a,
  .primary-nav .sub-menu li a {
    display: block;
    padding: 9px 14px;
    white-space: nowrap;
    color: inherit;
    opacity: .95;
  }
  .main-nav .sub-menu li a:hover,
  .primary-nav .sub-menu li a:hover { opacity: 1; }
}
/* === END HILSN NAV SUBMENU FIX v2 === */


/* === HILSN NAV SUBMENU FIX v3 (2025-08-22) === */
@media (min-width: 992px) {
  /* Kill any theme underline bars drawn via borders or pseudo-elements */
  .main-nav, .primary-nav { border-bottom: 0 !important; }
  .main-nav::before, .main-nav::after,
  .primary-nav::before, .primary-nav::after,
  .main-nav .menu::before, .main-nav .menu::after,
  .primary-nav .menu::before, .primary-nav .menu::after { 
    content: none !important; display: none !important; height: 0 !important; 
  }

  /* Base positioning & overflow */
  .site-header, .header, .main-header { position: relative; z-index: 40; }
  .main-nav, .primary-nav { position: relative; z-index: 41; }
  .main-nav .menu, .primary-nav .menu { overflow: visible !important; }
  .main-nav .menu > li, .primary-nav .menu > li { position: relative; overflow: visible !important; }

  /* Ensure anchor pseudo elements don't draw bars */
  .main-nav .menu > li > a::before,
  .main-nav .menu > li > a::after,
  .primary-nav .menu > li > a::before,
  .primary-nav .menu > li > a::after { content: none !important; display: none !important; }

  /* Submenu panel */
  .main-nav .menu > li > .sub-menu,
  .primary-nav .menu > li > .sub-menu {
    position: absolute;
    left: 0;
    top: calc(100% + 10px);
    display: none;
    visibility: hidden;
    opacity: 0;
    transform: translateY(0);
    min-width: 220px;
    width: max-content;
    padding: 10px 0;
    margin: 0;
    border-radius: 10px;
    background: #ffffff;
    border: 1px solid rgba(0,0,0,.06);
    box-shadow: 0 14px 34px rgba(0,0,0,.16);
    z-index: 10000 !important; /* above any header bars */
    transition: opacity .12s ease, visibility .12s ease;
  }
  body.dark .main-nav .menu > li > .sub-menu,
  body.dark .primary-nav .menu > li > .sub-menu {
    background: #0f1115;
    border-color: rgba(255,255,255,.06);
    box-shadow: 0 14px 34px rgba(0,0,0,.5);
  }

  /* Show submenu only for hovered/focused parent */
  .main-nav .menu > li:hover > .sub-menu,
  .main-nav .menu > li:focus-within > .sub-menu,
  .primary-nav .menu > li:hover > .sub-menu,
  .primary-nav .menu > li:focus-within > .sub-menu {
    display: block;
    visibility: visible;
    opacity: 1;
  }

  /* Items inside */
  .main-nav .sub-menu li a,
  .primary-nav .sub-menu li a {
    display: block;
    padding: 9px 14px;
    white-space: nowrap;
    color: inherit;
    opacity: .95;
  }
  .main-nav .sub-menu li a:hover,
  .primary-nav .sub-menu li a:hover { opacity: 1; }
}
/* === END HILSN NAV SUBMENU FIX v3 === */

/* === HILSN UNIVERSAL NAV SUBMENU FIX v4 (2025-08-22) === */
@media (min-width: 1024px) {
  /* Ensure header containers don't clip the dropdowns */
  .site-header, .header, .main-header, .navbar, .nav-wrap { position: relative; z-index: 40; overflow: visible !important; }
  .nav, .navigation, .primary-nav, .main-nav { position: relative; z-index: 41; border-bottom: 0 !important; }

  /* Kill any underline bars drawn anywhere */
  .nav::before, .nav::after, .navigation::before, .navigation::after,
  .primary-nav::before, .primary-nav::after, .main-nav::before, .main-nav::after,
  .nav .menu::before, .nav .menu::after, .navigation .menu::before, .navigation .menu::after,
  .primary-nav .menu::before, .primary-nav .menu::after, .main-nav .menu::before, .main-nav .menu::after,
  .nav .menu > li > a::before, .nav .menu > li > a::after,
  .navigation .menu > li > a::before, .navigation .menu > li > a::after,
  .primary-nav .menu > li > a::before, .primary-nav .menu > li > a::after,
  .main-nav .menu > li > a::before, .main-nav .menu > li > a::after,
  .menu-divider, .menu-divider::before, .menu-divider::after, .header hr {
    content: none !important; display: none !important; border: 0 !important; height: 0 !important; box-shadow: none !important;
  }

  /* Structure */
  .nav .menu, .navigation .menu, .primary-nav .menu, .main-nav .menu { 
    display: flex; align-items: center; gap: 22px; overflow: visible !important; 
  }
  .nav .menu > li, .navigation .menu > li, .primary-nav .menu > li, .main-nav .menu > li { position: relative; overflow: visible !important; }

  /* Panel */
  .nav .menu > li > .sub-menu,
  .navigation .menu > li > .sub-menu,
  .primary-nav .menu > li > .sub-menu,
  .main-nav .menu > li > .sub-menu {
    position: absolute;
    left: 0;
    top: calc(100% + 12px);
    display: none; visibility: hidden; opacity: 0;
    min-width: 220px; width: max-content; padding: 10px 0; margin: 0;
    border-radius: 10px;
    background: #ffffff; color: inherit;
    border: 1px solid rgba(0,0,0,.08);
    box-shadow: 0 16px 40px rgba(0,0,0,.15);
    z-index: 10000 !important;
    transition: opacity .12s ease, visibility .12s ease;
  }
  body.dark .nav .menu > li > .sub-menu,
  body.dark .navigation .menu > li > .sub-menu,
  body.dark .primary-nav .menu > li > .sub-menu,
  body.dark .main-nav .menu > li > .sub-menu {
    background:#0f1115; border-color: rgba(255,255,255,.08); box-shadow: 0 16px 40px rgba(0,0,0,.5);
  }

  /* Show only on the hovered parent */
  .nav .menu > li.menu-item-has-children:hover > .sub-menu,
  .navigation .menu > li.menu-item-has-children:hover > .sub-menu,
  .primary-nav .menu > li.menu-item-has-children:hover > .sub-menu,
  .main-nav .menu > li.menu-item-has-children:hover > .sub-menu,
  .nav .menu > li:focus-within > .sub-menu,
  .navigation .menu > li:focus-within > .sub-menu,
  .primary-nav .menu > li:focus-within > .sub-menu,
  .main-nav .menu > li:focus-within > .sub-menu {
    display: block; visibility: visible; opacity: 1;
  }

  /* Items */
  .nav .sub-menu li a, .navigation .sub-menu li a, .primary-nav .sub-menu li a, .main-nav .sub-menu li a {
    display: block; padding: 9px 14px; white-space: nowrap; color: inherit; opacity: .95;
  }
  .nav .sub-menu li a:hover, .navigation .sub-menu li a:hover, .primary-nav .sub-menu li a:hover, .main-nav .sub-menu li a:hover { opacity: 1; }
}
/* === END HILSN UNIVERSAL NAV SUBMENU FIX v4 === */

/* === HILSN SUBNAV NAV-TRACK FIX v5 (2025-08-22) === */
@media (min-width: 1024px) {
  .subnav .nav-track { overflow: visible !important; }
  .subnav .menu > li { position: relative; }
  .subnav .menu > li > .sub-menu {
    position: absolute;
    left: 0;
    top: calc(100% + 10px);
    display: none;
    min-width: 220px;
    width: max-content;
    padding: 10px 0;
    margin: 0;
    border-radius: 10px;
    background: #ffffff;
    border: 1px solid rgba(0,0,0,.08);
    box-shadow: 0 16px 40px rgba(0,0,0,.15);
    z-index: 10000 !important;
  }
  body.dark .subnav .menu > li > .sub-menu {
    background:#0f1115; border-color: rgba(255,255,255,.08); box-shadow: 0 16px 40px rgba(0,0,0,.5);
  }
  .subnav .menu > li:hover > .sub-menu,
  .subnav .menu > li:focus-within > .sub-menu { display: block; }
  /* Remove scrollbar-like bars visually on desktop */
  .subnav .nav-track::-webkit-scrollbar { display: none !important; height: 0 !important; }
  .subnav { border-bottom: 0 !important; }
}
/* Page defaults */
.page-entry { max-width: 820px; margin: 24px auto; }
.page-entry .page-title { font-size: 34px; line-height: 1.15; margin-bottom: 14px; }
.page-entry .entry-content { font-size: 18px; line-height: 1.75; }

/* === HILSN SUBMENU CLICKABILITY + MOBILE FIX v6 (2025-08-22) === */
/* Desktop: keep submenu attached to parent so cursor doesn't "fall" through the gap */
@media (min-width: 1024px) {
  .subnav .menu > li { position: relative; padding-bottom: 0; }
  .subnav .menu > li > .sub-menu {
    top: 100% !important;           /* no gap */
    margin-top: 0 !important;
  }
  /* Keep visible while cursor is inside the panel (paranoia for some browsers) */
  .subnav .menu > li:hover > .sub-menu,
  .subnav .menu > li > .sub-menu:hover,
  .subnav .menu > li:focus-within > .sub-menu { 
    display: block !important; visibility: visible !important; opacity: 1 !important;
  }
}

/* Mobile: remove "hije" bar and render submenus as normal blocks under parent */
@media (max-width: 1023px) {
  .subnav { border-top: 0 !important; border-bottom: 0 !important; }
  .subnav .nav-track { overflow: auto; }
  .subnav .menu { gap: 16px; }
  .subnav .menu > li { position: static; }
  .subnav .menu > li > .sub-menu {
    position: static !important;
    display: block !important;   /* visible list under its parent */
    padding: 6px 0;
    margin: 6px 0 0;
    border: 0;
    box-shadow: none;
    background: transparent;
  }
  .subnav .menu > li > .sub-menu a { padding: 6px 8px; border-radius: 6px; }
  .subnav .menu > li > .sub-menu a:active { background: rgba(0,0,0,.06); }
  body.dark .subnav .menu > li > .sub-menu a:active { background: rgba(255,255,255,.06); }
}
/* === END FIX v6 === */

/* === HILSN MOBILE SUBMENU OFF v7 (2025-08-22) === */
@media (max-width: 1023px) {
  .subnav .menu > li > .sub-menu { display: none !important; }
  .subnav .menu > li:hover > .sub-menu,
  .subnav .menu > li:focus-within > .sub-menu { display: none !important; }
}
/* === END MOBILE SUBMENU OFF v7 === */

/* === HILSN DARK SUBMENU COLORS v9 (2025-08-22) === */
body.dark .subnav .menu > li > .sub-menu {
  background: #0f1115 !important;
  border-color: rgba(255,255,255,.08) !important;
  color: #f8fafc !important;
  box-shadow: 0 16px 40px rgba(0,0,0,.6) !important;
}
body.dark .subnav .sub-menu a {
  color: #e5e7eb !important;
}
body.dark .subnav .sub-menu a:hover {
  color: #ffffff !important;
  background: rgba(255,255,255,.06);
}
/* === END v9 === */


/* === A11Y ONLY (no color changes) — 2025-08-22 === */

/* Links visible without relying on color */
.entry a, .byline a{
  text-decoration: underline;
  text-underline-offset: .12em;
  text-decoration-thickness: .08em;
}
.entry a:hover, .byline a:hover{ text-decoration-thickness: .12em; }

/* Visible keyboard focus for links */
a:focus-visible{
  outline: 2px solid #60a5fa;
  outline-offset: 2px;
  border-radius: 4px;
}

/* Meta/byline readability (keep original colors, remove opacity dimming) */
.meta, .meta a, .byline, .byline a,
.byline__date, .byline__time, .byline__sep{
  opacity: 1 !important;
}

/* "Lexo EDHE" titles: no underline normally, underline on keyboard focus */
.related__title a, .related__link{ text-decoration: none !important; }
.related__title a:focus-visible, .related__link:focus-visible{ text-decoration: underline !important; }

/* Submenu behavior (desktop shows under its parent; mobile off). No color definitions. */
@media (min-width:1024px){
  .subnav .nav-track{ overflow: visible !important; }
  .subnav .menu>li{ position: relative; }
  .subnav .menu>li>.sub-menu{
    position: absolute; left: 0; top: 100%; margin-top: 0;
    display: none; min-width: 220px; width: max-content; padding: 10px 0;
    border-radius: 10px; z-index: 10000;
  }
  .subnav .menu>li:hover>.sub-menu,
  .subnav .menu>li:focus-within>.sub-menu{ display: block; }
}
@media (max-width:1023px){
  .subnav .menu>li>.sub-menu{ display: none !important; }
}
/* === END A11Y ONLY === */

/* A11Y: Fix contrast for the 'Tags:' label only */
.post-tags__label{ color:#111827 !important; opacity:1 !important; }
body.dark .post-tags__label{ color:#ffffff !important; opacity:1 !important; }

/* === A11Y BOOST 100 (2025-08-22) === */
/* 1) Footer contrast */
.site-footer, footer.footer, .footer, .footer .copyright, .copyright{
  color:#e5e7eb !important; /* high contrast on dark footer */
}
.footer a{ color:#ffffff !important; text-decoration: underline; text-underline-offset:.12em; }
.footer a:hover{ text-decoration-thickness:.12em; }

/* 2) Links distinguishable beyond color in meta and category badges */
.meta a, .post-cat a{
  text-decoration: underline;
  text-underline-offset:.08em;
  text-decoration-thickness:.08em;
}
.meta a:hover, .post-cat a:hover{ text-decoration-thickness:.12em; }
/* Keep "Lexo EDHE" titles without underline (already handled elsewhere) */
/* === END A11Y BOOST === */

/* A11Y MINIMAL v2: underline only the flagged links */
/* Anchor that has class="post-cat" */
a.post-cat{
  text-decoration: underline !important;
  text-underline-offset: .1em;
  text-decoration-thickness: .08em;
}
a.post-cat:hover{ text-decoration-thickness: .12em; }

/* Related byline container -> underline its links */
.related__byline a{
  text-decoration: underline !important;
  text-underline-offset: .1em;
  text-decoration-thickness: .08em;
}
.related__byline a:hover{ text-decoration-thickness: .12em; }

.entry hr,.single .entry hr,.entry .wp-block-separator,.single .entry .wp-block-separator{display:none!important;height:0!important;border:0!important;background:transparent!important;}
.entry .wp-block-embed.is-provider-facebook,.entry figure.wp-block-embed.is-provider-facebook,.entry-content .wp-block-embed.is-provider-facebook,.entry-content figure.wp-block-embed.is-provider-facebook{max-width:100%;width:100%;margin-left:auto;margin-right:auto;overflow:visible;}
.entry iframe[src*="facebook.com"],.entry-content iframe[src*="facebook.com"]{display:block;max-width:100%;width:100%;border:0;}
@media (max-width:782px){.entry .wp-block-columns{display:block!important;}.entry .wp-block-columns .wp-block-column{width:100%!important;max-width:100%!important;flex-basis:100%!important;}}
.single .entry,.single .entry-content{overflow:visible!important;}
.entry iframe,.entry embed,.entry object,.entry video,.entry img{max-width:100%;}
.entry .alignwide,.entry .alignfull{max-width:100%;margin-left:0;margin-right:0;}
.single .post-tags,.single .entry .post-tags,.single .tags,.single .tag-links,.single .tags-links,.single .entry-footer,.single .meta-bottom{border-top:0!important;box-shadow:none!important;background-image:none!important;}
.single .post-tags::before,.single .entry-footer::before,.single .meta-bottom::before{content:none!important;}



/* === HILSN PATCH 2025-08-24 ===
   Make footer copyright text pure black ONLY in light mode.
   Dark mode remains unchanged. */
body:not(.dark) .footer .copyright,
body:not(.dark) .copyright{ color:#000 !important; }
