/* NLP Adult article pages — Success Mind Training
   Isolated styles: existing success-mind-menu.php/footer.php remain unchanged. */
:root { --spa-blue:#02098c; --spa-blue2:#1254b7; --spa-navy:#08245b; --spa-orange:#ff8500; --spa-pale:#edf5ff; --spa-ink:#152b4f; --spa-muted:#62738e; --spa-line:#e0e9f5; --spa-r:17px; }
html { scroll-behavior:smooth; }
body.spa-article-body { margin:0; font-family:'Anuphan','Noto Sans Thai',Tahoma,sans-serif; color:var(--spa-ink); background:#fff; -webkit-font-smoothing:antialiased; }
.spa-article-page, .spa-article-page * { box-sizing:border-box; }
.spa-article-page { font-size:17px; line-height:1.75; }
.spa-article-page img { display:block; max-width:100%; }
.spa-article-page a { text-decoration:none; }
.spa-article-page .spa-container { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }
.spa-banner { color:#fff; isolation:isolate; background:linear-gradient(110deg,#072c79 0%,#0a3d8a 50%,#1763a4 100%); min-height:143px; position:relative; overflow:hidden; }
.spa-banner::before { content:''; position:absolute; inset:0 0 0 46%; z-index:-1; background:linear-gradient(90deg,#0c408f 0%,rgba(14,75,151,.2) 34%,rgba(4,24,74,.13)),url('/images/articles/nlp-adults-section-banner.webp') right center/cover no-repeat; opacity:.9; }
.spa-banner::after { content:''; width:48%; height:320px; position:absolute; inset:auto auto -190px -12%; background:#145dbc; transform:rotate(-16deg); opacity:.21; border-radius:100%; z-index:-1; }
.spa-banner-inner { min-height:143px; display:flex; align-items:center; }
.spa-banner-heading { display:flex; align-items:center; gap:22px; padding-block:24px; }
.spa-banner-symbol { width:49px; height:49px; display:inline-flex; color:#fff; flex-shrink:0; }
.spa-banner-symbol svg { width:100%; height:100%; }
.spa-banner-title { font-size:38px; font-weight:800; line-height:1.1; letter-spacing:-.5px; }
.spa-banner-heading p { font-weight:500; margin:8px 0 0; color:#f0f6ff; font-size:17px; }
.spa-breadcrumb { background:#f6f9fd; border-bottom:1px solid #edf2f9; }
.spa-breadcrumb-inner { display:flex; align-items:center; flex-wrap:wrap; gap:9px; padding-block:11px; color:#6c7891; font-size:14px; }
.spa-breadcrumb a { font-weight:700; color:#13459a; transition:color .2s; }
.spa-breadcrumb a:hover { color:var(--spa-orange); }
.spa-breadcrumb span[aria-current] { display:inline-block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:50%; }
.spa-content-grid { display:grid; grid-template-columns:minmax(0,1fr) 345px; column-gap:39px; align-items:start; padding-block:34px 72px; }
.spa-main { min-width:0; }
.spa-article-header .spa-pill { display:inline-flex; align-items:center; background:#ff7900; color:#fff; padding:5px 19px 6px; font-size:15px; font-weight:700; border-radius:999px; line-height:1.5; box-shadow:0 4px 11px rgba(255,128,0,.15); }
.spa-article-header h1 { margin:14px 0 12px; font-size:clamp(27px,2.7vw,39px); color:var(--spa-navy); font-weight:800; letter-spacing:-.7px; line-height:1.42; }
.spa-article-meta { display:flex; flex-wrap:wrap; gap:11px 16px; align-items:center; font-size:14px; color:#405471; margin-bottom:21px; }
.spa-article-meta span { display:inline-flex; align-items:center; gap:6px; white-space:nowrap; }
.spa-article-meta svg { width:17px; height:17px; fill:none; stroke:var(--spa-blue2); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; flex:0 0 17px; }
.spa-cover { overflow:hidden; border-radius:13px; margin:0 0 19px; background:#102b78; border:1px solid #dfe7f3; }
.spa-cover img { width:100%; height:auto; aspect-ratio:auto; object-fit:contain; object-position:center; }
.spa-lead { color:#12294a; font-size:18px; font-weight:600; line-height:1.9; margin:0 0 17px; }
.spa-intro p, .spa-step-paragraphs p { margin:0 0 13px; color:#263b58; font-size:17px; line-height:1.95; }
.spa-takeaways { margin:26px 0; padding:17px 22px 18px; border:1px solid #d6e7ff; border-radius:15px; background:linear-gradient(112deg,#f1f7ff,#fafdff); }
.spa-takeaways-heading { color:#0b3e96; font-size:20px; font-weight:800; }
.spa-takeaways-heading span { color:#ff9300; }
.spa-takeaways ul { display:grid; gap:6px; margin:10px 0 0; padding-left:24px; }
.spa-takeaways li { padding-left:3px; font-size:16px; }
.spa-toc { background:#fff; border:1px solid #dfebf9; box-shadow:0 7px 28px rgba(27,80,140,.06); border-radius:15px; padding:19px 24px; margin:22px 0 34px; }
.spa-toc-heading { color:var(--spa-navy); font-size:21px; font-weight:800; margin-bottom:8px; }
.spa-toc ol { display:grid; grid-template-columns:1fr 1fr; column-gap:30px; row-gap:5px; margin:0; padding-left:22px; }
.spa-toc li { color:#1453a7; padding-left:1px; font-size:15px; }
.spa-toc a { color:#244771; font-weight:600; }
.spa-toc a:hover { color:#ff7900; }
.spa-article-section { margin-top:30px; scroll-margin-top:105px; }
.spa-article-section h2 { display:flex; align-items:center; gap:14px; margin:0 0 15px; border-radius:13px; background:linear-gradient(100deg,#d5e9ff,#e8f4ff); font-size:clamp(20px,2.1vw,25px); color:#073478; padding:10px 14px; font-weight:800; line-height:1.4; }
.spa-num { color:#fff; display:inline-grid; place-items:center; width:43px; height:43px; border-radius:50%; background:linear-gradient(135deg,#0447ca,#1071da); font-weight:800; flex-shrink:0; line-height:1; font-size:24px; box-shadow:0 4px 9px rgba(15,83,180,.16); }
.spa-step-content { display:grid; grid-template-columns:142px minmax(0,1fr); gap:18px; align-items:start; }
.spa-step-icon { display:grid; place-items:center; min-height:118px; background:linear-gradient(135deg,#f0f4fa,#f9fbfe); border:1px solid #e8eff8; border-radius:14px; font-size:64px; line-height:1.1; }
.spa-step-paragraphs { min-width:0; padding-top:3px; }
.spa-try { background:#fff7eb; border-left:4px solid #ff940a; border-radius:0 12px 12px 0; padding:11px 16px; margin:14px 0 3px; }
.spa-try strong { color:#a75400; font-size:15px; }
.spa-try p { margin:3px 0 0; font-size:15.5px; color:#62492d; line-height:1.8; }
.spa-try-tip { background:#eef7ff; border-left-color:#1c68c8; }
.spa-try-tip strong { color:#0d499a; }
.spa-try-tip p { color:#29476c; }
.spa-conclusion { background:linear-gradient(115deg,#073b92,#075bb7); color:white; border-radius:18px; padding:24px 27px; margin-top:37px; }
.spa-conclusion h2 { font-size:24px; line-height:1.5; margin:0 0 7px; font-weight:800; }
.spa-conclusion p { font-size:17px; line-height:1.9; margin:0; color:#f0f6ff; }
.spa-faq { padding-block:28px 7px; }
.spa-faq h2 { font-size:26px; color:var(--spa-navy); margin:0 0 12px; }
.spa-faq details { border:1px solid #dbe5f0; border-radius:12px; margin:8px 0; background:#fff; }
.spa-faq summary { cursor:pointer; font-weight:700; padding:13px 17px; color:#173b6c; font-size:17px; }
.spa-faq details[open] { background:#f8fbff; border-color:#bfdaff; }
.spa-faq details p { padding:0 17px 14px; margin:0; font-size:16px; color:#3f546d; }
.spa-share { margin-top:23px; padding:18px 0 24px; border-bottom:1px solid #e6ebf3; border-top:1px solid #e6ebf3; display:flex; align-items:center; flex-wrap:wrap; gap:11px; }
.spa-share span { margin-right:5px; font-weight:700; color:#123a70; }
.spa-share a, .spa-share button { border:1px solid #d3e0f2; border-radius:30px; background:#fff; color:#144a91; cursor:pointer; font-family:inherit; font-size:14px; font-weight:700; padding:7px 13px; }
.spa-share a:hover, .spa-share button:hover { border-color:#ff8a00; color:#b35400; }
.spa-sidebar { min-width:0; display:flex; flex-direction:column; gap:17px; position:sticky; top:86px; }
.spa-widget { border:1px solid #e1e8f4; box-shadow:0 5px 18px rgba(11,39,100,.06); border-radius:13px; overflow:hidden; background:white; }
.spa-widget h2 { background:linear-gradient(90deg,#edf4ff,#f8faff); color:#07347e; font-size:21px; font-weight:800; margin:0; padding:13px 17px; line-height:1.3; }
.spa-widget h2 span { font-size:25px; vertical-align:middle; color:#0e55b8; margin-right:5px; }
.spa-related-widget { padding-bottom:9px; }
.spa-related-link { display:grid; grid-template-columns:105px 1fr; align-items:center; gap:12px; color:#15335d; padding:10px 13px; border-bottom:1px solid #edf0f6; }
.spa-related-link:last-child { border:0; }
.spa-related-link:hover strong { color:#eb7600; }
.spa-related-link img { width:105px; height:72px; object-fit:contain; border-radius:9px; background:#dceaf9; }
.spa-related-link strong { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-weight:700; line-height:1.4; font-size:15px; }
.spa-related-link small { color:#6c7f99; font-size:12px; display:block; margin-top:6px; }
.spa-topic-widget { padding-bottom:4px; }
.spa-topic-widget a { display:flex; justify-content:space-between; align-items:center; gap:8px; font-size:14.5px; color:#253f67; font-weight:600; padding:10px 16px; line-height:1.4; border-top:1px solid #e9eef6; }
.spa-topic-widget a:hover { background:#f7faff; color:#f07b00; }
.spa-topic-widget a span { color:#0b519e; font-size:22px; line-height:14px; }
.spa-consult-widget { background:linear-gradient(132deg,#073b96,#092a72 64%,#0755b4); border-radius:15px; color:white; padding:24px 21px 22px; text-align:center; box-shadow:0 10px 25px rgba(9,54,124,.16); }
.spa-consult-icon { color:#ffab1a; line-height:1; font-size:32px; }
.spa-consult-widget h2 { margin:7px 0; color:white; font-size:22px; line-height:1.35; font-weight:800; }
.spa-consult-widget p { font-size:15px; line-height:1.8; color:#eaf3ff; margin:10px 0 18px; }
.spa-consult-widget>a { display:inline-flex; align-items:center; justify-content:center; gap:12px; border-radius:30px; padding:9px 17px; background:linear-gradient(115deg,#ff9c16,#ff7700); color:white; font-weight:800; font-size:15px; box-shadow:0 4px 12px rgba(0,0,0,.08); }
.spa-consult-widget>a:hover { background:#ff7300; transform:translateY(-1px); }
.spa-bottom-related { margin-top:35px; }
.spa-section-header { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:15px; }
.spa-section-header h2 { margin:0; color:#0a397e; font-size:25px; }
.spa-section-header>a { font-weight:700; color:#175eb3; font-size:14px; }
.spa-bottom-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.spa-bottom-card { display:block; border:1px solid #e1eaf5; border-radius:14px; overflow:hidden; box-shadow:0 5px 16px rgba(10,43,98,.05); background:white; min-width:0; }
.spa-bottom-card:hover { transform:translateY(-3px); box-shadow:0 12px 20px rgba(10,43,98,.11); }
.spa-bottom-card img { width:100%; height:116px; object-fit:contain; background:#eef5ff; }
.spa-bottom-card>div { padding:11px 13px 14px; }
.spa-bottom-card small { display:inline-block; color:#165bb6; background:#eaf3ff; border-radius:20px; padding:2px 8px; font-size:12px; }
.spa-bottom-card h3 { font-size:15px; margin:7px 0; font-weight:700; line-height:1.55; color:#14366c; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:45px; }
.spa-bottom-card>div>span { color:#f07d00; font-size:13px; font-weight:700; }
.spa-article-page :focus-visible { outline:3px solid #ff9100; outline-offset:3px; }
@media (max-width:1100px) { .spa-content-grid { grid-template-columns:minmax(0,1fr) 310px; gap:24px; } .spa-related-link { grid-template-columns:88px 1fr; gap:10px; } .spa-related-link img { width:88px; height:66px; } .spa-widget h2 { font-size:19px; } }
@media (max-width:850px) { .spa-content-grid { grid-template-columns:minmax(0,1fr); padding-top:26px; } .spa-sidebar { position:static; display:grid; grid-template-columns:1fr 1fr; gap:15px; margin-top:30px; } .spa-sidebar .spa-consult-widget { grid-column:1/-1; } .spa-article-header h1 { font-size:33px; } .spa-banner::before { inset:0 0 0 43%; } }
@media (max-width:640px) {
 .spa-article-page { font-size:16px; } .spa-article-page .spa-container { width:min(100% - 30px,1180px); }
 .spa-banner,.spa-banner-inner { min-height:116px; } .spa-banner-heading { gap:12px; padding-block:16px; } .spa-banner-symbol { width:36px; height:36px; } .spa-banner-title { font-size:30px; } .spa-banner-heading p { font-size:12.5px; line-height:1.65; margin-top:4px; max-width:285px; } .spa-banner::before { inset:0 0 0 34%; opacity:.45; }
 .spa-breadcrumb-inner { font-size:12px; padding-block:9px; gap:6px; } .spa-breadcrumb span[aria-current] { max-width:52%; }
 .spa-content-grid { padding-block:24px 40px; } .spa-article-header .spa-pill { font-size:12.5px; padding:4px 13px; }
 .spa-article-header h1 { font-size:clamp(25px,6.8vw,32px); margin-top:10px; line-height:1.42; } .spa-article-meta { font-size:12px; gap:6px 13px; margin-bottom:15px; }
 .spa-cover { border-radius:11px; margin-bottom:15px; } .spa-cover img { aspect-ratio:auto; object-fit:contain; object-position:center; }
 .spa-lead { font-size:17px; line-height:1.8; }
 .spa-intro p,.spa-step-paragraphs p { font-size:16px; line-height:1.88; }
 .spa-takeaways { padding:14px 16px; margin:20px 0; } .spa-takeaways-heading { font-size:18px; } .spa-takeaways li { font-size:15px; }
 .spa-toc { padding:15px 17px; margin-block:19px 25px; } .spa-toc-heading { font-size:19px; } .spa-toc ol { grid-template-columns:1fr; } .spa-toc li { font-size:14px; }
 .spa-article-section { margin-top:26px; scroll-margin-top:75px; } .spa-article-section h2 { gap:10px; padding:8px 10px; font-size:20px; } .spa-num { width:36px; height:36px; font-size:21px; }
 .spa-step-content { grid-template-columns:1fr; gap:10px; } .spa-step-icon { width:94px; min-height:75px; font-size:49px; } .spa-try { padding:9px 12px; margin-top:7px; }
 .spa-conclusion { padding:20px; margin-top:27px; } .spa-conclusion h2 { font-size:21px; } .spa-conclusion p { font-size:16px; }
 .spa-faq h2,.spa-section-header h2 { font-size:22px; } .spa-faq summary { font-size:16px; }
 .spa-share { gap:7px; } .spa-share span { width:100%; } .spa-share a,.spa-share button { font-size:13px; }
 .spa-bottom-cards { grid-template-columns:1fr; gap:12px; } .spa-bottom-card { display:grid; grid-template-columns:125px minmax(0,1fr); } .spa-bottom-card img { height:100%; min-height:123px; } .spa-bottom-card h3 { min-height:0; } .spa-bottom-card>div { padding:10px 12px; }
 .spa-sidebar { grid-template-columns:1fr; } .spa-sidebar .spa-consult-widget { grid-column:auto; } .spa-related-link { grid-template-columns:96px 1fr; } .spa-related-link img { width:96px; height:68px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* NLP pages: complete covers without any crop, including on small cards */
.spa-cover img { aspect-ratio:auto!important; object-fit:contain!important; height:auto!important; }
.spa-step-icon { background:linear-gradient(135deg,#f5f9ff,#e6f1ff); }
.spa-article-page .spa-skip { position:absolute; top:-80px; left:16px; padding:10px 16px; background:#fff; color:#02098c; z-index:999; border-radius:10px; }
.spa-article-page .spa-skip:focus { top:8px; }

/* Editorial note / balanced evidence statement */
.spa-evidence { margin:30px 0 6px; padding:20px 22px; border:1px solid #cfe2f7; border-radius:16px; background:#f5f9ff; }
.spa-evidence h2 { font-size:20px; color:#12427f; font-weight:800; margin:0 0 8px; }
.spa-evidence p { margin:0 0 10px; font-size:15px; line-height:1.85; color:#355176; }
.spa-evidence .spa-evidence-source { margin-bottom:0; font-size:14px; }
.spa-evidence a { color:#1260bc; text-decoration:underline; text-underline-offset:3px; }
.spa-cover { overflow:hidden; }
.spa-article-page .spa-cover img { display:block; width:100%; height:auto; object-fit:contain; }
@media (max-width:640px){ .spa-evidence { padding:15px; } .spa-evidence h2 { font-size:18px; } }

/* Adult editorial finish */
.spa-article-page .spa-intro p { text-wrap:pretty; }
.spa-bottom-card, .spa-related-link { transition:transform .18s ease,box-shadow .18s ease; }
.spa-article-section h2 { scroll-margin-top:100px; }
.spa-faq details summary:focus-visible { outline:2px solid #ff8a00; outline-offset:3px; }
@media(max-width:640px) {
 .spa-banner-heading p { max-width:285px; }
 .spa-article-section h2 { align-items:flex-start; }
 .spa-article-section h2 .spa-num { margin-top:2px; }
}
