/* ================================================================
   AIFC Post Template: styles for [aifc_post] and [aifc_newsletter]
   Palette and components ported from the team's
   "Blog & Newsletter Archive Skin" (aifc-blog-newsletter.css).
   Everything is scoped to .aifc-blog, so it cannot leak into the
   header, footer or any other page.
   Every rule is !important on purpose: it locks this layout against
   Elementor Site Settings, theme styles and inline styles that Kit
   adds to imported posts. It is all scoped to .aifc-blog, so nothing
   outside the template is affected.
   ================================================================ */

.aifc-blog{ --afc-navy:#325076; --afc-navy-lt:#4a6fa8; --afc-navy-dk:#24405f; --afc-emerald:#03dc84; --afc-emerald-dim:#02b06a; --afc-teal:#08242f; --afc-darker:#063134; --afc-surface:#0a1f28; --afc-surface2:#0d2933; --afc-border:rgba(3,220,132,.15); --afc-border-strong:rgba(3,220,132,.35); --afc-muted:rgba(255,255,255,.68); --afc-muted-dim:rgba(255,255,255,.48); --afc-black:#0c0c0c; background:var(--afc-teal) !important; color:var(--afc-muted) !important; font-family:'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif !important; font-size:16px !important; line-height:1.75 !important; -webkit-font-smoothing:antialiased !important; }
.aifc-blog *, .aifc-blog *::before, .aifc-blog *::after{ box-sizing:border-box !important; }


/* Page canvas behind the template (removes white gaps around the widget) */
body:has(.aifc-blog){ background:#08242f !important; }


/* ---------- Font lock ----------
   Beats Elementor Site Settings typography (.elementor-kit-XX h1…)
   and inline font styles that Kit adds to imported newsletter posts.
   Icon fonts are left alone. */
.aifc-blog,
.aifc-blog h1, .aifc-blog h2, .aifc-blog h3, .aifc-blog h4, .aifc-blog h5, .aifc-blog h6,
.aifc-blog p, .aifc-blog li, .aifc-blog a, .aifc-blog button, .aifc-blog input, .aifc-blog time{ font-family:'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif !important; }
.aifc-blog .aifc-content *:not(i):not(svg):not([class*="fa-"]):not([class*="eicon"]):not(.dashicons):not(code):not(pre){ font-family:'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif !important; }
.aifc-blog .aifc-content code, .aifc-blog .aifc-content pre{ font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace !important; }

/* ---------- Layout ---------- */
.aifc-blog .aifc-wrap{ max-width:900px !important; margin:0 auto !important; padding:clamp(40px,6vw,64px) clamp(20px,4vw,40px) !important; }
.aifc-blog .aifc-wrap--narrow{ max-width:640px !important; text-align:center !important; }
.aifc-blog .aifc-wrap--wide{ max-width:1160px !important; }
.aifc-blog .aifc-sec + .aifc-sec{ border-top:1px solid var(--afc-border) !important; }

/* ---------- Type defaults ---------- */
.aifc-blog h1, .aifc-blog h2, .aifc-blog h3,
.aifc-blog h4, .aifc-blog h5, .aifc-blog h6{ font-family:inherit !important; color:#fff !important; font-weight:700 !important; letter-spacing:-.3px !important; line-height:1.25 !important; margin:0 0 .6em !important; }
.aifc-blog p{ margin:0 0 1.1em !important; color:var(--afc-muted) !important; }
/* "body" prefix outranks the Elementor kit / theme link colors
   (e.g. .elementor-kit-123 a), including visited links */
body .aifc-blog a, body .aifc-blog a:visited{ color:var(--afc-emerald) !important; text-decoration:none !important; }
body .aifc-blog a:hover{ text-decoration:underline !important; }

/* ---------- Buttons ---------- */
.aifc-blog .aifc-btn{ display:inline-flex !important; align-items:center !important; justify-content:center !important; gap:8px !important; background:var(--afc-emerald) !important; color:var(--afc-black) !important; font-weight:600 !important; font-size:15px !important; padding:13px 26px !important; border-radius:8px !important; border:0 !important; transition:background .2s, transform .2s !important; }
body .aifc-blog a.aifc-btn, body .aifc-blog a.aifc-btn:visited{ color:var(--afc-black) !important; text-decoration:none !important; }
body .aifc-blog a.aifc-btn:hover{ background:var(--afc-emerald-dim) !important; color:var(--afc-black) !important; text-decoration:none !important; transform:translateY(-1px) !important; }

/* ---------- Newsletter strip (top of post) ---------- */
/* Compact strip: text left, form right; stacks on small screens */
.aifc-blog .aifc-signup .aifc-signup__inner{ max-width:1040px !important; padding:24px clamp(20px,4vw,40px) !important; display:flex !important; align-items:center !important; justify-content:space-between !important; flex-wrap:wrap !important; gap:16px 40px !important; }
.aifc-blog .aifc-signup__text{ flex:1 1 320px !important; }
.aifc-blog .aifc-signup__title{ font-size:20px !important; margin:0 0 2px !important; }
.aifc-blog .aifc-signup__sub{ font-size:14px !important; margin:0 !important; }
.aifc-blog .aifc-signup .aifc-form{ flex:0 1 520px !important; justify-content:flex-end !important; }
.aifc-blog .aifc-signup .formkit-form{ margin:0 !important; padding:0 !important; background:transparent !important; border:0 !important; }
.aifc-blog .aifc-form{ display:flex !important; justify-content:center !important; }
.aifc-blog .aifc-form > *{ max-width:100% !important; }

/* ---------- Title block ---------- */
body .aifc-blog a.aifc-eyebrow, .aifc-blog .aifc-eyebrow{ display:inline-block !important; color:var(--afc-emerald) !important; font-size:12px !important; font-weight:600 !important; letter-spacing:.1em !important; text-transform:uppercase !important; margin-bottom:14px !important; }
.aifc-blog .aifc-head__title{ font-size:clamp(28px,4vw,44px) !important; line-height:1.15 !important; max-width:900px !important; margin-bottom:0 !important; }
.aifc-blog .aifc-meta{ list-style:none !important; margin:18px 0 0 !important; padding:0 !important; display:flex !important; flex-wrap:wrap !important; gap:8px !important; }
.aifc-blog .aifc-pill{ display:inline-flex !important; align-items:center !important; gap:6px !important; background:rgba(3,220,132,.1) !important; border:1px solid var(--afc-border-strong) !important; color:var(--afc-emerald) !important; font-size:12px !important; font-weight:700 !important; letter-spacing:.04em !important; line-height:1.4 !important; padding:5px 12px !important; border-radius:20px !important; }
.aifc-blog .aifc-hero-img{ margin:32px 0 0 !important; }
.aifc-blog .aifc-hero-img img{ width:100% !important; height:auto !important; display:block !important; border-radius:12px !important; border:1px solid var(--afc-border) !important; }

/* ---------- Article body ---------- */
.aifc-blog .aifc-content{ max-width:760px !important; margin:0 auto !important; }
.aifc-blog .aifc-content > :first-child{ margin-top:0 !important; }
.aifc-blog .aifc-content h2{ font-size:26px !important; margin:2.4em 0 .7em !important; padding-left:16px !important; border-left:3px solid var(--afc-emerald) !important; }
.aifc-blog .aifc-content h3{ font-size:19px !important; margin:1.8em 0 .6em !important; color:var(--afc-emerald) !important; }
.aifc-blog .aifc-content h4{ font-size:17px !important; margin:1.6em 0 .5em !important; }
.aifc-blog .aifc-content strong, .aifc-blog .aifc-content b{ color:#fff !important; }
.aifc-blog .aifc-content a{ color:var(--afc-emerald) !important; font-weight:500 !important; }
.aifc-blog .aifc-content hr{ border:0 !important; height:1px !important; margin:2.5em 0 !important; background:linear-gradient(90deg,transparent,var(--afc-border-strong) 30%,var(--afc-border-strong) 70%,transparent) !important; }
.aifc-blog .aifc-content ul, .aifc-blog .aifc-content ol{ margin:0 0 1.3em !important; padding-left:0 !important; }
.aifc-blog .aifc-content ul{ list-style:none !important; }
.aifc-blog .aifc-content ul li{ position:relative !important; padding-left:26px !important; margin-bottom:10px !important; color:var(--afc-muted) !important; }
.aifc-blog .aifc-content ul li::before{ content:'—' !important; position:absolute !important; left:0 !important; color:var(--afc-emerald) !important; font-weight:700 !important; }
.aifc-blog .aifc-content ol{ list-style:none !important; counter-reset:aifc-ol !important; }
.aifc-blog .aifc-content ol li{ position:relative !important; padding-left:34px !important; margin-bottom:10px !important; counter-increment:aifc-ol !important; color:var(--afc-muted) !important; }
.aifc-blog .aifc-content ol li::before{ content:counter(aifc-ol) !important; position:absolute !important; left:0 !important; top:.2em !important; width:22px !important; height:22px !important; border-radius:50% !important; background:rgba(3,220,132,.1) !important; border:1px solid var(--afc-border-strong) !important; color:var(--afc-emerald) !important; font-size:12px !important; font-weight:700 !important; display:grid !important; place-items:center !important; line-height:1 !important; }
.aifc-blog .aifc-content figure{ margin:2em 0 !important; }
.aifc-blog .aifc-content img{ max-width:100% !important; height:auto !important; display:block !important; margin:0 auto !important; border-radius:12px !important; border:1px solid var(--afc-border) !important; }
.aifc-blog .aifc-content figcaption{ text-align:center !important; color:var(--afc-muted-dim) !important; font-size:13px !important; font-style:italic !important; margin-top:10px !important; }
.aifc-blog .aifc-content blockquote{ margin:1.8em 0 !important; padding:18px 22px !important; background:var(--afc-surface2) !important; border-left:3px solid var(--afc-emerald) !important; border-radius:0 12px 12px 0 !important; color:#fff !important; font-style:italic !important; }
.aifc-blog .aifc-content blockquote p:last-child{ margin-bottom:0 !important; }
.aifc-blog .aifc-content code{ background:rgba(255,255,255,.06) !important; border:1px solid rgba(255,255,255,.1) !important; padding:1px 6px !important; border-radius:6px !important; font-size:.9em !important; color:#fff !important; }
.aifc-blog .aifc-content pre{ background:var(--afc-surface) !important; border:1px solid var(--afc-border) !important; border-radius:12px !important; padding:18px !important; overflow-x:auto !important; font-size:14px !important; }
.aifc-blog .aifc-content pre code{ background:none !important; border:0 !important; padding:0 !important; }
.aifc-blog .aifc-content table{ width:100% !important; border-collapse:collapse !important; margin:1.5em 0 !important; display:block !important; overflow-x:auto !important; }
.aifc-blog .aifc-content table td, .aifc-blog .aifc-content table th{ border:0 !important; padding:6px !important; }
.aifc-blog .aifc-content iframe, .aifc-blog .aifc-content video{ max-width:100% !important; }
.aifc-blog .aifc-content .ck-link{ color:var(--afc-emerald) !important; font-weight:600 !important; }

/* ---------- Share row ---------- */
.aifc-blog .aifc-share{ max-width:760px !important; margin:48px auto 0 !important; display:flex !important; align-items:center !important; flex-wrap:wrap !important; gap:14px !important; }
.aifc-blog .aifc-share__label{ color:#fff !important; font-size:15px !important; font-weight:700 !important; }
.aifc-blog .aifc-share__list{ list-style:none !important; margin:0 !important; padding:0 !important; display:flex !important; gap:10px !important; }
.aifc-blog .aifc-share__list a{ width:38px !important; height:38px !important; border-radius:50% !important; display:flex !important; align-items:center !important; justify-content:center !important; background:var(--afc-surface2) !important; border:1px solid var(--afc-border) !important; color:var(--afc-emerald) !important; transition:border-color .2s, transform .2s !important; }
.aifc-blog .aifc-share__list a:hover{ border-color:var(--afc-emerald) !important; transform:translateY(-2px) !important; text-decoration:none !important; }

/* ---------- Mid-page newsletter box ---------- */
.aifc-blog .aifc-cta-box{ background:var(--afc-surface2) !important; border:1px solid var(--afc-border) !important; border-radius:14px !important; padding:clamp(24px,4vw,36px) !important; text-align:center !important; margin-bottom:56px !important; }
.aifc-blog .aifc-cta-box__title{ color:#fff !important; font-size:22px !important; font-weight:700 !important; margin-bottom:6px !important; }
.aifc-blog .aifc-cta-box__sub{ margin-bottom:20px !important; }
.aifc-blog .aifc-related__title{ font-size:22px !important; margin-bottom:24px !important; }

/* ---------- Post cards ---------- */
.aifc-blog .aifc-grid{ display:grid !important; gap:22px !important; }
.aifc-blog .aifc-grid--2{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
.aifc-blog .aifc-grid--3{ grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
.aifc-blog .aifc-card{ display:flex !important; flex-direction:column !important; background:var(--afc-surface2) !important; border:1px solid var(--afc-border) !important; border-radius:12px !important; overflow:hidden !important; height:100% !important; transition:border-color .2s, transform .2s, box-shadow .2s !important; }
.aifc-blog .aifc-card:hover{ border-color:var(--afc-border-strong) !important; transform:translateY(-3px) !important; box-shadow:0 12px 28px rgba(0,0,0,.35) !important; }
.aifc-blog .aifc-card__thumb img{ width:100% !important; aspect-ratio:16/9 !important; object-fit:cover !important; display:block !important; }
.aifc-blog .aifc-card__body{ display:flex !important; flex-direction:column !important; flex:1 !important; padding:22px 24px !important; }
.aifc-blog .aifc-card__title{ font-size:17px !important; line-height:1.4 !important; margin:0 0 10px !important; }
/* Titles stay white even after a visit (visited links were turning green) */
body .aifc-blog .aifc-card__title a, body .aifc-blog .aifc-card__title a:visited{ color:#fff !important; text-decoration:none !important; }
body .aifc-blog .aifc-card__title a:hover, body .aifc-blog .aifc-card__title a:focus-visible{ color:var(--afc-emerald) !important; text-decoration:none !important; }
.aifc-blog .aifc-card__date{ color:var(--afc-emerald) !important; font-size:12px !important; font-weight:600 !important; margin-bottom:10px !important; }
.aifc-blog .aifc-card__excerpt{ font-size:13.5px !important; line-height:1.65 !important; margin:0 0 16px !important; }
.aifc-blog .aifc-card__more{ margin-top:auto !important; align-self:flex-start !important; display:inline-flex !important; align-items:center !important; gap:6px !important; border:1.5px solid var(--afc-border-strong) !important; color:var(--afc-emerald) !important; font-size:13px !important; font-weight:700 !important; padding:8px 16px !important; border-radius:20px !important; transition:background .2s, border-color .2s, color .2s !important; }
.aifc-blog .aifc-card__more:hover{ background:var(--afc-emerald) !important; border-color:var(--afc-emerald) !important; color:var(--afc-black) !important; text-decoration:none !important; }

/* ---------- Newsletter archive ---------- */
.aifc-blog .aifc-newsletter-hero, .aifc-blog .aifc-wrap.aifc-nl-hero{ padding-top:clamp(28px,4vw,44px) !important; padding-bottom:clamp(28px,4vw,44px) !important; }
.aifc-blog .aifc-nl-hero{ display:grid !important; grid-template-columns:240px 1fr !important; gap:48px !important; align-items:center !important; }
/* Framed portrait: the cut-out photo sits on a card with a soft emerald glow,
   anchored to the bottom edge so it no longer floats */
.aifc-blog .aifc-nl-hero__media{
  position:relative !important; aspect-ratio:1 / 1 !important; width:100% !important;
  display:flex !important; align-items:flex-end !important; justify-content:center !important;
  overflow:hidden !important; border-radius:16px !important;
  background:radial-gradient(circle at 50% 70%, rgba(3,220,132,.22) 0%, rgba(3,220,132,.06) 45%, transparent 70%), var(--afc-surface2) !important;
  border:1px solid var(--afc-border) !important;
}
.aifc-blog .aifc-nl-hero__img{
  width:84% !important; height:auto !important; max-height:94% !important; object-fit:contain !important; object-position:bottom !important;
  display:block !important; margin:0 !important; border:0 !important; border-radius:0 !important;
}
.aifc-blog .aifc-nl-hero__title{ font-size:clamp(26px,3.2vw,36px) !important; margin-bottom:14px !important; }
.aifc-blog .aifc-divider{ display:block !important; width:56px !important; height:3px !important; border-radius:2px !important; background:var(--afc-emerald) !important; margin-bottom:20px !important; }
.aifc-blog .aifc-nl-hero .aifc-form{ justify-content:flex-start !important; }

.aifc-blog .aifc-tabs{ display:flex !important; flex-wrap:wrap !important; gap:10px !important; margin-bottom:32px !important; }
.aifc-blog .aifc-tab{ background:transparent !important; border:1.5px solid rgba(255,255,255,.16) !important; color:var(--afc-muted) !important; font-family:inherit !important; font-weight:600 !important; font-size:14px !important; line-height:1.4 !important; padding:10px 22px !important; border-radius:30px !important; cursor:pointer !important; transition:.2s !important; }
.aifc-blog .aifc-tab:hover{ border-color:var(--afc-border-strong) !important; color:#fff !important; background:transparent !important; }
.aifc-blog .aifc-tab[aria-selected="true"]{ background:var(--afc-emerald) !important; border-color:var(--afc-emerald) !important; color:var(--afc-black) !important; }

.aifc-blog .aifc-panel__foot{ display:flex !important; flex-wrap:wrap !important; justify-content:center !important; align-items:center !important; gap:18px !important; margin-top:36px !important; }
.aifc-blog .aifc-more{ background:transparent !important; border:1.5px solid var(--afc-border-strong) !important; color:var(--afc-emerald) !important; font-family:inherit !important; font-weight:700 !important; font-size:14px !important; padding:11px 26px !important; border-radius:30px !important; cursor:pointer !important; transition:.2s !important; }
.aifc-blog .aifc-more:hover{ background:var(--afc-emerald) !important; border-color:var(--afc-emerald) !important; color:var(--afc-black) !important; }
.aifc-blog .aifc-archive-link{ font-size:14px !important; font-weight:600 !important; }

/* ---------- Kit (ConvertKit) form overrides ---------- */
.aifc-blog .formkit-form{ background:var(--afc-surface2) !important; border:1px solid var(--afc-border) !important; border-radius:14px !important; box-shadow:none !important; max-width:100% !important; }
.aifc-blog .aifc-cta-box .formkit-form{ background:transparent !important; border:0 !important; }
.aifc-blog .formkit-header, .aifc-blog .formkit-header *{ color:#fff !important; font-family:inherit !important; }
.aifc-blog .formkit-subheader, .aifc-blog .formkit-subheader *{ color:var(--afc-muted) !important; }
.aifc-blog .formkit-input{ background:rgba(255,255,255,.04) !important; border:1px solid rgba(255,255,255,.14) !important; color:#fff !important; border-radius:8px !important; font-family:inherit !important; }
.aifc-blog .formkit-input::placeholder{ color:var(--afc-muted-dim) !important; opacity:1 !important; }
.aifc-blog .formkit-input:focus{ border-color:var(--afc-emerald) !important; outline:none !important; }
.aifc-blog .formkit-submit{ background:var(--afc-emerald) !important; color:var(--afc-black) !important; border-radius:8px !important; font-family:inherit !important; font-weight:600 !important; transition:background .2s, transform .2s !important; }
.aifc-blog .formkit-submit > span{ color:var(--afc-black) !important; }
.aifc-blog .formkit-submit:hover{ background:var(--afc-emerald-dim) !important; transform:translateY(-1px) !important; }
.aifc-blog .formkit-guarantee, .aifc-blog .formkit-powered-by-convertkit-container{ color:var(--afc-muted-dim) !important; }
.aifc-blog .formkit-hero-bg-color{ background:var(--afc-navy-dk) !important; }

/* ---------- Focus + motion ---------- */
.aifc-blog a:focus-visible, .aifc-blog button:focus-visible{ outline:2px solid var(--afc-emerald) !important; outline-offset:2px !important; }
@media (prefers-reduced-motion: reduce){
  .aifc-blog *{ transition:none !important; }
  .aifc-blog .aifc-card:hover, .aifc-blog .aifc-btn:hover{ transform:none !important; }
}

/* ---------- Responsive ---------- */
@media (max-width:880px){
  .aifc-blog .aifc-grid--3{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .aifc-blog .aifc-nl-hero{ grid-template-columns:1fr !important; gap:28px !important; }
  .aifc-blog .aifc-nl-hero__media{ max-width:200px !important; }
}
@media (max-width:640px){
  .aifc-blog{ font-size:15px !important; }
  .aifc-blog .aifc-grid--2, .aifc-blog .aifc-grid--3{ grid-template-columns:1fr !important; }
  .aifc-blog .aifc-content h2{ font-size:22px !important; }
  .aifc-blog .aifc-btn{ width:100% !important; }
  .aifc-blog .aifc-signup .aifc-signup__inner{ text-align:center !important; padding:20px 16px !important; }
  .aifc-blog .aifc-signup .aifc-form{ flex-basis:100% !important; justify-content:center !important; }
}

/* ---------- Connected Kit forms (inline) ----------
   Markup is built by the plugin; Kit's ck.5.js handles submit. */
.aifc-blog .formkit-form.aifc-kit{ width:100% !important; margin:0 !important; padding:0 !important; background:transparent !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; }
.aifc-blog .aifc-form--mid .aifc-kit{ max-width:520px !important; }
.aifc-blog .aifc-form--archive .aifc-kit{ max-width:460px !important; }
.aifc-blog .aifc-kit [data-style]{ width:100% !important; padding:0 !important; }
.aifc-blog .aifc-kit .formkit-fields{ display:flex !important; flex-wrap:wrap !important; gap:10px !important; margin:0 !important; }
.aifc-blog .aifc-kit .formkit-field{ flex:1 1 170px !important; min-width:0 !important; margin:0 !important; }
.aifc-blog .aifc-kit .formkit-field--email{ flex-grow:2 !important; }

/* Shared by inline forms and the pop-up */
.aifc-kit .formkit-input, .aifc-kit-modal .formkit-input{
  width:100% !important; height:auto !important; min-height:48px !important;
  margin:0 !important; padding:12px 14px !important;
  font-size:15px !important; line-height:1.4 !important;
  box-shadow:none !important; -webkit-appearance:none !important; appearance:none !important;
}
.aifc-kit .formkit-submit, .aifc-kit-modal .formkit-submit{
  position:relative !important; flex:0 0 auto !important;
  margin:0 !important; padding:0 !important; border:0 !important;
  min-height:48px !important; cursor:pointer !important;
  font-size:15px !important; line-height:1.4 !important; white-space:nowrap !important;
}
.aifc-kit .formkit-submit > span, .aifc-kit-modal .formkit-submit > span{ display:block !important; padding:13px 24px !important; }
.aifc-kit .formkit-spinner, .aifc-kit-modal .formkit-spinner{ display:none !important; }
.aifc-kit .formkit-submit[data-active], .aifc-kit-modal .formkit-submit[data-active]{ opacity:.7 !important; cursor:wait !important; }
.aifc-kit .formkit-alert, .aifc-kit-modal .formkit-alert{
  list-style:none !important; margin:0 0 12px !important; padding:10px 14px !important;
  border-radius:8px !important; font-size:14px !important; line-height:1.5 !important; text-align:left !important;
}
.aifc-kit .formkit-alert:empty, .aifc-kit-modal .formkit-alert:empty{ display:none !important; }
.aifc-kit .formkit-alert li, .aifc-kit-modal .formkit-alert li{ padding:0 !important; margin:0 !important; }
.aifc-kit .formkit-alert li::before, .aifc-kit-modal .formkit-alert li::before{ content:none !important; }
.aifc-kit .formkit-alert-error, .aifc-kit-modal .formkit-alert-error{ background:rgba(242,100,59,.12) !important; border:1px solid rgba(242,100,59,.45) !important; color:#ffb49c !important; }
.aifc-kit .formkit-alert-success, .aifc-kit-modal .formkit-alert-success{ background:rgba(3,220,132,.1) !important; border:1px solid rgba(3,220,132,.35) !important; color:#03dc84 !important; font-weight:600 !important; }
.aifc-blog .aifc-signup .aifc-kit .formkit-alert, .aifc-blog .aifc-cta-box .aifc-kit .formkit-alert{ text-align:center !important; }

/* ---------- Kit pop-up (printed in the footer, outside .aifc-blog) ---------- */
.formkit-form.aifc-kit-modal[data-format="modal"]{ display:none; }
.formkit-modal .formkit-form.aifc-kit-modal,
.formkit-overlay .formkit-form.aifc-kit-modal{ display:block !important; }
.formkit-overlay{ background:rgba(4,16,21,.78) !important; }
.formkit-form.aifc-kit-modal{
  width:100% !important; max-width:420px !important; margin:0 auto !important;
  background:#0d2933 !important;
  border:1px solid rgba(3,220,132,.35) !important; border-radius:14px !important;
  box-shadow:0 24px 60px rgba(0,0,0,.5) !important;
  font-family:'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif !important;
  color:rgba(255,255,255,.68) !important; overflow:hidden !important;
  -webkit-font-smoothing:antialiased !important;
}
.aifc-kit-modal *{ box-sizing:border-box !important; font-family:inherit !important; }
.aifc-kit-modal [data-style]{ padding:32px 28px 26px !important; width:100% !important; }
.aifc-kit-modal .formkit-header{ margin:0 0 6px !important; text-align:center !important; }
.aifc-kit-modal .formkit-header h2{ margin:0 !important; color:#fff !important; font-size:24px !important; font-weight:700 !important; line-height:1.25 !important; letter-spacing:-.3px !important; }
.aifc-kit-modal .formkit-subheader{ margin:0 0 20px !important; text-align:center !important; }
.aifc-kit-modal .formkit-subheader p{ margin:0 !important; color:rgba(255,255,255,.68) !important; font-size:14.5px !important; line-height:1.6 !important; }
.aifc-kit-modal .formkit-fields{ display:flex !important; flex-direction:column !important; gap:10px !important; margin:0 !important; }
.aifc-kit-modal .formkit-field{ margin:0 !important; }
.aifc-kit-modal .formkit-input{ background:rgba(255,255,255,.04) !important; border:1px solid rgba(255,255,255,.14) !important; border-radius:8px !important; color:#fff !important; }
.aifc-kit-modal .formkit-input::placeholder{ color:rgba(255,255,255,.48) !important; opacity:1 !important; }
.aifc-kit-modal .formkit-input:focus{ border-color:#03dc84 !important; outline:none !important; }
.aifc-kit-modal .formkit-submit{ width:100% !important; background:#03dc84 !important; color:#0c0c0c !important; border-radius:8px !important; font-weight:600 !important; transition:background .2s !important; }
.aifc-kit-modal .formkit-submit > span{ color:#0c0c0c !important; }
.aifc-kit-modal .formkit-submit:hover{ background:#02b06a !important; }
.aifc-kit-modal .formkit-guarantee{ margin:14px 0 0 !important; text-align:center !important; color:rgba(255,255,255,.48) !important; font-size:12.5px !important; }
.formkit-modal .formkit-close{ color:rgba(255,255,255,.7) !important; }
.formkit-modal .formkit-close:hover{ color:#fff !important; }

@media (max-width:640px){
  .aifc-blog .aifc-kit .formkit-field, .aifc-blog .aifc-kit .formkit-submit{ flex:1 1 100% !important; }
}

/* ---------- Highlighted text in posts ----------
   Kit/Gutenberg highlights come through as <mark> or an inline
   background-color (the bright yellow on "Join me here"). Re-skin
   them as a soft emerald chip that fits the dark theme. Only inline
   elements are targeted, so tables and image blocks are untouched. */
.aifc-blog .aifc-content mark,
.aifc-blog .aifc-content span[style*="background"],
.aifc-blog .aifc-content a[style*="background"],
.aifc-blog .aifc-content strong[style*="background"],
.aifc-blog .aifc-content b[style*="background"],
.aifc-blog .aifc-content em[style*="background"]{
  background:rgba(3,220,132,.12) !important;
  color:#03dc84 !important;
  border:1px solid rgba(3,220,132,.35) !important;
  border-radius:6px !important;
  padding:1px 8px !important;
  font-weight:600 !important;
  text-decoration:none !important;
  -webkit-box-decoration-break:clone !important;
  box-decoration-break:clone !important;
  transition:background .2s, color .2s, border-color .2s !important;
}
.aifc-blog .aifc-content mark *,
.aifc-blog .aifc-content span[style*="background"] *,
.aifc-blog .aifc-content a[style*="background"] *{
  background:transparent !important; color:inherit !important; text-decoration:none !important;
}
/* Highlight is (or holds) a link: turns solid on hover */
.aifc-blog .aifc-content a:hover mark,
.aifc-blog .aifc-content a:hover span[style*="background"],
.aifc-blog .aifc-content mark:has(a:hover),
.aifc-blog .aifc-content span[style*="background"]:has(a:hover),
.aifc-blog .aifc-content a[style*="background"]:hover{
  background:#03dc84 !important; border-color:#03dc84 !important; color:#0c0c0c !important;
}
.aifc-blog .aifc-content a:has(> mark, > span[style*="background"]):hover{ text-decoration:none !important; }

/* Bold text inside a link keeps the link colour (P.P.S. video links) */
.aifc-blog .aifc-content a strong, .aifc-blog .aifc-content a b{ color:inherit !important; }

/* Photo sits flush on the bottom edge of the hero (no bottom padding) */
.aifc-blog .aifc-wrap.aifc-nl-hero{ padding-bottom:0 !important; align-items:end !important; }
.aifc-blog .aifc-nl-hero > div:not(.aifc-nl-hero__media){ align-self:center !important; padding-bottom:clamp(28px,4vw,44px) !important; }
.aifc-blog .aifc-nl-hero__media{ border-radius:16px 16px 0 0 !important; border-bottom:0 !important; }
@media (max-width:880px){
  /* Stacked: text first, photo last so it still sits on the bottom edge */
  .aifc-blog .aifc-nl-hero__media{ order:2 !important; }
  .aifc-blog .aifc-nl-hero > div:not(.aifc-nl-hero__media){ padding-bottom:0 !important; }
}

/* Archive: less space above the tabs/grid */
.aifc-blog.aifc-newsletter .aifc-sec + .aifc-sec > .aifc-wrap{ padding-top:clamp(28px,4vw,44px) !important; }
.aifc-blog .aifc-card__body{ position:relative !important; }

/* ---------- Hidden elements ----------
   Must stay LAST and extra-specific: every rule above is !important,
   so this needs to outrank e.g. .aifc-card / .aifc-form display:flex
   (fixes duplicate forms and the archive "Show more"). */
html body .aifc-blog [hidden][hidden]{ display:none !important; }