:root{font-family:Arial,Helvetica,sans-serif;color:#20211f;background:#f7f7f2;font-synthesis:none;--blue:#2549ec;--blue-dark:#1634bd;--ink:#20211f;--muted:#72746d;--line:#dedfd7;--paper:#f7f7f2;--white:#fff;--soft:#eeefe8;--radius:3px}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.44}a{color:inherit;text-decoration:none}button,input,select,textarea{border-radius:var(--radius)}input,textarea,select{color:var(--ink)}input,textarea{width:100%;background:transparent;border:1px solid #ced0c7;padding:13px 14px;outline:none;transition:border .15s,box-shadow .15s}input:focus,textarea:focus,select:focus-visible{border-color:var(--blue);box-shadow:0 0 0 3px #2549ec14}input:disabled{background:#eeefe9;color:#86877f}textarea{resize:vertical;min-height:86px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--blue);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}img{max-width:100%;display:block}fieldset{padding:0;margin:0;border:0}legend{padding:0}.icon{flex-shrink:0;vertical-align:middle}.button{display:inline-flex;justify-content:center;align-items:center;gap:30px;min-height:49px;padding:14px 20px;border:1px solid transparent;font-weight:600;font-size:13px;line-height:1.35;transition:background .18s,transform .18s}.button:hover:not(:disabled){transform:translateY(-1px)}.button.primary{background:var(--blue);color:white}.button.primary:hover:not(:disabled){background:var(--blue-dark)}.text-button{border:0;background:none;padding:0;color:var(--muted);font-size:12px}.text-button:hover{color:var(--blue)}.text-link{display:inline-flex;align-items:center;gap:13px;font-size:13px;font-weight:600}.text-link:hover{color:var(--blue)}.text-link .icon{width:18px}.eyebrow{display:flex;align-items:center;gap:9px;font-size:10px;font-weight:600;letter-spacing:1.55px;line-height:1.5}.small-dash{width:19px;height:2px;background:var(--blue)}.brand{display:inline-flex;align-items:center;font-size:23px;font-weight:800;letter-spacing:-1.7px;white-space:nowrap;line-height:1.1}.brand-slash{color:var(--blue);font-size:30px;font-weight:500;margin:0 4px 0 5px}.brand-dot{font-size:9px;letter-spacing:0;align-self:flex-start;margin:3px 0 0 4px}.brand-link{display:inline-flex;flex-shrink:0}.blue-dot{color:var(--blue)}.skip-link{position:fixed;left:20px;top:-60px;z-index:20;background:var(--blue);color:white;padding:12px 18px}.skip-link:focus{top:12px}.noscript{text-align:center;padding:50px}.boot-screen{height:100vh;min-height:400px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px}.boot-screen p{color:var(--muted);font-size:13px}.loading-line{width:140px;height:2px;background:var(--line);overflow:hidden;position:relative}.loading-line:after{content:'';position:absolute;width:50%;height:100%;background:var(--blue);animation:loading 1s infinite ease-in-out}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);z-index:50;opacity:0;pointer-events:none;display:flex;align-items:center;gap:11px;background:var(--ink);color:white;padding:16px 22px;min-width:260px;max-width:calc(100vw - 36px);box-shadow:0 8px 30px #151a3220;font-size:13px;line-height:1.5;transition:opacity .2s,transform .2s}.toast.visible{opacity:1;transform:translate(-50%,0)}.toast.error{background:#8b332c}.toast .icon{color:#a4befd}.toast.error .icon{color:#fff}.form-error{font-size:13px;line-height:1.6;color:#a93730;background:#fff0ed;border-left:2px solid #a93730;padding:10px 12px;margin:14px 0}

/* Sign in */
.login-layout{min-height:100vh;display:grid;grid-template-columns:48% 52%}.login-side{display:flex;flex-direction:column;padding:38px 56px 27px}.login-form-wrap{width:100%;max-width:360px;margin:auto;padding:70px 0}.login-form-wrap h1{font-size:52px;line-height:1.045;letter-spacing:-2.5px;margin:23px 0 20px}.intro-copy{font-size:13px;line-height:1.75;color:var(--muted)}.login-form{margin-top:33px;display:flex;flex-direction:column}.login-form label{font-size:12px;font-weight:600;margin-bottom:9px}.login-form input{height:48px;font-size:13px;background:#ffffff50}.password-label{display:flex;justify-content:space-between;align-items:center;margin-top:21px}.password-label .text-button{margin-bottom:9px}.login-submit{margin-top:25px;justify-content:space-between}.demo-info{margin-top:26px;border-top:1px solid var(--line);padding-top:18px;color:var(--muted)}.demo-badge{font-size:9px;font-weight:700;letter-spacing:1.4px;color:var(--ink)}.demo-info p{font-size:11px;line-height:1.65;margin-top:7px}.demo-info details{font-size:10px;margin-top:10px;line-height:1.6}.demo-info summary{cursor:pointer;width:max-content;color:#555850}.demo-info strong{font-weight:600}.login-footer{display:flex;justify-content:space-between;gap:14px;font-size:9px;color:var(--muted);letter-spacing:.1px;line-height:1.5}.login-editorial{position:relative;isolation:isolate;overflow:hidden;background:var(--blue);color:white;min-height:700px;padding:43px 49px 35px;display:flex;flex-direction:column}.editorial-top,.editorial-bottom{display:flex;justify-content:space-between;align-items:flex-start;position:relative;z-index:2}.editorial-top{font-size:9px;line-height:1.5;letter-spacing:1.2px}.edition-label{text-align:right;opacity:.8}.edition-label strong{font-weight:500;font-size:18px;letter-spacing:0;display:block;margin-top:3px}.editorial-copy{position:relative;z-index:2;margin-top:60px}.editorial-copy .eyebrow{font-size:8px;letter-spacing:1.5px;opacity:.62}.editorial-copy h2{font-size:clamp(44px,4.9vw,80px);line-height:.97;letter-spacing:-3.4px;margin-top:23px;font-weight:500}.editorial-copy h2 em{font-family:Georgia,'Times New Roman',serif;font-weight:400}.login-shoe{position:absolute;z-index:1;width:105%;max-width:none;right:-15%;top:37%;transform:rotate(-13deg);pointer-events:none;filter:drop-shadow(0 35px 28px #0e208b30)}.hero-ring{position:absolute;border:1px solid #ffffff19;border-radius:100%;width:630px;height:630px;right:-40%;top:26%;transform:rotate(-25deg)}.ring-two{width:460px;height:460px;right:-24%;top:37%}.editorial-bottom{margin-top:auto;align-items:flex-end;padding-top:290px}.editorial-bottom p{font-size:12px;line-height:1.6;letter-spacing:.2px}.editorial-symbol{font-size:52px;font-weight:300;line-height:.85}

/* Portal shell */
.portal{min-height:100vh;display:flex;flex-direction:column}.site-header{height:87px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 4.3%;gap:50px}.site-header .brand{font-size:22px}.main-nav{display:flex;align-items:stretch;height:100%;gap:34px;margin-left:55px}.main-nav>a{font-size:12px;font-weight:500;display:flex;align-items:center;gap:7px;position:relative}.main-nav>a:after{content:'';position:absolute;bottom:-1px;height:2px;left:0;right:0;background:transparent}.main-nav>a:hover,.main-nav>a.active{color:var(--blue)}.main-nav>a.active:after{background:var(--blue)}.cart-count{display:inline-flex;justify-content:center;align-items:center;min-width:20px;height:20px;background:#e7e9de;color:var(--ink);font-size:10px;border-radius:20px;padding:0 5px}.cart-link.active .cart-count{background:var(--blue);color:white}.header-account{margin-left:auto;display:flex;align-items:center;gap:11px}.account-avatar{width:33px;height:33px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#e9eadf;font-size:12px}.header-company{font-size:11px;font-weight:600;line-height:1.4;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-company small{display:block;color:var(--muted);font-size:9px;font-weight:400;margin-top:3px}.icon-button{display:flex;align-items:center;justify-content:center;border:0;background:transparent;width:32px;height:32px;padding:6px}.logout-button{margin-left:10px;color:#7b7d73}.logout-button:hover{color:var(--blue)}.logout-button .icon{width:17px}.main-content{flex:1;width:100%;max-width:1800px;padding:0 4.3%;margin:0 auto;outline:none}.site-footer{margin:60px 4.3% 0;padding:25px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:#777970;font-size:9px;line-height:1.6}.site-footer>span:nth-child(2){font-size:8px;letter-spacing:1px;display:flex;align-items:center;gap:9px}.footer-dot{width:3px;height:3px;border-radius:50%;background:#8b8d83}

/* Catalog */
.collection-heading{display:flex;justify-content:space-between;align-items:flex-end;padding:51px 0 42px;border-bottom:1px solid var(--line);gap:25px}.collection-heading h1{font-size:clamp(43px,4.1vw,67px);letter-spacing:-2.9px;line-height:.99;margin:17px 0 19px}.collection-heading p{font-size:12px;line-height:1.7;color:var(--muted)}.collection-stamp{display:flex;flex-direction:column;align-items:flex-end;text-align:right;padding-bottom:4px}.collection-stamp span:first-child{font-size:8px;line-height:1.5;letter-spacing:1px}.collection-stamp strong{font-size:65px;letter-spacing:-5px;line-height:1.05;font-weight:500;margin:8px 0 5px;color:var(--blue)}.collection-stamp span:last-child{font-size:7px;letter-spacing:1.1px;color:var(--muted)}.collection-layout{display:grid;grid-template-columns:177px minmax(0,1fr);gap:41px;padding-top:30px}.filter-panel>summary{display:none}.filter-group{border-bottom:1px solid var(--line);padding-bottom:25px;margin-bottom:25px}.filter-group legend,.filter-group h3{font-size:10px;letter-spacing:.85px;font-weight:600;text-transform:uppercase;margin-bottom:17px}.category-option{display:flex;justify-content:space-between;align-items:center;padding:10px 10px 10px 0;position:relative;font-size:12px;cursor:pointer;color:#62655b;border-radius:2px}.category-option.selected{background:#e9ecfc;color:var(--blue);padding-left:11px;font-weight:600}.category-option:not(.selected):hover{color:var(--blue)}.category-option input{position:absolute;opacity:0;width:1px;height:1px}.category-option:has(input:focus-visible){outline:2px solid var(--blue);outline-offset:2px}.filter-count{font-size:10px;color:#96998d}.category-option.selected .filter-count{color:var(--blue)}.gender-group{padding-bottom:20px}.radio-option,.check-option{display:flex;align-items:center;gap:10px;font-size:11px;position:relative;cursor:pointer;color:#62655b;margin-bottom:15px;width:fit-content}.radio-option input,.check-option input{position:absolute;opacity:0;width:1px;height:1px}.custom-radio{border:1px solid #b9bdb0;border-radius:50%;height:13px;width:13px;display:flex;justify-content:center;align-items:center}.custom-radio:after{content:'';width:5px;height:5px;border-radius:50%;background:transparent}.radio-option input:checked+.custom-radio{border-color:var(--blue)}.radio-option input:checked+.custom-radio:after{background:var(--blue)}.radio-option:has(input:checked){color:var(--ink)}.radio-option input:focus-visible+.custom-radio,.check-option input:focus-visible+.custom-check{outline:2px solid var(--blue);outline-offset:4px}.filter-hint{color:#97998f;font-size:9px;line-height:1.6;margin:17px 0 0 23px}.availability-filter{padding-bottom:9px}.custom-check{height:13px;width:13px;border:1px solid #b9bdb0;border-radius:1px;display:flex;align-items:center;justify-content:center}.custom-check .icon{width:11px;height:11px;opacity:0;stroke-width:2}.check-option input:checked+.custom-check{background:var(--blue);border-color:var(--blue);color:white}.check-option input:checked+.custom-check .icon{opacity:1}.clear-filters{font-size:10px;color:var(--blue);border:0;background:transparent;padding:0;display:flex;justify-content:space-between;align-items:center;width:100%;margin:0 0 24px}.clear-filters span{font-size:16px}.sidebar-note{padding:21px 17px;background:#eeefe7;margin-top:33px;display:flex;flex-direction:column;align-items:flex-start}.note-mark{font-size:26px;line-height:1.1;color:var(--blue);margin-bottom:25px}.sidebar-note strong{font-weight:500;font-size:12px;line-height:1.3}.sidebar-note p{font-size:10px;line-height:1.6;color:#818578;margin-top:8px}.small-tag{font-size:6.5px;letter-spacing:.8px;border-top:1px solid #d8dbce;width:100%;padding-top:14px;margin-top:21px;color:#818578}.catalog-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px;min-height:35px}.result-count{font-size:10px;white-space:nowrap;color:var(--muted)}.result-count strong{font-weight:500;color:var(--ink)}.toolbar-controls{display:flex;align-items:center;gap:20px}.search-field{display:flex;align-items:center;gap:8px;padding-bottom:5px;border-bottom:1px solid var(--line);width:174px}.search-field .icon{width:14px;height:14px;color:#818577}.search-field input{border:none;box-shadow:none;padding:3px 0;background:transparent;font-size:10px;min-width:0}.search-field:focus-within{border-bottom-color:var(--blue)}.search-field input::placeholder{color:#85877c}.sort-field{display:flex;align-items:center;gap:8px;font-size:10px;white-space:nowrap}.sort-field>span{color:var(--muted)}.sort-field select{border:0;background:transparent;padding:5px 16px 5px 0;font-size:10px;max-width:145px;outline-offset:3px;cursor:pointer}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:29px 19px}.product-card{min-width:0}.product-visual{position:relative;background:#eeefe9;aspect-ratio:1.17;overflow:hidden}.product-visual:after{content:'';position:absolute;inset:0;pointer-events:none;border:1px solid #20211f03}.product-visual img{width:100%;height:100%;object-fit:contain;transition:transform .35s ease;padding:7% 2% 0}.product-card:hover .product-visual img{transform:translateY(-3px) scale(1.035)}.product-badges{position:absolute;left:12px;top:12px;z-index:1}.product-badge{font-size:6.5px;letter-spacing:.7px;font-weight:600;padding:5px 6px;display:block;background:#fff9}.product-badge.new{color:var(--blue);background:#f9faf4}.product-badge.sold-out{color:#74776b;background:#e0e3d8}.product-index{position:absolute;right:10px;bottom:10px;font-size:6px;letter-spacing:.6px;color:#989d8f}.in-cart-badge{position:absolute;left:10px;bottom:9px;display:flex;align-items:center;gap:4px;font-size:7px;background:#f9faf2d9;color:var(--blue);padding:4px 5px}.in-cart-badge .icon{width:10px;height:10px;stroke-width:2}.product-info{padding-top:14px}.product-category{text-transform:uppercase;color:#878a80;font-size:7px;letter-spacing:.7px;line-height:1.5}.product-category>span{margin:0 3px;color:#b5b9aa}.product-info h2{font-size:15px;letter-spacing:-.35px;margin:6px 0 5px;line-height:1.2}.product-color{color:#8c8f84;font-size:9px;line-height:1.5}.product-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:15px;gap:4px}.product-price{font-size:12px;font-weight:500;white-space:nowrap}.product-price>span{color:#8c8f84;font-size:8px;font-weight:400;margin-left:4px}.stock-label{display:flex;align-items:center;gap:4px;font-size:7.5px;color:#6f7d66;margin-top:7px;line-height:1.4}.stock-label>span{width:3px;height:3px;border-radius:50%;background:#809073;flex-shrink:0}.stock-label.low-stock{color:#9b793b}.stock-label.low-stock>span{background:#b4914e}.stock-label.no-stock{color:#999c92}.stock-label.no-stock>span{background:#adafa6}.add-button{background:transparent;color:var(--ink);border:1px solid #cdd1c3;width:30px;height:30px;display:flex;align-items:center;justify-content:center;padding:0;flex-shrink:0;transition:background .15s,color .15s,border .15s}.add-button .icon{width:14px;height:14px}.add-button:hover:not(:disabled){background:var(--blue);border-color:var(--blue);color:white}.add-button.has-quantity{border-color:#acb9ef;color:var(--blue)}.collection-end{display:flex;align-items:center;gap:18px;justify-content:center;margin:52px 0 12px}.collection-end span{width:34px;height:1px;background:var(--line)}.collection-end p{font-size:6.5px;color:#969b8a;letter-spacing:1.3px}.empty-state{padding:85px 20px;text-align:center;border:1px solid var(--line);display:flex;flex-direction:column;align-items:center}.empty-icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:var(--soft);margin-bottom:22px;color:var(--blue)}.empty-state h2{font-size:28px;letter-spacing:-1px}.empty-state p{font-size:13px;color:var(--muted);line-height:1.7;max-width:330px;margin:14px 0 25px}.skeleton-image{aspect-ratio:1.17;background:#e9eae2;margin-bottom:16px}.skeleton-line{height:12px;background:#e9eae2;margin-bottom:9px;width:70%}.skeleton-line.short{width:42%;height:8px}.skeleton-card{animation:pulse 1.4s infinite alternate}

/* Account */
.page-heading{padding:51px 0 38px}.page-heading h1{font-size:53px;letter-spacing:-2.5px;line-height:1.1;margin:15px 0}.page-heading p{color:var(--muted);font-size:13px;line-height:1.7}.account-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:35px}.panel{border:1px solid var(--line);padding:30px;background:#ffffff35}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:26px;margin-bottom:26px}.section-number{font-size:8px;font-weight:600;letter-spacing:1.4px;color:#888c7f}.panel-heading h2{font-size:22px;letter-spacing:-.7px;margin-top:10px}.panel-heading>.icon{width:25px;height:25px;color:#949889}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 20px}.form-field label{display:block;font-size:11px;font-weight:500;margin-bottom:9px}.form-field input{font-size:12px;height:43px}.form-field small{display:block;font-size:9px;margin-top:7px;color:#92968a}.full-width{grid-column:1/-1}.form-divider{grid-column:1/-1;display:flex;align-items:center;gap:15px;font-size:8px;letter-spacing:1.1px;color:#939788;margin:6px 0 1px}.form-divider:after{content:'';flex:1;background:var(--line);height:1px}.form-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:29px;padding-top:25px;border-top:1px solid var(--line)}.form-actions>span{font-size:9px;color:var(--muted)}.form-actions .button{font-size:11px;min-height:43px}.account-welcome{background:#e9ecfc;padding:28px 24px}.account-welcome .eyebrow{font-size:8px;color:var(--blue)}.account-monogram{display:flex;justify-content:space-between;align-items:flex-start;font-size:84px;color:var(--blue);font-weight:500;line-height:1.1;margin:23px 0;letter-spacing:-6px}.account-monogram>span{font-size:33px;line-height:1}.account-welcome h2{font-size:22px;letter-spacing:-.8px}.account-welcome p{font-size:11px;color:#7f88a4;margin-top:8px}.account-summary-row{border-top:1px solid #cfd5f1;margin-top:28px;padding-top:17px;display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#7983a0}.status-dot{width:5px;height:5px;border-radius:50%;background:var(--blue)}.account-note{padding:25px 8px;display:flex;align-items:flex-start;gap:13px;color:#8a8e80}.account-note .icon{width:18px;height:18px}.account-note p{font-size:10px;line-height:1.8}.order-history{margin-top:48px;margin-bottom:15px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:24px}.section-heading h2{font-size:28px;letter-spacing:-1px;margin-top:10px}.order-count{font-size:10px;color:#888c7f}.empty-history{padding:28px;border:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.empty-history p{font-size:13px;color:var(--muted)}.empty-history .text-link{font-size:11px}.loading-message{font-size:12px;color:var(--muted);padding:25px;border:1px solid var(--line)}.order-list{border-top:1px solid var(--line)}.order-row{border-bottom:1px solid var(--line)}.order-row>summary{list-style:none;display:grid;grid-template-columns:1fr 140px 100px 100px 20px;align-items:center;gap:20px;cursor:pointer;padding:21px 6px}.order-row>summary::-webkit-details-marker{display:none}.order-number{font-size:12px;font-weight:600}.order-number small{display:block;font-size:9px;font-weight:400;color:#95998d;margin-top:6px}.order-status{font-size:8px;letter-spacing:.5px;text-transform:uppercase;color:var(--blue);background:#e9ecfc;justify-self:start;padding:5px 8px}.order-units{font-size:10px;color:#858a7b}.order-row>summary>strong{font-size:12px;font-weight:500;text-align:right}.order-expand{text-align:right;font-size:19px;color:#848979}.order-row[open] .order-expand{transform:rotate(45deg)}.order-details{padding:2px 35px 20px;background:#eeefe750}.order-detail-line{display:grid;grid-template-columns:1fr 100px 100px;gap:20px;padding:13px 0;border-bottom:1px solid var(--line);font-size:11px}.order-detail-line>span>small{font-size:8px;color:#8e9582;margin-left:7px}.order-detail-line>span:nth-child(2){color:#929a84;font-size:10px;text-align:right}.order-detail-line strong{text-align:right;font-size:11px;font-weight:500}.order-extra{font-size:10px;color:var(--muted);margin-top:12px;line-height:1.7}

/* Cart and checkout */
.cart-heading{display:flex;justify-content:space-between;align-items:flex-end;padding-bottom:41px;gap:20px}.cart-heading>.text-link{font-size:11px;margin-bottom:5px}.cart-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:42px;align-items:start}.cart-table-heading{display:grid;grid-template-columns:1fr 110px 80px;gap:22px;font-size:8px;letter-spacing:1px;color:#919786;padding:0 0 17px;border-bottom:1px solid var(--line)}.cart-table-heading span:last-child{text-align:right}.cart-table-heading span:nth-child(2){text-align:center}.cart-item{display:grid;grid-template-columns:minmax(0,1fr) 110px 80px;gap:22px;align-items:center;padding:23px 0;border-bottom:1px solid var(--line)}.cart-product{display:flex;align-items:center;gap:20px;min-width:0}.cart-product-image{width:117px;height:96px;flex-shrink:0;background:#eeefe7;display:flex;align-items:center;justify-content:center}.cart-product-image img{width:100%;height:100%;object-fit:contain;padding:5px}.cart-product .product-category{font-size:6.5px}.cart-product h2{font-size:16px;line-height:1.2;letter-spacing:-.3px;margin:6px 0}.cart-unit-price{font-size:10px;margin-top:12px}.cart-unit-price>span{color:#959b89;font-size:8px;margin-left:3px}.cart-quantity{text-align:center}.quantity-control{height:33px;display:flex;border:1px solid #ccd2bf;border-radius:2px;overflow:hidden}.quantity-control button{width:30px;flex-shrink:0;border:0;background:transparent;padding:4px;color:#8b957c}.quantity-control button:hover:not(:disabled){background:#e7ebde;color:var(--blue)}.quantity-control .icon{width:12px;height:12px}.quantity-control input{padding:0;border:0;font-size:11px;text-align:center;min-width:0;width:48px;appearance:textfield;box-shadow:none}.quantity-control input::-webkit-outer-spin-button,.quantity-control input::-webkit-inner-spin-button{appearance:none;margin:0}.quantity-control input:focus{background:#e9eddf}.remove-button{font-size:8px;color:#929b84;background:transparent;border:0;border-bottom:1px solid #bcc4af;border-radius:0;margin-top:9px;padding:0 0 1px}.remove-button:hover{color:#b04c41;border-color:#b04c41}.cart-line-total{font-size:12px;text-align:right;font-weight:500}.cart-below{display:flex;align-items:center;justify-content:space-between;padding:20px 0;gap:20px}.cart-below>span{display:flex;align-items:center;gap:6px;font-size:9px;color:#7f8972}.cart-below .icon{width:12px;height:12px}.cart-below .text-button{font-size:9px}.order-summary{background:#eeefe7;padding:29px 25px 25px}.order-summary .section-number{font-size:7px}.order-summary h2{font-size:25px;letter-spacing:-.8px;margin:12px 0 30px}.summary-line{display:flex;justify-content:space-between;align-items:center;font-size:11px;margin-bottom:17px;gap:16px}.summary-line>span:first-child{color:#7f8972}.summary-note{font-size:9px;margin-bottom:23px}.summary-note>span:last-child{font-size:8px;color:#939b86}.summary-total{display:flex;align-items:baseline;justify-content:space-between;padding:21px 0 25px;border-top:1px solid #d4dac9;font-size:11px}.summary-total strong{font-size:23px;letter-spacing:-.8px;font-weight:500}.order-summary form{border-top:1px solid #d4dac9;padding-top:22px;display:flex;flex-direction:column}.order-summary label{font-size:10px;margin-bottom:9px}.order-summary label>span{color:#919a85;font-size:9px;margin-left:3px}.order-summary input,.order-summary textarea{font-size:10px;border-color:#d0d7c4;background:#f7f8f05c;padding:11px 12px;margin-bottom:19px}.order-summary input::placeholder,.order-summary textarea::placeholder{color:#a0a794}.place-order{width:100%;justify-content:space-between;font-size:11px;margin:3px 0 18px}.checkout-note{display:flex;align-items:flex-start;gap:10px;font-size:8px;line-height:1.7;color:#89947b}.checkout-note .icon{width:14px;height:14px;margin-top:1px}.empty-cart{text-align:center;padding:40px 20px 60px;border-top:1px solid var(--line)}.empty-cart-art{display:flex;align-items:center;justify-content:center;width:105px;height:105px;background:#eaedde;border-radius:50%;position:relative;margin:10px auto 27px;color:#899674}.empty-cart-art>.icon{width:40px;height:40px;stroke-width:1}.empty-cart-art>span{width:30px;height:30px;display:flex;align-items:center;justify-content:center;position:absolute;right:0;bottom:0;background:var(--blue);color:white;border-radius:50%;font-size:22px;font-weight:300}.empty-cart h2{font-size:32px;letter-spacing:-1px}.empty-cart p{font-size:13px;line-height:1.8;color:var(--muted);margin:14px 0 26px}.confirmation{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:470px;margin:65px auto 50px}.confirmation-icon{width:66px;height:66px;display:flex;align-items:center;justify-content:center;background:#e5eafc;color:var(--blue);border-radius:50%;margin-bottom:27px}.confirmation-icon .icon{width:26px;height:26px}.confirmation>.eyebrow{font-size:8px;letter-spacing:1.3px}.confirmation h1{font-size:54px;letter-spacing:-2.5px;line-height:1.1;margin:18px 0}.confirmation>p{font-size:13px;line-height:1.75;color:var(--muted)}.confirmation-card{background:#eeefe7;width:100%;padding:27px 35px;margin:29px 0}.confirmation-card>span{font-size:8px;letter-spacing:1.3px;color:#848d78}.confirmation-card>strong{display:block;font-size:21px;font-weight:500;margin:11px 0 22px;letter-spacing:-.5px}.confirmation-card>div{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #d7ddca;padding-top:17px;font-size:13px}.confirmation-card>small{font-size:9px;color:#87917a;display:block;margin-top:22px;line-height:1.6}.confirmation-actions{display:flex;flex-direction:column;align-items:center;gap:21px}.confirmation-actions>.text-link{font-size:11px}

@keyframes loading{0%{transform:translateX(-100%)}100%{transform:translateX(300%)}}@keyframes pulse{from{opacity:.4}to{opacity:1}}
@media(min-width:1600px){.product-grid{gap:36px 25px}.product-info h2{font-size:18px}.product-category{font-size:8px}.product-color{font-size:10px}.product-price{font-size:14px}.stock-label{font-size:9px}.add-button{width:35px;height:35px}.product-badge{font-size:8px}.product-visual img{padding:5% 0 0}.collection-layout{grid-template-columns:200px minmax(0,1fr);gap:50px}.catalog-toolbar{margin-bottom:26px}.result-count,.sort-field,.sort-field select,.search-field input{font-size:12px}.search-field{width:220px}.category-option{font-size:13px}.filter-group legend,.filter-group h3{font-size:11px}}
@media(max-width:1190px){.site-header{gap:30px;padding:0 3.5%}.main-nav{margin-left:20px;gap:27px}.main-content{padding:0 3.5%}.site-footer{margin-left:3.5%;margin-right:3.5%}.collection-layout{grid-template-columns:150px minmax(0,1fr);gap:27px}.product-grid{gap:29px 14px}.product-info h2{font-size:14px}.product-visual{aspect-ratio:1.06}.product-badges{left:8px;top:8px}.product-badge{font-size:5.7px;padding:4px 5px}.product-index{font-size:5px;right:7px;bottom:8px}.product-price{font-size:11px}.stock-label{font-size:7px}.add-button{width:27px;height:27px}.toolbar-controls{gap:13px}.search-field{width:155px}.sort-field>span{display:none}.cart-layout{grid-template-columns:minmax(0,1fr) 290px;gap:28px}.cart-item,.cart-table-heading{grid-template-columns:minmax(0,1fr) 96px 64px;gap:15px}.cart-product{gap:13px}.cart-product-image{width:87px;height:84px}.cart-product h2{font-size:14px}.quantity-control input{width:35px}.account-layout{gap:25px;grid-template-columns:minmax(0,1fr) 240px}.login-side{padding:34px 38px 25px}.login-editorial{padding:37px 36px 30px}.login-form-wrap{max-width:325px}.editorial-copy{margin-top:66px}.editorial-copy h2{font-size:61px}.login-shoe{top:41%;right:-20%;width:115%}.editorial-bottom{padding-top:285px}.login-form-wrap h1{font-size:47px}}
@media(max-width:960px){.header-company{display:none}.header-account{gap:4px}.main-nav{margin-left:auto}.site-header{gap:25px}.header-account{margin-left:25px}.collection-heading{padding-top:40px;padding-bottom:34px}.collection-heading h1{font-size:50px}.collection-layout{grid-template-columns:145px minmax(0,1fr);gap:26px}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:29px 14px}.catalog-toolbar{align-items:flex-start;gap:12px}.toolbar-controls{align-items:flex-end;gap:10px}.search-field{width:140px}.sort-field select{width:100px;font-size:9px}.result-count{font-size:9px;padding-top:9px}.product-visual{aspect-ratio:1.1}.collection-stamp strong{font-size:55px}.collection-heading p{font-size:11px;max-width:340px}.cart-layout{grid-template-columns:1fr 270px;gap:22px}.cart-item,.cart-table-heading{grid-template-columns:minmax(0,1fr) 92px;gap:13px}.cart-table-heading span:last-child{display:none}.cart-line-total{grid-column:2;grid-row:1;align-self:end;margin-bottom:8px}.cart-quantity{align-self:start;padding-top:4px}.cart-item{position:relative;min-height:145px}.cart-product-image{width:70px;height:80px}.cart-product h2{font-size:13px}.cart-product .product-color{font-size:8px}.cart-unit-price{font-size:9px}.quantity-control{height:30px}.quantity-control button{width:26px}.quantity-control input{width:38px}.cart-quantity .remove-button{margin-top:6px}.order-summary{padding:25px 20px}.cart-heading>.text-link{font-size:10px}.page-heading h1{font-size:47px}.account-layout{grid-template-columns:1fr 210px;gap:23px}.panel{padding:25px}.panel-heading h2{font-size:20px}.account-welcome{padding:24px 20px}.account-welcome h2{font-size:21px}.form-actions{align-items:flex-start;flex-direction:column;gap:15px}.form-actions .button{align-self:flex-end}.login-layout{grid-template-columns:50% 50%}.login-side{padding:31px 30px 23px}.login-editorial{padding:35px 29px 28px}.editorial-copy h2{font-size:53px;letter-spacing:-2.7px}.editorial-top{font-size:7px}.editorial-copy .eyebrow{font-size:6.5px}.login-form-wrap h1{font-size:44px}.login-form-wrap .eyebrow{font-size:8px}.login-footer{font-size:7px}.login-shoe{top:43%;right:-23%;width:130%}.login-editorial{min-height:780px}.editorial-bottom{padding-top:260px}}
@media(max-width:760px){.site-header{height:72px;gap:18px;padding:0 24px}.site-header .brand{font-size:19px}.brand-slash{font-size:26px}.brand-dot{font-size:8px}.main-nav{gap:21px;margin-left:auto}.main-nav>a{font-size:11px}.header-account{display:none}.main-content{padding:0 24px}.site-footer{margin:45px 24px 0;flex-wrap:wrap;gap:12px;font-size:8px;padding:22px 0}.site-footer>span:nth-child(2){font-size:7px;order:3;width:100%}.collection-heading{padding:33px 0 29px}.collection-heading h1{font-size:44px;letter-spacing:-2.3px}.collection-heading .eyebrow{font-size:8px;letter-spacing:1.2px}.collection-heading p{font-size:11px;max-width:370px}.collection-stamp{padding-bottom:5px}.collection-stamp span:first-child{font-size:6.5px}.collection-stamp span:last-child{font-size:5.5px;max-width:110px;line-height:1.6}.collection-stamp strong{font-size:46px;letter-spacing:-3px}.collection-layout{grid-template-columns:1fr;padding-top:20px;gap:20px}.filter-panel{border-bottom:1px solid var(--line);padding-bottom:17px}.filter-panel>summary{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:11px;list-style:none}.filter-panel>summary .icon{width:15px;height:15px}.filter-panel>summary:after{content:'−';margin-left:auto;font-size:16px;color:var(--muted)}.filter-panel:not([open])>summary:after{content:'+'}.filter-content{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:20px;padding-top:24px}.filter-group{padding-bottom:0;margin-bottom:0;border:0}.filter-group legend,.filter-group h3{font-size:8px;margin-bottom:12px}.category-option{font-size:10px;padding:7px 8px 7px 0}.filter-count{font-size:8px}.radio-option,.check-option{font-size:10px;gap:7px;margin-bottom:13px}.filter-hint{font-size:8px;margin:0 0 0 20px}.custom-radio,.custom-check{width:12px;height:12px}.sidebar-note{display:none}.clear-filters{grid-column:1/-1;width:100px;margin:0}.catalog-toolbar{align-items:center;min-height:34px;margin-bottom:19px}.toolbar-controls{align-items:center;gap:14px}.search-field{width:170px}.sort-field select{width:auto;font-size:10px;max-width:118px}.result-count{font-size:10px;padding:0}.product-grid{gap:29px 16px}.product-visual{aspect-ratio:1.04}.product-info h2{font-size:15px}.product-price{font-size:12px}.product-color{font-size:9px}.stock-label{font-size:7px}.collection-end{margin-top:35px}.page-heading{padding-top:35px}.page-heading h1{font-size:43px}.page-heading p{font-size:12px}.account-layout{grid-template-columns:1fr}.account-summary{display:grid;grid-template-columns:1fr 1fr;gap:25px}.account-welcome{padding:22px}.account-welcome .eyebrow{font-size:7px}.account-monogram{font-size:50px;margin:15px 0}.account-monogram>span{font-size:23px}.account-welcome h2{font-size:20px}.account-summary-row{margin-top:20px}.account-note{align-self:center;padding:0}.account-note p{font-size:11px}.form-actions{flex-direction:row;align-items:center}.form-actions .button{align-self:auto}.order-row>summary{grid-template-columns:1fr 100px 70px 20px;gap:13px}.order-units{display:none}.order-details{padding:0 15px 18px}.order-detail-line{grid-template-columns:1fr 80px 65px;gap:13px}.order-detail-line>span>small{display:block;margin:4px 0 0}.cart-layout{grid-template-columns:1fr}.order-summary{max-width:100%;padding:28px}.cart-item,.cart-table-heading{grid-template-columns:minmax(0,1fr) 105px 75px;gap:20px}.cart-table-heading span:last-child{display:block}.cart-item{min-height:0}.cart-line-total{grid-column:auto;grid-row:auto;align-self:center;margin-bottom:0}.cart-quantity{align-self:center;padding:0}.quantity-control{height:33px}.quantity-control button{width:29px}.quantity-control input{width:46px}.cart-product-image{width:100px;height:90px}.cart-product h2{font-size:15px}.cart-unit-price{font-size:10px}.cart-product .product-color{font-size:9px}.cart-heading{padding-bottom:33px}.cart-heading h1{font-size:40px}.cart-heading>.text-link{gap:7px;font-size:9px}.cart-heading>.text-link .icon{width:14px}.order-summary form{display:grid;grid-template-columns:1fr 1fr;column-gap:20px;align-items:start}.order-summary label{grid-column:1}.order-summary input{grid-column:1;margin:0;grid-row:2}.order-summary label[for=order-notes]{grid-column:2;grid-row:1}.order-summary textarea{grid-column:2;grid-row:2/4;min-height:70px;margin:0}.place-order{grid-column:1/-1;margin:22px 0 18px}.checkout-note{font-size:9px}.order-summary h2{margin-bottom:24px}.summary-total{padding-bottom:22px}.empty-cart{padding-top:28px}.login-layout{grid-template-columns:1fr;min-height:100vh}.login-editorial{display:none}.login-side{min-height:100vh;padding:29px 30px 23px}.login-form-wrap{max-width:360px;padding:60px 0}.login-form-wrap h1{font-size:51px}.login-form-wrap .eyebrow{font-size:9px}.login-side>.brand-link{align-self:flex-start}.login-footer{font-size:8px}.confirmation{margin-top:45px}.confirmation h1{font-size:47px}.confirmation-card{padding:25px 30px}}
@media(max-width:520px){.site-header{padding:0 18px;height:68px;gap:14px}.site-header .brand{font-size:17px;letter-spacing:-1.2px}.site-header .brand-slash{font-size:23px;margin:0 3px}.site-header .brand-dot{font-size:7px;margin:2px 0 0 3px}.main-nav{gap:15px}.main-nav>a{font-size:10px}.cart-count{min-width:17px;height:17px;font-size:8px;padding:0 4px}.main-content{padding:0 18px}.site-footer{margin-left:18px;margin-right:18px}.collection-heading{padding:29px 0 26px;gap:16px}.collection-heading h1{font-size:39px;letter-spacing:-1.9px;line-height:1.025;margin-top:14px;margin-bottom:16px}.collection-heading .eyebrow{font-size:7px;letter-spacing:.8px;gap:7px}.small-dash{width:14px}.collection-heading p{font-size:10px;max-width:280px}.collection-stamp{display:none}.filter-content{gap:17px;grid-template-columns:1fr 1fr}.availability-filter{grid-column:1/-1;margin-top:5px;display:flex;align-items:center;gap:17px}.availability-filter h3{margin:0}.availability-filter .check-option{margin:0}.filter-hint{font-size:7px;line-height:1.5}.filter-panel{padding-bottom:16px}.filter-group legend{font-size:8px;letter-spacing:.7px}.category-option{font-size:11px}.filter-count{font-size:9px}.radio-option,.check-option{font-size:10px}.filter-content{padding-top:21px}.catalog-toolbar{align-items:flex-start;gap:8px;flex-wrap:wrap;margin-bottom:19px}.result-count{font-size:9px;order:2;flex:1;padding-top:3px}.toolbar-controls{display:contents}.search-field{order:1;width:100%;margin-bottom:9px;padding-bottom:8px}.search-field input{font-size:11px}.search-field .icon{width:15px;height:15px}.sort-field{order:3}.sort-field select{font-size:9px;padding:1px 14px 1px 0}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:29px 13px}.product-visual{aspect-ratio:1.06}.product-info{padding-top:12px}.product-info h2{font-size:15px;letter-spacing:-.35px;margin:5px 0}.product-category{font-size:6px;letter-spacing:.45px}.product-color{font-size:8px}.product-bottom{margin-top:13px}.product-price{font-size:12px}.product-price>span{font-size:7px;margin-left:3px}.stock-label{font-size:6.5px;margin-top:6px;gap:3px}.stock-label>span{width:3px;height:3px}.add-button{width:28px;height:28px}.product-badge{font-size:5.5px;letter-spacing:.4px}.product-visual img{padding:11% 0 0}.product-index{font-size:4.7px;bottom:7px;right:7px}.in-cart-badge{font-size:6px;left:7px;bottom:6px;padding:3px 4px}.in-cart-badge .icon{width:8px;height:8px}.product-badges{left:8px;top:8px}.collection-end p{font-size:5.5px;letter-spacing:1px}.collection-end span{width:20px}.collection-end{gap:12px;margin-top:35px}.site-footer>span:first-child{font-size:8px}.site-footer>span:last-child{font-size:7px}.page-heading{padding:30px 0 29px}.page-heading h1{font-size:39px;letter-spacing:-2px;margin:13px 0}.page-heading .eyebrow{font-size:7px;letter-spacing:1px}.page-heading p{font-size:11px}.panel{padding:22px 18px}.panel-heading{padding-bottom:21px;margin-bottom:22px;gap:12px}.panel-heading h2{font-size:21px;max-width:230px;line-height:1.2}.panel-heading>.icon{display:none}.section-number{font-size:7px;letter-spacing:1px}.form-grid{gap:19px 12px}.form-field label{font-size:10px}.form-field input{font-size:11px;height:41px;padding:10px}.form-field small{font-size:8px}.form-field:has(input[name=company]),.form-field:has(input[name=contactName]),.form-field:has(input[type=email]),.form-field:has(input[type=tel]){grid-column:1/-1}.form-actions{flex-direction:column;gap:15px;align-items:flex-start;margin-top:24px;padding-top:20px}.form-actions .button{width:100%;justify-content:space-between}.form-actions>span{font-size:9px}.account-summary{gap:20px;grid-template-columns:1fr}.account-welcome{padding:23px}.account-monogram{font-size:53px;margin:18px 0}.account-note{padding:0 4px}.account-note p{font-size:10px}.order-history{margin-top:35px}.section-heading h2{font-size:25px;max-width:250px}.order-count{font-size:9px;white-space:nowrap}.empty-history{padding:24px 20px;display:block}.empty-history p{font-size:12px;margin-bottom:16px;line-height:1.6}.empty-history .text-link{font-size:11px}.order-row>summary{grid-template-columns:1fr 76px 65px 12px;gap:10px;padding:19px 0}.order-number{font-size:10px}.order-number small{font-size:8px}.order-status{font-size:6px;padding:4px 5px}.order-row>summary>strong{font-size:11px}.order-details{padding:0 8px 16px}.order-detail-line{font-size:10px;grid-template-columns:1fr 62px 58px;gap:8px}.order-detail-line>span:nth-child(2){font-size:8px}.order-detail-line>strong{font-size:9px}.cart-heading{display:block}.cart-heading>.text-link{font-size:10px;margin:18px 0 0}.cart-item,.cart-table-heading{grid-template-columns:minmax(0,1fr) 89px;gap:11px}.cart-table-heading{font-size:7px;padding-bottom:15px}.cart-table-heading span:last-child{display:none}.cart-product-image{width:75px;height:80px}.cart-product{gap:12px}.cart-product h2{font-size:13px;margin:5px 0}.cart-product .product-category{font-size:5.7px;letter-spacing:.25px}.cart-product .product-color{font-size:7.5px}.cart-unit-price{font-size:10px;margin-top:9px}.cart-unit-price>span{font-size:7px}.cart-item{padding:22px 0;min-height:150px}.cart-quantity{align-self:start}.cart-line-total{grid-column:2;grid-row:1;align-self:end;margin-bottom:0;font-size:11px}.quantity-control{height:29px}.quantity-control button{width:25px}.quantity-control input{width:37px;font-size:10px}.remove-button{font-size:7px}.cart-below{padding:18px 0}.cart-below>span{font-size:8px}.cart-below .text-button{font-size:8px}.cart-layout{gap:19px}.order-summary{padding:25px 22px}.order-summary form{display:flex}.order-summary input{margin-bottom:19px}.order-summary textarea{min-height:80px}.place-order{margin-top:22px}.summary-line{font-size:10px}.summary-note{font-size:9px}.summary-total strong{font-size:24px}.empty-cart{padding:33px 10px 40px}.empty-cart h2{font-size:30px}.empty-cart p{font-size:12px}.empty-cart .button{font-size:12px}.confirmation{margin-top:40px;margin-bottom:35px}.confirmation h1{font-size:43px}.confirmation>p{font-size:12px}.confirmation-card{padding:25px}.confirmation-card>strong{font-size:19px}.confirmation-actions .button{font-size:12px}.toast{font-size:12px;padding:14px 17px;bottom:18px;width:max-content}.login-side{padding:28px 25px 20px}.login-form-wrap{padding:55px 0}.login-form-wrap h1{font-size:47px}.login-footer{font-size:7px}.login-form-wrap .eyebrow{font-size:8px;letter-spacing:1.2px}.intro-copy{font-size:12px}.demo-info{margin-top:25px}.button{border-radius:2px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Collection cards: product tiles with compact wholesale ordering. */
.product-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px 18px;
  align-items: stretch;
}
.product-card {
  --card-panel: #566aff;
  --card-circle: #c5b9ff;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #e3e1e8;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 2px 5px #251d3f04;
}
.product-card .product-visual {
  isolation: isolate;
  flex-shrink: 0;
  aspect-ratio: 4 / 3;
  background: var(--card-panel);
}
.product-card .product-visual::before {
  content: '';
  position: absolute;
  z-index: -1;
  left: 50%;
  top: 49%;
  width: 62%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--card-circle);
  transform: translate(-50%, -50%);
}
.product-card .product-visual::after { content: none; }
.product-card .product-visual img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 8% 3% 6%;
  filter: drop-shadow(0 7px 5px #23204712);
}
.product-card:hover .product-visual img { transform: translateY(-2px) scale(1.025); }
.product-card .in-cart-badge {
  inset: 11px 11px auto auto;
  z-index: 2;
  gap: 4px;
  border-radius: 20px;
  padding: 5px 7px;
  background: #ffffffed;
  color: #302552;
  font-size: 8px;
  line-height: 1.2;
}
.product-card .in-cart-badge .icon { width: 10px; height: 10px; }
.product-card .product-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 16px 14px 14px;
}
.product-card .product-info h2 {
  margin: 0 0 7px;
  color: #272331;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -.3px;
  line-height: 1.25;
}
.product-card .product-brand,
.product-card .product-color {
  margin: 0;
  color: #746e7e;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
  text-transform: none;
}
.product-card .product-color { margin-top: 2px; color: #99939f; }
.product-card .product-price-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 7px;
  margin-top: auto;
  padding-top: 16px;
}
.product-card .product-price {
  display: flex;
  align-items: baseline;
  gap: 4px;
  margin: 0;
  font-size: 17px;
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
}
.product-card .product-price strong { color: #272331; font-size: inherit; font-weight: 700; letter-spacing: -.5px; }
.product-card .product-price > span { margin: 0; font-size: 9px; color: #96909c; white-space: nowrap; }
.product-card .stock-label,
.product-card .stock-label.low-stock {
  display: block;
  margin: 0;
  color: #3d926b;
  font-size: 11px;
  line-height: 1.2;
  white-space: nowrap;
}
.product-card .stock-label > span { display: none; }
.product-card .stock-label.no-stock { color: #98919e; }
.product-card .product-purchase {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 15px;
}
.product-card .product-stepper {
  display: flex;
  align-items: stretch;
  min-width: 0;
  height: 35px;
  overflow: hidden;
  border: 1px solid #e3dfea;
  border-radius: 6px;
  background: #fff;
}
.product-card .product-stepper > button {
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 1 0 24px;
  min-width: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #554862;
  font-size: 16px;
  line-height: 1;
}
.product-card .product-stepper > button:hover:not(:disabled) { background: #f3f0f8; }
.product-card .product-stepper .icon { width: 12px; height: 12px; }
.product-card .card-quantity {
  flex: 1 1 28px;
  min-width: 0;
  width: 28px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #3e334b;
  text-align: center;
  font-size: 12px;
  line-height: 1;
  appearance: textfield;
  box-shadow: none;
}
.product-card .card-quantity::-webkit-inner-spin-button,
.product-card .card-quantity::-webkit-outer-spin-button { margin: 0; appearance: none; }
.product-card .card-quantity:focus { background: #f3f0f8; box-shadow: inset 0 0 0 1px #b4a8c7; }
.product-card .card-add-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-width: 0;
  min-height: 35px;
  padding: 8px 10px;
  border: 1px solid #2f1b47;
  border-radius: 6px;
  background: #2f1b47;
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.2;
  transition: background .15s, border-color .15s;
}
.product-card .card-add-button:hover:not(:disabled) { background: #482865; border-color: #482865; }
.product-card .card-add-button .icon { width: 12px; height: 12px; }
.product-card .card-add-button:disabled { background: #c1b9c9; border-color: #c1b9c9; opacity: 1; }
.product-card .product-stepper > button:focus-visible,
.product-card .card-add-button:focus-visible { outline-color: #75569b; outline-offset: -3px; }
@media (max-width: 1100px) {
  .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .product-grid { gap: 20px 14px; }
  .product-card .product-info { padding: 14px 12px 12px; }
  .product-card .product-price { font-size: 16px; }
  .product-card .product-price > span { font-size: 8px; }
  .product-card .stock-label { font-size: 9px; }
}
@media (max-width: 620px) {
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 13px; }
  .product-card .product-brand,
  .product-card .product-color { font-size: 12px; }
}
@media (max-width: 420px) {
  .product-card { border-radius: 13px; }
  .product-card .product-info { padding: 13px 10px 11px; }
  .product-card .product-info h2 { font-size: 15px; }
  .product-card .product-brand,
  .product-card .product-color { font-size: 11px; }
  .product-card .product-price { font-size: 14px; gap: 3px; }
  .product-card .product-price-row { gap: 4px; padding-top: 14px; }
  .product-card .product-price > span { font-size: 7px; }
  .product-card .stock-label { font-size: 8px; }
  .product-card .product-purchase { gap: 6px; margin-top: 13px; }
  .product-card .product-stepper { height: 33px; }
  .product-card .product-stepper > button { flex-basis: 20px; }
  .product-card .card-quantity { flex-basis: 20px; width: 20px; font-size: 11px; }
  .product-card .card-add-button { min-height: 33px; padding: 7px 5px; font-size: 10px; }
  .product-card .in-cart-badge { top: 8px; right: 8px; font-size: 6px; padding: 4px 5px; }
}
/* Multi-select catalog facets. */
.filter-content .multi-filter-group{padding-bottom:20px;margin-bottom:23px}
.filter-content .facet-option{width:100%;min-height:34px;margin:0;padding:7px 8px;border-radius:6px;gap:9px;font-size:12px}
.filter-content .facet-option:hover{background:#eeedf6}
.filter-content .facet-option.selected{background:#eeedf8;color:#2c1d3d}
.filter-content .facet-option .custom-check{width:15px;height:15px;flex-shrink:0;border-radius:4px}
.filter-content .facet-option .facet-label{min-width:0;overflow-wrap:anywhere}
.filter-content .facet-option .filter-count{margin-left:auto;padding-left:6px;font-variant-numeric:tabular-nums}
.filter-content .facet-option input:checked+.custom-check{background:#2c1d3d;border-color:#2c1d3d}

/* Minimal portal navigation and a clean end to the content. */
.site-header .main-nav{margin-left:0;border-top:0}
.portal .main-content{padding-bottom:32px}

/* Product count and removable selected-filter chips. */
.catalog-main .result-count{font-size:14px;color:#5c526b;padding:0;line-height:24px}
.catalog-main .result-count strong{font-size:18px;font-weight:700;color:#2c1d3d}
.selected-filters{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 24px}
.filter-chip{display:inline-flex;align-items:center;gap:8px;max-width:100%;min-height:30px;border:1px solid #d2c7e2;border-radius:999px;padding:5px 12px;background:#fff;color:#2c1d3d;font-size:13px;font-weight:600;line-height:18px}
.filter-chip span{overflow-wrap:anywhere;min-width:0;text-align:left}
.filter-chip .icon{width:13px;height:13px}
.filter-chip:hover{background:#f0ebf7;border-color:#a998c0}
.clear-selected-filters{border:0;background:none;padding:5px 2px;color:#2c1d3d;text-decoration:underline;text-underline-offset:3px;font-size:13px;font-weight:600}

/* Simple company account. */
.simple-account{width:100%;max-width:720px;margin:36px auto 16px;color:#2c1d3d}
.simple-account-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.simple-account-heading h1{font-size:28px;font-weight:600;letter-spacing:-.7px}
.account-signout{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #d8d8d8;border-radius:8px;background:#fff;padding:10px 14px;color:#303030;font-size:13px;font-weight:600}
.account-signout .icon{width:16px;height:16px}
.account-signout:hover:not(:disabled){background:#f3f3f3;border-color:#b8b8b8}
.company-details{border:1px solid #e1dce7;border-radius:14px;background:#fff;padding:28px}
.company-details h2{font-size:17px;font-weight:600;margin-bottom:24px}
.company-details .form-grid{gap:20px}
.company-details .form-field label{font-size:12px;color:#5c526b}
.company-details .form-field input{border:1px solid #dcd6e3;border-radius:7px;font-size:14px;height:43px;background:#fff;color:#2c1d3d}
.company-details .form-field input[readonly]{background:#f5f3f7;color:#797080}
.company-details .form-divider{font-size:12px;letter-spacing:0;color:#5c526b;margin:5px 0 0}
.company-details .form-divider:after{background:#e8e3ec}
.account-save-row{display:flex;justify-content:flex-end;margin-top:26px}
.account-save{border:0;border-radius:8px;background:#2c1d3d;color:#fff;padding:12px 20px;min-height:42px;font-size:13px;font-weight:600}
.account-save:hover:not(:disabled){background:#422d59}
@media(max-width:560px){.simple-account{margin-top:24px}.company-details{padding:22px 18px}.company-details .form-grid{grid-template-columns:1fr;gap:18px}.simple-account-heading h1{font-size:25px}.account-save{width:100%}}

/* Match the employee app's quiet form, with centered Ooowee branding. */
.simple-login{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:48px 24px;background:#f7f8fb;font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;line-height:1.5}
.signin-card{width:100%;max-width:420px;background:transparent;border:0;border-radius:0;padding:0;color:#303030}
.signin-body{width:100%;max-width:420px;margin:0 auto}
.signin-brand{display:flex;justify-content:center;margin-bottom:24px}
.signin-brand .ooowee-logo{width:96px;height:70px}
.signin-heading{margin-bottom:28px}
.signin-card h1{font-size:32px;line-height:1.25;font-weight:650;letter-spacing:-1.1px;margin:0;color:#1e1e1e}
.signin-heading p{margin-top:12px;color:#616161;font-size:14px}
.signin-form{display:grid;gap:18px;margin:0}
.signin-field{display:grid;gap:7px;min-width:0}
.signin-form label{font-size:13px;font-weight:550;line-height:1.5;color:#515151}
.signin-form input{margin:0;height:46px;padding:11px 14px;border:1px solid #d4d7df;border-radius:7px;background:#fff;font-size:14px;color:#303030}
.signin-form input::placeholder{color:#9399a7}
.signin-form input:focus{border-color:#616161;box-shadow:none;outline:2px solid #005bd3;outline-offset:3px}
.signin-password-wrap{position:relative}
.signin-form .signin-password-wrap input{padding-right:48px}
.signin-password-toggle{position:absolute;top:1px;right:1px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:8px;background:transparent;color:#616161}
.signin-password-toggle .icon{width:18px;height:18px}
.signin-submit{min-height:46px;border:1px solid #1e1e1e;border-radius:7px;background:#1e1e1e;color:#fff;font-size:14px;font-weight:550;line-height:1.4;margin:0;padding:11px 16px}
.signin-submit:hover:not(:disabled){background:#343434;border-color:#343434}
.signin-forgot,.signin-back{min-height:32px;padding:6px 0;color:#4a4a4a;font-size:13px;line-height:1.5;font-weight:550;text-align:left}
.signin-forgot{justify-self:start;margin-top:2px}
.signin-back{display:block;margin-top:16px}
.signin-forgot:hover:not(:disabled),.signin-back:hover:not(:disabled){color:#4a4a4a;text-decoration:underline}
.signin-card button:focus-visible{outline-color:#005bd3;outline-offset:3px}
.signin-card .form-error{margin:0 0 18px;padding:12px 14px;border:1px solid #edc9c4;border-radius:8px;background:#fff4f2;color:#9c2b20;font-size:13px;line-height:1.5}
.signin-notice{margin:0 0 18px;padding:12px 14px;border:1px solid #bee4cf;border-radius:8px;background:#effaf3;color:#176b43;font-size:13px;line-height:1.5}

/* Abstract campaign artwork beside the sign-in form. */
.simple-login{grid-template-columns:minmax(0,1fr) min(52vw,calc(100vh * 1122 / 1402));grid-template-columns:minmax(0,1fr) min(52vw,calc(100dvh * 1122 / 1402));padding:0;gap:0}
.simple-login .signin-card{width:calc(100% - 48px);margin:48px 24px}
.signin-promo{position:relative;display:grid;align-content:center;align-self:stretch;justify-self:stretch;min-width:0;min-height:0;overflow:hidden;background:#ff701f;isolation:isolate;container-type:inline-size}
/* Keep the image's natural proportions; copy shares its grid cell and scales with it. */
.signin-promo>picture{grid-area:1/1;display:block;min-width:0}
.signin-promo>picture>img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain}
.signin-promo-copy{grid-area:1/1;align-self:start;position:relative;z-index:1;padding:clamp(20px,7.8cqw,64px);color:#17120e;max-width:640px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}
.signin-promo-copy h2{margin:0;font-size:clamp(28px,7.8cqw,64px);font-weight:750;line-height:1.03;letter-spacing:-.045em}
.signin-promo-copy p{max-width:min(370px,60cqw);margin:clamp(10px,2.5cqw,18px) 0 0;font-size:clamp(13px,2.3cqw,17px);line-height:1.5;font-weight:500}

.cart-layout{margin-top:32px}
.cart-below{justify-content:flex-end}
/* GrowFlow catalog: products without artwork, stock freshness, and long facet lists. */
.product-card.card-tone-plain .product-visual{aspect-ratio:16/7;background:var(--soft)}
.product-card.card-tone-plain .product-visual::before{content:none}
.product-card.card-tone-plain .product-visual img{padding:0;filter:none}
.cart-product-image img{object-fit:cover;padding:0}
.product-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:clamp(26px,3.4vw,40px);font-weight:600;letter-spacing:-1px;color:#a3a69a}
.cart-product-image .product-placeholder{position:static;font-size:22px}
.inventory-status{margin:-10px 0 18px;font-size:11px;color:var(--muted)}
.inventory-status.stale{color:#8a5a12}
.catalog-more{display:flex;justify-content:center;margin:32px 0 8px}
.catalog-more-button{min-height:40px;padding:10px 22px;border:1px solid #2f1b47;border-radius:6px;background:transparent;color:#2f1b47;font-size:12px;font-weight:600}
.catalog-more-button:hover{background:#2f1b47;color:#fff}
.long-filter-group{max-height:340px;overflow-y:auto;overscroll-behavior:contain;padding-right:6px}
.facet-search{margin:0 0 8px;padding:8px 10px;font-size:12px;border-radius:6px}
.facet-empty{padding:7px 8px;font-size:12px;color:var(--muted)}
@media(max-width:760px){.long-filter-group{max-height:220px}}
.context-picker{margin-left:auto;display:flex;align-items:center;gap:8px;border:1px solid #d9d4e3;border-radius:20px;padding:0 6px 0 12px;height:38px;background:#fff;color:#2f1b47;cursor:pointer}
.context-picker:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #2549ec14}
.context-picker .icon{width:15px;height:15px;color:#7961dc}
.context-picker select{border:0;background:transparent;box-shadow:none;font-size:13px;font-weight:600;color:#2f1b47;padding:0 22px 0 0;max-width:240px;height:36px;cursor:pointer;outline:none;text-overflow:ellipsis}
.account-section{background:#fff;border-radius:14px;padding:22px;margin-top:18px;box-shadow:0 2px 5px #251d3f0a}
.account-section h2{font-size:17px;font-weight:700;margin-bottom:14px}
.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 20px;margin:0}
.detail-grid dt{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:#8a8494;margin-bottom:4px}
.detail-grid dd{margin:0;font-size:14px;color:#272331;overflow-wrap:anywhere}
.detail-grid .full-width{grid-column:1/-1}
.section-note{font-size:12px;color:var(--muted);margin-top:12px;line-height:1.6}
.current-badge{font-size:11px;font-weight:600;color:#2f1b47;background:#eeedf8;border-radius:20px;padding:4px 10px;flex-shrink:0}
.gf-order-list{display:grid;font-size:12px}
.gf-order{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1.1fr) minmax(0,1fr) minmax(0,1.1fr) minmax(0,1.2fr) 38px 76px;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
.gf-order small{display:block;font-size:11px;color:var(--muted);margin-top:2px}
.history-row>summary{list-style:none;cursor:pointer}
.history-row>summary::-webkit-details-marker{display:none}
.history-row>summary:hover{background:#faf9fc}
.history-row .order-details{padding:2px 0 12px;background:none}
.source-badge{font-size:10px;font-weight:600;background:#eeedf8;color:#4b3d75;border-radius:10px;padding:2px 6px;margin-left:4px;white-space:nowrap}
.source-badge.source-portal{background:#e3f1e5;color:#2f6b3a}
.gf-order-head{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:#8a8494;border-top:0}
.gf-order strong{text-align:right;font-weight:600}
.sample-badge{font-size:10px;background:#fbe8c6;color:#7a5410;border-radius:10px;padding:2px 6px;margin-left:4px}
@media(max-width:760px){.detail-grid{grid-template-columns:1fr 1fr}.gf-order{grid-template-columns:1.4fr 1fr 1fr 70px}.gf-order>:nth-child(4),.gf-order>:nth-child(5),.gf-order>:nth-child(6){display:none}.context-picker{height:34px;padding-left:10px}.context-picker select{max-width:150px;font-size:12px}}

/* Workspace navigation and catalog. Keep these rules scoped to the signed-in portal. */
.portal-workspace-shell {
  --blue: #303030;
  --blue-dark: #1a1a1a;
  --ink: #252525;
  --muted: #6b6b6b;
  --line: #dedede;
  --paper: #f1f1f1;
  --soft: #f3f3f3;
  --radius: 8px;
  display: block;
  min-height: 100vh;
  min-height: 100dvh;
  background: var(--paper);
  color: var(--ink);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
  font-size: 14px;
  line-height: 1.45;
  -webkit-font-smoothing: antialiased;
}
.portal-workspace-shell [hidden] { display: none !important; }
.portal-workspace-shell button,
.portal-workspace-shell input,
.portal-workspace-shell select { border-radius: 8px; }
.portal-workspace-shell :is(button, a, input, select, summary):focus-visible,
.filter-dialog :is(button, input, summary):focus-visible {
  outline: 2px solid #2463c5;
  outline-offset: 3px;
}
.portal-workspace-shell .icon-button {
  width: 40px;
  height: 40px;
  padding: 9px;
  color: #545454;
  border-radius: 8px;
}
.portal-workspace-shell .icon-button:hover { background: #e9e9e9; }
.portal-sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  height: 100dvh;
  display: flex;
  flex-direction: column;
  gap: 0;
  min-width: 0;
  padding: 24px 14px 18px;
  border-right: 1px solid #dedede;
  background: #ebebeb;
  overflow-y: auto;
  overscroll-behavior: contain;
  z-index: 30;
}
.workspace-brand {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  min-height: 30px;
  margin: 0 12px 25px;
  color: #202020;
  font-size: 23px;
  font-weight: 800;
  letter-spacing: -1.15px;
  line-height: 1;
}
.portal-sidebar .nav-close { display: none; }
.workspace-label,
.workspace-eyebrow {
  font-size: 10px;
  font-weight: 650;
  letter-spacing: 1.4px;
  color: #737373;
  text-transform: uppercase;
}
.portal-sidebar .workspace-label { margin: 8px 12px 8px; }
.portal-sidebar .context-picker {
  width: 100%;
  min-height: 42px;
  height: auto;
  margin: 0 0 22px;
  padding: 0 9px 0 11px;
  border: 1px solid #d5d5d5;
  border-radius: 9px;
  background: #f7f7f7;
  color: #333;
}
.portal-sidebar .context-picker .icon { color: #6b6b6b; width: 17px; height: 17px; }
.portal-sidebar .context-picker select {
  flex: 1;
  min-width: 0;
  max-width: 100%;
  height: 40px;
  color: #343434;
  font-size: 12px;
  font-weight: 550;
}
.workspace-nav { display: flex; flex-direction: column; gap: 5px; }
.workspace-nav > a {
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 42px;
  padding: 10px 12px;
  border: 1px solid transparent;
  border-radius: 9px;
  color: #585858;
  font-size: 13px;
  font-weight: 550;
}
.workspace-nav > a > .icon { width: 19px; height: 19px; color: #777; }
.workspace-nav > a:hover { color: #202020; background: #e1e1e1; }
.workspace-nav > a.active { color: #252525; background: #fff; border-color: #dedede; box-shadow: 0 1px 2px #00000005; }
.workspace-nav > a.active > .icon { color: #303030; }
.nav-count { display: inline-flex; align-items: center; justify-content: center; margin-left: auto; min-width: 22px; height: 22px; padding: 0 6px; background: #e9e9e9; color: #4f4f4f; border-radius: 6px; font-size: 11px; font-variant-numeric: tabular-nums; }
.sidebar-footer { margin-top: auto; padding: 26px 8px 0; }
.sidebar-account { display: flex; align-items: center; gap: 9px; min-width: 0; color: #6b6b6b; font-size: 12px; overflow-wrap: anywhere; }
.sidebar-account .icon { flex-shrink: 0; width: 18px; height: 18px; }
.sidebar-footer .text-button { margin-top: 12px; padding: 7px 0; font-size: 12px; color: #555; }
.workspace-body { min-width: 0; width: 100%; }
.workspace-header {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 64px;
  padding: 10px 32px;
  border-bottom: 1px solid #dedede;
  background: #fafafa;
}
.workspace-header .nav-toggle { display: none; }
.mobile-account-link,
.mobile-workspace { display: none; }
.workspace-header .header-company { display: block; flex: 1; max-width: none; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; font-weight: 600; color: #535353; }
.workspace-header .header-cart { position: relative; margin-left: auto; flex-shrink: 0; }
.workspace-header .header-cart .nav-count,
.workspace-header .header-cart .cart-count { position: absolute; right: -4px; top: -2px; min-width: 18px; height: 18px; padding: 0 4px; border: 2px solid #fafafa; border-radius: 10px; font-size: 9px; background: #303030; color: #fff; }
.portal-workspace-shell .main-content { width: 100%; max-width: 1520px; min-width: 0; margin: 0 auto; padding: 30px 32px 48px; }
.nav-scrim { display: none; }
.portal-workspace-shell .button { min-height: 40px; padding: 10px 15px; gap: 10px; border-radius: 8px; font-size: 13px; }
.portal-workspace-shell .button:hover:not(:disabled) { transform: none; }
.portal-workspace-shell .account-section,
.portal-workspace-shell .company-details { border: 1px solid #dedede; box-shadow: 0 1px 2px #00000004; color: #303030; }
.portal-workspace-shell .simple-account { color: #303030; margin-top: 2px; }
.portal-workspace-shell .orders-page { max-width: 1100px; }
.portal-workspace-shell .simple-account-heading h1 { font-size: 27px; color: #252525; }
.portal-workspace-shell .account-signout { color: #444; border-color: #cfcfcf; background: #fff; }
.portal-workspace-shell .account-save { background: #303030; }
.portal-workspace-shell .account-save:hover:not(:disabled) { background: #1a1a1a; }
.portal-workspace-shell .cart-layout { margin-top: 0; }
.portal-workspace-shell .order-summary { border-radius: 12px; }
.portal-workspace-shell .empty-state { padding: 65px 20px; border: 0; }
.portal-workspace-shell .empty-state h2 { font-size: 22px; font-weight: 600; letter-spacing: -.5px; }

/* A compact filter and sort surface above both catalog views. */
.catalog-page { min-width: 0; }
.catalog-page-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 25px; }
.catalog-page-heading h1 { margin-top: 6px; color: #222; font-size: 30px; font-weight: 650; letter-spacing: -.9px; line-height: 1.2; }
.catalog-page-heading .inventory-status { display: inline-flex; align-items: center; gap: 6px; margin: 0; max-width: 280px; color: #61706a; font-size: 12px; line-height: 1.5; }
.catalog-page-heading .inventory-status::before { content: ''; display: block; flex-shrink: 0; width: 6px; height: 6px; border-radius: 50%; background: #3b8062; }
.catalog-page-heading .inventory-status.stale { color: #916a23; }
.catalog-page-heading .inventory-status.stale::before { background: #ba8a35; }
.catalog-surface { min-width: 0; border: 1px solid #dcdcdc; border-radius: 12px; background: #fff; box-shadow: 0 1px 3px #00000006; }
.portal-workspace-shell .catalog-toolbar { display: flex; align-items: center; flex-wrap: nowrap; gap: 10px; min-height: 0; margin: 0; padding: 16px 16px 4px; border: 0; }
.toolbar-button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; flex-shrink: 0; min-height: 40px; padding: 8px 12px; border: 1px solid #cecece; border-radius: 8px; background: #fff; color: #4a4a4a; font-size: 13px; font-weight: 550; line-height: 1.3; cursor: pointer; box-shadow: 0 1px 1px #00000004; }
.toolbar-button:hover { background: #f7f7f7; border-color: #aaa; }
.toolbar-button .icon { width: 18px; height: 18px; }
.filter-badge { display: inline-flex; align-items: center; justify-content: center; min-width: 19px; height: 19px; padding: 0 5px; color: #fff; background: #545454; border-radius: 5px; font-size: 10px; }
.portal-workspace-shell .catalog-toolbar .search-field { order: 0; display: flex; align-items: center; gap: 9px; flex: 1; min-width: 0; width: auto; min-height: 40px; margin: 0; padding: 0 12px; border: 1px solid #cecece; border-radius: 8px; background: #fdfdfd; }
.portal-workspace-shell .catalog-toolbar .search-field:focus-within { border-color: #2463c5; box-shadow: 0 0 0 2px #2463c51c; }
.portal-workspace-shell .catalog-toolbar .search-field > .icon { width: 18px; height: 18px; color: #7c7c7c; }
.portal-workspace-shell .catalog-toolbar .search-field input { width: 100%; height: 38px; min-width: 0; padding: 8px 0; color: #303030; border: 0; font-size: 14px; outline: none; box-shadow: none; }
.portal-workspace-shell .catalog-toolbar .search-field input::placeholder { color: #929292; }
.sort-menu { position: relative; flex-shrink: 0; }
.sort-menu > summary { list-style: none; }
.sort-menu > summary::-webkit-details-marker { display: none; }
.sort-menu[open] > summary { background: #f2f2f2; border-color: #aaa; }
.sort-options { position: absolute; top: calc(100% + 8px); right: 0; z-index: 25; display: flex; flex-direction: column; width: 235px; padding: 7px; border: 1px solid #ddd; border-radius: 11px; background: #fff; box-shadow: 0 8px 24px #00000019; }
.sort-options label { display: flex; align-items: center; gap: 10px; min-height: 40px; padding: 8px 9px; border-radius: 6px; color: #4d4d4d; font-size: 13px; cursor: pointer; }
.sort-options label:hover { background: #f5f5f5; }
.sort-options label:has(input:checked) { background: #edf2ef; color: #243a2f; }
.sort-options input { width: 15px; height: 15px; margin: 0; padding: 0; accent-color: #3a6f54; }
.catalog-result-bar { display: flex; align-items: center; justify-content: space-between; gap: 15px; min-height: 60px; padding: 6px 16px 10px; }
.catalog-result-bar .result-count { color: #737373; font-size: 12px; line-height: 1.4; padding: 0; order: 0; }
.catalog-result-bar .result-count strong { color: #3e3e3e; font-size: 12px; font-weight: 600; }
.catalog-actions { display: flex; align-items: center; flex-shrink: 0; gap: 8px; }
.portal-workspace-shell .catalog-actions .mobile-view-toggle { display: none; }
.view-toggle { display: inline-flex; align-items: center; gap: 2px; padding: 2px; border: 1px solid #dedede; border-radius: 8px; background: #f7f7f7; }
.portal-workspace-shell .view-toggle .icon-button { width: 30px; height: 28px; padding: 6px; border-radius: 5px; color: #8a8a8a; }
.portal-workspace-shell .view-toggle .icon-button .icon { width: 17px; height: 17px; }
.portal-workspace-shell .view-toggle .icon-button[aria-pressed=true] { color: #303030; background: #fff; box-shadow: 0 1px 3px #00000017; }
.catalog-surface .selected-filters { gap: 7px; margin: 0; padding: 0 16px 14px; }
.catalog-surface .filter-chip { gap: 7px; min-height: 29px; border: 1px solid #dedede; border-radius: 7px; padding: 4px 8px; background: #f3f3f3; color: #525252; font-size: 12px; font-weight: 500; }
.catalog-surface .filter-chip:hover { border-color: #b5b5b5; background: #e9e9e9; }
.catalog-surface .clear-selected-filters { color: #626262; font-size: 12px; font-weight: 500; }
.catalog-surface .catalog-more { margin: 0; padding: 20px; border-top: 1px solid #e8e8e8; }
.catalog-surface .catalog-more-button { border-color: #cecece; background: #fff; color: #444; border-radius: 8px; font-size: 12px; }
.catalog-surface .catalog-more-button:hover { background: #f1f1f1; color: #222; }

/* Compact inventory-style rows retain the quantity controls and ordering action. */
.portal-workspace-shell .product-grid.list-view { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; overflow: hidden; border-radius: 0 0 11px 11px; }
.portal-workspace-shell .list-view .product-card { display: grid; grid-template-columns: 62px minmax(0, 1fr); align-items: center; gap: 16px; padding: 19px 16px; border: 0; border-top: 1px solid #e8e8e8; border-radius: 0; background: #fff; box-shadow: none; overflow: visible; }
.portal-workspace-shell .list-view .product-card:hover { background: #fdfdfd; }
.portal-workspace-shell .list-view .product-visual { width: 62px; height: 62px; aspect-ratio: 1; border: 1px solid #e9e9e9; border-radius: 9px; background: #f3f3f3; overflow: visible; }
.portal-workspace-shell .list-view .product-visual img { border-radius: 8px; object-fit: cover; padding: 0; filter: none; }
.portal-workspace-shell .list-view .product-card:hover .product-visual img { transform: none; }
.portal-workspace-shell .list-view .product-placeholder { color: #929c94; font-size: 20px; font-weight: 550; letter-spacing: -.5px; }
.portal-workspace-shell .list-view .in-cart-badge { top: auto; bottom: -5px; right: -5px; left: auto; padding: 2px 5px; border: 1px solid #d9e8de; border-radius: 5px; background: #eaf5ee; color: #41664d; font-size: 8px; white-space: nowrap; }
.portal-workspace-shell .list-view .product-info { display: grid; grid-template-columns: minmax(140px, 1fr) 96px 170px; align-items: center; gap: 20px; min-width: 0; padding: 0; }
.product-summary { min-width: 0; }
.portal-workspace-shell .list-view .product-summary h2 { margin: 0 0 4px; color: #303030; font-size: 14px; font-weight: 600; letter-spacing: -.15px; line-height: 1.35; overflow-wrap: anywhere; }
.portal-workspace-shell .list-view .product-brand { color: #6b6b6b; font-size: 12px; line-height: 1.4; }
.product-sku { margin: 4px 0 0; color: #949494; font-size: 10px; line-height: 1.4; overflow-wrap: anywhere; }
.portal-workspace-shell .list-view .product-price-row { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; margin: 0; padding: 0; }
.portal-workspace-shell .list-view .product-price { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; color: #343434; font-size: 14px; font-weight: 600; }
.portal-workspace-shell .list-view .product-price strong { color: #343434; font-weight: 600; letter-spacing: -.2px; }
.portal-workspace-shell .list-view .product-price > span { margin: 0; color: #929292; font-size: 10px; }
.portal-workspace-shell .product-card .stock-label { display: flex; flex-direction: column; gap: 3px; color: #4e7259; font-size: 13px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.portal-workspace-shell .product-card .stock-label .stock-caption { display: block; width: auto; height: auto; margin: 0; background: none; color: #858585; font-size: 9px; font-weight: 500; letter-spacing: .65px; line-height: 1.4; text-transform: uppercase; }
.portal-workspace-shell .product-card .stock-label strong { font-size: 14px; font-weight: 550; }
.portal-workspace-shell .product-card .stock-label.no-stock { color: #8a8a8a; font-size: 10px; line-height: 1.35; }
.portal-workspace-shell .list-view .product-purchase { display: grid; grid-template-columns: minmax(0, 1fr) 56px; align-items: stretch; gap: 8px; margin: 0; }
.portal-workspace-shell .product-card .product-stepper { height: 36px; border-color: #d5d5d5; border-radius: 7px; }
.portal-workspace-shell .product-card .product-stepper > button { flex-basis: 28px; color: #545454; font-size: 16px; }
.portal-workspace-shell .product-card .product-stepper > button:hover:not(:disabled) { background: #f2f2f2; }
.portal-workspace-shell .product-card .card-quantity { width: 25px; min-width: 0; color: #393939; font-size: 12px; border-radius: 0; }
.portal-workspace-shell .product-card .card-quantity:focus { background: #f6f6f6; box-shadow: inset 0 0 0 1px #8d8d8d; }
.portal-workspace-shell .product-card .card-add-button { min-height: 36px; padding: 7px 12px; border: 1px solid #303030; border-radius: 7px; background: #303030; color: #fff; font-size: 12px; font-weight: 550; }
.portal-workspace-shell .product-card .card-add-button:hover:not(:disabled) { border-color: #191919; background: #191919; }
.portal-workspace-shell .product-card .card-add-button:disabled { border-color: #dedede; background: #eee; color: #999; }
.portal-workspace-shell .product-card .product-stepper > button:focus-visible,
.portal-workspace-shell .product-card .card-add-button:focus-visible { outline-color: #2463c5; outline-offset: -3px; }
.portal-workspace-shell .list-view .skeleton-card { display: grid; grid-template-columns: 62px 1fr; gap: 10px 16px; padding: 19px 16px; border-top: 1px solid #e8e8e8; }
.portal-workspace-shell .list-view .skeleton-image { grid-row: 1 / 4; width: 62px; height: 62px; margin: 0; border-radius: 9px; background: #f0f0f0; }
.portal-workspace-shell .list-view .skeleton-line { width: 40%; margin: 0; background: #f0f0f0; border-radius: 3px; }

/* The alternative card view uses the same neutral ordering controls. */
.portal-workspace-shell .product-grid.grid-view { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; padding: 0 16px 16px; }
.portal-workspace-shell .grid-view .product-card { border-color: #e1e1e1; border-radius: 10px; box-shadow: none; }
.portal-workspace-shell .grid-view .product-visual { aspect-ratio: 16 / 10; background: #f4f4f4; }
.portal-workspace-shell .grid-view .product-visual img { object-fit: cover; }
.portal-workspace-shell .grid-view .product-info { padding: 15px; }
.portal-workspace-shell .grid-view .product-summary h2 { color: #303030; font-size: 15px; font-weight: 600; letter-spacing: -.2px; line-height: 1.35; }
.portal-workspace-shell .grid-view .product-brand { color: #747474; font-size: 12px; }
.portal-workspace-shell .grid-view .product-price { font-size: 16px; }
.portal-workspace-shell .grid-view .product-price strong { color: #303030; }
.portal-workspace-shell .grid-view .product-price > span { color: #888; font-size: 9px; }
.portal-workspace-shell .grid-view .stock-label { align-items: flex-end; }
.portal-workspace-shell .grid-view .product-purchase { grid-template-columns: minmax(0, 1fr) minmax(60px, .75fr); gap: 8px; }
.portal-workspace-shell .grid-view .in-cart-badge { color: #41664d; background: #f3faf4f5; }

/* Native dialog: a scrollable filter sheet with persistent actions. */
.filter-dialog {
  width: min(480px, calc(100vw - 32px));
  max-width: calc(100vw - 32px);
  max-height: min(760px, calc(100vh - 64px));
  max-height: min(760px, calc(100dvh - 64px));
  margin: auto;
  padding: 0;
  border: 1px solid #ddd;
  border-radius: 15px;
  background: #fff;
  color: #303030;
  box-shadow: 0 20px 70px #0000002b;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
  overflow: hidden;
}
.filter-dialog[open] { display: flex; flex-direction: column; }
.filter-dialog::backdrop { background: #20212465; }
.dialog-heading { display: flex; align-items: center; justify-content: space-between; flex-shrink: 0; gap: 20px; padding: 17px 20px; border-bottom: 1px solid #e5e5e5; }
.dialog-heading h2 { font-size: 18px; font-weight: 600; letter-spacing: -.35px; }
.filter-dialog .icon-button { width: 36px; height: 36px; border-radius: 8px; color: #646464; }
.filter-dialog .icon-button:hover { background: #f0f0f0; }
.filter-dialog .filter-content { display: block; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 20px; }
.filter-dialog .filter-content .multi-filter-group { border-bottom: 1px solid #e5e5e5; padding-bottom: 18px; margin-bottom: 20px; }
.filter-dialog .filter-content .multi-filter-group:last-child { border: 0; padding-bottom: 0; margin-bottom: 0; }
.filter-dialog .filter-group legend { margin-bottom: 10px; color: #494949; font-size: 12px; font-weight: 600; text-transform: none; letter-spacing: 0; }
.filter-dialog .filter-content .facet-option { min-height: 44px; padding: 9px 10px; border-radius: 7px; color: #555; font-size: 13px; gap: 11px; }
.filter-dialog .filter-content .facet-option:hover { background: #f4f4f4; }
.filter-dialog .filter-content .facet-option.selected { background: #eef3ef; color: #334c3d; }
.filter-dialog .filter-content .facet-option .custom-check { width: 17px; height: 17px; border-color: #aaa; border-radius: 5px; }
.filter-dialog .filter-content .facet-option input:checked + .custom-check { border-color: #42694f; background: #42694f; }
.filter-dialog .filter-content .facet-option input:focus-visible + .custom-check { outline-color: #2463c5; }
.filter-dialog .filter-count { color: #929292; font-size: 11px; }
.filter-dialog .facet-search { min-height: 42px; border: 1px solid #d3d3d3; border-radius: 7px; background: #fff; font-size: 14px; }
.filter-dialog .long-filter-group { max-height: 280px; padding-right: 5px; }
.dialog-footer { display: flex; align-items: center; justify-content: space-between; flex-shrink: 0; gap: 16px; padding: 16px 20px; border-top: 1px solid #e5e5e5; background: #fff; }
.dialog-footer .text-button,
.dialog-footer .clear-selected-filters { min-height: 40px; padding: 8px 0; color: #606060; font-size: 13px; }
.dialog-footer .button { min-height: 40px; padding: 10px 16px; border-radius: 8px; background: #303030; color: #fff; font-size: 13px; }
.dialog-footer .button:hover:not(:disabled) { background: #1a1a1a; transform: none; }

@media (min-width: 901px) and (max-width: 1200px) {
  .portal-workspace-shell .main-content { padding-left: 24px; padding-right: 24px; }
  .workspace-header { padding-left: 24px; padding-right: 24px; }
  .portal-workspace-shell .list-view .product-info { grid-template-columns: minmax(0, 1fr) 80px 160px; gap: 16px; }
  .portal-workspace-shell .product-grid.grid-view { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .portal-workspace-shell { display: block; }
  .portal-sidebar,
  .navigation-open .portal-sidebar,
  .navigation-open .nav-scrim { display: none; }
  .workspace-header { min-height: 62px; gap: 10px; padding: 9px 16px; }
  .portal-workspace-shell .workspace-header .nav-toggle { display: flex; flex: 0 0 44px; width: 44px; height: 44px; padding: 11px; color: #555; }
  .workspace-header .header-company { display: none; }
  .workspace-header .mobile-account-link { display: inline-flex; align-items: center; justify-content: flex-start; flex: 0 0 80px; gap: 6px; min-height: 44px; border-radius: 8px; color: #454545; font-size: 12px; font-weight: 550; white-space: nowrap; }
  .workspace-header .mobile-account-link .icon { width: 19px; height: 19px; color: #666; }
  .workspace-header .mobile-account-link:hover { color: #1f1f1f; }
  .workspace-header .mobile-account-link[aria-current=page] { color: #222; font-weight: 650; }
  .workspace-header .mobile-workspace { display: flex; align-items: center; flex: 1 1 auto; min-width: 0; }
  .mobile-workspace .context-picker { position: relative; flex: 1; min-width: 0; width: 100%; height: 44px; margin: 0; padding: 0; border: 0; border-radius: 6px; background: transparent; color: #666; }
  .mobile-workspace .context-picker > .icon { display: none; }
  .mobile-workspace .context-picker::after { content: ''; position: absolute; right: 3px; top: 17px; width: 6px; height: 6px; border-right: 1.4px solid #8b8b8b; border-bottom: 1.4px solid #8b8b8b; transform: rotate(45deg); pointer-events: none; }
  .mobile-workspace .context-picker select { width: 100%; min-width: 0; max-width: 100%; height: 44px; padding: 0 17px 0 2px; border: 0; border-radius: 6px; background: transparent; color: #666; font-size: 12px; font-weight: 500; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; appearance: none; }
  .mobile-workspace .context-picker:focus-within { box-shadow: 0 0 0 2px #2463c53d; }
  .mobile-workspace-name { display: block; width: 100%; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #666; font-size: 12px; font-weight: 500; }
  .portal-workspace-shell .workspace-header .header-cart { flex: 0 0 44px; width: 44px; height: 44px; margin-left: auto; padding: 11px; color: #454545; }
  .workspace-header .header-cart > .icon { width: 22px; height: 22px; }
  .workspace-header .header-cart .nav-count,
  .workspace-header .header-cart .cart-count { top: 1px; right: -1px; min-width: 19px; height: 19px; font-size: 9px; }
  .portal-workspace-shell .main-content { padding: 27px 24px 38px; }
  .catalog-page-heading { gap: 18px; margin-bottom: 23px; }
  .portal-workspace-shell .catalog-toolbar { padding: 12px 16px 2px; }
  .portal-workspace-shell .catalog-toolbar .search-field { width: 100%; min-height: 44px; padding: 0 12px; border: 1px solid transparent; border-radius: 9px; background: #f1f2f2; }
  .portal-workspace-shell .catalog-toolbar .search-field input { height: 42px; padding: 9px 0; background: transparent; font-size: 16px; }
  .portal-workspace-shell .catalog-toolbar .search-field > .icon { width: 18px; height: 18px; color: #8b8b8b; }
  .catalog-result-bar { gap: 8px; min-height: 52px; padding: 3px 12px 5px 16px; }
  .catalog-result-bar .result-count { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #888; }
  .catalog-result-bar .result-count,
  .catalog-result-bar .result-count strong { font-size: 11px; font-weight: 400; }
  .catalog-result-bar .result-count strong { color: #686868; }
  .catalog-actions { gap: 4px; }
  .catalog-actions .toolbar-button { width: auto; min-height: 44px; padding: 0 6px; gap: 5px; border: 0; border-radius: 6px; background: transparent; color: #606060; font-size: 12px; font-weight: 500; box-shadow: none; }
  .catalog-actions .toolbar-button:hover,
  .catalog-actions .sort-menu[open] > summary { background: #f3f3f3; color: #333; }
  .catalog-actions .toolbar-button .icon { width: 16px; height: 16px; color: #818181; }
  .catalog-actions .sort-options label { min-height: 44px; }
  .catalog-actions .toolbar-label { position: static; width: auto; height: auto; margin: 0; padding: 0; overflow: visible; clip: auto; white-space: nowrap; }
  .catalog-actions .filter-badge { position: static; min-width: 17px; height: 17px; padding: 0 4px; border: 0; border-radius: 5px; background: #e5ebe7; color: #51705b; font-size: 9px; font-weight: 550; }
  .catalog-actions .view-toggle { display: none; }
  .portal-workspace-shell .catalog-actions .mobile-view-toggle { display: flex; flex: 0 0 44px; width: 44px; height: 44px; padding: 12px; color: #777; background: transparent; }
  .portal-workspace-shell .catalog-actions .mobile-view-toggle:hover { background: #f3f3f3; }
  .catalog-actions .mobile-view-toggle .icon { width: 19px; height: 19px; }
  .portal-workspace-shell .list-view .product-info { grid-template-columns: minmax(130px, 1fr) 90px 160px; gap: 16px; }
  .portal-workspace-shell .product-grid.grid-view { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
}
@media (max-width: 760px) {
  .portal-workspace-shell .main-content:has(> .catalog-page) { padding: 0 0 24px; }
  .portal-workspace-shell .catalog-surface { border-width: 0 0 1px; border-radius: 0; box-shadow: none; }
  .portal-workspace-shell .product-grid.list-view { border-radius: 0; }
  .portal-workspace-shell .list-view .product-info { grid-template-columns: minmax(0, 1fr) 75px 150px; gap: 12px; }
  .portal-workspace-shell .product-grid.grid-view { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 8px; padding-left: 0; padding-right: 0; }
  .catalog-page-heading .inventory-status { max-width: 200px; font-size: 11px; }
}
@media (max-width: 520px) {
  .workspace-header { min-height: 60px; padding: 8px 12px; }
  .portal-workspace-shell .main-content { padding: 25px 16px 32px; }
  .catalog-page-heading { display: block; margin-bottom: 20px; }
  .workspace-eyebrow { font-size: 10px; letter-spacing: 1.25px; }
  .catalog-page-heading h1 { margin-top: 7px; font-size: 29px; letter-spacing: -.8px; }
  .catalog-page-heading .inventory-status { margin-top: 10px; max-width: none; font-size: 11px; }
  .catalog-surface { border-radius: 11px; }
  .portal-workspace-shell .catalog-toolbar { gap: 8px; padding: 12px 12px 2px; }
  .portal-workspace-shell .catalog-toolbar .search-field { padding: 0 11px; gap: 8px; }
  .portal-workspace-shell .catalog-toolbar .search-field > .icon { width: 17px; height: 17px; }
  .catalog-result-bar { min-height: 52px; padding: 3px 8px 5px 12px; }
  .catalog-actions .toolbar-button { padding-left: 4px; padding-right: 4px; gap: 4px; }
  .catalog-result-bar .result-count,
  .catalog-result-bar .result-count strong { font-size: 11px; }
  .catalog-surface .selected-filters { padding-left: 12px; padding-right: 12px; }
  .portal-workspace-shell .product-card .stock-label { gap: 2px; }
  .portal-workspace-shell .product-card .stock-label .stock-caption { font-size: 8px; letter-spacing: .45px; }
  .portal-workspace-shell .product-card .stock-label strong { font-size: 13px; }
  .portal-workspace-shell .product-card .product-stepper,
  .portal-workspace-shell .product-card .card-add-button { min-height: 38px; height: 38px; }
  .portal-workspace-shell .product-card .product-stepper > button { flex-basis: 31px; }
  .portal-workspace-shell .product-card .card-quantity { font-size: 16px; }
  .portal-workspace-shell .product-card .card-add-button { padding: 8px; font-size: 11px; }
  .portal-workspace-shell .product-grid.grid-view { gap: 10px 8px; padding: 0 0 12px; }
  .portal-workspace-shell .grid-view .product-info { padding: 11px; }
  .portal-workspace-shell .grid-view .product-summary h2 { font-size: 13px; }
  .portal-workspace-shell .grid-view .product-brand { font-size: 11px; }
  .portal-workspace-shell .grid-view .product-price { font-size: 14px; }
  .portal-workspace-shell .grid-view .product-price-row { align-items: center; padding-top: 12px; gap: 5px; }
  .portal-workspace-shell .grid-view .product-price > span { display: none; }
  .portal-workspace-shell .grid-view .product-purchase { grid-template-columns: minmax(0, 1fr) 43px; gap: 6px; margin-top: 12px; }
  .portal-workspace-shell .grid-view .product-stepper > button { flex-basis: 22px; }
  .portal-workspace-shell .grid-view .card-quantity { width: 20px; flex-basis: 20px; font-size: 14px; }
  .portal-workspace-shell .grid-view .card-add-button { padding: 7px 4px; }
  .filter-dialog { position: fixed; top: auto; left: 0; right: 0; bottom: 0; width: 100%; max-width: 100%; max-height: 86vh; max-height: 86dvh; margin: 0; border: 0; border-radius: 16px 16px 0 0; }
  .dialog-heading { padding: 14px 18px; }
  .filter-dialog .filter-content { padding: 18px; }
  .filter-dialog .facet-search { font-size: 16px; }
  .filter-dialog .long-filter-group { max-height: 240px; }
  .dialog-footer { padding: 14px 18px max(14px, env(safe-area-inset-bottom)); }
  .dialog-footer .button { min-height: 44px; }
}
@media (max-width: 370px) {
  .portal-workspace-shell .main-content { padding-left: 12px; padding-right: 12px; }
  .portal-workspace-shell .product-card .stock-label .stock-caption { font-size: 7px; letter-spacing: 0; }
  .portal-workspace-shell .product-card .stock-label strong { font-size: 12px; }
}

/* Mobile rows keep identity, price and ordering together beside the thumbnail. */
@media (max-width: 600px) {
  .portal-workspace-shell .list-view .product-card { grid-template-columns: 56px minmax(0, 1fr); align-items: start; gap: 12px; padding: 16px 12px; }
  .portal-workspace-shell .list-view .product-visual { width: 56px; height: 56px; align-self: start; border-radius: 8px; }
  .portal-workspace-shell .list-view .product-placeholder { font-size: 19px; }
  .portal-workspace-shell .list-view .product-info { display: grid; grid-template-columns: minmax(0, 1fr) max-content; align-items: start; gap: 4px 12px; min-width: 0; }
  .portal-workspace-shell .list-view .product-summary { display: contents; }
  .portal-workspace-shell .list-view .product-summary h2 { grid-column: 1; grid-row: 1; min-width: 0; margin: 0; font-size: 14px; line-height: 1.35; overflow-wrap: anywhere; }
  .portal-workspace-shell .list-view .product-brand { grid-column: 1 / -1; grid-row: 2; min-width: 0; font-size: 12px; line-height: 1.45; overflow-wrap: anywhere; }
  .portal-workspace-shell .list-view .product-price-row { grid-column: 2; grid-row: 1; width: auto; min-width: 0; justify-self: end; align-self: start; align-items: flex-end; gap: 4px; padding: 0; text-align: right; }
  .portal-workspace-shell .list-view .product-price { flex-direction: row; align-items: baseline; gap: 4px; font-size: 14px; line-height: 1.35; white-space: nowrap; }
  .portal-workspace-shell .list-view .product-price > span { font-size: 9px; line-height: 1.35; }
  .portal-workspace-shell .list-view .stock-label.no-stock { align-items: flex-end; font-size: 10px; white-space: normal; }
  .portal-workspace-shell .list-view .product-purchase { grid-column: 1 / -1; grid-row: 3; grid-template-columns: 112px minmax(0, 1fr); gap: 8px; width: 100%; min-width: 0; margin: 8px 0 0; justify-self: stretch; align-self: start; }
  .portal-workspace-shell .list-view .product-stepper,
  .portal-workspace-shell .list-view .card-add-button { height: 42px; min-height: 42px; }
  .portal-workspace-shell .list-view .product-stepper > button { flex: 0 0 34px; font-size: 17px; }
  .portal-workspace-shell .list-view .card-quantity { flex: 1 1 40px; width: 40px; min-width: 0; font-size: 16px; }
  .portal-workspace-shell .list-view .card-add-button { padding: 9px 12px; font-size: 12px; }
  .portal-workspace-shell .list-view .skeleton-card { grid-template-columns: 56px minmax(0, 1fr); gap: 9px 12px; padding: 16px 12px; }
  .portal-workspace-shell .list-view .skeleton-image { width: 56px; height: 56px; }
  .portal-workspace-shell .list-view .skeleton-line { width: 70%; }
}
@media (prefers-reduced-motion: reduce) {
  .portal-sidebar { transition: none; }
}

/* Shared shell details used by the navigation markup. */
body.navigation-open { overflow: hidden; }
.sidebar-brand-row { position: relative; }
.workspace-brand { flex-direction: column; align-items: flex-start; gap: 6px; }
.workspace-brand > span { display: block; color: #818181; font-size: 10px; font-weight: 500; letter-spacing: .35px; line-height: 1.4; }
.sidebar-account > span { min-width: 0; color: #555; font-weight: 550; }
.sidebar-account small { display: block; margin-top: 2px; color: #828282; font-size: 10px; font-weight: 400; overflow-wrap: anywhere; }
.sidebar-signout { display: flex; align-items: center; gap: 9px; width: 100%; min-height: 44px; margin-top: 10px; padding: 10px 0; border: 0; border-radius: 8px; background: none; color: #777; font-size: 12px; text-align: left; }
.sidebar-signout:hover:not(:disabled) { color: #222; background: #e1e1e1; }
.sidebar-signout .icon { width: 16px; height: 16px; }
.catalog-page-heading .inventory-status.healthy::before { content: none; }
.sync-dot { width: 6px; height: 6px; flex-shrink: 0; border-radius: 50%; background: #3b8062; }
.sort-options legend { width: 100%; padding: 9px 9px 5px; color: #828282; font-size: 11px; font-weight: 500; }
@media (max-width: 900px) {
  .sidebar-brand-row .nav-close { top: -8px; right: -2px; }
}

/* Square-inspired mobile navigation: a flat drawer with clear, generous rows. */
.navigation-dialog {
  position: fixed;
  top: 0;
  left: 0;
  right: auto;
  bottom: auto;
  width: 360px;
  max-width: calc(100vw - 40px);
  height: 100vh;
  height: 100dvh;
  max-height: 100vh;
  max-height: 100dvh;
  margin: 0;
  padding: 0;
  border: 0;
  border-right: 1px solid #e5e5e5;
  border-radius: 0;
  background: #fff;
  color: #171717;
  box-shadow: 8px 0 32px #00000012;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
  overflow: hidden;
}
.navigation-dialog[open] { display: flex; flex-direction: column; }
.navigation-dialog::backdrop { background: #0006; }
.navigation-dialog-heading { display: flex; align-items: center; justify-content: space-between; flex-shrink: 0; gap: 16px; min-height: 72px; padding: max(8px, env(safe-area-inset-top)) 12px 8px 20px; border-bottom: 1px solid #e8e8e8; background: #fff; }
.navigation-dialog-heading h2 { font-size: 23px; font-weight: 650; letter-spacing: -.65px; }
.navigation-dialog-heading h2:focus { outline: none; }
.portal-workspace-shell .navigation-dialog .nav-close { display: flex; position: static; width: 44px; height: 44px; flex: 0 0 44px; padding: 11px; border-radius: 50%; color: #222; background: #f2f2f2; }
.portal-workspace-shell .navigation-dialog .nav-close:hover { background: #e8e8e8; }
.navigation-body { display: flex; flex-direction: column; flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.navigation-links { display: grid; gap: 4px; padding: 16px 12px; }
.navigation-link { position: relative; display: flex; align-items: center; gap: 14px; min-height: 52px; padding: 13px 12px; border-radius: 6px; color: #222; font-size: 16px; font-weight: 550; line-height: 1.4; }
.navigation-link > span { min-width: 0; overflow-wrap: anywhere; }
.navigation-link .icon { width: 22px; height: 22px; color: currentColor; stroke-width: 1.8; }
.navigation-link:hover { background: #f5f5f5; }
.navigation-link[aria-current=page] { background: #ededed; color: #111; font-weight: 650; }
.navigation-section { margin-top: 12px; padding-top: 16px; border-top: 1px solid #e8e8e8; }
.navigation-footer { flex-shrink: 0; margin-top: auto; padding: 20px 20px max(16px, env(safe-area-inset-bottom)); border-top: 1px solid #e8e8e8; }
.navigation-identity { display: grid; gap: 3px; margin-bottom: 12px; }
.navigation-identity strong { font-size: 14px; font-weight: 600; overflow-wrap: anywhere; }
.navigation-identity > span { color: #737373; font-size: 12px; overflow-wrap: anywhere; }
.navigation-signout { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 44px; padding: 10px 0; border: 0; background: none; color: #444; font-size: 14px; text-align: left; }
.navigation-signout:hover:not(:disabled) { color: #111; }
.navigation-signout .icon { width: 20px; height: 20px; }
.navigation-dialog :is(a, button, select):focus-visible { outline: 2px solid #2463c5; outline-offset: 2px; }
.navigation-category { min-height: 44px; padding: 10px 12px; font-size: 14px; font-weight: 400; }
.navigation-link[aria-current=true] { background: #ededed; color: #111; }
.mobile-account-footer { padding: 12px 12px max(16px, env(safe-area-inset-bottom)); }
.mobile-account-footer .navigation-link { min-height: 48px; font-size: 14px; }
@media (prefers-reduced-motion: no-preference) {
  .navigation-dialog-entering[open] { animation: navigation-enter 180ms cubic-bezier(.2, .8, .2, 1); }
  @keyframes navigation-enter { from { transform: translateX(-100%); } to { transform: translateX(0); } }
}

/* One page gutter, with layouts sized to the available content width. */
.portal-workspace-shell { --page-gutter: 24px; --panel-padding: 20px; --section-gap: 16px; }
.workspace-body { container: workspace / inline-size; }
.workspace-header { padding-left: var(--page-gutter); padding-right: var(--page-gutter); }
.portal-workspace-shell .main-content { max-width: none; padding: 24px var(--page-gutter) 32px; }
.portal-workspace-shell .simple-account { max-width: none; margin: 0; }
.portal-workspace-shell .simple-account-heading { gap: 12px; margin-bottom: var(--section-gap); }
.portal-workspace-shell .simple-account-heading h1 { min-width: 0; font-size: clamp(24px, 3vw, 27px); line-height: 1.2; }
.portal-workspace-shell .account-signout { flex-shrink: 0; min-height: 44px; }
.account-tabs { display: flex; gap: 24px; margin-bottom: var(--section-gap); border-bottom: 1px solid #dedede; }
.account-tabs a { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 0 12px; margin-bottom: -1px; border-bottom: 2px solid transparent; color: #696969; font-size: 14px; font-weight: 500; }
.account-tabs a:hover { color: #222; }
.account-tabs a[aria-current=page] { border-bottom-color: #222; color: #222; }
.account-tabs a:focus-visible { outline: 2px solid #2463c5; outline-offset: 3px; border-radius: 2px; }
.account-footer { display: flex; justify-content: flex-end; margin-top: var(--section-gap); }
.account-panels { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--section-gap); align-items: start; }
.portal-workspace-shell .account-section { min-width: 0; margin-top: 0; padding: var(--panel-padding); border-radius: 10px; }
.account-panels .detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.account-panels .detail-grid > :first-child { grid-column: 1 / -1; }
.portal-workspace-shell .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.portal-workspace-shell .form-field { min-width: 0; }
.portal-workspace-shell .form-field:has(input[type=email]) { grid-column: 1 / -1; }
.portal-workspace-shell .form-field:has(input[type=tel]) { grid-column: auto; }
.portal-workspace-shell .form-field label { font-size: 12px; margin-bottom: 6px; }
.portal-workspace-shell .form-field input { min-width: 0; height: 44px; padding: 10px 12px; font-size: 14px; background: #fff; }
.portal-workspace-shell .account-save-row { margin-top: 18px; }
.portal-workspace-shell .account-save { min-height: 44px; }
.portal-workspace-shell .gf-order { min-width: 0; }
.portal-workspace-shell .gf-order > * { min-width: 0; overflow-wrap: anywhere; }
.portal-workspace-shell .gf-order > strong { white-space: nowrap; }
.portal-workspace-shell .order-detail-line { grid-template-columns: minmax(0, 1fr) max-content max-content; gap: 12px; }
.portal-workspace-shell .order-detail-line > :first-child { overflow-wrap: anywhere; }
.portal-workspace-shell .order-extra { overflow-wrap: anywhere; }
.portal-workspace-shell .cart-layout { gap: 24px; }
.portal-workspace-shell .cart-items,
.portal-workspace-shell .cart-product > div { min-width: 0; }
.portal-workspace-shell .cart-product h2 { overflow-wrap: anywhere; }
.portal-workspace-shell .order-summary { min-width: 0; padding: var(--panel-padding); }
.portal-workspace-shell .empty-cart { border: 0; }
.portal-workspace-shell .confirmation { margin-top: 24px; margin-bottom: 24px; }

@container workspace (min-width: 800px) {
  .account-panels:has(> :nth-child(2)) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@container workspace (max-width: 960px) {
  .portal-workspace-shell .cart-layout { grid-template-columns: minmax(0, 1fr); }
  .portal-workspace-shell .cart-item,
  .portal-workspace-shell .cart-table-heading { grid-template-columns: minmax(0, 1fr) 120px 80px; gap: 16px; }
  .portal-workspace-shell .cart-table-heading span:last-child { display: block; }
  .portal-workspace-shell .cart-line-total { grid-column: auto; grid-row: auto; align-self: center; margin: 0; }
  .portal-workspace-shell .cart-quantity { align-self: center; padding: 0; }
  .portal-workspace-shell .quantity-control { width: 120px; height: 40px; }
  .portal-workspace-shell .quantity-control button { width: 39px; }
  .portal-workspace-shell .quantity-control input { flex: 1; width: 40px; font-size: 16px; }
}
@container workspace (min-width: 560px) and (max-width: 960px) {
  .portal-workspace-shell .order-summary form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 16px; align-items: start; }
  .portal-workspace-shell .order-summary label { grid-column: 1; }
  .portal-workspace-shell .order-summary input { grid-column: 1; grid-row: 2; margin: 0; }
  .portal-workspace-shell .order-summary label[for=order-notes] { grid-column: 2; grid-row: 1; }
  .portal-workspace-shell .order-summary textarea { grid-column: 2; grid-row: 2 / 4; margin: 0; }
  .portal-workspace-shell .place-order { grid-column: 1 / -1; }
}
@container workspace (max-width: 559px) {
  .portal-workspace-shell .order-summary form { display: flex; }
  .portal-workspace-shell .order-summary input { margin-bottom: 16px; }
}
@container workspace (max-width: 850px) {
  .portal-workspace-shell .gf-order { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr) 80px; }
  .portal-workspace-shell .gf-order > :nth-child(4),
  .portal-workspace-shell .gf-order > :nth-child(5),
  .portal-workspace-shell .gf-order > :nth-child(6) { display: none; }
}
@media (max-width: 900px) {
  .portal-workspace-shell { --page-gutter: 12px; --panel-padding: 16px; --section-gap: 12px; }
  .portal-workspace-shell .main-content { padding: 0 0 24px; }
  .portal-workspace-shell .catalog-surface { border-width: 0 0 1px; border-radius: 0; box-shadow: none; }
  .portal-workspace-shell .product-grid.list-view { border-radius: 0; }
  .portal-workspace-shell .simple-account-heading { padding: 18px var(--page-gutter) 0; margin-bottom: 16px; }
  .account-tabs { padding: 0 var(--page-gutter); }
  .account-footer { padding: 0 var(--page-gutter); }
  .portal-workspace-shell .account-section { padding: 18px var(--page-gutter); border-width: 1px 0; border-radius: 0; box-shadow: none; }
  .portal-workspace-shell .account-section h2 { font-size: 16px; }
  .portal-workspace-shell .detail-grid { gap: 14px 16px; }
  .portal-workspace-shell .cart-layout { gap: var(--section-gap); }
  .portal-workspace-shell .cart-items { padding: 0 var(--page-gutter); background: #fff; }
  .portal-workspace-shell .cart-item { min-height: 0; padding: 16px 0; }
  .portal-workspace-shell .cart-product-image { width: 64px; height: 64px; }
  .portal-workspace-shell .cart-product { gap: 12px; }
  .portal-workspace-shell .order-summary { padding: 18px var(--page-gutter); border-radius: 0; }
  .portal-workspace-shell .order-summary h2 { margin: 8px 0 20px; }
  .portal-workspace-shell .empty-cart,
  .portal-workspace-shell .empty-state { padding: 32px var(--page-gutter); }
  .portal-workspace-shell .confirmation { padding: 0 var(--page-gutter); }
  .portal-workspace-shell .confirmation-card { padding: 20px var(--page-gutter); }
}
@media (max-width: 520px) {
  .portal-workspace-shell .form-grid { grid-template-columns: minmax(0, 1fr); }
  .portal-workspace-shell .form-field input,
  .portal-workspace-shell .order-summary :is(input, textarea) { font-size: 16px; }
  .portal-workspace-shell .gf-order { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1fr) max-content; gap: 8px; }
  .portal-workspace-shell .cart-item { grid-template-columns: minmax(0, 1fr) max-content; gap: 12px; }
  .portal-workspace-shell .cart-table-heading { display: block; padding: 12px 0; font-size: 10px; }
  .portal-workspace-shell .cart-table-heading > span:not(:first-child) { display: none; }
  .portal-workspace-shell .cart-product { grid-column: 1 / -1; }
  .portal-workspace-shell .cart-product h2 { font-size: 14px; }
  .portal-workspace-shell .cart-product .product-category { font-size: 9px; }
  .portal-workspace-shell .cart-product .product-color,
  .portal-workspace-shell .cart-unit-price { font-size: 12px; }
  .portal-workspace-shell .cart-quantity { grid-column: 1; grid-row: 2; display: flex; align-items: center; gap: 12px; }
  .portal-workspace-shell .cart-quantity .remove-button { min-height: 40px; margin: 0; font-size: 12px; }
  .portal-workspace-shell .cart-line-total { grid-column: 2; grid-row: 2; font-size: 15px; }
  .portal-workspace-shell .cart-below { padding: 8px 0; }
  .portal-workspace-shell .cart-below .text-button { min-height: 40px; font-size: 12px; }
  .portal-workspace-shell .order-summary .section-number { font-size: 9px; }
  .portal-workspace-shell .order-summary :is(label, .summary-line, .summary-total) { font-size: 12px; }
  .portal-workspace-shell .summary-total { padding: 16px 0; }
  .portal-workspace-shell .order-summary form { display: flex; padding-top: 16px; }
}
@media (max-width: 900px) {
  /* The mobile campaign has its own 3:2 composition. Reserve its full ratio
     so neither the form nor the phone keyboard crops or resizes the artwork. */
  .simple-login { display: flex; flex-direction: column; align-items: stretch; background: #ff701f; }
  .simple-login .signin-promo { order: -1; flex: 0 0 auto; display: grid; padding-bottom: 16px; }
  .simple-login .signin-promo > picture { width: 100%; max-width: 600px; aspect-ratio: 3 / 2; justify-self: center; }
  .simple-login .signin-promo-copy { align-self: start; justify-self: center; width: 100%; max-width: 600px; padding: 18px 20px; margin: 0; }
  .simple-login .signin-promo-copy h2 { font-size: clamp(22px, 6vw, 34px); line-height: 1.08; letter-spacing: -.045em; }
  .simple-login .signin-promo-copy p { display: none; }
  .simple-login .signin-card { position: relative; z-index: 1; flex: 1 0 auto; width: 100%; max-width: none; margin: -16px 0 0; padding: 32px 24px max(32px, env(safe-area-inset-bottom)); border: 0; border-radius: 24px 24px 0 0; background: #f7f8fb; }
  .simple-login .signin-form input { height: 48px; font-size: 16px; }
  .simple-login .signin-password-toggle { top: 2px; right: 2px; }
  .simple-login .signin-submit { min-height: 48px; }
  .simple-login .signin-forgot,.simple-login .signin-back { min-height: 44px; }
}
@media (max-width: 360px) {
  .simple-login .signin-promo-copy { padding-top: 14px; }
}

/* Compact cart and checkout summary, independent of the legacy cart layout. */
.cart-page { min-width: 0; container: cart / inline-size; }
.cart-page-heading { margin-bottom: 16px; }
.cart-page-heading h1 { color: #252525; font-size: 27px; font-weight: 650; letter-spacing: -.7px; line-height: 1.2; }
.cart-remove:hover:not(:disabled) { color: #171717; text-decoration: underline; }
.cart-body { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; align-items: start; }
.cart-lines { min-width: 0; container: cart-lines / inline-size; border: 1px solid #dedede; border-radius: 10px; background: #fff; overflow: hidden; }
.cart-columns { display: none; }
.cart-row { display: grid; grid-template-columns: 64px minmax(0, 1fr) max-content; gap: 12px; padding: 16px; align-items: start; }
.cart-row + .cart-row { border-top: 1px solid #e8e8e8; }
.cart-row-media { position: relative; grid-column: 1; grid-row: 1 / 3; display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; border: 1px solid #ececec; border-radius: 8px; background: #f5f5f5; overflow: hidden; }
.cart-row-media img { width: 100%; height: 100%; object-fit: cover; }
.cart-row-media .product-placeholder { position: static; font-size: 22px; }
.cart-row-description { grid-column: 2; grid-row: 1; min-width: 0; }
.cart-row-description h2 { margin: 0 0 4px; color: #252525; font-size: 14px; font-weight: 600; line-height: 1.4; overflow-wrap: anywhere; }
.cart-row-description > p { color: #777; font-size: 12px; line-height: 1.4; overflow-wrap: anywhere; }
.cart-row-price { display: block; margin-top: 6px; color: #444; font-size: 12px; }
.cart-row-price > span { color: #888; }
.cart-row-controls { grid-column: 2 / 4; grid-row: 2; display: flex; align-items: center; gap: 12px; min-width: 0; }
.cart-stepper { display: flex; flex: 0 0 116px; width: 116px; height: 40px; border: 1px solid #cecece; border-radius: 7px; overflow: hidden; background: #fff; }
.portal-workspace-shell .cart-stepper button { display: flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; border: 0; border-radius: 0; padding: 0; color: #555; background: transparent; }
.cart-stepper button:hover:not(:disabled) { background: #f4f4f4; }
.cart-stepper .icon { width: 15px; height: 15px; }
.portal-workspace-shell .cart-stepper input { flex: 1; width: 42px; min-width: 0; border: 0; border-radius: 0; padding: 0; background: transparent; color: #303030; font-size: 16px; text-align: center; appearance: textfield; box-shadow: none; }
.cart-stepper input::-webkit-outer-spin-button, .cart-stepper input::-webkit-inner-spin-button { appearance: none; margin: 0; }
.cart-stepper:focus-within { outline: 2px solid #2463c5; outline-offset: 2px; }
.cart-remove { min-height: 40px; padding: 8px 0; border: 0; background: none; color: #777; font-size: 12px; }
.cart-row-total { grid-column: 3; grid-row: 1; color: #303030; font-size: 14px; font-weight: 600; line-height: 1.4; white-space: nowrap; text-align: right; }
.checkout-summary { min-width: 0; padding: 16px; border: 1px solid #dedede; border-radius: 10px; background: #fff; }
.checkout-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.checkout-heading h2 { color: #303030; font-size: 15px; font-weight: 600; letter-spacing: -.15px; }
.checkout-heading > span { color: #777; font-size: 12px; white-space: nowrap; }
.checkout-total { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-top: 12px; color: #303030; font-size: 14px; }
.checkout-total strong { font-size: 23px; font-weight: 650; letter-spacing: -.5px; white-space: nowrap; }
.checkout-note { margin-top: 4px; color: #777; font-size: 12px; line-height: 1.5; }
.checkout-form { margin-top: 16px; }
.checkout-submit { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 46px; padding: 11px 16px; border: 1px solid #303030; border-radius: 8px; background: #303030; color: #fff; font-size: 14px; font-weight: 600; }
.checkout-submit:hover:not(:disabled) { background: #171717; }
.checkout-submit .icon { width: 17px; height: 17px; }
.cart-empty { display: flex; flex-direction: column; align-items: center; padding: 48px 16px; text-align: center; }
.cart-empty-icon { display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; margin-bottom: 20px; border-radius: 50%; background: #e8e8e8; color: #555; }
.cart-empty-icon .icon { width: 28px; height: 28px; }
.cart-empty h1 { font-size: 24px; font-weight: 600; letter-spacing: -.5px; }
.cart-empty p { margin: 10px 0 20px; color: #777; font-size: 14px; line-height: 1.5; }
@container cart (min-width: 880px) {
  .cart-body { grid-template-columns: minmax(0, 1fr) 304px; }
  .checkout-summary { position: sticky; top: 80px; }
}
@container cart (min-width: 600px) and (max-width: 879px) {
  .checkout-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
  .checkout-form { align-self: center; margin-top: 0; }
}
@container cart-lines (min-width: 600px) {
  .cart-columns { display: grid; grid-template-columns: minmax(0, 1fr) 116px 80px; gap: 16px; padding: 12px 16px; border-bottom: 1px solid #e8e8e8; color: #888; font-size: 11px; }
  .cart-columns > :nth-child(2) { text-align: center; }
  .cart-columns > :last-child { text-align: right; }
  .cart-row { grid-template-columns: 64px minmax(0, 1fr) 116px 80px; gap: 16px; align-items: start; }
  .cart-row-media { grid-row: 1; }
  .cart-row-controls { grid-column: 3; grid-row: 1; flex-direction: column; gap: 2px; }
  .cart-stepper { flex-basis: 40px; }
  .cart-remove { min-height: 28px; padding: 4px 0; }
  .cart-row-total { grid-column: 4; grid-row: 1; padding-top: 10px; }
}
@media (max-width: 900px) {
  .cart-page-heading { margin: 0; padding: 12px var(--page-gutter); }
  .cart-page-heading h1 { font-size: 24px; }
  .cart-body { gap: 12px; }
  .cart-lines, .checkout-summary { border-width: 1px 0; border-radius: 0; }
  .cart-row, .cart-columns { padding-left: var(--page-gutter); padding-right: var(--page-gutter); }
  .checkout-summary { padding: 16px var(--page-gutter); }
}
@media (max-width: 520px) {
  .cart-row { grid-template-columns: 56px minmax(0, 1fr) max-content; gap: 10px 12px; }
  .cart-row-media { width: 56px; height: 56px; }
}

/* The rewards brand mark anchors the header; workspace choice happens at entry. */
.ooowee-logo { display: block; width: 76px; height: 55px; object-fit: contain; filter: brightness(0); }
/* Badbanana's dim base and full-strength sweep, using the original Ooowee mark. */
.brand-loader { --loader-width: 104px; display: grid; place-items: center; width: 100%; min-height: clamp(240px, 55dvh, 480px); padding: 40px 24px; }
.brand-loader-art { position: relative; display: block; width: var(--loader-width); animation: ooowee-loader-reveal 120ms ease-out 160ms both; }
.brand-loader-logo { width: 100%; height: auto; aspect-ratio: 1360 / 988; object-fit: contain; filter: brightness(0); opacity: .35; }
.brand-loader-shine {
  position: absolute; inset: 0; pointer-events: none;
  /* One logo-wide band travels from fully outside the left edge to the right. */
  background: linear-gradient(90deg, transparent 33.333333%, #000 50%, transparent 66.666667%) 100% 0 / 300% 100% no-repeat;
  -webkit-mask: url('assets/ooowee-logo.png') center / 100% 100% no-repeat;
  mask: url('assets/ooowee-logo.png') center / 100% 100% no-repeat;
  mask-mode: alpha;
  animation: ooowee-shine 1.4s cubic-bezier(.2, 0, .13, 1) infinite;
}
.brand-loader-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.brand-loader--compact { --loader-width: 64px; min-height: 128px; padding: 24px; }
.boot-screen { min-height: 100vh; min-height: 100dvh; height: auto; background: #fafafa; }
.boot-screen .brand-loader { --loader-width: 128px; }
.workspace-loading { display: grid; align-items: center; min-height: calc(100vh - 80px); min-height: calc(100dvh - 80px); }
@keyframes ooowee-loader-reveal { from { opacity: 0; } to { opacity: 1; } }
@keyframes ooowee-shine {
  from { background-position: 100% 0; }
  to { background-position: 0% 0; }
}
@media (prefers-reduced-motion: reduce) {
  .brand-loader-logo { opacity: 1; }
  .brand-loader-shine { animation: none; background: none; }
}
.portal-workspace-shell .workspace-header { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 12px; min-height: 72px; padding-top: 8px; padding-bottom: 8px; background: #fff; }
.header-shop { grid-column: 1; grid-row: 1; justify-self: start; }
.header-brand { display: flex; align-items: center; justify-content: center; justify-self: center; grid-column: 2; grid-row: 1; width: 92px; min-height: 56px; border-radius: 6px; }
.header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 6px; grid-column: 3; grid-row: 1; min-width: 0; }
.workspace-header .header-cart .nav-count { border-color: #fff; }
.portal-workspace-shell .workspace-header .header-actions .icon-button { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 44px; width: 44px; height: 44px; margin: 0; padding: 11px; border: 0; background: transparent; color: #303030; }
.workspace-header .header-actions .icon-button .icon { width: 22px; height: 22px; }
.workspace-header .header-actions .icon-button:hover:not(:disabled),
.workspace-header .header-menu[open] > summary { background: #f3f3f3; }
.workspace-header .header-actions .header-cart[aria-current=page] { background: #ededed; color: #111; }
.header-menu { position: relative; flex-shrink: 0; }
.header-menu > summary { list-style: none; cursor: pointer; border-radius: 8px; }
.header-menu > summary::-webkit-details-marker { display: none; }
.shop-trigger { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 10px 8px; color: #222; font-size: 15px; font-weight: 550; }
.shop-trigger .icon { width: 14px; height: 14px; }
.header-menu[open] > .shop-trigger .icon { transform: rotate(180deg); }
.header-dropdown { position: absolute; top: calc(100% + 10px); left: 0; z-index: 25; display: grid; width: 240px; max-width: calc(100vw - 24px); max-height: calc(100dvh - 100px); overflow-y: auto; padding: 8px; border: 1px solid #e5e5e5; border-radius: 10px; background: #fff; box-shadow: 0 12px 32px #00000012; }
.header-menu[open]::after { content: ''; position: absolute; left: 0; top: 100%; width: 240px; max-width: calc(100vw - 24px); height: 12px; }
.header-menu:not([open]) > .header-dropdown { display: none; }
.header-dropdown > a,
.header-dropdown > button { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 44px; padding: 11px 12px; border: 0; border-radius: 6px; background: #fff; color: #333; font: inherit; font-size: 14px; line-height: 1.4; text-align: left; }
.header-dropdown > a:hover,
.header-dropdown > button:hover:not(:disabled),
.header-dropdown > a[aria-current] { background: #f4f4f4; color: #111; }
.header-dropdown > button:disabled { opacity: .5; }
.header-dropdown .icon { flex-shrink: 0; width: 18px; height: 18px; color: #666; }
.portal-workspace-shell .workspace-header:has(.header-search-panel) { row-gap: 0; padding-bottom: 0; background: #f6f7f7; border-bottom-color: #e6e8e8; }
.header-search-panel { grid-column: 1 / -1; grid-row: 2; width: calc(100% + 2 * var(--page-gutter)); margin-left: calc(-1 * var(--page-gutter)); padding: 24px 24px 36px; background: #f6f7f7; }
.search-panel-content { width: min(400px, 100%); margin: 0 auto; }
.header-search-field { display: flex; align-items: center; min-width: 0; min-height: 44px; border-bottom: 1px solid #929b9d; }
.header-search-field:focus-within { border-bottom-color: #303030; }
.portal-workspace-shell .header-search-field input { flex: 1; width: 100%; min-width: 0; height: 44px; padding: 8px 0; border: 0; border-radius: 0; background: transparent; color: #222; font-size: 16px; outline: none; box-shadow: none; }
.header-search-field input::placeholder { color: #505758; font-size: 13px; opacity: 1; }
.portal-workspace-shell .header-search-field > .icon-button { display: flex; align-items: center; justify-content: center; flex: 0 0 44px; width: 44px; height: 44px; margin-right: -10px; padding: 12px; color: #414747; }
.search-suggestions { margin-top: 28px; text-align: center; }
.search-suggestions > p { margin: 0 0 14px; color: #565c5d; font-size: 14px; }
.search-suggestion-options { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.portal-workspace-shell .search-suggestion-options > button { min-height: 36px; padding: 8px 14px; border: 0; border-radius: 0; background: #e9ebeb; color: #454b4c; font-size: 13px; line-height: 20px; }
.search-suggestion-options > button:hover { background: #dfe2e2; color: #222; }
@media (max-width: 520px) {
  .header-search-panel { padding: 20px 24px 28px; }
  .search-suggestions { margin-top: 24px; }
  .search-suggestion-options { gap: 6px; }
  .portal-workspace-shell .search-suggestion-options > button { padding: 8px 12px; }
}
@media (max-width: 520px) {
  .portal-workspace-shell .workspace-header { gap: 8px; }
  .header-brand { width: 68px; }
  .workspace-header .ooowee-logo { width: 68px; height: 50px; }
  .header-actions { gap: 0; }
  .shop-trigger { padding-left: 0; padding-right: 4px; font-size: 14px; gap: 6px; }
}
@media (max-width: 370px) {
  .header-brand { width: 60px; }
  .workspace-header .ooowee-logo { width: 60px; height: 44px; }
  .portal-workspace-shell .workspace-header .header-actions .icon-button { flex-basis: 36px; width: 36px; padding: 9px 7px; }
}
.header-brand:focus-visible,
.workspace-choice:focus-visible { outline: 2px solid #2463c5; outline-offset: 3px; }
@media (max-width: 900px) {
  .workspace-header .header-shop,
  .portal-workspace-shell .workspace-header .header-actions .header-account { display: none; }
  .portal-workspace-shell .workspace-header .mobile-nav-toggle { display: flex; align-items: center; justify-content: center; grid-column: 1; grid-row: 1; width: 44px; height: 44px; padding: 11px; }
  .workspace-header .header-brand { width: 92px; }
  .workspace-header .ooowee-logo { width: 76px; height: 55px; }
  .workspace-header .header-actions { gap: 0; }
  .portal-workspace-shell .workspace-header .header-actions .icon-button { flex-basis: 44px; width: 44px; padding: 11px; }
}
.auth-brand-header { display: flex; justify-content: center; align-items: center; min-height: 80px; padding: 12px 16px; border-bottom: 1px solid #e8e8e8; background: #fff; }
.workspace-entry { min-height: 100vh; min-height: 100dvh; background: #fafafa; color: #222; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif; }
.workspace-selection { width: calc(100% - 40px); max-width: 480px; margin: clamp(32px, 8vh, 80px) auto; padding: 0; }
.workspace-selection h1 { margin: 0; font-size: 28px; font-weight: 650; letter-spacing: -.8px; line-height: 1.2; }
.workspace-intro { margin: 12px 0 28px; color: #737373; font-size: 15px; line-height: 1.5; }
.workspace-choices { display: grid; gap: 12px; }
.workspace-choice { display: flex; align-items: center; gap: 16px; width: 100%; min-height: 88px; padding: 18px; border: 1px solid #dedede; border-radius: 10px; background: #fff; color: #222; text-align: left; box-shadow: 0 1px 2px #00000004; }
.workspace-choice:hover:not(:disabled) { border-color: #a3a3a3; background: #f7f7f7; }
.workspace-choice:disabled { cursor: wait; opacity: .6; }
.workspace-choice-icon { display: flex; align-items: center; justify-content: center; flex: 0 0 40px; width: 40px; height: 40px; border-radius: 8px; background: #f3f3f3; color: #555; }
.workspace-choice-copy { display: grid; flex: 1; min-width: 0; gap: 5px; }
.workspace-choice-copy strong { font-size: 16px; font-weight: 600; line-height: 1.35; overflow-wrap: anywhere; }
.workspace-choice-copy > span { color: #737373; font-size: 12px; line-height: 1.4; overflow-wrap: anywhere; }
.workspace-choice > .icon { width: 18px; height: 18px; flex-shrink: 0; color: #777; }
@media (max-width: 520px) {
  .workspace-selection { width: calc(100% - 32px); margin-top: 32px; }
  .workspace-selection h1 { font-size: 25px; }
  .workspace-choice { gap: 12px; min-height: 84px; padding: 16px 12px; }
}

/* Inline recovery keeps the current page and any available data in view. */
.account-load-error { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin: 14px 0; padding: 12px 14px; border: 1px solid #edc9c4; border-radius: 8px; background: #fff4f2; color: #9c2b20; font-size: 13px; line-height: 1.5; }
.account-load-error p { flex: 1 1 200px; }
.account-load-error button { flex: 0 0 auto; min-height: 44px; padding: 8px 12px; border: 1px solid currentColor; border-radius: 6px; background: transparent; color: inherit; }
