/* Sila Childcare Center - base components. Requires sila-tokens.css and fonts:
   Cormorant Garamond 500/600 + italic 400, DM Sans 400/500/600 (Google Fonts). */
body{margin:0;background:var(--sila-bg-page);color:var(--sila-text-primary);font:400 var(--sila-body-size)/var(--sila-body-lh) var(--sila-font-body)}
h1,h2,h3,h4,.sila-display{font-family:var(--sila-font-display);font-weight:600;color:var(--sila-sage);margin:0}
.sila-display{font-size:var(--sila-display-size);line-height:1}h1{font-size:var(--sila-h1-size);line-height:1.05}h2{font-size:var(--sila-h2-size);line-height:1.1}h3{font-size:var(--sila-h3-size);line-height:1.2}h4{font-size:var(--sila-h4-size);line-height:1.25}
.sila-overline{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--sila-text-secondary)}
.sila-tagline{font-family:var(--sila-font-display);font-style:italic;font-weight:400;color:var(--sila-sage)}
a{color:var(--sila-link);text-underline-offset:3px}
:focus-visible{outline:2px solid var(--sila-focus-ring);outline-offset:2px;box-shadow:0 0 0 5px color-mix(in srgb,var(--sila-focus-glow) 45%,transparent)}
.sila-btn{display:inline-flex;align-items:center;gap:var(--sila-space-2);height:44px;padding:0 var(--sila-space-5);border-radius:var(--sila-radius-pill);border:1.5px solid transparent;font:600 15px/1 var(--sila-font-body);letter-spacing:.01em;cursor:pointer;transition:background var(--sila-motion-fast) var(--sila-motion-ease),transform var(--sila-motion-fast) var(--sila-motion-ease)}
.sila-btn:active{transform:translateY(1px)}
.sila-btn--primary{background:var(--sila-action-primary);color:var(--sila-text-on-dark)}.sila-btn--primary:hover{background:var(--sila-action-primary-hover)}
.sila-btn--accent{background:var(--sila-action-accent);color:var(--sila-text-on-accent)}.sila-btn--accent:hover{background:var(--sila-action-accent-hover)}
.sila-btn--outline{background:transparent;color:var(--sila-action-primary);border-color:var(--sila-action-primary)}.sila-btn--outline:hover{background:var(--sila-bg-soft)}
.sila-btn--soft{background:var(--sila-bg-soft);color:var(--sila-text-primary)}
.sila-btn--sm{height:36px;padding:0 var(--sila-space-4);font-size:14px}.sila-btn--lg{height:52px;padding:0 var(--sila-space-6);font-size:16px}
.sila-btn[disabled]{opacity:.45;cursor:not-allowed}
.sila-field{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:500;color:var(--sila-text-primary)}
.sila-input{height:46px;padding:0 var(--sila-space-4);border:1.5px solid var(--sila-border-strong);border-radius:var(--sila-radius-md);background:var(--sila-white);font:400 16px/1 var(--sila-font-body);color:var(--sila-text-primary)}
.sila-input::placeholder{color:var(--sila-text-muted)}.sila-input:hover{border-color:var(--sila-sage)}
.sila-input[aria-invalid="true"]{border-color:var(--sila-error-fg);background:var(--sila-error-bg)}
.sila-help{font-size:12px;color:var(--sila-text-secondary)}
.sila-card{background:var(--sila-bg-surface);border-radius:var(--sila-radius-lg);box-shadow:var(--sila-shadow-sm);padding:var(--sila-space-5)}
.sila-card--raised{box-shadow:var(--sila-shadow-md)}
.sila-badge{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 var(--sila-space-3);border-radius:var(--sila-radius-pill);font-size:12px;font-weight:600;letter-spacing:.02em}
.sila-badge--blush{background:var(--sila-blush-100);color:#7A3B46}.sila-badge--mint{background:var(--sila-mint-100);color:var(--sila-deep-sage)}.sila-badge--peach{background:var(--sila-peach-100);color:#7A3E22}.sila-badge--success{background:var(--sila-success-bg);color:var(--sila-success-fg)}
.sila-alert{display:flex;gap:var(--sila-space-3);padding:var(--sila-space-4);border-radius:var(--sila-radius-md);font-size:14px}
.sila-alert--success{background:var(--sila-success-bg);color:var(--sila-success-fg)}.sila-alert--info{background:var(--sila-info-bg);color:var(--sila-info-fg)}.sila-alert--warning{background:var(--sila-warning-bg);color:var(--sila-warning-fg)}.sila-alert--error{background:var(--sila-error-bg);color:var(--sila-error-fg)}
.sila-arch{border-radius:var(--sila-radius-arch);overflow:hidden}
