:root {
    /* PALETA DIF INSTITUCIONAL */
    --dif-pink: #e91e63;       /* Rosa Fuerte */
    --dif-pink-light: #fce4ec; /* Rosa Claro para fondos */
    --dif-green: #4caf50;      /* Verde Vida */
    --dif-green-dark: #2e7d32; /* Verde Oscuro */
    --text-dark: #333;
    --card-shadow: 0 8px 24px rgba(233, 30, 99, 0.12);
}

body {
    background-color: #f9f9f9;
    font-family: 'Segoe UI', system-ui, sans-serif;
    color: var(--text-dark);
}

/* --- HEADER --- */
.main-header {
    background: linear-gradient(135deg, var(--dif-pink), #c2185b);
    color: white;
    padding: 1.5rem 0;
    margin-bottom: 2rem;
    border-radius: 0 0 30px 30px;
    box-shadow: 0 4px 15px rgba(233, 30, 99, 0.3);
}

/* --- SECCIÓN BIENVENIDA (NUEVO) --- */
.welcome-section {
    background: white;
    padding: 2rem;
    border-radius: 20px;
    border-left: 5px solid var(--dif-pink); /* Detalle rosa elegante */
    box-shadow: var(--card-shadow);
}
.welcome-title {
    color: var(--dif-green-dark); /* Título en verde para contraste */
    font-weight: 700;
}
.welcome-text {
    font-size: 1.1rem;
    color: #555;
    line-height: 1.6;
}

/* --- BOTONES PERSONALIZADOS --- */
.btn-primary {
    background-color: var(--dif-pink);
    border-color: var(--dif-pink);
}
.btn-primary:hover {
    background-color: #c2185b;
    border-color: #c2185b;
}

/* Botón Consultar */
.btn-outline-consultar {
    color: var(--dif-pink);
    border: 2px solid var(--dif-pink);
    background: white;
    transition: all 0.3s;
}
.btn-outline-consultar:hover {
    background: var(--dif-pink);
    color: white;
}

/* Botón Tutorial */
.btn-outline-tutorial {
    color: var(--dif-green);
    border: 2px solid var(--dif-green);
    background: white;
    transition: all 0.3s;
}
.btn-outline-tutorial:hover {
    background: var(--dif-green);
    color: white;
}

/* --- TARJETAS DE SERVICIOS (NUEVO DISEÑO) --- */
.service-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border-radius: 20px !important;
    background: white;
    overflow: hidden;
}
.service-card:hover {
    transform: translateY(-5px) !important;
    box-shadow: var(--card-shadow) !important;
}
/* Icono del servicio */
.icon-wrapper {
    display: inline-block;
    padding: 15px;
    border-radius: 50%;
    background-color: var(--dif-pink-light);
    color: var(--dif-pink);
    margin-bottom: 15px;
    transition: all 0.3s;
}
.service-card:hover .icon-wrapper {
    background-color: var(--dif-pink);
    color: white;
}
.service-title {
    color: var(--text-dark);
    font-weight: 700;
}
.btn-service {
    border: 1px solid var(--dif-pink);
    color: var(--dif-pink);
    background: transparent;
    font-weight: 600;
    transition: all 0.3s;
}
.service-card:hover .btn-service, 
.service-card.border-primary .btn-service {
    background: var(--dif-pink);
    color: white;
}

/* Estado Activo (Seleccionado en JS) */
.service-card.border-primary {
    border: 2px solid var(--dif-pink) !important;
    background-color: #fff0f5;
}

/* --- CALENDARIO --- */
#calendar {
    background: white;
    padding: 15px;
    border-radius: 15px;
    box-shadow: var(--card-shadow);
    max-width: 900px;
    margin: 0 auto;
    font-size: 0.9rem;
}
.fc-toolbar-title {
    color: var(--dif-pink);
    font-weight: bold;
    text-transform: uppercase;
    font-size: 1.2rem !important;
}
.fc-button-primary {
    background-color: var(--dif-green) !important;
    border-color: var(--dif-green) !important;
    text-transform: capitalize;
}
.fc-daygrid-day {
    transition: background 0.2s;
    height: 80px !important;
}
.fc-daygrid-day:hover {
    background-color: var(--dif-pink-light);
    cursor: pointer;
}
.fc-col-header-cell {
    background-color: var(--dif-pink);
    color: white;
    padding: 8px 0;
    font-weight: normal;
}
.fc-day-sat, .fc-day-sun {
    background-color: #f0f0f0;
    color: #999;
}

/* --- TARJETAS DE DOCTOR --- */
.doctor-card {
    border: 1px solid #eee;
    border-radius: 15px;
    overflow: hidden;
    transition: all 0.3s;
}
.doctor-card:hover {
    box-shadow: var(--card-shadow);
}
.doctor-card.border-primary {
    border-color: var(--dif-pink) !important;
    background-color: #fff0f5;
}
.doctor-img-container {
    background: linear-gradient(to bottom, var(--dif-pink-light) 50%, white 50%);
    padding: 15px;
    text-align: center;
}
.doctor-img {
    width: 100px; height: 100px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid white;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}
.doctor-bio {
    font-size: 0.85rem;
    color: #666;
    max-height: 80px;
    overflow-y: auto;
    margin-bottom: 10px;
}
.doctor-bio::-webkit-scrollbar { width: 4px; }
.doctor-bio::-webkit-scrollbar-thumb { background: var(--dif-pink); border-radius: 4px; }

/* Animaciones */
@keyframes fadeInUp {
    from { opacity: 0; transform: translate3d(0, 40px, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
}
.fade-in-up { animation: fadeInUp 0.8s ease-out; }

/* Textos Calendario */
.evt-libre, .evt-agotado {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    text-align: center;
    font-weight: 700;
    font-size: 0.85rem;
    margin-top: 30px !important;
    pointer-events: none;
}

@media (max-width: 768px) {
    .evt-libre, .evt-agotado { font-size: 0.7rem; margin-top: 20px !important; }
    .fc-daygrid-day { height: 60px !important; }
}