/* ==========================================================================
   FX Sistemas - Mobile Responsive Optimization Stylesheet
   Exclusively scoped to mobile & tablet viewports (@media max-width: 991.98px)
   DESKTOP (min-width: 992px) REMAINS 100% UNTOUCHED
   ========================================================================== */

@media screen and (max-width: 991.98px) {
    /* --- Global Viewport & Overflow Protection --- */
    html, body {
        overflow-x: hidden !important;
        width: 100% !important;
        max-width: 100vw !important;
        position: relative;
    }

    #smooth-wrapper, #smooth-content {
        overflow-x: hidden !important;
        width: 100% !important;
        max-width: 100vw !important;
    }

    .container, .container-two {
        padding-left: 18px !important;
        padding-right: 18px !important;
        max-width: 100% !important;
    }

    /* Section vertical pacing */
    section.py-120, .py-120 {
        padding-top: 60px !important;
        padding-bottom: 60px !important;
    }

    /* Typography clamp & line heights */
    h1, .h1 {
        font-size: clamp(1.85rem, 6.2vw, 2.35rem) !important;
        line-height: 1.2 !important;
    }

    h2, .h2 {
        font-size: clamp(1.55rem, 5.2vw, 1.95rem) !important;
        line-height: 1.22 !important;
    }

    h3, .h3 {
        font-size: clamp(1.35rem, 4.4vw, 1.7rem) !important;
        line-height: 1.25 !important;
    }

    h4, .h4 {
        font-size: 1.22rem !important;
        line-height: 1.3 !important;
    }

    h5, .h5 {
        font-size: 1.1rem !important;
    }

    h6, .h6 {
        font-size: 1rem !important;
    }

    .splitTextStyleOne {
        line-height: 1.24 !important;
        word-break: normal;
        overflow-wrap: break-word;
    }

    /* Top Bar */
    .bg-main-600.tw-py-205 {
        padding: 8px 12px !important;
        font-size: 12.5px !important;
        text-align: center;
    }

    .bg-main-600.tw-py-205 a {
        font-size: 12.5px !important;
        padding: 3px 12px !important;
    }

    /* Header & Navigation */
    header.header {
        padding: 12px 0 !important;
    }

    header.header .logo img {
        max-width: 145px !important;
        height: auto !important;
    }

    .toggle-mobileMenu {
        width: 44px !important;
        height: 44px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 30px !important;
        background: #f8fafc !important;
        color: #0f172a !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 10px !important;
        padding: 0 !important;
        transition: all 0.2s ease !important;
        box-shadow: 0 2px 6px rgba(0,0,0,0.04) !important;
    }

    .toggle-mobileMenu:hover,
    .toggle-mobileMenu:active {
        background: #DD0712 !important;
        color: #ffffff !important;
        border-color: #DD0712 !important;
    }

    /* --- Mobile Menu Drawer --- */
    .side-overlay {
        z-index: 9998 !important;
        background-color: rgba(4, 8, 20, 0.7) !important;
        backdrop-filter: blur(4px) !important;
        -webkit-backdrop-filter: blur(4px) !important;
    }

    .mobile-menu {
        z-index: 9999 !important;
        width: min(320px, 86vw) !important;
        box-shadow: 4px 0 35px rgba(0, 0, 0, 0.25) !important;
        padding: 24px 20px 36px 20px !important;
        border-top-right-radius: 20px !important;
        border-bottom-right-radius: 20px !important;
    }

    .mobile-menu .close-button {
        width: 38px !important;
        height: 38px !important;
        font-size: 20px !important;
        top: 16px !important;
        right: 16px !important;
        background: #f1f5f9 !important;
        color: #0f172a !important;
        border: none !important;
        border-radius: 50% !important;
        box-shadow: 0 2px 6px rgba(0,0,0,0.06) !important;
        transition: all 0.2s ease !important;
    }

    .mobile-menu .close-button:hover {
        background: #DD0712 !important;
        color: #ffffff !important;
    }

    .mobile-menu__logo img {
        max-width: 140px !important;
        height: auto !important;
    }

    .mobile-menu .nav-menu {
        margin-top: 26px !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 2px !important;
    }

    .mobile-menu .nav-menu__item {
        border-bottom: 1px solid #f1f5f9 !important;
    }

    .mobile-menu .nav-menu__item:last-child {
        border-bottom: none !important;
    }

    .mobile-menu .nav-menu__link {
        padding: 13px 8px !important;
        font-size: 1.05rem !important;
        font-weight: 600 !important;
        color: #1e293b !important;
        transition: all 0.2s ease !important;
        display: flex !important;
        align-items: center !important;
    }

    .mobile-menu .nav-menu__item.activePage .nav-menu__link {
        color: #DD0712 !important;
        font-weight: 700 !important;
    }

    /* Fixed mobile drawer CTA button */
    .mobile-menu-cta {
        width: 100% !important;
        margin-top: 24px !important;
        padding: 13px 20px !important;
        font-size: 0.95rem !important;
        font-weight: 700 !important;
        border-radius: 50px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        background-color: #DD0712 !important;
        color: #ffffff !important;
        box-shadow: 0 8px 20px rgba(221, 7, 18, 0.25) !important;
        text-decoration: none !important;
        border: none !important;
    }

    .mobile-menu-cta:hover {
        background-color: #b8060f !important;
        color: #ffffff !important;
    }

    /* --- Banner / Hero Section --- */
    .banner {
        padding-top: 36px !important;
        padding-bottom: 40px !important;
        overflow: hidden !important;
    }

    .banner img[src*="sqaure_shape"] {
        display: none !important; /* Prevents overflow */
    }

    .banner .tw-mt-8 {
        margin-top: 14px !important;
    }

    .banner .tw-mt-11 {
        margin-top: 24px !important;
    }

    .banner .tw-gap-42-px {
        gap: 16px !important;
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .banner .btn-main {
        width: 100% !important;
        justify-content: center !important;
        padding: 14px 28px !important;
        font-size: 1rem !important;
    }

    /* Hero Banner Image & Badges */
    .banner .tw-ps-98-px {
        padding-left: 0 !important;
        margin: 24px auto 0 !important;
        max-width: 360px !important;
        width: 100% !important;
        position: relative !important;
    }

    .banner img[src*="banner-img"] {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        display: block !important;
    }

    /* Floating Review Card sitting precisely inside the notch */
    .banner .max-w-218-px {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        margin: 0 !important;
        width: auto !important;
        max-width: 140px !important;
        padding: 8px 10px !important;
        border-radius: 16px !important;
        background: #ffffff !important;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) !important;
        z-index: 2 !important;
    }

    .banner .max-w-218-px .bg-green {
        position: absolute !important;
        top: -10px !important;
        right: -6px !important;
        margin: 0 !important;
        padding: 2px 7px !important;
        border-radius: 20px !important;
        font-size: 11px !important;
        gap: 3px !important;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15) !important;
    }

    .banner .max-w-218-px img[src*="ratings"] {
        max-width: 68px !important;
        height: auto !important;
        margin-bottom: 2px !important;
        display: block !important;
    }

    .banner .max-w-218-px .max-w-154-px {
        max-width: 100% !important;
        margin-top: 2px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
    }

    .banner .max-w-218-px .max-w-154-px span {
        font-size: 11px !important;
        font-weight: 700 !important;
        color: #0f172a !important;
        line-height: 1 !important;
    }

    .banner .max-w-218-px .max-w-154-px img {
        width: 14px !important;
        height: 14px !important;
    }

    /* Floating Experience Badge "20+ Anos no Mercado" */
    .banner .clip-path-one {
        position: absolute !important;
        bottom: 12px !important;
        right: 0 !important;
        margin: 0 !important;
        padding: 8px 14px !important;
        border-radius: 14px !important;
        background-color: #DD0712 !important;
        box-shadow: 0 8px 20px rgba(221, 7, 18, 0.3) !important;
        clip-path: none !important;
        z-index: 2 !important;
        display: block !important;
        width: auto !important;
        text-align: left !important;
    }

    .banner .clip-path-one h2 {
        font-size: 1.35rem !important;
        line-height: 1 !important;
        margin: 0 !important;
        color: #ffffff !important;
        font-weight: 700 !important;
    }

    .banner .clip-path-one span {
        font-size: 0.72rem !important;
        color: #ffffff !important;
        display: block !important;
        margin-top: 2px !important;
        line-height: 1.1 !important;
    }

    /* Revenue Card "15+ Sistemas Desenvolvidos" positioned cleanly below photo */
    .banner .bg-white-7 {
        position: relative !important;
        width: 100% !important;
        margin-top: 16px !important;
        padding: 14px 16px !important;
        border-radius: 18px !important;
        background: #ffffff !important;
        border: 1px solid #e2e8f0 !important;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
        bottom: auto !important;
        left: auto !important;
    }

    .banner .bg-white-7 .flower {
        display: none !important;
    }

    .banner .bg-white-7 .tab-content span {
        font-size: 11px !important;
        color: #64748b !important;
    }

    .banner .bg-white-7 .tab-content h5 {
        font-size: 1.3rem !important;
        font-weight: 700 !important;
        margin-bottom: 2px !important;
        color: #0f172a !important;
    }

    .banner .bg-white-7 .nav-pills {
        gap: 4px !important;
    }

    .banner .bg-white-7 .nav-link {
        font-size: 11px !important;
        padding: 2px 6px !important;
        color: #64748b !important;
    }

    .banner .bg-white-7 .nav-link.active {
        color: #DD0712 !important;
        font-weight: 700 !important;
    }

    .banner .bg-white-7 img[src*="revenue-chart"] {
        max-width: 65px !important;
        height: auto !important;
    }

    /* --- About / Segmentos Atendidos Section --- */
    .drag-rotate-element-section {
        padding-bottom: 60px !important;
    }

    .tw-rounded-50-px.gradient-bg-one {
        border-radius: 24px !important;
        padding: 24px 16px !important;
    }

    .gradient-bg-one .tw-pe-12 {
        padding-right: 0 !important;
    }

    .gradient-bg-one .tw-rounded-40-px {
        border-radius: 20px !important;
        padding: 24px 16px !important;
        margin-top: 24px !important;
    }

    .gradient-bg-one .tw-ps-56-px {
        padding-left: 16px !important;
    }

    .gradient-bg-one .tw-mb-14 {
        margin-bottom: 20px !important;
    }

    .gradient-bg-one .tw-gap-10 {
        gap: 18px !important;
    }

    /* --- Roadmap / Nossos Sistemas --- */
    #roadmap-section {
        border-radius: 24px !important;
        padding: 32px 16px 28px 16px !important;
        margin-bottom: 24px !important;
        overflow: hidden !important;
        position: relative !important;
    }

    /* Force strict vertical column stacking between text header and balls container */
    #roadmap-section .d-flex.flex-xl-nowrap {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
        width: 100% !important;
    }

    #roadmap-section .max-w-432-px {
        max-width: 100% !important;
        width: 100% !important;
    }

    #roadmap-section .flex-grow-1 {
        width: 100% !important;
        display: block !important;
        clear: both !important;
        margin-top: 32px !important;
    }

    /* Keep the desktop curved arrow visible and well positioned on mobile */
    #roadmap-section img[src*="curve-arrow"] {
        display: block !important;
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        width: 60px !important;
        height: auto !important;
        max-width: 60px !important;
        opacity: 0.95 !important;
    }

    /* Keep the desktop bottom curve line visible */
    #roadmap-section img[src*="curve-line"] {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        margin-top: 28px !important;
        opacity: 0.8 !important;
    }

    #roadmap-section .tw-pb-9 {
        padding-bottom: 12px !important;
    }

    #roadmap-section .tw-ps-74-px,
    #roadmap-section .tw-pe-6 {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    #roadmap-section .pt-120 {
        padding-top: 10px !important;
    }

    #roadmap-section .tw-mt-11 {
        margin-top: 24px !important;
    }

    #roadmap-section .btn-main {
        display: inline-flex !important;
        width: 100% !important;
        justify-content: center !important;
        padding: 15px 24px !important;
        font-size: 0.95rem !important;
    }

    #roadmap-section .tw-gap-42-px {
        gap: 16px !important;
        flex-direction: column !important;
        align-items: stretch !important;
        margin-bottom: 16px !important;
    }

    /* Balls Container - Preserving the desktop 2-column wave layout with identically sized balls */
    #roadmap-section .flex-grow-1 .d-flex.tw-gap-3 {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        align-items: flex-start !important;
        gap: 16px 14px !important;
        width: 100% !important;
        max-width: 340px !important;
        margin: 0 auto !important;
    }

    #roadmap-section .ball {
        width: 150px !important;
        height: 150px !important;
        min-width: 150px !important;
        min-height: 150px !important;
        max-width: 150px !important;
        max-height: 150px !important;
        aspect-ratio: 1 / 1 !important;
        border-radius: 50% !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        position: relative !important;
        padding: 10px 8px !important;
        flex-shrink: 0 !important;
        margin-inline: 0 !important;
        margin-block-end: 0 !important;
        box-shadow: 0 10px 24px rgba(0, 0, 0, 0.4) !important;
        border: 2px solid rgba(255, 255, 255, 0.14) !important;
        transform: none !important;
    }

    /* Desktop signature wave effect adapted proportionally for mobile */
    #roadmap-section .ball:nth-child(odd) {
        margin-block-start: 18px !important;
        margin-top: 18px !important;
    }

    #roadmap-section .ball:nth-child(even) {
        margin-block-start: 0 !important;
        margin-top: 0 !important;
    }

    #roadmap-section .ball:active {
        transform: scale(0.96) !important;
    }

    /* Preserving the original desktop bg-sky blue badge */
    #roadmap-section .ball span.bg-sky {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        position: absolute !important;
        top: 8px !important;
        left: 10px !important;
        width: 26px !important;
        height: 26px !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        background-color: #41a5fa !important;
        color: #ffffff !important;
        border-radius: 50% !important;
        border: none !important;
        margin: 0 !important;
        margin-block-start: 0 !important;
        margin-inline-start: 0 !important;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3) !important;
    }

    #roadmap-section .ball img {
        width: 42px !important;
        height: 42px !important;
        margin-top: 4px !important;
        margin-bottom: 5px !important;
        object-fit: contain !important;
        filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.25)) !important;
    }

    #roadmap-section .ball h6 {
        font-size: 12.5px !important;
        line-height: 1.2 !important;
        max-width: 104px !important;
        margin: 0 auto !important;
        font-weight: 600 !important;
        color: #ffffff !important;
        text-align: center !important;
    }

    /* --- Stats / Global Increase --- */
    .tw-min-h-184-px {
        min-height: auto !important;
        padding: 18px 16px !important;
        border-radius: 18px !important;
        margin-bottom: 12px !important;
    }

    .tw-min-h-184-px.rounded-pill {
        border-radius: 18px !important;
    }

    .tw-min-h-184-px h3.counter {
        font-size: 2.15rem !important;
        margin-bottom: 4px !important;
    }

    .tw-min-h-184-px p {
        font-size: 0.9rem !important;
        line-height: 1.35 !important;
    }

    /* --- FAQ Section --- */
    section.faq .tw-mb-8 {
        margin-bottom: 24px !important;
    }

    section.faq .d-flex.flex-lg-nowrap {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 16px !important;
    }

    section.faq .btn-main {
        display: inline-flex !important;
        width: 100% !important;
        justify-content: center !important;
        padding: 13px 24px !important;
    }

    section.faq .accordion-item {
        padding: 12px 14px !important;
        border-radius: 14px !important;
        background: #ffffff !important;
        margin-bottom: 10px !important;
        border: 1px solid #f1f5f9 !important;
    }

    section.faq .accordion-button {
        padding: 10px 0 !important;
        font-size: 1.05rem !important;
    }

    section.faq .tw-ps-12 {
        padding-left: 0 !important;
        margin-top: 24px !important;
    }

    /* Decorative images that stick out */
    section.faq img[src*="faq-img-"] {
        display: none !important;
    }

    section.faq .tw-min-h-400-px {
        min-height: 240px !important;
    }

    /* --- Choose Us Section --- */
    .ps-lg-5 {
        padding-left: 0 !important;
    }

    /* --- Testimonials Section Mobile Overhaul --- */
    .testimonials-item-wrapper {
        display: flex !important;
        flex-direction: column !important;
        gap: 20px !important;
    }

    .testimonials-item {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: auto !important;
        border-radius: 20px !important;
        border: 1px solid #e2e8f0 !important;
        background: #ffffff !important;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04) !important;
        overflow: hidden !important;
        flex: none !important;
        cursor: default !important;
    }

    .testimonials-item.active {
        flex: none !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    /* Completely hide the desktop photo-only block on mobile */
    .testimonials-item .current-content,
    .testimonials-item.active .current-content {
        display: none !important;
        height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        visibility: hidden !important;
        opacity: 0 !important;
    }

    /* Show the complete review content on cards cleanly */
    .testimonials-item .hidden-content,
    .testimonials-item.active .hidden-content {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        height: auto !important;
        padding: 24px 20px !important;
    }

    /* Ensure animations / translations don't hide the text on mobile */
    .testimonials-item .animate-left-right,
    .testimonials-item.active .animate-left-right {
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        -webkit-transform: none !important;
    }

    .testimonials-item .hidden-content .tw-mb-6 {
        margin-bottom: 14px !important;
    }

    .testimonials-item .hidden-content img[src*="ratings"] {
        height: 20px !important;
        width: auto !important;
    }

    .testimonials-item .border-bottom.border-neutral-200 {
        padding-bottom: 16px !important;
        margin-bottom: 16px !important;
        border-bottom: 1px solid #f1f5f9 !important;
    }

    .testimonials-item__desc {
        font-size: 0.95rem !important;
        line-height: 1.55 !important;
        color: #334155 !important;
        display: block !important;
        -webkit-line-clamp: unset !important;
        line-clamp: unset !important;
    }

    .testimonials-item .tw-h-84-px.tw-w-84-px {
        width: 52px !important;
        height: 52px !important;
        min-width: 52px !important;
        border-radius: 50% !important;
    }

    .testimonials-item .hidden-content h6 {
        font-size: 1rem !important;
        font-weight: 700 !important;
        margin-bottom: 2px !important;
        color: #0f172a !important;
    }

    .testimonials-item .hidden-content span.text-neutral-600 {
        font-size: 0.85rem !important;
        color: #64748b !important;
    }

    /* --- Blog Section --- */
    section.blog {
        margin-bottom: 36px !important;
    }

    section.blog .common-shadow-five {
        padding: 28px 16px !important;
        border-radius: 20px !important;
    }

    section.blog .tw-px-90-px {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    section.blog .d-flex.align-items-center.justify-content-between {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 14px !important;
    }

    section.blog .btn-main-two {
        display: inline-flex !important;
        width: 100% !important;
        justify-content: center !important;
        padding: 13px 20px !important;
    }

    /* --- CTA Section ("Precisa de um Orçamento?") --- */
    section.cta {
        padding-top: 50px !important;
        padding-bottom: 70px !important;
        position: relative !important;
        z-index: 5 !important;
        background: transparent !important;
    }

    section.cta .container {
        padding-bottom: 24px !important;
    }

    section.cta .ps-lg-4 {
        padding-left: 0 !important;
        text-align: left !important;
    }

    section.cta span.rounded-pill {
        display: inline-block !important;
        margin-bottom: 18px !important;
        padding: 6px 18px !important;
        font-size: 0.85rem !important;
    }

    section.cta h3 {
        font-size: clamp(1.45rem, 5.5vw, 1.85rem) !important;
        line-height: 1.25 !important;
        margin-bottom: 16px !important;
    }

    section.cta p.text-neutral-600 {
        font-size: 1rem !important;
        line-height: 1.5 !important;
        margin-bottom: 24px !important;
        color: #64748b !important;
    }

    section.cta .btn-main-two {
        display: inline-flex !important;
        width: 100% !important;
        justify-content: center !important;
        align-items: center !important;
        padding: 16px 28px !important;
        border-radius: 50px !important;
        font-weight: 700 !important;
        margin-top: 10px !important;
        margin-bottom: 30px !important; /* Ample breathing room above dark footer */
        font-size: 1rem !important;
        box-shadow: 0 10px 25px rgba(221, 7, 18, 0.28) !important;
    }

    /* --- Custom Footer --- */
    .custom-footer {
        padding-top: 4rem !important;
        padding-bottom: 2.5rem !important;
        position: relative !important;
        z-index: 10 !important;
    }

    .custom-footer .footer-logo img {
        max-height: 38px !important;
        margin-bottom: 1.25rem !important;
    }

    .custom-footer .footer-desc {
        font-size: 0.95rem !important;
        line-height: 1.5 !important;
        margin-bottom: 1.5rem !important;
    }

    .custom-footer .footer-phones-wrap {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
    }

    .custom-footer .footer-phones-row {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
    }

    .custom-footer .footer-phones-row .phone-sep {
        display: none !important;
    }

    .custom-footer .footer-phones-row a {
        background: rgba(255, 255, 255, 0.05);
        padding: 4px 10px;
        border-radius: 6px;
        font-size: 0.9rem;
        display: inline-block;
    }

    .custom-footer .social-links {
        margin-top: 1.5rem !important;
        margin-bottom: 2rem !important;
    }

    .custom-footer .social-btn {
        width: 44px !important;
        height: 44px !important;
        font-size: 1.25rem !important;
    }

    .custom-footer .map-container {
        height: 220px !important;
        border-radius: 16px !important;
        margin-top: 1.5rem !important;
    }

    .custom-footer .footer-divider {
        margin-top: 2.5rem !important;
        margin-bottom: 1.5rem !important;
    }

    .custom-footer .footer-bottom {
        flex-direction: column !important;
        text-align: center !important;
        gap: 1rem !important;
    }

    .custom-footer .footer-bottom-links {
        justify-content: center !important;
        gap: 1.5rem !important;
    }

    /* --- Representantes Page Optimizations --- */
    .representatives {
        padding-top: 40px !important;
        padding-bottom: 50px !important;
    }

    .filter-container {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
        justify-content: center !important;
        margin-bottom: 1.5rem !important;
    }

    .filter-btn {
        padding: 6px 14px !important;
        font-size: 0.85rem !important;
        border-radius: 25px !important;
    }

    .rep-card {
        padding: 22px 18px !important;
        border-radius: 18px !important;
    }

    /* --- Downloads Page Optimizations --- */
    .downloads {
        padding-top: 40px !important;
        padding-bottom: 50px !important;
    }

    .downloads-tabs {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
        justify-content: center !important;
        margin-bottom: 2rem !important;
    }

    .downloads-tab-btn {
        padding: 8px 16px !important;
        font-size: 0.85rem !important;
        border-radius: 25px !important;
    }

    .download-card {
        padding: 20px 16px !important;
        border-radius: 18px !important;
    }

    .btn-download {
        padding: 10px 16px !important;
        font-size: 0.88rem !important;
    }

    /* Scroll to top progress button */
    .progress-wrap {
        right: 18px !important;
        bottom: 18px !important;
        width: 44px !important;
        height: 44px !important;
        z-index: 999 !important;
    }
}

/* Specific narrow devices (< 575.98px) */
@media screen and (max-width: 575.98px) {
    .gradient-bg-one .position-absolute.top-0.tw-end-0.tw-mt-194-px {
        position: static !important;
        margin-top: 14px !important;
        max-width: 100% !important;
    }

    /* Choose us 2-col to 1-col on phone */
    section.py-120 .row.gy-4 > .col-6 {
        width: 100% !important;
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }

    section.py-120 .row.gy-4 > .col-6 .bg-neutral-50 {
        padding: 18px 16px !important;
    }
}
