/*
Theme Name: Humanity Theme
Theme URI: https://humanitydriven.com/
Author: HumanityDriven LLC
Author URI: https://humanitydriven.com/
Description: Light, fast, mobile-first classic theme for the HumanityDriven network (News Rank news sites, SendUsPics and new sites). Pinned header with Site Title or logo, per-site menu with an accessible hamburger, Light / Dark / Auto modes, per-site background, optional footer, month and category archives, and ad-slot hooks. Header typography, colour and layout settings, header right side (menu / News Rank login / shortcode) a News front page template, block editor support (theme.json), Card and Slider Group styles, Look export/import and Network Additional CSS. Inter, Fredoka, Baloo 2, Oswald and Bebas Neue fonts are bundled (SIL OFL 1.1). No jQuery on the front end.
Version: 1.1.0
Requires at least: 6.0
Tested up to: 6.8
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: humanity
Tags: one-column, custom-logo, custom-menu, custom-background, featured-images, accessibility-ready, translation-ready, threaded-comments, block-styles, wide-blocks, news
*/

/* ---------- Fonts (Inter, SIL OFL 1.1, see assets/fonts/OFL.txt) ---------- */
@font-face{font-family:"Inter";font-style:normal;font-weight:400 700;font-display:swap;src:url("assets/fonts/inter-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:400 700;font-display:swap;src:url("assets/fonts/inter-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Inter";font-style:italic;font-weight:400 700;font-display:swap;src:url("assets/fonts/inter-italic-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ---------- Colour modes (CSS variables) ----------
   Light is the base. Dark applies for data-mode="dark", and for data-mode="auto" when the device prefers dark.
   --nr-* are News Rank's own variables, set here so its rails follow the site mode. */
:root{
  --h-font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --h-width:1210px;
  --h-gutter:16px;
  --h-header-h:var(--h-hh-m,56px);
  --h-logo-max:40px;
  --h-top:0px;
  --h-bg:#f6f7f7; --h-fg:#111418; --h-muted:#4b5259; --h-surface:#ffffff; --h-border:#d5d9dd;
  --h-link:#0b5cad; --h-accent:#0b5cad; --h-accent-fg:#ffffff; --h-focus:#0b5cad;
  --h-header-bg:#ffffff; --h-header-fg:#111418;
  --nr-bg:#f6f7f7; --nr-surface:#ffffff; --nr-surface-2:#f1f3f5; --nr-fg:#111418; --nr-muted:#4b5259; --nr-subtle:#5f666d;
  --nr-accent:#0b5cad; --nr-accent-fg:#ffffff; --nr-border:#d5d9dd;
  color-scheme:light;
}
html[data-mode="dark"]{
  --h-bg:#0b0d10; --h-fg:#f4f6f8; --h-muted:#b4bac1; --h-surface:#14171b; --h-border:#2b3138;
  --h-link:#6cc8ff; --h-accent:#2ee6d6; --h-accent-fg:#04110f; --h-focus:#ffd24d;
  --h-header-bg:#0b0d10; --h-header-fg:#f4f6f8;
  --nr-bg:#070809; --nr-surface:#121417; --nr-surface-2:#181b1f; --nr-fg:#f4f6f8; --nr-muted:#a3a9b1; --nr-subtle:#7c838c;
  --nr-accent:#2ee6d6; --nr-accent-fg:#04110f; --nr-border:#23282e;
  color-scheme:dark;
}
@media (prefers-color-scheme:dark){
  html[data-mode="auto"]{
    --h-bg:#0b0d10; --h-fg:#f4f6f8; --h-muted:#b4bac1; --h-surface:#14171b; --h-border:#2b3138;
    --h-link:#6cc8ff; --h-accent:#2ee6d6; --h-accent-fg:#04110f; --h-focus:#ffd24d;
    --h-header-bg:#0b0d10; --h-header-fg:#f4f6f8;
    --nr-bg:#070809; --nr-surface:#121417; --nr-surface-2:#181b1f; --nr-fg:#f4f6f8; --nr-muted:#a3a9b1; --nr-subtle:#7c838c;
    --nr-accent:#2ee6d6; --nr-accent-fg:#04110f; --nr-border:#23282e;
    color-scheme:dark;
  }
}

/* ---------- Base (zero-specificity :where() so plugin styles always win) ---------- */
html{font-size:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--h-header-h) + var(--h-top) + 8px)}
body{margin:0;background-color:var(--h-bg);color:var(--h-fg);font-family:var(--h-font);font-size:1rem;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-wrap:break-word}
:where(*,*::before,*::after){box-sizing:border-box}
:where(img,video,iframe,embed,object,svg){max-width:100%}
:where(img,video){height:auto}
:where(.h-prose) :where(a){color:var(--h-link);text-underline-offset:.15em}
:where(.h-prose) :where(a:hover){text-decoration-thickness:2px}
:where(h1,h2,h3,h4,h5,h6){line-height:1.2;margin:1.4em 0 .5em}
:where(p,ul,ol,figure,blockquote,pre,table){margin:0 0 1em}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--h-focus);outline-offset:2px}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.screen-reader-text:focus{background:var(--h-surface);clip:auto;clip-path:none;color:var(--h-fg);display:block;font-size:1rem;font-weight:600;height:auto;left:8px;padding:12px 16px;top:8px;width:auto;z-index:100000}
.h-skip:focus{position:fixed!important}

/* ---------- Layout ---------- */
.h-wrap{width:100%;max-width:var(--h-width);margin-inline:auto;padding-left:max(var(--h-gutter),env(safe-area-inset-left,0px));padding-right:max(var(--h-gutter),env(safe-area-inset-right,0px))}
.h-main{display:block;padding-block:20px 48px;min-height:50vh}
.h-main--full{padding-block:0 40px}
.h-main--full > .h-wrap{padding-inline:var(--h-gutter)}
.h-entry-title,.h-page-title{font-size:clamp(1.6rem,1.2rem + 2vw,2.4rem);margin:.4em 0 .4em;letter-spacing:-.01em}
.h-meta,.h-entry-meta{color:var(--h-muted);font-size:.9rem;margin:0 0 1.2em}
.h-entry-meta a{color:var(--h-link)}
.h-entry-media{margin:0 0 20px}
.h-entry-media img{display:block;width:100%;border-radius:10px}
.h-entry-foot{margin-top:28px;border-top:1px solid var(--h-border);padding-top:14px}
.h-page-links{margin:20px 0;font-weight:600}
main.h-main:focus{outline:0}
.h-prose{font-size:1.0625rem}
.h-prose > *:first-child{margin-top:0}
.h-prose .alignwide{max-width:calc(var(--h-width) + 160px)}
.h-prose .alignfull{margin-inline:calc(var(--h-gutter) * -1)}
.h-prose :where(.aligncenter){margin-inline:auto;display:block}
.h-prose :where(.alignleft){float:left;margin:0 1em 1em 0}
.h-prose :where(.alignright){float:right;margin:0 0 1em 1em}
.wp-caption-text,.wp-element-caption{color:var(--h-muted);font-size:.875rem}
.sticky,.gallery-caption,.bypostauthor{}

/* ---------- Header (pinned) ---------- */
.h-header{position:sticky;top:var(--h-top);z-index:1000;background-color:var(--h-header-bg);color:var(--h-header-fg);border-bottom:var(--h-hb-w,1px) solid var(--h-hb-c,var(--h-border))}
.admin-bar{--h-top:32px}
@media (max-width:782px){.admin-bar{--h-top:46px}}
@media (max-width:600px){.admin-bar{--h-top:0px}}
/* Full-width bar; side padding comes only from the Customizer (--h-hp-l / --h-hp-r, 0-48px). */
.h-header-inner{display:flex;align-items:center;gap:12px;height:var(--h-header-h);width:100%;max-width:none;margin:0;padding:0 var(--h-hp-r,16px) 0 var(--h-hp-l,16px);box-sizing:border-box}
.h-brand{flex:1 1 auto;min-width:0;display:flex;align-items:center}
/* Title size: phone size at 390px wide, growing smoothly to the desktop size at 1280px (both from the Customizer). */
.h-title{margin:0;font-family:var(--h-tf,var(--h-font));font-weight:var(--h-tw,700);letter-spacing:var(--h-tls,-.01em);line-height:var(--h-tlh,1.1);text-transform:var(--h-tt,none);text-shadow:var(--h-tsh,none);color:var(--h-title-c,currentColor);font-size:clamp(calc(var(--h-ts-m,22) * 1px),calc(var(--h-ts-m,22) * 1px + (var(--h-ts-d,44) - var(--h-ts-m,22)) * (100vw - 390px) / 890),calc(var(--h-ts-d,44) * 1px));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;padding-bottom:var(--h-tpad,.18em);margin-bottom:calc(var(--h-tpad,.18em) * -1)}
.h-title a{color:inherit;text-decoration:none}
.h-logo-link{color:inherit;text-decoration:none}
.h-logo-link{display:flex;align-items:center;max-width:100%}
.h-logo-link img,.h-brand .custom-logo{display:block;width:auto;height:auto;max-height:var(--h-logo-max);max-width:100%;object-fit:contain}
.h-tagline{display:none}
.h-brand--tag{flex-direction:column;align-items:flex-start;justify-content:center}
.h-brand--tag .h-tagline{display:block;margin:2px 0 0;font-size:var(--h-tag-s,14px);line-height:1.2;color:var(--h-tag-c,currentColor);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.h-brand--tag .h-title{line-height:1.05}
:root{--h-logo-max:max(28px,calc(var(--h-header-h) - 16px))}
@media (min-width:768px){:root{--h-header-h:var(--h-hh-d,72px)}}
/* Align header with content (Customizer): bar stays full width, inner row matches .h-wrap. */
.h-header--align .h-header-inner{max-width:var(--h-width);margin-inline:auto;padding-left:max(var(--h-gutter),env(safe-area-inset-left,0px));padding-right:max(var(--h-gutter),env(safe-area-inset-right,0px))}
/* Header right side extra: News Rank login or a custom shortcode. Phones: just left of the menu button. */
.h-extra{flex:none;order:1;display:flex;align-items:center;gap:8px;min-width:0;max-width:60%}
.h-nav{order:2}
.h-extra .nr-auth{flex-wrap:nowrap;min-width:0}
.h-extra .nr-auth-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:9em}
@media (max-width:767px){.h-extra .nr-auth-name{max-width:6em}.h-extra .nr-auth--in .nr-auth-name{display:none}.h-extra .nr-auth-signin{font-size:.8rem;line-height:1.15;padding:6px 10px;max-width:11em;white-space:normal;text-align:center}}
/* "Both": on phones (and when the menu collapses) the login moves into the menu panel. */
.h-panel-extra{display:none}
@media (max-width:767px){.h-header--both .h-extra{display:none}.h-header--both .h-panel-extra{display:block;padding:4px var(--h-gutter) 16px}}
html.h-collapse .h-header--both .h-extra{display:none}
html.h-collapse .h-header--both .h-panel-extra{display:block;padding:4px var(--h-gutter) 16px}
.h-panel-extra .nr-auth{justify-content:flex-start;margin-left:0;flex-wrap:wrap}
.h-admin-hint{font-size:.8rem;line-height:1.2;padding:4px 8px;border:1px dashed currentColor;border-radius:6px;white-space:normal;max-width:16em}
@media (min-width:768px){html:not(.h-collapse) .h-extra{order:3;max-width:40%}html:not(.h-collapse) .h-header--both .h-extra{margin-left:8px}}

/* Nav */
.h-nav{flex:none;display:flex;align-items:center}
.h-burger{display:inline-flex;align-items:center;justify-content:flex-end;width:44px;height:44px;margin:0;padding:0;border:0;border-radius:10px;background:transparent;color:inherit;cursor:pointer}
.h-burger svg{width:22px;height:22px;display:block}
.h-burger{position:relative}
.h-burger .screen-reader-text{left:0;top:0}
.h-header :is(a,button):focus-visible{outline-offset:-3px}
.h-burger .h-x{display:none}
.h-burger[aria-expanded="true"] .h-bars{display:none}
.h-burger[aria-expanded="true"] .h-x{display:block}
.h-menu{list-style:none;margin:0;padding:0}
.h-menu a{color:var(--h-menu-c,currentColor);text-decoration:none;font-family:var(--h-mf,var(--h-font));font-weight:var(--h-mw,600);letter-spacing:var(--h-mls,0);text-transform:var(--h-mt,none)}
.h-menu a:hover,.h-menu a:focus-visible,.h-menu .current-menu-item > a,.h-menu .current_page_item > a{color:var(--h-menu-hc,var(--h-menu-c,currentColor))}
.h-menu .current-menu-item > a,.h-menu .current_page_item > a{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
.h-menu .sub-menu{list-style:none;margin:0;padding:0 0 0 14px}
.h-panel{display:none;position:absolute;left:0;right:0;top:100%;background:var(--h-header-bg);border-bottom:1px solid var(--h-border);box-shadow:0 10px 24px rgb(0 0 0 / .18);max-height:calc(100vh - var(--h-header-h) - var(--h-top));overflow-y:auto}
.h-panel.is-open{display:block}
.h-panel .h-menu{padding:8px var(--h-gutter) 14px}
.h-panel .h-menu a{display:block;padding:12px 4px;min-height:44px;font-size:var(--h-ms-m,17px);border-bottom:1px solid var(--h-border)}
.h-panel .h-menu li:last-child > a{border-bottom:0}
.no-js .h-burger{display:none}
.no-js .h-panel{display:block;position:static;box-shadow:none;border:0;background:transparent}
.no-js .h-header-inner{height:auto;min-height:var(--h-header-h);flex-wrap:wrap}
.no-js .h-panel .h-menu{display:flex;flex-wrap:wrap;gap:4px 16px;padding:0 0 8px}
.no-js .h-panel .h-menu a{border:0;padding:6px 0;min-height:0}
@media (min-width:768px){
  html:not(.h-collapse) .h-burger{display:none}
  html:not(.h-collapse) .h-panel{display:block;position:static;background:transparent;border:0;box-shadow:none;max-height:none;overflow:visible}
  html:not(.h-collapse) .h-panel .h-menu{display:flex;align-items:center;gap:6px var(--h-mgap,26px);padding:0;white-space:nowrap}
  html:not(.h-collapse) .h-panel .h-menu a{border:0;padding:8px 0;min-height:0;font-size:var(--h-ms-d,18px)}
  html:not(.h-collapse) .h-menu li{position:relative}
  html:not(.h-collapse) .h-menu .sub-menu{display:none;position:absolute;top:100%;right:0;min-width:200px;background:var(--h-header-bg);border:1px solid var(--h-border);border-radius:10px;padding:6px 14px;box-shadow:0 10px 24px rgb(0 0 0 / .18)}
  html:not(.h-collapse) .h-menu li:hover > .sub-menu,html:not(.h-collapse) .h-menu li:focus-within > .sub-menu{display:block}
}

/* ---------- Cards / archive ---------- */
.h-archive-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px 20px;margin:4px 0 18px}
.h-archive-head .h-page-title{margin:0}
.h-archive-desc{color:var(--h-muted);flex-basis:100%}
.h-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.h-tools form{display:flex;gap:8px;align-items:center;margin:0}
.h-tools label{font-size:.9rem;color:var(--h-muted)}
.h-select{font:inherit;font-size:1rem;min-height:44px;padding:6px 10px;border-radius:8px;border:1px solid var(--h-border);background:var(--h-surface);color:var(--h-fg)}
.h-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 16px;border-radius:8px;border:1px solid var(--h-accent);background:var(--h-accent);color:var(--h-accent-fg);font:inherit;font-weight:600;text-decoration:none;cursor:pointer}
.h-seg{display:inline-flex;border:1px solid var(--h-border);border-radius:999px;overflow:hidden}
.h-seg a{padding:10px 16px;min-height:44px;display:inline-flex;align-items:center;color:var(--h-fg);text-decoration:none;font-weight:600;font-size:.9375rem}
.h-seg a[aria-current="true"]{background:var(--h-accent);color:var(--h-accent-fg)}
.h-cards{display:grid;gap:16px;grid-template-columns:1fr;list-style:none;margin:0;padding:0}
@media (min-width:640px){.h-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.h-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
.h-cards > .h-slot,.h-archive-grid > .h-slot{grid-column:1 / -1}
.h-card{background:var(--h-surface);border:1px solid var(--h-border);border-radius:10px;overflow:hidden;display:flex;flex-direction:column}
.h-card a{color:inherit;text-decoration:none}
.h-card-media{aspect-ratio:16/9;background:var(--h-border);overflow:hidden}
.h-card-media img{width:100%;height:100%;object-fit:cover;display:block}
.h-card-body{padding:12px 14px 14px}
.h-card-title{font-size:1.05rem;font-weight:650;margin:0 0 6px;line-height:1.3}
.h-card-meta{color:var(--h-muted);font-size:.85rem;margin:0}
.h-card-ex{color:var(--h-muted);font-size:.9rem;margin:6px 0 0}
.h-archive .nr-rail-grid{display:grid;gap:16px}
.h-empty{padding:28px 0;color:var(--h-muted)}
.h-note{color:var(--h-muted);font-size:.875rem;margin:12px 0 0}

/* Pagination */
.h-pagination,.navigation.pagination{margin:28px 0 0}
.nav-links{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.nav-links .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 12px;border:1px solid var(--h-border);border-radius:8px;color:var(--h-fg);text-decoration:none;background:var(--h-surface);font-weight:600}
.nav-links .page-numbers.current{background:var(--h-accent);border-color:var(--h-accent);color:var(--h-accent-fg)}
.nav-links .page-numbers.dots{border:0;background:transparent}
.post-navigation .nav-links{justify-content:space-between}
.post-navigation a{color:var(--h-link)}

/* Search form (theme's own form only) */
.h-search{display:flex;gap:8px;margin:0 0 20px;max-width:560px}
.h-search input[type="search"]{flex:1 1 auto;min-width:0;font:inherit;font-size:1rem;min-height:44px;padding:8px 12px;border-radius:8px;border:1px solid var(--h-border);background:var(--h-surface);color:var(--h-fg)}

/* Slots */
.h-slot:empty{display:none}

/* ---------- Footer (off by default) ---------- */
.h-footer{border-top:1px solid var(--h-border);background:var(--h-surface);color:var(--h-fg);padding:24px 0 32px;font-size:.9375rem}
.h-footer a{color:var(--h-link)}
.h-footer-menu{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-wrap:wrap;gap:6px 20px}
.h-footer-menu a{display:inline-block;padding:8px 0;font-weight:600}
.h-widgets{display:grid;gap:16px}
@media (min-width:768px){.h-widgets{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}
.h-widget-title,.h-widgets :where(h2,h3){font-size:1rem;margin:0 0 6px}

/* ---------- Comments ---------- */
.h-comments{margin-top:40px;border-top:1px solid var(--h-border);padding-top:20px}
.h-comments :is(.comment-list,.h-comment-list){list-style:none;padding:0}
.h-comments a{color:var(--h-link)}
.h-comments .children{list-style:none;padding-left:18px}
.h-comments :where(textarea,input[type="text"],input[type="email"],input[type="url"]){max-width:100%;box-sizing:border-box;font:inherit}
.h-comments :where(textarea){width:100%}

/* ---------- News Rank ---------- */
/* NR's overlay hero always sits on a dark gradient, so keep its text light in Light mode too
   (NR's own .nr-theme-light hero sets its own colours and still wins). */
.nr-hero-overlay{--nr-fg:#f4f6f8;--nr-muted:#d3d7dc}

/* ---------- SendUsPics: keep its light UI on a light card in dark mode ---------- */
html[data-mode="dark"] :is(.sup-dashboard,.sup-photos,.sup-event-page,.sup-upload-wrap,.sup-code-box,.sup-wrap){--h-fg:#1d2327;--h-muted:#50575e;--h-link:#005a87;--h-surface:#ffffff;--h-border:#dcdcde;--h-focus:#005a87;background:#ffffff;color:#1d2327;color-scheme:light;border-radius:16px;padding:16px;box-shadow:0 0 0 1px rgb(255 255 255 / .08)}
@media (prefers-color-scheme:dark){html[data-mode="auto"] :is(.sup-dashboard,.sup-photos,.sup-event-page,.sup-upload-wrap,.sup-code-box,.sup-wrap){--h-fg:#1d2327;--h-muted:#50575e;--h-link:#005a87;--h-surface:#ffffff;--h-border:#dcdcde;--h-focus:#005a87;background:#ffffff;color:#1d2327;color-scheme:light;border-radius:16px;padding:16px}}
:is(.sup-dashboard,.sup-photos,.sup-event-page,.sup-upload-wrap) :is(.sup-dashboard,.sup-photos,.sup-event-page,.sup-upload-wrap,.sup-code-box,.sup-wrap){padding:0;box-shadow:none;border-radius:0}

/* ---------- Motion ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
/* ---------- News front page template (page-templates/news-front.php) ----------
   Layout only: every story, card and embed is News Rank's own markup. */
.h-main--nf{padding-top:16px}
.h-nf{display:flex;flex-direction:column;gap:28px;margin-bottom:28px}
.h-nf-row,.h-nf-col{min-width:0}
.h-nf-row--lead,.h-nf-row--two{display:grid;grid-template-columns:minmax(0,1fr);gap:16px 20px;align-items:start}
@media (min-width:900px){
  .h-nf-row--lead{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
  .h-nf-row--lead.h-nf-row--single{grid-template-columns:minmax(0,1fr)}
  .h-nf-row--two{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.h-nf-head{font-family:var(--h-nf-hf,var(--h-font));font-size:min(var(--h-nf-hs,26px),7.5vw);font-weight:var(--h-nf-hw,700);text-transform:var(--h-nf-tt,none);color:var(--h-nf-hc,var(--h-fg));line-height:1.15;margin:0 0 14px;padding-bottom:6px;border-bottom:var(--h-nf-rw,3px) solid var(--h-nf-rc,var(--h-accent))}
.h-nf .nr-rail{margin:0!important}
.h-nf .nr-hero-wrap{margin:0}
.h-nf-hero .nr-hero-title{font-size:clamp(1.6rem,1.1rem + 2.2vw,2.6rem);line-height:1.12}
/* Top-voted stories as stacked cards (like the current front page). */
.h-nf-side .nr-top{background:transparent;box-shadow:none;padding:0;border-radius:0}
.h-nf-side--top:not(.h-nf-side--tabs) .nr-top-head{display:none}
.h-nf-side--top .nr-top-list{display:grid;gap:16px}
.h-nf-side--top .nr-top-item{position:relative;flex-direction:column;align-items:stretch;gap:0;padding:0;border:0;background:var(--nr-surface,var(--h-surface));border-radius:var(--nr-radius,10px);overflow:hidden}
.h-nf-side--top .nr-top-rank{position:absolute;top:8px;left:8px;z-index:1;width:auto;min-width:1.6rem;padding:0 6px;border-radius:6px;background:var(--h-accent);color:var(--h-accent-fg);font-size:.85rem;line-height:1.6rem}
.h-nf-side--top .nr-top-thumb{flex:none;width:100%;height:auto;aspect-ratio:16/9;border-radius:0}
.h-nf-side--top .nr-top-body{display:block;padding:10px 12px 12px}
.h-nf-side--top .nr-top-item-title{display:block;font-size:1.02rem;font-weight:700;line-height:1.3}
.h-nf-side--top .nr-top-cat,.h-nf-side--top .nr-top-score{display:inline-block;margin-top:4px}
.h-nf-notice{margin:0 0 20px}
.h-nf-notice .h-admin-hint{display:block;max-width:none;padding:12px 14px;font-size:.95rem}
.h-nf-content{margin-top:8px}
/* ---------- 1.1.0: title bottom spacing (only when set in the Customizer) ---------- */
@media (max-width:767px){
  .h-tgap-m .h-brand{align-self:stretch;align-items:flex-end;padding-bottom:var(--h-tgap-m,0px)}
  .h-tgap-m .h-brand--tag{align-items:flex-start;justify-content:flex-end}
}
@media (min-width:768px){
  .h-tgap-d .h-brand{align-self:stretch;align-items:flex-end;padding-bottom:var(--h-tgap-d,0px)}
  .h-tgap-d .h-brand--tag{align-items:flex-start;justify-content:flex-end}
}

/* ---------- 1.1.0: full-width blocks reach the screen edges (Full width template, or every page when switched on) ---------- */
.h-main--full .h-prose > .alignfull,.h-afull-all .h-prose > .alignfull{margin-inline:calc(50% - 50vw);max-width:none;width:auto}
.h-main--full:has(.h-prose > .alignfull),.h-afull-all .h-main:has(.h-prose > .alignfull){overflow-x:clip}

/* ---------- 1.1.0: Group "Card" style ---------- */
:root{--h-card-p:var(--h-card-p-m,20px)}
@media (min-width:768px){:root{--h-card-p:var(--h-card-p-d,32px)}}
.wp-block-group.is-style-h-card{background-color:var(--h-card-bg,var(--h-surface));color:var(--h-card-fg,inherit);border-radius:var(--h-card-r,16px);padding:var(--h-card-p);box-shadow:var(--h-card-sh,0 1px 3px rgb(0 0 0 / .05));border:var(--h-card-bw,0px) solid var(--h-card-bc,var(--h-border))}
.wp-block-group.is-style-h-card > :first-child{margin-top:0}
.wp-block-group.is-style-h-card > :last-child{margin-bottom:0}

/* ---------- 1.1.0: Group "Slider" style (assets/js/slider.js; without JS the slides simply stack) ---------- */
.is-style-h-slider{position:relative}
html.js .is-style-h-slider:not(.h-sl-off),html.js .is-style-h-slider:not(.h-sl-off) > .wp-block-group__inner-container{display:grid;grid-template-columns:minmax(0,1fr)}
html.js .is-style-h-slider:not(.h-sl-off) > .wp-block-group,html.js .is-style-h-slider:not(.h-sl-off) > .wp-block-group__inner-container > .wp-block-group{grid-area:1 / 1;width:100%;margin-block:0!important}
html.js .is-style-h-slider:not(.h-sl-ready) > .wp-block-group:not(:first-child),html.js .is-style-h-slider:not(.h-sl-ready) > .wp-block-group__inner-container > .wp-block-group:not(:first-child){visibility:hidden}
.h-sl-slide{visibility:hidden;opacity:0;transition:opacity .5s ease,transform .5s ease,visibility 0s linear .5s}
.h-sl-move .h-sl-slide{transform:translateX(var(--h-sl-dir,40px))}
.h-sl-move .h-sl-slide.is-before{transform:translateX(calc(var(--h-sl-dir,40px) * -1))}
.h-sl-slide.is-active{visibility:visible;opacity:1;transform:none;transition:opacity .5s ease,transform .5s ease,visibility 0s}
.h-sl-arrow{position:absolute;top:50%;z-index:2;width:46px;height:46px;margin-top:-23px;padding:0;border:0;border-radius:50%;background:var(--h-surface);color:var(--h-sl-c,var(--h-accent));box-shadow:0 2px 8px rgb(0 0 0 / .15);display:none;align-items:center;justify-content:center;cursor:pointer}
.h-sl-next svg{transform:scaleX(-1)}
.h-sl-arrow:hover{filter:brightness(.97)}
.h-sl-arrows-edge .h-sl-prev{left:calc(min(23px,var(--h-gutter)) * -1)}
.h-sl-arrows-edge .h-sl-next{right:calc(min(23px,var(--h-gutter)) * -1)}
.h-sl-arrows-inside .h-sl-prev{left:12px}
.h-sl-arrows-inside .h-sl-next{right:12px}
@media (min-width:768px){.h-sl-arrow{display:flex}}
@media (min-width:1290px){.h-sl-arrows-edge .h-sl-prev{left:-23px}.h-sl-arrows-edge .h-sl-next{right:-23px}}
.h-sl-nav{display:flex;gap:8px;justify-content:center;align-items:center;z-index:2}
.h-sl-dots-inside .h-sl-nav{position:absolute;left:0;right:0;bottom:20px;pointer-events:none}
.h-sl-dots-inside .h-sl-nav > *{pointer-events:auto}
.h-sl-dots-below .h-sl-nav{padding-top:14px}
.h-sl-dots-inside .h-sl-slide.is-style-h-card{padding-bottom:calc(var(--h-card-p) + 32px)}
.h-sl-dot{width:10px;height:10px;padding:0;border:0;border-radius:999px;background:var(--h-border);cursor:pointer;transition:width .25s ease,background-color .25s ease}
.h-sl-dot[aria-current="true"]{width:28px;background:var(--h-sl-c,var(--h-accent))}
.h-sl-dot::after,.h-sl-pause::after{content:"";position:absolute;inset:-10px}
.h-sl-dot,.h-sl-pause{position:relative}
.h-sl-pause{width:22px;height:22px;margin-left:6px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--h-muted);cursor:pointer}
.h-sl-pause::before{content:"";display:block;width:8px;height:10px;margin:auto;border-left:3px solid currentColor;border-right:3px solid currentColor}
.h-sl-pause.is-paused::before{width:0;height:0;border-style:solid;border-width:5px 0 5px 9px;border-color:transparent transparent transparent currentColor;margin-left:8px}
@media (prefers-reduced-motion:reduce){.h-sl-slide,.h-sl-slide.is-active,.h-sl-dot{transition:none}.h-sl-move .h-sl-slide{transform:none}}

/* ---------- 1.1.0: show/hide utility classes (same 782px breakpoint where core Columns stack) ---------- */
@media (max-width:781px){.hide-mobile{display:none!important}}
@media (min-width:782px){.hide-desktop{display:none!important}}

@media print{.h-header{position:static}.h-burger,.h-slot{display:none}}
