/* Layout improvements; original store colors come from pink-theme.css. */
:root{--shop-panel:#fff5fb;--shop-image:#e8dcf5;--shop-text:#351b39;--shop-muted:#765b75;--shop-accent:#8d2867;--shop-line:#cfacc9}
.favorites-section,.sale-section,.cat{--shop-panel:#341b39;--shop-text:#ffffff;--shop-muted:#dcc3d8;--shop-accent:#f8c9e1;--shop-line:#a5658b66}
/* Each grid row stretches cards; the button always sits at its bottom. */
body .grid{align-items:stretch;grid-template-columns:repeat(4,minmax(0,1fr))}
body .grid>.pc{display:flex;flex-direction:column;min-width:0;height:100%;background:var(--shop-panel);color:var(--shop-text);border:1px solid var(--shop-line)}
body .pc>.product-card-link{flex:none;aspect-ratio:431/261;background:var(--shop-image)}
body .pc>.product-card-link>img{inset:0;width:100%;height:100%;padding:clamp(8px,1.4vw,20px);box-sizing:border-box;object-fit:contain;object-position:center}
body .pc .pb{display:flex;flex-direction:column;flex:1;gap:12px;padding:20px}
body .pc .pb h3{margin:0;font:600 16px/1.5 Inter,system-ui,sans-serif;overflow-wrap:anywhere}
body .pc .pb small,body .pc .stock-note{color:var(--shop-muted)}
body .pc .pb p{margin:0;line-height:1.5}
body .pc .pb .add-cart{margin-top:auto;width:100%;min-height:46px;padding:12px 16px;border:0;background:var(--shop-accent);color:white;font-weight:600}
body .pc .pb .add-cart:hover:not(:disabled){background:#702052}
body .add-cart:disabled{background:#e3d8e3!important;color:#6c5c6d!important;cursor:not-allowed;opacity:1}
body .card-remove-cart{box-sizing:border-box;width:100%;padding:10px 14px;min-height:42px;border:1px solid var(--shop-line,#cfacc9);background:transparent;color:var(--shop-text,#351b39);font:500 14px/1.4 Inter,system-ui,sans-serif;cursor:pointer}
body .card-remove-cart:hover{background:#a5658b22;border-color:#b54b8c}
body .card-remove-cart:focus-visible{outline:2px solid #ee168b;outline-offset:3px}
body .card-remove-cart[hidden]{display:none!important}
body .pc.is-unavailable>.product-card-link>img{opacity:.55;filter:grayscale(.45)}
.stock-badge{position:absolute;top:10px;left:10px;z-index:1;padding:7px 10px;border-radius:4px;background:#fce8ec;color:#98283d;font:700 12px/1.3 Inter,system-ui,sans-serif;border:1px solid #e2a0af}
body .stock-note.is-unavailable,body .product-availability.is-unavailable{font-weight:700;color:#98283d}
.product-availability{font-size:14px;font-weight:600;color:#286143;margin:18px 0}
body .product-photo{position:relative;overflow:hidden}
body .product-photo img{position:absolute;inset:0;width:100%;height:100%;padding:clamp(16px,3vw,36px);box-sizing:border-box;object-fit:contain;object-position:center;max-height:none}
.catalog-filters{display:flex;align-items:end;flex-wrap:wrap;gap:14px}
.catalog-filters label{display:flex;flex-direction:column;gap:7px;font:13px/1.4 Inter,system-ui,sans-serif;min-width:130px;flex:1}
.catalog-filters input,.catalog-filters select{box-sizing:border-box;width:100%;min-width:0;min-height:42px;padding:10px 12px;background:#fff;border:1px solid var(--shop-line);color:var(--shop-text);font:14px Inter,system-ui,sans-serif}
.catalog-filters button{min-height:42px;padding:10px 16px;cursor:pointer}
.catalog-count{color:var(--shop-muted);font:14px/1.5 Inter,system-ui,sans-serif;margin:18px 0}
body .type-card>.type-preview>img{inset:12%;width:76%;height:76%;object-fit:contain}
@media(max-width:1000px){body .grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){body .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}body .pc .pb{padding:14px}body .pc .pb h3{font-size:14px}.stock-badge{font-size:10px;top:6px;left:6px;padding:5px 7px}}
@media(max-width:400px){body .grid{grid-template-columns:1fr}}

body .favorites-section .pc .pb .add-cart,body .sale-section .pc .pb .add-cart,body .cat .pc .pb .add-cart{color:#35152f}
body .favorites-section .pc .pb .add-cart:hover:not(:disabled),body .sale-section .pc .pb .add-cart:hover:not(:disabled),body .cat .pc .pb .add-cart:hover:not(:disabled){background:#ffe2ef}
body .favorites-section .stock-note.is-unavailable,body .sale-section .stock-note.is-unavailable,body .cat .stock-note.is-unavailable{color:#ffb4c2}

/* Sidebar uses the store's original purple and pink palette. */
.catalog-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:28px;align-items:start;margin-top:24px}
.catalog-sidebar{position:sticky;top:150px;background:linear-gradient(155deg,#542044,#341b39);border:1px solid #a5658b88;color:#fff;padding:22px;max-height:calc(100dvh - 174px);overflow:auto;scrollbar-color:#b76c9c #341b39;scrollbar-width:thin}
.catalog-sidebar h2{font-size:17px;line-height:1.6;margin:0 0 20px;color:#ffd0e9}
.catalog-sidebar .catalog-filters{display:flex;flex-direction:column;align-items:stretch;padding:0;margin:0;border:0;background:transparent;color:#fff;gap:20px}
.catalog-sidebar .catalog-filters>label{display:flex;flex:none;min-width:0;color:#efd5e8}
.catalog-sidebar .catalog-filters input:not([type=checkbox]),.catalog-sidebar .catalog-filters select{background:#fff4fa;color:#351b39;border:1px solid #bf8cab;min-width:0;min-height:42px}
.catalog-sidebar .catalog-filters>button{background:#f8c9e1;color:#35152f;min-height:44px;font-weight:700;border:0}
.catalog-sidebar .filter-options{border:0;border-top:1px solid #a5658b66;margin:0;padding:18px 0 0;min-width:0}
.catalog-sidebar .filter-options legend{padding:0 6px 0 0;font:600 14px/1.5 Inter,system-ui,sans-serif;color:#ffb9de}
.filter-option-list{display:flex;flex-direction:column;gap:10px;max-height:220px;overflow:auto;padding-right:4px;margin-top:10px}
.catalog-sidebar .catalog-filters .filter-check{display:flex;flex-direction:row;align-items:center;gap:9px;min-width:0;flex:none;font:13px/1.4 Inter,system-ui,sans-serif;cursor:pointer;color:white}
.catalog-sidebar .filter-check input[type=checkbox]{appearance:auto;accent-color:#ed6bb3;width:17px;height:17px;min-height:0;margin:0;padding:0;flex:none}
.filter-check span{overflow-wrap:anywhere}.filter-check small{margin-left:auto;color:#dcb8d1}
.catalog-sidebar .filter-hint{font:11px/1.5 Inter,system-ui,sans-serif;color:#d9bbd1;margin:-10px 0 0}
.catalog-results{min-width:0}.catalog-results>.catalog-count{margin:0 0 18px}.catalog-results .grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1100px){.catalog-layout{grid-template-columns:220px minmax(0,1fr);gap:20px}.catalog-results .grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.catalog-layout{grid-template-columns:1fr}.catalog-sidebar{position:static;max-height:none}.catalog-sidebar .catalog-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.catalog-sidebar h2{font-size:15px}.filter-option-list{max-height:160px}}
@media(max-width:430px){.catalog-sidebar .catalog-filters{grid-template-columns:1fr}.catalog-results .grid{grid-template-columns:1fr}}

.catalog-sidebar .filter-option-list{max-height:160px}

/* Wider, taller filter panel and a dedicated Russian/Latin brand search. */
@media(min-width:761px){
 .catalog-layout{grid-template-columns:290px minmax(0,1fr)}
 .catalog-sidebar{top:140px;max-height:calc(100dvh - 154px);padding:24px;box-sizing:border-box}
 .catalog-sidebar .manufacturer-options .filter-option-list{max-height:300px;min-height:80px}
}
.catalog-sidebar .catalog-filters .manufacturer-search-label{display:flex;flex-direction:column;gap:8px;min-width:0;flex:none;margin-top:10px;font:12px/1.5 Inter,system-ui,sans-serif;color:#efd5e8}
.catalog-sidebar .manufacturer-search-label input{box-sizing:border-box;width:100%;padding:11px 12px;font:13px/1.4 Inter,system-ui,sans-serif}
.catalog-sidebar .manufacturer-search-label input:focus{outline:2px solid #f49ecb;outline-offset:2px}
.catalog-sidebar .manufacturer-search-feedback{font:11px/1.5 Inter,system-ui,sans-serif;color:#d9bbd1;margin:10px 0}
.catalog-sidebar .filter-check[hidden]{display:none!important}
@media(min-width:761px) and (max-width:1100px){.catalog-layout{grid-template-columns:260px minmax(0,1fr)}}
@media(max-width:760px){.catalog-sidebar .manufacturer-options .filter-option-list{max-height:240px}}

.catalog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px;min-height:44px}
.catalog-toolbar>.catalog-count{margin:0;flex:1}
.catalog-sort{display:flex;align-items:center;gap:10px;color:#70516d;font:13px/1.4 Inter,system-ui,sans-serif}
.catalog-sort select{min-width:190px;max-width:100%;padding:11px 12px;background:#fff4fa;border:1px solid #cfa8c6;color:#351b39;font:14px Inter,system-ui,sans-serif;min-height:44px}
@media(max-width:760px){.catalog-toolbar{flex-wrap:wrap}.catalog-sort{margin-left:auto}}
@media(max-width:430px){.catalog-toolbar{align-items:stretch;flex-direction:column}.catalog-sort{margin:0;justify-content:space-between}.catalog-sort select{min-width:0;flex:1}}

/* Inner pages share the home page's pink-to-purple background. */
body.shop-inner{background:#211329;color:#fff;isolation:isolate}
/* A viewport-sized layer keeps the same colours on short and long pages. */
body.shop-inner::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#e3268b 0%,#b8247b 18%,#8c246c 38%,#612057 60%,#421c46 80%,#211329 100%)}
.shop-inner .information,.shop-inner .account-shell,.shop-inner .cart-main{background:transparent;color:#fff}
.shop-inner .account-main{background:transparent;color:#fff}
.shop-inner .information>.breadcrumb,.shop-inner .information>.collection-note,.shop-inner .catalog-toolbar>.catalog-count,.shop-inner .catalog-toolbar>.catalog-sort,.shop-inner .account-main>.crumb,.shop-inner .account-title p,.shop-inner .cart-main .cart-crumb,.shop-inner .cart-main .cart-title p,.shop-inner .cart-main .clear-cart{color:#ffe1f1}
.shop-inner .information>.breadcrumb a,.shop-inner .cart-main .cart-crumb a{color:#ffd0e9}
.shop-inner .information>.info-card,.shop-inner .product-data>.info-card,.shop-inner .product-summary,.shop-inner .product-photo,.shop-inner .account-main .panel,.shop-inner .account-main .history-order,.shop-inner .cart-main .cart-item,.shop-inner .cart-main .cart-empty,.shop-inner .cart-main .cart-summary{color:#351b39}
.shop-inner .information>.info-card{background:#fff4fa;border-color:#cfa8c6}
.shop-inner footer{background:linear-gradient(180deg,rgba(33,19,41,0) 0%,rgba(33,19,41,.45) 60px,#211329 180px);color:#fff}
.shop-inner footer a{color:#ffb9de}
.shop-inner footer .fb{color:#dbc0d7;border-color:#74415f}

.catalog-title{display:flex;align-items:baseline;flex-wrap:wrap;gap:14px 20px}
.catalog-title>.catalog-count{margin:0;color:#ffe1f1;font:400 15px/1.5 Inter,system-ui,sans-serif;letter-spacing:normal;text-transform:none}
.catalog-toolbar{justify-content:flex-end}
/* Keep sorting flush with the right edge of the product grid. */
.catalog-results>.catalog-toolbar{width:100%;display:flex;justify-content:flex-end;box-sizing:border-box}
.catalog-toolbar>.catalog-sort{margin-left:auto;margin-right:0}
@media(max-width:430px){.catalog-results>.catalog-toolbar{align-items:flex-end}.catalog-toolbar>.catalog-sort{align-self:flex-end;flex:none;width:auto;max-width:100%}}

/* Search above the manufacturer panel, with sorting on the same row. */
.catalog-layout>.catalog-toolbar{grid-column:1/-1;margin:0;display:flex;align-items:center;gap:20px;width:100%;box-sizing:border-box}
.catalog-toolbar>.catalog-search{display:block;flex:0 1 290px;width:290px;margin-right:auto}
.catalog-search input{box-sizing:border-box;width:100%;height:44px;padding:11px 14px;background:#fff4fa;color:#351b39;border:1px solid #cfa8c6;font:14px/1.4 Inter,system-ui,sans-serif}
.catalog-search input::placeholder{color:#8a7387}
.catalog-search input:focus{outline:2px solid #f49ecb;outline-offset:2px}
@media(min-width:761px) and (max-width:1100px){.catalog-toolbar>.catalog-search{flex-basis:260px;width:260px}}
@media(max-width:760px){.catalog-toolbar>.catalog-search{flex:1 1 220px;width:auto}.catalog-layout>.catalog-toolbar{flex-wrap:wrap}}
@media(max-width:430px){.catalog-layout>.catalog-toolbar{align-items:stretch;flex-direction:column}.catalog-toolbar>.catalog-search{flex:none;width:100%;margin:0}.catalog-toolbar>.catalog-sort{align-self:flex-end}}
/* Align the search field with the product column, rather than the sidebar. */
@media(min-width:1101px){.catalog-layout>.catalog-toolbar{padding-left:318px}}
@media(min-width:761px) and (max-width:1100px){.catalog-layout>.catalog-toolbar{padding-left:280px}}
@media(max-width:760px){.catalog-layout>.catalog-toolbar{padding-left:0}}
/* Compact spacing between category navigation, toolbar and product cards. */
.catalog-layout{margin-top:14px;row-gap:12px}
.catalog-layout>.catalog-toolbar{margin:0}
.information .catalog-results>.grid{margin-top:0}
/* Sidebar starts level with the search toolbar on desktop. */
@media(min-width:761px){
 .catalog-layout>.catalog-toolbar{grid-column:2;grid-row:1;padding-left:0}
 .catalog-layout>.catalog-sidebar{grid-column:1;grid-row:1 / span 2}
 .catalog-layout>.catalog-results{grid-column:2;grid-row:2}
}
/* More compact vertical rhythm on the homepage. */
body#top .hero{padding-top:32px;padding-bottom:32px}
body#top .favorites-section,body#top .cat,body#top .bonus,body#top .sale-section,body#top .manufacturers,body#top .st{padding-top:28px;padding-bottom:28px}
body#top .favorites-heading,body#top .sale-heading{margin-bottom:18px}
body#top .cat>.category-slider-controls{top:28px}
body#top .cat>.type-grid{margin-top:18px}
body#top .manufacturer-placeholder-grid{margin-top:18px}
@media(max-width:700px){
 body#top .hero{padding-top:24px;padding-bottom:24px}
 body#top .favorites-section,body#top .cat,body#top .bonus,body#top .sale-section,body#top .manufacturers,body#top .st{padding-top:22px;padding-bottom:22px}
}

.manufacturer-link .manufacturer-category{display:block;padding:0 22px 16px;color:#dcc3d8;font:12px/1.4 Inter,system-ui,sans-serif}
.manufacturers .fh{align-items:center;flex-wrap:wrap}
.all-brands-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;box-sizing:border-box;background:#f8c9e1;border:1px solid #f8c9e1;color:#35152f;font:600 14px/1.4 Inter,system-ui,sans-serif;white-space:nowrap;text-decoration:none;clip-path:var(--px)}
.all-brands-link:hover{background:#ff91ca;border-color:#ff91ca}
.all-brands-link:focus-visible{outline:3px solid #ff91ca;outline-offset:4px}
.brand-wordmark{display:block;padding:22px;width:100%;box-sizing:border-box;overflow-wrap:anywhere;text-align:center;font:800 clamp(20px,2.2vw,32px)/1.15 Inter,system-ui,sans-serif;letter-spacing:-.04em;color:#ffe1f1}
.brand-wordmark[hidden],.manufacturer-logo-slot img[hidden]{display:none!important}
.manufacturer-logo-slot img{box-sizing:border-box}
@media(max-width:700px){.brand-wordmark{padding:16px;font-size:22px}.manufacturer-link .manufacturer-name-slot{padding:14px;font-size:15px}.manufacturer-link .manufacturer-category{padding:0 14px 14px}}
/* Swap the home header/footer backgrounds while keeping controls legible. */
body#top>header{background:#fff;color:#25172f}
body#top>header .acc,body#top>header .cart{color:#b02070}
body#top>header .header-search{background:#e8dcf5;border-color:#d9c8e8;color:#351b39}
body#top>header .header-search input{color:#351b39}
body#top>footer{background:#171020;color:#f4ecf8}
body#top>footer a{color:#e8d5e6}
body#top>footer a:hover,body#top>footer a:focus-visible{color:#ff91ca}
body#top>footer .fb{border-color:#74415f;color:#d8bfd8}

.shop-inner .cart-main .cart-status{color:#ffe1f1}.shop-inner .cart-main .continue-shopping,.shop-inner .cart-main .cart-title .eyebrow{color:#ffd0e9}
.shop-inner .cart-main .cart-banner{background:#341b39;border-color:#a5658b66;color:#fff}
.shop-inner .cart-main .cart-banner b{color:#fff}
.shop-inner .cart-main .cart-banner p{color:#dcc3d8}
.shop-inner .cart-main .cart-banner>span{color:#ff91ca}
/* The final home section meets the footer at exactly the same color. */
body#top .st{background:linear-gradient(180deg,#211329 0%,#1f1227 28%,#1b1123 66%,#171020 100%)}

/* Shared inner-page typography and spacing across catalog, brands and collections. */
body.shop-inner{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.shop-inner main.information{box-sizing:border-box;width:100%;min-height:65vh;padding:40px max(20px,calc((100vw - 1120px)/2)) 64px}
.shop-inner .information>h1,.shop-inner .account-title h1,.shop-inner .cart-title h1{font-family:"Press Start 2P",monospace;font-size:clamp(22px,3vw,34px);font-weight:400;line-height:1.7;letter-spacing:normal;margin:0 0 28px;overflow-wrap:anywhere}
.shop-inner .information>.breadcrumb{margin-bottom:32px}
.shop-inner .category-nav{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px}
.shop-inner .category-nav a{display:inline-flex;align-items:center;min-height:44px;box-sizing:border-box;padding:12px 16px;font:400 12px/1.7 "Press Start 2P",monospace;text-decoration:none;background:#542344;color:#fceaf7;border:1px solid #bf80a04d}
.shop-inner .category-nav a:hover,.shop-inner .category-nav a:focus-visible{background:#71305c}
.shop-inner .category-nav a[aria-current=page]{background:#f9c6df;color:#35152f}
.shop-inner .catalog-title{gap:12px 20px}
.shop-inner .catalog-layout{margin-top:24px}
.shop-inner .information .catalog-sidebar h2{font:400 15px/1.7 "Press Start 2P",monospace;letter-spacing:normal}
@media(max-width:760px){.shop-inner main.information{padding-top:24px;padding-bottom:40px}.shop-inner .information>.breadcrumb{margin-bottom:24px}.shop-inner .information>h1{margin-bottom:24px}}

/* The sidebar must not stretch the toolbar row on short result lists. */
@media(min-width:761px){
 .shop-inner .catalog-layout{grid-template-rows:44px minmax(0,1fr);row-gap:12px;align-content:start}
 .shop-inner .catalog-layout>.catalog-toolbar{height:44px;min-height:44px;align-self:start}
 .shop-inner .catalog-layout>.catalog-results{align-self:start;margin:0;padding:0}
 .shop-inner .catalog-results>.grid{margin-top:0}
 .shop-inner .catalog-sort select{box-sizing:border-box;height:44px;min-height:44px}
}

/* Expand long facets explicitly instead of clipping or nesting scroll areas. */
.shop-inner .catalog-sidebar{position:static;max-height:none;overflow:visible}
.shop-inner .catalog-sidebar .filter-option-list{max-height:none;overflow:visible;padding-right:0}
.shop-inner .catalog-sidebar .filter-check[hidden],.shop-inner .catalog-sidebar .filter-check.is-collapsed-option{display:none}
.shop-inner .catalog-sidebar .filter-show-all{display:block;width:100%;margin-top:14px;padding:10px 12px;min-height:40px;border:1px solid #bf80a066;background:#71305c;color:#ffe1f1;font:500 13px/1.5 Inter,system-ui,sans-serif;text-align:left;cursor:pointer}
.shop-inner .catalog-sidebar .filter-show-all:hover{background:#8d386f}
.shop-inner .catalog-sidebar .filter-show-all[hidden]{display:none}

/* Category labels are redundant inside product cards. */
body .pc .pb>small{display:none}

/* Keep brand cards focused on the brand name. */
.manufacturer-link .manufacturer-category{display:none}
