/* Réservation Taxi — styles (toutes les classes commencent par taxivaldemarne_) */

.taxivaldemarne_wrap{
	--taxivdm-btn:#E8890C;
	--taxivdm-btn-text:#ffffff;
	--taxivdm-ink:#1f2a44;
	--taxivdm-muted:#8a929c;
	--taxivdm-border:#e4e7ec;
	box-sizing:border-box;width:100%;max-width:1240px;margin:0 auto;
	font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
	color:var(--taxivdm-ink);
}
.taxivaldemarne_wrap *,.taxivaldemarne_wrap *::before,.taxivaldemarne_wrap *::after{box-sizing:border-box;}

/* Panneau translucide (frosted glass) */
.taxivaldemarne_form{
	background:rgba(255,255,255,.5);
	-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
	border:1px solid rgba(255,255,255,.55);border-radius:16px;padding:14px;
	box-shadow:0 10px 30px rgba(16,24,40,.18);
}

/* Toggle */
.taxivaldemarne_toggle{display:flex;gap:8px;justify-content:center;margin-bottom:12px;flex-wrap:wrap;}
.taxivaldemarne_pill{
	display:inline-flex;align-items:center;gap:8px;padding:7px 18px;border-radius:999px;
	border:1px solid transparent;background:rgba(255,255,255,.55);color:var(--taxivdm-ink);
	font-weight:600;font-size:15px;cursor:pointer;transition:all .15s ease;
}
.taxivaldemarne_pill input{accent-color:var(--taxivdm-btn);margin:0;}
.taxivaldemarne_pill.is-active{background:#fff;border-color:var(--taxivdm-btn);color:var(--taxivdm-btn);box-shadow:0 2px 6px rgba(16,24,40,.08);}

/* Grille */
.taxivaldemarne_grid{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch;}

/* Champs */
.taxivaldemarne_field{
	position:relative;display:flex;align-items:center;gap:8px;
	background:#fff;border:1px solid var(--taxivdm-border);border-radius:12px;
	padding:0 12px;height:54px;flex:1 1 100%;
	box-shadow:0 1px 2px rgba(16,24,40,.05);transition:border-color .15s ease,box-shadow .15s ease;
}
.taxivaldemarne_field:focus-within{border-color:var(--taxivdm-btn);box-shadow:0 0 0 3px rgba(0,0,0,.04);}
.taxivaldemarne_ico{display:inline-flex;color:var(--taxivdm-muted);flex:0 0 auto;}

.taxivaldemarne_input{
	border:0;outline:0;background:transparent;width:100%;height:52px;font-size:15px;
	color:var(--taxivdm-ink);-webkit-text-fill-color:var(--taxivdm-ink);
}
.taxivaldemarne_input::placeholder{color:var(--taxivdm-muted);-webkit-text-fill-color:var(--taxivdm-muted);opacity:1;}
.taxivaldemarne_textarea{height:auto;min-height:74px;padding:12px 0;resize:vertical;font-family:inherit;}

.taxivaldemarne_geo{
	border:0;background:transparent;cursor:pointer;color:var(--taxivdm-ink);
	display:inline-flex;align-items:center;justify-content:center;padding:6px;border-radius:8px;flex:0 0 auto;
}
.taxivaldemarne_geo:hover{background:#f1f3f6;}
.taxivaldemarne_geo.is-loading{opacity:.4;pointer-events:none;}

/* Steppers passagers / bagages : compacts, le nombre est un texte (visible partout) */
.taxivaldemarne_count{justify-content:center;gap:4px;padding:0 6px;}
.taxivaldemarne_count .taxivaldemarne_ico svg{width:16px;height:16px;}
.taxivaldemarne_step{
	border:0;background:#eef1f6;color:var(--taxivdm-ink);width:26px;height:26px;border-radius:8px;
	font-size:17px;line-height:1;cursor:pointer;flex:0 0 auto;display:flex;align-items:center;justify-content:center;
}
.taxivaldemarne_step:hover{background:#e2e7ee;}
.taxivaldemarne_num{
	min-width:22px;text-align:center;font-size:15px;font-weight:700;flex:0 0 auto;white-space:nowrap;
	color:var(--taxivdm-ink);-webkit-text-fill-color:var(--taxivdm-ink);
}

/* Champs Jour (JJ / MM / AAAA) et Heure (HH : MM) : une petite case par partie */
.taxivaldemarne_segs{display:flex;align-items:center;gap:1px;flex:1 1 auto;min-width:0;}
.taxivaldemarne_segs>*{min-width:0;}
.taxivaldemarne_sep{color:var(--taxivdm-muted);font-size:15px;line-height:1;flex:0 0 auto;}

/* Le thème dessine souvent un cadre autour des champs : on le retire pour garder
   un seul contour, celui du bloc blanc arrondi. */
.taxivaldemarne_wrap .taxivaldemarne_form .taxivaldemarne_input{
	border:0 !important;outline:0 !important;box-shadow:none !important;
	background:transparent !important;border-radius:0 !important;min-width:0 !important;
}
.taxivaldemarne_wrap .taxivaldemarne_form input.taxivaldemarne_input{padding:0 !important;height:52px !important;}
.taxivaldemarne_wrap .taxivaldemarne_form textarea.taxivaldemarne_input{padding:12px 0 !important;height:auto !important;}

.taxivaldemarne_wrap .taxivaldemarne_form .taxivaldemarne_seg{
	width:auto !important;flex:1 1 auto;min-width:0 !important;text-align:center;
	font-variant-numeric:tabular-nums;border-radius:6px !important;
}
.taxivaldemarne_wrap .taxivaldemarne_form .taxivaldemarne_seg_year{flex:2 1 auto;}
/* La case en cours de saisie est surlignée, comme dans un champ date du navigateur */
.taxivaldemarne_wrap .taxivaldemarne_form .taxivaldemarne_seg:focus{
	background:rgba(31,42,68,.08) !important;
}

/* Invalide */
.taxivaldemarne_field.is-invalid{border-color:#e05c5c;box-shadow:0 0 0 3px rgba(224,92,92,.15);}

/* Bouton */
.taxivaldemarne_btn{
	width:100%;border:0;border-radius:12px;cursor:pointer;
	background:var(--taxivdm-btn);color:var(--taxivdm-btn-text);-webkit-text-fill-color:var(--taxivdm-btn-text);
	font-size:15px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;
	padding:0 26px;height:54px;transition:filter .15s ease,transform .05s ease;white-space:nowrap;
}
.taxivaldemarne_btn:hover{filter:brightness(.95);}
.taxivaldemarne_btn:active{transform:translateY(1px);}
.taxivaldemarne_btn:disabled{opacity:.65;cursor:default;}

/* Étape 2 */
.taxivaldemarne_step2{margin-top:10px;}
.taxivaldemarne_step2[hidden]{display:none;}

/* Messages */
.taxivaldemarne_msg{margin-top:12px;padding:12px 14px;border-radius:12px;font-size:15px;}
.taxivaldemarne_msg.is-error{background:#fdecec;color:#b23b3b;border:1px solid #f3c4c4;}
.taxivaldemarne_msg.is-success{background:#e9f7ec;color:#2f7d3f;border:1px solid #bfe6c8;}

/* Mention reCAPTCHA */
.taxivaldemarne_rcinfo{margin:8px 2px 0;font-size:11px;line-height:1.4;color:rgba(31,42,68,.6);text-align:center;}
.taxivaldemarne_rcinfo a{color:inherit;text-decoration:underline;}

/* Honeypot */
.taxivaldemarne_hp{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden;}

/* ---------- Desktop ----------
   Les champs portent des styles en ligne (voir le PHP) pour résister aux plugins de
   cache : les règles ci-dessous doivent donc être marquées !important pour l'emporter. */
@media (min-width:992px){
	.taxivaldemarne_grid1 .taxivaldemarne_addr{flex:1.4 1 0 !important;min-width:150px !important;}
	.taxivaldemarne_grid1 .taxivaldemarne_col_jour,
	.taxivaldemarne_grid1 .taxivaldemarne_col_heure{flex:0 1 auto !important;min-width:0 !important;}
	.taxivaldemarne_grid1 .taxivaldemarne_count{flex:0 0 116px !important;}
	.taxivaldemarne_grid1 .taxivaldemarne_btn{flex:0 0 auto !important;width:auto !important;}

	.taxivaldemarne_grid2 .taxivaldemarne_col_half{flex:1 1 calc(50% - 5px) !important;}
	.taxivaldemarne_grid2 .taxivaldemarne_col_full{flex:1 1 100% !important;}
}
/* Grand écran : tout sur une seule ligne */
@media (min-width:1200px){
	.taxivaldemarne_grid1{flex-wrap:nowrap !important;}
}
/* Écran intermédiaire : adresses sur la 1re ligne, le reste sur la 2e */
@media (min-width:992px) and (max-width:1199px){
	.taxivaldemarne_grid1 .taxivaldemarne_addr{flex:1 1 calc(50% - 5px) !important;}
	.taxivaldemarne_grid1 .taxivaldemarne_btn{flex:1 0 auto !important;}
}

/* ---------- Mobile : adresses pleine largeur, jour + heure sur 1 ligne, passagers + bagages sur 1 ligne ---------- */
@media (max-width:991px){
	.taxivaldemarne_addr{flex:1 1 100%;}
	.taxivaldemarne_col_jour,.taxivaldemarne_col_heure{flex:1 1 calc(50% - 5px);min-width:0;}
	.taxivaldemarne_count{flex:1 1 calc(50% - 5px);}
	.taxivaldemarne_num{min-width:28px;}
}

/* ---------- Badge reCAPTCHA : seulement le carré Google, en bas à gauche ---------- */
.grecaptcha-badge{
	left:6px !important;right:auto !important;bottom:6px !important;
	width:70px !important;overflow:hidden !important;border-radius:3px;
	box-shadow:0 0 6px rgba(0,0,0,.2) !important;
}
