@font-face{font-family:Anton;src:url('/fonts/anton-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Poppins;src:url('/fonts/poppins-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Poppins;src:url('/fonts/poppins-latin-600-normal.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'Space Mono';src:url('/fonts/space-mono-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Space Mono';src:url('/fonts/space-mono-latin-700-normal.woff2') format('woff2');font-weight:700;font-display:swap}
:root{color-scheme:light;--framboise:#EF3F66;--framboise-texte:#D9294F;--framboise-fonce:#B81E40;--jaune:#FEC962;--marine:#010339;--ardoise:#5A5F79;--gris:#E2E5EA;--gris-moyen:#C8CCD2;--gris-fonce:#9AA0A9;--mur:#F3F4F7;--filets:#ECEEF2;--barres:#B9BEC7;--jour-col:122px;--hour-col:minmax(46px,1fr);font-family:Poppins,Arial,sans-serif;color:var(--marine);background:#fff;font-synthesis:none}
[hidden]{display:none!important}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:#fff}button,input,textarea{font:inherit;color:inherit}button,a,summary,input,textarea{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:20;top:8px;left:8px;padding:12px;background:#fff;border:2px solid var(--framboise-texte);transform:translateY(-150%)}.skip-link:focus{transform:none}:focus-visible{outline:2px solid var(--framboise-texte);outline-offset:3px}
.site-head{height:70px;max-width:1780px;margin:auto;padding:0 32px;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center}.brand img{width:158px;height:auto}.head-tools{display:flex;align-items:center;gap:26px;color:var(--ardoise);font:11px 'Space Mono',monospace}.lang-switch{display:flex;gap:8px;align-items:center}.lang-switch button{border:0;background:none;padding:9px 2px;color:var(--ardoise);font:inherit}.lang-switch button[aria-pressed=true]{color:var(--marine);font-weight:700}
main{max-width:1780px;margin:auto;padding:8px 32px 56px}.booking-layout{display:grid;grid-template-columns:minmax(300px,372px) minmax(0,1fr);gap:40px;align-items:start}.intro-column{position:sticky;top:24px}.eyebrow,.micro-label{font:11px 'Space Mono',monospace;letter-spacing:.08em;color:var(--ardoise);margin:0}.eyebrow{color:var(--framboise-texte);margin-bottom:12px}h1{font:400 64px/.98 Anton,sans-serif;letter-spacing:.005em;margin:0}.intro-copy{margin:16px 0 0;color:var(--ardoise);font-size:15px;line-height:1.58}.intro-copy strong{font-weight:600;color:var(--marine)}.booking-card{margin-top:24px;border:1.5px solid var(--marine);border-radius:14px;padding:18px}.selection-line{font:400 30px/1.12 Anton,sans-serif;margin:6px 0 4px}.selection-line .selected-time{background:var(--jaune);padding:0 6px;border-radius:4px;white-space:nowrap}.selection-line.quiet{font:400 17px/1.45 Poppins,sans-serif;color:var(--ardoise);margin:10px 0}.selection-meta{font-size:13px;line-height:1.5;color:var(--ardoise);margin:4px 0 14px}.booking-card input,.booking-card textarea{width:100%;min-height:46px;border:1px solid var(--marine);border-radius:10px;padding:10px 13px;background:#fff}.booking-card input::placeholder{color:var(--gris-fonce)}.booking-card label:not(.sr-only){display:block;font-size:12px;color:var(--ardoise);margin-top:10px}.booking-card label:not(.sr-only) input,.booking-card label:not(.sr-only) textarea{display:block;margin-top:5px}.booking-card details{margin-top:9px;color:var(--ardoise);font-size:12px}.booking-card summary{cursor:pointer;min-height:32px;padding:6px 0}.extra-fields{display:grid;grid-template-columns:1fr 1fr;gap:3px 10px}.extra-fields label:last-child{grid-column:1/-1}.website-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.turnstile-box{margin-top:8px}.primary-button{display:flex;align-items:center;justify-content:center;width:100%;min-height:50px;border:0;border-radius:999px;background:var(--framboise-texte);color:#fff;text-decoration:none;text-align:center;font-size:14px;font-weight:600;padding:12px 16px;transition:background-color 150ms,transform 150ms}.primary-button:hover{background:var(--framboise-fonce)}.primary-button:active{transform:scale(.99)}.primary-button[aria-busy=true]{opacity:.76;cursor:wait}.privacy-note{font-size:11px;color:var(--ardoise);margin:10px 0 0}.form-error{color:#9c1834;font-size:13px;line-height:1.5;margin:10px 0 0}.keep-link{display:block;color:var(--ardoise);font-size:12px;text-align:center;margin-top:9px}.mobile-prompt{display:none}
.schedule-column{min-width:0}.schedule-head{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:44px;margin-bottom:10px}.first-slot{display:flex;align-items:center;gap:8px;border:0;border-radius:999px;background:var(--mur);padding:8px 14px;font-size:12px;white-space:nowrap}.first-slot .micro-label{font-size:10px}.pager{display:flex;align-items:center;gap:8px}.pager-button{width:34px;height:34px;border:0;border-radius:50%;background:var(--mur);font:20px 'Space Mono',monospace}.pager-button:disabled{opacity:.4;cursor:default}.page-range{font:11px 'Space Mono',monospace;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.availability-message{padding:26px;border:1px solid var(--gris);border-radius:12px;color:var(--ardoise);font-size:14px;line-height:1.6}.availability-message button{margin-top:12px}.grid-wrap{position:relative;min-height:490px;border:1px solid var(--gris-moyen);border-radius:12px;padding:10px 18px 22px;overflow:hidden;transition:opacity 180ms}.grid-wrap[aria-busy=true]{opacity:.62}.grid-wrap[aria-busy=true]::after{content:"";position:absolute;top:0;bottom:0;left:0;width:2px;background:var(--framboise);box-shadow:0 0 9px var(--framboise);animation:laser 1.8s ease-in-out infinite;pointer-events:none}@keyframes laser{0%{transform:translateX(0)}100%{transform:translateX(min(80vw,1200px))}}.desktop-grid{--cols:9}.column-head,.availability-row{display:grid;grid-template-columns:var(--jour-col) repeat(var(--cols),var(--hour-col));align-items:center}.column-head{height:35px;color:var(--ardoise);font:10px 'Space Mono',monospace;text-align:center}.column-head span:first-child{text-align:left}.week-label{margin:7px 0 3px 122px;color:var(--ardoise);font:10px 'Space Mono',monospace;letter-spacing:.08em}.availability-row{min-height:40px;border-top:1px solid var(--filets)}.day-label{font-size:12px;font-weight:600;white-space:nowrap}.day-label small{font-size:11px;font-weight:400;color:var(--ardoise);margin-left:5px}.taken-run{display:flex;align-items:center;justify-content:center;height:28px;min-width:0;overflow:hidden}.taken-run svg{width:100%;height:24px;display:block}.free-slot{justify-self:center;align-self:center;min-height:36px;border:0;border-bottom:2px solid var(--framboise);background:transparent;padding:2px 3px 1px;font:400 21px/1 Anton,sans-serif;white-space:nowrap;transition:background-color 150ms,color 150ms}.free-slot:hover{color:var(--framboise-texte);background:#fff5f7}.free-slot[aria-pressed=true]{background:var(--jaune);border:0;border-radius:5px;padding:5px 7px;color:var(--marine)}.closed-label{grid-column:2/-1;color:var(--ardoise);font:11px 'Space Mono',monospace}.mobile-schedule{display:none}
.result-layout{display:grid;grid-template-columns:minmax(300px,1fr) minmax(280px,360px);gap:10%;align-items:start;max-width:1000px;margin:38px auto 70px}.result-copy{padding-top:80px}.result-copy h1{font-size:58px;line-height:1.02}.result-copy>p:not(.micro-label){max-width:480px;color:var(--ardoise);font-size:15px;line-height:1.65;margin:18px 0}.dark-button{background:var(--marine);max-width:330px;margin-top:22px}.dark-button:hover{background:#20225a}.manage-link{display:block;width:max-content;margin-top:14px;color:var(--ardoise);font-size:12px}.meet-link{font:11px 'Space Mono',monospace;overflow-wrap:anywhere}.secondary-action,.text-button{display:block;border:0;background:none;padding:10px 0;color:var(--marine);font-weight:600}.danger-action{color:var(--framboise-texte);font-weight:400;text-decoration:underline}.ticket-stage{width:100%;max-width:330px;filter:drop-shadow(0 1px .8px var(--gris-fonce)) drop-shadow(0 8px 16px rgba(1,3,57,.08))}.string{display:block;width:100%;height:58px;margin-bottom:-18px;position:relative;z-index:2;color:var(--ardoise)}.ticket{position:relative;clip-path:polygon(16% 0,84% 0,100% 7%,100% 100%,0 100%,0 7%);background:#fff;padding:30px 22px 20px;min-height:380px}.ticket-hole{position:absolute;top:10px;left:50%;width:14px;height:14px;margin-left:-7px;border-radius:50%;border:3px solid var(--gris-moyen);background:var(--mur)}.ticket-logo{display:block;width:118px;height:auto;margin:10px auto 0}.ticket-rule{height:5px;background:var(--framboise);margin:16px -22px}.ticket-date{font:400 36px/1.02 Anton,sans-serif;margin:6px 0 0}.ticket-details{font-size:13px;line-height:1.6;margin:9px 0 0}.ticket-meet{font:10px 'Space Mono',monospace;overflow-wrap:anywhere;color:var(--ardoise);margin:8px 0 0}.ean{width:100%;height:92px;margin-top:12px;display:block}.ean-digits{text-align:center;font:10px 'Space Mono',monospace;letter-spacing:.04em;margin:0}.cancel-stamp{position:absolute;top:47%;left:12%;border:4px solid var(--framboise-texte);border-radius:5px;padding:5px 10px;color:var(--framboise-texte);font:700 22px 'Space Mono',monospace;transform:rotate(-14deg)}.cancelled .ticket{filter:grayscale(1);opacity:.62}.cancelled .ticket-stage{filter:none}.cancelled .ticket-stamp{display:block}.swing{animation:ticket-swing 1.1s ease-out both;transform-origin:50% 0}@keyframes ticket-swing{0%{transform:translateY(-45px) rotate(8deg)}35%{transform:translateY(0) rotate(-6deg)}60%{transform:rotate(3deg)}80%{transform:rotate(-1.5deg)}100%{transform:rotate(0)}}.cancel-dialog{width:min(440px,calc(100% - 32px));border:1px solid var(--gris-moyen);border-radius:16px;padding:24px;color:var(--marine)}.cancel-dialog::backdrop{background:rgba(1,3,57,.3)}.cancel-dialog p{line-height:1.6}.dialog-actions{display:flex;gap:14px;align-items:center}.dialog-actions .primary-button{width:auto;min-width:145px}footer{max-width:1780px;margin:0 auto;padding:0 32px 24px;color:var(--ardoise);font-size:11px}
@media(max-width:1100px) and (min-width:821px){main{padding-inline:24px}.booking-layout{grid-template-columns:310px minmax(0,1fr);gap:24px}h1{font-size:56px}.booking-card{padding:15px}.selection-line{font-size:27px}.grid-wrap{padding-inline:10px}.day-label{font-size:11px}.free-slot{font-size:18px}.first-slot{padding:7px 9px}.first-slot .micro-label{display:none}}
@media(max-width:820px){.site-head{height:58px;padding-inline:20px}.brand img{width:132px}.timezone{display:none}main{padding:12px 20px 250px}.booking-layout{display:flex;flex-direction:column;gap:16px}.intro-column{position:static;width:100%}h1{font-size:40px;line-height:.98}.intro-copy{font-size:13px;margin-top:8px}.booking-card{position:fixed;z-index:10;left:0;right:0;bottom:0;margin:0;padding:13px 20px calc(14px + env(safe-area-inset-bottom));border:0;border-radius:18px 18px 0 0;background:#fff;box-shadow:0 -8px 25px rgba(1,3,57,.09);display:none}.booking-card.mobile-open{display:block}.booking-card .micro-label,.booking-card .selection-line,.booking-card .selection-meta,.booking-card .privacy-note{display:none}.booking-card #extras,.booking-card .turnstile-box{display:block}.booking-card input{height:44px;min-height:44px}.booking-card .primary-button{min-height:50px;margin-top:9px}.booking-card .form-error{margin-top:6px}.booking-card .keep-link{display:block;margin:7px 0 0}.mobile-prompt{display:block;color:var(--ardoise);font-size:12px;margin:10px 0 0}.schedule-column{width:100%}.schedule-head{margin-bottom:8px;min-height:36px}.first-slot{font-size:10px;padding:6px 9px;gap:5px}.first-slot .micro-label{font-size:9px}.pager{gap:3px}.pager-button{width:32px;height:32px}.page-range{font-size:9px}.grid-wrap{padding:0;border:0;border-radius:0;min-height:240px;overflow:visible}.grid-wrap[aria-busy=true]::after{display:none}.desktop-grid{display:none}.mobile-schedule{display:block}.mobile-days{display:flex;gap:6px;overflow-x:auto;padding:2px 1px 7px;scroll-snap-type:x mandatory;scrollbar-width:none}.mobile-days::-webkit-scrollbar{display:none}.mobile-day{flex:0 0 52px;min-height:54px;border:1px solid var(--gris);border-radius:10px;background:#fff;text-align:center;padding:5px 2px;scroll-snap-align:start;font:10px 'Space Mono',monospace;color:var(--ardoise)}.mobile-day strong{display:block;font:400 20px/1.1 Anton,sans-serif;color:var(--marine);margin-top:2px}.mobile-day[aria-pressed=true]{background:var(--marine);border-color:var(--marine);color:#fff}.mobile-day[aria-pressed=true] strong{color:#fff}.mobile-day.no-free strong{color:var(--gris-fonce)}.mobile-day .holiday-mark{display:block;font-size:8px;color:var(--ardoise)}.mobile-hours{padding:8px 0 0}.mobile-date{font-size:13px;font-weight:600;margin:0 0 8px}.mobile-hour{min-height:50px;border:1px solid var(--marine);border-radius:10px;display:flex;align-items:center;padding:0 14px;margin-bottom:6px;text-align:left;width:100%;background:#fff}.mobile-hour .time{font:400 23px Anton,sans-serif}.mobile-hour .state{margin-left:auto;font-size:11px;color:var(--framboise-texte)}.mobile-hour[aria-pressed=true]{background:var(--jaune);border-color:var(--jaune)}.mobile-hour[aria-pressed=true] .state{color:var(--marine)}.mobile-hour.taken{min-height:27px;height:27px;border:0;border-radius:0;padding:0 4px;margin:2px 0;color:var(--gris-fonce);cursor:default}.mobile-hour.taken .time{font:10px 'Space Mono',monospace;color:var(--gris-fonce)}.mobile-hour.taken .mobile-bars{height:18px;width:65%;margin-left:12px}.mobile-hour.taken .state{display:none}.mobile-closed{padding:24px 0;color:var(--ardoise);font:11px 'Space Mono',monospace}.availability-message{font-size:13px;padding:18px}.result-layout{display:flex;flex-direction:column-reverse;gap:8px;margin:14px auto 44px}.result-copy{padding:4px 0 0}.result-copy h1{font-size:42px}.result-copy>p:not(.micro-label){font-size:14px;margin:10px 0}.ticket-stage{align-self:center;max-width:340px}.ticket{padding-left:26px;padding-right:26px}.result-copy .dark-button{max-width:none;margin-top:15px}.cancel-dialog{padding:20px}footer{padding:10px 20px 18px;font-size:10px}}
@media(max-width:380px){.first-slot .micro-label{display:inline}main{padding-inline:16px}.site-head{padding-inline:16px}.page-range{font-size:8px}.first-slot .micro-label{display:none}.intro-copy{max-width:340px}.booking-card{padding-inline:16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.ticket-date{white-space:pre-line}.ean-digits{display:none}

/* Correctifs passe 2 */
@media(max-width:1100px) and (min-width:821px){.first-slot .micro-label{display:inline}}
.selection-line.quiet{font:400 15px/1.5 Poppins,sans-serif;color:var(--ardoise)}
.result-kicker{display:none}
.result-copy .secondary-calendar{background:#fff;color:var(--marine);border:1px solid var(--marine)}
.result-layout:has(.result-copy #move-button:not([hidden])) .result-copy #move-button{display:flex;align-items:center;justify-content:center;min-height:50px;width:min(330px,100%);padding:12px 16px;border-radius:999px;background:var(--marine);color:#fff}
.cancelled .ticket{filter:none;opacity:1}
.cancelled .ticket> :not(.cancel-stamp){opacity:.45}
.cancelled .cancel-stamp{display:block;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-12deg);border:3px solid var(--framboise-texte);padding:5px 10px;opacity:1;font:400 34px Anton,sans-serif;white-space:nowrap}
.ticket-date{font-size:32px;line-height:1.02;white-space:pre-line;overflow-wrap:anywhere;word-break:normal}
.secondary-calendar{background:#fff!important;color:var(--marine)!important;border:1px solid var(--marine)!important}
.submit-mobile{display:none}
@media(max-width:820px){main{padding-bottom:calc(var(--sheet-height, 250px) + 24px)}.result-layout{flex-direction:column;gap:8px}.ticket-stage{order:0;align-self:center;width:min(320px,100%)}.result-copy{order:1;width:100%}.submit-desktop{display:none}.submit-mobile{display:inline}}

.ticket-empty #ticket-kicker,.ticket-empty #ticket-date,.ticket-empty #ticket-details,.ticket-empty #ticket-meet,.ticket-empty #ean,.ticket-empty #ean-digits{display:none!important}

/* Le sur-titre reste sur l etiquette cartonnee seulement (pas de doublon a gauche). */
#result-kicker{display:none}
/* Annule : la carte garde son contour (ombre portee) ; plus de mention du lien Meet. */
.cancelled .ticket-stage{filter:drop-shadow(0 1px .8px var(--gris-fonce)) drop-shadow(0 8px 16px rgba(1,3,57,.08))}
.cancelled #ticket-meet{display:none}
/* Petits telephones : l etiquette LE PLUS TOT reste visible, sur sa propre ligne dans la puce. */
@media (max-width:380px){.first-slot{flex-wrap:wrap;row-gap:2px}.first-slot .micro-label{display:block;flex-basis:100%;text-align:left}}
/* Mobile : heures prises lisibles (contraste 4,7:1, AA), toujours en retrait des heures libres. */
.mobile-hour.taken .time{font-size:11px;color:#6E7386}
/* Lien de confidentialite dans le pied de page. */
footer a{color:inherit;text-underline-offset:2px}
footer a:hover{color:var(--marine)}
/* Consigne au-dessus de la grille : l'ordre (creneau d'abord) et le choix entre plusieurs semaines. */
.schedule-guide{margin:0 0 10px;font-size:14px;line-height:1.5;color:var(--ardoise)}.schedule-guide strong{font-weight:600;color:var(--marine)}
/* Fleches de semaines bien visibles : cercle cerne framboise (couleur Gencode), plein au survol. */
.pager{gap:10px}.pager-button{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:2px solid var(--framboise-texte);background:#fff;color:var(--framboise-texte);font:700 20px/1 'Space Mono',monospace;transition:background-color 150ms,color 150ms}.pager-button:hover:not(:disabled){background:var(--framboise-texte);color:#fff}.pager-button:disabled{opacity:1;border-color:var(--gris-moyen);color:var(--gris-moyen)}.page-range{font-size:12px;font-weight:700;color:var(--marine)}
/* Creneau choisi : date et heure toujours sur une ligne (police ajustee par fitSelection). */
.selection-main{display:inline-block;white-space:nowrap}
/* Prenom et nom, societe : obligatoires, toujours visibles sous l e-mail ; empiles si la carte est trop etroite. */
.identity-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-top:8px}.identity-fields input{min-width:0}
.extra-fields label:first-child{grid-column:1/-1}
@media(max-width:820px){.schedule-guide{font-size:13px;margin:4px 0 8px}.pager{gap:6px}.pager-button{width:36px;height:36px;font-size:18px}.page-range{font-size:10px}.identity-fields{margin-top:6px;gap:6px}.booking-card #extras{margin-top:4px}}
@media(max-width:380px){.page-range{font-size:9px}.pager{gap:4px}}
/* Report : la ligne « Remplace ... » reste discrete au-dessus du nouveau creneau. */
.selection-line .quiet{font:400 13px/1.4 Poppins,sans-serif;color:var(--ardoise)}
/* Tablettes et petits portables (821-1100 px) : les 9 colonnes d'heures tiennent, 17 h comprise. */
@media(max-width:1100px) and (min-width:821px){.booking-layout{gap:16px}.desktop-grid{--jour-col:84px;--hour-col:minmax(36px,1fr)}.grid-wrap{padding-inline:6px}.week-label{margin-left:var(--jour-col)}.day-label small{margin-left:3px}.free-slot{font-size:16px;padding-inline:1px}}
/* Les placeholders servent d'intitules (e-mail, nom, societe) : gris lisible, 4,7:1 (AA). */
.booking-card input::placeholder{color:#6E7386}
/* Heure du mail deja prise : avis en tete du message, au-dessus d'un eventuel « aucune heure libre ». */
.availability-message .slot-notice{margin:0;color:var(--marine);font-weight:600}.availability-message .slot-notice+*{margin-top:8px}
