/* ==========================================================
   assets/css/main.css - Versión 4.5 Limpia y Funcional
   ========================================================== */

/* ================== BASE ================== */
* {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    box-sizing: border-box;
}

body {
    background-color: #000000;
    color: #ffffff;
    margin: 0;
    padding: 0;
    min-height: 100vh;
    font-size: 16px;
    display: flex;
    flex-direction: column;
}

.container {
    padding-left: 16px !important;
    padding-right: 16px !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* ================== TOP BAR ================== */
.top-bar {
    background-color: #111;
    border-bottom: 1px solid #222;
    padding: 0.4rem 0;
    font-size: 0.6rem;
    overflow: hidden;
}

.social-scroll {
    display: flex;
    gap: 1.5rem;
    align-items: center;
    animation: scrollSocial 25s linear infinite;
    white-space: nowrap;
}

@keyframes scrollSocial {
    0% { transform: translateX(100%); }
    100% { transform: translateX(-100%); }
}

.social-link {
    color: #ccc;
    text-decoration: none;
    transition: opacity 0.3s ease;
    font-size: 0.6rem;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.social-link:hover {
    opacity: 0.7;
    color: #ccc;
}

.social-icon {
    font-size: 0.7rem;
    color: #1B5E20;
}

/* ================== NAVBAR (HEADER) ================== */
.navbar {
    background-color: #1a1a1a;
    border-bottom: 1px solid #333;
    padding: 12px 0 !important;
}

/* Ajuste principal del Logo */
.navbar-brand {
    display: flex;
    flex-direction: column;
    color: #ffffff !important;
    text-decoration: none;
    line-height: 1.1;
    font-size: 1.6rem !important; /* Tamaño de Simulador Enarm */
}

/* Ajuste del subtítulo By Integra */
.navbar-brand .small {
    font-size: 0.7rem !important; /* Más pequeño */
    margin-top: 4px !important; /* Separación */
    opacity: 0.7;
    font-weight: normal !important;
}

.navbar-brand:hover {
    color: #ffffff !important;
}

.navbar .nav-link {
    color: #ffffff;
    font-size: 0.95rem;
}

.navbar .nav-link:hover {
    color: #1B5E20;
}

.user-avatar {
    width: 32px !important;
    height: 32px !important;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #444;
    background-color: #2a2a2a;
    display: flex;
    align-items: center;
    justify-content: center;
}

.admin-badge {
    background: #ffffff;
    color: #000000;
    padding: 4px 8px;
    border-radius: 15px;
    font-size: 0.75rem;
    font-weight: bold;
    text-decoration: none;
}

.admin-badge:hover {
    background: #e0e0e0;
    color: #000000;
}

.navbar .fw-bold {
    font-size: 0.9rem !important;
}

.btn-outline-light.btn-sm {
    font-size: 0.8rem !important;
    padding: 4px 8px !important;
}

/* ================== FOOTER COMPACTO ================== */
.footer {
    background: #1a1a1a;
    border-top: 1px solid #333;
    padding: 30px 16px !important;
    margin-top: auto !important;
    font-size: 0.7rem !important;
    text-align: center !important; /* Forzar centrado */
    color: #ccc;
}

.footer p {
    font-size: 0.75rem !important;
    line-height: 1.5 !important;
    margin-bottom: 15px !important; /* Más separación entre líneas */
    text-align: center !important;
}

.footer .footer-links {
    display: flex;
    justify-content: center;
    gap: 20px; /* Separación entre enlaces */
    margin-top: 10px;
}

.footer a {
    font-size: 0.75rem !important;
    color: #aaa !important;
    text-decoration: underline !important;
    margin: 0 10px; /* Margen a los lados para separar los links */
}

.footer a:hover {
    color: #1B5E20 !important;
}

.footer .row {
    flex-direction: column !important; /* Forzar en columna para apilar */
    align-items: center !important;
    gap: 12px !important;
}

.footer .col-md-6 {
    text-align: center !important;
    width: 100% !important; /* Ocupar todo el ancho para centrar bien */
}

/* ================== HERO ================== */
.hero-section {
    background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%);
    min-height: 80vh;
    display: flex;
    align-items: center;
    padding: 2rem 0;
}

.hero-section-centered {
    background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%);
    min-height: calc(100vh - 180px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem 0;
}

.display-5 {
    font-size: 1.25rem !important;
}

.lead {
    font-size: 0.85rem !important;
    line-height: 1.5 !important;
}

.hero-text {
    color: #cccccc;
}

/* ================== CARDS GENERALES ================== */
.card, .subcard, .feature-card, .precio-card, .plan-card, .login-container, .logout-card, .card-dark {
    margin-bottom: 16px !important;
    padding: 16px !important;
    border-radius: 12px !important;
    background: #1a1a1a;
    border: 1px solid #333;
}

.feature-card {
    background: #1a1a1a;
    border: 1px solid #333;
    border-radius: 12px;
    padding: 1rem;
    height: 100%;
    transition: transform 0.3s ease;
}

.feature-card:hover {
    transform: translateY(-5px);
    border-color: #555;
}

.feature-card h4 {
    font-size: 0.9rem !important;
}

.feature-card p {
    font-size: 0.75rem !important;
}

/* ================== TARJETAS DE PRECIOS ================== */
.precio-card {
    background: #1a1a1a !important;
    border: 1px solid #333 !important;
    border-radius: 16px;
    transition: transform 0.3s ease;
}

.precio-card:hover {
    transform: translateY(-5px);
    border-color: #555 !important;
}

.precio-titulo {
    color: #ffffff;
    font-size: 0.9rem !important;
    font-weight: 600;
    margin-bottom: 1rem;
}

.precio-lista {
    color: #ffffff;
    font-size: 0.7rem !important;
    text-align: left;
    display: inline-block;
    margin-bottom: 1rem;
}

.precio-lista li {
    margin-bottom: 0.3rem;
    font-size: 0.7rem !important;
}

.precio-valor {
    font-size: 1.3rem !important;
    font-weight: 700;
    color: #1B5E20;
}

.precio-micro {
    font-size: 0.6rem !important;
    color: #aaaaaa;
}

.precio-micro-ahorro {
    font-size: 0.7rem !important;
    font-weight: 600;
    color: #1B5E20;
}

.recomendado-badge {
    position: absolute;
    top: -8px;
    left: 50%;
    transform: translateX(-50%);
    background: #1B5E20;
    color: white;
    font-size: 0.55rem !important;
    padding: 2px 8px !important;
    border-radius: 20px;
    font-weight: 600;
    white-space: nowrap;
}

/* ================== BOTONES UNIFICADOS ================== */
.btn, .btn-primary, .btn-primary-custom, .btn-volver, .btn-estudio, .btn-google {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 12px 16px !important;
    font-size: 0.8rem !important;
    border-radius: 10px !important;
    text-align: center !important;
    white-space: normal !important;
    word-break: break-word !important;
}

.btn-primary {
    background-color: #1B5E20 !important;
    border-color: #1B5E20 !important;
}

.btn-primary:hover {
    background-color: #0D3B0F !important;
    border-color: #0D3B0F !important;
}

.btn-google {
    background-color: white;
    color: #3c4043;
    border: 1px solid #dadce0;
    gap: 12px;
}

.btn-google:hover {
    background-color: #f8f9fa;
    color: #202124;
}

.google-logo {
    width: 18px;
    height: 18px;
}

.btn-center-container {
    display: flex;
    justify-content: center;
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.btn-group-modules {
    flex-direction: column !important;
    gap: 8px !important;
}

.btn-group-modules .btn-estudio {
    width: 100% !important;
}

/* ================== TÍTULOS GLOBALES ================== */
h1, .h1, .display-5 {
    font-size: 1.4rem !important;
}

h2, .h2 {
    font-size: 1.2rem !important;
}

h3, .h3 {
    font-size: 1rem !important;
}

h4, .h4 {
    font-size: 0.9rem !important;
}

h5, .h5 {
    font-size: 0.85rem !important;
}

h6, .h6 {
    font-size: 0.8rem !important;
}

p, .p {
    font-size: 0.8rem !important;
    line-height: 1.4 !important;
}

/* ================== ICONOS Y VERDE ================== */
.feature-icon,
.stat-number,
.infinity-symbol,
.bi-check-circle-fill,
.accent-emerald {
    color: #1B5E20;
}

.stat-number {
    font-size: 1.1rem !important;
    font-weight: 700;
}

.infinity-symbol {
    font-size: 0.9rem !important;
    font-weight: 700;
}

.stat-label {
    color: #ffffff;
    font-size: 0.55rem !important;
    opacity: 0.7;
}

/* ================== DIVISORES ================== */
.divider {
    border-top: 1px solid #333;
    margin: 1.5rem 0 1rem 0;
}

/* ================== FORMULARIOS ================== */
input, select, textarea, .form-select, .form-control {
    font-size: 16px !important;
    padding: 12px !important;
    border-radius: 10px !important;
    width: 100% !important;
    background-color: #2a2a2a !important;
    color: #fff !important;
    border: 1px solid #444 !important;
}

.form-select-sm {
    font-size: 14px !important;
    padding: 10px !important;
}

.form-label {
    font-size: 0.75rem !important;
    margin-bottom: 8px !important;
    color: #ccc !important;
    display: block !important;
}

.form-check-input {
    background-color: #333;
    border-color: #555;
    width: 16px;
    height: 16px;
    margin-top: 2px;
}

.form-check-input:checked {
    background-color: #1B5E20;
    border-color: #1B5E20;
}

.form-check-label {
    font-size: 0.7rem !important;
    color: #fff;
    cursor: pointer;
}

.form-range::-webkit-slider-thumb {
    background: #1B5E20;
}

.lista-bancos-compacta {
    background: #0a0a0a;
    border: 1px solid #333;
    border-radius: 8px;
    padding: 10px;
    max-height: 200px !important;
    overflow-y: auto;
    margin-top: 8px !important;
    margin-bottom: 12px !important;
}

.badge-preguntas {
    font-size: 0.5rem !important;
    background: #1a3a1a;
    color: #ffffff !important;
    margin-left: 6px;
    padding: 1px 4px !important;
    border-radius: 10px;
}

/* ================== ACTIVIDAD ================== */
.activity-item {
    padding: 8px;
    margin-bottom: 6px;
    border-left: 3px solid #1B5E20;
    background-color: #2a2a2a;
    border-radius: 0 4px 4px 0;
}

.activity-time {
    font-size: 0.6rem !important;
    color: #888;
}

.activity-message {
    font-size: 0.7rem !important;
    margin-bottom: 2px;
    color: #ddd;
}

/* ================== HISTORIAL ================== */
.historial-card {
    max-height: 400px;
    overflow-y: auto;
}

.historial-scroll {
    max-height: 400px;
    overflow-y: auto;
}

.historial-item {
    display: flex;
    flex-direction: column !important;
    align-items: flex-start !important;
    padding: 10px 12px;
    border-bottom: 1px solid #222;
    gap: 8px !important;
}

.historial-item .text-end {
    width: 100% !important;
    display: flex;
    align-items: center;
    justify-content: space-between !important;
}

.historial-detalle {
    color: #ffffff !important;
    font-size: 0.65rem !important;
}

.historial-nota {
    font-weight: 700;
    color: #ffffff !important;
}

.btn-ver-examen {
    background: transparent;
    border: 1px solid #1B5E20;
    color: #1B5E20;
    font-size: 0.55rem !important;
    padding: 2px 6px !important;
    border-radius: 20px;
    text-decoration: none;
    transition: all 0.2s ease;
    display: inline-block;
}

.btn-ver-examen:hover {
    background: #1B5E20;
    color: white;
}

.btn-estadisticas {
    background: transparent;
    border: 1px solid #1B5E20;
    color: #1B5E20;
    font-size: 0.65rem !important;
    padding: 4px 8px !important;
    border-radius: 20px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.btn-estadisticas:hover {
    background: #1B5E20;
    color: white;
}

.badge-origen {
    font-size: 0.5rem !important;
    padding: 2px 6px;
    border-radius: 10px;
    margin-left: 6px;
    display: inline-block;
}

.badge-enarm { background: #1B5E20; color: #fff; }
.badge-gpc { background: #0d47a1; color: #fff; }
.badge-tema { background: #6a1b9a; color: #fff; }
.badge-especialidad { background: #e65100; color: #fff; }

/* ================== STATUS ULTRA COMPACT ================== */
.status-ultra-compact {
    background: #1a1a1a;
    border: 1px solid #333;
    border-radius: 10px;
    padding: 12px !important;
    margin-bottom: 1rem;
    display: flex;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
}

.status-line {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.65rem !important;
    color: #ffffff;
    flex-wrap: wrap;
}

.status-badge {
    background: #1B5E20;
    color: white;
    padding: 2px 8px;
    border-radius: 16px;
    font-size: 0.55rem !important;
    font-weight: 600;
}

.status-badge-inactive {
    background: #555;
    color: #ccc;
    padding: 2px 8px;
    border-radius: 16px;
    font-size: 0.55rem !important;
    font-weight: 600;
}

/* ================== LOGIN ================== */
.login-container {
    margin: 16px !important;
    padding: 20px 16px !important;
}

.login-container h2 {
    font-size: 1.3rem !important;
}

.login-container p {
    font-size: 0.75rem !important;
}

.login-footer-info a {
    color: #1B5E20;
    text-decoration: none;
    font-size: 0.65rem !important;
}

.login-footer-info a:hover {
    color: #0D3B0F;
    text-decoration: underline;
}

.login-footer-info .text-muted {
    color: #888 !important;
    font-size: 0.65rem !important;
}

.login-footer-info i {
    color: #1B5E20;
}

/* ================== LOGOUT ================== */
.logout-hero {
    min-height: 70vh;
    padding: 1.5rem 0;
}

.logout-card {
    margin: 16px !important;
    padding: 24px 16px !important;
    text-align: center;
}

.logout-title {
    font-size: 1.2rem !important;
}

.logout-message {
    font-size: 0.75rem !important;
}

.logout-icon {
    font-size: 2.5rem !important;
}

/* ================== DASHBOARD ================== */
.dashboard-title {
    font-size: 1rem !important;
}

.card-menu {
    background: #1a1a1a;
    border: 1px solid #333;
    border-radius: 14px;
    padding: 16px !important;
    text-align: center;
}

.feature-disabled {
    opacity: 0.4;
    pointer-events: none;
    filter: grayscale(1);
}

.module-icon {
    font-size: 1.2rem !important;
    margin-bottom: 0.5rem;
}

.module-title {
    font-size: 0.85rem !important;
    font-weight: 600;
    margin-bottom: 0.75rem;
}

/* ================== SIMULADOR INDEX ================== */
.subcard {
    background: #1a1a1a;
    border: 1px solid #333;
    border-radius: 10px;
    padding: 16px !important;
    margin-bottom: 24px !important;
}

.subcard:last-child {
    margin-bottom: 12px !important;
}

.subcard-title {
    font-size: 0.85rem !important;
    font-weight: 600;
    margin-bottom: 16px !important;
    padding-bottom: 8px !important;
    border-bottom: 1px solid #333 !important;
    color: #1B5E20;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.subcard-title .badge-total {
    margin-left: auto !important;
}

.subcard-title + .subcard-content {
    margin-top: 8px !important;
}

.subcard-content > *:not(:last-child) {
    margin-bottom: 12px !important;
}

.subcard .form-label.small {
    margin-bottom: 10px !important;
    font-weight: 600 !important;
    display: block !important;
}

.subcard .row.g-2 {
    margin-top: 8px !important;
    margin-bottom: 12px !important;
}

.subcard .text-white-50 {
    margin-top: 8px !important;
    margin-bottom: 12px !important;
    display: block !important;
}

.badge-total {
    background: #1B5E20;
    color: white;
    font-size: 0.55rem !important;
    padding: 3px 8px;
    border-radius: 12px;
}

/* ================== RESULTADOS Y REVISIONES ================== */
.card-result {
    background: #ffffff;
    border: 1px solid #e0e0e0;
    border-radius: 12px;
    margin-bottom: 16px;
    padding: 14px !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}

.pregunta-texto {
    font-weight: 600;
    margin-bottom: 12px;
    font-size: 0.85rem !important;
    color: #333;
    line-height: 1.4;
}

.opcion-box {
    padding: 8px 10px !important;
    border: 1px solid #e0e0e0;
    margin-bottom: 8px;
    border-radius: 8px;
    background: #ffffff;
    font-size: 0.75rem !important;
    color: #333;
    line-height: 1.4;
}

.correcta {
    background: #e8f5e9;
    border-color: #a5d6a7;
    color: #2e7d32;
}

.incorrecta {
    background: #ffebee;
    border-color: #ef9a9a;
    color: #c62828;
}

.explicacion {
    background: #fafafa;
    border-left: 3px solid #2e7d32;
    padding: 10px !important;
    margin-top: 10px;
    border-radius: 8px;
    font-size: 0.7rem !important;
    color: #333;
    line-height: 1.4;
}

.display-3 {
    font-size: 1.8rem !important;
    font-weight: 700;
    color: #2e7d32;
}

/* ================== ECG EXAMEN ================== */
.ecg-contenedor {
    width: 100%;
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 10px;
    margin: 15px 0;
    overflow-x: auto;
    background: #f9f9f9;
    text-align: center;
}

.ecg-img {
    display: block;
    max-height: 200px;
    width: auto;
    max-width: 100%;
    margin: 0 auto;
    border-radius: 4px;
}

.ecg-id-label {
    font-size: 9px;
    color: #1B5E20;
    font-weight: bold;
    text-transform: uppercase;
    margin-bottom: 8px;
    border-bottom: 1px solid #ddd;
    padding-bottom: 5px;
    display: block;
}

/* ================== MEDIA QUERY FINAL (móvil < 480px) ================== */
@media (max-width: 480px) {
    body { font-size: 14px; }
    .container { padding-left: 12px !important; padding-right: 12px !important; }
    .top-bar { font-size: 0.6rem; }
    .social-link { font-size: 0.6rem; }
    .navbar-brand { font-size: 1.4rem !important; }
    .navbar-brand .small { font-size: 0.65rem !important; }
    .btn, .btn-primary, .btn-primary-custom, .btn-volver, .btn-estudio, .btn-google {
        padding: 10px 12px !important;
        font-size: 0.75rem !important;
    }
    .precio-valor, .stat-number { font-size: 1.1rem !important; }
    .display-3 { font-size: 1.5rem !important; }
    .user-avatar { width: 28px !important; height: 28px !important; }
    .navbar .fw-bold { font-size: 0.75rem !important; }
    .btn-outline-light.btn-sm { font-size: 0.65rem !important; padding: 2px 6px !important; }
    .ecg-img { max-height: 150px; }
    .subcard { padding: 12px !important; margin-bottom: 16px !important; }
    .subcard-title { font-size: 0.8rem !important; margin-bottom: 12px !important; }
    .footer { padding: 20px 12px !important; }
}

/* ================== UTILIDADES ================== */
.text-center { text-align: center !important; }
.d-flex { gap: 8px !important; }
.row { margin-left: 0 !important; margin-right: 0 !important; }
[class*="col-"] { padding-left: 8px !important; padding-right: 8px !important; }
.border-bottom-custom { border-bottom: 1px solid #e0e0e0 !important; }
.border-left-verde { border-left: 3px solid #1B5E20 !important; }
.texto-blanco { color: #ffffff !important; }
.text-white-50 { color: rgba(255, 255, 255, 0.5) !important; }
.small { font-size: 0.7rem !important; }

.mt-1 { margin-top: 4px !important; }
.mt-2 { margin-top: 8px !important; }
.mt-3 { margin-top: 12px !important; }
.mt-4 { margin-top: 16px !important; }
.mt-5 { margin-top: 24px !important; }

.mb-1 { margin-bottom: 4px !important; }
.mb-2 { margin-bottom: 8px !important; }
.mb-3 { margin-bottom: 12px !important; }
.mb-4 { margin-bottom: 16px !important; }
.mb-5 { margin-bottom: 24px !important; }

/* ================== RESPONSIVE PARA PC Y TABLET ================== */

/* ========== TABLET (768px - 991px) ========== */
@media (min-width: 768px) {
    .container {
        max-width: 720px !important;
        margin: 0 auto !important;
    }
    .display-5, h1, .h1 {
        font-size: 1.35rem !important;
    }
    .lead, .hero-text {
        font-size: 0.85rem !important;
    }
    .stat-number, .infinity-symbol {
        font-size: 1.2rem !important;
    }
    .stat-label { font-size: 0.65rem !important; }
    .precio-titulo { font-size: 1.1rem !important; }
    .precio-valor { font-size: 1.6rem !important; }
    .precio-lista li { font-size: 0.8rem !important; }
    .precio-micro { font-size: 0.7rem !important; }
    .precio-micro-ahorro { font-size: 0.8rem !important; }
    .recomendado-badge { font-size: 0.7rem !important; padding: 4px 12px !important; }
    .feature-card h4 { font-size: 1.1rem !important; }
    .feature-card p { font-size: 0.85rem !important; }
    .btn-google { font-size: 0.95rem !important; padding: 14px 28px !important; }
    .subcard { max-width: 600px; margin-left: auto; margin-right: auto; }
    .subcard-title { font-size: 1rem !important; }
    .btn, .btn-primary, .btn-primary-custom { font-size: 0.9rem !important; }
}

/* ========== PC ESCRITORIO (992px+) ========== */
@media (min-width: 992px) {
    .container {
        max-width: 960px !important;
        margin: 0 auto !important;
    }
    .hero-section {
        min-height: 70vh;
        padding: 4rem 0;
    }
    
    .display-5, h1, .h1 {
        font-size: 1.5rem !important;
    }
    .lead, .hero-text {
        font-size: 0.9rem !important;
        line-height: 1.6 !important;
    }
    .stat-number, .infinity-symbol {
        font-size: 1.3rem !important;
    }
    .stat-label { font-size: 0.75rem !important; }
    
    .precio-card { min-height: 420px; }
    .precio-titulo { font-size: 1.2rem !important; }
    .precio-valor { font-size: 2rem !important; }
    .precio-lista li { font-size: 0.9rem !important; margin: 0.6rem 0; }
    .precio-micro { font-size: 0.8rem !important; }
    .precio-micro-ahorro { font-size: 0.9rem !important; }
    .recomendado-badge { font-size: 0.8rem !important; padding: 6px 16px !important; top: -12px !important; }
    .feature-card { padding: 2rem 1.5rem !important; }
    .feature-card h4 { font-size: 1.1rem !important; }
    .feature-card p { font-size: 0.9rem !important; }
    .feature-icon { font-size: 2rem !important; }
    .btn-google { font-size: 1rem !important; padding: 12px 28px !important; max-width: 350px; }
    .btn-center-container { justify-content: flex-start; }
    .subcard { max-width: 100%; padding: 24px !important; }
    .subcard-title { font-size: 1.1rem !important; margin-bottom: 20px !important; padding-bottom: 12px !important; }
    .subcard-content { padding: 8px 0 !important; }
    .subcard .form-select-sm { font-size: 1rem !important; padding: 12px !important; }
    .subcard .text-white-50 { font-size: 0.85rem !important; }
    .badge-total { font-size: 0.7rem !important; padding: 4px 10px; }
    .btn, .btn-primary, .btn-primary-custom { font-size: 1rem !important; padding: 14px 20px !important; }
    
    /* FOOTER PC - Mantenido centrado según la imagen de referencia */
    .footer { font-size: 0.75rem !important; padding: 40px 0 !important; }
    .footer p { font-size: 0.75rem !important; margin-bottom: 10px !important; color: #ccc; }
    .footer a, .footer .small, .footer small { font-size: 0.75rem !important; }
    
    /* Aquí forzamos que en PC también se mantenga en columna y centrado */
    .footer .row { flex-direction: column !important; align-items: center; justify-content: center; gap: 16px !important; }
    .footer .col-md-6 { text-align: center !important; width: 100% !important; }
    .footer .col-md-6.text-md-end { text-align: center !important; }
    
    .navbar-brand { font-size: 1.8rem !important; }
    .navbar-brand .small { font-size: 0.85rem !important; }
}

/* ========== PANTALLAS GRANDES (1200px+) ========== */
@media (min-width: 1200px) {
    .container {
        max-width: 1140px !important;
    }
    .display-5, h1, .h1 {
        font-size: 1.6rem !important;
    }
    .hero-text {
        font-size: 0.95rem !important;
    }
    .precio-valor {
        font-size: 2.2rem !important;
    }
    .subcard {
        padding: 28px !important;
    }
}

/* ========== CORRECCIÓN: Precios en móvil NO se agrandan ========== */
@media (max-width: 767px) {
    .precio-card.shadow-lg {
        transform: scale(1) !important;
    }
}
```