/* ===================================
    Crafto - Elearning
====================================== */
/* font */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100;300;400;500;600;700;800;900&display=swap');

/* variable */
:root {
    --base-color: #d5d52b;
    --dark-gray: #313e3b;
    --medium-gray: #828c8a;
    --yellow: #d5d52c;
    --extra-medium-gray: #e4e4e4;
}

/* reset */
body {
    font-size: 17px;
    line-height: 30px;
    overflow-x: hidden;
}

a:hover {
    color: var(--dark-gray);
}

.top-25 {
    top: 25%;
}

.mt-minus-12 {
    margin-top: -12%;
}

.mt-minus-1 {
    margin-top: -1%;
}

.left-minus-200px {
    left: -200px;
}

.mt-minus-4 {
    margin-top: -4px;
}

.bottom-minus-320px {
    bottom: -320px;
}

.terms-condition .box:before {
    border-color: #e4e4e4;
    background-color: var(--white);
    top: 1px;
}

.terms-condition .box:after {
    top: 5px;
}

/* border color */
.border-color-transparent-white-very-light {
    border-color: rgba(255, 255, 255, 0.2) !important;
}

.border-color-transparent-dark-very-light {
    border-color: var(--extra-medium-gray) !important;
}

/* bg gradient color */
.bg-gradient-deep-zuccini-green {
    background-image: linear-gradient(to right bottom, #19493e, #164339, #143e34, #113830, #0f332b);
}

.bg-gradient-aztec-green {
    background-image: linear-gradient(to right bottom, #313e3b, #2e3b38, #2c3835, #293532, #27322f);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* Footer background extension */
footer.bg-gradient-aztec-green {
    background-image:
        url('../images/vertical-line-bg-small.svg'),
        linear-gradient(to right bottom, #313e3b, #2e3b38, #2c3835, #293532, #27322f);
    background-size: cover, cover;
    background-position: center top, center;
    background-repeat: no-repeat, no-repeat;
}

.bg-gradient-tranquil-white {
    background-image: linear-gradient(to bottom, #ffffff, #f7f9f9, #f3f6f6, #eff3f3, #ecf1f1);
}

.bg-yellow {
    background-color: var(--yellow);
}

.bg-tranquil {
    background-color: #f3f8f8;
}

.bg-gradient-dark-transparent {
    background: -webkit-gradient(linear, left bottom, left top, color-stop(7%, #36332e), to(transparent));
    background: linear-gradient(to top, #262a29 0%, transparent 100%);
}

/* header */
.navbar .navbar-nav .nav-link {
    font-size: 18px;
}

header .navbar-brand img {
    max-height: 100px;
}

header .navbar-brand {
    padding: 10px 0;
}

/* Header icons - keep on same line */
.header-icon {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 10px !important;
}

.header-icon>* {
    flex-shrink: 0 !important;
}

.header-icon>div {
    display: inline-flex !important;
    align-items: center !important;
}

.language-switcher {
    display: inline-flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    white-space: nowrap !important;
}

.col-auto.col-lg-3.text-end {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
}

.col-auto.col-lg-3.text-end.d-none.d-sm-flex {
    display: flex !important;
}

/* Ensure language switcher margin doesn't break layout */
.language-switcher.me-20px {
    margin-right: 20px !important;
    margin-bottom: 0 !important;
}

/* Override any Bootstrap utility classes that might stack items */
.header-icon .d-flex {
    display: inline-flex !important;
}

.navbar .navbar-nav .dropdown.dropdown-with-icon .dropdown-menu {
    width: 335px;
    padding: 25px 35px;
}

.navbar .navbar-nav .dropdown.dropdown-with-icon .dropdown-menu li a {
    padding: 15px 30px 21px 0;
}

.navbar .navbar-nav .dropdown.dropdown-with-icon .dropdown-menu li a p {
    font-size: 14px;
    line-height: normal;
    font-weight: 400;
}

.navbar .navbar-nav .dropdown.dropdown-with-icon .dropdown-menu li a span {
    font-size: 17px;
}

.navbar .navbar-nav .dropdown.dropdown-with-icon .dropdown-menu li a i {
    color: var(--dark-gray);
    font-size: 34px;
}

.navbar .navbar-nav .dropdown.dropdown-with-icon .dropdown-menu li.active>a {
    opacity: 0.7;
}

/* icon */
.icon-extra-medium {
    font-size: 22px;
}

.video-icon-large .video-icon {
    width: 70px;
    height: 70px;
    font-size: 18px;
}

.video-icon-large .video-icon .video-icon-sonar .video-icon-sonar-bfr {
    width: 120px;
    height: 120px;
}

.video-icon-large .video-icon .video-icon-sonar .video-icon-sonar-afr {
    width: 90px;
    height: 90px;
}

.medium-icon li,
.small-icon li {
    margin: 0 3px;
}

/* review  */
.review-star-icon i {
    letter-spacing: 1px;
}

/* btn */
.btn {
    font-family: var(--primary-font);
    text-transform: none;
    letter-spacing: 0;
}

.btn.btn-switch-text.btn-extra-large>span {
    padding: 15px 38px;
    font-size: 17px;
}

.btn.btn-switch-text.btn-large>span {
    padding: 13px 32px;
    font-size: 15px;
}

.btn.btn-switch-text.btn-medium>span {
    padding: 12px 30px;
    font-size: 14px;
}

.btn.btn-base-color {
    color: var(--dark-gray);
}

.btn.btn-base-color:hover,
.btn.btn-box-shadow.btn-base-color:hover {
    background-color: var(--base-color);
    color: var(--dark-gray);
}

.btn.btn-link {
    padding: 0 0 2px;
}

/* heading */
h2 {
    line-height: 3.2rem;
}

/* tab */
.tab-style-04 .nav-tabs .nav-item {
    padding: 0;
    width: 25%;
}

.tab-style-04 .nav-tabs .nav-item .nav-link {
    color: var(--medium-gray);
}

.tab-style-04 .nav-tabs .nav-item .nav-link .tab-border {
    height: 3px;
}

.tab-style-04 .nav-tabs .nav-item .nav-link.active {
    font-weight: 600;
    border: 0;
    outline: 0;
}

.tab-style-04 .nav-tabs .nav-item .nav-link:focus-visible {
    outline: none;
    box-shadow: none;
}

/* accordion */
.accordion-style-04 .accordion-item .accordion-body {
    padding: 0 35px 25px;
}

.accordion-style-04 .accordion-item .accordion-collapse {
    margin-top: -1px;
}

/* progress bar */
.progress-bar-style-02 .progress {
    height: 10px;
}

/* page title */
.page-title-extra-small h2 {
    font-size: 2.75rem;
    line-height: 2.75rem;
}

.page-title-extra-small h1 {
    font-size: 20px;
}

/* pages */
.contact-form-style-03>div {
    border-radius: 6px 0 6px 0;
}

/* newsletter style 02 */
.newsletter-style-02 input {
    padding-right: 100px !important;
    font-size: 14px;
}

/* footer */
footer {
    padding-bottom: 30px;
}

footer .footer-logo img {
    max-height: 39px;
}

.footer-dark,
.footer-dark .newsletter-style-02 input,
.footer-dark p,
.footer-dark a {
    color: var(--medium-gray);
}

.footer-dark a:hover {
    color: var(--base-color);
}

.footer-dark .newsletter-style-02 input::placeholder {
    color: var(--medium-gray) !important;
    opacity: 1;
    /* Firefox */
}

.footer-dark .newsletter-style-02 input:-ms-input-placeholder {
    color: var(--medium-gray) !important;
}

.footer-dark .newsletter-style-02 input::-ms-input-placeholder {
    color: var(--medium-gray) !important;
}

.footer-dark .elements-social .light li a:hover {
    color: var(--white);
    opacity: .5;
}

.footer-dark .small-icon li {
    margin: 0 7px;
}

.footer-navbar li {
    line-height: normal;
}

footer ul li {
    margin-bottom: 2px;
}

/* media query responsive */
@media (max-width: 1399px) {
    .accordion-style-06 .accordion-item {
        padding-left: 35px;
    }
}

@media (max-width: 1199px) {
    .navbar .navbar-nav .nav-link {
        font-size: 16px;
    }

    .navbar .navbar-nav .nav-link {
        padding-left: 12px;
        padding-right: 12px;
    }

    .team-style-05 .social-icon a {
        margin: 0 10px;
    }
}

.rtl span.ms-auto {
    margin-right: auto;
    margin-left: 0 !important;
}

@media (max-width: 991px) {
    .widget-text {
        color: var(--dark-gray);
    }

    .navbar .navbar-nav .nav-link {
        font-size: 18px;
    }

    .team-style-05 .social-icon a {
        margin: 0 10px;
    }

    .navbar .navbar-nav .dropdown.dropdown-with-icon .dropdown-menu {
        padding: 0 15px 6px 15px;
    }

    /* Header icons responsive - keep on same line */
    .header-icon {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        gap: 8px !important;
    }

    .header-icon>div {
        display: inline-flex !important;
        align-items: center !important;
    }

    .language-switcher {
        display: inline-flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        gap: 5px !important;
    }

    .language-switcher .lang-btn {
        white-space: nowrap !important;
    }

    /* Header container alignment */
    header .container-fluid {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
    }

    header .col-auto.col-lg-3 {
        flex-shrink: 0 !important;
        display: flex !important;
    }

    .col-auto.col-lg-3.text-end {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
    }

    .phone-nav-icon {
        display: none;
    }

    /* RTL navbar responsive fixes */
    .rtl .navbar .navbar-nav .dropdown.dropdown-with-icon .dropdown-menu li a i {
        margin-right: 0;
        margin-left: 15px;
    }

    .rtl .navbar .navbar-nav .dropdown-toggle {
        right: auto;
        left: 0;
    }

    .rtl .navbar-toggler.float-start {
        float: right !important;
    }

    /* RTL Modern menu fixes */
    .rtl[data-mobile-nav-style=modern] .navbar-modern-inner .navbar-collapse {
        padding: 100px 50px !important;
    }

    .rtl[data-mobile-nav-style=modern] .navbar-modern-inner .mCSB_inside>.mCSB_container {
        padding: 0 20px !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }

    .rtl[data-mobile-nav-style=modern] .navbar-modern-inner .navbar-nav {
        width: 100%;
        padding: 15px 15px 15px !important;
    }

    .rtl[data-mobile-nav-style=modern] .navbar-modern-inner .navbar-nav>.nav-item {
        padding: 10px 0px !important;
    }

    /* RTL Modern menu background */
    .rtl[data-mobile-nav-style=modern] .navbar-show-modern-bg {
        left: auto !important;
        right: 0 !important;
    }
}

@media (max-width: 767px) {
    .accordion-style-05 .accordion-item {
        padding: 20px 35px 22px 55px;
    }

    .contact-form-style-03>div {
        border-radius: 6px;
    }

    .tab-style-04 .nav-tabs .nav-item:last-child {
        margin-bottom: 0;
    }

    .accordion-style-04 .accordion-item .accordion-body {
        padding: 0 25px 25px;
    }

    .tab-style-04 .nav-tabs .nav-item {
        width: auto;
    }

    /* Header icons - smaller screens still on same line */
    .header-icon {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        gap: 6px !important;
    }

    .header-icon>div {
        display: inline-flex !important;
        align-items: center !important;
    }

    .language-switcher {
        display: inline-flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        gap: 4px !important;
        font-size: 14px !important;
    }

    .language-switcher .lang-btn {
        font-size: 13px !important;
        white-space: nowrap !important;
    }

    .language-switcher i,
    .language-switcher .feather {
        font-size: 14px !important;
    }

    .widget-text i,
    .widget-text .feather {
        font-size: 16px !important;
    }

    .col-auto.col-lg-3.text-end {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
    }

    /* RTL navbar responsive fixes for small screens */
    .rtl .navbar .navbar-nav .dropdown.dropdown-with-icon .dropdown-menu {
        text-align: right;
    }

    .rtl .navbar-collapse {
        right: auto;
        left: 0;
    }

    /* RTL Modern menu fixes for small screens */
    .rtl[data-mobile-nav-style=modern] .navbar-modern-inner .navbar-collapse {
        padding: 70px 50px !important;
    }

    .rtl[data-mobile-nav-style=modern] .navbar-modern-inner .navbar-nav {
        width: 100%;
    }

    .rtl[data-mobile-nav-style=modern] .navbar-modern-inner .navbar-nav>.nav-item {
        padding: 7px 0px !important;
    }

    /* RTL Modern menu background for small screens */
    .rtl[data-mobile-nav-style=modern] .navbar-show-modern-bg {
        left: auto !important;
        right: 0 !important;
    }
}

@media (max-width: 575px) {
    .accordion-style-06 .accordion-item {
        padding-left: 20px;
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .accordion-style-06 .accordion-item.active-accordion {
        padding-top: 20px;
        padding-bottom: 20px;
    }

    .accordion-style-05 .accordion-item {
        padding: 17px 20px 17px 45px;
    }

    .accordion-style-05 .accordion-item .accordion-body {
        padding-right: 15px;
    }

    .accordion .accordion-item .accordion-header .accordion-title {
        line-height: 28px;
    }
}

/* ===================================
    Courses Dropdown Enhancements
====================================== */

/* Enhanced dropdown menu styling */
.navbar .dropdown-menu {
    border: none;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    padding: 15px 0;
    margin-top: 10px;
}

.navbar .dropdown-menu li {
    margin: 0;
}

.navbar .dropdown-menu li a {
    padding: 12px 20px;
    display: flex;
    align-items: center;
    transition: all 0.3s ease;
    border: none;
    background: transparent;
}

.navbar .dropdown-menu li a:hover {
    background-color: #f8f9fa;
    color: var(--base-color);
}

.navbar .dropdown-menu li a i {
    font-size: 18px;
    margin-right: 15px;
    width: 20px;
    text-align: center;
    color: var(--base-color);
}

.navbar .dropdown-menu .submenu-icon-content {
    flex: 1;
}

.navbar .dropdown-menu .submenu-icon-content span {
    display: block;
    font-weight: 600;
    color: #333;
    margin-bottom: 2px;
}

.navbar .dropdown-menu .submenu-icon-content p {
    margin: 0;
    font-size: 13px;
    color: #666;
    line-height: 1.3;
}

/* Smooth scroll behavior for course sections */
html {
    scroll-behavior: smooth;
}

/* Course section highlighting when scrolled to */
.grid-item[id] {
    transition: all 0.3s ease;
}

.grid-item[id]:target {
    transform: scale(1.02);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1);
}

/* RTL Dropdown submenu icon content */
.rtl .navbar .dropdown-menu .submenu-icon-content {
    text-align: right;
}

/* RTL Language switcher spacing */
.rtl .language-switcher .me-20px {
    margin-left: 20px;
    margin-right: 0;
}

.rtl .language-switcher .me-10px {
    margin-left: 10px;
    margin-right: 0;
}

.rtl .language-switcher .ms-10px {
    margin-right: 10px;
    margin-left: 0;
}

.rtl .language-switcher .feather.icon-feather-globe {
    margin-right: 0;
    margin-left: 10px;
}

/* RTL Full width layout fixes */
.rtl {
    overflow-x: hidden;
    width: 100%;
}

.rtl * {
    box-sizing: border-box;
}

.rtl body,
.rtl html {
    overflow-x: hidden;
    width: 100%;
    max-width: 100%;
}

.rtl .container,
.rtl .container-fluid {
    max-width: 100%;
}

.rtl section,
.rtl .row {
    max-width: 100%;
    overflow: hidden;
}

/* Loading overlay */
#loading-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100vw;
    height: 100vh;
    background: #ffffff;
    z-index: 99999;
    transition: opacity .3s ease, visibility .3s ease;
    /* Prevent any layout shifts */
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

#loading-overlay.hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.loading-overlay__content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: block;
    width: 140px;
    text-align: center;
    /* Prevent any recalculation */
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

.loading-overlay__logo {
    width: 140px;
    height: auto;
    display: block;
    margin: 0 auto 12px;
    /* Prevent image load shift */
    min-height: 0;
    object-fit: contain;
}

.loading-overlay__text {
    /* Use system font here to avoid webfont swap shift */
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Arial, sans-serif;
    font-weight: 600;
    font-size: 18px;
    line-height: 1.2;
    color: var(--dark-gray, #333333);
    letter-spacing: .5px;
    margin: 0;
    padding: 0;
    display: block;
    width: 100%;
    text-align: center;
}

/* Prevent scrolling while loading */
body.loading-locked {
    overflow: hidden !important;
    touch-action: none;
    /* Prevent scrollbar width shift */
    padding-right: 0 !important;
}