/* ================= АДАПТИВ ================= */

@media (max-width: 1100px) {
    .products {
        grid-template-columns: repeat(2, 1fr);
    }

    .hero,
    .buy-wrapper {
        grid-template-columns: 1fr;
    }

    .server-panel {
        transform: none;
    }

    .hero-card {
        align-items: stretch;
    }

    .latest-purchases {
        width: 100%;
    }

    .legal-info-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    .rules-grid {
        grid-template-columns: 1fr;
    }

    .rule-card {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .rule-description {
        max-width: none;
    }

    .rule-items {
        grid-template-columns: 1fr;
    }

    .admin-layout {
        grid-template-columns: 1fr;
    }

    .admin-user-row {
        grid-template-columns: 1fr;
    }

    .admin-user-meta {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .admin-user-actions {
        justify-content: flex-start;
    }

    .admin-nav-grid,
    .admin-nav-item,
    .admin-table-card .admin-nav-edit {
        grid-template-columns: 1fr;
    }

    .admin-nav-actions {
        grid-column: 1;
    }

    .admin-sidebar {
        position: static;
    }

    .footer {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 18px;
    }

    .footer-left,
    .footer-center,
    .footer-right {
        text-align: center;
    }
}

@media (max-width: 700px) {
    .hero {
        padding: 55px 5% 35px;
    }

    .section,
    .buy-page,
    .success-page,
    .admin-page,
    .rules-page,
    .error-page {
        padding-left: 5%;
        padding-right: 5%;
    }

    .hero h1 {
        letter-spacing: -1.5px;
    }

    .hero p {
        font-size: 16px;
    }

    .hero-actions,
    .success-actions,
    .error-actions {
        flex-direction: column;
    }

    .hero-actions .btn,
    .success-actions .btn,
    .error-actions .btn {
        width: 100%;
    }

    .trust-block {
        flex-direction: column;
    }

    .trust-item {
        width: 100%;
        text-align: center;
    }

    .server-panel {
        padding: 20px;
        border-radius: 24px;
    }

    .server-panel-top,
    .server-ip-block {
        align-items: stretch;
        flex-direction: column;
    }

    .server-ip-block h2 {
        white-space: normal;
    }

    .server-status {
        width: fit-content;
    }

    .server-ip-card {
        padding: 16px;
        border-radius: 20px;
    }

    .play-button {
        width: 100%;
    }

    .server-stats {
        grid-template-columns: 1fr;
    }

    .latest-purchases {
        padding: 18px;
        border-radius: 22px;
    }

    .latest-purchase-item {
        grid-template-columns: 42px minmax(0, 1fr);
    }

    .legal-card {
        flex-direction: column;
        padding: 22px;
    }

    .legal-header h1 {
        font-size: 34px;
    }

    .legal-card h2 {
        font-size: 26px;
    }

    .success-card,
    .error-wrapper {
        padding: 24px;
    }

    .admin-user-meta {
        grid-template-columns: 1fr;
    }

    .admin-user-actions,
    .admin-table-card .admin-user-actions form,
    .admin-table-card .admin-user-actions .btn {
        width: 100%;
    }

    .admin-nav-type,
    .admin-nav-actions {
        flex-direction: column;
    }

    .admin-nav-type label,
    .admin-table-card .admin-nav-actions form,
    .admin-table-card .admin-nav-actions .btn,
    .admin-nav-actions .btn {
        width: 100%;
    }
}

@media (max-width: 680px) {
    .navbar {
        align-items: flex-start;
        gap: 16px;
        flex-direction: column;
        padding-left: 5%;
        padding-right: 5%;
    }

    .nav-links {
        width: 100%;
        overflow-x: auto;
        padding-bottom: 4px;
        gap: 16px;
        white-space: nowrap;
    }

    .currency-select {
        flex: 0 0 auto;
    }

    .products,
    .advantages-grid,
    .stats-grid {
        grid-template-columns: 1fr;
    }

    .server-stats {
        grid-template-columns: 1fr;
    }

    .server-panel {
        padding: 24px;
        border-radius: 26px;
    }

    .server-ip-block h2 {
        min-width: 100%;
    }

    .play-button {
        width: 100%;
    }

    .section-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .resource-item {
        flex-direction: column;
        align-items: flex-start;
    }

    .buy-preview,
    .buy-form-card {
        padding: 22px;
    }

    .buy-preview h1 {
        font-size: 34px;
    }

    .buy-price strong {
        font-size: 34px;
    }

    .price-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .buy-button {
        width: 100%;
        text-align: center;
    }

    .footer-links {
        line-height: 2;
    }
}

@media (max-width: 420px) {
    .brand-title {
        font-size: 16px;
    }

    .brand-icon {
        width: 42px;
        height: 42px;
    }

    .hero h1 {
        font-size: 40px;
    }

    .section-header h1,
    .section-header h2 {
        font-size: 30px;
    }

    .product-card,
    .advantage-card,
    .rule-card,
    .legal-info-card {
        padding: 20px;
        border-radius: 22px;
    }

    .rules-notice {
        padding: 18px;
        border-radius: 20px;
    }

    .rule-card-head {
        grid-template-columns: 38px minmax(0, 1fr);
        gap: 12px;
    }

    .rule-number {
        width: 38px;
        height: 38px;
        border-radius: 12px;
        font-size: 14px;
    }

    .rule-card h3 {
        font-size: 18px;
    }

    .rule-description {
        font-size: 14px;
        line-height: 1.7;
    }

    .rule-item {
        grid-template-columns: 46px minmax(0, 1fr);
        gap: 10px;
        padding: 0 0 10px;
        border-radius: 0;
        font-size: 13px;
    }

    .success-card h1,
    .error-title {
        font-size: 30px;
    }

    .success-icon,
    .error-icon {
        width: 70px;
        height: 70px;
        font-size: 34px;
    }
}
