*{box-sizing:border-box}body{margin:0;background:#faf7f5;color:#342b36;font:16px system-ui,sans-serif}header{justify-content:space-between;align-items:center;padding:22px max(24px,calc((100vw - 950px)/2));background:white;border-bottom:1px solid #e8dfe7}header,nav{display:flex}nav{gap:18px}a{color:#704f79;text-decoration:none}main{max-width:950px;margin:50px auto;padding:0 24px;min-height:60vh}h1{font-size:42px;font-weight:400}h1,h2{font-family:Georgia,serif}.card{background:white;border:1px solid #eadfe7;border-radius:16px;padding:24px;margin:16px 0;box-shadow:0 4px 16px #3a253608}.button,button{background:#73547d;color:white;padding:12px 18px;border:0;border-radius:9px;cursor:pointer;font-size:15px;display:inline-block}button:disabled{opacity:.5;cursor:default}label{display:block;margin:16px 0 6px}input,select,textarea{width:100%;padding:12px;border:1px solid #d8cbd7;border-radius:8px;font:inherit}input[type=checkbox]{width:auto}textarea{min-height:100px}.muted,footer{color:#756e77}footer{text-align:center;padding:28px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:16px;gap:16px}fieldset{border:1px solid #d8cbd7;border-radius:12px;margin-top:24px;padding:16px;min-width:0}legend{padding:0 8px}.month-nav{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:6px;gap:6px;text-align:center}.calendar button{padding:12px 0;background:#f0e9f2;color:#342b36}.calendar button[aria-pressed=true],.slot-grid button[aria-pressed=true]{background:#342b36;color:white;outline:3px solid #c5accd}.slot-grid{display:flex;flex-wrap:wrap;gap:10px}.hour-row{display:grid;grid-template-columns:2fr 1fr 1fr auto;grid-gap:10px;gap:10px;align-items:end}.hour-row label{margin:8px 0}.hour-row button{margin-bottom:8px}.appointment{border-top:1px solid #eadfe7;margin-top:20px;padding-top:12px;overflow-wrap:anywhere}li{margin:12px 0}:focus-visible{outline:3px solid #342b36;outline-offset:3px}@media(max-width:600px){header{flex-direction:column;gap:16px}main{padding:0 12px;margin:24px auto}.card{padding:16px}h1{font-size:34px}.hour-row{grid-template-columns:1fr 1fr}.calendar{gap:3px}.calendar button{min-height:44px}.month-nav button{padding:10px}}.public-slots legend{font-weight:700}.slot-date{font-weight:600;text-transform:capitalize}.public-slot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));grid-gap:12px;gap:12px}.public-slot-grid .public-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:76px;padding:12px 8px;background:#f6f0f7;color:#49344f;border:2px solid #d8cbd7;outline-offset:2px}.public-slot strong{font-size:21px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.public-slot small,.public-slot span{font-size:13px}.public-slot-grid .public-slot[aria-pressed=true]{background:#50365b;color:#fff;border-color:#50365b}.slot-selection,.slots-empty{padding:14px;background:#f6f0f7;border-radius:8px}.slot-selection{border-left:4px solid #73547d}@media(max-width:450px){.public-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.public-slot-grid .public-slot:disabled{background:#f0f0f2;color:#62626b;border-color:#dedee3;opacity:1;cursor:not-allowed;outline:none}.public-slot-grid .public-slot:disabled strong{color:#777781}.consultation-optional{margin:24px 0;padding:16px;border:1px solid #d8cbd7;border-radius:12px}.consultation-optional summary{cursor:pointer;font-weight:600}.consultation-optional[open] summary{margin-bottom:12px}.catalogue-list{display:grid;grid-gap:16px;gap:16px;margin-top:16px}.catalogue-item{border:1px solid #ded3e1;border-radius:12px;padding:16px}.catalogue-item h3{margin-top:0}.catalogue-actions{display:flex;flex-wrap:wrap;gap:8px}.catalogue-item p{overflow-wrap:anywhere}#catalogue-editor{scroll-margin-top:20px}@media(max-width:600px){.catalogue-actions{flex-direction:column}.catalogue-actions button{min-height:44px}}.service-description{background:#f8f4fb;border:1px solid #e5d8ed;border-radius:16px;padding:clamp(16px,3vw,28px);margin:16px 0;min-width:0;overflow-wrap:anywhere}.service-description h3{margin-top:0;color:#654378}.service-description-text{line-height:1.75;white-space:pre-line}.service-description-facts{display:flex;flex-wrap:wrap;gap:16px 32px;margin-bottom:0}.service-description-facts div{flex:1 1 140px}.service-description-facts dt{font-size:.9rem;color:#65586d}.service-description-facts dd{margin:6px 0 0;font-weight:600}.service-preview{margin:16px 0}.service-preview summary{cursor:pointer;color:#654378;padding:10px 0}