/* ==========================================================================
   Vectiss Rental – Wizard Premium Design v3
   ========================================================================== */

/* ===== Variables exclusivas del wizard (las compartidas vienen del inline CSS) ===== */
:root {
	/* Status */
	--vr-exito:       #059669;
	--vr-error:       #dc2626;
	--vr-advertencia: #d97706;
	--vr-blanco:      #ffffff;

	/* Radios */
	--vr-radio:    10px;
	--vr-radio-lg: 18px;
	--vr-radio-xl: 24px;

	/* Sombras premium multicapa */
	--vr-sombra-sm:  0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);
	--vr-sombra:     0 4px 14px rgba(0,0,0,.08), 0 2px 6px rgba(0,0,0,.04);
	--vr-sombra-md:  0 12px 30px rgba(0,0,0,.10), 0 4px 12px rgba(0,0,0,.05);
	--vr-sombra-lg:  0 24px 52px rgba(0,0,0,.12), 0 8px 18px rgba(0,0,0,.06);
	--vr-sombra-xl:  0 40px 80px rgba(0,0,0,.16), 0 14px 28px rgba(0,0,0,.08);

	/* Transición (--vr-fuente viene del inline CSS de helpers.php) */
	--vr-trans:  .22s cubic-bezier(.4,0,.2,1);
}

/* ================================================================
   OVERRIDE DE TEMA — alta especificidad en todas las clases clave
   del wizard para ganar sobre cualquier regla button/a/input del tema
   ================================================================ */

/* Inputs y selects */
body .vectiss-wizard .vectiss-input,
body .vectiss-wizard .vectiss-select {
	-webkit-appearance: none !important;
	appearance:         none !important;
	width:         100% !important;
	padding:       13px 16px !important;
	border:        1.5px solid var(--vr-borde, #e2e8f0) !important;
	border-radius: var(--vr-radio, 10px) !important;
	font-size:     15px !important;
	font-family:   var(--vr-fuente, inherit) !important;
	color:         var(--vr-texto, #0f172a) !important;
	background:    var(--vr-fondo, #f8fafc) !important;
	box-shadow:    none !important;
	outline:       none !important;
	line-height:   1.5 !important;
	margin:        0 !important;
	transition:    border-color var(--vr-trans, .22s), box-shadow var(--vr-trans, .22s), background var(--vr-trans, .22s) !important;
}
body .vectiss-wizard .vectiss-input:focus,
body .vectiss-wizard .vectiss-select:focus {
	background:   var(--vr-fondo-card, #fff) !important;
	border-color: var(--vr-primario, #2563eb) !important;
	box-shadow:   0 0 0 4px var(--vr-primario-alfa, rgba(37,99,235,.12)) !important;
}

/* Botón base */
body .vectiss-wizard .vectiss-btn {
	-webkit-appearance: none !important;
	appearance:         none !important;
	display:         inline-flex !important;
	align-items:     center !important;
	justify-content: center !important;
	gap:             8px !important;
	padding:         13px 28px !important;
	border-radius:   var(--vr-radio, 10px) !important;
	font-size:       15px !important;
	font-weight:     700 !important;
	font-family:     var(--vr-fuente, inherit) !important;
	border:          none !important;
	cursor:          pointer !important;
	text-decoration: none !important;
	text-transform:  none !important;
	letter-spacing:  .01em !important;
	line-height:     1.4 !important;
	margin:          0 !important;
	transition:      all var(--vr-trans, .22s) !important;
	position:        relative !important;
	overflow:        hidden !important;
}
body .vectiss-wizard .vectiss-btn:hover  { transform: translateY(-2px) !important; }
body .vectiss-wizard .vectiss-btn:active { transform: scale(.97) !important; }

/* Botón primario */
body .vectiss-wizard .vectiss-btn.vectiss-btn-primario,
body .vectiss-wizard .vectiss-btn-primario {
	background: linear-gradient(135deg, var(--vr-primario, #2563eb) 0%, var(--vr-acento, #0ea5e9) 200%) !important;
	color:      var(--vr-primario-texto, #fff) !important;
	box-shadow: 0 4px 16px var(--vr-primario-alfa, rgba(37,99,235,.30)) !important;
}
body .vectiss-wizard .vectiss-btn-primario:hover {
	color:      var(--vr-primario-texto, #fff) !important;
	box-shadow: var(--vr-primario-glow, 0 4px 18px rgba(37,99,235,.32)) !important;
	filter:     brightness(1.06) !important;
}

/* Botón secundario */
body .vectiss-wizard .vectiss-btn.vectiss-btn-secundario,
body .vectiss-wizard .vectiss-btn-secundario {
	background:  transparent !important;
	color:       var(--vr-texto-suave, #64748b) !important;
	border:      1.5px solid var(--vr-borde, #e2e8f0) !important;
	box-shadow:  var(--vr-sombra-sm) !important;
}
body .vectiss-wizard .vectiss-btn-secundario:hover {
	background:   var(--vr-fondo, #f1f5f9) !important;
	color:        var(--vr-texto, #0f172a) !important;
	border-color: var(--vr-borde-fuerte, #cbd5e1) !important;
}

/* Botón atrás */
body .vectiss-wizard .vectiss-btn-atras {
	-webkit-appearance: none !important;
	appearance:         none !important;
	display:        inline-flex !important;
	align-items:    center !important;
	gap:            6px !important;
	background:     none !important;
	border:         none !important;
	color:          var(--vr-texto-suave, #64748b) !important;
	font-size:      13px !important;
	font-weight:    600 !important;
	cursor:         pointer !important;
	padding:        7px 12px !important;
	font-family:    var(--vr-fuente, inherit) !important;
	border-radius:  var(--vr-radio, 10px) !important;
	text-decoration: none !important;
	text-transform:  none !important;
	letter-spacing:  normal !important;
	box-shadow:     none !important;
	margin:         0 !important;
	line-height:    1.4 !important;
}
body .vectiss-wizard .vectiss-btn-atras:hover {
	background: var(--vr-fondo, #f1f5f9) !important;
	color:      var(--vr-primario, #2563eb) !important;
}

/* Botón deshabilitado */
body .vectiss-wizard .vectiss-btn-deshabilitado {
	-webkit-appearance: none !important;
	appearance:         none !important;
	background: var(--vr-borde, #e2e8f0) !important;
	color:      var(--vr-texto-muted, #94a3b8) !important;
	cursor:     not-allowed !important;
	opacity:    .65 !important;
	box-shadow: none !important;
	border:     none !important;
	transform:  none !important;
	filter:     none !important;
}
body .vectiss-wizard .vectiss-btn-deshabilitado:hover {
	transform:  none !important;
	box-shadow: none !important;
	filter:     none !important;
}

/* Botón cancelar restaurar */
body .vectiss-wizard .vr-btn-restaurar-cancelar {
	-webkit-appearance: none !important;
	appearance:         none !important;
	background:    transparent !important;
	border:        1.5px solid var(--vr-borde-fuerte, #cbd5e1) !important;
	border-radius: var(--vr-radio, 10px) !important;
	color:         var(--vr-texto-suave, #64748b) !important;
	font-size:     13px !important;
	font-weight:   600 !important;
	padding:       9px 18px !important;
	cursor:        pointer !important;
	font-family:   var(--vr-fuente, inherit) !important;
	transition:    all var(--vr-trans, .22s) !important;
	min-height:    42px !important;
	box-shadow:    none !important;
	text-decoration: none !important;
	text-transform:  none !important;
}
body .vectiss-wizard .vr-btn-restaurar-cancelar:hover {
	border-color: var(--vr-error, #dc2626) !important;
	color:        var(--vr-error, #dc2626) !important;
	background:   rgba(220,38,38,.05) !important;
}

/* ================================================================
   CONTENEDOR WIZARD
   ================================================================ */
.vectiss-wizard {
	font-family: var(--vr-fuente);
	color:       var(--vr-texto, #0f172a);
	max-width:   var(--vr-max-ancho, 1320px);
	margin:      0 auto;
	padding:     36px 20px 80px;
	box-sizing:  border-box;
}
.vectiss-wizard *,
.vectiss-wizard *::before,
.vectiss-wizard *::after { box-sizing: inherit; }

/* ================================================================
   STEP NAVIGATOR — barra de progreso premium
   ================================================================ */
.vectiss-pasos-nav { margin-bottom: 48px; }

.vectiss-pasos-lista {
	display:    flex;
	list-style: none;
	margin:     0;
	padding:    0;
	position:   relative;
}

/* Línea de fondo */
.vectiss-pasos-lista::before {
	content:    '';
	position:   absolute;
	top:        23px;
	left:       calc(100% / 12);
	right:      calc(100% / 12);
	height:     2px;
	background: var(--vr-borde, #e2e8f0);
	z-index:    0;
	border-radius: 2px;
}

/* Línea de progreso (animada, cubierta por JS via data-paso-actual) */
.vectiss-pasos-lista::after {
	content:    '';
	position:   absolute;
	top:        23px;
	left:       calc(100% / 12);
	height:     2px;
	background: linear-gradient(90deg, var(--vr-primario, #2563eb), var(--vr-acento, #0ea5e9));
	z-index:    0;
	border-radius: 2px;
	transition: width .4s cubic-bezier(.4,0,.2,1);
	width: 0;
}

/* Avance de la línea por paso activo */
#vectiss-wizard[data-paso-actual="1"] .vectiss-pasos-lista::after { width: 0; }
#vectiss-wizard[data-paso-actual="2"] .vectiss-pasos-lista::after { width: calc(100% / 6 * 1 - 100% / 12 * 2 + 100% / 6); }
#vectiss-wizard[data-paso-actual="3"] .vectiss-pasos-lista::after { width: calc(100% / 6 * 2 + 100% / 6 - 100% / 12 * 2); }
#vectiss-wizard[data-paso-actual="4"] .vectiss-pasos-lista::after { width: calc(100% / 6 * 3 + 100% / 6 - 100% / 12 * 2); }
#vectiss-wizard[data-paso-actual="5"] .vectiss-pasos-lista::after { width: calc(100% / 6 * 4 + 100% / 6 - 100% / 12 * 2); }
#vectiss-wizard[data-paso-actual="6"] .vectiss-pasos-lista::after { width: calc(100% - 100% / 6); }

.vectiss-paso-nav {
	flex:           1;
	display:        flex;
	flex-direction: column;
	align-items:    center;
	gap:            9px;
	position:       relative;
	z-index:        1;
}

.vectiss-paso-num {
	width:          48px;
	height:         48px;
	border-radius:  50%;
	background:     var(--vr-blanco);
	border:         2px solid var(--vr-borde, #e2e8f0);
	color:          var(--vr-texto-muted, #94a3b8);
	font-size:      13px;
	font-weight:    800;
	display:        flex;
	align-items:    center;
	justify-content: center;
	position:       relative;
	z-index:        1;
	transition:     all var(--vr-trans);
	box-shadow:     var(--vr-sombra-sm);
	letter-spacing: -.01em;
}

.vectiss-paso-label {
	font-size:      10px;
	color:          var(--vr-texto-muted, #94a3b8);
	text-align:     center;
	font-weight:    700;
	letter-spacing: .05em;
	white-space:    nowrap;
	text-transform: uppercase;
	transition:     color var(--vr-trans);
}

/* Activo */
.vectiss-paso-nav.activo .vectiss-paso-num {
	background:   var(--vr-primario, #2563eb);
	border-color: var(--vr-primario, #2563eb);
	color:        var(--vr-primario-texto, #fff);
	box-shadow:   0 0 0 6px var(--vr-primario-alfa, rgba(37,99,235,.12)),
	              0 4px 18px var(--vr-primario-alfa, rgba(37,99,235,.12));
	transform:    scale(1.2);
}
.vectiss-paso-nav.activo .vectiss-paso-label {
	color:       var(--vr-primario, #2563eb);
	font-weight: 800;
}

/* Completado */
.vectiss-paso-nav.completado .vectiss-paso-num {
	background:   var(--vr-completado, #059669);
	border-color: var(--vr-completado, #059669);
	color:        #fff;
	font-size:    0;
	box-shadow:   0 4px 14px var(--vr-completado-alfa, rgba(5,150,105,.30));
	transform:    scale(1.05);
}
.vectiss-paso-nav.completado .vectiss-paso-num::after {
	content:      '';
	width:        10px;
	height:       6px;
	border-left:  2.5px solid #fff;
	border-bottom: 2.5px solid #fff;
	transform:    rotate(-45deg) translateY(-1px);
	display:      block;
}
.vectiss-paso-nav.completado .vectiss-paso-label { color: var(--vr-completado, #059669); }

/* ================================================================
   ANIMACIÓN DE ENTRADA DE PASO
   ================================================================ */
.vectiss-paso { display: none; }
.vectiss-paso.activo {
	display:   block;
	animation: vr-entrar .3s cubic-bezier(.4,0,.2,1);
}
@keyframes vr-entrar {
	from { opacity: 0; transform: translateY(14px); }
	to   { opacity: 1; transform: translateY(0); }
}

/* ================================================================
   SECCIÓN DE PASO — card principal
   ================================================================ */
.vectiss-seccion-paso {
	background:    var(--vr-fondo-card, #fff);
	border:        1px solid var(--vr-borde, #e2e8f0);
	border-radius: var(--vr-radio-xl);
	box-shadow:    var(--vr-sombra-lg);
	position:      relative;
	overflow:      hidden;
	padding:       44px;
}

/* Línea superior de acento */
.vectiss-seccion-paso::before {
	content:   '';
	position:  absolute;
	top: 0; left: 0; right: 0;
	height:    3px;
	background: linear-gradient(90deg, var(--vr-primario, #2563eb) 0%, var(--vr-acento, #0ea5e9) 60%, transparent 100%);
}

/* ================================================================
   HERO — paso 1 búsqueda
   ================================================================ */
.vectiss-paso-busqueda::before { display: none; }

.vr-hero {
	background: linear-gradient(135deg, var(--vr-hero-inicio, #071446) 0%, var(--vr-hero-fin, #2563eb) 100%);
	margin:     -44px -44px 40px;
	padding:    56px 44px 52px;
	position:   relative;
	overflow:   hidden;
}

/* Círculos decorativos */
.vr-hero::before,
.vr-hero::after {
	content:    '';
	position:   absolute;
	border-radius: 50%;
	pointer-events: none;
}
.vr-hero::before {
	width:   440px; height: 440px;
	top:     -160px; right: -100px;
	background: radial-gradient(circle, rgba(255,255,255,.07) 0%, transparent 70%);
}
.vr-hero::after {
	width:   260px; height: 260px;
	bottom:  -100px; left: -70px;
	background: radial-gradient(circle, var(--vr-acento, #0ea5e9) 0%, transparent 70%);
	opacity: .12;
}

.vr-hero-inner {
	position:  relative;
	z-index:   1;
	max-width: 620px;
}

.vr-hero-badge {
	display:       inline-flex;
	align-items:   center;
	gap:           6px;
	background:    rgba(255,255,255,.14);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	color:         #fff;
	font-size:     11px;
	font-weight:   700;
	letter-spacing: .07em;
	text-transform: uppercase;
	padding:       5px 14px;
	border-radius: 20px;
	margin-bottom: 20px;
	border:        1px solid rgba(255,255,255,.22);
}

.vr-hero-titulo {
	font-size:      40px;
	font-weight:    900;
	color:          #fff;
	margin:         0 0 12px;
	line-height:    1.1;
	letter-spacing: -.035em;
}

.vr-hero-sub {
	color:       rgba(255,255,255,.75);
	font-size:   15px;
	margin:      0 0 30px;
	line-height: 1.65;
}

.vr-hero-stats {
	display:     flex;
	align-items: center;
}
.vr-hero-stat {
	display:        flex;
	flex-direction: column;
	gap:            2px;
	padding-right:  26px;
}
.vr-hero-stat strong {
	font-size:   23px;
	font-weight: 900;
	color:       #fff;
	line-height: 1;
}
.vr-hero-stat span {
	font-size:  11px;
	color:      rgba(255,255,255,.65);
	font-weight: 500;
}
.vr-hero-stat-sep {
	width:       1px;
	height:      38px;
	background:  rgba(255,255,255,.22);
	margin:      0 26px 0 0;
	flex-shrink: 0;
}

/* Formulario debajo del hero */
.vr-form-shell { padding: 0; }

.vr-form-heading {
	display:        flex;
	align-items:    center;
	gap:            8px;
	font-size:      11px;
	font-weight:    800;
	text-transform: uppercase;
	letter-spacing: .09em;
	color:          var(--vr-texto-suave, #64748b);
	margin:         0 0 24px;
	padding-bottom: 16px;
	border-bottom:  1px solid var(--vr-borde, #e2e8f0);
}

/* ================================================================
   TÍTULOS
   ================================================================ */
.vectiss-titulo-paso {
	font-size:      26px;
	font-weight:    900;
	margin:         0 0 32px;
	line-height:    1.15;
	color:          var(--vr-texto, #0f172a);
	letter-spacing: -.025em;
}

.vectiss-subtitulo {
	font-size:      10px;
	font-weight:    800;
	text-transform: uppercase;
	letter-spacing: .1em;
	color:          var(--vr-texto-muted, #94a3b8);
	margin:         0 0 14px;
	padding-bottom: 10px;
	border-bottom:  1px solid var(--vr-borde, #e2e8f0);
}

.vectiss-cabecera-paso {
	display:         flex;
	align-items:     center;
	justify-content: space-between;
	flex-wrap:       wrap;
	gap:             10px;
	margin-bottom:   28px;
}
.vectiss-cabecera-paso .vectiss-titulo-paso { margin: 0; }

/* ================================================================
   FORMULARIOS
   ================================================================ */
.vectiss-form { display: flex; flex-direction: column; gap: 24px; }

.vectiss-fila-dos-col {
	display:               grid;
	grid-template-columns: 1fr 1fr;
	gap:                   20px;
}

.vectiss-campo-grupo { display: flex; flex-direction: column; gap: 8px; }

.vectiss-label {
	display:        flex;
	align-items:    center;
	gap:            6px;
	font-size:      13px;
	font-weight:    700;
	color:          var(--vr-texto, #0f172a);
	letter-spacing: .01em;
}
.vectiss-requerido { color: var(--vr-error); margin-left: 1px; }

.vectiss-input,
.vectiss-select {
	width:         100%;
	padding:       13px 16px;
	border:        1.5px solid var(--vr-borde, #e2e8f0);
	border-radius: var(--vr-radio);
	font-size:     15px;
	font-family:   var(--vr-fuente);
	color:         var(--vr-texto, #0f172a);
	background:    #f8fafc;
	transition:    border-color var(--vr-trans), box-shadow var(--vr-trans), background var(--vr-trans);
	outline:       none;
	-webkit-appearance: none;
	appearance:    none;
	line-height:   1.5;
}
.vectiss-input:hover,
.vectiss-select:hover {
	background:   var(--vr-blanco);
	border-color: var(--vr-borde-fuerte, #cbd5e1);
}
.vectiss-input:focus,
.vectiss-select:focus {
	background:   var(--vr-blanco);
	border-color: var(--vr-primario, #2563eb);
	box-shadow:   0 0 0 4px var(--vr-primario-alfa, rgba(37,99,235,.12));
}
.vectiss-input.vectiss-input-error,
.vectiss-select.vectiss-input-error {
	border-color: var(--vr-error);
	box-shadow:   0 0 0 3px rgba(220,38,38,.10);
}
.vectiss-error-campo {
	font-size:  12px;
	color:      var(--vr-error);
	min-height: 16px;
	font-weight: 600;
}

.vectiss-label-check {
	display:     flex;
	align-items: flex-start;
	gap:         10px;
	font-size:   14px;
	cursor:      pointer;
	line-height: 1.6;
	color:       var(--vr-texto-suave, #64748b);
}
.vectiss-label-check input[type="checkbox"] {
	width:        18px;
	height:       18px;
	margin-top:   2px;
	flex-shrink:  0;
	accent-color: var(--vr-primario, #2563eb);
	cursor:       pointer;
}

/* ================================================================
   BOTONES
   ================================================================ */
.vectiss-btn {
	display:         inline-flex;
	align-items:     center;
	justify-content: center;
	gap:             8px;
	padding:         13px 28px;
	border-radius:   var(--vr-radio);
	font-size:       15px;
	font-weight:     700;
	font-family:     var(--vr-fuente);
	border:          none;
	cursor:          pointer;
	transition:      all var(--vr-trans);
	text-decoration: none;
	line-height:     1.4;
	letter-spacing:  .01em;
	position:        relative;
	overflow:        hidden;
}
.vectiss-btn:hover  { transform: translateY(-2px); }
.vectiss-btn:active { transform: scale(.97); }

/* Primario */
.vectiss-btn-primario {
	background: linear-gradient(135deg, var(--vr-primario, #2563eb) 0%, var(--vr-acento, #0ea5e9) 200%);
	color:      var(--vr-primario-texto, #fff);
	box-shadow: 0 4px 16px var(--vr-primario-alfa, rgba(37,99,235,.30));
}
.vectiss-btn-primario:hover {
	color:      var(--vr-primario-texto, #fff);
	box-shadow: var(--vr-primario-glow, 0 4px 18px rgba(37,99,235,.32));
	filter:     brightness(1.06);
}

/* Efecto shine */
.vectiss-btn-primario::after {
	content:    '';
	position:   absolute;
	top: 0; left: -100%; right: 100%; bottom: 0;
	background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,.16) 50%, transparent 100%);
	transition: left .45s ease, right .45s ease;
	pointer-events: none;
}
.vectiss-btn-primario:hover::after { left: 100%; right: -100%; }

/* Secundario */
.vectiss-btn-secundario {
	background:  transparent;
	color:       var(--vr-texto-suave, #64748b);
	border:      1.5px solid var(--vr-borde, #e2e8f0);
	box-shadow:  var(--vr-sombra-sm);
}
.vectiss-btn-secundario:hover {
	background:   var(--vr-fondo, #f1f5f9);
	color:        var(--vr-texto, #0f172a);
	border-color: var(--vr-borde-fuerte, #cbd5e1);
}

/* Grande */
.vectiss-btn-grande {
	padding:       16px 38px;
	font-size:     16px;
	border-radius: 12px;
}

/* Buscar */
.vectiss-btn-buscar-wiz {
	padding:   16px 48px;
	font-size: 16px;
}

/* Seleccionar vehículo */
.vectiss-btn-selec-wiz {
	width:         100%;
	margin-top:    0;
	padding:       13px 20px;
	letter-spacing: .01em;
}

/* Deshabilitado */
.vectiss-btn-deshabilitado {
	background: var(--vr-borde, #e2e8f0) !important;
	color:      var(--vr-texto-muted, #94a3b8) !important;
	cursor:     not-allowed !important;
	opacity:    .65 !important;
	box-shadow: none !important;
}
.vectiss-btn-deshabilitado:hover { transform: none !important; box-shadow: none !important; filter: none !important; }

/* Atrás */
.vectiss-btn-atras {
	display:     inline-flex;
	align-items: center;
	gap:         6px;
	background:  none;
	border:      none;
	color:       var(--vr-texto-suave, #64748b);
	font-size:   13px;
	font-weight: 600;
	cursor:      pointer;
	padding:     7px 12px;
	font-family: var(--vr-fuente);
	border-radius: var(--vr-radio);
	transition:  all var(--vr-trans);
	text-decoration: none;
}
.vectiss-btn-atras:hover {
	background: var(--vr-fondo, #f1f5f9);
	color:      var(--vr-primario, #2563eb);
}

/* WhatsApp */
.vr-btn-wsp {
	background: linear-gradient(135deg, #25d366 0%, #1fb059 100%);
	color:      #fff !important;
	box-shadow: 0 4px 16px rgba(37,211,102,.28);
}
.vr-btn-wsp:hover {
	color:      #fff !important;
	box-shadow: 0 6px 22px rgba(37,211,102,.38);
	filter:     brightness(1.05);
}

/* ================================================================
   ACCIONES DE PASO
   ================================================================ */
.vectiss-acciones-paso {
	display:         flex;
	justify-content: flex-end;
	gap:             12px;
	margin-top:      36px;
	padding-top:     28px;
	border-top:      1px solid var(--vr-borde, #e2e8f0);
}
.vectiss-acciones-dobles { justify-content: space-between; }

.vr-resumen-acciones {
	display:         flex;
	justify-content: space-between;
	align-items:     center;
	gap:             12px;
	margin-top:      28px;
	padding-top:     26px;
	border-top:      1px solid var(--vr-borde, #e2e8f0);
	flex-wrap:       wrap;
}
.vr-acciones-pago { display: flex; gap: 10px; flex-wrap: wrap; }

/* ================================================================
   ALERTAS
   ================================================================ */
.vectiss-alerta {
	display:       flex;
	gap:           12px;
	padding:       15px 20px;
	border-radius: var(--vr-radio);
	font-size:     14px;
	font-weight:   500;
	margin-bottom: 22px;
	line-height:   1.55;
	align-items:   flex-start;
}
.vectiss-alerta-error   { background: #fef2f2; border: 1px solid rgba(220,38,38,.15); border-left: 4px solid var(--vr-error);      color: #991b1b; }
.vectiss-alerta-exito   { background: #f0fdf4; border: 1px solid rgba(5,150,105,.15); border-left: 4px solid var(--vr-exito);       color: #065f46; }
.vectiss-alerta-info    { background: #eff6ff; border: 1px solid var(--vr-primario-alfa, rgba(37,99,235,.12)); border-left: 4px solid var(--vr-primario, #2563eb); color: #1e40af; }

/* ================================================================
   OVERLAY DE CARGA
   ================================================================ */
.vectiss-overlay-carga {
	position:   fixed;
	inset:      0;
	background: rgba(15,23,42,.6);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	z-index:    99999;
	display:    flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap:        22px;
}

.vectiss-spinner {
	width:        56px;
	height:       56px;
	border:       3px solid rgba(255,255,255,.2);
	border-top-color: var(--vr-primario, #2563eb);
	border-radius: 50%;
	animation:    vr-girar .65s linear infinite;
}
.vectiss-spinner-pequeno {
	width:        30px;
	height:       30px;
	border:       2.5px solid var(--vr-borde, #e2e8f0);
	border-top-color: var(--vr-primario, #2563eb);
	border-radius: 50%;
	animation:    vr-girar .65s linear infinite;
	margin:       18px auto 0;
}
@keyframes vr-girar { to { transform: rotate(360deg); } }

.vectiss-carga-texto {
	font-size:   17px;
	color:       #fff;
	margin:      0;
	font-weight: 700;
	letter-spacing: -.01em;
}
.vectiss-cargando-texto {
	color:      var(--vr-texto-muted, #94a3b8);
	font-style: italic;
	text-align: center;
	padding:    30px 0;
	font-size:  14px;
}

/* ================================================================
   CHIP DE BÚSQUEDA
   ================================================================ */
.vectiss-resumen-busqueda { margin-bottom: 28px; }
.vectiss-chip-busqueda {
	display:       flex;
	flex-wrap:     wrap;
	gap:           8px;
	align-items:   center;
	background:    linear-gradient(135deg, var(--vr-fondo, #f1f5f9) 0%, var(--vr-blanco) 100%);
	border:        1px solid var(--vr-borde, #e2e8f0);
	border-radius: var(--vr-radio);
	padding:       12px 18px;
	box-shadow:    var(--vr-sombra-sm);
}
.vr-chip {
	background:    var(--vr-blanco);
	border:        1px solid var(--vr-borde, #e2e8f0);
	border-radius: 20px;
	padding:       5px 14px;
	font-size:     13px;
	color:         var(--vr-texto, #0f172a);
	font-weight:   700;
	box-shadow:    var(--vr-sombra-sm);
}
.vr-chip-fecha {
	background:    var(--vr-primario-alfa, rgba(37,99,235,.10));
	border:        1px solid rgba(37,99,235,.18);
	border-radius: 20px;
	padding:       5px 14px;
	font-size:     13px;
	color:         var(--vr-primario, #2563eb);
	font-weight:   700;
}
.vr-chip-sep { font-size: 16px; color: var(--vr-texto-muted, #94a3b8); font-weight: 700; }

/* ================================================================
   TARJETAS DE VEHÍCULO en wizard — contexto extra
   ================================================================ */

/* Overlay de no disponible sobre la foto */
.vr-overlay-no-disp {
	position:    absolute;
	inset:       0;
	background:  rgba(15,23,42,.68);
	display:     flex;
	align-items: center;
	justify-content: center;
	z-index:     3;
}
.vr-overlay-no-disp span {
	background:     rgba(220,38,38,.9);
	color:          #fff;
	font-size:      11px;
	font-weight:    800;
	text-transform: uppercase;
	letter-spacing: .07em;
	padding:        5px 16px;
	border-radius:  20px;
}

/* Footer de tarjeta de vehículo */
.vr-card-footer {
	margin-top:  auto;
	padding:     14px 20px 20px;
	border-top:  1px solid var(--vr-borde, #e2e8f0);
}

/* ================================================================
   OPCIONES (seguros / extras) — paso 3
   ================================================================ */
.vectiss-opciones-contenedor {
	display:               grid;
	grid-template-columns: 1fr 340px;
	gap:                   32px;
	align-items:           start;
}

.vectiss-lista-opciones { display: flex; flex-direction: column; gap: 10px; margin-bottom: 24px; }

.vectiss-opcion-item {
	border:        1.5px solid var(--vr-borde, #e2e8f0);
	border-radius: var(--vr-radio);
	overflow:      hidden;
	background:    var(--vr-blanco);
	transition:    border-color var(--vr-trans), box-shadow var(--vr-trans), background var(--vr-trans);
}
.vectiss-opcion-item:hover {
	border-color: var(--vr-borde-fuerte, #cbd5e1);
	box-shadow:   var(--vr-sombra);
}
.vr-opcion-seleccionada,
.vectiss-opcion-item:has(input:checked) {
	border-color: var(--vr-primario, #2563eb);
	box-shadow:   0 0 0 3px var(--vr-primario-alfa, rgba(37,99,235,.12));
	background:   color-mix(in srgb, var(--vr-primario, #2563eb) 4%, white);
}

/* Radio/checkbox ocultos */
.vr-radio-real, .vr-check-real { display: none; }

/* Icono de opción */
.vr-opcion-icono {
	width:          40px;
	height:         40px;
	border-radius:  10px;
	background:     var(--vr-primario-alfa, rgba(37,99,235,.10));
	display:        flex;
	align-items:    center;
	justify-content: center;
	flex-shrink:    0;
	transition:     background var(--vr-trans);
}
.vr-opcion-seleccionada .vr-opcion-icono { background: var(--vr-primario-alfa, rgba(37,99,235,.12)); }

.vectiss-opcion-item label,
.vectiss-check-extra {
	display:     flex;
	align-items: flex-start;
	gap:         14px;
	padding:     18px 20px;
	cursor:      pointer;
	width:       100%;
}

.vectiss-opcion-info           { flex: 1; min-width: 0; }
.vectiss-opcion-info strong    { display: block; font-size: 14px; font-weight: 700; margin-bottom: 3px; color: var(--vr-texto, #0f172a); }
.vectiss-opcion-desc           { font-size: 12px; color: var(--vr-texto-suave, #64748b); margin: 0 0 4px; line-height: 1.5; }
.vectiss-sin-opciones          { color: var(--vr-texto-suave, #64748b); font-style: italic; font-size: 14px; padding: 12px 0; }

.vr-opcion-precio-col  { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; flex-shrink: 0; }
.vectiss-opcion-precio { font-size: 16px; font-weight: 800; color: var(--vr-primario, #2563eb); }
.vr-opcion-periodo     { font-size: 11px; color: var(--vr-texto-muted, #94a3b8); font-weight: 500; }

.vectiss-cantidad-extra {
	padding:    10px 20px;
	background: var(--vr-fondo, #f1f5f9);
	border-top: 1px solid var(--vr-borde, #e2e8f0);
}
.vectiss-cantidad-extra label { display: flex; align-items: center; gap: 8px; font-size: 13px; cursor: auto; color: var(--vr-texto-suave, #64748b); }
.vr-cantidad-label { font-weight: 600; }
.vectiss-input-cantidad { width: 72px !important; padding: 6px 8px !important; font-size: 14px !important; text-align: center; }

/* ================================================================
   CAJA DE COTIZACIÓN — sidebar premium
   ================================================================ */
.vectiss-caja-cotizacion {
	background:    var(--vr-blanco);
	border:        1.5px solid var(--vr-borde, #e2e8f0);
	border-radius: var(--vr-radio-lg);
	overflow:      hidden;
	position:      sticky;
	top:           24px;
	box-shadow:    var(--vr-sombra-md);
}

/* Cabecera oscura */
.vectiss-caja-cotizacion > .vectiss-subtitulo:first-child {
	background:    linear-gradient(135deg, #0f172a 0%, #1e3a5f 100%);
	color:         #fff !important;
	border-bottom: none;
	padding:       18px 22px;
	margin:        0;
	font-size:     10px;
	letter-spacing: .12em;
}

#vectiss-detalle-cotizacion { padding: 16px 22px 0; }
#vectiss-total-cotizacion   { padding: 8px 22px 22px; }

.vectiss-cotizacion-linea {
	display:         flex;
	justify-content: space-between;
	gap:             10px;
	font-size:       13px;
	padding:         9px 0;
	border-bottom:   1px solid var(--vr-borde, #e2e8f0);
	color:           var(--vr-texto-suave, #64748b);
}
.vectiss-cotizacion-linea:last-of-type { border-bottom: none; }
.vectiss-cotizacion-linea span:last-child { font-weight: 700; color: var(--vr-texto, #0f172a); }

.vectiss-descuento { color: var(--vr-exito) !important; }
.vectiss-descuento span { color: var(--vr-exito) !important; }

.vr-impuesto { color: var(--vr-advertencia) !important; font-style: italic; }
.vr-impuesto span { color: var(--vr-advertencia) !important; }

.vectiss-cotizacion-linea.vr-subtotal { border-top: 1px dashed var(--vr-borde-fuerte, #cbd5e1); margin-top: 4px; }

/* Línea total */
.vectiss-total-linea {
	display:         flex;
	justify-content: space-between;
	align-items:     center;
	padding:         16px 0 0;
	margin-top:      10px;
	border-top:      2px solid var(--vr-borde-fuerte, #cbd5e1);
}
.vectiss-total-linea > span {
	font-size:      11px;
	font-weight:    800;
	color:          var(--vr-texto-suave, #64748b);
	text-transform: uppercase;
	letter-spacing: .09em;
}
.vectiss-precio-total {
	font-size:      30px;
	font-weight:    900;
	color:          var(--vr-primario, #2563eb);
	letter-spacing: -.03em;
}

/* ================================================================
   PREVIEW RESERVA — paso 5
   ================================================================ */
.vectiss-preview-reserva  { margin-bottom: 0; }
.vectiss-preview-grid {
	display:               grid;
	grid-template-columns: 1fr 1fr;
	gap:                   16px;
}

.vectiss-preview-seccion {
	background:    var(--vr-fondo, #f8fafc);
	border:        1px solid var(--vr-borde, #e2e8f0);
	border-left:   3px solid var(--vr-primario, #2563eb);
	border-radius: var(--vr-radio);
	padding:       20px;
	transition:    box-shadow var(--vr-trans);
}
.vectiss-preview-seccion:hover { box-shadow: var(--vr-sombra); }

.vectiss-preview-seccion h3 {
	font-size:      10px;
	font-weight:    800;
	text-transform: uppercase;
	letter-spacing: .11em;
	color:          var(--vr-primario, #2563eb);
	margin:         0 0 14px;
	padding-bottom: 8px;
	border-bottom:  1px solid var(--vr-borde, #e2e8f0);
}
.vectiss-preview-seccion p {
	font-size:   14px;
	margin:      0 0 6px;
	line-height: 1.65;
	color:       var(--vr-texto, #0f172a);
}
.vr-fecha { color: var(--vr-texto-suave, #64748b); font-size: 13px; }

.vectiss-preview-foto {
	width:         100%;
	border-radius: 8px;
	object-fit:    cover;
	max-height:    130px;
	margin-bottom: 12px;
	display:       block;
}

/* Total en preview */
.vr-total-preview {
	padding:         16px 0 0;
	margin-top:      14px;
	border-top:      2px solid var(--vr-borde-fuerte, #cbd5e1);
	display:         flex;
	justify-content: space-between;
	align-items:     center;
	font-weight:     800;
	font-size:       14px;
	color:           var(--vr-texto-suave, #64748b);
}
.vr-total-preview strong {
	color:          var(--vr-primario, #2563eb);
	font-size:      24px;
	font-weight:    900;
	letter-spacing: -.025em;
}

/* Líneas de cotización dentro del preview */
.vectiss-preview-seccion .vectiss-cotizacion-linea { font-size: 13px; padding: 7px 0; }

/* ================================================================
   SIN RESULTADOS
   ================================================================ */
.vectiss-sin-resultados {
	text-align:  center;
	padding:     72px 24px;
	color:       var(--vr-texto-suave, #64748b);
}

/* ================================================================
   CONFIRMACIÓN — paso 6
   ================================================================ */
.vectiss-confirmacion {
	text-align: center;
	padding:    60px 40px;
}

.vectiss-icono-estado {
	width:         84px;
	height:        84px;
	border-radius: 50%;
	display:       flex;
	align-items:   center;
	justify-content: center;
	font-size:     36px;
	margin:        0 auto 26px;
	line-height:   1;
}
.vectiss-icono-estado.vectiss-exito {
	background: rgba(5,150,105,.10);
	color:      var(--vr-exito);
	box-shadow: 0 0 0 12px rgba(5,150,105,.07), var(--vr-sombra-md);
	animation:  vr-pop .5s cubic-bezier(.175,.885,.32,1.275);
}
.vectiss-icono-estado.vectiss-error {
	background: rgba(220,38,38,.10);
	color:      var(--vr-error);
	box-shadow: 0 0 0 10px rgba(220,38,38,.07);
}
.vectiss-icono-estado.vectiss-pendiente {
	background: rgba(217,119,6,.10);
	color:      var(--vr-advertencia);
	box-shadow: 0 0 0 10px rgba(217,119,6,.07);
}

@keyframes vr-pop {
	from { transform: scale(0); opacity: 0; }
	60%  { transform: scale(1.15); }
	to   { transform: scale(1); opacity: 1; }
}

.vectiss-caja-detalle {
	background:    var(--vr-fondo, #f8fafc);
	border:        1px solid var(--vr-borde, #e2e8f0);
	border-radius: var(--vr-radio-lg);
	padding:       26px 30px;
	margin:        28px auto 0;
	max-width:     500px;
	text-align:    left;
	font-size:     14px;
	line-height:   1.7;
	box-shadow:    var(--vr-sombra-sm);
}

/* Tabla de confirmación */
.vr-tabla-confirmacion { width: 100%; border-collapse: collapse; font-size: 14px; }
.vr-tabla-confirmacion th,
.vr-tabla-confirmacion td {
	padding:       10px 4px;
	border-bottom: 1px solid var(--vr-borde, #e2e8f0);
	text-align:    left;
	vertical-align: top;
}
.vr-tabla-confirmacion th {
	font-size:      10px;
	font-weight:    700;
	color:          var(--vr-texto-suave, #64748b);
	text-transform: uppercase;
	letter-spacing: .07em;
	width:          130px;
	padding-right:  16px;
}
.vr-tabla-confirmacion td { color: var(--vr-texto, #0f172a); font-weight: 500; }
.vr-tabla-confirmacion tr:last-child th,
.vr-tabla-confirmacion tr:last-child td { border-bottom: none; }

/* ================================================================
   GRID DE VEHÍCULOS — paso 2
   ================================================================ */
#vectiss-lista-vehiculos.vectiss-grid-vehiculos {
	display:               grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap:                   24px !important;
	list-style:            none !important;
	padding:               0 !important;
	margin:                0 !important;
}

/* ================================================================
   BANNER DE VEHÍCULO PRESELECCIONADO
   ================================================================ */
.vr-banner-presel {
	display:       flex;
	align-items:   center;
	gap:           14px;
	padding:       16px 20px;
	background:    linear-gradient(135deg, var(--vr-primario-alfa, rgba(37,99,235,.10)) 0%, var(--vr-blanco) 100%);
	border:        1.5px solid var(--vr-primario, #2563eb);
	border-radius: var(--vr-radio);
	margin-bottom: 26px;
	box-shadow:    0 0 0 3px var(--vr-primario-alfa, rgba(37,99,235,.10));
	flex-wrap:     wrap;
}
.vr-banner-presel-ico {
	width:           44px;
	height:          44px;
	border-radius:   11px;
	background:      var(--vr-primario, #2563eb);
	color:           #fff;
	display:         flex;
	align-items:     center;
	justify-content: center;
	flex-shrink:     0;
}
.vr-banner-presel-texto {
	flex:           1;
	display:        flex;
	flex-direction: column;
	gap:            3px;
	min-width:      0;
}
.vr-banner-presel-texto strong {
	font-size:   14px;
	font-weight: 700;
	color:       var(--vr-texto, #0f172a);
	overflow:    hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.vr-banner-presel-texto span { font-size: 12px; color: var(--vr-texto-suave, #64748b); }
.vr-banner-presel-cambiar {
	background:    transparent;
	border:        1.5px solid var(--vr-borde-fuerte, #cbd5e1);
	border-radius: var(--vr-radio);
	color:         var(--vr-texto-suave, #64748b);
	font-size:     12px;
	font-weight:   600;
	padding:       8px 16px;
	cursor:        pointer;
	font-family:   var(--vr-fuente);
	flex-shrink:   0;
	transition:    all var(--vr-trans);
	min-height:    36px;
}
.vr-banner-presel-cambiar:hover {
	background:   var(--vr-fondo, #f1f5f9);
	color:        var(--vr-primario, #2563eb);
	border-color: var(--vr-primario, #2563eb);
}

/* ================================================================
   VEHÍCULO SELECCIONADO — resaltado en paso 2
   ================================================================ */
.vr-vehiculo-activo {
	border:     2px solid var(--vr-primario, #2563eb) !important;
	box-shadow: 0 0 0 4px var(--vr-primario-alfa, rgba(37,99,235,.12)), var(--vr-sombra-md) !important;
}

/* Badge "✓" sobre la foto */
.vr-badge-seleccionado {
	position:        absolute;
	top:             10px;
	right:           10px;
	width:           30px;
	height:          30px;
	border-radius:   50%;
	background:      var(--vr-primario, #2563eb);
	color:           #fff;
	display:         flex;
	align-items:     center;
	justify-content: center;
	box-shadow:      0 2px 8px rgba(0,0,0,.28);
	z-index:         2;
	pointer-events:  none;
}

/* Botón seleccionado */
.vr-btn-seleccionado {
	background:   var(--vr-exito) !important;
	border-color: var(--vr-exito) !important;
	box-shadow:   0 4px 16px rgba(5,150,105,.32) !important;
}
.vr-btn-seleccionado:hover {
	background:   #047857 !important;
	border-color: #047857 !important;
	transform:    translateY(-1px) !important;
}

/* Tag "No disponible" */
.vr-no-disponible-tag {
	display:         flex;
	align-items:     center;
	justify-content: center;
	gap:             6px;
	padding:         11px 16px;
	background:      #fef2f2;
	border:          1px solid rgba(220,38,38,.18);
	border-radius:   var(--vr-radio);
	color:           var(--vr-error);
	font-size:       13px;
	font-weight:     700;
	width:           100%;
}

/* ================================================================
   BANNER DE RESTAURACIÓN DE RESERVA
   ================================================================ */
.vr-banner-restaurar {
	display:        flex;
	align-items:    center;
	gap:            14px;
	padding:        18px 22px;
	background:     linear-gradient(135deg, var(--vr-primario-alfa, rgba(37,99,235,.08)) 0%, var(--vr-blanco) 100%);
	border:         1.5px solid var(--vr-primario, #2563eb);
	border-radius:  var(--vr-radio-lg);
	margin-bottom:  28px;
	box-shadow:     0 0 0 3px var(--vr-primario-alfa, rgba(37,99,235,.10)), var(--vr-sombra-sm);
	flex-wrap:      wrap;
}
.vr-banner-restaurar-ico {
	width:           42px;
	height:          42px;
	border-radius:   11px;
	background:      var(--vr-primario, #2563eb);
	color:           #fff;
	display:         flex;
	align-items:     center;
	justify-content: center;
	flex-shrink:     0;
}
.vr-banner-restaurar-texto {
	flex:           1;
	display:        flex;
	flex-direction: column;
	gap:            3px;
	min-width:      160px;
}
.vr-banner-restaurar-texto strong { font-size: 14px; font-weight: 700; color: var(--vr-texto, #0f172a); }
.vr-banner-restaurar-texto span   { font-size: 12px; color: var(--vr-texto-suave, #64748b); }
.vr-banner-restaurar-acciones {
	display:     flex;
	gap:         8px;
	align-items: center;
	flex-shrink: 0;
	flex-wrap:   wrap;
}
.vr-btn-restaurar-cancelar {
	background:    transparent;
	border:        1.5px solid var(--vr-borde-fuerte, #cbd5e1);
	border-radius: var(--vr-radio);
	color:         var(--vr-texto-suave, #64748b);
	font-size:     13px;
	font-weight:   600;
	padding:       9px 18px;
	cursor:        pointer;
	font-family:   var(--vr-fuente);
	transition:    all var(--vr-trans);
	min-height:    42px;
}
.vr-btn-restaurar-cancelar:hover {
	border-color: var(--vr-error);
	color:        var(--vr-error);
	background:   rgba(220,38,38,.05);
}

/* ================================================================
   OVERRIDES DE ALTA ESPECIFICIDAD — wizard context
   Necesarios para contrarrestar los !important de vehiculos.css
   ================================================================ */
body .vectiss-wizard .vectiss-btn-buscar-wiz {
	padding:   16px 48px !important;
	font-size: 16px !important;
}
body .vectiss-wizard .vectiss-btn-grande {
	padding:       16px 36px !important;
	font-size:     16px !important;
	border-radius: 12px !important;
}
body .vectiss-wizard .vectiss-btn-primario {
	background: linear-gradient(135deg, var(--vr-primario, #2563eb) 0%, var(--vr-primario-hover, #1d4ed8) 100%) !important;
	box-shadow: 0 4px 16px var(--vr-primario-alfa, rgba(37,99,235,.30)) !important;
}
body .vectiss-wizard .vectiss-btn-primario:hover {
	filter: brightness(1.06) !important;
	box-shadow: var(--vr-primario-glow, 0 4px 18px rgba(37,99,235,.32)) !important;
	transform: translateY(-2px) !important;
}
body .vectiss-wizard .vr-btn-wsp {
	background: linear-gradient(135deg, #25d366 0%, #1fb059 100%) !important;
}
body .vectiss-wizard .vectiss-btn-selec-wiz {
	width:   100% !important;
	padding: 13px 20px !important;
}

/* ================================================================
   RESPONSIVE — Tablet (≤1100px)
   ================================================================ */
@media (max-width: 1100px) {
	.vectiss-wizard {
		padding: 28px 16px 60px;
	}
	.vectiss-seccion-paso {
		padding: 36px 32px;
	}
	.vr-hero {
		margin:  -36px -32px 34px;
		padding: 46px 32px 44px;
	}
	#vectiss-lista-vehiculos.vectiss-grid-vehiculos {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

/* ================================================================
   RESPONSIVE — Tablet portrait (≤768px)
   ================================================================ */
@media (max-width: 768px) {
	.vectiss-wizard {
		padding: 20px 12px 48px;
	}
	.vectiss-seccion-paso {
		padding: 28px 20px;
		border-radius: var(--vr-radio-lg);
	}
	.vr-hero {
		margin:  -28px -20px 28px;
		padding: 36px 20px 34px;
	}
	.vr-hero-titulo {
		font-size: 28px;
		letter-spacing: -.02em;
	}
	.vr-hero-sub { font-size: 13px; margin-bottom: 22px; }
	.vr-hero-stats { flex-wrap: wrap; gap: 10px; }
	.vr-hero-stat-sep { display: none; }
	.vr-hero-stat { padding-right: 0; }

	.vectiss-fila-dos-col {
		grid-template-columns: 1fr;
		gap: 14px;
	}
	.vectiss-pasos-nav { margin-bottom: 32px; }
	.vectiss-paso-label { display: none; }
	.vectiss-paso-num   { width: 40px; height: 40px; font-size: 12px; }
	.vectiss-pasos-lista::before,
	.vectiss-pasos-lista::after { top: 19px; }

	#vectiss-lista-vehiculos.vectiss-grid-vehiculos {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 14px !important;
	}

	/* Layout paso 3 opciones */
	.vectiss-opciones-contenedor {
		grid-template-columns: 1fr;
	}
	.vectiss-caja-cotizacion {
		position: static;
	}

	/* Paso 4 – datos */
	.vectiss-titulo-paso { font-size: 20px; }

	/* Acciones */
	.vectiss-acciones-paso { gap: 10px; flex-wrap: wrap; }
	.vectiss-acciones-dobles {
		flex-direction: row;
		flex-wrap:      wrap;
		gap:            10px;
	}

	/* Confirmación */
	.vectiss-confirmacion { padding: 40px 20px; }
	.vectiss-caja-detalle { padding: 20px 16px; }
}

/* ================================================================
   RESPONSIVE — Móvil grande (≤560px)
   ================================================================ */
@media (max-width: 560px) {
	.vectiss-wizard {
		padding: 12px 8px 40px;
	}
	.vectiss-seccion-paso {
		padding: 22px 14px;
		border-radius: 14px;
	}
	.vr-hero {
		margin:  -22px -14px 22px;
		padding: 28px 14px 26px;
		border-radius: 0 0 14px 14px;
	}
	.vr-hero-badge { font-size: 10px; padding: 4px 12px; }
	.vr-hero-titulo { font-size: 22px; margin-bottom: 10px; }
	.vr-hero-sub    { font-size: 12px; margin-bottom: 16px; }
	.vr-hero-stats  { gap: 8px; }
	.vr-hero-stat strong { font-size: 18px; }
	.vr-hero-stat span   { font-size: 10px; }

	#vectiss-lista-vehiculos.vectiss-grid-vehiculos {
		grid-template-columns: 1fr !important;
		gap: 12px !important;
	}

	.vectiss-input,
	.vectiss-select  { font-size: 14px; padding: 11px 14px; }
	.vectiss-btn-grande { padding: 13px 20px !important; font-size: 14px !important; }
	body .vectiss-wizard .vectiss-btn-buscar-wiz {
		padding: 13px 20px !important;
		font-size: 14px !important;
	}

	/* Acciones paso */
	.vectiss-acciones-paso {
		flex-direction: column;
	}
	.vectiss-acciones-paso .vectiss-btn {
		width: 100% !important;
		justify-content: center;
	}
	.vectiss-acciones-dobles {
		flex-direction: column-reverse;
	}

	/* Navegador de pasos mínimo */
	.vectiss-paso-num { width: 34px; height: 34px; font-size: 11px; }
	.vectiss-pasos-lista::before,
	.vectiss-pasos-lista::after { top: 16px; }

	.vr-resumen-acciones,
	.vr-acciones-pago { flex-direction: column; }
	.vr-resumen-acciones .vectiss-btn,
	.vr-acciones-pago   .vectiss-btn {
		width: 100% !important;
		justify-content: center !important;
	}

	.vr-banner-presel { gap: 10px; }
	.vr-banner-presel-ico { width: 36px; height: 36px; }
	.vr-banner-restaurar  { flex-direction: column; gap: 12px; }
	.vr-banner-restaurar-acciones { width: 100%; }
	.vr-banner-restaurar-acciones .vectiss-btn { flex: 1; }

	.vectiss-caja-detalle { padding: 16px 14px; }
	.vr-tabla-confirmacion th { width: 90px; font-size: 9px; }
}

/* ================================================================
   RESPONSIVE — Móvil pequeño (≤380px)
   ================================================================ */
@media (max-width: 380px) {
	.vr-hero-titulo { font-size: 19px; }
	.vectiss-seccion-paso { padding: 18px 10px; }
	.vr-hero { margin: -18px -10px 18px; padding: 22px 10px 20px; }
	.vectiss-paso-num { width: 30px; height: 30px; font-size: 10px; }
	.vectiss-pasos-lista::before,
	.vectiss-pasos-lista::after { top: 14px; }
}
