/* Newswire Pro — landing + section styling. Scoped to .np-landing so it never
   fights the block theme (Twenty Twenty-Five) on other pages. Global tokens
   (colour, fonts, layout) come from theme.json. */

::selection{background:#0066FF;color:#fff;}
@keyframes dwpulse{0%{box-shadow:0 0 0 0 rgba(0,170,68,.55);}70%{box-shadow:0 0 0 7px rgba(0,170,68,0);}100%{box-shadow:0 0 0 0 rgba(0,170,68,0);}}
@keyframes dwmarquee{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}

/* Landing scope: the design markup relies on border-box + zeroed inherited spacing. */
.np-landing,.np-landing *{box-sizing:border-box;}
.np-landing{font-family:'Hanken Grotesk',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#1A1A1A;line-height:1.5;-webkit-font-smoothing:antialiased;}
.np-landing a{text-decoration:none;color:inherit;}
.np-landing img{max-width:100%;height:auto;}
.np-landing h1,.np-landing h2,.np-landing h3,.np-landing h4,.np-landing p,.np-landing figure{margin:0;}
/* Full-bleed: never let the block layout cap the landing's sections. */
.np-landing,.np-landing .wp-block-post-content,.np-landing .entry-content{max-width:none!important;margin:0;padding:0;}
.np-landing > .wp-block-post-content > section,.np-landing section{width:100%;}
/* Stop wide inline-styled mockups/rows from forcing horizontal page scroll on
   phones (which pushed centred hero content off-screen). Clips the overflow
   without creating a scroll container that would break the sticky header. */
.np-landing{overflow-x:clip;}

/* ── Header / footer template parts ──────────────────────────────────────── */
/* display:contents drops the block wrapper so the sticky header sticks against
   the page, not its own short wrapper. */
.wp-block-template-part{display:contents;}
.np-header,.np-header *,.np-footer,.np-footer *{box-sizing:border-box;}
.np-header a,.np-footer a{text-decoration:none;}

/* Header bar */
.np-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,0.86);backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid #E5E5E5;transition:box-shadow .3s ease;}
.np-header.np-scrolled{box-shadow:0 1px 0 rgba(0,0,0,.04),0 10px 30px -12px rgba(16,32,64,.18);}
/* backdrop-filter makes .np-header the containing block for fixed descendants,
   which would trap the nav block's full-screen mobile overlay inside the 68px
   bar — drop it while the menu modal is open. */
.np-header:has(.wp-block-navigation__responsive-container.is-menu-open){backdrop-filter:none;-webkit-backdrop-filter:none;}
.np-header-inner{max-width:1240px;margin:0 auto;padding:15px 40px;gap:24px;}
.np-brand{gap:10px;}
.np-mark{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;background:var(--wp--preset--color--primary,#0066FF);flex-shrink:0;}
.np-mark--sm{width:32px;height:32px;border-radius:8px;}
.np-brand .wp-block-site-title,.np-foot-brand .wp-block-site-title{margin:0;}
.np-brand .wp-block-site-title a{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:20px;letter-spacing:-.5px;color:var(--wp--preset--color--ink,#0B0B0B);text-decoration:none;}
/* Primary nav (wp:navigation block). Anchor rules cover both the inline bar and
   the mobile overlay, since the overlay container lives inside the same <nav>. */
.np-nav-links{white-space:nowrap;}
.np-nav-links .wp-block-navigation__container{display:flex;align-items:center;gap:28px;}
.np-nav-links a{font-size:15px;font-weight:500;color:#444;transition:color .2s;}
.np-nav-links a:hover{color:var(--wp--preset--color--primary,#0066FF);}
.np-nav-links .wp-block-navigation__responsive-container-open,
.np-nav-links .wp-block-navigation__responsive-container-close{color:var(--wp--preset--color--ink,#0B0B0B);}
.np-nav-links .wp-block-navigation__responsive-container.is-menu-open{background:#fff;padding:24px;}
.np-nav-links .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{display:flex;flex-direction:column;align-items:flex-start;gap:20px;}
.np-nav-links .wp-block-navigation__responsive-container.is-menu-open a{font-size:18px;}
/* "Log in" / "Distribute a release" nav items only exist for the overlay menu —
   the inline bar already shows them as .np-actions buttons. */
.np-nav-links .wp-block-navigation__container .np-menu-only{display:none;}
.np-nav-links .is-menu-open .np-menu-only{display:block;}
.np-nav-links .is-menu-open .np-menu-only a{font-weight:600;color:var(--wp--preset--color--primary,#0066FF);}
.np-actions{display:flex;align-items:center;gap:14px;white-space:nowrap;flex-shrink:0;}
.np-login{font-size:15px;font-weight:600;color:var(--wp--preset--color--ink,#0B0B0B);}
.np-cta{display:inline-flex;align-items:center;gap:7px;background:var(--wp--preset--color--ink,#0B0B0B);color:#fff;font-weight:600;font-size:15px;padding:11px 20px;border-radius:10px;box-shadow:0 1px 2px rgba(0,0,0,.18);transition:transform .18s,background .2s,box-shadow .2s;}
.np-cta:hover{background:var(--wp--preset--color--primary,#0066FF);transform:translateY(-1px);box-shadow:0 8px 20px rgba(0,102,255,.28);}
/* Login-aware header: guests see "Log in" (.np-out), logged-in users see
   "My account" (.np-in). WordPress adds the .logged-in class to <body>. */
body.logged-in .np-out{display:none !important;}
body:not(.logged-in) .np-in{display:none !important;}

/* Footer */
.np-footer{background:#070A11;}
.np-footer-inner{max-width:1240px;margin:0 auto;padding:72px 40px 36px;}
.np-foot-grid{display:grid;grid-template-columns:1.7fr 2.5fr;gap:48px;padding-bottom:48px;border-bottom:1px solid #1A1F2B;}
.np-foot-lockup{gap:10px;margin-bottom:16px;}
.np-foot-brand .wp-block-site-title a{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:19px;letter-spacing:-.5px;color:#fff;text-decoration:none;}
.np-foot-tag{font-size:14.5px;line-height:1.6;color:#6B7384;max-width:320px;margin:0;}
.np-foot-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;}
.np-foot-col h4{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:14px;color:#fff;margin:0 0 16px;}
.np-foot-col a{display:block;font-size:14.5px;color:#8A93A4;margin-bottom:11px;transition:color .2s;}
.np-foot-col a:hover{color:#fff;}
.np-foot-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:28px;flex-wrap:wrap;font-size:13.5px;color:#5A6173;}
.np-foot-legal{display:flex;align-items:center;gap:18px;}
.np-foot-legal a{color:#5A6173;transition:color .2s;}
.np-foot-legal a:hover{color:#fff;}

/* Inner pages (About, Contact, plugin portal/marketplace, etc.) container. */
.np-page-wrap{max-width:1240px;margin:0 auto;padding:48px 40px 80px;font-size:16.5px;line-height:1.7;color:#384152;}
.np-page-wrap > .wp-block-post-title,.np-page-wrap .entry-title{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(30px,4vw,42px);line-height:1.1;letter-spacing:-1px;color:var(--wp--preset--color--ink,#0B0B0B);margin:0 0 28px;}
/* Readable typography for migrated content pages (legal text, About, etc.). */
.np-page-wrap p{margin:0 0 1.1em;}
.np-page-wrap h2,.np-page-wrap h3,.np-page-wrap h4{font-family:'Space Grotesk',sans-serif;color:var(--wp--preset--color--ink,#0B0B0B);line-height:1.25;letter-spacing:-.4px;margin:1.7em 0 .5em;}
.np-page-wrap h2{font-size:26px;}
.np-page-wrap h3{font-size:20px;}
.np-page-wrap h4{font-size:17px;}
.np-page-wrap ul,.np-page-wrap ol{margin:0 0 1.1em 1.3em;}
.np-page-wrap li{margin:.35em 0;}
.np-page-wrap a{color:var(--wp--preset--color--primary,#0066FF);}
.np-page-wrap a:hover{text-decoration:underline;}

/* Contact form (theme [np_contact_form] shortcode). */
.np-form{display:flex;flex-direction:column;gap:14px;max-width:640px;margin-top:8px;}
.np-form .np-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.np-form label{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:600;color:var(--wp--preset--color--ink,#0B0B0B);}
.np-form input,.np-form textarea{font-family:inherit;font-size:15px;font-weight:400;color:#1A1A1A;padding:12px 14px;border:1px solid #E0E4EA;border-radius:10px;background:#fff;transition:border-color .15s,box-shadow .15s;}
.np-form input:focus,.np-form textarea:focus{outline:none;border-color:var(--wp--preset--color--primary,#0066FF);box-shadow:0 0 0 3px rgba(0,102,255,.12);}
.np-form textarea{resize:vertical;}
.np-form .np-hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0;}
.np-form button{align-self:flex-start;background:var(--wp--preset--color--primary,#0066FF);color:#fff;font-weight:600;font-size:15.5px;padding:13px 26px;border:none;border-radius:11px;cursor:pointer;transition:transform .15s,box-shadow .2s;box-shadow:0 6px 18px rgba(0,102,255,.28);}
.np-form button:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(0,102,255,.36);}
.np-form-note{padding:14px 16px;border-radius:10px;font-size:14.5px;font-weight:500;margin-bottom:18px;max-width:640px;}
.np-form-ok{background:#E8F7EE;color:#067a3b;border:1px solid #bdebcf;}
.np-form-err{background:#FDECEC;color:#b3261e;border:1px solid #f6c9c6;}
@media (max-width:560px){ .np-form .np-form-row{grid-template-columns:1fr;} }

/* Landing section patterns inserted into content pages keep the design box model. */
.np-page-wrap .wp-block-html section,.np-page-wrap .wp-block-html section *{box-sizing:border-box;}
.np-page-wrap .wp-block-html section{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);}
/* Compact on-brand stat band used on inner pages. */
.np-statband{display:flex;flex-wrap:wrap;gap:28px;align-items:center;padding:22px 0 6px;}
.np-statband .n{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:26px;letter-spacing:-.5px;color:var(--wp--preset--color--ink,#0B0B0B);}
.np-statband .l{font-size:13px;color:#8A93A0;font-weight:500;}
.np-statband .sep{width:1px;height:30px;background:#E2E6EC;}

/* Chrome responsive. Core's navigation block swaps to its hamburger overlay at
   600px; the header needs it at 1000px, so between the two widths we re-hide the
   inline links and re-show the toggle (mirrors core's own overlay rules). */
@media (min-width:600px) and (max-width:1000px){
  .np-nav-links .wp-block-navigation__responsive-container-open:not(.always-shown){display:flex!important;}
  .np-nav-links .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open){display:none!important;}
}
@media (max-width:860px){ .np-foot-grid{grid-template-columns:1fr;gap:32px;} }
@media (max-width:640px){
  .np-page-wrap{padding:32px 20px 64px;}
  .np-header-inner{padding:15px 20px;}
  .np-footer-inner{padding:56px 20px 32px;}
  .np-foot-cols{grid-template-columns:1fr 1fr;}
}
/* Small phones: brand + hamburger only — Log in / Distribute live in the
   overlay menu (.np-menu-only items) so nothing clips. */
@media (max-width:560px){
  .np-actions{display:none;}
  .np-brand .wp-block-site-title a{white-space:nowrap;}
}
@media (max-width:420px){ .np-foot-cols{grid-template-columns:1fr;} }

/* Reveal-on-scroll (driven by main.js; scoped to .np-js so content is visible without JS). */
.np-js .np-landing [data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.16,.84,.44,1),transform .7s cubic-bezier(.16,.84,.44,1);will-change:opacity,transform;}
.np-js .np-landing [data-reveal].np-in{opacity:1;transform:none;}

/* Responsive — the landing's inline grids are matched by their style substrings. */
@media (max-width:1000px){
  .np-landing [style*="repeat(6,1fr)"]{grid-template-columns:repeat(3,1fr)!important;}
  .np-landing [style*="repeat(4,1fr)"]{grid-template-columns:repeat(2,1fr)!important;}
  .np-landing [style*="repeat(3,1fr)"]{grid-template-columns:1fr!important;}
}
@media (max-width:640px){
  .np-landing [style*="px 40px"]{padding-left:20px!important;padding-right:20px!important;}
  .np-landing [style*="repeat(6,1fr)"]{grid-template-columns:repeat(2,1fr)!important;}
  .np-landing [style*="repeat(4,1fr)"]{grid-template-columns:1fr!important;}
  .np-landing [style*="font-size:58px"]{font-size:36px!important;letter-spacing:-1px!important;}
  .np-landing [style*="font-size:46px"]{font-size:32px!important;}
  .np-landing [style*="font-size:40px"]{font-size:30px!important;}
}

/* ── Demo: Meridian (dark financial wire) ─────────────────────────────────── */
/* The landing is self-styled (inline). These rules carry the dark look into the
   shared header and the landing's base font when Meridian is the active demo. */
.np-landing.np-demo-meridian{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;}
.np-demo-meridian .np-header{background:rgba(8,11,18,.82);border-bottom-color:#161E2B;}
.np-demo-meridian .np-header.np-scrolled{box-shadow:0 1px 0 rgba(0,0,0,.4),0 12px 30px -12px rgba(0,0,0,.6);}
.np-demo-meridian .np-brand .wp-block-site-title a{color:#F4F7FB;}
.np-demo-meridian .np-mark{background:#E8B04B;}
.np-demo-meridian .np-nav-links a{color:#AEB8C7;}
.np-demo-meridian .np-nav-links a:hover{color:#E8B04B;}
.np-demo-meridian .np-login{color:#F4F7FB;}
.np-demo-meridian .np-cta{background:#E8B04B;color:#0A0E17;box-shadow:0 1px 2px rgba(0,0,0,.3);}
.np-demo-meridian .np-cta:hover{background:#f0c163;}
.np-demo-meridian .np-nav-links .wp-block-navigation__responsive-container.is-menu-open{background:#0A0E17;}
.np-demo-meridian .np-nav-links .is-menu-open a{color:#E7ECF3;}
.np-demo-meridian .np-nav-links .is-menu-open .wp-block-navigation__responsive-container-close{color:#F4F7FB;}
@media (max-width:640px){
  .np-landing [style*="font-size:60px"]{font-size:34px!important;letter-spacing:-1px!important;}
  .np-landing [style*="font-size:44px"]{font-size:30px!important;}
}
/* Hero/section sizes used by the Dispatch/Pulse/Summit/Bazaar demos. */
@media (max-width:640px){
  .np-landing [style*="font-size:72px"]{font-size:38px!important;letter-spacing:-1px!important;}
  .np-landing [style*="font-size:62px"]{font-size:36px!important;letter-spacing:-1px!important;}
  .np-landing [style*="font-size:56px"]{font-size:34px!important;letter-spacing:-.5px!important;}
  .np-landing [style*="font-size:52px"]{font-size:33px!important;}
  .np-landing [style*="font-size:48px"]{font-size:31px!important;}
  .np-landing [style*="font-size:42px"]{font-size:29px!important;}
  .np-landing [style*="font-size:38px"]{font-size:27px!important;}
}

/* Native-block demo landings (e.g. Meridian) carry one decorative HTML logo
   wall; collapse it to 3 columns on phones so it can't force horizontal scroll.
   The alignfull sections are clipped as a backstop against any stray overflow. */
.np-logowall{overflow:hidden;}
body[class*="np-demo-"] .wp-block-group.alignfull{overflow-x:clip;}
@media (max-width:700px){ .np-logowall{grid-template-columns:repeat(3,1fr)!important;} }

/* ── Demo chrome: per-demo landing + shared-header fonts ──────────────────── */
/* Each demo's landing sets its own body font; the shared site-title font is
   swapped to match so the header reads as part of the same design. */
.np-landing.np-demo-dispatch{font-family:'Newsreader',Georgia,serif;}
.np-demo-dispatch .np-brand .wp-block-site-title a{font-family:'Playfair Display',Georgia,serif;}
.np-landing.np-demo-pulse{font-family:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,sans-serif;}
.np-demo-pulse .np-brand .wp-block-site-title a{font-family:'Plus Jakarta Sans',sans-serif;}
.np-landing.np-demo-summit{font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;}
.np-demo-summit .np-brand .wp-block-site-title a{font-family:'Libre Franklin',sans-serif;}
.np-landing.np-demo-bazaar{font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;}
.np-demo-bazaar .np-brand .wp-block-site-title a{font-family:'Poppins',sans-serif;}
.np-demo-beacon .np-brand .wp-block-site-title a{font-family:'DM Sans',sans-serif;}
.np-demo-horizon .np-brand .wp-block-site-title a{font-family:'Outfit',sans-serif;}
.np-demo-atrium .np-brand .wp-block-site-title a{font-family:'Manrope',sans-serif;}

/* ── Premium "double" footer: the extra mega row is hidden for every template
   except the ones that opt in (Media Expert), which ship a richer footer. ──── */
.np-foot-mega{display:none;}

/* ── Demo: Media Expert (premium navy + orange agency site) ───────────────── */
.np-landing.np-demo-media-expert{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;}
.np-demo-media-expert .np-brand .wp-block-site-title a{font-family:'Figtree',sans-serif;color:#0E2138;}
.np-demo-media-expert .np-mark{background:#FF6A2C;}
.np-demo-media-expert .np-header{background:rgba(255,255,255,.9);border-bottom-color:#E3E9F2;}
.np-demo-media-expert .np-nav-links a{color:#475569;}
.np-demo-media-expert .np-nav-links a:hover{color:#FF6A2C;}
.np-demo-media-expert .np-login{color:#0E2138;}
.np-demo-media-expert .np-cta{background:#FF6A2C;color:#fff;box-shadow:0 1px 2px rgba(255,106,44,.3);}
.np-demo-media-expert .np-cta:hover{background:#E85518;box-shadow:0 8px 20px rgba(255,106,44,.32);}
/* Media Expert footer = premium navy double footer (mega row + restyled base). */
.np-demo-media-expert .np-footer{background:#0B1F3A;}
.np-demo-media-expert .np-foot-mega{display:grid;grid-template-columns:1.25fr 2fr;gap:48px;padding-bottom:46px;margin-bottom:6px;border-bottom:1px solid rgba(255,255,255,.1);}
.np-demo-media-expert .np-foot-mega-cta h3{font-family:'Figtree',sans-serif;font-size:24px;font-weight:800;letter-spacing:-.6px;color:#fff;margin:0 0 10px;line-height:1.15;}
.np-demo-media-expert .np-foot-mega-cta p{font-size:14.5px;line-height:1.6;color:#9FB0C9;margin:0 0 18px;max-width:380px;}
.np-demo-media-expert .np-foot-sub{display:flex;gap:8px;max-width:420px;}
.np-demo-media-expert .np-foot-sub input{flex:1;min-width:0;background:#0E2A4A;border:1px solid #244463;border-radius:10px;padding:12px 14px;color:#fff;font-size:14px;font-family:inherit;}
.np-demo-media-expert .np-foot-sub input::placeholder{color:#6E83A0;}
.np-demo-media-expert .np-foot-sub input:focus{outline:none;border-color:#FF6A2C;}
.np-demo-media-expert .np-foot-sub-btn{display:inline-flex;align-items:center;background:#FF6A2C;color:#fff;font-weight:700;font-size:14.5px;padding:12px 20px;border-radius:10px;white-space:nowrap;transition:background .2s;}
.np-demo-media-expert .np-foot-sub-btn:hover{background:#E85518;}
.np-demo-media-expert .np-foot-mega-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;}
.np-demo-media-expert .np-foot-mcol h4{font-family:'Figtree',sans-serif;font-size:13px;font-weight:700;color:#fff;margin:0 0 14px;letter-spacing:.2px;}
.np-demo-media-expert .np-foot-mcol a{display:block;font-size:14px;color:#9FB0C9;margin-bottom:10px;transition:color .2s;}
.np-demo-media-expert .np-foot-mcol a:hover{color:#FF6A2C;}
.np-demo-media-expert .np-foot-brand .wp-block-site-title a{font-family:'Figtree',sans-serif;}
.np-demo-media-expert .np-foot-grid{border-bottom-color:rgba(255,255,255,.1);}
@media (max-width:860px){
  .np-demo-media-expert .np-foot-mega{grid-template-columns:1fr;gap:30px;}
  .np-demo-media-expert .np-foot-mega-cols{grid-template-columns:1fr 1fr;}
}
@media (max-width:480px){ .np-demo-media-expert .np-foot-mega-cols{grid-template-columns:1fr;} }

/* ── Demo: Sovereign (premium royal-blue + gold, dark hero) ───────────────── */
.np-landing.np-demo-sovereign{font-family:'Public Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;}
.np-demo-sovereign .np-brand .wp-block-site-title a{font-family:'Schibsted Grotesk',sans-serif;color:#0F1B3D;}
.np-demo-sovereign .np-mark{background:#2563EB;}
.np-demo-sovereign .np-header{background:rgba(255,255,255,.92);border-bottom-color:#E5E9F2;}
.np-demo-sovereign .np-nav-links a{color:#4A5775;}
.np-demo-sovereign .np-nav-links a:hover{color:#2563EB;}
.np-demo-sovereign .np-login{color:#0F1B3D;}
.np-demo-sovereign .np-cta{background:#2563EB;color:#fff;box-shadow:0 1px 2px rgba(37,99,235,.3);}
.np-demo-sovereign .np-cta:hover{background:#1D4ED8;box-shadow:0 8px 20px rgba(37,99,235,.32);}
/* Sovereign footer = premium deep-indigo double footer */
.np-demo-sovereign .np-footer{background:#0B1437;}
.np-demo-sovereign .np-foot-mega{display:grid;grid-template-columns:1.25fr 2fr;gap:48px;padding-bottom:46px;margin-bottom:6px;border-bottom:1px solid rgba(255,255,255,.1);}
.np-demo-sovereign .np-foot-mega-cta h3{font-family:'Schibsted Grotesk',sans-serif;font-size:24px;font-weight:800;letter-spacing:-.6px;color:#fff;margin:0 0 10px;line-height:1.15;}
.np-demo-sovereign .np-foot-mega-cta p{font-size:14.5px;line-height:1.6;color:#9FB0C9;margin:0 0 18px;max-width:380px;}
.np-demo-sovereign .np-foot-sub{display:flex;gap:8px;max-width:420px;}
.np-demo-sovereign .np-foot-sub input{flex:1;min-width:0;background:#13204A;border:1px solid #2A3766;border-radius:10px;padding:12px 14px;color:#fff;font-size:14px;font-family:inherit;}
.np-demo-sovereign .np-foot-sub input::placeholder{color:#73809E;}
.np-demo-sovereign .np-foot-sub input:focus{outline:none;border-color:#2563EB;}
.np-demo-sovereign .np-foot-sub-btn{display:inline-flex;align-items:center;background:#2563EB;color:#fff;font-weight:700;font-size:14.5px;padding:12px 20px;border-radius:10px;white-space:nowrap;transition:background .2s;}
.np-demo-sovereign .np-foot-sub-btn:hover{background:#1D4ED8;}
.np-demo-sovereign .np-foot-mega-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;}
.np-demo-sovereign .np-foot-mcol h4{font-family:'Schibsted Grotesk',sans-serif;font-size:13px;font-weight:700;color:#fff;margin:0 0 14px;letter-spacing:.2px;}
.np-demo-sovereign .np-foot-mcol a{display:block;font-size:14px;color:#9FB0C9;margin-bottom:10px;transition:color .2s;}
.np-demo-sovereign .np-foot-mcol a:hover{color:#F0B429;}
.np-demo-sovereign .np-foot-brand .wp-block-site-title a{font-family:'Schibsted Grotesk',sans-serif;}
.np-demo-sovereign .np-foot-grid{border-bottom-color:rgba(255,255,255,.1);}
@media (max-width:860px){
  .np-demo-sovereign .np-foot-mega{grid-template-columns:1fr;gap:30px;}
  .np-demo-sovereign .np-foot-mega-cols{grid-template-columns:1fr 1fr;}
}
@media (max-width:480px){ .np-demo-sovereign .np-foot-mega-cols{grid-template-columns:1fr;} }

/* ── Custom block styles (register_block_style) ───────────────────────────── */
.wp-block-button.is-style-np-pill .wp-block-button__link{border-radius:999px;}
.wp-block-group.is-style-np-card{background:#fff;border:1px solid var(--wp--preset--color--line,#EBEDF0);border-radius:16px;padding:26px;box-shadow:0 1px 2px rgba(16,32,64,.04);}
.wp-block-image.is-style-np-elevated img{border-radius:14px;box-shadow:0 24px 60px -24px rgba(16,32,64,.35);}
.wp-block-quote.is-style-np-accent{border:none;border-left:3px solid var(--wp--preset--color--primary,#0066FF);padding-left:20px;font-style:normal;color:#5A6472;}
