/* Camada visual sobre o template oficial UniFatecie: conserva dimensões e componentes. */
:root {
    --primary-color: #f47721;
    --primary-dark: #dc6818;
    --secondary-color: #1b1b1b;
    --text-dark: #f4f1ec;
    --text-dark2: #e4dfd8;
    --text-gray: #c0bbb4;
    --text-light: #a6a099;
    --border-color: #383532;
    --white: #f7f5f1;
    --dark-bg: #101010;
    --yellow: #f4b83f;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 88px;
}

body {
    background: #101010 !important;
    color: #f4f1ec !important;
    font-family: 'Montserrat', Arial, sans-serif !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.font-alt {
    color: #f7f4ee;
    font-family: 'Poppins', 'Montserrat', sans-serif !important;
}

p,
label,
li,
.text-dark {
    color: inherit;
}

/* Campaign strip and sticky navigation */
.top-message {
    background: #151515 !important;
    color: #f8f4ee !important;
    border-bottom: 1px solid rgba(244, 119, 33, .62);
}

.top-message a,
.top-message strong,
.top-message .highlight {
    color: #ff9a4c !important;
}

.header {
    background: rgba(18, 18, 18, .97) !important;
    color: #f4f1ec !important;
    border-bottom: 1px solid #34302d !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .34) !important;
}

.header a,
.header nav a {
    color: #eeeae4 !important;
}

.header a:hover,
.header nav a:hover {
    color: #ff9140 !important;
}


/* Preserve the original student's banner while giving the surrounding canvas a dark theme. */
.hero {
    background: radial-gradient(ellipse at 78% 42%, rgba(244, 119, 33, .16), transparent 42%), #111 !important;
    color: #f3f0eb !important;
}

.hero h1,
.hero h2,
.hero h3,
.hero p {
    color: #f4f1ec;
}

.hero h1 .highlight,
.hero h2 .highlight,
.hero .highlight,
.courses h2 span,
.post-graduation h2 span,
.why-choose-us h2 span,
.faq h2 span {
    color: #ff8a32 !important;
}

.hero a,
.hero .text-orange {
    color: #ff9340;
}

/* Dark surfaces replace the original light section backgrounds without changing layout. */
.countdown-page,
.courses,
.post-graduation,
.why-choose-us,
.form_home,
.faq {
    background-color: #111 !important;
    color: #f4f1ec !important;
}

.countdown-page {
    background-image: linear-gradient(110deg, #111 0%, #17120e 52%, #111 100%) !important;
}

.courses,
.why-choose-us,
.faq {
    border-color: #302d2a !important;
}

.post-graduation {
    background-image: linear-gradient(110deg, #141414 0%, #1b1713 52%, #111 100%) !important;
}

.courses h1,
.courses h2,
.courses h3,
.post-graduation h1,
.post-graduation h2,
.why-choose-us h1,
.why-choose-us h2,
.faq h1,
.faq h2,
.form_home h1,
.form_home h2,
.form_home h3 {
    color: #f5f2ed;
}

.courses p,
.post-graduation p,
.why-choose-us p,
.faq p,
.form_home p,
.faq-answer,
.course-description {
    color: #c2bdb5;
}

/* Course search, course category controls and form fields */
.courses input,
.courses select,
.courses textarea,
.header input,
.form_home input,
.form_home select,
.form_home textarea,
.modal-lead input,
.modal-lead select {
    color: #f6f2ed !important;
    background-color: #1d1c1b !important;
    border-color: #49433d !important;
}

input::placeholder,
textarea::placeholder {
    color: #a6a099 !important;
    opacity: 1;
}

.courses .course-card,
.courses .course-item,
.courses .tab-content,
.courses .category-btn,
.courses .tab-btn,
.post-graduation .course-card,
.faq .faq-item,
.form_home .form_lead {
    background-color: #1b1a19 !important;
    color: #f1ede7 !important;
    border-color: #393532 !important;
}

.courses .course-card h3,
.courses .course-item h3,
.faq-question,
.faq-item .faq-question {
    color: #f4f0e9 !important;
}

.courses .course-card p,
.faq-answer {
    color: #c1bbb3 !important;
}

.courses .category-btn.active,
.courses .tab-btn.active,
.courses .category-btn:hover,
.courses .tab-btn:hover {
    background: #2a1b11 !important;
    color: #ff9749 !important;
    border-color: #e87320 !important;
}

/* Institutional orange is used for primary actions, active controls and keyboard focus. */
.btn-matricule,
.btn-whatsapp,
.button-submit,
.btn-primary,
.header .btn,
.hero .btn,
.courses .btn,
.post-graduation .btn,
#cookieAcceptBarConfirm {
    background: linear-gradient(105deg, #e96d1e, #f28a2d) !important;
    color: #17120e !important;
    border-color: #f28a2d !important;
    font-weight: 700;
}

.btn-matricule:hover,
.btn-whatsapp:hover,
.button-submit:hover,
.btn-primary:hover,
.header .btn:hover,
.hero .btn:hover,
.courses .btn:hover,
.post-graduation .btn:hover,
#cookieAcceptBarConfirm:hover {
    filter: brightness(1.1);
}

.btn-outline,
.btn-secondary {
    background: #1b1b1b !important;
    color: #ff9a4d !important;
    border-color: #d96e22 !important;
}

a {
    transition: color .18s ease, background-color .18s ease, border-color .18s ease;
}

a:hover {
    color: #ff984a;
}

:focus-visible {
    outline: 2px solid #f47721 !important;
    outline-offset: 3px;
}

/* Lead form, FAQ, modal and select2 overlay */
.form_home .form_lead {
    background: #191817 !important;
    color: #f5f1eb !important;
    box-shadow: 0 18px 48px rgba(0, 0, 0, .3);
    padding: 20px;
}

.form_home .form-group label,
.modal-lead label {
    color: #e8e3dc !important;
}

.form-control,
.select2-container--default .select2-selection--single,
.select2-dropdown,
.select2-results__option {
    background: #202020 !important;
    color: #f5f1ed !important;
    border-color: #49423d !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background: #e97120 !important;
    color: #17120e !important;
}

.faq .faq-item {
    border: 1px solid #37322e !important;
    border-radius: 6px;
}

.faq .faq-question {
    background: #191817 !important;
}

.faq .faq-answer {
    background: #151514 !important;
}

.modal-window>div,
.modal-lead>div {
    background: #191817 !important;
    color: #f3efe8 !important;
    border: 1px solid #463b32 !important;
}

#cookieAcceptBar {
    background: rgba(22, 22, 22, .97) !important;
    color: #e9e4dc !important;
    border-top: 1px solid #3c3530;
    box-shadow: 0 -8px 30px rgba(0, 0, 0, .4);
}

#cookieAcceptBar a {
    color: #ff9a4c !important;
}

#cookieAcceptBarRecuse {
    background: #292725 !important;
    color: #eee9e2 !important;
    border-color: #4a4540 !important;
}

/* Full original footer and its official safety, MEC and app-store artwork remain intact. */
.footer {
    background: #101010 !important;
    color: #eeeae3 !important;
    border-top: 1px solid #3c332d;
}

.footer h1,
.footer h2,
.footer h3,
.footer h4 {
    color: #f4f0e9 !important;
}

.footer a {
    color: #d5cfc6 !important;
}

.footer a:hover {
    color: #ff984a !important;
}

.footer-bottom {
    border-top-color: #36312d !important;
    color: #aaa39b !important;
}

@media (prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        transition-duration: .01ms !important;
    }
}
