/* Copyright (c) 2026 Donnie V. Savage, dSavage Networks */
/* Licensed for use by No Rules Riders. All Rights Reserved. */
.shopping-page {
    position:relative;
    isolation:isolate;
    overflow:hidden;
    display:grid;
    gap:18px;
    border-color:var(--nrr-alpha-white-18);
    background:
        linear-gradient(180deg, var(--nrr-alpha-true-black-35), var(--nrr-alpha-true-black-90)),
        url('/assets/images/branding/site-theme-bg.jpg') center / cover no-repeat;
    color:var(--nrr-color-surface);
}
.shopping-page::before {
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background:
        radial-gradient(circle at 18% 12%, var(--nrr-alpha-orange-light-18), transparent 30%),
        radial-gradient(circle at 82% 10%, var(--nrr-alpha-link-green-12), transparent 28%);
    pointer-events:none;
}
.shopping-hero { display:grid; gap:10px; }
.shopping-hero-top { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; }
.shopping-hero-copy { display:grid; gap:10px; min-width:0; }
.shopping-page .shopping-hero-copy h1 { color:var(--nrr-color-white); text-shadow:0 3px 12px var(--nrr-alpha-true-black-55); }
.shopping-page .shopping-hero-copy p { color:var(--nrr-color-surface); max-width:760px; text-shadow:0 2px 8px var(--nrr-alpha-true-black-55); }
.shopping-commerce-actions { display:flex; align-items:center; justify-content:flex-end; gap:16px; padding:0; border-radius:0; background:transparent; box-shadow:none; }
.shopping-commerce-actions a { border:0 !important; background:transparent !important; color:var(--nrr-color-white) !important; text-decoration:none; }
.shopping-commerce-actions a:hover,
.shopping-commerce-actions a:focus-visible { color:var(--nrr-color-white) !important; text-decoration:none; }
.shopping-commerce-orders { display:grid; gap:1px; min-width:112px; padding:4px 6px; border-radius:4px; line-height:1.05; }
.shopping-commerce-orders:hover,
.shopping-commerce-orders:focus-visible,
.shopping-commerce-cart:hover,
.shopping-commerce-cart:focus-visible { background:var(--nrr-alpha-white-08); }
.shopping-commerce-orders span { font-size:20px; font-weight:900; opacity:1; letter-spacing:.01em; }
.shopping-commerce-orders strong { font-size:23px; line-height:1.05; }
.shopping-commerce-cart { display:flex; gap:8px; align-items:flex-end; padding:0 8px 4px; border-radius:4px; }
.shopping-commerce-cart-icon { position:relative; display:inline-flex; width:82px; height:56px; align-items:flex-end; justify-content:center; }
.shopping-commerce-cart-icon img { display:block; width:82px; height:56px; }
.shopping-commerce-cart-icon strong { position:absolute; top:4px; left:50%; transform:translatex(-50%); min-width:24px; color:var(--nrr-color-white); background:transparent; font-size:24px; font-weight:900; line-height:1; text-align:center; text-shadow:none; }
.shopping-commerce-cart-text { display:grid; gap:1px; line-height:1.05; }
.shopping-commerce-cart-text strong { font-size:22px; line-height:1.05; }
.shopping-commerce-cart-text span { color:var(--nrr-color-surface); font-size:12px; font-weight:800; white-space:nowrap; }
[data-shopping-toast][hidden] { display:none !important; }
.shopping-toast-stack { position:fixed; right:max(10px, env(safe-area-inset-right)); bottom:max(10px, env(safe-area-inset-bottom)); top:auto; left:auto; z-index:10000; display:flex; justify-content:flex-end; width:min(340px, calc(100vw - 20px)); transform:none; pointer-events:none; animation:shopping-toast-auto-close .24s ease 5s forwards; }
.shopping-toast { display:grid; gap:10px; width:100%; padding:12px 14px; border:2px solid var(--nrr-color-green); border-radius:16px; background:var(--nrr-color-white); color:var(--nrr-color-dark); box-shadow:0 18px 36px var(--nrr-alpha-true-black-35); pointer-events:auto; cursor:default; }
.shopping-toast-title { font-size:16px; line-height:1.2; }
.shopping-toast-actions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.shopping-toast .shopping-button-secondary { min-height:34px; padding:6px 12px; border-radius:999px; font-size:13px; }
.shopping-toast-stack.is-hiding { opacity:0; transform:translateY(8px) scale(.98); transition:opacity .12s ease, transform .12s ease; }
@keyframes shopping-toast-auto-close { to { opacity:0; visibility:hidden; transform:translateY(8px) scale(.98); } }
.shopping-layout { display:grid; grid-template-columns:260px minmax(0, 1fr); gap:18px; align-items:start; }
.shopping-categories { position:sticky; top:118px; display:grid; gap:10px; padding:14px; border:1px solid var(--nrr-color-line); border-radius:18px; background:var(--nrr-color-white); box-shadow:0 8px 22px var(--nrr-alpha-true-black-08); }
.shopping-categories-title { margin:0; color:var(--nrr-color-dark); font-size:16px; }
.shopping-category-list { display:grid; gap:8px; }

.shopping-all-merchandise-hero { position:relative; display:block; border:1px solid var(--nrr-color-line); border-radius:16px; background:var(--nrr-color-black); overflow:hidden; text-decoration:none; box-shadow:0 6px 16px var(--nrr-alpha-true-black-08); }
.shopping-all-merchandise-hero:hover { box-shadow:0 8px 22px var(--nrr-alpha-true-black-18); }
.shopping-all-merchandise-hero.is-active { border-color:var(--nrr-color-green); box-shadow:0 0 0 2px var(--nrr-color-green) inset, 0 8px 22px var(--nrr-alpha-true-black-12); }
.shopping-all-merchandise-hero img { display:block; width:100%; object-fit:cover; }
.shopping-all-merchandise-hero--secondary img { max-height:92px; opacity:.9; }
.shopping-all-merchandise-label { position:absolute; left:10px; right:10px; bottom:10px; display:block; padding:6px 10px; border-radius:999px; background:var(--nrr-alpha-true-black-74); color:var(--nrr-color-white); font-size:13px; font-weight:900; line-height:1.1; text-align:center; box-shadow:0 3px 10px var(--nrr-alpha-true-black-35); }
.shopping-category-link { display:grid; grid-template-columns:48px minmax(0, 1fr); gap:10px; align-items:center; padding:8px 10px; border:1px solid var(--nrr-color-line); border-radius:14px; background:var(--nrr-color-white); color:var(--nrr-color-dark); text-decoration:none; }
.shopping-category-link:hover { background:var(--nrr-color-surface); }
.shopping-category-link.is-active { border-color:var(--nrr-color-green); background:var(--nrr-color-surface); box-shadow:0 0 0 1px var(--nrr-color-green) inset; }
.shopping-category-link--featured { border-width:2px; padding:8px 10px; box-shadow:0 0 0 1px var(--nrr-color-green) inset, 0 6px 14px var(--nrr-alpha-true-black-12); }
.shopping-category-link--featured .shopping-category-thumb { width:48px; height:40px; }
.shopping-category-thumb { width:48px; height:40px; border-radius:10px; background:var(--nrr-color-surface); overflow:hidden; display:flex; align-items:center; justify-content:center; }
.shopping-category-thumb img { width:100%; height:100%; object-fit:contain; display:block; }
.shopping-category-name { font-weight:800; line-height:1.2; }
.shopping-category-sub { display:block; margin-top:3px; font-size:12px; line-height:1.25; color:var(--nrr-color-dark-soft); }
.shopping-category-link.is-active .shopping-category-name::after { content:" selected"; color:var(--nrr-color-green); font-size:11px; font-weight:900; text-transform:uppercase; }
.shopping-category-link.is-active .shopping-category-sub { color:var(--nrr-color-green); font-weight:800; }
.shopping-main { display:grid; gap:16px; scroll-margin-top:142px; }
.shopping-results-summary { display:grid; gap:10px; align-items:start; padding:14px; border:1px solid var(--nrr-color-line); border-radius:16px; background:var(--nrr-color-white); color:var(--nrr-color-dark); box-shadow:0 8px 22px var(--nrr-alpha-true-black-08); }
.shopping-results-header { display:flex; gap:12px; align-items:flex-start; justify-content:space-between; }
.shopping-results-copy { display:grid; gap:3px; min-width:0; }
.shopping-results-kicker { color:var(--nrr-color-green); font-size:12px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.shopping-results-summary h2 { margin:0; color:var(--nrr-color-dark); font-size:24px; line-height:1.15; }
.shopping-results-summary p { margin:0; color:var(--nrr-color-dark-soft); font-size:14px; font-weight:700; }
.shopping-results-actions { flex:0 0 auto; }
.shopping-results-tools { display:flex; gap:8px; flex-wrap:wrap; align-items:end; padding:10px; border:1px solid var(--nrr-color-green); border-radius:14px; background:var(--nrr-alpha-white-64); }
.shopping-results-tools label { display:grid; gap:4px; color:var(--nrr-color-dark); font-weight:800; font-size:12px; }
.shopping-results-tools input,
.shopping-results-tools select { min-width:170px; padding:8px 11px; border:1px solid var(--nrr-color-line); border-radius:11px; background:var(--nrr-color-white); color:var(--nrr-color-dark); }
.shopping-results-tools .shopping-button,
.shopping-results-tools .shopping-button-secondary { min-height:36px; padding:7px 13px; border-radius:999px; }
.shopping-results-tools .shopping-status-note { margin-left:auto; align-self:center; }
.shopping-filter-chip { grid-column:1 / -1; justify-self:start; display:inline-flex; gap:8px; align-items:center; max-width:100%; padding:7px 11px; border:1px solid var(--nrr-color-green); border-radius:999px; background:var(--nrr-color-surface); color:var(--nrr-color-dark); font-size:13px; font-weight:800; }
.shopping-filter-chip span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.shopping-filter-chip a { display:inline-flex; width:22px; height:22px; align-items:center; justify-content:center; border-radius:999px; background:var(--nrr-color-green); color:var(--nrr-color-white); text-decoration:none; font-size:18px; line-height:1; }
.shopping-filter-chip a:hover,
.shopping-filter-chip a:focus-visible { background:var(--nrr-color-green-dark); color:var(--nrr-color-white); }
.shopping-loading-message { grid-column:1 / -1; padding:10px 12px; border:1px solid var(--nrr-color-green); border-radius:12px; background:var(--nrr-color-surface); color:var(--nrr-color-green); font-weight:900; }
.shopping-loading-message[hidden] { display:none !important; }
.shopping-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(240px, 280px)); gap:18px; justify-content:start; align-items:start; }
.shopping-card { display:grid; gap:12px; width:100%; max-width:280px; padding:16px; border:1px solid var(--nrr-color-line); border-radius:18px; background:var(--nrr-color-white); box-shadow:0 8px 22px var(--nrr-alpha-true-black-08); }
.shopping-card-media { aspect-ratio:4/3; border-radius:14px; background:var(--nrr-color-surface); overflow:hidden; display:flex; align-items:center; justify-content:center; }
.shopping-card-media img { width:100%; height:100%; object-fit:cover; display:block; }
.shopping-card-top { display:flex; justify-content:space-between; gap:10px; align-items:start; }
.shopping-card-title { margin:0; font-size:20px; line-height:1.2; }
.shopping-card-title a { color:var(--nrr-color-dark); text-decoration:none; }
.shopping-card-title a:hover { text-decoration:underline; }
.shopping-price-stack { display:grid; gap:3px; justify-items:end; }
.shopping-price { font-size:22px; font-weight:800; color:var(--nrr-color-red); white-space:nowrap; }
.shopping-price-base { font-size:12px; color:var(--nrr-color-muted); text-decoration:line-through; white-space:nowrap; }
.shopping-card-copy { color:var(--nrr-color-dark-soft); font-size:14px; }
.shopping-card-actions { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.shopping-button-secondary:hover { background:var(--nrr-color-surface); }
.shopping-status-note { font-size:13px; color:var(--nrr-color-surface); font-weight:700; text-shadow:0 1px 4px var(--nrr-alpha-true-black-55); }
.shopping-pagination { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.shopping-pagination a,
.shopping-pagination span { display:inline-flex; min-width:38px; min-height:38px; padding:8px 12px; align-items:center; justify-content:center; border:1px solid var(--nrr-color-line); border-radius:10px; background:var(--nrr-color-white); color:var(--nrr-color-dark-mid); text-decoration:none; }
.shopping-pagination .is-current { background:var(--nrr-color-dark); color:var(--nrr-color-white); border-color:var(--nrr-color-dark); }
.shopping-empty { padding:28px; border:1px dashed var(--nrr-color-line-strong); border-radius:18px; background:var(--nrr-color-surface); }
.shopping-mobile-categories { display:none; gap:10px; padding-bottom:4px; }
.shopping-mobile-categories .shopping-category-link { min-width:0; }
.shopping-mobile-categories .shopping-category-link--featured { grid-column:1 / -1; }
.shopping-mobile-categories .shopping-all-merchandise-hero { width:100%; }
@media (max-width: 980px) {
    .shopping-layout { grid-template-columns:1fr; }
    .shopping-categories { display:none; }
    .shopping-mobile-categories { display:grid; grid-template-columns:repeat(auto-fit, minmax(min(100%, 220px), 1fr)); overflow:visible; }
    .shopping-mobile-categories .shopping-all-merchandise-hero { grid-column:1 / -1; }
    .shopping-mobile-categories .shopping-all-merchandise-hero img { max-height:170px; object-fit:cover; }
    .shopping-mobile-categories .shopping-all-merchandise-hero--secondary img { max-height:92px; }
}
@media (max-width: 720px) {
    .shopping-hero-top { display:grid; }
    .shopping-commerce-actions { justify-content:space-between; overflow-x:auto; padding:0; }
    .shopping-commerce-orders { min-width:98px; }
    .shopping-commerce-orders span { font-size:16px; }
    .shopping-commerce-orders strong { font-size:18px; }
    .shopping-commerce-cart-icon { width:68px; height:46px; }
    .shopping-commerce-cart-icon img { width:68px; height:46px; }
    .shopping-commerce-cart-icon strong { top:3px; min-width:20px; font-size:20px; }
    .shopping-commerce-cart-text strong { font-size:20px; }
    .shopping-toast-stack { right:max(8px, env(safe-area-inset-right)); bottom:max(8px, env(safe-area-inset-bottom)); top:auto; left:auto; width:calc(100vw - 16px); }
    .shopping-toast-actions { width:100%; }
    .shopping-results-header { display:grid; }
    .shopping-results-actions { justify-self:start; }
    .shopping-results-tools { display:grid; grid-template-columns:1fr; }
    .shopping-results-tools label { width:100%; }
    .shopping-results-tools input,
    .shopping-results-tools select { width:100%; min-width:0; }
    .shopping-results-tools .shopping-status-note { margin-left:0; justify-self:start; }
    .shopping-grid { grid-template-columns:1fr; }
    .shopping-card { max-width:none; }
}

.shopping-card-add-form {
    margin: 0;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
}

.shopping-card-actions .shopping-button,
.shopping-card-actions .shopping-button-secondary {
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 25px;
    padding: 0 14px;
    border-radius: 999px;
    border-width: 1px;
    text-decoration: none;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}


