/* MH IA : même famille de bleus que l’application, sur des surfaces claires. */
:root{--ink:#172b4d;--deep:#214eb6;--muted:#52657f;--paper:#f3f7fd;--accent:#275fe9;--orange:#275fe9;--green:#d9e8ff;--line:#dce6f5;--shadow:0 20px 60px #234c8514}
.nav{background:#fffffff5;color:var(--ink);border-bottom:1px solid var(--line);box-shadow:0 3px 20px #24457505}
.desktop-nav a{color:#425775}.desktop-nav a:hover{color:var(--accent)}
.nav-cta{background:var(--accent);border-color:var(--accent);color:white;box-shadow:0 5px 15px #275fe921}.nav-cta:hover{background:#174bd1;color:#fff}
.menu{border-color:#d3e0f4}.menu span{background:var(--ink)}
.hero-stage{background:linear-gradient(115deg,#fff 30%,#edf4ff 100%);color:var(--ink)}
.hero .lead,.hero .lead span{color:#425775}.hero-reassurance{color:#52657f}.hero-reassurance span{color:#62748d}
.hero .eyebrow,.hero h1 em{color:var(--accent)}
.primary{background:var(--accent);color:white;box-shadow:0 8px 20px #275fe918}.primary:hover{background:#164bd4;color:#fff}.primary:disabled{box-shadow:none}
.photo-label{color:#52657f}.work-photo{box-shadow:0 25px 50px #274c7620}.example-card{border:1px solid #dce6f5}
.benefit-strip{background:#edf4ff}.strip-inner b{color:#275fe9}.strip-inner span{border-color:#cdddf5}
.step-number{color:#3a6cec}.steps-grid article{border-color:#cfdef5}.control-note{background:#edf4ff}
.demo-wrap{background:linear-gradient(140deg,#edf4ff,#f6faff);color:var(--ink);border-block:1px solid #dce6f5}
.demo-copy>p:not(.eyebrow),.demo-note{color:#52657f}.demo-copy h2 em{color:var(--accent)}.demo-play{color:white;background:var(--accent)}.demo-play:hover{background:#174bd1}.play-icon{border-color:#ffffff70}.demo-stop{color:var(--accent)}.light-link{color:var(--accent);border-color:#aac4f8}
.demo-phone{background:#fff;border:1px solid #d4e3fa;box-shadow:0 25px 60px #20498314}.avatar{background:#e9f1ff;color:#275fe9}
.bubble.agent{background:#eff4fc}.bubble.caller{background:#e2edff}.bubble.caller small{color:#2154b3}.bubble.agent small{color:#425775}
.transcript{border-color:#cbdcf5}#fullTranscript p{color:#52657f}#fullTranscript strong{color:#275fe9}
.example-label,.sample-avatar,.square-icon{background:#e7f0ff;color:#275fe9;border-color:#cedffa}
.price-card.premium{background:#fff;color:var(--ink);border:1px solid #c9daf6;border-top:4px solid var(--accent);box-shadow:0 18px 60px #275fe915}
.premium .plan-description,.premium .price span,.premium .installation-price,.premium .plan-volumes dt{color:var(--muted)}.premium .installation-price strong{color:var(--ink)}
.premium .price strong,.premium .plan-label,.premium .plan-volumes dd{color:var(--accent)}.premium ul,.premium .plan-volumes,.premium .plan-preview-link{border-color:var(--line)}
.plan-badge{color:#2154ba;background:#edf4ff;border-color:#c6d9f8}.price-card.premium .plan-volumes{background:#f4f8ff;border-radius:12px;padding:22px}
.calc-result{background:#e9f2ff;color:var(--ink);border:1px solid #d1e1fc}.calc-result>span,.calc-result small{color:#52657f}.calc-result strong{color:#2159d4}
.faq-section{background:#f6f9ff}.faq-card{background:white;border-color:#dce6f5}.faq-card[open]{background:#edf4ff}
.reading-progress span{background:var(--accent)}.footer{background:#fff}.eyebrow.light{color:var(--accent)}
/* Calendar inspired by the supplied layout. Times are requests, never invented availability. */
.booking-anchor{display:block;scroll-margin-top:100px}.booking-section{background:linear-gradient(140deg,#edf4ff,#f8fbff 60%,#e9f2ff);border-block:1px solid #d9e6fa;scroll-margin-top:88px}
.booking-container{max-width:1220px;padding-block:85px 95px}.booking-intro{max-width:710px;margin-bottom:40px}.booking-intro h2{font-size:clamp(2.35rem,4.4vw,3.8rem)}.booking-intro>p:last-child{max-width:600px;color:var(--muted);font-size:1.05rem}
.booking-card{display:grid;grid-template-columns:.84fr 1.16fr;border:1px solid #cdddf4;border-radius:20px;box-shadow:0 16px 65px #254f8b12;background:#fff;overflow:hidden;align-items:stretch}
.booking-info{padding:40px;border-right:1px solid #dce6f5;background:linear-gradient(160deg,#fff 30%,#f4f8ff)}
.booking-brand{display:flex;align-items:center;gap:12px;margin-bottom:48px;text-decoration:none;font-size:1.6rem}.booking-brand img{width:48px;height:48px;border-radius:12px}
.booking-kicker{font-size:.75rem;letter-spacing:.08em;font-weight:700;color:#526d98;line-height:1.7;margin-bottom:13px}
.booking-info h3{font-size:2.2rem;line-height:1.15;letter-spacing:-.045em;margin-bottom:23px}.booking-info>p:not(.booking-kicker){font-size:1rem;color:#52657f;line-height:1.8}
.booking-facts{display:grid;gap:13px;margin-bottom:26px}.booking-facts p{display:flex;align-items:flex-start;gap:12px;color:#425b80;font-size:.875rem;font-weight:600;line-height:1.6;margin:0}.booking-facts svg{width:21px;height:21px;flex:none;fill:none;stroke:#275fe9;stroke-width:1.7;margin-top:1px}
.booking-info ul{list-style:none;padding:0;margin:25px 0 30px;display:grid;gap:12px;font-size:.9375rem;color:#425b80}.booking-info li{display:flex;gap:10px}.booking-info li:before{content:'✓';color:#275fe9;font-weight:700}
.booking-info-note{display:grid;gap:6px;border-top:1px solid #d8e5f9;padding-top:22px;font-size:.875rem;color:#52657f}.booking-info-note strong{color:#284a7c}
.booking-main{min-width:0;padding:35px 38px 38px}.booking-main h3{font-size:1.4rem;line-height:1.5;letter-spacing:-.025em;margin-bottom:8px}.booking-subtitle{font-size:.875rem;color:var(--muted);margin:0}
.booking-steps{display:flex;gap:24px;margin:0 0 28px;padding:0;list-style:none;border-bottom:1px solid #e3ebf8;padding-bottom:22px;color:#687a95;font-size:.875rem}.booking-steps li{display:flex;align-items:center;gap:8px}.booking-steps span{display:grid;place-items:center;border:1px solid #d6e1f1;border-radius:50%;width:25px;height:25px;font-size:.75rem}.booking-steps [aria-current=step]{color:#2154ba;font-weight:700}.booking-steps [aria-current=step] span{color:white;background:#275fe9;border-color:#275fe9}
.calendar-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:28px 0 18px}.calendar-controls strong{text-transform:capitalize;font-size:1rem}.calendar-controls button{width:40px;height:40px;border:0;border-radius:50%;background:#eff5ff;color:#275fe9;font-size:1.6rem;line-height:1}.calendar-controls button:hover:not(:disabled){background:#dce9ff}.calendar-controls button:disabled{background:transparent;color:#7083a0;opacity:.5}
.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;text-align:center}.calendar-weekdays{margin-bottom:12px;font-size:.75rem;color:#52657f}.calendar-grid button{border:1px solid transparent;aspect-ratio:1;min-height:42px;background:#f0f5ff;border-radius:50%;color:#2154ba;padding:0;font-size:.9375rem;font-weight:600}.calendar-grid button:disabled{background:transparent;color:#8392a8;opacity:1;font-weight:400}.calendar-grid button:hover:not(:disabled){background:#dce9ff;border-color:#99b8f3}.calendar-grid button[aria-pressed=true]{background:#275fe9;color:white;box-shadow:0 4px 12px #275fe926}.calendar-grid button:focus-visible{outline-offset:2px}
.calendar-timezone{font-size:.8125rem;color:var(--muted);margin:23px 0 0}.calendar-timezone strong{font-weight:600;color:var(--ink)}
.booking-time-panel{border-top:1px solid #e1eaf8;margin-top:22px;padding-top:20px}.booking-time-panel h4{font-size:.9375rem;font-weight:600;margin:0 0 15px;text-transform:capitalize}
.time-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.time-slots button{font-size:.875rem;min-height:44px;padding:8px 3px;border:1px solid #b9cef2;border-radius:9px;background:#fff;color:#2455af}.time-slots button:hover{background:#edf4ff}.time-slots button[aria-pressed=true]{background:#275fe9;border-color:#275fe9;color:#fff;font-weight:700}
.booking-selection{color:#52657f;font-size:.875rem;line-height:1.6;margin:21px 0 15px;min-height:23px}.booking-main .btn{border-radius:12px;min-height:52px;font-size:.9375rem}.booking-text-button{display:block;border:0;background:none;color:#275fe9;text-decoration:underline;text-underline-offset:4px;font-size:.875rem;line-height:1.6;min-height:44px;margin:13px auto 0;padding:5px 0}.booking-text-button:hover{color:#173c9c}.booking-back{margin:0 0 18px}
.booking-preference{padding:14px 16px;border:1px solid #cfdff8;background:#f1f6ff;color:#284e88;border-radius:10px;font-size:.875rem;line-height:1.7;margin-bottom:25px}
.booking-main .contact-form{padding:0;border-radius:0}.booking-main .form-intro{font-size:.875rem;color:#52657f}.booking-main .field-row{grid-template-columns:1fr 1fr;gap:15px}.booking-main .contact-form label{font-size:.875rem;margin-bottom:18px}.booking-main .contact-form input:not([type=checkbox]),.booking-main .contact-form select{font-size:1rem;background:#fff;border-color:#c7d6ed;min-height:48px}.booking-main .form-note{font-size:.8125rem;line-height:1.7}.booking-main .consent input{accent-color:#275fe9;flex:none;width:18px;height:18px;margin:3px 0 0}.booking-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.booking-main .selected-plan{color:#275fe9;font-size:.875rem}
.booking-main .form-status{color:#ad2439;font-size:.875rem;line-height:1.6}.booking-main .form-status:empty{display:none}
.booking-success{padding-top:35px}.booking-success-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;color:#275fe9;background:#e8f1ff;font-size:1.8rem;margin-bottom:24px}.booking-success .eyebrow{font-size:.75rem}.booking-success h3{font-size:2rem;line-height:1.2;margin-bottom:20px}.booking-success>p:not(.eyebrow){font-size:1rem;color:#52657f}.booking-success .btn{width:100%;margin-top:10px}.booking-main [hidden]{display:none!important}
@media(max-width:1000px){.desktop-nav{background:#fff;border-color:#dce6f5;box-shadow:0 15px 25px #24457513}.desktop-nav a:hover{background:#edf4ff}.booking-info{padding:30px}.booking-main{padding:30px}.booking-steps{gap:17px;font-size:.8125rem}}
@media(max-width:760px){.booking-container{padding-block:55px}.booking-intro{margin-bottom:28px}.booking-card{grid-template-columns:1fr;border-radius:16px}.booking-info{padding:25px;border-right:0;border-bottom:1px solid #dce6f5}.booking-brand{margin-bottom:22px;font-size:1.3rem}.booking-brand img{width:40px;height:40px}.booking-kicker{margin-bottom:10px}.booking-info h3{font-size:1.9rem}.booking-info h3 br{display:block}.booking-facts{gap:9px;margin-bottom:15px}.booking-info ul{margin:18px 0;gap:8px}.booking-info-note{padding-top:17px}.booking-main{padding:26px 24px}.booking-main h3{font-size:1.3rem}.calendar-grid{gap:8px}.calendar-grid button{max-height:58px}.booking-main .field-row{grid-template-columns:1fr;gap:0}.booking-section{scroll-margin-top:76px}.nav-cta{font-size:.8125rem;padding:11px 13px}.nav-cta-full{display:inline}.nav-cta-short{display:none}.calendar-timezone{margin-top:19px}.booking-intro>p:last-child{font-size:1rem}.booking-success{padding-top:15px}}
@media(max-width:380px){.nav{gap:7px;padding-inline:12px}.nav .brand{font-size:1rem}.nav .brand-logo{width:30px;height:30px}.nav-cta{padding-inline:10px;font-size:.75rem}.booking-main,.booking-info{padding-inline:18px}.calendar-grid{gap:4px}.calendar-grid button{min-height:35px}.calendar-weekdays{gap:4px}.booking-steps{gap:12px;font-size:.75rem}.time-slots{gap:6px}}
@media(prefers-reduced-motion:reduce){.calendar-grid button,.time-slots button{transition:none}}

/* Proposition de valeur : promesse lisible, suivie du fonctionnement concret. */
.hero .hero-value-proposition strong{display:block;color:var(--ink);font-weight:700;font-size:1.12em;line-height:1.5;margin-bottom:13px;letter-spacing:-.015em}

.brand{color:var(--accent)}

/* Disponibilités vérifiées : un horaire inconnu ou retenu reste désactivé. */
.time-slots{grid-template-columns:repeat(3,minmax(0,1fr))}
.time-slots button:disabled{cursor:default;background:#f5f7fa;color:#718097;border-color:#dce3ed;box-shadow:none}
.time-slots button[data-availability=unavailable]{color:#647188}
.time-slots button span{display:block;font-size:.6875rem;line-height:1.5;margin-top:2px;font-weight:400}
.booking-selection[data-state=error]{color:#ad2439}
.booking-text-button:disabled{color:#718097;cursor:default}
