/* Planea-owned surfaces. Merchant palettes and typography remain configurable. */
@font-face{font-family:TypoGraphica;src:url('/static/brand/typographica.otf') format('opentype');font-display:swap;font-weight:400}
:root{--planea-ink:#191919;--planea-muted:#667085;--planea-lavender:#696cb0;--planea-soft:#f0f0fa;--planea-acid:#dddc00;--planea-canvas:#f7f7fc;--planea-border:#e3e4f2}
.planea-logo{display:block;width:160px;max-width:100%;height:auto;object-fit:contain}
.planea-signature{display:inline-flex;align-items:center;flex-wrap:wrap;gap:10px;padding:8px 12px;border-radius:12px;background:#fff;color:#667085;font:12px Poppins,sans-serif}
.planea-signature .planea-logo{width:100px}
:is(.directory-page,.utility-booking,.utility-error){color-scheme:light;font-family:Poppins,system-ui,sans-serif;background:var(--planea-canvas);color:var(--planea-ink);-webkit-text-size-adjust:100%}
:is(.directory-page,.utility-booking,.utility-error) :is(button,input,select,textarea){font-family:inherit}
:is(.directory-page,.utility-booking,.utility-error) :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--planea-lavender);outline-offset:3px}
:is(.directory-page,.utility-booking,.utility-error) :is(h1,h2){font-family:Poppins,system-ui,sans-serif;font-weight:600;letter-spacing:0}
:is(.directory-page,.utility-booking,.utility-error) :is(input,select,textarea){min-width:0;max-width:100%;font-size:16px}
.directory-page{--dir-ink:#191919;--dir-muted:#667085;--dir-blue:#54578f;--dir-cyan:#54578f;--dir-purple:#696cb0;--dir-line:#e3e4f2}
.directory-hero{background:linear-gradient(135deg,#fff,#f0f0fa);color:var(--planea-ink)}
.directory-hero::before,.directory-hero::after{display:none}
.directory-copy h1{text-shadow:none;font-size:clamp(2.5rem,5.8vw,5.5rem)}
.directory-copy>p,.directory-search label,.directory-spotlight p{color:var(--planea-muted)}
.directory-nav-link,.directory-spotlight,.directory-search>div{background:#fff;border:1px solid var(--planea-border);color:var(--planea-ink);box-shadow:0 12px 32px #3d3e6810}
.directory-search>div{grid-template-columns:minmax(0,1fr) auto}
.directory-search input{background:var(--planea-canvas);font-weight:400}
.directory-search button,.directory-card footer a{background:var(--planea-acid);color:var(--planea-ink);font-weight:600}
.directory-spotlight span{color:var(--planea-ink)}
.directory-spotlight-pills b{background:var(--planea-soft);color:#54578f}
.directory-filters button{min-height:44px}
.directory-filters button.is-active{background:var(--planea-lavender);color:#fff;box-shadow:none}
.directory-card{box-shadow:0 12px 32px #3d3e6810;border-color:var(--planea-border)}
.directory-card-media{background:var(--planea-soft);color:#54578f}
.directory-card-media i{background:#fff;color:#54578f}
.directory-card footer a{min-height:44px}
.directory-toolbar,.directory-spotlight{box-shadow:0 12px 32px #3d3e6810}
.utility-booking{--primary:#696cb0;--primary-dark:#54578f;--accent:#54578f;--bg:#f7f7fc;--surface:#fff;--surface-hover:#f0f0fa;--border:#e3e4f2;--text:#191919;--text-muted:#667085;--text-dim:#667085;--success:#15803d;--error:#b91c1c}
.utility-booking .planea-booking-brand{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:24px;color:#54578f;font-size:14px}
.utility-booking .card{border:1px solid var(--border);box-shadow:0 12px 32px #3d3e6810}
.utility-booking :is(.form-input,.form-select,.form-textarea){background:#fff;border:1px solid var(--border);border-radius:12px;color:var(--text);font-size:16px}
.utility-booking .slot-btn{border-radius:12px;min-height:44px}
.utility-booking .slot-btn.selected{background:var(--primary);color:#fff}
.utility-booking .btn-primary{background:var(--planea-acid);color:var(--planea-ink);border-radius:12px;font-weight:600}
.utility-booking .btn-primary:hover{background:#e8e72c}
.utility-booking .status-msg.info{background:var(--planea-soft);color:#54578f;border-color:var(--border)}
.utility-booking .service-badge{background:var(--planea-soft);color:#54578f}
.utility-error::before{background:linear-gradient(135deg,#fff,#f0f0fa)}
.utility-error :is(.home-link,.secondary,.eyebrow){color:#54578f;border-color:var(--planea-border);background:#fff}
.utility-error .primary{background:var(--planea-acid);color:var(--planea-ink);box-shadow:0 12px 32px #3d3e6810}
.utility-error .status-card span{color:#54578f}
.utility-linkpage .topbar-brand{background:#fff;border:1px solid var(--planea-border);padding:10px 16px;border-radius:16px}
@media(max-width:600px){
 .planea-logo{width:128px}
 .directory-nav{height:auto;gap:12px;flex-wrap:wrap}
 .directory-nav-link{font-size:12px;padding:8px 12px}
 .directory-toolbar{padding:18px}
 .directory-search>div{padding:6px;gap:4px}
 .directory-search input{padding-inline:10px}
 .directory-search button{padding-inline:10px;font-size:13px}
 .directory-copy,.directory-hero-inner,.directory-toolbar>*{min-width:0}
 .utility-booking .service-name{font-size:clamp(2rem,9vw,3rem)}
 .utility-booking .form-row{grid-template-columns:minmax(0,1fr)}
 .utility-error .shell{min-width:0}
 .powered{flex-wrap:wrap;gap:12px}
}
.directory-mini-display{background:#fff;border-color:var(--planea-border);box-shadow:0 12px 32px #3d3e6810}
.mini-display-chrome{border-color:var(--planea-border)}
.mini-display-chrome span{background:#d1d2ee}
.mini-display-body b{background:var(--planea-soft)}
.mini-display-body strong{color:var(--planea-ink)}
.mini-display-body small{color:var(--planea-muted)}
.mini-display-body em{background:var(--planea-acid)}
.scheduler-card-action{background:var(--planea-acid);color:var(--planea-ink);box-shadow:none}
@media(max-width:600px){.directory-nav-link{display:inline-flex}}
.utility-error .visual{min-width:0}
.utility-error .visual::before{inset:2% 0}
@media(prefers-reduced-motion:reduce){.utility-booking .fade-in{opacity:1;transform:none}}
.directory-page .directory-hero h1,.utility-booking .service-name,.utility-error h1{font-weight:600;letter-spacing:.01em;line-height:1.12}
.directory-card-media:not(:has(img))::after{display:none}
