*{box-sizing:border-box}body{margin:0;background:#e9edf2;color:#243244;font:16px/1.5 system-ui,-apple-system,sans-serif}header{background:#202a36;border-bottom:4px solid #c65a27;color:#fff;padding:18px max(24px,calc((100vw - 1160px)/2));display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:16px;color:#fff;text-decoration:none}.brand img{width:104px;height:58px;object-fit:contain;background:#fff;border-radius:6px}.brand span{font-size:14px}nav{display:flex;gap:22px;flex-wrap:wrap}nav a{color:#fff;font-size:14px;text-underline-offset:5px}.test-banner{background:#ffeadc;color:#713010;border-bottom:1px solid #d89f78;text-align:center;padding:12px 20px;font-size:14px}.test-banner b{margin-right:12px}main{max-width:1160px;margin:auto;padding:36px 24px}.hero{margin-bottom:30px}.eyebrow{color:#944015;font-size:12px;letter-spacing:1.7px;font-weight:800}h1{font-size:44px;line-height:1.13;letter-spacing:-1.6px;margin:12px 0 18px;color:#202a36}.hero p{max-width:720px;color:#526071;margin:0}h2{font-size:20px;margin:0 0 16px;display:flex;align-items:center;gap:12px;letter-spacing:-.4px}.booking-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px;align-items:start}.card{background:#fff;border:1px solid #b7c3d1;border-radius:14px;padding:24px;margin-bottom:22px;box-shadow:0 5px 18px #172d4712}.card>p{font-size:14px;color:#526071}.step{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#202a36;color:#fff;font-size:16px}.summary{position:sticky;top:20px;border-top:5px solid #bb481b}.summary h2{margin-top:10px}.services{display:grid;gap:10px}.service{display:flex;align-items:center;gap:12px;padding:15px;border:1px solid #aab8c8;border-radius:9px;cursor:pointer}.service:has(input:checked){background:#ffeadc;border-color:#bb481b;box-shadow:inset 3px 0 #bb481b}.service span{flex:1}.service strong,.service small{display:block}.service small{color:#526071;font-size:13px}.service>b{white-space:nowrap;color:#84300e}input[type=checkbox]{accent-color:#bb481b;width:19px;height:19px;flex-shrink:0}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px}label{font-size:14px;font-weight:650}label input:not([type=checkbox]),label select,label textarea{display:block;width:100%;margin-top:7px;border:1px solid #8d9daf;border-radius:7px;min-height:46px;padding:10px 12px;font:inherit;color:#243244;background:#fff}.full{grid-column:1/-1}button{font:700 15px system-ui;cursor:pointer;border:1px solid #bb481b;background:#bb481b;color:#fff;padding:14px 17px;border-radius:8px;min-height:46px}button:hover{background:#963b17}button:disabled{opacity:.55;cursor:default}.secondary{border-color:#8d9daf;background:#fff;color:#26384c}.secondary:hover{background:#edf2f7}.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.slot{background:#fff;color:#27364a;border-color:#9cabbc;font-size:14px;text-align:left}.slot small{display:block;margin-top:6px;font-size:13px;font-weight:500;color:#526071}.slot:hover,.slot[aria-pressed=true]{background:#ffeadc;border:2px solid #bb481b;color:#84300e}.hint{font-size:12px!important;color:#526071;line-height:1.55}.summary-line{border-bottom:1px solid #d1dae4;padding:12px 0;font-size:14px}.summary-line strong{display:block}.total{display:flex;justify-content:space-between;align-items:center;font-weight:800;padding:20px 0}.total b{font-size:27px;color:#943810}.approval{background:#eef3f8;padding:12px;border-left:3px solid #395572}.consent{display:flex;gap:10px;align-items:flex-start;font-size:12px;font-weight:500;margin:18px 0}.summary button{width:100%}.message{border:1px solid #9cabbc;border-radius:8px;background:#eef3f8;padding:14px;margin-top:16px;font-size:14px}.message.error{background:#fbe8e4;border-color:#ca8b80;color:#802e24}.message.success{background:#e0f2e7;border-color:#82ae98;color:#174f34}.request{margin-top:20px}.request-head{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.status{font-size:12px;padding:5px 10px;border:1px solid #d89f78;background:#ffeadc;color:#713010;border-radius:20px}.request dl{display:grid;grid-template-columns:100px 1fr;gap:8px 14px;font-size:14px}.request dt{color:#526071}.request dd{margin:0;overflow-wrap:anywhere}.request .secondary{margin-top:8px}footer{padding:24px;text-align:center;border-top:1px solid #bdc7d1;color:#526071;font-size:12px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #d86a36;outline-offset:3px}[hidden]{display:none!important}@media(max-width:900px){.booking-grid{grid-template-columns:1fr}.summary{position:static}header{flex-direction:column;align-items:flex-start}.brand span{display:none}.slots{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){main{padding:26px 16px}h1{font-size:34px}.card{padding:20px 16px}.fields{grid-template-columns:1fr}.full{grid-column:auto}.slots{grid-template-columns:1fr 1fr}.slot{padding:12px 10px}nav{gap:14px}nav a{font-size:12px}.brand img{width:90px;height:50px}}

.contact-help{padding:14px 16px;border:1px solid #d4936b;border-left:4px solid #bb481b;border-radius:8px;background:#ffeadc;color:#6d3215;font-size:14px}.contact-help a{color:#793211;font-weight:800;text-underline-offset:3px}

/* Disponibilités PG OUEST : colonnes par jour, navigation hebdomadaire. */
.slots{display:block}.slot-calendar{border:1px solid #b8bcc4;border-radius:12px;overflow:hidden;background:#fff;margin-top:20px}.slot-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;background:#282c34;color:#fff}.slot-toolbar div{text-align:center}.slot-toolbar strong{font-size:14px}.slot-toolbar small{display:block;font-size:12px;color:#e0e2e6;margin-top:4px}.week-arrow{background:#fff;color:#ab3d0c;border:0;font-size:29px;line-height:1;padding:5px 12px;min-width:44px}.week-arrow:hover{background:#ffeadc}.week-arrow:disabled{opacity:.35}.slot-scroll{overflow-x:auto;padding:18px 10px;overscroll-behavior-x:contain}.slot-days{display:grid;grid-template-columns:repeat(7,minmax(76px,1fr));min-width:570px;gap:8px}.slot-day h3{text-align:center;text-transform:capitalize;color:#282c34;font-size:13px;margin:0 0 17px;line-height:1.5}.slot-day h3 span{display:block;font-size:13px;font-weight:500;color:#515863;text-transform:none}.day-times{display:grid;gap:10px}.slot-day .slot{display:block;width:100%;min-height:44px;padding:10px 4px;text-align:center;border:1px solid #c9cdd3;border-radius:6px;background:#f3f4f6;color:#282c34;font-weight:700;font-size:14px}.slot-day .slot:hover{background:#fff0e6;border-color:#b94612;color:#92370e}.slot-day .slot[aria-pressed=true]{background:#b94612;color:#fff;border-color:#b94612;box-shadow:0 2px 5px #b9461233}.no-slot{text-align:center;font-size:11px;color:#69717b;line-height:1.5;margin:8px 0}.slot-selection{border-top:1px solid #d4d7dc;padding:12px 14px;margin:0;font-size:13px;color:#282c34;background:#fafafa}.contact-help{font-size:14px;line-height:1.6}.contact-help a{color:#963b17;font-weight:700}@media(max-width:480px){.slot-days{min-width:630px;grid-template-columns:repeat(7,82px)}.slot-toolbar{padding:12px 8px}.slot-toolbar strong{font-size:12px}.slot-scroll{padding:16px 10px}}

.address-suggestions{display:grid;gap:0;margin-top:6px;border:1px solid #b94612;border-radius:7px;background:#fff;box-shadow:0 5px 15px #282c3426;max-height:260px;overflow:auto}.address-suggestions[hidden]{display:none}.address-suggestions button{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #ddd;border-radius:0;background:#fff;color:#282c34;padding:12px;font:500 14px/1.4 system-ui;min-height:44px}.address-suggestions button:hover,.address-suggestions button.active{background:#ffeadc;color:#84300e}.address-suggestion-status{display:block;font-size:12px;color:#515863;font-weight:500;margin-top:5px;line-height:1.4}

.website-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.housing{padding:1rem;background:#f4f6f4;margin-bottom:1rem;border:1px solid #c5d5ca;border-radius:10px}.housing select{display:block;width:100%;margin:.5rem 0}.address-suggestions{position:relative;z-index:5;display:flex;flex-direction:column;gap:0;background:white;border:2px solid #245b3e;border-radius:6px;box-shadow:0 5px 15px #0002}.address-suggestions[hidden],[hidden]{display:none!important}.address-suggestions button{background:white;color:#183f2a;border:0;border-radius:0;text-align:left;font-size:.95rem;padding:.7rem}.address-suggestions button:hover,.address-suggestions button.active{background:#e0efdf}.address-suggestion-status{display:block;color:#365b45}.summary section{border-top:1px solid #b8cabe;margin-top:1rem;padding-top:.7rem}.summary section h3{font-size:1rem}.summary section p{font-size:.9rem;line-height:1.5}
