/* Smiley Booking — global design system */
:root{--sm-purple:#7c3aed;--sm-purple-2:#a855f7;--sm-ink:#21152e;--sm-muted:#6f6479;--sm-bg:#faf8ff;--sm-surface:#fff;--sm-line:#e7def0;--sm-radius:18px;--sm-shadow:0 14px 40px rgba(68,35,94,.08)}
body:not(.home){background:var(--sm-bg);color:var(--sm-ink)}
body:not(.home) a{transition:.18s ease}
body:not(.home) input:not([type=checkbox]):not([type=radio]),body:not(.home) textarea,body:not(.home) select{border:1px solid var(--sm-line);border-radius:12px;background:#fff;color:var(--sm-ink);min-height:46px;padding:10px 13px}
body:not(.home) input:focus,body:not(.home) textarea:focus,body:not(.home) select:focus{outline:2px solid rgba(124,58,237,.28);border-color:var(--sm-purple)}
body:not(.home) button,body:not(.home) .button,body:not(.home) .btn,body:not(.home) .woocommerce a.button,body:not(.home) .woocommerce button.button{border-radius:999px}
.slb-commerce-header{background:rgba(255,255,255,.94)!important;border-bottom:1px solid var(--sm-line)!important;box-shadow:0 5px 24px rgba(54,27,75,.05)!important}
.slb-commerce-header .brand{color:var(--sm-ink)!important;font-weight:900!important}
.slb-commerce-header a{color:var(--sm-ink)}
.slb-commerce-header .button,.slb-commerce-header .btn{background:linear-gradient(90deg,var(--sm-purple),var(--sm-purple-2));color:#fff!important}
.woocommerce .woocommerce-MyAccount-navigation,.woocommerce .woocommerce-MyAccount-content,.woocommerce form.checkout,.woocommerce-cart-form,.cart_totals,.woocommerce form.login,.woocommerce form.register{background:#fff;border:1px solid var(--sm-line);border-radius:var(--sm-radius);box-shadow:var(--sm-shadow);padding:20px}
.woocommerce .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0}.woocommerce .woocommerce-MyAccount-navigation a{display:block;padding:10px 12px;border-radius:10px}.woocommerce .woocommerce-MyAccount-navigation .is-active a{background:#f2eaff;color:var(--sm-purple);font-weight:800}
.woocommerce #payment,.woocommerce-checkout-review-order{border-radius:var(--sm-radius);overflow:hidden}
.sr-page,.sr{background:var(--sm-bg)!important}
.sm-profile{background:var(--sm-bg);min-height:70vh}.sm-profile-wrap{width:min(1120px,calc(100% - 28px));margin:auto}.sm-profile-hero{padding:54px 0 34px;background:linear-gradient(135deg,#2b123f,#7c3aed);color:#fff}.sm-profile-hero .sm-profile-wrap{display:flex;align-items:center;gap:24px}.sm-avatar{width:150px;height:150px;object-fit:cover;border-radius:28px;border:4px solid rgba(255,255,255,.8)}.sm-profile h1{font-size:clamp(32px,5vw,58px);margin:4px 0}.sm-kicker{font-weight:800;opacity:.8}.sm-verified{display:inline-block;background:#fff;color:#6d28d9;padding:7px 12px;border-radius:999px;font-weight:800}.sm-profile-body{padding:30px 0 60px}.sm-cols{display:grid;grid-template-columns:2fr 1fr;gap:18px}.sm-card{background:#fff;border:1px solid var(--sm-line);border-radius:var(--sm-radius);box-shadow:var(--sm-shadow);padding:22px}.sm-row{display:grid;grid-template-columns:180px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--sm-line)}.sm-btn{display:block;text-align:center;padding:12px 18px;border-radius:999px;background:linear-gradient(90deg,var(--sm-purple),var(--sm-purple-2));color:#fff!important;font-weight:800;margin:8px 0}.sm-btn.secondary{background:#f2eaff;color:var(--sm-purple)!important}@media(max-width:720px){.sm-profile-hero .sm-profile-wrap{align-items:flex-start}.sm-avatar{width:92px;height:92px;border-radius:20px}.sm-cols{grid-template-columns:1fr}.sm-row{grid-template-columns:1fr}.sm-profile h1{font-size:32px}}

.sm-directory-page{background:var(--sm-bg);color:var(--sm-ink)}.sm-dir-wrap{width:min(1180px,calc(100% - 28px));margin:auto}.sm-dir-head{background:#fff;border-bottom:1px solid var(--sm-line);position:sticky;top:0;z-index:50}.sm-dir-head .sm-dir-wrap{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px}.sm-dir-brand{font-size:23px;font-weight:900;color:var(--sm-ink)!important}.sm-dir-brand small{font-size:10px;display:block;letter-spacing:2px}.sm-dir-head nav{display:flex;gap:18px}.sm-dir-hero{padding:52px 0 34px;background:linear-gradient(135deg,#2b123f,#7c3aed);color:#fff}.sm-dir-hero h1{font-size:clamp(36px,6vw,64px);margin:8px 0}.sm-dir-hero form{display:flex;max-width:620px;gap:8px;margin-top:20px}.sm-dir-hero input{flex:1}.sm-dir-hero button{background:#fff;color:#6d28d9;border:0;padding:0 22px;font-weight:800}.sm-dir-body{padding:26px 0 60px}.sm-dir-tabs{display:flex;gap:8px;overflow:auto;padding-bottom:16px}.sm-dir-tabs a{white-space:nowrap;padding:9px 14px;border-radius:999px;background:#fff;border:1px solid var(--sm-line);color:var(--sm-ink)}.sm-dir-tabs a.on{background:var(--sm-purple);color:#fff}.sm-dir-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.sm-dir-card{background:#fff;border:1px solid var(--sm-line);border-radius:var(--sm-radius);overflow:hidden;box-shadow:var(--sm-shadow)}.sm-dir-card>a{color:inherit}.sm-dir-img{aspect-ratio:4/3;background:#eee center/cover no-repeat}.sm-dir-copy{padding:16px}.sm-dir-copy span{font-size:13px;color:var(--sm-purple);font-weight:800}.sm-dir-copy h2{margin:5px 0;font-size:22px}.sm-empty{grid-column:1/-1;text-align:center;background:#fff;border:1px solid var(--sm-line);border-radius:var(--sm-radius);padding:42px}@media(max-width:760px){.sm-dir-grid{grid-template-columns:1fr 1fr}.sm-dir-head nav a:nth-child(2){display:none}.sm-dir-copy h2{font-size:18px}}@media(max-width:480px){.sm-dir-grid{grid-template-columns:1fr}}
.sm-action-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.sm-action-row .sm-btn{display:inline-flex;width:auto;margin:0}.sm-action-row .sm-btn.light{background:#fff;color:#6d28d9!important}.sm-breadcrumb{display:flex;gap:8px;align-items:center;padding-top:16px;padding-bottom:16px;font-size:14px;color:var(--sm-muted)}.sm-breadcrumb a{color:var(--sm-purple);font-weight:700}.sm-breadcrumb span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sm-trust-box{margin:14px 0;padding:13px 14px;border-radius:14px;background:#f2fff6;border:1px solid #b9e7c8;color:#185c32}.sm-trust-box b,.sm-trust-box small{display:block}.sm-trust-box small{margin-top:4px;opacity:.8}.sm-usage{padding:14px;margin:0 0 18px;border:1px solid var(--sm-line);border-radius:14px;background:#faf8ff}.sm-usage>div{display:flex;justify-content:space-between;gap:12px}.sm-usage progress{width:100%;height:9px;margin-top:9px;accent-color:var(--sm-purple)}.sm-usage small{display:block;margin-top:7px;color:var(--sm-muted)}.sm-my{margin:0 0 28px}.sm-my>h2{margin-bottom:14px}.sm-my-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.sm-my-card{border:1px solid var(--sm-line);border-radius:var(--sm-radius);background:#fff;padding:18px;box-shadow:var(--sm-shadow)}.sm-my-card h3{margin:5px 0;font-size:22px}.sm-my-actions{display:flex;gap:8px;flex-wrap:wrap}.sm-my-actions .sm-btn{width:auto;display:inline-flex}.sm-my-actions .secondary{background:#f2eaff;color:var(--sm-purple)!important}@media(max-width:680px){.sm-my-grid{grid-template-columns:1fr}}.sm-stat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:16px 0 28px}.sm-stat-grid>div{background:#fff;border:1px solid var(--sm-line);border-radius:16px;padding:16px;text-align:center;box-shadow:var(--sm-shadow)}.sm-stat-grid b{display:block;font-size:25px;color:var(--sm-purple)}.sm-stat-grid span{font-size:13px;color:var(--sm-muted)}.sm-event-form{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:10px;align-items:end}.sm-event-form label{font-weight:700;font-size:13px}.sm-event-form label input,.sm-event-form label select{display:block;width:100%;margin-top:5px}@media(max-width:800px){.sm-stat-grid{grid-template-columns:1fr 1fr}.sm-event-form{grid-template-columns:1fr 1fr}}@media(max-width:480px){.sm-event-form{grid-template-columns:1fr}}#student-signature{display:block;width:100%;height:180px;border:2px dashed #a98bc7;border-radius:12px;background:#fff;touch-action:none}.sr-sign-wrap{border:1px solid var(--sm-line);border-radius:16px;padding:12px;background:#fff}.sm-calendar-list{display:grid;gap:8px;margin-top:20px}.sm-cal-row{display:flex;justify-content:space-between;gap:16px;align-items:center;background:#fff;border:1px solid var(--sm-line);border-radius:14px;padding:13px 15px}.sm-cal-row div{display:flex;gap:12px;align-items:center}.sm-cal-row span{padding:5px 9px;border-radius:999px;background:#f2eaff;color:var(--sm-purple);font-size:12px;font-weight:800}@media(max-width:600px){.sm-cal-row,.sm-cal-row div{align-items:flex-start;flex-direction:column;gap:6px}}.sm-lead-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:#fff;border:1px solid var(--sm-line);border-radius:var(--sm-radius);padding:22px;box-shadow:var(--sm-shadow)}.sm-lead-form label{font-weight:700}.sm-lead-form label input,.sm-lead-form label select,.sm-lead-form label textarea{display:block;width:100%;margin-top:5px}.sm-lead-form .full{grid-column:1/-1}@media(max-width:620px){.sm-lead-form{grid-template-columns:1fr}.sm-lead-form .full{grid-column:auto}}.sm-match-score{display:inline-flex;padding:6px 10px;border-radius:999px;background:#efe6ff;color:var(--sm-purple);font-size:12px;font-weight:900}.sm-lock{padding:12px;border-radius:14px;background:#fff8e8;border:1px solid #efd28a;margin:10px 0}.sm-lock b,.sm-lock small{display:block}.sm-lock small{margin-top:4px;color:var(--sm-muted)}.sm-chat{max-width:820px;margin:auto}.sm-chat-messages{display:flex;flex-direction:column;gap:10px;margin:18px 0;padding:18px;background:#f7f3fb;border-radius:18px;min-height:260px}.sm-msg{max-width:78%;padding:10px 13px;border-radius:16px;background:#fff;border:1px solid var(--sm-line)}.sm-msg.mine{align-self:flex-start;background:#efe6ff;border-color:#d8c2ff}.sm-msg.theirs{align-self:flex-end}.sm-msg p{margin:0 0 4px}.sm-msg small{color:var(--sm-muted)}.sm-chat-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.sm-chat-form textarea{min-height:70px}@media(max-width:600px){.sm-msg{max-width:92%}.sm-chat-form{grid-template-columns:1fr}}.sm-offer-box{margin:14px 0;background:#fff;border:1px solid var(--sm-line);border-radius:16px;padding:12px}.sm-offer-box summary{cursor:pointer;font-weight:900;color:var(--sm-purple)}.sm-offer-form{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:12px}.sm-offer-form .full{grid-column:1/-1}.sm-offer-inline{margin:8px 0;padding:9px;border-radius:10px;background:#faf8ff}.sm-offer-inline form{display:flex;gap:6px;margin-top:7px}.sm-offer-inline .sm-btn{width:auto;margin:0;padding:7px 12px}@media(max-width:600px){.sm-offer-form{grid-template-columns:1fr}.sm-offer-form .full{grid-column:auto}}.sm-reputation{display:inline-flex;padding:6px 10px;border-radius:999px;background:#fff3c4;color:#705500;font-weight:900;font-size:13px;margin-bottom:6px}.sm-demand-strip{padding:38px 0;background:#f8f5fb}.sm-demand-title{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:15px}.sm-demand-title h2{margin:4px 0 0;font-size:30px}.sm-demand-title>a{font-weight:800;color:var(--sm-purple)}.sm-demand-scroll{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.sm-demand-chip{display:block;background:#fff;border:1px solid var(--sm-line);border-radius:16px;padding:14px;color:inherit;box-shadow:var(--sm-shadow)}.sm-demand-chip b,.sm-demand-chip span{display:block}.sm-demand-chip span{margin-top:5px;font-size:13px;color:var(--sm-muted)}@media(max-width:760px){.sm-demand-scroll{display:flex;overflow:auto;scroll-snap-type:x mandatory;padding-bottom:5px}.sm-demand-chip{min-width:78%;scroll-snap-align:start}.sm-demand-title{align-items:flex-start}.sm-demand-title h2{font-size:25px}}body.sm-kids-page{background:linear-gradient(180deg,#fff9f1 0,#fff 48%)}.sm-kids-hero{position:relative;overflow:hidden;padding:68px 42px;margin:18px 0 28px;border-radius:32px;background:linear-gradient(135deg,#fff0c7,#f3e7ff 48%,#dcf7ff);text-align:center;border:1px solid #eadff2}.sm-kids-hero:before,.sm-kids-hero:after{content:'✦';position:absolute;font-size:90px;opacity:.12}.sm-kids-hero:before{right:5%;top:5%}.sm-kids-hero:after{left:6%;bottom:0}.sm-kids-badge{display:inline-flex;padding:8px 14px;border-radius:999px;background:#fff;font-weight:900;box-shadow:0 8px 30px #73509b18}.sm-kids-hero h1{font-size:clamp(36px,5vw,62px);line-height:1.02;max-width:850px;margin:18px auto 14px}.sm-kids-hero p{font-size:18px;max-width:720px;margin:0 auto 22px}.sm-kids-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.sm-kids-actions .sm-btn{width:auto}.sm-kids-categories{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 32px}.sm-kids-categories>a{padding:20px;border-radius:20px;background:#fff;border:1px solid var(--sm-line);font-size:28px;box-shadow:var(--sm-shadow);color:inherit}.sm-kids-categories b,.sm-kids-categories span{display:block}.sm-kids-categories b{font-size:17px;margin:8px 0 4px}.sm-kids-categories span{font-size:13px;color:var(--sm-muted)}@media(max-width:760px){.sm-kids-hero{padding:45px 18px;border-radius:24px}.sm-kids-categories{grid-template-columns:1fr 1fr}}.sm-home-kids{max-width:1180px;margin:24px auto;padding:0 18px}.sm-home-kids>a{display:flex;align-items:center;gap:16px;padding:18px 22px;border-radius:20px;background:linear-gradient(100deg,#fff6d9,#f3eaff,#e8faff);border:1px solid #e6d9ef;color:inherit;box-shadow:0 10px 34px #40205b10}.sm-home-kids>a>span{font-size:36px}.sm-home-kids div{flex:1}.sm-home-kids b,.sm-home-kids small{display:block}.sm-home-kids b{font-size:20px}.sm-home-kids small{margin-top:3px;color:var(--sm-muted)}.sm-home-kids strong{color:var(--sm-purple)}@media(max-width:600px){.sm-home-kids>a{align-items:flex-start;flex-wrap:wrap}.sm-home-kids strong{width:100%;padding-right:52px}}.about-drawer .about-explainer{margin:18px 0;padding:16px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}.about-drawer .about-explainer h3{margin:12px 0 6px;color:#d8b4fe;font-size:17px}.about-drawer .about-explainer h3:first-child{margin-top:0}.about-drawer .about-explainer p{margin:0 0 12px}.about-drawer h2 small{font-size:16px;font-weight:700;color:#d8b4fe}.about-drawer .about-map{margin:20px 0}.about-drawer .about-map h3{margin:0 0 10px}.about-drawer .about-map>a{display:block;padding:12px 13px;margin:7px 0;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);color:#fff;text-decoration:none}.about-drawer .about-map>a:hover{background:rgba(139,92,246,.18);border-color:#8b5cf6}.about-drawer .about-map b,.about-drawer .about-map span{display:block}.about-drawer .about-map span{margin-top:3px;font-size:12px;color:#d8cce7}
@media(max-width:760px){body:not(.home) .woocommerce{padding-inline:12px}.woocommerce .woocommerce-MyAccount-navigation,.woocommerce .woocommerce-MyAccount-content{padding:14px}}
