/**
 * ATMID — طبقة تجاوب شاملة (يتم تحميلها بعد كل صفحات CSS)
 * أهداف: منع تجاوز العرض الأفقي، شبكات منتجات مرنة، Typography سائل، تأثيرات أخف على الجوال.
 */

/* ——— رموز إضافية ——— */
:root {
    --rs-page-pad: clamp(0.5rem, 2.4vw + 0.35rem, 1.65rem);
    --rs-gap-grid: clamp(0.52rem, 2.1vw, 1rem);
    --rs-heading-display: clamp(1.42rem, 3.6vw + 0.4rem, 2.55rem);
}

/* ——— هيكل المتجر العام ——— */
body.store-body {
    overflow-x: clip;
}

.store-main {
    min-width: 0;
    width: 100%;
    overflow-x: clip;
}

.store-container {
    max-width: min(1540px, 100%);
    padding-inline: var(--rs-page-pad);
}

.site-header {
    width: min(1540px, calc(100% - clamp(14px, 4vw, 32px)));
}

/* عنوان قسم */
.store-body .section-heading__title {
    font-size: clamp(1.05rem, 2vw + 0.85rem, 1.52rem);
    line-height: 1.25;
}

.store-body .section-heading__link {
    max-width: 40%;
}

@media (max-width: 420px) {
    .store-body .section-heading {
        align-items: flex-start;
        flex-wrap: wrap;
        row-gap: 0.45rem;
    }

    .store-body .section-heading__link {
        max-width: none;
        white-space: normal;
    }
}

/* وسائط ومحتوى غني */
.store-body img,
.store-body video,
.store-body canvas,
.store-body svg {
    max-width: 100%;
    height: auto;
}

.store-body embed,
.store-body iframe {
    max-width: 100%;
}

.store-body table {
    width: max(100%, max-content);
    max-width: 100%;
}

.store-body figure {
    margin-inline: 0;
    max-width: 100%;
}

.store-body pre,
.store-body code {
    max-width: 100%;
    overflow-x: auto;
}

/* شبكة المنتجات — قوائم (ليست عمود واحد) */
body.store-body .sp-grid:not(.sp-grid--list) {
    gap: var(--rs-gap-grid);
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 480px) {
    body.store-body .sp-grid:not(.sp-grid--list) {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 780px) {
    body.store-body .sp-grid:not(.sp-grid--list) {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (min-width: 1200px) {
    body.store-body .sp-grid:not(.sp-grid--list) {
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: clamp(0.72rem, 1.4vw, 1.15rem);
    }
}

@media (min-width: 1700px) {
    body.store-body .sp-grid:not(.sp-grid--list) {
        grid-template-columns: repeat(auto-fill, minmax(min(200px, 100%), 1fr));
        column-gap: 1rem;
        row-gap: 1rem;
    }
}

/* شبكة منتجات الصفحة الرئيسية — 3 على الهاتف المعياري */
body.store-body .home-product-grid.sp-grid--home-featured {
    display: grid;
    gap: clamp(0.48rem, 2.4vw, 0.92rem);
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 359px) {
    body.store-body .home-product-grid.sp-grid--home-featured {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.52rem;
    }
}

@media (min-width: 640px) and (max-width: 899px) {
    body.store-body .home-product-grid.sp-grid--home-featured {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 0.92rem;
    }
}

@media (min-width: 900px) {
    body.store-body .home-product-grid.sp-grid--home-featured {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: clamp(0.82rem, 1.4vw, 1.35rem);
    }
}

@media (min-width: 1280px) {
    body.store-body .home-product-grid.sp-grid--home-featured {
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: clamp(0.92rem, 1.2vw, 1.42rem);
    }
}

@media (min-width: 1700px) {
    body.store-body .home-product-grid.sp-grid--home-featured {
        grid-template-columns: repeat(auto-fill, minmax(min(228px, 100%), 1fr));
    }
}

body.store-body .sp-container {
    width: min(1540px, calc(100% - var(--rs-page-pad) * 2));
}

body.store-body .sp-card:not(.sp-card--scroll) {
    padding: clamp(0.48rem, 1.35vw + 0.38rem, 0.85rem);
    min-width: 0;
}

@media (hover: hover) and (pointer: fine) {
    body.store-body .sp-card:not(.sp-card--scroll):hover {
        transform: translateY(-4px) scale(1.008);
    }
}

body.store-body .sp-card__media {
    border-radius: clamp(14px, 2.4vw + 8px, 22px);
    margin-bottom: clamp(0.4rem, 1.2vw, 0.6rem);
}

body.store-body .sp-card__title {
    font-size: clamp(0.78rem, 0.7rem + 0.45vw, 0.95rem);
}

body.store-body .sp-card__price strong {
    font-size: clamp(0.94rem, 0.85rem + 0.42vw, 1.22rem);
}

body.store-body .sp-card__btn {
    font-size: clamp(0.68rem, 0.62rem + 0.32vw, 0.76rem);
    min-height: max(42px, var(--tap-target-min, 44px));
    padding-block: clamp(0.42rem, 1.6vw, 0.54rem);
}

body.store-body .sp-card--scroll {
    flex: 0 0 clamp(148px, 38vw + 54px, 232px);
    min-width: 0;
}

@media (max-width: 1023px) and (min-width: 781px) {
    body.store-body .lux-stats {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.72rem;
    }

    body.store-body .lux-stat:last-child {
        grid-column: auto;
    }
}

@media (hover: hover) and (pointer: fine) {
    body.store-body .lux-stat:hover {
        transform: translateY(-3px);
    }
}

@media (hover: none) {
    body.store-body .lux-stat:active {
        transform: scale(0.99);
        transition-duration: 0.12s;
    }
}

@media (max-width: 899px) {
    body.store-body .lux-stats::before {
        animation-duration: 28s;
        opacity: 0.35;
    }
}

body.store-body .hero__title,
body.store-body .lux-hero h1 {
    font-size: var(--rs-heading-display);
}

body.store-body .lux-service-grid,
body.store-body .lux-services-preview .svc-grid,
body.store-body .lux-plan-grid {
    gap: clamp(0.72rem, 2.8vw + 0.35rem, 1.25rem);
}

body.store-body .lux-service-card span {
    width: clamp(44px, 9vw + 28px, 56px);
    height: clamp(44px, 9vw + 28px, 56px);
    border-radius: clamp(14px, 2vw + 10px, 18px);
}

body.store-body .lux-stat {
    min-height: clamp(74px, 18vw + 48px, 96px);
    padding-inline: 0.25rem;
}

body.store-body .lux-stat i {
    font-size: clamp(1rem, 0.9rem + 0.45vw, 1.38rem);
}

.store-body .data-table-wrap,
.store-body .table-responsive,
.store-body .checkout-table-wrap {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.store-body select,
.store-body textarea,
.store-body input:not([type="checkbox"]):not([type="radio"]) {
    max-width: 100%;
}

.store-body dialog {
    max-height: calc(100dvh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 1.5rem);
    margin: auto;
    box-sizing: border-box;
}

body.store-body .pd-container {
    width: min(1540px, calc(100% - var(--rs-page-pad) * 2));
}

/* شبكة تبويبات الطلبات — منع تهشيم العرض قبل نقاط breakpoints في profile-page */
body.store-body .store-main--profile .digital-order-grid {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}

@media (prefers-reduced-motion: reduce) {
    body.store-body .sp-card:not(.sp-card--scroll):hover,
    body.store-body .lux-stat:hover {
        transform: none;
    }

    body.store-body .lux-stats::before {
        animation: none;
    }
}

/* ——— تحسينات موبايل إضافية (خدمات / منتج / أقسام المتجر) ——— */
@media (max-width: 767px) {
    body.store-body .svc-pro-hero__grid {
        gap: 1rem;
    }

    body.store-body .svc-page--premium {
        padding-bottom: calc(0.5rem + env(safe-area-inset-bottom, 0px));
    }

    body.store-body .pd-layout {
        gap: 1rem;
    }

    body.store-body .pd-hero__banner {
        border-radius: clamp(14px, 3vw + 8px, 22px);
    }

    body.store-body .sp-cat-showcase {
        padding-inline: 0.75rem;
    }
}
