/* ==========================================================================
   Estilos para la Sección de Médicos (CPT Medico)
   VERSIÓN 6.2.0 (MEJORA MÓVIL: Grillas Responsivas)
   - ADDED: @media query para forzar 1 columna en móviles (<480px).
   ========================================================================== */

/* --- DIRECTORIO DE MÉDICOS (archive-medico.php) --- */
.medicos-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 30px;
}

.medico-card {
    background-color: #fff;
    border-radius: var(--thw-border-radius);
    overflow: hidden;
    box-shadow: var(--thw-shadow-md);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: flex;
    flex-direction: column;
}
.medico-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--thw-shadow-lg);
}
.medico-card-image {
    overflow: hidden;
}
.medico-card-image img {
    width: 100%;
    height: 300px;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}
.medico-card:hover .medico-card-image img {
    transform: scale(1.05);
}
.medico-card-content {
    padding: 25px;
    text-align: center;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}
.medico-card-title {
    font-size: 1.5rem;
    margin: 0 0 5px 0;
}
.medico-card-title a {
    color: var(--thw-text-dark);
    text-decoration: none;
}
.medico-card-specialty {
    font-size: 1rem;
    color: var(--thw-color-secondary);
    margin: 0 0 20px 0;
    font-weight: 500;
}
.medico-card-link {
    display: inline-block;
    background-color: var(--thw-color-primary);
    color: #fff;
    padding: 10px 20px;
    border-radius: 50px;
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 700;
    transition: background-color 0.3s ease;
    margin-top: auto; /* Empuja el botón al final */
    align-self: center;
}
.medico-card-link:hover {
    background-color: var(--thw-color-secondary);
    color: #fff;
    text-decoration: none;
}

/* --- PERFIL DEL MÉDICO (single-medico.php) --- */
.medico-layout {
    display: flex;
    flex-wrap: wrap;
    gap: 50px;
    align-items: flex-start;
}
.medico-photo {
    flex: 1 1 350px;
}
.medico-photo img {
    border-radius: var(--thw-border-radius);
    box-shadow: var(--thw-shadow-lg);
    width: 100%;
    height: auto;
}
.medico-info {
    flex: 2 1 500px;
}
.medico-info h2 {
    font-size: 1.8rem;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--thw-color-primary);
    margin-top: 0;
    margin-bottom: 20px;
}
.medico-details-list {
    list-style: none;
    padding: 0;
    margin: 0 0 30px 0;
    background-color: var(--thw-color-light-bg);
    border-radius: var(--thw-border-radius);
    padding: 20px;
    border: 1px solid var(--thw-color-border);
}
.medico-details-list li {
    padding: 10px 0;
    border-bottom: 1px solid var(--thw-color-border);
    font-size: 1.1rem;
}
.medico-details-list li:last-child {
    border-bottom: none;
}
.medico-details-list li strong {
    color: var(--thw-text-dark);
}

/* --- FIX PARA MÓVILES PEQUEÑOS (Sección Nueva) --- */
@media (max-width: 480px) {
    /* Forzar que las tarjetas ocupen el 100% real disponible */
    .medicos-grid {
        grid-template-columns: 1fr !important; /* 1 sola columna */
        gap: 20px !important; /* Menos espacio entre tarjetas */
    }
    /* Ajustar altura de imágenes */
    .medico-card-image img {
        height: 180px !important; /* Reducir altura en móvil */
    }
}