@media (min-width: 1024px) and (max-width: 1439px) {
    .container,
    .container-fluid {
        padding-left: 32px;
        padding-right: 32px;
    }
}

@media (min-width: 1440px) {
    .container,
    .container-fluid {
        padding-left: 48px;
        padding-right: 48px;
    }

    .hero-grid {
        gap: clamp(48px, 5vw, 96px);
    }
}

@media (max-width: 1023px) {
    .hero-grid {
        grid-template-columns: 1fr;
    }

    .hero-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .hero-actions .btn {
        width: 100%;
        justify-content: center;
    }

    .row > [class^="col-"] {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .tools-grid,
    .tools-preview-grid,
    .features-grid,
    .trust-grid,
    .steps-grid,
    .pricing-grid,
    .pricing-preview,
    .cards-grid,
    .info-grid,
    .status-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tools-hero-grid {
        grid-template-columns: 1fr;
    }

    .comparison-row {
        grid-template-columns: 1.2fr repeat(4, 1fr);
        font-size: 0.95rem;
    }

    .footer-top {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .tools-grid,
    .tools-preview-grid,
    .features-grid,
    .trust-grid,
    .steps-grid,
    .pricing-grid,
    .pricing-preview,
    .cards-grid,
    .info-grid,
    .status-grid {
        grid-template-columns: 1fr;
    }

    .comparison-table-wrap {
        display: none;
    }

    .comparison-cards {
        display: grid;
    }

    .section-cta {
        grid-template-columns: 1fr;
    }

    .comparison-row {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .comparison-row > div:not(.comparison-label) {
        display: grid;
        grid-template-columns: 140px 1fr;
        gap: 8px;
    }

    .comparison-row > div:nth-child(2)::before { content: 'Trial'; color: var(--muted); }
    .comparison-row > div:nth-child(3)::before { content: 'Basic'; color: var(--muted); }
    .comparison-row > div:nth-child(4)::before { content: 'Pro'; color: var(--muted); }
    .comparison-row > div:nth-child(5)::before { content: 'Family'; color: var(--muted); }

    .tool-info-grid {
        grid-template-columns: 1fr;
    }

    .speedtest-hero {
        grid-template-columns: 1fr;
    }

    .speedtest-actions .btn {
        width: 100%;
        justify-content: center;
    }

    .speedtest-metrics {
        grid-template-columns: 1fr;
    }

    .footer-bottom {
        flex-direction: column;
        text-align: center;
        justify-content: center;
    }

    .footer-bottom-links {
        justify-content: center;
    }
}

@media (max-width: 576px) {
    .hero-info {
        max-width: 100%;
        gap: 12px;
        margin-bottom: 16px;
    }

    .hero-badges {
        gap: 8px;
    }

    .hero-badges .badge {
        min-height: 34px;
    }

    .hero-actions {
        gap: 12px;
    }

    .tools-hero-actions {
        justify-items: start;
    }

    .connection-actions {
        grid-template-columns: 1fr;
    }

    .comparison-row > div:not(.comparison-label) {
        grid-template-columns: 100px 1fr;
    }
}

@media (max-width: 640px) {
    .connection-ip {
        flex-direction: column;
        align-items: flex-start;
    }

    .connection-ip .btn {
        width: 100%;
        justify-content: center;
    }

    .connection-kpis {
        grid-template-columns: 1fr;
    }

    .tool-split-layout {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .tool-card-shell,
    .ip-description-card,
    .tools-page-layout .tools-info-panel {
        padding: 16px;
        gap: 14px;
    }

    .ip-card-title {
        font-size: 1.2rem;
    }

    .ip-value {
        font-size: 1.3rem;
    }

    .ip-actions {
        align-items: stretch;
    }


    .tool-value-block {
        grid-template-columns: 1fr;
    }


    .internet-header {
        align-items: stretch;
    }

    .internet-header .ip-status {
        align-self: flex-start;
    }

    .internet-metrics-grid {
        grid-template-columns: 1fr;
    }

    .internet-kv-list li {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .internet-kv-value,
    .internet-kv-expandable {
        justify-self: start;
        text-align: left;
    }

    .internet-report-header {
        flex-direction: column;
        align-items: stretch;
    }

    .internet-report-header .btn {
        width: 100%;
        justify-content: center;
    }

    .ip-secondary-actions {
        width: 100%;
    }

    .tool-action,
    .tool-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .tool-action .btn,
    .tool-actions .btn,
    .tools-cta .btn {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 480px) {
    .top-bar {
        display: none;
    }
}

@media (max-width: 360px) {
    .btn {
        font-size: 0.95rem;
        padding: 12px 18px;
    }
}
