*{box-sizing:border-box}
:root{--ink:#211d1a;--muted:#85858b;--line:#dedee2;--paper:#fff;--columns:4;--accent:#8b6d55}
html{background:#fff;scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font:15px/1.45 Georgia,"Times New Roman",serif}
a{color:inherit;text-decoration:none}
.topbar{height:68px;padding:0 30px;display:flex;align-items:center;gap:22px;background:#fff;position:relative;z-index:30;border-bottom:1px solid #f0f0f0}
.icon-btn{width:28px;height:30px;border:0;background:transparent;padding:2px;display:inline-flex;align-items:center;justify-content:center;color:#333;cursor:pointer}
.icon-btn svg,.view-btn svg,.favorite-btn svg,.quick-bag svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}
.wordmark{display:flex;align-items:center;gap:8px;font:500 18px/1 Arial,sans-serif;letter-spacing:.045em;white-space:nowrap}
.mark{display:inline-block;width:13px;height:13px;background:#e6002d}
.top-actions{margin-left:auto;display:flex;align-items:center;gap:19px;font-family:Arial,sans-serif}
.catalog-shell{max-width:1452px;margin:0 auto;padding:0 0 70px}
.category-heading{text-align:center;padding-top:10px}
.category-heading h1{font-size:26px;font-weight:400;line-height:1.2;margin:9px 0 26px}
.subcategories{position:sticky;top:0;z-index:25;display:flex;justify-content:center;align-items:center;gap:22px;flex-wrap:wrap;padding:13px 15px 15px;border-bottom:1px solid var(--line);border-top:1px solid #f3f3f3;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);font-size:16px}
.subcategories a{white-space:nowrap;transition:color .18s ease}
.subcategories a:hover,.subcategories a.selected{color:var(--accent)}
.catalog-meta{display:flex;justify-content:space-between;align-items:center;min-height:52px;font-family:Arial,sans-serif}
.breadcrumbs{display:flex;gap:10px;align-items:center;color:#999da7;font-size:13px}
.catalog-tools{display:flex;align-items:center;gap:24px}
.view-switch{display:flex;gap:12px;align-items:center}
.view-btn{border:0;background:none;color:#a0a1a5;padding:4px;cursor:pointer;transition:color .18s ease,transform .18s ease}
.view-btn:hover{color:#333;transform:translateY(-1px)}
.view-btn svg{width:19px;height:19px}.view-btn.active{color:#222}
.filter-toggle{font:13px Arial,sans-serif;border:0;background:none;cursor:pointer;padding:6px 0}
.filter-square{display:inline-block;width:7px;height:7px;background:#999;margin-right:4px}
.filter-panel{display:none;grid-template-columns:2fr 1fr 1fr auto;gap:9px;padding:14px 0 18px;font-family:Arial,sans-serif}
.filter-panel.visible{display:grid}
.filter-panel{position:relative;z-index:10;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));align-items:start}
.filter-toggle{display:inline-flex;align-items:center;gap:7px}
.filter-toggle svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linejoin:round}
.visually-hidden,.select-native{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0!important}
.catalog-select{position:relative;min-width:0;font:13px Arial,sans-serif}
.filter-panel .select-trigger{position:relative;width:100%;min-height:39px;text-align:left;padding:11px 38px 11px 12px;border:1px solid #d9d6d2;border-radius:4px;background:#fff;color:#45403a;font:13px Arial,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.select-trigger:after{content:"";position:absolute;right:16px;top:14px;width:7px;height:7px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg)}
.filter-panel .select-trigger:hover,.filter-panel .select-trigger[aria-expanded=true]{border-color:#8b6d55;background:#faf9f7}
.filter-panel .select-trigger:disabled{opacity:.5;cursor:not-allowed}
.select-options{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:40;max-height:270px;overflow:auto;padding:5px;background:#fff;border:1px solid #ded9d3;border-radius:6px;box-shadow:0 8px 25px #30282018}
.filter-panel .select-option{width:100%;padding:10px 9px;background:#fff;color:#45403a;text-align:left;border-radius:3px;white-space:normal;font:13px/1.4 Arial,sans-serif;cursor:pointer}
.filter-panel .select-option:hover,.filter-panel .select-option:focus-visible{background:#f2efeb;color:#211d1a;outline:none}
.filter-panel .select-option[aria-selected=true]{background:#eae4dd;color:#5b4432}
.header-search-control{position:relative;display:flex;align-items:center;flex:none}
.header-search{position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%);height:36px;width:0;opacity:0;visibility:hidden;overflow:hidden;background:#fff;border:1px solid #ececee;border-radius:999px;transition:width .22s ease,opacity .16s ease,visibility 0s .22s}
.header-search-control.is-open .header-search{width:min(320px,calc(100vw - 175px));opacity:1;visibility:visible;transition:width .22s ease,opacity .16s ease,visibility 0s}
.header-search input{display:block;width:100%;height:100%;min-width:0;border:0;border-radius:inherit;padding:8px 15px;background:#fff;font:14px Arial,sans-serif;outline:none}
.header-search:focus-within{border-color:#d5d5d9}
.favorites-toggle{position:relative;flex:none}
.detail-favorite{position:static;vertical-align:middle;margin:0 0 18px 12px;width:44px;height:44px;border:1px solid #ded9d3;border-radius:3px}
.favorites-count{position:absolute;right:-6px;top:-4px;min-width:18px;height:18px;padding:0 4px;border:2px solid #fff;border-radius:12px;background:#b54b59;color:#fff;font:600 10px/14px Arial,sans-serif;text-align:center}
.favorites-count[hidden]{display:none}
.favorites-dialog{width:min(650px,calc(100vw - 24px));max-height:85vh;padding:24px;border:1px solid #e1dcd6;border-radius:10px;color:#211d1a;box-shadow:0 15px 60px #0002}
.favorites-dialog::backdrop{background:#0005}
.favorites-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #eee;padding-bottom:12px}
.favorites-head h2{font:400 25px Georgia,serif;margin:0}
.favorites-head button,.favorite-row>button{background:none;border:0;font-size:25px;color:#85766a;cursor:pointer;min-width:35px;min-height:35px}
.favorite-row{display:flex;align-items:center;gap:10px;border-bottom:1px solid #eee;padding:15px 0}
.favorite-row a{display:flex;align-items:center;gap:15px;flex:1;min-width:0}
.favorite-row img{width:75px;height:75px;object-fit:contain;background:#f2f0ed}
.favorite-row b,.favorite-row small,.favorite-row span{display:block;margin:4px 0}
.favorite-row b{font-weight:400;font-size:15px}
.favorite-row small{color:#999;font:11px Arial,sans-serif}
.favorite-row div{min-width:0;overflow-wrap:anywhere}
@media(max-width:900px){.filter-panel.visible{grid-template-columns:repeat(3,minmax(0,1fr))}.filter-panel #search{grid-column:1/-1}}
@media(max-width:620px){.topbar .wordmark{transition:opacity .16s}.topbar.search-open .wordmark{opacity:0;pointer-events:none}.filter-panel.visible{grid-template-columns:1fr}.filter-panel .catalog-select{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){.header-search,.header-search-control.is-open .header-search,.topbar .wordmark{transition:none}}
.filter-panel input,.filter-panel select{min-width:0;border:1px solid #ddd;padding:10px 12px;font:13px Arial,sans-serif;background:#fff}
.filter-panel button{background:#222;color:#fff;border:0;padding:10px 18px;font:13px Arial,sans-serif;cursor:pointer}
.result-count{font:12px Arial,sans-serif;color:#999;margin:2px 0 12px}
.product-grid{display:grid;grid-template-columns:repeat(var(--columns),minmax(0,1fr));gap:38px 10px;transition:opacity .18s ease,transform .18s ease}
.product-grid.grid-changing{opacity:.45;transform:translateY(5px)}
.product-card{position:relative;min-width:0;animation:card-enter .28s ease both}
@keyframes card-enter{from{opacity:.72;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.product-link{display:block}
.product-image{width:100%;aspect-ratio:1/1;background:#f1f0ee;display:flex;align-items:center;justify-content:center;overflow:hidden}
.product-image img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transition:transform .35s ease}
.product-card:hover .product-image img{transform:scale(1.025)}
.image-placeholder{display:block;width:100%;height:100%;background:#f1f0ee}
.product-image img.image-placeholder{mix-blend-mode:normal}
.product-caption{padding:12px 0 0}
.price{font-size:16px;margin-bottom:4px}
.product-name{font-size:15px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.favorite-btn{position:absolute;right:12px;top:11px;width:29px;height:29px;padding:4px;background:rgba(255,255,255,.8);border:0;border-radius:50%;color:#92949a;cursor:pointer}
.favorite-btn svg{width:19px;height:19px;fill:#fff}
.favorite-btn.is-favorite{color:#c34b55}.favorite-btn.is-favorite svg{fill:#c34b55}
.product-image{position:relative}
.product-image>.product-link{width:100%;height:100%}
.quick-bag{position:absolute;right:12px;bottom:12px;min-width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;gap:0;padding:10px;color:#50483f;border:1px solid #d9d3cc;background:#fffffff0;border-radius:6px;cursor:pointer;box-shadow:0 2px 8px #0000000d;transition:background .16s,color .16s,box-shadow .16s}
.quick-bag svg{width:23px;height:23px;flex:none}
.quick-bag-label{max-width:0;opacity:0;overflow:hidden;white-space:nowrap;font:12px Arial,sans-serif;transition:max-width .18s,opacity .15s,margin .18s}
.quick-bag:hover,.quick-bag:focus-visible{background:#e6e6e8;color:#39393d;border-color:#d2d2d6;box-shadow:0 3px 10px #00000012}
.quick-bag:hover .quick-bag-label,.quick-bag:focus-visible .quick-bag-label{max-width:95px;opacity:1;margin-right:8px}
.quick-bag:focus-visible{outline:2px solid #8b6d55;outline-offset:3px}
.pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:100%;margin:42px 0;font:13px Arial,sans-serif}
.pagination a{padding:8px 11px;border:1px solid #e4e4e4;border-radius:8px;transition:background .15s,border-color .15s}.pagination a:hover{background:#f1f1f3;border-color:#d5d5d9}.pagination a.active{background:#222;color:white}
.empty{padding:60px 0;text-align:center;color:#888;font-family:Arial,sans-serif}
.cart-count{position:absolute;margin:-12px 0 0 12px;min-width:16px;height:16px;padding:1px 4px;border-radius:10px;background:#e6002d;color:#fff;font:10px Arial,sans-serif}.detail-add{border:0;background:#211d1a;color:#fff;padding:14px 26px;font:14px Arial,sans-serif;cursor:pointer;margin-bottom:18px}.detail-add:hover{background:#8b6d55}.cart-drawer{position:fixed;z-index:100;top:0;right:0;width:min(400px,92vw);height:100vh;background:#fff;box-shadow:-5px 0 22px #0002;transform:translateX(105%);transition:.25s;padding:22px;display:flex;flex-direction:column;font-family:Arial,sans-serif}.cart-drawer.open{transform:translateX(0)}.cart-shade{display:none;position:fixed;inset:0;background:#0004;z-index:90}.cart-drawer.open+.cart-shade{display:block}.cart-head{display:flex;justify-content:space-between;font-size:20px;border-bottom:1px solid #ddd;padding-bottom:16px}.cart-head button,.cart-row button{border:0;background:none;font-size:22px;cursor:pointer}.cart-list{overflow:auto;flex:1}.cart-row{display:grid;grid-template-columns:54px 1fr 25px 20px 25px 25px;gap:7px;align-items:center;padding:13px 0;border-bottom:1px solid #eee;font-size:12px}.cart-row img{width:54px;height:54px;object-fit:contain;background:#f1f0ee}.cart-row b,.cart-row small,.cart-row span{display:block;margin:2px 0}.cart-total{padding-top:18px;border-top:1px solid #ddd;font-weight:bold}.cart-empty{color:#777}

/* Admin area: isolated styles so catalog styles cannot erase its layout. */
.cart-toggle{position:relative;width:38px;height:38px;flex:none}
.cart-layer{position:fixed;inset:0;z-index:100;overflow:hidden;pointer-events:none}
.cart-layer .cart-drawer{position:absolute;z-index:2;pointer-events:none}
.cart-layer .cart-drawer.open{pointer-events:auto}
.cart-layer .cart-shade{position:absolute;z-index:1;pointer-events:auto}
.cart-toggle .cart-count{position:absolute;top:-3px;right:-6px;margin:0;min-width:19px;height:19px;padding:0 4px;display:flex;align-items:center;justify-content:center;font:600 10px/1 Arial,sans-serif;border:2px solid #fff;border-radius:12px;font-variant-numeric:tabular-nums;pointer-events:none}
.cart-toggle .cart-count[hidden]{display:none}
.cart-row em{font-style:normal;text-align:center;font-variant-numeric:tabular-nums;font-size:13px}
.cart-row>div{min-width:0;overflow-wrap:anywhere}
.cart-row:not(:has(img)){grid-template-columns:1fr 25px 28px 25px 25px}
.cart-row{grid-template-columns:48px minmax(0,1fr) 25px 28px 25px 25px}
body:not(.admin-page) main{animation:page-enter .18s ease-out both;transition:opacity .12s ease,transform .12s ease}
body:not(.admin-page) main.page-leaving{animation:none;opacity:0;transform:translateY(4px);pointer-events:none}
@keyframes page-enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.filter-panel.visible{animation:page-enter .16s ease-out both}
#catalog-results{position:relative;z-index:0;transition:opacity .12s ease;scroll-margin-top:100px}
#catalog-results.catalog-loading{opacity:.45;cursor:progress;pointer-events:none}
#catalog-results.catalog-updated{animation:page-enter .16s ease-out}
@media(prefers-reduced-motion:reduce){#catalog-results{transition:none}#catalog-results.catalog-updated{animation:none}}
@media(hover:none){.quick-bag-label{max-width:95px;opacity:1;margin-right:6px}}
@media(prefers-reduced-motion:reduce){body:not(.admin-page) main,.filter-panel.visible,.product-card{animation:none!important;transition:none!important}.product-grid,.quick-bag,.quick-bag-label,.product-image img{transition:none!important}}
.admin-page{font-family:Arial,sans-serif;background:#f7f7f6;color:#242424;min-height:100vh}
.admin-header{height:64px;background:#fff;border-bottom:1px solid #e5e5e5;display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100% - 1180px)/2))}
.admin-header a{font-size:13px;color:#555}
.admin-header .admin-logo{font:600 16px Arial,sans-serif;letter-spacing:.04em;color:#222}
.admin-main{max-width:1180px;margin:32px auto;padding:0 20px 60px;font-family:Arial,sans-serif}
.admin-main h1{font:400 27px Georgia,serif;margin:0 0 24px}
.admin-main h2{font-size:17px;font-weight:600;margin:0 0 18px}
.admin-main .panel{background:#fff;border:1px solid #e6e4e1;border-radius:8px;padding:20px;margin:0 0 16px;box-shadow:0 2px 10px rgba(0,0,0,.025)}
.admin-main label{display:block;font-size:13px;color:#555;margin:0 0 13px}
.admin-main input:not([type=hidden]),.admin-main textarea{display:block;width:100%;margin-top:6px;border:1px solid #d8d8d8;border-radius:4px;padding:10px 11px;font:14px Arial,sans-serif;background:#fff;color:#222}
.admin-main textarea{min-height:95px;resize:vertical}
.admin-main button{border:0;border-radius:4px;background:#242424;color:#fff;padding:10px 17px;font:13px Arial,sans-serif;cursor:pointer}
.admin-main button:hover{background:#51483f}
.admin-main .muted{font-size:12px;color:#888;margin:12px 0 0}
.admin-main .error,.admin-main .notice{padding:12px 15px;border-radius:5px;font:13px Arial,sans-serif}
.admin-main .error{background:#fff0ef;color:#a42e25}.admin-main .notice{background:#edf7ef;color:#286b37}
.admin-main .admin{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:18px;align-items:start}
.admin-main .item{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:11px 0;border-bottom:1px solid #eee;font-size:13px}
.admin-main .item span{flex:1;min-width:0}
.admin-main .item a{color:#765a43;text-decoration:underline}
.admin-main .item form{margin:0}
.admin-main .item button.red{background:#a53a32;padding:7px 10px}
@media(max-width:1500px){.catalog-shell{margin:0 5.5%}}
@media(max-width:900px){.catalog-shell{margin:0 24px}.product-grid{gap:28px 8px}.subcategories{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:18px;font-size:15px}.subcategories::-webkit-scrollbar{display:none}.topbar{padding:0 20px}}
@media(max-width:620px){
 .topbar{height:58px;padding:0 15px;gap:10px}
 .wordmark{font-size:15px;letter-spacing:.035em}.mark{width:11px;height:11px}
 .top-actions{gap:11px}.top-actions .icon-btn{width:25px}
 .catalog-shell{margin:0 13px;padding-bottom:42px}
 .category-heading{padding-top:13px}.category-heading h1{font-size:22px;margin:8px 0 17px}
 .subcategories{top:0;justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding:11px 13px 12px;margin:0 -13px;font-size:13px;gap:17px}
 .catalog-meta{align-items:flex-start;gap:10px;padding:12px 0;flex-direction:column}
 .catalog-tools{width:100%;justify-content:space-between}
 .breadcrumbs{font-size:11px;flex-wrap:wrap}
 .product-grid{grid-template-columns:repeat(var(--columns,2),minmax(0,1fr));gap:23px 8px}
 .product-name{font-size:12px}.price{font-size:14px}
 .product-caption{padding-top:8px}
 .favorite-btn{right:7px;top:7px;width:26px;height:26px}
 .quick-bag{right:8px;bottom:8px;min-width:42px;height:42px;padding:9px}
 .filter-panel.visible{grid-template-columns:1fr 1fr;gap:8px}
 .filter-panel input{grid-column:1/-1}
 .filter-panel button{grid-column:1/-1}
 .admin-main{margin:22px auto;padding:0 13px 40px}
 .admin-main .admin{grid-template-columns:1fr}
 .admin-header{padding:0 14px}
 .admin-main .item{flex-wrap:wrap}
}
