/*
 * Snap Solutions store on the login page (auth/partials/araa_store.blade.php), in the original Snap Solutions identity:
 * SnapOS blue #007bff with green #1ed53e accents, dark navy ink, white surfaces and the Cairo font. Everything is scoped to .snap-store and the login
 * dialog, and is screen only (nothing here reaches a printed page).
 */
@media screen {
    .snap-store,
    .snap-login-modal {
        --st-primary: #007bff;
        --st-primary-600: #0069d9;
        --st-primary-700: #0056b3;
        --st-ink: #0b1f3a;
        --st-text: #1d2633;
        --st-muted: #5b6878;
        --st-tint: #e8f2ff;
        --st-tint-2: #f4f8ff;
        --st-line: #dbe5f1;
        --st-white: #ffffff;
        --st-radius: 16px;
        --st-sale: #e0473e;
        --st-accent: #1ed53e;
        --st-font: "Cairo";
        --st-fit: contain;
        --st-per-row: 4;
        --st-shadow: 0 10px 30px rgba(11, 31, 58, 0.08);
        --st-shadow-lg: 0 24px 60px rgba(11, 31, 58, 0.18);
    }

    html body:has(.snap-store) {
        background: var(--st-white, #fff) !important;
        overflow-x: hidden;
    }

    html body:has(.snap-store) > .container-fluid {
        padding: 0 !important;
        background: #fff !important;
    }

    .snap-store {
        min-height: 100vh;
        background: #fff;
        color: var(--st-text);
        font-family: var(--st-font), "Cairo", Tahoma, Arial, sans-serif !important;
        font-size: 15px;
        font-weight: 500;
        line-height: 1.7;
    }

    .snap-store *,
    .snap-store *::before,
    .snap-store *::after {
        box-sizing: border-box;
    }

    .snap-store h1,
    .snap-store h2,
    .snap-store h3 {
        margin: 0;
        color: var(--st-ink);
        font-family: var(--st-font), "Cairo", Tahoma, Arial, sans-serif !important;
        line-height: 1.35;
    }

    .snap-store p {
        margin: 0;
    }

    .snap-store a {
        color: inherit;
        text-decoration: none;
    }

    .snap-store button {
        font-family: inherit;
        cursor: pointer;
    }

    .snap-store__wrap {
        width: min(1240px, 100%);
        margin: 0 auto;
        padding: 0 20px;
    }

    .snap-store__icon {
        width: 20px;
        height: 20px;
        flex: 0 0 auto;
    }

    /* Buttons */
    .snap-store__btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        min-height: 44px;
        padding: 0 20px;
        border: 1.5px solid transparent;
        border-radius: calc(var(--st-radius) * 0.75);
        font-size: 15px;
        font-weight: 700;
        line-height: 1;
        white-space: nowrap;
        transition: background-color 150ms ease, color 150ms ease, border-color 150ms ease, transform 150ms ease, box-shadow 150ms ease;
    }

    .snap-store__btn:hover {
        transform: translateY(-1px);
    }

    .snap-store__btn:focus-visible,
    .snap-store button:focus-visible,
    .snap-store a:focus-visible,
    .snap-store input:focus-visible,
    .snap-store textarea:focus-visible {
        outline: 3px solid color-mix(in srgb, var(--st-primary) 45%, transparent);
        outline-offset: 2px;
    }

    .snap-store__btn--primary {
        background: var(--st-primary);
        color: #fff !important;
        box-shadow: 0 10px 24px color-mix(in srgb, var(--st-primary) 32%, transparent);
    }

    .snap-store__btn--primary:hover {
        background: var(--st-primary-600);
    }

    .snap-store__btn--light {
        background: #fff;
        color: var(--st-primary-700) !important;
        box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
    }

    .snap-store__btn--ghost {
        border-color: rgba(255, 255, 255, 0.7);
        background: rgba(255, 255, 255, 0.08);
        color: #fff !important;
    }

    .snap-store__btn--ghost:hover {
        background: rgba(255, 255, 255, 0.18);
    }

    .snap-store__btn--outline {
        width: 100%;
        border-color: var(--st-primary);
        background: #fff;
        color: var(--st-primary-700) !important;
    }

    .snap-store__btn--outline:hover {
        background: var(--st-primary);
        color: #fff !important;
    }

    /* Top bar */
    .snap-store__topbar {
        background: var(--st-ink);
        border-bottom: 3px solid var(--st-accent, #1ed53e);
        color: #d6e4f5;
        font-size: 13.5px;
    }

    .snap-store__topbar-in {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        min-height: 42px;
    }

    .snap-store__topbar-links {
        display: flex;
        align-items: center;
        gap: 18px;
    }

    .snap-store__topbar-links a {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        color: #d6e4f5;
    }

    .snap-store__topbar-links a:hover {
        color: #fff;
    }

    .snap-store__topbar-links .snap-store__icon {
        width: 16px;
        height: 16px;
        color: var(--st-primary);
    }

    .snap-store__topbar-login {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        min-height: 30px;
        padding: 0 14px;
        border: 0;
        border-radius: 999px;
        background: var(--st-primary);
        color: #fff;
        font-size: 13.5px;
        font-weight: 700;
    }

    .snap-store__topbar-login .snap-store__icon {
        width: 16px;
        height: 16px;
        color: #fff !important;
    }

    /* Header */
    .snap-store__header {
        position: relative;
        top: 0;
        z-index: 50;
        border-bottom: 1px solid var(--st-line);
        background: rgba(255, 255, 255, 0.96);
        backdrop-filter: blur(10px);
    }

    .snap-store__header-in {
        display: flex;
        align-items: center;
        gap: 24px;
        min-height: 78px;
    }

    .snap-store__brand {
        display: inline-flex;
        align-items: center;
        gap: 12px;
        flex: 0 0 auto;
    }

    .snap-store__brand img {
        width: 46px;
        height: 46px;
        border-radius: 12px;
    }

    .snap-store__brand span {
        display: flex;
        flex-direction: column;
        line-height: 1.1;
    }

    .snap-store__brand strong {
        color: var(--st-ink);
        font-family: "Segoe UI", Arial, sans-serif;
        font-size: 24px;
        font-weight: 800;
        letter-spacing: 3px;
    }

    .snap-store__brand small {
        margin-top: 4px;
        color: var(--st-primary-700);
        font-size: 12.5px;
        font-weight: 700;
    }

    .snap-store__nav {
        display: flex;
        align-items: center;
        gap: 4px;
        margin-inline-start: 8px;
    }

    .snap-store__nav > a,
    .snap-store__nav-drop > button {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 8px 12px;
        border: 0;
        border-radius: 10px;
        background: transparent;
        color: var(--st-text);
        font-size: 15px;
        font-weight: 600;
    }

    .snap-store__nav > a:hover,
    .snap-store__nav-drop > button:hover,
    .snap-store__nav > a.is-active {
        background: var(--st-tint);
        color: var(--st-primary-700);
    }

    .snap-store__nav-drop {
        position: relative;
    }

    .snap-store__nav-drop > button span {
        font-size: 11px;
    }

    .snap-store__nav-menu {
        position: absolute;
        top: calc(100% + 8px);
        inset-inline-start: 0;
        z-index: 60;
        display: none;
        min-width: 240px;
        max-height: 60vh;
        overflow: auto;
        padding: 8px;
        border: 1px solid var(--st-line);
        border-radius: 14px;
        background: #fff;
        box-shadow: var(--st-shadow-lg);
    }

    .snap-store__nav-drop.is-open .snap-store__nav-menu,
    .snap-store__nav-drop:hover .snap-store__nav-menu,
    .snap-store__nav-drop:focus-within .snap-store__nav-menu {
        display: grid;
    }

    .snap-store__nav-menu a {
        padding: 8px 12px;
        border-radius: 8px;
        color: var(--st-text);
        font-weight: 600;
    }

    .snap-store__nav-menu a:hover {
        background: var(--st-tint);
        color: var(--st-primary-700);
    }

    .snap-store__header-tools {
        display: flex;
        align-items: center;
        gap: 12px;
        margin-inline-start: auto;
    }

    .snap-store__search {
        display: flex;
        align-items: center;
        gap: 8px;
        width: 230px;
        height: 44px;
        margin: 0;
        padding: 0 12px;
        border: 1px solid var(--st-line);
        border-radius: 12px;
        background: var(--st-tint-2);
        color: var(--st-muted);
        font-weight: 500;
    }

    .snap-store__search:focus-within {
        border-color: var(--st-primary);
        background: #fff;
    }

    .snap-store__search input {
        width: 100%;
        min-width: 0;
        border: 0;
        outline: none !important;
        background: transparent;
        color: var(--st-text);
        font: inherit;
    }

    .snap-store__login-btn {
        min-height: 46px;
        padding: 0 22px;
        font-size: 15.5px;
    }

    .snap-store__menu-btn {
        display: none;
        width: 44px;
        height: 44px;
        align-items: center;
        justify-content: center;
        border: 1px solid var(--st-line);
        border-radius: 12px;
        background: #fff;
        color: var(--st-ink);
    }

    /* Hero */
    .snap-store__hero {
        position: relative;
        overflow: hidden;
        min-height: 480px;
        background-color: var(--st-primary-700);
        background-image:
            radial-gradient(circle at 18% 20%, rgba(255, 255, 255, 0.16), transparent 42%),
            radial-gradient(circle at 85% 90%, rgba(255, 255, 255, 0.10), transparent 40%),
            linear-gradient(135deg, var(--st-primary) 0%, var(--st-primary-700) 58%, color-mix(in srgb, var(--st-primary-700) 70%, #000) 100%);
        color: #fff;
    }

    .snap-store__hero::before {
        position: absolute;
        inset: 0;
        background-image: linear-gradient(rgba(255, 255, 255, 0.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.06) 1px, transparent 1px);
        background-size: 44px 44px;
        mask-image: linear-gradient(to bottom, #000, transparent 85%);
        content: "";
        pointer-events: none;
    }

    .snap-store__slide {
        position: absolute;
        inset: 0;
        opacity: 0;
        visibility: hidden;
        transition: opacity 600ms ease, visibility 600ms ease;
    }

    .snap-store__slide.is-active {
        position: relative;
        opacity: 1;
        visibility: visible;
    }

    .snap-store__slide-in {
        position: relative;
        display: grid;
        grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
        align-items: center;
        gap: 32px;
        min-height: 480px;
        padding-top: 48px;
        padding-bottom: 64px;
    }

    .snap-store__tag {
        display: inline-flex;
        align-items: center;
        padding: 6px 14px;
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.16);
        color: #fff;
        font-size: 14px;
        font-weight: 700;
    }

    .snap-store__tag--soft {
        background: var(--st-tint);
        color: var(--st-primary-700);
        font-size: 13px;
    }

    .snap-store__slide-text h1 {
        margin: 18px 0 14px;
        color: #fff;
        font-size: clamp(30px, 3.6vw, 48px);
        font-weight: 800;
    }

    .snap-store__slide-text p {
        max-width: 560px;
        color: rgba(255, 255, 255, 0.9);
        font-size: 17.5px;
    }

    .snap-store__slide-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
        margin-top: 28px;
    }

    .snap-store__slide-media {
        position: relative;
        height: 360px;
    }

    .snap-store__slide-card {
        position: absolute;
        display: flex;
        align-items: center;
        justify-content: center;
        overflow: hidden;
        border-radius: 22px;
        background: #fff;
        box-shadow: 0 30px 60px rgba(0, 0, 0, 0.25);
    }

    .snap-store__slide-card img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        padding: 14px;
    }

    .snap-store__slide-card--0 {
        top: 10px;
        inset-inline-start: 18%;
        width: 62%;
        height: 300px;
        z-index: 2;
    }

    .snap-store__slide-card--1 {
        bottom: 0;
        inset-inline-start: 0;
        width: 36%;
        height: 170px;
        z-index: 3;
    }

    .snap-store__slide-card--2 {
        bottom: 24px;
        inset-inline-end: 0;
        width: 32%;
        height: 150px;
        z-index: 3;
    }

    .snap-store__slide-card--logo img {
        width: 55%;
        height: auto;
    }

    .snap-store__dots {
        position: absolute;
        bottom: 22px;
        left: 50%;
        z-index: 5;
        display: flex;
        gap: 8px;
        transform: translateX(-50%);
    }

    .snap-store__dots button {
        width: 10px;
        height: 10px;
        padding: 0;
        border: 0;
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.45);
        transition: width 200ms ease, background-color 200ms ease;
    }

    .snap-store__dots button.is-active {
        width: 30px;
        background: #fff;
    }

    /* Sections */
    .snap-store__section {
        padding: 56px 0;
    }

    .snap-store__section--tinted {
        background: var(--st-tint-2);
    }

    .snap-store__head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        margin-bottom: 24px;
    }

    .snap-store__head h2,
    .snap-store__head h1 {
        display: inline-flex;
        align-items: center;
        gap: 12px;
        font-size: clamp(22px, 2.2vw, 30px);
        font-weight: 800;
    }

    .snap-store__head-mark {
        width: 6px;
        height: 28px;
        border-radius: 6px;
        background: var(--st-primary);
    }

    .snap-store__head--center {
        flex-direction: column;
        text-align: center;
    }

    .snap-store__head--center p {
        max-width: 640px;
        color: var(--st-muted);
        font-size: 16.5px;
    }

    .snap-store__count {
        color: var(--st-muted);
        font-weight: 700;
    }

    /* Why Snap Solutions */
    .snap-store__features {
        display: grid;
        grid-template-columns: repeat(var(--snap-store-features, 6), minmax(0, 1fr));
        border: 1px solid var(--st-line);
        border-radius: var(--st-radius);
        overflow: hidden;
        background: #fff;
    }

    .snap-store__feature {
        padding: 30px 20px;
        border-inline-start: 1px solid var(--st-line);
        text-align: center;
        transition: background-color 200ms ease;
    }

    .snap-store__feature:first-child {
        border-inline-start: 0;
    }

    .snap-store__feature:hover {
        background: var(--st-tint-2);
    }

    .snap-store__feature-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 64px;
        height: 64px;
        margin-bottom: 14px;
        border-radius: 18px;
        background: var(--st-tint);
        color: var(--st-primary-700);
    }

    .snap-store__feature-icon .snap-store__icon {
        width: 32px;
        height: 32px;
    }

    .snap-store__feature h3 {
        margin-bottom: 8px;
        color: var(--st-primary-700);
        font-size: 17px;
        font-weight: 800;
    }

    .snap-store__feature p {
        color: var(--st-muted);
        font-size: 14px;
    }

    /* Category banner */
    .snap-store__category {
        padding: 36px 0 20px;
    }

    .snap-store__banner {
        position: relative;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto auto;
        align-items: center;
        gap: 24px;
        min-height: 150px;
        margin-bottom: 22px;
        padding: 26px 32px;
        overflow: hidden;
        border-radius: calc(var(--st-radius) + 4px);
        --st-b1: var(--st-banner, var(--st-primary));
        background:
            radial-gradient(circle at 92% 10%, rgba(255, 255, 255, 0.18), transparent 45%),
            linear-gradient(120deg, var(--st-b1) 0%, color-mix(in srgb, var(--st-b1) 72%, #000) 100%);
        color: #fff;
    }

    .snap-store__banner h2,
    .snap-store__banner h1 {
        margin: 10px 0 6px;
        color: #fff;
        font-size: clamp(22px, 2.4vw, 32px);
        font-weight: 800;
    }

    .snap-store__banner p {
        color: rgba(255, 255, 255, 0.9);
    }

    .snap-store__banner .snap-store__tag--soft {
        background: rgba(255, 255, 255, 0.18);
        color: #fff;
    }

    .snap-store__banner-media {
        display: flex;
        gap: 12px;
    }

    .snap-store__banner-media span {
        display: flex;
        width: 96px;
        height: 96px;
        overflow: hidden;
        border-radius: 16px;
        background: #fff;
        box-shadow: 0 12px 26px rgba(0, 0, 0, 0.18);
    }

    .snap-store__banner-media img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        padding: 8px;
    }

    .snap-store__arrows {
        display: flex;
        gap: 8px;
    }

    .snap-store__arrows button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 42px;
        height: 42px;
        border: 1px solid var(--st-line);
        border-radius: 12px;
        background: #fff;
        color: var(--st-primary-700);
        transition: background-color 150ms ease, color 150ms ease;
    }

    .snap-store__arrows button:hover {
        background: var(--st-primary);
        color: #fff;
    }

    .snap-store__arrows--banner button {
        border-color: rgba(255, 255, 255, 0.5);
        background: rgba(255, 255, 255, 0.12);
        color: #fff;
    }

    .snap-store__arrows--banner button:hover {
        background: #fff;
        color: var(--st-primary-700);
    }

    /* Product rail and cards */
    .snap-store__rail {
        display: grid;
        grid-auto-columns: calc((100% - (var(--st-per-row) - 1) * 18px) / var(--st-per-row));
        grid-auto-flow: column;
        gap: 18px;
        padding: 6px 2px 18px;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        scroll-behavior: smooth;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    .snap-store__rail::-webkit-scrollbar {
        display: none;
    }

    .snap-store__grid {
        display: grid;
        grid-template-columns: repeat(var(--st-per-row), minmax(0, 1fr));
        gap: 18px;
    }

    .snap-store__card {
        display: flex;
        flex-direction: column;
        overflow: hidden;
        border: 1px solid var(--st-line);
        border-radius: var(--st-radius);
        background: #fff;
        scroll-snap-align: start;
        transition: box-shadow 200ms ease, transform 200ms ease, border-color 200ms ease;
    }

    .snap-store__card:hover {
        border-color: color-mix(in srgb, var(--st-primary) 45%, var(--st-line));
        box-shadow: var(--st-shadow);
        transform: translateY(-3px);
    }

    /* The picture box is always square, whatever the picture's shape, so every card in a row lines up. */
    .snap-store__card-media {
        position: relative;
        display: block;
        width: 100%;
        height: auto;
        aspect-ratio: 1 / 1;
        overflow: hidden;
        padding: 0;
        border: 0;
        border-bottom: 1px solid var(--st-line);
        background: linear-gradient(160deg, #ffffff 0%, var(--st-tint-2) 100%);
    }

    .snap-store__card-media img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: var(--st-fit);
        padding: 18px;
        transition: transform 300ms ease;
    }

    .snap-store__card:hover .snap-store__card-media img {
        transform: scale(1.05);
    }

    .snap-store__card-media.is-broken img {
        visibility: hidden;
    }

    .snap-store__card-media.is-broken::after {
        position: absolute;
        inset: 0;
        background: url('../img/product-placeholder.svg') center / cover no-repeat;
        content: "";
    }

    .snap-store__badge {
        position: absolute;
        top: 12px;
        inset-inline-start: 12px;
        padding: 3px 10px;
        border-radius: 999px;
        background: var(--st-accent, #1ed53e);
        color: var(--st-ink);
        font-family: "Segoe UI", Arial, sans-serif;
        font-size: 11.5px;
        font-weight: 700;
        letter-spacing: 0.5px;
    }

    .snap-store__badge--inline {
        position: static;
        align-self: flex-start;
    }

    .snap-store__card-body {
        display: flex;
        flex: 1;
        flex-direction: column;
        gap: 10px;
        padding: 16px;
        text-align: center;
    }

    .snap-store__card-body h3 {
        display: -webkit-box;
        min-height: 3em;
        overflow: hidden;
        color: var(--st-primary-700);
        font-size: 15.5px;
        font-weight: 700;
        line-height: 1.5;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .snap-store__price {
        margin-top: auto;
        color: var(--st-ink);
        font-size: 19px;
        font-weight: 800;
    }

    .snap-store__price--ask {
        color: var(--st-muted);
        font-size: 15px;
        font-weight: 700;
    }

    .snap-store__sar {
        font-family: "SaudiRiyalSymbol", "Cairo", sans-serif !important;
        font-weight: 400;
    }

    .snap-store__card .snap-store__btn--outline {
        min-height: 40px;
        font-size: 14.5px;
    }

    .snap-store__card .snap-store__btn--outline .snap-store__icon {
        width: 17px;
        height: 17px;
    }

    .snap-store__empty {
        padding: 30px;
        color: var(--st-muted);
        text-align: center;
    }

    /* Call to action */
    .snap-store__cta {
        padding: 48px 0;
        background: linear-gradient(120deg, var(--st-ink) 0%, color-mix(in srgb, var(--st-ink) 75%, var(--st-primary)) 100%);
        color: #fff;
    }

    .snap-store__cta-in {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 20px;
    }

    .snap-store__cta h2 {
        color: #fff;
        font-size: clamp(22px, 2.4vw, 30px);
        font-weight: 800;
    }

    .snap-store__cta p {
        margin-top: 6px;
        color: rgba(255, 255, 255, 0.85);
    }

    .snap-store__cta .snap-store__slide-actions {
        margin-top: 0;
    }

    /* Brands */
    .snap-store__brands {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 12px;
    }

    .snap-store__brands span {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 130px;
        min-height: 58px;
        padding: 0 22px;
        border: 1px solid var(--st-line);
        border-radius: 14px;
        background: #fff;
        color: var(--st-ink);
        font-family: "Segoe UI", Arial, sans-serif;
        font-size: 16px;
        font-weight: 800;
        letter-spacing: 1px;
        text-transform: uppercase;
        transition: border-color 150ms ease, color 150ms ease;
    }

    .snap-store__brands span:hover {
        border-color: var(--st-primary);
        color: var(--st-primary-700);
    }

    .snap-store__brands .snap-store__brand-logo {
        min-width: 150px;
        padding: 10px 20px;
    }

    .snap-store__brand-logo img {
        display: block;
        max-width: 120px;
        max-height: 40px;
        object-fit: contain;
        filter: grayscale(0.15);
        transition: filter 150ms ease, transform 150ms ease;
    }

    .snap-store__brand-logo:hover img {
        filter: none;
        transform: scale(1.04);
    }

    /* «عملاؤنا»: customers' logos */
    .snap-store__clients {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
        gap: 14px;
    }

    .snap-store__client {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 8px;
        padding: 12px;
        border: 1px solid var(--st-line);
        border-radius: var(--st-radius);
        background: #fff;
        color: var(--st-ink);
        text-decoration: none;
        transition: border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease;
    }

    .snap-store__client:hover {
        border-color: var(--st-primary);
        box-shadow: var(--st-shadow);
        transform: translateY(-2px);
    }

    .snap-store__client-logo {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 96px;
    }

    .snap-store__client-logo img {
        max-width: 100%;
        max-height: 96px;
        object-fit: contain;
    }

    .snap-store__client-name {
        overflow: hidden;
        width: 100%;
        font-size: 13px;
        font-weight: 700;
        line-height: 1.5;
        text-align: center;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    @media (max-width: 640px) {
        .snap-store__clients {
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 10px;
        }

        .snap-store__client {
            padding: 8px;
        }

        .snap-store__client-logo,
        .snap-store__client-logo img {
            height: 64px;
            max-height: 64px;
        }
    }

    /* Branches with Google Maps */
    .snap-store__branches {
        margin-top: 40px;
    }

    .snap-store__branches-title {
        display: flex;
        align-items: center;
        gap: 8px;
        margin: 0 0 16px;
        color: var(--st-ink);
        font-size: 22px;
        font-weight: 800;
    }

    .snap-store__branches-title .snap-store__icon {
        width: 24px;
        height: 24px;
        color: var(--st-primary);
    }

    .snap-store__branches-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        gap: 18px;
    }

    .snap-store__branch {
        display: flex;
        flex-direction: column;
        overflow: hidden;
        border: 1px solid var(--st-line);
        border-radius: var(--st-radius);
        background: #fff;
        box-shadow: var(--st-shadow);
    }

    .snap-store__branch-map {
        display: block;
        width: 100%;
        height: 240px;
        border: 0;
        background: var(--st-tint-2);
    }

    .snap-store__branch-body {
        display: flex;
        flex: 1 1 auto;
        flex-direction: column;
        gap: 8px;
        padding: 18px 20px 20px;
    }

    .snap-store__branch-body h4 {
        margin: 0 0 4px;
        color: var(--st-ink);
        font-size: 17px;
        font-weight: 800;
    }

    .snap-store__branch-body p {
        display: flex;
        align-items: flex-start;
        gap: 8px;
        margin: 0;
        color: var(--st-muted);
        line-height: 1.7;
    }

    .snap-store__branch-body p .snap-store__icon {
        flex: 0 0 auto;
        width: 18px;
        height: 18px;
        margin-top: 3px;
        color: var(--st-primary);
    }

    .snap-store__branch-body p a {
        color: var(--st-ink);
        font-weight: 700;
    }

    .snap-store__branch-go {
        align-self: flex-start;
        margin-top: auto;
    }

    @media (max-width: 640px) {
        .snap-store__branches-grid {
            grid-template-columns: minmax(0, 1fr);
        }

        .snap-store__branch-map {
            height: 200px;
        }

        .snap-store__brands .snap-store__brand-logo {
            min-width: 120px;
        }
    }

    /* Contact */
    .snap-store__contact {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 36px;
        align-items: start;
    }

    .snap-store__contact-list {
        display: grid;
        gap: 16px;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .snap-store__contact-list li {
        display: flex;
        align-items: flex-start;
        gap: 12px;
        font-size: 15.5px;
    }

    .snap-store__contact-list .snap-store__icon {
        width: 40px;
        height: 40px;
        padding: 9px;
        border-radius: 12px;
        background: var(--st-tint);
        color: var(--st-primary-700);
    }

    .snap-store__contact-list a,
    .snap-store__contact-list span {
        padding-top: 8px;
    }

    .snap-store__contact-list strong {
        color: var(--st-ink);
    }

    .snap-store__contact-list--countries {
        gap: 10px;
    }

    .snap-store__contact-list--countries li {
        align-items: center;
    }

    .snap-store__contact-list--countries .snap-store__icon {
        width: 34px;
        height: 34px;
        padding: 7px;
    }

    .snap-store__contact-list--countries .snap-store__contact-country {
        min-width: 112px;
        padding-top: 0;
        color: var(--st-muted, #64748b);
        font-size: 14.5px;
    }

    .snap-store__contact-list--countries a {
        padding-top: 0;
        color: var(--st-ink);
        font-weight: 600;
        word-break: break-all;
    }

    .snap-store__form {
        display: grid;
        gap: 14px;
        padding: 26px;
        border: 1px solid var(--st-line);
        border-radius: 20px;
        background: #fff;
        box-shadow: var(--st-shadow);
    }

    .snap-store__form h3 {
        font-size: 20px;
        font-weight: 800;
    }

    .snap-store__form label {
        display: grid;
        gap: 6px;
        margin: 0;
        font-weight: 600;
    }

    .snap-store__form input,
    .snap-store__form textarea {
        width: 100%;
        padding: 11px 14px;
        border: 1px solid var(--st-line);
        border-radius: 12px;
        background: var(--st-tint-2);
        color: var(--st-text);
        font: inherit;
        outline: none;
        transition: border-color 150ms ease, background-color 150ms ease;
    }

    .snap-store__form input:focus,
    .snap-store__form textarea:focus {
        border-color: var(--st-primary);
        background: #fff;
    }

    .snap-store__form .is-invalid {
        border-color: #c0392b;
    }

    .snap-store__form small {
        color: var(--st-muted);
    }

    /* Footer */
    .snap-store__footer {
        padding: 28px 0;
        background: var(--st-ink);
        color: #cfe3e3;
    }

    .snap-store__footer-in {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 18px;
    }

    .snap-store__brand--footer strong {
        color: #fff;
    }

    .snap-store__brand--footer small {
        color: var(--st-primary);
    }

    .snap-store__footer nav {
        display: flex;
        flex-wrap: wrap;
        gap: 6px 18px;
    }

    .snap-store__footer nav a:hover {
        color: #fff;
    }

    /* Floating WhatsApp */
    .snap-store__wa-float {
        position: fixed;
        bottom: 22px;
        inset-inline-start: 22px;
        z-index: 70;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 58px;
        height: 58px;
        border-radius: 50%;
        background: #25d366;
        color: #fff !important;
        box-shadow: 0 14px 30px rgba(37, 211, 102, 0.45);
        transition: transform 150ms ease;
    }

    .snap-store__wa-float:hover {
        transform: scale(1.06);
    }

    .snap-store__wa-float .snap-store__icon {
        width: 30px;
        height: 30px;
    }

    /* Product quick view and login dialog */
    .snap-store__quick,
    .snap-login-modal {
        position: fixed;
        inset: 0;
        z-index: 1000;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 20px;
    }

    .snap-store__quick[hidden],
    .snap-login-modal[hidden] {
        display: none;
    }

    .snap-store__quick-backdrop,
    .snap-login-modal__backdrop {
        position: absolute;
        inset: 0;
        background: rgba(11, 31, 58, 0.55);
        backdrop-filter: blur(3px);
    }

    .snap-store__quick-box {
        position: relative;
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        width: min(900px, 100%);
        max-height: calc(100vh - 40px);
        overflow: auto;
        border-radius: 22px;
        background: #fff;
        box-shadow: var(--st-shadow-lg);
        animation: snap-store-in 220ms ease-out both;
    }

    .snap-store__quick-media {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 340px;
        background: linear-gradient(160deg, #ffffff 0%, var(--st-tint) 100%);
    }

    .snap-store__quick-media img {
        width: 100%;
        max-height: 440px;
        object-fit: contain;
        padding: 28px;
    }

    .snap-store__quick-body {
        display: flex;
        flex-direction: column;
        gap: 12px;
        padding: 30px 28px;
    }

    .snap-store__quick-body .snap-store__tag {
        align-self: flex-start;
    }

    .snap-store__quick-body h3 {
        color: var(--st-ink);
        font-size: 22px;
        font-weight: 800;
    }

    .snap-store__quick-body p {
        color: var(--st-muted);
    }

    .snap-store__quick-body .snap-store__price {
        margin-top: 0;
        font-size: 24px;
    }

    .snap-store__quick-body .snap-store__btn {
        margin-top: auto;
    }

    .snap-store__close,
    .snap-login-modal__close {
        position: absolute;
        top: 12px;
        inset-inline-end: 12px;
        z-index: 2;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        border: 1px solid var(--st-line);
        border-radius: 12px;
        background: #fff;
        color: var(--st-ink);
        font-size: 24px;
        line-height: 1;
    }

    /* The login card inside the dialog keeps its own look, in the Snap Solutions light colours whatever theme the device uses. */
    .snap-login.snap-login--modal {
        --snap-surface: #ffffff;
        --snap-surface-raised: #f6fbfb;
        --snap-bg: transparent;
        --snap-pattern: none;
        --snap-text: var(--st-ink, #0b1f3a);
        --snap-text-soft: #1d2633;
        --snap-muted: #5b6878;
        --snap-border: #dbe5f1;
        --snap-border-strong: #c8dadb;
        --snap-accent: var(--st-primary, #007bff);
        --snap-accent-soft: color-mix(in srgb, var(--st-primary, #007bff) 18%, transparent);
        --snap-btn-bg: var(--st-primary, #007bff);
        --snap-btn-ink: #ffffff;
        --snap-danger: #b42318;
        --snap-shadow: 0 24px 60px rgba(11, 31, 58, 0.25);
        position: relative;
        display: block;
        width: min(460px, 100%);
        min-height: 0;
        max-height: calc(100vh - 40px);
        overflow: auto;
        animation: snap-store-in 220ms ease-out both;
    }

    .snap-login.snap-login--modal .snap-login__panel {
        display: block;
        padding: 0;
        background: transparent;
    }

    .snap-login.snap-login--modal .login-content {
        width: 100%;
        animation: none;
    }

    /* The language switch sits at the card's end corner, so the close button takes the start corner. */
    .snap-login.snap-login--modal .snap-login-modal__close {
        top: 14px;
        inset-inline-start: 14px;
        inset-inline-end: auto;
    }

    .snap-login-modal__note {
        margin: 0;
        padding: 12px 24px 20px;
        color: var(--snap-muted);
        font-size: 13px;
        line-height: 1.7;
        text-align: center;
    }

    body.snap-store-locked {
        overflow: hidden;
    }

    @keyframes snap-store-in {
        from {
            opacity: 0;
            transform: translateY(12px) scale(0.98);
        }
    }

    /* Tablet */
    /* Control panel extras: second-slide titles, offers, old price, discount and badge flags, products without a picture */
    .snap-store__slide-text .snap-store__slide-title {
        margin: 18px 0 14px;
        color: #fff;
        font-size: clamp(30px, 3.6vw, 48px);
        font-weight: 800;
    }

    .snap-store__slide-media--single .snap-store__slide-card--0 {
        inset-inline-start: 6%;
        width: 88%;
        height: 330px;
    }

    .snap-store__head-mark--sale {
        background: var(--st-sale);
    }

    .snap-store__offers {
        background: linear-gradient(180deg, color-mix(in srgb, var(--st-sale) 7%, #fff) 0%, #ffffff 100%);
    }

    .snap-store__old {
        margin-inline-start: 6px;
        color: #8a9a9b;
        font-size: 14px;
        font-weight: 600;
    }

    .snap-store__flags {
        position: absolute;
        top: 12px;
        inset-inline-end: 12px;
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        gap: 6px;
    }

    .snap-store__flag {
        padding: 3px 10px;
        border-radius: 999px;
        background: var(--st-primary);
        color: #fff;
        font-size: 12px;
        font-weight: 800;
    }

    .snap-store__flag--sale {
        background: var(--st-sale);
        direction: ltr;
    }

    .snap-store__noimg {
        position: absolute;
        inset: 0;
        background: url("../img/snap.png") center / 70px no-repeat;
        opacity: 0.22;
    }

    .snap-store__contact--single {
        grid-template-columns: minmax(0, 1fr);
    }

    @media (max-width: 1100px) {
        .snap-store__features {
            grid-template-columns: repeat(3, minmax(0, 1fr));
        }

        .snap-store__feature:nth-child(4) {
            border-inline-start: 0;
        }

        .snap-store__feature:nth-child(n + 4) {
            border-top: 1px solid var(--st-line);
        }

        .snap-store__rail {
            grid-auto-columns: calc((100% - 2 * 18px) / 3);
        }

        .snap-store__grid {
            grid-template-columns: repeat(3, minmax(0, 1fr));
        }

        .snap-store__search {
            width: 180px;
        }
    }

    @media (max-width: 980px) {
        .snap-store__menu-btn {
            display: inline-flex;
        }

        .snap-store__nav {
            position: absolute;
            top: 100%;
            inset-inline: 0;
            display: none;
            flex-direction: column;
            align-items: stretch;
            margin: 0;
            padding: 12px 20px 18px;
            border-bottom: 1px solid var(--st-line);
            background: #fff;
            box-shadow: var(--st-shadow);
        }

        .snap-store__nav.is-open {
            display: flex;
        }

        .snap-store__nav-menu {
            position: static;
            display: grid;
            min-width: 0;
            max-height: none;
            margin-top: 4px;
            border: 0;
            box-shadow: none;
            background: var(--st-tint-2);
        }

        .snap-store__nav-drop > button span {
            display: none;
        }

        .snap-store__slide-in {
            grid-template-columns: minmax(0, 1fr);
            gap: 20px;
            min-height: 0;
            padding-top: 36px;
            padding-bottom: 60px;
        }

        .snap-store__hero,
        .snap-store__slide-in {
            min-height: 0;
        }

        .snap-store__slide-media {
            height: 260px;
        }

        .snap-store__slide-card--0 {
            height: 220px;
        }

        .snap-store__slide-card--1 {
            height: 120px;
        }

        .snap-store__slide-card--2 {
            height: 110px;
        }

        .snap-store__banner {
            grid-template-columns: minmax(0, 1fr) auto;
        }

        .snap-store__banner-media {
            display: none;
        }

        .snap-store__contact {
            grid-template-columns: minmax(0, 1fr);
        }
    }

    /* Phone */
    @media (max-width: 640px) {
        .snap-store {
            font-size: 14.5px;
        }

        .snap-store__wrap {
            padding: 0 16px;
        }

        .snap-store__topbar-links .snap-store__hide-sm,
        .snap-store__topbar-login,
        .snap-store__search {
            display: none;
        }

        .snap-store__topbar-in {
            gap: 8px;
        }

        .snap-store__topbar-links {
            gap: 10px;
        }

        .snap-store__header-in {
            gap: 10px;
            min-height: 66px;
        }

        .snap-store__brand img {
            width: 40px;
            height: 40px;
        }

        .snap-store__brand strong {
            font-size: 20px;
        }

        .snap-store__brand small {
            display: none;
        }

        .snap-store__login-btn {
            min-height: 42px;
            padding: 0 14px;
            font-size: 14px;
        }

        .snap-store__slide-text h1 {
            font-size: 28px;
        }

        .snap-store__slide-text p {
            font-size: 15.5px;
        }

        .snap-store__slide-actions .snap-store__btn {
            flex: 1 1 auto;
        }

        .snap-store__slide-media {
            height: 210px;
        }

        .snap-store__slide-card--0 {
            inset-inline-start: 12%;
            width: 76%;
            height: 190px;
        }

        .snap-store__slide-card--1,
        .snap-store__slide-card--2 {
            display: none;
        }

        .snap-store__section {
            padding: 40px 0;
        }

        .snap-store__features {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .snap-store__feature {
            padding: 22px 12px;
        }

        .snap-store__feature:nth-child(odd) {
            border-inline-start: 0;
        }

        .snap-store__feature:nth-child(4) {
            border-inline-start: 1px solid var(--st-line);
        }

        .snap-store__feature:nth-child(n + 3) {
            border-top: 1px solid var(--st-line);
        }

        .snap-store__rail {
            grid-auto-columns: 72%;
            gap: 14px;
        }

        .snap-store__grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 12px;
        }

        .snap-store__banner {
            padding: 20px;
        }

        .snap-store__arrows--banner {
            display: none;
        }

        .snap-store__quick-box {
            grid-template-columns: minmax(0, 1fr);
        }

        .snap-store__quick-media {
            min-height: 220px;
        }

        .snap-store__wa-float {
            width: 52px;
            height: 52px;
            bottom: 16px;
            inset-inline-start: 16px;
        }

        .snap-store__brands span {
            min-width: 0;
            flex: 1 1 40%;
        }
    }

    /* Panel options: sticky header, hero heights, mobile grid, announcement, socials, backgrounds, floating button side */
    .snap-store--sticky .snap-store__header {
        position: sticky;
    }

    .snap-store--hero-compact .snap-store__hero,
    .snap-store--hero-compact .snap-store__slide-in {
        min-height: 380px;
    }

    .snap-store--hero-tall .snap-store__hero,
    .snap-store--hero-tall .snap-store__slide-in {
        min-height: 620px;
    }

    .snap-store__slide--bg {
        background-position: center;
        background-size: cover;
    }

    .snap-store__banner--image {
        background-position: center;
        background-size: cover;
    }

    .snap-store__announce {
        font-size: 14px;
        font-weight: 700;
        text-align: center;
    }

    .snap-store__announce-in {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 40px;
        padding-inline: 44px;
    }

    .snap-store__announce button {
        position: absolute;
        inset-inline-end: 12px;
        border: 0;
        background: transparent;
        font-size: 22px;
        line-height: 1;
        opacity: 0.8;
    }

    .snap-store__topbar-text {
        display: inline-flex;
        align-items: center;
        gap: 6px;
    }

    .snap-store__topbar-text .snap-store__icon {
        width: 16px;
        height: 16px;
        color: var(--st-primary);
    }

    .snap-store__socials {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-top: 18px;
    }

    .snap-store__socials a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        border-radius: 12px;
        background: var(--st-tint);
        color: var(--st-primary-700);
        font-size: 18px;
        transition: background-color 150ms ease, color 150ms ease;
    }

    .snap-store__socials a:hover {
        background: var(--st-primary);
        color: #fff;
    }

    .snap-store__socials--footer {
        margin-top: 0;
    }

    .snap-store__socials--footer a {
        width: 34px;
        height: 34px;
        background: rgba(255, 255, 255, 0.08);
        color: #fff;
        font-size: 15px;
    }

    .snap-store__footer-end {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        gap: 10px;
    }

    .snap-store__wa-float--end {
        inset-inline-start: auto;
        inset-inline-end: 22px;
    }

    @media (max-width: 1100px) {
        .snap-store__rail {
            grid-auto-columns: calc((100% - (min(var(--st-per-row), 3) - 1) * 18px) / min(var(--st-per-row), 3));
        }

        .snap-store__grid {
            grid-template-columns: repeat(min(var(--st-per-row), 3), minmax(0, 1fr));
        }
    }

    @media (max-width: 640px) {
        .snap-store--mobile-grid .snap-store__rail {
            grid-template-columns: repeat(2, minmax(0, 1fr));
            grid-auto-columns: auto;
            grid-auto-flow: row;
            gap: 12px;
            overflow: visible;
        }

        .snap-store--mobile-grid .snap-store__arrows {
            display: none;
        }

        .snap-store--hero-tall .snap-store__hero,
        .snap-store--hero-tall .snap-store__slide-in,
        .snap-store--hero-compact .snap-store__hero,
        .snap-store--hero-compact .snap-store__slide-in {
            min-height: 0;
        }

        .snap-store__footer-end {
            align-items: flex-start;
        }

        .snap-store__wa-float--end {
            inset-inline-end: 16px;
        }
    }

    @media (prefers-reduced-motion: reduce) {
        .snap-store *,
        .snap-login--modal {
            animation: none !important;
            transition: none !important;
            scroll-behavior: auto !important;
        }
    }
}

/* ===================== Appearance picker (المظهر): 4 colour styles =====================
 * The style is stored in localStorage (snap_store_style) and set on <html data-store-style="...">
 * before first paint. !important is needed because header/footer set the default tokens inline. */
html[data-store-style="emerald"] .snap-store,
html[data-store-style="emerald"] .snap-login-modal {
    --st-primary: #12a150 !important; --st-primary-600: #0e8a44 !important; --st-primary-700: #0b6f37 !important;
    --st-ink: #0d2a1c !important; --st-tint: #e7f7ee !important; --st-tint-2: #f3fbf6 !important;
    --st-line: #d5ebdd !important; --st-accent: #ffc83d !important;
}
html[data-store-style="violet"] .snap-store,
html[data-store-style="violet"] .snap-login-modal {
    --st-primary: #6d4aff !important; --st-primary-600: #5b3ae6 !important; --st-primary-700: #4a2cc4 !important;
    --st-ink: #1e1450 !important; --st-tint: #efebff !important; --st-tint-2: #f7f5ff !important;
    --st-line: #e0d9fb !important; --st-accent: #ff7ab6 !important;
}
html[data-store-style="sunset"] .snap-store,
html[data-store-style="sunset"] .snap-login-modal {
    --st-primary: #f26b1d !important; --st-primary-600: #d95c12 !important; --st-primary-700: #b84c0c !important;
    --st-ink: #2b1a0e !important; --st-tint: #fff0e6 !important; --st-tint-2: #fff8f2 !important;
    --st-line: #f3dccb !important; --st-accent: #ffc107 !important;
}

@media screen {
    .snap-store__style { position: relative; }

    .snap-store__style-btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        height: 42px;
        padding: 0 14px;
        border: 1px solid var(--st-line, #dbe5f1);
        border-radius: 12px;
        background: #fff;
        color: var(--st-ink);
        font: inherit;
        font-weight: 700;
        white-space: nowrap;
    }

    .snap-store__style-btn:hover,
    .snap-store__style-btn[aria-expanded="true"] {
        border-color: var(--st-primary);
        color: var(--st-primary);
    }

    .snap-store__style-dot {
        width: 18px;
        height: 18px;
        border-radius: 50%;
        background: conic-gradient(var(--st-primary) 0 50%, var(--st-accent, #1ed53e) 50% 100%);
        box-shadow: 0 0 0 2px #fff, 0 0 0 3px var(--st-line, #dbe5f1);
        flex: none;
    }

    .snap-store__style-menu {
        position: absolute;
        top: calc(100% + 8px);
        inset-inline-end: 0;
        z-index: 60;
        width: 230px;
        padding: 8px;
        border: 1px solid var(--st-line, #dbe5f1);
        border-radius: 14px;
        background: #fff;
        box-shadow: var(--st-shadow-lg);
    }

    .snap-store__style-menu[hidden] { display: none; }

    .snap-store__style-menu p {
        margin: 4px 8px 8px;
        color: var(--st-muted);
        font-size: 12.5px;
    }

    .snap-store__style-opt {
        display: flex;
        align-items: center;
        gap: 10px;
        width: 100%;
        padding: 9px 10px;
        border: 0;
        border-radius: 10px;
        background: transparent;
        color: var(--st-text);
        font: inherit;
        text-align: start;
    }

    .snap-store__style-opt:hover { background: var(--st-tint-2); }

    .snap-store__style-opt[aria-checked="true"] {
        background: var(--st-tint);
        color: var(--st-ink);
        font-weight: 700;
    }

    .snap-store__style-opt[aria-checked="true"]::after {
        content: "\2713";
        margin-inline-start: auto;
        color: var(--st-primary);
    }

    .snap-store__style-opt .snap-store__style-dot {
        background: conic-gradient(var(--c1) 0 50%, var(--c2) 50% 100%);
    }

    @media (max-width: 760px) {
        .snap-store__style-btn { padding: 0 10px; }
        .snap-store__style-btn .snap-store__style-label { display: none; }
    }
}

/* Small screens: "Snap Solutions" is longer than the old name, so keep the header on one row. */
@media screen and (max-width: 760px) {
    .snap-store .snap-store__brand strong { font-size: 18px; letter-spacing: 0.5px; }
    .snap-store .snap-store__header-tools { gap: 8px; }
    .snap-store .snap-store__login-btn { padding: 0 12px; }
    .snap-store .snap-store__login-btn span { display: none; }
}

/* «عمليات بحث شائعة» في صفحة المنتج (كلمات SEO مرئية وروابط بحث داخلية) */
@media screen {
    .snap-store__seo-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 14px 0 4px; font-size: 13px; }
    .snap-store__seo-tags > span { color: var(--st-muted); font-weight: 700; margin-inline-end: 2px; }
    .snap-store__seo-tags a { padding: 3px 10px; border-radius: 999px; background: var(--st-tint-2); border: 1px solid var(--st-line, #dbe5f1); color: var(--st-ink); }
    .snap-store__seo-tags a:hover { border-color: var(--st-primary); color: var(--st-primary); }
}

/* Product page on phones: image on top, details below (the page sets a 2-column grid inline). */
@media screen and (max-width: 760px) {
    .snap-store .snap-store__product { grid-template-columns: 1fr !important; gap: 1.25rem !important; }
    .snap-store .snap-store__product-media img { max-height: 340px; }
}
