/* Theme Default style
-------------------------------------------------------------- */
* {
    box-sizing: border-box;
}

:root {
    --fc-v5-red: #d02c26;
    --fc-v5-red-hover: #c0351d;
    --fc-v5-blue-dark: rgb(30, 58, 138);
    --fc-v5-blue-light: rgb(239, 246, 255);
    --fc-shadow-premium: 0 10px 30px rgba(0, 0, 0, 0.08);
}

/* Swiper Global Customization */
.swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    background: #ccc;
    opacity: 1;
    transition: all 0.3s ease;
}

.swiper-pagination-bullet-active {
    background: var(--fc-primary);
    width: 25px;
    border-radius: 5px;
}

.swiper-pagination {
    position: relative !important;
    margin-top: 20px;
}

/* HTML and Body Styles
--------------------------------------------------------------*/
html,
body {
    font-weight: 400;
    font-size: 14px;
    margin: 0px;
    padding: 0px;
    font-optical-sizing: auto;
    font-style: normal;
    line-height: inherit;
}

/* Link Styles
--------------------------------------------------------------*/
a {
    text-decoration: none;
}

/* Paragraph Styles
--------------------------------------------------------------*/
p {
    margin: 5px 0px;
}

/* Utility Classes
--------------------------------------------------------------*/
.bg-white {
    background-color: #FFF;
}

.bg-blue-light {
    background-color: var(--fc-v5-blue-light) !important;
}

.bg-transparent {
    background: transparent;
}

.overflow-hidden {
    overflow: hidden;
}

.overflow-auto {
    overflow: auto;
}

.overflow-horizontal-auto {
    overflow-x: auto;
}

.overflow-vertical-auto {
    overflow: auto;
}

.bg-v5-blue-dark {
    background-color: #1e3a8a !important;
}

.bg-f1f5f9 {
    background-color: #f1f5f9 !important;
}

.bg-f8fafc {
    background-color: #f8fafc !important;
}

/* Typography Utilities
--------------------------------------------------------------*/
.font11 {
    font-size: 11px !important;
}

.font12 {
    font-size: 12px !important;
}

.font13 {
    font-size: 13px !important;
}

.font14 {
    font-size: 14px !important;
}

.font15 {
    font-size: 15px !important;
}

.font16 {
    font-size: 16px !important;
}

.font18 {
    font-size: 18px !important;
}

.font20 {
    font-size: 20px !important;
}

.font22 {
    font-size: 22px !important;
}

.font24 {
    font-size: 24px !important;
}

.font28 {
    font-size: 28px !important;
}

.font30 {
    font-size: 30px !important;
}

.font32 {
    font-size: 32px !important;
}

.font36 {
    font-size: 36px !important;
}

/* Section Label v5
--------------------------------------------------------------*/
.section-label-v5 {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 12px;
}



.section-label-v5.centered {
    padding: 0 44px;
}

.section-label-v5.centered::before {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

.section-label-v5.centered::after {
    content: "";
    width: 32px;
    height: 3px;
    background-color: var(--fc-v5-blue-dark);
    border-radius: 999px;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}

.font-weight-400 {
    font-weight: 400 !important;
}

.font-weight-500 {
    font-weight: 500 !important;
}

.font-weight-600 {
    font-weight: 600 !important;
}

.font-weight-700 {
    font-weight: 700 !important;
}

.font-weight-800 {
    font-weight: 800 !important;
}

.line-height-1-3 {
    line-height: 1.3 !important;
}

.line-height-1-6 {
    line-height: 1.6 !important;
}

.line-height-1-4 {
    line-height: 1.4 !important;
}

/* Spacing Utilities
--------------------------------------------------------------*/

.py-1-5 {
    padding-top: 7.5px !important;
    padding-bottom: 7.5px !important;
}

.py-2-5 {
    padding-top: 12.5px !important;
    padding-bottom: 12.5px !important;
}

.gap-1 {
    gap: 5px !important;
}

.gap-2 {
    gap: 10px !important;
}

.gap-3 {
    gap: 15px !important;
}

.gap-4 {
    gap: 25px !important;
}

/* Gutters */
.g-4 {
    margin: -4px !important;
    display: flex;
    flex-wrap: wrap;
}

.g-4>div,
.g-4>li,
.g-4>.col {
    padding: 6px !important;
}

/* Design Utilities v5 
-------------------------------------------------------------- */

.transition-transform-500 {
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.shadow-premium {
    box-shadow: var(--fc-shadow-premium) !important;
}

.object-fit-cover {
    object-fit: cover !important;
}

.z-2 {
    z-index: 2 !important;
}

.transition-03 {
    transition: all 0.3s ease !important;
}

.transition-05 {
    transition: all 0.5s ease !important;
}

/* Buttons v5 
-------------------------------------------------------------- */
.btn-v5-red {
    background-color: var(--fc-v5-red) !important;
    color: #fff !important;
    border: 2px solid transparent !important;
    padding: 12px 28px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    border-radius: 10px;
}

.btn-v5-red:hover {
    background-color: var(--fc-v5-red-hover) !important;
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px rgba(217, 65, 37, 0.3);
}

.btn-v5-outline-blue {
    background-color: transparent !important;
    color: var(--fc-v5-blue-dark) !important;
    border: 2px solid var(--fc-v5-blue-dark) !important;
    padding: 12px 28px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
}

.btn-v5-outline-blue:hover {
    background-color: var(--fc-v5-blue-dark) !important;
    color: #ffffff !important;
    transform: translateY(-2px);
}

.btn-view-all-red {
    background: var(--fc-v5-red);
    color: #fff !important;
    border-radius: 10px;
    padding: 12px 30px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    transition: all 0.3s;
}

.btn-view-all-red:hover {
    background: var(--fc-v5-red-hover);
    transform: scale(1.02);
}

/* UI Components v5
-------------------------------------------------------------- */
.badge-v5 {
    display: inline-block;
    text-transform: uppercase;
}

.aspect-3-2 {
    aspect-ratio: 3 / 2 !important;
}

/* Color Utilities
--------------------------------------------------------------*/
.color-primary {
    color: var(--fc_color_primary) !important;
}

.color-secondary {
    color: var(--fc_color_secondary) !important;
}

.color-tertiary {
    color: var(--fc_color_tertiary) !important;
}

.color-heading {
    color: var(--fc_color_heading) !important;
}

.color-white {
    color: #ffffff !important;
}

.color-grey {
    color: #6b7280 !important;
}

.color-blue200 {
    color: #bedbff !important;
}

.text-v5-blue-dark {
    color: #1e3a8a !important;
}

.bg-v5-orange {
    background-color: #f97316 !important;
}

.hover-v5-orange:hover {
    color: #f97316 !important;
}

.text-v5-yellow {
    color: #facc15 !important;
}

.text-64748b {
    color: #64748b !important;
}

.filter-v5-yellow {
    filter: invert(73%) sepia(85%) saturate(1633%) hue-rotate(345deg) brightness(101%) contrast(97%) !important;
}

.color-warning {
    color: rgb(232, 160, 32) !important;
}

.bg-v5-blue {
    background-color: var(--fc-v5-blue-dark) !important;
}

.bg-v5-blue-light {
    background-color: var(--fc-v5-blue-light) !important;
}

.background-white {
    background-color: #ffffff !important;
}

.background-f0 {
    background-color: #f0f0f0 !important;
}

.background-f8 {
    background-color: #f8f9fa !important;
}

/* Border Utilities
--------------------------------------------------------------*/
.border-radius-5 {
    border-radius: 5px !important;
}

.border-radius-8 {
    border-radius: 8px !important;
}

.border-radius-10 {
    border-radius: 10px !important;
}

.border-radius-end-10 {
    border-top-right-radius: 10px !important;
    border-bottom-right-radius: 10px !important;
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

.border-radius-14 {
    border-radius: 14px !important;
}

.border-radius-15 {
    border-radius: 15px !important;
}

.border-radius-20 {
    border-radius: 20px !important;
}

.border-radius-4 {
    border-radius: 4px !important;
}

.border-radius-12 {
    border-radius: 12px !important;
}

.border-radius-16 {
    border-radius: 16px !important;
}

.border-color-f1f5f9 {
    border-color: #f1f5f9 !important;
}

.border-color-e2e8f0 {
    border-color: #e2e8f0 !important;
}

.border-radius-999 {
    border-radius: 999px !important;
}

.border-f0 {
    border: 1px solid #f0f0f0 !important;
}

/* Sizing Utilities
 --------------------------------------------------------------*/
.container-1200 {
    width: 100%;
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 15px;
    padding-right: 15px;
}

.max-w-400 {
    max-width: 400px !important;
}

.max-w-600 {
    max-width: 600px !important;
}

.max-w-700 {
    max-width: 700px !important;
}

.max-w-800 {
    max-width: 800px !important;
}

.mx-auto {
    margin-left: auto !important;
    margin-right: auto !important;
}

.opacity-70 {
    opacity: 0.7 !important;
}

.opacity-80 {
    opacity: 0.8 !important;
}

.opacity-10 {
    opacity: 0.1 !important;
}

.opacity-90 {
    opacity: 0.9 !important;
}

.inset-0 {
    inset: 0 !important;
}

.letter-spacing-1 {
    letter-spacing: 1px !important;
}

/* Interactive Utilities
 --------------------------------------------------------------*/
.hover-lift-2:hover {
    transform: translateY(-2px) !important;
}

.hover-shift-x {
    transition: all 0.3s ease !important;
}

.hover-shift-x:hover {
    transform: translateX(5px) !important;
}

.hover-opacity-90:hover {
    opacity: 0.9 !important;
}

.hover-bg-f8fafc:hover {
    background-color: #f8fafc !important;
}

.transition-300 {
    transition: all 0.3s ease !important;
}

.transition-500 {
    transition: all 0.5s ease !important;
}

.transition-800 {
    transition: all 0.8s ease !important;
}

.animate-shine:after {
    position: absolute;
    top: 0;
    left: -75%;
    z-index: 2;
    display: block;
    content: '';
    width: 50%;
    height: 100%;
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, .3) 100%);
    transform: skewX(-25deg);
}

.animate-shine:hover:after {
    animation: shine .75s;
}

@keyframes shine {
    100% {
        left: 125%;
    }
}

/* Animate Border
--------------------------------------------------------------*/
.animate-border svg {
    right: 0;
    bottom: 0;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%
}

.animate-border rect {
    fill: none;
    stroke: #ffff;
    stroke-width: 2;
    stroke-dasharray: 422, 0;
    transition: all 0.35s linear;
}

.animate-border:hover rect {
    stroke-width: 6px;
    stroke: #ffba00;
    stroke-dasharray: 15, 288;
    stroke-dashoffset: 48
}

/* Loading Spinner
--------------------------------------------------------------*/
.loading-spinner {
    width: 40px;
    height: 40px;
    z-index: 10;
    border: 3px solid #646464;
    border-radius: 50%;
    display: inline-block;
    position: relative;
    box-sizing: border-box;
    animation: rotation 1s linear infinite;
}

.loading-spinner::after {
    content: '';
    box-sizing: border-box;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 30px;
    height: 30px;
    border-radius: 50%;
    border: 3px solid;
    border-color: #FF3D00 transparent;
}

/* Rotation Animation
--------------------------------------------------------------*/
@keyframes rotation {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* Clearfix Utility
--------------------------------------------------------------*/
.clear-both {
    clear: both;
}

.clear {
    clear: both;
    width: 100%;
}

/* Responsive Media Elements
--------------------------------------------------------------*/
iframe,
img {
    max-width: 100%;
    height: auto;
}

.mejs-mediaelement iframe {
    height: 100%;
}

/* Text Clipping Classes
--------------------------------------------------------------*/
.line1,
.line2,
.line3,
.line4 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    overflow: hidden;
}

.line1 {
    -webkit-line-clamp: 1;
}

.line2 {
    -webkit-line-clamp: 2;
}

.line3 {
    -webkit-line-clamp: 3;
}

.line4 {
    -webkit-line-clamp: 4;
}

/* Shadow Effects
--------------------------------------------------------------*/
.shadow {
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15) !important;
}

.shadow-sm {
    box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075) !important;
}

/* Full Width and Height Utility Classes
--------------------------------------------------------------*/
.width100 {
    width: 100%;
}

.height100 {
    height: 100%;
}

.height-100vh {
    height: 100vh;
}

.width-100vh {
    width: 100vh;
}

.h-100 {
    height: 100% !important;
}

.w-100 {
    width: 100% !important;
}

.d-flex {
    display: flex !important;
}

.flex-column {
    flex-direction: column !important;
}

.flex-wrap {
    flex-wrap: wrap !important;
}

.align-items-center {
    align-items: center !important;
}

.align-items-stretch {
    align-items: stretch !important;
}

.justify-content-center {
    justify-content: center !important;
}

.justify-content-between {
    justify-content: space-between !important;
}

.flex-shrink-0 {
    flex-shrink: 0 !important;
}

.flex-grow-1 {
    flex-grow: 1 !important;
}

/* Background Style
 --------------------------------------------------------------*/
.background-fixed {
    background-attachment: fixed;
}

.background-center {
    background-position: center;
}

.background-no-repeat {
    background-repeat: no-repeat;
}

.background-cover {
    background-size: cover;
}

.background-contain {
    background-size: contain;
}

/* WordPress Editor
--------------------------------------------------------------*/
.alignnone {
    margin: 5px 20px;
}

.aligncenter,
div.aligncenter {
    display: block;
    margin: 5px auto;
}

.alignright {
    float: right;
    margin: 5px 0px 5px 20px;
}

.alignleft {
    float: left;
    margin: 5px 20px 5px 0px;
}

a img.alignright {
    float: right;
    margin: 5px 0px 5px 20px;
}

a img.alignleft {
    float: left;
    margin: 5px 20px 5px 0px;
}

a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.wp-caption {
    background: #fff;
    border: 0px solid #f0f0f0;
    max-width: 100%;
    padding: 5px 10px;
    text-align: center;
}

/* Text meant only for screen readers
--------------------------------------------------------------*/
.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}

.screen-reader-text:focus {
    background-color: #eee;
    clip: auto !important;
    clip-path: none;
    color: #444;
    display: block;
    font-size: 1em;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
}

/* Blockquote Styles
--------------------------------------------------------------*/
blockquote {
    color: #957951;
    background: #F4F2E9;
    padding: 30px;
    margin: 30px 30px;
    position: relative;
}

blockquote:before {
    content: "“";
    font-size: 4em;
    color: #d8c3a5;
    position: absolute;
    left: 10px;
    top: 5px;
    font-family: Inter, Roboto, "SF Pro Display", system-ui, sans-serif;
}

/* Element cursor pointer
--------------------------------------------------------------*/
.cursor-pointer {
    cursor: pointer;
}

/* ratio height 56.25%
--------------------------------------------------------------*/
.ratio-height {
    height: 0px;
    padding-top: 56.25% !important;
}

/* ratio height 70%
--------------------------------------------------------------*/
.ratio70-height {
    height: 0px;
    padding-top: 70% !important;
}

/* Grid style
--------------------------------------------------------------*/
.container {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
    max-width: 1300px;
}

.row {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
}

.row>* {
    box-sizing: border-box;
    flex-shrink: 0;
    max-width: 100%;
}

.col {
    flex: 0 0 auto;
    width: 100%;
}

.col-auto {
    flex: 0 0 auto;
    width: auto;
}

/* Column width classes (based on a 12-column grid system)
--------------------------------------------------------------*/
.col-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
}

.col-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
}

.col-3 {
    flex: 0 0 auto;
    width: 25%;
}

.col-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
}

.col-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
}

.col-6 {
    flex: 0 0 auto;
    width: 50%;
}

.col-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
}

.col-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
}

.col-9 {
    flex: 0 0 auto;
    width: 75%;
}

.col-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
}

.col-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
}

.col-12 {
    flex: 0 0 auto;
    width: 100%;
}

/* Media query for screens with minimum width of 576px
--------------------------------------------------------------*/
@media (min-width: 576px) {

    /* Default flex behavior for col-sm
    --------------------------------------------------------------*/
    .col-sm {
        flex: 1 0 0;
    }

    /* Flex container with auto width
    --------------------------------------------------------------*/
    .col-sm-auto {
        flex: 0 0 auto;
        width: auto;
    }

    /* Flex classes for 1 to 12 columns with different widths
    --------------------------------------------------------------*/
    .col-sm-1 {
        flex: 0 0 auto;
        width: 8.33333333%;
    }

    .col-sm-2 {
        flex: 0 0 auto;
        width: 16.66666667%;
    }

    .col-sm-3 {
        flex: 0 0 auto;
        width: 25%;
    }

    .col-sm-4 {
        flex: 0 0 auto;
        width: 33.33333333%;
    }

    .col-sm-5 {
        flex: 0 0 auto;
        width: 41.66666667%;
    }

    .col-sm-6 {
        flex: 0 0 auto;
        width: 50%;
    }

    .col-sm-7 {
        flex: 0 0 auto;
        width: 58.33333333%;
    }

    .col-sm-8 {
        flex: 0 0 auto;
        width: 66.66666667%;
    }

    .col-sm-9 {
        flex: 0 0 auto;
        width: 75%;
    }

    .col-sm-10 {
        flex: 0 0 auto;
        width: 83.33333333%;
    }

    .col-sm-11 {
        flex: 0 0 auto;
        width: 91.66666667%;
    }

    .col-sm-12 {
        flex: 0 0 auto;
        width: 100%;
    }
}

/* Media query for screens with minimum width of 768px
--------------------------------------------------------------*/
@media (min-width: 768px) {

    /* Default flex behavior for col-md
    --------------------------------------------------------------*/
    .col-md {
        flex: 1 0 0%;
    }

    /* Flex container with auto width
    --------------------------------------------------------------*/
    .col-md-auto {
        flex: 0 0 auto;
        width: auto;
    }

    /* Flex classes for 1 to 12 columns with different widths
    --------------------------------------------------------------*/
    .col-md-1 {
        flex: 0 0 auto;
        width: 8.33333333%;
    }

    .col-md-2 {
        flex: 0 0 auto;
        width: 16.66666667%;
    }

    .col-md-3 {
        flex: 0 0 auto;
        width: 25%;
    }

    .col-md-4 {
        flex: 0 0 auto;
        width: 33.33333333%;
    }

    .col-md-5 {
        flex: 0 0 auto;
        width: 41.66666667%;
    }

    .col-md-6 {
        flex: 0 0 auto;
        width: 50%;
    }

    .col-md-7 {
        flex: 0 0 auto;
        width: 58.33333333%;
    }

    .col-md-8 {
        flex: 0 0 auto;
        width: 66.66666667%;
    }

    .col-md-9 {
        flex: 0 0 auto;
        width: 75%;
    }

    .col-md-10 {
        flex: 0 0 auto;
        width: 83.33333333%;
    }

    .col-md-11 {
        flex: 0 0 auto;
        width: 91.66666667%;
    }

    .col-md-12 {
        flex: 0 0 auto;
        width: 100%;
    }
}

/* Media query for screens with minimum width of 992px
--------------------------------------------------------------*/
@media (min-width: 992px) {

    /* Default flex behavior for col-lg
    --------------------------------------------------------------*/
    .col-lg {
        flex: 1 0 0%;
    }

    /* Flex container with auto width
    --------------------------------------------------------------*/
    .col-lg-auto {
        flex: 0 0 auto;
        width: auto;
    }

    /* Flex classes for 1 to 12 columns with different widths
    --------------------------------------------------------------*/
    .col-lg-1 {
        flex: 0 0 auto;
        width: 8.33333333%;
    }

    .col-lg-2 {
        flex: 0 0 auto;
        width: 16.66666667%;
    }

    .col-lg-3 {
        flex: 0 0 auto;
        width: 25%;
    }

    .col-lg-4 {
        flex: 0 0 auto;
        width: 33.33333333%;
    }

    .col-lg-5 {
        flex: 0 0 auto;
        width: 41.66666667%;
    }

    .col-lg-6 {
        flex: 0 0 auto;
        width: 50%;
    }

    .col-lg-7 {
        flex: 0 0 auto;
        width: 58.33333333%;
    }

    .col-lg-8 {
        flex: 0 0 auto;
        width: 66.66666667%;
    }

    .col-lg-9 {
        flex: 0 0 auto;
        width: 75%;
    }

    .col-lg-10 {
        flex: 0 0 auto;
        width: 83.33333333%;
    }

    .col-lg-11 {
        flex: 0 0 auto;
        width: 91.66666667%;
    }

    .col-lg-12 {
        flex: 0 0 auto;
        width: 100%;
    }
}

/* Media query for screens with minimum width of 1200px
--------------------------------------------------------------*/
@media (min-width: 1200px) {

    /* Default flex behavior for col-xl
    --------------------------------------------------------------*/
    .col-xl {
        flex: 1 0 0%;
    }

    /* Flex container with auto width
    --------------------------------------------------------------*/
    .col-xl-auto {
        flex: 0 0 auto;
        width: auto;
    }

    /* Flex classes for 1 to 12 columns with different widths
    --------------------------------------------------------------*/
    .col-xl-1 {
        flex: 0 0 auto;
        width: 8.33333333%;
    }

    .col-xl-2 {
        flex: 0 0 auto;
        width: 16.66666667%;
    }

    .col-xl-3 {
        flex: 0 0 auto;
        width: 25%;
    }

    .col-xl-4 {
        flex: 0 0 auto;
        width: 33.33333333%;
    }

    .col-xl-5 {
        flex: 0 0 auto;
        width: 41.66666667%;
    }

    .col-xl-6 {
        flex: 0 0 auto;
        width: 50%;
    }

    .col-xl-7 {
        flex: 0 0 auto;
        width: 58.33333333%;
    }

    .col-xl-8 {
        flex: 0 0 auto;
        width: 66.66666667%;
    }

    .col-xl-9 {
        flex: 0 0 auto;
        width: 75%;
    }

    .col-xl-10 {
        flex: 0 0 auto;
        width: 83.33333333%;
    }

    .col-xl-11 {
        flex: 0 0 auto;
        width: 91.66666667%;
    }

    .col-xl-12 {
        flex: 0 0 auto;
        width: 100%;
    }
}

/* Media query for screens with minimum width of 1400px
--------------------------------------------------------------*/
@media (min-width: 1400px) {

    /* Default flex behavior for col-xxl
    --------------------------------------------------------------*/
    .col-xxl {
        flex: 1 0 0%;
    }

    /* Flex container with auto width
    --------------------------------------------------------------*/
    .col-xxl-auto {
        flex: 0 0 auto;
        width: auto;
    }

    /* Flex classes for 1 to 12 columns with different widths
    --------------------------------------------------------------*/
    .col-xxl-1 {
        flex: 0 0 auto;
        width: 8.33333333%;
    }

    .col-xxl-2 {
        flex: 0 0 auto;
        width: 16.66666667%;
    }

    .col-xxl-3 {
        flex: 0 0 auto;
        width: 25%;
    }

    .col-xxl-4 {
        flex: 0 0 auto;
        width: 33.33333333%;
    }

    .col-xxl-5 {
        flex: 0 0 auto;
        width: 41.66666667%;
    }

    .col-xxl-6 {
        flex: 0 0 auto;
        width: 50%;
    }

    .col-xxl-7 {
        flex: 0 0 auto;
        width: 58.33333333%;
    }

    .col-xxl-8 {
        flex: 0 0 auto;
        width: 66.66666667%;
    }

    .col-xxl-9 {
        flex: 0 0 auto;
        width: 75%;
    }

    .col-xxl-10 {
        flex: 0 0 auto;
        width: 83.33333333%;
    }

    .col-xxl-11 {
        flex: 0 0 auto;
        width: 91.66666667%;
    }

    .col-xxl-12 {
        flex: 0 0 auto;
        width: 100%;
    }
}

/* Border Radius Classes
 --------------------------------------------------------------*/
.radius0 {
    border-radius: 0px;
}

.radius1 {
    border-radius: 5px;
}

.radius2 {
    border-radius: 10px;
}

.radius3 {
    border-radius: 15px;
}

.radius4 {
    border-radius: 20px;
}

.radius5 {
    border-radius: 25px;
}

.radius-circle {
    border-radius: 50%;
}

/* Margin Classes
--------------------------------------------------------------*/
.m-1 {
    margin: 5px;
}

.m-2 {
    margin: 10px;
}

.m-3 {
    margin: 15px;
}

.m-4 {
    margin: 20px;
}

.m-5 {
    margin: 25px;
}

.m-0 {
    margin: 0;
}

.mt-0 {
    margin-top: 0;
}

.me-0 {
    margin-right: 0;
}

.mb-0 {
    margin-bottom: 0;
}

.ms-0 {
    margin-left: 0;
}

/* Padding Classes
 --------------------------------------------------------------*/
.p-0 {
    padding: 0;
}

.p-1 {
    padding: 5px;
}

.p-2 {
    padding: 10px;
}

.p-3 {
    padding: 15px;
}

.p-4 {
    padding: 20px;
}

.p-5 {
    padding: 25px;
}

/* Padding Y (Vertical) Classes
 --------------------------------------------------------------*/
.py-1 {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
}

.py-2 {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

.py-3 {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
}

.py-4 {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
}

.py-5 {
    padding-top: 25px !important;
    padding-bottom: 25px !important;
}

.py-6 {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
}

.py-7 {
    padding-top: 35px !important;
    padding-bottom: 35px !important;
}

.py-8 {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
}

.py-9 {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
}

.py-10 {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
}
.py-11 {
    padding-top: 100px !important;
    padding-bottom: 100px !important;
}
.py-12 {
    padding-top: 150px !important;
    padding-bottom: 150px !important;
}
/* Padding X (Horizontal) Classes
 --------------------------------------------------------------*/
.px-1 {
    padding-left: 5px !important;
    padding-right: 5px !important;
}

.px-2 {
    padding-left: 10px !important;
    padding-right: 10px !important;
}

.px-3 {
    padding-left: 15px !important;
    padding-right: 15px !important;
}

.px-4 {
    padding-left: 20px !important;
    padding-right: 20px !important;
}

.px-5 {
    padding-left: 25px !important;
    padding-right: 25px !important;
}

.px-6 {
    padding-left: 30px !important;
    padding-right: 30px !important;
}

.px-7 {
    padding-left: 35px !important;
    padding-right: 35px !important;
}

.px-8 {
    padding-left: 40px !important;
    padding-right: 40px !important;
}

.px-9 {
    padding-left: 50px !important;
    padding-right: 50px !important;
}

.px-10 {
    padding-left: 60px !important;
    padding-right: 60px !important;
}

/* Top Padding Classes
 --------------------------------------------------------------*/
.pt-1 {
    padding-top: 5px !important;
}

.pt-2 {
    padding-top: 10px !important;
}

.pt-3 {
    padding-top: 15px !important;
}

.pt-4 {
    padding-top: 20px !important;
}

.pt-5 {
    padding-top: 25px !important;
}

.pt-6 {
    padding-top: 30px !important;
}

.pt-7 {
    padding-top: 35px !important;
}

.pt-8 {
    padding-top: 40px !important;
}

.pt-9 {
    padding-top: 50px !important;
}

.pt-10 {
    padding-top: 60px !important;
}

/* Bottom Padding Classes
 --------------------------------------------------------------*/
.pb-1 {
    padding-bottom: 5px !important;
}

.pb-2 {
    padding-bottom: 10px !important;
}

.pb-3 {
    padding-bottom: 15px !important;
}

.pb-4 {
    padding-bottom: 20px !important;
}

.pb-5 {
    padding-bottom: 25px !important;
}

.pb-6 {
    padding-bottom: 30px !important;
}

.pb-7 {
    padding-bottom: 35px !important;
}

.pb-8 {
    padding-bottom: 40px !important;
}

.pb-9 {
    padding-bottom: 50px !important;
}

.pb-10 {
    padding-bottom: 60px !important;
}

/* Left Padding Classes
 --------------------------------------------------------------*/
/* Left Padding Classes
 --------------------------------------------------------------*/
.ps-1 {
    padding-left: 5px;
}

.ps-2 {
    padding-left: 10px;
}

.ps-3 {
    padding-left: 15px;
}

.ps-4 {
    padding-left: 20px;
}

.ps-5 {
    padding-left: 25px;
}

.ps-6 {
    padding-left: 30px;
}

/* Right Padding Classes
 --------------------------------------------------------------*/
.pe-1 {
    padding-right: 5px;
}

.pe-2 {
    padding-right: 10px;
}

.pe-3 {
    padding-right: 15px;
}

.pe-4 {
    padding-right: 20px;
}

.pe-5 {
    padding-right: 25px;
}

.pe-6 {
    padding-right: 30px;
}

/* Padding 0 Classes
 --------------------------------------------------------------*/
.pt-0 {
    padding-top: 0 !important;
}

.pb-0 {
    padding-bottom: 0 !important;
}

.ps-0 {
    padding-left: 0 !important;
}

.pe-0 {
    padding-right: 0 !important;
}

/* Margin Y (Vertical) Classes
 --------------------------------------------------------------*/
.my-1 {
    margin-top: 5px !important;
    margin-bottom: 5px !important;
}

.my-2 {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
}

.my-3 {
    margin-top: 15px !important;
    margin-bottom: 15px !important;
}

.my-4 {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
}

.my-5 {
    margin-top: 25px !important;
    margin-bottom: 25px !important;
}

.my-6 {
    margin-top: 30px !important;
    margin-bottom: 30px !important;
}

.my-7 {
    margin-top: 35px !important;
    margin-bottom: 35px !important;
}

.my-8 {
    margin-top: 40px !important;
    margin-bottom: 40px !important;
}

.my-9 {
    margin-top: 50px !important;
    margin-bottom: 50px !important;
}

.my-10 {
    margin-top: 60px !important;
    margin-bottom: 60px !important;
}

/* Margin X (Horizontal) Classes
 --------------------------------------------------------------*/
.mx-1 {
    margin-left: 5px !important;
    margin-right: 5px !important;
}

.mx-2 {
    margin-left: 10px !important;
    margin-right: 10px !important;
}

.mx-3 {
    margin-left: 15px !important;
    margin-right: 15px !important;
}

.mx-4 {
    margin-left: 20px !important;
    margin-right: 20px !important;
}

.mx-5 {
    margin-left: 25px !important;
    margin-right: 25px !important;
}

.mx-6 {
    margin-left: 30px !important;
    margin-right: 30px !important;
}

.mx-7 {
    margin-left: 35px !important;
    margin-right: 35px !important;
}

.mx-8 {
    margin-left: 40px !important;
    margin-right: 40px !important;
}

.mx-9 {
    margin-left: 50px !important;
    margin-right: 50px !important;
}

.mx-10 {
    margin-left: 60px !important;
    margin-right: 60px !important;
}

/* Top Margin Classes
 --------------------------------------------------------------*/
.mt-1 {
    margin-top: 5px !important;
}

.mt-2 {
    margin-top: 10px !important;
}

.mt-3 {
    margin-top: 15px !important;
}

.mt-4 {
    margin-top: 20px !important;
}

.mt-5 {
    margin-top: 25px !important;
}

.mt-6 {
    margin-top: 30px !important;
}

.mt-7 {
    margin-top: 35px !important;
}

.mt-8 {
    margin-top: 40px !important;
}

.mt-9 {
    margin-top: 50px !important;
}

.mt-10 {
    margin-top: 60px !important;
}

/* Bottom Margin Classes
 --------------------------------------------------------------*/
.mb-1 {
    margin-bottom: 5px !important;
}

.mb-2 {
    margin-bottom: 10px !important;
}

.mb-3 {
    margin-bottom: 15px !important;
}

.mb-4 {
    margin-bottom: 20px !important;
}

.mb-5 {
    margin-bottom: 25px !important;
}

.mb-6 {
    margin-bottom: 30px !important;
}

.mb-7 {
    margin-bottom: 35px !important;
}

.mb-8 {
    margin-bottom: 40px !important;
}

.mb-9 {
    margin-bottom: 50px !important;
}

.mb-10 {
    margin-bottom: 60px !important;
}

/* Centering Element
 --------------------------------------------------------------*/
.m-auto {
    margin-left: auto;
    margin-right: auto;
}

/* Grid Gap Utilities
 --------------------------------------------------------------*/
.g-0 {
    margin: 0;
}

.g-0>[class*="col-"] {
    padding: 0;
}

.g-1 {
    margin: -2.5px;
}

.g-1>[class*="col-"] {
    padding: 2.5px;
}

.g-2 {
    margin: -5px;
}

.g-2>[class*="col-"] {
    padding: 5px;
}

.g-3 {
    margin: -7.5px;
}

.g-3>[class*="col-"] {
    padding: 7.5px;
}

.g-5 {
    margin: -12.5px;
}

.g-5>[class*="col-"] {
    padding: 12.5px;
}

.g-6 {
    margin: -15px;
}

.g-6>[class*="col-"] {
    padding: 15px;
}

.g-8 {
    margin: -20px;
}

.g-8>[class*="col-"] {
    padding: 20px;
}

/* Horizontal Gap */
.gx-1 {
    margin-left: -2.5px;
    margin-right: -2.5px;
}

.gx-1>[class*="col-"] {
    padding-left: 2.5px;
    padding-right: 2.5px;
}

.gx-2 {
    margin-left: -5px;
    margin-right: -5px;
}

.gx-2>[class*="col-"] {
    padding-left: 5px;
    padding-right: 5px;
}

.gx-3 {
    margin-left: -7.5px;
    margin-right: -7.5px;
}

.gx-3>[class*="col-"] {
    padding-left: 7.5px;
    padding-right: 7.5px;
}

/* Vertical Gap */
.gy-1 {
    margin-top: -2.5px;
    margin-bottom: -2.5px;
}

.gy-1>[class*="col-"] {
    padding-top: 2.5px;
    padding-bottom: 2.5px;
}

.gy-2 {
    margin-top: -5px;
    margin-bottom: -5px;
}

.gy-2>[class*="col-"] {
    padding-top: 5px;
    padding-bottom: 5px;
}

.gy-3 {
    margin-top: -7.5px;
    margin-bottom: -7.5px;
}

.gy-3>[class*="col-"] {
    padding-top: 7.5px;
    padding-bottom: 7.5px;
}

.font35 {
    font-size: 35px;
}

.font40 {
    font-size: 40px;
}

.font45 {
    font-size: 45px;
}

.font50 {
    font-size: 50px;
}

.font60 {
    font-size: 60px;
}

/* Text Alignment Styles
 --------------------------------------------------------------*/
.text-center {
    text-align: center;
}

.text-start {
    text-align: left;
}

.text-end {
    text-align: right;
}

.text-justify {
    text-align: justify;
}

.text-justify-all {
    text-align: justify-all;
}

/* Text Color Styles
--------------------------------------------------------------*/
.text-white {
    color: #FFF !important;
}

.text-black {
    color: #000;
}

.text-red {
    color: #FF0000;
}

/* Text Transform Styles
--------------------------------------------------------------*/
.text-uppercase {
    text-transform: uppercase;
}

.text-transform-none {
    text-transform: none;
}

/* Font Style
--------------------------------------------------------------*/
.text-italic {
    font-style: italic;
}

.text-normal {
    font-style: normal;
}

/* Header Styles: Defines font size, color, margin, and padding for headings
 --------------------------------------------------------------*/
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
    padding: 10px 0;
}

/* h1 specific styles
--------------------------------------------------------------*/
.h1,
h1 {
    font-size: 26px;
    padding: 15px 0;
}

/* h2 specific styles
--------------------------------------------------------------*/
.h2,
h2 {
    font-size: 20px;
}

/* h3 specific styles
--------------------------------------------------------------*/
.h3,
h3 {
    font-size: 18px;
}

/* h4, h5, h6 specific styles
--------------------------------------------------------------*/
.h4,
.h5,
.h6,
h4,
h5,
h6 {
    font-size: 16px;
}

/* Line height class for setting line-height to 0
--------------------------------------------------------------*/
.line-height0 {
    line-height: 0;
}

/* Bold font weight
--------------------------------------------------------------*/
.font-weight-bold {
    font-weight: bold;
}

/* Semi-bold font weight
--------------------------------------------------------------*/

/* Light font weight
--------------------------------------------------------------*/
.font-weight-300 {
    font-weight: 300;
}

/* Extra light font weight
--------------------------------------------------------------*/
.font-weight-200 {
    font-weight: 200;
}

/* Thin font weight
--------------------------------------------------------------*/
.font-weight-100 {
    font-weight: 100;
}

/* Display Classes
--------------------------------------------------------------*/

.d-inline-block {
    display: inline-block;
}

.d-block {
    display: block;
}

.d-inline-flex {
    display: inline-flex;
}

.d-none {
    display: none;
}

/* Responsive Display Classes
--------------------------------------------------------------*/
@media (min-width: 992px) {
    .d-lg-none {
        display: none !important;
    }

    .d-lg-block {
        display: block !important;
    }

    .d-lg-flex {
        display: flex !important;
    }

    .d-lg-inline-flex {
        display: inline-flex !important;
    }

    .d-lg-inline-block {
        display: inline-block !important;
    }
}

@media (max-width: 991px) {
    .d-md-none {
        display: none !important;
    }

    .d-md-block {
        display: block !important;
    }

    .d-md-flex {
        display: flex !important;
    }
}

/* Style Flex
--------------------------------------------------------------*/
.flex-row {
    flex-direction: row;
}

.flex-nowrap {
    flex-wrap: nowrap;
}

/* Justify content alignment classes (horizontal axis)
--------------------------------------------------------------*/
.justify-content-start {
    justify-content: flex-start;
}

.justify-content-end {
    justify-content: flex-end;
}

.justify-content-around {
    justify-content: space-around;
}

.justify-content-evenly {
    justify-content: space-evenly;
}

/* Align items alignment classes (vertical axis)
--------------------------------------------------------------*/
.align-items-start {
    align-items: flex-start;
}

.align-items-end {
    align-items: flex-end;
}

.align-items-baseline {
    align-items: baseline;
}

/* Align content classes (when there is extra space in the container along the vertical axis)
--------------------------------------------------------------*/
.align-content-start {
    align-content: flex-start;
}

.align-content-end {
    align-content: flex-end;
}

.align-content-center {
    align-content: center;
}

.align-content-between {
    align-content: space-between;
}

.align-content-around {
    align-content: space-around;
}

.align-content-stretch {
    align-content: stretch;
}

/* Align individual items (overrides align-items)
--------------------------------------------------------------*/
.align-self-auto {
    align-self: auto;
}

.align-self-start {
    align-self: flex-start;
}

.align-self-end {
    align-self: flex-end;
}

.align-self-center {
    align-self: center;
}

.align-self-baseline {
    align-self: baseline;
}

.align-self-stretch {
    align-self: stretch;
}

/* Positioning Classes
--------------------------------------------------------------*/
.position-relative {
    position: relative;
}

.position-absolute {
    position: absolute;
}

.position-fixed {
    position: fixed;
}

/* Alignment Classes
--------------------------------------------------------------*/
.start-0 {
    left: 0px;
}

.start-1 {
    left: 5px;
}

.start-2 {
    left: 10px;
}

.start-3 {
    left: 15px;
}

.start-4 {
    left: 20px;
}

.start-5 {
    left: 25px;
}

.start-100 {
    left: 100%;
}

.end-0 {
    right: 0px;
}

.end-1 {
    right: 5px;
}

.end-2 {
    right: 10px;
}

.end-3 {
    right: 15px;
}

.end-4 {
    right: 20px;
}

.end-5 {
    right: 25px;
}

.end-100 {
    right: 100%;
}

.bottom-0 {
    bottom: 0px;
}

.bottom-1 {
    bottom: 5px;
}

.bottom-2 {
    bottom: 10px;
}

.bottom-3 {
    bottom: 15px;
}

.bottom-4 {
    bottom: 20px;
}

.bottom-5 {
    bottom: 25px;
}

.bottom-100 {
    bottom: 100%;
}

.top-0 {
    top: 0px;
}

.top-1 {
    top: 5px;
}

.top-2 {
    top: 10px;
}

.top-3 {
    top: 15px;
}

.top-4 {
    top: 20px;
}

.top-5 {
    top: 25px;
}

.top-100 {
    top: 100%;
}

/* Centering Classes
--------------------------------------------------------------*/
.position-center {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.position-center-top {
    top: 50%;
    transform: translate(0, -50%);
}

/* Style for dropdown indicator
--------------------------------------------------------------*/
.dropdown-menu {
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 6px solid #333;
    display: inline-block;
    margin-left: 5px;
}

/* Style for the main menu list
--------------------------------------------------------------*/
.fc-menu-header ul li,
.fc-menu-header ul {
    position: static;
    list-style: none;
    margin: 0px;
    padding: 0px;
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
}

/* Style for list items that are not mega-menu items
--------------------------------------------------------------*/
.fc-menu-header ul li:not(.mega-menu-item) {
    position: relative;
}

/* Style for links inside list items
--------------------------------------------------------------*/
.fc-menu-header ul a {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
}

/* Padding for list items
--------------------------------------------------------------*/


/* Style for the sub-menu
--------------------------------------------------------------*/
.fc-menu-header ul li:not(.mega-menu-item) ul {
    position: absolute;
    box-shadow: 0 10px 10px -1px rgb(0 0 0 / 14%);
    border-radius: 5px;
    width: 300px;
    top: 100%;
    padding: 10px;
    left: 15px;
    transition: all .3s;
    visibility: hidden;
    opacity: 0;
    display: block;
}

/* Display sub-menu when hovering over parent menu item
--------------------------------------------------------------*/
.fc-menu-header ul li:not(.mega-menu-item):hover ul {
    visibility: inherit;
    opacity: 1;
    left: 0px;
}

/* Style for the list items inside sub-menu
--------------------------------------------------------------*/
.fc-menu-header ul li:not(.mega-menu-item) ul li {
    display: block;
    width: 100%;
    position: relative;
    padding: 7px 15px;
}

/* Style for nested sub-menus inside the sub-menu
--------------------------------------------------------------*/
.fc-menu-header ul li:not(.mega-menu-item) ul li ul {
    position: absolute;
    top: 0px;
    visibility: hidden !important;
    opacity: 0 !important;
    left: 110% !important;
}

/* Display nested sub-menu when hovering over parent sub-menu item
--------------------------------------------------------------*/
.fc-menu-header ul li:not(.mega-menu-item) ul li:hover ul {
    visibility: inherit !important;
    opacity: 1 !important;
    left: 100% !important;
}

.fc-menu-header .image-item-menu {
    display: inline-block;
    margin-right: 5px;
    max-width: 20px;
    max-height: 20px;
}

/* Style list menu content
--------------------------------------------------------------*/
.fc-menu-header .mega-menu-content ul,
.fc-menu-header .mega-menu-content li {
    display: block;
}

/* Style mega menu content
--------------------------------------------------------------*/
.fc-menu-header .mega-menu-content {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    width: 100%;
    left: 0;
    background-color: #fff;
    padding: 20px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    top: 90%;
    border-radius: 10px;
    z-index: 99;
    font-weight: 400;
}

.fc-menu-header .mega-menu-content .widget {
    background: transparent;
    box-shadow: none !important;
    transform: none !important;
    border: 0;
    padding: 0 !important;
    margin: 0 !important;
}

.fc-menu-header li.mega-menu-item:hover .mega-menu-content {
    visibility: visible;
    opacity: 1;
}

/* Style column for mega menu
--------------------------------------------------------------*/
.fc-menu-header .mega-menu-content .mega-menu-widget {
    padding: 10px;
}

.fc-menu-header .mega-menu-content.columns-1 .mega-menu-widget {
    width: 100%;
}

.fc-menu-header .mega-menu-content.columns-2 .mega-menu-widget {
    width: 50%;
}

.fc-menu-header .mega-menu-content.columns-3 .mega-menu-widget {
    width: calc(100% / 3);
}

.fc-menu-header .mega-menu-content.columns-4 .mega-menu-widget {
    width: calc(100% / 4);
}

.fc-menu-header .mega-menu-content.columns-5 .mega-menu-widget {
    width: calc(100% / 5);
}

.fc-menu-header .mega-menu-content.columns-6 .mega-menu-widget {
    width: calc(100% / 6);
}

/* Style widget title in mega menu
--------------------------------------------------------------*/
.fc-menu-header .mega-menu-widget .widgettitle {
    font-size: 16px;
    font-weight: 600;
    margin: 0 !important;
    text-transform: uppercase;
}

.fc-menu-header .mega-menu-widget .widget ul {
    list-style: none;
    padding: 0;
    margin: 0 !important;
}

.fc-menu-header .mega-menu-widget .widget ul li a {
    text-decoration: none;
    font-size: 14px;
}

/* Style select in mega menu
--------------------------------------------------------------*/
.fc-menu-header .mega-menu select {
    width: 100%;
    padding: 10px;
    border-radius: 4px;
    border: 1px solid #ccc;
    background-color: #fff;
    font-size: 14px;
    margin: 5px 0;
}

/* Search form Widget
--------------------------------------------------------------*/
.search-form {
    border-radius: 25px;
    overflow: hidden;
}

.search-form .input-search {
    padding: 10px 15px;
    border: 1px solid #ccc;
    border-radius: 25px;
    outline: none;
    width: 300px;
    max-width: 100%;
    height: 38px;
    background: #fff;
}

/* Style button search form
--------------------------------------------------------------*/
.search-form .btn-search-submit {
    border: 0;
    outline: none;
    right: 0;
    padding: 5px 15px;
    background: #000;
    color: #FFF;
    border-radius: 25px;
}

/* Style Pagination Style
--------------------------------------------------------------*/
.fc-pagination ul,
.fc-pagination ul li {
    list-style: none;
    margin: 0;
    padding: 0;
    display: inline-block;
}

.fc-pagination ul li span,
.fc-pagination ul li a {
    display: inline-block;
    padding: 5px 15px;
    border: 1px solid #ccc;
}

/* Style Post password form
-------------------------------------------------------------- */
.post-password-form {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    background: #EEE;
    padding: 15px;
    border-radius: 5px;
    margin: 15px 0px;
}

.post-password-form p {
    display: block;
    width: 100%;
}

.post-password-form label {
    display: inline-block;
}

.post-password-form input {
    border: 0px;
    box-shadow: none;
    outline: none;
    padding: 7px 15px;
    height: 32px;
}

/* Style button submit in post password form
--------------------------------------------------------------*/
.post-password-form input[type='submit'] {
    background: #000;
    color: #FFF;
    padding: 7px 30px;
}

@media (max-width:576px) {

    .post-password-form label,
    .post-password-form input {
        width: 100%;
    }

    .post-password-form input {
        margin-top: 5px;
    }
}

/* Star Ratings Legend
--------------------------------------------------------------*/
.kk-star-ratings .kksr-legend {
    font-size: 14px !important;
}

/* Swiper Background Image
--------------------------------------------------------------*/
.swiper-slide-bg {
    height: 100% !important;
}

/* Elementor Navigation Menu Image
--------------------------------------------------------------*/
.elementor-nav-menu img {
    max-width: 20px !important;
}

/* Elementor Section Container
--------------------------------------------------------------*/
.elementor-section .elementor-container {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
}

/* EAEL Data Table Styling
--------------------------------------------------------------*/
.elementor-element table.eael-data-table {
    border-collapse: collapse !important;
}

/* Mega Menu Description (Hide)
--------------------------------------------------------------*/
.mega-menu-description {
    display: none !important;
}

/* Contact Form 7
--------------------------------------------------------------*/
form.wpcf7-form {
    position: relative;
}

/* Contact Form 7: Remove line breaks
--------------------------------------------------------------*/
.wpcf7-form br {
    display: none !important;
}

/* Contact Form 7: Form Controls
--------------------------------------------------------------*/
.wpcf7-form .wpcf7-form-control,
.wpcf7-form .wpcf7-form-control-wrap {
    width: 100%;
    position: relative;
    display: block;
    text-align: left;
}

/* Contact Form 7: Form Paragraph Styling
--------------------------------------------------------------*/
.wpcf7-form p {
    margin: 0px;
}

/* Contact Form 7: Input Fields
--------------------------------------------------------------*/

/* Contact Form 7: Form Control Wrapper
--------------------------------------------------------------*/
.wpcf7-form .wpcf7-form-control-wrap {
    margin-bottom: 10px;
}

/* Contact Form 7: Validation Tip
--------------------------------------------------------------*/
.wpcf7-form .wpcf7-not-valid-tip {
    font-size: 12px;
    margin-top: 3px;
    display: none;
}

.wpcf7 form .wpcf7-response-output {
    margin: 10px 0px !important;
    font-size: 13px;
}

/* Contact Form 7: Submit Button
--------------------------------------------------------------*/
.wpcf7-form .wpcf7-submit {
    transition: all 0.3s;
    border-radius: 2px;
    width: auto;
    display: inline-block;
    text-transform: uppercase;
    border: 0px;
    min-width: 120px;
    text-align: center;
    background: #000;
    color: #FFF;
}

/* Contact Form 7: Spinner
--------------------------------------------------------------*/
.wpcf7-spinner {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    margin: 0px;
}

/* Style Icon Quote
-------------------------------------------------------------- */
.icon-quote:after {
    content: "\201C";
    font-family: Inter, Roboto, "SF Pro Display", system-ui, sans-serif;
    position: absolute;
    font-size: 100px;
    left: 50%;
    top: 0px;
    line-height: 0px;
    transform: translate(0, -50%);
}

/* Style Index
-------------------------------------------------------------- */
.z-index1 {
    z-index: 5;
}

.z-index2 {
    z-index: 10;
}

.z-index3 {
    z-index: 15;
}

.z-index4 {
    z-index: 20;
}

.z-index5 {
    z-index: 25;
}

.z-index6 {
    z-index: 30;
}

.z-index7 {
    z-index: 35;
}

.z-index8 {
    z-index: 40;
}

.z-index9 {
    z-index: 45;
}

.z-index10 {
    z-index: 50;
}

/* Style Opacity
-------------------------------------------------------------- */
.opacity9 {
    opacity: 0.9;
}

.opacity8 {
    opacity: 0.8;
}

.opacity7 {
    opacity: 0.7;
}

.opacity6 {
    opacity: 0.6;
}

.opacity5 {
    opacity: 0.5;
}

.opacity4 {
    opacity: 0.4;
}

.opacity3 {
    opacity: 0.3;
}

.opacity2 {
    opacity: 0.2;
}

.opacity1 {
    opacity: 0.1;
}

.opacity0 {
    opacity: 0;
}

/* Style Animate Scroll
-------------------------------------------------------------- */
.animate-scroll {
    transition: all 0.8s ease-out;
    position: relative;
    opacity: 0;
    visibility: hidden;
}

.animate-scroll.active {
    opacity: 1;
    visibility: inherit;
}

/* Animate Fade
-------------------------------------------------------------- */
.fade-left {
    transform: translateX(-100%);
}

.fade-left.active {
    transform: translateX(0px);
}

.fade-right {
    transform: translateX(100%);
}

.fade-right.active {
    transform: translateX(0%);
}

.fade-up {
    transform: translateY(100%);
}

.fade-up.active {
    transform: translateY(0px);
}

/* Play Button
-------------------------------------------------------------- */
.play-button {
    width: 80px;
    height: 80px;
    background-color: transparent;
    border: 4px solid #000;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    position: relative;
    transition: 0.3s ease-in-out;
}

.play-button::before {
    content: "";
    width: 0;
    height: 0;
    border-left: 20px solid #000;
    border-top: 12px solid transparent;
    border-bottom: 12px solid transparent;
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0);
}

/* Style Map container
-------------------------------------------------------------- */
.map-container {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    /* Tỷ lệ 16:9 */
}

.map-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* Style Table container
-------------------------------------------------------------- */
.content-editor table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #ddd;
}

.content-editor table th,
.content-editor table td {
    border: 1px solid #ddd;
    padding: 8px;
    text-align: left;
}

/* Style Iframe container
-------------------------------------------------------------- */
.content-editor iframe {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
}

.content-editor iframe:not([style*="height"]) {
    aspect-ratio: 16 / 9;
}

/* Line Clamp Utilities 
-------------------------------------------------------------- */
.line1 {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.line2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.line3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Aspect Ratio Utilities 
-------------------------------------------------------------- */
.aspect-ratio-16-9 {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}

.aspect-ratio-16-9>* {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.aspect-ratio-square {
    position: relative;
    width: 100%;
    padding-top: 100%;
}

.aspect-ratio-square>* {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* --- Landing Challenges Section --- */
.landing-challenges-section {
    background-color: #ffffff;
    padding: 80px 0;
}

.landing-challenges-title {
    color: var(--fc_color_primary);
    letter-spacing: -0.5px;
}

.landing-challenges-desc {
    color: #6b7280;
}

.landing-challenge-card {
    background-color: #ffffff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04);
    border: 1px solid rgba(0, 0, 0, 0.05);
    display: flex;
    flex-direction: column;
    height: 100%;
}

.landing-challenge-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

.landing-challenge-img-wrapper {
    position: relative;
    height: 180px;
    width: 100%;
    overflow: hidden;
    background-color: #f3f4f6;
}

.landing-challenge-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.landing-challenge-card:hover .landing-challenge-img {
    transform: scale(1.05);
}

.landing-challenge-badge-left {
    position: absolute;
    top: 12px;
    left: 12px;
    background-color: rgba(255, 255, 255, 0.95);
    color: #374151;
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
    letter-spacing: 0.5px;
}

.landing-challenge-badge-right {
    position: absolute;
    top: 12px;
    right: 12px;
    color: #ffffff;
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 10px;
    font-weight: 700;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
    letter-spacing: 0.5px;
}

.badge-color-danger {
    background-color: #ef4444;
}

.badge-color-warning {
    background-color: #f97316;
}

.badge-color-info {
    background-color: var(--fc_color_secondary);
}

.badge-color-secondary {
    background-color: #6b7280;
}

.landing-challenge-content {
    padding: 20px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.landing-challenge-icon-box {
    width: 36px;
    height: 36px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.3s ease;
}

/* Color schemes for the icon box based on the warning color of the card */
.landing-challenge-card.warn-color-danger .landing-challenge-icon-box {
    background-color: rgba(239, 68, 68, 0.08);
    color: #ef4444;
}

.landing-challenge-card.warn-color-warning .landing-challenge-icon-box {
    background-color: rgba(249, 115, 22, 0.08);
    color: #f97316;
}

.landing-challenge-card.warn-color-info .landing-challenge-icon-box {
    background-color: color-mix(in srgb, var(--fc_color_secondary) 8%, transparent);
    color: var(--fc_color_secondary);
}

.landing-challenge-card.warn-color-secondary .landing-challenge-icon-box {
    background-color: rgba(107, 114, 128, 0.08);
    color: #6b7280;
}

.landing-challenge-icon-img {
    width: 18px;
    height: 18px;
    object-fit: contain;
}

.landing-challenge-icon-box svg {
    width: 18px;
    height: 18px;
    display: block;
}

.landing-challenge-icon-box svg [stroke],
.landing-challenge-icon-box svg line,
.landing-challenge-icon-box svg polyline {
    stroke: currentColor !important;
}

.landing-challenge-icon-box svg path:not([fill="none"]),
.landing-challenge-icon-box svg rect:not([fill="none"]),
.landing-challenge-icon-box svg circle:not([fill="none"]),
.landing-challenge-icon-box svg polygon:not([fill="none"]) {
    fill: currentColor !important;
}

.landing-challenge-card-title {
    font-size: 15px;
    font-weight: 700;
    color: var(--fc_color_primary);
    line-height: 1.3;
}

.landing-challenge-card-desc {
    font-size: 13px;
    color: #4b5563;
    line-height: 1.5;
}

/* ──────────────────────────────────────────────────────────
   LANDING BENEFITS SECTION
   ────────────────────────────────────────────────────────── */
.landing-benefits-section {
    background-color: #ffffff;
}

.landing-benefits-box {
    background-color: var(--fc_color_primary);
    border-radius: 20px;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.12);
    position: relative;
}

.landing-benefits-left {
    position: relative;
    padding: 50px !important;
}

.landing-benefits-right {
    padding: 50px !important;
    background-color: #273f65;
}

@media (min-width: 992px) {
    .landing-benefits-left {
        border-right: 1px solid rgba(255, 255, 255, 0.1);
    }
}

.landing-benefits-title {
    font-size: 28px;
    font-weight: 700;
    line-height: 1.3;
    color: #ffffff;
    letter-spacing: -0.5px;
}

.landing-benefits-desc {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.6;
    margin: 0;
}

.landing-benefits-actions {
    margin-top: auto;
}

/* Zalo button */
.landing-benefits-btn-zalo {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background-color: #f59e0b;
    color: #ffffff !important;
    padding: 12px 26px;
    border-radius: 30px;
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 12px rgba(245, 158, 11, 0.2);
}

.landing-benefits-btn-zalo:hover {
    background-color: #d97706;
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(245, 158, 11, 0.35);
    color: #ffffff !important;
}

.landing-benefits-btn-zalo svg {
    width: 20px;
    height: 20px;
    stroke: #ffffff !important;
    fill: none;
}

/* Hotline button */
.landing-benefits-btn-hotline {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background-color: transparent;
    color: #ffffff !important;
    padding: 11px 24px;
    border-radius: 30px;
    text-decoration: none;
    border: 1.5px solid rgba(255, 255, 255, 0.3);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.landing-benefits-btn-hotline:hover {
    border-color: #ffffff;
    background-color: rgba(255, 255, 255, 0.08);
    transform: translateY(-2px);
    color: #ffffff !important;
}

.landing-benefits-phone-icon {
    width: 16px;
    height: 16px;
    fill: #ffffff;
}

/* Right Side Benefit Cards */
.landing-benefit-item {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 14px;
    padding: 16px 20px;
    height: 100%;
    display: flex;
    align-items: center;
    gap: 16px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.landing-benefit-item:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.12);
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
}

/* Check circle */
.landing-benefit-check-circle {
    width: 28px;
    height: 28px;
    background-color: #273f65;
    border-radius: 50%;
    flex-shrink: 0;
}

.landing-benefit-check-circle svg {
    width: 14px;
    height: 14px;
    stroke: #ffffff !important;
}

.landing-benefit-text {
    font-size: 14px;
    font-weight: 600;
    color: #ffffff;
    line-height: 1.4;
}

/* ──────────────────────────────────────────────────────────
   LANDING EXPERIENCE SECTION
   ────────────────────────────────────────────────────────── */
.landing-experience-section {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center top;
    position: relative;
    padding-top: 80px;
    padding-bottom: 80px;
}

.landing-experience-section-title {
    color: var(--fc_color_primary);
    line-height: 1.3;
}

.landing-experience-grid-container {
    max-width: 1120px;
}

.landing-experience-card {
    background-color: #ffffff;
    border-radius: 40px;
    overflow: hidden;
    padding: 0;
    box-shadow: none;
    border: 2px solid #ffffff;
    height: 100%;
    position: relative;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    filter: drop-shadow(0 12px 28px rgba(39, 63, 101, 0.05));
}

.landing-experience-card:hover {
    transform: translateY(-5px);
    filter: drop-shadow(0 18px 36px rgba(39, 63, 101, 0.1));
}

.landing-experience-card-body {
    background-color: transparent;
    border-radius: 40px 40px 0 0;
    padding: 40px 30px 48px 30px;
    width: 100%;
    flex-grow: 1;
}

.landing-experience-card-wave {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 48px;
    pointer-events: none;
    overflow: hidden;
    opacity: 0.3;
    transition: opacity 0.5s ease;
}

.landing-experience-card:hover .landing-experience-card-wave {
    opacity: 0.6;
}

.landing-experience-card-wave svg {
    display: block;
    width: 100%;
    height: 100%;
}

.landing-experience-card-wave svg path {
    fill: rgba(0, 91, 172, 0.1);
    transition: fill 0.5s ease;
}

.landing-experience-card:hover .landing-experience-card-wave svg path {
    fill: rgba(0, 91, 172, 0.2);
}

/* Figma Icon Box Wrapper */
.landing-experience-icon-wrapper {
    position: relative;
    width: 96px;
    height: 96px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Layer 1: Outer Blur Halo */
.landing-experience-icon-halo-outer {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(0, 91, 172, 0.22), rgba(0, 91, 172, 0.08));
    border-radius: 50%;
    filter: blur(8px);
    opacity: 0.6;
    transform: scale(0.9);
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Khi hover: quầng ngoài giãn nở rộng ra và sáng lên */
.landing-experience-card:hover .landing-experience-icon-halo-outer {
    opacity: 1;
    transform: scale(1.1);
}

/* Layer 2: Middle Softer Ring */
.landing-experience-icon-halo-middle {
    position: absolute;
    top: 8px;
    left: 8px;
    right: 8px;
    bottom: 8px;
    background: linear-gradient(135deg, rgba(0, 91, 172, 0.08), transparent);
    border-radius: 50%;
    transform: scale(1);
    opacity: 0.8;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Khi hover: vòng đệm trung gian giãn nở */
.landing-experience-card:hover .landing-experience-icon-halo-middle {
    transform: scale(1.05);
    opacity: 1;
}

/* Layer 3: Inner White Circle */
.landing-experience-icon-box {
    position: relative;
    width: 64px;
    height: 64px;
    background-color: #ffffff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 20px rgba(0, 91, 172, 0.05);
    border: 1px solid rgba(249, 250, 251, 0.5);
    transition: all 0.5s ease;
    z-index: 2;
}

.landing-experience-card:hover .landing-experience-icon-box {
    border-color: rgba(0, 91, 172, 0.2);
}

.landing-experience-icon-box svg {
    width: 26px;
    height: 26px;
    display: block;
    transition: transform 0.5s ease;
}

.landing-experience-card:hover .landing-experience-icon-box svg {
    transform: scale(1.1);
}

/* Coloring dynamic/inline SVGs inside the card icon box */
.landing-experience-icon-box svg[stroke],
.landing-experience-icon-box svg [stroke] {
    stroke: #005BAC !important;
}

.landing-experience-icon-box svg[fill]:not([fill="none"]),
.landing-experience-icon-box svg [fill]:not([fill="none"]) {
    fill: #005BAC !important;
}

/* Fallback for SVG with no fill/stroke attributes (default fill is black) */
.landing-experience-icon-box svg:not([stroke]):not([fill]) path,
.landing-experience-icon-box svg:not([stroke]):not([fill]) {
    fill: #005BAC !important;
}

.landing-experience-icon-img {
    width: 26px;
    height: 26px;
    object-fit: contain;
    transition: transform 0.5s ease;
}

.landing-experience-card:hover .landing-experience-icon-img {
    transform: scale(1.1);
}

.landing-experience-card-title {
    font-size: 18px;
    font-weight: 700;
    color: var(--fc_color_primary);
    margin-bottom: 12px;
}

/* Gradient divider line under title */
.landing-experience-divider-line {
    width: 32px;
    height: 3px;
    border-radius: 99px;
    background: linear-gradient(90deg, #005BAC 0%, #60a5fa 100%);
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 16px;
}

.landing-experience-card-desc {
    font-size: 14px;
    color: #4b5563;
    line-height: 1.6;
}

/* ──────────────────────────────────────────────────────────
   LANDING TECHNOLOGIES SECTION
   ────────────────────────────────────────────────────────── */
.landing-tech-section {
    padding-top: 80px;
    padding-bottom: 80px;
    background-color: #ffffff;
    position: relative;
    overflow: hidden;
}

.landing-tech-section-title {
    color: var(--fc_color_primary);
    line-height: 1.3;
}

.landing-tech-slider-wrapper {
    position: relative;
    padding: 0 15px;
}

.landing-tech-swiper {
    width: 100%;
    height: 100%;
    padding-top: 15px !important;
    padding-bottom: 50px !important;
    margin-top: -15px !important;
    margin-bottom: -50px !important;
}

.landing-tech-card {
    background-color: #ffffff;
    border-radius: 24px;
    border: 1px solid rgba(229, 231, 235, 0.5);
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    position: relative;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.landing-tech-card:hover {
    transform: translateY(-5px);
    border-color: var(--fc_color_secondary, #005BAC);
    box-shadow: 0 15px 30px rgba(0, 91, 172, 0.08);
}

.landing-tech-img-wrapper {
    position: relative;
    width: 100%;
    height: 160px;
    overflow: hidden;
}

.landing-tech-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.landing-tech-card:hover .landing-tech-img {
    transform: scale(1.08);
}

.landing-tech-icon-box {
    position: absolute;
    bottom: 12px;
    right: 16px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #ffffff;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
    border: 2px solid #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.landing-tech-card:hover .landing-tech-icon-box {
    transform: scale(1.1);
    border-color: #ffffff;
    box-shadow: 0 6px 15px rgba(0, 91, 172, 0.15);
}

.landing-tech-icon-box img,
.landing-tech-icon-box svg {
    width: 20px;
    height: 20px;
    object-fit: contain;
    transition: transform 0.3s ease;
}

.landing-tech-card:hover .landing-tech-icon-box img,
.landing-tech-card:hover .landing-tech-icon-box svg {
    transform: rotate(5deg) scale(1.05);
}

/* Coloring dynamic/inline SVGs inside the tech card icon box */
.landing-tech-icon-box svg[stroke],
.landing-tech-icon-box svg [stroke] {
    stroke: var(--fc_color_secondary, #005BAC) !important;
}

.landing-tech-icon-box svg[fill]:not([fill="none"]),
.landing-tech-icon-box svg [fill]:not([fill="none"]) {
    fill: var(--fc_color_secondary, #005BAC) !important;
}

.landing-tech-icon-box svg:not([stroke]):not([fill]) path,
.landing-tech-icon-box svg:not([stroke]):not([fill]) {
    fill: var(--fc_color_secondary, #005BAC) !important;
}

.landing-tech-card-body {
    padding: 24px 20px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    background-color: #ffffff;
}

.landing-tech-card-title {
    font-size: 16px;
    font-weight: 700;
    color: var(--fc_color_primary);
    margin-bottom: 10px;
    line-height: 1.4;
    height: 54px;
    transition: color 0.3s ease;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.landing-tech-card:hover .landing-tech-card-title {
    color: var(--fc_color_secondary, #005BAC);
}

.landing-tech-card-desc {
    font-size: 13.5px;
    color: #4b5563;
    line-height: 1.6;
    margin-bottom: 0;
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.landing-tech-prev,
.landing-tech-next {
    width: 44px !important;
    height: 44px !important;
    background-color: #ffffff;
    border: 2px solid rgba(0, 91, 172, 0.1);
    color: var(--fc_color_primary);
    border-radius: 50%;
    position: absolute;
    top: 160px;
    transform: translateY(-50%);
    margin-top: 0 !important;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.landing-tech-prev::after,
.landing-tech-next::after {
    font-family: swiper-icons;
    font-size: 16px !important;
    font-weight: bold;
    color: var(--fc_color_primary);
    transition: color 0.3s ease;
}

.landing-tech-prev {
    left: -10px !important;
}

.landing-tech-next {
    right: -10px !important;
}

.landing-tech-prev:hover,
.landing-tech-next:hover {
    background-color: var(--fc_color_secondary, #005BAC);
    border-color: var(--fc_color_secondary, #005BAC);
    box-shadow: 0 6px 15px rgba(0, 91, 172, 0.2);
}

.landing-tech-prev:hover::after,
.landing-tech-next:hover::after {
    color: #ffffff;
}

.landing-tech-pagination {
    bottom: 10px !important;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.landing-tech-pagination .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    background-color: #d1d5db;
    opacity: 1;
    border-radius: 50%;
    transition: all 0.3s ease;
}

.landing-tech-pagination .swiper-pagination-bullet-active {
    width: 24px;
    border-radius: 4px;
    background-color: var(--fc_color_secondary, #005BAC);
}

/* ──────────────────────────────────────────────────────────
   LANDING PRODUCTS & COMPARISON SECTION
   ────────────────────────────────────────────────────────── */
.landing-prod-comp-section {
    padding-top: 80px;
    padding-bottom: 80px;
    background-color: #ffffff;
    position: relative;
}

.landing-prod-comp-title {
    color: var(--fc_color_primary, #002855);
    line-height: 1.25;
}

/* Pill Tabs Switcher */
.landing-prod-comp-tabs-nav {
    background-color: #f1f5f9;
    border-radius: 99px;
    padding: 6px;
    display: inline-flex;
    gap: 6px;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.03);
}

.landing-prod-comp-tabs-nav .tab-nav-btn {
    background: transparent;
    border: none;
    color: #475569;
    padding: 7px 20px;
    border-radius: 99px;
    cursor: pointer;
    outline: none;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.landing-prod-comp-tabs-nav .tab-nav-btn.active {
    background-color: var(--fc_color_primary, #002855);
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(0, 40, 85, 0.15);
}

/* Product Card */
.landing-product-card {
    background-color: #ffffff;
    border-radius: 24px;
    border: 1px solid rgba(226, 232, 240, 0.8);
    box-shadow: 0 10px 30px rgba(39, 63, 101, 0.03);
    overflow: hidden;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    height: 100%;
    display: flex;
    flex-direction: column;
}

.landing-product-card:hover {
    transform: translateY(-5px);
    border-color: var(--fc_color_secondary, #005BAC);
    box-shadow: 0 15px 35px rgba(0, 91, 172, 0.08);
}

.product-card-img-wrapper {
    background-color: #f8fafc;
    height: 220px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-bottom: 1px solid rgba(226, 232, 240, 0.5);
    position: relative;
}

.product-card-swiper {
    position: relative;
    overflow: hidden;
}

.product-card-swiper .swiper-pagination {
    position: absolute !important;
    bottom: 8px !important;
    left: 0;
    width: 100%;
    z-index: 10;
    margin-top: 0 !important;
    display: flex;
    justify-content: center;
    gap: 4px;
}

.product-card-swiper .swiper-pagination-bullet {
    width: 6px;
    height: 6px;
    background-color: #cbd5e1;
    opacity: 0.8;
    border-radius: 50%;
    transition: all 0.3s ease;
}

.product-card-swiper .swiper-pagination-bullet-active {
    width: 16px;
    border-radius: 3px;
    background-color: var(--fc_color_secondary, #005BAC) !important;
}

.product-card-img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    transition: transform 0.5s ease;
}

.landing-product-card:hover .product-card-img {
    transform: scale(1.06);
}

.product-card-body {
    padding: 24px 20px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    background-color: #ffffff;
}

.product-card-title-box {
    margin-bottom: 16px;
}

.product-card-title-box .product-brand {
    color: #64748b;
    margin-bottom: 4px;
}

.product-card-title-box .product-code {
    color: var(--fc_color_primary, #002855);
    line-height: 1.25;
}

.product-specs-list {
    margin-bottom: 24px;
}

.product-specs-list li {
    padding: 8px 0;
}

.product-specs-list li.border-bottom-dashed {
    border-bottom: 1px dashed rgba(226, 232, 240, 0.8);
}

.product-specs-list .spec-label {
    color: #64748b;
}

.product-specs-list .spec-val {
    color: #1e293b;
}

.product-pricing {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 24px;
}

.product-pricing .sale-price {
    color: var(--fc_color_secondary, #005BAC);
}

.product-pricing .regular-price {
    color: #94a3b8;
}

.product-pricing .discount-badge {
    background-color: rgba(249, 115, 22, 0.1);
    color: #ea580c;
    border-radius: 4px;
    font-size: 11px;
    padding: 2px 6px;
}

/* Custom buttons */
.btn-v5-navy-solid {
    background-color: var(--fc_color_primary, #002855);
    color: #ffffff;
    border: none;
    border-radius: 99px;
    cursor: pointer;
    transition: all 0.3s ease;
    outline: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.btn-v5-navy-solid:hover {
    background-color: var(--fc_color_secondary, #005BAC);
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(0, 91, 172, 0.2);
}

.btn-v5-outline-blue {
    background-color: #ffffff;
    color: var(--fc_color_secondary, #005BAC);
    border: 1px solid var(--fc_color_secondary, #005BAC);
    border-radius: 99px;
    cursor: pointer;
    transition: all 0.3s ease;
    outline: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
}

.btn-v5-outline-blue:hover {
    background-color: var(--fc_color_secondary, #005BAC);
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(0, 91, 172, 0.2);
}

/* Comparison Table */
.landing-prod-comp-table-container {
    border: 1px solid rgba(226, 232, 240, 0.8);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(39, 63, 101, 0.03);
    background-color: #ffffff;
}

.comparison-table {
    border-collapse: collapse;
    width: 100%;
}

.comparison-table th {
    background-color: var(--fc_color_primary, #002855);
    color: #ffffff;
    padding: 16px 20px;
    font-weight: 700;
    border: none;
}

.comparison-table td {
    padding: 16px 20px;
    border-bottom: 1px solid #f1f5f9;
    vertical-align: middle;
}

.comparison-table tbody tr:nth-child(even) {
    background-color: #f8fafc;
}

.comparison-table tbody tr:last-child td {
    border-bottom: none;
}

.comparison-table .criteria-name {
    color: #475569;
    background-color: #ffffff;
    width: 200px;
}

.comparison-table tbody tr:nth-child(even) .criteria-name {
    background-color: #f8fafc;
}

.comparison-table .row-price td {
    background-color: rgba(239, 246, 255, 0.4);
}

/* Popup Modal overlay */
.landing-buy-popup-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 99999;
    display: none;
    /* Hide by default */
    align-items: center;
    justify-content: center;
}

.landing-buy-popup-modal.active {
    display: flex;
    /* Show as flex when active class is added */
}

.landing-buy-popup-backdrop {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 40, 85, 0.45);
    backdrop-filter: blur(5px);
}

.landing-buy-popup-content {
    position: relative;
    background-color: #ffffff;
    border-radius: 24px;
    width: 90%;
    max-width: 460px;
    padding: 36px 30px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15);
    z-index: 2;
    animation: popupZoomIn 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@keyframes popupZoomIn {
    0% {
        opacity: 0;
        transform: scale(0.9) translateY(20px);
    }

    100% {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

.landing-buy-popup-close-btn {
    position: absolute;
    top: 16px;
    right: 20px;
    background: transparent;
    border: none;
    font-size: 28px;
    line-height: 1;
    color: #94a3b8;
    cursor: pointer;
    transition: color 0.2s ease;
}

.landing-buy-popup-close-btn:hover {
    color: #1e293b;
}

.landing-buy-popup-form .form-label {
    margin-bottom: 6px;
    color: #475569;
}

.landing-buy-popup-form .form-control {
    border-radius: 10px;
    border: 1px solid #cbd5e1;
    padding: 10px 14px;
    outline: none;
    transition: all 0.3s ease;
    width: 100%;
}

.landing-buy-popup-form .form-control:focus {
    border-color: var(--fc_color_secondary, #005BAC);
    box-shadow: 0 0 0 3px rgba(0, 91, 172, 0.15);
}

body.modal-open {
    overflow: hidden !important;
}

/* ──────────────────────────────────────────────────────────
   LANDING VIDEOS REVIEW SECTION (YOUTUBE SHORTS)
   ────────────────────────────────────────────────────────── */
.landing-videos-review-section {
    padding-top: 80px;
    padding-bottom: 80px;
    background-color: #f8fafc;
}

.landing-videos-more-link {
    color: var(--fc_color_secondary, #005BAC);
    text-decoration: none !important;
}

.landing-videos-more-link:hover {
    color: var(--fc_color_primary, #002855);
}

.landing-videos-more-link span {
    display: inline-block;
    transition: transform 0.3s ease;
    margin-left: 6px !important;
}

.landing-videos-more-link:hover span {
    transform: translateX(4px);
}

.landing-video-card {
    background-color: #ffffff;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(39, 63, 101, 0.04);
    border: 1px solid rgba(226, 232, 240, 0.8);
    transition: all 0.3s ease;
    height: 100%;
}

.landing-video-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(0, 91, 172, 0.08);
    border-color: var(--fc_color_secondary, #005BAC);
}

.landing-video-iframe-wrapper {
    position: relative;
    width: 100%;
    padding-top: 177.78%;
    /* 16:9 vertical ratio (shorts) */
    background-color: #000000;
}

.landing-video-iframe-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

/* Helper Alignments */
.justify-content-center {
    justify-content: center !important;
}

.justify-content-end {
    justify-content: flex-end !important;
}

@media (min-width: 992px) {
    .justify-content-lg-end {
        justify-content: flex-end !important;
    }
}

/* ──────────────────────────────────────────────────────────
   LANDING CONSULTATION STEPS SECTION
   ────────────────────────────────────────────────────────── */
.landing-consultation-section {
    padding-top: 120px;
    padding-bottom: 120px;
    background-color: #f8fafc;
    background-size: 100% 100% !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    position: relative;
}

.landing-consultation-title {
    color: var(--fc_color_primary, #002855);
}

.landing-consultation-tags-wrapper {
    gap: 8px;
}

.landing-consultation-tag-pill {
    background-color: rgba(241, 245, 249, 0.8);
    border: 1px solid rgba(226, 232, 240, 0.8);
    color: #475569;
    padding: 6px 16px;
    border-radius: 99px;
    white-space: nowrap;
    transition: all 0.2s ease;
}

.landing-consultation-tag-pill:hover {
    background-color: #ffffff;
    border-color: var(--fc_color_secondary, #005BAC);
    color: var(--fc_color_secondary, #005BAC);
    box-shadow: 0 4px 12px rgba(0, 91, 172, 0.05);
}

.landing-consultation-grid-wrapper {
    position: relative;
    z-index: 1;
}

/* Horizontal connecting line passing behind the circles on desktop */
.landing-consultation-grid-wrapper::before {
    content: '';
    position: absolute;
    top: 51px;
    /* Center of the 42px number box + card padding (30px top padding + 21px half-height of box) */
    left: 15%;
    right: 15%;
    height: 2px;
    background-color: #e2e8f0;
    z-index: 0;
}

.landing-consultation-step-card {
    background-color: #ffffff;
    border-radius: 24px;
    padding: 30px 24px;
    box-shadow: 0 10px 30px rgba(39, 63, 101, 0.04);
    border: 1px solid rgba(226, 232, 240, 0.8);
    transition: all 0.3s ease;
    position: relative;
    z-index: 2;
}

.landing-consultation-step-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(0, 91, 172, 0.08);
    border-color: var(--fc_color_secondary, #005BAC);
}

.landing-consultation-step-number-box {
    width: 42px;
    height: 42px;
    background-color: var(--fc_color_primary, #002855);
    color: #ffffff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 24px;
    font-size: 16px;
    font-weight: 700;
    z-index: 3;
    position: relative;
    box-shadow: 0 0 0 6px #ffffff;
    /* Sits on top of the connector line with a white gap */
    transition: background-color 0.3s ease;
}

.landing-consultation-step-card:hover .landing-consultation-step-number-box {
    background-color: var(--fc_color_secondary, #005BAC);
}

.landing-consultation-step-title {
    margin-bottom: 12px;
}

.landing-consultation-step-desc {
    font-size: 14px;
    line-height: 1.6;
    color: #64748b;
}

/* Zalo CTA button styling */
.landing-consultation-zalo-btn {
    background-color: var(--fc_color_primary, #002855);
    color: #ffffff !important;
    padding: 14px 32px;
    border-radius: 99px;
    text-decoration: none !important;
    font-weight: 600;
    box-shadow: 0 4px 12px rgba(0, 40, 85, 0.2);
    border: 0;
    outline: none;
    transition: all 0.3s ease;
}

.landing-consultation-zalo-btn:hover {
    background-color: var(--fc_color_secondary, #005BAC);
    box-shadow: 0 6px 18px rgba(0, 91, 172, 0.3);
}

.zalo-btn-arrow-icon {
    transition: transform 0.3s ease;
}

.landing-consultation-zalo-btn:hover .zalo-btn-arrow-icon {
    transform: translateX(4px);
}

/* ──────────────────────────────────────────────────────────
   LANDING ROOM RECOMMENDATIONS SECTION
   ────────────────────────────────────────────────────────── */
.landing-rooms-section {
    padding-top: 80px;
    padding-bottom: 80px;
}

.landing-rooms-main-title {
    color: var(--fc_color_primary, #002855);
}

.landing-rooms-main-desc {
    line-height: 1.6;
}

.landing-room-card {
    background-color: #ffffff;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(39, 63, 101, 0.04);
    border: 1px solid rgba(226, 232, 240, 0.8);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    height: 100%;
}

.landing-room-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 15px 35px rgba(0, 91, 172, 0.08);
    border-color: var(--fc_color_secondary, #005BAC);
}

.landing-room-img-wrapper {
    height: 280px;
    background-color: #f1f5f9;
}

.landing-room-img {
    object-fit: cover;
    height: 100%;
    width: 100%;
}

.landing-room-card:hover .landing-room-img {
    transform: scale(1.04);
}

.landing-room-img-badge {
    top: 16px;
    left: 16px;
    background-color: rgba(15, 23, 42, 0.65);
    color: #ffffff;
    padding: 6px 12px;
    border-radius: 99px;
    letter-spacing: 0.03em;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

.landing-room-overtitle {
    color: var(--fc_color_secondary, #005BAC);
    letter-spacing: 0.05em;
    display: block;
}

.landing-room-title {
    color: var(--fc_color_primary, #002855);
    line-height: 1.35;
}

.landing-room-desc {
    line-height: 1.6;
}


.landing-room-spec-item .spec-label {
    color: #94a3b8;
    letter-spacing: 0.03em;
}

.landing-room-recommendation-box {

    border: 1px solid rgba(226, 232, 240, 0.8);
    border-radius: 16px;
    transition: all 0.3s ease;
}

.landing-room-card:hover .landing-room-recommendation-box {

    border-color: rgba(0, 91, 172, 0.15);
    box-shadow: 0 4px 20px rgba(0, 91, 172, 0.03);
}

.rec-badge-label {
    padding: 4px 10px;
    border-radius: 4px;
    letter-spacing: 0.03em;
    border: 1px solid rgba(226, 232, 240, 0.8);
    color: var(--fc_color_secondary, #005BAC);
}

.rec-model-badge {
    background-color: var(--fc_color_secondary, #005BAC);
    color: #ffffff;
    padding: 4px 12px;
    border-radius: 99px;
    letter-spacing: 0.02em;
}

.rec-criteria-title {
    color: #64748b;
    margin-bottom: 12px !important;
}

.rec-criterion-item {
    color: var(--fc_color_primary, #002855);
    line-height: 1.45;
    margin-bottom: 8px !important;
    display: flex !important;
    align-items: start !important;
    text-align: left !important;
}

.rec-bullet {
    color: var(--fc_color_secondary, #005BAC);
    font-size: 16px;
    line-height: 1;
    margin-right: 8px !important;
    flex-shrink: 0;
}

.landing-room-recommendation-box .d-flex.justify-content-between {
    margin-bottom: 16px !important;
}

.rec-sub-specs-row {
    border-top: 1px solid rgba(226, 232, 240, 0.8) !important;
}

.rec-sub-spec .sub-spec-label {
    color: #64748b;
}

.rec-sub-spec .sub-spec-value {
    color: var(--fc_color_primary, #002855);
}



.landing-room-tag-pill {
    background-color: rgba(241, 245, 249, 0.8);
    border: 1px solid rgba(226, 232, 240, 0.8);
    color: var(--fc_color_secondary, #005BAC);
    padding: 6px 14px;
    border-radius: 99px;
    transition: all 0.2s ease;
}

.landing-room-tag-pill:hover {
    background-color: #ffffff;
    border-color: var(--fc_color_secondary, #005BAC);
    color: var(--fc_color_secondary, #005BAC);
    box-shadow: 0 4px 12px rgba(0, 91, 172, 0.05);
}

.landing-room-note-banner {
    background-color: #fffbeb;
    border: 1px solid rgba(232, 160, 32, 0.25);
    border-radius: 16px;
    padding: 20px 24px;
    width: 100%;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;
}

.landing-room-note-content {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    text-align: left !important;
}

.landing-room-note-content svg {
    flex-shrink: 0 !important;
    margin-top: 0 !important;
}

.landing-room-note-text {
    line-height: 1.6;
    color: var(--fc_color_primary, #002855);
}

.landing-room-note-btn {
    background-color: var(--fc_color_primary, #002855);
    color: #ffffff !important;
    padding: 10px 24px;
    border-radius: 99px;
    text-decoration: none !important;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}

.landing-room-note-btn:hover {
    background-color: var(--fc_color_secondary, #005BAC);
    box-shadow: 0 4px 12px rgba(0, 91, 172, 0.2);
}

.landing-room-note-btn span {
    display: inline-block;
    transition: transform 0.2s ease;
    margin-left: 8px !important;
}

.landing-room-note-btn:hover span {
    transform: translateX(3px);
}

/* --- Landing Why Choose Us Block --- */
.landing-wcu-section {
    padding-top: 100px;
    padding-bottom: 100px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.landing-wcu-sub-tag {
    letter-spacing: 1.5px;
    font-size: 13px;
    color: var(--fc_color_secondary, #005BAC);
    text-transform: uppercase;
}

.landing-wcu-main-title {
    color: var(--fc_color_primary, #002855);
}

.landing-wcu-pill {
    background-color: rgba(0, 91, 172, 0.08);
    color: var(--fc_color_secondary, #005BAC);
    padding: 8px 20px;
    border-radius: 99px;
    display: inline-block;
    border: 1px solid rgba(0, 91, 172, 0.15);
}

/* USP items grid */
.landing-wcu-item {
    background-color: rgba(248, 250, 252, 0.5);
    border: 1px solid rgba(0, 40, 85, 0.05);
    padding: 20px 24px;
    border-radius: 16px;
    height: 100%;
    transition: all 0.3s ease;
}

.landing-wcu-item:hover {
    background-color: #ffffff;
    box-shadow: 0 10px 25px rgba(0, 40, 85, 0.06);
    transform: translateY(-2px);
}

.landing-wcu-check-icon {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background-color: rgba(34, 197, 94, 0.12);
    color: #22c55e;
}

.landing-wcu-item-text {
    line-height: 1.5;
}

/* CTA buttons */
.landing-wcu-btn-primary {
    background-color: var(--fc_color_primary, #002855);
    color: #ffffff !important;
    padding: 12px 28px;
    border-radius: 99px;
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.landing-wcu-btn-primary:hover {
    background-color: var(--fc_color_secondary, #005BAC);
    box-shadow: 0 5px 15px rgba(0, 91, 172, 0.25);
}

.landing-wcu-btn-secondary {
    background-color: #ffffff;
    color: var(--fc_color_primary, #002855) !important;
    border: 1px solid var(--fc_color_primary, #002855);
    padding: 12px 28px;
    border-radius: 99px;
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.landing-wcu-btn-secondary:hover {
    background-color: #f8fafc;
    border-color: var(--fc_color_secondary, #005BAC);
    color: var(--fc_color_secondary, #005BAC) !important;
}

/* Showroom Card & Slider */
.landing-wcu-showroom-card {
    border-radius: 24px;
    box-shadow: 0 15px 35px rgba(0, 40, 85, 0.1);
    background-color: #000000;
    min-height: 380px;
}

.landing-wcu-slide-bg {
    background-size: cover;
    background-position: center;
    width: 100%;
    height: 100%;
}

.landing-wcu-slide-overlay {
    background: linear-gradient(to top, rgba(0, 40, 85, 0.95) 0%, rgba(0, 40, 85, 0.5) 60%, transparent 100%);
    z-index: 2;
}

.landing-wcu-slide-badge {
    background-color: #e8a020;
    color: #ffffff;
    padding: 4px 10px;
    border-radius: 4px;
    letter-spacing: 0.5px;
}

.landing-wcu-slide-title {
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.landing-wcu-slide-desc {
    opacity: 0.85;
}

/* Swiper styling customization */
.landing-wcu-swiper {
    position: relative;
    height: 100%;
    width: 100%;
}

.landing-wcu-swiper-pagination {
    position: absolute !important;
    bottom: 16px !important;
    right: 16px !important;
    left: auto !important;
    width: auto !important;
    text-align: right;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
}

.landing-wcu-swiper-pagination .swiper-pagination-bullet {
    background: #ffffff !important;
    opacity: 0.4;
    width: 8px;
    height: 8px;
    transition: all 0.3s ease;
    margin: 0 !important;
}

.landing-wcu-swiper-pagination .swiper-pagination-bullet-active {
    opacity: 1;
    background: #e8a020 !important;
    width: 20px;
    border-radius: 4px;
}

/* Showroom Slider Navigation Arrows */
.landing-wcu-nav-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 20;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.18);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    border: 1px solid rgba(255, 255, 255, 0.25);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    opacity: 0;
    transition: opacity 0.3s ease, background 0.2s ease, transform 0.2s ease;
    user-select: none;
}

.landing-wcu-btn-prev {
    left: 14px;
}

.landing-wcu-btn-next {
    right: 14px;
}

.landing-wcu-showroom-card:hover .landing-wcu-nav-btn {
    opacity: 1;
}

.landing-wcu-nav-btn:hover {
    background: rgba(255, 255, 255, 0.32);
    transform: translateY(-50%) scale(1.08);
}

.landing-wcu-nav-btn svg {
    flex-shrink: 0;
    display: block;
}


/* Stats Counter Row */
.landing-wcu-stat-box {
    background-color: #ffffff;
    border-radius: 16px;
    border: 1px solid rgba(0, 40, 85, 0.05);
    box-shadow: 0 8px 20px rgba(0, 40, 85, 0.03);
    transition: all 0.3s ease;
}

.landing-wcu-stat-box:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 30px rgba(0, 40, 85, 0.08);
}

.landing-wcu-stat-number {
    font-size: 32px;
}

.landing-wcu-stat-title {
    color: var(--fc_color_primary, #002855);
}

.landing-wcu-stat-subtitle {
    opacity: 0.7;
}

/* Stores Landing Section v5 */
.landing-stores-section {
    background-color: #f8fafc;
    position: relative;
    overflow: hidden;
}

.landing-stores-hotline {
    background-color: #fff7ed;
    color: #c2410c;
    border: 1px solid rgba(194, 65, 12, 0.15);
    padding: 8px 16px;
    border-radius: 99px;
    display: inline-flex;
    letter-spacing: 0.5px;
    box-shadow: 0 2px 8px rgba(194, 65, 12, 0.04);
}

.landing-stores-region-header {
    margin-top: 20px;
}

.landing-stores-region-title {
    letter-spacing: 0.5px;
}

.landing-stores-region-line {
    height: 1px;
    background-color: #e2e8f0;
}

.landing-stores-region-count {
    font-weight: 500;
}

/* Card design matching screenshot */
.landing-store-card {
    background-color: #ffffff;
    border: 1px solid #f1f5f9 !important;
    border-radius: 14px !important;
    padding: 24px !important;
    height: 100%;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02) !important;
}

.landing-store-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--fc-shadow-premium) !important;
    border-color: rgba(30, 58, 138, 0.1) !important;
}

.landing-store-card-title {
    font-size: 15px !important;
    line-height: 1.4 !important;
    color: var(--fc_color_primary, rgb(30, 58, 138)) !important;
}

.landing-store-details {
    margin-top: 15px;
}

.landing-store-detail-item {
    font-size: 13px;
    line-height: 1.5;
}

.landing-store-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: rgb(232, 160, 32) !important; /* Gold/yellow icon */
    margin-top: 2px;
}

.landing-store-icon svg {
    width: 16px;
    height: 16px;
    color: rgb(232, 160, 32) !important;
    stroke: rgb(232, 160, 32) !important;
}

.landing-store-icon svg path,
.landing-store-icon svg circle,
.landing-store-icon svg polyline {
    stroke: rgb(232, 160, 32) !important;
}

.landing-store-text {
    color: #475569 !important;
}

.landing-store-text strong {
    color: #1e293b;
    font-weight: 600;
}

.landing-store-map-link {
    color: var(--fc_color_secondary, #005BAC) !important;
    font-size: 13px !important;
    text-transform: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    transition: all 0.2s ease !important;
}

.landing-store-map-link span {
    transition: transform 0.2s ease !important;
}

.landing-store-map-link:hover {
    color: var(--fc_color_primary, #002855) !important;
}

.landing-store-map-link:hover span {
    transform: translateX(3px);
}

/* ============================================================
   LANDING DOCUMENTS SECTION (Tài liệu kỹ thuật & Catalogue)
   ============================================================ */

.landing-docs-section {
    background-color: #f4f8fe;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding-top: 72px;
    padding-bottom: 72px;
}

/* Section Header */
.section-label-v5 {
    display: inline-block;
    color: var(--fc_color_primary, #002855);
    letter-spacing: 0.08em;
    font-size: 13px;
}

.landing-docs-title {
    line-height: 1.3 !important;
}

.landing-docs-desc {
    line-height: 1.7;
    max-width: 560px;
}

/* Zalo CTA Button */
.landing-docs-zalo-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 22px;
    background: var(--fc_color_primary, #002855);
    color: #ffffff !important;
    border-radius: 10px;
    text-decoration: none;
    border: 2px solid transparent;
    transition: all 0.25s ease;
    white-space: nowrap;
}

.landing-docs-zalo-btn:hover {
    background: transparent;
    color: var(--fc_color_primary, #002855) !important;
    border-color: var(--fc_color_primary, #002855);
    text-decoration: none;
}

.landing-docs-zalo-btn svg {
    transition: transform 0.2s ease;
}

.landing-docs-zalo-btn:hover svg {
    transform: translateX(4px);
}

/* Document Cards */
.landing-doc-card {
    background: #ffffff;
    border-radius: 14px !important;
    border: 1px solid #f0f0f0 !important;
    box-shadow: 0 2px 12px rgba(0, 40, 85, 0.06);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.landing-doc-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 30px rgba(0, 40, 85, 0.12);
    border-color: rgba(0, 40, 85, 0.12) !important;
}

/* File Icon Box */
.landing-doc-icon-box {
    width: 52px;
    height: 52px;
    min-width: 52px;
    border-radius: 12px;
    background: rgba(0, 40, 85, 0.06);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--fc_color_primary, #002855);
    transition: background 0.25s ease, color 0.25s ease;
}

/* Doc Title & Desc */
.landing-doc-card-title {
    font-size: 15px !important;
    line-height: 1.4 !important;
    color: var(--fc_color_primary, #002855) !important;
    transition: color 0.25s ease;
}

.landing-doc-card-desc {
    font-size: 13px !important;
    line-height: 1.55 !important;
    color: #6b7280 !important;
}

/* Badge on card */
.landing-doc-badge {
    padding: 3px 9px;
    color: #e8a020;
    font-size: 11px;
    font-weight: 700;
}

/* Divider */
.border-top-f0 {
    border-top: 1px solid #f0f0f0 !important;
}

/* Type badge (PDF, ZIP...) */
.landing-doc-type-badge {
    display: inline-block;
    padding: 2px 7px;
    border-radius: 4px;
    background: #f1f5f9;
    color: #475569;
    font-size: 10px !important;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.landing-doc-size {
    font-size: 12px;
    color: #9ca3af;
}

.landing-doc-recommended {
    color: #e8a020;
    font-size: 12px;
    font-weight: 600;
}

/* Action Buttons */
.landing-doc-action-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 14px;
    border-radius: 8px;
    font-size: 12px !important;
    font-weight: 600;
    text-decoration: none !important;
    transition: all 0.22s ease;
    white-space: nowrap;
    border: 1.5px solid transparent;
}

/* Download button style */
.landing-doc-btn-download {
    color: var(--fc_color_secondary, #005BAC) !important;
    border-color: rgba(0, 91, 172, 0.25);
    background: transparent;
    transition: all 0.25s ease;
}

/* Hover on card → fill button + change title & icon */
.landing-doc-card:hover .landing-doc-btn-download {
    background: var(--fc_color_secondary, #005BAC);
    color: #ffffff !important;
    border-color: var(--fc_color_secondary, #005BAC);
}

.landing-doc-card:hover .landing-doc-card-title {
    color: var(--fc_color_secondary, #005BAC) !important;
}

.landing-doc-card:hover .landing-doc-icon-box {
    background: rgba(0, 91, 172, 0.1);
    color: var(--fc_color_secondary, #005BAC);
}

.landing-doc-btn-download:hover {
    background: var(--fc_color_secondary, #005BAC);
    color: #ffffff !important;
    border-color: var(--fc_color_secondary, #005BAC);
}

/* Register button style */
.landing-doc-btn-register {
    color: #e8a020 !important;
    border-color: rgba(232, 160, 32, 0.35);
    background: transparent;
    transition: all 0.25s ease;
}

.landing-doc-card:hover .landing-doc-btn-register {
    background: #e8a020;
    color: #ffffff !important;
    border-color: #e8a020;
}

.landing-doc-btn-register:hover {
    background: #e8a020;
    color: #ffffff !important;
    border-color: #e8a020;
}

/* Footer Note */
.landing-docs-footer-note {
    background: transparent;
    border-radius: 10px;
    padding: 12px 24px;
    border: 1px solid rgba(0, 40, 85, 0.15);
    backdrop-filter: blur(2px);
}


.landing-docs-footer-note p {
    color: #6b7280 !important;
    font-size: 13px !important;
    line-height: 1.6;
}

.landing-docs-footer-note p strong,
.landing-docs-footer-note p a {
    color: var(--fc_color_primary, #002855);
    font-weight: 700;
}

/* =============================================
   Landing FAQ Section v5
   ============================================= */
.landing-faq-section {
    background-color: #f8fafc;
}

.landing-faq-title {
    line-height: 1.3 !important;
}

.landing-faq-desc {
    line-height: 1.7;
    max-width: 560px;
    margin-left: auto;
    margin-right: auto;
}

/* FAQ Accordion */
.faq-accordion-v5 {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

/* FAQ Item Card */
.faq-item-v5 {
    border: 1px solid #eef2f6;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    overflow: hidden;
}

.faq-item-v5:hover {
    box-shadow: 0 4px 16px rgba(0, 40, 85, 0.08);
}

/* FAQ Toggle */
.faq-toggle-v5 {
    gap: 4px;
    cursor: pointer;
}

/* FAQ Number */
.faq-number-v5 {
    font-size: 15px;
    transition: color 0.25s ease;
    margin-right: 2px;
}

/* FAQ Question Text */
.faq-q-text-v5 {
    flex: 1;
    line-height: 1.5;
    transition: color 0.25s ease;
}

/* FAQ Icon */
.faq-icon-v5 {
    background: #f1f5f9;
    color: #94a3b8;
    border-radius: 50%;
    width: 25px;
    height: 25px;
    transition: transform 0.25s;
    transform: rotate(0deg);
}

.faq-icon-v5 svg {
    width: 14px;
    height: 14px;
    display: block;
}

.faq-toggle-v5:hover .faq-icon-v5 {
    background: rgba(0, 40, 85, 0.08);
    color: var(--fc_color_primary, #002855);
}

/* Active state (expanded) */
.faq-toggle-v5.active .faq-q-text-v5 {
    color: var(--fc_color_secondary, #2563eb);
}

.faq-toggle-v5.active .faq-icon-v5 {
    background: var(--fc_color_secondary, #2563eb);
    color: #ffffff;
}

.faq-toggle-v5.active .faq-number-v5 {
    color: var(--fc_color_secondary, #2563eb);
}

@media (max-width: 991px) {
    .landing-faq-section {
        padding-top: 60px;
        padding-bottom: 60px;
    }
    .landing-faq-title {
        font-size: 26px !important;
    }
    .faq-q-text-v5 {
        font-size: 14px !important;
    }
    .faq-toggle-v5 {
        padding: 16px 20px !important;
    }
}

@media (max-width: 575px) {
    .landing-faq-section {
        padding-top: 48px;
        padding-bottom: 48px;
    }
    .landing-faq-title {
        font-size: 22px !important;
    }
    .faq-q-text-v5 {
        font-size: 13px !important;
    }
    .faq-toggle-v5 {
        padding: 14px 16px !important;
    }
}

/* =============================================
   Landing Contact Section v5
   ============================================= */
.landing-contact-section {
    background-color: #1e3a8a;
}

.landing-contact-title {
    line-height: 1.3 !important;
    color: #ffffff !important;
}

/* Left Content */
.contact-heading {
    line-height: 1.3;
    color: #ffffff;
}

.contact-desc {
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.85) !important;
}

/* Feature Items */
.contact-feature-item {
    gap: 14px;
}

.contact-feature-icon {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
}

.contact-feature-icon img {
    display: block;
    filter: brightness(0) invert(1);
}

.contact-feature-text {
    color: #ffffff;
    font-size: 16px;
}

.contact-support-box {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    padding: 20px !important;
    max-width: 448px;
    transition: all 0.3s ease;
    cursor: pointer;
}

.contact-support-box:hover {
    background: rgba(255, 255, 255, 0.15);
    border-color: rgba(255, 255, 255, 0.25);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}

.contact-support-icon {
    width: 64px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.contact-support-icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: drop-shadow(0 4px 12px rgba(232, 160, 32, 0.35));
}

.contact-support-text {
    line-height: 1.625;
    color: rgba(255, 255, 255, 0.95) !important;
    font-size: 12px !important;
    font-weight: 500;
}

/* Form Card */
.contact-form-card {
    background: #ffffff;
    border-radius: 16px;
    padding: 36px 32px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
}

.contact-form-title {
    line-height: 1.3;
    color: var(--fc_color_primary, #002855);
}

.contact-privacy-text {
    line-height: 1.5;
    opacity: 0.7;
    color: #94a3b8 !important;
}

/* Contact Form 7 overrides */
.contact-form-content .wpcf7-form input,
.contact-form-content .wpcf7-form select,
.contact-form-content .wpcf7-form textarea {
    padding: 12px 16px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    font-size: 14px;
    color: var(--fc_color_primary, #002855);
    background: #f8fafc;
    width: 100%;
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.contact-form-content .wpcf7-form input:focus,
.contact-form-content .wpcf7-form select:focus,
.contact-form-content .wpcf7-form textarea:focus {
    outline: none;
    border-color: var(--fc_color_secondary, #2563eb);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
    background: #ffffff;
}

.contact-form-content .wpcf7-form input[type="submit"] {
    padding: 14px 24px;
    border: none;
    border-radius: 8px;
    background: var(--fc_color_primary, #002855);
    color: #ffffff;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.25s ease;
    width: 100%;
}

.contact-form-content .wpcf7-form input[type="submit"]:hover {
    background: var(--fc_color_secondary, #2563eb);
}

.contact-form-content .wpcf7-form .wpcf7-not-valid-tip {
    font-size: 12px;
    color: #d02c26;
    margin-top: 4px;
}

.contact-form-content .wpcf7-form .wpcf7-response-output {
    font-size: 13px;
    border-radius: 8px;
    margin: 16px 0 0;
    padding: 12px 16px;
}

/* Responsive */
@media (max-width: 991px) {
    .landing-contact-section {
        padding-top: 60px;
        padding-bottom: 60px;
    }
    .landing-contact-title {
        font-size: 26px !important;
    }
    .contact-heading {
        font-size: 24px !important;
    }
    .contact-form-card {
        padding: 28px 24px;
    }
}

@media (max-width: 575px) {
    .landing-contact-section {
        padding-top: 48px;
        padding-bottom: 48px;
    }
    .landing-contact-title {
        font-size: 22px !important;
    }
    .contact-heading {
        font-size: 20px !important;
    }
    .contact-support-box {
        flex-direction: column;
        text-align: center;
    }
    .contact-support-icon {
        margin-bottom: 12px;
    }
    .contact-support-text {
        margin-left: 0 !important;
    }
    .contact-form-card {
        padding: 20px 16px;
    }
}

/* Responsive */
@media (max-width: 991px) {
    .landing-contact-section {
        padding-top: 60px;
        padding-bottom: 60px;
    }
    .landing-contact-title {
        font-size: 26px !important;
    }
    .contact-heading {
        font-size: 24px !important;
    }
    .contact-form-card {
        padding: 28px 24px;
    }
}

@media (max-width: 575px) {
    .landing-contact-section {
        padding-top: 48px;
        padding-bottom: 48px;
    }
    .landing-contact-title {
        font-size: 22px !important;
    }
    .contact-heading {
        font-size: 20px !important;
    }
    .contact-support-box {
        flex-direction: column;
        text-align: center;
    }
    .contact-support-icon {
        margin-bottom: 12px;
    }
    .contact-support-text {
        margin-left: 0 !important;
    }
    .contact-form-card {
        padding: 20px 16px;
    }
}

@media (max-width: 767.98px) {
    .landing-docs-section {
        padding-top: 48px;
        padding-bottom: 48px;
    }

    .landing-docs-title {
        font-size: 24px !important;
    }

    .landing-doc-card {
        padding: 20px !important;
    }
}
