:root {
	--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto,
		"Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif,
		"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",
		"Noto Color Emoji";
}

html, body, input, select, textarea, button {
	font-family: var(--bs-font-sans-serif) !important;
}

.form-control, .form-select {
	font-family: var(--bs-font-sans-serif) !important;
}

.font, .fontstyle, .contenedor, .contenedorr, .contenedor4, .contenedor3,
	.contenedor2, .contenedor1, .encabezado, .encabezado2, .encabezadoo,
	.encabezado3, .q-button, .button, .buttonn, .but, .alerta, .logrado {
	font-family: var(--bs-font-sans-serif) !important;
}

.q-section-title{
  display:flex;
  justify-content:flex-start;
  margin: 6px 0 18px;
  min-height: 58px;
}

.q-pill-title{
  display:inline-flex;
  align-items:center;
  gap: 10px;
  padding: 12px 18px;
  margin: 0;
  border-radius: 999px;
  background: #8f1180;
  color: #fff;
  font-weight: 700;
  letter-spacing: .2px;
  box-shadow: 0 10px 24px rgba(143, 17, 128, .22);
  border: 1px solid rgba(255,255,255,.18);
  min-height: 52px;
  width: 320px;
  justify-content:flex-start;
  font-size: 15px;
}

.q-pill-icon i{
  font-size: 14px;
}

.q-pill-icon{
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background: rgba(255,255,255,.16);
  border: 1px solid rgba(255,255,255,.20);
  flex: 0 0 34px;
}

.q-pill-icon i{
  font-size: 16px;
  line-height: 1;
}

@media (max-width: 576px){
  .q-section-title{
    justify-content:center;
  }

  .q-pill-title{
    width: min(420px, calc(100% - 24px));
    justify-content:center;
    text-align:center;
    padding: 11px 14px;
  }
}

  .q-pill-title{
    width: min(420px, calc(100% - 24px));
    justify-content:center;
    text-align:center;
    padding: 11px 14px;
  }
}
.card-img {
	max-width: 100%;
	height: 20%;
	display: block;
	margin: -20px auto;
	padding: 20px 0;
	box-sizing: border-box;
}

/* AJUSTE ESPECIFICO PARA AVIS */
.card_avis .card-img {
	max-width: 88%;
}

/* ========================================================= */
/* ESTILOS GLOBALES Y CONTENEDORES */
/* ========================================================= */

/* CLASES DE UTILIDAD MODIFICADAS/AGREGADAS */
.px-5 {
	padding-right: 3rem !important;
	padding-left: 4rem !important;
}

.fw-bold {
	font-weight: 400 !important;
	font-size: 160%;
}

.centrar {
	display: flex;
	justify-content: center;
	align-items: center;
}

.form-select-lg {
	padding-top: .5rem;
	padding-bottom: .5rem;
	padding-left: 1rem;
	font-size: 135%;
}

.filtros-rental .mb-3, .filtros-rental .mb-3 span, .filtros-rental .mb-3 label
	{
	font-weight: 400 !important;
}

.contenedor2 .mb-3, .contenedor2 .mb-3 *:not(i) {
	font-weight: 400 !important;
}

.zip-readonly {
	pointer-events: none;
	user-select: none;
	caret-color: transparent;
}

.zip-readonly:focus {
	outline: 0;
	box-shadow: none;
}

.q-button {
	color: white;
}

.font {
	color: black;
	font-family: "montserratthin", Arial, sans-serif;
}

.fontstyle {
	font-family: "montserratthin", Arial, sans-serif;
}

div.container.alinear.centrar {
	margin: 60px auto 40px !important;
}

.centrar {
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 1100px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 50px;
}

.centrar2 {
	display: flex;
	justify-content: center;
	margin: auto;
	width: 200px;
	padding: 15px;
}

.centrar3 {
	display: flex;
	justify-content: center;
	margin: auto;
	width: auto;
	padding: 15px;
}

.contenedor {
	margin: 10px;
	width: 65%;
	background-color: white;
	border-radius: 10px 50px;
	box-shadow: 1px 10px 5px #888;
	font-family: "montserratthin", Arial, sans-serif;
}

.contenedorr {
	background-color: white;
	border-radius: 10px 50px;
	box-shadow: 1px 10px 5px #888;
	font-family: "montserratthin", Arial, sans-serif;
}

.contenedor4 {
	margin: 10px;
	width: 65%;
	background-color: white;
	border-radius: 50px;
	box-shadow: 1px 10px 5px #888;
	font-family: "montserratthin", Arial, sans-serif;
}

.contenedor3 {
	margin: 10px;
	width: 100%;
	background-color: white;
	border-radius: 10px 50px;
	box-shadow: 1px 10px 5px #888;
	font-family: "montserratthin", Arial, sans-serif;
}

/* Estilo Contenedor2 (Barra de Informacion de Rent-a-Car) */
.contenedor2 {
	background-color: white;
	border-radius: 30px;
	margin-top: 20px;
	margin-bottom: 50px;
	padding-top: 5px;
	box-shadow: 0 4px 5px 2px rgb(0 0 0/ 33%);
	max-width: 1050px;
	width: 95%;
	margin-left: auto;
	margin-right: auto;
	font-family: "montserratthin", Arial, sans-serif;
}

.contenedor1 {
	margin: 10px;
	margin-bottom: 100px;
	margin-top: 15px;
	width: 65%;
	background-color: white;
	border-radius: 50px 10px;
	box-shadow: 1px 10px 5px #888;
	font-family: "montserratthin", Arial, sans-serif;
}

.separador {
	background-color: black;
	margin: 10px;
}

/* Estilo de Mensajes de Alerta */
.alerta {
	max-width: 385px;
	width: 100%;
	padding: 10px 15px;
	border-radius: 8px;
	border-style: solid;
	border-width: 0px;
	margin-bottom: 33px;
	font-size: 12px;
	background-color: #EA4B4B;
	border-color: #8F1111;
	color: white;
	font-weight: bold;
	text-align: left;
	align-items: center;
	margin-top: 3%;
}

.logrado {
	width: 35%;
	padding: 12px 16px;
	border-radius: 8px;
	border-style: solid;
	border-width: 1px;
	margin-bottom: 12px;
	font-size: 16px;
	background-color: #1E5F14;
	border-color: #004000;
	color: white;
	border-color: #004000;
}

.margen-icono-der {
	margin-right: 8px;
}

.encabezadoo .mb-3 {
	margin-bottom: 0 !important
}

.rentals div.text-center > .button1 {
    display: block;
    margin: 0 auto;
    float: none;
}


/* Botones y Hover */
.button {
	background: linear-gradient(90.6deg, rgba(149, 5, 132, 0.86) 15.41%,
		#5E2073 93.37%);
	border: none;
	border-radius: 40px 10px;
	color: white;
	padding: 20%;
	text-align: center;
	text-decoration: none;
	display: inline-block;
	font-size: 10px;
	margin: 4px 2px;
	transition-duration: 0.4s;
	cursor: pointer;
}

.buttonn {
	background-color: #47083F;
	border: none;
	border-radius: 40px 10px;
	color: white;
	padding: 20%;
	text-align: center;
	text-decoration: none;
	display: inline-block;
	font-size: 10px;
	margin: 4px 2px;
	transition-duration: 0.4s;
	cursor: pointer;
}

.but {
	background-color: #47083F;
	background: linear-gradient(90.6deg, rgba(149, 5, 132, 0.86) 15.41%,
		#5E2073 93.37%);
	border: none;
	border-radius: 50%;
	color: white;
	padding: 20%;
	text-align: center;
	text-decoration: none;
	display: inline-block;
	font-size: 10px;
	margin: 4px 2px;
	transition-duration: 0.4s;
	cursor: pointer;
}

button, [type=button], [type=reset], [type=submit] {
	cursor: pointer;
	-webkit-appearance: button;
	border: none;
}

#avis-rental-wrapper {}
#avis-rental-wrapper input[type="text"] { text-align:center; }

.header-rental-ajuste { padding-top:20px; padding-bottom:10px; }
.header-rental h4 { margin-top:5px; margin-bottom:0 !important; }

.px-5 { padding-right:4rem !important; padding-left:3rem !important; }
.fw-bold { font-weight:700 !important; font-size:120%; }

.button { background-color:#950584db; }

.encabezadoo { padding:1px; }

.icon-info-encabezado-simple-final { color:#fff; font-size:1.3rem; font-style:normal; font-weight:bold; margin-right:8px; }

.button.button1.font {
  background:linear-gradient(90.6deg,#950584 15.41%,#5E2073 93.37%);
  color:#fff;
  font-weight:bold;
  font-family:"montserratthin",Arial,sans-serif;
  font-size:18px;
  padding:12px 40px;
  white-space:nowrap;
  border-radius:10px 40px 10px 40px;
  border:none;
  cursor:pointer;
  box-shadow:0 4px 8px rgba(0,0,0,.2);
  width:auto;
  min-width:200px;
  max-width:250px;
  margin:30px auto 20px;
  display:block;
/* text-transform:uppercase; */
  letter-spacing:.5px;
  transition:all .3s ease;
}


.button1:hover {
	background-color: #47083F;
	color: white;
	box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.3);
	transform: translateY(-2px);
	opacity: 0.9;
}

.ingreso-datos:hover {
	box-shadow: 1px 5px 5px rgba(0, 0, 0, .05);
}

/* Layout en cuadrícula para que quepan varias por fila */
.ptarjetas {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 15px;
	align-items: start;
	overflow: visible;
}

/* Tarjeta base */
.tarjetas {
	box-shadow: 0 8px 16px rgba(0, 0, 0, .1), 0 6px 20px rgba(0, 0, 0, .14);
	border-radius: 50px 10px;
	border: 1px solid #8f1180;
	width: 100%;
	min-height: 240px;
	padding: 16px 20px;
	box-sizing: border-box;
	background: #fff;
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s
		ease;
	will-change: transform;
	position: relative;
	z-index: 0;
	overflow: hidden;
}

/* Hover (funciona si la tarjeta está dentro de un botón o sola) */
.tarjetas:hover, .button4:hover .tarjetas {
	transform: scale(1.03);
	box-shadow: 0 14px 28px rgba(0, 0, 0, .18), 0 10px 24px
		rgba(0, 0, 0, .12);
	border-color: #950584;
	z-index: 1;
}

/* Contenedor del botón que envuelve la tarjeta */
.button4 {
	display: block;
	width: 100%;
	background: transparent;
	border: 0;
	padding: 0;
	box-shadow: none;
	height: auto;
}

/* Evita que la tarjeta “se salga” al hacer hover */
.ptarjetas {
	overflow: visible;
}

/* Ajustes de tipografía para que quepa todo mejor */
.tarjetas p {
	margin: 8px 0;
	line-height: 1.25;
}

.tarjetas .card-body {
	width: 100% !important;
	padding: 12px 16px !important;
}

/* ESTILO BOTÓN "REGRESAR" */
.button.button1.font {
	background: linear-gradient(90.6deg, #950584 15.41%, #5E2073 93.37%);
	color: white;
	font-family: "montserratthin", Arial, sans-serif;
	font-size: 18px;
	padding: 20px 30px;
	white-space: nowrap;
	border-radius: 40px 7px 40px 7px;
	border: none;
	cursor: pointer;
	box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2);
	width: auto;
	min-width: 200px;
	max-width: 250px;
	margin: 30px auto 20px auto;
	display: block;
	letter-spacing: 0.5px;
	transition: all 0.3s ease;
}

.button1:hover {
	background-color: #47083F;
	color: white;
	box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.3);
	transform: translateY(-2px);
	opacity: 0.9;
}

.ingreso-datos:hover {
	box-shadow: 1px 5px 5px rgba(0, 0, 0, .05);
}

/* .tarjetas { */
/* box-shadow: none; */
/* border-radius: 50px 10px; */
/* height: 220px; */
/* width: 100%; */
/* } */

/* .tarjetas:hover { */
/* cursor: pointer; */
/* transform: none; */
/* box-shadow: none; */
/* } */
.ptarjetas {
	height: auto;
}

/* UNIFORMIDAD DE FUENTE: Aplica "montserratthin" a todos los encabezados morados */
.encabezado, .encabezado2, .encabezadoo, .encabezado3 {
	color: white;
	padding: 5px;
	background: linear-gradient(90.6deg, rgba(149, 5, 132, 0.86) 15.41%,
		#5E2073 93.37%);
	font-family: "montserratthin", Arial, sans-serif;
	width: auto;
}

.encabezado {
	margin-top: 10px;
	border-radius: 50px 10px;
}

.encabezado2 {
	padding: 1px;
	border-radius: 10px 50px;
}

.encabezadoo {
	padding: 20px 16px;
	overflow: hidden;
	border-radius: 10px 50px;
}

.encabezado3 {
	padding: 1px;
	border-radius: 50px 10px;
}

.datos {
	margin-top: 20px;
}

.text-center {
	text-align: center !important;
	margin-top: 2%;
}

/* REPETIDO PERO NECESARIO PARA COMPATIBILIDAD, YA CON LA SOLUCIÓN DEL PUNTO 2 */
.glyphicon-search:before {
	content: "\f002";
	font-family: "Font Awesome 5 Free" !important;
	font-weight: 900;
}

/* ========================================================= */
/* ESTILOS DE LAS TARJETAS (MODULARIZADOS E IMAGENES AJUSTADAS) */
/* ========================================================= */
.alinear {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 35px;
	max-width: 1600px;
	margin: 20px auto 40px auto !important;
	align-items: stretch;
}

.card-button {
	border: none !important;
	background: transparent !important;
	padding: 0 !important;
	width: 100%;
}

/* --- ESTILOS BASE DE TARJETAS --- */
.card_enterprise, .card_sixt, .card_avis, .card_amigoTransfer {
	background-color: #FFF;
	box-shadow: 0px 10px 15px rgb(0 0 0/ 50%);
	overflow: hidden;
	position: relative;
	margin: 5px auto;
	cursor: pointer;
	border-radius: 30px;
	height: 750px;
	width: 100%;
	z-index: 1;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* HOVER DE TARJETAS */
.card_enterprise:hover, .card_enterprise:focus, .card_sixt:hover,
	.card_sixt:focus, .card_avis:hover, .card_avis:focus,
	.card_amigoTransfer:hover, .card_amigoTransfer:focus {
	transform: translateY(-5px);
	box-shadow: 0px 18px 25px rgba(0, 0, 0, 0.3) !important;
}

/* OVERLAY BASE */
.card_enterprise .overlay, .card_sixt .overlay, .card_avis .overlay,
	.card_amigoTransfer .overlay {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	height: 100%;
	width: 100%;
	opacity: 0;
	transition: .5s ease;
	pointer-events: none;
	z-index: 2;
}

/* COLORES DE OVERLAY AL HOVER */
.card_enterprise:hover .overlay {
	opacity: 0.5;
	background-color: #51A567;
}

.card_sixt:hover .overlay {
	opacity: 0.5;
	background-color: #FC9E3A;
}

.card_avis:hover .overlay {
	opacity: 0.5;
	background-color: #FC3B3B;
}

.card_amigoTransfer:hover .overlay {
	opacity: 0.5;
	background-color: #015570;
}

/* EFECTO DE BORDE DIAGONAL (DEFINICIONES) */
.card_enterprise::before, .card_enterprise::after, .card_sixt::before,
	.card_sixt::after, .card_avis::before, .card_avis::after,
	.card_amigoTransfer::before, .card_amigoTransfer::after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	transform: scale3d(0, 0, 1);
	transition: transform .5s ease-out 0s;
	background: rgba(255, 255, 255, 0.1);
	content: '';
	pointer-events: none;
}

.card_enterprise::before, .card_sixt::before, .card_avis::before,
	.card_amigoTransfer::before {
	transform-origin: left top;
}

.card_enterprise::after, .card_sixt::after, .card_avis::after,
	.card_amigoTransfer::after {
	transform-origin: right bottom;
}

/* EFECTO HOVER/FOCUS EN DIAGONAL (ACTIVACIÓN) */
.card_enterprise:hover::before, .card_enterprise:hover::after,
	.card_enterprise:focus::before, .card_enterprise:focus::after,
	.card_sixt:hover::before, .card_sixt:hover::after, .card_sixt:focus::before,
	.sixt:focus::after, .card_avis:hover::before, .card_avis:hover::after,
	.card_avis:focus::before, .avis:focus::after, .card_amigoTransfer:hover::before,
	.card_amigoTransfer:hover::after, .card_amigoTransfer:focus::before,
	.amigoTransfer:focus::after {
	transform: scale3d(1, 1, 1);
}

/* --- ESTILOS DE BENEFICIOS --- */
.card-body-benefits {
	padding: 10px 15px;
	font-size: 0.8rem;
	line-height: 1.2;
}

.card-body-benefits p {
	margin-bottom: 2px;
	text-align: justify;
	font-size: 0.75rem;
	line-height: 1.1;
}

.card-body-benefits p {
	margin-bottom: 15px;
	text-align: left;
	font-size: 0.75rem;
	line-height: 1.1;
}

.card_enterprise .card-body-benefits p i {
	color: #51A567;
}

.card_sixt .card-body-benefits p i {
	color: #FC9E3A;
}

.card_avis .card-body-benefits p i {
	color: #FC3B3B;
}

.card_amigoTransfer .card-body-benefits p i {
	color: #015570;
}

/* ========================================================= */
/* --- SECCIÓN ESPECÍFICA DE ENCABEZADO Y BARRA INFO --- */
/* ========================================================= */

/* ESTILO PARA EL ÍCONO "i" MINÚSCULA SIMPLE (NUEVO) */
.icon-info-encabezado-simple-final {
	color: #fff;
	font-size: 20px;
	line-height: 1;
}


.contenedor3 .form-floating{display: flex;
    flex-direction: column-reverse;
    gap: 0px;
    border-radius: 12px;
    padding: 0px 14px;}
.contenedor3 .form-floating>label,
.contenedor3 .form-floating>.form-control~label,
.contenedor3 .form-floating>.form-select~label,
.contenedor3 .form-floating>textarea~label{position:static!important;display:inline-flex;align-items:center;gap:.4rem;margin:0 0 6px;padding:0;transform:none!important;opacity:1!important;color:#8f1180;font-size:.94rem;line-height:1}
.contenedor3 .form-floating>.form-control,
.contenedor3 .form-floating>.form-select,
.contenedor3 .form-floating>textarea{width:100%;background:#f2f3f7!important;border:0!important;border-radius:8px!important;height:40px!important;padding:.55rem .75rem!important;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)!important;color:#5b6770!important;line-height:1.25!important}
.contenedor3 .form-select.form-select-lg{background:#f2f3f7!important;border:0!important;box-shadow:none!important;height:40px!important;padding-left:.75rem!important;padding-right:2rem!important}
.contenedor3 .form-floating>textarea{min-height:56px!important;height:auto!important;resize:vertical}
.contenedor3 .form-floating>.form-control:focus,
.contenedor3 .form-floating>.form-select:focus,
.contenedor3 .form-floating>textarea:focus{outline:0!important;box-shadow:inset 0 0 0 2px rgba(143,17,128,.12)!important}
.contenedor3 .form-floating>.form-control:disabled,
.contenedor3 .form-floating>.form-select:disabled{opacity:1!important;background:#eceff3!important;color:#6f7b85!important}
.is-invalid{box-shadow:inset 0 0 0 2px rgba(211,51,51,.22)!important}

h5.fw-bold.font{text-align:center;font-size:.95rem!important;line-height:1.35!important;font-weight:700!important;margin:0 0 12px}


.contenedor3 .form-select,
.contenedor3 select.form-select,
.contenedor3 .form-floating > .form-select {
  width: 100%;
  background: #f2f3f7 !important;
  border: 0 !important;
  border-radius: 8px !important;
  height: 40px !important;
  padding: .55rem .75rem !important;
  line-height: 1.25 !important;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.06) !important;
  color: #5b6770 !important;
  font-family: var(--bs-font-sans-serif) !important;
  background-image: none !important;
}

.contenedor3 .form-select:focus {
  outline: 0 !important;
  box-shadow: inset 0 0 0 2px rgba(143,17,128,.12) !important;
}

.contenedor3 .form-select:disabled {
  opacity: 1 !important;
  background: #eceff3 !important;
  color: #6f7b85 !important;
}

.contenedor3 .form-select.form-select-lg {
  height:40px!important;
  padding-left:.75rem!important;
  padding-right:2rem!important;
}

.contenedor3 .select-wrap{position:relative;display:block}
.contenedor3 .select-wrap>.form-select{
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  padding-right:2.5rem!important
}
.contenedor3 .select-wrap::after{
  content:"";
  position:absolute;
  right:6px;
  top:50%;
  transform:translateY(-50%);
  width:16px;height:16px;
  pointer-events:none;
  background-repeat:no-repeat;
  background-size:16px 16px;
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill="%23666" d="M4.2 6l3.8 4L11.8 6z"/></svg>')
}



/* 1. ENCABEZADO RENTAL (La Barra Morada - FLOTANTE Y REDONDEADA) */
.header-rental {
	color: #fff;
	background: linear-gradient(90.6deg, rgba(149, 5, 132, .86) 15.41%,
		#5E2073 93.37%);
	border-radius: 40px;
	position: relative;
	z-index: 10;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
	margin: 10px auto 0;
	padding: 15px 20px;
	width: clamp(280px, 95%, 1050px);
	font-family: "montserratthin", Arial, sans-serif;
	font-size: 1.2rem;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.header-rental .fa-info, .header-rental .fa-info-circle {
	display: inline-block;
	line-height: 1;
	font-size: 0.8em;
}

.header-rental .fa-info:before, .header-rental .fa-info-circle:before {
	padding-right: 0;
}

/* 2. FILA DE BLOQUES DE INFORMACIÓN - Contenedor general */
.info-blocks-row {
	padding: 15px 20px 25px 20px;
	margin-bottom: 0px !important;
}

/* 3. TÍTULO DE LA INFORMACIÓN */
.title-info {
	font-size: 0.8rem;
	line-height: 1.2;
	margin-bottom: 2px;
	color: black;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: normal;
	min-height: 35px;
	padding-top: 5px;
	width: 100%;
	text-align: center;
	white-space: normal;
	overflow: hidden;
	text-overflow: ellipsis;
}

.title-info span:not(.fa-stack) {
	display: inline;
	text-align: center;
}

/* 4. VALOR DE LA INFORMACIÓN */
.value-info {
	color: #950584;
	font-family: "montserratthin", Arial, sans-serif;
	font-size: 0.9rem;
	margin-top: 0;
	line-height: 1.2;
	font-weight: bold;
	text-align: center;
	display: block;
	min-height: 20px !important;
	height: auto !important;
	padding: 0 5px;
	text-transform: uppercase;
}

.align-items-end {
	align-items: flex-end !important;
	padding-bottom: 35px;
}

.row {
	display: flex;
	flex-wrap: wrap;
	margin-left: -12px;
	margin-right: -12px;
	justify-content: center;
}

/* Clase de ícono antigua para eliminar conflictos */
.stack-icon-rental {
	display: none !important;
}

/* ============================================
   ESTILO DE FOCUS UNIVERSAL PARA INPUTS
   ============================================ */
.form-control:focus,
.form-control.focus,
.form-control:focus-visible,
.c-prefers-focus .form-control:focus {
    box-shadow:
        0 0 0 0.125rem #fff,
        0 0 0 0.25rem #80a6ff !important;
    color: #272833 !important;
    outline: 0 !important;
}

/* ========================================================= */
/* MEDIA QUERIES */
/* ========================================================= */

/* Ajustes para Contenedor de Tarjetas */
.col-sm-3 {
	padding-right: 15px;
	padding-left: 15px;
}

.col-sm-12.text-center.mt-3 {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 28px;
}

.col-sm-12.text-center.mt-3 .col-sm-4 {
	padding: 0;
	margin: 0
}

.ptarjetas {
	height: auto;
	margin: 0
}

/* Desktop Grande (>= 1200px) */
@media ( min-width : 1200px) {
	.alinear {
		max-width: 1600px;
		justify-content: center;
	}
	.alinear>div {
		flex: 0 0 calc(25% - 26.25px);
		max-width: calc(25% - 26.25px);
		margin-bottom: 0;
	}
	.card_enterprise, .card_sixt, .card_avis, .card_amigoTransfer {
		width: 100%;
		max-width: none;
		height: 750px;
	}

	/* AJUSTE CRÍTICO: Distribución de ancho para evitar saltos de línea */
	.contenedor2 .row>div:nth-child(1) {
		flex: 0 0 32%;
		max-width: 32%;
	}
	.contenedor2 .row>div:nth-child(2) {
		flex: 0 0 20%;
		max-width: 20%;
	}
	.contenedor2 .row>div:nth-child(3) {
		flex: 0 0 32%;
		max-width: 32%;
	}
	.contenedor2 .row>div:nth-child(4) {
		flex: 0 0 16%;
		max-width: 16%;
	}
}

/* Desktop y Laptops Medianas (992px - 1199px) */
@media ( min-width : 992px) and (max-width: 1199px) {
	.alinear {
		justify-content: center;
		gap: 25px;
		align-items: stretch;
		max-width: 1100px;
	}
	.alinear>div {
		flex: 0 0 calc(25% - 18.75px);
		max-width: calc(25% - 18.75px);
	}
	.card_enterprise, .card_sixt, .card_avis, .card_amigoTransfer {
		width: 100%;
		max-width: none;
		height: 750px;
	}

	/* AJUSTE CRÍTICO: Distribución de ancho para evitar saltos de línea */
	.contenedor2 .row>div:nth-child(1) {
		flex: 0 0 32%;
		max-width: 32%;
	}
	.contenedor2 .row>div:nth-child(2) {
		flex: 0 0 20%;
		max-width: 20%;
	}
	.contenedor2 .row>div:nth-child(3) {
		flex: 0 0 32%;
		max-width: 32%;
	}
	.contenedor2 .row>div:nth-child(4) {
		flex: 0 0 16%;
		max-width: 16%;
	}
}

/* Tablets (Max 991px) */
@media ( max-width : 991px) {
	.header-rental {
		font-size: 1.2rem;
		white-space: normal;
		padding: 15px 5px;
	}

	/* Ajustar el contenedor blanco en móvil */
	.contenedor2 {
		margin-top: -15px;
		padding-top: 40px;
	}
	.contenedor2 .row>div {
		flex: 0 0 100%;
		max-width: 100%;
		margin-bottom: 15px;
	}
	.title-info {
		min-height: auto;
	}
	.value-info {
		height: auto;
		padding: 0;
	}
	.alinear {
		flex-direction: column;
		align-items: center;
		gap: 25px;
		margin-top: 10px !important;
	}
	.alinear>div {
		flex: 0 0 90%;
		max-width: 380px;
	}
	.card_enterprise, .card_sixt, .card_avis, .card_amigoTransfer {
		width: 100%;
		max-width: none;
		height: auto;
		padding-bottom: 20px;
	}
	.button.button1.font {
		width: 90%;
		max-width: 300px;
		font-size: 16px;
	}
}