/* Estilos globales para el ícono de verificación */
.verified-badge {
    display: inline-flex;
    align-items: center;
    margin-left: 4px;
    position: relative;
    top: -1px;
    background-color: #fff !important;
}

.verified-badge i {
    color: #6DA6ED;
    font-size: 18px;
    
}

/* Estilos base para móvil y desktop */
.mobile-header {
    display: none; /* Por defecto oculto */
}

@media (max-width: 768px) {
    /* Forzar visualización del header móvil */
    .mobile-header {
        display: block !important;
        background: #fff;
        padding: 15px;
        border-radius: 8px;
        box-shadow: 0 2px 8px rgba(0,0,0,0.08);
        margin: 10px;
    }

    /* Ocultar elementos de desktop */
    #titlebar.listing-titlebar .listing-titlebar-title:not(.mobile-header),
    #titlebar.listing-titlebar .listing-logo:not(.mobile-listing-image) {
        display: none !important;
    }
    


    /* Estilos específicos para párrafos y secciones */
      /* Regla general para los párrafos de la ficha, pero NO los de comentarios */
        body.single-listing .listing-section p,
        body.single-listing #listing-overview p {
            font-size: 12px !important;
            line-height: 17.07px !important;
            font-family: 'Montserrat' !important;
            margin: 20px !important;
            color: #333 !important;
            padding-left: 10px !important;
        }

        /* Regla específica para los párrafos de los comentarios */
        body.single-listing .comment-content p {
            font-size: 14px !important;
            line-height: 100% !important;
            font-family: 'Montserrat', Arial, sans-serif !important;
            margin: 10px 0 !important;
            color: #1B1C1E !important;
            padding: 5px 0 !important;
        }

    /* Estilos específicos para títulos de secciones */
    body.single-listing .verified-profile-container h3,
    body.single-listing .experiencia h3,
    body.single-listing .listing-desc-headline,
    body.single-listing #listing-overview .listing-desc-headline {
        font-size: 15px !important;
        margin-bottom: 3px !important;
        margin-top: 0 !important;
        font-family: 'Montserrat' !important;
        line-height: 28px !important;
        color: #2E2E2E !important;
        font-weight: 600 !important;
        margin: 1px 0 0 0 !important;
        padding: 32px 45px !important;
    }
   

    .mobile-listing-card {
        display: flex;
        gap: 15px;
        margin-bottom: 20px;
    }

    .mobile-listing-image {
        width: 110px;
        height: 130px;
        border-radius: 4px;
        overflow: hidden;
        flex-shrink: 0;
    }

    .mobile-listing-image img {
        width: 110px;
        height: 130px;
        object-fit: cover;
    }

    .mobile-listing-info {
        flex: 1;
        display: flex;
        flex-direction: column;
        gap: 1px;
    }

    .mobile-listing-title {
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .mobile-listing-title h1 {
        font-family: Montserrat;
        font-size: 15px;
        font-weight: 500;
        line-height: 17.07px;
        margin: 0;
        color: #2E2E2E;
        display: flex;
        align-items: center;
        gap: 4px;
    }

    .mobile-listing-title h2 {
        font-family: Montserrat !important;
        font-size: 15px !important;
        font-weight: 500 !important;
        line-height: 21.94px !important;
        text-align: left !important;
        margin: 0 !important;
        color: #2E2E2E !important;
    }

    .mobile-listing-title .verified-badge i {
        font-size: 16px;
    }

    .mobile-category {
        font-family: Montserrat;
        font-size: 12px;
        font-weight: 400;
        line-height: 17.07px;
        color: #000000;
    }

    .mobile-rating {
        display: flex;
        align-items: center;
        gap: 4px;
        margin: 5px 0;
        font-family: Montserrat;
        font-size: 12px;
    }

    .mobile-rating .fa-star {
        color: #ffc107 !important;
        font-size: 14px;
    }

    .mobile-rating .rating-value {
        font-weight: 600;
        color: #333;
    }

    .mobile-rating .rating-max {
        color: #666;
    }

    .mobile-rating .separator {
        color: #666;
        margin: 0 4px;
    }

    .mobile-rating .reviews-count {
        color: #666;
    }

    .mobile-address {
        font-size: 12px;
        color: #000000;
        display: flex;
        align-items: center;
        gap: 8px;
        line-height: 17.07px;
    }

    .mobile-address i {
        color: #333;
        font-size: 16px;
    }

    .mobile-listing-buttons {
        display: flex;
        flex-direction: column;
        gap: 10px;
        margin-top: 15px;
    }

    .mobile-listing-buttons .button {
        width: 100%;
        padding: 12px;
        border-radius: 4px;
        font-weight: 600;
        text-align: center;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        text-decoration: none;
        font-family: Montserrat;
    }

    .mobile-listing-buttons .agendar-ahora {
        background: #334C49;
        color: white;
        border: none;
    }

    .mobile-listing-buttons .agendar-ahora:hover {
        background: #2a3e3c;
    }

    .mobile-listing-buttons .enviar-mensaje {
        background: white;
        color: #333;
        border: 1px solid #ddd;
    }

    .mobile-listing-buttons .enviar-mensaje:hover {
        background: #f5f5f5;
    }

    

    /* Ajustes adicionales para el contenedor principal */
    #titlebar.listing-titlebar {
        background: transparent;
        margin: 2px 20px 10px 10px !important;
        padding-bottom: 5px;
    }

    /* Hacer el selector más específico para sobrescribir los estilos del tema padre */
    #titlebar.listing-titlebar .mobile-header .mobile-listing-title h1,
    #titlebar.listing-titlebar .mobile-header .mobile-listing-title h2,
    .mobile-listing-title h1 {
        font-family: Montserrat !important;
        font-size: 15px !important;
        font-weight: 500 !important;
        line-height: 17.07px !important;
        text-align: left !important;
        margin: 0 !important;
        color: #2E2E2E !important;
    }

    
#titlebar.listing-titlebar span a, #titlebar.listing-titlebar span {
    font-size: 12px !important;
    color: #888 !important;
    margin-top: 0 !important;
    display: contents !important;
    line-height: 17.07px !important;
}

    /* Redes Sociales - Solo para móvil */
    .listing-social-links {
        background: white;
        padding: 15px;
        border-radius: 8px;
        margin: 10px 0;
        box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    }

    .listing-social-links h3 {
        font-size: 18px;
        font-weight: 600;
        margin-bottom: 15px;
        color: #2E2E2E;
    }

    .listing-social-links ul {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
        padding: 0;
        margin: 0;
        list-style: none;
    }

    .listing-social-links ul li {
        width: 100%;
    }

    .listing-social-links ul li a {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 10px;
        background: #f8f8f8;
        border-radius: 6px;
        text-decoration: none;
        color: #333;
        font-size: 14px;
        font-weight: 500;
        transition: all 0.3s ease;
    }

    .verified-profile-container {
        background: white;
        padding: 20px;
        border-radius: 8px;
        margin: 15px 0;
        box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    }

    .verified-profile-container h3 {
        font-size: 18px;
        font-weight: 600;
        margin-bottom: 10px;
        color: #2E2E2E;
        display: block;
        width: 100%;
    }

    .verified-profile-container p {
        font-size: 14px;
        color: #666;
        margin-bottom: 15px;
        display: block;
        width: 100%;
    }

    .verified-icon-container {
        display: flex;
        justify-content: center;
        width: 100%;
        margin-top: 15px;
    }

    .verified-card-icon {
        width: 120px;
        height: auto;
        display: block;
    }
}

/* Asegurar que el header desktop solo se muestre en desktop */
@media (min-width: 769px) {
    .mobile-header {
        display: none !important;
    }
}

/* Desktop styles for verification icon */
#titlebar.listing-titlebar h1 {
    display: flex;
    align-items: center;
    gap: 8px;
}

#titlebar.listing-titlebar .verified-badge i {
    font-size: 20px;
    background-color: #fff;
}

/* Estilos específicos para el titlebar */
body.single-listing #titlebar.listing-titlebar {
    background: transparent !important;
    margin: 2px 20px 10px 10px !important;
    padding-bottom: 55px !important;
}

@media (max-width: 768px) {
    body.single-listing #titlebar.listing-titlebar {
        background: transparent !important;
        margin: 2px -10px 10px 0px !important;
        padding-bottom: 5px !important;
    }
    
    /* Resto de estilos móviles */
    .listing-titlebar-title {
        margin-bottom: 0 !important;
    }
}

/* Redes Sociales - Estilos específicos para móvil real */
@media only screen and (max-width: 768px) {
    #listing-overview .listing-social-links {
        background: #ffffff !important;
        padding: 15px !important;
        border-radius: 8px !important;
        margin: 15px !important;
        box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important;
        width: auto !important;
        display: block !important;
        box-sizing: border-box !important;
    }

    #listing-overview .listing-social-links h3 {
        font-family: 'Montserrat' !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        color: #2E2E2E !important;
        margin: 0 0 15px 0 !important;
        padding: 0 !important;
        display: block !important;
        text-align: left !important;
    }

    #listing-overview .listing-social-links ul {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 8px !important;
        padding: 0 !important;
        margin: 0 !important;
        list-style: none !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    #listing-overview .listing-social-links ul li {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
        box-sizing: border-box !important;
    }
    

    #listing-overview .listing-social-links ul li a {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        padding: 10px !important;
        background: #f8f8f8 !important;
        border-radius: 6px !important;
        text-decoration: none !important;
        color: #333 !important;
        font-family: 'Montserrat' !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        width: 100% !important;
        box-sizing: border-box !important;
        -webkit-appearance: none !important;
        -moz-appearance: none !important;
        appearance: none !important;
    }

    #listing-overview .listing-social-links ul li a i {
        font-size: 16px !important;
        min-width: 20px !important;
        text-align: center !important;
        display: inline-block !important;
    }
    
    #listing-overview  .pricing-list-container ul li {
        padding-right: 20px;
        padding: 20px !important;
    
    position: relative;
    }

}

/* Media query específico para dispositivos móviles */
@media only screen and (max-width: 480px) {
    #listing-overview .listing-social-links {
        margin: 10px !important;
    }

    #listing-overview .listing-social-links ul {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* Asegurar compatibilidad con webkit */
@supports (-webkit-touch-callout: none) {
    #listing-overview .listing-social-links ul {
        display: -webkit-grid !important;
        -webkit-grid-template-columns: repeat(2, 1fr) !important;
    }
}


/* --- DISEÑO UNIFICADO PARA TODAS LAS TARJETAS --- */
.listing-card-responsive {
  display: flex !important;
  align-items: flex-start;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.10);
  padding: 12px 10px 12px 10px;
  margin-bottom: 18px;
  gap: 12px;
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
  flex-direction: row;
}
.listing-card-responsive .listing-item-image {
  flex: 0 0 90px;
  width: 90px;
  height: 90px;
  overflow: hidden;
  border-radius: 8px;
}
.listing-card-responsive .listing-item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.listing-card-responsive .listing-item-content {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 0;
}
.listing-card-responsive .listing-item-inner {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.listing-card-responsive h3 {
  font-weight: 600;
  font-size: 1.05em;
  line-height: 1.2;
  margin: 0 0 4px 0;
}
.listing-card-responsive .listing-item-inner > span,
.listing-card-responsive .listing-item-inner > div {
  font-size: 0.97em;
  color: #444;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.listing-card-responsive .listing-item-inner .rating-counter {
  font-size: 0.95em;
  color: #888;
}
.listing-card-responsive .listing-item-content .save,
.listing-card-responsive .listing-item-content .like-icon {
  margin-top: 8px;
}
.listing-card-responsive .listing-item-content .listing-list-small-badges-container {
  margin-top: 6px;
  gap: 6px;
}
.listing-card-responsive .listing-item-content .listing-small-badge {
  font-size: 0.95em;
  padding: 4px 8px;
  border-radius: 6px;
  margin-right: 4px;
}

