@font-face {
        font-family: 'TeXGyreAdventorBold';

    src: url('fonts/TeXGyreAdventor-Bold.woff2') format('woff2'),
        url('fonts/TeXGyreAdventor-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'TeXGyreAdventorBoldItalic';
    src: url('fonts/TeXGyreAdventor-BoldItalic.woff2') format('woff2'),
        url('fonts/TeXGyreAdventor-BoldItalic.woff') format('woff');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'TeXGyreAdventorItalic';
    src: url('fonts/TeXGyreAdventor-Italic.woff2') format('woff2'),
        url('fonts/TeXGyreAdventor-Italic.woff') format('woff');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'TeXGyreAdventor';
    src: url('fonts/TeXGyreAdventor-Regular.woff2') format('woff2'),
        url('fonts/TeXGyreAdventor-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}


.text-ubuntu-bold {
    font-family: 'Ubuntu', Arial, sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 1.7em;
    line-height: 1em;
}

.text-ubuntu {
    font-family: 'Ubuntu', Arial, sans-serif;
    font-weight: 400;
}


body {
    overflow-x: hidden;
    text-rendering: geometricPrecision;

}

body, input, textarea, button {
    font-family: 'Rajdhani', Arial, sans-serif;
}

.background-principal {
    /* background:url(<?php echo base_url()?>resources/img/imagen_honda.jpg); */
    background-size: cover;
    height: 100vh;
    background-position: center center;

}

.container-fluid {
    margin: 0;
    padding: 0;
}

form {
    width: 600px;
    margin: 30px auto 0;
}



form .form-check-label {
    font-size: 13px;
    text-align: left;
}

form button {
    margin-top: 40px;

}


form button.btn-danger {
    background-color: #ff0000;
    font-size: 20px;
    border: 1px solid #ff0000;
    border-radius: 0;
    padding: 4px 40px;
    letter-spacing: 0.1em;
}

form .form-control.error {
    border: 1px solid red;
}

form label.error {
    font-size: 12px;
    color: red;
}

form .form-check-input.error {
    outline: 2px solid red;
}

/* Contenedor del checkbox */
.form-check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  width: 100%;
}

/* Resetear cualquier absolute raro */
.form-check-input {
  position: relative !important;
  margin: 0;
  flex-shrink: 0; /* evita que se encoja */
  margin-top: 4px; /* alinear con texto */
}

/* Label ocupa todo el espacio restante */
.form-check-label {
  flex: 1;
  text-align: left;
  line-height: 1.4;
}

/* Link dentro del label */
.form-check-label a {
  color: #000;
  text-decoration: underline;
}

.resultados {
    display: block;
    text-align: center;
    margin-top: 20px;
    font-size: 21px;
    list-style-type: none;
}

nav {
    background-color: #000;
    color: #fff;
}

nav .logo {
    width: 200px;
    padding-left: 10px;
    padding-top: 10px;
}

.bg-dark {
    background-color: #000000 !important;
}

.navbar-dark .navbar-nav {
    padding-right: 20px;
}

.navbar-dark .navbar-nav .nav-item {
    margin: 0 10px;
}



.navbar-dark .navbar-nav a:hover {
    text-decoration: underline;
    text-decoration-color: red;
    text-decoration-style: solid;
    text-decoration-thickness: 3px;

}

.navbar-dark .navbar-nav .nav-link {
    color: #fff !important;
}



nav .redes-sociales {
    display: inline;
    padding: 0px;
    margin: 0px;
    list-style: none;
}

nav .redes-sociales li {
    display: inline;
}

nav .redes-sociales li a img {
    width: 30px;
}

.nav-item a {
    color: #fff;
}

.nav-item a::after {
    content: '-';
    padding-left: 15px;

}

.nav-item:last-child a::after {
    content: '';
}

.navbar-nav {
    margin: 0 auto;
}

/* .item-1,
.item-2,
.item-3,
.item-4{
    height: 537px;
} */

.item-1 {
    background-color: #e8f7dc;
}

.item-1 p.titulo {
    color: #000000;
    font-size: 44px;
    line-height: 50px;
}

.item-1 p.titulo span {
    
    display: block;
}

.item-1 p.descripcion {
    color: #000000;
    font-size: 24px;
    line-height: 34px;
    margin-top: 30px;
}

.item-1 p.descripcion span {
    
    color: #ed0202;
    display: block;
    font-size: 34px;
}

.item-2 {
    background-color: #f7931e;
    padding: 50px 30px;
}


.item-2 p.titulo {
    color: #000000;
    font-size: 24px;
    line-height: 30px;
}

.item-2 p.titulo span {
    
    display: block;
    font-size: 34px;
}


.item-3 {
    background-color: #ebeeff;
}


.item-3 p.titulo {
    color: #000000;
    font-size: 24px;
    line-height: 40px;
}

.item-3 p.titulo span {
    
    display: block;
    font-size: 54px;
}

.item-3 .btn {
    background-color: #ff0000;
    
    font-size: 30px;
    padding: 5px 40px;
    border-radius: 0;
    border-color: #ff0000;
    margin-top: 15px;
    letter-spacing: 0.1em;
    display: inline-block !important;
}

.item-4 {
    background-color: #ecf5e8;
    padding-left: 30px;
}

.item-4 p.titulo {
    color: #000000;
    font-size: 24px;
    line-height: 30px;
}

.item-4 p.titulo span {
    
    display: block;
    font-size: 34px;
    line-height: 36px;
}

.h-100 {

    margin-top: auto;
    margin-bottom: auto;
}

.video {
    background-color: #000000;
    color: #fff;
    padding: 50px 0;
}

.videop p {
    color: #000000;
    font-size: 24px;
    line-height: 30px;
}

.video p span {
    
    display: block;
    font-size: 24px;
    line-height: 30px;
}

#datos {
    padding: 50px 0;
}

#consecionarios {
    padding: 50px 0;
}

#consecionarios p {
    
    font-size: 34px;
}

#consecionarios p span {
    color: #ff0000;
}

#consecionarios .btn {
    background-color: #ff0000;
    font-size: 20px;
    padding: 5px 40px;
    border-radius: 0;
    border-color: #ff0000;
    margin-top: 10px;
    letter-spacing: 0.1em;
}

#consecionarios .map {
    width: 650px;
    height: 400px;
    border: 1px solid #c2c4cb;
    margin: 20px auto;
}

@media only screen and (max-width: 992px) {

    .container-fluid {
        overflow-x: hidden;
    }

    form {
        width: 100%;
    }

    #consecionarios .map {
        width: 100%;
    }

    .h-100 {
        height: auto !important;
        padding: 20px 60px;
    }

    .nav-item a::after {
        content: '';
    }

    /* .item-1,
    .item-2,
    .item-3,
    .item-4{
        width: 100%;
    } */

    .item-1 p.titulo {
        font-size: 24px;
        line-height: 25px;
    }

    .item-1 p.titulo span {
        font-size: 27px;
    }

    .item-1 p.descripcion {
        font-size: 20px;
        line-height: 25px;
        margin-top: 15px;
    }

    .item-1 p.descripcion span {
        font-size: 25px;
    }

    .item-2 {
        padding: 10px 30px 10px;
    }

    .item-2 p.titulo {
        font-size: 15px;
        line-height: 24px;
    }

    .item-2 .h-100 {
        text-align: center;
        padding: 20px 0 20px;
    }

    .item-2 p.titulo span {
        font-size: 24px;
    }

    .item-2 .image-1 {
        width: 50%;
    }

    .item-2 .image-2 {
        margin-top: 30px;
        margin-bottom: 20px;
        width: 60%;
    }

    .item-3 p.titulo {
        font-size: 18px;
        line-height: 24px;
    }

    .item-3 p.titulo span {
        font-size: 35px;
    }

    .item-3 .btn {
        font-size: 19px;
        padding: 2px 25px;
    }

    .item-3 .h-100 {
        text-align: center;
        padding: 30px 0 50px;
    }

    .item-4 p.titulo span {
        font-size: 24px;
        line-height: 26px;
    }

    .item-4 p.titulo {
        font-size: 18px;
    }

    .item-4 {
        padding-left: 0;
    }

    .item-4 .h-100 {
        padding: 30px 60px 60px;
    }

    #consecionarios p {
        font-size: 20px;
    }

    form button.btn-danger {
        font-size: 16px;
    }

    #consecionarios .btn {
        font-size: 16px;
    }
}



#help-mark {
    margin: 0 auto;
    float: right;
    cursor: pointer;
}




/* HERO */


/* HERO */

#first_hero {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 60px;
    padding: 100px 120px; /* 👈 más aire */
    background-color: #000;
    min-height: 500px; /* 👈 altura más grande */
}

/* CONTENEDOR TEXTO */
.text_hero {
    max-width: 520px;
    color: #fff;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
    padding: 50px 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* TIPOGRAFÍA */
.hero-text {
    line-height: 1.6rem;
    margin: 0;
}

.hero-small {
    font-size: 1.1rem;
}

.uppercase{
    text-transform: uppercase;

}

.hero-title {
    font-size: 2rem;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 1.1;
    display: inline-block;
}

.hero-sub-title {
    font-size: 1.7rem;
    font-weight: 400;
    line-height: 1.1;
    display: inline-block;
}


.hero-bold {
    display: inline-block;
    margin: 10px 0 5px;
    font-size: 1.2rem;
}

.hero-desc {
    font-size: 1rem;
    color: #ccc;
}

/* BOTÓN */
.btn-datos {
    margin-top: 25px;
    width: 150px;
    height: 50px;
    background: #C82333;
    border-radius: 0;
    text-transform: uppercase;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* VIDEO */
.video-responsive {
    flex: 1;
    width: 100%;
    height: auto;
    min-height: 100%;
    border: 0;
}

/* MOBILE */
@media only screen and (max-width: 992px) {

    #first_hero {
        flex-direction: column;
        padding: 60px 25px;
        gap: 30px;
    }

    .hero-title {
        font-size: 1.6rem;
    }

    .video-responsive {
        aspect-ratio: 16 / 9;
        height: auto;
    }
}

/* fin HERO */ 


#second_hero .h-100 p.descripcion {
    font-size: 40px;
    line-height: 40px;
}


#third_hero .h-100 p.titulo {
    font-size: 40px;
    line-height: 38px;
}

#third_hero .h-100 p.descripcion {
    font-size: 32px;
    line-height: 32px;
}

#quinto_hero .h-100 {
    line-height: 50px;
}

#quinto_hero .h-100 p.titulo {
    font-size: 45px;
}

#quinto_hero .h-100 p.titulo span {
    font-size: 50px;
    line-height: 45px;
}


@media only screen and (max-width: 992px) {
    #second_hero .h-100 p.descripcion {
        font-size: 28px;
    }

    #third_hero .h-100 p.titulo {
        font-size: 30px;
        line-height: 38px;
        padding-left: 5px;
        padding-right: 5px;
    }

    #third_hero .h-100 p.descripcion {
        font-size: 28px;
        line-height: 32px;
        padding-left: 5px;
        padding-right: 5px;
    }

    #quinto_hero .h-100 p.titulo {
        font-size: 30px;
    }
    #quinto_hero .h-100 p.titulo span {
        font-size: 40px;
    }
}




    .r_servicios_wrapper {
      background-color: #f3f3f3;
      border-radius: 1rem;
      box-shadow: 0px 0px 10px -2px rgba(2, 2, 2, 0.5);
      padding: 1.2rem 0.8rem;
    }

    .r_servicios_table {
      width: 100%;
      margin-top: 1rem;
    }

    .r_servicios_table th {
      text-align: left;
      font-size: 1.2rem;
      padding-bottom: 0.5rem;
    }

    p.r_servicio_nombre {
      display: block;
      margin: 0;
      padding: 0.4rem 1rem;
      background-color: #fff;
      text-align: left;
      margin-right: 1.5rem;
      font-size: 0.8rem;
      border-radius: 0.4rem;
      box-shadow: inset 0px 0px 1px 1px rgba(2, 2, 2, 0.5);
    }

    p.r_servicio_status {
      display: block;
      margin: 0;
      padding: 0.4rem 1rem;
      font-size: 0.8rem;
      text-align: left;
      border-radius: 0.4rem;
    }

    .r_servicio_status:before {
      content: "";
      display: inline-block;
      width: 1.6em;
      height: 1em;
      background-position: left;
      background-repeat: no-repeat;
      background-size: contain;
    }

    .r_servicio_status.status_pendiente {
      background-color: #e0922f;
      color: #000;
    }

    .r_servicio_status.status_pendiente:before {
      background-image: url("../img/icono/pendiente.png");
    }

    .r_servicio_status.status_agendado {
      background-color: #ffdc18;
      color: #000;
    }

    .r_servicio_status.status_agendado:before {
      background-image: url("../img/icono/agendado.png");
    }

    .r_servicio_status.status_en-taller {
      background-color: #593a09;
      color: #fff;
    }

    .r_servicio_status.status_en-taller:before {
      background-image: url("../img/icono/entaller.png");
    }

    .r_servicio_status.status_listo {
      background-color: #6fb353;
      color: #fff;
    }

    .r_servicio_status.status_listo:before {
      background-image: url("../img/icono/listo.png");
    }

    .r_servicio_status.status_atendido {
      background-color: #2b55a2;
      color: #fff;
    }

    .r_servicio_status.status_atendido:before {
      background-image: url("../img/icono/check.png");
    }

    .r_servicio_status.status_cancelado {
      background-color: #cc2229;
      color: #fff;
    }

    .r_servicio_status.status_cancelado:before {
      background-image: url("../img/icono/cancelado.png");
    }

    .franja-numeros {
      background: #c82333;
      padding: 10px 20px;

      .franja-numeros-inner {
        max-width: 1920px;
        margin: 0 auto;
        color: #fff;
        display: flex;
        align-items: center;
        font-size: 16px;
        gap: 20px;
        justify-content: center;

        p {
          margin: 0;
        }

        ul {
          display: flex;
          margin: 0;
          padding: 0;
          gap: 16px;

          li {
            list-style: none;
          }
        }
      }
    }

    @media screen and (max-width: 1100px) {
      .franja-numeros {
        padding: 8px 10px;

        .franja-numeros-inner {
          flex-direction: column;
          font-size: 14px;
          gap: 12px;

          ul {
            gap: 8px;
          }
        }
      }
    }
 


    /* CONCESIONARIOS */

    
    #concesionario {
      /* font-family: "Poppins", sans-serif; */
      padding-top: 30px;
      padding-bottom: 30px;
    }

    #map {
    height: 800px;
    width: 100%;
    }
#listado_conce {
    height: 800px;
    width: 100%;
    overflow-y: auto;
    overflow-x: hidden;
}

.select2-container--default .select2-selection--single {
    height:40px !important;
    padding: 6px 12px;
    border: 1px solid #cdd4db !important;
    border-radius: 0.375rem;
}

/* Texto seleccionado */
.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 24px;
    color: #212529;
}

/* Flechita */
.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 100%;
        height: 35px !important;
}

    #concesionario ul li {
        padding: 20px 10px;
        background-color: #ffffff;
        border-bottom: 1px solid #CFCFCF;
        transition: all 0.4s;
        cursor: pointer;

        display: flex;           /* asegura que puedas alinear el contenido verticalmente */
        flex-direction: column;  /* elementos hijos apilados verticalmente */
        justify-content: flex-start; /* alinea al inicio (arriba) verticalmente */
        align-items: flex-start;     /* alinea al inicio horizontalmente si quieres izquierda, o flex-end para derecha */

    }

    .text-start{
        text-align: left;
    }

    .waze-link{
        color: #67C9FA;
        text-decoration: underline;
    }

    #concesionario ul li h4 {
      font-size: 20px;
    }

    #concesionario ul li h5 {
      font-size: 15px;
    }

    #concesionario ul li:hover,
    #concesionario ul li.active {
      background-color: #fff;
    }

    #concesionario ul li p {
      padding-top: 10px;
    }

    .nav-link {
      /* font-size: 0.8rem!important; */
    }

    .nav-link:after {
      display: none;
    }
  



    /* ===== Labels ===== */
.form label {
  display: block;
  text-align: left;
  color: #000;
  font-weight: 500;
  margin-bottom: 5px;
}

/* ===== Inputs ===== */
.form .form-control {
  width: 100%;
  border-radius: 4px;
  padding: 10px;
  box-sizing: border-box;
}



/* ===== Contenedor relativo para VIN ===== */
.form-group {
  position: relative;
}

/* ===== Ícono de ayuda ===== */
.vin-help {
  position: absolute;
  right: 10px;
  top: 38px;
  width: 18px;
  height: 18px;
  background: red;
  color: #fff;
  font-size: 12px;
  font-weight: bold;
  text-align: center;
  line-height: 18px;
  border-radius: 50%;
  cursor: pointer;
}



/* ===== Checkboxes ===== */
.form-check {
  margin-top: 10px;
}

.form-check-label {
  color: #000;
  font-size: 14px;
}

/* ===== Botón ===== */
.btn-registro {
  margin-top: 15px;
  width: 100%;
  padding: 10px;
  font-weight: bold;
}

.code-description {
    background-color: #ffffff !important;
    opacity: 1 !important;
    color: #AAAAAA !important;
}

  #recallModal .modal-dialog {
    max-width: 1000px; /* ancho máximo, ajusta a tu gusto */
    width: 95%;        /* ocupar casi todo el ancho de la pantalla */
  }

  /* Agregar padding al contenido del modal */
  #recallModalBody {
    background-color: #F3F3F3 !important;
    padding: 50px 80px !important; /* espacio interno */
  }

  #concesionario_select_vin{
    background-color: #ffffff !important;
    opacity: 1 !important;
    color: #AAAAAA !important;
    width: 100%;
    padding: 10px;
    border: 1px solid #ced4da;
    border-radius: .25rem;

  }