:root {
    --primary: #411FD6;
    --primary-dark: #220A8C;
    --secondary: #FFCF07;
    --secondary-dark: #CBA400;
    --zi-primary: #411FD6;
    --zi-primary-dark: #220A8C;
    --brand-cta: #FFCF07;
    --brand-cta-hover: #CBA400;
    --brand-cta-text: #120B2E;
    --brand-primary: #411FD6;
    --brand-secondary: #FFCF07;
}

body {
    font-family: 'Estedad', 'Rubik', 'Plus Jakarta Sans', Tahoma, Arial, sans-serif;
    background: #FBFAF8;
    color: #120B2E;
}

.design3-public-shell {
    --primary: #411FD6;
    --primary-dark: #220A8C;
    --secondary: #FFCF07;
    --secondary-dark: #CBA400;
    --ink: #120B2E;
    --muted: #655D74;
    --paper: #FBFAF8;
    --surface: #FFFFFF;
    --line: #E7E2D8;
    font-family: 'Estedad', 'Rubik', Tahoma, Arial, sans-serif;
    background: var(--paper);
    color: var(--ink);
}

.navbar {
    background: rgba(251, 250, 248, .92) !important;
    border-bottom: 1px solid #E7E2D8 !important;
    box-shadow: none !important;
    position: sticky;
    top: 0;
    z-index: 1000;
    backdrop-filter: blur(10px);
}

.design3-public-shell .d3-public-header {
    background: rgba(251, 250, 248, .88) !important;
    border-bottom: 1px solid var(--line) !important;
    box-shadow: none !important;
    backdrop-filter: blur(10px);
}

.design3-public-shell .d3-public-header .container {
    max-width: 1320px !important;
    min-height: 74px;
    padding-inline: 28px;
}

.design3-public-shell .d3-public-header .nav-brand {
    color: var(--ink) !important;
    font-weight: 900;
    font-size: 21px;
}

.design3-public-shell .d3-public-header .nav-brand img {
    max-height: 34px;
}

.design3-public-shell .d3-public-header .nav-link,
.design3-public-shell .d3-public-header .mobile-nav-link {
    color: var(--muted) !important;
    font-weight: 700 !important;
    transition: color .2s ease;
}

.design3-public-shell .d3-public-header .nav-link:hover,
.design3-public-shell .d3-public-header .nav-link.text-primary,
.design3-public-shell .d3-public-header .mobile-nav-link:hover,
.design3-public-shell .d3-public-header .mobile-nav-link.text-primary {
    color: var(--primary) !important;
}

.design3-public-shell .d3-public-header .circle-flag-trigger,
.design3-public-shell .d3-public-header .lang-switch {
    border: 1.5px solid var(--line) !important;
    background: transparent !important;
    color: var(--ink) !important;
    box-shadow: none !important;
}

.design3-public-shell .d3-public-header .circle-flag-trigger:hover,
.design3-public-shell .d3-public-header .lang-switch:hover {
    border-color: var(--primary) !important;
}

.design3-public-shell .d3-public-header .mobile-menu-overlay {
    background: rgba(251, 250, 248, .98) !important;
    border-bottom: 1px solid var(--line);
    box-shadow: 0 16px 40px rgba(18, 11, 46, .10);
}

.navbar .container {
    max-width: 1320px;
    min-height: 74px;
}

.navbar .nav-brand,
.navbar .nav-brand span,
.navbar .nav-brand .text-dark {
    color: #120B2E !important;
    font-weight: 900;
}

.navbar .nav-link,
.navbar .mobile-nav-link {
    color: #655D74 !important;
    font-weight: 700;
}

.navbar .nav-link:hover,
.navbar .nav-link.text-primary,
.navbar .mobile-nav-link:hover,
.navbar .mobile-nav-link.text-primary {
    color: var(--primary) !important;
}

.navbar .btn-primary,
.btn-primary,
.btn-exam-full.btn-primary {
    background: var(--secondary) !important;
    border-color: var(--secondary) !important;
    color: #120B2E !important;
}

.navbar .btn-primary:hover,
.btn-primary:hover,
.btn-exam-full.btn-primary:hover {
    background: var(--secondary-dark) !important;
    border-color: var(--secondary-dark) !important;
    color: #120B2E !important;
    transform: translateY(-1px);
}

.btn-outline,
.btn-outline-primary {
    color: var(--primary) !important;
    border-color: rgba(65, 31, 214, .28) !important;
}

.btn-outline:hover,
.btn-outline-primary:hover {
    color: #fff !important;
    background: var(--primary) !important;
    border-color: var(--primary) !important;
}

.page-header {
    background: #FBFAF8 !important;
    border-bottom: 1px solid #E7E2D8;
    padding-top: 92px !important;
    padding-bottom: 72px !important;
}

.page-title {
    color: #120B2E;
    font-weight: 900;
}

.exam-filter-panel,
.plan-filter-panel {
    border-color: #E7E2D8 !important;
    background: rgba(255, 255, 255, .74) !important;
    box-shadow: 0 2px 12px rgba(18, 11, 46, .05) !important;
}

.filter-select-unit i,
.filter-reset-inline {
    color: var(--primary) !important;
}

.exam-card {
    border-color: #E7E2D8 !important;
    box-shadow: 0 2px 12px rgba(18, 11, 46, .05) !important;
}

.exam-card:hover {
    border-color: rgba(65, 31, 214, .22) !important;
    box-shadow: 0 16px 40px rgba(18, 11, 46, .10) !important;
}

.footer-section {
    min-height: 350px;
    background: #120B2E !important;
    color: rgba(251, 250, 248, .66) !important;
    border-top: 1px solid rgba(251, 250, 248, .14);
    padding: 64px 0 28px !important;
}

.design3-public-shell .d3-public-footer {
    background: var(--ink) !important;
    color: rgba(251, 250, 248, .66) !important;
    border-top: 1px solid rgba(251, 250, 248, .14);
}

.design3-public-shell .d3-public-footer .container {
    max-width: 1320px !important;
}

.design3-public-shell .d3-public-footer .footer-top {
    border-bottom-color: rgba(251, 250, 248, .14) !important;
}

.design3-public-shell .d3-public-footer .footer-desc,
.design3-public-shell .d3-public-footer .contact-list,
.design3-public-shell .d3-public-footer .footer-links a,
.design3-public-shell .d3-public-footer .copyright {
    color: rgba(251, 250, 248, .66) !important;
}

.design3-public-shell .d3-public-footer .widget-title,
.design3-public-shell .d3-public-footer .footer-brand-text,
.design3-public-shell .d3-public-footer .footer-brand-text span {
    color: #fff !important;
}

.design3-public-shell .d3-public-footer a:hover,
.design3-public-shell .d3-public-footer .text-primary {
    color: var(--secondary) !important;
}

@media (min-width:1181px) {
    .design3-public-shell .d3-public-footer {
        height: 350px !important;
        min-height: 350px !important;
        max-height: 350px !important;
        padding: 46px 0 22px !important;
        overflow: hidden !important;
    }

    .design3-public-shell .d3-public-footer .footer-top {
        min-height: 214px !important;
    }
}

@media (max-width:1180px) {
    .design3-public-shell .d3-public-footer {
        height: auto !important;
        max-height: none !important;
    }
}

.design3-public-shell .page-header.section-py,
.design3-public-shell .page-header {
    background: var(--paper) !important;
    color: var(--ink) !important;
    border-bottom: 1px solid var(--line) !important;
}

.design3-public-shell .page-header .container {
    max-width: 1320px;
}

.design3-public-shell .page-title {
    color: var(--ink) !important;
    font-weight: 900 !important;
    letter-spacing: 0;
}

.design3-public-shell .page-header .text-muted {
    color: var(--muted) !important;
}

html[dir="rtl"] .design3-public-shell .page-header,
html[dir="rtl"] .design3-public-shell .dynamic-page-wrapper {
    direction: rtl;
    text-align: right;
}

html[dir="rtl"] .design3-public-shell .page-header .page-intro-row,
html[dir="rtl"] .design3-public-shell .page-hero .container,
html[dir="rtl"] .design3-public-shell .page-text .content-body {
    text-align: right !important;
}

html[dir="ltr"] .design3-public-shell .page-header,
html[dir="ltr"] .design3-public-shell .dynamic-page-wrapper {
    direction: ltr;
    text-align: left;
}

.footer-section .container {
    max-width: 1320px;
}

.footer-section .footer-top {
    min-height: 210px;
    border-bottom-color: rgba(251, 250, 248, .14) !important;
}

.footer-section .widget-title,
.footer-section .footer-brand-text,
.footer-section .footer-brand-text span {
    color: #fff !important;
}

.footer-section a:hover,
.footer-section .text-primary {
    color: var(--secondary) !important;
}

.scroll-top-btn {
    background: var(--primary) !important;
}

.scroll-top-btn:hover {
    background: var(--primary-dark) !important;
}

html[dir="rtl"] .footer-links a:hover {
    padding-left: 0 !important;
    padding-right: 5px;
}

@media (max-width: 767.98px) {
    .page-header {
        padding-top: 62px !important;
        padding-bottom: 48px !important;
    }

    .navbar .container {
        min-height: 64px;
    }
}
