/*
Theme Name: Calmwell Psychology & Wellness
Theme URI: https://example.com/
Author: Custom Build
Description: Bright, modern, calming WordPress theme for psychology, coaching, wellness, and client-platform websites.
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: calmwell
*/

:root{--cw-bg:#f7fbfa;--cw-surface:#ffffff;--cw-text:#20302f;--cw-muted:#667675;--cw-accent:#7aa59d;--cw-accent-dark:#456f68;--cw-soft:#eaf3f1;--cw-warm:#f4eee8;--cw-border:#dfe9e6;--cw-shadow:0 18px 50px rgba(32,48,47,.08);--cw-radius:24px;--cw-max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cw-bg);color:var(--cw-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65}a{color:var(--cw-accent-dark);text-decoration:none}a:hover{opacity:.82}img{max-width:100%;height:auto}.cw-wrap{width:min(calc(100% - 32px),var(--cw-max));margin:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(247,251,250,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(223,233,230,.85)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:80px}.brand{display:flex;align-items:center;gap:12px;font-weight:750;font-size:1.05rem;color:var(--cw-text)}.brand-mark{width:38px;height:38px;border-radius:50% 50% 48% 52%;background:linear-gradient(145deg,var(--cw-accent),#b9d2cd);box-shadow:inset 0 0 0 7px rgba(255,255,255,.55)}.main-nav ul{display:flex;gap:24px;align-items:center;list-style:none;margin:0;padding:0}.main-nav a{color:var(--cw-text);font-size:.95rem}.nav-cta a{background:var(--cw-text);color:#fff!important;padding:11px 17px;border-radius:999px}.menu-toggle{display:none;border:0;background:var(--cw-surface);font-size:1.25rem;border-radius:12px;padding:8px 12px}.site-main{min-height:70vh}.hero{padding:80px 0 70px}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;font-weight:750;color:var(--cw-accent-dark);margin-bottom:16px}.hero h1,.page-hero h1{font-family:Georgia,"Times New Roman",serif;font-weight:500;line-height:1.04;letter-spacing:-.035em;margin:0 0 20px;font-size:clamp(3rem,7vw,6.2rem)}.hero p{font-size:1.12rem;color:var(--cw-muted);max-width:670px;margin:0 0 30px}.btn-row{display:flex;flex-wrap:wrap;gap:12px}.cw-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:999px;border:1px solid var(--cw-text);font-weight:700;transition:.2s}.cw-btn-primary{background:var(--cw-text);color:#fff}.cw-btn-secondary{background:transparent;color:var(--cw-text)}.hero-card{background:var(--cw-surface);padding:18px;border-radius:36px;box-shadow:var(--cw-shadow);transform:rotate(1.3deg)}.hero-photo{aspect-ratio:4/5;overflow:hidden;border-radius:28px;background:linear-gradient(160deg,#dceae7,#f2e9e1);display:flex;align-items:end;justify-content:center}.hero-photo img{width:100%;height:100%;object-fit:cover}.hero-note{margin-top:14px;padding:14px 10px 4px;color:var(--cw-muted);font-size:.92rem}.section{padding:76px 0}.section-soft{background:var(--cw-soft)}.section-warm{background:var(--cw-warm)}.section-head{max-width:760px;margin-bottom:32px}.section-head h2{font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:clamp(2.1rem,4vw,3.8rem);letter-spacing:-.025em;line-height:1.08;margin:0 0 14px}.section-head p{margin:0;color:var(--cw-muted)}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:var(--cw-surface);border:1px solid var(--cw-border);border-radius:var(--cw-radius);padding:28px;box-shadow:0 8px 30px rgba(32,48,47,.04)}.card h3{margin-top:0;font-size:1.22rem}.card p{color:var(--cw-muted)}.kicker{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cw-accent-dark);font-weight:750}.testimonial{font-family:Georgia,"Times New Roman",serif;font-size:1.25rem;line-height:1.55}.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.portrait-placeholder{min-height:460px;border-radius:34px;background:linear-gradient(140deg,#d9ebe6,#f4e8df);display:flex;align-items:center;justify-content:center;color:var(--cw-muted);text-align:center;padding:30px}.page-hero{padding:64px 0 34px}.page-hero p{max-width:760px;color:var(--cw-muted);font-size:1.08rem}.content-card{background:var(--cw-surface);border-radius:28px;padding:32px;border:1px solid var(--cw-border)}.site-footer{padding:54px 0;background:#20302f;color:#eaf3f1}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}.site-footer a{color:#dceae7}.footer-small{margin-top:35px;padding-top:20px;border-top:1px solid rgba(255,255,255,.13);font-size:.86rem;color:#b9c7c4}.woocommerce .button,.woocommerce button.button,.woocommerce input.button{background:var(--cw-text)!important;color:#fff!important;border-radius:999px!important;padding:.75em 1.2em!important}.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce select{border:1px solid var(--cw-border);border-radius:14px;padding:13px 14px;background:#fff}.woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0}.woocommerce-MyAccount-navigation a{display:block;padding:10px 12px;border-radius:12px}.woocommerce-MyAccount-navigation .is-active a{background:var(--cw-soft);font-weight:700}
@media(max-width:900px){.main-nav{display:none}.main-nav.open{display:block;position:absolute;left:16px;right:16px;top:72px;background:#fff;border:1px solid var(--cw-border);border-radius:20px;padding:16px;box-shadow:var(--cw-shadow)}.main-nav ul{flex-direction:column;align-items:stretch;gap:6px}.main-nav a{display:block;padding:10px 12px}.menu-toggle{display:block}.hero-grid,.split,.footer-grid{grid-template-columns:1fr}.hero{padding-top:46px}.hero-card{max-width:620px}.grid-3{grid-template-columns:1fr}.section{padding:56px 0}}@media(max-width:600px){.hero h1,.page-hero h1{font-size:clamp(2.7rem,13vw,4.4rem)}.hero{padding-bottom:48px}.card,.content-card{padding:22px}.header-inner{min-height:70px}.cw-wrap{width:min(calc(100% - 24px),var(--cw-max))}}
