/* Professional responsive stabilization layer (Woo-free) */

:root {
    --pwa-container-pad: clamp(14px, 3vw, 28px);
}

.container {
    width: min(1320px, 100% - (var(--pwa-container-pad) * 2));
    margin-inline: auto;
}

img,
video,
iframe,
svg {
    max-width: 100%;
    height: auto;
}

.site-main {
    overflow-x: clip;
}

/* Product cards and grids */
.cartup-product-grid,
.sp-related__grid,
.products {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

@media (max-width: 1100px) {
    .cartup-product-grid,
    .sp-related__grid,
    .products {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 16px;
    }
}

@media (max-width: 760px) {
    .cartup-product-grid,
    .sp-related__grid,
    .products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }
}

@media (max-width: 430px) {
    .cartup-product-grid,
    .sp-related__grid,
    .products {
        grid-template-columns: 1fr;
        gap: 12px;
    }
}

/* Tabs, forms, and controls */
.sp-tabs__nav,
.product-tabs__nav,
.woo-archive-cats {
    overflow-x: auto;
    scrollbar-width: thin;
}

input,
select,
textarea,
button {
    max-width: 100%;
}

/* Footer hardening */
.footer-cartup-grid,
.footer-grid {
    gap: clamp(20px, 3vw, 40px);
}

.footer-bottom-inner,
.footer-bottom-links {
    flex-wrap: wrap;
    row-gap: 10px;
}

/* Header compact refinements */
@media (max-width: 980px) {
    .header-cartup {
        gap: 10px;
    }

    .cartup-search__btn {
        padding-inline: 16px;
    }
}

@media (max-width: 768px) {
    .header-cartup {
        align-items: center;
    }

    .cartup-logo .custom-logo {
        max-width: 130px;
    }
}

/* Utility safety for table/card overflow */
.table-responsive,
.pwa-card,
.pwa-admin-card,
.woo-theme-content,
.woo-archive-content {
    min-width: 0;
}

.woo-archive-pagination {
    margin-top: 20px;
}

.woo-archive-pagination .nav-links {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
}

.woo-archive-pagination .page-numbers {
    min-width: 38px;
    height: 38px;
    padding: 0 10px;
    border-radius: 10px;
    border: 1px solid #e5e7eb;
    background: #fff;
    color: #374151;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 700;
}

.woo-archive-pagination .page-numbers.current {
    border-color: #e8192c;
    background: #fff1f3;
    color: #e8192c;
}
