/* XAP Core Theme: shared/global styles only.
   Keep section-specific CSS inside respective comm-* folders. */
:root {
    --xap-core-brand: var(--brand-color, #c62828);
    --xap-core-brand-light: var(--brand-color-light, #e53935);
    --xap-core-brand-rgb: 198, 40, 40;
    --xap-core-heading: var(--brand-dark, #10284a);
    --xap-core-text-strong: var(--brand-text-strong, #10284a);
    --xap-core-text-soft: var(--brand-text-soft, rgba(8, 50, 74, 0.72));
    --xap-core-border-soft: var(--brand-border-soft, rgba(31, 35, 41, 0.08));
    --xap-core-shadow-soft: var(--brand-shadow-soft, 0 10px 26px rgba(18, 40, 74, 0.10));
    --xap-core-shadow-hover: var(--brand-shadow-hover, 0 18px 38px rgba(18, 40, 74, 0.14));
    --xap-core-icon-grad: var(--brand-icon-grad, var(--xap-core-brand));
    --xap-core-icon-shadow: var(--brand-icon-shadow, 0 8px 16px rgba(var(--xap-core-brand-rgb), 0.24));
}

b,
strong,
h1,
h2,
h3,
h4,
h5,
h6,
.title,
[class*="title"],
.xap-title {
    font-weight: 400 !important;
}

html,
body {
    overflow-x: clip;
    overflow-y: auto;
}

/* Font Awesome compatibility: site uses FA6 class names with FA5 local font files */
.fa-solid,
.fas {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}

.fa-regular,
.far {
    font-family: "Font Awesome 5 Free";
    font-weight: 400;
}

.fa-brands,
.fab {
    font-family: "Font Awesome 5 Brands";
    font-weight: 400;
}

.fa-shield-halved:before { content: "\f3ed"; }
.fa-truck-fast:before { content: "\f48b"; }
.fa-screwdriver-wrench:before { content: "\f0ad"; }
.fa-arrow-right-long:before { content: "\f061"; }
.fa-arrow-left-long:before { content: "\f060"; }
.fa-arrows-left-right:before { content: "\f337"; }
.fa-circle-stop:before { content: "\f28d"; }
.fa-rotate:before { content: "\f2f1"; }
.fa-gauge:before { content: "\f3fd"; }
.fa-steering-wheel:before { content: "\f1b9"; }

.container {
    width: 100%;
    max-width: 1320px;
    padding-left: 16px;
    padding-right: 16px;
}

@media (min-width: 1200px) {
    .container {
        padding-left: 20px;
        padding-right: 20px;
    }
}

@media (max-width: 767.98px) {
    .container {
        padding-left: 14px;
        padding-right: 14px;
    }
}

.xap-split-layout {
    display: grid;
    grid-template-columns: minmax(0, 60fr) minmax(0, 40fr);
    align-items: center;
    gap: 1.2rem 2.2rem;
}

.xap-split-col {
    min-width: 0;
}

.xap-split-text-inner { padding-left: 0; }

.xap-split-title {
    margin: 0;
    text-align: left;
}

.xap-split-heading {
    margin: 0;
    color: var(--xap-core-text-strong);
    line-height: 1.2;
}

.xap-split-copy {
    margin-top: 30px;
    color: var(--xap-core-text-soft);
    line-height: 1.55;
}

.xap-split-sidebox {
    background: #ffffff !important;
    border: 1px solid rgba(var(--xap-core-brand-rgb), 0.2) !important;
    border-radius: 14px !important;
    box-shadow: 0 14px 30px rgba(18, 40, 74, 0.12), 0 8px 18px rgba(var(--xap-core-brand-rgb), 0.1) !important;
}

.xap-hero-split {
    display: grid;
    grid-template-columns: minmax(0, 40fr) minmax(0, 60fr);
    align-items: center;
    gap: 1.2rem 2.2rem;
}

.xap-hero-split > [class*="col-"] {
    width: auto !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    min-width: 0;
}

.xap-hero-split .icon i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: #ffffff;
    font-size: 20px;
}

.xap-hero-split .xap-feature-wrapper {
    margin-top: 18px !important;
    display: grid;
    gap: 12px;
}

.xap-hero-split .xap-feature.feature-style-1 {
    background: #ffffff !important;
    border: 0 !important;
    border-radius: 14px !important;
    padding: 14px 16px !important;
    box-shadow: var(--xap-core-shadow-soft) !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
}

.xap-hero-split .xap-feature .icon {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    border-radius: 11px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ffffff !important;
    background: var(--xap-core-icon-grad) !important;
    box-shadow: var(--xap-core-icon-shadow) !important;
}

.xap-hero-split .xap-feature .feature-content {
    min-width: 0;
}

.xap-hero-split .xap-feature .feature-title {
    margin: 0 0 4px !important;
    color: var(--xap-core-brand) !important;
    font-weight: 400 !important;
    font-size: 24px !important;
    line-height: 1.24 !important;
}

.xap-hero-split .xap-feature .feature-description {
    margin: 0 !important;
    font-weight: 400 !important;
    line-height: 1.48 !important;
}

/* Part-page hero compatibility:
   many part pages use legacy rbt-* classes inside xap-hero-split.
   Mirror engine/transmission hero UI for consistent image + text + cards. */
.xap-hero-split {
    align-items: stretch !important;
}

.xap-hero-split > [class*="col-"] {
    display: flex;
}

.xap-hero-split .course-thumbnail,
.xap-hero-split .inner {
    width: 100%;
    height: 100%;
}

.xap-hero-split .course-thumbnail {
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 18px 44px rgba(18, 40, 74, 0.16);
    min-height: 560px;
    background: #ffffff;
}

.xap-hero-split .course-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.xap-hero-split .inner {
    display: flex;
    flex-direction: column;
}

.xap-hero-split .rbt-feature-wrapper {
    margin-top: 18px !important;
    display: grid;
    gap: 12px;
}

.xap-hero-split .rbt-feature.feature-style-1 {
    background: #ffffff !important;
    border: 0 !important;
    border-radius: 14px !important;
    padding: 14px 16px !important;
    box-shadow: var(--xap-core-shadow-soft) !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
}

.xap-hero-split .rbt-feature .icon {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    border-radius: 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ffffff !important;
    background: var(--xap-core-icon-grad) !important;
    box-shadow: var(--xap-core-icon-shadow) !important;
}

.xap-hero-split .rbt-feature .icon i {
    font-size: 18px !important;
    line-height: 1 !important;
    color: #ffffff !important;
}

.xap-hero-split .rbt-feature .feature-content {
    min-width: 0;
}

.xap-hero-split .rbt-feature .feature-title {
    margin: 0 0 4px !important;
    color: var(--xap-core-brand) !important;
    font-weight: 400 !important;
    font-size: 24px !important;
    line-height: 1.24 !important;
}

.xap-hero-split .rbt-feature .feature-description {
    margin: 0 !important;
    font-weight: 400 !important;
    line-height: 1.48 !important;
}

/* Engine hero: keep media/content blocks equal height like transmission layout */
.xap-engine-hero .xap-hero-split {
    align-items: stretch !important;
}

.xap-engine-hero .xap-hero-split > [class*="col-"] {
    display: flex;
}

.xap-engine-hero .course-thumbnail,
.xap-engine-hero .inner {
    width: 100%;
    height: 100%;
}

.xap-engine-hero .course-thumbnail {
    border-radius: 22px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.34);
    box-shadow: 0 30px 70px rgba(0, 0, 0, 0.18);
    background: #ffffff;
}

.xap-engine-hero .course-thumbnail img {
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
    display: block;
}

.xap-engine-hero .inner {
    display: flex;
    flex-direction: column;
}

/* Global icon badge normalization */
.xap-step__icon,
.xap-trans-usp-card__icon,
.xap-feature .icon {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    border-radius: 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--xap-core-icon-grad) !important;
    color: #ffffff !important;
    box-shadow: var(--xap-core-icon-shadow) !important;
}

.xap-step__icon i,
.xap-trans-usp-card__icon i,
.xap-feature .icon i,
.xap-feature .icon svg {
    font-size: 18px !important;
    line-height: 1 !important;
    color: #ffffff !important;
}

/* Sticky header baseline */
.xap-header.xap-header-10 {
    position: sticky;
    top: 0;
    z-index: 9999;
    background: #ffffff;
}

.xap-header.xap-header-10 .xap-header-wrapper {
    background: #ffffff;
}

/* Menu item weight: keep navigation lists regular (not bold) */
.mainmenu-nav .mainmenu > li > a,
.mainmenu-nav .mega-menu-item li a,
.mainmenu-nav .submenu li a,
.popup-mobile-menu .mainmenu li a {
    font-weight: 400 !important;
}

/* Mobile header layout: 40% logo, 40% phone, 20% hamburger */
@media (max-width: 991.98px) {
    .xap-header .mainbar-row.xap-navigation-start {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 0 !important;
    }

    .xap-header .mainbar-row .header-left.xap-header-content {
        width: 40% !important;
        max-width: 40% !important;
        flex: 0 0 40% !important;
        min-width: 0 !important;
    }

    .xap-header .mainbar-row .header-left .logo img {
        width: 100% !important;
        max-width: 170px !important;
        height: auto !important;
    }

    .xap-header .mainbar-row .header-right {
        width: 60% !important;
        max-width: 60% !important;
        flex: 0 0 60% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        min-width: 0 !important;
        gap: 0 !important;
    }

    .xap-header .header-right .xap-free-trial-wrap {
        width: 66.6667% !important;
        max-width: 66.6667% !important;
        flex: 0 0 66.6667% !important;
        display: flex !important;
        justify-content: flex-end !important;
        padding-right: 6px !important;
        min-width: 0 !important;
    }

    .xap-header .header-right .xap-free-trial-btn {
        width: 100% !important;
        max-width: 190px !important;
        min-height: 38px !important;
        padding: 8px 10px !important;
        font-size: 13px !important;
        line-height: 1 !important;
        justify-content: center !important;
        white-space: nowrap !important;
    }

    .xap-header .header-right .xap-free-trial-btn i {
        font-size: 12px !important;
    }

    .xap-header .header-right .mobile-menu-bar {
        width: 25.3333% !important;
        max-width: 24.3333% !important;
        flex: 0 0 33.3333% !important;
        display: flex !important;
        justify-content: flex-end !important;
        padding-left: 6px !important;
    }

    .xap-header .header-right .hamberger {
        width: 100% !important;
        display: flex !important;
        justify-content: flex-end !important;
    }

    .xap-header .header-right .hamberger-button {
        width: 38px !important;
        height: 38px !important;
        min-width: 38px !important;
        min-height: 38px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
}

@media (max-width: 991.98px) {
    .xap-split-layout {
        grid-template-columns: 1fr;
    }

    .xap-hero-split {
        grid-template-columns: 1fr;
    }

    .xap-hero-split .xap-feature.feature-style-1 {
        padding: 12px !important;
    }

    .xap-hero-split .xap-feature .feature-title {
        font-size: 20px !important;
    }

    .xap-split-text-inner {
        padding-left: 0;
    }

    .xap-engine-hero .course-thumbnail img {
        height: auto;
    }

    .xap-step__icon,
    .xap-trans-usp-card__icon,
    .xap-feature .icon {
        width: 34px !important;
        height: 34px !important;
        min-width: 34px !important;
        border-radius: 9px !important;
    }

    .xap-step__icon i,
    .xap-trans-usp-card__icon i,
    .xap-feature .icon i,
    .xap-feature .icon svg {
        font-size: 15px !important;
    }
}

/* Engine hero compatibility:
   Engine pages now use xap-trans-hero wrapper but legacy inner markup.
   These rules align spacing/UI with transmission hero section. */
.xap-trans-hero .xap-trans-hero__row {
    align-items: stretch;
    --bs-gutter-x: clamp(22px, 2.4vw, 36px);
    --bs-gutter-y: 16px;
}

.xap-trans-hero .xap-trans-hero__row > [class*="col-"] {
    display: flex;
}

.xap-trans-hero .course-thumbnail,
.xap-trans-hero .inner {
    width: 100%;
    height: 100%;
}

.xap-trans-hero .course-thumbnail {
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 18px 44px rgba(18, 40, 74, 0.16);
    min-height: 560px;
    background: #ffffff;
}

.xap-trans-hero .course-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.xap-trans-hero .inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-left: 0 !important;
}

.xap-trans-hero .section-title.xap-trans-hero__heading .title {
    margin-bottom: 6px;
    line-height: 1.14;
}

.xap-trans-hero .xap-trans-hero__desc {
    margin-top: 14px;
    margin-bottom: 0;
}

.xap-trans-hero .xap-feature-wrapper.xap-trans-usp-list {
    margin-top: 20px !important;
    display: grid;
    gap: 12px;
}

.xap-trans-hero .xap-feature-wrapper.xap-trans-usp-list .xap-feature.feature-style-1 {
    background: #ffffff !important;
    border: 0 !important;
    border-radius: 14px !important;
    padding: 14px 16px !important;
    box-shadow: var(--xap-core-shadow-soft) !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    margin: 0 !important;
}

.xap-trans-hero .xap-feature-wrapper.xap-trans-usp-list .xap-feature .icon {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    border-radius: 11px !important;
}

.xap-trans-hero .xap-feature-wrapper.xap-trans-usp-list .xap-feature .feature-title {
    margin: 0 0 4px !important;
    color: var(--xap-core-brand) !important;
    font-size: 24px !important;
    line-height: 1.24 !important;
    font-weight: 400 !important;
}

.xap-trans-hero .xap-feature-wrapper.xap-trans-usp-list .xap-feature .feature-description {
    margin: 0 !important;
    line-height: 1.48 !important;
}

.xap-trans-hero .xap-trans-hero__cta {
    margin-top: 18px;
}

@media (max-width: 991.98px) {
    .xap-trans-hero .course-thumbnail {
        min-height: 380px;
    }

    .xap-trans-hero .xap-feature-wrapper.xap-trans-usp-list .xap-feature .feature-title {
        font-size: 20px !important;
    }
}

@media (max-width: 575.98px) {
    .xap-trans-hero .course-thumbnail {
        min-height: 280px;
    }

    .xap-trans-hero .xap-feature-wrapper.xap-trans-usp-list .xap-feature.feature-style-1 {
        padding: 12px !important;
    }

    .xap-trans-hero .xap-feature-wrapper.xap-trans-usp-list .xap-feature .feature-title {
        font-size: 17px !important;
    }

    .xap-trans-hero .xap-feature-wrapper.xap-trans-usp-list .xap-feature .feature-description {
        font-size: 14px !important;
    }
}

