.appointment-detail{font-family:var(--font-sans)}.appointment-detail-panel{background:var(--card);border:1px solid var(--border);border-radius:16px;min-width:0;padding:24px}.appointment-detail-panel h2{font-family:var(--font-sans);letter-spacing:-.025em;margin-bottom:16px;font-size:20px;font-weight:650}.appointment-detail-panel h3{margin:12px 0;font-weight:600}.appointment-detail-panel p{margin:10px 0;font-size:14px;line-height:1.6}.appointment-detail a:not(.appointment-find):not([class*=bg-primary]){color:var(--primary);text-underline-offset:3px;text-decoration:underline}.appointment-detail-hero{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:28px;margin-bottom:20px;display:grid}.appointment-detail-hero>img,.appointment-detail-placeholder{object-fit:cover;border-radius:var(--media-radius);width:100%;height:280px}.appointment-detail-placeholder{background:var(--secondary);place-items:center;display:grid}.appointment-detail-hero p{align-items:center;gap:8px;display:flex}.appointment-detail-hero small{color:var(--muted-foreground);margin-bottom:16px;display:block}.appointment-detail-columns{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.appointment-detail-side{gap:20px;display:grid}.appointment-detail-price{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.appointment-detail-price strong{font-size:32px}.appointment-payment-data{background:var(--muted);border:1px solid var(--border);border-radius:12px;margin:20px 0;padding:16px;font-size:14px}.appointment-payment-data>div{flex-wrap:wrap;gap:12px;margin:10px 0;display:flex}.appointment-payment-data dt{color:var(--muted-foreground)}.appointment-iban{container-type:inline-size}.appointment-iban dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;width:100%;font-size:13px}.appointment-detail-contact{align-items:center;gap:14px;display:flex}.appointment-detail-contact img{object-fit:cover;border-radius:50%;width:56px;height:56px}.appointment-find.appointment-message{background:var(--primary);width:100%;color:var(--primary-foreground);margin-top:14px}.appointment-detail-actions button.text-destructive{background:var(--destructive);color:var(--destructive-foreground);border-color:var(--destructive)}.appointment-detail-actions button.text-destructive:hover{background:color-mix(in srgb, var(--destructive) 88%, black)}.appointment-detail-link{border:1px solid var(--primary);width:220px;min-height:44px;color:var(--primary);text-align:center;border-radius:12px;padding:11px 16px;font-size:14px;font-weight:600;position:absolute;top:135px;right:16px}@media (width<=1100px){.appointment-detail-link{width:190px}}@media (width<=767px){.appointment-detail-hero,.appointment-detail-columns{grid-template-columns:minmax(0,1fr)}.appointment-detail-panel{padding:18px}.appointment-detail-hero>img{height:230px}.appointment-detail-link{width:100%;margin-top:14px;display:block;position:static}}.appointment-detail-hero .appointment-detail-title{font-family:var(--font-sans);letter-spacing:-.025em;font-size:28px;font-weight:650;line-height:1.2}.appointment-detail-hero .appointment-detail-with{color:var(--muted-foreground);margin-top:6px}.appointment-detail-panel p.appointment-detail-okline{background:color-mix(in srgb, var(--primary) 8%, transparent);border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px;padding:12px 14px;font-size:15px;display:flex}.appointment-detail-okline svg{color:var(--primary);flex-shrink:0}.appointment-detail-okline span{color:var(--muted-foreground)}@media (width<=767px){.appointment-detail-hero{grid-template-columns:56px minmax(0,1fr);align-items:start;gap:14px}.appointment-detail-hero>img,.appointment-detail-hero>.appointment-detail-placeholder{border-radius:50%;width:56px;height:56px}.appointment-detail-hero .appointment-detail-title{font-size:22px}}.appointment-detail-where{align-items:flex-start;gap:8px;margin:10px 0;font-size:14px;line-height:1.5;display:flex}.appointment-detail-where>svg{flex-shrink:0;margin-top:2px}.appointment-detail-where>div{gap:2px;min-width:0;display:grid}.appointment-detail-where a{width:fit-content;font-weight:600}.appointment-detail-action-row{flex-wrap:wrap;gap:8px;display:flex}@media (width<=639px){.appointment-detail-action-row>*{flex:100%;justify-content:center}}.appointment-detail-secondary{border-top:1px solid var(--border);margin-top:16px;padding-top:12px}.appointment-detail-actions details{margin-bottom:14px}.appointments-page{font-family:var(--font-sans);padding:28px 0}.appointments-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.appointments-heading h1{letter-spacing:-.025em;font-size:36px;font-weight:650;line-height:1.2}.appointments-heading p{color:var(--muted-foreground);margin-top:8px}.appointment-find{border:1px solid var(--primary);min-height:44px;color:var(--primary);border-radius:9999px;justify-content:center;align-items:center;padding:10px 16px;font-size:14px;font-weight:600;display:inline-flex}.appointment-card{border:1px solid var(--border);background:var(--card);border-radius:16px;padding:16px;position:relative}.appointment-overview{grid-template-columns:150px minmax(0,1fr) 220px;align-items:center;gap:24px;display:grid}.appointment-photo{object-fit:cover;border-radius:10px;width:150px;height:160px}.appointment-photo-empty{background:var(--secondary);color:var(--primary);place-items:center;display:grid}.appointment-info h2{font-family:var(--font-sans);letter-spacing:-.02em;font-size:20px;font-weight:650;line-height:1.25}.appointment-info p{align-items:start;gap:8px;margin-top:8px;font-size:14px;display:flex}.appointment-info svg{color:var(--primary);flex-shrink:0;margin-top:2px}.appointment-info .appointment-teacher{color:var(--muted-foreground);margin-bottom:16px}.appointment-status{flex-direction:column;align-items:start;gap:8px;padding-bottom:54px;display:flex}.appointment-hint{color:var(--warning);font-size:12.5px;font-weight:500}.appointment-manage>summary{cursor:pointer;border:1px solid var(--primary);min-height:44px;color:var(--primary);text-align:center;border-radius:9999px;width:220px;padding:11px 16px;font-size:14px;font-weight:600;list-style:none;position:absolute;top:135px;right:16px}.appointment-manage>summary::-webkit-details-marker{display:none}.appointment-manage>summary:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.appointment-controls{border-top:1px solid var(--border);gap:16px;margin-top:18px;padding-top:18px;display:grid}.appointments-empty{padding-block:24px}@media (width<=1100px){.appointment-overview{grid-template-columns:110px minmax(0,1fr) 190px;gap:16px}.appointment-photo{width:110px}.appointment-manage>summary{width:190px}}@media (width<=767px){.appointments-page{padding:20px 0}.appointments-heading{flex-wrap:wrap;gap:14px}.appointments-heading h1{font-size:28px}.appointments-heading p{font-size:14px}.appointment-overview{grid-template-columns:96px minmax(0,1fr);gap:12px}.appointment-photo{width:96px;height:140px}.appointment-info h2{font-size:18px}.appointment-info p{font-size:13px}.appointment-status{border-top:1px solid var(--border);flex-flow:wrap;grid-column:1/-1;align-items:center;padding:12px 0 0}.appointment-manage>summary{width:100%;margin-top:14px;position:static}.appointment-status strong,.appointment-status .appointment-hint{width:100%}}.appointment-rate,.appointment-info p.appointment-rated{white-space:nowrap;color:var(--muted-foreground);flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;font-size:14px;display:flex}.appointment-info .appointment-rate svg,.appointment-info .appointment-rated svg{margin-top:0}.appointment-info .appointment-rate-star svg{color:var(--border);transition:color .12s,fill .12s}.appointment-rate>span:last-child:hover .appointment-rate-star svg,.appointment-info .appointment-rate-star:focus-visible svg{color:#fbbf24;fill:#fbbf24}.appointment-rate>span:last-child:hover .appointment-rate-star:hover~.appointment-rate-star svg{color:var(--border);fill:none}.appointment-rate-star{border-radius:8px;place-items:center;min-width:32px;min-height:32px;display:inline-grid}.appointment-rate-star:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.studio-discovery{background:var(--background);color:var(--foreground);padding-bottom:64px}.studio-discovery-wrap{max-width:1200px;margin:0 auto;padding:0 32px}.studio-discovery-hero{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);align-items:center;gap:32px;padding-top:32px;display:grid}.studio-discovery-hero h1{font:650 clamp(36px, 3.6vw, 56px) / 1.05 var(--font-sans);letter-spacing:-1.5px}.studio-discovery-hero p{max-width:450px;color:var(--muted-foreground);margin-top:16px;font-size:clamp(18px,1.6vw,22px);line-height:1.4}.studio-discovery-hero>img{aspect-ratio:3/2;object-fit:cover;border-radius:var(--media-radius,24px);width:100%;max-height:420px}.studio-discovery-search{margin-top:24px}.studio-discovery-toolbar{align-items:center;gap:8px;margin-top:16px;display:flex}.studio-discovery-results-heading{justify-content:space-between;align-items:center;gap:12px;margin:24px 0 12px;display:flex}.studio-discovery-results-heading p{font-size:14px;font-weight:600}.studio-discovery-sort{color:var(--muted-foreground);align-items:center;gap:8px;font-size:14px;display:inline-flex}.studio-discovery-sort select{min-height:44px;color:var(--foreground);border-radius:9999px;padding-left:16px;font-weight:600}.studio-discovery-filter fieldset{min-width:0}.studio-discovery-filter legend{margin-bottom:12px;font-weight:600}.studio-discovery button:focus-visible,.studio-discovery a:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media (width<=800px){.studio-discovery-wrap{padding:0 20px}.studio-discovery-hero{grid-template-columns:1fr;gap:16px;padding-top:20px}.studio-discovery-hero h1{letter-spacing:-1px;font-size:34px}.studio-discovery-hero p{margin-top:8px;font-size:18px}.studio-discovery-hero>img{aspect-ratio:16/9;max-height:240px}}@media (width<=640px){.studio-discovery-wrap{padding:0 16px}.studio-discovery-toolbar{flex-wrap:wrap}.studio-discovery-toolbar>.discovery-chip-scroller{flex-basis:calc(100% + 32px)}}.studio-preview-notice{color:#594716;background:#fff3cd;justify-content:space-between;align-items:center;gap:16px;padding:12px 32px;font-size:14px;line-height:21px;display:flex}.studio-preview-notice a{flex-shrink:0;align-items:center;min-height:44px;text-decoration:underline;display:flex}@media (width<=600px){.studio-preview-notice{flex-direction:column;align-items:flex-start;gap:4px;padding:12px 16px}}@media (width>=1024px){.studio-discovery-toolbar,.studio-discovery-sort{display:none}}.member-dashboard{max-width:1240px;margin-inline:auto}.member-dashboard :is(h1,h2,h3){font-family:var(--font-sans)}.member-dashboard h2{letter-spacing:-.025em;font-size:19px;font-weight:600}.member-dashboard .rounded-3xl{border-radius:16px}.member-dashboard :is(button,a){min-height:44px}.member-dashboard .dashboard-greeting{padding-block:8px}.dashboard-wellbeing{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;display:grid}.dashboard-wellbeing:has(>:only-child){grid-template-columns:minmax(0,1fr)}.member-dashboard .dashboard-extras>:not(summary){margin-top:20px}.dashboard-next-booking>div{align-items:center}.dashboard-next-booking .rounded-full:has(img){border-radius:12px}.member-dashboard .dashboard-discovery summary+div{display:none}.member-dashboard section.bg-gradient-to-br{border-color:var(--border);background-image:none;background-color:var(--card)}.dashboard-discovery>[data-testid=dashboard-recommendations]{order:-1}@media (width<=767px){.dashboard-wellbeing{grid-template-columns:minmax(0,1fr)}.member-dashboard .p-6{padding:18px}.member-dashboard h2{font-size:17px}.member-dashboard .dashboard-greeting h1{font-size:26px}.member-dashboard .dashboard-greeting>div{align-items:flex-start}.member-dashboard .dashboard-greeting>div>.relative{margin-top:22px}.member-dashboard .dashboard-empty-booking>a{margin-left:0;margin-right:12px}}.dashboard-more>summary::-webkit-details-marker{display:none}.dashboard-more-chevron{transition:transform .2s}.dashboard-more[open] .dashboard-more-chevron{transform:rotate(180deg)}@media (prefers-reduced-motion:reduce){.dashboard-more-chevron{transition:none}}.calendar-page{min-width:0}.calendar-page :is(h1,h2,h3){font-family:var(--font-sans)}.calendar-page h1{letter-spacing:-.03em;font-size:clamp(1.7rem,4vw,2rem);font-weight:650}.calendar-surface{border-radius:16px}.calendar-range-title{overflow-wrap:anywhere}.calendar-page [data-calendar-booking]:focus-visible{outline:2px solid var(--primary);outline-offset:2px;z-index:40!important}.calendar-secondary{border-bottom:1px solid var(--border)}.calendar-secondary>summary{cursor:pointer;min-height:44px;color:var(--primary);padding:12px 20px;font-size:12px;font-weight:600}.calendar-more-menu{width:320px;max-width:calc(100vw - 24px);max-height:var(--radix-dropdown-menu-content-available-height);background:var(--card);color:var(--foreground);border-radius:14px;padding:6px;overflow-y:auto;box-shadow:0 12px 34px #173d3020}.calendar-more-menu [role=menuitem]{border-radius:8px;gap:12px;min-height:48px;padding:10px 12px;font-size:14px}.calendar-more-menu [role=menuitem] svg{stroke-width:1.75px;width:18px;height:18px;color:var(--primary);flex-shrink:0}.calendar-more-menu [role=menuitem].text-destructive svg{color:var(--destructive)}.calendar-more-menu [data-highlighted]{background:var(--secondary)}.practitioner-profile{--background:#fff;--card:#fff}.practitioner-profile .text-display{font-family:var(--font-sans);font-style:normal}.practitioner-profile h2{letter-spacing:-.035em;font-weight:750}.practitioner-profile .text-eyebrow{letter-spacing:.08em;font-size:12px}.practitioner-profile a:focus-visible,.practitioner-profile button:focus-visible,.practitioner-profile select:focus-visible,.practitioner-profile summary:focus-visible{outline:2px solid var(--primary);outline-offset:4px}.profile-reference-breadcrumb{color:#597490;flex-wrap:wrap;align-items:center;gap:.5rem;padding-top:1rem;font-size:.8rem;display:flex}.profile-reference-breadcrumb a:hover{color:#0d6598;text-decoration:underline}.profile-reference-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:3.5rem 3rem;display:grid}.profile-reference-grid h2{margin-bottom:.6rem;font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.12}.profile-reference-copy{color:#40515b;font-size:.95rem;line-height:1.55}.profile-reference-list li{border-bottom:1px solid #d9e3e7;justify-content:space-between;gap:1rem;padding:.55rem 0;font-size:.9rem;display:flex}.profile-reference-list li span:last-child{flex-shrink:0}.profile-reference-rating{color:var(--foreground);letter-spacing:normal;align-items:center;gap:.25rem;font-size:.9rem;font-weight:650;display:inline-flex}.profile-reference-reviews{margin-top:.75rem}.profile-reference-review{border-top:1px solid #d9e3e7;padding:1.1rem 0;font-size:.95rem;line-height:1.55}.profile-reference-review:first-child{border-top:0}.profile-reference-link,.profile-reference-disclosure summary{color:#0d6598;text-underline-offset:3px;cursor:pointer;text-decoration:underline}.profile-reference-faq details{border-bottom:1px solid #d9e3e7}.profile-reference-faq summary{color:#075782;cursor:pointer;justify-content:space-between;align-items:center;gap:.75rem;min-height:44px;font-size:.9rem;list-style:none;display:flex}.profile-reference-faq summary::-webkit-details-marker{display:none}.profile-reference-faq details[open] summary span{transform:rotate(45deg)}.profile-reference-faq p{color:#40515b;padding:0 1rem 1rem 0;font-size:.9rem;line-height:1.5}.profile-reference-more{border-top:1px solid #d9e3e7;padding-top:1rem}.profile-reference-more>summary{color:#0d6598;cursor:pointer;min-height:44px;font-weight:650}.profile-reference-more h3{margin-bottom:.75rem;font-size:1.2rem;font-weight:750}@media (width<=767px){.profile-reference-grid{grid-template-columns:1fr;gap:2rem}}.profile-studio-line{color:var(--muted-foreground);gap:8px;margin-top:12px;font-size:.95rem;line-height:1.5;display:flex}.profile-studio-line svg{margin-top:3px}.profile-studio-line a{color:var(--primary);font-weight:600;text-decoration:none}.profile-studio-line a:hover{text-underline-offset:3px;text-decoration:underline}.profile-pass{border-radius:var(--card-radius);background:#fff;border:1px solid #d9e3e7}.profile-pass-save{color:#12646a;background:#e6f2f0;border-radius:999px;align-items:center;padding:2px 10px;font-size:12.5px;font-weight:650;display:inline-flex}.profile-pass-summary{cursor:pointer;align-items:center;gap:24px;padding:22px;list-style:none;display:flex}.profile-pass-summary::-webkit-details-marker{display:none}.profile-pass-summary>div:first-child{flex:1}.profile-pass-price{text-align:right}.profile-pass-view{color:#12646a;border:1px solid #c9dadd;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 18px;font-size:14px;font-weight:650;display:inline-flex}.profile-pass[open] .profile-pass-view{background:#f4faf9}.profile-pass-content{border-top:1px solid #d9e3e7;padding:0 22px 22px}.profile-approach-panels{border-radius:12px;grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.profile-approach-story{color:#fff;background:#123c41;padding:40px}.profile-approach-story .profile-approach-eyebrow{text-transform:uppercase;letter-spacing:.1em;color:#c5dedf;margin-bottom:22px;font-size:12px}.profile-approach-story h2{margin-bottom:20px;font-size:clamp(28px,3vw,40px);line-height:1.12}.profile-approach-story>p:last-child{color:#e0eded;white-space:pre-line;font-size:15px;line-height:1.7}.profile-approach-principles{background:#f4faf9;align-content:center;padding:12px 32px;display:grid}.profile-approach-principles li{gap:18px;padding:24px 0;display:flex}.profile-approach-principles li+li{border-top:1px solid #d4e4e3}.profile-step-number{color:#12646a;border:1px solid #bbd3d2;border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:12px;font-weight:650;display:inline-grid}.profile-approach h3{margin-bottom:6px;font-size:17px;font-weight:700}.profile-approach-principles p,.profile-journey p{color:#405b60;font-size:14px;line-height:1.6}.profile-journey{grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;margin-top:28px;display:grid}.profile-journey .profile-step-number{margin-bottom:12px}@media (width<=767px){.profile-approach-panels{grid-template-columns:1fr}.profile-approach-story{padding:28px 24px}.profile-approach-principles{padding:0 24px}.profile-journey{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}.profile-pass-summary{flex-wrap:wrap;gap:16px;padding:18px}.profile-pass-summary>div:first-child{flex-basis:100%}.profile-pass-price{text-align:left;flex:1}.profile-pass-content{padding:0 18px 18px}}.profile-new-pill{color:#125a60;background:#e6f2f0;border-radius:999px;align-items:center;gap:6px;margin-top:10px;padding:5px 12px;font-size:13px;font-weight:650;display:inline-flex}@media (width>=768px){.profile-reviews-pair>.profile-reference-review{border-top:0}}.member-account-details{flex-direction:column;gap:16px;max-width:1040px;margin:20px auto;display:flex}.member-account-details h2{font-family:var(--font-sans);margin-bottom:6px;font-size:18px;font-weight:600;line-height:1.4}.member-account-details>section{box-shadow:none;border-radius:16px;padding:20px}.member-details-card{border:1px solid var(--border);background:var(--card)}.member-details-photo{align-items:center;gap:16px;display:flex}.member-details-photo-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.member-details-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:16px;display:grid}.member-details-fields .input{border-radius:8px;width:100%;min-height:44px}.member-details-preference{border-top:1px solid var(--border)}.member-details-preference summary{min-height:44px}.member-details-preference summary:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}.member-account-details [data-testid=member-details-save-status]{max-width:none;margin-bottom:0}@media (width<=1023px){.member-account-details{margin:16px auto;padding-bottom:72px}.member-account-details>section{padding:16px}.member-details-fields{grid-template-columns:1fr;gap:16px}.member-details-photo{flex-wrap:wrap;gap:12px}.member-details-photo-actions{width:100%}.member-details-save{bottom:calc(56px + env(safe-area-inset-bottom));z-index:30;background:var(--background);border-top:1px solid var(--border);padding:8px 16px;position:fixed;left:0;right:0}.member-details-save button{width:100%}}
