/* Global Logistics and Cargo — Homepage mobile enhancements */

@media (max-width: 767.98px) {

    /* ── Hero: full-bleed overlay layout ── */
    body.homepage .block-hero-banner {
        background: var(--purple-dark, #2E1065);
    }

    body.homepage .block-hero-banner .slides-contain {
        position: relative;
    }

    body.homepage .block-hero-banner .slide {
        min-height: calc(100svh - var(--header-bottom, 56px));
        min-height: calc(100vh - var(--header-bottom, 56px));
    }

    body.homepage .block-hero-banner .slide .background-contain {
        position: absolute;
        inset: 0;
        height: auto;
        z-index: 0;
    }

    body.homepage .block-hero-banner .slide .background-contain::after {
        display: block !important;
        background: linear-gradient(
            180deg,
            rgba(46, 16, 101, 0.25) 0%,
            rgba(46, 16, 101, 0.55) 45%,
            rgba(46, 16, 101, 0.92) 100%
        ) !important;
        z-index: 1;
    }

    body.homepage .block-hero-banner .content::before {
        display: none !important;
    }

    body.homepage .block-hero-banner .slide .content {
        position: relative;
        z-index: 2;
        display: flex !important;
        flex-direction: column;
        justify-content: flex-end;
        flex: 1;
        min-height: calc(100svh - var(--header-bottom, 56px));
        min-height: calc(100vh - var(--header-bottom, 56px));
        padding: 24px 0 72px;
        margin-top: 0;
        color: #fff !important;
    }

    body.homepage .block-hero-banner .slide .content .container {
        width: 100%;
    }

    body.homepage .block-hero-banner .slide .content .h1,
    body.homepage .block-hero-banner .slide .content p {
        -webkit-line-clamp: unset;
        display: block;
        overflow: visible;
        color: #fff;
    }

    body.homepage .block-hero-banner .slide .content .h1 {
        font-size: clamp(1.75rem, 7vw, 2.25rem);
        line-height: 1.12;
        margin-bottom: 12px;
        padding-bottom: 0;
        letter-spacing: -0.02em;
    }

    body.homepage .glc-hero-subtitle {
        color: rgba(255, 255, 255, 0.88) !important;
        font-size: 1rem !important;
        line-height: 1.55 !important;
        margin-bottom: 20px !important;
        max-width: none !important;
        padding-bottom: 0 !important;
        -webkit-line-clamp: unset;
        display: block;
    }

    body.homepage .glc-hero-badge {
        font-size: 0.72rem;
        padding: 5px 12px;
        margin-bottom: 12px;
        letter-spacing: 0.08em;
    }

    body.homepage .glc-hero-actions {
        display: flex;
        flex-direction: column;
        gap: 10px;
        width: 100%;
    }

    body.homepage .glc-hero-actions .component-button {
        width: 100%;
        margin-left: 0 !important;
        text-align: center;
        min-height: 48px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    body.homepage .block-hero-banner .slide .content .component-button.secondary {
        background: rgba(255, 255, 255, 0.12);
        border-color: rgba(255, 255, 255, 0.55);
        color: #fff !important;
    }

    body.homepage .block-hero-banner .slide .content .component-button.secondary:hover {
        background: rgba(255, 255, 255, 0.22);
        color: #fff !important;
    }

    /* Mobile slide pagination */
    body.homepage .block-hero-banner .slides-overlay {
        display: flex !important;
        height: auto;
        bottom: 0;
        top: auto;
        padding-bottom: 20px;
        pointer-events: none;
    }

    body.homepage .block-hero-banner .slides-overlay .row {
        width: 100%;
        justify-content: center !important;
    }

    body.homepage .block-hero-banner .slides-overlay .col-auto {
        width: 100%;
        display: block !important;
    }

    body.homepage .block-hero-banner .swiper-pagination {
        justify-content: center;
        padding: 0 16px;
    }

    body.homepage .block-hero-banner .swiper-pagination .swiper-pagination-bullet {
        flex: 1;
        max-width: 48px;
        margin: 0 4px;
        height: 4px;
        border-radius: 2px;
        background: rgba(255, 255, 255, 0.35);
    }

    body.homepage .block-hero-banner .swiper-pagination .swiper-pagination-bullet-active {
        background: linear-gradient(120deg, #C084FC, #7C3AED) !important;
    }

    /* ── Stats bar ── */
    body.homepage .glc-stats-bar {
        padding: 28px 0;
        margin-top: -1px;
    }

    body.homepage .glc-stats-bar .row {
        margin: 0 -4px;
    }

    body.homepage .glc-stats-bar .stat-item {
        padding: 14px 8px;
        position: relative;
    }

    body.homepage .glc-stats-bar .stat-item:nth-child(odd)::after {
        content: "";
        position: absolute;
        right: 0;
        top: 20%;
        bottom: 20%;
        width: 1px;
        background: rgba(255, 255, 255, 0.2);
    }

    body.homepage .glc-stats-bar .stat-item:nth-child(-n+2)::before {
        content: "";
        position: absolute;
        left: 10%;
        right: 10%;
        bottom: 0;
        height: 1px;
        background: rgba(255, 255, 255, 0.15);
    }

    body.homepage .glc-stats-bar .stat-number {
        font-size: clamp(1.65rem, 6vw, 2.25rem);
    }

    body.homepage .glc-stats-bar .stat-label {
        font-size: 0.68rem;
        letter-spacing: 0.04em;
        line-height: 1.3;
    }

    /* ── Who we are ── */
    body.homepage .block-section-intro {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    body.homepage .block-section-intro .glc-section-label {
        margin-bottom: 8px;
    }

    body.homepage .block-section-intro h3 {
        font-size: clamp(1.35rem, 5vw, 1.65rem);
        line-height: 1.25;
        margin-bottom: 16px;
    }

    body.homepage .block-section-intro .regular-content {
        font-size: 0.95rem;
        line-height: 1.65;
        color: #444;
    }

    /* ── Services grid ── */
    body.homepage .block-solutions-grid {
        padding: 48px 0;
        background: #fff;
    }

    body.homepage .block-solutions-grid > .container > .row > .col-12 > h2 {
        font-size: clamp(1.5rem, 5.5vw, 1.85rem);
        text-align: center;
        margin-bottom: 8px;
    }

    body.homepage .glc-services-intro {
        font-size: 0.95rem;
        margin-bottom: 28px;
        padding: 0 4px;
    }

    body.homepage .block-solutions-grid .solution-item {
        margin-top: 0;
        margin-bottom: 10px;
    }

    body.homepage .block-solutions-grid .solution-item a {
        background: var(--purple-bg, #F5F3FF);
        border-radius: 12px;
        padding: 16px 48px 16px 16px;
        border: 1px solid rgba(124, 58, 237, 0.12);
        min-height: 72px;
        transition: background 0.2s ease, border-color 0.2s ease;
        -webkit-tap-highlight-color: transparent;
    }

    body.homepage .block-solutions-grid .solution-item a:active {
        background: #ede9fe;
        border-color: rgba(124, 58, 237, 0.35);
    }

    body.homepage .block-solutions-grid .solution-item .item-inner {
        flex-direction: row;
        align-items: center;
        gap: 14px;
    }

    body.homepage .block-solutions-grid .solution-item .img-container {
        width: 44px;
        height: 44px;
        flex-shrink: 0;
        margin: 0;
    }

    body.homepage .block-solutions-grid .solution-item .h6-alt {
        font-size: 0.95rem;
        margin: 0;
        text-align: left;
    }

    body.homepage .block-solutions-grid .solution-item .arrow {
        right: 16px;
        top: 50%;
        transform: translateY(-50%);
    }

    body.homepage .block-solutions-grid .solution-item .active-border {
        display: none;
    }

    /* ── Why choose GLC — horizontal scroll cards ── */
    body.homepage .glc-why-section {
        padding: 48px 0 40px;
        overflow: hidden;
    }

    body.homepage .glc-why-section h2 {
        font-size: clamp(1.45rem, 5.5vw, 1.75rem);
        margin-bottom: 24px;
        padding: 0 4px;
    }

    body.homepage .glc-why-section > .container > .row.glc-feature-scroll {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        gap: 14px;
        margin: 0 -12px;
        padding: 4px 12px 16px;
        scrollbar-width: none;
    }

    body.homepage .glc-why-section > .container > .row.glc-feature-scroll::-webkit-scrollbar {
        display: none;
    }

    body.homepage .glc-why-section > .container > .row.glc-feature-scroll > [class*="col-"] {
        flex: 0 0 82%;
        max-width: 82%;
        scroll-snap-align: start;
        margin-bottom: 0 !important;
        padding-left: 0;
        padding-right: 0;
    }

    body.homepage .glc-feature-card {
        padding: 24px 20px;
        box-shadow: 0 4px 20px rgba(46, 16, 101, 0.06);
    }

    body.homepage .glc-feature-card:active {
        transform: scale(0.98);
    }

    body.homepage .glc-feature-icon {
        width: 46px;
        height: 46px;
        font-size: 20px;
        margin-bottom: 14px;
    }

    body.homepage .glc-feature-card h4 {
        font-size: 1.05rem;
    }

    body.homepage .glc-feature-card p {
        font-size: 0.9rem;
    }

    /* Scroll hint */
    body.homepage .glc-why-section > .container > .row:first-child::after {
        content: none;
    }

    body.homepage .glc-scroll-hint {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 6px;
        font-size: 0.75rem;
        color: #7C3AED;
        font-weight: 600;
        margin-top: 4px;
        margin-bottom: 0;
        opacity: 0.85;
    }

    body.homepage .glc-scroll-hint::after {
        content: "→";
        display: inline-block;
        animation: glc-nudge 1.5s ease-in-out infinite;
    }

    @keyframes glc-nudge {
        0%, 100% { transform: translateX(0); }
        50% { transform: translateX(4px); }
    }

    /* ── Industries ── */
    body.homepage .glc-industries {
        padding: 48px 0;
    }

    body.homepage .glc-industries h2 {
        font-size: clamp(1.45rem, 5.5vw, 1.75rem);
        margin-bottom: 10px;
    }

    body.homepage .glc-industries .glc-section-intro-text {
        font-size: 0.95rem;
        line-height: 1.65;
        margin-bottom: 0;
    }

    body.homepage .glc-industry-tags {
        gap: 8px;
        margin-top: 24px;
        justify-content: flex-start;
    }

    body.homepage .glc-industry-tag {
        font-size: 0.82rem;
        padding: 8px 14px;
    }

    /* ── Global network ── */
    body.homepage .glc-network-section {
        padding: 48px 0 40px;
    }

    body.homepage .glc-network-section h2 {
        font-size: clamp(1.45rem, 5.5vw, 1.75rem);
    }

    body.homepage .glc-network-section .glc-section-intro-text {
        font-size: 0.95rem;
    }

    body.homepage .glc-network-stats {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
        margin-top: 28px;
    }

    body.homepage .glc-network-stat {
        padding: 18px 12px;
    }

    body.homepage .glc-network-stat .num {
        font-size: 1.65rem;
    }

    body.homepage .glc-network-stat .lbl {
        font-size: 0.78rem;
        line-height: 1.3;
    }

    body.homepage .glc-network-map-row {
        margin-top: 28px;
    }

    body.homepage .glc-network-map {
        border-radius: 10px;
        box-shadow: 0 6px 24px rgba(46, 16, 101, 0.1);
    }

    /* ── CTA banner ── */
    body.homepage .glc-cta-banner {
        padding: 48px 20px;
    }

    body.homepage .glc-cta-banner h2 {
        font-size: clamp(1.5rem, 5.5vw, 1.85rem);
    }

    body.homepage .glc-cta-banner p {
        font-size: 0.95rem;
        margin-bottom: 24px;
    }

    body.homepage .glc-cta-actions {
        display: flex;
        flex-direction: column;
        gap: 10px;
        max-width: 320px;
        margin: 0 auto;
    }

    body.homepage .glc-cta-actions .component-button {
        width: 100%;
        margin-left: 0 !important;
        min-height: 48px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    /* ── Careers / Join us ── */
    body.homepage .block-join-us .content-right {
        background: linear-gradient(135deg, #2E1065 0%, #581C87 50%, #7C3AED 100%) !important;
        padding: 32px 20px 36px !important;
        min-height: auto;
    }

    body.homepage .block-join-us .content-right h2 {
        color: #fff !important;
        font-size: clamp(1.45rem, 5.5vw, 1.75rem);
        margin-bottom: 12px;
    }

    body.homepage .block-join-us .content-right h4 {
        color: rgba(255, 255, 255, 0.9) !important;
        font-size: 0.95rem;
        line-height: 1.55;
        font-weight: 400;
    }

    body.homepage .block-join-us .img-container {
        max-height: 220px;
        overflow: hidden;
    }

    body.homepage .block-join-us .img-container img {
        height: 220px;
        object-fit: cover;
    }

    body.homepage .block-join-us .content-right .component-button {
        width: 100%;
        margin-top: 20px;
        min-height: 48px;
        text-align: center;
        background: #fff !important;
        color: #2E1065 !important;
        border-color: #fff !important;
    }

    /* ── Sticky track widget ── */
    body.homepage .block-sticky-track-and-trace {
        bottom: max(12px, env(safe-area-inset-bottom));
    }

    body.homepage .block-sticky-track-and-trace .toggle-btn {
        box-shadow: 0 4px 20px rgba(124, 58, 237, 0.45);
        font-size: 0.85rem;
        padding: 12px 18px;
    }

    body.homepage .block-sticky-track-and-trace .whole-content-container {
        border-radius: 12px 12px 0 0;
        max-height: calc(100svh - var(--header-bottom, 56px) - 24px);
        overflow-y: auto;
    }
}

/* Very small screens */
@media (max-width: 374.98px) {
    body.homepage .glc-stats-bar .stat-label {
        font-size: 0.62rem;
    }

    body.homepage .glc-why-section > .container > .row.glc-feature-scroll > [class*="col-"] {
        flex: 0 0 88%;
        max-width: 88%;
    }
}

/* Tablet portrait refinements */
@media (min-width: 768px) and (max-width: 991.98px) {
    body.homepage .glc-stats-bar .stat-number {
        font-size: 2.25rem;
    }

    body.homepage .glc-hero-actions {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 12px;
    }

    body.homepage .glc-hero-actions .component-button {
        width: auto;
        flex: 1;
        min-width: 140px;
    }
}
