/* ===================================================================
   DRPCIV Romania - Site CSS
   =================================================================== */

/* === CULORI === */
:root {
    --bs-primary: #0d47a1;
    --bs-primary-rgb: 13, 71, 161;
    --bs-link-color: #0d47a1;
    --bs-link-color-rgb: 13, 71, 161;
    --bs-link-hover-color: #1565c0;
}

.bg-primary { background-color: #0d47a1 !important; }
.text-primary { color: #0d47a1 !important; }

/* === BUTOANE === */
.btn {
    border-radius: 25px;
    font-weight: 500;
    padding: 0.5rem 1.5rem;
    transition: transform 0.1s, box-shadow 0.15s, background-color 0.15s;
}

.btn-lg {
    border-radius: 30px;
    padding: 0.65rem 2rem;
    font-size: 1.05rem;
}

.btn-sm {
    border-radius: 20px;
    padding: 0.35rem 1rem;
}

.btn:active { transform: translateY(1px); }

.btn-primary {
    background-color: #0d47a1;
    border-color: #0d47a1;
    color: #fff;
}

.btn-primary:hover,
.btn-primary:focus {
    background-color: #1565c0;
    border-color: #1565c0;
    color: #fff;
}

.btn-outline-primary {
    color: #0d47a1;
    border-color: #0d47a1;
}

.btn-outline-primary:hover {
    background-color: #0d47a1;
    border-color: #0d47a1;
    color: #fff;
}

.btn-warning { color: #212529; }

.list-group-item-primary {
    background-color: #e3f2fd;
    color: #0d47a1;
}

.alert-primary {
    background-color: #e3f2fd;
    border-color: #bbdefb;
    color: #0d47a1;
}

/* === BASE === */
html, body { height: 100%; }

body {
    display: flex;
    flex-direction: column;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    color: #333;
    background-color: #ffffff;
    padding-top: 56px;
}

main { flex: 1 0 auto; }

/* === DISCLAIMER BAR === */
.disclaimer-bar {
    background-color: #fff8e1;
    border-bottom: 1px solid #ffe082;
    padding: 8px 0;
    font-size: 13px;
    color: #5d4037;
    line-height: 1.4;
}

.disclaimer-bar .disclaimer-icon { margin-right: 6px; }
.disclaimer-bar a { color: #5d4037; text-decoration: underline; font-weight: 600; }
.disclaimer-bar a:hover { color: #3e2723; }

@media (max-width: 767.98px) {
    .disclaimer-bar {
        font-size: 12px;
        padding: 10px 12px;
    }
    .disclaimer-bar .container {
        padding-left: 0;
        padding-right: 0;
    }
}

/* === NAVBAR === */
.navbar-brand {
    font-weight: 600;
    font-size: 1.2rem;
}

.navbar-dark .nav-link {
    color: rgba(255, 255, 255, 0.85) !important;
    transition: color 0.15s;
}

.navbar-dark .nav-link:hover { color: #fff !important; }

.navbar .dropdown-menu {
    border: none;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    border-radius: 6px;
    padding: 0.5rem 0;
    min-width: 220px;
}

.navbar .dropdown-item {
    padding: 0.5rem 1rem;
    transition: background-color 0.15s;
}

.navbar .dropdown-item:hover { background-color: #f8f9fa; }

/* === HERO SECTION === */
.hero-section {
    background-color: #ffffff;
    padding: 0 0 2rem;
    position: relative;
    margin-top: 0;
    overflow: hidden;
}
.hero-section .row {
    margin-top: 0;
}

.hero-section-small { padding: 2.5rem 0 2rem; }

.hero-text {
    position: relative;
    padding-left: 1.5rem;
}

.hero-accent {
    position: absolute;
    left: 0;
    top: 0.5rem;
    bottom: 0.5rem;
    width: 5px;
    background: linear-gradient(180deg, #0d47a1, #1565c0);
    border-radius: 3px;
}

.hero-title {
    font-size: 2.25rem;
    font-weight: 700;
    line-height: 1.2;
    color: #1a2533;
    margin-bottom: 1rem;
}

.hero-highlight {
    color: #0d47a1;
    position: relative;
    display: inline-block;
}

.hero-highlight::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -4px;
    height: 5px;
    background-color: #ffc107;
    border-radius: 3px;
    opacity: 0.7;
}

.hero-subtitle {
    font-size: 1.1rem;
    color: #555;
    line-height: 1.6;
    margin-bottom: 1.5rem;
}

.hero-subtitle strong { color: #0d47a1; }

.hero-buttons {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 2rem;
}

.hero-buttons .btn {
    box-shadow: 0 4px 12px rgba(13, 71, 161, 0.15);
}

.hero-stats {
    display: flex;
    gap: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid #e3e6f0;
    flex-wrap: wrap;
}

.hero-stat {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    flex: 1 1 auto;
    min-width: 180px;
}

.hero-stat-icon {
    font-size: 1.5rem;
    color: #0d47a1;
    flex-shrink: 0;
}

.hero-stat > div {
    display: flex;
    flex-direction: column;
}

.hero-stat strong {
    font-size: 0.95rem;
    color: #1a2533;
    font-weight: 600;
    line-height: 1.2;
}

.hero-stat span {
    font-size: 0.78rem;
    color: #6c757d;
    margin-top: 0.15rem;
}

.hero-image {
    max-width: 100%;
    height: auto;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    display: block;
}

.hero-stat-plus {
    font-size: 1rem;
    color: #1565c0;
    vertical-align: super;
    margin-left: 2px;
}

/* === BANDA STATISTICI HOMEPAGE === */
.stats-band {
    background: linear-gradient(135deg, #082c6b 0%, #0d47a1 50%, #1565c0 100%);
    padding: 0.55rem 0;
    color: #fff;
    margin-bottom: 0;
    position: relative;
    overflow: hidden;
}
/* Pe desktop ascundem versiunea mobile */
.stats-mobile {
    display: none;
}
.stats-band::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image:
        radial-gradient(circle at 20% 50%, rgba(255, 193, 7, 0.08) 0%, transparent 50%),
        radial-gradient(circle at 80% 50%, rgba(255, 255, 255, 0.06) 0%, transparent 50%);
    pointer-events: none;
}

.stats-band .container {
    position: relative;
    z-index: 1;
}

.stat-box {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.7rem;
    padding: 0.15rem;
    transition: transform 0.2s;
}

.stat-box:hover { transform: translateY(-1px); }

.stat-icon {
    font-size: 1rem;
    color: #ffc107;
    flex-shrink: 0;
    width: 34px;
    height: 34px;
    background: linear-gradient(135deg, rgba(255, 193, 7, 0.15), rgba(255, 193, 7, 0.05));
    border: 2px solid rgba(255, 193, 7, 0.35);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
    transition: all 0.25s;
}

.stat-box:hover .stat-icon {
    background: linear-gradient(135deg, rgba(255, 193, 7, 0.25), rgba(255, 193, 7, 0.1));
    border-color: rgba(255, 193, 7, 0.6);
}

.stat-info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
}

.stat-info strong {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.1;
    color: #fff;
    letter-spacing: -0.3px;
}

.stat-info span {
    font-size: 0.7rem;
    color: rgba(255, 255, 255, 0.85);
    margin-top: 0.1rem;
    letter-spacing: 0.2px;
}

.stat-plus {
    color: #ffc107;
    margin-left: 2px;
    font-weight: 700;
}

@media (min-width: 768px) {
    .stats-band .col-md-4:not(:last-child) .stat-box {
        border-right: 1px solid rgba(255, 255, 255, 0.15);
    }
}

@media (max-width: 767.98px) {
    /* Mobile: bara stats minimalistă pe 1 rând */
    .stats-band { 
        padding: 0.4rem 0;
    }
    .stats-desktop {
        display: none !important;
    }
    .stats-mobile {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 0.5rem;
        flex-wrap: nowrap;
        color: #fff;
        font-size: 0.78rem;
        font-weight: 500;
        line-height: 1.2;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .stats-mobile strong {
        font-weight: 700;
    }
    .stats-mobile .stats-divider {
        opacity: 0.5;
        margin: 0 0.1rem;
    }
}

@media (max-width: 991.98px) {
    .hero-section {
        padding: 0 0 1.5rem;
        text-align: center;
    }
    .hero-section .row {
        margin-top: 0;
    }
    .hero-text {
        padding-left: 0;
        padding-top: 0;
    }
    .hero-accent { display: none; }
    .hero-title { font-size: 1.7rem; }
    .hero-subtitle { font-size: 1rem; }
    .hero-buttons {
        flex-direction: column;
        gap: 0.85rem;
        align-items: center;
        justify-content: center;
        max-width: 320px;
        margin-left: auto;
        margin-right: auto;
    }
    .hero-buttons .btn {
        width: 100%;
        max-width: 280px;
    }
    .hero-stats {
        justify-content: center;
        gap: 1rem;
        flex-direction: column;
        align-items: flex-start;
    }
    .hero-stat {
        width: 100%;
        justify-content: flex-start;
    }
    .hero-image {
        max-width: 100%;
        margin: 0 auto;
    }
}

@media (max-width: 575.98px) {
    .hero-title { font-size: 1.45rem; line-height: 1.25; }
    .hero-image { max-width: 100%; }
    .hero-buttons { gap: 0.75rem; max-width: 280px; }
    .hero-buttons .btn { max-width: 240px; }
}

/* === PAGINA INVATA === */
.module-card {
    border: 2px solid #e3e6f0;
    border-radius: 16px;
    overflow: hidden;
    transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
    position: relative;
}

.module-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 30px rgba(13, 71, 161, 0.15);
    border-color: #0d47a1;
}

.module-card-featured {
    border-color: #0d47a1;
    box-shadow: 0 4px 16px rgba(13, 71, 161, 0.12);
}

.module-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    background-color: #ffc107;
    color: #212529;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 12px;
    letter-spacing: 0.5px;
    z-index: 2;
}

.module-icon {
    background: linear-gradient(135deg, #e3f2fd, #f8f9fa);
    padding: 0.75rem;
    text-align: center;
    font-size: 1.6rem;
    color: #0d47a1;
}

.module-card .card-body { padding: 1.5rem; }

.module-title {
    font-size: 1.3rem;
    font-weight: 600;
    color: #1a2533;
    margin-bottom: 0.75rem;
}

.module-desc {
    color: #555;
    line-height: 1.5;
    margin-bottom: 1rem;
}

.module-bullets {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: left;
}

.module-bullets li {
    padding-left: 1.5rem;
    position: relative;
    color: #555;
    font-size: 0.95rem;
    margin-bottom: 0.4rem;
}

.module-bullets li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: #0d47a1;
    font-weight: bold;
}

.module-card .card-footer {
    background-color: transparent;
    border-top: 1px solid #e3e6f0;
    padding: 1rem 1.5rem;
    text-align: center;
}

.resources-section {
    background-color: #f8f9fa;
    padding: 3rem 0;
    margin-top: 2rem;
}

.resources-title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin-bottom: 0.5rem;
}

.resources-title h2 {
    color: #1a2533;
    font-size: 1.5rem;
    font-weight: 600;
    margin: 0;
    white-space: nowrap;
}

.resources-line {
    height: 2px;
    background: linear-gradient(90deg, transparent, #0d47a1, transparent);
    flex: 1;
    max-width: 200px;
}

.resource-card {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.25rem;
    background-color: #fff;
    border: 1px solid #e3e6f0;
    border-radius: 12px;
    text-decoration: none;
    color: inherit;
    transition: transform 0.15s, box-shadow 0.15s, border-color 0.15s;
    height: 100%;
}

.resource-card:hover {
    transform: translateX(4px);
    box-shadow: 0 4px 12px rgba(13, 71, 161, 0.1);
    border-color: #0d47a1;
    color: inherit;
}

.resource-icon {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    background-color: #e3f2fd;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    color: #0d47a1;
}

.resource-text { flex: 1; min-width: 0; }

.resource-text h5 {
    margin: 0 0 0.15rem 0;
    font-size: 0.95rem;
    font-weight: 600;
    color: #1a2533;
}

.resource-text small {
    color: #6c757d;
    font-size: 0.8rem;
}

.resource-arrow {
    flex-shrink: 0;
    color: #adb5bd;
    transition: transform 0.15s, color 0.15s;
}

.resource-card:hover .resource-arrow {
    color: #0d47a1;
    transform: translateX(3px);
}

/* === BANNER homepage === */
header .card.bg-light {
    border: none;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    margin-top: 1rem;
}

.text-banner h1 {
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.3;
    margin-bottom: 0.5rem;
}

.text-banner h3 {
    font-size: 1.2rem;
    font-weight: 400;
    color: #555;
}

/* === CARD HEADER CUSTOM === */
.card-header-new {
    background: linear-gradient(135deg, #082c6b 0%, #0d47a1 50%, #1565c0 100%);
    color: #fff;
    padding: 0.75rem 1rem;
    border-radius: 0.375rem 0.375rem 0 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.card-header-new h2,
.card-header-new h3,
.card-header-new h4,
.card-header-new h5 {
    margin: 0;
    color: #fff;
    font-weight: 600;
}

.card-header-new h4 i.bi {
    margin-right: 6px;
    opacity: 0.9;
}

h3.card-header-new {
    margin: 0;
    font-size: 1.15rem;
    line-height: 1.3;
    min-height: 110px;
}

.card {
    border: 1px solid #e3e6f0;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    transition: box-shadow 0.2s;
}

.card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.list-group-item-primary {
    transition: background-color 0.15s, transform 0.1s;
}

.list-group-item-primary:hover {
    transform: translateY(-1px);
    background-color: #bbdefb;
}

.text-justify { text-align: justify; }

.alert-warning h6 {
    line-height: 1.5;
    margin-bottom: 0.5rem;
}

/* === FAQ === */
.faq-section { padding: 2rem 0; }

.faq-title {
    text-align: center;
    margin-bottom: 1.5rem;
    color: #0d47a1;
    font-weight: 600;
}

.accordion-button {
    font-weight: 600;
    color: #333;
}

.accordion-button:not(.collapsed) {
    background-color: #e3f2fd;
    color: #0d47a1;
}

.accordion-button:focus {
    box-shadow: 0 0 0 0.15rem rgba(13, 71, 161, 0.15);
}

.accordion-body {
    color: #555;
    line-height: 1.6;
}

@media (max-width: 768px) {
    .faq-title { font-size: 1.4rem; }
    .accordion-button { font-size: 0.95rem; }
}

/* === FOOTER === */
.footer-disclaimer {
    background-color: #f8f9fa;
    border-top: 1px solid #dee2e6;
    padding: 1.5rem;
    margin-top: 2rem;
    font-size: 0.9rem;
    color: #555;
    line-height: 1.5;
}

.footer-disclaimer h4 {
    color: #333;
    margin-bottom: 1rem;
    font-size: 1.1rem;
    font-weight: 600;
}

.footer-disclaimer p { margin-bottom: 0.75rem; }

.footer-disclaimer a {
    color: #0d47a1;
    text-decoration: none;
}

.footer-disclaimer a:hover { text-decoration: underline; }

.bg-secondary { background-color: #6c757d !important; }

.footer-img-pay {
    display: inline-block;
    border: 0;
    width: 250px;
    margin: 5px;
    max-width: 100%;
}

.footer-link {
    color: #fff !important;
    text-decoration: none;
}

.footer-link:hover {
    text-decoration: underline;
    color: #fff !important;
}

.footer-social { margin-top: 0.5rem; }

.footer-social a {
    display: inline-block;
    margin: 0 4px;
    transition: transform 0.15s;
}

.footer-social a:hover { transform: translateY(-2px); }

/* === MODALE === */
.modal-content {
    border: none;
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
}

.modal-header {
    border-bottom: 1px solid #e9ecef;
    background-color: #0d47a1;
    color: white;
    border-radius: 12px 12px 0 0;
}

.modal-header .btn-close { filter: brightness(0) invert(1); }

.modal-header .modal-title { font-weight: 600; }

/* === FORMULARE === */
.form-control:focus {
    border-color: #0d47a1;
    box-shadow: 0 0 0 0.2rem rgba(13, 71, 161, 0.15);
}

@media (max-width: 991.98px) {
    .disclaimer-bar {
        font-size: 11px;
        padding: 6px 0;
    }
}

@media (max-width: 575.98px) {
    .footer-img-pay {
        width: 100%;
        max-width: 250px;
    }
    .resources-line { max-width: 50px; }
    .resources-title h2 { font-size: 1.2rem; }
}

/* === PAGINA DESPRE NOI === */
.despre-page {
    max-width: 850px;
    margin: 2rem auto 3rem;
    padding: 0 1.25rem;
    line-height: 1.7;
    color: #333;
}

.despre-page h1 {
    font-size: 2rem;
    color: #0d47a1;
    margin-bottom: 1.5rem;
    border-bottom: 3px solid #0d47a1;
    padding-bottom: 0.75rem;
    font-weight: 700;
}

.despre-page h2 {
    font-size: 1.5rem;
    color: #0d47a1;
    margin-top: 2.5rem;
    margin-bottom: 1rem;
    font-weight: 600;
}

.despre-page h3 {
    font-size: 1.15rem;
    color: #444;
    margin-top: 1.5rem;
    margin-bottom: 0.75rem;
    font-weight: 600;
}

.despre-page p {
    font-size: 1rem;
    margin-bottom: 1rem;
}

.despre-page .intro {
    font-size: 1.05rem;
    background: #f5f5f5;
    padding: 1.25rem 1.5rem;
    border-radius: 6px;
    border-left: 4px solid #0d47a1;
    margin-bottom: 2rem;
}

.despre-page .alert-box {
    background: #fff8e1;
    border: 1px solid #ffe082;
    border-left: 4px solid #ff9800;
    padding: 1.25rem 1.5rem;
    border-radius: 6px;
    margin: 2rem 0;
}

.despre-page .alert-box h3 {
    color: #e65100;
    margin-top: 0;
    margin-bottom: 0.75rem;
}

.despre-page .alert-box p {
    font-size: 0.95rem;
    margin-bottom: 0.6rem;
}

.despre-page .alert-box p:last-child { margin-bottom: 0; }

.despre-page .features-list,
.despre-page ul { padding-left: 1.25rem; }

.despre-page .features-list li { margin-bottom: 0.75rem; }

.despre-page .contact-info {
    background: #f9f9f9;
    padding: 1.25rem 1.5rem;
    border-radius: 6px;
    list-style: none;
    padding-left: 1.5rem;
}

.despre-page .contact-info li {
    padding: 0.5rem 0;
    border-bottom: 1px solid #eee;
    font-size: 0.95rem;
}

.despre-page .contact-info li:last-child { border-bottom: none; }

.despre-page .contact-info a {
    color: #0d47a1;
    text-decoration: none;
}

.despre-page .contact-info a:hover { text-decoration: underline; }

.despre-page .cta-paragraph {
    text-align: center;
    margin-top: 2.5rem;
    padding-top: 1.75rem;
    border-top: 1px solid #ddd;
}

.despre-page .btn-cta {
    display: inline-block;
    margin: 0.35rem 0.5rem;
    padding: 0.75rem 1.5rem;
    font-size: 1rem;
    font-weight: 500;
    border-radius: 25px;
    text-decoration: none;
    transition: all 0.2s ease;
}

.despre-page .btn-primary-cta {
    background-color: #0d47a1;
    color: #fff;
}

.despre-page .btn-primary-cta:hover {
    background-color: #1565c0;
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(13, 71, 161, 0.25);
}

.despre-page .btn-success-cta {
    background-color: #ffc107;
    color: #212529;
}

.despre-page .btn-success-cta:hover {
    background-color: #ffca2c;
    color: #212529;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(255, 193, 7, 0.35);
}

@media (max-width: 575.98px) {
    .despre-page h1 { font-size: 1.5rem; }
    .despre-page h2 { font-size: 1.25rem; }
    .despre-page .btn-cta {
        display: block;
        margin: 0.5rem 0;
    }
}

.cursor-pointer { cursor: pointer; }

/* =================================================================
   AUTH PAGES
   ================================================================= */

.auth-section {
    padding: 2rem 0 4rem;
    background-color: #f8f9fa;
    min-height: calc(100vh - 56px);
}

.auth-card {
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 10px 40px rgba(13, 71, 161, 0.08);
    overflow: hidden;
    margin-top: 1rem;
}

.auth-card-header {
    background: linear-gradient(135deg, #082c6b 0%, #0d47a1 50%, #1565c0 100%);
    color: #fff;
    padding: 2rem 1.5rem 1.5rem;
    text-align: center;
    position: relative;
}

.auth-card-header-success {
    background: linear-gradient(135deg, #1b5e20 0%, #2e7d32 50%, #388e3c 100%);
}

.auth-card-header-danger {
    background: linear-gradient(135deg, #b71c1c 0%, #c62828 50%, #d32f2f 100%);
}

.auth-icon-wrapper {
    width: 64px;
    height: 64px;
    background: rgba(255, 255, 255, 0.15);
    border: 2px solid rgba(255, 193, 7, 0.5);
    border-radius: 50%;
    margin: 0 auto 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    color: #ffc107;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.auth-card-header-success .auth-icon-wrapper,
.auth-card-header-danger .auth-icon-wrapper {
    border-color: rgba(255, 255, 255, 0.5);
    color: #fff;
}

.auth-title {
    color: #fff;
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0 0 0.4rem;
    letter-spacing: -0.3px;
}

.auth-subtitle {
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.9rem;
    margin: 0;
    line-height: 1.4;
}

.auth-subtitle strong { color: #ffc107; }

.auth-card-header-success .auth-subtitle strong,
.auth-card-header-danger .auth-subtitle strong {
    color: #fff;
}

.auth-card-body {
    padding: 1.75rem 1.5rem 1.5rem;
}

.auth-alert {
    border-radius: 10px;
    padding: 0.75rem 1rem;
    margin-bottom: 1.25rem;
    font-size: 0.92rem;
    border: none;
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
}


.auth-alert i.bi {
    flex-shrink: 0;
    margin-top: 2px;
}

.auth-alert .alert-link {
    font-weight: 600;
    text-decoration: underline;
}

.auth-info-box {
    background-color: #e3f2fd;
    border: 1px solid #bbdefb;
    border-radius: 10px;
    padding: 0.85rem 1rem;
    margin-bottom: 1.25rem;
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    color: #0d47a1;
    font-size: 0.88rem;
    line-height: 1.4;
}

.auth-info-box i.bi {
    font-size: 1.3rem;
    flex-shrink: 0;
    margin-top: 1px;
}

.auth-info-box-danger {
    background-color: #ffebee;
    border-color: #ffcdd2;
    color: #b71c1c;
}

.auth-info-box-danger i.bi { color: #d32f2f; }

.auth-field { margin-bottom: 1.15rem; }

.auth-label {
    display: block;
    font-weight: 600;
    color: #1a2533;
    margin-bottom: 0.4rem;
    font-size: 0.92rem;
}

.auth-label i.bi {
    color: #0d47a1;
    margin-right: 4px;
}

.auth-input {
    border: 2px solid #e3e6f0;
    border-radius: 10px;
    padding: 0.7rem 0.95rem;
    font-size: 1rem;
    transition: border-color 0.15s, box-shadow 0.15s;
    width: 100%;
}

.auth-input:focus {
    outline: none;
    border-color: #0d47a1;
    box-shadow: 0 0 0 0.2rem rgba(13, 71, 161, 0.12);
}

.auth-input-group { position: relative; }
.auth-input-group .auth-input { padding-right: 3rem; }

.auth-toggle-password {
    position: absolute;
    right: 0.5rem;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: #6c757d;
    font-size: 1.1rem;
    cursor: pointer;
    padding: 0.35rem 0.6rem;
    border-radius: 6px;
    transition: color 0.15s, background-color 0.15s;
}

.auth-toggle-password:hover {
    color: #0d47a1;
    background-color: #f0f4ff;
}

.auth-input-code {
    text-align: center;
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: 0.8rem;
    font-family: 'Courier New', monospace;
    padding-left: 0.8rem;
    color: #0d47a1;
}

.auth-hint {
    display: block;
    margin-top: 0.4rem;
    color: #6c757d;
    font-size: 0.8rem;
    line-height: 1.4;
}

.auth-remember {
    margin-top: 0.5rem;
    margin-bottom: 1.3rem;
}

.auth-checkbox-label {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    cursor: pointer;
    user-select: none;
    color: #1a2533;
    font-size: 0.92rem;
}

.auth-checkbox {
    width: 18px;
    height: 18px;
    accent-color: #0d47a1;
    cursor: pointer;
}

.auth-submit {
    margin-top: 0.5rem;
    box-shadow: 0 4px 12px rgba(13, 71, 161, 0.2);
}

.auth-submit i.bi { margin-right: 4px; }

.auth-links {
    text-align: center;
    margin-top: 1rem;
}

.auth-links a {
    color: #0d47a1;
    text-decoration: none;
    font-size: 0.92rem;
    font-weight: 500;
}

.auth-links a:hover { text-decoration: underline; }

.auth-divider {
    margin: 1.5rem 0 1.25rem;
    text-align: center;
    position: relative;
    color: #adb5bd;
    font-size: 0.85rem;
}

.auth-divider::before,
.auth-divider::after {
    content: '';
    position: absolute;
    top: 50%;
    width: 40%;
    height: 1px;
    background-color: #e3e6f0;
}

.auth-divider::before { left: 0; }
.auth-divider::after  { right: 0; }

.auth-divider span {
    background-color: #fff;
    padding: 0 0.75rem;
    position: relative;
    z-index: 1;
}

.auth-secondary { text-align: center; }

.auth-secondary p {
    margin-bottom: 0.6rem;
    color: #6c757d;
    font-size: 0.9rem;
}

.auth-link-small {
    color: #0d47a1;
    text-decoration: none;
    font-size: 0.88rem;
    font-weight: 500;
}

.auth-link-small:hover { text-decoration: underline; }

.auth-link-back {
    display: inline-block;
    color: #6c757d;
    text-decoration: none;
    font-size: 0.9rem;
    padding: 0.4rem 0.75rem;
    transition: color 0.15s;
}

.auth-link-back:hover { color: #0d47a1; }
.auth-link-back i.bi { margin-right: 2px; }

@media (max-width: 575.98px) {
    .auth-section { padding: 1rem 0 2rem; }
    .auth-card { border-radius: 12px; margin-top: 0; }
    .auth-card-header { padding: 1.5rem 1rem 1.25rem; }
    .auth-card-body { padding: 1.25rem 1rem; }
    .auth-icon-wrapper { width: 54px; height: 54px; font-size: 1.5rem; }
    .auth-title { font-size: 1.3rem; }
    .auth-input-code { font-size: 1.3rem; letter-spacing: 0.5rem; }
}

/* === PASSWORD STRENGTH === */
.password-strength {
    margin-top: 0.5rem;
    display: none;
}

.password-strength.active { display: block; }

.password-strength-bar {
    height: 4px;
    background-color: #e3e6f0;
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 0.35rem;
}

.password-strength-fill {
    height: 100%;
    width: 0%;
    transition: width 0.25s, background-color 0.25s;
    border-radius: 4px;
}

.password-strength-fill.weak { width: 33%; background-color: #dc3545; }
.password-strength-fill.medium { width: 66%; background-color: #ffc107; }
.password-strength-fill.strong { width: 100%; background-color: #28a745; }

.password-strength-text {
    font-size: 0.78rem;
    color: #6c757d;
    margin: 0;
}

.password-strength-text.weak { color: #dc3545; }
.password-strength-text.medium { color: #c69500; }
.password-strength-text.strong { color: #28a745; }

/* === CONTUL MEU === */
.cont-section {
    padding: 2rem 0 4rem;
    background-color: #f8f9fa;
    min-height: calc(100vh - 56px);
}

.cont-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.5rem;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.cont-page-title {
    font-size: 1.6rem;
    font-weight: 700;
    color: #1a2533;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.cont-page-title i.bi { color: #0d47a1; }

.cont-status {
    border-radius: 12px;
    padding: 1rem 1.25rem;
    margin-bottom: 1.5rem;
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.cont-status i.bi {
    font-size: 1.8rem;
    flex-shrink: 0;
    margin-top: 1px;
}

.cont-status strong {
    display: block;
    font-size: 1.05rem;
    margin-bottom: 2px;
}

.cont-status span {
    font-size: 0.92rem;
    color: #495057;
}

.cont-status-active {
    background: linear-gradient(135deg, #e8f5e9 0%, #f1f8e9 100%);
    border: 1px solid #c8e6c9;
}

.cont-status-active i.bi { color: #28a745; }
.cont-status-active strong { color: #1b5e20; }

.cont-status-inactive {
    background: linear-gradient(135deg, #fff3e0 0%, #fffde7 100%);
    border: 1px solid #ffcc80;
}

.cont-status-inactive i.bi { color: #ff9800; }
.cont-status-inactive strong { color: #e65100; }

.cont-status a {
    color: #0d47a1;
    text-decoration: underline;
    font-weight: 500;
}

.cont-card {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 16px rgba(13, 71, 161, 0.06);
    margin-bottom: 1.25rem;
    overflow: hidden;
}

.cont-card-header {
    background-color: #f0f4ff;
    padding: 0.85rem 1.25rem;
    border-bottom: 1px solid #e3e6f0;
}

.cont-card-header h2 {
    font-size: 1.1rem;
    font-weight: 600;
    color: #0d47a1;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.cont-card-body { padding: 1.25rem; }

.cont-card-danger .cont-card-header {
    background-color: #fff3e0;
    border-bottom: 1px solid #ffcc80;
}

.cont-card-danger .cont-card-header h2 { color: #d84315; }

.cont-field-row {
    display: grid;
    grid-template-columns: 130px 1fr auto;
    gap: 0.75rem;
    align-items: start;
    padding: 0.75rem 0;
    border-bottom: 1px solid #f0f0f0;
}

.cont-field-row:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.cont-field-row:first-of-type { padding-top: 0; }

.cont-field-label {
    font-weight: 600;
    color: #495057;
    padding-top: 0.5rem;
    font-size: 0.92rem;
}

.cont-field-input { min-width: 0; }

.cont-field-input input {
    border: 1px solid #e3e6f0;
    border-radius: 8px;
    padding: 0.45rem 0.75rem;
}

.cont-field-input input:disabled {
    background-color: #f8f9fa;
    color: #495057;
    cursor: not-allowed;
}

.cont-field-hint {
    display: block;
    margin-top: 0.4rem;
    color: #6c757d;
    font-size: 0.78rem;
}

.cont-field-hint i.bi {
    color: #adb5bd;
    margin-right: 2px;
}

.cont-field-action { padding-top: 0.25rem; }
.cont-field-action .btn { white-space: nowrap; }

.cont-delete-list {
    margin: 0.5rem 0 0 0;
    padding-left: 1.25rem;
    font-size: 0.88rem;
    line-height: 1.5;
}

.cont-delete-list li { margin-bottom: 0.3rem; }

.cont-delete-checkbox-row {
    background-color: #fff8e1;
    border: 1px solid #ffe082;
    border-radius: 10px;
    padding: 0.85rem 1rem;
    margin-bottom: 1rem;
}

.cont-delete-checkbox-label {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    cursor: pointer;
    user-select: none;
    color: #5d4037;
    font-size: 0.9rem;
    line-height: 1.4;
    margin: 0;
}

.cont-delete-checkbox {
    width: 20px;
    height: 20px;
    accent-color: #d32f2f;
    cursor: pointer;
    flex-shrink: 0;
    margin-top: 1px;
}

.cont-delete-checkbox-label strong { color: #b71c1c; }

@media (max-width: 575.98px) {
    .cont-section { padding: 1rem 0 2rem; }
    .cont-header {
        flex-direction: column;
        align-items: flex-start;
    }
    .cont-page-title { font-size: 1.35rem; }
    .cont-field-row {
        grid-template-columns: 1fr;
        gap: 0.4rem;
        padding: 0.85rem 0;
    }
    .cont-field-label { padding-top: 0; font-size: 0.85rem; }
    .cont-field-action { padding-top: 0; }
    .cont-field-action .btn { width: 100%; }
}

/* === ABONAMENTE === */
.abonamente-section {
    padding: 2rem 0 4rem;
    background-color: #f8f9fa;
}

.abonamente-hero {
    text-align: center;
    margin-bottom: 1.75rem;
}

.abonamente-hero-limit {
    background: linear-gradient(135deg, #fff3e0 0%, #ffe0b2 100%);
    border: 2px solid #ef6c00;
    border-radius: 16px;
    padding: 2.5rem 2rem;
    margin-bottom: 2rem;
    text-align: center;
}
.hero-limit-badge {
    display: inline-block;
    background: linear-gradient(135deg, #ef6c00 0%, #f57c00 100%);
    color: #fff;
    padding: 0.5rem 1.25rem;
    border-radius: 30px;
    font-size: 0.8rem;
    font-weight: 700;
    margin-bottom: 1.25rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    box-shadow: 0 4px 12px rgba(239, 108, 0, 0.3);
}
.hero-limit-badge i { margin-right: 0.4rem; }
.abonamente-hero-limit .abonamente-page-title { 
    color: #c62828; 
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 1rem;
    display: block;
}
.abonamente-hero-limit .abonamente-page-subtitle { 
    color: #5d4037; 
    font-size: 1.05rem;
    max-width: 700px;
    margin: 0 auto 1.5rem;
    line-height: 1.6;
}
.hero-limit-info {
    background: #fff;
    border: 2px solid #ef6c00;
    padding: 0.75rem 1.5rem;
    border-radius: 30px;
    display: inline-block;
    color: #5d4037;
    font-size: 0.95rem;
    font-weight: 500;
}
.hero-limit-info i { color: #ef6c00; margin-right: 0.4rem; }

@media (max-width: 768px) {
    .abonamente-hero-limit .abonamente-page-title { font-size: 1.5rem; }
    .abonamente-hero-limit { padding: 1.75rem 1rem; }
}

.abonamente-page-title {
    font-size: 1.9rem;
    font-weight: 700;
    color: #1a2533;
    margin-bottom: 0.5rem;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.abonamente-page-title i.bi { color: #0d47a1; }

.abonamente-page-subtitle {
    font-size: 1rem;
    color: #495057;
    max-width: 620px;
    margin: 0 auto;
    line-height: 1.5;
}

.abonamente-status {
    border-radius: 12px;
    padding: 0.85rem 1.15rem;
    margin-bottom: 1.5rem;
    display: flex;
    align-items: center;
    gap: 0.7rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.abonamente-status i.bi {
    font-size: 1.45rem;
    flex-shrink: 0;
}

.abonamente-status div {
    font-size: 0.92rem;
    line-height: 1.45;
}

.abonamente-status strong { font-weight: 600; }

.abonamente-status .alert-link {
    color: inherit;
    text-decoration: underline;
    font-weight: 600;
}

.abonamente-status-info {
    background: linear-gradient(135deg, #e3f2fd 0%, #f0f9ff 100%);
    border: 1px solid #bbdefb;
    color: #0d47a1;
}

.abonamente-status-info i.bi { color: #1976d2; }

.abonamente-status-active {
    background: linear-gradient(135deg, #e8f5e9 0%, #f1f8e9 100%);
    border: 1px solid #c8e6c9;
    color: #1b5e20;
}

.abonamente-status-active i.bi { color: #2e7d32; }

.abonamente-status-warning {
    background: linear-gradient(135deg, #fff3e0 0%, #fffde7 100%);
    border: 1px solid #ffcc80;
    color: #e65100;
}

.abonamente-status-warning i.bi { color: #f57c00; }

.abonamente-grid {
    margin-bottom: 2.25rem;
    max-width: 920px;
    margin-left: auto;
    margin-right: auto;
}

.abonament-card {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 6px 18px rgba(13, 71, 161, 0.08);
    overflow: hidden;
    position: relative;
    height: 100%;
    display: flex;
    flex-direction: column;
    transition: transform 0.2s, box-shadow 0.2s;
}

.abonament-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 26px rgba(13, 71, 161, 0.14);
}

.abonament-card-header {
    padding: 1.1rem 1rem 0.9rem;
    text-align: center;
    color: #fff;
    position: relative;
}

.abonament-card-bronze .abonament-card-header {
    background: linear-gradient(135deg, #8d6e63 0%, #a1887f 50%, #bcaaa4 100%);
}

.abonament-card-silver .abonament-card-header {
    background: linear-gradient(135deg, #546e7a 0%, #78909c 50%, #b0bec5 100%);
}

.abonament-card-gold .abonament-card-header {
    background: linear-gradient(135deg, #d4a017 0%, #e6b830 50%, #ffd54f 100%);
}

.abonament-trophy {
    font-size: 1.7rem;
    margin-bottom: 0.25rem;
    opacity: 0.95;
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
    display: block;
}

.abonament-name {
    font-size: 1.25rem;
    font-weight: 700;
    margin: 0 0 0.3rem;
    letter-spacing: 0.4px;
    text-transform: uppercase;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
}

.abonament-validity {
    font-size: 0.82rem;
    margin: 0;
    opacity: 0.95;
}

.abonament-validity i.bi { margin-right: 3px; }

.abonament-badge-wrapper {
    position: absolute;
    top: 0;
    right: 0.85rem;
    z-index: 2;
}

.abonament-badge:empty { display: none; }

.abonament-badge {
    display: inline-block;
    color: #fff;
    font-size: 0.65rem;
    font-weight: 700;
    padding: 0.4rem 0.75rem;
    border-radius: 0 0 7px 7px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.abonament-badge-popular {
    background: linear-gradient(135deg, #1565c0 0%, #1976d2 100%);
    box-shadow: 0 3px 9px rgba(21, 101, 192, 0.4);
}

.abonament-badge-avantajos {
    background: linear-gradient(135deg, #d32f2f 0%, #f44336 100%);
    box-shadow: 0 3px 9px rgba(211, 47, 47, 0.4);
}

.abonament-card-silver {
    border: 2px solid #1976d2;
    box-shadow: 0 8px 22px rgba(25, 118, 210, 0.18);
}

.abonament-card-silver:hover {
    box-shadow: 0 12px 30px rgba(25, 118, 210, 0.25);
}

.abonament-card-gold {
    border: 2px solid #ffc107;
    box-shadow: 0 8px 22px rgba(255, 193, 7, 0.18);
}

.abonament-card-gold:hover {
    box-shadow: 0 12px 30px rgba(255, 193, 7, 0.28);
}

.abonament-price {
    text-align: center;
    padding: 1rem 1rem 0.4rem;
    display: flex;
    justify-content: center;
    align-items: baseline;
    gap: 0.25rem;
}

.abonament-price-amount {
    font-size: 2.4rem;
    font-weight: 800;
    color: #0d47a1;
    line-height: 1;
}

.abonament-price-currency {
    font-size: 1.1rem;
    font-weight: 600;
    color: #495057;
}

.abonament-per-day {
    text-align: center;
    padding: 0 1rem 0.85rem;
    color: #6c757d;
    font-size: 0.85rem;
    border-bottom: 1px solid #f0f0f0;
    margin-bottom: 0.85rem;
}

.abonament-per-day strong { color: #28a745; }

.abonament-per-day i.bi {
    color: #28a745;
    margin-right: 3px;
}

.abonament-features {
    list-style: none;
    padding: 0 1.25rem;
    margin: 0 0 1rem;
    flex-grow: 1;
}

.abonament-features li {
    padding: 0.3rem 0;
    font-size: 0.84rem;
    color: #495057;
    display: flex;
    align-items: flex-start;
    gap: 0.4rem;
}

.abonament-features i.bi {
    color: #28a745;
    font-weight: 700;
    flex-shrink: 0;
    margin-top: 2px;
}

.abonament-actions {
    padding: 0 1.25rem 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.abonament-actions .btn {
    text-align: center;
    padding: 0.55rem 0.75rem;
    font-weight: 600;
    font-size: 0.92rem;
}

.abonament-actions .btn:disabled {
    opacity: 0.65;
    cursor: not-allowed;
}

.abonament-btn-hint {
    display: block;
    font-size: 0.75rem;
    opacity: 0.85;
    font-weight: 400;
    margin-top: 1px;
}

.abonamente-info-box {
    background: linear-gradient(135deg, #fff8e1 0%, #ffecb3 100%);
    border: 1px solid #ffe082;
    border-radius: 12px;
    padding: 1.15rem 1.4rem;
    margin-bottom: 2.25rem;
}

.abonamente-info-box h3 {
    font-size: 1.05rem;
    color: #e65100;
    margin: 0 0 0.4rem;
    font-weight: 600;
}

.abonamente-info-box p {
    color: #5d4037;
    font-size: 0.9rem;
    line-height: 1.5;
}

.abonamente-info-box a {
    color: #0d47a1;
    font-weight: 600;
    text-decoration: underline;
}

.abonamente-info-icon {
    font-size: 2.3rem;
    color: #f57c00;
}

.abonamente-comparison {
    background: #fff;
    border-radius: 12px;
    padding: 1.5rem;
    box-shadow: 0 4px 16px rgba(13, 71, 161, 0.06);
    margin-bottom: 2.25rem;
}

.abonamente-comparison h2 {
    text-align: center;
    font-size: 1.3rem;
    font-weight: 700;
    color: #1a2533;
    margin-bottom: 1.25rem;
}

.comparison-item {
    text-align: center;
    padding: 0.5rem;
}

.comparison-icon {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%);
    margin: 0 auto 0.7rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    color: #0d47a1;
}

.comparison-item h3 {
    font-size: 1rem;
    font-weight: 600;
    color: #1a2533;
    margin-bottom: 0.4rem;
}

.comparison-item p {
    color: #6c757d;
    font-size: 0.88rem;
    line-height: 1.5;
    margin: 0;
}

.abonamente-faq { margin-bottom: 2rem; }

.abonamente-faq h2 {
    text-align: center;
    font-size: 1.3rem;
    font-weight: 700;
    color: #1a2533;
    margin-bottom: 1.15rem;
}

.abonamente-faq .accordion-item {
    border-radius: 10px !important;
    margin-bottom: 0.5rem;
    border: 1px solid #e3e6f0;
    overflow: hidden;
}

.abonamente-faq .accordion-button {
    font-weight: 600;
    color: #1a2533;
    font-size: 0.94rem;
    padding: 0.8rem 1rem;
}

.abonamente-faq .accordion-button:not(.collapsed) {
    background-color: #f0f4ff;
    color: #0d47a1;
    box-shadow: none;
}

.abonamente-faq .accordion-button:focus {
    box-shadow: 0 0 0 0.2rem rgba(13, 71, 161, 0.12);
}

.abonamente-faq .accordion-body {
    color: #495057;
    font-size: 0.92rem;
    line-height: 1.55;
    padding: 0.8rem 1rem 0.95rem;
}

@media (max-width: 575.98px) {
    .abonamente-section { padding: 1rem 0 2rem; }
    .abonamente-page-title { font-size: 1.4rem; }
    .abonamente-page-subtitle { font-size: 0.92rem; }
    .abonament-price-amount { font-size: 2.1rem; }
    .abonament-name { font-size: 1.15rem; }
    .abonament-trophy { font-size: 1.5rem; }
    .abonamente-comparison,
    .abonamente-info-box { padding: 1.15rem; }
}

/* =================================================================
   SIMULARE - SELECTARE CATEGORIE
   ================================================================= */

.simulare-section {
    padding: 2rem 0 4rem;
    background-color: #f8f9fa;
}

.simulare-hero {
    text-align: center;
    margin-bottom: 1.5rem;
}

.simulare-page-title {
    font-size: 1.9rem;
    font-weight: 700;
    color: #1a2533;
    margin-bottom: 0.5rem;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.simulare-page-title i.bi { color: #0d47a1; }

.simulare-page-subtitle {
    font-size: 1rem;
    color: #495057;
    max-width: 620px;
    margin: 0 auto;
    line-height: 1.5;
}

.simulare-continua-box {
    background: linear-gradient(135deg, #fff8e1 0%, #ffecb3 100%);
    border: 1px solid #ffe082;
    border-radius: 12px;
    padding: 1.15rem 1.4rem;
    margin-bottom: 1.5rem;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
    justify-content: space-between;
}

.simulare-continua-content {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    flex: 1;
}

.simulare-continua-content i.bi {
    font-size: 2rem;
    color: #f57c00;
    flex-shrink: 0;
}

.simulare-continua-content h3 {
    font-size: 1.1rem;
    color: #e65100;
    margin: 0 0 0.2rem;
    font-weight: 600;
}

.simulare-continua-content p {
    margin: 0;
    color: #5d4037;
    font-size: 0.92rem;
}

.simulare-continua-actions {
    display: flex;
    gap: 0.5rem;
}

.simulare-selector-card {
    background: #fff;
    border-radius: 16px;
    padding: 1.75rem;
    box-shadow: 0 6px 22px rgba(13, 71, 161, 0.08);
    margin-bottom: 2rem;
}

.simulare-step {
    margin-bottom: 1.5rem;
}

.simulare-step:last-child {
    margin-bottom: 0;
}

.simulare-step-label {
    display: block;
    font-size: 1.05rem;
    font-weight: 600;
    color: #1a2533;
    margin-bottom: 0.85rem;
}

.simulare-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
}

.simulare-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 2px solid #e3e6f0;
    color: #495057;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.18s ease;
    user-select: none;
    line-height: 1;
}

.simulare-chip-single {
    width: 64px;
    height: 64px;
    border-radius: 14px;
    font-size: 1.5rem;
}

.simulare-chip-wide {
    height: 64px;
    padding: 0 1.5rem;
    border-radius: 14px;
    font-size: 1rem;
    font-weight: 600;
}

.simulare-chip:hover {
    border-color: #0d47a1;
    color: #0d47a1;
    background-color: #f0f4ff;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(13, 71, 161, 0.12);
}

.simulare-chip.selected {
    background: linear-gradient(135deg, #0d47a1 0%, #1565c0 100%);
    border-color: #0d47a1;
    color: #fff;
    box-shadow: 0 6px 16px rgba(13, 71, 161, 0.35);
    transform: translateY(-2px);
}

.simulare-chip.selected:hover {
    color: #fff;
    background: linear-gradient(135deg, #0d47a1 0%, #1976d2 100%);
}

.simulare-details {
    background: linear-gradient(135deg, #e3f2fd 0%, #f0f9ff 100%);
    border: 1px solid #bbdefb;
    border-radius: 10px;
    padding: 0.9rem 1.1rem;
    margin: 1rem 0 1.5rem;
    animation: slideDown 0.3s ease-out;
}

@keyframes slideDown {
    from { opacity: 0; transform: translateY(-5px); }
    to { opacity: 1; transform: translateY(0); }
}

.simulare-details-content {
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem;
    justify-content: space-around;
}

.simulare-details-stat {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    color: #0d47a1;
    font-size: 0.92rem;
}

.simulare-details-stat i.bi {
    font-size: 1.15rem;
    color: #1565c0;
}

.simulare-details-stat strong {
    color: #0d47a1;
    font-size: 1.05rem;
}

.simulare-lang-options {
    display: flex;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.simulare-lang-option {
    cursor: pointer;
    margin: 0;
}

.simulare-lang-option input[type="radio"] {
    display: none;
}

.simulare-lang-option span {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.55rem 1.1rem;
    border: 2px solid #e3e6f0;
    border-radius: 25px;
    color: #495057;
    font-size: 0.93rem;
    font-weight: 500;
    transition: all 0.15s;
}

.simulare-lang-option input[type="radio"]:checked + span {
    background: linear-gradient(135deg, #0d47a1 0%, #1565c0 100%);
    border-color: #0d47a1;
    color: #fff;
    box-shadow: 0 4px 12px rgba(13, 71, 161, 0.3);
}

.simulare-lang-option span:hover {
    border-color: #0d47a1;
}

.simulare-start-btn {
    margin-top: 0.5rem;
    padding: 0.85rem 1rem;
    font-size: 1.05rem;
    font-weight: 600;
    box-shadow: 0 4px 14px rgba(13, 71, 161, 0.25);
}

.simulare-start-btn:disabled {
    opacity: 0.55;
    cursor: not-allowed;
    box-shadow: none;
}

.simulare-start-btn:not(:disabled):hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(13, 71, 161, 0.35);
}

.simulare-info-box {
    background: #fff;
    border-radius: 12px;
    padding: 1.5rem;
    box-shadow: 0 4px 16px rgba(13, 71, 161, 0.06);
}

.simulare-info-box h3 {
    font-size: 1.1rem;
    color: #0d47a1;
    margin: 0 0 0.85rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.simulare-info-box ul {
    margin: 0;
    padding-left: 1.25rem;
    color: #495057;
    font-size: 0.93rem;
    line-height: 1.6;
}

.simulare-info-box li {
    margin-bottom: 0.4rem;
}

/* =================================================================
   SIMULARE - PAGINA PLAY
   ================================================================= */

.play-section {
    padding: 1rem 0 3rem;
    background-color: #f8f9fa;
    min-height: calc(100vh - 56px);
}

.play-stats-bar {
    background: #fff;
    border-radius: 12px;
    padding: 0;
    margin-bottom: 1rem;
    box-shadow: 0 2px 12px rgba(13, 71, 161, 0.08);
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    overflow: hidden;
}

.play-stat-box {
    text-align: center;
    padding: 0.8rem 0.5rem;
    border-right: 1px solid #e3e6f0;
    transition: background-color 0.2s;
}

.play-stat-box:last-child {
    border-right: none;
}

.play-stat-value {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1a2533;
    line-height: 1.1;
    margin-bottom: 0.2rem;
}

.play-stat-label {
    font-size: 0.78rem;
    color: #6c757d;
    line-height: 1.2;
}

.play-stat-timer .play-stat-value {
    color: #0d47a1;
    font-family: 'Courier New', monospace;
    letter-spacing: 1px;
}

.play-stat-corecte .play-stat-value {
    color: #28a745;
}

.play-stat-gresite .play-stat-value {
    color: #d32f2f;
}

.play-stat-timer.timer-warning .play-stat-value {
    color: #f57c00;
}

.play-stat-timer.timer-danger .play-stat-value {
    color: #d32f2f;
    animation: pulse 1s infinite;
}

@keyframes pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.05); }
}

.play-stat-box.stat-warning {
    background-color: #fff8e1;
}

.play-stat-box.stat-danger {
    background-color: #ffebee;
    animation: pulse 1.5s infinite;
}

.play-review-alert {
    background: linear-gradient(135deg, #fff8e1 0%, #ffecb3 100%);
    border: 1px solid #ffe082;
    border-radius: 10px;
    padding: 0.75rem 1rem;
    margin-bottom: 1rem;
    color: #5d4037;
    font-size: 0.93rem;
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.play-review-alert i.bi {
    color: #f57c00;
    font-size: 1.3rem;
}

.play-question-container {
    margin: 0 auto;
}

.play-question-card {
    background: #fff;
    border-radius: 14px;
    padding: 1.5rem;
    box-shadow: 0 6px 18px rgba(13, 71, 161, 0.08);
}

.play-loading {
    text-align: center;
    padding: 3rem 1rem;
    color: #6c757d;
}

.play-question-image {
    text-align: center;
    margin-bottom: 1.25rem;
}

.play-question-image img {
    max-width: 100%;
    max-height: 320px;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 10px;
    background-color: #f8f9fa;
    border: 1px solid #e9ecef;
}

.play-question-text {
    font-size: 1.08rem;
    color: #1a2533;
    font-weight: 500;
    margin-bottom: 1.25rem;
    line-height: 1.5;
    padding: 0.85rem 1rem;
    background-color: #f0f4ff;
    border-left: 4px solid #0d47a1;
    border-radius: 8px;
}

.play-question-options {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    margin-bottom: 1.5rem;
}

.play-option {
    display: flex;
    align-items: stretch;
    gap: 0;
    background-color: #fff;
    border: 2px solid #e3e6f0;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.18s;
    user-select: none;
    overflow: hidden;
    margin: 0;
}

.play-option:hover {
    border-color: #0d47a1;
    background-color: #f0f4ff;
    transform: translateY(-1px);
    box-shadow: 0 3px 10px rgba(13, 71, 161, 0.1);
}

.play-option-input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    width: 0;
    height: 0;
}

.play-option-letter {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 56px;
    background-color: #f8f9fa;
    color: #0d47a1;
    font-weight: 700;
    font-size: 1.4rem;
    flex-shrink: 0;
    transition: all 0.2s;
    border-right: 2px solid #e3e6f0;
}

.play-option-text {
    flex: 1;
    color: #1a2533;
    font-size: 0.97rem;
    line-height: 1.45;
    padding: 0.95rem 1.1rem;
    display: flex;
    align-items: center;
}

.play-option:has(.play-option-input:checked) {
    border-color: #0d47a1;
    background-color: #e3f2fd;
    box-shadow: 0 4px 14px rgba(13, 71, 161, 0.18);
}

.play-option:has(.play-option-input:checked) .play-option-letter {
    background: linear-gradient(135deg, #0d47a1 0%, #1565c0 100%);
    color: #fff;
    border-right-color: #0d47a1;
}

.play-option:has(.play-option-input:checked) .play-option-text {
    color: #0d47a1;
    font-weight: 500;
}

.play-validation-error {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    background: linear-gradient(135deg, #fff3cd 0%, #ffeaa7 100%);
    border: 1px solid #ffc107;
    border-left: 4px solid #f57c00;
    border-radius: 10px;
    padding: 0.75rem 1rem;
    margin-bottom: 1rem;
    color: #5d4037;
    font-size: 0.94rem;
    font-weight: 500;
    line-height: 1.4;
}

.play-validation-error i.bi {
    color: #f57c00;
    font-size: 1.3rem;
    flex-shrink: 0;
}

.play-validation-error.shake {
    animation: shake 0.5s ease-in-out;
}

@keyframes shake {
    0%, 100% { transform: translateX(0); }
    20% { transform: translateX(-6px); }
    40% { transform: translateX(6px); }
    60% { transform: translateX(-4px); }
    80% { transform: translateX(4px); }
}

.play-actions {
    display: flex;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.play-actions .btn {
    flex: 1;
    padding: 0.7rem 1rem;
    font-weight: 600;
    font-size: 0.96rem;
}

.play-btn-submit i.bi,
.play-btn-later i.bi {
    margin-right: 4px;
}

.play-abandon-wrap {
    text-align: center;
    padding-top: 0.5rem;
    border-top: 1px solid #f0f0f0;
}

.play-btn-abandon {
    color: #adb5bd;
    text-decoration: none;
    font-size: 0.85rem;
}

.play-btn-abandon:hover {
    color: #dc3545;
}

.play-btn-abandon i.bi {
    margin-right: 3px;
}

/* =================================================================
   SIMULARE - PAGINA REZULTAT
   ================================================================= */

.rezultat-section {
    padding: 2rem 0 4rem;
    background-color: #f8f9fa;
}

.rezultat-banner {
    border-radius: 16px;
    padding: 1.5rem 1.75rem;
    margin-bottom: 1.5rem;
    color: #fff;
    display: flex;
    align-items: center;
    gap: 1rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.rezultat-banner i.bi {
    font-size: 3rem;
    flex-shrink: 0;
}

.rezultat-banner h2 {
    margin: 0 0 0.25rem;
    font-size: 1.9rem;
    font-weight: 800;
    letter-spacing: 1px;
}

.rezultat-banner p {
    margin: 0;
    font-size: 0.96rem;
    opacity: 0.95;
}

.rezultat-banner-admis {
    background: linear-gradient(135deg, #1b5e20 0%, #2e7d32 50%, #388e3c 100%);
}

.rezultat-banner-respins {
    background: linear-gradient(135deg, #b71c1c 0%, #c62828 50%, #d32f2f 100%);
}

.rezultat-stats { margin-bottom: 1.5rem; }

.rezultat-stat-card {
    background: #fff;
    border-radius: 12px;
    padding: 1rem;
    text-align: center;
    box-shadow: 0 4px 14px rgba(13, 71, 161, 0.06);
    height: 100%;
}

.rezultat-stat-icon {
    font-size: 1.5rem;
    color: #0d47a1;
    margin-bottom: 0.35rem;
}

.rezultat-stat-label {
    font-size: 0.78rem;
    color: #6c757d;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 0.2rem;
}

.rezultat-stat-value {
    font-size: 1.4rem;
    font-weight: 700;
    color: #1a2533;
}

.rezultat-actions {
    display: flex;
    gap: 0.75rem;
    margin-bottom: 2rem;
    flex-wrap: wrap;
    justify-content: center;
}

.rezultat-actions .btn {
    flex: 1;
    min-width: 200px;
    max-width: 320px;
}

.rezultat-actions-bottom {
    margin-top: 2.5rem;
    margin-bottom: 0;
}

.rezultat-gresite-wrapper { margin-bottom: 2rem; }

.rezultat-gresite-title {
    font-size: 1.4rem;
    font-weight: 700;
    color: #1a2533;
    margin: 0 0 0.5rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.rezultat-gresite-title i.bi { color: #d32f2f; }

.rezultat-gresite-title span {
    color: #d32f2f;
    background-color: #ffebee;
    padding: 0.15rem 0.65rem;
    border-radius: 20px;
    font-size: 1rem;
}

.rezultat-gresite-info {
    color: #6c757d;
    font-size: 0.92rem;
    margin-bottom: 1.25rem;
}

.rezultat-question-card {
    background: #fff;
    border-radius: 12px;
    padding: 1.25rem;
    margin-bottom: 1rem;
    box-shadow: 0 4px 14px rgba(13, 71, 161, 0.06);
    display: flex;
    gap: 1.25rem;
    align-items: flex-start;
}

.rezultat-question-content {
    flex: 1;
    min-width: 0;
}

.rezultat-question-text {
    font-size: 1rem;
    color: #1a2533;
    font-weight: 500;
    margin-bottom: 0.85rem;
    line-height: 1.5;
}

.rezultat-question-options {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.rezultat-option {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    padding: 0.65rem 0.85rem;
    border-radius: 8px;
    border: 2px solid transparent;
    transition: background 0.15s;
}

.rezultat-option-letter {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    background-color: #e3e6f0;
    color: #495057;
    border-radius: 50%;
    font-weight: 700;
    font-size: 0.85rem;
    flex-shrink: 0;
}

.rezultat-option-text {
    flex: 1;
    color: #1a2533;
    font-size: 0.92rem;
    line-height: 1.4;
    padding-top: 3px;
}

.rezultat-option-corect-user {
    background-color: #e8f5e9;
    border-color: #28a745;
}

.rezultat-option-corect-user .rezultat-option-letter {
    background-color: #28a745;
    color: #fff;
}

.rezultat-option-gresit {
    background-color: #ffebee;
    border-color: #d32f2f;
}

.rezultat-option-gresit .rezultat-option-letter {
    background-color: #d32f2f;
    color: #fff;
}

.rezultat-option-gresit .rezultat-option-text {
    text-decoration: line-through;
    color: #c62828;
}

.rezultat-option-corect-lipsa {
    background-color: #e8f5e9;
    border-color: #66bb6a;
    border-style: dashed;
}

.rezultat-option-corect-lipsa .rezultat-option-letter {
    background-color: #66bb6a;
    color: #fff;
}

.rezultat-option-neutru {
    background-color: #fafafa;
}

.rezultat-question-image-wrap {
    width: 220px;
    flex-shrink: 0;
}

.rezultat-question-image {
    width: 100%;
    border-radius: 8px;
    background-color: #f8f9fa;
}

/* Responsive simulare */
@media (max-width: 767.98px) {
    .play-stats-bar {
        grid-template-columns: repeat(5, 1fr);
        padding: 0;
    }

    .play-stat-box {
        padding: 0.5rem 0.2rem;
    }

    .play-stat-value {
        font-size: 1rem;
    }

    .play-stat-label {
        font-size: 0.65rem;
    }

    .play-actions {
        flex-direction: column;
    }

    .play-question-card {
        padding: 1.15rem;
    }

    .rezultat-question-card {
        flex-direction: column;
    }

    .rezultat-question-image-wrap {
        width: 100%;
        max-width: 300px;
        margin: 0.75rem auto 0;
    }

    .rezultat-banner {
        flex-direction: column;
        text-align: center;
        gap: 0.5rem;
        padding: 1.25rem 1rem;
    }

    .rezultat-banner h2 {
        font-size: 1.6rem;
    }

    .simulare-continua-box {
        flex-direction: column;
        align-items: stretch;
    }

    .simulare-continua-actions {
        flex-direction: column;
    }

    .simulare-continua-actions .btn {
        width: 100%;
    }
}

@media (max-width: 575.98px) {
    .simulare-section { padding: 1rem 0 2rem; }
    .simulare-page-title { font-size: 1.4rem; }
    .simulare-selector-card { padding: 1.25rem; }
    .simulare-step-label { font-size: 0.98rem; }

    .simulare-chip-single {
        width: 56px;
        height: 56px;
        font-size: 1.3rem;
        border-radius: 12px;
    }

    .simulare-chip-wide {
        height: 56px;
        padding: 0 1.1rem;
        font-size: 0.92rem;
        border-radius: 12px;
    }

    .simulare-chips { gap: 0.5rem; }

    .simulare-details-content {
        flex-direction: column;
        gap: 0.5rem;
    }

    .simulare-lang-options { width: 100%; }
    .simulare-lang-option { flex: 1; }
    .simulare-lang-option span {
        width: 100%;
        justify-content: center;
    }

    .play-stat-value {
        font-size: 0.9rem;
    }

    .play-stat-label {
        font-size: 0.6rem;
    }

    .play-stat-timer .play-stat-value {
        font-size: 0.85rem;
    }

    .play-option-letter {
        min-width: 48px;
        font-size: 1.2rem;
    }

    .play-option-text {
        font-size: 0.92rem;
        padding: 0.8rem 0.9rem;
    }

    .play-question-image img {
        max-height: 240px;
    }
}

/* =================================================================
   PAGINA CONTACT
   ================================================================= */

.contact-section {
    padding: 2rem 0 4rem;
    background-color: #f8f9fa;
}

.contact-hero {
    text-align: center;
    margin-bottom: 1.75rem;
}

.contact-page-title {
    font-size: 1.9rem;
    font-weight: 700;
    color: #1a2533;
    margin-bottom: 0.5rem;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.contact-page-title i.bi {
    color: #0d47a1;
}

.contact-page-subtitle {
    font-size: 1rem;
    color: #495057;
    max-width: 620px;
    margin: 0 auto;
    line-height: 1.5;
}

.contact-alert {
    border-radius: 12px;
    padding: 1rem 1.25rem;
    margin-bottom: 1.5rem;
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.contact-alert i.bi {
    font-size: 1.5rem;
    flex-shrink: 0;
    margin-top: 1px;
}

.contact-alert.alert-success {
    background: linear-gradient(135deg, #e8f5e9 0%, #f1f8e9 100%);
    border: 1px solid #c8e6c9;
    color: #1b5e20;
}

.contact-alert.alert-success i.bi {
    color: #2e7d32;
}

.contact-alert.alert-danger {
    background: linear-gradient(135deg, #ffebee 0%, #fff5f5 100%);
    border: 1px solid #ffcdd2;
    color: #b71c1c;
}

.contact-alert.alert-danger i.bi {
    color: #d32f2f;
}

/* === Card formular === */
.contact-form-card {
    background: #fff;
    border-radius: 16px;
    padding: 1.75rem;
    box-shadow: 0 6px 22px rgba(13, 71, 161, 0.08);
}

.contact-form-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: #0d47a1;
    margin: 0 0 1.25rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.contact-field {
    margin-top: 1rem;
}

.contact-label {
    display: block;
    font-weight: 600;
    color: #1a2533;
    margin-bottom: 0.4rem;
    font-size: 0.92rem;
}

.contact-label i.bi {
    color: #0d47a1;
    margin-right: 4px;
}

.contact-input {
    border: 2px solid #e3e6f0;
    border-radius: 10px;
    padding: 0.7rem 0.95rem;
    font-size: 1rem;
    transition: border-color 0.15s, box-shadow 0.15s;
    width: 100%;
    font-family: inherit;
}

.contact-input:focus {
    outline: none;
    border-color: #0d47a1;
    box-shadow: 0 0 0 0.2rem rgba(13, 71, 161, 0.12);
}

.contact-textarea {
    resize: vertical;
    min-height: 130px;
}

.contact-hint {
    display: block;
    margin-top: 0.4rem;
    color: #6c757d;
    font-size: 0.8rem;
}

.contact-hint i.bi {
    color: #adb5bd;
    margin-right: 2px;
}

.contact-captcha-box {
    margin-top: 1.25rem;
    padding: 1rem 1.15rem;
    background: linear-gradient(135deg, #fff8e1 0%, #ffecb3 100%);
    border: 1px solid #ffe082;
    border-radius: 10px;
}

.contact-captcha-row {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    flex-wrap: wrap;
}

.contact-captcha-question {
    font-size: 1.1rem;
    font-weight: 700;
    color: #5d4037;
    flex-shrink: 0;
}

.contact-captcha-input {
    width: 100px !important;
    text-align: center;
    font-size: 1.1rem;
    font-weight: 600;
}

.contact-submit-btn {
    margin-top: 1.5rem;
    width: 100%;
    padding: 0.85rem 1rem;
    font-size: 1.05rem;
    font-weight: 600;
    box-shadow: 0 4px 14px rgba(13, 71, 161, 0.25);
}

.contact-submit-btn i.bi {
    margin-right: 6px;
}

.contact-submit-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(13, 71, 161, 0.35);
}

.contact-privacy {
    text-align: center;
    margin: 1rem 0 0;
    color: #6c757d;
    font-size: 0.82rem;
}

.contact-privacy i.bi {
    color: #28a745;
    margin-right: 3px;
}

/* === Info contact (lateral) === */
.contact-info-card {
    background: #fff;
    border-radius: 16px;
    padding: 1.5rem;
    box-shadow: 0 6px 22px rgba(13, 71, 161, 0.08);
    margin-bottom: 1rem;
}

.contact-info-title {
    font-size: 1.15rem;
    font-weight: 700;
    color: #0d47a1;
    margin: 0 0 1.25rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.contact-info-list {
    list-style: none;
    padding: 0;
    margin: 0 0 1.25rem;
}

.contact-info-item {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    padding: 0.85rem 0;
    border-bottom: 1px solid #f0f0f0;
}

.contact-info-item:last-child {
    border-bottom: none;
}

.contact-info-icon {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    background: linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    color: #0d47a1;
}

.contact-info-text {
    flex: 1;
    min-width: 0;
}

.contact-info-text strong {
    display: block;
    color: #1a2533;
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 0.2rem;
}

.contact-info-text a {
    color: #0d47a1;
    text-decoration: none;
    font-weight: 500;
    font-size: 0.98rem;
    transition: color 0.15s;
}

.contact-info-text a:hover {
    color: #1565c0;
    text-decoration: underline;
}

.contact-info-text span {
    color: #495057;
    font-size: 0.95rem;
}

.contact-info-tip {
    background: linear-gradient(135deg, #fff8e1 0%, #ffecb3 100%);
    border: 1px solid #ffe082;
    border-radius: 10px;
    padding: 0.9rem 1rem;
    display: flex;
    gap: 0.7rem;
    align-items: flex-start;
    font-size: 0.88rem;
    color: #5d4037;
    line-height: 1.45;
}

.contact-info-tip i.bi {
    color: #f57c00;
    font-size: 1.25rem;
    flex-shrink: 0;
    margin-top: 1px;
}

.contact-info-tip strong {
    color: #e65100;
}

.contact-info-tip a {
    color: #0d47a1;
    font-weight: 600;
}

/* === Quick links (înlocuiește vechiul CTA "cont gratuit") === */
.contact-quick-links {
    background: #fff;
    border-radius: 16px;
    padding: 1.5rem;
    box-shadow: 0 6px 22px rgba(13, 71, 161, 0.08);
}

.contact-quick-links h3 {
    font-size: 1.05rem;
    font-weight: 700;
    color: #0d47a1;
    margin: 0 0 1rem;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.contact-quick-links h3 i.bi {
    color: #1565c0;
}

.contact-quick-links ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.contact-quick-links li {
    margin-bottom: 0.4rem;
}

.contact-quick-links li:last-child {
    margin-bottom: 0;
}

.contact-quick-links a {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.7rem 0.9rem;
    border-radius: 10px;
    color: #1a2533;
    text-decoration: none;
    font-size: 0.95rem;
    font-weight: 500;
    transition: background-color 0.15s, transform 0.15s, color 0.15s;
    border: 1px solid #e3e6f0;
}

.contact-quick-links a:hover {
    background-color: #f0f4ff;
    color: #0d47a1;
    border-color: #0d47a1;
    transform: translateX(3px);
}

.contact-quick-links a i.bi {
    color: #0d47a1;
    font-size: 1.1rem;
    flex-shrink: 0;
}

/* === Responsive contact === */
@media (max-width: 991.98px) {
    .contact-form-card,
    .contact-info-card,
    .contact-quick-links {
        padding: 1.4rem;
    }
}

@media (max-width: 575.98px) {
    .contact-section {
        padding: 1rem 0 2rem;
    }

    .contact-page-title {
        font-size: 1.4rem;
    }

    .contact-page-subtitle {
        font-size: 0.92rem;
    }

    .contact-form-card,
    .contact-info-card,
    .contact-quick-links {
        padding: 1.15rem;
    }

    .contact-form-title,
    .contact-info-title {
        font-size: 1.05rem;
    }

    .contact-quick-links h3 {
        font-size: 1rem;
    }

    .contact-quick-links a {
        font-size: 0.9rem;
        padding: 0.6rem 0.8rem;
    }

    .contact-captcha-row {
        flex-direction: column;
        align-items: stretch;
        gap: 0.5rem;
    }

    .contact-captcha-input {
        width: 100% !important;
    }
}

/* =================================================================
   PATCH: Adaugă acest block la SFÂRȘITUL fișierului site.css
   ================================================================= */

/* =================================================================
   PAGINA COD RUTIER
   ================================================================= */

.cr-section {
    padding: 2rem 0 4rem;
    background-color: #f8f9fa;
}

/* === Hero === */
.cr-hero {
    text-align: center;
    margin-bottom: 1.5rem;
    padding: 0 1rem;
}

.cr-page-title {
    font-size: 1.95rem;
    font-weight: 700;
    color: #0d47a1;
    margin-bottom: 0.5rem;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.cr-page-title i.bi {
    color: #0d47a1;
}

.cr-page-subtitle {
    font-size: 1rem;
    color: #495057;
    max-width: 720px;
    margin: 0 auto 1rem;
    line-height: 1.5;
}

.cr-update-info {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.85rem;
    flex-wrap: wrap;
    margin-top: 0.5rem;
}

.cr-update-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    background: linear-gradient(135deg, #e8f5e9 0%, #c8e6c9 100%);
    border: 1px solid #a5d6a7;
    color: #1b5e20;
    padding: 0.4rem 0.85rem;
    border-radius: 20px;
    font-size: 0.88rem;
    font-weight: 500;
}

.cr-update-badge i.bi {
    color: #2e7d32;
    font-size: 1rem;
}

.cr-update-badge strong {
    color: #1b5e20;
    font-weight: 700;
}

.cr-official-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: #0d47a1;
    text-decoration: none;
    font-size: 0.88rem;
    font-weight: 500;
    padding: 0.4rem 0.85rem;
    border: 1px solid #bbdefb;
    border-radius: 20px;
    transition: all 0.15s;
}

.cr-official-link:hover {
    background-color: #e3f2fd;
    color: #1565c0;
    border-color: #0d47a1;
    text-decoration: none;
}

/* === Disclaimer === */
.cr-disclaimer {
    background: linear-gradient(135deg, #fff8e1 0%, #ffecb3 100%);
    border: 1px solid #ffe082;
    border-left: 4px solid #ff9800;
    border-radius: 10px;
    padding: 0.95rem 1.15rem;
    margin-bottom: 1.5rem;
    display: flex;
    gap: 0.7rem;
    align-items: flex-start;
    font-size: 0.9rem;
    color: #5d4037;
    line-height: 1.5;
}

.cr-disclaimer i.bi {
    color: #f57c00;
    font-size: 1.4rem;
    flex-shrink: 0;
    margin-top: 1px;
}

.cr-disclaimer strong {
    color: #e65100;
}

.cr-disclaimer a {
    color: #0d47a1;
    font-weight: 600;
    text-decoration: underline;
}

.cr-disclaimer a:hover {
    color: #1565c0;
}

/* === Layout (TOC + content) === */
.cr-layout {
    align-items: flex-start;
}

/* === TOC (cuprins) - desktop sticky === */
.cr-toc-wrap {
    margin-bottom: 1.5rem;
}

.cr-toc {
    background: #fff;
    border-radius: 12px;
    padding: 1.15rem 1.15rem 1rem;
    box-shadow: 0 4px 16px rgba(13, 71, 161, 0.08);
    position: sticky;
    top: 76px;
}

.cr-toc-heading {
    font-size: 0.78rem;
    font-weight: 700;
    color: #6c757d;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0 0 0.85rem;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding-bottom: 0.6rem;
    border-bottom: 1px solid #e3e6f0;
}

.cr-toc-heading i.bi {
    color: #0d47a1;
}

.cr-toc-list {
    list-style: none;
    padding: 0;
    margin: 0;
    max-height: 460px;
    overflow-y: auto;
}

.cr-toc-list::-webkit-scrollbar {
    width: 5px;
}

.cr-toc-list::-webkit-scrollbar-track {
    background: #f0f0f0;
    border-radius: 3px;
}

.cr-toc-list::-webkit-scrollbar-thumb {
    background: #bbdefb;
    border-radius: 3px;
}

.cr-toc-list::-webkit-scrollbar-thumb:hover {
    background: #90caf9;
}

.cr-toc-list li {
    margin-bottom: 0.2rem;
}

.cr-toc-link {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.5rem 0.65rem;
    border-radius: 8px;
    color: #495057;
    text-decoration: none;
    font-size: 0.88rem;
    line-height: 1.3;
    transition: background-color 0.15s, color 0.15s;
}

.cr-toc-link:hover {
    background-color: #f0f4ff;
    color: #0d47a1;
    text-decoration: none;
}

.cr-toc-link.active {
    background-color: #0d47a1;
    color: #fff;
}

.cr-toc-link.active .cr-toc-roman {
    background-color: rgba(255, 255, 255, 0.25);
    color: #fff;
}

.cr-toc-roman {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    height: 24px;
    background-color: #e3f2fd;
    color: #0d47a1;
    font-weight: 700;
    font-size: 0.72rem;
    border-radius: 4px;
    flex-shrink: 0;
    padding: 0 0.35rem;
}

.cr-toc-item-title {
    flex: 1;
    font-weight: 500;
}

.cr-toc-actions {
    margin-top: 0.85rem;
    padding-top: 0.85rem;
    border-top: 1px solid #e3e6f0;
}

.cr-toc-actions .btn {
    font-size: 0.82rem;
}

.cr-toc-actions .btn i.bi {
    margin-right: 4px;
}

/* === Content (chapters) === */
.cr-chapters {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.cr-chapter {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 16px rgba(13, 71, 161, 0.06);
    overflow: hidden;
    scroll-margin-top: 80px;
}

.cr-chapter-header {
    width: 100%;
    background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
    border: none;
    border-left: 4px solid #0d47a1;
    padding: 1rem 1.2rem;
    text-align: left;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 0.85rem;
    transition: background-color 0.15s;
}

.cr-chapter-header:hover {
    background: linear-gradient(135deg, #f0f4ff 0%, #f8f9fa 100%);
}

.cr-chapter-header:focus {
    outline: none;
    box-shadow: 0 0 0 0.2rem rgba(13, 71, 161, 0.15);
}

.cr-chapter-header[aria-expanded="true"] {
    background: linear-gradient(135deg, #e3f2fd 0%, #f0f9ff 100%);
}

.cr-chapter-roman {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 90px;
    height: 28px;
    background: linear-gradient(135deg, #0d47a1 0%, #1565c0 100%);
    color: #fff;
    font-weight: 700;
    font-size: 0.76rem;
    border-radius: 6px;
    flex-shrink: 0;
    padding: 0 0.6rem;
    letter-spacing: 0.5px;
    box-shadow: 0 2px 6px rgba(13, 71, 161, 0.2);
}

.cr-chapter-title {
    flex: 1;
    font-size: 1.05rem;
    font-weight: 600;
    color: #1a2533;
    line-height: 1.3;
}

.cr-chapter-chevron {
    color: #0d47a1;
    font-size: 1.2rem;
    transition: transform 0.25s ease;
    flex-shrink: 0;
}

.cr-chapter-header[aria-expanded="true"] .cr-chapter-chevron {
    transform: rotate(180deg);
}

.cr-chapter-body {
    background-color: #fff;
}

.cr-chapter-content {
    padding: 1.25rem 1.4rem 1.5rem;
    color: #333;
    font-size: 0.95rem;
    line-height: 1.7;
    text-align: justify;
}

.cr-chapter-content b {
    color: #0d47a1;
    font-weight: 700;
}

.cr-chapter-content br + br {
    line-height: 1.5;
}

/* === Footer note === */
.cr-footer-note {
    background: linear-gradient(135deg, #e3f2fd 0%, #f0f9ff 100%);
    border: 1px solid #bbdefb;
    border-radius: 12px;
    padding: 1.25rem 1.4rem;
    margin-top: 1.5rem;
}

.cr-footer-note h3 {
    font-size: 1.1rem;
    font-weight: 700;
    color: #0d47a1;
    margin: 0 0 0.85rem;
    display: flex;
    align-items: center;
    gap: 0.45rem;
}

.cr-footer-note h3 i.bi {
    color: #ffc107;
    font-size: 1.3rem;
}

.cr-footer-note ul {
    margin: 0;
    padding-left: 1.25rem;
    color: #1a2533;
    line-height: 1.65;
    font-size: 0.93rem;
}

.cr-footer-note li {
    margin-bottom: 0.45rem;
}

.cr-footer-note li:last-child {
    margin-bottom: 0;
}

.cr-footer-note strong {
    color: #0d47a1;
}

.cr-footer-note a {
    color: #0d47a1;
    font-weight: 600;
    text-decoration: underline;
}

.cr-footer-note a:hover {
    color: #1565c0;
}

/* === Scroll-top button === */
.cr-scroll-top {
    position: fixed;
    bottom: 24px;
    right: 24px;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: linear-gradient(135deg, #0d47a1 0%, #1565c0 100%);
    color: #fff;
    border: none;
    box-shadow: 0 6px 20px rgba(13, 71, 161, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s, visibility 0.25s, transform 0.15s;
    z-index: 999;
}

.cr-scroll-top.visible {
    opacity: 1;
    visibility: visible;
}

.cr-scroll-top:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(13, 71, 161, 0.5);
}

/* === Responsive === */
@media (max-width: 991.98px) {
    .cr-toc {
        position: relative;
        top: 0;
    }

    .cr-toc-list {
        max-height: 280px;
    }
}

@media (max-width: 767.98px) {
    .cr-section {
        padding: 1rem 0 2rem;
    }

    .cr-page-title {
        font-size: 1.45rem;
    }

    .cr-page-subtitle {
        font-size: 0.92rem;
    }

    .cr-update-info {
        flex-direction: column;
        gap: 0.5rem;
    }

    .cr-disclaimer {
        font-size: 0.85rem;
        padding: 0.85rem 1rem;
    }

    .cr-chapter-header {
        padding: 0.85rem 1rem;
        gap: 0.65rem;
    }

    .cr-chapter-roman {
        min-width: 72px;
        font-size: 0.7rem;
        padding: 0 0.45rem;
    }

    .cr-chapter-title {
        font-size: 0.95rem;
    }

    .cr-chapter-content {
        padding: 1rem 1.1rem 1.2rem;
        font-size: 0.9rem;
        text-align: left;
    }

    .cr-scroll-top {
        bottom: 16px;
        right: 16px;
        width: 42px;
        height: 42px;
    }
}

@media (max-width: 575.98px) {
    .cr-chapter-header {
        flex-wrap: wrap;
    }

    .cr-chapter-title {
        width: 100%;
        order: 3;
        font-size: 0.92rem;
        margin-top: 0.3rem;
    }
}
/* =================================================================
   PATCH: Adaugă acest block la SFÂRȘITUL fișierului site.css
   
   Clase pentru:
   - Feedback instant pe opțiuni (verde/roșu/dashed)
   - Badge "Corect!" / "Greșit!"
   - Buton "Următoarea" 
   - Stats card culori (corecte verde, greșite roșu)
   - Banner rezultat educativ (excelent / bun / progress)
   ================================================================= */

/* =================================================================
   PAGINA REZOLVATE - PLAY (FEEDBACK)
   ================================================================= */

/* Stat box pentru "Întrebarea curentă" - similar cu timer dar fără pulse */
.play-stat-current .play-stat-value {
    color: #0d47a1;
    font-family: 'Courier New', monospace;
    letter-spacing: 0.5px;
    font-size: 1.3rem;
}

/* === Lock opțiuni după submit === */
.play-options-locked .play-option {
    cursor: default;
    pointer-events: none;
}

.play-options-locked .play-option:hover {
    transform: none;
    box-shadow: none;
}

/* === Feedback: răspuns user corect bifat (verde solid) === */
.play-option.play-option-feedback-correct {
    border-color: #28a745;
    background-color: #e8f5e9;
    box-shadow: 0 4px 14px rgba(40, 167, 69, 0.2);
}

.play-option.play-option-feedback-correct .play-option-letter {
    background: linear-gradient(135deg, #1b5e20 0%, #28a745 100%);
    color: #fff;
    border-right-color: #1b5e20;
}

.play-option.play-option-feedback-correct .play-option-text {
    color: #1b5e20;
    font-weight: 600;
}

/* === Feedback: răspuns user greșit (roșu) === */
.play-option.play-option-feedback-wrong {
    border-color: #d32f2f;
    background-color: #ffebee;
    box-shadow: 0 4px 14px rgba(211, 47, 47, 0.2);
}

.play-option.play-option-feedback-wrong .play-option-letter {
    background: linear-gradient(135deg, #b71c1c 0%, #d32f2f 100%);
    color: #fff;
    border-right-color: #b71c1c;
}

.play-option.play-option-feedback-wrong .play-option-text {
    color: #c62828;
    text-decoration: line-through;
}

/* === Feedback: răspuns corect pe care user nu l-a bifat (verde dashed) === */
.play-option.play-option-feedback-missed {
    border-color: #66bb6a;
    border-style: dashed;
    background-color: #f1f8e9;
}

.play-option.play-option-feedback-missed .play-option-letter {
    background: linear-gradient(135deg, #2e7d32 0%, #66bb6a 100%);
    color: #fff;
    border-right-color: #2e7d32;
    border-right-style: solid;
}

.play-option.play-option-feedback-missed .play-option-text {
    color: #2e7d32;
    font-weight: 500;
}

/* === Feedback: răspuns nebifat și care nu era corect (neutru) === */
.play-option.play-option-feedback-neutral {
    opacity: 0.65;
}

/* === Badge feedback (Corect/Greșit) === */
.play-feedback-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.85rem 1.2rem;
    border-radius: 10px;
    margin: 1rem 0;
    font-weight: 600;
    font-size: 1.05rem;
    animation: slideDown 0.3s ease-out;
}

.play-feedback-badge i.bi {
    font-size: 1.4rem;
}

.play-feedback-badge-correct {
    background: linear-gradient(135deg, #e8f5e9 0%, #c8e6c9 100%);
    border: 1px solid #a5d6a7;
    color: #1b5e20;
}

.play-feedback-badge-correct i.bi {
    color: #2e7d32;
}

.play-feedback-badge-wrong {
    background: linear-gradient(135deg, #ffebee 0%, #ffcdd2 100%);
    border: 1px solid #ef9a9a;
    color: #b71c1c;
}

.play-feedback-badge-wrong i.bi {
    color: #d32f2f;
}

/* === Buton "Următoarea întrebare" === */
.play-actions-next {
    justify-content: center;
}

.play-btn-next {
    flex: 0 1 auto !important;
    min-width: 260px;
    padding: 0.85rem 1.5rem !important;
    box-shadow: 0 4px 14px rgba(13, 71, 161, 0.25);
}

.play-btn-next i.bi {
    margin-left: 6px;
    margin-right: 0;
}

.play-btn-next:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(13, 71, 161, 0.35);
}

/* =================================================================
   PAGINA REZOLVATE - REZULTAT
   ================================================================= */

/* Banner cu 3 variante de stare (excelent / bun / progress) */
.rezolvate-banner {
    border-radius: 16px;
    padding: 1.5rem 1.75rem;
    margin-bottom: 1.5rem;
    color: #fff;
    display: flex;
    align-items: center;
    gap: 1rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.rezolvate-banner i.bi {
    font-size: 3rem;
    flex-shrink: 0;
}

.rezolvate-banner h2 {
    margin: 0 0 0.25rem;
    font-size: 1.7rem;
    font-weight: 800;
    letter-spacing: 0.5px;
}

.rezolvate-banner p {
    margin: 0;
    font-size: 0.96rem;
    opacity: 0.95;
}

.rezolvate-banner-excelent {
    background: linear-gradient(135deg, #1b5e20 0%, #2e7d32 50%, #43a047 100%);
}

.rezolvate-banner-bun {
    background: linear-gradient(135deg, #1565c0 0%, #1976d2 50%, #42a5f5 100%);
}

.rezolvate-banner-progress {
    background: linear-gradient(135deg, #f57c00 0%, #fb8c00 50%, #ffa726 100%);
}

/* Stats cards colorate */
.rezultat-stat-card-corecte {
    border-top: 3px solid #28a745;
}

.rezultat-stat-card-corecte .rezultat-stat-icon {
    color: #28a745;
}

.rezultat-stat-card-corecte .rezultat-stat-value {
    color: #1b5e20;
}

.rezultat-stat-card-gresite {
    border-top: 3px solid #d32f2f;
}

.rezultat-stat-card-gresite .rezultat-stat-icon {
    color: #d32f2f;
}

.rezultat-stat-card-gresite .rezultat-stat-value {
    color: #b71c1c;
}

.rezultat-stat-card-procent {
    border-top: 3px solid #0d47a1;
}

.rezultat-stat-card-procent .rezultat-stat-icon {
    color: #0d47a1;
}

.rezultat-stat-card-procent .rezultat-stat-value {
    color: #0d47a1;
}

/* Mesaj "Toate corecte" când nrGresite = 0 */
.rezolvate-perfect-msg {
    background: linear-gradient(135deg, #e8f5e9 0%, #c8e6c9 100%);
    border: 1px solid #a5d6a7;
    border-radius: 12px;
    padding: 2rem 1.5rem;
    text-align: center;
    margin-top: 1.5rem;
}

.rezolvate-perfect-msg i.bi {
    font-size: 3rem;
    color: #2e7d32;
    display: block;
    margin-bottom: 0.5rem;
}

.rezolvate-perfect-msg p {
    margin: 0;
    font-size: 1.1rem;
    color: #1b5e20;
    font-weight: 600;
}

/* === Responsive rezolvate === */
@media (max-width: 767.98px) {
    .play-stat-current .play-stat-value {
        font-size: 0.85rem;
    }

    .play-feedback-badge {
        font-size: 0.95rem;
        padding: 0.7rem 1rem;
    }

    .play-btn-next {
        width: 100%;
        min-width: 0;
    }

    .rezolvate-banner {
        flex-direction: column;
        text-align: center;
        gap: 0.5rem;
        padding: 1.25rem 1rem;
    }

    .rezolvate-banner h2 {
        font-size: 1.4rem;
    }
}

/* =====================================================================
   INVATARE RAPIDĂ - clase noi de adăugat în site.css
   Adaugă la finalul fișierului site.css.
   ===================================================================== */

/* ===== Badge nr chestionare pe chip-uri (la selectare categorie) ===== */
.simulare-chip-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 22px;
    padding: 0 6px;
    margin-left: 8px;
    background: #ffc107;
    color: #1a2533;
    border-radius: 12px;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1;
}

.simulare-chip.selected .simulare-chip-badge {
    background: #fff;
    color: #0d47a1;
}

.simulare-chip-hint {
    font-size: 0.85rem;
    color: #6c757d;
    margin-top: 0.65rem;
    margin-bottom: 0;
    text-align: center;
}

.simulare-chip-hint i.bi {
    color: #0d47a1;
}

/* ===== LISTA CHESTIONARELOR (pagina /invatare-rapida/categorie) ===== */
.rapid-list-section {
    padding: 2rem 0 3rem;
}

.rapid-list-hero {
    text-align: center;
    margin-bottom: 1.5rem;
}

.rapid-list-back {
    text-align: left;
    margin-bottom: 0.5rem;
}

.rapid-list-back .btn-link {
    color: #0d47a1;
    text-decoration: none;
    font-weight: 500;
}

.rapid-list-back .btn-link:hover {
    text-decoration: underline;
}

.rapid-list-title {
    font-size: 1.8rem;
    color: #1a2533;
    font-weight: 700;
    margin: 0 0 0.4rem;
}

.rapid-list-title i.bi {
    color: #ffc107;
}

.rapid-list-subtitle {
    color: #555;
    font-size: 1rem;
    margin: 0;
}

/* ===== Bara statistici userii logați ===== */
.rapid-stats-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: center;
    background: linear-gradient(135deg, #f8f9fa, #e3f2fd);
    border: 1px solid #bbdefb;
    border-radius: 14px;
    padding: 1rem 1.25rem;
    margin: 1.5rem 0;
}

.rapid-stat-item {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.25rem 0.75rem;
    min-width: 130px;
}

.rapid-stat-item i.bi {
    font-size: 1.5rem;
    color: #6c757d;
    flex-shrink: 0;
}

.rapid-stat-item.rapid-stat-success i.bi {
    color: #2e7d32;
}

.rapid-stat-item.rapid-stat-primary i.bi {
    color: #0d47a1;
}

.rapid-stat-item > div {
    display: flex;
    flex-direction: column;
}

.rapid-stat-item strong {
    font-size: 1.25rem;
    color: #1a2533;
    font-weight: 700;
    line-height: 1.1;
}

.rapid-stat-item span {
    font-size: 0.8rem;
    color: #6c757d;
}

/* ===== Legenda ===== */
.rapid-legenda {
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem;
    justify-content: center;
    margin: 1rem 0 1.5rem;
    font-size: 0.85rem;
    color: #555;
}

.rapid-legenda-item {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.rapid-legenda-item .rapid-status-success,
.rapid-legenda-item .rapid-status-danger,
.rapid-legenda-item .rapid-status-default {
    font-size: 1.1rem;
}

.rapid-status-success {
    color: #2e7d32;
}

.rapid-status-danger {
    color: #c62828;
}

.rapid-status-default {
    color: #9e9e9e;
}

/* ===== Grid cards ===== */
.rapid-cards-grid {
    margin-top: 0.5rem;
}

.rapid-card {
    background: #fff;
    border: 2px solid #e3e6f0;
    border-radius: 14px;
    padding: 0.85rem 0.5rem;
    text-align: center;
    transition: transform 0.15s, box-shadow 0.15s, border-color 0.15s;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 0.6rem;
}

.rapid-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(13, 71, 161, 0.12);
    border-color: #0d47a1;
}

.rapid-card.card-promovat {
    border-color: #66bb6a;
    background: linear-gradient(180deg, #fff, #e8f5e9);
}

.rapid-card.card-picat {
    border-color: #ef9a9a;
    background: linear-gradient(180deg, #fff, #ffebee);
}

.rapid-card-number {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1a2533;
    line-height: 1.1;
}

.rapid-card-status {
    font-size: 0.78rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
}

.rapid-card-status i.bi {
    font-size: 1rem;
}

.rapid-card-actions {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.rapid-card-actions .btn {
    border-radius: 20px;
    padding: 0.3rem 0.6rem;
    font-size: 0.82rem;
    font-weight: 500;
}

.rapid-card-actions form {
    margin: 0;
}

.rapid-card-actions form button {
    width: 100%;
}

/* ===== PAGINA CITEȘTE ===== */
.rapid-citeste-section {
    padding: 2rem 0 3rem;
}

.rapid-citeste-hero {
    text-align: center;
    margin-bottom: 1.5rem;
}

.rapid-citeste-back {
    text-align: left;
    margin-bottom: 0.5rem;
}

.rapid-citeste-back .btn-link {
    color: #0d47a1;
    text-decoration: none;
    font-weight: 500;
}

.rapid-citeste-title {
    font-size: 1.6rem;
    color: #1a2533;
    font-weight: 700;
    margin: 0 0 0.4rem;
}

.rapid-citeste-title i.bi {
    color: #0d47a1;
}

.rapid-citeste-subtitle {
    color: #555;
    font-size: 0.98rem;
    margin: 0 0 1rem;
}

.rapid-citeste-tip {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    background: #fff8e1;
    border: 1px solid #ffe082;
    border-left: 4px solid #ff9800;
    border-radius: 10px;
    padding: 0.75rem 1rem;
    margin-top: 1rem;
    text-align: left;
    font-size: 0.9rem;
    color: #5d4037;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}

.rapid-citeste-tip i.bi {
    color: #ff9800;
    font-size: 1.2rem;
    flex-shrink: 0;
    margin-top: 1px;
}

.rapid-citeste-cards-wrapper {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    max-width: 800px;
    margin: 0 auto 2rem;
}

.rapid-citeste-card {
    background: #fff;
    border: 1px solid #e3e6f0;
    border-radius: 12px;
    padding: 1.25rem;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
}

.rapid-citeste-card-header {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    margin-bottom: 0.85rem;
}

.rapid-citeste-numar {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    background: #0d47a1;
    color: #fff;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.95rem;
}

.rapid-citeste-text {
    font-size: 1rem;
    color: #1a2533;
    font-weight: 500;
    line-height: 1.45;
    padding-top: 4px;
}

.rapid-citeste-image-wrap {
    text-align: center;
    margin: 0.75rem 0;
}

.rapid-citeste-image {
    max-width: 100%;
    max-height: 280px;
    border-radius: 8px;
}

.rapid-citeste-options {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-top: 0.85rem;
}

.rapid-option {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    padding: 0.7rem 0.85rem;
    border: 2px solid #e3e6f0;
    border-radius: 10px;
    background: #fff;
    transition: border-color 0.15s, background-color 0.15s;
}

.rapid-option-correct {
    border-color: #66bb6a;
    background: #e8f5e9;
}

.rapid-option-neutral {
    border-color: #e3e6f0;
    background: #fff;
}

.rapid-option-letter {
    flex-shrink: 0;
    width: 30px;
    height: 30px;
    background: #f5f5f5;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    color: #1a2533;
    font-size: 0.9rem;
}

.rapid-option-correct .rapid-option-letter {
    background: #2e7d32;
    color: #fff;
}

.rapid-option-text {
    flex: 1;
    font-size: 0.95rem;
    color: #1a2533;
    line-height: 1.4;
}

.rapid-option-check {
    color: #2e7d32;
    font-size: 1.3rem;
    margin-left: 0.5rem;
    flex-shrink: 0;
}

.rapid-citeste-cta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: center;
    margin-top: 1.5rem;
}

.rapid-citeste-cta form {
    margin: 0;
}

/* ===== Responsive ===== */
@media (max-width: 575.98px) {
    .rapid-list-title { font-size: 1.4rem; }
    .rapid-citeste-title { font-size: 1.3rem; }
    .rapid-card-number { font-size: 1.3rem; }
    .rapid-card-actions .btn { font-size: 0.78rem; }
    .rapid-stat-item { min-width: 120px; }
}

/* =====================================================================
   ADAUGĂ în site.css imediat după restul claselor .rapid-*
   ===================================================================== */

/* ===== Banner acoperire totală (pe pagina listă chestionare) ===== */
.rapid-acoperire-banner {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    background: linear-gradient(135deg, #e8f5e9, #f1f8e9);
    border: 1px solid #a5d6a7;
    border-left: 4px solid #2e7d32;
    border-radius: 12px;
    padding: 1rem 1.25rem;
    margin: 1.5rem 0;
    color: #1b5e20;
    font-size: 0.95rem;
    line-height: 1.5;
}

.rapid-acoperire-banner i.bi {
    color: #2e7d32;
    font-size: 1.75rem;
    flex-shrink: 0;
    margin-top: 2px;
}

.rapid-acoperire-banner strong {
    color: #1b5e20;
}

@media (max-width: 575.98px) {
    .rapid-acoperire-banner {
        font-size: 0.88rem;
        padding: 0.85rem 1rem;
    }
    .rapid-acoperire-banner i.bi {
        font-size: 1.4rem;
    }
}
/* =====================================================================
   FIX play-header layout
   ADAUGĂ în site.css la finalul fișierului (sau lângă restul claselor .play-*)
   ===================================================================== */

/* Header zona de joc: titlu stânga, buton Abandon dreapta */
.play-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.5rem;
    flex-wrap: wrap;
}

.play-header-left {
    flex: 1;
    min-width: 0; /* permite text wrap fără a strica flex */
}

.play-header-right {
    flex-shrink: 0;
}

.play-title {
    font-size: 1.5rem;
    color: #1a2533;
    font-weight: 700;
    margin: 0 0 0.3rem;
    line-height: 1.2;
}

.play-title i.bi {
    color: #ffc107;
}

.play-subtitle {
    color: #555;
    font-size: 0.95rem;
    margin: 0;
}

@media (max-width: 575.98px) {
    .play-header {
        flex-direction: column;
        align-items: stretch;
    }
    .play-header-right {
        text-align: right;
    }
    .play-title {
        font-size: 1.25rem;
    }
}

.rapid-card-score {
    font-size: 0.95rem;
    font-weight: 700;
    color: #1a2533;
    text-align: center;
    margin-top: -0.2rem;
    line-height: 1.1;
}
 
.rapid-card-score-total {
    font-size: 0.8rem;
    font-weight: 500;
    color: #6c757d;
}
 
/* Pe card promovat scorul e verde */
.rapid-card.card-promovat .rapid-card-score {
    color: #2e7d32;
}
 
/* Pe card picat scorul e mai roșu */
.rapid-card.card-picat .rapid-card-score {
    color: #c62828;
}
 
@media (max-width: 575.98px) {
    .rapid-card-score {
        font-size: 0.85rem;
    }
}

/* =====================================================================
   ÎNVĂȚARE PE CAPITOLE - clase noi
   Adaugă la finalul site.css
   ===================================================================== */

/* ===== Grid carduri capitole (pe pagina /teste-capitole/{cat}) ===== */
.capitole-cards-grid {
    margin-top: 0.5rem;
}

.capitol-card {
    background: #fff;
    border: 2px solid #e3e6f0;
    border-radius: 14px;
    padding: 1.1rem 1.15rem;
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    transition: transform 0.15s, box-shadow 0.15s, border-color 0.15s;
}

.capitol-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(13, 71, 161, 0.12);
    border-color: #0d47a1;
}

.capitol-card.card-promovat {
    border-color: #66bb6a;
    background: linear-gradient(180deg, #fff, #f1f8e9);
}

.capitol-card.card-picat {
    border-color: #ef9a9a;
    background: linear-gradient(180deg, #fff, #fff5f5);
}

.capitol-card-head {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
}

.capitol-card-numar {
    flex-shrink: 0;
    width: 38px;
    height: 38px;
    background: #0d47a1;
    color: #fff;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 1.05rem;
}

.capitol-card.card-promovat .capitol-card-numar {
    background: #2e7d32;
}

.capitol-card.card-picat .capitol-card-numar {
    background: #c62828;
}

.capitol-card-denumire {
    font-size: 1.02rem;
    font-weight: 600;
    color: #1a2533;
    line-height: 1.3;
    padding-top: 3px;
}

.capitol-card-meta {
    font-size: 0.85rem;
    color: #6c757d;
}

.capitol-card-meta i.bi {
    color: #0d47a1;
}

.capitol-card-istoric {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    font-size: 0.85rem;
    padding: 0.5rem 0.65rem;
    background: #f8f9fa;
    border-radius: 8px;
}

.capitol-card-teste {
    color: #6c757d;
    font-size: 0.78rem;
}

.capitol-procent-success { color: #2e7d32; }
.capitol-procent-warning { color: #f57c00; }
.capitol-procent-danger  { color: #c62828; }

.capitol-card-form {
    margin: 0;
    margin-top: auto;
}

/* ===== Butoane play (Trimit + Sare peste) ===== */
.capitole-actions {
    display: flex;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.capitole-actions .play-btn-submit {
    flex: 1 1 auto;
    min-width: 180px;
}

.capitole-actions .capitole-btn-skip {
    flex: 0 0 auto;
    min-width: 130px;
}

@media (max-width: 575.98px) {
    .capitole-actions {
        flex-direction: column;
    }
    .capitole-actions .play-btn-submit,
    .capitole-actions .capitole-btn-skip {
        width: 100%;
        min-width: 0;
    }
    .capitol-card-denumire {
        font-size: 0.95rem;
    }
}

/* =====================================================================
   Card capitol ÎN CURS (test început, neterminat)
   Adaugă în site.css după restul claselor .capitol-card-*
   ===================================================================== */

.capitol-card.card-in-curs {
    border-color: #ff9800;
    background: linear-gradient(180deg, #fff, #fff8e1);
    box-shadow: 0 2px 10px rgba(255, 152, 0, 0.15);
}

.capitol-card.card-in-curs .capitol-card-numar {
    background: #ff9800;
}

.capitol-card-progres {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.88rem;
    padding: 0.55rem 0.7rem;
    background: #fff3e0;
    border: 1px solid #ffe0b2;
    border-radius: 8px;
    color: #e65100;
    font-weight: 500;
}

.capitol-card-progres i.bi {
    color: #ff9800;
    font-size: 1.05rem;
}

/* =====================================================================
   Box "Teste în curs" pe pagina principală /teste-capitole
   Adaugă în site.css după restul claselor .capitol-*
   ===================================================================== */

.capitole-incurs-box {
    background: linear-gradient(135deg, #fff8e1, #fff3e0);
    border: 1px solid #ffe0b2;
    border-left: 4px solid #ff9800;
    border-radius: 14px;
    padding: 1.1rem 1.25rem;
    margin: 1.5rem 0;
}

.capitole-incurs-box h3 {
    font-size: 1.1rem;
    color: #e65100;
    margin: 0 0 0.85rem;
    font-weight: 700;
}

.capitole-incurs-box h3 i.bi {
    color: #ff9800;
}

.capitole-incurs-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    background: #fff;
    border: 1px solid #ffe0b2;
    border-radius: 10px;
    padding: 0.7rem 0.9rem;
    margin-bottom: 0.6rem;
}

.capitole-incurs-item:last-child {
    margin-bottom: 0;
}

.capitole-incurs-info {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    flex: 1;
    min-width: 0;
}

.capitole-incurs-info > i.bi {
    font-size: 1.5rem;
    color: #ff9800;
    flex-shrink: 0;
}

.capitole-incurs-info > div {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.capitole-incurs-info strong {
    color: #1a2533;
    font-size: 0.95rem;
}

.capitole-incurs-info span {
    color: #6c757d;
    font-size: 0.83rem;
}

.capitole-incurs-actions {
    flex-shrink: 0;
}

@media (max-width: 575.98px) {
    .capitole-incurs-item {
        flex-direction: column;
        align-items: stretch;
    }
    .capitole-incurs-actions .btn {
        width: 100%;
    }
}

/* =====================================================================
   RAPOARTE (dashboard progres) - adaugă la finalul site.css
   ===================================================================== */

.rapoarte-section {
    padding: 2rem 0 3rem;
}

.rapoarte-hero {
    text-align: center;
    margin-bottom: 1.5rem;
}

.rapoarte-title {
    font-size: 1.9rem;
    color: #1a2533;
    font-weight: 700;
    margin: 0 0 0.4rem;
}

.rapoarte-title i.bi {
    color: #0d47a1;
}

.rapoarte-subtitle {
    color: #555;
    font-size: 1rem;
    margin: 0;
}

/* ===== Verdict examen ===== */
.rapoarte-verdict {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    border-radius: 14px;
    padding: 1.25rem 1.5rem;
    margin: 1.5rem 0;
    border: 1px solid;
}

.rapoarte-verdict i.bi {
    font-size: 2.2rem;
    flex-shrink: 0;
}

.rapoarte-verdict h3 {
    font-size: 1.25rem;
    font-weight: 700;
    margin: 0 0 0.3rem;
}

.rapoarte-verdict p {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.5;
}

.rapoarte-verdict-gata {
    background: linear-gradient(135deg, #e8f5e9, #f1f8e9);
    border-color: #66bb6a;
    color: #1b5e20;
}
.rapoarte-verdict-gata i.bi { color: #2e7d32; }

.rapoarte-verdict-aproape {
    background: linear-gradient(135deg, #e3f2fd, #e8f5e9);
    border-color: #4fc3f7;
    color: #0d47a1;
}
.rapoarte-verdict-aproape i.bi { color: #0288d1; }

.rapoarte-verdict-progres {
    background: linear-gradient(135deg, #fff8e1, #fff3e0);
    border-color: #ffb74d;
    color: #e65100;
}
.rapoarte-verdict-progres i.bi { color: #ff9800; }

.rapoarte-verdict-neutru {
    background: #f8f9fa;
    border-color: #dee2e6;
    color: #495057;
}
.rapoarte-verdict-neutru i.bi { color: #6c757d; }

/* ===== Sumar 4 carduri ===== */
.rapoarte-sumar {
    margin: 1.5rem 0;
}

.rapoarte-stat-card {
    background: #fff;
    border: 1px solid #e3e6f0;
    border-radius: 14px;
    padding: 1.1rem 1rem;
    text-align: center;
    height: 100%;
}

.rapoarte-stat-card i.bi {
    font-size: 1.8rem;
    display: block;
    margin-bottom: 0.4rem;
}

.rapoarte-stat-sim i.bi { color: #0288d1; }
.rapoarte-stat-cap i.bi { color: #7b1fa2; }
.rapoarte-stat-rapid i.bi { color: #ff9800; }
.rapoarte-stat-rez i.bi { color: #2e7d32; }

.rapoarte-stat-val {
    font-size: 1.8rem;
    font-weight: 700;
    color: #1a2533;
    line-height: 1;
}

.rapoarte-stat-lbl {
    font-size: 0.8rem;
    color: #6c757d;
    margin-top: 0.3rem;
    line-height: 1.3;
}

/* ===== Progres general ===== */
.rapoarte-general-card {
    background: #fff;
    border: 1px solid #e3e6f0;
    border-radius: 14px;
    padding: 1.25rem 1.5rem;
    margin: 1.5rem 0;
}

.rapoarte-general-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.85rem;
}

.rapoarte-general-head h3 {
    font-size: 1.15rem;
    font-weight: 700;
    color: #1a2533;
    margin: 0;
}

.rapoarte-general-head h3 i.bi { color: #0d47a1; }

.rapoarte-general-procent {
    font-size: 1.5rem;
    font-weight: 700;
    color: #0d47a1;
}

.rapoarte-general-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem;
    margin-top: 0.85rem;
    font-size: 0.88rem;
    color: #555;
}

.rapoarte-general-meta i.bi { color: #0d47a1; }

/* ===== Progress bars ===== */
.rapoarte-progress {
    width: 100%;
    height: 12px;
    background: #eceff1;
    border-radius: 8px;
    overflow: hidden;
}

.rapoarte-progress-lg {
    height: 18px;
}

.rapoarte-progress-bar {
    height: 100%;
    border-radius: 8px;
    transition: width 0.4s ease;
}

.rapoarte-bar-general { background: linear-gradient(90deg, #1565c0, #42a5f5); }
.rapoarte-bar-success { background: linear-gradient(90deg, #2e7d32, #66bb6a); }
.rapoarte-bar-warning { background: linear-gradient(90deg, #f57c00, #ffb74d); }
.rapoarte-bar-danger  { background: linear-gradient(90deg, #c62828, #ef5350); }

/* ===== Paneluri ===== */
.rapoarte-panel {
    background: #fff;
    border: 1px solid #e3e6f0;
    border-radius: 14px;
    padding: 1.25rem 1.5rem;
    height: 100%;
}

.rapoarte-panel-full {
    margin-top: 1.5rem;
}

.rapoarte-panel-title {
    font-size: 1.15rem;
    font-weight: 700;
    color: #1a2533;
    margin: 0 0 0.2rem;
}

.rapoarte-panel-title i.bi { color: #0d47a1; }

.rapoarte-panel-sub {
    font-size: 0.85rem;
    color: #6c757d;
    margin: 0 0 1rem;
}

.rapoarte-empty {
    color: #6c757d;
    font-size: 0.9rem;
    padding: 1rem;
    text-align: center;
}

.rapoarte-empty i.bi { color: #0d47a1; }

/* ===== Evoluție simulări ===== */
.rapoarte-evolutie-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.rapoarte-evolutie-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.6rem 0.75rem;
    background: #f8f9fa;
    border-radius: 10px;
}

.rapoarte-evolutie-stanga {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    min-width: 0;
}

.rapoarte-evolutie-badge {
    font-size: 0.72rem;
    font-weight: 700;
    padding: 0.2rem 0.5rem;
    border-radius: 12px;
    white-space: nowrap;
    flex-shrink: 0;
}

.rapoarte-badge-admis { background: #e8f5e9; color: #2e7d32; }
.rapoarte-badge-respins { background: #ffebee; color: #c62828; }

.rapoarte-evolutie-info {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.rapoarte-evolutie-info strong { font-size: 0.9rem; color: #1a2533; }
.rapoarte-evolutie-info span { font-size: 0.78rem; color: #6c757d; }

.rapoarte-evolutie-scor {
    text-align: right;
    flex-shrink: 0;
}

.rapoarte-evolutie-scor strong { font-size: 1rem; color: #1a2533; display: block; }
.rapoarte-evolutie-scor span { font-size: 0.78rem; color: #6c757d; }

/* ===== Capitole ===== */
.rapoarte-cap-grup {
    margin-bottom: 1.5rem;
}

.rapoarte-cap-grup:last-child { margin-bottom: 0; }

.rapoarte-cap-grup-titlu {
    font-size: 1rem;
    font-weight: 700;
    color: #0d47a1;
    margin: 0 0 0.75rem;
    padding-bottom: 0.4rem;
    border-bottom: 2px solid #e3f2fd;
}

.rapoarte-cap-item {
    margin-bottom: 0.85rem;
}

.rapoarte-cap-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.3rem;
    gap: 0.5rem;
}

.rapoarte-cap-nume {
    font-size: 0.88rem;
    color: #1a2533;
}

.rapoarte-cap-procent {
    font-size: 0.85rem;
    font-weight: 700;
    color: #1a2533;
    flex-shrink: 0;
}

.rapoarte-cap-meta {
    font-size: 0.78rem;
    color: #6c757d;
    margin-top: 0.25rem;
}

/* ===== Rapid grid ===== */
.rapoarte-rapid-grid {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.rapoarte-rapid-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.7rem 0.85rem;
    background: #f8f9fa;
    border-radius: 10px;
}

.rapoarte-rapid-nume {
    font-size: 0.9rem;
    font-weight: 600;
    color: #1a2533;
}

.rapoarte-rapid-stat {
    font-size: 0.83rem;
    color: #6c757d;
}

.rapoarte-rapid-prom {
    font-size: 1.05rem;
    font-weight: 700;
    color: #2e7d32;
}

@media (max-width: 575.98px) {
    .rapoarte-title { font-size: 1.5rem; }
    .rapoarte-stat-val { font-size: 1.5rem; }
    .rapoarte-general-meta { flex-direction: column; gap: 0.4rem; }
}

/* =====================================================================
   Selector limbă (3 opțiuni) - extensie a stilurilor existente .simulare-lang-*
   Reutilizează aceeași structură vizuală pentru consistență
   ===================================================================== */

/* Aliasuri pentru reutilizare pe paginile rapid+capitole+rezolvate (același stil) */
.lang-options {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.lang-option {
    flex: 1;
    min-width: 100px;
    cursor: pointer;
    position: relative;
}

.lang-option input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.lang-option span {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    padding: 0.6rem 0.85rem;
    background: #fff;
    border: 2px solid #dee2e6;
    border-radius: 10px;
    transition: all 0.2s ease;
    font-weight: 500;
    color: #495057;
    font-size: 0.95rem;
    text-align: center;
}

.lang-option span:hover {
    border-color: #0d47a1;
    background: #f0f7ff;
}

.lang-option input[type="radio"]:checked + span {
    border-color: #0d47a1;
    background: #e3f2fd;
    color: #0d47a1;
    font-weight: 700;
}

.lang-option .flag {
    font-size: 1.15rem;
    line-height: 1;
}

.lang-label {
    font-weight: 600;
    color: #1a2533;
    margin-bottom: 0.4rem;
    display: block;
    font-size: 0.95rem;
}

.lang-note-en {
    margin-top: 0.5rem;
    padding: 0.5rem 0.75rem;
    background: #fff8e1;
    border-left: 3px solid #ffb74d;
    border-radius: 6px;
    font-size: 0.82rem;
    color: #6c5500;
}

@media (max-width: 575.98px) {
    .lang-options { flex-direction: column; }
    .lang-option { width: 100%; }
}

/* ============================================================================
   INDICATOARE - CSS de adăugat la site.css (sau ca fișier separat)
   ============================================================================ */

/* ===== HUB (pagina /indicatoare) ===== */

.indicatoare-hub-section {
    padding: 2rem 0 3rem;
}

.indicatoare-hub-hero {
    text-align: center;
    margin-bottom: 2.5rem;
}

.indicatoare-hub-title {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 0.75rem;
    color: #1a3d7c;
}

.indicatoare-hub-title i {
    color: #0d6efd;
    margin-right: 0.5rem;
}

.indicatoare-hub-subtitle {
    font-size: 1.05rem;
    color: #555;
    max-width: 700px;
    margin: 0 auto;
}

.indicatoare-cat-grid {
    margin-bottom: 2rem;
}

/* Card mare pe pagina hub (link pentru subpagina) */
.indicatoare-cat-card {
    display: flex;
    align-items: center;
    background: #fff;
    border: 2px solid #e9ecef;
    border-radius: 12px;
    padding: 1.5rem;
    text-decoration: none;
    color: inherit;
    transition: all 0.25s ease;
    height: 100%;
    position: relative;
    overflow: hidden;
}

.indicatoare-cat-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
    text-decoration: none;
    color: inherit;
}

.indicatoare-cat-icon {
    flex-shrink: 0;
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    margin-right: 1rem;
    font-size: 1.75rem;
}

/* Variante de culoare per categorie */
.indicatoare-cat-warning   { border-color: #ffc107; }
.indicatoare-cat-warning .indicatoare-cat-icon   { background: #fff3cd; color: #b08800; }
.indicatoare-cat-warning:hover { border-color: #e0a800; }

.indicatoare-cat-danger    { border-color: #dc3545; }
.indicatoare-cat-danger .indicatoare-cat-icon    { background: #f8d7da; color: #842029; }
.indicatoare-cat-danger:hover { border-color: #bb2d3b; }

.indicatoare-cat-primary   { border-color: #0d6efd; }
.indicatoare-cat-primary .indicatoare-cat-icon   { background: #cfe2ff; color: #084298; }
.indicatoare-cat-primary:hover { border-color: #0a58ca; }

.indicatoare-cat-secondary { border-color: #6c757d; }
.indicatoare-cat-secondary .indicatoare-cat-icon { background: #e2e3e5; color: #41464b; }
.indicatoare-cat-secondary:hover { border-color: #565e64; }

.indicatoare-cat-success   { border-color: #198754; }
.indicatoare-cat-success .indicatoare-cat-icon   { background: #d1e7dd; color: #0a3622; }
.indicatoare-cat-success:hover { border-color: #146c43; }

.indicatoare-cat-info      { border-color: #0dcaf0; }
.indicatoare-cat-info .indicatoare-cat-icon      { background: #cff4fc; color: #055160; }
.indicatoare-cat-info:hover { border-color: #0aa2c0; }

.indicatoare-cat-body {
    flex-grow: 1;
}

.indicatoare-cat-titlu {
    font-size: 1.1rem;
    font-weight: 700;
    margin-bottom: 0.4rem;
    color: #1a3d7c;
}

.indicatoare-cat-descriere {
    font-size: 0.9rem;
    color: #666;
    margin-bottom: 0.5rem;
    line-height: 1.4;
}

.indicatoare-cat-count {
    font-size: 0.85rem;
    color: #888;
    font-weight: 600;
}

.indicatoare-cat-count i {
    margin-right: 0.25rem;
}

.indicatoare-cat-arrow {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    font-size: 1.25rem;
    color: #ccc;
    opacity: 0;
    transition: all 0.25s ease;
}

.indicatoare-cat-card:hover .indicatoare-cat-arrow {
    opacity: 1;
    color: #0d6efd;
    transform: translateX(3px);
}

.indicatoare-hub-info-box {
    background: #f8f9fa;
    border-left: 4px solid #0d6efd;
    padding: 1.5rem;
    border-radius: 6px;
    margin-top: 2rem;
}

.indicatoare-hub-info-box h3 {
    font-size: 1.2rem;
    margin-bottom: 0.75rem;
    color: #1a3d7c;
}

.indicatoare-hub-info-box ul {
    padding-left: 1.25rem;
    margin-bottom: 0;
}

.indicatoare-hub-info-box li {
    margin-bottom: 0.35rem;
}

/* ===== SUBPAGINĂ (pagina /indicatoare/{slug}) ===== */

.indicatoare-cat-section {
    padding: 1.5rem 0 3rem;
}

.indicatoare-cat-hero {
    text-align: center;
    margin-bottom: 2rem;
}

.indicatoare-cat-back {
    text-align: left;
    margin-bottom: 0.5rem;
}

.indicatoare-cat-title {
    font-size: 1.75rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
    color: #1a3d7c;
}

.indicatoare-cat-title i {
    color: #0d6efd;
    margin-right: 0.5rem;
}

.indicatoare-cat-subtitle {
    color: #666;
    font-size: 1rem;
    max-width: 700px;
    margin: 0 auto 0.75rem;
}

.indicatoare-cat-count-info {
    color: #888;
    font-size: 0.95rem;
    font-weight: 600;
}

/* Card individual indicator */
.indicator-cards-grid {
    margin-top: 1rem;
}

.indicator-card {
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 10px;
    overflow: hidden;
    transition: all 0.2s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.indicator-card:hover {
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08);
    transform: translateY(-2px);
}

.indicator-card-img-wrap {
    padding: 1rem;
    background: #f8f9fa;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 140px;
}

.indicator-card-img {
    max-width: 100%;
    max-height: 120px;
    object-fit: contain;
}

.indicator-card-body {
    padding: 0.75rem 1rem 1rem;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.indicator-card-titlu {
    font-size: 0.95rem;
    font-weight: 600;
    text-align: center;
    margin-bottom: 0.5rem;
    color: #1a3d7c;
    min-height: 2.5em;
    line-height: 1.3;
}

.indicator-card-toggle {
    background: none;
    border: none;
    color: #0d6efd;
    font-size: 0.85rem;
    padding: 0.35rem 0;
    cursor: pointer;
    transition: color 0.2s ease;
    margin-top: auto;
}

.indicator-card-toggle:hover {
    color: #0a58ca;
    text-decoration: underline;
}

.indicator-card-toggle i {
    transition: transform 0.3s ease;
}

.indicator-card-toggle[aria-expanded="true"] i {
    transform: rotate(180deg);
}

.indicator-card-descriere-wrap {
    margin-top: 0.5rem;
    padding-top: 0.75rem;
    border-top: 1px solid #f0f0f0;
}

.indicator-card-descriere {
    font-size: 0.85rem;
    color: #555;
    line-height: 1.5;
    text-align: justify;
    margin-bottom: 0;
}

/* ===== Responsive ===== */

@media (max-width: 575px) {
    .indicatoare-hub-title { font-size: 1.5rem; }
    .indicatoare-cat-title { font-size: 1.4rem; }
    .indicator-card-titlu  { font-size: 0.85rem; min-height: 3em; }
    .indicator-card-img    { max-height: 90px; }
}

/* ============================================================================
   SEMNALE POLIȚIST - CSS adițional pentru video
   (carduri folosesc clasele existente .indicator-card de la indicatoare)
   ============================================================================ */

.semnale-video-section {
    margin-top: 3rem;
    padding: 2rem;
    background: #f8f9fa;
    border-radius: 12px;
    border-left: 4px solid #0d6efd;
}

.semnale-video-title {
    font-size: 1.4rem;
    font-weight: 700;
    color: #1a3d7c;
    margin-bottom: 0.5rem;
}

.semnale-video-title i {
    color: #dc3545;
    margin-right: 0.5rem;
}

.semnale-video-subtitle {
    color: #666;
    margin-bottom: 1.25rem;
    font-size: 0.95rem;
}

.semnale-video-wrap {
    max-width: 800px;
    margin: 0 auto;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);
}

.semnale-video-wrap iframe {
    border: 0;
}

@media (max-width: 575px) {
    .semnale-video-section { padding: 1.25rem; }
    .semnale-video-title { font-size: 1.2rem; }
}

/* ============================================================================
   PRIM AJUTOR - CSS de adăugat la site.css
   ============================================================================ */

.prim-ajutor-section {
    padding: 1.5rem 0 3rem;
}

.prim-ajutor-hero {
    text-align: center;
    margin-bottom: 2rem;
}

.prim-ajutor-title {
    font-size: 1.85rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
    color: #1a3d7c;
}

.prim-ajutor-title i {
    color: #dc3545;
    margin-right: 0.5rem;
}

.prim-ajutor-subtitle {
    color: #666;
    font-size: 1rem;
    max-width: 750px;
    margin: 0 auto 0.75rem;
}

.prim-ajutor-count-info {
    color: #888;
    font-size: 0.95rem;
    font-weight: 600;
}

/* ===== Sidebar image + emergency box ===== */

.prim-ajutor-image-col {
    margin-bottom: 1.5rem;
}

.prim-ajutor-image {
    width: 100%;
    max-width: 280px;
    height: auto;
    display: block;
    margin: 0 auto 1.5rem;
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.prim-ajutor-emergency-box {
    background: linear-gradient(135deg, #dc3545 0%, #c82333 100%);
    color: #fff;
    padding: 1.25rem;
    border-radius: 10px;
    text-align: center;
    box-shadow: 0 4px 12px rgba(220, 53, 69, 0.25);
}

.prim-ajutor-emergency-box h4 {
    font-size: 1rem;
    margin-bottom: 0.5rem;
    font-weight: 600;
}

.prim-ajutor-emergency-box h4 i {
    margin-right: 0.35rem;
}

.prim-ajutor-emergency-number {
    font-size: 2.75rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.05em;
    margin-bottom: 0.5rem;
}

.prim-ajutor-emergency-box p {
    margin-bottom: 0;
    opacity: 0.95;
}

/* ===== Accordion ===== */

.prim-ajutor-accordion {
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}

.prim-ajutor-item {
    border: 1px solid #e9ecef;
    margin-bottom: 0;
}

.prim-ajutor-item:not(:last-child) {
    border-bottom: none;
}

.prim-ajutor-accordion .accordion-button {
    background: #fff;
    color: #1a3d7c;
    font-weight: 600;
    padding: 1rem 1.25rem;
    font-size: 1.05rem;
    box-shadow: none;
}

.prim-ajutor-accordion .accordion-button:not(.collapsed) {
    background: #e7f0ff;
    color: #084298;
    box-shadow: inset 0 -1px 0 #d0e1f9;
}

.prim-ajutor-accordion .accordion-button:focus {
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.15);
    border-color: transparent;
}

.prim-ajutor-cap-icon {
    color: #dc3545;
    margin-right: 0.6rem;
    font-size: 1.25rem;
}

.prim-ajutor-accordion .accordion-button:not(.collapsed) .prim-ajutor-cap-icon {
    color: #c82333;
}

.prim-ajutor-cap-titlu {
    flex-grow: 1;
}

/* ===== Body conținut ===== */

.prim-ajutor-body {
    padding: 1.5rem 1.5rem 1.25rem;
    background: #fbfbfc;
    color: #333;
    line-height: 1.65;
}

.prim-ajutor-body p {
    margin-bottom: 0.85rem;
}

.prim-ajutor-body ul {
    padding-left: 1.5rem;
    margin-bottom: 1rem;
}

.prim-ajutor-body ul li {
    margin-bottom: 0.35rem;
}

/* Subtitle pentru trusa (Instrumentar, Materiale sanitare, etc.) */
.prim-ajutor-body .subtitle {
    font-size: 1rem;
    font-weight: 700;
    color: #1a3d7c;
    margin-top: 1.25rem;
    margin-bottom: 0.6rem;
    padding-bottom: 0.3rem;
    border-bottom: 2px solid #e7f0ff;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.prim-ajutor-body .subtitle:first-child {
    margin-top: 0;
}

/* Sub-urgenta title (STOP RESPIRATOR, HEMORAGIA, etc.) */
.prim-ajutor-body .urgenta-title {
    font-size: 1.15rem;
    font-weight: 700;
    color: #dc3545;
    margin-top: 1.5rem;
    margin-bottom: 0.75rem;
    padding: 0.5rem 0.85rem;
    background: #fff5f5;
    border-left: 4px solid #dc3545;
    border-radius: 4px;
}

.prim-ajutor-body .urgenta-title:first-child {
    margin-top: 0;
}

.prim-ajutor-body .urgenta-title i {
    margin-right: 0.4rem;
}

/* Alert boxes inline în conținut */
.prim-ajutor-body .alert {
    padding: 0.85rem 1rem;
    margin: 1rem 0;
    border-radius: 6px;
    border-left: 4px solid;
}

.prim-ajutor-body .alert i {
    margin-right: 0.4rem;
    font-size: 1.1rem;
}

.prim-ajutor-body .alert-warning {
    background: #fff8e1;
    border-left-color: #ffc107;
    color: #6c4a00;
}

/* ===== Responsive ===== */

@media (max-width: 767.98px) {
    .prim-ajutor-title { font-size: 1.5rem; }
    .prim-ajutor-image-col {
        text-align: center;
    }
    .prim-ajutor-image {
        max-width: 200px;
    }
    .prim-ajutor-emergency-number {
        font-size: 2.25rem;
    }
    .prim-ajutor-accordion .accordion-button {
        font-size: 0.95rem;
        padding: 0.85rem 1rem;
    }
    .prim-ajutor-body {
        padding: 1.25rem 1rem 1rem;
        font-size: 0.95rem;
    }
    .prim-ajutor-body .urgenta-title {
        font-size: 1.05rem;
    }
}
/* Sub-line limbi disponibile sub butoane HERO */
.hero-languages {
    margin-top: 1.25rem;
    color: #495057;
    font-size: 0.95rem;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}
.hero-lang-item {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}
.hero-lang-flag {
    width: 22px;
    height: 15px;
    border-radius: 2px;
    box-shadow: 0 1px 2px rgba(0,0,0,0.15);
    display: inline-block;
    vertical-align: middle;
    flex-shrink: 0;
}
.hero-lang-divider {
    color: #adb5bd;
    margin: 0 0.15rem;
}
@media (max-width: 768px) {
    .hero-languages {
        justify-content: center;
        font-size: 0.9rem;
    }
}
/* Fade-in elegant pentru imaginea HERO */
.hero-image {
    animation: heroFadeIn 0.8s ease-out;
}
@keyframes heroFadeIn {
    from { 
        opacity: 0; 
        transform: translateY(10px); 
    }
    to { 
        opacity: 1; 
        transform: translateY(0); 
    }
}
/* === SECȚIUNE MODULES === */
.modules-section {
    padding: 1.5rem 0 1.5rem;
}
.modules-header {
    max-width: 720px;
    margin: 0 auto 1.5rem;
}
.modules-title {
    font-size: 2rem;
    font-weight: 700;
    color: #0d47a1;
    margin-bottom: 0.75rem;
    line-height: 1.25;
}
.modules-subtitle {
    font-size: 1.05rem;
    color: #495057;
    line-height: 1.55;
    margin: 0;
}
@media (max-width: 768px) {
    .modules-section {
        padding: 1rem 0 1rem;
    }
    .modules-header {
        margin-bottom: 1.25rem;
    }
    .modules-title {
        font-size: 1.5rem;
    }
    .modules-subtitle {
        font-size: 0.95rem;
    }
}
/* Compactare carduri module homepage (reduce spațiu vertical ~15-20%) */
.modules-section .module-card .card-body {
    padding: 1rem 1.25rem 0.75rem;
}
.modules-section .module-card .module-icon {
    padding: 0.6rem;
    font-size: 1.4rem;
}
.modules-section .module-card .module-title {
    font-size: 1.15rem;
    margin-bottom: 0.5rem;
}
.modules-section .module-card .module-desc {
    margin-bottom: 0.5rem;
    font-size: 0.92rem;
    line-height: 1.45;
}
.modules-section .module-card .card-footer {
    padding: 0.75rem 1.25rem;
}
@media (max-width: 768px) {
    .modules-section .module-card .card-body {
        padding: 0.85rem 1rem 0.6rem;
    }
    .modules-section .module-card .module-icon {
        padding: 0.5rem;
        font-size: 1.3rem;
    }
}
/* === SECȚIUNE BENEFICII === */
.benefits-section {
    padding: 2.5rem 0 1.5rem;
}
.benefits-header {
    max-width: 720px;
    margin: 0 auto 2rem;
}
.benefits-title {
    font-size: 1.85rem;
    font-weight: 700;
    color: #0d47a1;
    margin-bottom: 0.5rem;
    line-height: 1.25;
}
.benefits-subtitle {
    font-size: 1rem;
    color: #495057;
    margin: 0;
}
.benefits-grid {
    margin-top: 0;
}
.benefit-card {
    background: #fff;
    border: 1px solid #e3e6f0;
    border-radius: 14px;
    padding: 1.5rem 1.25rem 1.25rem;
    height: 100%;
    transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
    text-align: center;
}
.benefit-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 22px rgba(13, 71, 161, 0.12);
    border-color: #0d47a1;
}
.benefit-icon {
    width: 56px;
    height: 56px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    margin: 0 auto 0.85rem;
    color: #fff;
}
.benefit-icon-primary { background: linear-gradient(135deg, #0d47a1 0%, #1565c0 100%); }
.benefit-icon-success { background: linear-gradient(135deg, #1b5e20 0%, #2e7d32 100%); }
.benefit-icon-warning { background: linear-gradient(135deg, #e65100 0%, #f57c00 100%); }
.benefit-icon-info    { background: linear-gradient(135deg, #01579b 0%, #0288d1 100%); }
.benefit-title {
    font-size: 1.05rem;
    font-weight: 700;
    color: #1a2533;
    margin-bottom: 0.5rem;
    line-height: 1.3;
}
.benefit-desc {
    font-size: 0.92rem;
    color: #495057;
    line-height: 1.5;
    margin: 0;
}

/* Resurse utile (Indicatoare + Semnale polițist) */
.resurse-utile .list-group-item {
    border-radius: 12px;
    transition: background-color 0.2s, transform 0.15s;
}
.resurse-utile .list-group-item:hover {
    background-color: #bbdefb;
    transform: translateY(-2px);
}

@media (max-width: 768px) {
    .benefits-section {
        padding: 1.75rem 0 1rem;
    }
    .benefits-header {
        margin-bottom: 1.5rem;
    }
    .benefits-title {
        font-size: 1.4rem;
    }
    .benefits-subtitle {
        font-size: 0.92rem;
    }
    .benefit-card {
        padding: 1.25rem 1rem 1rem;
    }
    .benefit-icon {
        width: 48px;
        height: 48px;
        font-size: 1.3rem;
    }
}
/* === SECȚIUNE RESURSE UTILE === */
.resurse-section {
    padding: 2.5rem 0 1.5rem;
    background-color: #f8f9fa;
    margin-top: 1.5rem;
}
.resurse-header {
    max-width: 720px;
    margin: 0 auto 1.75rem;
}
.resurse-title {
    font-size: 1.85rem;
    font-weight: 700;
    color: #0d47a1;
    margin-bottom: 0.5rem;
    line-height: 1.25;
}
.resurse-subtitle {
    font-size: 1rem;
    color: #495057;
    margin: 0;
}
.resursa-card {
    display: flex;
    align-items: center;
    gap: 1rem;
    background: #fff;
    border: 1px solid #e3e6f0;
    border-radius: 14px;
    padding: 1.15rem 1.25rem;
    text-decoration: none;
    color: inherit;
    height: 100%;
    transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
    position: relative;
}
.resursa-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 22px rgba(13, 71, 161, 0.12);
    border-color: #0d47a1;
    color: inherit;
    text-decoration: none;
}
.resursa-icon {
    width: 56px;
    height: 56px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.55rem;
    color: #fff;
    flex-shrink: 0;
}
.resursa-icon-warning { background: linear-gradient(135deg, #e65100 0%, #f57c00 100%); }
.resursa-icon-danger  { background: linear-gradient(135deg, #b71c1c 0%, #d32f2f 100%); }
.resursa-icon-primary { background: linear-gradient(135deg, #0d47a1 0%, #1565c0 100%); }
.resursa-content {
    flex: 1;
    min-width: 0;
}
.resursa-card-title {
    font-size: 1rem;
    font-weight: 700;
    color: #1a2533;
    margin-bottom: 0.25rem;
    line-height: 1.3;
}
.resursa-card-desc {
    font-size: 0.87rem;
    color: #6c757d;
    line-height: 1.45;
    margin: 0;
}
.resursa-arrow {
    color: #adb5bd;
    font-size: 1.2rem;
    transition: transform 0.15s, color 0.15s;
    flex-shrink: 0;
}
.resursa-card:hover .resursa-arrow {
    color: #0d47a1;
    transform: translateX(3px);
}

@media (max-width: 768px) {
    .resurse-section {
        padding: 1.75rem 0 1rem;
    }
    .resurse-title {
        font-size: 1.4rem;
    }
    .resurse-subtitle {
        font-size: 0.92rem;
    }
    .resursa-card {
        padding: 1rem;
        gap: 0.85rem;
    }
    .resursa-icon {
        width: 48px;
        height: 48px;
        font-size: 1.35rem;
    }
}
/* === SECȚIUNE CATEGORII === */
.categorii-section {
    padding: 2.5rem 0 1.5rem;
}
.categorii-header {
    max-width: 720px;
    margin: 0 auto 1.75rem;
}
.categorii-title {
    font-size: 1.85rem;
    font-weight: 700;
    color: #0d47a1;
    margin-bottom: 0.5rem;
    line-height: 1.25;
}
.categorii-subtitle {
    font-size: 1rem;
    color: #495057;
    margin: 0;
}
.categorii-grid {
    margin-top: 0;
}
.categorie-card {
    background: #fff;
    border: 1px solid #e3e6f0;
    border-radius: 14px;
    padding: 1.4rem 1.25rem 1.25rem;
    text-align: center;
    height: 100%;
    transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
    position: relative;
    display: flex;
    flex-direction: column;
}
.categorie-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 22px rgba(13, 71, 161, 0.12);
    border-color: #0d47a1;
}
.categorie-card-popular {
    border-color: #ffc107;
    border-width: 2px;
}
.categorie-popular-badge {
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(135deg, #ff9800 0%, #ffc107 100%);
    color: #212529;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 0.3rem 0.85rem;
    border-radius: 12px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    box-shadow: 0 3px 8px rgba(255, 152, 0, 0.3);
    white-space: nowrap;
}
.categorie-icon {
    width: 64px;
    height: 64px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    color: #fff;
    margin: 0 auto 0.85rem;
}
/* Categoriile (B = singurul galben, restul albastru uniform) */
.categorie-icon-a    { background: linear-gradient(135deg, #1565c0 0%, #1976d2 100%); }
.categorie-icon-b    { background: linear-gradient(135deg, #ff9800 0%, #ffc107 100%); }
.categorie-icon-c    { background: linear-gradient(135deg, #1565c0 0%, #1976d2 100%); }
.categorie-icon-d    { background: linear-gradient(135deg, #1565c0 0%, #1976d2 100%); }
.categorie-icon-e    { background: linear-gradient(135deg, #1565c0 0%, #1976d2 100%); }
.categorie-icon-redob{ background: linear-gradient(135deg, #1565c0 0%, #1976d2 100%); }
.categorie-name {
    font-size: 1.2rem;
    font-weight: 700;
    color: #1a2533;
    margin-bottom: 0.15rem;
}
.categorie-tagline {
    font-size: 0.95rem;
    font-weight: 600;
    color: #0d47a1;
    margin-bottom: 0.6rem;
}
.categorie-desc {
    font-size: 0.9rem;
    color: #495057;
    line-height: 1.45;
    margin-bottom: 0.5rem;
    flex-grow: 1;
}
.categorie-sub {
    font-size: 0.78rem;
    color: #6c757d;
    margin-bottom: 1rem;
    font-style: italic;
}
.categorie-btn {
    font-weight: 600;
    font-size: 0.92rem;
    border-radius: 25px;
    padding: 0.55rem 1rem;
    transition: transform 0.15s, box-shadow 0.15s;
}
.categorie-btn.btn-primary {
    box-shadow: 0 3px 10px rgba(13, 71, 161, 0.2);
}
.categorie-btn.btn-warning {
    box-shadow: 0 3px 10px rgba(255, 193, 7, 0.25);
}
.categorie-btn:hover {
    transform: translateY(-1px);
}
.categorie-btn.btn-primary:hover {
    box-shadow: 0 5px 14px rgba(13, 71, 161, 0.35);
}
.categorie-btn.btn-warning:hover {
    box-shadow: 0 5px 14px rgba(255, 193, 7, 0.4);
}

@media (max-width: 768px) {
    .categorii-section {
        padding: 1.75rem 0 1rem;
    }
    .categorii-title {
        font-size: 1.4rem;
    }
    .categorii-subtitle {
        font-size: 0.92rem;
    }
    .categorie-card {
        padding: 1.15rem 1rem 1rem;
    }
    .categorie-icon {
        width: 54px;
        height: 54px;
        font-size: 1.55rem;
    }
    .categorie-name {
        font-size: 1.1rem;
    }
}
/* === FAQ header (h2 + subtitle) === */
.faq-header {
    max-width: 720px;
    margin: 0 auto 2rem;
}
.faq-header .faq-title {
    text-align: center;
    margin-bottom: 0.5rem;
    color: #0d47a1;
    font-weight: 700;
    font-size: 1.85rem;
}
.faq-subtitle {
    font-size: 1rem;
    color: #495057;
    margin: 0;
    text-align: center;
}
@media (max-width: 768px) {
    .faq-header .faq-title {
        font-size: 1.4rem;
    }
    .faq-subtitle {
        font-size: 0.92rem;
    }
}
/* =================================================================
   FOOTER MODERN - drpciv-romania.ro
   Stil Stripe / Notion / Linear
   ================================================================= */

.site-footer {
    background-color: #1a2533;
    color: #cbd5e1;
    margin-top: 3rem;
    font-size: 0.92rem;
    line-height: 1.6;
}

/* === Footer principal === */
.footer-main {
    padding: 3rem 0 2rem;
}

.footer-col-title {
    color: #ffffff;
    font-size: 0.95rem;
    font-weight: 700;
    margin: 0 0 1rem;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    opacity: 0.95;
}

.footer-col-intro {
    color: #94a3b8;
    font-size: 0.88rem;
    margin: 0 0 1rem;
    line-height: 1.55;
}

.footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-links li {
    margin-bottom: 0.5rem;
}

.footer-links a {
    color: #cbd5e1;
    text-decoration: none;
    font-size: 0.9rem;
    transition: color 0.15s ease;
    display: inline-block;
}

.footer-links a:hover {
    color: #ffffff;
    text-decoration: none;
}

/* === Coloana 4: Plăți === */
.footer-payments {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-bottom: 0.85rem;
}

.footer-payments-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.footer-pay-logo {
    width: 100%;
    height: auto;
    background-color: #ffffff;
    padding: 10px 14px;
    border-radius: 8px;
    display: block;
}

.footer-pay-logo-wide {
    width: 100%;
    height: auto;
    padding: 8px 12px;
    display: block;
}

.footer-payments-row {
    display: flex;
    width: 100%;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.footer-pay-note {
    font-size: 0.78rem;
    color: #94a3b8;
    margin: 0;
    line-height: 1.45;
}

/* === Sub-footer === */
.footer-bottom {
    background-color: #0f1825;
    padding: 1.25rem 0;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.footer-copyright {
    margin: 0 0 0.2rem;
    color: #cbd5e1;
    font-size: 0.85rem;
    font-weight: 600;
}

.footer-disclaimer-note {
    margin: 0;
    color: #94a3b8;
    font-size: 0.78rem;
    line-height: 1.45;
}

.footer-anpc-wrap {
    display: flex;
    gap: 0.75rem;
    align-items: center;
    justify-content: flex-end;
}

.footer-anpc-link {
    display: inline-block;
    transition: opacity 0.15s;
}

.footer-anpc-link:hover {
    opacity: 0.85;
}

.footer-anpc-img {
    height: 40px;
    width: auto;
    border-radius: 4px;
}

/* === Responsive === */
@media (max-width: 991.98px) {
    .footer-main {
        padding: 2.5rem 0 1.5rem;
    }
    .footer-col-title {
        margin-top: 0.5rem;
    }
}

@media (max-width: 767.98px) {
    .footer-main {
        padding: 2rem 0 1rem;
        text-align: center;
    }
    .footer-payments {
        align-items: center;
    }
    .footer-payments-row {
        justify-content: center;
    }
    .footer-anpc-wrap {
        justify-content: center;
        margin-top: 0.85rem;
    }
    .footer-bottom .col-md-8 {
        text-align: center;
    }
}

@media (max-width: 575.98px) {
    .footer-anpc-img {
        height: 36px;
    }
    .footer-col-title {
        font-size: 0.88rem;
    }
}
/* Footer: coloana 4 (plăți) mai îngustă, primele 3 mai late */
@media (min-width: 992px) {
    .footer-main .footer-col-wider {
        flex: 0 0 26.666%;
        max-width: 26.666%;
    }
    .footer-main .footer-col-payments {
        flex: 0 0 20%;
        max-width: 20%;
    }
}
/* Ascunde pastila goală la pachetul fără badge (Bronze), păstrând alinierea */
.abonament-badge-wrapper:has(.abonament-badge:empty) { visibility: hidden; }

/* Linie de încredere */
.abonamente-trust { text-align: center; color: #5a6b7b; font-size: .95rem; margin: 0 0 1.5rem; }
.abonamente-trust i { color: #1976d2; }
.abonamente-trust strong { color: #1a2533; }

/* CTA final */
.abonamente-cta-final {
    text-align: center; color: #fff; border-radius: 16px;
    padding: 2.5rem 1.5rem; margin-top: 2.5rem;
    background: linear-gradient(135deg, #1565c0 0%, #1976d2 100%);
}
.abonamente-cta-final h2 { color: #fff; margin-bottom: .5rem; }
.abonamente-cta-final p { color: rgba(255,255,255,.9); margin-bottom: 1.5rem; }
.abonamente-cta-final .btn-primary { background:#fff; color:#1565c0; border-color:#fff; padding:.75rem 2rem; font-weight:600; }
.abonamente-cta-final .btn-primary:hover { background:#f1f5f9; color:#1565c0; }
/* Ridică Silver (pachetul recomandat) doar pe desktop, unde cardurile stau în rând */
@media (min-width: 992px) {
    .abonament-card-silver {
        transform: translateY(-12px);
        box-shadow: 0 12px 32px rgba(21, 101, 192, .18);
    }
}
@media (min-width: 992px) {
    .abonament-card-silver:hover { transform: translateY(-16px); }
}
/* === INDICATOARE HUB — secțiuni conținut + FAQ (SEO) === */
.indicatoare-hub-content { margin-top: 2rem; }
.indicatoare-hub-content h2,
.indicatoare-hub-faq h2 {
    font-size: 1.4rem; font-weight: 700; color: #1a3d7c; margin-bottom: 1rem;
}
.indicatoare-hub-content h2 i,
.indicatoare-hub-faq h2 i { color: #0d6efd; margin-right: 0.45rem; }
.indicatoare-hub-content p { line-height: 1.7; color: #333; margin-bottom: 0.85rem; }
.indicatoare-hub-content ul { padding-left: 1.3rem; line-height: 1.7; }
.indicatoare-hub-content ul li { margin-bottom: 0.4rem; }
.indicatoare-hub-content a { color: #0d6efd; font-weight: 600; }
.indicatoare-hub-faq { margin-top: 2rem; }
.indicatoare-hub-faq .accordion-item { border: 1px solid #e9ecef; }
/* Intro SEO subpagină indicatoare */
.indicatoare-cat-intro {
    margin: 0 auto 1.5rem;
    background: #f8f9fa;
    border-left: 4px solid #0d6efd;
    border-radius: 8px;
    padding: 1rem 1.25rem;
    color: #333;
    line-height: 1.65;
    font-size: 0.97rem;
}
.indicatoare-cat-intro:empty { display: none; }
/* Sectiuni SEO Cod Rutier */
.cr-seo-section { margin-top: 2.5rem; }
.cr-seo-section h2 { font-size: 1.5rem; color: #1a2b4a; margin-bottom: 1rem; }
.cr-seo-section h3 { font-size: 1.1rem; margin: 1.25rem 0 .5rem; color: #0d6efd; }
.cr-seo-section p { line-height: 1.7; color: #333; }
.cr-chapter-summary { list-style: none; padding: 0; margin: 1rem 0 0; }
.cr-chapter-summary li { padding: .55rem 0; border-bottom: 1px solid #eee; line-height: 1.6; }
.cr-faq { margin-top: 2.5rem; }
.cr-faq > h2 { font-size: 1.5rem; color: #1a2b4a; margin-bottom: 1rem; }
.cr-faq-item { border: 1px solid #e3e6ec; border-radius: 8px; padding: 1rem 1.25rem; margin-bottom: .75rem; background: #fff; }
.cr-faq-q { font-weight: 600; color: #1a2b4a; margin: 0 0 .4rem; font-size: 1.02rem; }
.cr-faq-a { margin: 0; line-height: 1.65; color: #444; }
/* FAQ Cod Rutier — accordion nativ <details> */
.cr-faq-item{border:1px solid #e2e8f0;border-radius:8px;margin-bottom:10px;overflow:hidden;}
.cr-faq-item summary.cr-faq-q{
  list-style:none;cursor:pointer;font-weight:600;padding:14px 44px 14px 16px;
  position:relative;background:#f8fafc;}
.cr-faq-item summary.cr-faq-q::-webkit-details-marker{display:none;}
.cr-faq-item summary.cr-faq-q::after{
  content:"\F282";font-family:"bootstrap-icons";position:absolute;right:16px;top:50%;
  transform:translateY(-50%);transition:transform .2s ease;}
.cr-faq-item[open] summary.cr-faq-q::after{transform:translateY(-50%) rotate(180deg);}
.cr-faq-item .cr-faq-a{padding:0 16px 16px;margin:0;}
/* CTA callout albastru - folosit pe paginile SEO pentru evidentierea apelurilor la actiune */
.cr-cta-callout {
    background: #e7f1ff;
    border-left: 4px solid #0d6efd;
    border-radius: 6px;
    padding: 14px 18px;
    margin: 1.5rem 0;
    color: #1a2b4a;
    line-height: 1.6;
}
.cr-cta-callout .bi-lightbulb,
.cr-cta-callout .bi-info-circle {
    color: #0d6efd;
    margin-right: 6px;
}
.cr-cta-callout a { font-weight: 600; }
