/* Blog — clean article typography + index cards, in the Novaré system. */

/* ---- Post hero ---- */
.post-hero{background:var(--color-primary,#0c1a2e);color:#fff;padding:64px 0 56px}
.post-hero .container{max-width:820px;margin:0 auto;padding:0 24px}
.post-hero__cat{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--cyan-bright,#41BEEA);margin-bottom:16px}
.post-hero h1{color:#fff;font-family:var(--font-heading,'Archivo',sans-serif);font-size:clamp(28px,4vw,44px);line-height:1.15;margin:0 0 18px}
.post-hero__meta{display:flex;gap:16px;align-items:center;color:rgba(255,255,255,.7);font-size:14.5px}
.post-hero__meta a{color:rgba(255,255,255,.85)}

/* ---- Post body ---- */
.post-wrap{max-width:820px;margin:0 auto;padding:56px 24px}
.post-featured{width:100%;border-radius:16px;margin:0 0 40px;display:block;aspect-ratio:16/9;object-fit:cover;box-shadow:0 18px 48px rgba(12,26,46,.14)}
.post-body{font-size:18px;line-height:1.75;color:var(--color-text,#444)}
.post-body > p{margin:0 0 22px}
.post-body h2{font-family:var(--font-heading,'Archivo',sans-serif);font-size:28px;line-height:1.25;color:var(--color-heading,#1a1a1a);margin:44px 0 16px}
.post-body h3{font-family:var(--font-heading,'Archivo',sans-serif);font-size:22px;line-height:1.3;color:var(--color-heading,#1a1a1a);margin:32px 0 12px}
.post-body ul,.post-body ol{margin:0 0 22px;padding-left:24px}
.post-body li{margin:0 0 10px}
.post-body a{color:var(--color-accent,#0C7396);text-decoration:underline;text-underline-offset:2px}
.post-body img{max-width:100%;height:auto;border-radius:12px;margin:28px 0}
.post-body blockquote{margin:28px 0;padding:16px 24px;border-left:4px solid var(--color-accent,#0C7396);background:var(--color-accent-soft,rgba(12,115,150,.06));border-radius:0 10px 10px 0;color:var(--color-heading,#1a1a1a)}
.post-body blockquote > p:last-child{margin-bottom:0}
.post-body strong{color:var(--color-heading,#1a1a1a)}
.post-body h2 + p,.post-body h3 + p{margin-top:0}

/* ---- Figures ----
   WordPress ships in-article images two ways: a real <figure class="wp-block-image">
   and a bare <img> that wpautop wrapped in its own <p>. Both need the same slot. */
.post-body figure{margin:36px 0}
.post-body figure img{margin:0}
.post-body figcaption{margin-top:10px;font-size:14.5px;line-height:1.5;color:var(--color-text-muted,#595959);text-align:center}
.post-body p > img:only-child{display:block;margin:36px auto}
.post-body img{max-width:100%;height:auto;border-radius:14px;border:1px solid var(--color-border,#e2e8f0)}

/* ---- Tables ----
   wp-block-table has no styles of its own; without these, comparison tables in
   the PIP and whiplash posts render as unaligned runs of text. */
.post-body figure.wp-block-table{overflow-x:auto;-webkit-overflow-scrolling:touch}
.post-body table{width:100%;border-collapse:collapse;margin:0;font-size:16px;background:#fff;border:1px solid var(--color-border,#e2e8f0);border-radius:12px;overflow:hidden}
.post-body thead th{background:var(--color-primary,#0c1a2e);color:#fff;font-family:var(--font-heading,'Archivo',sans-serif);font-size:14.5px;font-weight:700;letter-spacing:.02em;text-align:left;padding:14px 16px}
.post-body td,.post-body th{padding:13px 16px;border-top:1px solid var(--color-border,#e2e8f0);vertical-align:top;line-height:1.6}
.post-body tbody tr:nth-child(even){background:var(--color-bg-light,#f5f9fc)}

/* ---- FAQ block ----
   Posts emit the BEM variant (.sp-faq__item), which matches neither the theme's
   .sp-faq-item accordion CSS nor its click handler, so on WordPress this block
   renders as undifferentiated body text. Styled here as always-open cards: no JS
   to depend on, and every answer stays visible to readers and to crawlers. */
.post-body .sp-faq{margin:52px 0 0;padding-top:8px}
.post-body .sp-faq > h2{margin-top:0;padding-top:36px;border-top:2px solid var(--color-border,#e2e8f0)}
.post-body .sp-faq__item{background:var(--color-bg-light,#f5f9fc);border:1px solid var(--color-border,#e2e8f0);border-left:4px solid var(--color-accent,#0C7396);border-radius:0 12px 12px 0;padding:22px 26px;margin:0 0 14px}
.post-body .sp-faq__item:last-child{margin-bottom:0}
.post-body .sp-faq__q{font-family:var(--font-heading,'Archivo',sans-serif);font-size:19px;font-weight:700;line-height:1.35;color:var(--color-heading,#1a1a1a);margin:0 0 10px}
.post-body .sp-faq__a{font-size:16.5px;line-height:1.7;color:var(--color-text,#444)}
.post-body .sp-faq__a > p{margin:0 0 12px}
.post-body .sp-faq__a > p:last-child{margin-bottom:0}

/* ---- Intake / form pages ---- */
.intake-details h2{font-family:var(--font-heading,'Archivo',sans-serif);font-size:24px;color:var(--color-heading,#1a1a1a);margin:0 0 18px}
.intake-details h3{font-family:var(--font-heading,'Archivo',sans-serif);font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--color-accent,#0C7396);margin:28px 0 8px}
.intake-details .btn{margin:8px 12px 8px 0}
.rw-form-mount{margin-top:32px;min-height:200px}

/* ---- Author box ---- */
.post-author{max-width:820px;margin:8px auto 0;padding:28px 24px 0;border-top:1px solid var(--color-border,#e6e9ee)}
.post-author__row{display:flex;gap:16px;align-items:center}
.post-author__meta{font-size:15px;color:var(--color-text-muted,#595959)}
.post-author__meta strong{display:block;color:var(--color-heading,#1a1a1a);font-size:16px;margin-bottom:2px}
.post-author__meta a{color:var(--color-accent,#0C7396);font-weight:600}

/* ---- CTA band under posts ---- */
.post-cta{background:var(--color-bg-subtle,#f2f6f9);margin-top:56px;padding:56px 0}
.post-cta .container{max-width:820px;margin:0 auto;padding:0 24px;text-align:center}
.post-cta h2{font-family:var(--font-heading,'Archivo',sans-serif);color:var(--color-heading,#1a1a1a);margin:0 0 14px}
.post-cta p{color:var(--color-text,#444);margin:0 0 24px;font-size:17px}

/* ---- Blog index / archive ---- */
.blog-head{background:var(--color-primary,#0c1a2e);color:#fff;padding:64px 0 56px;text-align:center}
.blog-head .container{max-width:760px;margin:0 auto;padding:0 24px}
.blog-head h1{color:#fff;font-family:var(--font-heading,'Archivo',sans-serif);margin:0 0 14px}
.blog-head p{color:rgba(255,255,255,.8);font-size:17px;margin:0}
.blog-grid-wrap{max-width:1200px;margin:0 auto;padding:56px 24px}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
@media(max-width:900px){.blog-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.blog-grid{grid-template-columns:1fr}}
.post-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--color-border,#e6e9ee);border-radius:16px;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease;text-decoration:none}
.post-card:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(12,26,46,.14);border-color:var(--color-accent,#0C7396)}
.post-card__media{aspect-ratio:16/9;background:var(--color-bg-subtle,#eef2f5);overflow:hidden}
.post-card__media img{width:100%;height:100%;object-fit:cover;display:block}
.post-card__body{padding:22px 22px 26px;display:flex;flex-direction:column;gap:10px}
.post-card__cat{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-accent,#0C7396)}
.post-card__title{font-family:var(--font-heading,'Archivo',sans-serif);font-size:19px;line-height:1.3;color:var(--color-heading,#1a1a1a);margin:0}
.post-card__excerpt{font-size:14.5px;line-height:1.6;color:var(--color-text-muted,#595959);margin:0}
.post-card__more{margin-top:auto;font-size:14px;font-weight:700;color:var(--color-accent,#0C7396)}

/* ---- Sitemap page ---- */
.sitemap-group{margin:0 0 44px}
.sitemap-group h2{font-family:var(--font-heading,'Archivo',sans-serif);font-size:22px;color:var(--color-heading,#1a1a1a);margin:0 0 6px;padding-bottom:10px;border-bottom:2px solid var(--color-accent,#0C7396)}
.sitemap-list{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px 28px}
@media(max-width:900px){.sitemap-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.sitemap-list{grid-template-columns:1fr}}
.sitemap-list li{margin:0}
.sitemap-list a{display:block;padding:7px 0 7px 16px;position:relative;color:var(--color-accent,#0C7396);text-decoration:none;font-size:15.5px;line-height:1.45;border-radius:6px}
.sitemap-list a::before{content:"";position:absolute;left:2px;top:50%;width:5px;height:5px;margin-top:-2.5px;border-radius:50%;background:var(--color-border-strong,#cbd5e1)}
.sitemap-list a:hover{color:var(--color-accent-hover,#07597A);text-decoration:underline}
.sitemap-list a:hover::before{background:var(--color-accent,#0C7396)}
.sitemap-foot{margin-top:8px;padding-top:20px;border-top:1px solid var(--color-border,#e2e8f0);font-size:15px;color:var(--color-text-muted,#595959)}

/* ---- Restored Elementor widgets (see tools/sync_from_wp.py) ---- */
/* Video: replaces the bare YouTube URL WordPress rendered with its own player. */
.video-embed{position:relative;width:100%;max-width:860px;margin:32px auto;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:var(--color-primary,#0c1a2e);box-shadow:0 18px 48px rgba(12,26,46,.16)}
.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
/* Before/after gallery: the anchor is the lightbox trigger, the img is restored. */
a[data-elementor-open-lightbox]{display:inline-block;max-width:100%;border-radius:12px;overflow:hidden;line-height:0}
a[data-elementor-open-lightbox] img{display:block;max-width:100%;height:auto;border-radius:12px;border:1px solid var(--color-border,#e2e8f0);transition:transform .18s ease,box-shadow .18s ease}
a[data-elementor-open-lightbox]:hover img{transform:scale(1.01);box-shadow:0 14px 36px rgba(12,26,46,.18)}
.video-poster__play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-heading,'Archivo',sans-serif);font-weight:700;font-size:15px;color:#fff;background:rgba(12,26,46,.34);transition:background .18s ease}
a[data-elementor-open-lightbox]{position:relative}
a[data-elementor-open-lightbox]:hover .video-poster__play{background:rgba(12,26,46,.15)}
