/* =========================================================================
   YOUR.Life — Single Post (blog) styles
   Loaded only on single posts (functions.php: is_singular('post')).
   Tokens, nav, footer, modal, and .eyebrow come from the global homepage.css.
   ========================================================================= */

:root {
	--navy:#1F3A4D; --cream:#F5EFE6; --sand:#E0D3BD; --brass:#8B6E55; --mist:#C9D4DC;
	--accent-soft:#A88B5A; --ink:#3B2F33;
	--serif:'Playfair Display',Georgia,serif; --sans:'DM Sans',-apple-system,sans-serif;
	--surface-card:#FBF7F0;
	--hairline:rgba(31,58,77,0.16);
	--post-content:1140px; --post-measure:700px;
}

/* ── GeneratePress full-width override (single posts) ── */
.single-post .site-content,
.single-post .content-area,
.single-post .inside-article,
.single-post .entry-content,
.single-post .page-content,
.single-post .grid-container { padding:0 !important; margin:0 !important; width:100% !important; max-width:100% !important; }
.single-post #content,
.single-post .site-content { display:block !important; }
.single-post #primary,
.single-post .content-area { width:100% !important; max-width:100% !important; float:none !important; margin:0 !important; }
.single-post #right-sidebar,
.single-post #left-sidebar,
.single-post .widget-area,
.single-post .sidebar { display:none !important; }

/* ── #omega-single content corrections (beat GP class-scoped defaults) ── */
#omega-single h1, #omega-single h2, #omega-single h3, #omega-single h4 { font-family:var(--serif); font-weight:400; }
#omega-single em, #omega-single i, #omega-single blockquote, #omega-single .eyebrow { font-style:normal; }
#omega-single a, #omega-single a:hover { text-decoration:none; }

#omega-single { background:var(--cream); color:var(--navy); overflow-x:hidden; }
#omega-single *{ box-sizing:border-box; }

/* =========================== SPLIT HERO =========================== */
.post-hero { display:grid; grid-template-columns:1.02fr 0.98fr; min-height:540px; }
.post-hero.no-media { grid-template-columns:1fr; }
.post-hero-text { position:relative; overflow:hidden; isolation:isolate; color:#fff; padding:72px 60px; display:flex; flex-direction:column; justify-content:center;
	background:
		radial-gradient(120% 120% at 88% 6%, rgba(201,212,220,0.20), transparent 52%),
		radial-gradient(130% 130% at 6% 100%, rgba(168,139,90,0.30), transparent 55%),
		linear-gradient(165deg,#26475c 0%, var(--navy) 58%, #17303e 100%); }
.post-hero.no-media .post-hero-text { padding:88px 60px; align-items:center; text-align:center; }
.post-cat { font-family:var(--sans); font-size:12.5px; letter-spacing:.24em; text-transform:uppercase; color:var(--accent-soft); margin-bottom:22px; text-decoration:none; }
.post-cat:hover { color:#fff; }
#omega-single .post-title { font-family:var(--serif); font-weight:400; font-size:clamp(31px,3.7vw,48px); line-height:1.12; letter-spacing:-0.01em; margin:0 0 22px; color:#fff; }
.post-standfirst { font-family:var(--sans); font-size:clamp(16px,1.4vw,18px); line-height:1.66; color:rgba(255,255,255,0.78); max-width:460px; margin:0 0 34px; }
.post-hero.no-media .post-standfirst { margin-left:auto; margin-right:auto; }
.post-byline { display:flex; align-items:center; gap:13px; }
.post-hero.no-media .post-byline { justify-content:center; }
.pb-avatar { width:44px; height:44px; border-radius:50%; background:linear-gradient(150deg,#34566b,#456079); color:#fff; display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-size:16px; flex:none; border:0.5px solid rgba(255,255,255,0.35); }
.pb-meta { font-size:13px; color:rgba(255,255,255,0.78); letter-spacing:.02em; }
.pb-meta .pb-author { display:block; color:#fff; font-weight:500; margin-bottom:2px; }
.pb-meta .pb-dot { margin:0 7px; color:var(--accent-soft); }
.post-hero-media { position:relative; min-height:540px; }
.post-hero-media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }

/* =========================== ARTICLE LAYOUT =========================== */
.post-layout { max-width:var(--post-content); margin:0 auto; padding:64px 32px 20px; display:grid; grid-template-columns:210px 1fr; gap:58px; align-items:start; }

/* Sidebar */
.post-rail { position:sticky; top:96px; align-self:start; }
.admin-bar .post-rail { top:128px; }
.pr-auth { display:flex; align-items:center; gap:12px; margin-bottom:18px; }
.pr-av { width:46px; height:46px; border-radius:50%; background:linear-gradient(150deg,var(--mist),var(--sand)); color:var(--navy); display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-size:17px; flex:none; border:0.5px solid var(--hairline); }
.pr-n { font-family:var(--sans); font-size:13.5px; color:var(--navy); font-weight:500; line-height:1.3; }
.pr-r { font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--brass); margin-top:3px; }
.pr-meta { font-size:12.5px; color:rgba(31,58,77,0.72); line-height:1.8; padding:16px 0; border-top:0.5px solid var(--hairline); border-bottom:0.5px solid var(--hairline); margin-bottom:18px; }
.pr-label { font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--brass); margin-bottom:12px; }
.pr-toc a { display:block; font-size:13px; line-height:1.42; color:rgba(31,58,77,0.72); padding:6px 0 6px 13px; border-left:1.5px solid var(--hairline); transition:.18s; text-decoration:none; }
.pr-toc a:hover { color:var(--navy); border-left-color:var(--brass); }
.pr-share { margin-top:22px; }
.pr-share .pr-label { margin-bottom:10px; }
.pr-share-link { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border:0.5px solid var(--hairline); border-radius:50%; margin-right:8px; color:var(--navy); font-size:13px; transition:.18s; text-decoration:none; position:relative; }
.pr-share-link:hover { background:var(--navy); color:#fff; border-color:var(--navy); }
.pr-share-link.copied::after { content:'Copied'; position:absolute; left:50%; top:-30px; transform:translateX(-50%); font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--brass); white-space:nowrap; }

/* =========================== POST BODY (WP blocks) =========================== */
.post-body { max-width:var(--post-measure); }
.post-body > * { margin:0 0 1.4em; }
.post-body > *:last-child { margin-bottom:0; }
.post-body p { font-family:var(--sans); font-size:18.5px; line-height:1.82; color:#23394a; }
#omega-single .post-body h2 { font-family:var(--serif); font-weight:500; color:var(--navy); font-size:clamp(25px,3vw,31px); line-height:1.2; margin:1.85em 0 .5em; letter-spacing:-0.01em; scroll-margin-top:96px; }
#omega-single .post-body h3 { font-family:var(--serif); font-weight:500; color:var(--navy); font-size:clamp(20px,2.3vw,24px); line-height:1.28; margin:1.5em 0 .45em; }
.post-body strong, .post-body b { font-weight:500; color:var(--navy); }
#omega-single .post-body a { color:var(--brass); text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:.5px; }
#omega-single .post-body a:hover { color:var(--navy); }

/* Lists */
.post-body ul, .post-body ol { padding-left:1.35em; }
.post-body li { font-family:var(--sans); font-size:18.5px; line-height:1.72; color:#23394a; margin-bottom:.7em; padding-left:6px; }
.post-body ul li::marker { color:var(--brass); }
.post-body ol li::marker { color:var(--brass); font-family:var(--serif); }

/* Quote block — upright (brand has no italics), brass rule */
#omega-single .post-body blockquote { border-left:3px solid var(--brass); padding:4px 0 4px 26px; margin:2.2em 0; }
.post-body blockquote p { font-family:var(--serif); font-weight:400; font-size:clamp(22px,2.8vw,28px); line-height:1.34; color:var(--navy); margin-bottom:.4em; }
.post-body blockquote cite { font-family:var(--sans); font-style:normal; font-size:13px; letter-spacing:.04em; color:var(--brass); }

/* Images / figures */
.post-body figure, .post-body img { margin:2em 0; }
.post-body img { width:100%; height:auto; border-radius:8px; display:block; }
.post-body figcaption { font-family:var(--sans); font-size:13px; color:rgba(31,58,77,0.66); text-align:center; margin-top:10px; }

/* =========================== CTA CARD =========================== */
.post-cta-wrap { max-width:var(--post-content); margin:30px auto 0; padding:0 32px; }
.post-cta-card { position:relative; overflow:hidden; isolation:isolate; border-radius:14px; text-align:center; padding:70px 40px;
	background:
		radial-gradient(120% 120% at 84% 8%, rgba(201,212,220,0.20), transparent 52%),
		radial-gradient(120% 130% at 12% 100%, rgba(168,139,90,0.32), transparent 55%),
		linear-gradient(165deg,#26475c 0%, var(--navy) 60%, #17303e 100%); }
.post-cta-burst { position:absolute; width:480px; height:480px; right:-130px; top:-150px; z-index:-1; opacity:0.08; color:#DCE6EC; pointer-events:none; }
#omega-single .post-cta-eyebrow { display:inline-block; font-size:12.5px; letter-spacing:.24em; text-transform:uppercase; color:var(--accent-soft); margin-bottom:16px; }
#omega-single .post-cta-h { font-family:var(--serif); font-weight:400; color:#fff; font-size:clamp(26px,3.4vw,38px); line-height:1.16; margin:0 0 18px; }
.post-cta-p { font-family:var(--sans); font-size:17px; line-height:1.68; color:rgba(255,255,255,0.78); max-width:520px; margin:0 auto 28px; }
.post-cta-btn { display:inline-flex; align-items:center; gap:10px; font-family:var(--sans); font-size:14px; letter-spacing:.04em; color:#fff; border:1px solid rgba(255,255,255,0.6); border-radius:40px; padding:15px 30px; min-height:50px; cursor:pointer; background:none; transition:.2s; }
.post-cta-btn:hover { background:#fff; color:var(--navy); }

/* =========================== RELATED =========================== */
.post-related { max-width:920px; margin:0 auto; padding:74px 32px 40px; }
.pr-sec-eyebrow { font-family:var(--sans); font-size:13px; letter-spacing:.24em; text-transform:uppercase; color:var(--brass); margin-bottom:10px; }
#omega-single .pr-sec-h { font-family:var(--serif); font-weight:400; color:var(--navy); font-size:clamp(25px,3.2vw,33px); margin:0 0 30px; }
.rel-row { display:grid; grid-template-columns:150px 1fr auto; gap:26px; align-items:center; padding:24px 0; border-top:0.5px solid var(--hairline); text-decoration:none; }
.rel-row:last-of-type { border-bottom:0.5px solid var(--hairline); }
.rel-thumb { aspect-ratio:3/2; border-radius:6px; overflow:hidden; background:linear-gradient(150deg,rgba(201,212,220,0.7),rgba(224,211,189,0.6)); display:flex; align-items:flex-end; padding:10px; }
.rel-thumb img { width:100%; height:100%; object-fit:cover; border-radius:6px; }
.rel-thumb span { font-size:9.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--navy); background:rgba(245,239,230,0.85); padding:4px 8px; border-radius:40px; }
.rel-cat { font-family:var(--sans); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--brass); margin-bottom:7px; }
#omega-single .rel-txt h3 { font-family:var(--serif); font-weight:500; font-size:20px; line-height:1.28; color:var(--navy); margin:0; }
.rel-arrow { font-size:20px; color:var(--brass); transition:transform .2s; }
.rel-row:hover .rel-arrow { transform:translateX(5px); }
.rel-row:hover .rel-txt h3 { color:var(--brass); }

/* =========================== RESPONSIVE =========================== */
@media (max-width:1024px) {
	.post-hero { grid-template-columns:1fr; }
	.post-hero-media { min-height:300px; order:-1; }
	.post-hero-media img { position:relative; }
	.post-hero-text { padding:54px 40px; }
	.post-layout { grid-template-columns:1fr; gap:36px; padding-top:48px; }
	.post-rail { position:static; display:grid; grid-template-columns:1fr 1fr; gap:22px 34px; padding-bottom:30px; border-bottom:0.5px solid var(--hairline); }
	.admin-bar .post-rail { top:auto; }
	.pr-toc-block { display:none; }
	.pr-meta { border:none; padding:0; margin:0; }
	.post-body { max-width:none; }
}
@media (max-width:768px) {
	.post-hero-text { padding:44px 24px; }
	.post-layout, .post-related, .post-cta-wrap { padding-left:22px; padding-right:22px; }
	.post-body p, .post-body li { font-size:17.5px; }
	.post-rail { grid-template-columns:1fr; }
	.post-cta-card { padding:56px 26px; }
	.rel-row { grid-template-columns:96px 1fr; gap:18px; }
	.rel-arrow { display:none; }
}
@media (max-width:480px) {
	.post-hero-text { padding:38px 20px; }
	.post-hero.no-media .post-hero-text { padding:60px 20px; }
}
