/* Estilos Generales del Contenedor de Perfil */
/* NUEVO: Aplicación global de la fuente Quicksand */
body, .dpc-profile-container, .dpc-modal, .dpc-tabs-content, .dpc-tabs-nav, .dpc-cedula-details, .dpc-contact-info p {
    font-family: 'Quicksand', sans-serif !important;
}





/* 2. REGLAS MAESTRAS DE FUENTES (Prioridad Máxima) */
/* Marcas (Brands): WhatsApp, Facebook, PayPal, Twitter */
.fab, 
.fa-whatsapp, 
.fa-facebook-f, 
.fa-twitter, 
.fa-paypal, 
.fa-instagram, 
.fa-linkedin {
    font-family: "Font Awesome 5 Brands" !important;
    font-weight: 400 !important;
    font-style: normal !important;
    -webkit-font-smoothing: antialiased;
}

/* Sólidos (Solid): Mercado Pago, Mapas, Usuario, Reloj */
.fas, 
.fa-hand-holding-usd, /* Icono Mercado Pago */
.fa-user-clock,       /* Icono Perfil Pausado */
.fa-map-marker-alt,
.fa-user-md {
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
    font-style: normal !important;
}

/* 3. INYECCIÓN DE UNICODE (Por si la fuente no mapea bien) */
.fa-whatsapp::before { content: "\f232" !important; }
.fa-facebook-f::before { content: "\f39e" !important; }
.fa-paypal::before { content: "\f1ed" !important; }
.fa-hand-holding-usd::before { content: "\f4c0" !important; } /* Icono Mercado Pago */
.fa-user-clock::before { content: "\f4fd" !important; } /* Icono Pausado */



/* =================================================================
   👑 FIXES VISUALES: ICONOS Y FONDOS
   ================================================================= */

/* 1. FIX: Iconos de Marcas (WhatsApp, Facebook, PayPal, Twitter) 
   Forzamos la familia "Brands" para que se vean los logos correctamente */
.dpc-share-btn i,
.dpc-share-btn i.fab,
.dpc-payment-btn i.fab,
.dpc-mobile-action-icon-box i.fab,
.dpc-stat-icon-wrap i.fab {
    font-family: "Font Awesome 5 Brands" !important;
    font-weight: 400 !important;
    font-style: normal !important;
}

/* 2. FIX: Icono de Perfil Pausado (Reloj / Info)
   Forzamos la familia "Solid" para iconos de interfaz */
.dpc-paused-icon i,
.dpc-paused-icon-box i {
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
    font-style: normal !important;
}

/* 3. MEJORA: Fondo Pestaña Trayectoria (Casi Blanco) 
   Cambiamos el gris/gradiente fuerte por un blanco humo muy sutil */
.dpc-bio-hero {
    background: #ffffff !important;
    background: linear-gradient(180deg, #ffffff 0%, #fcfcfc 100%) !important;
    border: 1px solid #f1f1f1 !important; /* Borde muy sutil para delimitar */
    border-left: 5px solid #0d6efd !important; /* Mantenemos el acento azul elegante */
    box-shadow: 0 5px 20px rgba(0,0,0,0.02) !important; /* Sombra ultra ligera */
}

/* Ajuste opcional para el texto dentro de trayectoria para mejor contraste */
.dpc-bio-content {
    color: #444 !important;
}


/* =============================================================================
   👑 ESTILOS PLAN ENFERMERÍA (GRUPO 6) - UPDATE: TONOS VERDE AQUA (IMSS)
   ============================================================================= */

/* 1. Sidebar: Borde Aqua sutil y sombra */
.dpc-sidebar.dpc-plan-enfermeria {
    border: 1px solid #E0F2F1 !important; /* Verde muy claro */
    box-shadow: 0 4px 15px rgba(38, 166, 154, 0.15) !important; /* Sombra Teal */
}

/* 2. Cabecera (Fondo): Degradado Aqua */
.dpc-sidebar.dpc-plan-enfermeria:before {
    /* Degradado desde un Aqua suave hacia blanco */
    background: linear-gradient(to bottom, #B2DFDB 0%, #E0F2F1 75%, #ffffff 100%) !important;
    box-shadow: inset 0 -35px 35px -30px rgba(255, 255, 255, 0.95);
}

/* 3. Foto de Portada: Resplandor Aqua */
.dpc-sidebar.dpc-plan-enfermeria .dpc-cover-photo-wrap {
    box-shadow: 0 5px 25px rgba(38, 166, 154, 0.3) !important; 
    border: 1px solid #ffffff !important;
}

/* 4. Avatar: Borde y Sombra Aqua */
.dpc-avatar.dpc-avatar-enfermeria {
    border-color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(38, 166, 154, 0.3) !important;
}
.dpc-avatar.dpc-avatar-enfermeria:hover {
    box-shadow: 0 6px 18px rgba(38, 166, 154, 0.6) !important;
    border-color: #4DB6AC !important; 
}

/* 5. Textos: Teal Oscuro para legibilidad */
.dpc-sidebar.dpc-plan-enfermeria .dpc-name {
    color: #00695C !important; /* Teal Oscuro */
}
.dpc-sidebar.dpc-plan-enfermeria .dpc-specialty {
    color: #00897B !important; /* Teal Medio */
}


/* =============================================================================
   👑 NUEVO: ESTILOS PLAN MIP (GRUPO 9) - TONOS PLATEADOS / METÁLICOS
   ============================================================================= */

/* 1. Sidebar: Borde Gris Azulado sutil */
.dpc-sidebar.dpc-plan-mip {
    border: 1px solid #ECEFF1 !important; /* Gris muy claro (Blue Grey 50) */
    box-shadow: 0 4px 15px rgba(120, 144, 156, 0.2) !important; /* Sombra Blue Grey */
}

/* 2. Cabecera (Fondo): Degradado Plateado */
.dpc-sidebar.dpc-plan-mip:before {
    /* Degradado desde Blue Grey suave hacia blanco */
    background: linear-gradient(to bottom, #CFD8DC 0%, #ECEFF1 75%, #ffffff 100%) !important;
    box-shadow: inset 0 -35px 35px -30px rgba(255, 255, 255, 0.95);
}

/* 3. Foto de Portada: Sombra metálica */
.dpc-sidebar.dpc-plan-mip .dpc-cover-photo-wrap {
    box-shadow: 0 5px 25px rgba(120, 144, 156, 0.35) !important; 
    border: 1px solid #ffffff !important;
}

/* 4. Avatar: Borde Plateado */
.dpc-avatar.dpc-avatar-mip {
    border-color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(84, 110, 122, 0.25) !important;
}
.dpc-avatar.dpc-avatar-mip:hover {
    box-shadow: 0 6px 18px rgba(84, 110, 122, 0.5) !important;
    border-color: #B0BEC5 !important; 
}

/* 5. Textos: Gris Oscuro (Blue Grey 900) para elegancia */
.dpc-sidebar.dpc-plan-mip .dpc-name {
    color: #263238 !important; /* Gris casi negro elegante */
}
.dpc-sidebar.dpc-plan-mip .dpc-specialty {
    color: #546E7A !important; /* Gris medio azulado */
}

/* Agregarlo a la lista de avatares con borde blanco */
.dpc-group-9 .dpc-avatar {
    border: 2px solid #ffffff !important;
}
.dpc-group-9 .dpc-avatar:hover {
    border-color: #ffffff !important;
}



/* =============================================================================
   👑 CSS AVATARES POR GRUPO (BORDE BLANCO DELGADO)
   ============================================================================= */

/* Helper de clase generado en el contenedor principal */
/* Asegúrate de que tu contenedor tenga: class="dpc-profile-container ... dpc-group-X" */

/* Grupo 1 (Light) */
.dpc-group-1 .dpc-avatar {
    border: 2px solid #ffffff !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1) !important; /* Sombra opcional para que se note el borde blanco */
}

/* Grupo 2 (Pro) */
.dpc-group-2 .dpc-avatar {
    border: 2px solid #ffffff !important;
}

/* Grupo 6 (Enfermería) */
.dpc-group-6 .dpc-avatar {
    border: 2px solid #ffffff !important;
}

/* Grupo 8 (General) */
.dpc-group-8 .dpc-avatar {
    border: 2px solid #ffffff !important;
}

/* Opcional: Asegurar que el efecto hover mantenga el borde */
.dpc-group-1 .dpc-avatar:hover,
.dpc-group-2 .dpc-avatar:hover,
.dpc-group-6 .dpc-avatar:hover,
.dpc-group-8 .dpc-avatar:hover {
    border-color: #ffffff !important;
}


/* =============================================================================
   👑 NUEVO: ESTILOS PLAN GENERAL (GRUPO 8) - TONOS ÁMBAR PÁLIDO
   ============================================================================= */

/* 1. Sidebar */
.dpc-sidebar.dpc-plan-general {
    border: 1px solid #FFF8E1 !important; /* Ambar muy pálido */
    box-shadow: 0 4px 15px rgba(255, 193, 7, 0.15) !important; /* Sombra Ambar */
}

/* 2. Cabecera (Fondo) */
.dpc-sidebar.dpc-plan-general:before {
    /* Degradado desde Ambar Pastel hacia blanco */
    background: linear-gradient(to bottom, #FFE082 0%, #FFF8E1 75%, #ffffff 100%) !important;
    box-shadow: inset 0 -35px 35px -30px rgba(255, 255, 255, 0.95);
}

/* 3. Foto de Portada */
.dpc-sidebar.dpc-plan-general .dpc-cover-photo-wrap {
    box-shadow: 0 5px 25px rgba(255, 193, 7, 0.3) !important; 
    border: 1px solid #ffffff !important;
}

/* 4. Avatar */
.dpc-avatar.dpc-avatar-general {
    border-color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(255, 193, 7, 0.3) !important;
}
.dpc-avatar.dpc-avatar-general:hover {
    box-shadow: 0 6px 18px rgba(255, 193, 7, 0.6) !important;
    border-color: #FFCA28 !important; 
}

/* 5. Textos: Marrón/Ambar Oscuro para contraste */
.dpc-sidebar.dpc-plan-general .dpc-name {
    color: #E65100 !important; /* Naranja/Ambar oscuro fuerte */
}
.dpc-sidebar.dpc-plan-general .dpc-specialty {
    color: #F57C00 !important; /* Naranja medio */
}



/* =============================================================================
   🎨 DOKTER+ ULTRA UI/UX PACK (Overhaul Visual)
   ============================================================================= */

/* 1. ESTILO GENERAL DE CONTENIDO DE PESTAÑAS */
.dpc-tabs-content {
    background: #fff;
    border: none !important; /* Quitamos bordes duros */
    border-radius: 0 0 16px 16px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.05); /* Sombra suave y profunda */
    padding: 35px !important;
}

/* 2. ICONOS FIX (Feed y otros) */
.dpc-tabs-nav i.fa-newspaper::before { content: "\f1ea" !important; } 
.dpc-tabs-nav i.fa-rss::before { content: "\f09e" !important; }

/* 3. PESTAÑA TRAYECTORIA (Diseño "Hero Bio") */
.dpc-bio-hero {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    border-radius: 12px;
    padding: 30px;
    position: relative;
    overflow: hidden;
    border-left: 5px solid #0d6efd;
    margin-bottom: 25px;
}
.dpc-bio-hero h3 {
    margin-top: 0;
    color: #0d6efd;
    font-size: 1.1rem;
    font-weight: 600;
    letter-spacing: -0.5px;
}
.dpc-bio-content {
    font-size: 0.85rem;
    line-height: 1.8;
    color: #374151;
    text-align: justify;
}
/* Efecto "Timeline" para los párrafos de trayectoria */
.dpc-bio-content p {
    position: relative;
    padding-left: 20px;
    margin-bottom: 15px;
}
.dpc-bio-content p::before {
    content: "•";
    color: #0d6efd;
    font-weight: bold;
    font-size: 1.5em;
    position: absolute;
    left: 0;
    top: -5px;
}

/* 4. PESTAÑA UBICACIÓN (Mapa Fix + Tarjeta Flotante) */
.dpc-map-wrapper {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}
#osm-map {
    width: 100% !important;
    height: 450px !important;
    background-color: #eef2f6; /* Placeholder visual */
    z-index: 1;
}
.dpc-map-overlay {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(5px);
    padding: 15px 20px;
    border-radius: 12px;
    position: absolute;
    bottom: 20px;
    left: 20px;
    z-index: 500; /* Encima del mapa */
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    max-width: 80%;
}

/* 5. TABLAS (Historial Recetas, Blogs, Pre-registro) - ESTILO MODERNO */
/* Transforma cualquier tabla aburrida dentro de los tabs */
.dpc-tab-pane table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 8px; /* Separación entre filas */
    margin-top: 10px;
}
.dpc-tab-pane thead th {
    background-color: transparent;
    color: #6c757d;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 0 15px 10px 15px;
    border: none;
}
.dpc-tab-pane tbody tr {
    background: #ffffff;
    box-shadow: 0 2px 5px rgba(0,0,0,0.03);
    transition: transform 0.2s, box-shadow 0.2s;
}
.dpc-tab-pane tbody tr:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(13, 110, 253, 0.1);
    z-index: 2;
    position: relative;
}
.dpc-tab-pane tbody td {
    padding: 15px;
    border-top: 1px solid #f1f1f1;
    border-bottom: 1px solid #f1f1f1;
}
.dpc-tab-pane tbody td:first-child { border-left: 1px solid #f1f1f1; border-top-left-radius: 10px; border-bottom-left-radius: 10px; }
.dpc-tab-pane tbody td:last-child { border-right: 1px solid #f1f1f1; border-top-right-radius: 10px; border-bottom-right-radius: 10px; }

/* 6. FORMULARIOS (Nuevas Recetas, Consultas, Pre-registro) */
.dpc-tab-pane input[type="text"], 
.dpc-tab-pane input[type="email"], 
.dpc-tab-pane input[type="date"],
.dpc-tab-pane input[type="number"],
.dpc-tab-pane select, 
.dpc-tab-pane textarea {
    background: #f8f9fa;
    border: 2px solid #eef2f6;
    border-radius: 10px;
    padding: 12px 15px;
    font-size: 0.95rem;
    color: #495057;
    transition: all 0.3s ease;
    width: 100%;
    box-sizing: border-box;
}
.dpc-tab-pane input:focus, .dpc-tab-pane select:focus, .dpc-tab-pane textarea:focus {
    background: #fff;
    border-color: #0d6efd;
    box-shadow: 0 0 0 4px rgba(13, 110, 253, 0.1);
    outline: none;
}
.dpc-tab-pane label {
    font-weight: 700;
    color: #343a40;
    margin-bottom: 6px;
    display: block;
    font-size: 0.9rem;
}

/* 7. PAGOS EN LÍNEA (Tarjetas Visuales) */
.dpc-pay-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 20px;
    margin-top: 20px;
}
.dpc-pay-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 30px 20px;
    border-radius: 16px;
    color: white !important;
    text-decoration: none !important;
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
    overflow: hidden;
}
.dpc-pay-card:hover { transform: translateY(-5px); }
.dpc-pay-card i { font-size: 3rem; margin-bottom: 15px; z-index: 2; }
.dpc-pay-card span { font-weight: 700; font-size: 1.2rem; z-index: 2; }
.dpc-pay-card::before {
    content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%;
    background: radial-gradient(circle, rgba(255,255,255,0.2) 0%, transparent 60%);
    opacity: 0; transition: opacity 0.3s;
}
.dpc-pay-card:hover::before { opacity: 1; }

.dpc-bg-mp { background: linear-gradient(135deg, #009EE3 0%, #005F8F 100%); box-shadow: 0 8px 20px rgba(0, 158, 227, 0.3); }
.dpc-bg-pp { background: linear-gradient(135deg, #003087 0%, #001C4E 100%); box-shadow: 0 8px 20px rgba(0, 48, 135, 0.3); }

/* 8. COMPARTIR (Diseño Limpio) */
.dpc-share-container { text-align: center; }
.dpc-qr-box {
    background: white;
    padding: 20px;
    border: 1px solid #eee;
    border-radius: 12px;
    display: inline-block;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    margin-bottom: 20px;
}
.dpc-share-buttons-row {
    display: flex; gap: 10px; justify-content: center; flex-wrap: wrap;
}
.dpc-share-pill {
    padding: 10px 20px;
    border-radius: 50px;
    color: white !important;
    text-decoration: none !important;
    font-weight: 600;
    font-size: 0.9rem;
    display: flex; align-items: center; gap: 8px;
    transition: filter 0.3s;
}
.dpc-share-pill:hover { filter: brightness(1.1); transform: translateY(-2px); }

/* 9. MIS BLOGS (Tarjetas) */
.profilegrid_blog_post {
    border: 1px solid #eef2f6;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 20px;
    background: #fff;
    transition: box-shadow 0.3s;
}
.profilegrid_blog_post:hover { box-shadow: 0 8px 25px rgba(0,0,0,0.06); }
.profilegrid_blog_post h2, .profilegrid_blog_post h3 { color: #0d6efd; margin-top: 0; }








/* --- FIX 1: Icono de Perfil Pausado --- */
.dpc-paused-icon-box i {
    font-family: "Font Awesome 5 Free" !important; /* Forzar la familia Free */
    font-weight: 900 !important;
}

/* --- FIX 2: Iconos de Botones Compartir --- */
/* Forzar familia Brands para redes sociales */
.dpc-share-btn i.fab {
    font-family: "Font Awesome 5 Brands" !important;
    font-weight: 400 !important;
}
/* Forzar familia Free para Email y Copiar */
.dpc-share-btn i.fas {
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
}

/* --- FIX 3: Estilo Botón Copiar Enlace --- */
.dpc-share-copy {
    background-color: #6c757d; /* Gris profesional */
    color: #fff !important;
    grid-column: span 2; /* Que ocupe todo el ancho en el grid */
    transition: all 0.3s ease;
}
.dpc-share-copy:hover {
    background-color: #5a6268;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}

/* --- EXTRA: Estilo para el Spinner de Carga (Lazy Load) --- */
.dpc-lazy-loading-placeholder {
    text-align: center;
    padding: 50px;
    background: #f8f9fa;
    border-radius: 8px;
    color: #6c757d;
    font-size: 1.2em;
    border: 2px dashed #dee2e6;
}
.dpc-lazy-loading-placeholder i {
    font-size: 2em;
    margin-bottom: 15px;
    color: #0d6efd;
}



/* 👑 FIX ICONOS AGRESIVO POR UNICODE (INCLUYE ESTADÍSTICAS) 👑 */
.dpc-profile-container i, .dpc-modal i, .dpc-tabs-nav i, .dpc-small-title i, .dpc-doc-icon, .dpc-contact-info p i, .dpc-stat-icon-wrap i {
    font-family: 'Font Awesome 5 Free' !important;
    font-weight: 900 !important;
    font-style: normal !important;
    text-rendering: auto !important;
}
.dpc-social-btn i.fab, .dpc-whatsapp-number-display i.fab, .dpc-modal-whatsapp-btn i.fab, .dpc-stat-icon-wrap i.fab {
    font-family: 'Font Awesome 5 Brands' !important;
    font-weight: 400 !important;
}

/* Mapeos Esenciales y ESTADÍSTICAS FALTANTES */
.dpc-tabs-nav i.fa-book-medical::before, .dpc-small-title i.fa-book-medical::before { content: "\f7e6" !important; }
.dpc-tabs-nav i.fa-map-pin::before, .dpc-small-title i.fa-map-pin::before { content: "\f276" !important; }
.dpc-tabs-nav i.fa-clipboard-check::before { content: "\f46c" !important; }
/* 👑 FIX ICONO FEED (RSS) 👑 */
.dpc-tabs-nav i.fa-rss::before,
.dpc-small-title i.fa-rss::before,
.dpc-config-sidebar i.fa-rss::before {
    content: "\f09e" !important; /* Unicode oficial de RSS */
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
}
/* Iconos de Auditoría (Faltantes) */
.dpc-stat-icon-wrap i.fa-eye::before { content: "\f06e" !important; }
.dpc-stat-icon-wrap i.fab.fa-whatsapp::before { content: "\f232" !important; }
.dpc-stat-icon-wrap i.fa-phone-alt::before { content: "\f879" !important; }
.dpc-stat-icon-wrap i.fa-calendar-check::before { content: "\f274" !important; }
/* Mapeo de Unicode para ICONOS SOLID (FAS) */
.dpc-tabs-nav i.fa-book-medical::before, .dpc-small-title i.fa-book-medical::before { content: "\f7e6" !important; }
.dpc-tabs-nav i.fa-certificate::before, .dpc-modal-title i.fa-certificate::before, .dpc-small-title i.fa-certificate::before { content: "\f0a3" !important; }
.dpc-tabs-nav i.fa-award::before, .dpc-small-title i.fa-award::before { content: "\f559" !important; }
.dpc-tabs-nav i.fa-rss::before, .dpc-small-title i.fa-bullhorn::before { content: "\f670" !important; }
.dpc-tabs-nav i.fa-calendar-check::before, .dpc-small-title i.fa-calendar-alt::before { content: "\f4c9" !important; }
.dpc-tabs-nav i.fa-share-alt::before, .dpc-small-title i.fa-share-alt::before { content: "\f1e0" !important; }
.dpc-tabs-nav i.fa-star::before, .dpc-small-title i.fa-star-half-alt::before { content: "\f5c0" !important; }
.dpc-tabs-nav i.fa-users::before, .dpc-small-title i.fa-gavel::before { content: "\f0c0" !important; }
.dpc-tabs-nav i.fa-map-pin::before, .dpc-small-title i.fa-map-pin::before { content: "\f276" !important; }
.dpc-tabs-nav i.fa-headset::before, .dpc-small-title i.fa-headset::before { content: "\f590" !important; }
.dpc-tabs-nav i.fa-file-signature::before { content: "\f573" !important; }
.dpc-tabs-nav i.fa-prescription-bottle-alt::before { content: "\f486" !important; }
.dpc-tabs-nav i.fa-file-medical::before { content: "\f477" !important; }
.dpc-tabs-nav i.fa-user-friends::before { content: "\f500" !important; }
.dpc-tabs-nav i.fa-envelope::before { content: "\f0e0" !important; }
.dpc-tabs-nav i.fa-pen-square::before { content: "\f14b" !important; }
.dpc-tabs-nav i.fa-cog::before { content: "\f013" !important; }
.dpc-tabs-nav i.fa-address-card::before { content: "\f2bb" !important; }
.dpc-tabs-nav i.fa-briefcase::before { content: "\f0b1" !important; }
.dpc-tabs-nav i.fa-map-marked-alt::before { content: "\f59f" !important; }
.dpc-tabs-nav i.fa-camera-retro::before { content: "\f231" !important; }
.dpc-tabs-nav i.fa-file-upload::before { content: "\f574" !important; }
.dpc-tabs-nav i.fa-medal::before { content: "\f5a2" !important; }
.dpc-tabs-nav i.fa-wrench::before { content: "\f0ad" !important; }
.dpc-tabs-nav i.fa-money-check-alt::before { content: "\f53d" !important; }
.dpc-tabs-nav i.fa-credit-card::before { content: "\f09d" !important; }
/* 👑 NUEVO ICONO EXPEDIENTE 👑 */
.dpc-tabs-nav i.fa-folder-open::before, .dpc-small-title i.fa-folder-open::before { content: "\f07c" !important; }
/* 👑 FIX PARA ICONO SERVICIOS (Hand Holding Heart) 👑 */
.dpc-tabs-nav i.fa-hand-holding-heart::before, 
.dpc-small-title i.fa-hand-holding-heart::before,
.dpc-config-sidebar i.fa-hand-holding-heart::before { 
    content: "\f4be" !important; 
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
}




.dpc-contact-info p i.fa-map-marker-alt::before, .dpc-address-link i.fa-map-marker-alt::before { content: "\f276" !important; }
.dpc-contact-info p i.fa-clinic-medical::before, .dpc-multi-select-list li i.fa-clinic-medical::before { content: "\f7f2" !important; }
.dpc-contact-info p i.fa-house-medical-circle-check::before, .dpc-multi-select-list li i.fa-house-medical-circle-check::before { content: "\e50e" !important; }
.dpc-contact-info p i.fa-phone::before, .dpc-modal-title i.fa-phone-alt::before, .dpc-multi-select-list li i.fa-phone::before { content: "\f095" !important; }
.dpc-contact-info p i.fa-laptop-medical::before, .dpc-multi-select-list li i.fa-laptop-medical::before { content: "\f812" !important; }
.dpc-contact-info p i.fa-credit-card::before, .dpc-multi-select-list li i.fa-credit-card::before { content: "\f09d" !important; }
.dpc-contact-info p i.fa-dollar-sign::before, .dpc-multi-select-list li i.fa-dollar-sign::before { content: "\f155" !important; }
.dpc-contact-info p i.fa-shield-alt::before, .dpc-multi-select-list li i.fa-shield-alt::before { content: "\f3ed" !important; }
.dpc-contact-info p i.fa-handshake::before, .dpc-multi-select-list li i.fa-handshake::before { content: "\f2b5" !important; }
.dpc-contact-info p i.fa-toggle-on::before, .dpc-multi-select-list li i.fa-toggle-on::before { content: "\f205" !important; }
.dpc-contact-info p i.fa-check-circle::before, .dpc-multi-select-list li i.fa-check-circle::before { content: "\f058" !important; }
.dpc-profile-badge i.fa-check::before, .dpc-multi-select-list li i.fa-check::before { content: "\f00c" !important; }

.dpc-doc-icon.fa-file-alt::before { content: "\f15c" !important; }
.dpc-button-urgencias i.fa-bolt::before { content: "\f0e7" !important; }
.dpc-button-urgencias i.fa-moon::before { content: "\f186" !important; }
.dpc-button-urgencias i.fa-pause-circle::before { content: "\f4c9" !important; }    
.dpc-modal-close::before { content: "\f00d" !important; font-family: 'Font Awesome 5 Free' !important; font-weight: 900 !important; color: #aaa; font-style: normal; display: block; }
.dpc-modal-call-btn i.fa-phone-square-alt::before { content: "\f6f2" !important; }

.dpc-social-btn i.fa-facebook-f::before { content: "\f39e" !important; }
.dpc-social-btn i.fa-x-twitter::before { content: "\e61a" !important; }
.dpc-social-btn i.fa-whatsapp::before, .dpc-whatsapp-number-display i.fa-whatsapp::before, .dpc-modal-whatsapp-btn i.fa-whatsapp::before { content: "\f232" !important; }
.dpc-social-btn i.fa-linkedin::before { content: "\f08c" !important; }
/* 👑 FIN FIX ICONOS AGRESIVO POR UNICODE 👑 */

.dpc-profile-container { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 4mm; margin-top: -4mm; font-size: 14px; }
.dpc-profile-container, .dpc-contact-info p, .dpc-tabs-content p, .dpc-tabs-content ul li, .dpc-tabs-content ol li { font-weight: 500 !important; }
.dpc-small-title { font-size: 1.25em !important; color: #333; border-bottom: 2px solid #f0f0f0; padding-bottom: 8px; margin-bottom: 15px; font-weight: 700; }
.dpc-small-title i { color: #0d6efd; margin-right: 8px; }
.dpc-contact-info strong, .dpc-bold-medium { font-weight: 700 !important; }

.dpc-sub-tabs-content .pm-field-required:not(label):before, .dpc-sub-tabs-content label[for]:after { content: " *"; color: #dc3545; font-weight: 700; font-size: 1.1em; vertical-align: top; display: inline-block; }
.dpc-sub-tabs-content input[required], .dpc-sub-tabs-content select[required], .dpc-sub-tabs-content textarea[required] { border-color: #dc3545 !important; }
.dpc-sub-tabs-content input[required]:focus, .dpc-sub-tabs-content select[required]:focus, .dpc-sub-tabs-content textarea[required]:focus { box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25) !important; }

.dpc-sidebar { flex: 0 0 350px; background-color: #ffffff; border: 1px solid #e0e0e0; padding: 4mm; box-shadow: 0 4px 8px rgba(0,0,0,0.05); border-radius: 8px; position: sticky; top: 5px; position: relative; overflow: hidden; transition: all 0.3s ease-in-out; margin-top: -4mm; }
.dpc-photo-card { position: relative; }
.dpc-sidebar:before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 365px; border-radius: 8px 8px 0 0; z-index: 0; pointer-events: none; opacity: 1; box-shadow: inset 0 -35px 35px -30px rgba(255, 255, 255, 0.7); }

.dpc-sidebar.dpc-plan-plus:before { background: linear-gradient(to bottom, #004d99 0%, #0d6efd 75%, #ffffff 100%); box-shadow: inset 0 -35px 35px -30px rgba(255, 255, 255, 0.95); }
.dpc-sidebar.dpc-plan-pro:before { background: linear-gradient(to bottom, #c3e2ff 0%, #c3e2ff 75%, #ffffff 100%); box-shadow: inset 0 -35px 35px -30px rgba(255, 255, 255, 0.95); }
.dpc-sidebar.dpc-plan-light:before { background: linear-gradient(to bottom, #e7f1ff 0%, #e7f1ff 75%, #ffffff 100%); box-shadow: inset 0 -35px 35px -30px rgba(255, 255, 255, 0.95); }
.dpc-sidebar.dpc-plan-free:before { background: linear-gradient(to bottom, #f8f8f8 0%, #ffffff 75%, #ffffff 100%); opacity: 1; box-shadow: inset 0 -35px 35px -30px rgba(255, 255, 255, 0.95); }
.dpc-sidebar.dpc-plan-free { border: none; box-shadow: none; }

.dpc-photo-card, .dpc-sidebar-separator, .dpc-contact-info, .dpc-button-cita, .dpc-urgencias-btn-wrap, .dpc-cedula-details, .dpc-card-footer-shortcode, .dpc-card-header-shortcode { position: relative; z-index: 1; }
.dpc-sidebar.dpc-sidebar-verified { border: 2px solid #d1e7dd; box-shadow: 0 8px 20px rgba(25, 135, 84, 0.25); }
.dpc-main-content { flex: 1; min-width: 0; min-height: 100%; }
.dpc-cover-photo-wrap { background-color: #f0f0f0; margin-bottom: 20px; border-radius: 8px; overflow: hidden; line-height: 0; height: 250px; width: 100%; }
.dpc-cover-photo { width: 100%; height: 100%; object-fit: cover; border-radius: 8px !important; }

.dpc-notification-bell-float-left { position: absolute; top: 25px; left: 25px; z-index: 10; }
.dpc-notification-bell-float-left .pm-bell-icon-wrapper { font-size: 24px; line-height: 1; color: white; background: rgba(0, 0, 0, 0.2); border-radius: 50%; padding: 8px; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; }
.dpc-notification-bell-float-left .pm-bell-count { top: 5px; right: 5px; }

.dpc-avatar { width: 140px !important; height: 140px !important; border-radius: 50% !important; object-fit: cover !important; margin: 0 auto 15px; display: block; border: 1px solid #e0e0e0 !important; box-shadow: 0 4px 10px rgba(13, 110, 253, 0.25) !important; transition: all 0.3s ease-in-out; position: relative; }
.dpc-avatar:hover { box-shadow: 0 6px 12px rgba(13, 110, 253, 0.4) !important; border-color: #0d6efd !important; }
.dpc-avatar.dpc-avatar-plus { box-shadow: 0 6px 12px rgba(13, 110, 253, 0.4) !important; border-color: #0d6efd !important; }
.dpc-avatar.dpc-avatar-plus:hover { box-shadow: 0 8px 16px rgba(13, 110, 253, 0.6) !important; }
.dpc-avatar.dpc-avatar-neon-white { box-shadow: 0 0 0 5px white, 0 0 15px 5px rgba(255, 255, 255, 0.8), 0 8px 20px rgba(0, 0, 0, 0.25) !important; border-color: #ffffff !important; }
.dpc-avatar.dpc-avatar-neon-white:hover { box-shadow: 0 0 0 5px white, 0 0 25px 8px rgba(255, 255, 255, 1), 0 10px 25px rgba(0, 0, 0, 0.4) !important; }
.dpc-avatar.dpc-avatar-free { box-shadow: none !important; border-color: #e0e0e0 !important; }
.dpc-avatar.dpc-avatar-free:hover { box-shadow: none !important; }

.dpc-profile-badge { position: absolute; top: 145px; left: 50%; transform: translate(-50%, -50%); z-index: 10; border: 2px solid #fff; border-radius: 50%; padding: 6px; font-size: 1.6em; line-height: 1; background-color: #fff; box-shadow: 0 3px 10px rgba(0,0,0,0.4); display: block; }
.dpc-profile-badge i { color: white !important; background-color: #198754; border-radius: 70%; padding: 3px; font-size: 0.8em; display: flex; justify-content: center; align-items: center; width: 1em; height: 1em; }

.dpc-name { font-size: 1.4em; text-align: center; padding-top: 10px; margin-bottom: 0px; font-weight: 700; display: block; white-space: normal; overflow: visible; word-break: break-word; width: 100%; }
.dpc-name br { display: block; margin: 0; content: " "; }
.dpc-specialty-field-35 { text-align: center; text-transform: uppercase; text-decoration: none; font-weight: 700; margin-top: 5px; margin-bottom: 5px; font-size: 1.05em; color: #0d6efd; text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.2); }

.dpc-name.dpc-dark-bg-text { color: #ffffff; text-shadow: 0 1px 1px rgba(0,0,0,0.5); }
.dpc-specialty-field-35.dpc-dark-bg-text { color: #ffc107; text-shadow: none; }
.dpc-cedula-details.dpc-dark-bg-text .dpc-cedula-label { color: #333333; }

@media (max-width: 992px) {
    .dpc-sidebar.dpc-plan-plus .dpc-name, .dpc-sidebar.dpc-plan-plus .dpc-name.dpc-dark-bg-text { color: #000000; text-shadow: 0 0 5px #ffffff, 0 0 10px #ffffff; }
}

.dpc-specialty { text-align: center; color: #0a58ca; font-weight: 600; margin-top: 5px; margin-bottom: 20px; font-size: 0.95em; text-shadow: 3px 3px 0 #fff, -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff; }
.dpc-specialty.dpc-dark-bg-text { color: #ffc107; text-shadow: none; }
.dpc-specialty .dpc-specialty-shortcode-wrap { font-size: 1em; line-height: 1.2; font-weight: 700; }

.dpc-name-separator { border: 0; height: 1px; background: #f0f0f0; margin: 10px auto 15px; width: 80%; }
.dpc-cedula-details { text-align: center; margin-bottom: 3px; }
.dpc-cedula-label { font-weight: 600; font-size: 0.9em; color: #333; display: block; margin-bottom: 5px; }
.dpc-cedula-details .dpc-admin-shortcode-extra, .dpc-cedula-details .dpc-admin-shortcode-cedula-2 { text-align: center; margin-top: 10px; padding: 0 100px; line-height: 1.2; }
.dpc-card-footer-shortcode, .dpc-card-header-shortcode { text-align: center; margin: 15px 0; padding: 0 111px; line-height: 1.2; font-size: 0.9em; }
.dpc-card-footer-shortcode > *, .dpc-card-header-shortcode > * { max-width: 100%; }

.dpc-friendship-button-wrap { text-align: center; margin-top: 5px; margin-bottom: 15px; line-height: 1.2; }
.dpc-add-friend-before-tabs { text-align: center; margin-top: 3mm; margin-bottom: 5px; }
.dpc-friendship-button-wrap .pm_button { font-family: 'Quicksand', sans-serif !important; font-weight: 700; }

.dpc-contact-info p { font-size: 0.9em; margin-bottom: 8px; word-break: break-word; }
.dpc-contact-info i { width: 15px; text-align: center; margin-right: 8px; color: #6c757d; }
.dpc-contact-info p i.fa-map-marker-alt { color: #dc3545; }
.dpc-contact-info p i.fa-clinic-medical { color: #6f42c1; }
.dpc-contact-info p i.fa-phone { color: #198754; }
.dpc-contact-info p i.fa-house-medical-circle-check { color: #6f42c1; }
.dpc-contact-info p i.fa-credit-card { color: #0d6efd; }
.dpc-contact-info p i.fa-dollar-sign { color: #ffc107; }
.dpc-contact-info p i.fa-shield-alt { color: #0dcaf0; }
.dpc-contact-info p i.fa-handshake { color: #fd7e14; }
.dpc-contact-info p.dpc-disponibilidad-status i { color: inherit !important; }
.dpc-contact-info p i.fa-laptop-medical { color: #0a58ca; } 

.dpc-address-link { font-size: 0.9em; margin-bottom: 8px; word-break: break-word; color: #212529; text-decoration: none; display: flex; align-items: flex-start; line-height: 1.4; }
.dpc-address-link:hover { color: #0d6efd; text-decoration: underline; }
.dpc-address-link i { width: 15px; text-align: center; margin-right: 8px; color: #dc3545; flex-shrink: 0; margin-top: 2px; }
.dpc-address-text { flex: 1; }
.dpc-distance-mobile-only { display: none; font-size: 0.85em; font-weight: 600; color: #198754; margin-bottom: 8px; padding-left: 23px; }

/* 🛑 ESTADOS DE DISPONIBILIDAD: COLORES CASI TRANSPARENTES 🛑 */
.dpc-disponibilidad-status { padding: 4px 8px; border-radius: 3px; font-weight: 600; margin-bottom: 10px !important; font-size: 0.85em; display: inline-block; }
/* Verde transparente (Alpha 0.1) */
.status-disponible { background-color: rgba(25, 135, 84, 0.05); color: #0f5132; }
/* Lila transparente (Alpha 0.1) */
.status-solo-cita { background-color: rgba(111, 66, 193, 0.05); color: #4b369c; }
/* Gris transparente (Alpha 0.1) */
.status-pausado { background-color: rgba(108, 117, 125, 0.05); color: #495057; border: 1px solid rgba(206, 212, 218, 0.5); }
.status-pausado i { color: inherit !important; }

.dpc-sidebar-block-compact { padding: 8px 0; margin: 10px 0 0 0; border: none; box-shadow: none; border-radius: 0; }
.dpc-aseguradoras-sidebar .dpc-info-group { margin-bottom: 10px; }
.dpc-aseguradoras-sidebar p { margin-bottom: 3px; }
.dpc-multi-select-list { list-style: none; padding: 0; margin: 3px 0 0 0; }
.dpc-multi-select-list li { padding: 4px 0; color: #555; font-size: 0.85em; border-bottom: 1px dashed #f0f0f0; }
.dpc-multi-select-list li:last-child { border-bottom: none; }
.dpc-multi-select-list i { color: #0d6efd; margin-right: 6px; }
.dpc-f75-list-separator { margin-top: 10px; }

.dpc-block.dpc-mapa { overflow: hidden; }
#dpc-map-placeholder { box-shadow: 0 6px 15px rgba(0, 0, 0, 0.1); border: 1px solid #eee; border-radius: 8px; overflow: hidden; }
.dpc-block.dpc-mapa .leaflet-container { border-radius: 8px !important; }

.dpc-doc-list { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 15px; }
.dpc-doc-list li { width: 95px; text-align: center; font-size: 0.75em; }
.dpc-doc-link { cursor: pointer; } 
.dpc-doc-thumb-wrap { display: flex; flex-direction: column; justify-content: space-between; border: 1px solid #ccc; padding: 8px; border-radius: 4px; background-color: #f9f9f9; text-decoration: none; color: #555; min-height: 110px; box-sizing: border-box; transition: box-shadow 0.2s ease; }
.dpc-doc-thumb-wrap:hover { box-shadow: 0 2px 5px rgba(0,0,0,0.1); }
.dpc-doc-thumbnail { width: 100%; height: 60px; object-fit: contain; border-radius: 3px; margin-bottom: 5px; }
.dpc-doc-icon { font-size: 3em; color: #adb5bd; margin-bottom: 5px; height: 60px; line-height: 60px; }
.dpc-small-doc-name { font-size: 0.9em; font-weight: bold; color: #6c757d; display: block; line-height: 1.2; margin-top: auto; word-break: break-word; }

.dpc-masked-phone { cursor: pointer; font-weight: 600; color: #198754; border-bottom: 1px dashed #198754; }
.dpc-blur-mask { filter: blur(4px); opacity: 0.8; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; display: inline-block; vertical-align: middle; }
.dpc-masked-phone-paused { color: #6c757d; font-style: italic; cursor: pointer; font-weight: 600; border-bottom: 1px dashed #6c757d; }

.dpc-modal-backdrop { display: none; position: fixed; z-index: 999; left: 0; top: 0; width: 100%; height: 100%; overflow: hidden; background-color: rgba(0,0,0,0.7); animation: dpcFadeInBackdrop 0.3s ease; }
.dpc-modal { display: none; position: fixed; z-index: 1000; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 90%; max-width: 400px; background-color: #ffffff; border-radius: 10px; box-shadow: 0 5px 15px rgba(0,0,0,0.3); animation: dpcSlideInModal 0.3s ease; }
.dpc-modal-content { padding: 30px; position: relative; text-align: center; }
.dpc-modal-title { font-size: 1.6em; color: #0d6efd; margin-top: 0; margin-bottom: 10px; font-weight: 700; }
.dpc-modal-title i { margin-right: 8px; }
.dpc-modal-body { font-size: 1em; color: #111; margin-bottom: 20px; line-height: 1.5; }
.dpc-modal-close { color: transparent; position: absolute; top: 10px; right: 15px; font-size: 28px; cursor: pointer; line-height: 1; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; }
.dpc-modal-close:hover::before { color: #333; }
.dpc-modal-footer-note { font-size: 0.85em; color: #6c757d; margin-top: 25px; font-style: italic; }

.dpc-modal-doctor-name { font-weight: 700; color: #333; }
.dpc-full-phone-number { font-size: 2em; font-weight: 700; color: #198754; margin-bottom: 30px; word-break: break-all; }
.dpc-modal-call-btn { display: inline-block; padding: 12px 25px; background-color: #198754; color: white !important; text-decoration: none !important; border-radius: 5px; font-weight: 600; transition: background-color 0.3s ease; }
.dpc-modal-call-btn:hover { background-color: #146c43; }
.dpc-modal-call-btn i { margin-right: 8px; }

.dpc-whatsapp-modal .dpc-modal-title i { color: #25D366; }
.dpc-whatsapp-number-display { font-size: 1.5em; font-weight: 600; color: #333; margin-bottom: 25px; word-break: break-all; }
.dpc-modal-whatsapp-btn { display: inline-block; padding: 12px 25px; background-color: #25D366; color: white !important; text-decoration: none !important; border-radius: 5px; font-weight: 600; transition: background-color 0.3s ease; }
.dpc-modal-whatsapp-btn:hover { background-color: #1DA851; }
.dpc-modal-whatsapp-btn i { margin-right: 8px; }
.dpc-whatsapp-number-display i { margin-right: 5px; color: #25D366; }

.dpc-login-modal .dpc-modal-title i { color: #0d6efd; }
.dpc-login-modal .dpc-google-login-wrapper { margin: 10px 0 20px 0; }

.dpc-document-modal { max-width: 800px; }
.dpc-document-body { max-height: 75vh; overflow-y: auto; background-color: #f8f9fa; border: 1px solid #dee2e6; border-radius: 4px; padding: 10px; margin-bottom: 15px; min-height: 100px; display: flex; justify-content: center; align-items: center; }
img.dpc-secure-doc-image { max-width: 100%; height: auto; display: block; margin: 0 auto; user-select: none; -webkit-user-select: none; -ms-user-select: none; pointer-events: none; }
.dpc-doc-loading, .dpc-doc-preview-error { padding: 20px; text-align: center; color: #6c757d; }
.dpc-doc-preview-error { color: #dc3545; }
.dpc-document-modal .dpc-modal-title i { color: #ffc107; }

.dpc-modal.dpc-config-notice-modal { max-width: 450px; }
.dpc-modal.dpc-config-notice-modal .dpc-modal-title i { color: #ffc107; }
.dpc-config-notice-modal .dpc-modal-body { text-align: left; }
.dpc-config-notice-modal .dpc-modal-body ul { padding-left: 20px; margin-top: 10px; list-style: disc; }
.dpc-config-notice-modal .dpc-modal-body ul li { margin-bottom: 5px; }
.dpc-config-notice-modal .dpc-modal-footer { text-align: center; padding-top: 15px; border-top: 1px solid #eee; margin-top: 10px; }
.dpc-config-notice-modal .dpc-modal-button { background-color: #198754; color: white; padding: 10px 20px; border: none; border-radius: 5px; font-weight: 700; cursor: pointer; transition: background-color 0.3s ease; }
.dpc-config-notice-modal .dpc-modal-button:hover { background-color: #146c43; }

@keyframes dpcFadeInBackdrop { from { opacity: 0; } to { opacity: 1; } }
@keyframes dpcSlideInModal { from { opacity: 0; transform: translate(-50%, -60%); } to { opacity: 1; transform: translate(-50%, -50%); } }

@media (max-width: 992px) {
    .dpc-profile-container { font-size: 15px; flex-direction: column; }
    .dpc-sidebar { flex: 0 0 auto; width: 100%; position: static; max-width: 100%; margin-bottom: 20px; padding-top: 4mm; margin-top: 0; border: 1px solid #e0e0e0; }
    .dpc-sidebar.dpc-plan-free { border: none !important; box-shadow: none !important; }
    .dpc-sidebar:before { height: 230px; width: 100%; top: 0; min-height: auto; }
    .dpc-main-content { max-width: 100%; flex-basis: auto; width: 100%; }
    .dpc-modal { width: 95%; } 
    .dpc-document-modal { max-width: 95%; } 
    .dpc-tabs-content { padding: 20px; border-radius: 0 0 8px 8px; background-color: #ffffff; border: 1px solid #0d6efd; }
    .dpc-cover-photo-wrap { height: 250px; }
    .dpc-favorite-icon-float { display: none !important; }
    .dpc-sidebar.dpc-plan-plus .dpc-name, .dpc-sidebar.dpc-plan-plus .dpc-name.dpc-dark-bg-text { color: #000000; text-shadow: 0 0 5px #ffffff, 0 0 10px #ffffff; }
    .dpc-notification-bell-float-left { display: none !important; }
    .dpc-doc-list li { width: 100px; } 
}
@media (max-width: 767px) {
    .dpc-tab-link {
        flex: 1 1 auto; /* Se reparten el espacio */
        padding: 10px 12px;
        font-size: 0.85em;
        justify-content: center;
    }
    /* Iconos */
.dpc-tab-link i {
    color: #adb5bd;
    font-size: 1.1em;
    transition: color 0.2s ease-in-out;
}

/* --- Estado HOVER (Al pasar el mouse) --- */
.dpc-tab-link:not(.active):hover {
    background-color: #e9ecef; /* Un poco más oscuro */
    color: #0d6efd; /* Texto azul */
}
.dpc-tab-link:not(.active):hover i {
    color: #0d6efd;
}
    /* Opcional: en móviles muy pequeños, ocultar el texto y dejar solo icono si falta espacio */
     /* .dpc-tab-link span { display: none; } */

    .dpc-tab-link.active { border-color: #0d6efd; background-color: #e7f1ff; }
    .dpc-tabs-content { border: 1px solid #dee2e6; border-radius: 5px; margin-top: 10px; }
    .dpc-distance-mobile-only { display: block; }
    .dpc-cover-photo-wrap { height: 200px; }
    .dpc-verification-ribbon { display: none; }
    .dpc-doc-list li { width: 95px; }
}

/* Contenedor de la navegación */
.dpc-tabs-nav {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 2;
    /* Esta línea inferior es clave para el efecto de conexión */
    border-bottom: 2px solid #e9ecef;
    margin: 0 0 2px 0;
    gap: 3px; /* Pequeño espacio entre pestañas */
    position: relative; /* Para manejar z-index de la activa */
   
}
/* Estilo base de la pestaña (Inactiva) */
.dpc-tab-link {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    
    padding: 8px 10px;
    
    
    /* Colores y Bordes Inactivos */
    background-color: #F0F3F5; /* Gris muy claro */
    border-color: #DED9D9; /*#B0B0B0;*/
    border: 0.3px solid /*transparent*/; /* Borde invisible por defecto */
    border-bottom: none; /* No borde inferior aquí */
    
    /* Forma de pestaña: solo redondeadas las esquinas superiores */
    border-radius: 8px 8px 0 0;
    
    /* Tipografía */
    color: #6c757d;
    font-weight: 600;
    font-size: 0.85em;
    
    /* 👑 CURSOR MANITA OBLIGATORIO 👑 */
    cursor: pointer !important;
    
    transition: all 0.2s ease-in-out;
    /* Truco clave: empuja la pestaña 2px hacia abajo para pisar la línea del contenedor */
    margin-bottom: -2px; 
    z-index: 1;
}
/* --- ESTADO HOVER (Al pasar el mouse) d1d9e6 f8f9fa--- */
.dpc-tab-link:hover {
    background-color: #fafafa;
    border-color: #6c757d;
    color: #333;
    transform: translateY(-3px); /* Se eleva un poco */
    box-shadow: 0 6px 15px rgba(0,0,0,0.08); /* Sombra suave */
    cursor: pointer !important; /* Asegura manita */
}

.dpc-tab-link.active {
    /* Fondo blanco para "conectarse" con el contenido de abajo */
    background-color: #ffffff;
    color: #0d6efd; /* Azul corporativo */
    
    /* Bordes para definir la pestaña activa */
    border-color: #e9ecef; /* Bordes laterales sutiles */
    
    /* EL TRUCO DE MAGIA: Borde inferior blanco para borrar la línea del contenedor */
    border-bottom: 2px solid #ffffff; 
    
    /* Acento visual premium en la parte superior */
    border-top: 3px solid #0d6efd;
    /* Ajuste de padding superior para compensar el borde grueso */
    padding-top: 10px; 

    /* Z-index más alto para superponerse a la línea gris del contenedor */
    z-index: 2;
    box-shadow: 0 -2px 5px rgba(0,0,0,0.02); /* Sombra muy sutil arriba */
}


.dpc-tabs-nav.dpc-sub-tabs-nav .dpc-tab-link.active { border-bottom: 1px solid #dee2e6; margin-bottom: 0px; }
/* Iconos dentro de la pestaña */
.dpc-tab-link i {
    font-size: 1.3em;
    color: #0d6efd; /* Icono azul cuando está inactivo */
    transition: color 0.3s ease;
    margin-right: 0 !important; /* El gap del padre maneja el espacio */
}
/* Icono en estado activo se vuelve blanco */
.dpc-tab-link.active i {
    color: #003A8F; /* Icono azul intenso */
}

.dpc-tabs-content { background-color: #ffffff; border: 1px solid #0d6efd; padding: 25px; border-radius: 0 5px 5px 5px; position: relative; z-index: 1; font-size: 0.95em; clear: both; color: #333; }
.dpc-tab-pane { display: none; }
.dpc-tab-pane.active { display: block; animation: dpcFadeIn 0.5s; }
@keyframes dpcFadeIn { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }

.dpc-payment-intro { font-size: 1em; color: #333; }
.dpc-payment-options { display: flex; gap: 15px; margin-top: 15px; flex-wrap: wrap; }
.dpc-payment-option { flex-grow: 1; flex-basis: 180px; min-width: 180px; }
.dpc-payment-btn { display: block; width: 100%; padding: 10px 15px; border: none; border-radius: 4px; font-size: 0.9em; font-weight: 700; color: #fff !important; text-decoration: none !important; cursor: pointer; transition: all 0.3s ease; line-height: 1.2; text-align: center; box-sizing: border-box; font-family: inherit; }
.dpc-payment-btn i { margin-right: 8px; vertical-align: middle; }
.dpc-payment-option form { margin: 0; padding: 0; display: block; }
.dpc-payment-btn.paypal-btn { background-color: #00457C; border-radius: 20px; }
.dpc-payment-btn.paypal-btn:hover { background-color: #003057; }
.dpc-payment-btn.mp-btn { background-color: #009EE3; }
.dpc-payment-btn.mp-btn:hover { background-color: #0087c9; }

.dpc-alert { background-color: #fff3cd; border: 1px solid #ffeeba; color: #856404; padding: 12px; border-radius: 4px; margin-top: 10px; margin-bottom: 15px; font-size: 0.9em; }

.dpc-qr-image-wrapper { display: flex; justify-content: center; align-items: center; padding: 20px; background-color: #f8f9fa; border: 1px solid #dee2e6; border-radius: 8px; margin-top: 20px; min-height: 250px; }
.dpc-qr-image-wrapper img { max-width: 100%; height: auto; width: 350px; max-height: 350px; border: 1px solid #eee; }

.dpc-social-share-buttons { display: flex; justify-content: center; gap: 15px; flex-wrap: wrap; }
.dpc-blog-share-buttons { display: flex; gap: 8px; margin-top: 10px; }
.dpc-social-btn { display: inline-flex; align-items: center; justify-content: center; width: 50px; height: 50px; border-radius: 50%; color: #fff !important; text-decoration: none !important; font-size: 20px; transition: all 0.3s ease; }
.dpc-social-btn:hover { opacity: 0.8; transform: translateY(-2px); }
.dpc-social-btn.dpc-social-facebook { background-color: #1877F2; }
.dpc-social-btn.dpc-social-x { background-color: #000000; }
.dpc-social-btn.dpc-social-whatsapp { background-color: #25D366; }
.dpc-social-btn.dpc-social-linkedin { background-color: #0A66C2; }

@media (max-width: 480px) {
    .dpc-qr-image-wrapper { padding: 10px; }
     .dpc-qr-image-wrapper img { width: 100%; height: auto; max-width: 300px; }
    .dpc-social-btn { width: 45px; height: 45px; font-size: 18px; }
}

.dpc-review-sub-title { font-size: 1.1em; color: #333; border-bottom: 1px solid #f0f0f0; padding-bottom: 5px; margin-bottom: 15px; margin-top: 10px; font-weight: 600; }
.dpc-review-form-wrapper .glsr-form { padding: 0 !important; border: none !important; box-shadow: none !important; }
.dpc-review-list-wrapper .site-reviews { margin-top: 0 !important; }

.dpc-button-styled { display: block; width: 100%; background-color: #0d6efd; color: #fff !important; text-align: center; padding: 10px 15px; border-radius: 5px; font-weight: 700; font-size: 1em; text-decoration: none !important; margin-top: 15px; box-shadow: 0 2px 5px rgba(0,0,0,0.15); transition: background-color 0.3s ease, transform 0.2s ease, box-shadow 0.2s ease; font-family: 'Quicksand', sans-serif; }
.dpc-button-styled i { margin-right: 8px; }
.dpc-button-styled:hover { background-color: #0b5ed7; transform: translateY(-2px); box-shadow: 0 4px 8px rgba(0,0,0,0.2); }
.dpc-button-styled.dpc-button-paused, .dpc-button-styled.dpc-button-paused:hover { background-color: #6c757d; cursor: not-allowed; transform: none; box-shadow: none; opacity: 0.7; }

.dpc-sidebar-separator { border: 0; height: 1px; background: linear-gradient(to right, transparent, #e0e0e0, transparent); margin: 20px 0; }
.dpc-separator-after-cita { margin: 3mm 0 !important; border: none !important; height: 0 !important; background: none !important; padding: 0 !important; }
.dpc-urgencias-btn-wrap { text-align: center; margin-top: 0 !important; }
.dpc-button-urgencias { display: inline-block; width: auto; text-align: center; padding: 10px 15px; border-radius: 5px; font-weight: 700; font-size: 1em; box-shadow: 0 2px 5px rgba(0,0,0,0.15); transition: background-color 0.3s ease, transform 0.2s ease, box-shadow 0.2s ease; border: none; cursor: pointer; font-family: 'Quicksand', sans-serif; }
.dpc-button-urgencias i { margin-right: 8px; }
.dpc-button-urgencias-active:hover { background-color: #bb2d3b !important; transform: translateY(-2px); box-shadow: 0 4px 8px rgba(0,0,0,0.2); }
.dpc-button-urgencias-inactive:hover { background-color: #adb5bd !important; transform: none; box-shadow: 0 2px 5px rgba(0,0,0,0.15); }

#dpc-dev-feedback-form { text-align: left; }
#dpc-dev-feedback-form label { display: block; font-weight: 600; margin-bottom: 5px; font-size: 0.95em; }
#dpc-dev-feedback-form textarea { width: 100%; box-sizing: border-box; border: 1px solid #ced4da; border-radius: 4px; padding: 8px 12px; min-height: 120px; font-family: 'Quicksand', sans-serif; }
#dpc-dev-feedback-form button { background-color: #0d6efd; color: #fff; border: none; border-radius: 4px; padding: 10px 20px; font-weight: 600; font-size: 1em; cursor: pointer; transition: background-color 0.3s ease; font-family: 'Quicksand', sans-serif; }
#dpc-dev-feedback-form button:hover { background-color: #0b5ed7; }
#dpc-dev-feedback-form button:disabled { background-color: #6c757d; cursor: not-allowed; }
#dpc-feedback-response { margin-top: 15px; font-size: 0.9em; padding: 10px; border-radius: 4px; display: none; }
#dpc-feedback-response.success { background-color: #d1e7dd; color: #0f5132; border: 1px solid #badbcc; }
#dpc-feedback-response.error { background-color: #f8d7da; color: #842029; border: 1px solid #f5c2c7; }

.dpc-tabs-content ul:not(.dpc-doc-list):not(.dpc-multi-select-list) li, .dpc-tabs-content ol li { font-size: 0.9em; margin-bottom: 4px; color: #333; }
.dpc-tabs-content p { font-size: 0.9em; line-height: 1.5; color: #333; }
.dpc-blog-excerpt { font-size: 0.9em; color: #6c757d; margin-top: 5px; margin-bottom: 10px; line-height: 1.4; }
.dpc-profilegrid-functionality-wrap, .dpc-profilegrid-functionality-wrap input, .dpc-profilegrid-functionality-wrap textarea, .dpc-profilegrid-functionality-wrap button, .dpc-profilegrid-functionality-wrap label, .dpc-profilegrid-functionality-wrap .pg-notification-row, .dpc-booking .bk-form { font-size: 0.9em !important; color: #333; font-family: 'Quicksand', sans-serif !important; }
.dpc-profilegrid-functionality-wrap h2, .dpc-profilegrid-functionality-wrap h3, .dpc-profilegrid-functionality-wrap .pm-section-title span, .dpc-booking .bk-form h2 { font-size: 1.1em !important; font-weight: 700; }
.dpc-blog-list { list-style: none; padding-left: 0; }
.dpc-blog-list li { margin-bottom: 15px; padding-bottom: 10px; border-bottom: 1px dashed #eee; }
.dpc-blog-list li:last-child { border-bottom: none; margin-bottom: 0; }
.dpc-blog-link { font-weight: 600; text-decoration: none; color: #333; font-size: 1.1em; }
.dpc-blog-link:hover { color: #0d6efd; }

.dpc-two-col-layout { display: flex; flex-wrap: wrap; gap: 20px; }
.dpc-two-col-layout > div { min-width: 0; }
.dpc-two-col-layout .dpc-col-left { flex: 0 0 200px; max-width: 250px; }
.dpc-two-col-layout .dpc-col-right { flex: 1; min-width: 300px; }
.dpc-two-col-layout .dpc-col-left > .pm-section-title, .dpc-two-col-layout .dpc-col-right > .pm-section-title { margin-top: 0; }

@media (max-width: 767px) {
    .dpc-two-col-layout { flex-direction: column; gap: 0; }
    .dpc-two-col-layout > div { flex-basis: 100% !important; max-width: 100% !important; width: 100%; }
    .dpc-two-col-layout .dpc-col-left { margin-bottom: 20px; border-bottom: 1px solid #dee2e6; padding-bottom: 20px; }
}

.dpc-action-btn-outline { flex: 1; background-color: transparent; border: 1px solid #0d6efd; color: #0d6efd; padding: 8px 5px; border-radius: 5px; font-size: 0.85em; font-weight: 600; cursor: pointer; transition: all 0.3s ease; display: inline-flex; align-items: center; justify-content: center; gap: 6px; }
.dpc-action-btn-outline:hover { background-color: #0d6efd; color: #fff; transform: translateY(-2px); box-shadow: 0 3px 6px rgba(13, 110, 253, 0.2); }
.dpc-action-btn-outline i { font-size: 1.1em; }

/* 👑 ICONO PARA PESTAÑA AUDITORÍA */
.dpc-tabs-nav i.fa-chart-line::before { 
    content: "\f46c" !important; 
    font-family: 'Font Awesome 5 Free' !important;
    font-weight: 900 !important;
}

/* --- PANEL DE AUDITORÍA Y ESTADÍSTICAS --- */
/* --- FILTROS DE AUDITORÍA ALINEADOS --- */
.dpc-audit-filters {
    display: flex;
    gap: 15px;
    background: #f8f9fa;
    padding: 20px;
    border-radius: 12px;
    margin-bottom: 25px;
    align-items: flex-end; /* 👑 Alinea el botón con la base de los inputs */
    flex-wrap: wrap;
    border: 1px solid #eee;
}

.dpc-filter-group { display: flex; flex-direction: column; gap: 5px; }

.dpc-filter-group label {
    font-size: 0.75em;
    font-weight: 500;
    color: #444;
}

.dpc-input-date {
    border: 1px solid #ddd !important;
    border-radius: 8px !important;
    padding: 8px !important;
    font-family: 'Quicksand', sans-serif !important;
}

/* --- FIX BOTÓN FILTRO AZUL --- */
.dpc-btn-primary {
    background-color: #0d6efd !important; /* Azul forzado */
    color: #ffffff !important;
    border: 1px solid #0b5ed7 !important;
    border-radius: 10px !important; /* Redondeado */
    padding: 10px 25px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    transition: background-color 0.3s ease;
    height: 42px; /* Alineación con inputs */
    margin-top: 28px; /* Ajuste visual vertical */
}
.dpc-btn-primary:hover {
    background-color: #0b5ed7 !important;
    box-shadow: 0 4px 10px rgba(13, 110, 253, 0.4);
}

/* --- FIX MAPA INVISIBLE --- */
#osm-map {
    width: 100% !important;
    height: 400px !important;
    z-index: 1;
    background-color: #f4f4f4; /* Fondo gris para ver si carga el contenedor */
}

/* Forzar visualización de mapa en pestaña activa */
.dpc-tab-pane.active #osm-map {
    display: block !important;
}
/* Grid Moderno */
.dpc-analytics-grid-modern {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
}

.dpc-stat-card-new {
    display: flex;
    align-items: center;
    padding: 20px;
    background: white;
    border-radius: 15px;
    border: 1px solid #eee;
    box-shadow: 0 4px 12px rgba(0,0,0,0.03);
    transition: 0.3s;
}

.dpc-stat-card-new:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.08);
}

.dpc-stat-icon-wrap {
    width: 50px;
    height: 50px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5em;
    margin-right: 15px;
}

.dpc-stat-data { display: flex; flex-direction: column; }
.dpc-stat-value { font-size: 1.8em; font-weight: 800; line-height: 1; color: #222; }
.dpc-stat-label { font-size: 0.85em; color: #666; font-weight: 600; margin-top: 5px; }

/* Colores por tipo */
.views .dpc-stat-icon-wrap { background: #e7f1ff; color: #0d6efd; }
.whatsapp .dpc-stat-icon-wrap { background: #dcf8c6; color: #25d366; }
.calls .dpc-stat-icon-wrap { background: #fff3cd; color: #ffc107; }
.bookings .dpc-stat-icon-wrap { background: #f8d7da; color: #dc3545; }


/* ================================================================= */
/* 👑 ESTILOS DE IMPRESIÓN (PDF / PAPEL) 👑 */
/* ================================================================= */

/* 1. Ocultar la maqueta de impresión en la pantalla normal */
#dpc-printable-area {
    display: none !important;
}

/* 2. Configuración al imprimir */
@media print {
    
    /* ================================================================= */
/* 👑 ESTILOS DE IMPRESIÓN (PDF / PAPEL) - REFORZADO 👑 */
/* ================================================================= */

/* 1. Ocultar la maqueta en pantalla normal */
#dpc-printable-area {
    display: none !important;
}

/* 2. Configuración al imprimir */
@media print {
    /* Ocultar TODO lo que NO sea el área de impresión */
    body > *:not(#dpc-printable-area) {
        display: none !important;
    }

    /* Resetear márgenes y fondos */
    html, body {
        margin: 0 !important;
        padding: 0 !important;
        background: #fff !important;
        height: 100%;
        overflow: visible !important;
    }


    /* Resetear márgenes del navegador */
    @page { margin: 1cm; size: auto; }
    body { margin: 0; padding: 0; background: white; -webkit-print-color-adjust: exact; }



    /* Mostrar la maqueta */
    #dpc-printable-area {
        display: block !important;
        position: relative !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: auto !important;
        margin: 0 !important;
        padding: 20px !important; /* Un poco de aire para la impresora */
        background: white !important;
        font-family: 'Quicksand', sans-serif !important;
        color: #000 !important;
        z-index: 99999 !important;
    }

/* Header Impresión */
    .dpc-print-header { display: flex; justify-content: space-between; align-items: center; }
    .dpc-print-date { font-size: 0.8em; color: #777; }

    /* Layout Cuerpo */
    .dpc-print-body { display: flex; gap: 30px; margin-top: 20px; }
    .dpc-print-sidebar { width: 30%; border-right: 1px solid #eee; padding-right: 20px; text-align: center; }
    .dpc-print-content { width: 70%; }

    /* Elementos */
    .dpc-print-avatar { width: 120px; height: 120px; border-radius: 50%; object-fit: cover; border: 3px solid #0d6efd; margin-bottom: 15px; }
    .dpc-print-info-block { text-align: left; margin-bottom: 20px; font-size: 0.9em; }
    .dpc-print-info-block h3 { color: #0d6efd; border-bottom: 1px solid #eee; padding-bottom: 5px; margin-bottom: 8px; font-size: 1.1em; }
    .dpc-print-info-block p { margin: 4px 0; }

    .dpc-print-name { font-size: 2em; margin: 0 0 5px 0; color: #333; }
    .dpc-print-specialty { font-size: 1.2em; color: #0d6efd; margin: 0 0 20px 0; font-weight: 600; text-transform: uppercase; }
    
    .dpc-print-section { margin-bottom: 20px; }
    .dpc-print-section h4 { background-color: #f0f0f0; padding: 8px; border-radius: 5px; margin-bottom: 10px; }
    .dpc-print-text { font-size: 0.95em; line-height: 1.5; text-align: justify; }

    .dpc-print-footer { margin-top: 50px; border-top: 1px solid #eee; padding-top: 10px; text-align: center; font-size: 0.8em; color: #999; }
}

/* ========================================================= */
/* 👑 FIX MODO VISUALIZACIÓN (PREVIEW MODE) 👑 */
/* ========================================================= */

/* ========================================================= */
/* 👑 FIX FUERZA BRUTA: MODO VISUALIZACIÓN (PREVIEW MODE) 👑 */
/* ========================================================= */

/* 1. Ocultar Pestañas (Botones) de Administración por su ID exacto */
/* 👑 REGLAS PARA OCULTAR PESTAÑAS EN MODO VISITANTE 👑 */
.dpc-preview-mode .dpc-tab-link[data-tab="configuracion"],
.dpc-preview-mode .dpc-tab-link[data-tab="expediente"],
.dpc-preview-mode .dpc-tab-link[data-tab="mis_recetas"],
.dpc-preview-mode .dpc-tab-link[data-tab="nueva_receta"],
/*.dpc-preview-mode .dpc-tab-link[data-tab="admin_citas"],*/
.dpc-preview-mode .dpc-tab-link[data-tab="auditoria"],
.dpc-preview-mode .dpc-tab-link[data-tab="pre_registro"],
.dpc-preview-mode .dpc-tab-link[data-tab="mis_blogs"],
.dpc-preview-mode .dpc-tab-link[data-tab="amigos"],
.dpc-preview-mode .dpc-tab-link[data-tab="actividad_amigos"],
.dpc-preview-mode .dpc-tab-link[data-tab="feedback"],
/* Ocultar también la clase genérica por si acaso */
.dpc-preview-mode .dpc-admin-only-tab {
    display: none !important;
}

/* Ocultar contenido de los paneles y widgets */
.dpc-preview-mode .dpc-profilegrid-functionality-wrap,
.dpc-preview-mode .dpc-completion-widget,
.dpc-preview-mode .dpc-notification-bell-before-tabs,
.dpc-preview-mode .dpc-toggle-visib,
.dpc-preview-mode #dpc-toggle-visibility-btn { 
    display: none !important; 
}

/* 2. Ocultar Contenido de los Paneles (Por si acaso quedó activo) */
.dpc-preview-mode #configuracion,
.dpc-preview-mode #expediente,
.dpc-preview-mode #mis_recetas,
.dpc-preview-mode #nueva_receta,
.dpc-preview-mode #admin_citas,
.dpc-preview-mode #auditoria,
.dpc-preview-mode #pre_registro,
.dpc-preview-mode #mis_blogs,
.dpc-preview-mode #amigos,
.dpc-preview-mode #actividad_amigos,
.dpc-preview-mode #feedback
{
    display: none !important;
}

/* 3. Ocultar Widgets de Admin */
.dpc-preview-mode .dpc-completion-widget, 
.dpc-preview-mode .dpc-notification-bell-before-tabs,
.dpc-preview-mode .dpc-notification-bell-float-left,
.dpc-preview-mode .dpc-toggle-visib,
.dpc-preview-mode .dpc-admin-toggle-btn
{ 
    display: none !important; 
}

/* 4. Mostrar elementos que solo el visitante debe ver */
.dpc-preview-mode .dpc-add-friend-before-tabs { 
    display: block !important; 
}


/* ========================================================= */
/* 👑 FIX 1: ICONO PERFIL PAUSADO (Fuerza Bruta) */
/* ========================================================= */
.dpc-paused-icon-box i {
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
    font-style: normal !important;
}
/* Forzamos el unicode del reloj de usuario */
.dpc-paused-icon-box i.fa-user-clock::before {
    content: "\f4fd" !important; 
}

/* ========================================================= */
/* 👑 FIX 2: MODAL COMPARTIR PREMIUM (Grid System) */
/* ========================================================= */

/* Contenedor Grid */
.dpc-share-options-grid {
    display: grid;
    grid-template-columns: 1fr 1fr; /* Dos columnas iguales */
    gap: 15px;
    margin-top: 20px;
}

/* Estilo Base de los Botones */
.dpc-share-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 12px 15px;
    border-radius: 8px;
    text-decoration: none !important;
    font-weight: 600;
    font-size: 0.95rem;
    color: #fff !important;
    transition: transform 0.2s ease, opacity 0.2s, box-shadow 0.2s;
    border: none;
    cursor: pointer;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}

.dpc-share-btn:hover {
    transform: translateY(-2px);
    opacity: 0.95;
    box-shadow: 0 6px 12px rgba(0,0,0,0.15);
}

.dpc-share-btn i {
    font-size: 1.3rem; /* Iconos un poco más grandes */
}

/* --- COLORES DE MARCA --- */

/* WhatsApp (Verde) */
.dpc-share-wa {
    background-color: #25D366;
}
.dpc-share-wa i {
    font-family: "Font Awesome 5 Brands" !important;
}

/* Facebook (Azul) */
.dpc-share-fb {
    background-color: #1877F2;
}
.dpc-share-fb i {
    font-family: "Font Awesome 5 Brands" !important;
}

/* X / Twitter (Negro) */
.dpc-share-x {
    background-color: #000000;
}
.dpc-share-x i {
    font-family: "Font Awesome 5 Brands" !important;
}

/* Email (Rojo Google/Gmail o Gris) */
.dpc-share-mail {
    background-color: #EA4335; 
}
.dpc-share-mail i {
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
}

/* Botón Copiar (Gris Oscuro - Ocupa ancho completo) */
.dpc-share-copy {
    background-color: #495057;
    grid-column: 1 / -1; /* Ocupa las dos columnas */
    margin-top: 5px;
}
.dpc-share-copy i {
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
}

/* Ajuste para móviles muy pequeños */
@media (max-width: 400px) {
    .dpc-share-options-grid {
        grid-template-columns: 1fr; /* Una columna en pantallas muy angostas */
    }
}

/* Títulos y textos del Modal */
.dpc-modal-content h3.dpc-modal-title {
    font-size: 1.5rem;
    font-weight: 800;
    color: #333;
    border-bottom: 1px solid #f0f0f0;
    padding-bottom: 15px;
    margin-bottom: 15px;
}










/* =================================================================
   👑 FIX DEFINITIVO DE ICONOS Y ESTILOS
   ================================================================= */

/* 1. FIX MARCAS (WhatsApp, Facebook, PayPal) 
   Obliga a usar la fuente "Brands" y peso 400 */
.dpc-share-btn i.fa-whatsapp,
.dpc-share-btn i.fa-facebook-f,
.dpc-share-btn i.fa-twitter,
.dpc-payment-btn i.fa-paypal,
.dpc-mobile-action-item i.fa-whatsapp,
.fab {
    font-family: "Font Awesome 5 Brands" !important;
    font-weight: 400 !important;
    font-style: normal !important;
    content: "" !important; /* Resetea contenido corrupto */
}

/* 2. FIX SÓLIDOS (Mercado Pago, Pausa, Reloj) 
   Obliga a usar la fuente "Free" y peso 900 */
.dpc-payment-btn i.fa-hand-holding-usd, /* Icono de Mercado Pago */
.dpc-paused-icon i,
.dpc-paused-icon-box i,
.fas {
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
    font-style: normal !important;
}

/* 3. REPARACIÓN ESPECÍFICA DE UNICODES (Por si la fuente falla) */
/* WhatsApp */
.fa-whatsapp::before { content: "\f232" !important; }
/* Facebook F */
.fa-facebook-f::before { content: "\f39e" !important; }
/* PayPal */
.fa-paypal::before { content: "\f1ed" !important; }
/* Mercado Pago (Usamos Hand Holding USD) */
.fa-hand-holding-usd::before { content: "\f4c0" !important; }
/* Reloj Usuario (Pausa) */
.fa-user-clock::before { content: "\f4fd" !important; }


/* Asegurar que el texto sea legible sobre blanco */
.dpc-bio-content {
    color: #333333 !important;
}






/* =================================================================
   👑 FIX DEFINITIVO DE ICONOS Y ESTILOS
   ================================================================= */

/* 1. FIX MARCAS (WhatsApp, Facebook, PayPal) 
   Obliga a usar la fuente "Brands" y peso 400 */
.dpc-share-btn i.fa-whatsapp,
.dpc-share-btn i.fa-facebook-f,
.dpc-share-btn i.fa-twitter,
.dpc-payment-btn i.fa-paypal,
.dpc-mobile-action-item i.fa-whatsapp,
.fab {
    font-family: "Font Awesome 5 Brands" !important;
    font-weight: 400 !important;
    font-style: normal !important;
    content: "" !important; /* Resetea contenido corrupto */
}

/* 2. FIX SÓLIDOS (Mercado Pago, Pausa, Reloj) 
   Obliga a usar la fuente "Free" y peso 900 */
.dpc-payment-btn i.fa-hand-holding-usd, /* Icono de Mercado Pago */
.dpc-paused-icon i,
.dpc-paused-icon-box i,
.fas {
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
    font-style: normal !important;
}

/* 3. REPARACIÓN ESPECÍFICA DE UNICODES (Por si la fuente falla) */
/* WhatsApp */
.fa-whatsapp::before { content: "\f232" !important; }
/* Facebook F */
.fa-facebook-f::before { content: "\f39e" !important; }
/* PayPal */
.fa-paypal::before { content: "\f1ed" !important; }
/* Mercado Pago (Usamos Hand Holding USD) */
.fa-hand-holding-usd::before { content: "\f4c0" !important; }
/* Reloj Usuario (Pausa) */
.fa-user-clock::before { content: "\f4fd" !important; }


/* Asegurar que el texto sea legible sobre blanco */
.dpc-bio-content {
    color: #333333 !important;
}

/* =============================================================================
   👑 DOKTER+ UI/UX: SISTEMA DE DISEÑO PARA FORMULARIOS Y TABLAS
   ============================================================================= */

/* 1. INTRODUCCIONES VISUALES */
.dpc-ui-intro {
    background: #f0f7ff;
    border-left: 4px solid #0d6efd;
    padding: 15px 20px;
    border-radius: 0 8px 8px 0;
    margin-bottom: 25px;
    display: flex;
    align-items: center;
    gap: 15px;
}
.dpc-ui-intro i { font-size: 1.5rem; color: #0d6efd; }
.dpc-ui-intro p { margin: 0; color: #495057; font-size: 0.95rem; font-weight: 500; }

.dpc-intro-purple { background: #f3f0ff; border-left-color: #6f42c1; }
.dpc-intro-purple i { color: #6f42c1; }

/* 2. ESTILOS ESPECÍFICOS: NUEVA RECETA (.dpc-wrapper-nueva_receta) */
.dpc-wrapper-nueva_receta form {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* 2 Columnas */
    gap: 20px;
}

/* Hacer que el área de texto de la receta ocupe todo el ancho */
.dpc-wrapper-nueva_receta textarea,
.dpc-wrapper-nueva_receta .full-width {
    grid-column: 1 / -1;
}

/* Inputs Modernos */
.dpc-wrapper-nueva_receta input[type="text"],
.dpc-wrapper-nueva_receta input[type="date"],
.dpc-wrapper-nueva_receta input[type="number"],
.dpc-wrapper-nueva_receta select,
.dpc-wrapper-nueva_receta textarea {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #e2e8f0;
    background-color: #f8fafc;
    border-radius: 8px;
    font-size: 0.95rem;
    transition: all 0.3s ease;
    color: #334155;
    font-family: 'Quicksand', sans-serif;
}

.dpc-wrapper-nueva_receta input:focus,
.dpc-wrapper-nueva_receta textarea:focus {
    background-color: #fff;
    border-color: #0d6efd;
    box-shadow: 0 0 0 4px rgba(13, 110, 253, 0.1);
    outline: none;
}

.dpc-wrapper-nueva_receta label {
    font-weight: 700;
    color: #1e293b;
    margin-bottom: 6px;
    display: block;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Botón de envío Receta */
.dpc-wrapper-nueva_receta input[type="submit"],
.dpc-wrapper-nueva_receta button[type="submit"] {
    grid-column: 1 / -1;
    background: linear-gradient(135deg, #0d6efd 0%, #0056b3 100%);
    color: white;
    border: none;
    padding: 15px;
    border-radius: 50px;
    font-weight: 700;
    font-size: 1rem;
    cursor: pointer;
    box-shadow: 0 4px 15px rgba(13, 110, 253, 0.3);
    transition: transform 0.2s;
    margin-top: 10px;
}
.dpc-wrapper-nueva_receta input[type="submit"]:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(13, 110, 253, 0.4);
}

/* Responsivo para receta */
@media (max-width: 768px) {
    .dpc-wrapper-nueva_receta form { grid-template-columns: 1fr; }
}

/* 3. ESTILOS ESPECÍFICOS: PRE-REGISTRO (.dpc-wrapper-pre_registro) */

/* El Generador (Inputs) */
.dpc-wrapper-pre_registro input[type="text"],
.dpc-wrapper-pre_registro select {
    padding: 12px;
    border: 2px solid #e9ecef;
    border-radius: 8px;
    width: 100%;
    margin-bottom: 15px;
}

/* Botón Generador */
.dpc-wrapper-pre_registro button,
.dpc-wrapper-pre_registro input[type="submit"] {
    background-color: #6f42c1; /* Morado distintivo */
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 6px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.3s;
}
.dpc-wrapper-pre_registro button:hover { background-color: #59359a; }

/* 👑 LA TABLA DE PACIENTES (Transformación UI) */
.dpc-wrapper-pre_registro table,
.dpc-wrapper-mis_recetas table { /* Aplica también al historial de recetas */
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 10px; /* Separación entre filas */
    margin-top: 20px;
    border: none !important;
}

.dpc-wrapper-pre_registro thead th,
.dpc-wrapper-mis_recetas thead th {
    text-align: left;
    color: #64748b;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 1px;
    padding: 0 15px 10px;
    border: none;
}

.dpc-wrapper-pre_registro tbody tr,
.dpc-wrapper-mis_recetas tbody tr {
    background: #fff;
    box-shadow: 0 2px 10px rgba(0,0,0,0.03);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.dpc-wrapper-pre_registro tbody tr:hover,
.dpc-wrapper-mis_recetas tbody tr:hover {
    transform: translateY(-3px);
    box-shadow: 0 5px 15px rgba(0,0,0,0.08);
    position: relative;
    z-index: 5;
}

.dpc-wrapper-pre_registro td,
.dpc-wrapper-mis_recetas td {
    padding: 15px;
    border-top: 1px solid #f1f5f9;
    border-bottom: 1px solid #f1f5f9;
    color: #334155;
    font-size: 0.9rem;
    vertical-align: middle;
}

/* Bordes redondeados para las filas */
.dpc-wrapper-pre_registro td:first-child, .dpc-wrapper-mis_recetas td:first-child { 
    border-left: 1px solid #f1f5f9; 
    border-radius: 8px 0 0 8px; 
}
.dpc-wrapper-pre_registro td:last-child, .dpc-wrapper-mis_recetas td:last-child { 
    border-right: 1px solid #f1f5f9; 
    border-radius: 0 8px 8px 0; 
}

/* Acciones dentro de la tabla (Botones pequeños) */
.dpc-wrapper-pre_registro a.button, 
.dpc-wrapper-mis_recetas a.button {
    padding: 6px 12px;
    font-size: 0.8rem;
    border-radius: 4px;
    background: #e2e8f0;
    color: #334155;
    text-decoration: none;
}
.dpc-wrapper-pre_registro a.button:hover {
    background: #cbd5e1;
}

/* Scroll horizontal para tablas en móvil */
@media (max-width: 768px) {
    .dpc-wrapper-pre_registro, .dpc-wrapper-mis_recetas {
        overflow-x: auto;
    }
    .dpc-wrapper-pre_registro table, .dpc-wrapper-mis_recetas table {
        min-width: 600px; /* Forzar scroll */
    }
}





}








