.vt-form{width:100%;margin:0;font-family:inherit;color:#3a3a3a;}
.vt-hp{position:absolute;left:-9999px;}
.vt-row{display:flex;gap:24px;margin-bottom:22px;}
.vt-col{flex:1;min-width:0;}
.vt-field{margin-bottom:22px;}
.vt-label{display:block;font-weight:700;font-size:13px;margin-bottom:8px;color:#2a2a2a;}

.vt-input{width:100%;padding:12px 14px;border:1px solid #d9d9d9;border-radius:6px;
    font-size:14px;background:#fff;box-sizing:border-box;transition:border-color .15s,box-shadow .15s;}
.vt-input:focus{outline:none;border-color:#d10f4a;box-shadow:0 0 0 3px rgba(209,15,74,.12);}
select.vt-input{appearance:none;cursor:pointer;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M2 4l4 4 4-4' stroke='%23999' stroke-width='1.5' fill='none'/></svg>");
    background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;}

/* Cartes radio */
.vt-radio-cards{display:flex;gap:12px;}
.vt-card{flex:1;display:flex;align-items:center;gap:8px;padding:14px;
    border:1px solid #d9d9d9;border-radius:6px;cursor:pointer;font-size:14px;
    transition:border-color .15s,background-color .15s;}
.vt-card:hover{border-color:#bbb;}
.vt-card input{accent-color:#d10f4a;}
.vt-card:has(input:checked){border-color:#d10f4a;background:#fdf2f5;}

/* Cases à cocher volet */
.vt-checks{display:flex;gap:20px;padding-top:8px;}
.vt-checks label{display:flex;align-items:center;gap:7px;font-size:14px;cursor:pointer;}
.vt-checks input{accent-color:#d10f4a;}

/* Disponibilités — cartes en grille (variante C) */
.vt-days{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;}
.vt-day{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;
    padding:12px 6px;border:1px solid #d9d9d9;border-radius:6px;cursor:pointer;
    transition:border-color .15s,background-color .15s;}
.vt-day:hover{border-color:#bbb;}
.vt-day-name{font-size:12px;font-weight:600;color:#555;}
/* on masque la vraie checkbox, on dessine .vt-day-box */
.vt-day input{position:absolute;opacity:0;width:0;height:0;}
.vt-day-box{width:16px;height:16px;border:1px solid #c5c5c5;border-radius:4px;
    display:flex;align-items:center;justify-content:center;
    transition:border-color .15s,background-color .15s;}
.vt-day:has(input:checked){border-color:#d10f4a;background:#fdf2f5;}
.vt-day:has(input:checked) .vt-day-name{color:#72243e;}
.vt-day:has(input:checked) .vt-day-box{background:#d10f4a;border-color:#d10f4a;}
.vt-day:has(input:checked) .vt-day-box::after{content:"";width:4px;height:8px;
    border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);margin-top:-2px;}
.vt-day:has(input:focus-visible){box-shadow:0 0 0 3px rgba(209,15,74,.12);}

/* Bouton */
.vt-submit{width:100%;background:#d10f4a;color:#fff;border:none;border-radius:6px;
    padding:16px;font-size:15px;font-weight:600;cursor:pointer;margin-top:10px;
    transition:background-color .15s;}
.vt-submit:hover{background:#b50c3f;}
.vt-disclaimer{text-align:center;font-size:11px;color:#aaa;margin-top:14px;}

/* Messages */
.vt-success{background:#e8f5e9;border:1px solid #66bb6a;color:#2e7d32;
    padding:20px;border-radius:6px;text-align:center;}
.vt-error{background:#fdecea;border:1px solid #e57373;color:#c62828;
    padding:12px;border-radius:6px;margin-bottom:18px;}

@media(max-width:600px){
    .vt-row{flex-direction:column;gap:18px;}
    .vt-radio-cards{flex-direction:column;}
    .vt-days{grid-template-columns:repeat(auto-fit,minmax(80px,1fr));}
}
