body.abclinic-single-post-active { overflow-x: hidden; }
.abcsp-page, .abcsp-page * { box-sizing: border-box; }
.abcsp-page { --abcsp-purple:#7d3ca2; --abcsp-purple-dark:#57236f; --abcsp-purple-soft:#f7f0fb; --abcsp-navy:#172130; --abcsp-gold:#d7a94f; --abcsp-muted:#657080; --abcsp-line:#e9e3ec; width:100%; overflow:hidden; color:var(--abcsp-navy); background:#fff; }
.abcsp-container { width:min(100% - 40px, 1240px); margin:0 auto; }

.abcsp-hero { position:relative; isolation:isolate; display:flex; min-height:clamp(560px,66vw,760px); overflow:hidden; color:#fff; background:linear-gradient(135deg,#121b28 0%,#172130 56%,#251e32 100%); }
.abcsp-hero-media { position:absolute; z-index:-4; inset:0; overflow:hidden; background:#172130; }
.abcsp-hero-media img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; transform:scale(1.01); }
.abcsp-hero-overlay { position:absolute; z-index:-3; inset:0; background:linear-gradient(90deg,rgba(10,18,31,.94) 0%,rgba(12,20,33,.84) 42%,rgba(19,22,38,.58) 70%,rgba(24,20,37,.48) 100%),linear-gradient(180deg,rgba(8,15,26,.5) 0%,rgba(8,15,26,.08) 36%,rgba(8,15,26,.66) 100%); }
.abcsp-hero::before { content:""; position:absolute; z-index:-2; inset:0; background:linear-gradient(115deg,rgba(215,169,79,.055),transparent 36%),radial-gradient(circle at 88% 18%,rgba(125,60,162,.26),transparent 30%); pointer-events:none; }
.abcsp-hero::after { content:""; position:absolute; z-index:-1; left:0; right:0; bottom:0; height:1px; background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent); pointer-events:none; }
.abcsp-hero-placeholder { position:absolute; z-index:-4; inset:0; overflow:hidden; background:linear-gradient(135deg,#121b28 0%,#172130 48%,#2a1d34 100%); }
.abcsp-hero-placeholder::before,.abcsp-hero-placeholder::after { content:""; position:absolute; border-radius:50%; }
.abcsp-hero-placeholder::before { width:540px; height:540px; top:-300px; right:-120px; background:radial-gradient(circle,rgba(125,60,162,.48),rgba(125,60,162,0) 68%); }
.abcsp-hero-placeholder::after { width:330px; height:330px; left:-150px; bottom:-190px; border:1px solid rgba(215,169,79,.24); background:rgba(215,169,79,.035); }
.abcsp-hero-inner { position:relative; display:flex; flex-direction:column; width:min(100% - 80px,1240px); min-height:inherit; margin:0 auto; padding:32px 0 clamp(58px,7vw,88px); }
.abcsp-breadcrumb { position:absolute; top:32px; left:0; display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:9px; width:100%; margin:0; color:rgba(255,255,255,.64); font-size:12px; line-height:1.5; font-weight:700; letter-spacing:.055em; text-align:center; text-transform:uppercase; }
.abcsp-breadcrumb a { color:rgba(255,255,255,.82); text-decoration:none; transition:color .2s ease; }
.abcsp-breadcrumb a:hover { color:#fff; }
.abcsp-breadcrumb span { color:var(--abcsp-gold); }
.abcsp-hero-copy { display:flex; flex:1; flex-direction:column; align-items:center; justify-content:center; width:min(100%,1080px); margin:0 auto; text-align:center; }
.abcsp-hero-category { display:inline-flex; align-items:center; min-height:40px; margin-bottom:28px; padding:0 15px; border:1px solid rgba(215,169,79,.48); border-radius:999px; color:#f7d98e; background:rgba(15,22,33,.3); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); text-decoration:none; font-size:11px; line-height:1; font-weight:800; letter-spacing:.1em; text-transform:uppercase; transition:background .2s ease,border-color .2s ease,transform .2s ease; }
.abcsp-hero-category:hover { border-color:rgba(215,169,79,.76); background:rgba(215,169,79,.11); transform:translateY(-1px); }
.abcsp-title { max-width:1040px; margin:0 auto; color:#fff; font-family:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,"Times New Roman",serif; font-size:62px; line-height:1.06; font-weight:600; letter-spacing:-.045em; text-align:center; text-wrap:balance; text-shadow:0 3px 28px rgba(0,0,0,.22); }

.abcsp-content-section { padding:clamp(68px,7vw,104px) 0 clamp(82px,9vw,128px); background:linear-gradient(180deg,#fff 0%,#fff 66%,#fbfafc 100%); }
.abcsp-layout { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:clamp(48px,6vw,84px); align-items:start; }
.abcsp-article { min-width:0; }
.abcsp-entry-content { color:#3f4958; font-size:17px; line-height:1.86; }
.abcsp-entry-content > *:first-child { margin-top:0; }
.abcsp-entry-content > p:first-child { color:#2c3747; font-size:20px; line-height:1.75; }
.abcsp-entry-content p { margin:0 0 1.55em; }
.abcsp-entry-content h2,.abcsp-entry-content h3,.abcsp-entry-content h4 { color:var(--abcsp-navy); font-weight:750; letter-spacing:-.028em; scroll-margin-top:120px; }
.abcsp-entry-content h2 { margin:1.75em 0 .65em; font-size:clamp(28px,3.2vw,40px); line-height:1.18; }
.abcsp-entry-content h3 { margin:1.6em 0 .6em; font-size:clamp(23px,2.5vw,30px); line-height:1.25; }
.abcsp-entry-content h4 { margin:1.45em 0 .55em; font-size:21px; line-height:1.3; }
.abcsp-entry-content a { color:var(--abcsp-purple); text-decoration-thickness:1px; text-underline-offset:3px; }
.abcsp-entry-content strong { color:#26313f; }
.abcsp-entry-content ul,.abcsp-entry-content ol { margin:0 0 1.6em; padding-left:1.35em; }
.abcsp-entry-content li { margin:.45em 0; padding-left:.25em; }
.abcsp-entry-content li::marker { color:var(--abcsp-purple); font-weight:800; }
.abcsp-entry-content blockquote { position:relative; margin:2.1em 0; padding:30px 32px 30px 35px; border:0; border-left:4px solid var(--abcsp-purple); border-radius:0 18px 18px 0; background:linear-gradient(135deg,#f8f2fb,#fffaf0); color:#293546; font-size:20px; line-height:1.65; font-style:normal; }
.abcsp-entry-content blockquote::before { content:"“"; position:absolute; top:-3px; right:22px; color:rgba(125,60,162,.12); font-family:Georgia,serif; font-size:80px; line-height:1; }
.abcsp-entry-content blockquote p:last-child { margin-bottom:0; }
.abcsp-entry-content img { max-width:100%; height:auto; border-radius:18px; }
.abcsp-entry-content figure { margin:2.2em 0; }
.abcsp-entry-content figcaption { margin-top:9px; color:#89909b; font-size:12px; line-height:1.5; text-align:center; }
.abcsp-entry-content table { width:100%; margin:2em 0; border-collapse:separate; border-spacing:0; overflow:hidden; border:1px solid var(--abcsp-line); border-radius:16px; font-size:14px; }
.abcsp-entry-content th,.abcsp-entry-content td { padding:14px 16px; border-right:1px solid var(--abcsp-line); border-bottom:1px solid var(--abcsp-line); text-align:left; }
.abcsp-entry-content th { color:var(--abcsp-navy); background:#f8f4fa; font-weight:750; }
.abcsp-entry-content tr:last-child td { border-bottom:0; }
.abcsp-entry-content th:last-child,.abcsp-entry-content td:last-child { border-right:0; }
.abcsp-entry-content pre { overflow:auto; padding:22px; border-radius:16px; background:#172130; color:#f3f4f6; font-size:13px; line-height:1.7; }
.abcsp-entry-content code { padding:.15em .35em; border-radius:5px; background:#f1ebf4; color:#6d2f8e; }
.abcsp-entry-content pre code { padding:0; background:transparent; color:inherit; }

.abcsp-page-links { display:flex; align-items:center; gap:10px; margin-top:28px; color:var(--abcsp-muted); font-size:13px; }
.abcsp-tags { display:flex; align-items:flex-start; gap:15px; margin-top:42px; padding-top:27px; border-top:1px solid var(--abcsp-line); }
.abcsp-tags-label { flex:0 0 auto; padding-top:7px; color:var(--abcsp-navy); font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.abcsp-tags-list { display:flex; flex-wrap:wrap; gap:8px; }
.abcsp-tags-list a { display:inline-flex; align-items:center; min-height:32px; padding:0 11px; border:1px solid var(--abcsp-line); border-radius:999px; background:#fff; color:#737c89; text-decoration:none; font-size:11px; font-weight:650; transition:color .2s ease,border-color .2s ease,background .2s ease; }
.abcsp-tags-list a:hover { color:var(--abcsp-purple); border-color:rgba(125,60,162,.22); background:var(--abcsp-purple-soft); }

.abcsp-post-navigation { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:24px; }
.abcsp-post-nav-item { display:flex; flex-direction:column; gap:8px; min-height:126px; padding:20px; border:1px solid var(--abcsp-line); border-radius:18px; background:#fff; text-decoration:none; transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease; }
.abcsp-post-nav-item:hover { transform:translateY(-3px); border-color:rgba(125,60,162,.2); box-shadow:0 14px 32px rgba(23,33,48,.07); }
.abcsp-post-nav-next { text-align:right; }
.abcsp-nav-kicker { display:flex; align-items:center; gap:6px; color:#9299a4; font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.abcsp-post-nav-next .abcsp-nav-kicker { justify-content:flex-end; }
.abcsp-nav-kicker svg { width:15px; height:15px; stroke:var(--abcsp-purple); stroke-width:1.6; }
.abcsp-post-nav-item strong { color:var(--abcsp-navy); font-size:14px; line-height:1.45; font-weight:750; }

.abcsp-sidebar-inner { position:sticky; top:112px; display:flex; flex-direction:column; gap:22px; }
.abcsp-widget { border:1px solid rgba(23,33,48,.075); border-radius:22px; background:#fff; box-shadow:0 12px 34px rgba(23,33,48,.045); }
.abcsp-widget-eyebrow { display:block; color:var(--abcsp-purple); font-size:9.5px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.abcsp-journal-cta { position:relative; overflow:hidden; padding:25px; color:#fff; background:linear-gradient(145deg,#172130,#2b2134); }
.abcsp-journal-cta::after { content:""; position:absolute; width:150px; height:150px; right:-75px; bottom:-85px; border:1px solid rgba(215,169,79,.3); border-radius:50%; background:rgba(215,169,79,.05); }
.abcsp-journal-cta .abcsp-widget-eyebrow { color:#e9c87e; }
.abcsp-journal-cta h2 { position:relative; z-index:1; margin:9px 0 11px; color:#fff; font-size:25px; line-height:1.2; font-weight:750; letter-spacing:-.03em; }
.abcsp-journal-cta p { position:relative; z-index:1; margin:0; color:rgba(255,255,255,.64); font-size:12.5px; line-height:1.68; }
.abcsp-journal-cta a { position:relative; z-index:1; display:inline-flex; align-items:center; gap:8px; margin-top:18px; color:#fff; text-decoration:none; font-size:11px; font-weight:800; letter-spacing:.035em; text-transform:uppercase; }
.abcsp-journal-cta a svg { width:16px; height:16px; stroke:var(--abcsp-gold); stroke-width:1.6; transition:transform .2s ease; }
.abcsp-journal-cta a:hover svg { transform:translateX(3px); }

.abcsp-latest-widget { padding:23px; }
.abcsp-widget-heading { margin-bottom:15px; }
.abcsp-widget-heading h2 { margin:4px 0 0; color:var(--abcsp-navy); font-size:22px; line-height:1.25; font-weight:750; letter-spacing:-.02em; }
.abcsp-latest-list { display:flex; flex-direction:column; }
.abcsp-latest-item { display:grid; grid-template-columns:78px minmax(0,1fr); gap:12px; padding:14px 0; border-bottom:1px solid var(--abcsp-line); }
.abcsp-latest-item:first-child { padding-top:4px; }
.abcsp-latest-item:last-child { padding-bottom:0; border-bottom:0; }
.abcsp-latest-thumb { display:block; width:78px; height:72px; overflow:hidden; border-radius:13px; background:#f2edf4; }
.abcsp-latest-thumb img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.abcsp-latest-item:hover .abcsp-latest-thumb img { transform:scale(1.05); }
.abcsp-latest-placeholder { display:block; width:100%; height:100%; background:linear-gradient(135deg,#f6f1f8,#eee7f2); }
.abcsp-latest-copy { min-width:0; }
.abcsp-latest-copy time { display:block; margin-bottom:5px; color:#9aa1aa; font-size:9px; line-height:1.3; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.abcsp-latest-copy h3 { margin:0; color:var(--abcsp-navy); font-size:13px; line-height:1.45; font-weight:700; }
.abcsp-latest-copy h3 a { color:inherit; text-decoration:none; transition:color .2s ease; }
.abcsp-latest-copy h3 a:hover { color:var(--abcsp-purple); }
.abcsp-no-latest { margin:0; color:var(--abcsp-muted); font-size:13px; }

.abcsp-comments-wrap { margin-top:42px; padding-top:38px; border-top:1px solid var(--abcsp-line); }
.abcsp-comments-wrap .comment-reply-title,.abcsp-comments-wrap .comments-title { color:var(--abcsp-navy); font-size:26px; }
.abcsp-comments-wrap textarea,.abcsp-comments-wrap input[type="text"],.abcsp-comments-wrap input[type="email"],.abcsp-comments-wrap input[type="url"] { width:100%; border:1px solid var(--abcsp-line); border-radius:12px; background:#fff; box-shadow:none; }
.abcsp-comments-wrap input[type="submit"] { border:0; border-radius:12px; background:var(--abcsp-purple); color:#fff; }

@media (max-width:1024px) {
    .abcsp-layout { grid-template-columns:minmax(0,1fr) 290px; gap:42px; }
}

@media (max-width:860px) {
    .abcsp-container { width:min(100% - 30px,760px); }
    .abcsp-layout { grid-template-columns:minmax(0,1fr); gap:56px; }
    .abcsp-sidebar-inner { position:static; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
}

@media (max-width:640px) {
    .abcsp-container { width:min(100% - 24px,620px); }
    .abcsp-hero { min-height:540px; }
    .abcsp-hero-inner { width:min(100% - 40px,620px); padding:24px 0 48px; }
    .abcsp-breadcrumb { top:24px; gap:7px; font-size:9.5px; }
    .abcsp-hero-category { min-height:34px; margin-bottom:20px; padding:0 12px; font-size:9px; }
    .abcsp-title { font-size:clamp(42px,11vw,54px); line-height:1.05; letter-spacing:-.04em; }
    .abcsp-content-section { padding-top:58px; }
    .abcsp-entry-content { font-size:16px; line-height:1.82; }
    .abcsp-entry-content > p:first-child { font-size:18px; }
    .abcsp-entry-content blockquote { padding:25px 23px 25px 26px; font-size:18px; }
    .abcsp-tags { flex-direction:column; gap:10px; }
    .abcsp-post-navigation { grid-template-columns:minmax(0,1fr); }
    .abcsp-post-nav-next { text-align:left; }
    .abcsp-post-nav-next .abcsp-nav-kicker { justify-content:flex-start; }
    .abcsp-sidebar-inner { grid-template-columns:minmax(0,1fr); }
}

@media (max-width:420px) {
    .abcsp-hero { min-height:500px; }
    .abcsp-hero-inner { width:min(100% - 30px,390px); padding-top:20px; padding-bottom:38px; }
    .abcsp-breadcrumb { top:20px; font-size:8.5px; }
    .abcsp-title { font-size:clamp(38px,10.5vw,46px); }
}

@media (prefers-reduced-motion:reduce) {
    .abcsp-page *, .abcsp-page *::before, .abcsp-page *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
}

/* Elementor Single Post widget integration. */
.abcsp-layout-no-sidebar { grid-template-columns:minmax(0,1fr); }
.abcsp-editor-notice { padding:18px 20px; border:1px dashed #c8c8c8; border-radius:10px; background:#fff; color:#555; font-size:14px; line-height:1.5; }
@media (max-width:860px) {
    .elementor-widget-ab_clinic_single_blog_post .abcsp-layout { grid-template-columns:minmax(0,1fr) !important; }
}
