/*===================
        1400PX
===================*/
@media (max-width: 1400px) {
    .grid-5 {
        grid-template-columns: repeat(3, 1fr);
    }

    /* HERO */
    .hero-features .container {
        width: 100%;
        padding: 0 20px;
    }

    .hero-feature {
        grid-template-columns: 44px max-content;
    }

}


/*===================
        1200PX
===================*/
@media (max-width: 1200px) {

    /* HERO */
    .hero-inner {
        grid-template-columns: 1fr 450px;
    }

    /* FOOTER */
    .footer-container {
        grid-template-columns: repeat(2, 1fr);
    }
}


/*===================
        1100PX
===================*/
@media (max-width: 1100px) {

    /* HERO */
    .hero-inner {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .hero h1 {
        max-width: none;
    }

    .hero-content {
        margin: auto;
    }

    .hero-content>p {
        margin-left: auto;
        margin-right: auto;
    }

    .hero-buttons {
        justify-content: center;
    }

    .hero-devices {
        min-height: 300px;
    }

    .device-image {
        width: 700px;
        max-width: 100%;
        transform: none;
    }

    .case-meta-item {
        text-align: left;
    }

    /* Features */
    .hero-feature-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .hero-feature {
        min-height: 72px;
        padding: 12px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.07);
    }

    .hero-feature:nth-child(2) {
        border-right: none;
    }

    .services-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .cases-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .case-card:last-child {
        grid-column: 1 / -1;
        max-width: 50%;
        margin-inline: auto;
    }

    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .about-box {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* CART */
    .cart-columns {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }

    .cart-summary {
        grid-template-columns: 1fr
    }

    /* GRID */
    .grid-3 {
        grid-template-columns: repeat(2, 1fr);
    }

    /* CTA */
    .cta-inner {
        grid-template-columns: 1fr 320px;
        gap: 40px;
    }
}



/*===================
        1000PX
===================*/
@media (max-width: 1000px) {

    /* PROCESS */
    .process-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .process-card:last-child {
        grid-column: span 2;
    }

    .process-card:not(:last-child)::after {
        display: none;
    }

    /* CART */
    .cart-summary {
        grid-template-columns: 1fr
    }

    .cart-prices {
        width: 100%;
        min-width: 0px;
    }

    /* GRID */
    .grid-5 {
        grid-template-columns: repeat(3, 1fr);
    }

    /* STEPS */
    .steps {
        width: min(720px, 90%);
    }
}


/*===================
        800PX
===================*/
@media (max-width: 800px) {

    /* BODY */
    body::after {
        content: "";
        position: fixed;
        inset: 68px 0 0;
        background: rgba(0, 0, 0, 0.75);
        backdrop-filter: blur(6px);
        -webkit-backdrop-filter: blur(6px);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition:
            opacity 0.25s ease,
            visibility 0.25s ease;
        z-index: 90;
    }

    body:has(.main-nav.open)::after {
        opacity: 1;
        visibility: visible;
    }

    /* HEADER */
    .header-inner {
        height: 68px;
    }

    .main-nav {
        position: absolute;
        top: 68px;
        left: 16px;
        right: 16px;
        padding: 18px;
        flex-direction: column;
        align-items: stretch;
        gap: 4px;
        border-radius: 14px;
        background: #090f1e;
        border: 1px solid rgba(255, 255, 255, 0.1);
        box-shadow: 0 25px 50px rgba(0, 0, 0, 0.35);
        opacity: 0;
        visibility: hidden;
        transform: translateY(-10px);
        z-index: 99;
        transition:
            opacity 0.2s ease,
            visibility 0.2s ease,
            transform 0.2s ease;
    }

    .main-nav.open {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    .main-nav>a {
        padding: 12px;
        border-radius: 8px;
    }

    .main-nav>a:hover {
        background: rgba(255, 255, 255, 0.05);
    }

    .nav-button {
        text-align: center;
        margin-top: 8px;
    }

    .mobile-menu-button {
        display: block;
    }

    /* HERO */
    .hero-inner {
        padding-bottom: 65px;
        min-height: auto;
    }

    .hero-buttons {
        flex-direction: column;
        width: 100%;
    }

    .hero-buttons .button {
        width: 100%;
    }

    .hero-devices {
        min-height: 230px;
        margin-top: 20px;
    }

    /* SECTIONS */
    .section {
        padding: 75px 0;
    }

    .section-heading {
        margin-bottom: 38px;
    }

    /* GRID */
    .grid-2 {
        grid-template-columns: 1fr;
    }

    .grid-3 {
        grid-template-columns: 1fr;
    }

    .grid-5 {
        grid-template-columns: repeat(2, 1fr);
    }

    /* SERVICE */
    .services-grid {
        grid-template-columns: 1fr;
    }

    .service-card p {
        min-height: auto;
    }

    /* CASES */
    .cases-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .cases-header .button {
        width: 100%;
    }

    .cases-grid {
        grid-template-columns: 1fr;
    }

    .case-card:last-child {
        grid-column: auto;
        max-width: none;
    }

    /* STATS */
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
        margin-bottom: 55px;
    }

    .stat-card {
        padding: 25px 10px;
    }

    /* ABOUT */
    .about-box {
        padding: 30px 22px;
    }

    /* PROCESS & FAQ */
    .process-section,
    .faq-section {
        padding: 70px 20px;
    }

    .process-grid {
        grid-template-columns: 1fr;
    }

    .process-card:last-child {
        grid-column: auto;
    }

    .faq-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    /* CART */
    .cart-columns {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .cart-summary {
        padding: 14px
    }

    .duration-options {
        gap: 10px
    }

    /* FOOTER */
    .footer-brand .logo-img {
        height: 125px;
    }

    .site-footer {
        padding: 30px 0 0;
    }

    .footer-container {
        display: block;
    }

    .footer-column {
        border-bottom: 1px solid var(--border-dark);
    }

    .footer-column:first-child {
        padding-bottom: 30px;
    }

    .footer-column:last-child {
        border-bottom: none;
    }

    .footer-column summary {
        position: relative;
        padding: 20px 35px 20px 0;
        margin: 0;
        cursor: pointer;
        text-align: start;
    }

    .footer-column summary::after {
        content: "+";
        position: absolute;
        right: 5px;
        top: 50%;
        transform: translateY(-50%);
        font-weight: 300;
        transition: transform 0.2s ease;
    }

    .footer-column[open] summary::after {
        content: "−";
    }

    .footer-links {
        padding: 0 0 20px;
        gap: 10px;
        align-items: start;
    }

    .footer-bottom {
        margin-top: 30px;
    }

    /* CTA */
    .cta-inner {
        grid-template-columns: 1fr;
    }

    .cta-points {
        max-width: 500px;
    }
}


@media (min-width: 800px) {
    .footer-column {
        display: block;
    }

    .footer-column .footer-links {
        display: flex;
    }

    .footer-column summary {
        pointer-events: none;
        cursor: default;
    }
}

/*===================
        600PX
===================*/
@media (max-width: 600px) {

    /* TYPOGRAPHY */
    h1 {
        font-size: 2.5rem;
    }

    h2 {
        font-size: 2rem;
    }

    h3 {
        font-size: 1.5rem;
    }

    h4 {
        font-size: 1.2rem;
    }

    h5 {
        font-size: 1.1rem;
    }

    .case-meta {
        display: flex;
        flex-direction: column;
    }

    .case-meta-item {
        width: 250px;
        margin: auto;
        text-align: left;
    }

    /* CONTACT */
    .contact-popup {
        padding: 12px;
    }

    .contact-popup-content {
        max-height: calc(100vh - 24px);
        border-radius: 15px;
    }

    .contact-popup-header {
        padding: 20px;
    }

    .contact-popup-body {
        padding: 20px;
    }

    .contact-popup-title p {
        display: none;
    }

    .contact-popup-footer {
        flex-direction: column-reverse;
    }

    .contact-btn {
        width: 100%;
    }

    /* CTA */
    .cta-buttons {
        flex-direction: column;
        align-items: stretch;
    }
}


/*===================
        550PX
===================*/
@media (max-width: 550px) {

    /* FEATURES */
    .hero-feature-grid {
        grid-template-columns: 1fr;
    }

    .hero-feature {
        grid-template-columns: 44px 220px;
        justify-content: center;
        min-height: 72px;
        padding: 10px;
        border-right: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.07);
    }

    .hero-feature:last-child {
        border-bottom: none;
    }

    /* GRID */
    .grid-5 {
        grid-template-columns: 1fr;
    }

    /* STEPS */
    .steps {
        display: none;
    }
}


/*===================
        480PX
===================*/
@media(max-width:480px) {
    .cart-columns {
        grid-template-columns: 1fr
    }

    /* CASES RESULTS */
    .content-box .results-grid {
        grid-template-columns: 1fr;
    }

    /* CTA */
    .cta {
        padding: 75px 0;
    }
}