:root {
  --ink: #2b2522;
  --muted: #6b625d;
  --accent: #c2410c;
  --accent-dark: #9a3412;
  --brand: #ff6a0c;
  --brand-soft: #fff1e6;
  --paper: #fffaf6;
  --line: #f1e4d8;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-padding-top: 145px; }
body { margin: 0; font: 16px/1.5 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--ink); background: var(--paper); }
body.modal-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--accent-dark); }
button, input, select, textarea { font: inherit; }
button, .btn { display: inline-flex; justify-content: center; align-items: center; gap: 6px; min-height: 44px; background: var(--accent); color: #fff; border: 1px solid transparent; padding: 11px 20px; border-radius: 24px; font-weight: 600; cursor: pointer; line-height: 1.3; }
button:hover, .btn:hover { background: var(--accent-dark); color: #fff; }
button:disabled { opacity: .45; cursor: not-allowed; }
:focus-visible { outline: 3px solid #bc7641; outline-offset: 3px; }
input, textarea, select { display: block; width: 100%; padding: 11px 12px; border: 1px solid #c9bfb5; border-radius: 9px; margin: 5px 0 16px; min-height: 44px; color: var(--ink); background: #fff; }
label { display: block; font-weight: 600; }
input[type="checkbox"] { display: inline-block; width: auto; min-height: auto; margin: 0 8px 0 0; }
img { max-width: 100%; }
h1, h2, h3 { line-height: 1.25; }
h1 { font-size: clamp(26px, 4vw, 38px); }
h2 { font-size: 24px; }
p { margin: 0 0 16px; }
main { max-width: 1280px; padding: 30px 5vw 48px; margin: 0 auto; min-height: 65vh; }
.site-header { display: grid; grid-template-columns: auto 1fr auto; gap: 20px; align-items: center; padding: 12px 5vw; background: #fff; border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 10; }
.logo { display: inline-flex; align-items: center; gap: 6px; font-size: 24px; font-weight: 800; color: #e26013; white-space: nowrap; }
.logo img { display: block; width: 32px; height: 32px; }
.logo span { color: var(--muted); font-weight: 500; margin-left: -6px; }
.site-header nav { display: flex; justify-content: center; gap: 22px; min-width: 0; }
.site-header nav a { white-space: nowrap; padding: 8px 0; }
.cart { background: var(--accent); color: #fff; border-radius: 24px; padding: 9px 16px; white-space: nowrap; }
.cart:hover { color: #fff; background: var(--accent-dark); }
.purchase-notice { background: #fff0d8; color: #584325; padding: 10px 5vw; text-align: center; font-size: 14px; border-bottom: 1px solid #f0dab4; }
.testbar { background: #902928; color: #fff; padding: 8px; text-align: center; }
.hero { display: grid; grid-template-columns: 1fr 240px; gap: 24px; align-items: center; background: linear-gradient(120deg, #f6dccf, #fbefe0); padding: 34px; border-radius: 22px; margin-bottom: 24px; }
.hero h1 { font-size: clamp(30px, 4.5vw, 46px); margin: 0 0 14px; }
.hero img { width: 240px; aspect-ratio: 1; object-fit: contain; border-radius: 18px; background: #fff8; }
.eyebrow { text-transform: uppercase; letter-spacing: .1em; font-size: 12px; font-weight: 700; color: #85452f; margin-bottom: 10px; }
.cats { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; margin-bottom: 26px; }
.cats a { background: #fff; padding: 18px 10px; text-align: center; font-weight: 600; border-radius: 12px; border: 1px solid var(--line); }
.catalog-controls { display: grid; grid-template-columns: minmax(0, 1fr) 220px; gap: 16px; margin: 20px 0 0; }
.grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 18px; margin-bottom: 32px; }
.card { background: #fff; border: 1px solid var(--line); border-radius: 15px; overflow: hidden; transition: transform .15s; }
.card:hover { transform: translateY(-3px); }
.card img { display: block; width: 100%; aspect-ratio: 1; object-fit: contain; background: #fff; }
.card > div { padding: 14px; }
.card h3 { margin: 0 0 12px; font-size: 16px; font-weight: 500; }
.price { color: var(--accent-dark); font-size: 20px; font-weight: 700; margin: 10px 0; }
.fs { display: inline-block; color: #24663c; background: #e7f3e9; padding: 3px 8px; border-radius: 20px; font-size: 12px; font-weight: 600; }
.crumbs { display: flex; gap: 12px; font-size: 14px; color: var(--muted); margin-bottom: 14px; }
.pd { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; }
.pd > * { min-width: 0; }
.image-zoom { display: block; padding: 0; width: 100%; border: 0; border-radius: 15px; background: #fff; cursor: zoom-in; }
.image-zoom:hover { background: #fff; }
#product-image { display: block; width: 100%; aspect-ratio: 1; object-fit: contain; border-radius: 15px; }
.thumbs { display: flex; gap: 8px; overflow-x: auto; padding: 10px 3px; }
.thumbs button { flex: 0 0 72px; padding: 2px; background: #fff; border: 2px solid transparent; border-radius: 9px; }
.thumbs button[aria-pressed="true"] { border-color: var(--accent); }
.thumbs img { width: 64px; height: 64px; object-fit: contain; }
.info h1 { font-size: 26px; margin: 0 0 16px; }
.ben { padding-left: 22px; }
.ben li { margin-bottom: 6px; }
.purchase-row { display: grid; grid-template-columns: 86px 1fr; gap: 12px; align-items: end; margin-bottom: 20px; }
.purchase-row input { margin-bottom: 0; }
.buy { width: 100%; border-radius: 12px; padding: 13px 20px; }
.del { padding: 16px; background: #f4efe9; border-radius: 12px; margin: 20px 0; }
.del p { margin-bottom: 8px; }
.trust { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; list-style: none; padding: 0; font-size: 14px; }
.trust li { background: #fff; border: 1px solid var(--line); border-radius: 9px; padding: 10px; }
details { border-top: 1px solid var(--line); padding: 14px 0; }
summary { cursor: pointer; font-weight: 600; margin-bottom: 8px; }
.muted { font-size: 14px; color: var(--muted); }
.err { color: #842d25; background: #ffe8e1; border: 1px solid #efc3b8; border-radius: 10px; padding: 12px; margin: 12px 0; }
.soon { background: #fff0d8; border: 1px solid #efd6ac; border-radius: 12px; padding: 16px; }
.soon p { margin: 8px 0 0; }
.text-link, .legal a { color: var(--accent-dark); text-decoration: underline; text-underline-offset: 3px; }
.text-button { background: transparent; color: var(--accent-dark); border: 0; padding: 6px; text-decoration: underline; border-radius: 6px; }
.text-button:hover { color: var(--accent-dark); background: #f6eee8; }
.icon-button { width: 44px; height: 44px; min-height: 44px; padding: 0; color: var(--ink); background: #f5eee8; border-radius: 50%; font-size: 26px; flex: none; }
.icon-button:hover { color: var(--ink); background: #eaded3; }
.secondary { background: #fff; color: var(--accent-dark); border-color: #d7b8a9; }
.secondary:hover { background: #f6e8de; color: var(--accent-dark); }
.cart-layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 24px; align-items: start; }
.cart-item { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; gap: 14px; background: #fff; border-bottom: 1px solid var(--line); padding: 18px; }
.cart-item:first-child { border-radius: 14px 14px 0 0; }
.cart-item:last-child { border-radius: 0 0 14px 14px; }
.cart-image img { width: 72px; height: 72px; object-fit: contain; border-radius: 8px; }
.cart-details > a { display: block; font-weight: 600; line-height: 1.4; overflow-wrap: anywhere; }
.cart-details small { display: block; color: var(--muted); margin: 4px 0 8px; }
.quantity-control { display: inline-flex; gap: 10px; align-items: center; margin-top: 10px; }
.quantity-control button { width: 40px; min-height: 40px; padding: 0; border-radius: 9px; border: 1px solid #cdbeb2; color: var(--ink); background: #fff; font-size: 20px; }
.quantity-control button:hover { background: #f6eee8; color: var(--ink); }
.remove-item { margin-left: 8px; font-size: 13px; }
.cart-price { white-space: nowrap; }
.cart-summary { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 22px; position: sticky; top: 90px; }
.cart-summary h2 { font-size: 22px; margin: 0 0 16px; }
.cart-totals > div { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; }
.cart-totals .total { font-size: 20px; border-top: 1px solid var(--line); }
.help-links { display: flex; flex-wrap: wrap; gap: 12px; margin: 18px 0; font-size: 14px; }
.help-links a:not(.btn) { color: var(--accent-dark); text-decoration: underline; }
.checkout { max-width: 640px; margin: 32px 0 0; padding: 24px; background: #fff; border: 1px solid var(--line); border-radius: 16px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.crypto { border-top: 1px solid var(--line); margin-top: 20px; padding-top: 20px; }
#pp { max-width: 460px; }
.empty-cart { max-width: 600px; padding: 40px 0; }
.empty-cart .text-link { display: block; margin-top: 20px; }
#dim { position: fixed; inset: 0; background: #0006; z-index: 50; }
#drawer { position: fixed; inset: 0 0 0 auto; width: min(440px, 94vw); height: 100dvh; overflow-y: auto; background: #fff; z-index: 51; padding: 20px; box-shadow: -4px 0 20px #0002; }
.drawer-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 14px; }
.drawer-heading h2 { margin: 0; font-size: 23px; }
#drawer .cart-item { padding: 14px 0; gap: 12px; grid-template-columns: 60px minmax(0, 1fr) auto; }
#drawer .cart-image img { width: 60px; height: 60px; }
#drawer .cart-details { font-size: 14px; }
#drawer .cart-price { font-size: 14px; }
#drawer .remove-item { display: block; margin: 0; padding-left: 0; }
#drawer > .btn { display: flex; margin-top: 12px; }
#drawer > .text-button { display: flex; margin: 10px auto; }
dialog { width: min(850px, 94vw); max-height: 94dvh; padding: 16px; border: 0; border-radius: 16px; background: #fff; }
dialog::backdrop { background: #0009; }
dialog .icon-button { display: flex; margin-left: auto; margin-bottom: 8px; }
#zoom-image { display: block; max-height: calc(94dvh - 84px); width: 100%; object-fit: contain; }
.legal { max-width: 720px; }
.legal h2 { margin-top: 30px; }
.legal form { max-width: 560px; }
.legal li { margin-bottom: 8px; }
.order-status, .case-card { padding: 18px; background: #fff; border: 1px solid var(--line); border-radius: 12px; margin: 18px 0; overflow-wrap: anywhere; }
.order-status h2 { font-size: 20px; }
.admin { max-width: 1050px; }
.admin-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin: 24px 0; }
.admin-order { background: #fff; border: 1px solid var(--line); padding: 24px; border-radius: 16px; margin: 24px 0; overflow-wrap: anywhere; scroll-margin-top: 150px; }
.admin-order-heading { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; }
.admin-order-heading h2 { font-size: 21px; }
.admin-index { max-width: none; }
.admin-list-heading { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-bottom: 12px; }
.admin-list-heading h1 { margin: 0; }
.admin-index .admin-actions { gap: 8px; margin: 18px 0; }
.admin-index .admin-actions form { margin: 0; }
.admin-index .admin-actions button, .admin-index .admin-actions .btn { font-size: 14px; padding: 10px 14px; }
.admin-index .admin-actions .admin-sort { display: flex; gap: 8px; align-items: center; margin-left: auto; min-width: 0; }
.admin-sort select { width: auto; min-width: 0; max-width: 100%; margin: 0; padding: 9px 12px; font-size: 14px; }
.admin-sort button { flex: none; }
@media (max-width: 700px) {
  .admin-index .admin-actions .admin-sort { width: 100%; margin-left: 0; }
  .admin-sort select { flex: 1; width: 0; font-size: 16px; }
}
.admin-order-table { width: 100%; table-layout: fixed; border-spacing: 0; border: 1px solid var(--line); border-radius: 14px; background: #fff; font-size: 14px; }
.admin-order-table th, .admin-order-table td { padding: 14px 12px; text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.admin-order-table th { background: #f6eee7; font-size: 13px; font-weight: 600; }
.admin-order-table th:first-child { width: 22%; border-radius: 14px 0 0; }
.admin-order-table th:nth-child(2) { width: 28%; }
.admin-order-table th:nth-child(3) { width: 12%; }
.admin-order-table th:nth-child(4), .admin-order-table th:nth-child(5) { width: 11%; }
.admin-order-table th:last-child { width: 16%; border-radius: 0 14px 0 0; }
.admin-order-table tbody tr + tr td { border-top: 1px solid var(--line); }
.admin-order-table tbody tr:target { background: var(--brand-soft); }
.admin-order-table time, .admin-order-table small { display: block; margin-top: 6px; color: var(--muted); font-size: 12px; }
.admin-order-table .test-data { margin: 6px 0 0; font-size: 11px; }
.admin-order-ref { color: var(--accent-dark); font-size: 13px; font-weight: 700; }
.admin-order-ref:hover { text-decoration: underline; }
.admin-item-summary { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; margin: 0; font-weight: 600; }
.admin-order-amount { font-size: 14px; }
.admin-status { display: inline-block; border-radius: 7px; padding: 4px 7px; background: #f5eee8; font-size: 12px; font-weight: 600; }
.admin-order-table .admin-attention { color: #9a3412; font-weight: 600; }
.admin-row-actions { display: flex; flex-direction: column; align-items: stretch; gap: 4px; }
.admin-row-actions .btn { padding: 10px 8px; border-radius: 9px; font-size: 13px; }
.admin-row-actions .text-link { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; font-size: 12px; text-align: center; }
.admin-settings { margin-top: 24px; }
.admin-order-empty { padding: 32px 20px; border: 1px solid var(--line); border-radius: 14px; background: #fff; text-align: center; }
.admin-detail-nav { display: flex; flex-wrap: wrap; gap: 10px; }
.admin-detail-nav .btn { font-size: 14px; }
@media (max-width: 850px) {
  .admin-order-table { display: block; border: 0; background: transparent; }
  .admin-order-table thead { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); }
  .admin-order-table tbody { display: block; }
  .admin-order-table tbody tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-bottom: 14px; padding: 16px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
  .admin-order-table tbody tr + tr td { border-top: 0; }
  .admin-order-table td { display: block; min-width: 0; padding: 0; }
  .admin-order-table td::before { content: attr(data-label); display: block; margin-bottom: 5px; color: var(--muted); font-size: 12px; font-weight: 400; }
  .admin-order-cell-0, .admin-order-cell-1, .admin-order-cell-5 { grid-column: 1 / -1; }
  .admin-order-table .admin-order-cell-5::before { display: none; }
  .admin-row-actions { flex-direction: row; align-items: stretch; gap: 10px; }
  .admin-row-actions a { flex: 1; }
}
@media (min-width: 360px) and (max-width: 850px) {
  .admin-order-table tbody tr { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.ops-page { overflow-wrap: anywhere; }
.ops-page h2 { margin-top: 32px; }
.ops-page h3 { font-size: 18px; }
.ops-banner { background: var(--warm, #fff5e6); border-left: 3px solid var(--accent, #bf4935); padding: 14px; }
.ops-metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 205px), 1fr)); gap: 12px; margin: 20px 0; }
.ops-metrics > div { padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.ops-metrics span, .ops-metrics strong { display: block; }
.ops-metrics span { font-size: 13px; color: var(--muted); }
.ops-metrics strong { font-size: 21px; margin-top: 6px; }
.ops-page .ops-form { max-width: 650px; margin: 20px 0; }
.ops-form fieldset { min-width: 0; border: 1px solid var(--line); border-radius: 8px; padding: 14px; margin: 16px 0; }
.ops-fields, .ops-filter { display: flex; flex-wrap: wrap; gap: 14px; align-items: end; }
.ops-fields > label, .ops-filter > label { flex: 1 1 200px; min-width: 0; }
.ops-table { max-width: 100%; overflow: auto; margin: 20px 0; }
.ops-table table { min-width: 800px; margin: 0; }
.ops-table .spec-table th { width: auto; min-width: 85px; }
.ops-table .spec-table th:first-child { min-width: 210px; }
.ops-table .spec-table td { min-width: 85px; }
.ops-table small { display: block; max-width: 260px; overflow-wrap: anywhere; font-weight: normal; margin-top: 5px; }
.ops-page input[type="checkbox"] { width: auto; }
.ops-parcels > li { padding: 12px 0; border-bottom: 1px solid var(--line); }
.tag.test-data { display: inline-block; white-space: nowrap; background: #fff0c2; color: #774600; border: 1px solid #dcb64d; font-weight: 700; margin: 6px; }
.admin-header nav { gap: 16px; }
#procurement-settings input[type="checkbox"] { width: auto; }
.admin-order form { max-width: 600px; margin: 16px 0 24px; }
.tag { color: #79452e; background: #f4e1d4; border-radius: 20px; padding: 5px 12px; }
.check-label { font-size: 14px; margin: 14px 0; }
footer { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 20px; padding: 30px 5vw; border-top: 1px solid var(--line); color: var(--muted); font-size: 13px; }
footer a { color: var(--accent-dark); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.mobile-purchase-bar { display: none; }
@media (max-width: 850px) {
  .site-header { grid-template-columns: 1fr auto; gap: 8px 12px; padding: 10px 5vw 6px; }
  .site-header .logo { grid-column: 1; grid-row: 1; }
  .site-header .cart { grid-column: 2; grid-row: 1; }
  .site-header nav { grid-column: 1 / -1; grid-row: 2; justify-content: flex-start; overflow-x: auto; gap: 24px; flex-wrap: nowrap; font-size: 14px; }
  .site-header nav a { flex: none; }
  .cart-layout { grid-template-columns: 1fr; }
  .cart-summary { position: static; }
}
@media (max-width: 700px) {
  body.has-mobile-bar { padding-bottom: 90px; }
  .mobile-purchase-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 15; background: #fff; border-top: 1px solid var(--line); padding: 10px 5vw max(10px, env(safe-area-inset-bottom)); }
  .mobile-purchase-bar > span { flex: 1; min-width: 0; font-weight: 700; color: var(--accent-dark); }
  .mobile-purchase-bar small { display: block; font-size: 11px; font-weight: 400; color: var(--muted); }
  .mobile-purchase-bar button { flex: none; white-space: nowrap; border-radius: 12px; }
  main { padding: 22px 5vw 32px; }
  .logo { font-size: 22px; }
  .logo img { width: 28px; height: 28px; }
  .cart { font-size: 14px; padding: 8px 14px; }
  .purchase-notice { padding: 10px 5vw; font-size: 12px; text-align: left; }
  .hero { grid-template-columns: 1fr; padding: 24px; gap: 16px; }
  .hero img { display: none; }
  .hero h1 { font-size: 32px; }
  .cats { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .cats a:last-child { grid-column: 1 / -1; }
  .cats a { padding: 12px; font-size: 14px; }
  .catalog-controls { grid-template-columns: minmax(0, 1fr) 145px; gap: 10px; font-size: 13px; }
  .catalog-controls select, .catalog-controls input { font-size: 14px; }
  .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .card > div { padding: 10px; }
  .card h3 { font-size: 14px; }
  .card .price { font-size: 18px; }
  .pd { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .info h1 { font-size: 25px; }
  .trust { grid-template-columns: 1fr; }
  .cart-item { grid-template-columns: 64px minmax(0, 1fr); gap: 12px; padding: 16px 12px; }
  .cart-image img { width: 64px; height: 64px; }
  .cart-price { grid-column: 2; font-size: 17px; margin-top: -6px; }
  .cart-summary { padding: 18px; }
  .quantity-control button { width: 44px; height: 44px; }
  #drawer { padding: 18px; }
  #drawer .cart-item { grid-template-columns: 52px minmax(0, 1fr); }
  #drawer .cart-price { grid-column: 2; margin: 0; font-size: 16px; }
  #drawer .cart-image img { width: 52px; height: 52px; }
  #drawer .remove-item { display: inline-block; margin-left: 8px; }
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .checkout { padding: 18px; }
  .admin-order { padding: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; scroll-behavior: auto !important; }
}

/* ---- visual refresh: icons, orange brand ---- */
.i{flex:none;vertical-align:middle}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
.site-header{box-shadow:0 1px 0 var(--line),0 6px 20px -18px #c2410c55}
.site-header nav a{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:var(--muted);font-weight:600;font-size:15px;padding:8px 10px;border-radius:99px}
.site-header nav a .i{color:var(--brand)}
.site-header nav a:hover{background:var(--brand-soft);color:var(--accent-dark)}
.head-actions{display:flex;align-items:center;gap:8px}
.icon-link{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;border-radius:50%;color:var(--ink);border:1px solid var(--line);background:#fff}
.icon-link:hover{background:var(--brand-soft);color:var(--accent)}
.cart{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:9px 14px 9px 14px}
.cart b{background:#fff;color:var(--accent);min-width:22px;height:22px;border-radius:99px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;padding:0 6px}
.purchase-notice{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--brand-soft);color:#7c2d12;font-weight:600}
.purchase-notice .i{color:var(--brand)}
.hero{background:radial-gradient(120% 140% at 0% 0%,#ffe2cc 0%,#fff3ea 45%,#fff 100%)!important;border:1px solid #ffd9bf;border-radius:24px}
.hero h1{font-size:clamp(32px,5vw,54px);letter-spacing:-.02em;margin:.2em 0 .3em}
.hero h1 span{color:var(--brand)}
.hero .eyebrow{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #ffd9bf;color:var(--accent);padding:5px 12px;border-radius:99px;text-transform:none;letter-spacing:0;font-size:13px}
.hero .btn{gap:8px;padding:13px 24px;font-size:16px;box-shadow:0 8px 20px -10px #c2410c}
.hero-trust{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-wrap:wrap;gap:10px 18px;font-size:14px;font-weight:600;color:var(--ink)}
.hero-trust li{display:inline-flex;align-items:center;gap:6px}.hero-trust .i{color:var(--brand)}
.hero img{border-radius:20px;box-shadow:0 20px 40px -24px #7c2d1288}
.cats{gap:12px!important}
.cats a{display:flex!important;flex-direction:column;align-items:center;gap:8px;padding:16px 8px!important;border-radius:18px!important;border:1px solid var(--line);background:#fff;font-weight:600;transition:transform .15s,box-shadow .15s}
.cats a:hover{transform:translateY(-2px);box-shadow:0 10px 24px -16px #c2410c88;color:var(--accent-dark)}
.cat-ic{display:inline-flex;width:52px;height:52px;align-items:center;justify-content:center;border-radius:16px;background:var(--brand-soft);color:var(--brand)}
.cat-head{display:flex;align-items:center;gap:14px;margin-bottom:8px}.cat-head h1{margin:0}
#catalog h2{display:flex;align-items:center;gap:10px}#catalog h2 .i{color:var(--brand)}
.search-field{position:relative;font-weight:400}.search-field .i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted);margin-top:-2px}
.search-field input{padding-left:42px;border-radius:99px}
.card{border-radius:18px!important;border:1px solid var(--line)!important;overflow:hidden;background:#fff;transition:transform .15s,box-shadow .15s}
.card:hover{transform:translateY(-3px);box-shadow:0 16px 32px -20px #7c2d1288}
.card-img{position:relative;display:block;background:#fff}
.card-img img{display:block;width:100%;aspect-ratio:1;object-fit:cover}
.badge{position:absolute;top:10px;left:10px;display:inline-flex;align-items:center;gap:4px;background:#fff;color:var(--accent);font-size:12px;font-weight:700;padding:4px 9px;border-radius:99px;box-shadow:0 2px 8px #0001}
.card h3{font-size:15px;font-weight:600;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.7em}
.card .price{color:var(--ink)!important;font-size:19px;font-weight:800;margin:4px 0}
.fs{display:inline-flex;align-items:center;gap:4px;color:#15803d;background:#ecfdf3;border-radius:99px;padding:2px 9px;font-size:12px;font-weight:600}
.trust{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.trust li{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-size:14px;font-weight:600}
.trust li a{display:flex;align-items:center;gap:8px}.trust .i{color:var(--brand)}
.rows{list-style:none;padding:0;margin:8px 0}.rows li{display:flex;align-items:center;gap:8px;padding:5px 0}.rows .i{color:var(--brand)}
.help{max-width:520px;margin:0 auto;text-align:left}
.help-ic{display:inline-flex;width:64px;height:64px;align-items:center;justify-content:center;border-radius:20px;background:var(--brand-soft);color:var(--brand)}
.steps{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.steps li{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line);border-radius:99px;padding:6px 12px;font-size:14px;font-weight:600}.steps .i{color:var(--brand)}
footer{display:block!important;background:#1f1a17!important;color:#e9dfd6!important;padding:28px 5vw!important;text-align:center}
footer a{color:#e9dfd6}footer a:hover{color:#fff}
.foot-trust{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 28px;padding-bottom:18px;border-bottom:1px solid #3a322d;margin-bottom:16px;font-weight:600}
.foot-trust span,.foot-links a{display:inline-flex;align-items:center;gap:7px}.foot-trust .i{color:var(--brand)}
.foot-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 22px;font-size:14px}.foot-links .i{opacity:.8}
.copy{margin:14px 0 0;font-size:13px;opacity:.7}
@media(max-width:720px){.cart-label{display:none}.cats{grid-template-columns:repeat(3,1fr)!important}.cats a{font-size:13px}.cat-ic{width:44px;height:44px}.hero-trust{gap:8px 14px;font-size:13px}.trust{grid-template-columns:1fr}.site-header nav a .i{display:none}}
.search-field input{margin:0}.search-field .i{margin-top:0}
.catalog-controls{align-items:end}
@media(max-width:720px){.cats{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px}.cats a{flex:0 0 96px;scroll-snap-align:start;grid-column:auto!important}}
/* ---- layout polish pass ---- */
.catalog-controls{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:12px;align-items:center;margin:22px 0 4px}
.catalog-controls label{margin:0;font-weight:400}
.search-field,.sort-field{position:relative;display:block}
.search-field .i,.sort-field .i{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none;margin:0}
.catalog-controls input,.catalog-controls select{height:44px;min-height:44px;margin:0;padding:0 16px 0 42px;border-radius:99px;border:1px solid #dccfc3;background-color:#fff;font-size:15px;line-height:44px}
.catalog-controls select{appearance:none;-webkit-appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b625d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px}
.catalog-controls input:focus,.catalog-controls select:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px #ff6a0c33}
#filter-status:empty{display:none}
.ic-row{display:inline-flex;align-items:center;gap:6px}
.ic-title{display:flex;align-items:center;gap:10px}.ic-title .i,.drawer-heading h2 .i{color:var(--brand)}
.drawer-heading h2{display:flex;align-items:center;gap:8px}
.icon-button{width:44px;height:44px;min-height:44px;padding:0;border-radius:50%;background:var(--brand-soft);color:var(--ink)}
.icon-button:hover{background:#ffe2cc;color:var(--accent-dark)}
.remove-item{display:inline-flex!important;align-items:center;gap:4px}
.drawer-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:28px 0;color:var(--muted)}.drawer-empty .i{color:var(--brand)}
.cart-totals .ic-row .i{color:var(--brand)}
.empty-cart{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:40px 0}.empty-cart h1,.empty-cart p{margin:0}
.cart-summary,.cart-item{border-color:var(--line)}
.grid{align-items:stretch}.card{display:flex;flex-direction:column;height:100%}.card>div{flex:1;display:flex;flex-direction:column}.card .fs{margin-top:auto;align-self:flex-start}
.card h3{margin:0 0 8px}
.site-header{grid-template-columns:auto minmax(0,1fr) auto}
.site-header nav{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:4px}.site-header nav::-webkit-scrollbar{display:none}
.legal{margin-left:auto;margin-right:auto}
.purchase-notice .i{display:inline-block}
@media(max-width:1100px){.site-header nav a .i{display:none}.site-header{gap:12px}}
@media(max-width:720px){.catalog-controls{grid-template-columns:1fr;gap:10px}.catalog-controls input,.catalog-controls select{font-size:16px}}
#product-image{height:auto}
.head-actions{justify-self:end}
.del{background:#fff;border:1px solid var(--line);border-radius:16px}
.soon{background:var(--brand-soft);border-color:#ffd9bf;border-radius:16px}
.pd select,.pd input,.legal input,.legal select,.checkout input,.checkout select{height:44px;border-radius:12px;border-color:#dccfc3}
.legal textarea{border-radius:12px}
.purchase-row{align-items:end}.purchase-row .buy,.purchase-row input{height:44px;min-height:44px;margin:0}
.quantity-control button{width:44px;height:44px;min-height:44px;padding:0;border-radius:10px}
.pd .price{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
@media(max-width:900px){.trust{grid-template-columns:1fr}}
@media(max-width:850px){.site-header{grid-template-columns:auto auto}.site-header nav{grid-column:1/-1;justify-content:flex-start}}
/* ---- Christmas theme ---- */
.hero.xmas{position:relative;overflow:hidden}
.hero.xmas .snow{position:absolute;inset:0;pointer-events:none;opacity:.55;background-image:radial-gradient(circle,#ffb27a 1.5px,transparent 2px),radial-gradient(circle,#ffd3b0 2px,transparent 2.5px);background-size:46px 46px,80px 80px;background-position:0 0,23px 30px;mask-image:linear-gradient(90deg,transparent 0,#000 60%)}
.hero.xmas>*{position:relative}
.order-by{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid #ffd9bf;border-left:5px solid var(--brand);border-radius:16px;padding:14px 18px;margin:0 0 18px}
.order-by>.i{color:var(--brand);margin-top:2px}
.order-by strong{display:block;font-size:17px}
.order-by ul{list-style:none;padding:0;margin:6px 0;display:flex;flex-wrap:wrap;gap:4px 18px;font-size:14px}
.order-by li{display:inline-flex;align-items:center;gap:6px}.order-by li .i{color:var(--brand)}
.order-by small{color:var(--muted);font-size:12.5px}.order-by small a{text-decoration:underline}
.cats{grid-template-columns:repeat(3,1fr)!important}
@media(max-width:720px){.cats{display:grid!important;overflow:visible}.cats a{flex:none;font-size:13px}.order-by{padding:12px 14px}}

/* Specs + size chart */
.spec-table,.sc-table{width:100%;border-collapse:collapse;font-size:14px}
.spec-table th,.spec-table td{padding:7px 8px;border-bottom:1px solid #f1e4d8;text-align:left;vertical-align:top}
.spec-table th{width:38%;color:#7a5a43;font-weight:600}
.sc-wrap{overflow-x:auto;border:1px solid #f3d3b8;border-radius:12px}
.sc-table th,.sc-table td{padding:8px 10px;text-align:center;border-bottom:1px solid #f6e5d6;white-space:nowrap}
.sc-table thead th{background:var(--brand,#f97316);color:#fff;font-weight:700}
.sc-table tbody th{background:#fff4ea;color:#9a3d06}
.sc-table small{display:block;color:#8a7768;font-size:12px}
.measure{display:flex;gap:10px;margin-top:12px;padding:12px;background:#fff7ef;border-radius:12px;font-size:14px}
.measure svg{flex:none;color:var(--brand,#f97316);margin-top:2px}
.measure ul{margin:6px 0;padding-left:18px}.measure p{margin:0}

/* Keep all storefront categories visible on narrow screens. */
@media (max-width: 720px) {
  .site-header:not(.admin-header) nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; overflow: visible; }
  .site-header:not(.admin-header) nav a { justify-content: center; white-space: normal; text-align: center; font-size: 13px; line-height: 1.25; padding: 6px 4px; }
}
@media (max-width: 360px) {
  .site-header { column-gap: 8px; }
  .logo { font-size: 20px; }
  .mobile-purchase-bar button { font-size: 14px; padding: 11px 14px; }
}

/* Give short landscape viewports enough room to browse and fill forms. */
@media (max-height: 500px) and (orientation: landscape) {
  html { scroll-padding-top: 16px; }
  .site-header, .cart-summary { position: static; }
  .mobile-purchase-bar { display: none; }
  body.has-mobile-bar { padding-bottom: 0; }
  .admin-order { scroll-margin-top: 16px; }
}
