/* Academy identity: gold, navy and ivory from the supplied logo. */
:root {
  --primary: #EAAF24;
  --primary-dark: #BA7C08;
  --black: #071D33;
  --white: #FFFFFF;
  --background: #FBF8F0;
  --border: #E7DDC3;
  --surface: var(--white);
  --text: var(--black);
  --muted: #626C79;
  --focus-ring: rgba(234, 175, 36, .28);
  --soft-accent: rgba(234, 175, 36, .14);
  --shadow: 0 6px 24px rgba(0, 0, 0, .05);
  --bs-primary: var(--primary);
  --bs-body-color: var(--text);
  --bs-body-bg: var(--surface);
}
/* Match existing dark stylesheet surfaces; no automatic theme switching. */
[data-theme="dark"], [data-bs-theme="dark"], [data-layout-color="dark"], .dark-mode {
  --background: #343a40;
  --surface: #37404a;
  --text: #FFFFFF;
  --muted: #aab8c5;
  --border: #464f5b;
  color-scheme: dark;
}
body, body.white-bg { background-color: var(--surface); color: var(--text); }
body[data-layout], body.gray-bg { background-color: var(--background); }
h1, h2, h3, h4, h5, h6, .text-dark, .text-body { color: var(--text) !important; }
a:where(:not(.btn):not(.text-danger):not(.text-success):not(.text-warning):not(.text-info):not(.alert-link)), .text-primary, .text-secondary, .link-secondary, .text-blue { color: var(--text) !important; }
a { transition: color .2s ease, background-color .2s ease, border-color .2s ease; }
a:where(:not(.btn):not(.text-danger):not(.text-success):not(.text-warning):not(.text-info):not(.alert-link)):hover,
a:where(:not(.btn):not(.text-danger):not(.text-success):not(.text-warning):not(.text-info):not(.alert-link)):focus-visible,
a.text-primary:hover { color: var(--primary-dark) !important; }
.text-muted, .text-mute { color: var(--muted) !important; }
.bg-white { background-color: var(--surface) !important; }
.bg-light, .bg-gray, .gray-bg, .bg-background, .bg-sub-primary { background-color: var(--background) !important; }
.bg-primary, .badge-primary, .badge.bg-primary, .badge-soft-primary, .badge-sub-primary {
  background-color: var(--primary) !important; color: var(--black) !important;
}
.bg-primary .text-white { color: var(--black) !important; }
.border, .border-top, .border-bottom, .border-left, .border-right, .border-top-sub-blue,
.modal-header, .modal-footer, hr, .table td, .table th { border-color: var(--border) !important; }

/* Bootstrap 4 dashboard and Bootstrap 5 storefront share the same button treatment. */
.btn, .btn-compare-sm, .float { transition: all .2s ease; border-radius: 8px; }
.btn-primary, .btn.red, .btn-red, .btn-sign-up, .btn-signup, .btn-buy-now, .btn-add-to-cart, .btn-buy, .btn-buy-bundle,
.home-banner-wrap .search-box .btn, .marge-input-box button, .common-search-box button,
.course-list-dropdown .dropdown-footer a, .float, .brand-primary {
  background: var(--primary) !important; color: var(--black) !important;
  border: 0 !important; box-shadow: none;
}
.btn-primary:hover, .btn-primary:active, .btn-primary.active, .btn-red:hover, .btn.red:hover,
.btn-sign-up:hover, .btn-buy-now:hover, .btn-add-to-cart:hover, .btn-buy:hover, .btn-buy-bundle:hover, .home-banner-wrap .search-box .btn:hover,
.marge-input-box button:hover, .common-search-box button:hover,
.course-list-dropdown .dropdown-footer a:hover, .float:hover, .brand-primary:hover {
  background: var(--primary-dark) !important; color: var(--black) !important;
}
.btn-primary:focus, .btn-red:focus, .btn.red:focus, .brand-primary:focus { box-shadow: 0 0 0 .2rem var(--focus-ring) !important; }
.btn-secondary, .btn-outline-primary, .btn-outline-secondary, .btn-outline-dark, .btn-outline-light,
.btn-sign-in, .btn-sign-in-simple, .btn-compare-sm, .btn-default {
  background: var(--surface) !important; color: var(--text) !important; border: 1px solid var(--border) !important;
}
.btn-secondary:hover, .btn-outline-primary:hover, .btn-outline-secondary:hover, .btn-outline-dark:hover,
.btn-outline-light:hover, .btn-sign-in:hover, .btn-sign-in-simple:hover, .btn-compare-sm:hover, .btn-default:hover {
  background: var(--background) !important; color: var(--text) !important; border-color: var(--primary-dark) !important;
}
.btn-link { color: var(--text); }
.btn:disabled, .btn.disabled { opacity: .55; }

/* Navigation, dropdowns, and RTL mobile drawers. */
.menu-area, .navbar, .navbar-custom, .topnav-navbar, .topnav-navbar-dark,
.left-side-menu, .mobile-main-nav, .mobile-menu, .mobile-nav-wrap {
  background: var(--surface) !important; color: var(--text); border-color: var(--border);
}
.menu-area, .topnav-navbar { border-bottom: 1px solid var(--border); box-shadow: 0 2px 12px rgba(0,0,0,.03); }
.navbar-custom .nav-link, .navbar-custom .button-menu-mobile, .navbar-custom .nav-user,
.navbar-custom h4, .side-nav a, .side-nav-title, .mobile-main-nav a { color: var(--text) !important; }
.side-nav .side-nav-link, .side-nav-second-level a { border-radius: 8px; }
.side-nav-user, .leftbar-user { background: var(--surface) !important; border-bottom: 1px solid var(--border); }
.side-nav .side-nav-link.active, .side-nav .side-nav-item.active > .side-nav-link,
.side-nav-second-level li.active > a, .navbar .navbar-brand.active, .menu-area .nav-link.active {
  background: var(--primary) !important; color: var(--black) !important;
}
.side-nav .side-nav-link:hover, .side-nav-second-level a:hover, .mobile-main-nav a:hover,
.menu-area .btn-hover-gray:hover { background: var(--soft-accent) !important; color: var(--text) !important; }
.dropdown-menu, .webui-popover, .user-dropdown-menu, .course-list-dropdown, .notifications-list-dropdown,
.mobile-dropdown-menu, .modal-content { background-color: var(--surface); color: var(--text); border-color: var(--border); }
.dropdown-item:hover, .dropdown-item:focus { background: var(--background); color: var(--text) !important; }
.dropdown-item.active { background: var(--primary); color: var(--black) !important; }
.nav-pills .nav-link.active, .nav-pills .show > .nav-link, .nav-tabs .nav-link.active,
.page-item.active .page-link, .pagination .active a { background-color: var(--primary) !important; color: var(--black) !important; border-color: var(--primary) !important; }
.page-link, .nav-tabs, .nav-tabs .nav-link { border-color: var(--border); }
.page-link { background: var(--surface); color: var(--text); }
.page-link:hover { background: var(--background); color: var(--text); }

/* White cards; yellow reserved for actions, icons, prices, and subtle highlights. */
.card, .course-box, .course-box-2, .home-fact-box, .top-categories, .sign-up-form,
.compare-row, .instructor-summary .summary-box, .card-blog, .course-sidebar, .course-sidebar-text-box,
.category-filter-box, .filter-box, .user-dashboard-sidebar, .profile-menu, .shopping-cart-box {
  background-color: var(--surface); color: var(--text); border: 1px solid var(--border);
  border-radius: 12px; box-shadow: 0 2px 8px rgba(0,0,0,.02);
}
.course-box, .course-box-2, .top-categories, .card-blog { transition: box-shadow .2s ease, border-color .2s ease; }
.course-box:hover, .course-box-2:hover, .top-categories:hover, .card-blog:hover {
  background-color: var(--surface); border-color: var(--primary-dark); box-shadow: var(--shadow);
}
.top-categories:hover, .top-categories:focus { background-image: none; }
.top-categories .category-title, .top-categories:hover .category-title { color: var(--text); }
.top-categories .category-title p, .top-categories:hover .category-title p { color: var(--muted); }
.category-icon, .home-fact-box i { background: var(--primary); color: var(--black); }
.top-categories:hover .category-icon { background: var(--primary-dark); color: var(--black); }
.course-box .price, .course-box-2 .price { background: var(--primary); color: var(--black); }
.header-underline::before, .header-underline-2::before, .progress-bar, .m-progress-bar,
.skill-level-icon .active { background-color: var(--primary); }
.rating .filled, .rating i.filled, .your-rating > label:hover { color: var(--primary-dark); }
.table { color: var(--text); }
.table-hover tbody tr:hover, .table-striped tbody tr:nth-of-type(odd), .thead-light th { background-color: var(--background); color: var(--text); }

/* Form errors retain the vendor's semantic error colors. */
.form-control, .sign-up-form .form-group .input-group input, .form-select, .custom-select, .input-group-text, .language_selector, .bootstrap-tagsinput,
.select2-container--default .select2-selection--single, .select2-container--default .select2-selection--multiple {
  background-color: var(--surface); color: var(--text); border-color: var(--border); border-radius: 8px;
}
.form-control:focus:not(.is-invalid):not(.is-valid), .form-select:focus, .custom-select:focus,
.select2-container--focus .select2-selection--multiple, .select2-container--open .select2-selection--single {
  background-color: var(--surface); color: var(--text); border-color: var(--primary) !important;
  box-shadow: 0 0 0 .2rem var(--focus-ring) !important;
}
.form-control:disabled, .form-control[readonly] { background: var(--background); }
.form-control::placeholder { color: var(--muted); opacity: 1; }
.form-check-input:checked, .custom-control-input:checked ~ .custom-control-label::before {
  background-color: var(--primary); border-color: var(--primary-dark);
}
.form-check-input[type="checkbox"]:checked { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3E%3C/svg%3E"); }
.form-check-input[type="radio"]:checked { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='5' fill='%23000'/%3E%3C/svg%3E"); }
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23000' d='M6.564.75 3.59 3.724l-1.154-1.15L1 4l2.59 2.59L8 2.187z'/%3E%3C/svg%3E"); }
.select2-dropdown, .select2-search__field { background: var(--surface); color: var(--text); border-color: var(--border); }
.select2-container--default .select2-selection__rendered { color: var(--text); }
.select2-container--default .select2-results__option--highlighted[aria-selected],
.bootstrap-tagsinput .tag, .select2-container--default .select2-selection__choice { background: var(--primary); color: var(--black); border-color: var(--primary); }
.tagify { --tags-border-color: var(--border); --tags-focus-border-color: var(--primary); --tag-bg: var(--background); --tag-hover: var(--soft-accent); --tag-text-color: var(--text); --tag-text-color--edit: var(--text); }
.upload-options, .upload-options:hover { background: var(--primary); }
.upload-options label::after, .upload-options .material-icons { color: var(--black); }
.note-editor.note-frame { border-color: var(--border); }
.note-toolbar, .note-statusbar { background: var(--background); }

/* Spacious hero and neutral sections; no large yellow page backgrounds. */
.home-banner-area { background-color: var(--background) !important; color: var(--text); padding-block: 80px; }
.home-banner-area { background-size: auto 82% !important; background-position: 18% center !important; }
.navbar-brand img[src*="academy-wordmark"] { width: 220px; height: auto; max-width: 43vw; object-fit: contain; }
.footer-area img[src*="academy-wordmark"] { width: 240px; height: auto; max-width: 100%; }
.topnav-logo img[src*="academy-emblem"], .logo img[src*="academy-emblem"] { width: 48px; height: 48px; padding: 2px; object-fit: contain; border-radius: 10px; background: #FFFCF5; }
.home-banner-wrap { max-width: 520px; }
.home-banner-wrap h2 { color: var(--text); font-size: clamp(30px, 3.5vw, 50px); line-height: 1.45; }
.home-banner-wrap p { color: var(--text); }
.brand-eyebrow { display: inline-block; margin-bottom: 18px; padding: 7px 14px; background: var(--soft-accent); border: 1px solid var(--primary); border-radius: 30px; font-size: 13px; color: var(--text); }
.brand-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.brand-hero-actions .btn { padding: 12px 24px; font-weight: 700; }
.search-box-shadow { border: 1px solid var(--border); border-radius: 10px; box-shadow: var(--shadow); }
.home-fact-area { background: var(--background); color: var(--text); margin-bottom: 32px; padding-block: 24px; }
.home-fact-box { height: 100%; }
.home-fact-box .text-box p { color: var(--muted); }
.category-header-area, .course-header-area { background-color: var(--background) !important; color: var(--text); }
.category-header-area .image-placeholder-1, .category-header-area .image-placeholder-2,
.category-header-area .image-placeholder-3 { background: none !important; }
.category-header-area .breadcrumb *, .course-header-area .breadcrumb *,
.category-header-area .text-light, .category-header-area .text-white, .course-header-area .text-white { color: var(--text) !important; }
.featured-instructor, .section-blog { background-color: var(--surface); }
.become-instructor-area, .get-started-area { background: var(--background); color: var(--text); }

/* Ivory surfaces preserve the supplied logo's navy lettering. */
.footer-area { background: var(--background); color: var(--text); border-top: 1px solid var(--border); }
.footer-area .text-white, .footer-area .footer-hover-link, .footer-summary { color: var(--text) !important; }
.footer-summary { background: var(--surface); border: 1px solid var(--border); border-radius: 12px; }
.footer-hover-link:hover { color: var(--primary-dark) !important; }
ul.footer-social-link li { background: var(--surface); border: 1px solid var(--border); color: var(--text); }
ul.footer-social-link li a { color: var(--text); }
ul.footer-social-link li:hover { background: var(--primary); }
.eu-cookie-compliance, .cookieConsentContainer { background: var(--surface); color: var(--text); border: 1px solid var(--border); box-shadow: var(--shadow); }
.cookieConsentContainer { opacity: 1 !important; }
.course_header_col, .course_content_area, .course_content_sidebar { background-color: var(--surface); color: var(--text); border-color: var(--border); }
.bd-primary-to-success { background: var(--background) !important; color: var(--text); }

@media (max-width: 991px) {
  .home-banner-area { padding-block: 48px; }
  .home-fact-box { margin-block: 6px; }
  .home-banner-wrap .search-box { display: flex; position: static; visibility: visible; opacity: 1; width: 100%; margin: 0; padding: 0; background: var(--surface); box-shadow: none; }
  .menu-area .mobile-nav-trigger, .menu-area .mobile-search-trigger,
  .menu-area .mobile-nav-trigger:hover, .menu-area .mobile-search-trigger:hover { color: transparent !important; }
  .mobile-search-trigger::before { border-color: var(--text); }
  .mobile-search-trigger::after, .mobile-nav-trigger span, .mobile-nav-trigger span::before,
  .mobile-nav-trigger span::after { background-color: var(--text); }
}
@media (max-width: 767px) {
  .home-banner-area { background-image: none !important; padding-block: 36px; }
  .home-banner-wrap { max-width: 100%; }
  .brand-hero-actions .btn { flex: 1 1 auto; text-align: center; }
  .home-banner-wrap .search-box { display: flex !important; }
  .home-banner-wrap .search-box .form-control { min-width: 0; }
  .become-user-label { background-image: none !important; padding: 24px; height: auto; min-height: 150px; border: 1px solid var(--border); border-radius: 12px; }
  .become-user-label h3 { width: 100% !important; font-size: 24px; line-height: 1.5; }
}
@media (prefers-reduced-motion: reduce) {
  .btn, a, .course-box, .course-box-2, .top-categories, .card-blog { transition: none; }
}
