/* AIOCMS theme bundle: glexpress */

/* theme.css */
/* GLEX visual system, based on new-template/glexpress2026.html.
   Module content and order remain controlled by the AIOCMS page editor. */
@font-face {
    font-family: "Roboto";
    src: local("Roboto Regular"),
         local("Roboto-Regular"),
         url("/themes/glexpress/fonts/Roboto-Regular.ttf") format("truetype");
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: "Roboto";
    src: local("Roboto Medium"),
         local("Roboto-Medium"),
         url("/themes/glexpress/fonts/Roboto-Medium.ttf") format("truetype");
    font-style: normal;
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: "Roboto";
    src: local("Roboto Bold"),
         local("Roboto-Bold"),
         url("/themes/glexpress/fonts/Roboto-Bold.ttf") format("truetype");
    font-style: normal;
    font-weight: 700;
    font-display: swap;
}

:root {
    --glex-navy: #153b7a;
    --glex-navy-dark: #0f2f63;
    --glex-blue: #1a4f9c;
    --glex-gold: #ffbd1f;
    --glex-red: #ef3f31;
    --glex-ink: #172033;
    --glex-muted: #667085;
    --glex-line: #e7ebf1;
    --glex-surface: #f7f9fc;
    --glex-shadow: 0 16px 40px rgba(17, 40, 80, .1);
    --glex-container: 1200px;
    /* Bootstrap .container adds 32px of padding on each side here. */
    --glex-content-width: calc(var(--glex-container) - 32px);
    --glex-font-heading: "Roboto", Arial, Tahoma, sans-serif;
    --glex-font-body: "Roboto", Arial, Tahoma, sans-serif;
}

.theme-glexpress {
    color: var(--glex-ink);
    background: #fff;
    font-family: var(--glex-font-body);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}

.theme-glexpress a { color: var(--glex-blue); }
.theme-glexpress a:hover { color: var(--glex-navy-dark); }
.theme-glexpress h1,
.theme-glexpress h2,
.theme-glexpress h3,
.theme-glexpress h4,
.theme-glexpress h5,
.theme-glexpress h6,
.theme-glexpress .aio-module__title,
.theme-glexpress .aio-banner__title,
.theme-glexpress .aio-articles__heading,
.theme-glexpress .aio-articles__category-title,
.theme-glexpress .aio-featured-articles__section-title,
.theme-glexpress .aio-destination-promo__section-title,
.theme-glexpress .aio-footer__title,
.theme-glexpress .aio-footer__column-title {
    font-family: var(--glex-font-heading);
    color: var(--glex-navy-dark);
    line-height: 1.18;
}

.theme-glexpress .aio-menu__link,
.theme-glexpress .glex-nav__link {
    font-family: var(--glex-font-heading);
}
.theme-glexpress h1,
.theme-glexpress h2 { letter-spacing: -.03em; font-weight: 800; }
.theme-glexpress h2 { font-size: clamp(1.75rem, 3vw, 2.6rem); }
.theme-glexpress :focus-visible { outline: 3px solid var(--glex-gold); outline-offset: 3px; }
.theme-glexpress ::selection { color: #fff; background: var(--glex-navy); }

.theme-glexpress .container,
.theme-glexpress .container-lg,
.theme-glexpress .container-xl {
    --bs-gutter-x: 2rem;
    max-width: calc(var(--glex-container) + var(--bs-gutter-x));
}

.theme-glexpress .aio-page { width: 100%; overflow-x: clip; }
.theme-glexpress .aio-position { min-width: 0; }
.theme-glexpress .aio-page__empty { max-width: var(--glex-container); margin: 2rem auto; }

/* Assign these optional CSS classes to page modules in Admin for home sections. */
.theme-glexpress .glex-section {
    padding: clamp(54px, 7vw, 84px) max(16px, calc((100vw - var(--glex-container)) / 2));
}
.theme-glexpress .glex-section--soft { background: var(--glex-surface); }
.theme-glexpress .glex-section--navy { background: var(--glex-navy-dark); color: #fff; }
.theme-glexpress .glex-section--navy h2,
.theme-glexpress .glex-section--navy h3 { color: #fff; }
.theme-glexpress .glex-section--gold { background: #fff6d7; }
.theme-glexpress .glex-section .aio-module__title,
.theme-glexpress .glex-section .aio-banner__title { max-width: 780px; }

.theme-glexpress .btn-primary,
.theme-glexpress .aio-button-primary {
    color: #342400;
    background: var(--glex-gold);
    border-color: var(--glex-gold);
    font-weight: 800;
}
.theme-glexpress .btn-primary:hover,
.theme-glexpress .aio-button-primary:hover {
    color: #342400;
    background: #ffa800;
    border-color: #ffa800;
}

.theme-glexpress .form-control:focus,
.theme-glexpress .form-select:focus {
    border-color: var(--glex-blue);
    box-shadow: 0 0 0 .2rem rgba(26, 79, 156, .13);
}

/* Keep ordinary CMS pages readable without assuming a particular page slug. */
.theme-glexpress .aio-page__positions > .aio-position:not(:has(> .aio-module-code-header_mod, > .aio-module-code-menus_mod, > .aio-module-code-banner_slides, > .aio-module-code-topic_nav, > .glex-section, > .glex-home-hero, > .aio-module-code-footer_mod)) {
    padding-left: max(16px, calc((100vw - var(--glex-container)) / 2));
    padding-right: max(16px, calc((100vw - var(--glex-container)) / 2));
}

.theme-glexpress figure { text-align: center; }
.theme-glexpress figcaption { padding: 10px 0; color: var(--glex-muted); font-size: .88rem; }
.rightpanel{
    padding-top: 15px;
}

@media (max-width: 767.98px) {
    .theme-glexpress .glex-section { padding-top: 48px; padding-bottom: 48px; }
    .theme-glexpress .aio-page__positions > .aio-position:not(:has(> .aio-module-code-header_mod, > .aio-module-code-menus_mod, > .aio-module-code-banner_slides, > .aio-module-code-topic_nav, > .glex-section, > .glex-home-hero, > .aio-module-code-footer_mod)) { padding-left: 16px; padding-right: 16px; }
}


/* modules/Contact_Mod.css */
.theme-glexpress .aio-contact {
    max-width: var(--glex-container);
    margin: 0 auto;
    padding: clamp(48px, 6vw, 78px) 16px;
}
.theme-glexpress .aio-contact__title {
    color: var(--glex-navy-dark);
    font-size: clamp(1.75rem, 3vw, 2.45rem);
    font-weight: 800;
}
.theme-glexpress .aio-contact__form-wrap {
    padding: clamp(20px, 3vw, 30px);
    border: 1px solid var(--glex-line);
    border-radius: 18px;
    background: #fff;
    box-shadow: var(--glex-shadow);
}
.theme-glexpress .aio-contact__form-wrap input,
.theme-glexpress .aio-contact__form-wrap select,
.theme-glexpress .aio-contact__form-wrap textarea {
    border-color: #d9e0ea;
    border-radius: 10px;
}
.theme-glexpress .aio-contact__form-wrap button[type="submit"] {
    border-color: var(--glex-red);
    border-radius: 10px;
    background: var(--glex-red);
    color: #fff;
    font-weight: 800;
}
.theme-glexpress .aio-contact__form-wrap button[type="submit"]:hover {
    border-color: #d93428;
    background: #d93428;
}

.theme-glexpress .aio-contact__map {
    overflow: hidden;
    width: 100%;
    margin-top: 24px;
    border: 1px solid var(--glex-line);
    border-radius: 14px;
    background: #f4f7fb;
}

.theme-glexpress .aio-contact__map iframe {
    display: block;
    width: 100%;
    height: clamp(320px, 34vw, 480px);
    border: 0;
}

@media (max-width: 800px) {
    .theme-glexpress .aio-contact__map iframe {
        height: 360px;
    }
}


/* modules/Footer_Mod.css */
.aio-module-code-footer_mod {
    margin-top: 25px;
    padding: 24px 20px 18px;
    border-top: 1px solid #dfe4e7;
    background: #fff;
}

.aio-footer {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
}

.aio-footer__header {
    margin-bottom: 12px;
}

.aio-footer__title {
    margin: 0;
}

.aio-footer--default .aio-footer__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px 24px;
}

.aio-footer--default .aio-footer__identity {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 16px;
}

.aio-footer__page-name,
.aio-footer__organization-name {
    font-weight: 600;
}

.aio-footer--default .aio-footer__copyright {
    margin-left: auto;
    font-size: .875rem;
}

/* Rich footer fallback cho defaulttheme */
.aio-footer--travel-full .aio-footer__main {
    display: grid;
    grid-template-columns: minmax(240px, 1.3fr) repeat(2, minmax(120px, .65fr)) minmax(260px, 1.1fr);
    gap: 32px;
    padding: 18px 0 28px;
}

.aio-footer__brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: inherit;
    text-decoration: none;
}

.aio-footer__logo {
    display: block;
    width: auto;
    max-width: 200px;
    height: 50px;
    object-fit: contain;
}

.aio-footer__brand-name,
.aio-footer__column-title {
    font-weight: 700;
}

.aio-footer__description {
    margin: 14px 0 0;
    color: #66717e;
    line-height: 1.65;
}

.aio-footer__social {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
}

.aio-footer__social-link {
    display: inline-flex;
    width: 34px;
    height: 34px;
    align-items: center;
    justify-content: center;
    color: #59636e;
    background: #f3f5f6;
    border: 1px solid #e2e6e9;
    border-radius: 50%;
    text-decoration: none;
}

.aio-footer__column-title {
    margin: 0 0 14px;
    font-size: 1rem;
}

.aio-footer__links {
    display: grid;
    gap: 9px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.aio-footer__link {
    color: #66717e;
    text-decoration: none;
}

.aio-footer__gallery {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.aio-footer__gallery-item {
    display: block;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    border-radius: 8px;
}

.aio-footer__gallery-picture,
.aio-footer__gallery-image {
    display: block;
    width: 100%;
    height: 100%;
}

.aio-footer__gallery-image {
    object-fit: cover;
}

.aio-footer--travel-full .aio-footer__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding-top: 18px;
    border-top: 1px solid #e3e6e8;
    color: #737d87;
    font-size: .82rem;
}

.aio-footer__credit {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.aio-footer__heart {
    color: #e6395f;
}

@media (max-width: 991.98px) {
    .aio-footer--travel-full .aio-footer__main {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .aio-footer__brand-column,
    .aio-footer__gallery-column {
        grid-column: 1 / -1;
    }
}

@media (max-width: 767.98px) {
    .aio-footer--default .aio-footer__inner,
    .aio-footer--travel-full .aio-footer__bottom {
        align-items: flex-start;
        flex-direction: column;
    }

    .aio-footer--default .aio-footer__copyright {
        margin-left: 0;
    }

    .aio-footer__gallery {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 479.98px) {
    .aio-footer--travel-full .aio-footer__main {
        grid-template-columns: 1fr;
    }

    .aio-footer__brand-column,
    .aio-footer__gallery-column {
        grid-column: auto;
    }

    .aio-footer__gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
.theme-glexpress .aio-footer { background: var(--glex-navy-dark); color: #d8e4f7; }
.theme-glexpress .aio-footer--travel-full { padding: 48px max(16px, calc((100vw - var(--glex-container)) / 2)) 22px; }
.theme-glexpress .aio-footer__main { max-width: var(--glex-container); margin: 0 auto; }
.theme-glexpress .aio-footer__brand-name,
.theme-glexpress .aio-footer__column-title,
.theme-glexpress .aio-footer__title { color: #fff; }
.theme-glexpress .aio-footer__description { color: #d8e4f7; }
.theme-glexpress .aio-footer__link,
.theme-glexpress .aio-footer__social-link { color: #d8e4f7; }
.theme-glexpress .aio-footer__link:hover,
.theme-glexpress .aio-footer__social-link:hover { color: var(--glex-gold); }
.theme-glexpress .aio-footer__bottom { max-width: var(--glex-container); margin: 30px auto 0; border-top: 1px solid rgba(255, 255, 255, .15); padding-top: 18px; }
.theme-glexpress .aio-footer--default { padding: 40px 16px; }
.theme-glexpress .aio-footer--default .aio-footer__inner { max-width: var(--glex-container); margin: auto; }

/* Glexpress footer: CTA sáng phía trên và footer menu nền navy. */
.theme-glexpress .aio-module-code-footer_mod.glex-footer-module {
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
}

.theme-glexpress .aio-footer--glexpress {
    width: 100%;
    max-width: none;
    margin: 0;
    color: #d8e4f7;
    background: var(--glex-navy-dark);
}

.theme-glexpress .glex-footer-cta {
    color: var(--glex-navy-dark);
    background: #fff6d7;
    border-top: 1px solid rgba(255, 189, 31, .42);
}

.theme-glexpress .glex-footer-cta__inner {
    display: flex;
    width: min(var(--glex-container), calc(100% - 32px));
    min-height: 176px;
    margin: 0 auto;
    align-items: center;
    justify-content: space-between;
    gap: 36px;
    padding: 36px 0;
}

.theme-glexpress .glex-footer-cta__content {
    min-width: 0;
}

.theme-glexpress .glex-footer-cta__title {
    margin: 0;
    color: var(--glex-navy-dark);
    font-size: clamp(1.75rem, 2.6vw, 2.35rem);
    font-weight: 800;
    letter-spacing: -.035em;
}

.theme-glexpress .glex-footer-cta__description {
    margin: 5px 0 0;
    color: #725c24;
    font-size: 1.05rem;
    line-height: 1.55;
}

.theme-glexpress .glex-footer-cta__actions {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 12px;
}

.theme-glexpress .glex-footer-cta__button {
    display: inline-flex;
    min-height: 62px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 27px;
    border-radius: 14px;
    color: #fff;
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.theme-glexpress .glex-footer-cta__button:hover {
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(15, 47, 99, .18);
}

.theme-glexpress .glex-footer-cta__button--phone {
    background: var(--glex-red);
}

.theme-glexpress .glex-footer-cta__button--phone:hover {
    background: #db3429;
}

.theme-glexpress .glex-footer-cta__button--quote {
    min-width: 184px;
    background: #173e7d;
}

.theme-glexpress .glex-footer-cta__button--quote:hover {
    background: #0f2f63;
}

.theme-glexpress .glex-footer-cta__phone-icon {
    font-size: 1rem;
    line-height: 1;
}

.theme-glexpress .glex-footer-main {
    background: var(--glex-navy-dark);
}

.theme-glexpress .glex-footer-main__inner {
    width: min(var(--glex-container), calc(100% - 32px));
    margin: 0 auto;
    padding: 64px 0 48px;
}

.theme-glexpress .glex-footer-main__grid {
    display: grid;
    grid-template-columns: minmax(290px, 1.35fr) repeat(3, minmax(150px, .9fr));
    gap: clamp(34px, 4.2vw, 72px);
}

.theme-glexpress .glex-footer-brand {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    color: #fff;
    text-decoration: none;
}

.theme-glexpress .glex-footer-brand:hover {
    color: #fff;
}

.theme-glexpress .glex-footer-brand__logo-wrap {
    display: inline-flex;
    width: 58px;
    height: 56px;
    flex: 0 0 58px;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 5px;
    border-radius: 11px;
    background: #fff;
}

.theme-glexpress .glex-footer-brand__logo {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.theme-glexpress .glex-footer-brand__identity {
    display: grid;
    gap: 1px;
}

.theme-glexpress .glex-footer-brand__name {
    max-width: 260px;
    color: #fff;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.35;
}

.theme-glexpress .glex-footer-brand__tagline {
    color: #b9c9e2;
    font-size: .78rem;
    line-height: 1.3;
}

.theme-glexpress .glex-footer-main__description {
    max-width: 360px;
    margin: 24px 0 0;
    color: #d8e4f7;
    font-size: .98rem;
    line-height: 1.65;
}

.theme-glexpress .glex-footer-main__address {
    display: flex;
    max-width: 360px;
    margin: 18px 0 0;
    align-items: flex-start;
    gap: 10px;
    color: #eef4ff;
    font-size: .92rem;
    font-style: normal;
    line-height: 1.55;
}

.theme-glexpress .glex-footer-main__address strong {
    color: #fff;
}

.theme-glexpress .glex-footer-main__hotline {
    display: flex;
    margin: 14px 0 0;
    align-items: center;
    gap: 10px;
    color: #eef4ff;
    font-size: .95rem;
}

.theme-glexpress .glex-footer-main__hotline strong {
    color: #fff;
}

.theme-glexpress .glex-footer-main__hotline a {
    color: #fff;
    font-weight: 700;
    text-decoration: none;
}

.theme-glexpress .glex-footer-main__hotline a:hover {
    color: var(--glex-gold);
}

.theme-glexpress .glex-footer-main__contact-icon {
    display: inline-flex;
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 194, 32, .55);
    border-radius: 50%;
    background: rgba(255, 194, 32, .14);
    color: var(--glex-gold);
    font-size: .92rem;
}

.theme-glexpress .glex-footer-main__social {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
}

.theme-glexpress .glex-footer-main__social-link {
    display: inline-flex;
    width: 34px;
    height: 34px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(216, 228, 247, .45);
    border-radius: 50%;
    color: #fff;
    font-size: .95rem;
    text-decoration: none;
    transition: border-color .18s ease, color .18s ease, transform .18s ease;
}

.theme-glexpress .glex-footer-main__social-link:hover {
    border-color: var(--glex-gold);
    color: var(--glex-gold);
    transform: translateY(-2px);
}

.theme-glexpress .glex-footer-main__column-title {
    margin: 0 0 18px;
    color: #fff;
    font-size: 1.05rem;
    font-weight: 800;
}

.theme-glexpress .glex-footer-main__links {
    display: grid;
    gap: 11px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.theme-glexpress .glex-footer-main__link {
    color: #c8d5e9;
    font-size: .94rem;
    line-height: 1.5;
    text-decoration: none;
    transition: color .18s ease;
}

.theme-glexpress .glex-footer-main__link:hover,
.theme-glexpress .glex-footer-main__link.is-active {
    color: var(--glex-gold);
}

.theme-glexpress .glex-footer-main__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: 50px;
    padding-top: 25px;
    border-top: 1px solid rgba(255, 255, 255, .15);
    color: #aebfda;
    font-size: .82rem;
}

.theme-glexpress .glex-footer-main__copyright,
.theme-glexpress .glex-footer-main__credit {
    margin: 0;
}

.theme-glexpress .glex-footer-main__credit {
    margin-left: auto;
    text-align: right;
}

.theme-glexpress .glex-footer-main__credit a {
    color: #d8e4f7;
}

/* Nhóm Zalo và nút lên đầu trang được cấu hình từ Footer_Mod. */
.theme-glexpress .glex-floating-actions {
    position: fixed;
    z-index: 2147482990;
    right: 29px;
    bottom: 96px;
    display: grid;
    gap: 10px;
    justify-items: center;
}

.theme-glexpress .glex-floating-actions__button {
    display: inline-flex;
    width: 44px;
    height: 44px;
    padding: 0;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-family: var(--glex-font-body);
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    transition: color .18s ease, background-color .18s ease,
        border-color .18s ease, opacity .18s ease, transform .18s ease;
}

.theme-glexpress .glex-floating-actions__button--zalo {
    position: relative;
    color: #0866d8;
    background: #fff;
    border: 2px solid #0866d8;
    box-shadow: 0 7px 20px rgba(8, 72, 157, .2);
    font-size: .7rem;
}

.theme-glexpress .glex-floating-actions__button--zalo:hover,
.theme-glexpress .glex-floating-actions__button--zalo:focus-visible {
    color: #fff;
    background: #0866d8;
    transform: translateY(-2px);
}

.theme-glexpress .glex-floating-actions__button--zalo.is-animated {
    animation: glex-zalo-pulse 1.8s ease-in-out infinite;
}

.theme-glexpress .glex-floating-actions__button--zalo:nth-of-type(2) {
    animation-delay: .45s;
}

.theme-glexpress .glex-floating-actions__button--top {
    color: #17233b;
    background: #ffd000;
    border: 0;
    box-shadow: 0 8px 22px rgba(98, 77, 0, .22);
    font-size: 1.25rem;
    opacity: 0;
    pointer-events: none;
    transform: translateY(8px);
    visibility: hidden;
}

.theme-glexpress .glex-floating-actions__button--top.is-visible {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
    visibility: visible;
}

.theme-glexpress .glex-floating-actions__button--top:hover,
.theme-glexpress .glex-floating-actions__button--top:focus-visible {
    color: #17233b;
    background: #ffbd1f;
    transform: translateY(-2px);
}

.theme-glexpress .glex-floating-actions__button:focus-visible {
    outline: 3px solid rgba(23, 105, 224, .3);
    outline-offset: 3px;
}

@keyframes glex-zalo-pulse {
    0%,
    100% {
        box-shadow: 0 7px 20px rgba(8, 72, 157, .2),
            0 0 0 0 rgba(8, 102, 216, .34);
    }

    50% {
        box-shadow: 0 7px 20px rgba(8, 72, 157, .22),
            0 0 0 9px rgba(8, 102, 216, 0);
    }
}

@media (max-width: 991.98px) {
    .theme-glexpress .glex-footer-cta__inner {
        align-items: flex-start;
        flex-direction: column;
        gap: 24px;
    }

    .theme-glexpress .glex-footer-main__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .theme-glexpress .glex-footer-main__brand-column {
        grid-column: 1 / -1;
    }
}

@media (max-width: 767.98px) {
    .theme-glexpress .glex-footer-cta__inner {
        width: min(100% - 28px, var(--glex-container));
        min-height: 0;
        padding: 34px 0;
    }

    .theme-glexpress .glex-footer-cta__actions {
        width: 100%;
        align-items: stretch;
        flex-direction: column;
    }

    .theme-glexpress .glex-footer-cta__button {
        width: 100%;
        min-height: 54px;
    }

    .theme-glexpress .glex-footer-main__inner {
        width: min(100% - 28px, var(--glex-container));
        padding: 48px 0 34px;
    }

    .theme-glexpress .glex-footer-main__grid {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .theme-glexpress .glex-footer-main__brand-column {
        grid-column: auto;
    }

    .theme-glexpress .glex-footer-main__bottom {
        align-items: flex-start;
        flex-direction: column;
        margin-top: 38px;
    }

    .theme-glexpress .glex-footer-main__credit {
        margin-left: 0;
        text-align: left;
    }

}

@media (max-width: 520px) {
    .theme-glexpress .glex-floating-actions {
        right: 19px;
        bottom: 82px;
        gap: 8px;
    }

    .theme-glexpress .glex-floating-actions__button {
        width: 40px;
        height: 40px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .theme-glexpress .glex-floating-actions__button--zalo.is-animated {
        animation: none;
    }
}


/* modules/Header_Mod.css */
.theme-glexpress .aio-module-code-header_mod {
    position: relative;
    z-index: 50;
    margin: 0;
    background: #fff;
}

.theme-glexpress .glex-topbar {
    border-bottom: 1px solid #f3dda0;
    background: #fff6d7;
    color: #172033;
    font-size: .84rem;
}

.theme-glexpress .glex-topbar__inner,
.theme-glexpress .glex-topbar__tools,
.theme-glexpress .glex-language {
    display: flex;
    align-items: center;
}

.theme-glexpress .glex-topbar__inner {
    min-height: 44px;
    justify-content: space-between;
    gap: 20px;
}

.theme-glexpress .glex-topbar__message > strong { color: var(--glex-navy-dark); }
.theme-glexpress .glex-topbar__tools { gap: 22px; white-space: nowrap; }
.theme-glexpress .glex-topbar a { color: #172033; text-decoration: none; }
.theme-glexpress .glex-topbar__hotline strong { color: var(--glex-red); font-weight: 900; }
.theme-glexpress .glex-language { gap: 5px; }
.theme-glexpress .glex-language a[aria-current="page"] { color: var(--glex-navy); font-weight: 900; }

.theme-glexpress .aio-header--glexpress {
    border-bottom: 1px solid var(--glex-line);
    background: rgba(255, 255, 255, .98);
}

.theme-glexpress .aio-header--glexpress .aio-header__inner {
    display: grid;
    grid-template-columns: minmax(155px, 220px) minmax(0, 1fr) auto;
    align-items: center;
    gap: clamp(18px, 2.8vw, 42px);
    min-height: 96px;
}

.theme-glexpress .aio-header--glexpress .aio-header__brand {
    display: inline-flex;
    width: fit-content;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    color: inherit;
    text-decoration: none;
}

.theme-glexpress .aio-header--glexpress .aio-header__logo {
    display: block;
    width: auto;
    max-width: 180px;
    max-height: 72px;
    object-fit: contain;
}

.theme-glexpress .glex-header__wordmark {
    color: var(--glex-gold);
    font-size: 2.75rem;
    font-weight: 1000;
    letter-spacing: -.1em;
    line-height: .85;
    text-shadow: 1px 1px 0 #d99500;
}

.theme-glexpress .glex-header__tagline {
    margin-top: 7px;
    color: #5f6fc1;
    font-size: .68rem;
    line-height: 1;
}

.theme-glexpress .glex-header-menu { min-width: 0; justify-self: end; }
.theme-glexpress .glex-nav,
.theme-glexpress .glex-nav__submenu {
    margin: 0;
    padding: 0;
    list-style: none;
}

.theme-glexpress .glex-nav { display: flex; align-items: center; justify-content: flex-end; gap: clamp(8px, 1.4vw, 24px); }
.theme-glexpress .glex-nav__item { position: relative; }
.theme-glexpress .glex-nav__link-row { display: flex; align-items: center; }
.theme-glexpress .glex-nav__link {
    display: flex;
    min-height: 44px;
    align-items: center;
    color: #202a40;
    font-family: var(--glex-font-heading);
    font-size: .93rem;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
    transition: color .18s ease;
}
.theme-glexpress .glex-nav__link:hover,
.theme-glexpress .glex-nav__item.is-active > .glex-nav__link-row > .glex-nav__link,
.theme-glexpress .glex-nav__item.is-active-trail > .glex-nav__link-row > .glex-nav__link { color: var(--glex-blue); }

.theme-glexpress .glex-nav__submenu-toggle {
    display: inline-flex;
    width: 22px;
    height: 34px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    background: transparent;
    color: #202a40;
    cursor: pointer;
}
.theme-glexpress .glex-nav__submenu-toggle span {
    width: 7px;
    height: 7px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: translateY(-2px) rotate(45deg);
    transition: transform .18s ease;
}

.theme-glexpress .glex-nav__submenu {
    visibility: hidden;
    position: absolute;
    z-index: 60;
    top: calc(100% + 8px);
    left: -18px;
    min-width: 235px;
    padding: 9px;
    opacity: 0;
    border: 1px solid var(--glex-line);
    border-radius: 12px;
    background: #fff;
    box-shadow: var(--glex-shadow);
    transform: translateY(8px);
    transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
}
.theme-glexpress .glex-nav__submenu::before { position: absolute; right: 0; bottom: 100%; left: 0; height: 9px; content: ''; }
.theme-glexpress .glex-nav__submenu .glex-nav__link { min-height: 40px; padding: 8px 11px; font-size: .87rem; font-weight: 500; white-space: normal; }
.theme-glexpress .glex-nav__submenu .glex-nav__submenu { top: -9px; left: calc(100% + 9px); }
.theme-glexpress .glex-nav__item:hover > .glex-nav__submenu,
.theme-glexpress .glex-nav__item:focus-within > .glex-nav__submenu,
.theme-glexpress .glex-nav__item.is-submenu-open > .glex-nav__submenu {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
}

.theme-glexpress .glex-header__actions { display: flex; align-items: center; gap: 12px; }
.theme-glexpress .glex-header__tracking,
.theme-glexpress .glex-header__quote {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    padding: 0 22px;
    border-radius: 14px;
    font-size: .94rem;
    font-weight: 900;
    text-decoration: none;
    white-space: nowrap;
    transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.theme-glexpress .glex-header__tracking { border: 1px solid #cad4e5; color: var(--glex-navy-dark); background: #fff; }
.theme-glexpress .glex-header__quote { border: 1px solid var(--glex-gold); color: #342400; background: var(--glex-gold); box-shadow: 0 9px 24px rgba(255, 189, 31, .22); }
.theme-glexpress .glex-header__tracking:hover,
.theme-glexpress .glex-header__quote:hover { transform: translateY(-1px); }
.theme-glexpress .glex-header__tracking:hover { color: var(--glex-navy); background: #f7faff; }
.theme-glexpress .glex-header__quote:hover { color: #342400; background: #ffa800; }
.theme-glexpress .glex-header__menu-toggle { display: none; }

@media (max-width: 1199.98px) {
    .theme-glexpress .aio-header--glexpress .aio-header__inner { grid-template-columns: 150px minmax(0, 1fr) auto; gap: 16px; }
    .theme-glexpress .glex-nav { gap: 10px; }
    .theme-glexpress .glex-nav__link { font-size: .84rem; }
    .theme-glexpress .glex-header__tracking,
    .theme-glexpress .glex-header__quote { min-height: 46px; padding: 0 14px; font-size: .84rem; }
}

@media (max-width: 991.98px) {
    .theme-glexpress .glex-topbar__inner { min-height: 38px; }
    .theme-glexpress .glex-topbar__message span { display: none; }
    .theme-glexpress .aio-header--glexpress .aio-header__inner { position: relative; display: flex; min-height: 76px; }
    .theme-glexpress .aio-header--glexpress .aio-header__brand { margin-right: auto; }
    .theme-glexpress .aio-header--glexpress .aio-header__logo { max-width: 145px; max-height: 56px; }
    .theme-glexpress .glex-header__menu-toggle {
        display: inline-flex;
        width: 44px;
        height: 44px;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 5px;
        padding: 0;
        border: 1px solid var(--glex-line);
        border-radius: 10px;
        background: #fff;
    }
    .theme-glexpress .glex-header__menu-toggle span { width: 21px; height: 2px; border-radius: 2px; background: var(--glex-navy-dark); }
    .theme-glexpress .glex-header-menu {
        display: none;
        position: absolute;
        z-index: 55;
        top: 100%;
        right: 16px;
        left: 16px;
        max-height: calc(100vh - 130px);
        overflow-y: auto;
        border: 1px solid var(--glex-line);
        border-radius: 0 0 14px 14px;
        background: #fff;
        box-shadow: var(--glex-shadow);
    }
    .theme-glexpress .aio-header--glexpress.is-menu-open .glex-header-menu { display: block; }
    .theme-glexpress .glex-nav { display: block; padding: 10px; }
    .theme-glexpress .glex-nav__link-row { border-bottom: 1px solid #eef1f5; }
    .theme-glexpress .glex-nav__link { min-height: 46px; flex: 1; padding: 8px 10px; font-size: .92rem; }
    .theme-glexpress .glex-nav__submenu-toggle { width: 44px; height: 44px; }
    .theme-glexpress .glex-nav__submenu {
        display: none;
        visibility: visible;
        position: static;
        min-width: 0;
        padding: 0 0 4px 14px;
        opacity: 1;
        border: 0;
        border-radius: 0;
        box-shadow: none;
        transform: none;
    }
    .theme-glexpress .glex-nav__item:hover > .glex-nav__submenu,
    .theme-glexpress .glex-nav__item:focus-within > .glex-nav__submenu { display: none; }
    .theme-glexpress .glex-nav__item.is-submenu-open > .glex-nav__submenu { display: block; }
    .theme-glexpress .glex-nav__item.is-submenu-open > .glex-nav__link-row .glex-nav__submenu-toggle span { transform: translateY(2px) rotate(225deg); }
    .theme-glexpress .glex-nav__submenu .glex-nav__link { min-height: 42px; }
    .theme-glexpress .glex-header__tracking { display: none; }
}

@media (max-width: 575.98px) {
    .theme-glexpress .glex-topbar { font-size: .7rem; }
    .theme-glexpress .glex-topbar__inner { gap: 8px; }
    .theme-glexpress .glex-topbar__tools { gap: 10px; }
    .theme-glexpress .glex-topbar__message { max-width: 48%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .theme-glexpress .aio-header--glexpress .aio-header__inner { gap: 8px; }
    .theme-glexpress .aio-header--glexpress .aio-header__logo { max-width: 112px; }
    .theme-glexpress .glex-header__wordmark { font-size: 2rem; }
    .theme-glexpress .glex-header__tagline { font-size: .55rem; }
    .theme-glexpress .glex-header__quote { min-height: 42px; padding: 0 11px; font-size: .75rem; border-radius: 9px; }
}


/* modules/Topic_Nav.css */
/* Topic_Nav - Default Theme */

.aio-module-code-topic_nav {
    position: relative;
    z-index: 24;
}

/* Câu hỏi thường gặp dạng accordion. */
.theme-glexpress .glex-faq-module {
    width: 100%;
    margin: 0;
    background: #f5f7fa;
}

.theme-glexpress .aio-faq {
    width: 100%;
    color: #18243a;
}

.theme-glexpress .aio-faq__container {
    width: min(calc(100% - 64px), 1124px);
    margin: 0 auto;
    padding: 72px 0 88px;
}

.theme-glexpress .aio-faq__header {
    max-width: 980px;
    margin: 0 auto 42px;
    text-align: center;
}

.theme-glexpress .aio-faq__eyebrow {
    display: flex;
    width: fit-content;
    margin: 0 auto 10px;
    gap: 12px;
    align-items: center;
    color: #383838;
    font-size: .86rem;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: .075em;
    text-transform: uppercase;
}

.theme-glexpress .aio-faq__eyebrow > span {
    width: 32px;
    height: 3px;
    flex: 0 0 32px;
    border-radius: 999px;
    background: #ffb618;
}

.theme-glexpress .aio-faq__heading {
    max-width: 960px;
    margin: 0 auto;
    color: #12336a;
    font-size: clamp(2.15rem, 3.4vw, 3.25rem);
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -.035em;
}

.theme-glexpress .aio-faq__description {
    max-width: 760px;
    margin: 17px auto 0;
    color: #68758a;
    font-size: 1rem;
    line-height: 1.65;
}

.theme-glexpress .aio-faq__list {
    display: grid;
    gap: 13px;
}

.theme-glexpress .aio-faq__item {
    overflow: hidden;
    background: #fff;
    border: 1px solid #dfe5ee;
    border-radius: 17px;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.theme-glexpress .aio-faq__item[open] {
    border-color: #d8e0eb;
    box-shadow: 0 9px 28px rgba(19, 49, 94, .04);
}

.theme-glexpress .aio-faq__question {
    display: flex;
    min-height: 74px;
    padding: 21px 25px;
    gap: 22px;
    align-items: center;
    justify-content: space-between;
    color: #153f80;
    cursor: pointer;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.45;
    list-style: none;
}

.theme-glexpress .aio-faq__question::-webkit-details-marker {
    display: none;
}

.theme-glexpress .aio-faq__question::marker {
    display: none;
    content: "";
}

.theme-glexpress .aio-faq__question:focus-visible {
    outline: 3px solid rgba(22, 76, 151, .25);
    outline-offset: -4px;
}

.theme-glexpress .aio-faq__toggle {
    position: relative;
    display: block;
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
}

.theme-glexpress .aio-faq__toggle::before,
.theme-glexpress .aio-faq__toggle::after {
    position: absolute;
    top: 7px;
    left: 2px;
    width: 12px;
    height: 2px;
    border-radius: 999px;
    background: #16437f;
    content: "";
    transition: opacity .18s ease, transform .18s ease;
}

.theme-glexpress .aio-faq__toggle::after {
    transform: rotate(90deg);
}

.theme-glexpress .aio-faq__item[open] .aio-faq__toggle::after {
    opacity: 0;
    transform: rotate(0deg);
}

.theme-glexpress .aio-faq__answer {
    padding: 0 25px 23px;
}

.theme-glexpress .aio-faq__answer p {
    margin: 0;
    color: #68758a;
    font-size: .98rem;
    line-height: 1.75;
}

@media (max-width: 767.98px) {
    .theme-glexpress .aio-faq__container {
        width: min(calc(100% - 32px), 1124px);
        padding: 54px 0 62px;
    }

    .theme-glexpress .aio-faq__header {
        margin-bottom: 30px;
    }

    .theme-glexpress .aio-faq__heading {
        font-size: clamp(1.85rem, 9vw, 2.35rem);
    }

    .theme-glexpress .aio-faq__question {
        min-height: 66px;
        padding: 18px;
        gap: 15px;
    }

    .theme-glexpress .aio-faq__answer {
        padding: 0 18px 20px;
    }
}

.aio-topic-nav {
    --aio-topic-primary: #0f766e;
    --aio-topic-text: #4b5563;
    --aio-topic-muted: #7b8491;
    --aio-topic-border: rgba(15, 23, 42, .09);
    --aio-topic-shadow: 0 10px 28px rgba(15, 23, 42, .12);
    width: 100%;
    position: relative;
}

.aio-topic-nav--overlap { margin-top: -32px; margin-bottom: 24px; }
.aio-topic-nav--inline { margin-top: 18px; margin-bottom: 24px; }

.aio-topic-nav__container {
    width: min(100% - 40px, 1180px);
    margin-inline: auto;
}

.aio-topic-nav__title {
    margin: 0 0 10px;
    font-size: 1rem;
    font-weight: 800;
    color: #111827;
}

.aio-topic-nav__surface {
    display: grid;
    grid-template-columns: repeat(var(--aio-topic-count, 6), minmax(0, 1fr));
    align-items: stretch;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--aio-topic-border);
    border-radius: 12px;
    box-shadow: var(--aio-topic-shadow);
}

.aio-topic-nav__item {
    min-width: 0;
    min-height: 80px;
    padding: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    color: var(--aio-topic-text);
    text-decoration: none;
    position: relative;
    transition: color .2s ease, background-color .2s ease, transform .2s ease;
}

.aio-topic-nav__item:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 22px;
    right: 0;
    bottom: 22px;
    width: 1px;
    background: rgba(15, 23, 42, .07);
}

.aio-topic-nav__item:hover,
.aio-topic-nav__item:focus-visible,
.aio-topic-nav__item--active {
    color: var(--aio-topic-primary);
    background: rgba(15, 118, 110, .045);
}

.aio-topic-nav__item:hover,
.aio-topic-nav__item:focus-visible { transform: translateY(-2px); }

.aio-topic-nav__item:focus-visible {
    outline: 2px solid rgba(15, 118, 110, .45);
    outline-offset: -3px;
}

.aio-topic-nav__item--active::before {
    content: "";
    position: absolute;
    left: 22%;
    right: 22%;
    bottom: 0;
    height: 3px;
    background: var(--aio-topic-primary);
    border-radius: 3px 3px 0 0;
}

.aio-topic-nav__icon {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    line-height: 1;
}

.aio-topic-nav__icon i { display: block; font-size: inherit; line-height: 1; }
.aio-topic-nav__icon picture { display: contents; }
.aio-topic-nav__icon-image { width: 36px; height: 36px; object-fit: contain; display: block; }

.aio-topic-nav__copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.aio-topic-nav__text {
    font-size: .95rem;
    line-height: 1.2;
    font-weight: 700;
    white-space: nowrap;
}

.aio-topic-nav__description {
    color: var(--aio-topic-muted);
    font-size: .76rem;
    line-height: 1.25;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
}

.aio-topic-nav__item--separator { min-height: 1px; padding: 0; }

@media (max-width: 991.98px) {
    .aio-topic-nav--overlap { margin-top: -25px; }
    .aio-topic-nav__container { width: min(100% - 28px, 1180px); }
    .aio-topic-nav__item { min-height: 70px; padding: 13px 11px; gap: 9px; }
    .aio-topic-nav__icon { width: 31px; height: 31px; flex-basis: 31px; font-size: 24px; }
    .aio-topic-nav__icon-image { width: 31px; height: 31px; }
    .aio-topic-nav__text { font-size: .86rem; }
}

@media (max-width: 767.98px) {
    .aio-topic-nav--overlap { margin-top: -19px; margin-bottom: 20px; }
    .aio-topic-nav__container { width: min(100% - 20px, 1180px); }

    .aio-topic-nav--mobile-scroll .aio-topic-nav__surface {
        display: flex;
        justify-content: flex-start;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x proximity;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .aio-topic-nav--mobile-scroll .aio-topic-nav__surface::-webkit-scrollbar { display: none; }
    .aio-topic-nav--mobile-scroll .aio-topic-nav__item { flex: 0 0 auto; min-width: 132px; min-height: 66px; scroll-snap-align: start; }
    .aio-topic-nav--mobile-wrap .aio-topic-nav__surface { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 479.98px) {
    .aio-topic-nav--mobile-scroll .aio-topic-nav__item { min-width: 120px; }
    .aio-topic-nav__text { font-size: .82rem; }
    .aio-topic-nav__description { display: none; }
}

/* Layout marquee của Glexpress: dải chủ đề nổi ở đáy Hero. */
.theme-glexpress .aio-module-code-topic_nav:has(> .aio-topic-marquee) {
    z-index: 8;
    width: 100%;
    margin: -168px 0 28px;
    position: relative;
}

.theme-glexpress .aio-topic-marquee {
    --aio-topic-marquee-gap: 16px;
    --aio-topic-marquee-half-gap: 8px;
    --aio-topic-marquee-duration: 18s;
    --aio-topic-marquee-max-width: var(--glex-content-width);
    width: 100%;
    color: var(--glex-navy-dark);
}

.theme-glexpress .aio-topic-marquee__container {
    width: calc(100% - 64px);
    max-width: var(--aio-topic-marquee-max-width);
    margin-inline: auto;
    box-sizing: border-box;
    padding: 16px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .65);
    border-radius: 20px;
    background: rgba(255, 255, 255, .72);
    box-shadow: 0 16px 36px rgba(8, 31, 67, .2);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.theme-glexpress .aio-topic-marquee__title {
    margin: 0 0 10px;
    padding-inline: 4px;
    color: var(--glex-navy-dark);
    font-size: 1rem;
    font-weight: 800;
}

.theme-glexpress .aio-topic-marquee__viewport {
    width: 100%;
    overflow: hidden;
}

.theme-glexpress .aio-topic-marquee__track {
    display: flex;
    width: max-content;
    gap: var(--aio-topic-marquee-gap);
    animation: aioTopicMarquee var(--aio-topic-marquee-duration) linear infinite;
    will-change: transform;
}

.theme-glexpress .aio-topic-marquee:hover .aio-topic-marquee__track,
.theme-glexpress .aio-topic-marquee:focus-within .aio-topic-marquee__track {
    animation-play-state: paused;
}

.theme-glexpress .aio-topic-marquee__group {
    display: flex;
    flex: 0 0 auto;
    gap: var(--aio-topic-marquee-gap);
}

.theme-glexpress .aio-topic-marquee__item {
    width: clamp(270px, 20vw, 340px);
    min-height: 116px;
    padding: 18px 20px;
    display: flex;
    flex: 0 0 auto;
    gap: 16px;
    align-items: center;
    overflow: hidden;
    color: var(--glex-navy-dark);
    background: #f8faff;
    border: 1px solid rgba(21, 59, 122, .07);
    border-radius: 15px;
    box-shadow: 0 5px 16px rgba(15, 47, 99, .06);
    text-decoration: none;
    transition: color .2s ease, background-color .2s ease, transform .2s ease;
}

.theme-glexpress .aio-topic-marquee__item:hover,
.theme-glexpress .aio-topic-marquee__item:focus-visible,
.theme-glexpress .aio-topic-marquee__item--active {
    color: var(--glex-blue);
    background: #fff;
    transform: translateY(-2px);
}

.theme-glexpress .aio-topic-marquee__item:focus-visible {
    outline: 3px solid var(--glex-gold);
    outline-offset: -4px;
}

.theme-glexpress .aio-topic-marquee__icon {
    width: 46px;
    height: 46px;
    display: inline-flex;
    flex: 0 0 46px;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    color: var(--glex-blue);
    background: #edf3ff;
    border-radius: 12px;
    font-size: 28px;
    line-height: 1;
}

.theme-glexpress .aio-topic-marquee__icon picture {
    display: contents;
}

.theme-glexpress .aio-topic-marquee__icon > .fi {
    width: 38px;
    height: 28.5px;
    flex: 0 0 38px;
    border-radius: 3px;
    background-size: cover;
    box-shadow: 0 0 0 1px rgba(15, 23, 42, .12);
}

.theme-glexpress .aio-topic-marquee__icon-image {
    width: 42px;
    height: 42px;
    display: block;
    object-fit: contain;
}

.theme-glexpress .aio-topic-marquee__copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.theme-glexpress .aio-topic-marquee__text {
    color: inherit;
    font-family: var(--glex-font-heading);
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.25;
}

.theme-glexpress .aio-topic-marquee__description {
    display: -webkit-box;
    overflow: hidden;
    color: var(--glex-muted);
    font-size: .88rem;
    line-height: 1.45;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

@keyframes aioTopicMarquee {
    from { transform: translate3d(0, 0, 0); }
    to { transform: translate3d(calc(-50% - var(--aio-topic-marquee-half-gap)), 0, 0); }
}

/* Khi cả Hero và form báo giá cùng nằm trong một position, marquee dùng chung
   hàng Hero và neo vào đáy thay vì chiếm thêm một hàng mới. */
@media (min-width: 992px) {
    .theme-glexpress .aio-position:has(> .aio-module-code-banner_slides):has(> .aio-module-code-quick_quote_mod) > .aio-module-code-topic_nav:has(> .aio-topic-marquee) {
        grid-row: 2;
        grid-column: 2;
        align-self: end;
        width: 100%;
        margin: 0 0 28px;
        pointer-events: none;
    }

    .theme-glexpress .aio-position:has(> .aio-module-code-banner_slides):has(> .aio-module-code-quick_quote_mod) > .aio-module-code-topic_nav:has(> .aio-topic-marquee) .aio-topic-marquee {
        pointer-events: auto;
    }

    .theme-glexpress .aio-position:has(> .aio-module-code-banner_slides):has(> .aio-module-code-quick_quote_mod) > .aio-module-code-topic_nav:has(> .aio-topic-marquee) .aio-topic-marquee__container {
        width: 100%;
    }

    .theme-glexpress .aio-position:has(> .aio-module-code-banner_slides):has(> .aio-module-code-topic_nav > .aio-topic-marquee) .aio-banner-slides .owl-dots {
        /* Marquee occupies 150px and sits 28px above the hero bottom.
           Keep the paging hit area 15px clear of it and nudge it left. */
        bottom: 193px;
        transform: translateX(-15px);
    }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    .theme-glexpress .aio-topic-marquee__container {
        padding: 12px;
        border-radius: 17px;
    }

    .theme-glexpress .aio-topic-marquee__item {
        width: 285px;
        min-height: 98px;
        padding: 14px 16px;
    }
}

@media (max-width: 991.98px) {
    .theme-glexpress .aio-module-code-topic_nav:has(> .aio-topic-marquee) {
        margin-top: 0;
        margin-bottom: 24px;
    }

    .theme-glexpress .aio-topic-marquee__container {
        padding: 12px;
        border-radius: 17px;
    }

    .theme-glexpress .aio-topic-marquee__item {
        width: 285px;
        min-height: 98px;
        padding: 14px 16px;
    }
}

@media (max-width: 767.98px) {
    .theme-glexpress .aio-module-code-topic_nav:has(> .aio-topic-marquee) {
        margin-top: 0;
        margin-bottom: 20px;
    }

    .theme-glexpress .aio-topic-marquee {
        --aio-topic-marquee-gap: 10px;
        --aio-topic-marquee-half-gap: 5px;
        --aio-topic-marquee-duration: 14s;
    }

    .theme-glexpress .aio-topic-marquee__container {
        width: calc(100% - 20px);
        padding: 9px;
        border-radius: 14px;
    }

    .theme-glexpress .aio-topic-marquee__item {
        width: 240px;
        min-height: 82px;
        padding: 11px 12px;
        gap: 11px;
        border-radius: 11px;
    }

    .theme-glexpress .aio-topic-marquee__icon {
        width: 38px;
        height: 38px;
        flex-basis: 38px;
        border-radius: 10px;
        font-size: 23px;
    }

    .theme-glexpress .aio-topic-marquee__icon-image {
        width: 34px;
        height: 34px;
    }

    .theme-glexpress .aio-topic-marquee__text {
        font-size: .9rem;
    }

    .theme-glexpress .aio-topic-marquee__description {
        font-size: .76rem;
        line-height: 1.35;
    }
}

/* Thanh lợi ích dịch vụ dùng layout default của Topic_Nav. */
.theme-glexpress .glex-trustbar {
    width: 100%;
    margin: 0;
    background: #1d437f;
    color: #fff;
}

.theme-glexpress .glex-trustbar > .aio-topic-nav {
    margin: 0;
    color: inherit;
}

.theme-glexpress .glex-trustbar .aio-topic-nav__container {
    width: min(calc(100% - 64px), var(--glex-content-width));
}

.theme-glexpress .glex-trustbar .aio-topic-nav__surface {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.theme-glexpress .glex-trustbar .aio-topic-nav__item {
    min-height: 112px;
    padding: 20px 22px;
    justify-content: flex-start;
    gap: 14px;
    color: #fff;
    transform: none;
}

.theme-glexpress .glex-trustbar .aio-topic-nav__item:not(:last-child)::after {
    top: 0;
    bottom: 0;
    background: rgba(255, 255, 255, .12);
}

.theme-glexpress .glex-trustbar .aio-topic-nav__item:hover,
.theme-glexpress .glex-trustbar .aio-topic-nav__item:focus-visible,
.theme-glexpress .glex-trustbar .aio-topic-nav__item--active {
    color: #fff;
    background: rgba(255, 255, 255, .055);
}

.theme-glexpress .glex-trustbar .aio-topic-nav__item:focus-visible {
    outline-color: rgba(255, 255, 255, .7);
}

.theme-glexpress .glex-trustbar .aio-topic-nav__item--active::before {
    display: none;
}

.theme-glexpress .glex-trustbar .aio-topic-nav__icon {
    width: 26px;
    height: 26px;
    flex-basis: 26px;
    font-size: 21px;
}

.theme-glexpress .glex-trustbar .aio-topic-nav__copy {
    gap: 8px;
}

.theme-glexpress .glex-trustbar .aio-topic-nav__text {
    color: #fff;
    font-size: 1rem;
    line-height: 1.2;
    font-weight: 800;
    white-space: normal;
}

.theme-glexpress .glex-trustbar .aio-topic-nav__description {
    display: block;
    overflow: visible;
    color: #d9e6ff;
    font-size: .82rem;
    line-height: 1.35;
    -webkit-line-clamp: unset;
}

.theme-glexpress .glex-trustbar .glex-topic-icon::before {
    display: block;
    line-height: 1;
}

.theme-glexpress .glex-trustbar .glex-topic-icon--experience::before { content: "🏆"; }
.theme-glexpress .glex-trustbar .glex-topic-icon--packing::before { content: "📦"; }
.theme-glexpress .glex-trustbar .glex-topic-icon--pickup::before { content: "🚚"; }
.theme-glexpress .glex-trustbar .glex-topic-icon--tracking::before { content: "🔎"; }
.theme-glexpress .glex-trustbar .glex-topic-icon--support::before { content: "💬"; }

@media (min-width: 992px) {
    .theme-glexpress .aio-position:has(> .aio-module-code-banner_slides):has(> .aio-module-code-quick_quote_mod) > .glex-trustbar {
        grid-row: 3;
        grid-column: 1 / -1;
    }
}

@media (max-width: 991.98px) {
    .theme-glexpress .glex-trustbar .aio-topic-nav__container {
        width: min(calc(100% - 32px), var(--glex-content-width));
    }

    .theme-glexpress .glex-trustbar .aio-topic-nav__surface {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .theme-glexpress .glex-trustbar .aio-topic-nav__item {
        min-height: 92px;
        padding: 16px;
    }

    .theme-glexpress .glex-trustbar .aio-topic-nav__item:nth-child(2n)::after {
        display: none;
    }

    .theme-glexpress .glex-trustbar .aio-topic-nav__item:nth-child(-n + 4) {
        border-bottom: 1px solid rgba(255, 255, 255, .12);
    }

    .theme-glexpress .glex-trustbar .aio-topic-nav__item:nth-child(5):last-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 575.98px) {
    .theme-glexpress .glex-trustbar .aio-topic-nav__container {
        width: 100%;
    }

    .theme-glexpress .glex-trustbar .aio-topic-nav__surface {
        grid-template-columns: minmax(0, 1fr);
    }

    .theme-glexpress .glex-trustbar .aio-topic-nav__item {
        min-height: 82px;
        padding: 14px 20px;
    }

    .theme-glexpress .glex-trustbar .aio-topic-nav__item:not(:last-child) {
        border-bottom: 1px solid rgba(255, 255, 255, .12);
    }

    .theme-glexpress .glex-trustbar .aio-topic-nav__item::after {
        display: none;
    }

    .theme-glexpress .glex-trustbar .aio-topic-nav__item:nth-child(5):last-child {
        grid-column: auto;
    }

    .theme-glexpress .glex-trustbar .aio-topic-nav__description {
        display: block;
    }
}

/* Khối dịch vụ chủ lực dùng dữ liệu Menu của Topic_Nav. */
.theme-glexpress .glex-service-cards-module {
    width: 100%;
    margin: 0;
    background: #f4f7fb;
}

.theme-glexpress .glex-service-cards-module > .aio-service-cards {
    width: 100%;
    color: #122d5d;
}

.theme-glexpress .aio-service-cards__container {
    width: min(calc(100% - 64px), var(--glex-content-width));
    margin: 0 auto;
    padding: 76px 0 88px;
}

.theme-glexpress .aio-service-cards__header {
    max-width: 1050px;
    margin: 0 0 40px;
}

.theme-glexpress .aio-service-cards__eyebrow {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
    color: #34383f;
    font-size: .86rem;
    line-height: 1.3;
    font-weight: 800;
    letter-spacing: .075em;
    text-transform: uppercase;
}

.theme-glexpress .aio-service-cards__eyebrow > span {
    width: 32px;
    height: 3px;
    flex: 0 0 32px;
    border-radius: 999px;
    background: #ffb618;
}

.theme-glexpress .aio-service-cards__heading {
    margin: 0;
    color: #12336a;
    font-size: clamp(2.1rem, 3.2vw, 3.15rem);
    line-height: 1.12;
    font-weight: 800;
    letter-spacing: -.035em;
}

.theme-glexpress .aio-service-cards__description {
    margin: 18px 0 0;
    color: #253044;
    font-size: 1.06rem;
    line-height: 1.65;
}

.theme-glexpress .aio-service-cards__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.theme-glexpress .aio-service-cards__card {
    display: flex;
    min-width: 0;
    min-height: 300px;
    flex-direction: column;
    padding: 30px;
    border: 1px solid #dce3ed;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 1px 1px rgba(18, 51, 106, .015);
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.theme-glexpress .aio-service-cards__card:hover,
.theme-glexpress .aio-service-cards__card:focus-within {
    border-color: #c3d3e9;
    box-shadow: 0 16px 38px rgba(18, 51, 106, .08);
    transform: translateY(-3px);
}

.theme-glexpress .aio-service-cards__icon {
    display: inline-flex;
    width: 60px;
    height: 60px;
    margin-bottom: 24px;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 16px;
    background: #fff3cf;
    color: #164f9a;
}

.theme-glexpress .aio-service-cards__icon-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.theme-glexpress .aio-service-cards__icon i {
    display: block;
    font-style: normal;
    font-size: 1.55rem;
    line-height: 1;
}

.theme-glexpress .glex-service-icon--express::before { content: "\2708\FE0F"; }
.theme-glexpress .glex-service-icon--world::before { content: "\1F30D"; }
.theme-glexpress .glex-service-icon--business::before { content: "\1F3E2"; }

.theme-glexpress .aio-service-cards__title {
    margin: 0;
    color: #12336a;
    font-size: 1.2rem;
    line-height: 1.35;
    font-weight: 800;
}

.theme-glexpress .aio-service-cards__title a {
    color: inherit;
    text-decoration: none;
}

.theme-glexpress .aio-service-cards__title a:hover,
.theme-glexpress .aio-service-cards__title a:focus-visible {
    color: #0c57ad;
}

.theme-glexpress .aio-service-cards__item-description {
    margin: 18px 0 24px;
    color: #69758b;
    font-size: 1rem;
    line-height: 1.65;
}

.theme-glexpress .aio-service-cards__link {
    display: inline-flex;
    width: fit-content;
    margin-top: auto;
    align-items: center;
    gap: 8px;
    color: #0f4d9b;
    font-size: 1rem;
    line-height: 1.3;
    font-weight: 800;
    text-decoration: none;
}

.theme-glexpress .aio-service-cards__link > span:last-child {
    transition: transform .2s ease;
}

.theme-glexpress .aio-service-cards__link:hover,
.theme-glexpress .aio-service-cards__link:focus-visible {
    color: #0b62c4;
}

.theme-glexpress .aio-service-cards__link:hover > span:last-child,
.theme-glexpress .aio-service-cards__link:focus-visible > span:last-child {
    transform: translateX(4px);
}

@media (min-width: 992px) {
    .theme-glexpress .aio-position:has(> .aio-module-code-banner_slides):has(> .aio-module-code-quick_quote_mod) > .glex-service-cards-module {
        grid-column: 1 / -1;
    }
}

@media (max-width: 991.98px) {
    .theme-glexpress .aio-service-cards__container {
        width: min(calc(100% - 40px), var(--glex-content-width));
        padding: 64px 0 72px;
    }

    .theme-glexpress .aio-service-cards__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .theme-glexpress .aio-service-cards__card:last-child:nth-child(odd) {
        grid-column: 1 / -1;
    }
}

@media (max-width: 639.98px) {
    .theme-glexpress .aio-service-cards__container {
        width: min(calc(100% - 32px), var(--glex-content-width));
        padding: 50px 0 58px;
    }

    .theme-glexpress .aio-service-cards__header {
        margin-bottom: 30px;
    }

    .theme-glexpress .aio-service-cards__heading {
        font-size: clamp(1.85rem, 9vw, 2.35rem);
    }

    .theme-glexpress .aio-service-cards__description {
        margin-top: 14px;
        font-size: .96rem;
    }

    .theme-glexpress .aio-service-cards__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }

    .theme-glexpress .aio-service-cards__card,
    .theme-glexpress .aio-service-cards__card:last-child:nth-child(odd) {
        min-height: 260px;
        grid-column: auto;
        padding: 24px;
    }
}

/* Nhóm loại hàng nhận gửi, hiển thị ở position Below Top. */
.theme-glexpress .glex-cargo-types-module {
    width: 100%;
    margin: 0;
    background: #fff;
}

.theme-glexpress .glex-cargo-types-module > .aio-cargo-types {
    width: 100%;
    color: #18243a;
}

.theme-glexpress .aio-cargo-types__container {
    display: grid;
    width: min(calc(100% - 64px), var(--glex-content-width));
    margin: 0 auto;
    padding: 84px 0 92px;
    grid-template-columns: minmax(0, 1fr) minmax(420px, .92fr);
    align-items: center;
    gap: clamp(42px, 5vw, 72px);
}

.theme-glexpress .aio-cargo-types__content {
    min-width: 0;
}

.theme-glexpress .aio-cargo-types__header {
    max-width: 670px;
}

.theme-glexpress .aio-cargo-types__eyebrow {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
    color: #333840;
    font-size: .86rem;
    line-height: 1.3;
    font-weight: 800;
    letter-spacing: .075em;
    text-transform: uppercase;
}

.theme-glexpress .aio-cargo-types__eyebrow > span {
    width: 32px;
    height: 3px;
    flex: 0 0 32px;
    border-radius: 999px;
    background: #ffb618;
}

.theme-glexpress .aio-cargo-types__heading {
    max-width: 650px;
    margin: 0;
    color: #12336a;
    font-size: clamp(2.15rem, 3.15vw, 3.2rem);
    line-height: 1.12;
    font-weight: 800;
    letter-spacing: -.035em;
}

.theme-glexpress .aio-cargo-types__description {
    margin: 20px 0 0;
    color: #263145;
    font-size: 1.03rem;
    line-height: 1.65;
}

.theme-glexpress .aio-cargo-types__grid {
    display: grid;
    margin-top: 26px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.theme-glexpress .aio-cargo-types__item {
    display: flex;
    min-width: 0;
    min-height: 92px;
    padding: 18px 16px;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 11px;
    border: 1px solid #dce3ed;
    border-radius: 14px;
    background: #fff;
    color: #354055;
    font-size: .98rem;
    line-height: 1.45;
    font-weight: 800;
    text-decoration: none;
    transition: border-color .2s ease, box-shadow .2s ease, color .2s ease, transform .2s ease;
}

.theme-glexpress a.aio-cargo-types__item:hover,
.theme-glexpress a.aio-cargo-types__item:focus-visible,
.theme-glexpress .aio-cargo-types__item--active {
    border-color: #b8cae3;
    color: #0f4d9b;
    box-shadow: 0 10px 24px rgba(18, 51, 106, .08);
    transform: translateY(-2px);
}

.theme-glexpress a.aio-cargo-types__item:focus-visible {
    outline: 3px solid rgba(17, 88, 170, .22);
    outline-offset: 2px;
}

.theme-glexpress .aio-cargo-types__icon {
    display: inline-flex;
    width: 26px;
    height: 26px;
    flex: 0 0 26px;
    align-items: center;
    justify-content: center;
}

.theme-glexpress .aio-cargo-types__icon-image {
    width: 26px;
    height: 26px;
    object-fit: contain;
}

.theme-glexpress .aio-cargo-types__icon i {
    display: block;
    font-style: normal;
    font-size: 1.08rem;
    line-height: 1;
}

.theme-glexpress .glex-cargo-icon--documents::before { content: "\1F4C4"; }
.theme-glexpress .glex-cargo-icon--gifts::before { content: "\1F381"; }
.theme-glexpress .glex-cargo-icon--food::before { content: "\1F35C"; }
.theme-glexpress .glex-cargo-icon--clothes::before { content: "\1F455"; }
.theme-glexpress .glex-cargo-icon--cosmetics::before { content: "\1F9F4"; }
.theme-glexpress .glex-cargo-icon--samples::before { content: "\1F9EA"; }
.theme-glexpress .glex-cargo-icon--commercial::before { content: "\1F4E6"; }
.theme-glexpress .glex-cargo-icon--fragile::before { content: "\1FAD9"; }

.theme-glexpress .aio-cargo-types__text {
    min-width: 0;
}

.theme-glexpress .aio-cargo-types__note {
    margin: 18px 0 0;
    color: #f25749;
    font-size: .93rem;
    line-height: 1.65;
}

.theme-glexpress .aio-cargo-types__note > span {
    margin-right: 4px;
}

.theme-glexpress .aio-cargo-types__panel {
    position: relative;
    z-index: 0;
    display: flex;
    min-height: 570px;
    padding: 28px;
    flex-direction: column;
    overflow: hidden;
    border-radius: 22px;
    background: #294c82;
    box-shadow: 0 24px 48px rgba(18, 51, 106, .13);
    color: #fff;
}

.theme-glexpress .aio-cargo-types__panel-decoration {
    position: absolute;
    right: -92px;
    bottom: -118px;
    z-index: -1;
    width: 330px;
    height: 330px;
    border-radius: 50%;
    background: rgba(216, 188, 100, .28);
}

.theme-glexpress .aio-cargo-types__panel-badge {
    width: fit-content;
    padding: 9px 14px;
    border-radius: 999px;
    background: #fff;
    color: #12336a;
    font-size: .82rem;
    line-height: 1.2;
    font-weight: 800;
}

.theme-glexpress .aio-cargo-types__parcel {
    position: relative;
    width: 164px;
    height: 112px;
    margin: 40px 0 22px;
    border-radius: 13px;
    background: #d3912f;
    box-shadow: 28px 8px 0 rgba(25, 57, 103, .18);
}

.theme-glexpress .aio-cargo-types__parcel-ribbon {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 17px;
    background: #ffd476;
    transform: translateX(-50%);
}

.theme-glexpress .aio-cargo-types__parcel-label {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 68px;
    padding: 10px 8px;
    border-radius: 5px;
    background: #fff;
    color: #12336a;
    font-size: .88rem;
    line-height: 1;
    font-weight: 900;
    text-align: center;
    transform: translate(-50%, -50%);
}

.theme-glexpress .aio-cargo-types__panel-card {
    padding: 22px 20px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 16px;
    background: rgba(255, 255, 255, .095);
    backdrop-filter: blur(3px);
}

.theme-glexpress .aio-cargo-types__panel-card + .aio-cargo-types__panel-card {
    margin-top: 18px;
}

.theme-glexpress .aio-cargo-types__panel-card h3 {
    margin: 0;
    color: #fff;
    font-size: 1.55rem;
    line-height: 1.25;
    font-weight: 800;
}

.theme-glexpress .aio-cargo-types__panel-card p {
    margin: 14px 0 0;
    color: #dce7f9;
    font-size: 1rem;
    line-height: 1.55;
}

@media (max-width: 1099.98px) {
    .theme-glexpress .aio-cargo-types__container {
        grid-template-columns: minmax(0, 1fr) minmax(360px, .82fr);
        gap: 34px;
    }

    .theme-glexpress .aio-cargo-types__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 899.98px) {
    .theme-glexpress .aio-cargo-types__container {
        width: min(calc(100% - 40px), var(--glex-content-width));
        padding: 64px 0 72px;
        grid-template-columns: minmax(0, 1fr);
        gap: 42px;
    }

    .theme-glexpress .aio-cargo-types__header {
        max-width: 760px;
    }

    .theme-glexpress .aio-cargo-types__panel {
        min-height: auto;
    }
}

@media (max-width: 575.98px) {
    .theme-glexpress .aio-cargo-types__container {
        width: min(calc(100% - 32px), var(--glex-content-width));
        padding: 50px 0 58px;
    }

    .theme-glexpress .aio-cargo-types__heading {
        font-size: clamp(1.85rem, 9vw, 2.35rem);
    }

    .theme-glexpress .aio-cargo-types__description {
        margin-top: 14px;
        font-size: .96rem;
    }

    .theme-glexpress .aio-cargo-types__grid {
        gap: 10px;
    }

    .theme-glexpress .aio-cargo-types__item {
        min-height: 86px;
        padding: 15px 12px;
        gap: 8px;
        font-size: .9rem;
    }

    .theme-glexpress .aio-cargo-types__panel {
        padding: 22px;
        border-radius: 18px;
    }

    .theme-glexpress .aio-cargo-types__parcel {
        margin-top: 32px;
    }

    .theme-glexpress .aio-cargo-types__panel-card h3 {
        font-size: 1.32rem;
    }
}

/* Khối giải thích cách tối ưu chi phí gửi hàng. */
.theme-glexpress .glex-cost-optimization-module {
    width: 100%;
    margin: 0;
    background: #f4f7fb;
}

.theme-glexpress .glex-cost-optimization-module > .aio-cost-optimization {
    width: 100%;
    color: #18243a;
}

.theme-glexpress .aio-cost-optimization__container {
    display: grid;
    width: min(calc(100% - 64px), var(--glex-content-width));
    margin: 0 auto;
    padding: 82px 0 88px;
    grid-template-columns: minmax(420px, .96fr) minmax(0, 1.04fr);
    align-items: center;
    gap: clamp(42px, 5vw, 72px);
}

.theme-glexpress .aio-cost-optimization__panel {
    position: relative;
    z-index: 0;
    display: flex;
    min-height: 510px;
    padding: 30px;
    flex-direction: column;
    overflow: hidden;
    border-radius: 22px;
    background: #1e4278;
    box-shadow: 0 24px 48px rgba(18, 51, 106, .13);
    color: #fff;
}

.theme-glexpress .aio-cost-optimization__panel-decoration {
    position: absolute;
    right: -68px;
    bottom: -98px;
    z-index: -1;
    width: 310px;
    height: 310px;
    border-radius: 50%;
    background: rgba(218, 191, 103, .27);
}

.theme-glexpress .aio-cost-optimization__panel-badge {
    width: fit-content;
    margin-bottom: 24px;
    padding: 10px 15px;
    border-radius: 999px;
    background: #fff;
    color: #12336a;
    font-size: .84rem;
    line-height: 1.2;
    font-weight: 800;
}

.theme-glexpress .aio-cost-optimization__panel-card {
    padding: 24px 22px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 16px;
    background: rgba(255, 255, 255, .095);
    backdrop-filter: blur(3px);
}

.theme-glexpress .aio-cost-optimization__panel-card + .aio-cost-optimization__panel-card {
    margin-top: 18px;
}

.theme-glexpress .aio-cost-optimization__panel-card h3 {
    margin: 0;
    color: #fff;
    font-size: 1.48rem;
    line-height: 1.3;
    font-weight: 800;
}

.theme-glexpress .aio-cost-optimization__panel-card p {
    margin: 15px 0 0;
    color: #dce7f9;
    font-size: 1rem;
    line-height: 1.65;
}

.theme-glexpress .aio-cost-optimization__content {
    min-width: 0;
}

.theme-glexpress .aio-cost-optimization__header {
    max-width: 690px;
}

.theme-glexpress .aio-cost-optimization__eyebrow {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
    color: #34383f;
    font-size: .86rem;
    line-height: 1.3;
    font-weight: 800;
    letter-spacing: .075em;
    text-transform: uppercase;
}

.theme-glexpress .aio-cost-optimization__eyebrow > span {
    width: 32px;
    height: 3px;
    flex: 0 0 32px;
    border-radius: 999px;
    background: #ffb618;
}

.theme-glexpress .aio-cost-optimization__heading {
    margin: 0;
    color: #12336a;
    font-size: clamp(2.15rem, 3.1vw, 3.15rem);
    line-height: 1.1;
    font-weight: 800;
    letter-spacing: -.035em;
}

.theme-glexpress .aio-cost-optimization__description {
    margin: 20px 0 0;
    color: #68758a;
    font-size: 1rem;
    line-height: 1.65;
}

.theme-glexpress .aio-cost-optimization__list {
    display: grid;
    margin: 26px 0 0;
    padding: 0;
    gap: 18px;
    list-style: none;
}

.theme-glexpress .aio-cost-optimization__item {
    display: flex;
    min-width: 0;
    align-items: flex-start;
    gap: 14px;
}

.theme-glexpress .aio-cost-optimization__check {
    display: inline-flex;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #e7faf3;
    color: #079b68;
    font-size: 1.15rem;
    line-height: 1;
    font-weight: 800;
}

.theme-glexpress .aio-cost-optimization__item-copy {
    display: grid;
    min-width: 0;
    gap: 5px;
}

.theme-glexpress .aio-cost-optimization__item-copy strong {
    color: #18243a;
    font-size: 1.05rem;
    line-height: 1.35;
    font-weight: 800;
}

.theme-glexpress .aio-cost-optimization__item-copy > span {
    color: #68758a;
    font-size: .98rem;
    line-height: 1.5;
}

.theme-glexpress .aio-cost-optimization__cta {
    display: inline-flex;
    min-height: 56px;
    margin-top: 28px;
    padding: 14px 24px;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    background: #ffb619;
    box-shadow: 0 12px 28px rgba(255, 182, 25, .22);
    color: #20251f;
    font-size: 1rem;
    line-height: 1.3;
    font-weight: 800;
    text-decoration: none;
    transition: box-shadow .2s ease, transform .2s ease, background-color .2s ease;
}

.theme-glexpress .aio-cost-optimization__cta:hover,
.theme-glexpress .aio-cost-optimization__cta:focus-visible {
    background: #ffc13d;
    box-shadow: 0 16px 32px rgba(255, 182, 25, .3);
    color: #20251f;
    transform: translateY(-2px);
}

.theme-glexpress .aio-cost-optimization__cta:focus-visible {
    outline: 3px solid rgba(17, 88, 170, .22);
    outline-offset: 3px;
}

@media (max-width: 899.98px) {
    .theme-glexpress .aio-cost-optimization__container {
        width: min(calc(100% - 40px), var(--glex-content-width));
        padding: 64px 0 72px;
        grid-template-columns: minmax(0, 1fr);
        gap: 42px;
    }

    .theme-glexpress .aio-cost-optimization__panel {
        min-height: auto;
    }

    .theme-glexpress .aio-cost-optimization__content {
        grid-row: 1;
    }

    .theme-glexpress .aio-cost-optimization__panel {
        grid-row: 2;
    }
}

@media (max-width: 575.98px) {
    .theme-glexpress .aio-cost-optimization__container {
        width: min(calc(100% - 32px), var(--glex-content-width));
        padding: 50px 0 58px;
    }

    .theme-glexpress .aio-cost-optimization__heading {
        font-size: clamp(1.85rem, 9vw, 2.35rem);
    }

    .theme-glexpress .aio-cost-optimization__description {
        margin-top: 14px;
        font-size: .96rem;
    }

    .theme-glexpress .aio-cost-optimization__item-copy strong {
        font-size: .98rem;
    }

    .theme-glexpress .aio-cost-optimization__item-copy > span {
        font-size: .91rem;
    }

    .theme-glexpress .aio-cost-optimization__cta {
        width: 100%;
    }

    .theme-glexpress .aio-cost-optimization__panel {
        padding: 22px;
        border-radius: 18px;
    }

    .theme-glexpress .aio-cost-optimization__panel-card {
        padding: 20px 18px;
    }

    .theme-glexpress .aio-cost-optimization__panel-card h3 {
        font-size: 1.3rem;
    }
}

/* Quy trình gửi hàng quốc tế theo từng bước. */
.theme-glexpress .glex-process-steps-module {
    width: 100%;
    margin: 0;
    background: #fff;
}

.theme-glexpress .glex-process-steps-module > .aio-process-steps {
    width: 100%;
    color: #18243a;
}

.theme-glexpress .aio-process-steps__container {
    width: min(calc(100% - 64px), var(--glex-content-width));
    margin: 0 auto;
    padding: 78px 0 88px;
}

.theme-glexpress .aio-process-steps__header {
    max-width: 980px;
    margin: 0 auto 42px;
    text-align: center;
}

.theme-glexpress .aio-process-steps__eyebrow {
    display: flex;
    width: fit-content;
    margin: 0 auto 10px;
    align-items: center;
    gap: 12px;
    color: #34383f;
    font-size: .86rem;
    line-height: 1.3;
    font-weight: 800;
    letter-spacing: .075em;
    text-transform: uppercase;
}

.theme-glexpress .aio-process-steps__eyebrow > span {
    width: 32px;
    height: 3px;
    flex: 0 0 32px;
    border-radius: 999px;
    background: #ffb618;
}

.theme-glexpress .aio-process-steps__heading {
    margin: 0;
    color: #12336a;
    font-size: clamp(2.15rem, 3.15vw, 3.2rem);
    line-height: 1.12;
    font-weight: 800;
    letter-spacing: -.035em;
}

.theme-glexpress .aio-process-steps__description {
    max-width: 760px;
    margin: 18px auto 0;
    color: #68758a;
    font-size: 1rem;
    line-height: 1.6;
}

.theme-glexpress .aio-process-steps__list {
    display: grid;
    margin: 0;
    padding: 0;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    list-style: none;
    counter-reset: none;
}

.theme-glexpress .aio-process-steps__item {
    min-width: 0;
    min-height: 235px;
    padding: 28px 24px;
    border: 1px solid #dce3ed;
    border-radius: 18px;
    background: #fff;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.theme-glexpress .aio-process-steps__item:hover {
    border-color: #c3d3e9;
    box-shadow: 0 16px 38px rgba(18, 51, 106, .08);
    transform: translateY(-3px);
}

.theme-glexpress .aio-process-steps__number {
    display: inline-flex;
    width: 46px;
    height: 46px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #174482;
    color: #fff;
    font-size: 1rem;
    line-height: 1;
    font-weight: 800;
}

.theme-glexpress .aio-process-steps__item h3 {
    margin: 20px 0 0;
    color: #12336a;
    font-size: 1.12rem;
    line-height: 1.4;
    font-weight: 800;
}

.theme-glexpress .aio-process-steps__item p {
    margin: 16px 0 0;
    color: #68758a;
    font-size: .97rem;
    line-height: 1.65;
}

@media (max-width: 991.98px) {
    .theme-glexpress .aio-process-steps__container {
        width: min(calc(100% - 40px), var(--glex-content-width));
        padding: 64px 0 72px;
    }

    .theme-glexpress .aio-process-steps__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .theme-glexpress .aio-process-steps__item {
        min-height: 215px;
    }
}

@media (max-width: 575.98px) {
    .theme-glexpress .aio-process-steps__container {
        width: min(calc(100% - 32px), var(--glex-content-width));
        padding: 50px 0 58px;
    }

    .theme-glexpress .aio-process-steps__header {
        margin-bottom: 30px;
    }

    .theme-glexpress .aio-process-steps__heading {
        font-size: clamp(1.85rem, 9vw, 2.35rem);
    }

    .theme-glexpress .aio-process-steps__list {
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
    }

    .theme-glexpress .aio-process-steps__item {
        min-height: 0;
        padding: 22px;
    }

    .theme-glexpress .aio-process-steps__item h3 {
        margin-top: 16px;
    }
}


