:root{--ink:#172238;--muted:#687386;--green:#176b5b;--mint:#eaf6f2;--orange:#f2a43a;--cream:#fbfaf6;--line:#dfe5e3;--red:#b42318;font-family:Inter,system-ui,sans-serif;color:var(--ink);background:var(--cream)}*{box-sizing:border-box}body{margin:0}.site-header{min-height:92px;display:flex;align-items:center;justify-content:space-between;padding:6px max(24px,calc((100vw - 1180px)/2));background:#fffc;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:9;backdrop-filter:blur(10px)}.brand{display:flex;align-items:center;gap:18px;color:var(--ink);font-weight:850;text-decoration:none}.brand-logos{display:flex;align-items:center;gap:7px}.brand-logos img{height:76px;max-width:90px;object-fit:contain}.header-link,.back{color:var(--green);font-weight:800;text-decoration:none}.container{width:min(1180px,calc(100% - 32px));margin:auto;padding:42px 0 80px}footer{text-align:center;padding:25px;color:var(--muted);border-top:1px solid var(--line);background:#fff}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(38px,6vw,64px);line-height:1;letter-spacing:-.045em}.hero{padding:clamp(35px,7vw,75px);border-radius:28px;background:linear-gradient(125deg,#103f38,#176b5b 60%,#278b73);color:#fff}.hero p{max-width:630px;color:#d8eee8;font-size:18px}.eyebrow{display:block;color:var(--orange);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.12em;margin-bottom:9px}.section-title,.admin-title{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:46px 0 18px}.section-title h2,.admin-title h1{font-size:clamp(28px,4vw,42px);margin:0}.admin-title p{color:var(--muted);margin:8px 0 0}.schedule-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.schedule-card,.card,.day,.booking-panel,.calendar-day{background:#fff;border:1px solid var(--line);border-radius:18px}.schedule-card{position:relative;overflow:hidden;padding:24px}.card-accent{position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--service-color)}.schedule-card h3{font-size:23px;margin:13px 0 8px}.schedule-card p{color:var(--muted)}.pill{display:inline-flex;padding:6px 10px;border-radius:999px;background:var(--mint);color:var(--green);font-size:11px;font-weight:900;text-transform:uppercase}.button{display:inline-flex;justify-content:center;border:0;border-radius:11px;background:var(--green);color:#fff;padding:13px 17px;text-decoration:none;font:inherit;font-weight:850;cursor:pointer}.button.secondary{background:#fff;color:var(--green);border:1px solid var(--line)}.location{font-weight:700;color:var(--green)!important}.empty{text-align:center;padding:60px 20px;margin-top:35px;background:#fff;border:1px dashed #bac8c3;border-radius:20px}.intro{margin:25px 0 35px;max-width:780px}.intro h1{margin:12px 0}.booking-layout{display:grid;grid-template-columns:1.5fr .75fr;gap:26px;align-items:start}.step{display:flex;align-items:center;gap:12px;margin-bottom:16px}.step b{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--green);color:#fff}.step small{color:var(--muted);text-transform:uppercase}.step h2{margin:2px 0}.days{display:grid;gap:16px}.day{padding:20px}.day h3{border-bottom:1px solid var(--line);padding-bottom:13px}.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.slot{border:2px solid transparent;border-radius:11px;background:#f2f6f5;padding:12px;text-align:left;cursor:pointer}.slot strong,.slot span{display:block}.slot span{font-size:11px;color:var(--green);margin-top:4px}.slot.selected{border-color:var(--green);background:var(--mint)}.slot.full{opacity:.5}.booking-panel{position:sticky;top:110px;padding:22px}.summary{padding:12px;background:var(--mint);color:var(--green);font-weight:800;border-radius:10px;margin-bottom:18px}label{display:block;font-size:13px;font-weight:750;margin-bottom:14px}input,textarea,select{display:block;width:100%;margin-top:7px;padding:12px;border:1px solid #cad5d1;border-radius:9px;font:inherit}.check{display:flex;gap:9px;font-weight:500}.check input{width:18px;margin:2px 0}.wide{width:100%}.alert{padding:15px;border-radius:11px;margin-bottom:20px}.alert-success{background:#def5ea;color:#145a46}.alert-warning{background:#fff1cc;color:#7a4f00}.alert-error{background:#fee9e7;color:#8d2018}.form-card{max-width:800px;padding:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.service-maker{padding:18px 22px;margin-bottom:30px}.service-maker summary{font-weight:850;cursor:pointer}.service-maker form{padding-top:20px}.admin-list{display:grid;gap:9px}.admin-list>a{display:grid;grid-template-columns:12px 1fr auto 25px;align-items:center;gap:15px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:17px;color:var(--ink);text-decoration:none}.admin-list span:nth-child(2){display:flex;flex-direction:column}.admin-list small{color:var(--muted);margin-top:4px}.dot{width:11px;height:11px;border-radius:50%;background:#89938f}.actions{display:flex;gap:9px;flex-wrap:wrap}.actions form{margin:0}.calendar{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:18px}.calendar-day{padding:17px;background:#e9efed}.calendar-day h2{font-size:18px}.admin-slot{background:#fff;border-radius:12px;margin-top:10px;overflow:hidden}.slot-head{display:flex;justify-content:space-between;padding:12px;border-bottom:1px solid var(--line)}.appointment{display:flex;justify-content:space-between;gap:10px;padding:11px;border-bottom:1px solid var(--line)}.appointment>div{display:flex;flex-direction:column;gap:2px}.appointment span,.appointment small{font-size:11px;color:var(--muted)}.appointment a{color:var(--green);font-size:12px}.muted-row{padding:11px;margin:0;color:var(--muted);font-size:12px}.manage{display:flex;justify-content:space-between;align-items:center;padding:20px;margin-top:25px}.manage p{margin:4px 0;color:var(--muted)}.danger{border:1px solid #efb9b4;background:#fff5f4;color:var(--red);border-radius:10px;padding:12px;font-weight:850;cursor:pointer}.cancel-zone{margin-top:18px}.archives{margin-top:35px}.archives summary{font-weight:850;margin-bottom:12px}
.admin-nav{display:flex;align-items:center;gap:18px}.service-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.service-edit-card{padding:22px}.service-edit-card form{margin:0}.service-delete{margin-top:14px!important;padding-top:14px;border-top:1px solid var(--line)}.service-count{display:inline-flex;padding:5px 9px;border-radius:999px;background:var(--mint);color:var(--green);font-size:11px;font-weight:850}.danger:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:900px){.booking-layout{grid-template-columns:1fr}.booking-panel{position:static}.slots{grid-template-columns:repeat(2,1fr)}.admin-title,.manage{align-items:flex-start;flex-direction:column}.calendar{grid-template-columns:1fr}}
@media(max-width:600px){.site-header{min-height:72px;padding:5px 10px}.brand{gap:0}.brand-logos img{height:58px;max-width:67px}.brand-label{display:none}.header-link{font-size:12px}.container{width:calc(100% - 22px);padding-top:24px}.hero{padding:34px 24px;border-radius:20px}.slots,.form-grid{grid-template-columns:1fr}.form-card{padding:20px}.admin-list>a{grid-template-columns:10px 1fr auto}.admin-list i{display:none}}

/* Logo officiel commun aux pages familles et administration */
.brand-logos .main-logo{height:82px;width:220px;max-width:28vw;object-fit:contain}.site-footer{display:flex;flex-direction:column;align-items:center;gap:4px}.site-footer img{width:230px;max-width:75vw;height:auto}.site-footer p{margin:0}@media(max-width:600px){.brand-logos .main-logo{height:58px;width:155px;max-width:58vw}}

/* Éditeur de plusieurs dates et périodes horaires */
.schedule-days-editor{margin:24px 0;padding:20px;border:1px solid var(--line);border-radius:16px;background:#f7faf9}.schedule-days-title{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:15px}.schedule-days-title div{display:flex;flex-direction:column}.schedule-days-title small{margin-top:4px;color:var(--muted)}#schedule-days{display:grid;gap:12px}.schedule-day-row{position:relative;display:grid;grid-template-columns:minmax(180px,.65fr) 1.35fr auto;gap:15px;align-items:start;padding:17px;background:#fff;border:1px solid var(--line);border-radius:13px}.schedule-day-row label{margin:0}.remove-schedule-day{width:38px;height:38px;border:1px solid #efb9b4;border-radius:50%;background:#fff5f4;color:var(--red);font-size:24px;line-height:1;cursor:pointer}@media(max-width:700px){.schedule-days-title{flex-direction:column}.schedule-day-row{grid-template-columns:1fr}.remove-schedule-day{position:absolute;right:10px;top:10px}.schedule-day-row label:first-child{padding-right:45px}}
