/*=============================================
SECCION LISTA PROVEEDORES
=============================================*/
.btn-chat.activo {
    background-color: #3498db;
    color: white;
    font-weight: bold;
}

.some-page-wrapper {
  margin: 1px;
}

/* ====================== LISTADO DE RESULTADOS - Izquierda / Derecha ====================== */

.resultados-header {
    max-width: 800px;
    margin: 15px auto 25px;
    padding: 0 15px;
    text-align: center;
}

.resultados-titulo {
    font-size: 1.55rem;
    color: #222;
    margin-bottom: 10px;
}

.total-resultados {
    font-size: 1.1rem;
    color: #555;
    margin: 0;
}


.listadoprov {
    max-width: 400px;
    margin: 25px auto;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 6px 20px rgba(0,0,0,0.08);
}

.resultado-item {
    display: flex;
    align-items: center;
    justify-content: space-between;     /* Esto empuja los botones a la derecha */
    padding: 4px 20px;
    border-bottom: 1px solid #f0f0f0;
    transition: background 0.25s ease;
    gap: 25px;
}

.resultado-item:hover {
    background: #fffaf0;
}

/* Columna Izquierda: Nombre + Descripción */
.info-column {
    flex: 1; /* Ocupa todo el espacio disponible */
    min-width: 0;
}

.nombre {
    font-size: 1.18rem;
    font-weight: 600;
    color: #222;
    margin-bottom: 5px;
}

.descripcion {
    font-size: 0.98rem;
    color: #f28705;
    font-weight: 500;
}

/* Columna Derecha: Botones */
.acciones-column {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;             /* No se encoge */
}

/* Botones */
.btn-chat {
    background: #f28705;
    color: white;
    border: none;
    padding: 10px 16px;
    border-radius: 50px;
    font-size: 0.95rem;
    display: flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
    transition: all 0.2s;
}

.btn-chat:hover {
    background: #e67700;
    transform: translateY(-1px);
}

.Btomfavoritas {
    width: 44px;
    height: 44px;
    background: #f8f9fa;
    border: 2px solid #ddd;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.35rem;
    transition: all 0.25s;
}

.Btomfavoritas:hover {
    background: #fff0e0;
    border-color: #f28705;
    color: #f28705;
    transform: scale(1.08);
}


/*.contproveedor {
    display: flex;
    align-items: center;
    justify-content: center;
}
  
.col-totalpro {
    width: 50%;
    text-align: center;
}

.listadoprov{
  display: flex;
  flex-direction:column;
}

.whatsappphone {
  color: #038C8C;  
}


.sinproveedor{
  justify-content:center;
}

.sinproveedor ul li{
  justify-content:center;
  list-style: none;
  text-align: center;
}


.columnsinp {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 5px;
  color: #124F88;
}*/

.sint{
  color:#038C8C;
}

  /* Estilos para hacer el formulario plano sin bordes */
#formserviciopotencial {
  display: flex;
  justify-content: center;
  flex-direction: column;
  max-width: 400px;
  color:#F28705;
}

#formserviciopotencial label {
  margin-bottom: 10px;
}

#formserviciopotencial input[type="email"] {
  padding: 5px;
/*  border: none;*/
  border-radius: 5px;
/*  border-bottom: 1px solid transparent;*/
  margin-bottom: 15px;
  border:1px solid rgba(0.949, 0.529, 0.020, 1.0);
}

#formserviciopotencial input[type="email"]:focus {
  outline: none;
}
/*col-total proveedores*/
.col-totalpro {
  display: flex;
  flex-direction: column;
  flex-basis: 34%;
  justify-content: center;
  align-items: center;
  border: solid 2px #FFF;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
    background-color: #086A87;
    height: auto;
    color: #FFFFFF;
    padding: 3px;
/*    margin: 0px 45px 0px 5px;*/
  }
/*******************/
.column {
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: stretch;
}

.nombre-column{
  text-align: center;
      margin-left: 15px 
}

.tel-column{
  text-align: center;
  margin: 0px 5px 5px 5px;
  color: #038C8C;
}

.kms{
 margin: 0px 5px 5px 5px; 
 color: #F28705; 
}

.solcont-column{
  display: block; /*Temporal mientra implemento*/
  text-align: center;
  margin-left: 15px
}

.favo-column{
  display: none; /*Temporal mientra implemento*/
  text-align: center;
      margin-left: 15px
}

.list-group-item {
    margin-left: 30px;
    background-color: #038C8C;
    color: #FFFFFF;
}

.resultado{
  margin-top: 25px;   
  color: #F0EFEF;
  text-align: center;
}


.GridViewStyle {
  width: 45%;
}


/* Botón Chatear con hover que muestra texto */
.Btom.btn-chat {
    position: relative;
    background: url(../img/callcenter.jpg) no-repeat center;
    background-size: 22px 22px;        /* ajusta según el tamaño de tu imagen */
    border: none;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.3s ease;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.Btom.btn-chat:hover {
    background-color: #f28705;           /* color de fondo al hover */
    /*width: 160px;                        /* se expande para mostrar texto */
    box-shadow: 0 4px 12px rgba(242, 135, 5, 0.4);
}

/* Icono (la imagen de fondo) */
.Btom.btn-chat .btn-icon {
    display: block;
    width: 24px;
    height: 24px;
    background: url(../img/callcenter.jpg) no-repeat center;
    background-size: contain;
    flex-shrink: 0;
}

/* Texto que aparece en hover */
.Btom.btn-chat .btn-text {
    opacity: 0;
    visibility: hidden;
    white-space: nowrap;
    font-size: 14px;
    font-weight: 500;
    color: white;
    margin-left: 8px;
    transition: all 0.3s ease;
}

.Btom.btn-chat:hover .btn-text {
    opacity: 1;
    visibility: visible;
}

/* Efecto adicional al hacer clic */
.Btom.btn-chat:active {
    transform: scale(0.95);
}

.Btomfavoritas
{
background: url(../img/favoritas.jpg) no-repeat center;
    border:solid 0px #000000;
    -moz-border-radius-topleft: 75px;
    -moz-border-radius-topright:75px;
    -moz-border-radius-bottomleft:75px;
    -moz-border-radius-bottomright:75px;
    -webkit-border-top-left-radius:75px;
    -webkit-border-top-right-radius:75px;
    -webkit-border-bottom-left-radius:75px;
    -webkit-border-bottom-right-radius:75px;
    border-top-left-radius:75px;
    border-top-right-radius:75px;
    border-bottom-left-radius:75px;
    border-bottom-right-radius:75px;
    height:30px;
    width: 36px;
} 

#modalOne_listaprov .contact-form {
  background-color: #0D5363;
  margin: 2% auto;
  padding: 20px;
  max-width: 600px;
}

#modalOne_listaprov .modal-content {
    background-color: #0D5363;
    margin: 2% auto;
    padding: 20px;
    max-width: 600px;
}

#modalOne_listaprov form {
    background: #038C8C;
    color: #FFF;
    border-radius: 30px;
    width: 75%;
    margin: 42px 30px 10px 65px;
    padding: 50px;
    text-align: center;
}

button.closeButton {
    float: right;
    margin: 10px;
    width: 35px;
    height: 35px;
    background-color: #038C8C;
    border-radius: 5px;
    opacity: 1;
    text-shadow: 0 0px 0;
    color: #F28705;
    font-size: 25px;
}


button.Enviarpregunta_listaprov {
    background-color: #F28705;
    color: #FFF;
    border-radius: 30px;
    width: 200px;
    height: 35px;
    border: 0px solid;
    font-size: 20px;
}

#form_ep_listaprov textarea{
  width: 300px;
  height: 100px;
  border-radius: 10px;
  color: #000;
  padding: 3px;
}

/* ====================== MEDIA QUERIES ====================== */

/*La condición es que el ancho máximo de la pantalla va dede 0 hasta 320 píxeles*/
@media (max-width: 320px) {
    
    .resultado-item {
        padding: 14px 15px;
        gap: 12px;
    }
    
    .nombre {
        font-size: 1.08rem;
    }
    
    .descripcion {
        font-size: 0.94rem;
    }
    
    .btn-chat {
        padding: 9px 14px;
        font-size: 0.92rem;
    }
    
    .Btomfavoritas {
        width: 42px;
        height: 42px;
        font-size: 1.25rem;
    }
    
    /* Fuerza que los botones queden alineados a la derecha aunque esté en columna */
    .acciones-column {
        justify-content: flex-end;
    }

    /*.col-totalpro {
      margin-top: 2px;
      flex-basis: 98%;
    }
    .sinproveedor h2{
      font-size: 16px;
    }
    .autocomplete #servicios-list {
      max-height: 300px;
      overflow-y: auto;
      width: 235px;
    }
    
    #servicios-list li {
      padding: 1px 5px 5px 20px;
    }
    .column label {
      padding: 0px;
    }*/
    
    .sint {
      color: #038C8C;
      font-size: 16px;
    }

    .kms {
      margin: 0px 0px 5px 0px;
      color: #F28705;
    }

    #modalOne_listaprov form {
      width: 98%;
      margin: 50px 0px 0px 0px;
      padding: 5px;
    }

}

/* Móviles pequeños - 480px o menos */
@media (max-width: 480px) {
    .resultado-item {
        align-items: stretch;        /* importante */
        gap: 14px;
    }
    
    .acciones-column {
        justify-content: flex-end;   /* botones a la derecha aunque esté abajo */
        padding-top: 8px;
    }
}

/*La condición es que el ancho máximo de la pantalla va desde 0 a 575.98 píxeles. Partiendo dede cero*/
/*@media (max-width: 576px) {}*/


/*Aplica a dispositivos con un ancho de pantalla mínimo de 320 píxeles y un ancho de pantalla máximo de 576 píxeles.*/
@media (min-width: 321px) and (max-width: 576px) {
    .col-totalpro {
      margin-top: 2px;
      flex-basis: 98%;
    }
    .sinproveedor h2{
      font-size: 16px;
    }
    .autocomplete #servicios-list {
      max-height: 300px;
      overflow-y: auto;
    }
    #servicios-list li {
      padding: 1px 5px 5px 20px;
    }
    .column label {
      padding: 0px;
    }
    
    .sint {
      color: #038C8C;
      font-size: 16px;
    }

    .kms {
      margin: 0px 0px 5px 0px;
      color: #F28705;
    }

    #modalOne_listaprov form {
      width: 98%;
      margin: 50px 0px 0px 0px;
      padding: 5px;
    }
   
} /*fin media*/

/*Aplica a dispositivos con un ancho de pantalla mínimo de 577 píxeles y un ancho de pantalla máximo de 768 píxeles.*/
@media (min-width: 577px) and (max-width: 768px) {
  
    /*.resultado-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
        padding: 18px;
    }*/

    .resultado-item {
        padding: 16px 18px;
        gap: 15px;
    }
    
    .acciones-column {
        width: 100%;
        justify-content: flex-start;
    }

  .col-totalpro {
      margin-top: 2px;
      flex-basis: 98%;
    }
    .sinproveedor h2{
      font-size: 16px;
    }
    .autocomplete #servicios-list {
      max-height: 300px;
      overflow-y: auto;
    }
    #servicios-list li {
      padding: 1px 5px 5px 20px;
    }
    .column label {
      padding: 0px;
    }
    
    .sint {
      color: #038C8C;
      font-size: 16px;
    }

    .kms {
      margin: 0px 0px 5px 0px;
      color: #F28705;
    }
}

/*Aplica a dispositivos con un ancho de pantalla mínimo de 577 píxeles y un ancho de pantalla máximo de 768 píxeles.*/
@media (min-width: 769px) and (max-width: 992px) {
  .col-totalpro {
      margin-top: 2px;
      flex-basis: 98%;
    }
    .sinproveedor h2{
      font-size: 16px;
    }
    .autocomplete #servicios-list {
      max-height: 300px;
      overflow-y: auto;
    }
    #servicios-list li {
      padding: 1px 5px 5px 20px;
    }
    .column label {
      padding: 0px;
    }
    
    .sint {
      color: #038C8C;
      font-size: 16px;
    }

    .kms {
      margin: 0px 0px 5px 0px;
      color: #F28705;
    }
}