.booking{min-height:100dvh}.booking main{display:block;height:auto;max-width:680px;margin:48px auto;padding:32px;border:2px solid var(--line);background:var(--bg)}.booking .eyebrow{margin-bottom:12px}.booking h1{font-size:28px;margin-bottom:16px}.booking h2{font-size:22px;margin:24px 0 12px}.booking p{margin:12px 0}.booking label{display:flex;flex-direction:column;gap:4px;margin:16px 0}.booking .check{flex-direction:row;align-items:center}.booking #message{white-space:pre-line}.booking #slots{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.booking #slots button[aria-pressed=true]{border-color:var(--focus);background:var(--green)}.booking .trap{position:absolute;left:-10000px;width:2px;height:2px;overflow:hidden}.booking .two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.booking fieldset{margin:16px 0;padding:12px;border:2px solid var(--line)}.booking .days{display:flex;flex-wrap:wrap;gap:8px}.booking .days label{margin:4px}.booking #link{display:block;overflow-wrap:anywhere;margin:16px 0}.booking .pending{padding:12px;border:2px solid var(--line);margin:12px 0}.booking .pending button{margin:8px 8px 0 0}.booking #copy{margin-bottom:16px}@media(max-width:700px){.booking main{margin:0;border:0;max-width:100%;padding:24px 16px}.booking .two{gap:8px}.booking h1{font-size:24px}}
/* Anthony, 22/10 : « look identique à notre DA du site », pas austère/militaire [DXC5].
   Référence inspectée : site v66, .giant 72/800, accent .694em, palette neutre,
   contrôles transparents de data/site-ui.css ; aucune dalle verte de Cockpit. */
@font-face{font-family:Outfit;src:url('/rendez-vous/Outfit-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Outfit;src:url('/rendez-vous/Outfit-SemiBold.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Outfit;src:url('/rendez-vous/Outfit-ExtraBold.ttf') format('truetype');font-weight:800;font-display:swap}
.visitor{--bg:#060807;--panel:transparent;--text:#F4F7F5;--body:#93A09A;--muted:var(--body);--line:rgba(244,247,245,.12);--focus:var(--green);--danger:#ED7773;--control-white:#FFFFFF;font-family:Outfit,system-ui,sans-serif}
.visitor h1,.visitor h2,.visitor h3{line-height:1.2;overflow-wrap:anywhere}
.visitor button,.visitor input,.visitor textarea{border-radius:0}
.visitor button{background:transparent;color:var(--control-white);border:2px solid var(--line);font-weight:600;transition:color .18s ease,border-color .18s ease}
.visitor button:not(:disabled):is(:hover,:active,:focus-visible){color:var(--green);border-color:var(--green)}
.visitor button:focus-visible{outline:2px solid var(--green);outline-offset:4px}
/* Anthony 22/10 : même bordure au focus, transition des CTA, aucun deuxième cadre [CDM5]. */
.visitor #form :is(input,textarea){transition:border-color .18s ease}
.visitor #form :is(input,textarea):focus{border-color:var(--green);outline:none;box-shadow:none}
.calendar-brand{display:flex;align-items:center;justify-content:space-between;gap:24px;height:60px;padding:0 72px;border-bottom:2px solid var(--line)}
.calendar-brand>a{display:flex}
.calendar-brand img{width:158px;height:26px;object-fit:contain;object-position:left}
.calendar-brand span{font-size:16px;font-weight:600;color:var(--text)}
.visitor main{max-width:1440px;margin:0 auto;padding:40px 72px 48px;background:transparent;border:0}
.visitor .intro{max-width:1100px}
.visitor h1{font-size:72px;font-weight:800;line-height:.98;margin:0}
.visitor .intro .calendar-tagline{font-size:50px;font-weight:800;line-height:1.1;color:var(--green);margin:8px 0 20px}
.visitor .intro>p{color:var(--body);font-size:16px;margin:8px 0}
.visitor #duration{color:var(--text);font-size:14px;font-weight:600;margin:20px 0 8px}
.visitor #message{color:var(--body);margin:0 0 28px;font-size:14px}
/* Anthony 23/10 : « même hauteur » pour les deux filets (capture : gauche plus court).
   Étirement intrinsèque, y compris après saisie/redimensionnement ; mesures CF231. */
#booking-layout{margin-top:40px;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:32px;align-items:stretch}
.visitor #selection{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:28px;min-width:0;background:transparent;border:0}
.visitor .date-panel{padding:0;min-width:0}
.visitor h2{font-size:24px;font-weight:800;margin:0 0 24px}
.visitor h3{font-size:18px;font-weight:600;margin:0}
.month-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 0 20px}
.month-nav h3{text-transform:capitalize;text-align:center}
.month-nav button{width:44px;padding:0;font-size:22px;flex-shrink:0}
.weekdays,#calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.weekdays{text-align:center;margin-bottom:12px;font-size:12px;color:var(--body)}
#calendar button{min-height:48px;font-size:18px;padding:6px 0;position:relative;border-color:transparent;font-weight:400}
#calendar [data-state=closed],#calendar [data-state=outside]{color:var(--muted)}
#calendar [data-state=closed]{text-decoration:line-through}
/* Anthony 22/10 : date sélectionnée sans petit pixel vert [CDM3]. */
#calendar [data-state=full]{border-style:dashed;border-color:var(--line);color:var(--muted)}
#calendar [data-state=unknown]{border-color:var(--danger)}
#calendar button[aria-pressed=true]{color:var(--green);border-color:var(--green);font-weight:600;background:transparent}
/* Anthony 22/10 : jour fermé sélectionné rouge et barré, sans message supérieur [CCL1]. */
#calendar button[data-state=closed][aria-pressed=true]{color:var(--danger);border-color:var(--danger);outline-color:var(--danger)}
#calendar button[data-state=unknown][aria-pressed=true]{border-color:var(--danger)}
.visitor .time-panel{padding:0 0 0 28px;border-left:2px solid var(--line);border-top:0;min-width:0}
.visitor #date-label{font-size:14px;text-transform:capitalize;min-height:40px;margin:0 0 12px}
.visitor #day-status{font-size:12px;min-height:24px;margin:0 0 12px}
.visitor #slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}
.visitor #slots button{font-size:16px;padding:10px 4px;min-height:48px;background:transparent}
.visitor #slots button[aria-pressed=true]{color:var(--green);border-color:var(--green);background:transparent}
.visitor #find-next,.visitor #retry{width:100%;font-size:12px;margin-top:12px;padding:12px 8px;line-height:1.5}
#contact-panel{padding:0 0 0 32px;border:0;border-left:2px solid var(--line);background:transparent;min-width:0}
.visitor .eyebrow{font-size:12px;color:var(--body);margin:0 0 12px}
.visitor #form label{font-size:14px;gap:8px;margin:20px 0;color:var(--body)}
.visitor #form input,.visitor #form textarea{background:transparent;padding:12px;font-size:16px;color:var(--text);border-color:var(--line)}
.visitor #chosen{padding-bottom:20px;border-bottom:2px solid var(--line);color:var(--text);font-size:16px;line-height:1.5}
.visitor #confirm{width:100%;margin-top:16px;min-height:52px;font-size:14px}
.visitor .note{font-size:12px;line-height:1.6;color:var(--body)}
.visitor #success{padding:32px 0;border-top:2px solid var(--line);background:transparent}
.visitor #success h2{font-size:40px}
.calendar-footer{max-width:1296px;margin:0 auto;padding:24px 0;font-size:12px;color:var(--body);border-top:2px solid var(--line)}
@media(max-width:1279px) and (min-width:901px){.calendar-brand{padding:0 40px}.visitor main{padding:36px 40px 40px}#booking-layout{grid-template-columns:minmax(0,1fr) 280px;gap:24px}.visitor #selection{gap:20px}.visitor .time-panel{padding-left:20px}#contact-panel{padding-left:24px}.visitor h1{font-size:60px}.visitor .intro .calendar-tagline{font-size:42px}.calendar-footer{margin:0 40px}}
@media(max-width:900px){.calendar-brand{padding:0 24px}#booking-layout{grid-template-columns:1fr}.visitor main{padding:32px 24px}.visitor h1{font-size:56px}.visitor .intro .calendar-tagline{font-size:38px}#contact-panel{padding:28px 0 0;border-left:0;border-top:2px solid var(--line)}#calendar button{min-height:56px}.calendar-footer{margin:0 24px}}
@media(max-width:600px){.calendar-brand{padding:0 20px;gap:16px}.calendar-brand img{width:158px;height:26px}.calendar-brand span{font-size:12px}.visitor main{padding:32px 20px}.visitor h1{font-size:40px}.visitor .intro .calendar-tagline{font-size:28px;max-width:300px}.visitor .intro>p{font-size:14px;line-height:1.6}.visitor #selection{grid-template-columns:1fr;gap:28px}.visitor .time-panel{padding:24px 0 0;border-left:0;border-top:2px solid var(--line)}#calendar,.weekdays{gap:4px}#calendar button{min-height:44px;font-size:16px}.visitor #slots{grid-template-columns:repeat(3,minmax(0,1fr))}.visitor #message{font-size:14px;margin-bottom:24px}.calendar-footer{padding:20px 0;margin:0 20px}.visitor #success h2{font-size:32px}}
@media(prefers-reduced-motion:reduce){.visitor button,.visitor #form input,.visitor #form textarea{transition:none}}

/* Chevrons exacts de la Home v66 : rPrev/rNext et CTA Discover (Anthony, 22/10) [DXC6]. */
.visitor .site-arrow{width:20px;height:20px;flex:none;fill:currentColor;stroke:none;display:block}
.visitor .month-nav button{display:inline-flex;align-items:center;justify-content:center}
.visitor #confirm,.visitor #find-next,.visitor #add-calendar{display:inline-flex;align-items:center;justify-content:center;gap:12px}
.visitor #confirm .site-arrow,.visitor #find-next .site-arrow,.visitor #add-calendar .site-arrow{margin-left:auto}
.visitor #confirm,.visitor #add-calendar{padding:12px 16px}
.visitor #calendar-options{display:grid;grid-template-columns:repeat(3,112px);gap:8px;max-width:352px;margin-top:20px}
.visitor #calendar-options .note{grid-column:1/-1;margin:0}
.visitor .calendar-option{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 16px;border:2px solid var(--line);font-size:16px;font-weight:600;color:var(--control-white);text-decoration:none;background:transparent;transition:color .18s ease,border-color .18s ease}
.visitor .calendar-option:is(:hover,:active,:focus-visible){color:var(--green);border-color:var(--green)}
.visitor .calendar-option:focus-visible{outline:2px solid var(--green);outline-offset:4px}
@media(prefers-reduced-motion:reduce){.visitor .calendar-option{transition:none}}

/* Anthony 22/10 : trois titres alignés, aucun menu d'étapes ; reçu à la place du formulaire [DXE]. */
.visitor #message:empty{display:none}
.visitor #success{padding:40px 0;border:0;max-width:960px;margin:0 auto}
.visitor #success h1{font-size:64px;margin:0 0 40px}
/* Anthony 23/10 : « Meeting Confirmed » vert, annulation inchangée [CF232]. */
.visitor #success[data-state=confirmed] #success-title{color:var(--green)}
.visitor #receipt{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 40px;margin:0 0 40px}
.visitor #receipt>div{padding:0 0 16px;border-bottom:2px solid var(--line)}
.visitor #receipt dt{font-size:12px;color:var(--body);margin-bottom:8px}
.visitor #receipt dd{margin:0;font-size:20px;font-weight:600;color:var(--text)}
.visitor #close-message{margin:32px 0 16px;font-size:20px;color:var(--text)}
.visitor #return-website{display:inline-flex;gap:24px;padding:12px 20px;min-height:52px}
@media(max-width:600px){.visitor #success{padding:20px 0}.visitor #success h1{font-size:40px;margin-bottom:32px}.visitor #receipt{grid-template-columns:1fr;gap:20px;margin-bottom:32px}.visitor #receipt dd{font-size:18px}}
/* Anthony 22/10 : actions personnelles identiques au reçu envoyé par mail [RGM4]. */
.visitor #meeting-actions{display:flex;gap:16px;flex-wrap:wrap;margin:24px 0}
.visitor #meeting-actions button,.visitor #cancel-confirmation button{display:inline-flex;align-items:center;gap:24px;padding:12px 20px;min-height:52px;font-size:14px}
.visitor #cancel-confirmation{border-top:2px solid var(--line);padding-top:24px;margin-top:24px}
.visitor #cancel-confirmation h2{font-size:24px;margin-bottom:16px}
.visitor #cancel-confirmation button{margin:0 12px 12px 0}
.visitor #mail-status:empty{display:none}

/* Anthony 22/10 : Google, Outlook et Apple sur une ligne, dimensions paires [RVS1]. */
.visitor #calendar-options .calendar-option,.visitor #calendar-options #download{font-size:12px;min-height:36px;height:36px;padding:6px 12px}
@media(max-width:600px){.visitor #calendar-options{grid-template-columns:repeat(3,80px);max-width:256px}}
/* Anthony, 24/10 : la page garde sa largeur pleine (le corps est une colonne flex : avec margin auto, main se réduisait à son contenu et changeait de largeur à chaque date cliquée). */
.visitor main{width:100%;box-sizing:border-box}
