/* V24.3 presentation layer — matched to the SQL storefront markup */
:root{--navy:#102b49;--navy-dark:#071b2e;--red:#a5212b;--cream:#f5f0e5;--paper:#fff;--ink:#17202a;--muted:#66717c;--line:#d9dde1;--max:1224px}
body{margin:0;background:#fff;color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.5}
.v23top{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:24px;padding:10px max(4%,calc((100% - var(--max))/2));min-height:74px;background:var(--cream);border-bottom:5px solid var(--navy);box-shadow:0 2px 10px rgba(0,0,0,.08)}
.v23brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--navy);white-space:nowrap}.v23brand img{width:42px;height:42px;object-fit:contain;mix-blend-mode:multiply}.v23brand strong{font:800 30px/1 Georgia,serif;color:var(--red)}.v23brand span{font-weight:800;font-size:16px}.v23phone{margin-left:auto;font-weight:800}.v23phone a{color:var(--navy);text-decoration:none}.v23top nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.v23top nav a{color:var(--navy);text-decoration:none;font-size:14px;font-weight:700;padding:9px 11px;border-radius:4px}.v23top nav a:hover{background:rgba(16,43,73,.08)}
.v23wrap{max-width:var(--max);margin:auto;padding:24px}
.hero{position:relative;isolation:isolate;min-height:500px;margin:0 0 20px;padding:60px 48px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);align-items:center;gap:45px;overflow:hidden;background:var(--navy-dark);color:#fff;border-radius:2px}.hero:before{content:"";position:absolute;inset:0;z-index:-2;background:url('assets/images/categories/rifles.jpg') center 45%/cover no-repeat;filter:saturate(.75)}.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,20,35,.94) 0%,rgba(10,32,54,.86) 47%,rgba(10,32,54,.48) 100%)}.hero h1{margin:0;font:400 clamp(42px,5.4vw,70px)/1.02 Georgia,'Times New Roman',serif;letter-spacing:-1.5px;max-width:760px;text-shadow:0 2px 8px rgba(0,0,0,.25)}.hero p{margin:0;max-width:360px;font-size:18px;line-height:1.6;color:#f4f4f4;text-shadow:0 1px 4px rgba(0,0,0,.35)}
.notice,.legalnote{padding:16px 18px;background:var(--cream);border-left:5px solid var(--red);margin:18px 0 32px;color:#2a3036}.notice strong{color:#111}
.category-browser{margin:30px 0 30px}.category-browser h2{margin:0 0 4px;color:var(--navy);font-size:clamp(1.8rem,3vw,2.45rem)}.category-intro{margin:0 0 16px;color:var(--muted)}.category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.category-tile{position:relative;display:block;height:205px;overflow:hidden;border-radius:8px;border:2px solid transparent;background:#111;box-shadow:0 5px 16px rgba(0,0,0,.15);text-decoration:none}.category-tile img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .25s ease,filter .25s ease}.category-tile span{position:absolute;left:16px;right:16px;bottom:14px;z-index:2;color:#fff;font-size:1.12rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em;text-shadow:0 2px 8px #000}.category-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.86) 100%);z-index:1}.category-tile:hover img{transform:scale(1.045);filter:brightness(1.08)}.category-tile.active{border-color:var(--red);box-shadow:0 0 0 2px rgba(165,33,43,.15),0 5px 16px rgba(0,0,0,.15)}
.filterbuttons{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0 14px}.filterbuttons a,.button,button{display:inline-block;background:var(--navy);color:#fff;padding:10px 15px;border:0;text-decoration:none;border-radius:4px;font:700 14px/1.2 Arial,sans-serif;cursor:pointer}.filterbuttons a:hover,.button:hover,button:hover{filter:brightness(1.12)}.filterbuttons a.active,.sale{background:var(--red);color:#fff}
.filters,.checkoutform{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;margin:14px 0 16px;padding:18px;background:#f7f8f9;border:1px solid var(--line);border-radius:6px}.filters input,.filters select,.checkoutform input,.checkoutform select,.checkoutform textarea{width:100%;min-height:42px;padding:9px 11px;border:1px solid #bcc4cb;border-radius:4px;background:#fff;font:inherit}.filters button{min-height:42px}
.productgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:18px}.productcard{border:1px solid var(--line);padding:14px;position:relative;background:#fff;border-radius:7px;box-shadow:0 2px 8px rgba(0,0,0,.045)}.productcard>a{text-decoration:none;color:inherit}.productcard img{width:100%;height:190px;object-fit:contain;background:#f6f6f4}.productcard h3{font:700 19px/1.25 Georgia,serif;color:var(--navy);margin:12px 0 7px}.productcard p{margin:5px 0;color:var(--muted);font-size:13px}.productcard>strong{display:block;margin:10px 0;font-size:20px;color:#111}.sale{position:absolute;z-index:2;top:10px;left:10px;padding:5px 8px;border-radius:3px;font-size:11px;letter-spacing:.06em}.productcard form button{width:100%;margin-top:4px}
.pagination{display:flex;gap:6px;margin:26px 0;flex-wrap:wrap}.pagination a{padding:8px 11px;border:1px solid #c8cdd2;color:var(--navy);text-decoration:none;border-radius:3px}.pagination .active{background:var(--navy);color:#fff;border-color:var(--navy)}
.newsletter{margin:42px 0 10px;padding:28px;background:var(--cream);border-top:4px solid var(--red)}.newsletter h2{margin-top:0;color:var(--navy)}.newsletter form{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.newsletter input[type=email]{min-width:260px;padding:11px;border:1px solid #bbb}.newsletter label{font-size:14px}
.productdetail{display:grid;grid-template-columns:minmax(280px,1fr) 1.2fr;gap:34px}.productdetail>img{width:100%;max-height:520px;object-fit:contain;background:#f6f6f4}.carttable{width:100%;border-collapse:collapse}.carttable th,.carttable td{padding:10px;border-bottom:1px solid #ddd;text-align:left}.stats{display:flex;gap:15px;flex-wrap:wrap}.stats div{padding:20px;background:var(--cream);min-width:150px}.stats strong{display:block;font-size:2rem}.error{padding:12px;background:#fee;color:#900}
.v23footer{margin-top:50px;padding:34px max(4%,calc((100% - var(--max))/2));background:var(--navy-dark);color:#fff;border-top:5px solid var(--red)}.v23footer p{margin:6px 0}.v23footer a{color:#fff}
@media(max-width:1050px){.category-grid,.productgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.filters{grid-template-columns:repeat(2,minmax(150px,1fr))}.hero{min-height:440px}}
@media(max-width:760px){.v23top{position:relative;padding:10px 16px;gap:10px}.v23brand span{font-size:13px}.v23brand strong{font-size:25px}.v23brand img{width:36px;height:36px}.v23phone{order:3;margin-left:0;width:100%}.v23top nav{margin-left:auto}.v23wrap{padding:16px}.hero{min-height:430px;padding:40px 26px;grid-template-columns:1fr;align-content:center;gap:22px}.hero h1{font-size:clamp(38px,11vw,55px)}.hero p{font-size:16px}.category-grid,.productgrid,.filters{grid-template-columns:1fr}.category-tile{height:185px}.productdetail{grid-template-columns:1fr}.carttable{font-size:.85rem}.newsletter form{align-items:stretch;flex-direction:column}.newsletter input[type=email]{width:100%;min-width:0}}
/* V24.4 pre-SQL storefront header compatibility */
.header-top{background:#f7f2e8}.header-top .nav-wrap{height:74px}.operations-mark{width:36px;height:44px;object-fit:contain}.header-contact{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;line-height:1.2}.header-phone{color:#132d4f;text-decoration:none;font-weight:800;font-size:18px}.header-contact span{font-size:11px;letter-spacing:1.3px;color:#555;margin-top:5px}.nav-bar{background:#132d4f}.nav-row{height:54px}.nav-bar .main-nav a{color:#fff}.nav-bar .nav-cta{background:#a52027;color:#fff;border-color:#a52027;text-decoration:none;font-weight:800;padding:10px 18px}.site-footer a{color:#bbb;text-decoration:none}.site-footer a:hover{color:#fff}
@media(max-width:720px){.header-contact{display:none}.nav-bar .nav-row{height:auto;min-height:52px}.nav-bar .main-nav{top:74px;background:#132d4f}.nav-bar .nav-cta{margin:8px 0}}

/* V24.5 inventory availability, filter labels, contact layout and preferred hero */
.hero:before{background-image:url('SiteImages/LogoForGC_Basketball_Display.jpg')!important;background-position:center center!important;filter:none!important}
.inventory-filters{grid-template-columns:repeat(4,minmax(160px,1fr));align-items:end}.filter-field{display:flex;flex-direction:column;gap:6px}.filter-field>span,.filter-title{font-size:12px;font-weight:800;letter-spacing:.04em;color:#243747;text-transform:uppercase}.filter-search{grid-column:span 2}.inventory-price-range{grid-column:span 2;min-width:0!important}.price-range-values{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#0c2a40}.inventory-price-range label{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:10px;margin:0}.inventory-price-range label span{font-size:12px;color:#555}.inventory-price-range input[type=range]{height:auto!important;padding:0!important;border:0!important;accent-color:#9f1d24}.filter-actions{display:flex;align-items:center;gap:12px}.filter-actions button{min-width:130px}.filter-actions a{font-weight:700;color:#52616d}.availability-badge{margin:9px 0;padding:7px 9px;border-radius:4px;font-size:12px;font-weight:800}.availability-badge.in-stock,.availability-panel.in-stock{background:#edf7ef;color:#245d30;border:1px solid #bcd9c1}.availability-badge.out-of-stock,.availability-panel.out-of-stock{background:#fff4e8;color:#7b4712;border:1px solid #e7c8a5}.check-availability{display:block;text-align:center;text-decoration:none;margin-top:6px}.availability-panel{display:flex;flex-direction:column;gap:4px;padding:13px 15px;margin:14px 0;border-radius:5px}.availability-panel span{font-size:14px}.cart-warning a{font-weight:800}.content-shell{width:min(calc(100% - 48px),1320px);margin:0 auto;padding:42px 0 70px}.contact-grid{align-items:start}.contact-info h2,.form-card h2{margin-top:0}.contact-details a{color:#0c2a40}.form-card button{justify-self:start}.checkoutform textarea{grid-column:1/-1;min-height:150px}
@media(max-width:1000px){.inventory-filters{grid-template-columns:repeat(2,minmax(150px,1fr))}.filter-search,.inventory-price-range{grid-column:span 2}}
@media(max-width:700px){.inventory-filters{grid-template-columns:1fr}.filter-search,.inventory-price-range{grid-column:span 1}.inventory-price-range label{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr!important;gap:35px!important}.content-shell{width:min(calc(100% - 30px),1320px)}}


/* V24.6 - Out-of-stock availability CTA visibility fix */
.productcard a.button.check-availability,
.productdetail a.button.check-availability,
a.button.check-availability {
    display: block;
    background: #0c2a40;
    color: #ffffff !important;
    border: 2px solid #0c2a40;
    text-align: center;
    text-decoration: none;
    font-weight: 800;
    opacity: 1;
    visibility: visible;
}

.productcard a.button.check-availability:hover,
.productdetail a.button.check-availability:hover,
a.button.check-availability:hover {
    background: #9f1d24;
    color: #ffffff !important;
    border-color: #9f1d24;
    filter: none;
}


/* V24.7 - expanded pagination */
.pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: .4rem;
    margin: 2rem 0;
}
.pagination-summary {
    width: 100%;
    text-align: center;
    font-weight: 700;
    margin-bottom: .35rem;
}
.pagination-ellipsis {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2rem;
    padding: .55rem .2rem;
    font-weight: 800;
}
.pagination-nav {
    padding-left: .8rem !important;
    padding-right: .8rem !important;
}


/* V24.8 - product image click-to-enlarge lightbox */
.productdetail .product-image-zoom {
    position: relative;
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    border-radius: 6px;
    background: #f6f6f4;
    cursor: zoom-in;
    overflow: hidden;
}
.productdetail .product-image-zoom:hover {
    filter: none;
}
.productdetail .product-image-zoom > img {
    display: block;
    width: 100%;
    max-height: 520px;
    object-fit: contain;
    background: #f6f6f4;
    transition: transform .2s ease;
}
.productdetail .product-image-zoom:hover > img {
    transform: scale(1.015);
}
.zoom-hint {
    position: absolute;
    right: 12px;
    bottom: 12px;
    padding: 7px 10px;
    border-radius: 4px;
    background: rgba(7,27,46,.88);
    color: #fff;
    font: 700 12px/1.2 Arial,sans-serif;
    pointer-events: none;
}
.image-lightbox[hidden] {
    display: none !important;
}
.image-lightbox {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px;
    background: rgba(0,0,0,.88);
    cursor: zoom-out;
}
.image-lightbox img {
    display: block;
    max-width: min(94vw, 1500px);
    max-height: 90vh;
    width: auto;
    height: auto;
    object-fit: contain;
    background: #fff;
    box-shadow: 0 18px 60px rgba(0,0,0,.45);
    cursor: default;
}
.image-lightbox-close {
    position: fixed;
    top: 18px;
    right: 24px;
    z-index: 10001;
    width: 46px;
    height: 46px;
    padding: 0;
    border: 2px solid rgba(255,255,255,.65);
    border-radius: 50%;
    background: rgba(7,27,46,.92);
    color: #fff;
    font: 400 34px/40px Arial,sans-serif;
    cursor: pointer;
}
.image-lightbox-close:hover {
    background: #9f1d24;
    filter: none;
}
body.lightbox-open {
    overflow: hidden;
}
@media(max-width:700px) {
    .image-lightbox { padding: 16px; }
    .image-lightbox-close { top: 10px; right: 10px; }
    .zoom-hint { right: 8px; bottom: 8px; }
}


/* V24.12 - combinable inventory quick filters */
.inventory-filter-shortcuts {
    margin: 1.25rem auto 1.75rem;
}
.filter-button-group {
    margin-bottom: 1rem;
}
.filter-group-title {
    display: block;
    margin-bottom: .45rem;
    font-weight: 800;
    letter-spacing: .02em;
}
.filter-group-title small {
    font-weight: 500;
    opacity: .75;
}
.status-filterbuttons a.active {
    box-shadow: inset 0 0 0 2px rgba(255,255,255,.45);
}
.filterbuttons a.secondary {
    background: transparent;
    color: #0c2a40;
    border: 1px solid #0c2a40;
}
.active-filter-summary {
    margin: .75rem 0 0;
    padding: .7rem .9rem;
    border-left: 4px solid #9f1d24;
    background: #f4f5f6;
}


/* V24.13 - conventional checkout form layout */
.checkout-page { padding-top: 2rem; }
.checkout-heading { max-width: 760px; margin-bottom: 1.5rem; }
.checkout-heading h1 { margin-bottom: .45rem; }
.checkout-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 2rem;
    align-items: start;
}
.checkout-form {
    display: block;
}
.checkout-panel {
    margin: 0 0 1.25rem;
    padding: 1.4rem;
    background: #fff;
    border: 1px solid #d9dde1;
    border-radius: 8px;
    box-shadow: 0 4px 18px rgba(0,0,0,.04);
}
.checkout-panel-heading {
    display: flex;
    gap: .9rem;
    align-items: flex-start;
    padding-bottom: 1rem;
    margin-bottom: 1.15rem;
    border-bottom: 1px solid #e4e6e8;
}
.checkout-panel-heading h2 { margin: 0 0 .2rem; font-size: 1.25rem; }
.checkout-panel-heading p { margin: 0; opacity: .72; }
.checkout-step {
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #0c2a40;
    color: #fff;
    font-weight: 800;
}
.checkout-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem 1.15rem;
}
.checkout-field { min-width: 0; }
.checkout-field-wide { grid-column: 1 / -1; }
.checkout-field label {
    display: block;
    margin-bottom: .4rem;
    font-weight: 700;
}
.checkout-field input,
.checkout-field select,
.checkout-field textarea {
    box-sizing: border-box;
    display: block;
    width: 100%;
    min-height: 46px;
    padding: .7rem .8rem;
    border: 1px solid #b9c0c6;
    border-radius: 5px;
    background: #fff;
    font: inherit;
}
.checkout-field textarea { min-height: 120px; resize: vertical; }
.checkout-field input:focus,
.checkout-field select:focus,
.checkout-field textarea:focus {
    outline: 2px solid rgba(12,42,64,.18);
    border-color: #0c2a40;
}
.checkout-field .optional { font-weight: 400; opacity: .65; }
.checkout-panel .legalnote { margin: 0 0 1.1rem; }
.checkout-submit {
    width: 100%;
    min-height: 50px;
    font-size: 1rem;
}
.checkout-payment-note {
    margin: .65rem 0 0;
    text-align: center;
    font-size: .9rem;
    opacity: .7;
}
.checkout-summary {
    position: sticky;
    top: 1.25rem;
    padding: 1.4rem;
    background: #f4f5f6;
    border: 1px solid #d9dde1;
    border-radius: 8px;
}
.checkout-summary h2 { margin-top: 0; }
.checkout-summary-item {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: .85rem 0;
    border-bottom: 1px solid #d5d9dc;
}
.checkout-summary-item div { min-width: 0; }
.checkout-summary-item div strong { display: block; }
.checkout-summary-item span {
    display: block;
    margin-top: .2rem;
    font-size: .88rem;
    opacity: .7;
}
.checkout-total {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 1rem;
    padding-top: 1rem;
    font-size: 1.15rem;
}
.checkout-total strong { font-size: 1.45rem; }
.checkout-summary-note {
    margin: 1rem 0 0;
    padding-top: 1rem;
    border-top: 1px solid #d5d9dc;
    font-size: .88rem;
    line-height: 1.45;
}
.checkout-error { margin-bottom: 1rem; }

@media (max-width: 850px) {
    .checkout-layout { grid-template-columns: 1fr; }
    .checkout-summary { position: static; order: -1; }
}
@media (max-width: 600px) {
    .checkout-fields { grid-template-columns: 1fr; }
    .checkout-field-wide { grid-column: auto; }
    .checkout-panel { padding: 1rem; }
}


/* V24.14 - Featured Inventory */
.featured-inventory {
    padding-top: 2rem;
    padding-bottom: 2rem;
}
.featured-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1.5rem;
    margin-bottom: 1.15rem;
}
.featured-heading h2 { margin: .15rem 0 .25rem; }
.featured-heading p { margin-bottom: 0; }
.featured-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 1rem;
}
.featured-card {
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #fff;
    border: 1px solid #d9dde1;
    border-radius: 8px;
    box-shadow: 0 5px 20px rgba(0,0,0,.06);
}
.featured-card-badges {
    position: absolute;
    z-index: 2;
    top: .65rem;
    left: .65rem;
    right: .65rem;
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
}
.featured-badge,
.featured-sale {
    display: inline-block;
    padding: .35rem .55rem;
    border-radius: 3px;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .05em;
}
.featured-badge {
    background: #0c2a40;
    color: #fff;
}
.featured-sale {
    position: static !important;
}
.featured-image {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 210px;
    padding: 1rem;
    background: #f7f7f5;
}
.featured-image img {
    width: 100%;
    height: 190px;
    object-fit: contain;
}
.featured-card-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 1rem;
}
.featured-maker {
    margin: 0 0 .25rem;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
    opacity: .68;
}
.featured-card h3 {
    margin: 0 0 .35rem;
    font-size: 1.05rem;
    line-height: 1.25;
}
.featured-card h3 a { color: inherit; text-decoration: none; }
.featured-model { margin: 0 0 .65rem; opacity: .75; }
.featured-price {
    display: block;
    margin-top: auto;
    margin-bottom: .65rem;
    font-size: 1.25rem;
}
.featured-view {
    display: block;
    margin-top: .7rem;
    text-align: center;
}
@media(max-width:1000px) {
    .featured-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
    .featured-heading { display: block; }
    .featured-heading .text-link { display: inline-block; margin-top: .65rem; }
    .featured-grid { grid-template-columns: 1fr; }
}


/* V24.15 - shipping summary */
.checkout-summary-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 1rem;
    padding: .7rem 0;
    border-bottom: 1px solid #d5d9dc;
}
.checkout-shipping-note,
.cart-shipping-note {
    font-size: .9rem;
    line-height: 1.45;
}
.checkout-shipping-note {
    margin: .8rem 0 0;
    opacity: .75;
}
.cart-shipping-note {
    max-width: 720px;
    padding: .8rem 1rem;
    background: #f4f5f6;
    border-left: 4px solid #0c2a40;
}


/* V24.16 - Flexible / Combined Shipment */
.order-speed-options {
    display: grid;
    gap: .8rem;
}
.order-speed-card {
    display: flex;
    gap: .8rem;
    align-items: flex-start;
    padding: 1rem;
    border: 1px solid #c9cfd4;
    border-radius: 7px;
    background: #fff;
    cursor: pointer;
}
.order-speed-card:has(input:checked) {
    border-color: #0c2a40;
    box-shadow: inset 0 0 0 1px #0c2a40;
    background: #f5f8fa;
}
.order-speed-card input {
    margin-top: .2rem;
    width: auto;
    min-height: 0;
}
.order-speed-card strong,
.order-speed-card small {
    display: block;
}
.order-speed-card small {
    margin-top: .25rem;
    line-height: 1.45;
    opacity: .76;
}
.combined-wait-field {
    margin-top: 1rem;
}
.combined-wait-field[hidden] {
    display: none !important;
}
.combined-policy-note {
    margin-top: .9rem;
    padding: .8rem 1rem;
    border-left: 4px solid #0c2a40;
    background: #f4f5f6;
    font-size: .9rem;
    line-height: 1.45;
}
.combined-admin-summary,
.combined-admin-head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
}
.combined-admin-list {
    display: grid;
    gap: 1rem;
    margin-top: 1rem;
}
.combined-admin-card {
    padding: 1rem;
    border: 1px solid #d9dde1;
    border-radius: 8px;
    background: #fff;
}
.combined-admin-head span {
    display: block;
    margin-top: .2rem;
    opacity: .7;
}
.combined-admin-form {
    display: grid;
    grid-template-columns: minmax(180px,.7fr) minmax(260px,1.5fr) auto;
    gap: .75rem;
    align-items: end;
}
.combined-admin-form label span {
    display: block;
    margin-bottom: .3rem;
    font-weight: 700;
}
.combined-admin-form select,
.combined-admin-form input {
    box-sizing: border-box;
    width: 100%;
    min-height: 42px;
}
@media(max-width:750px) {
    .combined-admin-form { grid-template-columns: 1fr; }
    .combined-admin-summary,.combined-admin-head { align-items:flex-start; flex-direction:column; }
}
/* V24.18 - Sale savings display */
.sale-savings {
    margin: .35rem 0 .55rem;
    font-weight: 800;
    color: #8b1e24;
    line-height: 1.25;
}
.sale-savings span {
    font-size: .85em;
    font-weight: 700;
}
.product-sale-savings {
    display: inline-flex;
    flex-wrap: wrap;
    gap: .45rem .7rem;
    align-items: center;
    margin: -.25rem 0 .75rem;
    padding: .55rem .75rem;
    border-radius: 5px;
    background: #f7eded;
    color: #8b1e24;
}
.product-sale-savings span {
    font-size: .9rem;
    font-weight: 700;
}
/* V24.20 - Pagination jump-to-page */
.pagination-jump {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    margin-left: .5rem;
    font-weight: 700;
}
.pagination-jump select {
    min-width: 72px;
    padding: .45rem .55rem;
    border: 1px solid #b9c0c6;
    border-radius: 4px;
    background: #fff;
    font: inherit;
}
@media(max-width:650px) {
    .pagination-jump {
        width: 100%;
        justify-content: center;
        margin: .65rem 0 0;
    }
}

/* V24.21 - In-store / consigned inventory */
.inventory-source-badge {
    display: inline-block;
    padding: .34rem .52rem;
    border-radius: 3px;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .05em;
    line-height: 1;
}
.in-store-badge { background: #173d2d; color: #fff; }
.consigned-badge { background: #5b3a16; color: #fff; }
.product-card-flags,
.product-detail-flags {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    align-items: center;
}
.product-card-flags { margin-bottom: .4rem; }
.product-detail-flags { margin-bottom: .75rem; }

.admin-page-heading {
    display: flex;
    justify-content: space-between;
    gap: 1.25rem;
    align-items: flex-end;
    margin-bottom: 1.25rem;
}
.admin-search {
    display: flex;
    gap: .65rem;
    align-items: end;
    margin: 1rem 0;
}
.admin-search label { flex: 1; }
.admin-search label span { display:block; font-weight:700; margin-bottom:.3rem; }
.admin-search input { box-sizing:border-box; width:100%; min-height:44px; }
.admin-table-wrap { overflow-x:auto; }
.admin-inventory-table small { display:block; opacity:.72; }
.admin-price-input { width:95px; }
.admin-qty-input { width:65px; }

.admin-action-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 1rem;
    margin-top: 1.25rem;
}
.admin-action-card {
    display: block;
    padding: 1.15rem;
    border: 1px solid #d9dde1;
    border-radius: 8px;
    background: #fff;
    color: inherit;
    text-decoration: none;
    box-shadow: 0 4px 18px rgba(0,0,0,.04);
}
.admin-action-card strong { display:block; margin-bottom:.35rem; }
.admin-action-card span { display:block; opacity:.72; line-height:1.4; }

.in-store-item-form { max-width: 900px; }
.checkbox-stack {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: .55rem;
}
.checkbox-stack label { margin:0; }
.checkbox-stack input { width:auto; min-height:0; margin-right:.4rem; }
.inventory-photo-preview {
    display:block;
    max-width:420px;
    max-height:320px;
    object-fit:contain;
    margin-top:1rem;
    padding:.5rem;
    border:1px solid #d9dde1;
    border-radius:6px;
    background:#f7f7f5;
}
.recent-in-store { margin-top:2rem; }

@media(max-width:850px){
    .admin-action-grid { grid-template-columns:1fr 1fr; }
}
@media(max-width:650px){
    .admin-page-heading { display:block; }
    .admin-page-heading .button,.admin-page-heading .text-link { display:inline-block; margin-top:.75rem; }
    .admin-action-grid { grid-template-columns:1fr; }
    .admin-search { align-items:stretch; flex-direction:column; }
}
/* V24.22 - Restored landing-page introduction */
.landing-intro{max-width:1180px;margin:0 auto;padding:2.1rem 1.25rem 1.4rem}
.landing-intro .eyebrow{margin:0 0 .45rem;font-size:.78rem;font-weight:900;letter-spacing:.14em}
.landing-intro h2{margin:0;font-size:clamp(1.7rem,3vw,2.7rem);line-height:1.08}

/* V24.24 - Compact filter layout with price sliders on their own bottom row */
.filters {
    align-items: end;
}

/* Keep the normal search/dropdown controls compact and grouped together. */
.filters > label:not(.price-filter-control),
.filters > .filter-field:not(.price-filter-row) {
    min-width: 0;
}

/* Price controls occupy their own row beneath the other filters. */
.price-filter-row {
    grid-column: 1 / -1;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(220px, 1fr));
    gap: 1.25rem;
    margin-top: .2rem;
    padding-top: .9rem;
    border-top: 1px solid rgba(0,0,0,.10);
}
.price-filter-row .range-wrap {
    width: 100%;
}

/* Fallback for the inherited markup if the sliders are direct filter labels. */
.filters .price-filter-control {
    grid-row: 2;
    width: 100%;
}
.filters .price-filter-control:first-of-type {
    grid-column: 1 / span 3;
}
.filters .price-filter-control:last-of-type {
    grid-column: 4 / -1;
}

/* Slider tracks should use the extra horizontal space. */
.price-filter-row input[type="range"],
.price-filter-control input[type="range"] {
    width: 100%;
}

@media(max-width:750px) {
    .price-filter-row {
        grid-template-columns: 1fr;
        gap: .75rem;
    }
    .filters .price-filter-control {
        grid-column: 1 / -1 !important;
        grid-row: auto;
    }
}

/* V24.25 - Manual merchandise order submission */
.manual-order-page{max-width:900px}
.manual-order-notice,.manual-order-confirmation,.manual-order-disclaimer{
 padding:1rem 1.15rem;border-left:4px solid #0c2a40;background:#f4f5f6;
 line-height:1.5;margin:1rem 0 1.25rem
}
.manual-order-confirmation{max-width:760px}
.manual-order-confirmation h2{margin-top:0}
.manual-order-disclaimer{font-size:.92rem;opacity:.88}

/* V24.26 - Conventional checkout webform layout */
.manual-order-page form {
    max-width: 820px;
    margin: 1.25rem 0 2rem;
}

.manual-order-page form label {
    display: block;
    margin: 0 0 .9rem;
    font-weight: 700;
}

.manual-order-page form input,
.manual-order-page form select,
.manual-order-page form textarea {
    box-sizing: border-box;
    width: 100%;
    min-height: 42px;
    margin-top: .3rem;
    padding: .55rem .7rem;
    font: inherit;
}

.manual-order-page form textarea {
    min-height: 90px;
    resize: vertical;
}

.manual-order-page form h2 {
    margin: 1.4rem 0 .65rem;
}

.manual-order-page .manual-order-submit {
    display: inline-block;
    width: auto !important;
    min-width: 0 !important;
    min-height: 0;
    margin: .35rem 0 0;
    padding: .7rem 1.15rem;
    border: 0;
    border-radius: 4px;
    font: inherit;
    font-weight: 800;
    line-height: 1.2;
    cursor: pointer;
}

@media (max-width: 650px) {
    .manual-order-page form {
        max-width: 100%;
    }
    .manual-order-page .manual-order-submit {
        width: auto !important;
        max-width: 100%;
    }
}

/* V24.29 - Admin order detail / fulfillment view */
.admin-orders-page small{display:block;margin-top:.25rem;opacity:.72}
.order-number-link{color:inherit;text-decoration:underline;text-underline-offset:3px}
.order-view-button{white-space:nowrap;padding:.5rem .75rem}
.order-status-form{display:flex;gap:.4rem;align-items:center}
.order-status-form select{min-width:135px}
.order-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1rem 0 1.5rem}
.order-detail-status{display:flex;gap:.5rem;align-items:center;margin-bottom:1rem}
.order-supplier-group{margin:1rem 0 1.5rem;border:1px solid #d9dde1;border-radius:7px;overflow:hidden;background:#fff}
.order-supplier-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1rem;background:#f4f5f6;border-bottom:1px solid #d9dde1}
.order-supplier-heading h3{margin:0}
.order-supplier-heading span{font-size:.9rem;opacity:.72}
.order-items-table{margin:0}
.order-items-table small{display:block;margin-top:.25rem;opacity:.7}
.order-qty{text-align:center;font-size:1.1rem}
.order-admin-totals{max-width:440px;margin:1.5rem 0 0 auto;border-top:2px solid #222;padding-top:.65rem}
.order-admin-totals>div{display:flex;justify-content:space-between;gap:2rem;padding:.35rem 0}
.order-admin-totals .grand-total{font-size:1.15rem;border-top:1px solid #ccc;margin-top:.35rem;padding-top:.7rem}
@media(max-width:800px){.order-detail-grid{grid-template-columns:1fr}.order-status-form{align-items:stretch;flex-direction:column}.order-view-button{display:inline-block}}

/* V24.30 - Order status notifications/history */
.order-notify-check{display:flex!important;align-items:center;gap:.35rem;font-size:.85rem;font-weight:600;white-space:nowrap}
.order-notify-check input{width:auto!important;min-height:0!important;margin:0}
.order-detail-status{flex-wrap:wrap}
.order-history-panel{margin-top:2rem}
.order-history-list{border:1px solid #d9dde1;border-radius:7px;overflow:hidden;background:#fff}
.order-history-entry{display:grid;grid-template-columns:1fr auto;gap:1rem;padding:.85rem 1rem;border-bottom:1px solid #e5e7e9;align-items:center}
.order-history-entry:last-child{border-bottom:0}
.order-history-entry small,.order-history-email small{display:block;margin-top:.25rem;opacity:.7}
.order-history-email{text-align:right}
.history-email-sent{font-weight:800}
.history-email-failed{font-weight:800}
@media(max-width:750px){.order-history-entry{grid-template-columns:1fr}.order-history-email{text-align:left}.order-status-form{flex-wrap:wrap}}
/* V24.31 - Flexible / combined shipping checkout */
.shipping-choice{border:1px solid #d8dadd;border-radius:8px;padding:1rem;margin:1.25rem 0;background:#fff}
.shipping-choice legend{font-weight:800;padding:0 .35rem}
.shipping-option{display:grid!important;grid-template-columns:auto 1fr;gap:.75rem;align-items:start;padding:.85rem;border:1px solid #e1e3e5;border-radius:6px;margin:.65rem 0;cursor:pointer}
.shipping-option input{width:auto!important;min-height:0!important;margin-top:.2rem}
.shipping-option strong,.shipping-option small{display:block}
.shipping-option small{margin-top:.25rem;line-height:1.4;opacity:.76}
.checkout-estimate{margin:1.25rem 0;border-top:2px solid #222;border-bottom:1px solid #ddd;padding:.65rem 0}
.checkout-estimate p{display:flex;justify-content:space-between;gap:2rem;margin:.35rem 0}
.checkout-estimate .checkout-total{font-size:1.15rem;border-top:1px solid #ddd;padding-top:.65rem;margin-top:.65rem}

/* V24.32 - Compact, polished checkout layout */
.manual-order-page{max-width:1050px}
.checkout-compact{max-width:100%!important;margin-top:1rem!important}
.checkout-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1rem}
.checkout-contact-grid input{margin:0!important}
.checkout-compact .legalnote{margin:1rem 0}
.checkout-compact select,
.checkout-compact>input,
.checkout-compact>textarea{max-width:100%}

.shipping-choice{padding:.85rem 1rem!important;margin:1rem 0!important}
.shipping-options-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
.shipping-option{
 display:grid!important;grid-template-columns:auto 1fr!important;gap:.65rem!important;
 align-items:start!important;margin:0!important;padding:.8rem .9rem!important;
 min-height:100%;box-sizing:border-box;background:#fafafa
}
.shipping-option:has(input:checked){background:#f0f3f5;border-color:#66727b}
.shipping-option input{margin:.18rem 0 0!important}
.shipping-option strong{font-size:.98rem}
.shipping-option small{font-size:.86rem;line-height:1.35!important}

.checkout-bottom-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);gap:1rem;align-items:stretch;margin-top:1rem}
.checkout-notes-block{display:flex;flex-direction:column}
.checkout-notes-block label{font-weight:800;margin-bottom:.35rem}
.checkout-notes-block textarea{flex:1;min-height:118px!important;margin:0!important}
.checkout-estimate{margin:0!important;padding:.65rem .9rem!important;border:1px solid #d8dadd!important;border-top:3px solid #222!important;border-radius:6px;background:#fafafa}
.checkout-estimate p{margin:.28rem 0!important}

.manual-order-disclaimer{margin:.9rem 0!important;padding:.75rem .9rem!important;font-size:.88rem!important}
.checkout-submit-bar{
 display:flex;justify-content:flex-end;align-items:center;width:100%;
 margin-top:.85rem;padding-top:.85rem;border-top:1px solid #ddd
}
.checkout-submit-bar .manual-order-submit{
 width:auto!important;min-width:190px!important;
 padding:.72rem 1.15rem!important;border-radius:6px!important;
 font-size:.95rem!important;line-height:1.2!important
}

@media(max-width:760px){
 .checkout-contact-grid,.shipping-options-grid,.checkout-bottom-grid{grid-template-columns:1fr}
 .shipping-option{min-height:auto}
 .checkout-submit-bar{justify-content:stretch}
 .checkout-submit-bar .manual-order-submit{width:100%!important;min-width:0!important}
}

/* V24.33 - Checkout reset: conventional non-overlapping web form */
.manual-order-page{
    max-width:860px !important;
    margin-left:auto !important;
    margin-right:auto !important;
}
.normal-checkout-form,
.checkoutform.normal-checkout-form{
    display:block !important;
    grid-template-columns:none !important;
    max-width:760px !important;
    width:100% !important;
    margin:1.25rem 0 2rem !important;
}
.normal-checkout-form *{box-sizing:border-box}

.checkout-section-title{
    margin:1.4rem 0 .65rem !important;
    padding:0 0 .4rem !important;
    border-bottom:1px solid #ddd;
    font-size:1.08rem !important;
}
.checkout-field{
    display:block !important;
    width:100% !important;
    margin:0 0 .8rem !important;
    padding:0 !important;
    font-weight:700;
}
.checkout-field>span{
    display:block;
    margin-bottom:.3rem;
}
.checkout-field small{font-weight:400;opacity:.72}
.normal-checkout-form input:not([type="radio"]):not([type="checkbox"]),
.normal-checkout-form select,
.normal-checkout-form textarea{
    display:block !important;
    position:static !important;
    float:none !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:auto !important;
    min-height:42px !important;
    margin:0 !important;
    padding:.55rem .7rem !important;
    font:inherit !important;
}
.normal-checkout-form textarea{
    min-height:92px !important;
    resize:vertical;
}

/* Override V24.32 grid experiments if those styles are still present. */
.checkout-contact-grid,
.checkout-bottom-grid,
.shipping-options-grid{
    display:block !important;
    grid-template-columns:none !important;
}
.checkout-notes-block{display:block !important}

.shipping-choice{
    display:block !important;
    width:100% !important;
    margin:.25rem 0 1rem !important;
    padding:.75rem !important;
    border:1px solid #d8dadd !important;
    border-radius:6px !important;
    background:#fff !important;
}
.shipping-choice legend{display:none}
.shipping-option{
    display:flex !important;
    grid-template-columns:none !important;
    width:100% !important;
    min-height:0 !important;
    gap:.65rem !important;
    align-items:flex-start !important;
    margin:0 0 .65rem !important;
    padding:.75rem !important;
    border:1px solid #e0e2e4 !important;
    border-radius:5px !important;
    background:#fafafa !important;
}
.shipping-option:last-child{margin-bottom:0 !important}
.shipping-option input[type="radio"]{
    display:block !important;
    flex:0 0 auto !important;
    width:auto !important;
    min-width:0 !important;
    min-height:0 !important;
    margin:.2rem 0 0 !important;
}
.shipping-option span{display:block !important;min-width:0}
.shipping-option strong,
.shipping-option small{display:block !important}
.shipping-option small{
    margin-top:.2rem !important;
    line-height:1.4 !important;
    white-space:normal !important;
}

.checkout-estimate{
    display:block !important;
    width:100% !important;
    margin:1rem 0 !important;
    padding:.75rem 0 !important;
    border:0 !important;
    border-top:1px solid #bbb !important;
    border-bottom:1px solid #bbb !important;
    border-radius:0 !important;
    background:transparent !important;
}
.checkout-estimate p{
    display:flex !important;
    justify-content:space-between !important;
    gap:1rem !important;
    margin:.35rem 0 !important;
}
.checkout-estimate .checkout-total{
    margin-top:.6rem !important;
    padding-top:.6rem !important;
    border-top:1px solid #ddd !important;
    font-size:1.08rem !important;
}

.manual-order-disclaimer{
    margin:.8rem 0 !important;
    padding:.75rem .85rem !important;
    font-size:.9rem !important;
}
.checkout-submit-bar{display:none !important}
.checkout-actions{
    display:flex !important;
    justify-content:flex-end !important;
    width:100% !important;
    margin-top:1rem !important;
    padding-top:.85rem !important;
    border-top:1px solid #ddd !important;
}
.checkout-actions .manual-order-submit{
    display:inline-block !important;
    position:static !important;
    float:none !important;
    width:auto !important;
    max-width:none !important;
    min-width:180px !important;
    min-height:0 !important;
    margin:0 !important;
    padding:.7rem 1.1rem !important;
    border-radius:5px !important;
    font-size:.95rem !important;
    line-height:1.2 !important;
}

@media(max-width:650px){
    .manual-order-page{max-width:100% !important}
    .normal-checkout-form{max-width:100% !important}
    .checkout-actions{justify-content:stretch !important}
    .checkout-actions .manual-order-submit{width:100% !important}
}

/* V24.36 - Admin order workflow filters */
.order-workflow-filter{
 display:flex;flex-wrap:wrap;gap:.45rem;margin:1rem 0 1.25rem;
 padding:.65rem;border:1px solid #d9dde1;border-radius:7px;background:#f7f8f9
}
.order-workflow-filter a{
 display:inline-flex;align-items:center;gap:.4rem;padding:.48rem .7rem;
 border:1px solid #d4d7da;border-radius:5px;background:#fff;color:inherit;
 text-decoration:none;font-size:.9rem;font-weight:700
}
.order-workflow-filter a:hover{border-color:#777}
.order-workflow-filter a.active{background:#222;color:#fff;border-color:#222}
.order-workflow-filter a span{
 display:inline-block;min-width:1.35rem;padding:.05rem .35rem;border-radius:999px;
 background:rgba(127,127,127,.16);text-align:center;font-size:.78rem
}
.order-workflow-filter a.active span{background:rgba(255,255,255,.18)}
.order-empty-state{text-align:center;padding:2rem!important;opacity:.7}
@media(max-width:700px){
 .order-workflow-filter{display:grid;grid-template-columns:1fr 1fr}
 .order-workflow-filter a{justify-content:space-between}
}
/* V24.38 - Admin user management */
.admin-users-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}
.admin-users-heading h1{margin-bottom:.25rem}
.admin-users-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(420px,1.2fr);gap:1rem;align-items:start;margin-top:1rem}
.admin-user-card{border:1px solid #d9dde1;border-radius:7px;background:#fff;padding:1rem}
.admin-user-card h2{margin-top:0}
.admin-user-form label,.password-reset label{display:block;font-weight:700;margin-bottom:.75rem}
.admin-user-form input,.admin-user-form select,.password-reset input{display:block;width:100%;box-sizing:border-box;margin-top:.3rem;padding:.55rem .65rem}
.admin-user-form small{display:block;font-weight:400;line-height:1.35;margin-top:.3rem;opacity:.72}
.admin-user-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;padding:1rem 0;border-bottom:1px solid #e2e4e6}
.admin-user-row:last-child{border-bottom:0}
.admin-user-row.is-inactive{opacity:.58}
.admin-user-identity strong,.admin-user-identity span,.admin-user-identity small{display:block}
.admin-user-identity span{margin:.2rem 0}
.admin-user-identity small{opacity:.72}
.admin-user-actions{display:flex;gap:.5rem;align-items:flex-start}
.admin-user-actions form{margin:0}
.password-reset{position:relative}
.password-reset summary{cursor:pointer;font-weight:700;padding:.55rem .7rem;border:1px solid #bbb;border-radius:5px;background:#fff}
.password-reset[open]{min-width:260px}
.password-reset form{margin-top:.5rem;padding:.75rem;border:1px solid #ddd;border-radius:5px;background:#fafafa}
@media(max-width:850px){.admin-users-layout{grid-template-columns:1fr}.admin-user-row{grid-template-columns:1fr}.admin-user-actions{flex-wrap:wrap}.admin-users-heading{display:block}}
/* V24.39 - Wishlist, Want List, Sell/Trade/Consign */
.wishlist-form{margin:.55rem 0}.wishlist-button{width:auto!important;padding:.55rem .8rem!important}.wishlist-button.saved{font-weight:800}
.stock-notify-box{border:1px solid #d9dde1;border-radius:7px;padding:1rem;margin:1rem 0;background:#fafafa}.stock-notify-box h3{margin-top:0}.stock-notify-box form{display:grid;grid-template-columns:1fr 1fr auto;gap:.5rem}.stock-notify-box input{min-width:0}
.wishlist-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.wishlist-card{display:flex;gap:.7rem;align-items:center;border:1px solid #ddd;border-radius:6px;padding:.6rem;color:inherit;text-decoration:none}.wishlist-card img{width:80px;height:65px;object-fit:contain}.wishlist-card strong,.wishlist-card small{display:block}
.trade-request-form{max-width:800px}.trade-request-form>label{display:block;font-weight:700;margin:.8rem 0}.trade-request-form input,.trade-request-form select,.trade-request-form textarea{display:block;width:100%;box-sizing:border-box;margin-top:.3rem;padding:.55rem}.trade-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.trade-form-grid label{font-weight:700}
.trade-photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin:1rem 0}.trade-photo-grid img{width:100%;height:150px;object-fit:cover;border-radius:5px}.trade-admin-detail{max-width:850px}.trade-admin-detail form label{display:block;font-weight:700;margin:.75rem 0}.trade-admin-detail select,.trade-admin-detail textarea{display:block;width:100%;margin-top:.3rem}
.carttable small{display:block;margin-top:.2rem;opacity:.72}
@media(max-width:700px){.stock-notify-box form,.trade-form-grid{grid-template-columns:1fr}.wishlist-grid{grid-template-columns:1fr}.trade-photo-grid{grid-template-columns:1fr 1fr}}

/* V24.40 - Restore/highlight In Store inventory controls */
.status-filterbuttons a[href*="in_store"]{
    display:inline-flex !important;
}
.product-card-flags{
    display:flex;
    flex-wrap:wrap;
    gap:.35rem;
}
.inventory-source-badge.in-store-badge,
.in-store-badge{
    display:inline-block !important;
    padding:.28rem .48rem !important;
    border-radius:4px !important;
    font-size:.72rem !important;
    font-weight:900 !important;
    line-height:1 !important;
    letter-spacing:.04em !important;
    text-transform:uppercase !important;
    background:#222 !important;
    color:#fff !important;
}
/* V24.42 - local vs warehouse inventory admin */
.admin-inventory-table td small{display:block;margin-top:.2rem;opacity:.68}
.admin-inventory-table .admin-qty-input{min-width:70px}
.availability-panel strong+span{display:block;margin-top:.3rem}
/* V24.43 - Password visibility controls */
.password-field-wrap{position:relative;display:flex;align-items:center}
.password-field-wrap input{padding-right:2.8rem!important}
.password-visibility-toggle{
 position:absolute;right:.35rem;top:50%;transform:translateY(-50%);
 width:2.1rem!important;height:2.1rem!important;min-width:0!important;
 margin:0!important;padding:0!important;border:0!important;border-radius:4px!important;
 background:transparent!important;color:inherit!important;cursor:pointer;
 font-size:1rem!important;line-height:1!important
}
.password-visibility-toggle:hover,.password-visibility-toggle:focus{background:rgba(0,0,0,.07)!important}
.password-visibility-toggle.is-showing{background:rgba(0,0,0,.09)!important}
/* V24.44 - Site-wide password visibility eye */
.password-field-wrap{position:relative;display:flex;align-items:center;width:100%}
.password-field-wrap input{width:100%;padding-right:2.8rem!important}
.password-visibility-toggle{
 position:absolute;right:.35rem;top:50%;transform:translateY(-50%);
 width:2.1rem!important;height:2.1rem!important;min-width:0!important;
 margin:0!important;padding:0!important;border:0!important;border-radius:4px!important;
 background:transparent!important;color:inherit!important;cursor:pointer;
 font-size:1rem!important;line-height:1!important
}
.password-visibility-toggle:hover,.password-visibility-toggle:focus{background:rgba(0,0,0,.07)!important}
.password-visibility-toggle.is-showing{background:rgba(0,0,0,.09)!important}
/* V24.45 - employee onboarding / account security */
.main-nav .logout-link{font-weight:800}
.admin-password-change .form-card{max-width:620px}
.admin-password-change label{display:block;font-weight:700;margin-bottom:.9rem}
.password-field-wrap{position:relative;display:flex;align-items:center;width:100%}
.password-field-wrap input{width:100%;padding-right:2.8rem!important}
.password-visibility-toggle{position:absolute;right:.35rem;top:50%;transform:translateY(-50%);width:2.1rem!important;height:2.1rem!important;min-width:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:4px!important;background:transparent!important;color:inherit!important;cursor:pointer;font-size:1rem!important;line-height:1!important}
.password-visibility-toggle:hover,.password-visibility-toggle:focus,.password-visibility-toggle.is-showing{background:rgba(0,0,0,.08)!important}
/* V24.46 - Admin user deletion */
.button-danger{
 background:#8f1d1d!important;
 border-color:#8f1d1d!important;
 color:#fff!important;
}
.button-danger:hover,.button-danger:focus{
 background:#6f1515!important;
 border-color:#6f1515!important;
}
.delete-admin-user-form{margin:0}
.forgot-password-link{margin:.2rem 0 .85rem}.password-recovery-page .form-card{max-width:600px}.password-recovery-page label{display:block;font-weight:700;margin-bottom:.9rem}.password-recovery-page input[type="email"]{display:block;width:100%;box-sizing:border-box;margin-top:.3rem;padding:.6rem}.password-field-wrap{position:relative;display:flex;align-items:center;width:100%}.password-field-wrap input{width:100%;padding-right:2.8rem!important}.password-visibility-toggle{position:absolute;right:.35rem;top:50%;transform:translateY(-50%);width:2.1rem!important;height:2.1rem!important;min-width:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:4px!important;background:transparent!important;color:inherit!important;cursor:pointer;font-size:1rem!important;line-height:1!important}.password-visibility-toggle:hover,.password-visibility-toggle:focus,.password-visibility-toggle.is-showing{background:rgba(0,0,0,.08)!important}
/* V24.48 - Account lockout + Popular Items */
.security-lock-note{color:#8f1d1d!important;font-weight:800}
.button-security{background:#8f1d1d!important;border-color:#8f1d1d!important;color:#fff!important}
.forgot-password-link{margin:.25rem 0 .85rem}

.product-image-link,.featured-image,.product-image-zoom{position:relative}
.popular-star{
 position:absolute;z-index:4;right:.55rem;top:.55rem;
 display:flex;align-items:center;justify-content:center;
 width:2rem;height:2rem;border-radius:50%;
 background:#f4b400;color:#171717;
 border:2px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.28);
 font-size:1.15rem;font-weight:900;line-height:1;
}
.popular-star-detail{width:2.35rem;height:2.35rem;font-size:1.35rem}
.status-filterbuttons a[href*="popular"]{font-weight:800}
/* V24.50 - Product specification table */
.product-specifications{margin-top:2rem}
.product-specifications h2{margin-bottom:.75rem}
.product-spec-table-wrap{overflow:hidden;border:1px solid rgba(0,0,0,.14);border-radius:8px;background:#fff}
.product-spec-table{width:100%;border-collapse:collapse;margin:0}
.product-spec-table th,.product-spec-table td{padding:.72rem .9rem;border-bottom:1px solid rgba(0,0,0,.09);vertical-align:top;text-align:left}
.product-spec-table tr:last-child th,.product-spec-table tr:last-child td{border-bottom:0}
.product-spec-table th{width:34%;font-size:.78rem;letter-spacing:.045em;text-transform:uppercase;background:rgba(0,0,0,.035);font-weight:800}
.product-spec-table td{font-weight:600}
@media(min-width:760px){
 .product-spec-table tbody{display:grid;grid-template-columns:1fr 1fr}
 .product-spec-table tr{display:grid;grid-template-columns:minmax(125px,40%) 1fr;border-bottom:1px solid rgba(0,0,0,.09)}
 .product-spec-table th,.product-spec-table td{border-bottom:0}
}
@media(max-width:520px){
 .product-spec-table th{width:40%;padding:.6rem}
 .product-spec-table td{padding:.6rem}
}
/* V24.52 - Restored customer wishlist */
.wishlist-form{margin:.65rem 0 1rem}
.wishlist-button{
 display:inline-flex;align-items:center;justify-content:center;
 width:auto!important;min-width:170px;padding:.62rem 1rem!important;
 border:1px solid rgba(0,0,0,.22);border-radius:6px;
 background:#fff;color:#222;font-weight:800;cursor:pointer
}
.wishlist-button:hover{background:#f5f5f5}
.wishlist-button.saved{background:#f8eeee;border-color:#8f1d1d;color:#8f1d1d}
.wishlist-signin{margin:.65rem 0 1rem}
.wishlist-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}
.wishlist-card{display:flex;gap:.8rem;align-items:center;padding:.8rem;border:1px solid rgba(0,0,0,.12);border-radius:8px;text-decoration:none;color:inherit;background:#fff}
.wishlist-card img{width:82px;height:82px;object-fit:contain}
.wishlist-card span{display:flex;flex-direction:column;gap:.25rem}
.wishlist-card small{opacity:.75}
/* V24.53 - Wishlist controls on inventory/featured cards */
.wishlist-card-image-wrap{position:relative}
.card-wishlist-form{position:absolute;z-index:8;right:.5rem;top:.5rem;margin:0}
.card-wishlist-heart{
 position:absolute;z-index:8;right:.5rem;top:.5rem;
 display:flex;align-items:center;justify-content:center;
 width:2.25rem!important;height:2.25rem!important;min-width:2.25rem!important;
 margin:0!important;padding:0!important;border:1px solid rgba(0,0,0,.18)!important;
 border-radius:50%!important;background:rgba(255,255,255,.94)!important;color:#333!important;
 text-decoration:none!important;font-size:1.35rem!important;line-height:1!important;
 box-shadow:0 2px 7px rgba(0,0,0,.18);cursor:pointer
}
.card-wishlist-form .card-wishlist-heart{position:static}
.card-wishlist-heart:hover,.card-wishlist-heart:focus{background:#fff!important;transform:scale(1.05)}
.card-wishlist-heart.saved{color:#8f1d1d!important;background:#fff7f7!important;border-color:#8f1d1d!important}
/* Keep Popular star and Wishlist heart from occupying the same corner. */
.wishlist-card-image-wrap .popular-star{right:3.15rem}
/* V24.54 Admin bulk inventory + full item editor */
.inventory-filter-form{display:grid;grid-template-columns:minmax(260px,2fr) minmax(180px,1fr) auto;gap:.75rem;align-items:end}
.inventory-filter-form label span,.inventory-edit-form label>span{display:block;font-weight:700;margin-bottom:.3rem}
.inventory-bulkbar{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap;margin:1rem 0;padding:.8rem;border:1px solid rgba(0,0,0,.14);border-radius:8px;background:#fafafa}
.inventory-bulkbar select{min-width:280px}.admin-item-link{text-decoration:none}.admin-item-link:hover{text-decoration:underline}.admin-edit-button{padding:.45rem .7rem!important;white-space:nowrap}
.admin-inventory-edit fieldset{margin:1rem 0;padding:1rem;border:1px solid rgba(0,0,0,.16);border-radius:8px}.admin-inventory-edit legend{font-weight:900;padding:0 .4rem}.inventory-edit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.inventory-edit-form input[type=text],.inventory-edit-form input[type=number],.inventory-edit-form textarea{width:100%;box-sizing:border-box}.inventory-full{display:block;margin-top:.8rem}.inventory-check-row{display:flex;gap:1.25rem;flex-wrap:wrap;margin-top:.75rem}
@media(max-width:850px){.inventory-filter-form,.inventory-edit-grid{grid-template-columns:1fr}.inventory-bulkbar select{min-width:0;width:100%}}
/* V24.55 Product Videos / New Arrivals */
.video-admin-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:1rem;margin:1rem 0 2rem}.video-upload-form label,.admin-video-fields label{display:grid;gap:.35rem;margin:.65rem 0}.video-upload-form input,.video-upload-form select,.video-upload-form textarea,.admin-video-fields input,.admin-video-fields select,.admin-video-fields textarea{width:100%}.form-inline{display:flex;gap:1rem;align-items:end;flex-wrap:wrap}.form-inline .check{display:flex;grid-template-columns:auto 1fr;align-items:center}.admin-video-list{display:grid;gap:1rem}.admin-video-card{display:grid;grid-template-columns:220px 1fr;gap:1rem;padding:1rem;border:1px solid rgba(0,0,0,.12);border-radius:10px;background:#fff}.admin-video-card>img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:7px}.admin-video-actions{display:flex;gap:.6rem;flex-wrap:wrap}.button.danger{background:#7e1717;color:#fff}.video-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1.25rem}.video-card{overflow:hidden;border:1px solid rgba(0,0,0,.12);border-radius:10px;background:#fff}.video-card video{display:block;width:100%;aspect-ratio:16/9;background:#111;object-fit:contain}.video-card-body{padding:1rem}.video-card-body h2{font-size:1.15rem;margin-top:0}.product-videos{margin-top:2rem}.product-video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.home-videos{margin-top:2rem;margin-bottom:2rem}.home-video-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.video-preview-card{border:1px solid rgba(0,0,0,.12);border-radius:9px;overflow:hidden;background:#fff;padding-bottom:.75rem}.video-preview-card>a{display:block;text-decoration:none;color:inherit}.video-preview-card strong,.video-preview-card>.text-link{display:block;padding:.65rem .8rem 0}.video-poster-wrap{display:block;position:relative}.video-poster-wrap img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:3rem;height:3rem;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.72);color:#fff;padding-left:.15rem}.facebook-inline,.facebook-follow{margin-top:1rem}.facebook-follow{padding:1rem;border:1px solid rgba(0,0,0,.12);border-radius:8px}.videos-page{padding-top:2rem;padding-bottom:3rem}@media(max-width:850px){.video-admin-grid{grid-template-columns:1fr}.home-video-grid{grid-template-columns:repeat(2,1fr)}.admin-video-card{grid-template-columns:1fr}}@media(max-width:520px){.home-video-grid{grid-template-columns:1fr}}




























/* V24.99 expanded catalog taxonomy */
.category-more{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px;padding:12px 0}
.category-more strong{color:var(--navy);margin-right:3px}
.category-more a{display:inline-block;padding:8px 11px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--navy);font-size:.86rem;font-weight:800;text-decoration:none}
.category-more a:hover,.category-more a.active{background:var(--navy);border-color:var(--navy);color:#fff}
@media(max-width:760px){.category-more{align-items:stretch}.category-more strong{width:100%}}
