/* ==========================================================================
   DESIGN TOKENS — identical values to the main landing page, so a person
   moving between the marketing site and these account/auth pages never
   sees a jarring shift in color, radius, or shadow language.
   ========================================================================== */
:root{
  --nsc-navy:#0B1E38;
  --nsc-navy-deep:#071426;
  --nsc-blue:#1463FF;
  --nsc-blue-lt:#56A8FF;
  --nsc-brass:#C89B3C;
  --nsc-paper:#F7F8FA;
  --nsc-teal:#08786C;
  --nsc-teal-soft:#E3F3F1;
  --nsc-amber:#A85A0F;
  --nsc-amber-soft:#FFF3E7;
  --nsc-red:#B4463C;
  --nsc-red-soft:#FDF0EF;

  --nsc-ink-1:#0B1526;
  --nsc-ink-2:#3B4A63;
  --nsc-ink-3:#6B7B94;
  --nsc-ink-4:#A3AFC2;

  --nsc-border-1:#E4E8F0;
  --nsc-border-2:#D3D9E5;

  --nsc-radius-sm:8px;
  --nsc-radius-md:14px;
  --nsc-radius-lg:22px;

  --nsc-shadow-card:0 1px 2px rgba(11,21,38,.04),0 8px 24px rgba(11,21,38,.06);
  --nsc-shadow-lift:0 4px 12px rgba(11,21,38,.08),0 20px 48px rgba(11,21,38,.10);

  --nsc-font-body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --nsc-font-display:'Space Grotesk',var(--nsc-font-body);
}

/* Hides the theme's own site-header template part specifically on this
   plugin's pages, since nsc_render_site_header() now renders this
   plugin's own matching header there instead (see that function's own
   comment for why). A plain CSS hide — never edits the header's actual
   markup — so it can't corrupt or break anything the way editing that
   block's HTML directly did in earlier attempts. Scoped to only these
   pages; every other page on the site keeps the theme's own header
   exactly as before. */
body:has(.nsc-site-nav-wrap) .site-header{
  display:none;
}

/* Hides the theme's own footer template part on this plugin's pages —
   same reasoning and same scope-limiting approach as the site-header
   rule above. That footer's own content is broken (untranslated
   "trans-menu" / "trans-contact_email" placeholder strings — a theme
   localization bug, not real content), so this plugin renders its own
   real footer instead via nsc_render_site_footer(). Scoped to only
   pages that render this plugin's own footer; every other page on the
   site keeps the theme's own footer exactly as before, unaffected. */
body:has(.nsc-site-footer) .site-footer{
  display:none;
}

/* Hides the theme's own big default page title specifically on pages
   that render this plugin's shortcodes — those pages already have
   their own in-content heading (the auth panel's "Log in"/"Create your
   account", or the account dashboard's own "Account" topbar), so the
   theme's separate post-title block was just duplicating that, adding
   clutter this plugin's pages didn't have a reason to keep. Scoped with
   :has() to only these specific pages (never touches blog posts or any
   other page on the site) rather than a global template edit. */
body:has(.nsc-auth-page) .hostinger-ai-page-title,
body:has(.nsc-pricing-page) .hostinger-ai-page-title,
body:has(.nsc-account) .hostinger-ai-page-title,
body:has(.nsc-account-guest) .hostinger-ai-page-title{
  display:none;
}

/* The theme's block-layout spacing rule adds 40px above whatever
   follows that now-hidden title (a fixed gap the theme's CSS applies
   between top-level blocks in the page template, regardless of
   whether the title itself has visible content) — stacking on top of
   this plugin's own header padding and page margin below, this was
   the actual source of the oversized gap between the header and the
   page content. Zeroed out only on this plugin's own pages. */
body:has(.nsc-site-nav-wrap) .entry-content{
  margin-block-start:0 !important;
}

/* Scoped to this plugin's own containers only — never touches the rest
   of the theme, so activating this plugin can't accidentally restyle
   unrelated parts of the site. */
.nsc-auth-page, .nsc-pricing-page, .nsc-account, .nsc-account-guest{
  font-family:var(--nsc-font-body);
  color:var(--nsc-ink-1);
  letter-spacing:-.01em;
  line-height:1.55;
}
.nsc-auth-page *, .nsc-pricing-page *, .nsc-account *{ box-sizing:border-box }
.nsc-auth-page h1, .nsc-auth-page h2, .nsc-pricing-page h1, .nsc-pricing-page h2, .nsc-pricing-page h3,
.nsc-account h2, .nsc-account h3, .nsc-success h3{
  font-family:var(--nsc-font-display);
  margin:0;
  letter-spacing:-.02em;
}
.nsc-auth-page svg, .nsc-pricing-page svg{ display:block; flex:0 0 auto }

/* ==========================================================================
   BUTTONS — one shared button language across every page this plugin
   renders, matching the landing page's own pill-button treatment.
   ========================================================================== */
.nsc-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 22px;border-radius:999px;font-weight:700;font-size:14.5px;
  text-decoration:none;border:0;cursor:pointer;
  font-family:var(--nsc-font-body);
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease;
}
.nsc-btn-primary{background:var(--nsc-blue);color:#fff;box-shadow:0 6px 16px rgba(20,99,255,.28)}
.nsc-btn-primary:hover:not(:disabled){background:#0d4bc7;transform:translateY(-1px)}
.nsc-btn-secondary{background:var(--nsc-navy);color:#fff}
.nsc-btn-secondary:hover:not(:disabled){background:#132a4c;transform:translateY(-1px)}
.nsc-btn-ghost{background:transparent;color:var(--nsc-ink-1);border:1.5px solid var(--nsc-border-2)}
.nsc-btn-ghost:hover:not(:disabled){border-color:var(--nsc-ink-3)}
.nsc-btn-block{width:100%}
.nsc-btn:disabled, .nsc-btn-disabled{opacity:.55;cursor:default;pointer-events:none}

/* ==========================================================================
   AUTH PAGES — signup / login. Split layout: a branded visual panel and
   the actual form, matching the landing page hero's navy/gradient
   treatment so these feel like the same product, not a bolt-on form.
   ========================================================================== */
.nsc-auth-page{
  display:grid;grid-template-columns:1fr 1fr;min-height:640px;
  border-radius:var(--nsc-radius-lg);overflow:hidden;
  box-shadow:var(--nsc-shadow-lift);
  max-width:1080px;margin:32px auto;
}
@media (max-width:860px){
  .nsc-auth-page{grid-template-columns:1fr;min-height:0;box-shadow:none;margin:0 auto}
}

.nsc-auth-visual{
  background:
    radial-gradient(700px 420px at 15% -10%, rgba(20,99,255,.35), transparent 60%),
    radial-gradient(600px 380px at 100% 0%, rgba(86,168,255,.18), transparent 55%),
    linear-gradient(180deg,var(--nsc-navy) 0%,var(--nsc-navy-deep) 100%);
  color:#fff;padding:48px;display:flex;align-items:center;
}
@media (max-width:860px){ .nsc-auth-visual{padding:36px 28px} }

.nsc-auth-visual-inner{max-width:380px}
.nsc-auth-logo{display:flex;align-items:center;gap:10px;margin-bottom:32px;font-family:var(--nsc-font-display);font-weight:700;font-size:15px}
.nsc-auth-headline{font-size:clamp(24px,3vw,32px);line-height:1.15;color:#fff;margin-bottom:24px}
.nsc-auth-features{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}
.nsc-auth-features li{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:#C6D2E8;line-height:1.5}
.nsc-auth-features svg{color:var(--nsc-teal-soft);margin-top:2px}

.nsc-auth-panel{background:#fff;display:flex;align-items:center;justify-content:center;padding:48px}
@media (max-width:860px){ .nsc-auth-panel{padding:36px 28px} }
.nsc-auth-card{width:100%;max-width:360px}
.nsc-auth-card-wide{max-width:420px}
.nsc-auth-card h2{font-size:24px;margin-bottom:6px}
.nsc-auth-sub{color:var(--nsc-ink-3);font-size:14.5px;margin:0 0 28px}
.nsc-auth-switch{margin:18px 0 0;font-size:13.5px;color:var(--nsc-ink-3);text-align:center}
.nsc-auth-switch a{color:var(--nsc-blue);font-weight:600;text-decoration:none}
.nsc-auth-switch a:hover{text-decoration:underline}

/* ==========================================================================
   FORMS — shared by auth pages and the account dashboard's password form.
   ========================================================================== */
.nsc-form{display:flex;flex-direction:column;gap:16px}
.nsc-form-compact{gap:12px}
.nsc-field{display:flex;flex-direction:column;gap:6px;flex:1 1 0}
.nsc-field-row{display:flex;gap:14px}
@media (max-width:420px){ .nsc-field-row{flex-direction:column;gap:16px} }
.nsc-field-label{font-size:13px;font-weight:650;color:var(--nsc-ink-2)}
.nsc-form input[type="email"],
.nsc-form input[type="password"],
.nsc-form input[type="tel"],
.nsc-form input[type="text"],
.nsc-form select{
  padding:12px 14px;border:1.5px solid var(--nsc-border-2);border-radius:var(--nsc-radius-sm);
  font-size:15px;font-family:inherit;color:var(--nsc-ink-1);background:#fff;
  transition:border-color .15s ease,box-shadow .15s ease;
}
.nsc-form select{appearance:auto}
.nsc-form input:focus, .nsc-form select:focus{
  outline:none;border-color:var(--nsc-blue);
  box-shadow:0 0 0 3px rgba(20,99,255,.14);
}
.nsc-error{
  background:var(--nsc-red-soft);color:var(--nsc-red);
  border:1px solid #F5D4D1;border-radius:var(--nsc-radius-sm);
  padding:11px 14px;font-size:13.5px;margin:0;
}
.nsc-success-inline{
  background:var(--nsc-teal-soft);color:var(--nsc-teal);
  border:1px solid #C6EEE8;border-radius:var(--nsc-radius-sm);
  padding:11px 14px;font-size:13.5px;margin:0 0 12px;
}
.nsc-note{font-size:12.5px;color:var(--nsc-ink-3);margin:0;line-height:1.5}

/* Handoff / "you're in" success screen shown right after signup or login */
.nsc-success{
  max-width:460px;margin:32px auto;padding:32px;text-align:center;
  border:1px solid var(--nsc-border-1);border-radius:var(--nsc-radius-lg);
  box-shadow:var(--nsc-shadow-card);background:#fff;
}
.nsc-success h3{font-family:var(--nsc-font-display);font-size:22px;margin:0 0 10px}
.nsc-success p{margin:6px 0;color:var(--nsc-ink-2);font-size:14.5px}
.nsc-trial-blocked-note{
  background:var(--nsc-amber-soft);color:var(--nsc-amber);
  border:1px solid #FFE3C2;border-radius:var(--nsc-radius-sm);
  padding:12px 14px;font-size:13.5px;line-height:1.55;text-align:left;
}

/* ==========================================================================
   PRICING PAGE
   ========================================================================== */
.nsc-pricing-page{max-width:900px;margin:32px auto;padding:0 20px}
.nsc-pricing-head{text-align:center;margin-bottom:40px}
.nsc-pricing-head h1{font-size:clamp(26px,3.4vw,36px);margin-bottom:10px}
.nsc-pricing-head p{color:var(--nsc-ink-3);font-size:16px;margin:0}

.nsc-pricing-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px}
@media (max-width:640px){ .nsc-pricing-cards{grid-template-columns:1fr} }
.nsc-pricing-cards-single{grid-template-columns:1fr;max-width:420px;margin:0 auto}

.nsc-price-card{
  background:#fff;border:1px solid var(--nsc-border-1);border-radius:var(--nsc-radius-lg);
  padding:32px;box-shadow:var(--nsc-shadow-card);position:relative;
}
.nsc-price-card.featured{border:2px solid var(--nsc-blue);box-shadow:var(--nsc-shadow-lift)}
.nsc-featured-badge{
  position:absolute;top:-13px;left:50%;transform:translateX(-50%);
  background:var(--nsc-blue);color:#fff;font-size:11px;font-weight:700;
  padding:5px 14px;border-radius:999px;letter-spacing:.02em;white-space:nowrap;
}
.nsc-price-card h3{font-size:15px;color:var(--nsc-ink-2);font-weight:700;margin-bottom:16px}
.nsc-price-amount{display:flex;align-items:baseline;gap:6px;margin-bottom:24px;flex-wrap:wrap}
.nsc-price-amount b{font-family:var(--nsc-font-display);font-size:36px;color:var(--nsc-ink-1)}
.nsc-price-amount span{color:var(--nsc-ink-3);font-size:14px}
.nsc-price-feats{list-style:none;padding:0;margin:0 0 28px;display:flex;flex-direction:column;gap:12px}
.nsc-price-feats li{display:flex;gap:10px;font-size:14px;color:var(--nsc-ink-2);align-items:flex-start}
.nsc-price-feats svg{color:var(--nsc-teal);margin-top:2px}
.nsc-pricing-foot{text-align:center;margin-top:32px;font-size:13px;color:var(--nsc-ink-3)}

/* ==========================================================================
   ACCOUNT DASHBOARD
   ========================================================================== */
.nsc-account, .nsc-account-guest{max-width:980px;margin:32px auto;padding:0 20px}
.nsc-account-guest{text-align:center;color:var(--nsc-ink-2)}
.nsc-account-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}
.nsc-account-topbar h2{font-size:22px;color:var(--nsc-ink-1)}

.nsc-account-shell{display:grid;grid-template-columns:220px 1fr;gap:28px;align-items:start}
@media (max-width:760px){ .nsc-account-shell{grid-template-columns:1fr} }

.nsc-account-nav{
  position:sticky;top:24px;display:flex;flex-direction:column;gap:2px;
  background:#fff;border:1px solid var(--nsc-border-1);border-radius:var(--nsc-radius-lg);
  padding:12px;box-shadow:var(--nsc-shadow-card);
}
@media (max-width:760px){ .nsc-account-nav{position:static;flex-direction:row;flex-wrap:wrap;gap:6px;margin-bottom:8px;padding:8px} }
.nsc-account-nav a{
  display:flex;align-items:center;gap:10px;
  padding:10px 14px;border-radius:var(--nsc-radius-sm);font-size:14px;font-weight:600;
  color:var(--nsc-ink-3);text-decoration:none;transition:background .15s ease,color .15s ease;
}
.nsc-account-nav a svg{flex:0 0 auto;color:var(--nsc-ink-4);transition:color .15s ease}
.nsc-account-nav a:hover{background:var(--nsc-paper);color:var(--nsc-ink-1)}
.nsc-account-nav a:hover svg{color:var(--nsc-ink-2)}
.nsc-account-nav a.is-active{background:#EAF1FF;color:#0D4BC7;font-weight:700}
.nsc-account-nav a.is-active svg{color:#0D4BC7}

.nsc-account-main{
  background:#fff;border:1px solid var(--nsc-border-1);border-radius:var(--nsc-radius-lg);
  box-shadow:var(--nsc-shadow-card);overflow:hidden;
}
.nsc-account-identity{display:flex;align-items:center;gap:14px;padding:24px 32px;border-bottom:1px solid var(--nsc-border-1);flex-wrap:wrap}
.nsc-avatar{
  width:46px;height:46px;border-radius:50%;background:var(--nsc-blue);color:#fff;
  display:flex;align-items:center;justify-content:center;font-family:var(--nsc-font-display);
  font-weight:700;font-size:16px;flex:0 0 auto;
}
.nsc-identity-name{font-family:var(--nsc-font-display);font-weight:700;font-size:16px;color:var(--nsc-ink-1)}
.nsc-identity-sub{font-size:13px;color:var(--nsc-ink-3);margin-top:2px}
.nsc-identity-status{margin-left:auto;margin-bottom:0}

.nsc-account-section{padding:28px 32px;border-bottom:1px solid var(--nsc-border-1);scroll-margin-top:24px}
.nsc-account-section:last-child{border-bottom:0}
.nsc-section-head{margin-bottom:18px}
.nsc-section-head h3{font-size:15.5px;margin-bottom:3px}
.nsc-section-head p{margin:0;font-size:13px;color:var(--nsc-ink-3)}
.nsc-section-actions{display:flex;justify-content:flex-end;margin-top:4px}

.nsc-overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:8px}
@media (max-width:560px){ .nsc-overview-grid{grid-template-columns:1fr} }
.nsc-overview-block{padding:20px;background:var(--nsc-paper);border:1px solid var(--nsc-border-1);border-radius:var(--nsc-radius-md)}

.nsc-status-badge{
  display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.02em;
  padding:5px 12px;border-radius:999px;margin-bottom:10px;
}
.nsc-status-trialing{background:#EAF1FF;color:#0D4BC7}
.nsc-status-active{background:var(--nsc-teal-soft);color:var(--nsc-teal)}
.nsc-status-past-due{background:var(--nsc-amber-soft);color:var(--nsc-amber)}
.nsc-status-expired{background:var(--nsc-amber-soft);color:var(--nsc-amber)}
.nsc-status-detail{color:var(--nsc-ink-2);font-size:14px;margin:0 0 20px;line-height:1.5}

/* Invoice list — inside the Plan & Billing card */
.nsc-invoice-list{margin-top:22px;padding-top:18px;border-top:1px solid var(--nsc-border-1)}
.nsc-invoice-list-head{font-size:12px;font-weight:700;color:var(--nsc-ink-3);text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px}
.nsc-invoice-row{display:flex;align-items:center;gap:10px;padding:9px 0;font-size:13.5px;border-top:1px solid var(--nsc-border-1)}
.nsc-invoice-row:first-of-type{border-top:0}
.nsc-invoice-date{color:var(--nsc-ink-3);flex:1 1 auto}
.nsc-invoice-amount{font-weight:650;color:var(--nsc-ink-1)}
.nsc-invoice-status{font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;text-transform:capitalize}
.nsc-invoice-status-paid{background:var(--nsc-teal-soft);color:var(--nsc-teal)}
.nsc-invoice-status-open, .nsc-invoice-status-draft{background:var(--nsc-amber-soft);color:var(--nsc-amber)}
.nsc-invoice-status-uncollectible, .nsc-invoice-status-void{background:var(--nsc-red-soft);color:var(--nsc-red)}
.nsc-invoice-link{color:var(--nsc-blue);font-weight:650;text-decoration:none;font-size:12.5px}
.nsc-invoice-link:hover{text-decoration:underline}

/* Toggle rows — Notifications card */
.nsc-toggle-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;cursor:pointer;padding:4px 0}
.nsc-toggle-title{display:block;font-size:14px;font-weight:650;color:var(--nsc-ink-1)}
.nsc-toggle-sub{display:block;font-size:12.5px;color:var(--nsc-ink-3);margin-top:2px;line-height:1.4}
.nsc-toggle-row input[type="checkbox"]{
  appearance:none;-webkit-appearance:none;flex:0 0 auto;
  width:40px;height:24px;border-radius:999px;background:var(--nsc-border-2);
  position:relative;cursor:pointer;transition:background .15s ease;margin-top:2px;
}
.nsc-toggle-row input[type="checkbox"]::after{
  content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;
  background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:transform .15s ease;
}
.nsc-toggle-row input[type="checkbox"]:checked{background:var(--nsc-blue)}
.nsc-toggle-row input[type="checkbox"]:checked::after{transform:translateX(16px)}

/* ==========================================================================
   PLUGIN'S OWN SITE HEADER — a deliberate, exact visual copy of the
   homepage's real nav-wrap/nav/nav-links/nav-cta header (see
   nsc_render_site_header() in noon-scout-membership.php for why: the
   theme's own block-based Navigation could not be safely edited on this
   site without corrupting it). Classes are prefixed nsc-site-nav-* so
   they can never collide with the theme's own .nav/.nav-links/etc.
   classes used elsewhere on the site.
   ========================================================================== */
.nsc-site-nav-wrap{position:sticky;top:0;z-index:100;padding:16px max(0px, env(safe-area-inset-right)) 16px max(0px, env(safe-area-inset-left));background:var(--nsc-paper);max-width:none !important;width:100%}
.nsc-site-nav{
  max-width:1180px;margin:0 auto;padding:10px 10px 10px 20px;
  display:flex;align-items:center;justify-content:space-between;
  background:rgba(255,255,255,.92);border:1px solid var(--nsc-border-1);
  border-radius:999px;box-shadow:var(--nsc-shadow-card);
}
.nsc-site-nav-brand{
  display:flex;align-items:center;gap:10px;font-family:var(--nsc-font-display);
  font-weight:700;font-size:16px;color:var(--nsc-ink-1);text-decoration:none;
}
.nsc-site-nav-links{display:flex;align-items:center;gap:32px;font-size:14px;font-weight:600;color:var(--nsc-ink-2)}
.nsc-site-nav-links a{text-decoration:none;color:inherit;transition:color .15s ease}
.nsc-site-nav-links a:hover{color:var(--nsc-blue)}
.nsc-site-nav-cta{display:flex;align-items:center;gap:12px}
.nsc-site-nav-toggle{display:none;background:none;border:0;padding:8px;color:var(--nsc-ink-1)}
.nsc-site-nav-mobile{display:none}
.nsc-btn-sm{padding:9px 16px;font-size:13.5px;min-height:40px}

@media (max-width:900px){
  .nsc-site-nav-links{display:none}
  .nsc-site-nav-cta{display:none}
  .nsc-site-nav-toggle{display:block}
  .nsc-site-nav-mobile{
    display:flex;flex-direction:column;gap:8px;max-width:1180px;margin:8px auto 0;
    padding:16px;background:#fff;border:1px solid var(--nsc-border-1);
    border-radius:var(--nsc-radius-md);box-shadow:var(--nsc-shadow-lift, var(--nsc-shadow-card));
  }
  .nsc-site-nav-mobile[hidden]{display:none}
  .nsc-site-nav-mobile a:not(.nsc-btn){padding:12px 10px;text-decoration:none;color:var(--nsc-ink-1);font-weight:600;font-size:15px;border-radius:8px}
  .nsc-site-nav-mobile a:not(.nsc-btn):hover{background:var(--nsc-paper)}
}

/* ==========================================================================
   PLUGIN'S OWN SITE FOOTER — matches the homepage's real footer (navy
   background, same brand mark, same legal/copyright copy), plus real
   contact email, social icons (hrefs intentionally "#" until real
   profile URLs are supplied — see nsc_render_site_footer()'s own
   comment), and the same working newsletter block used elsewhere on
   the site. See nsc_render_site_footer() for why this exists instead
   of the theme's own footer template part.
   ========================================================================== */
/* The theme's global block-layout CSS caps any plain (non-"alignfull")
   top-level block to a fixed 700px content width — since this footer
   is a direct child of that constrained container, THAT was actually
   overriding this file's own 1180px max-width set on the inner
   .nsc-site-footer-inner div, because the OUTER .nsc-site-footer
   element itself was the one being squeezed, before its inner content
   ever got a chance to use the space. Same underlying cause as the
   header fix above. Forced back to full width here so the dark
   background band — and the 1180px content centered inside it — reads
   as a proper full-width footer rather than a narrow, oddly-inset box.
   ========================================================================== */
.nsc-site-footer{background:var(--nsc-navy-deep);color:#B8C5DC;margin-top:64px;max-width:none !important;width:100%}
.nsc-site-footer-inner{max-width:1180px;margin:0 auto;padding:56px 24px 32px}
.nsc-site-footer-grid{display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;margin-bottom:32px}
.nsc-site-footer-brand{display:flex;align-items:center;gap:10px;color:#fff;font-family:var(--nsc-font-display);font-weight:700;margin-bottom:18px}
.nsc-site-footer-links{display:flex;flex-wrap:wrap;gap:24px;font-size:13.5px;margin-bottom:18px}
.nsc-site-footer-links a{color:#8FA3C4;text-decoration:none;transition:color .15s ease}
.nsc-site-footer-links a:hover{color:#fff}
.nsc-site-footer-social{display:flex;gap:12px}
.nsc-site-footer-social-link{
  display:flex;align-items:center;justify-content:center;width:34px;height:34px;
  border-radius:50%;background:rgba(255,255,255,.08);color:#B8C5DC;
  transition:background .15s ease,color .15s ease;
}
.nsc-site-footer-social-link:hover{background:rgba(255,255,255,.16);color:#fff}
.nsc-site-footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:24px}
.nsc-site-footer-legal{max-width:820px;font-size:12px;line-height:1.6;color:#7488A8;margin:0 0 20px}
.nsc-site-footer-newsletter{max-width:360px;margin-bottom:20px}
.nsc-site-footer-newsletter .hostinger-reach-block-form-field label{color:#B8C5DC;font-size:13px;display:block;margin-bottom:6px}
.nsc-site-footer-newsletter input[type="email"]{
  width:100%;padding:10px 14px;border-radius:var(--nsc-radius-sm);border:1.5px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.06);color:#fff;font-size:14px;margin-bottom:10px;
}
.nsc-site-footer-newsletter button{
  padding:10px 20px;border-radius:999px;background:var(--nsc-blue);color:#fff;
  border:0;font-weight:700;font-size:13.5px;cursor:pointer;
}
.nsc-site-footer-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:12.5px;color:#7488A8}
