/* Formulaire « Découvrir la plateforme » : coordonnées, taille de la structure
   en tuiles, créneau de rappel facultatif (jours ouvrés générés par
   structure.js). Les règles .st-booking de structure.css visent tous les
   label et input de la carte : celles-ci les surclassent par .rv-card. */
.st-booking .rv-card{background:#fff;border:1px solid #e9e9e9;border-radius:22px;padding:40px 40px 34px;box-shadow:0 1px 2px rgba(0,0,0,.03),0 44px 90px -48px rgba(0,0,0,.28);font-family:Inter,Arial,Helvetica,sans-serif}
.st-booking .rv-card :is(h1,h2){font-size:30px;font-weight:600;letter-spacing:-.045em;line-height:1.1}
.st-booking .rv-card>p{font-size:14.5px;line-height:1.6;color:#5b5b5b;margin:12px 0 30px;max-width:440px}
.st-booking .rv-card form{gap:20px}
.st-booking .rv-card .st-form-row{gap:14px}
.st-booking .rv-card label{font-size:13px;font-weight:500;color:#262626;gap:8px;letter-spacing:-.005em}
.st-booking .rv-card label>span,.st-booking .rv-card legend>span{display:inline;color:#8a8a8a;font-weight:400}
.st-booking .rv-card :is(input[type=text],input:not([type]),input[type=email],input[type=tel]){height:50px;padding:0 15px;border:1px solid #dedede;border-radius:12px;background:#fafafa;font:400 15px Inter,Arial,sans-serif;color:#141414;transition:border-color .2s,background .2s,box-shadow .2s}
.st-booking .rv-card input::placeholder{color:#9b9b9b}
.st-booking .rv-card :is(input:not([type]),input[type=email],input[type=tel]):hover{border-color:#c9c9c9}
.st-booking .rv-card :is(input:not([type]),input[type=email],input[type=tel]):focus{outline:none;border-color:#161616;background:#fff;box-shadow:0 0 0 4px rgba(22,22,22,.07)}
.st-booking .rv-card :is(input:not([type]),input[type=email],input[type=tel]):user-invalid{border-color:#c4473f;box-shadow:0 0 0 4px rgba(196,71,63,.08)}

.rv-group{border:0;margin:0;padding:0;min-width:0}
.rv-group legend{padding:0;margin:0 0 10px;font-size:13px;font-weight:500;color:#262626;letter-spacing:-.005em}
.st-booking .rv-card .rv-group input[type=radio]{position:absolute;opacity:0;width:1px;height:1px;margin:0;padding:0;border:0;pointer-events:none}

/* Taille de la structure */
.rv-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.st-booking .rv-card .rv-tile{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:16px;min-height:96px;padding:14px 13px 13px;border:1px solid #dedede;border-radius:14px;background:#fafafa;cursor:pointer;transition:border-color .2s,background .2s,color .2s,transform .2s}
.st-booking .rv-card .rv-tile:hover{border-color:#bdbdbd;background:#fff}
.st-booking .rv-card .rv-people{display:flex;gap:1px;color:#9a9a9a;transition:color .2s}
.rv-people svg{width:15px;height:15px;fill:currentColor}
.st-booking .rv-card .rv-tile-text{display:block;font-size:13px;font-weight:550;line-height:1.3;letter-spacing:-.015em;color:#1d1d1d}
.st-booking .rv-card .rv-tile:has(input:checked){background:#161616;border-color:#161616;transform:translateY(-1px)}
.rv-tile:has(input:checked) .rv-people{color:#8fd9be}
.rv-tile:has(input:checked) .rv-tile-text{color:#fff}
.rv-tile:has(input:focus-visible),.rv-chip:has(input:focus-visible){outline:2px solid #1b7d67;outline-offset:3px}

/* Créneau de rappel */
.rv-days{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.rv-hours{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:8px}
.st-booking .rv-card .rv-chip{position:relative;display:grid;place-items:center;gap:2px;text-align:center;border:1px solid #dedede;border-radius:12px;background:#fafafa;cursor:pointer;transition:border-color .2s,background .2s,color .2s,opacity .2s}
.st-booking .rv-card .rv-day{padding:10px 4px 9px}
.rv-day small{display:block;font-size:10.5px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:#888}
.rv-day b{display:block;font-size:14.5px;font-weight:600;letter-spacing:-.02em;color:#1b1b1b}
.st-booking .rv-card .rv-hour{height:42px;border-radius:999px;font-size:13px;font-weight:500;color:#2a2a2a}
.st-booking .rv-card .rv-chip:hover{border-color:#bdbdbd;background:#fff}
.st-booking .rv-card .rv-chip:has(input:checked){background:#161616;border-color:#161616;color:#fff}
.st-booking .rv-card .rv-chip>span{color:inherit;font-size:inherit}
.rv-chip:has(input:checked) :is(small,b){color:#fff}
.rv-chip:has(input:checked) small{opacity:.7}
.st-booking .rv-card .rv-hour:has(input:disabled){opacity:.5;cursor:default;background:#fafafa;border-color:#e4e4e4}
.st-booking .rv-card .rv-clear{justify-self:start;margin:10px 0 0;padding:0;border:0;background:none;font:500 12.5px Inter,Arial,sans-serif;color:#5d5d5d;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.st-booking .rv-card .rv-clear:hover{color:#161616}

/* Envoi */
.st-booking .rv-card .rv-submit{justify-self:stretch;gap:10px;height:56px;margin-top:4px;font:600 15px Inter,Arial,sans-serif;letter-spacing:-.01em;border-radius:999px}
.rv-arrow{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s}
.rv-submit:hover .rv-arrow{transform:translateX(3px)}
.st-booking .rv-card .st-form-privacy{font-size:11.5px!important;color:#7a7a7a!important;text-align:center;margin-top:-6px}
.st-booking .rv-card [role=alert]{text-align:center}
.st-booking .rv-card #appointment-success h3{font-size:24px;font-weight:600}
.st-booking .rv-card #appointment-success p{font-size:14.5px;line-height:1.6;color:#555;margin:10px 0 22px}

@media(max-width:1000px) and (min-width:721px){.rv-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.rv-row-contact{grid-template-columns:1fr!important}}
@media(max-width:720px){
 .st-booking .rv-card{padding:28px 20px 26px;border-radius:18px}
 .st-booking .rv-card :is(h1,h2){font-size:26px}
 .st-booking .rv-card>p{font-size:14px;margin-bottom:24px}
 .rv-row-contact{grid-template-columns:1fr!important}
 .rv-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
 .st-booking .rv-card .rv-tile{min-height:84px}
 .rv-days{gap:6px}
 .rv-day b{font-size:13.5px}
 .rv-hours{grid-template-columns:repeat(2,minmax(0,1fr))}
 .st-booking .rv-card :is(input:not([type]),input[type=email],input[type=tel]){font-size:16px}
 .st-booking .rv-card .rv-submit{font-size:15px}
}
@media(prefers-reduced-motion:reduce){.rv-card *{transition:none!important}.st-booking .rv-card .rv-tile:has(input:checked){transform:none}}

/* Page centrée sur le formulaire (26/10/2026) : plus de colonne de gauche. */
.st-booking.st-booking-centre{grid-template-columns:minmax(0,640px);justify-content:center;gap:0}
