/* Additive controls in the current cream/olive/yellow palette. Existing media and design assets stay immutable. */
:root { --ux-paper:#fffdf8; --ux-ink:#292c26; --ux-muted:#696b61; --ux-line:#d9d8cd; --ux-accent:#f2ce55; }
[hidden] { display:none !important; }
.ux-filter-chips { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0 20px; }
.ux-filter-chip,.ux-search-alternative { min-height:44px; padding:8px 14px; border:1px solid var(--ux-line); border-radius:24px; color:var(--ux-ink); background:#f0ecdf; font:inherit; cursor:pointer; }
.ux-priced-shortcut { margin:0 0 4px; }
.ux-priced-shortcut[aria-pressed=true] { background:var(--ux-accent)!important; }
.ux-mobile-filter-button { display:none; }
.ux-filter-dialog { width:min(520px,calc(100% - 24px)); max-height:calc(100dvh - 24px); padding:20px; border:1px solid var(--ux-line); border-radius:20px; color:var(--ux-ink); background:var(--ux-paper); box-sizing:border-box; }
.ux-filter-dialog::backdrop { background:rgb(41 39 27 / 45%); }
.ux-filter-dialog h2 { margin:0 0 16px; }
.ux-filter-dialog input,.ux-filter-dialog select { width:100%; min-height:44px; padding:10px; box-sizing:border-box; background:var(--ux-paper); color:var(--ux-ink); border:1px solid #b9bdad; border-radius:8px; font:inherit; }
.ux-filter-dialog input[type=checkbox] { width:22px; min-height:22px; margin-right:10px; }
.ux-filter-dialog fieldset { min-width:0; }
.ux-filter-dialog .filter-pair { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.ux-filter-dialog label { display:block; margin-bottom:12px; }
.ux-filter-actions { position:sticky; bottom:-20px; background:var(--ux-paper); padding:14px 0 6px; display:grid; grid-template-columns:1fr 2fr; gap:10px; border-top:1px solid var(--ux-line); }
body.ux-filter-open { overflow:hidden; }
.ux-search-suggestions { position:fixed; z-index:90; max-height:min(60dvh,480px); overflow:auto; padding:8px; box-sizing:border-box; background:var(--ux-paper); color:var(--ux-ink); border:1px solid var(--ux-line); border-radius:14px; box-shadow:0 12px 35px rgb(41 39 27 / 18%); }
.ux-suggestion { display:flex; gap:12px; align-items:center; min-height:64px; padding:9px; color:inherit; text-decoration:none; border-radius:9px; }
.ux-suggestion[aria-selected=true],.ux-suggestion:hover { background:#f8edc6; }
.ux-suggestion img,.ux-recent-card img { width:56px; height:56px; object-fit:cover; border-radius:8px; flex:none; }
.ux-suggestion span,.ux-recent-card span { min-width:0; }
.ux-suggestion strong,.ux-suggestion small,.ux-recent-card strong,.ux-recent-card small { display:block; overflow-wrap:anywhere; }
.ux-suggestion small,.ux-recent-card small { color:var(--ux-muted); font-size:12px; margin-top:4px; }
.ux-search-empty { padding:4px 10px; }
.ux-search-alternative { margin:4px; }
.ux-recent-views { width:min(1280px,calc(100% - 48px)); margin:30px auto 60px; }
.ux-recent-views h2 { font-size:24px; }
.ux-recent-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px; }
.ux-recent-card { display:flex; align-items:center; gap:12px; padding:14px; border:1px solid var(--ux-line); border-radius:14px; color:var(--ux-ink); background:var(--ux-paper); text-decoration:none; }
.ux-cart-group-heading { margin:24px 0 10px; font-size:17px; }
.ux-cart-guidance { font-size:14px; line-height:1.5; color:var(--ux-muted); }
.ux-delivery-choices { border:0; padding:0; margin:20px 0; display:grid; grid-template-columns:minmax(0,1fr); gap:10px; min-width:0; }
.ux-delivery-card { min-width:0; }
.ux-delivery-choice span { min-width:0; overflow-wrap:anywhere; }
.ux-other-delivery { width:100%; max-width:100%; min-width:0; box-sizing:border-box; min-height:44px; padding:10px; border:1px solid var(--ux-line); border-radius:8px; color:var(--ux-ink); background:var(--ux-paper); font:inherit; }
.ux-delivery-choices legend { font-weight:700; margin-bottom:12px; }
.ux-delivery-choice { display:flex; align-items:flex-start; gap:10px; min-height:48px; padding:14px; margin:0; border:1px solid var(--ux-line); border-radius:12px; background:var(--ux-paper); cursor:pointer; box-sizing:border-box; }
.ux-delivery-choice:has(input:checked) { border-color:#8a783a; background:#f8edc6; }
.ux-delivery-choice input { flex:none; width:20px; height:20px; accent-color:#7b672d; }
.ux-delivery-choice strong,.ux-delivery-choice small { display:block; }
.ux-delivery-choice small { color:var(--ux-muted); margin-top:5px; line-height:1.4; }
.ux-delivery-original { display:none; }
.ux-resume-order { display:block; margin:20px auto; }
.ux-product-purchase { color:var(--ux-ink); padding:22px; border:1px solid var(--ux-line); border-radius:18px; background:var(--ux-paper); margin:20px 0; box-sizing:border-box; }
.ux-purchase-price { font-size:24px; font-weight:700; margin:0 0 14px; }
.ux-purchase-availability,.ux-purchase-count,.ux-purchase-status { font-size:14px; line-height:1.5; color:var(--ux-muted); }
.ux-purchase-status:empty { display:none; }
.ux-purchase-variant { display:block; font-weight:600; }
.ux-purchase-variant-select { display:block; width:100%; min-height:46px; margin:8px 0 16px; padding:10px; box-sizing:border-box; border:1px solid #b9bdad; border-radius:8px; font:inherit; background:var(--ux-paper); color:var(--ux-ink); }
.ux-purchase-actions { display:flex; flex-wrap:wrap; gap:10px; }
.ux-purchase-add,.ux-purchase-checkout,.ux-purchase-back { display:inline-flex; justify-content:center; align-items:center; min-height:46px; padding:12px 18px; box-sizing:border-box; border-radius:25px; border:1px solid #b4b5a8; font:inherit; font-size:14px; line-height:1.3; color:var(--ux-ink); text-decoration:none; text-align:center; }
.ux-purchase-add { border-color:var(--ux-accent); background:var(--ux-accent); cursor:pointer; font-weight:600; }
.ux-purchase-add:disabled { opacity:.6; cursor:default; }
.ux-purchase-checkout,.ux-purchase-back { background:transparent; }
.ux-purchase-dock-price { display:none; }
:is(.ux-purchase-add,.ux-purchase-checkout,.ux-purchase-back,.ux-filter-chip,.ux-suggestion,.ux-search-alternative):focus-visible { outline:3px solid #7b672d; outline-offset:3px; }
@media (min-width:1000px) {
  .ux-product-purchase { width:100%; max-width:none; margin:20px 0; position:sticky; top:20px; z-index:2; }
  .ux-product-purchase .ux-purchase-actions>* { width:100%; }
  .ux-product-purchase~.seo-specs { clear:both; }
  #product-dialog .detail-order { position:sticky; top:12px; z-index:3; padding:14px; background:var(--ux-paper); border:1px solid var(--ux-line); border-radius:12px; }
}
@media (max-width:760px) {
  .ux-mobile-filter-button { display:inline-flex; }
  .ux-original-filters { display:none; }
  #catalog .filter-panel { display:none; }
  .ux-recent-views { width:calc(100% - 32px); }
  .ux-recent-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ux-recent-card { display:block; padding:10px; }
  .ux-recent-card img { width:100%; height:110px; object-fit:contain; margin-bottom:8px; }
  body:has(#ux-product-purchase) { padding-bottom:140px; }
  .ux-product-purchase { padding:16px; }
  .ux-purchase-actions { position:fixed; z-index:35; bottom:0; left:0; right:0; padding:12px 12px calc(12px + env(safe-area-inset-bottom)); display:grid; grid-template-columns:1fr 1fr; gap:8px; background:var(--ux-paper); border-top:1px solid var(--ux-line); box-shadow:0 -6px 24px rgb(41 39 27 / 10%); }
  .ux-purchase-dock-price { display:block; grid-column:1/-1; font-size:13px; font-weight:600; line-height:1.4; }
  .ux-purchase-actions .ux-purchase-back { display:none; }
  #product-dialog .detail-order { position:fixed; z-index:3; left:max(14px,calc((100vw - 740px)/2)); right:max(14px,calc((100vw - 740px)/2)); bottom:14px; margin:0; padding:12px; display:flex; align-items:center; justify-content:space-between; gap:12px; box-sizing:border-box; background:var(--ux-paper); border:1px solid var(--ux-line); border-radius:14px; box-shadow:0 -5px 22px rgb(41 39 27 / 12%); }
  #product-dialog .detail-order p { font-size:11px; margin:4px 0 0; }
  #product-dialog .detail-order .detail-price { font-size:18px; }
  #product-dialog .detail-order button { min-width:130px; min-height:46px; padding:10px 14px; font-size:13px; }
  #product-dialog #product-detail { padding-bottom:130px; }
}
@media (prefers-reduced-motion:reduce) { .ux-search-suggestions,.ux-product-purchase { scroll-behavior:auto; } }
