body {
  font-family: "Segoe UI", Arial, sans-serif;
  text-rendering: optimizeLegibility;
}

.catalog-watermark,
.catalog-watermark img,
.product-photo-wrap:after,
.product-card:after,
.product-grid:before {
  pointer-events: none;
}

.catalog h1,
.product-body h3,
.price {
  font-family: "Arial Narrow", "Roboto Condensed", Arial, sans-serif;
  font-stretch: condensed;
}

.catalog:after {
  content: "TÖR  ·  МУЖСКОЙ УХОД  ·  TÖR  ·  МУЖСКОЙ УХОД";
}

.catalog-heading {
  padding-top: 8px;
}

.category-chips {
  padding-top: 24px;
}

.chip,
.field,
.direct-order {
  border-radius: 2px;
}

.field {
  transition: border-color .2s, background-color .2s;
}

.field:hover {
  background: #101010;
  border-color: #55452e;
}

.product-grid {
  background-color: #17140f;
  background-image:
    radial-gradient(circle at 10% 0, #3b3020 0, transparent 34%),
    radial-gradient(circle at 90% 100%, #29231a 0, transparent 32%),
    linear-gradient(135deg, #14120f, #282118 52%, #11100d);
  border-color: #6f5732;
  box-shadow: inset 0 1px #c39a5745, 0 24px 70px #000a;
}

.product-card {
  overflow: hidden;
  border: 1px solid #cfc2aa;
  box-shadow: 0 10px 28px #120b0770;
}

.product-photo-wrap {
  background:
    radial-gradient(ellipse at 50% 82%, #d8cdbb70 0, transparent 34%),
    linear-gradient(145deg, #fffefa, #f0ece3);
}

.product-body { background: #f0eadc; }
.product-body .muted { color: #665b4d; }
.product-meta { border-top-color: #c8baa2; }

.chip:hover,
.chip.active {
  background: #c39a52;
  border-color: #c39a52;
}

.product-image {
  padding: 14px;
  filter: drop-shadow(0 15px 12px #22170d25);
}

.product-card:hover .product-image {
  transform: scale(1.055);
}

.product-body {
  position: relative;
}

.product-body h3 {
  font-weight: 900;
}

.product-meta {
  min-height: 42px;
}

.price {
  font-size: 18px;
  font-weight: 900;
}

.price-stack { display: grid; gap: 3px; }
.price-stack .price { margin: 0; }
.price-stack span { color: #87642f; font-size: 9px; font-weight: 800; }
.price-stack .price-caption { color: #786d5e; font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }
.price-stack .barber-price { margin-top: 2px; color: #527139; }
.price-stack .barber-price b { color: #3f5e2a; font-size: 11px; }

.quantity-control { display: grid; grid-template-columns: 36px 52px 36px auto; align-items: center; gap: 4px; margin-top: 12px; }
.quantity-control[hidden] { display: none; }
.quantity-control button,
.quantity-control input { height: 36px; border: 1px solid #b9aa91; background: #faf7ef; color: #17110c; text-align: center; font-weight: 900; }
.quantity-control button { cursor: pointer; font-size: 18px; }
.quantity-control input { width: 52px; padding: 0; appearance: textfield; }
.quantity-control input::-webkit-inner-spin-button { appearance: none; }
.quantity-control span { margin-left: 3px; color: #6c5f4e; font-size: 10px; }

.direct-order {
  position: relative;
  overflow: hidden;
  transition: background-color .2s, color .2s, transform .2s;
  background: #17130f;
  border-color: #17130f;
  color: #f0ca7e;
}

.direct-order:hover {
  background: #c39a52;
  border-color: #c39a52;
  color: #0b0906;
}

.direct-order.selected {
  background: #c39a52;
  border-color: #c39a52;
  color: #0b0906;
}

.product-card:has(.direct-order.selected) {
  border-color: #c39a52;
  box-shadow: 0 0 0 2px #c39a52, 0 16px 34px #0009;
}

.cart-bar {
  position: fixed;
  z-index: 50;
  right: 24px;
  bottom: 24px;
  left: 24px;
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 12px;
  width: min(920px, calc(100% - 48px));
  min-height: 76px;
  margin: auto;
  padding: 12px 14px 12px 20px;
  border: 1px solid #8d6a38;
  background: #0d0c0aee;
  color: #f7f4ed;
  box-shadow: 0 18px 60px #000c;
  backdrop-filter: blur(14px);
}

.cart-bar[hidden] { display: none; }
.cart-bar.is-wholesale { border-color: #c39a52; box-shadow: 0 0 0 1px #c39a5240, 0 18px 60px #000c; }
.cart-bar.is-wholesale [data-cart-mode] { color: #f0ca7e; }
.cart-open { display: grid; gap: 4px; padding: 0; border: 0; background: transparent; color: inherit; text-align: left; cursor: pointer; }
.cart-open>span { color: #c39a52; font-size: 9px; font-weight: 900; letter-spacing: .18em; text-transform: uppercase; }
.cart-open strong { font-size: 17px; }
.cart-open small { color: #a9c684; font-size: 11px; font-weight: 800; }
.cart-open small b { color: #cbe99d; }
.cart-summary { display: grid; gap: 4px; }
.cart-summary span { color: #c39a52; font-size: 9px; font-weight: 900; letter-spacing: .18em; text-transform: uppercase; }
.cart-summary strong { font-size: 17px; }
.cart-summary b { color: #f0ca7e; }
.cart-clear,
.cart-send { height: 48px; padding: 0 18px; border: 1px solid #4b4337; font-size: 10px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.cart-clear { background: transparent; color: #bdb5a8; }
.cart-clear:hover { border-color: #8f8372; color: #fff; }
.cart-send { border-color: #c39a52; background: #c39a52; color: #0b0906; }
.cart-send:hover { border-color: #f1d290; background: #f1d290; }
.cart-send i { display: none; font-style: normal; }
.has-cart .site-footer { padding-bottom: 96px; }

.shopping-tools { display: flex; align-items: center; gap: 12px; margin: -18px 0 30px; color: #807b73; font-size: 10px; }
.shopping-tools>span { margin-right: auto; letter-spacing: .08em; text-transform: uppercase; }
.shopping-tools>span b { color: #c39a52; }
.shopping-tools label { display: flex; align-items: center; gap: 8px; }
.shopping-tools select,
.shopping-tools button { height: 36px; border: 1px solid #34312c; background: #0b0b0a; color: #ccc5b9; padding: 0 10px; font-size: 10px; cursor: pointer; }
.shopping-tools button:hover,
.shopping-tools select:hover { border-color: #76613d; color: #fff; }

.catalog-empty { margin: 32px 0; padding: 70px 24px; border: 1px solid #3a3124; background: #0b0a08; text-align: center; }
.catalog-empty[hidden] { display: none; }
.catalog-empty b,.catalog-empty span { display: block; }
.catalog-empty b { font-size: 25px; text-transform: uppercase; }
.catalog-empty span { margin: 8px 0 22px; color: #888178; }
.catalog-empty button { height: 42px; border: 1px solid #c39a52; background: #c39a52; color: #0b0906; padding: 0 18px; font-weight: 900; cursor: pointer; }

.cart-overlay { position: fixed; z-index: 80; inset: 0; background: #000b; backdrop-filter: blur(5px); }
.cart-overlay[hidden] { display: none; }
.cart-opened { overflow: hidden; }
.cart-drawer { position: absolute; top: 0; right: 0; display: grid; grid-template-rows: auto auto 1fr auto; width: min(520px,100%); height: 100%; background: #f1ebdd; color: #17110c; box-shadow: -30px 0 80px #000b; }
.cart-drawer-head { display: flex; justify-content: space-between; align-items: center; padding: 22px 24px; border-bottom: 1px solid #cbbda5; }
.cart-drawer-head span { color: #88642e; font-size: 9px; font-weight: 900; letter-spacing: .18em; text-transform: uppercase; }
.cart-drawer-head h2 { margin: 4px 0 0; font: 900 30px/1 "Arial Narrow",Arial,sans-serif; text-transform: uppercase; }
.cart-close { width: 42px; height: 42px; border: 1px solid #b9aa91; background: transparent; color: #17110c; font-size: 26px; cursor: pointer; }
.drawer-clear { margin-left: auto; height: 42px; border: 1px solid #b9aa91; background: transparent; color: #6f604c; padding: 0 12px; font-size: 9px; font-weight: 900; text-transform: uppercase; cursor: pointer; }
.drawer-clear:hover { border-color: #8a6b3d; color: #17110c; }
.wholesale-progress { padding: 16px 24px; border-bottom: 1px solid #d0c4af; background: #e8dfcd; }
.wholesale-progress>div { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 9px; font-size: 11px; }
.wholesale-progress b { color: #8b622a; }
.wholesale-progress i { display: block; height: 6px; overflow: hidden; background: #c9bda8; }
.wholesale-progress em { display: block; width: 0; height: 100%; background: #9d7235; transition: width .25s; }
.wholesale-progress.complete { background: #dfcda7; }
.wholesale-progress.complete em { background: #6d4a1d; }
.cart-items { overflow: auto; padding: 10px 24px 30px; }
.cart-item { position: relative; display: grid; grid-template-columns: 82px 1fr 28px; gap: 13px; padding: 14px 0; border-bottom: 1px solid #cfc1aa; }
.cart-item>img { width: 82px; height: 82px; object-fit: contain; background: #fbf8f1; }
.cart-item-info { min-width: 0; }
.cart-item-info>b { display: block; padding-right: 4px; font-size: 13px; text-transform: uppercase; }
.cart-item-info>span { display: block; margin-top: 4px; color: #7c633e; font-size: 10px; }
.cart-item-info>span { line-height: 1.5; }
.cart-item-qty { display: grid; grid-template-columns: 30px 42px 30px 1fr; align-items: center; gap: 3px; margin-top: 11px; }
.cart-item-qty button,.cart-item-qty input { width: 100%; height: 30px; border: 1px solid #a99779; background: #fffaf0; color: #17110c; font-size: 15px; font-weight: 900; text-align: center; opacity: 1; -webkit-text-fill-color: #17110c; }
.cart-item-qty button { cursor: pointer; }
.cart-item-qty input { appearance: textfield; -moz-appearance: textfield; padding: 0 3px; }
.cart-item-qty input::-webkit-inner-spin-button,
.cart-item-qty input::-webkit-outer-spin-button { margin: 0; -webkit-appearance: none; }
.cart-item-qty input:focus { border-color: #17110c; outline: 2px solid #c39a5266; outline-offset: 1px; }
.cart-item-qty small { justify-self: end; font-weight: 900; }
.cart-item-remove { width: 28px; height: 28px; border: 0; background: transparent; color: #8b7b66; font-size: 22px; cursor: pointer; }
.cart-empty { padding: 70px 0; color: #766d61; text-align: center; }
.cart-drawer-total { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 16px; padding: 18px 24px; border-top: 1px solid #c1b195; background: #e8dfce; }
.cart-drawer-total>div { display: grid; gap: 3px; }
.cart-drawer-total span { color: #78572c; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.cart-drawer-total strong { font-size: 22px; }
.cart-drawer-total small { color: #5e7b47; font-weight: 800; }
.drawer-send { height: 50px; border: 1px solid #17130f; background: #17130f; color: #f0ca7e; padding: 0 17px; font-size: 10px; font-weight: 900; text-transform: uppercase; cursor: pointer; }
.drawer-send:hover { background: #c39a52; color: #0b0906; }
.shop-toast { position: fixed; z-index: 100; top: 20px; left: 50%; transform: translateX(-50%); padding: 12px 18px; border: 1px solid #866735; background: #11100e; color: #f2d28f; box-shadow: 0 12px 35px #000b; font-size: 11px; font-weight: 800; }
.shop-toast[hidden] { display: none; }

.direct-order:active {
  transform: translateY(1px);
}

/* Production footer: compact, balanced and easy to use on touch screens. */
.footer-inner {
  grid-template-columns: 1fr auto;
}
.footer-inner small {
  color: #77716a;
  font-size: 9px;
  letter-spacing: .08em;
}
.footer-actions {
  display: flex !important;
  align-items: flex-end;
  justify-self: end;
  gap: 8px !important;
}
.footer-actions a {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #50493e;
  padding: 0 14px;
  color: #d1b16f;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .08em;
  text-decoration: none;
  text-transform: uppercase;
  transition: border-color .2s, background .2s, color .2s;
}
.footer-actions a:hover,
.footer-actions a:focus-visible {
  border-color: #c39a52;
  background: #c39a52;
  color: #0b0906;
}

@media (max-width: 800px) {
  .catalog-heading { padding-bottom: 28px; }
  .filters { margin-bottom: 22px; }
  .shopping-tools { margin-top: -12px; }
  .footer-inner { grid-template-columns: 1fr auto; gap: 18px; padding-block: 24px; }
  .footer-inner>img { display: none; }
  .footer-actions { align-items: stretch; }
}

@media (min-width: 600px) and (max-width: 800px) {
  .product-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .product-photo-wrap { height: clamp(180px,32vw,250px); }
  .product-body { padding: 16px; }
  .product-body h3 { font-size: 17px; }
}

@media (max-width: 480px) {
  .catalog { padding-bottom: 64px; }
  .catalog h1 { max-width: 360px; font-size: 38px; line-height: .94; }
  .category-chips { margin-right: -11px; padding-bottom: 10px; }
  .filters { gap: 7px; }
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 7px; gap: 7px; }
  .product-grid:before { inset: 2px; }
  .product-card { box-shadow: 0 6px 16px #120b0755; }
  .product-photo-wrap { height: 190px; }
  .product-image { padding: 10px; }
  .product-body { padding: 12px; }
  .product-body h3 { min-height: 34px; margin-top: 7px; font-size: 14px; line-height: 1.1; }
  .product-body .muted { min-height: 26px; font-size: 9px; line-height: 1.25; }
  .product-meta { min-height: 58px; align-items: flex-start; flex-direction: column; margin-top: 11px; padding-top: 11px; }
  .price { font-size: 15px; }
  .price-stack span { font-size: 8px; }
  .stock { font-size: 9px; }
  .quantity-control { grid-template-columns: 30px 42px 30px auto; gap: 3px; margin-top: 9px; }
  .quantity-control button,
  .quantity-control input { height: 32px; }
  .quantity-control input { width: 42px; }
  .chip { min-height: 44px; }
  .direct-order { height: 44px; margin-top: 10px; padding: 0 4px; font-size: 8px; letter-spacing: .015em; white-space: nowrap; }
  .cart-bar { right: 8px; bottom: max(8px,env(safe-area-inset-bottom)); left: 8px; grid-template-columns: minmax(0,1fr) auto auto; gap: 6px; width: calc(100% - 16px); min-height: 68px; padding: 9px 9px 9px 13px; }
  .cart-open strong { font-size: 13px; }
  .cart-clear { display: block; height: 46px; padding: 0 8px; font-size: 8px; }
  .cart-send { height: 46px; min-width: 94px; padding: 0 11px; font-size: 9px; }
  .cart-send span { display: none; }
  .cart-send i { display: inline; }
  .shopping-tools { position: sticky; z-index: 12; top: 0; display: grid; grid-template-columns: 1fr auto; margin: -10px -11px 20px; padding: 9px 11px; border-block: 1px solid #2d2923; background: #050505f2; backdrop-filter: blur(12px); }
  .shopping-tools>span { display: none; }
  .shopping-tools label { font-size: 0; }
  .shopping-tools select { width: 100%; }
  .shopping-tools button { padding: 0 9px; }
  .cart-drawer-head { padding: 17px 16px; }
  .wholesale-progress { padding: 14px 16px; }
  .cart-items { padding: 8px 16px 24px; }
  .cart-item { grid-template-columns: 68px 1fr 25px; gap: 10px; }
  .cart-item>img { width: 68px; height: 68px; }
  .cart-item-qty { grid-template-columns: 40px 52px 40px 1fr; }
  .cart-item-qty button,.cart-item-qty input { height: 40px; }
  .cart-drawer-total { grid-template-columns: 1fr; gap: 10px; padding: 13px 16px max(13px,env(safe-area-inset-bottom)); }
  .drawer-send { width: 100%; }
  .footer-inner { grid-template-columns: 1fr; min-height: 0; }
  .footer-actions { width: 100%; justify-self: stretch; }
  .footer-actions a { flex: 1; padding-inline: 8px; }
}

@media (max-width: 350px) {
  .container { width: calc(100% - 14px); }
  .catalog h1 { font-size: 33px; }
  .product-grid { padding: 5px; gap: 5px; }
  .product-photo-wrap { height: 162px; }
  .product-body { padding: 10px; }
  .product-body h3 { font-size: 13px; }
  .product-body .muted { min-height: 24px; }
  .price { font-size: 14px; }
  .price-stack span { font-size: 7px; }
  .quantity-control { grid-template-columns: 27px 36px 27px auto; gap: 3px; }
  .quantity-control input { width: 36px; }
  .cart-bar { right: 5px; left: 5px; width: calc(100% - 10px); padding-left: 10px; }
  .cart-open>span { font-size: 8px; letter-spacing: .08em; }
  .cart-open strong { font-size: 12px; }
  .cart-send { min-width: 88px; padding-inline: 8px; }
}
