:root{--bg:#f7f2ea;--card-bg:#ffffff;--text:#2a2218;--muted:#999999;--muted-light:#bbbbbb;--line:#e8ddd0;--primary:#4e5e42;--accent:#b8965a;--soft-green-bg:#f0f5ee;--soft-green-line:#c8ddc0;--error-bg:#fff3f2;--error-line:#efc8c2;--error-text:#933333;--shadow:0 8px 40px rgba(0, 0, 0, 0.08);--font-sans:Inter,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-serif:Georgia,"Times New Roman",serif;--lora:"Lora",serif;--raleway:"Raleway",sans-serif}*{margin:0;padding:0;box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);background:var(--bg);min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:2rem;color:var(--text)}button,input,select,textarea{font:inherit}button{appearance:none;-webkit-appearance:none}.bg-columns{position:fixed;inset:0;z-index:0;display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden}.bg-col{position:relative;height:100vh;overflow:hidden}.bg-col-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.05);animation:bgColumnFade 18s infinite}.bg-col::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(247,242,234,.55),rgba(247,242,234,.72));z-index:2;pointer-events:none}.s1{background-image:url("/images/bg1.jpg");animation-delay:0s}.s2{background-image:url("/images/bg2.jpg");animation-delay:6s}.s3{background-image:url("/images/bg3.jpg");animation-delay:12s}.s4{background-image:url("/images/bg4.jpg");animation-delay:2s}.s5{background-image:url("/images/bg5.jpg");animation-delay:8s}.s6{background-image:url("/images/bg6.jpg");animation-delay:14s}.s7{background-image:url("/images/bg7.jpg");animation-delay:4s}.s8{background-image:url("/images/bg8.jpg");animation-delay:10s}.s9{background-image:url("/images/bg9.jpg");animation-delay:16s}@keyframes bgColumnFade{0%{opacity:0;transform:scale(1.05)}8%{opacity:1}28%{opacity:1;transform:scale(1.1)}36%{opacity:0}100%{opacity:0;transform:scale(1.12)}}#bg-carousel::after{content:"";position:absolute;inset:0;background:rgba(247,242,234,.75);z-index:1}.page{background:#fff;width:100%;max-width:700px;border-radius:4px;overflow:hidden;box-shadow:0 4px 30px rgba(0,0,0,.1);position:relative;z-index:9999999999999}.header{display:flex;align-items:center;justify-content:space-between;padding:2.5rem 3rem 2rem;gap:2rem}.header-left{flex:1}.brand{font-family:var(--raleway);font-size:.7rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#4a7c59}.header-right{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:.9rem}.header-title{font-family:var(--lora);font-size:1.6rem;font-weight:700;color:#2e4a38;line-height:1.2}.header-title em{font-style:italic;color:var(--accent)}.divider{height:2px;background:linear-gradient(90deg,transparent,#6aab7e 30%,#b5883e 70%,transparent);margin:0 3rem}.intro{padding:2rem 3rem 1.5rem;text-align:center;font-family:var(--lora);font-size:1rem;font-style:italic;font-weight:400;color:#555;line-height:1.8;border-bottom:1px solid #f0ebe3}.domaines{padding:2rem 3rem}.domaine{display:flex;gap:1rem;margin-bottom:1.4rem;align-items:flex-start}.domaine:last-child{margin-bottom:0}.domaine-key{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#4a7c59;white-space:nowrap;padding-top:.1rem;min-width:130px}.domaine-val{font-size:.88rem;font-weight:300;color:#555;line-height:1.75}.section-title{font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#4a7c59;margin-bottom:1.5rem;display:flex;align-items:center;gap:.6rem}.section-line{width:24px;height:2px;background:#6aab7e;border-radius:2px;display:inline-block}.accent-strong{font-weight:600;color:#3d3020}.sep{height:1px;background:#f0ebe3;margin:0 3rem}.infos{padding:1.8rem 3rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.info-item{display:flex;align-items:center;gap:.6rem;font-size:.82rem;font-weight:300;color:#777}.info-icon{font-size:1rem}.contact{background:#2e4a38;padding:1.8rem 3rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.contact-name{font-family:Lora,serif;font-size:1.1rem;font-weight:700;color:#fff;font-style:italic}.contact-details{text-align:right}.deco{position:absolute;bottom:0;left:0;width:120px;height:80px;background:radial-gradient(ellipse at 0 100%,rgba(106,171,126,.15) 0,transparent 70%);pointer-events:none}.btn-rdv{flex:2;display:inline-flex;justify-content:center;align-items:center;text-decoration:none;padding:.85rem;background:var(--accent);color:#fff;border:none;border-radius:.5rem;font-family:var(--font-sans);font-size:.8rem;font-weight:300;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background .25s,opacity .25s}.btn-rdv:hover{background:var(--primary)}.nav{display:flex;justify-content:center;gap:2rem;padding:1rem 2rem;background:#fff;border-bottom:1px solid #eee}.nav-link{font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;text-decoration:none;color:#2e4a38;font-weight:500;position:relative;transition:all .25s ease}.nav-link::after{content:'';position:absolute;left:0;bottom:-4px;width:0;height:2px;background:#6aab7e;transition:width .25s ease}.nav-link:hover::after{width:100%}.page{background:#fff;width:100%;max-width:700px;border-radius:4px;overflow:hidden;box-shadow:0 4px 30px rgba(0,0,0,.1);z-index:3}.header-about{background:#2e4a38;padding:3rem;text-align:center}.btn-about{padding:.35rem}.header-label{font-size:.68rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:.8rem}.header-about h1{font-family:Lora,serif;font-size:2rem;font-weight:400;color:#fff;line-height:1.2}.header-about h1 em{font-style:italic;color:#a8d4b4}.header-sub{font-size:.78rem;font-weight:300;color:rgba(255,255,255,.5);letter-spacing:.1em;margin-top:.6rem}.divider-about{height:3px;background:linear-gradient(90deg,#6aab7e,#b5883e)}.bloc{padding:2.5rem 3rem;border-bottom:1px solid #f0ebe3}.bloc:last-child{border-bottom:none}.bloc-label{font-size:.68rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#6aab7e;margin-bottom:1rem;display:flex;align-items:center;gap:.6rem}.bloc-label::before{content:'';width:20px;height:2px;background:#6aab7e;border-radius:2px;flex-shrink:0}.bloc p{font-size:.9rem;font-weight:300;color:#555;line-height:1.95}.bloc p+p{margin-top:1rem}.bloc strong{font-weight:600;color:#2e4a38}.citation{background:#f0f5ee;border-left:3px solid #6aab7e;padding:1.2rem 1.5rem;margin-top:1.5rem;border-radius:0 .5rem .5rem 0}.citation p{font-family:Lora,serif;font-style:italic;font-size:.95rem;color:#3d6652;line-height:1.8}.footer{background:#2e4a38;padding:1.5rem 3rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.footer-brand{font-family:Lora,serif;font-size:1rem;font-style:italic;color:#fff}.footer-web{font-size:.75rem;font-weight:300;color:rgba(255,255,255,.45)}.cabinet{font-family:var(--font-serif);font-size:1.2rem;margin-bottom:2em}.card{background:var(--card-bg);border-radius:1.2rem;padding:3rem;width:100%;max-width:560px;box-shadow:var(--shadow);margin:auto}.card-header{margin-top:1rem;margin-bottom:2rem;text-align:center}.logo{font-family:var(--font-serif);font-size:1.3rem;font-weight:600;color:var(--primary)}.logo em{color:var(--accent);font-style:italic;font-weight:300}.card-header h1{font-family:var(--font-serif);font-size:1.7rem;font-weight:300;color:var(--text);margin-top:1rem}.card-header p{font-size:1rem;font-weight:300;color:#5f5f5f;margin-top:.3rem}.steps{display:flex;align-items:center;justify-content:center;margin-bottom:2.5rem}.step-item{display:flex;flex-direction:column;align-items:center;gap:.3rem}.step-circle{width:30px;height:30px;border-radius:50%;border:2px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:.78rem;color:#ccc;transition:all .3s}.step-circle.active{border-color:var(--primary);background:var(--primary);color:#fff}.step-circle.done{border-color:var(--accent);background:var(--accent);color:#fff}.step-label{font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-light)}.step-label.active{color:var(--primary);font-weight:500}.step-line{width:48px;height:1px;background:var(--line);margin:0 .5rem 1.2rem}.cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.cal-nav h3{font-family:var(--font-serif);font-size:1.1rem;font-weight:400;color:var(--text)}.cal-btn{background:0 0;border:1px solid #979695;border-radius:50%;width:30px;height:30px;cursor:pointer;font-size:1rem;color:#888;display:flex;align-items:center;justify-content:center;transition:all .2s}.cal-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:1.5rem}.cal-day-name{text-align:center;font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-light);padding:.3rem 0}.cal-day{min-height:38px;text-align:center;padding:.45rem .2rem;border-radius:.35rem;font-size:.82rem;font-weight:300;border:1px solid transparent;transition:all .2s;cursor:default;color:#ccc;background:0 0}button.cal-day{width:100%}.cal-day.available{color:var(--text);background:var(--soft-green-bg);border-color:var(--soft-green-line);cursor:pointer}.cal-day.available:hover:not(:disabled){background:var(--primary);color:#fff;border-color:var(--primary)}.cal-day.selected{background:var(--primary)!important;color:#fff!important;border-color:var(--primary)!important;font-weight:400}.slots-wrap{margin-top:.3rem}.slots-title{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:300;margin-bottom:.8rem}.slots-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-bottom:1.5rem}.slot{padding:.65rem;text-align:center;border:1px solid var(--line);border-radius:.5rem;font-size:.88rem;font-weight:300;color:var(--text);cursor:pointer;transition:all .2s;background:#f9f6f1;min-height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center}.slot:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:#fff}.slot.selected{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:400}.slot.taken,.slot:disabled{color:#ccc;cursor:not-allowed;text-decoration:line-through;background:#fafafa}.slot-special{border-color:var(--soft-green-line)!important;background:var(--soft-green-bg)!important;color:var(--primary)!important}.slot-special:hover:not(:disabled){background:var(--primary)!important;color:#fff!important;border-color:var(--primary)!important}.slot-special.selected{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important}.slot-subtext{display:block;font-size:.65rem;opacity:.7;margin-top:2px;line-height:1.2}.summary-box{background:var(--soft-green-bg);border:1px solid var(--soft-green-line);border-radius:.6rem;padding:.85rem 1.1rem;font-size:.84rem;font-weight:300;color:var(--primary);margin-bottom:1.2rem}.summary-box strong{font-weight:500}.form-group{margin-bottom:1.1rem}.form-group label{display:block;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:300;margin-bottom:.45rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.8rem 1rem;background:#f9f6f1;border:1px solid var(--line);border-radius:.5rem;font-family:var(--font-sans);font-size:.9rem;font-weight:300;color:var(--text);outline:0;transition:border-color .25s,background .25s,box-shadow .25s}.btn-back:focus-visible,.btn-link:focus-visible,.btn-next:focus-visible,.cal-btn:focus-visible,.cal-day:focus-visible,.form-group input:focus,.form-group select:focus,.form-group textarea:focus,.slot:focus-visible{border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px rgba(184,150,90,.18)}.form-group textarea{resize:vertical;min-height:80px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.btn-row{display:flex;gap:.8rem;margin-top:1rem}.btn-row.single{justify-content:center}.btn-back{flex:1;padding:.85rem;background:0 0;border:1px solid var(--line);border-radius:.5rem;font-family:var(--font-sans);font-size:.8rem;font-weight:300;letter-spacing:.08em;text-transform:uppercase;color:#aaa;cursor:pointer;transition:all .25s}.btn-back:hover:not(:disabled){border-color:#999;color:#555}.btn-link,.btn-next{flex:2;display:inline-flex;justify-content:center;align-items:center;text-decoration:none;padding:.85rem;background:var(--primary);color:#fff;border:none;border-radius:.5rem;font-family:var(--font-sans);font-size:.8rem;font-weight:300;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background .25s,opacity .25s}.btn-link:hover,.btn-next:hover:not(:disabled){background:var(--accent)}.btn-next:disabled{background:#ddd;cursor:not-allowed}.panel{display:none}.panel.active{display:block}.success{display:none;text-align:center;padding:1rem 0}.success-visible{display:block}.success-icon{font-size:3rem;margin-bottom:1rem}.success h2{font-family:var(--font-serif);font-size:1.8rem;font-weight:300;color:var(--text);margin-bottom:.5rem}.success p{font-size:.85rem;font-weight:300;color:#888;line-height:1.8}.success .recap{background:var(--soft-green-bg);border:1px solid var(--soft-green-line);border-radius:.6rem;padding:1rem 1.5rem;margin:1.5rem 0;text-align:left;font-size:.85rem;font-weight:300;color:var(--primary);line-height:2}.patient-notes{white-space:pre-line}.alert{border-radius:.7rem;padding:1rem 1.2rem;margin-bottom:1.2rem}.alert ul{padding-left:1.2rem}.alert-error{background:var(--error-bg);border:1px solid var(--error-line);color:var(--error-text)}.hidden{display:none!important}.rgpd-consent{margin-top:1.25rem}.checkbox-label{display:flex;align-items:flex-start;gap:.65rem;cursor:pointer;line-height:1.45}.checkbox-label input[type=checkbox]{flex:0 0 auto;width:15px;height:15px;margin:.15rem 0 0;cursor:pointer}.checkbox-label span{flex:1}.checkbox-label a{text-decoration:underline}.rgpd-consent{margin:.5rem 0 0 2.65rem;font-size:.85rem;line-height:1.4}.text-rgpd{display:flex;flex-direction:column}.text-rgpd>a{color:#777;font-size:small}@media (max-width:540px){.header{flex-direction:column;text-align:center;padding:2rem}.header-right{text-align:center;align-items:center}.domaine{flex-direction:column;gap:.3rem}.domaine-key{min-width:unset}.infos{flex-direction:column;align-items:flex-start;gap:.8rem}.contact{flex-direction:column;text-align:center}.contact-details{text-align:center}.domaines,.infos,.intro{padding-left:2rem;padding-right:2rem}.divider,.sep{margin-left:2rem;margin-right:2rem}.contact{padding:1.5rem 2rem}.bloc,.header-about{padding:2rem 1.8rem}.footer{flex-direction:column;text-align:center;padding:1.5rem}}@media (max-width:640px){body{padding:1rem}.card{padding:1.5rem}.form-row,.slots-grid{grid-template-columns:1fr}}