/*
Theme Name: Love Soul Clinic
Theme URI: https://example.com/
Author: Love Soul Clinic Ltd
Description: A bespoke plum, lavender, cream and gold starter theme for Love Soul Clinic Ltd.
Version: 1.0.2
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: love-soul-clinic
*/

:root{--plum:#492442;--plum2:#6c4265;--lav:#eee5ef;--lilac:#d9c5dc;--cream:#faf7f2;--ink:#28232a;--muted:#716973;--gold:#b69a67;--white:#fff;--line:#e8e0e7}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.6}a{color:inherit;text-decoration:none}.wrap{width:min(1140px,calc(100% - 40px));margin:auto}.topline{background:var(--plum);color:#fff;text-align:center;padding:9px 15px;font-size:.82rem;letter-spacing:.04em}.header{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:82px}.brand{display:flex;align-items:center;gap:12px;color:var(--plum)}.mark{width:43px;height:43px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;font-family:Georgia,serif;font-size:1.25rem;color:var(--gold)}.brand strong{display:block;font-family:Georgia,serif;font-size:1.18rem;letter-spacing:.02em}.brand small{display:block;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.links{display:flex;align-items:center;gap:23px;font-size:.88rem}.links a:hover{color:var(--plum2)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border-radius:3px;background:var(--plum);color:#fff;font-weight:650;font-size:.9rem;border:1px solid var(--plum);transition:.2s}.btn:hover{background:var(--plum2);transform:translateY(-1px)}.btn.outline{background:transparent;color:var(--plum);border-color:var(--plum)}.menu{display:none;border:1px solid var(--line);background:#fff;border-radius:4px;padding:9px 12px;color:var(--plum);font-size:1rem}.hero{background:linear-gradient(112deg,#faf7f2 0%,#f3eaf2 58%,#e6d6e7 100%);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:54px;align-items:center;padding:82px 0 86px}.eyebrow{color:var(--plum2);text-transform:uppercase;font-size:.74rem;letter-spacing:.2em;font-weight:750}.hero h1{font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:clamp(2.8rem,5.4vw,5rem);line-height:1.04;letter-spacing:-.04em;color:var(--plum);margin:18px 0 22px}.hero h1 em{font-weight:400;color:var(--plum2)}.hero p{font-size:1.08rem;color:#5f5661;max-width:550px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.hero-note{margin-top:25px;font-size:.82rem!important;color:var(--muted)!important}.visual{min-height:460px;border-radius:48% 48% 4px 4px;background:linear-gradient(150deg,rgba(73,36,66,.12),rgba(182,154,103,.13)),radial-gradient(ellipse at 55% 35%,#fffaf4 0,#e5d3e5 45%,#b89bb9 100%);position:relative;display:flex;align-items:center;justify-content:center;padding:35px}.visual:before{content:"";position:absolute;inset:22px;border:1px solid rgba(73,36,66,.28);border-radius:48% 48% 3px 3px}.quote-card{position:relative;max-width:300px;text-align:center;background:rgba(255,255,255,.82);padding:35px 28px;box-shadow:0 20px 70px #49244218}.quote-card .ornament{font-family:Georgia,serif;font-size:3rem;color:var(--gold);line-height:.8}.quote-card h2{font-family:Georgia,serif;color:var(--plum);font-size:2rem;font-weight:500;line-height:1.15;margin:15px 0}.quote-card p{font-size:.88rem;margin:0;color:var(--muted)}.section{padding:82px 0}.section.soft{background:var(--cream)}.section.plum{background:var(--plum);color:#fff}.section-head{max-width:680px;margin:0 auto 42px;text-align:center}.section-head h2,.intro h2{font-family:Georgia,serif;font-weight:500;color:var(--plum);font-size:clamp(2rem,3.3vw,3.15rem);line-height:1.12;margin:12px 0 15px;letter-spacing:-.025em}.section-head p{color:var(--muted);margin:0}.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.pillar{padding:29px 25px;background:#fff;border:1px solid var(--line)}.number{font-family:Georgia,serif;color:var(--gold);font-size:1.7rem}.pillar h3,.service h3,.program h3{color:var(--plum);font-family:Georgia,serif;font-weight:500;font-size:1.35rem;margin:12px 0 8px}.pillar p,.service p,.program p{font-size:.93rem;color:var(--muted);margin:0}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service{border:1px solid var(--line);padding:26px;background:#fff;min-height:230px}.icon{width:42px;height:42px;border-radius:50%;background:var(--lav);color:var(--plum);display:grid;place-items:center;font-family:Georgia,serif;font-size:1.2rem}.text-link{display:inline-block;margin-top:17px;color:var(--plum2);font-size:.88rem;font-weight:700}.text-link:hover{text-decoration:underline}.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;align-items:center}.statement{background:var(--lav);padding:42px;min-height:320px;display:flex;flex-direction:column;justify-content:center}.statement blockquote{font-family:Georgia,serif;font-size:1.75rem;line-height:1.3;color:var(--plum);margin:0}.statement p{color:var(--muted);font-size:.9rem}.intro p{color:var(--muted)}.checklist{list-style:none;padding:0;margin:22px 0}.checklist li{padding:8px 0 8px 28px;position:relative}.checklist li:before{content:"✓";position:absolute;left:0;color:var(--gold);font-weight:800}.programs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.program{background:#fff;border:1px solid var(--line);padding:28px}.tag{display:inline-block;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;color:var(--plum2);background:var(--lav);padding:5px 8px}.cta{background:linear-gradient(110deg,#f4edf4,#fbf7f0);padding:55px 50px;display:flex;justify-content:space-between;align-items:center;gap:30px}.cta h2{font-family:Georgia,serif;font-weight:500;color:var(--plum);font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.12;margin:8px 0}.cta p{color:var(--muted);max-width:560px;margin-bottom:0}.cta-actions{display:flex;gap:10px;flex-wrap:wrap}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px}.contact-grid h2{font-family:Georgia,serif;color:var(--plum);font-size:2.5rem;font-weight:500;line-height:1.1}.contact-form{display:grid;gap:13px}.contact-form label{font-size:.83rem;font-weight:650;color:var(--plum)}.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;padding:13px;border:1px solid #d9cfd9;background:#fff;border-radius:2px;font:inherit;margin-top:5px}.contact-form textarea{min-height:110px;resize:vertical}.form-note{font-size:.78rem;color:var(--muted)}.footer{background:#2e182b;color:#f8f2f7;padding:48px 0 20px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px}.footer h3{font-family:Georgia,serif;font-weight:500}.footer p,.footer a{color:#d6c8d4;font-size:.88rem}.footer a{display:block;margin:7px 0}.footer a:hover{color:#fff}.copyright{border-top:1px solid #ffffff26;margin-top:35px;padding-top:18px;color:#c9b8c7;font-size:.78rem;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.notice{font-size:.76rem;color:#d6c8d4;max-width:720px;margin-top:18px}.mobile-cta{display:none}
@media(max-width:900px){.links{gap:12px}.links a:not(.btn){display:none}.menu{display:block}.hero-grid{gap:25px;padding:60px 0}.visual{min-height:380px}.services,.programs{grid-template-columns:repeat(2,1fr)}.split{gap:30px}.cta{padding:38px 30px}}
@media(max-width:620px){.wrap{width:min(100% - 28px,1140px)}.nav{min-height:70px}.brand strong{font-size:1rem}.brand small{font-size:.58rem}.links{gap:8px}.links .btn{padding:10px 12px;font-size:.8rem}.hero-grid{grid-template-columns:1fr;padding:50px 0 45px}.hero h1{font-size:3.15rem}.visual{min-height:330px;max-width:390px;margin:8px auto 0;width:100%}.section{padding:60px 0}.pillars,.services,.programs,.split,.contact-grid,.footer-grid{grid-template-columns:1fr}.section-head{margin-bottom:30px}.statement{min-height:250px;padding:30px}.cta{display:block;padding:32px 24px}.cta-actions{margin-top:22px}.footer-grid{gap:20px}.mobile-cta{display:block;position:fixed;bottom:0;left:0;right:0;padding:10px 14px;background:#fff;border-top:1px solid var(--line);z-index:12}.mobile-cta .btn{width:100%}body{padding-bottom:64px}}

/* Multi-page navigation and WordPress logo support */
.brand-area{display:flex;align-items:center;min-width:190px}.site-logo .custom-logo-link{display:inline-flex;align-items:center}.site-logo img.custom-logo{display:block;width:auto;max-width:220px;max-height:66px;object-fit:contain}.links .primary-menu{display:flex;align-items:center;gap:20px;list-style:none;padding:0;margin:0}.primary-menu li{list-style:none;margin:0;padding:0}.primary-menu a{display:inline-flex;align-items:center;font-size:.88rem;color:var(--ink);padding:8px 0}.primary-menu a:hover{color:var(--plum2)}.primary-menu .menu-cta{padding:12px 17px;background:var(--plum);color:#fff;border:1px solid var(--plum);border-radius:3px;font-weight:650}.primary-menu .menu-cta:hover{background:var(--plum2);color:#fff}.page-banner{padding:62px 0;background:linear-gradient(112deg,#faf7f2 0%,#f3eaf2 58%,#e6d6e7 100%)}.page-banner h1{font-family:Georgia,serif;font-weight:500;font-size:clamp(2.5rem,5vw,4rem);line-height:1.1;color:var(--plum);margin:12px 0 0}.page-content{max-width:900px}.entry-content{font-size:1.04rem;color:#514853}.entry-content h2,.entry-content h3{font-family:Georgia,serif;color:var(--plum);font-weight:500;line-height:1.2;margin-top:1.8em}.entry-content a{color:var(--plum2);text-decoration:underline}.entry-content img{max-width:100%;height:auto}.page-featured-image{margin-bottom:30px}.page-featured-image img{width:100%;height:auto}.post-list{display:grid;gap:22px}.post-card{border:1px solid var(--line);padding:26px;background:#fff}.post-card h2{font-family:Georgia,serif;font-weight:500;color:var(--plum);margin-top:0}.post-meta{font-size:.82rem;color:var(--muted)}.footer-menu{padding:0;margin:0;list-style:none}.footer-menu li{list-style:none}.footer-menu a{display:block}.primary-menu.is-open{display:flex!important;flex-direction:column;align-items:stretch;background:#fff;position:absolute;top:70px;left:14px;right:14px;padding:16px 20px;box-shadow:0 10px 30px #2e182b20;border:1px solid var(--line);z-index:30}.menu{cursor:pointer}
@media(max-width:900px){.links .primary-menu{gap:10px}.links .primary-menu li:not(:last-child){display:none}.links .primary-menu .menu-cta{padding:10px 12px}.brand-area{min-width:0}.site-logo img.custom-logo{max-width:180px;max-height:58px}}
@media(max-width:620px){.links{margin-left:auto}.links .primary-menu{display:none}.links .primary-menu li{display:block!important}.links .primary-menu .menu-cta{display:inline-flex}.menu{display:block}.site-logo img.custom-logo{max-width:150px;max-height:52px}.page-banner{padding:45px 0}.page-banner h1{font-size:2.7rem}.entry-content{font-size:1rem}}

/* Brand logo with site title and tagline beside it */
.brand-area{display:flex;align-items:center;gap:14px;min-width:250px;flex-shrink:0}
.site-logo{display:flex;align-items:center;flex-shrink:0}
.site-logo .custom-logo-link{display:inline-flex;align-items:center}
.site-logo img.custom-logo{display:block;width:auto;max-width:76px;max-height:76px;object-fit:contain}
.brand-text{display:flex;flex-direction:column;gap:4px;text-decoration:none;color:var(--plum);line-height:1.15;min-width:0}
.brand-text strong{font-family:Georgia,serif;font-size:1.25rem;font-weight:600;white-space:nowrap}
.brand-text small{font-size:.72rem;letter-spacing:.035em;color:var(--muted);white-space:nowrap}
.brand-text:hover{text-decoration:none;color:var(--plum2)}
@media(max-width:900px){.brand-area{gap:9px;min-width:0}.site-logo img.custom-logo{max-width:60px;max-height:60px}.brand-text strong{font-size:1.05rem}.brand-text small{font-size:.64rem}}
@media(max-width:620px){.brand-area{gap:7px}.site-logo img.custom-logo{max-width:48px;max-height:48px}.brand-text strong{font-size:.95rem}.brand-text small{font-size:.58rem;white-space:normal;max-width:150px}}

/* Footer brand uses the same heart-shaped custom logo as the header. */
.footer-brand{display:flex;align-items:center;gap:14px;margin-bottom:16px}.footer-logo{display:inline-flex;align-items:center;flex:0 0 auto}.footer-logo .custom-logo-link{display:inline-flex;align-items:center}.footer-logo img.custom-logo{display:block;width:auto;max-width:76px;max-height:76px;object-fit:contain}.footer-brand-text{display:flex;flex-direction:column;gap:4px;line-height:1.2}.footer-brand-text strong{font-family:Georgia,serif;font-size:1.25rem;font-weight:600;color:#fff}.footer-brand-text small{font-size:.72rem;letter-spacing:.06em;color:#d6c8d4}.footer-logo .mark{color:var(--gold)}@media(max-width:620px){.footer-brand{gap:10px}.footer-logo img.custom-logo{max-width:60px;max-height:60px}.footer-brand-text strong{font-size:1.1rem}.footer-brand-text small{font-size:.62rem}}
