:root {
  --brand: #df0015;
  --brand-dark: #b50012;
  --brand-deep: #8f0010;
  --brand-soft: #fff1f2;
  --brand-soft-2: #fff7f7;
  --ink: #161a1d;
  --ink-2: #272c31;
  --muted: #6f747b;
  --muted-2: #92979e;
  --paper: #ffffff;
  --bg: #f5f6f7;
  --bg-soft: #fafafa;
  --line: #e5e7ea;
  --line-strong: #d4d7dc;
  --success: #168346;
  --success-soft: #eaf8ef;
  --warning: #9b6500;
  --warning-soft: #fff6dc;
  --info: #1c64a8;
  --info-soft: #eef6ff;
  --danger: #a91d2a;
  --danger-soft: #fff0f2;
  --radius-xs: 7px;
  --radius-sm: 10px;
  --radius: 16px;
  --radius-lg: 24px;
  --shadow-sm: 0 5px 18px rgba(21, 24, 28, .06);
  --shadow: 0 14px 42px rgba(21, 24, 28, .09);
  --shadow-lg: 0 25px 70px rgba(21, 24, 28, .16);
  --container: 1460px;
  --header-height: 106px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 120px; }
body {
  min-width: 320px;
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font: 15px/1.5 Inter, "Segoe UI", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.menu-open, body.filters-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: var(--brand); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
input, select, textarea {
  width: 100%;
  min-height: 46px;
  padding: 10px 13px;
  color: var(--ink);
  background: #fff;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-sm);
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
textarea { min-height: 110px; resize: vertical; }
input:focus, select:focus, textarea:focus {
  outline: 0;
  border-color: var(--brand);
  box-shadow: 0 0 0 3px rgba(223, 0, 21, .09);
}
input[type="checkbox"], input[type="radio"] {
  width: 18px;
  height: 18px;
  min-height: 0;
  margin: 0;
  padding: 0;
  accent-color: var(--brand);
  flex: 0 0 auto;
}
input[type="file"] { padding: 9px; }
label { display: grid; gap: 7px; min-width: 0; font-weight: 700; }
label small, .form-hint { color: var(--muted); font-size: 12px; font-weight: 500; }
fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
hr { margin: 25px 0; border: 0; border-top: 1px solid var(--line); }
h1, h2, h3, h4 { margin-top: 0; letter-spacing: -.025em; }
h1 { margin-bottom: 18px; font-size: clamp(30px, 3vw, 46px); line-height: 1.08; }
h2 { margin-bottom: 16px; font-size: clamp(24px, 2.2vw, 34px); line-height: 1.17; }
h3 { margin-bottom: 11px; font-size: 19px; line-height: 1.25; }
p { margin: 0 0 16px; }
ul, ol { padding-left: 22px; }
code, pre { font-family: "SFMono-Regular", Consolas, monospace; }
code { padding: 2px 6px; background: #f1f2f4; border: 1px solid var(--line); border-radius: 6px; }
pre { overflow: auto; padding: 16px; background: #171a1e; color: #fff; border-radius: 12px; }

.container { width: min(100%, var(--container)); margin-inline: auto; padding-inline: 24px; }
.wrap { min-height: 58vh; padding-top: 28px; padding-bottom: 70px; }
.home-page .wrap { padding-top: 22px; }
.card { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.muted { color: var(--muted); }
.muted-light { color: #adb1b7; }
.ok-text { color: var(--success); font-weight: 750; }
.danger-text { color: var(--danger); font-weight: 750; }
.skip-link { position: fixed; z-index: 10000; top: -80px; left: 18px; padding: 11px 16px; color: #fff; background: var(--ink); border-radius: 10px; text-decoration: none; }
.skip-link:focus { top: 18px; }
:focus-visible { outline: 3px solid rgba(223, 0, 21, .25); outline-offset: 2px; }

/* Buttons */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 46px;
  padding: 10px 19px;
  color: #fff;
  background: var(--brand);
  border: 1px solid var(--brand);
  border-radius: var(--radius-sm);
  box-shadow: none;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  user-select: none;
  transition: background .16s ease, border-color .16s ease, transform .16s ease, box-shadow .16s ease;
}
.btn:hover { color: #fff; background: var(--brand-dark); border-color: var(--brand-dark); box-shadow: 0 10px 22px rgba(223, 0, 21, .18); transform: translateY(-1px); }
.btn:disabled, .btn.disabled { opacity: .48; cursor: not-allowed; box-shadow: none; transform: none; }
.btn--light, .btn--outline { color: var(--ink); background: #fff; border-color: var(--line-strong); }
.btn--light:hover, .btn--outline:hover { color: var(--brand); background: var(--brand-soft); border-color: #e99099; box-shadow: none; }
.btn--yellow { color: #fff; background: var(--ink); border-color: var(--ink); }
.btn--yellow:hover { background: #2e3338; border-color: #2e3338; box-shadow: 0 10px 22px rgba(0, 0, 0, .14); }
.btn--danger { color: #fff; background: var(--danger); border-color: var(--danger); }
.btn--wide { width: 100%; }
.smallbtn, .iconbtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 38px;
  padding: 8px 12px;
  color: var(--ink);
  background: #fff;
  border: 1px solid var(--line-strong);
  border-radius: 9px;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.1;
  text-decoration: none;
  cursor: pointer;
  transition: .16s ease;
}
.smallbtn:hover, .iconbtn:hover { color: var(--brand); background: var(--brand-soft); border-color: #e9919b; }
.smallbtn:disabled { opacity: .45; cursor: not-allowed; }
.iconbtn { width: 38px; padding: 0; }
.iconbtn--danger:hover { color: var(--danger); background: var(--danger-soft); border-color: #efb6bd; }
.row-actions { display: flex; align-items: center; justify-content: flex-end; gap: 6px; }
.row-actions form { margin: 0; }
.header-buttons, .toolbar, .bulk-actions, .calculator-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }

/* Alerts and statuses */
.notice {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  margin: 0 0 18px;
  padding: 14px 16px;
  color: #096c32;
  background: var(--success-soft);
  border: 1px solid #b9e2c8;
  border-radius: 12px;
  font-weight: 650;
}
.notice > i { margin-top: 3px; }
.notice--err { color: #991b29; background: var(--danger-soft); border-color: #efbec4; }
.notice--ok { color: #096c32; background: var(--success-soft); border-color: #b9e2c8; }
.notice--warn, .notice--warning { color: #7a4b00; background: #fff7df; border-color: #ead08b; }
.badge, .status, .price-type {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: fit-content;
  padding: 5px 10px;
  border-radius: 999px;
  background: #eef0f2;
  color: #4d535a;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}
.badge--sale { color: var(--brand); background: #ffe5e8; }
.status--neutral { color: #555b63; background: #eef0f2; }
.status--warning { color: #845600; background: var(--warning-soft); }
.status--success { color: #0b7338; background: var(--success-soft); }
.status--info { color: #145a99; background: var(--info-soft); }
.status--danger { color: #9b1d2b; background: var(--danger-soft); }

/* Utility header */
.utility-bar { color: #454a50; background: #f3f4f5; border-bottom: 1px solid var(--line); font-size: 12px; }
.utility-bar__inner { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 26px; min-height: 36px; }
.utility-left, .utility-nav, .utility-phone { display: flex; align-items: center; gap: 18px; }
.utility-left a, .utility-nav a, .utility-phone { color: #454a50; text-decoration: none; }
.utility-left i, .utility-phone i { color: var(--brand); }
.utility-nav { justify-content: center; gap: 24px; }
.utility-nav a:hover, .utility-left a:hover { color: var(--brand); }
.utility-phone { gap: 8px; }
.utility-phone span { display: grid; line-height: 1.1; text-align: right; }
.utility-phone b { color: var(--ink); font-size: 14px; }
.utility-phone small { margin-top: 3px; color: var(--muted); font-size: 10px; }

.site-header { position: relative; z-index: 80; background: #fff; box-shadow: 0 1px 0 var(--line); }
.site-header__main { display: grid; grid-template-columns: 205px 132px minmax(280px, 1fr) auto; align-items: center; gap: 14px; min-height: 72px; }
.site-logo { display: flex; align-items: center; height: 54px; text-decoration: none; }
.site-logo img { width: 100%; height: 100%; object-fit: contain; object-position: left center; }
.catalog-menu { position: relative; height: 46px; }
.catalog-trigger { display: flex; align-items: center; justify-content: center; gap: 9px; width: 100%; height: 46px; padding: 0 14px; color: #fff; background: var(--brand); border: 0; border-radius: 10px; font-weight: 850; cursor: pointer; }
.catalog-trigger > i:last-child { margin-left: auto; font-size: 10px; transition: transform .2s ease; }
.catalog-menu.open .catalog-trigger > i:last-child { transform: rotate(180deg); }
.header-search { display: flex; min-width: 0; }
.header-search .suggest-wrap { position: relative; flex: 1; min-width: 0; }
.search__leading { position: absolute; z-index: 2; top: 50%; left: 15px; color: var(--muted); transform: translateY(-50%); }
.header-search input { height: 46px; padding-left: 43px; border-radius: 10px 0 0 10px; }
.header-search button { flex: 0 0 auto; min-width: 92px; height: 46px; padding: 0 17px; color: #fff; background: var(--ink); border: 1px solid var(--ink); border-radius: 0 10px 10px 0; font-weight: 800; cursor: pointer; }
.header-search button:hover { background: var(--brand); border-color: var(--brand); }
.suggest { position: absolute; z-index: 130; top: 52px; right: 0; left: 0; display: none; overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow-lg); }
.suggest a { display: grid; grid-template-columns: 1fr auto; gap: 12px; padding: 12px 14px; color: var(--ink); border-bottom: 1px solid var(--line); text-decoration: none; }
.suggest a:last-child { border-bottom: 0; }
.suggest a:hover { background: var(--brand-soft-2); }
.suggest small { color: var(--muted); }
.header-actions { display: flex; align-items: center; gap: 2px; }
.header-actions > a { display: grid; justify-items: center; gap: 3px; min-width: 68px; padding: 5px 7px; color: var(--ink); border-radius: 9px; font-size: 11px; font-weight: 700; text-decoration: none; transition: .16s ease; }
.header-actions > a:hover { color: var(--brand); background: var(--brand-soft); }
.action-icon { position: relative; display: grid; place-items: center; min-height: 24px; font-size: 19px; }
.action-icon b { position: absolute; top: -7px; right: -12px; display: grid; place-items: center; min-width: 18px; height: 18px; padding: 0 4px; color: #fff; background: var(--brand); border: 2px solid #fff; border-radius: 999px; font-size: 9px; }
.login-chip { min-width: 62px !important; margin-left: 5px; background: #f1f2f4; }
.category-strip { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.category-strip__inner { display: flex; align-items: center; gap: 28px; min-height: 50px; overflow-x: auto; overflow-y: hidden; white-space: nowrap; scrollbar-width: thin; }
.category-strip a { display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;padding:9px 0;color:var(--ink);font-size:14px;font-weight:750;text-decoration:none; }
.category-strip a:hover { color: var(--brand); }
.category-strip__sale { color: var(--brand) !important; }
.category-strip__pro { margin-left: auto; padding: 9px 15px !important; color:#fff !important;background:var(--ink);border-radius:9px; }

.vi-cart-layout>*,.vi-checkout-layout>*,.vi-cart-card>*,.vi-checkout-section>*,.cart-product>div,.checkout-fields>*{min-width:0}
.vi-cart-card,.vi-checkout-section,.vi-cart-summary,.checkout-card,.notice,.cart-product a,.cart-product b{overflow-wrap:anywhere;word-break:normal}
.vi-cart-bulk,.vi-cart-card__head,.checkout-step-actions,.action-row{flex-wrap:wrap}
.vi-cart-items-wrap{max-width:100%;overflow-x:auto}
.stock-location>span,.product-card__stock-location>span{min-width:0;overflow-wrap:anywhere}
.stock-location--distribution{margin-top:10px;border-color:#c9dcec;background:#f3f8fc}

.catalog-mega {
  position: absolute;
  z-index: 120;
  top: calc(100% + 10px);
  left: 0;
  display: grid;
  grid-template-columns: 270px minmax(620px, 870px);
  width: min(1140px, calc(100vw - 48px));
  min-height: 540px;
  overflow: hidden;
  visibility: hidden;
  opacity: 0;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 15px;
  box-shadow: var(--shadow-lg);
  transform: translateY(7px);
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}
.catalog-menu.open .catalog-mega { visibility: visible; opacity: 1; transform: none; pointer-events: auto; }
.catalog-mega__rail { padding: 10px; color: #fff; background: #171c20; }
.catalog-mega__rail > a { display: grid; grid-template-columns: 22px 1fr 12px; align-items: center; gap: 10px; min-height: 42px; padding: 8px 11px; color: #fff; border-radius: 8px; font-size: 13px; text-decoration: none; }
.catalog-mega__rail > a:hover, .catalog-mega__rail > a.active { background: rgba(255,255,255,.11); }
.catalog-mega__rail > a > i:last-child { color: #8e949a; font-size: 9px; }
.catalog-mega__all { grid-template-columns: 22px 1fr !important; margin-bottom: 8px; color: #fff !important; background: var(--brand); font-weight: 800; }
.catalog-mega__content { min-width: 0; padding: 28px; background: #fff; }
.mega-panel { display: none; }
.mega-panel.active { display: block; }
.mega-panel__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.mega-panel__head span { color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.mega-panel__head h3 { margin: 3px 0 0; font-size: 26px; }
.mega-panel__head a { font-weight: 800; text-decoration: none; }
.mega-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px 18px; }
.mega-links a { display: grid; gap: 3px; min-height: 58px; padding: 10px 11px; color: var(--ink); border-radius: 9px; text-decoration: none; }
.mega-links a:hover { color: var(--brand); background: var(--brand-soft-2); }
.mega-links span { font-weight: 750; }
.mega-links small { color: var(--muted); font-size: 11px; }
.mega-help { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 22px; padding: 18px 20px; color: var(--ink); background: #f3f4f5; border-radius: 13px; text-decoration: none; }
.mega-help span { display: grid; }
.mega-help small { color: var(--muted); }
.mega-help > i { color: var(--brand); font-size: 31px; }

/* Generic layout */
.eyebrow { display: block; margin-bottom: 7px; color: var(--brand); font-size: 11px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.eyebrow--light { color: #ffb5bd; }
.breadcrumbs { display: flex; align-items: center; gap: 8px; margin: 0 0 22px; color: var(--muted); font-size: 13px; flex-wrap: wrap; }
.breadcrumbs a { color: var(--muted); text-decoration: none; }
.breadcrumbs a:hover { color: var(--brand); }
.breadcrumbs i { color: #b6bac0; font-size: 8px; }
.breadcrumbs span { color: var(--ink); font-weight: 700; }
.sectionTitle { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin: 42px 0 18px; }
.sectionTitle h1, .sectionTitle h2 { margin: 0; }
.sectionTitle > a { font-weight: 800; text-decoration: none; }
.sectionTitle--home { margin-top: 48px; }
.grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .42fr); gap: 22px; align-items: start; }
.formgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.formgrid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.formgrid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.formgrid--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.stack-form { display: grid; gap: 15px; }
.checkline, .switch { display: flex; align-items: center; gap: 9px; min-height: 35px; font-weight: 650; }
.form-details { padding: 13px; background: #f8f9fa; border: 1px solid var(--line); border-radius: 11px; }
.form-details summary { cursor: pointer; font-weight: 800; }
.form-details[open] summary { margin-bottom: 13px; }
.card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 20px; }
.card-heading h2, .card-heading h3 { margin-bottom: 0; }
.empty-state { display: grid; justify-items: center; gap: 10px; padding: 48px 25px; text-align: center; }
.empty-state > i { color: var(--brand); font-size: 42px; }
.empty-state > img { width: 88px; height: 72px; object-fit: contain; }
.empty-state h2 { margin: 0; }
.empty-state p { max-width: 620px; color: var(--muted); }
.empty-state--compact { padding: 28px; }
.pagination { display: flex; align-items: center; justify-content: center; gap: 7px; margin-top: 28px; }
.pagination a { display: grid; place-items: center; min-width: 40px; height: 40px; padding: 0 10px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 9px; font-weight: 750; text-decoration: none; }
.pagination a:hover, .pagination a.active { color: #fff; background: var(--brand); border-color: var(--brand); }

/* Homepage */
.home-commerce-hero { display: grid; grid-template-columns: 236px minmax(0, 1fr) 286px; gap: 14px; min-height: 470px; }
.home-category-menu { overflow: hidden; padding: 8px 0; box-shadow: none; }
.home-category-menu__title { margin: -8px 0 6px; padding: 14px 16px; color: #fff; background: #171c20; font-size: 16px; font-weight: 850; }
.home-category-menu > a { display: grid; grid-template-columns: 21px 1fr 10px; align-items: center; gap: 10px; min-height: 37px; padding: 7px 14px; color: var(--ink); font-size: 12px; text-decoration: none; }
.home-category-menu > a:hover { color: var(--brand); background: var(--brand-soft-2); }
.home-category-menu > a > i:first-child { color: #4f555b; }
.home-category-menu > a > i:last-child { color: #b0b4b9; font-size: 8px; }
.home-category-menu__all { margin: 6px 8px 0; background: #f2f3f4; border-radius: 8px; font-weight: 800; }
.home-main-banner { position: relative; display: flex; align-items: center; overflow: hidden; min-width: 0; color: var(--ink); background: #b9e1ff; border-radius: var(--radius); text-decoration: none; isolation: isolate; }
.home-main-banner::before { content: ""; position: absolute; z-index: -2; inset: 0; background: linear-gradient(90deg, rgba(193,229,255,.98) 0%, rgba(193,229,255,.91) 42%, rgba(193,229,255,.25) 67%, rgba(193,229,255,0) 100%); }
.home-main-banner::after { content: ""; position: absolute; z-index: -3; inset: 0; background: var(--hero-image) right center / cover no-repeat; }
.home-main-banner__content { width: min(58%, 620px); padding: 44px 34px; }
.home-main-banner h1 { margin-bottom: 17px; font-size: clamp(34px, 3.2vw, 55px); }
.home-main-banner p { max-width: 490px; margin-bottom: 25px; color: #39434b; font-size: 17px; }
.home-hero-side { display: grid; grid-template-rows: 1fr auto; gap: 14px; }
.pro-mini-card { position: relative; display: flex; align-items: flex-end; overflow: hidden; min-height: 265px; padding: 22px; color: #fff; background: linear-gradient(145deg, #171b1f, #343a40); border-radius: var(--radius); text-decoration: none; isolation: isolate; }
.pro-mini-card::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg, transparent 20%, rgba(0,0,0,.88) 100%); }
.pro-mini-card img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .82; }
.pro-mini-card div { display: grid; gap: 6px; }
.pro-mini-card span { color: #e6e9eb; font-size: 12px; }
.pro-mini-card b { font-size: 22px; line-height: 1.15; }
.pro-mini-card em { width: fit-content; margin-top: 7px; padding: 8px 11px; color: #fff; background: var(--brand); border-radius: 8px; font-size: 12px; font-style: normal; font-weight: 800; }
.home-service-mini { display: grid; padding: 7px 13px; box-shadow: none; }
.home-service-mini a { display: flex; align-items: center; gap: 10px; padding: 9px 3px; color: var(--ink); border-bottom: 1px solid var(--line); text-decoration: none; }
.home-service-mini a:last-child { border-bottom: 0; }
.home-service-mini i { display: grid; place-items: center; width: 33px; height: 33px; color: var(--brand); background: var(--brand-soft); border-radius: 9px; }
.home-service-mini span { display: grid; }
.home-service-mini small { color: var(--muted); font-size: 11px; }
.trust-strip { display: grid; grid-template-columns: repeat(5, 1fr); margin-top: 14px; padding: 17px 10px; box-shadow: none; }
.trust-strip > div { display: flex; align-items: center; gap: 11px; min-width: 0; padding: 0 15px; border-right: 1px solid var(--line); }
.trust-strip > div:last-child { border-right: 0; }
.trust-strip i { color: var(--brand); font-size: 22px; }
.trust-strip span { display: grid; min-width: 0; }
.trust-strip b { font-size: 13px; }
.trust-strip small { overflow: hidden; color: var(--muted); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.home-categories { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.home-category-card { position: relative; display: flex; justify-content: space-between; gap: 8px; min-height: 128px; overflow: hidden; padding: 15px; color: var(--ink); background: #f4f5f6; border: 1px solid #eff0f2; border-radius: 14px; text-decoration: none; }
.home-category-card:hover { color: var(--brand); background: #fff; border-color: #e2b2b7; box-shadow: var(--shadow-sm); }
.home-category-card div { position: relative; z-index: 1; display: grid; align-content: start; gap: 5px; max-width: 62%; }
.home-category-card b { line-height: 1.2; }
.home-category-card span { color: var(--muted); font-size: 11px; }
.home-category-card img { position: absolute; right: 4px; bottom: 4px; width: 46%; height: 84%; object-fit: contain; object-position: right bottom; transition: transform .2s ease; }
.home-category-card:hover img { transform: scale(1.04); }
.home-managed-blocks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 34px; }
.managed-promo { --promo-color: #f3f4f5; position: relative; display: flex; align-items: center; min-height: 210px; overflow: hidden; padding: 25px; color: var(--ink); background: var(--promo-color); border: 1px solid var(--line); border-radius: 17px; text-decoration: none; isolation: isolate; }
.managed-promo > div { position: relative; z-index: 1; width: 65%; }
.managed-promo h3 { margin-bottom: 9px; font-size: 24px; }
.managed-promo p { color: #565d64; }
.managed-promo em { font-style: normal; font-weight: 800; }
.managed-promo img { position: absolute; right: -4%; bottom: 0; width: 46%; height: 95%; object-fit: contain; object-position: right bottom; }
.managed-promo--professional { color: #fff; background: #171c20; border-color: #171c20; }
.managed-promo--professional p { color: #d2d6d9; }
.managed-promo--professional img { width: 52%; opacity: .9; }
.managed-text { grid-column: 1 / -1; padding: 30px; }
.product-tabs { display: flex; gap: 6px; margin: -2px 0 16px; border-bottom: 1px solid var(--line); }
.product-tabs button { padding: 11px 15px; color: var(--muted); background: transparent; border: 0; border-bottom: 2px solid transparent; font-weight: 750; cursor: pointer; }
.product-tabs button.active, .product-tabs button:hover { color: var(--brand); border-bottom-color: var(--brand); }
.home-product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.business-section { margin: 52px -24px 0; padding: 52px max(24px, calc((100vw - var(--container)) / 2 + 24px)); color: #fff; background: #191e22; border-radius: 30px; }
.business-section__intro { max-width: 900px; margin: 0 auto 32px; text-align: center; }
.business-section__intro h2 { font-size: clamp(31px, 3vw, 46px); }
.business-section__intro p { color: #c9cdd1; font-size: 17px; }
.business-benefits { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.business-benefits article, .business-cta { min-height: 185px; padding: 23px; color: var(--ink); background: #fff; border-radius: 18px; text-decoration: none; }
.business-benefits i { color: var(--brand); font-size: 27px; }
.business-benefits h3 { margin: 18px 0 8px; font-size: 21px; }
.business-benefits p { color: #5c6268; }
.business-cta { display: flex; flex-direction: column; justify-content: space-between; color: #fff; background: var(--brand); }
.business-cta h3 { max-width: 260px; color: #fff; }
.business-cta span { font-weight: 800; }
.news-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.news-card { overflow: hidden; }
.news-card > a { display: block; height: 220px; overflow: hidden; }
.news-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.news-card:hover img { transform: scale(1.03); }
.news-card__body { padding: 20px; }
.news-card__body h3 a { color: var(--ink); text-decoration: none; }
.news-card__body h3 a:hover { color: var(--brand); }
.news-card__body > a { font-weight: 800; text-decoration: none; }

/* Product cards */
.product-card { position: relative; display: flex; flex-direction: column; min-width: 0; overflow: hidden; box-shadow: none; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.product-card:hover { border-color: #d8b5b9; box-shadow: var(--shadow); transform: translateY(-2px); }
.product-card__badges { position: absolute; z-index: 4; top: 12px; left: 12px; display: flex; gap: 6px; flex-wrap: wrap; pointer-events: none; }
.product-badge { padding: 5px 8px; color: #fff; background: #50555b; border-radius: 6px; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.product-badge--sale { background: var(--brand); }
.product-badge--hit { background: #168346; }
.product-badge--new { background: #1c64a8; }
.product-card__tools { position: absolute; z-index: 5; top: 10px; right: 10px; display: grid; gap: 6px; }
.favorite-btn, .compare-btn, .product-detail__meta button, .product-gallery__thumb { border: 0; cursor: pointer; }
.favorite-btn, .compare-btn { display: grid; place-items: center; width: 36px; height: 36px; color: #4b5157; background: rgba(255,255,255,.93); border: 1px solid var(--line); border-radius: 9px; box-shadow: 0 4px 13px rgba(0,0,0,.07); }
.favorite-btn:hover, .compare-btn:hover, .favorite-btn.active, .compare-btn.active { color: var(--brand); background: var(--brand-soft); border-color: #edabb2; }
.product-card__image { display: flex; align-items: center; justify-content: center; height: 245px; padding: 22px 19px 10px; background: #fff; }
.product-card__image img { width: 100%; height: 100%; object-fit: contain; transition: transform .2s ease; }
.product-card--image-cover .product-card__image { padding: 0; }
.product-card--image-cover .product-card__image img { object-fit: cover; }
.product-card:hover .product-card__image img { transform: scale(1.025); }
.product-card__body { display: flex; flex: 1; flex-direction: column; padding: 12px 16px 16px; }
.product-card__eyebrow { display: flex; justify-content: space-between; gap: 8px; margin-bottom: 7px; color: var(--muted); font-size: 10px; text-transform: uppercase; }
.product-card__eyebrow span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.product-card__eyebrow span:last-child { margin-left: auto; }
.product-card__title { min-height: 43px; color: var(--ink); font-size: 15px; font-weight: 780; line-height: 1.4; text-decoration: none; }
.product-card__title:hover { color: var(--brand); }
.product-card__rating { display: flex; align-items: center; gap: 8px; margin-top: 9px; color: var(--muted); font-size: 12px; text-decoration: none; }
.rating-stars { display: inline-flex; align-items: center; gap: 2px; color: #ffb000; white-space: nowrap; }
.rating-stars b { margin-left: 5px; color: var(--ink); font-size: 13px; }
.product-card__features { margin: 12px 0 4px; color: #60666c; font-size: 11px; }
.product-card__features ul { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; }
.product-card__features li { display: flex; justify-content: space-between; gap: 9px; }
.product-card__features li span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.product-card__features li b { color: var(--ink); font-weight: 650; text-align: right; }
.product-card__description { margin: 10px 0 0; color: var(--muted); font-size: 12px; }
.product-card__stock { display: flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 12px; color: #6c7278; font-size: 11px; }
.product-card__stock > i { width: 16px; text-align: center; }
.product-card__stock > span { display: grid; line-height: 1.2; }
.product-card__stock small { margin-top: 2px; color: var(--muted); font-size: 9px; }
.stock-state--available, .stock-state--many { color: var(--success); }
.stock-state--low { color: #bf6500; }
.stock-state--order { color: var(--warning); }
.product-card__bottom { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 10px; margin-top: 10px; }
.product-card__price > div { display: flex; flex-direction: column; }
.product-card__price b { font-size: 20px; line-height: 1.15; white-space: nowrap; }
.old-price { color: var(--muted); font-size: 12px; text-decoration: line-through; }
.price-type { margin-top: 5px; padding: 3px 7px; color: var(--success); background: var(--success-soft); font-size: 9px; }
.product-card__buy { min-width: 112px; min-height: 42px; padding: 8px 13px; }

/* Catalog */
.catalog-title-row { display: flex; align-items: center; justify-content: space-between; gap: 28px; min-height: 130px; margin-bottom: 17px; padding: 25px 28px; background: linear-gradient(135deg, #f3f5f7, #fff); border: 1px solid var(--line); border-radius: 17px; }
.catalog-title-row > div { max-width: 870px; }
.catalog-title-row h1 { margin-bottom: 9px; }
.catalog-title-row p { margin: 0; color: var(--muted); }
.catalog-title-row > img { width: 190px; height: 115px; object-fit: contain; }
.catalog-subcategories { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; margin-bottom: 21px; }
.catalog-subcategories a { position: relative; display: flex; min-height: 98px; overflow: hidden; padding: 14px; color: var(--ink); background: #f4f5f6; border: 1px solid #eef0f1; border-radius: 12px; font-weight: 750; text-decoration: none; }
.catalog-subcategories a:hover { color: var(--brand); background: #fff; border-color: #e5b0b6; }
.catalog-subcategories span { position: relative; z-index: 1; max-width: 68%; line-height: 1.25; }
.catalog-subcategories img { position: absolute; right: 4px; bottom: 4px; width: 46%; height: 85%; object-fit: contain; }
.catalog-layout { display: grid; grid-template-columns: 282px minmax(0, 1fr); gap: 22px; align-items: start; }
.sidebar { min-width: 0; }
.catalog-filters { position: sticky; top: 14px; max-height: calc(100vh - 28px); overflow: auto; padding: 19px; box-shadow: none; }
.sidebar__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.sidebar__head h2 { margin: 0; font-size: 22px; }
.sidebar__close { display: none; }
.filter-section { padding: 18px 0; border-bottom: 1px solid var(--line); }
.filter-section h3 { margin-bottom: 12px; font-size: 15px; }
.price-inputs { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.filter-stock { display: flex; align-items: center; gap: 9px; padding: 15px 0; border-bottom: 1px solid var(--line); }
.filter-stock span { display: flex; align-items: center; gap: 7px; }
.filter-stock i { color: var(--success); }
.filter-search { position: relative; display: block; }
.filter-search i { position: absolute; top: 50%; left: 12px; color: var(--muted); transform: translateY(-50%); }
.filter-search input { min-height: 40px; padding-left: 36px; }
.filter-options { display: grid; gap: 9px; margin-top: 12px; }
.filter-options--scroll { max-height: 235px; overflow: auto; padding-right: 4px; }
.filter-options label { display: grid; grid-template-columns: 18px minmax(0, 1fr) auto; align-items: center; gap: 8px; font-weight: 600; }
.filter-options label > span { min-width: 0; overflow-wrap: anywhere; }
.filter-options small { color: var(--muted); }
.filter-reset { display: block; margin-top: 13px; color: var(--muted); font-weight: 700; text-align: center; }
.filter-backdrop { display: none; }
.catalog-results { min-width: 0; }
.catalog-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 58px; margin-bottom: 14px; padding: 10px 13px; background: #fff; border: 1px solid var(--line); border-radius: 12px; }
.catalog-toolbar > div:first-child { display: grid; }
.catalog-toolbar > div:first-child span { color: var(--muted); font-size: 12px; }
.catalog-toolbar__controls { display: flex; align-items: center; gap: 9px; }
.catalog-toolbar__controls form label { display: flex; align-items: center; gap: 8px; color: var(--muted); font-weight: 600; }
.catalog-toolbar select { width: auto; min-width: 180px; min-height: 40px; padding-block: 7px; }
.view-switch { display: flex; gap: 5px; }
.view-switch a { display: grid; place-items: center; width: 40px; height: 40px; color: var(--muted); background: #fff; border: 1px solid var(--line); border-radius: 8px; text-decoration: none; }
.view-switch a.active, .view-switch a:hover { color: #fff; background: var(--brand); border-color: var(--brand); }
.mobile-filter-btn { display: none; }
.catalog-products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.catalog-products--list { display: grid; grid-template-columns: 1fr; gap: 0; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }
.catalog-products--list .product-card { display: grid; grid-template-columns: 240px minmax(0, 1fr); min-height: 285px; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; }
.catalog-products--list .product-card:last-child { border-bottom: 0; }
.catalog-products--list .product-card:hover { transform: none; box-shadow: none; }
.catalog-products--list .product-card__image { height: 100%; min-height: 285px; }
.catalog-products--list .product-card__body { display: grid; grid-template-columns: minmax(0, 1fr) 230px; grid-template-rows: auto auto 1fr auto; gap: 8px 24px; padding: 24px; }
.catalog-products--list .product-card__eyebrow, .catalog-products--list .product-card__title, .catalog-products--list .product-card__rating { grid-column: 1; }
.catalog-products--list .product-card__title { min-height: 0; font-size: 19px; }
.catalog-products--list .product-card__features, .catalog-products--list .product-card__description { grid-column: 1; }
.catalog-products--list .product-card__stock { grid-column: 2; grid-row: 1; align-self: start; margin: 0; padding: 0; }
.catalog-products--list .product-card__bottom { grid-column: 2; grid-row: 2 / 5; align-content: start; grid-template-columns: 1fr; }
.catalog-products--list .product-card__price b { font-size: 24px; }
.catalog-products--list .product-card__buy { width: 100%; margin-top: 10px; }

/* Product page */
.product-detail__header { margin-bottom: 18px; }
.product-detail__header h1 { max-width: 1100px; margin-bottom: 12px; font-size: clamp(28px, 2.5vw, 40px); }
.product-detail__meta { display: flex; align-items: center; gap: 18px; color: var(--muted); font-size: 13px; flex-wrap: wrap; }
.product-detail__meta a { display: flex; align-items: center; gap: 8px; color: var(--muted); text-decoration: none; }
.product-detail__meta button { padding: 0; color: var(--ink); background: transparent; font-weight: 650; }
.product-detail__meta button:hover { color: var(--brand); }
.product-main-grid { display: grid; grid-template-columns: minmax(430px, 1.08fr) minmax(280px, .62fr) 350px; gap: 24px; align-items: start; }
.product-gallery { display: grid; grid-template-columns: 74px minmax(0, 1fr); min-height: 520px; padding: 18px; box-shadow: none; }
.product-gallery__thumbs { display: grid; align-content: start; gap: 9px; max-height: 500px; overflow: auto; padding-right: 8px; }
.product-gallery__thumb { display: grid; place-items: center; width: 62px; height: 62px; padding: 5px; background: #fff; border: 1px solid var(--line); border-radius: 8px; }
.product-gallery__thumb.active, .product-gallery__thumb:hover { border-color: var(--brand); }
.product-gallery__thumb img { width: 100%; height: 100%; object-fit: contain; }
.product-gallery__main { display: grid; place-items: center; min-width: 0; min-height: 480px; }
.product-gallery__main img { width: 100%; height: 100%; max-height: 500px; object-fit: contain; }
.product-images-cover .product-gallery__main { overflow: hidden; border-radius: 10px; }
.product-images-cover .product-gallery__main img { max-height: none; object-fit: cover; }
.product-images-cover .product-gallery__thumb img { object-fit: cover; }
.product-key-info { padding: 14px 0; }
.product-key-info h2 { font-size: 20px; }
.product-key-info dl { display: grid; gap: 10px; margin: 0 0 15px; }
.product-key-info dl > div { display: grid; grid-template-columns: 1fr auto; gap: 13px; font-size: 13px; }
.product-key-info dt { color: var(--muted); }
.product-key-info dd { margin: 0; font-weight: 650; text-align: right; }
.product-key-info > a { display: inline-flex; align-items: center; gap: 7px; font-weight: 800; text-decoration: none; }
.product-guarantee { display: flex; gap: 11px; margin-top: 23px; padding: 15px; background: #f2f6fa; border-radius: 11px; }
.product-guarantee i { color: var(--success); font-size: 22px; }
.product-guarantee span { display: grid; }
.product-guarantee small { color: var(--muted); }
.buy-card { position: sticky; top: 15px; padding: 24px; box-shadow: var(--shadow); }
.buy-card__price { display: grid; gap: 2px; margin-bottom: 18px; }
.buy-card__price > span { color: var(--muted); text-decoration: line-through; }
.buy-card__price > b { font-size: 32px; line-height: 1.15; }
.buy-card__price > em { width: fit-content; margin-top: 5px; padding: 4px 8px; color: var(--brand); background: var(--brand-soft); border-radius: 6px; font-size: 11px; font-style: normal; font-weight: 800; }
.buy-card__qty { display: grid; grid-template-columns: 40px 70px 40px auto; align-items: center; gap: 4px; margin-bottom: 12px; }
.buy-card__qty button { height: 40px; background: #f1f2f3; border: 0; border-radius: 8px; font-size: 20px; cursor: pointer; }
.buy-card__qty input { min-height: 40px; padding: 6px; text-align: center; }
.buy-card__cart { min-height: 52px; font-size: 16px; }
.buy-card .btn + .btn { margin-top: 9px; }
.buy-card__availability { display: grid; gap: 12px; margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--line); }
.buy-card__availability p { display: flex; gap: 8px; margin: 0; }
.buy-card__availability p.available { color: var(--success); }
.buy-card__availability p.order { color: var(--warning); }
.buy-card__availability a { display: flex; align-items: flex-start; gap: 10px; color: var(--ink); text-decoration: none; }
.buy-card__availability a > i { width: 20px; margin-top: 3px; }
.buy-card__availability a span { display: grid; }
.buy-card__availability small { color: var(--muted); }
.product-anchor-nav { position: sticky; z-index: 20; top: 0; display: flex; gap: 28px; margin: 32px 0 0; padding: 0 3px; overflow: auto; background: #fff; border-bottom: 1px solid var(--line); }
.product-anchor-nav a { padding: 15px 0; color: #52585e; border-bottom: 2px solid transparent; font-size: 13px; font-weight: 750; white-space: nowrap; text-decoration: none; }
.product-anchor-nav a:hover { color: var(--brand); border-bottom-color: var(--brand); }
.product-content-grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 40px; align-items: start; padding-top: 24px; }
.product-section { padding: 20px 0 31px; border-bottom: 1px solid var(--line); }
.product-section h2 { font-size: 26px; }
.product-description { max-width: 900px; color: #373d42; font-size: 15px; line-height: 1.72; }
.spec-table { display: grid; max-width: 850px; margin: 0; }
.spec-table > div { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(160px, .75fr); gap: 18px; padding: 9px 0; border-bottom: 1px dotted #ccd0d4; }
.spec-table dt { color: var(--muted); }
.spec-table dd { margin: 0; font-weight: 650; }
.product-side-section { padding: 20px; }
.product-side-section + .product-side-section { margin-top: 15px; }
.stock-location { display: grid; grid-template-columns: 1fr auto; gap: 6px 12px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.stock-location:last-child { border-bottom: 0; }
.stock-location span { color: var(--muted); font-size: 12px; }
.stock-location b { grid-row: 1 / 3; grid-column: 2; color: var(--success); }
.product-trust { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.product-trust div { display: grid; gap: 7px; padding: 15px; background: #f5f6f7; border-radius: 11px; }
.product-trust i { color: var(--brand); font-size: 20px; }
.review-summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px; background: #f7f8f9; border-radius: 14px; }
.review-summary > div { display: grid; gap: 5px; }
.review-summary__number { font-size: 42px; font-weight: 900; line-height: 1; }
.review-summary small { color: var(--muted); }
.review-form { display: grid; gap: 14px; margin-top: 16px; padding: 21px; }
.star-input { display: flex; flex-direction: row-reverse; justify-content: flex-end; gap: 4px; }
.star-input input { position: absolute; opacity: 0; pointer-events: none; }
.star-input label { color: #d5d7da; font-size: 28px; cursor: pointer; }
.star-input label:hover, .star-input label:hover ~ label, .star-input input:checked ~ label { color: #ffb000; }
.reviews-list { display: grid; gap: 12px; margin-top: 18px; }
.review-card { padding: 21px; }
.review-card header { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; margin-bottom: 12px; }
.review-card header div { display: grid; gap: 3px; }
.review-card small { color: var(--muted); }
.review-pros, .review-cons, .review-answer { margin-top: 12px; padding: 12px 14px; background: #f7f8f9; border-radius: 9px; }
.review-pros b { color: var(--success); }
.review-cons b { color: var(--danger); }
.review-answer { background: var(--brand-soft-2); border-left: 3px solid var(--brand); }

/* Cart / checkout */
.cart-page-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.cart-price-refresh { color: var(--muted); font-size: 13px; }
.cart-layout { display: grid; grid-template-columns: minmax(0, 1fr) 390px; gap: 22px; align-items: start; }
.cart-table { overflow: hidden; padding: 0; }
.cart-table .table { margin: 0; }
.cart-product { display: flex; align-items: center; gap: 13px; min-width: 250px; }
.cart-product img { width: 64px; height: 64px; object-fit: contain; background: #fff; border: 1px solid var(--line); border-radius: 9px; }
.cart-product div { min-width: 0; }
.cart-product a { color: var(--ink); text-decoration: none; }
.cart-product a:hover { color: var(--brand); }
.cart-product span { display: block; margin-top: 4px; font-size: 12px; }
.cart-under-table { display: flex; justify-content: space-between; gap: 12px; padding: 16px 18px; border-top: 1px solid var(--line); }
.checkout-card { position: sticky; top: 15px; padding: 21px; }
.checkout-card__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.checkout-card__head h2 { margin: 0; font-size: 24px; }
.buyer-type { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 17px; }
.buyer-type__option { position: relative; display: block; }
.buyer-type__option input { position: absolute; opacity: 0; pointer-events: none; }
.buyer-type__option span { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 50px; padding: 10px; background: #f5f6f7; border: 1px solid var(--line); border-radius: 10px; cursor: pointer; }
.buyer-type__option input:checked + span { color: var(--brand); background: var(--brand-soft); border-color: #e899a2; box-shadow: inset 0 0 0 1px var(--brand); }
.checkout-fields { display: grid; gap: 13px; }
.checkout-profile { display: flex; align-items: flex-start; gap: 11px; padding: 13px; background: var(--success-soft); border: 1px solid #c6e7d2; border-radius: 10px; }
.checkout-profile i { margin-top: 3px; color: var(--success); }
.checkout-profile span { display: grid; }
.checkout-profile small { color: #4d735c; }
.checkout-profile--entity { margin-top: 9px; background: #f4f6f8; border-color: var(--line); }
.checkout-login { padding: 13px; color: #3c444a; background: #f4f6f8; border-radius: 10px; font-size: 13px; }
.checkout-total { display: grid; gap: 8px; margin: 18px 0; padding: 16px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.checkout-total > div { display: flex; justify-content: space-between; gap: 15px; }
.checkout-total > div:last-child { font-size: 20px; }
.checkout-actions { display: grid; gap: 9px; }
.checkout-consent { color: var(--muted); font-size: 11px; text-align: center; }

/* Personal account */
.account-shell { display: grid; grid-template-columns: 255px minmax(0, 1fr); gap: 22px; align-items: start; }
.account-nav { position: sticky; top: 15px; overflow: hidden; padding: 12px; box-shadow: none; }
.account-nav__title { display: flex; align-items: center; gap: 11px; padding: 9px 8px 17px; border-bottom: 1px solid var(--line); }
.account-nav__title img { width: 44px; height: 44px; object-fit: contain; }
.account-nav__title div { display: grid; }
.account-nav__title span { color: var(--muted); font-size: 11px; }
.account-nav nav { display: grid; gap: 4px; margin-top: 9px; }
.account-nav nav a { display: grid; grid-template-columns: 22px 1fr 10px; align-items: center; gap: 9px; min-height: 43px; padding: 8px 10px; color: var(--ink); border-radius: 9px; text-decoration: none; }
.account-nav nav a:hover, .account-nav nav a.active { color: var(--brand); background: var(--brand-soft); }
.account-nav nav a > i:last-child { color: #b8bbc0; font-size: 8px; }
.account-nav__logout-form { margin: 9px 0 0; border-top: 1px solid var(--line); }
.account-nav__logout { display: flex; align-items: center; gap: 8px; width: 100%; margin: 0; padding: 12px 10px; color: var(--muted); background: transparent; border: 0; border-radius: 8px; font: inherit; text-align: left; cursor: pointer; }
.account-nav__logout:hover { color: var(--brand); background: var(--brand-soft); }
.account-content { min-width: 0; }
.account-hero { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 26px; }
.account-hero__meta { display: grid; gap: 5px; color: var(--muted); }
.account-kpis, .kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; margin: 16px 0; }
.account-kpi, .kpi { display: grid; gap: 5px; padding: 20px; }
.account-kpi span, .kpi span { color: var(--muted); }
.account-kpi b, .kpi b { font-size: 26px; }
.account-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.account-card, .profile-section { padding: 22px; }
.quick-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.quick-link { display: grid; gap: 8px; min-height: 115px; padding: 17px; color: var(--ink); background: #f5f6f7; border-radius: 12px; text-decoration: none; }
.quick-link i { color: var(--brand); font-size: 23px; }
.quick-link:hover { color: var(--brand); background: var(--brand-soft); }
.entity-card { padding: 20px; }
.entity-card__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.entity-card__details { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; color: var(--muted); }
.entity-card__details b { display: block; color: var(--ink); }
.entity-card__actions { display: flex; gap: 8px; margin-top: 15px; }
.order-card { overflow: hidden; }
.order-card__head, .order-card__foot { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 16px 18px; }
.order-card__head { background: #f7f8f9; border-bottom: 1px solid var(--line); }
.order-card__number { display: grid; }
.order-card__meta { color: var(--muted); font-size: 12px; }
.order-card__items { display: grid; gap: 8px; padding: 17px 18px; }
.order-card__total { font-size: 20px; }
.order-detail { display: grid; grid-template-columns: minmax(0, 1fr) 350px; gap: 20px; align-items: start; }
.order-lines, .order-summary { padding: 20px; }
.order-summary { position: sticky; top: 15px; }
.order-summary__row, .summaryBox > div { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.order-summary__row:last-of-type { border-bottom: 0; }
.summaryBox { padding: 15px 0; }

/* Professional program */
.pro-hero { position: relative; min-height: 430px; overflow: hidden; margin-bottom: 24px; color: #fff; background: #171c20; border-radius: 24px; isolation: isolate; }
.pro-hero::after { content: ""; position: absolute; z-index: -2; inset: 0; background: linear-gradient(90deg, rgba(18,22,25,.98) 0%, rgba(18,22,25,.9) 50%, rgba(18,22,25,.12) 78%, transparent 100%); }
.pro-hero > img { position: absolute; z-index: -3; inset: 0 0 0 auto; width: 61%; height: 100%; object-fit: cover; object-position: center; }
.pro-hero__content { max-width: 700px; padding: 58px; }
.pro-hero__content h1 { font-size: clamp(38px, 4vw, 62px); }
.pro-hero__content p { color: #d8dce0; font-size: 18px; }
.pro-benefits { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; margin: 23px 0; }
.pro-benefits article { padding: 21px; }
.pro-benefits i { color: var(--brand); font-size: 27px; }
.pro-benefits h3 { margin: 16px 0 8px; }
.pro-benefits p { color: var(--muted); }
.pro-layout { display: grid; grid-template-columns: minmax(0, 1fr) 480px; gap: 24px; align-items: start; }
.pro-form-card { padding: 25px; }
.number-list { display: grid; gap: 18px; padding: 0; counter-reset: list; list-style: none; }
.number-list li { position: relative; padding-left: 52px; }
.number-list li::before { content: counter(list); counter-increment: list; position: absolute; top: 0; left: 0; display: grid; place-items: center; width: 36px; height: 36px; color: #fff; background: var(--brand); border-radius: 50%; font-weight: 900; }

/* Content / information pages */
.content-hero { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 30px; align-items: center; min-height: 300px; margin-bottom: 24px; padding: 42px; background: linear-gradient(135deg, #f2f4f6, #fff); border: 1px solid var(--line); border-radius: 22px; }
.content-hero p { max-width: 760px; color: var(--muted); font-size: 17px; }
.content-hero__visual { display: grid; place-items: center; min-height: 220px; overflow: hidden; background: #fff; border-radius: 18px; }
.content-hero__visual img { width: 100%; height: 100%; max-height: 260px; object-fit: contain; }
.content-hero__icon { display: grid; place-items: center; width: 150px; height: 150px; color: var(--brand); background: var(--brand-soft); border-radius: 50%; font-size: 65px; }
.content-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.content-card { padding: 24px; }
.content-card > i { display: grid; place-items: center; width: 47px; height: 47px; margin-bottom: 15px; color: var(--brand); background: var(--brand-soft); border-radius: 12px; font-size: 22px; }
.content-card p { color: var(--muted); }
.content-section { margin-top: 36px; }
.content-section--soft { padding: 30px; background: #f5f6f7; border-radius: 20px; }
.steps-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.step-card { position: relative; padding: 23px; background: #fff; border: 1px solid var(--line); border-radius: 14px; }
.step-number { display: grid; place-items: center; width: 34px; height: 34px; margin-bottom: 15px; color: #fff; background: var(--brand); border-radius: 50%; font-weight: 900; }
.check-list { display: grid; gap: 11px; padding: 0; list-style: none; }
.check-list li { position: relative; padding-left: 27px; }
.check-list li::before { content: "\f00c"; position: absolute; top: 2px; left: 0; color: var(--success); font: 900 14px/1 "Font Awesome 6 Free"; }
.faq-list { display: grid; gap: 10px; }
.faq-list details { padding: 17px 19px; background: #fff; border: 1px solid var(--line); border-radius: 12px; }
.faq-list summary { cursor: pointer; font-weight: 800; }
.faq-list details p { margin: 13px 0 0; color: var(--muted); }
.cta-panel { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 35px; padding: 28px 30px; color: #fff; background: #191e22; border-radius: 19px; }
.cta-panel p { margin: 0; color: #cbd0d4; }
.contacts-grid { display: grid; grid-template-columns: 1fr 1.15fr; gap: 20px; }
.contact-card { padding: 23px; }
.contact-list { display: grid; gap: 14px; }
.contact-list a, .contact-list > div { display: flex; align-items: flex-start; gap: 12px; color: var(--ink); text-decoration: none; }
.contact-list i { display: grid; place-items: center; width: 39px; height: 39px; color: var(--brand); background: var(--brand-soft); border-radius: 10px; }
.contact-list span { display: grid; }
.contact-list small { color: var(--muted); }
.store-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.store-card { padding: 20px; }
.store-card p { color: var(--muted); }
.article-page { display: grid; grid-template-columns: minmax(0, 850px) 300px; gap: 40px; align-items: start; }
.article-body { font-size: 16px; line-height: 1.75; }
.article-body img { margin: 24px 0; border-radius: 15px; }
.article-aside { position: sticky; top: 15px; padding: 20px; }

/* Tables */
.table-wrap { width: 100%; overflow-x: auto; }
.table { width: 100%; border-collapse: collapse; background: #fff; }
.table th, .table td { padding: 13px 14px; border-bottom: 1px solid var(--line); vertical-align: middle; text-align: left; }
.table th { color: #5d6369; background: #f6f7f8; font-size: 11px; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.table tr:last-child td { border-bottom: 0; }
.table tbody tr:hover td { background: #fffafa; }
.table-sub { display: block; margin-top: 3px; color: var(--muted); font-size: 11px; }

/* Admin */
.adminnav { position: sticky; z-index: 30; top: 0; display: flex; gap: 5px; margin: 0 0 24px; padding: 8px; overflow-x: auto; background: #171c20; border-radius: 13px; box-shadow: var(--shadow); }
.adminnav a { flex: 0 0 auto; padding: 9px 12px; color: #d8dcdf; border-radius: 8px; font-size: 12px; font-weight: 750; text-decoration: none; }
.adminnav a:hover, .adminnav a.active { color: #fff; background: var(--brand); }
.admin-page-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.admin-page-head h2 { margin-bottom: 5px; }
.admin-page-head p { max-width: 850px; margin: 0; color: var(--muted); }
.admin-two-col { display: grid; grid-template-columns: minmax(0, 1fr) 430px; gap: 18px; align-items: start; }
.admin-two-col--form { grid-template-columns: minmax(0, 1fr) 450px; }
.admin-form-card { padding: 22px; }
.admin-table-card { overflow: hidden; padding: 0; }
.table-toolbar, .admin-filterbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; background: #fff; border-bottom: 1px solid var(--line); flex-wrap: wrap; }
.table-search { max-width: 330px; min-height: 40px; }
.admin-table th, .admin-table td { padding: 11px 12px; }
.admin-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 17px; }
.admin-stat { display: grid; gap: 4px; padding: 18px; }
.admin-stat span { color: var(--muted); }
.admin-stat b { font-size: 25px; }
.admin-product-cell { display: flex; align-items: center; gap: 11px; min-width: 260px; }
.admin-product-cell img { width: 54px; height: 54px; object-fit: contain; background: #fff; border: 1px solid var(--line); border-radius: 8px; }
.admin-product-cell div { display: grid; min-width: 0; }
.admin-product-cell small { color: var(--muted); font-size: 11px; }
.category-admin-cell { display: flex; align-items: center; gap: 11px; min-width: 270px; }
.category-admin-cell > img, .category-admin-cell > span { display: grid; place-items: center; width: 48px; height: 48px; object-fit: contain; background: #f4f5f6; border-radius: 9px; }
.category-admin-cell > span { color: var(--brand); }
.category-admin-cell > div { display: grid; }
.category-admin-cell small { color: var(--muted); font-size: 10px; }
.admin-product-editor { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 18px; align-items: start; }
.admin-product-main, .admin-product-side { display: grid; gap: 17px; }
.admin-image-preview { display: grid; place-items: center; min-height: 240px; padding: 16px; background: #f6f7f8; border: 1px dashed var(--line-strong); border-radius: 12px; }
.admin-image-preview img { max-height: 230px; object-fit: contain; }
.branding-editor { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.branding-preview { display: grid; align-content: start; gap: 11px; padding: 20px; background: #f5f6f7; border-radius: 13px; }
.branding-preview img { max-width: 360px; max-height: 90px; object-fit: contain; object-position: left center; }
.branding-preview__mark { max-width: 90px !important; }
.settings-sections, .home-block-list { display: grid; gap: 17px; }
.settings-save { position: sticky; z-index: 20; bottom: 14px; display: flex; justify-content: flex-end; padding: 12px; background: rgba(255,255,255,.92); border: 1px solid var(--line); border-radius: 13px; box-shadow: var(--shadow); backdrop-filter: blur(12px); }
.home-block-admin { display: grid; grid-template-columns: 280px minmax(0, 1fr); overflow: hidden; }
.home-block-admin__preview { min-height: 250px; background: #f2f3f4; }
.home-block-admin__preview img { width: 100%; height: 100%; object-fit: cover; }
.home-block-admin__body { padding: 21px; }
.price-calculator { padding: 22px; }
.special-price-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.request-details { padding: 20px; }
.request-message { padding: 14px; background: #f7f8f9; border-radius: 10px; white-space: pre-wrap; }
.request-files { display: flex; gap: 10px; flex-wrap: wrap; }
.request-files img { width: 130px; height: 100px; object-fit: cover; border-radius: 9px; }
.log-payload { max-width: 620px; white-space: pre-wrap; overflow-wrap: anywhere; font-size: 11px; }

/* Synchronization */
.sync-grid { display: grid; grid-template-columns: minmax(0, 1fr) 390px; gap: 20px; align-items: start; }
.sync-card { padding: 22px; }
.sync-scope { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.sync-scope label { display: flex; align-items: flex-start; gap: 10px; padding: 15px; border: 1px solid var(--line); border-radius: 12px; cursor: pointer; }
.sync-scope label:has(input:checked) { background: var(--brand-soft); border-color: #e7919a; }
.sync-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 16px 0 18px; }
.sync-step { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 9px 11px; color: var(--muted); background: #fafafa; border: 1px solid var(--line); border-radius: 11px; font-size: 12px; font-weight: 750; }
.sync-step b { display: grid; place-items: center; width: 24px; height: 24px; background: #e7e8eb; border-radius: 50%; }
.sync-step--done { color: #0b6830; background: var(--success-soft); border-color: #b7dfc6; }
.sync-step--done b { color: #fff; background: #0b6830; }
.sync-step--active { color: #981725; background: var(--brand-soft); border-color: #efb7bc; }
.sync-step--active b { color: #fff; background: var(--brand); }
.sync-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 10px 0; flex-wrap: wrap; }
.sync-toolbar--groups { align-items: flex-end; }
.sync-group-actions, .sync-options { display: flex; gap: 7px; flex-wrap: wrap; }
.sync-options label { display: flex; align-items: center; gap: 7px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 9px; font-size: 12px; }
.sync-group-search { position: relative; display: block; margin: 8px 0; }
.sync-group-search i { position: absolute; top: 50%; left: 13px; color: var(--muted); transform: translateY(-50%); }
.sync-group-search input { padding-left: 38px; }
.sync-group-filter-meta, .sync-cache-time, .sync-selection-hint { color: var(--muted); font-size: 12px; }
.sync-groups { max-height: 560px; overflow: auto; border: 1px solid var(--line); border-radius: 12px; }
.sync-group { display: flex; align-items: flex-start; gap: 9px; padding: 10px 11px 10px calc(11px + var(--group-indent, 0px)); border-bottom: 1px solid var(--line); }
.sync-group:last-child { border-bottom: 0; }
.sync-group[hidden] { display: none; }
.sync-group > i { width: 18px; margin-top: 2px; color: var(--brand); text-align: center; }
.sync-group__content { flex: 1; min-width: 0; }
.sync-group__title { display: flex !important; flex-direction: row !important; align-items: center; gap: 7px; flex-wrap: wrap; }
.sync-group__status { padding: 2px 6px; color: #0b6830; background: var(--success-soft); border-radius: 999px; font-size: 10px; font-style: normal; font-weight: 800; }
.sync-group small { color: var(--muted); overflow-wrap: anywhere; }
.sync-products { max-height: 430px; overflow: auto; border: 1px solid var(--line); border-radius: 12px; }
.sync-product { display: grid; grid-template-columns: 24px minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 11px 12px; border-bottom: 1px solid var(--line); }
.sync-product:last-child { border-bottom: 0; }
.sync-product__name { font-weight: 750; }
.sync-product__meta { color: var(--muted); font-size: 12px; }
.sync-product__price { font-weight: 850; white-space: nowrap; }
.sync-selected { margin: 10px 0; padding: 10px 12px; background: #f4f5f7; border-radius: 10px; font-size: 13px; }
.sync-progress { display: none; align-items: center; gap: 10px; margin: 12px 0; padding: 13px; color: var(--info); background: var(--info-soft); border-radius: 10px; }
.sync-progress.active { display: flex; }
.sync-progress i { animation: spin 1s linear infinite; }
.sync-groups-empty { padding: 38px; text-align: center; background: #fafafa; border: 1px dashed var(--line); border-radius: 14px; }
.sync-groups-empty > i { display: grid; place-items: center; width: 58px; height: 58px; margin: 0 auto 14px; color: var(--brand); background: var(--brand-soft); border-radius: 50%; font-size: 24px; }
@keyframes spin { to { transform: rotate(360deg); } }

/* Compare */
.compare-wrap { overflow: auto; }
.compare-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.compare-table { min-width: 900px; overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: 15px; }
.compare-row { display: grid; grid-template-columns: 210px repeat(var(--compare-count, 2), minmax(220px, 1fr)); border-bottom: 1px solid var(--line); }
.compare-row:last-child { border-bottom: 0; }
.compare-row > * { padding: 16px; border-right: 1px solid var(--line); }
.compare-row > *:last-child { border-right: 0; }
.compare-row--products { align-items: stretch; }
.compare-label { color: var(--muted); background: #f7f8f9; font-weight: 750; }
.compare-product { position: relative; display: grid; align-content: start; gap: 8px; }
.compare-product img { width: 100%; height: 150px; object-fit: contain; }
.compare-product a { color: var(--ink); font-weight: 750; text-decoration: none; }
.compare-product a:hover { color: var(--brand); }
.compare-remove { position: absolute; top: 8px; right: 8px; }
.compare-rating { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 12px; }
.compare-empty { padding: 45px; text-align: center; }

/* Newsletter / footer */
.newsletter { padding: 23px 0; background: #e7e9ec; }
.newsletter__inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(400px, .75fr); align-items: center; gap: 30px; }
.newsletter__inner > div { display: flex; align-items: center; gap: 13px; }
.newsletter__inner > div > i { color: var(--brand); font-size: 25px; }
.newsletter__inner span { display: grid; }
.newsletter__inner small { color: var(--muted); }
.newsletter__inner form { display: grid; grid-template-columns: 1fr auto; gap: 9px; }
.footer { padding: 45px 0 22px; color: #fff; background: #191e22; }
.footer__grid { display: grid; grid-template-columns: 1.45fr repeat(4, 1fr); gap: 34px; }
.footer h3 { margin-bottom: 14px; font-size: 16px; }
.footer a { display: block; margin: 8px 0; color: #c5c9cd; text-decoration: none; }
.footer a:hover { color: #fff; }
.footer__brand p { max-width: 340px; color: #aeb3b8; }
.footer-logo { width: 250px; max-height: 74px; margin-bottom: 15px; object-fit: contain; object-position: left center; filter: brightness(0) invert(1); }
.footer__contacts { display: flex; gap: 14px; flex-wrap: wrap; }
.footer__contacts a { color: #fff; font-weight: 800; }
.footer__legal { display: flex; align-items: flex-end; justify-content: space-between; gap: 25px; margin-top: 32px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.1); }
.footer__legal > div { display: grid; color: #969ca2; }
.footer__legal > div:last-child { display: flex; gap: 18px; }
.copy { display: flex; justify-content: space-between; gap: 20px; margin-top: 18px; color: #7d8389; font-size: 11px; }
.back-to-top, .floating-contact { position: fixed; z-index: 60; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; box-shadow: var(--shadow); }
.back-to-top { right: 22px; bottom: 82px; visibility: hidden; opacity: 0; color: var(--ink); background: #fff; border: 1px solid var(--line); cursor: pointer; transition: .18s ease; }
.back-to-top.visible { visibility: visible; opacity: 1; }
.floating-contact { right: 22px; bottom: 22px; color: #fff; background: #191e22; text-decoration: none; }
.floating-contact:hover { color: #fff; background: var(--brand); }
.toast-region { position: fixed; z-index: 9999; right: 20px; bottom: 20px; display: grid; gap: 9px; pointer-events: none; }
.toast { display: flex; align-items: center; gap: 10px; max-width: 380px; padding: 13px 16px; color: #fff; background: #191e22; border-radius: 12px; box-shadow: 0 16px 42px rgba(0,0,0,.23); animation: toast-in .2s ease-out; }
.toast--error { background: #8f1420; }
.toast i { color: #ff5664; }
@keyframes toast-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

/* Print */
.print-only { display: none; }
@media print {
  .utility-bar, .site-header, .newsletter, .footer, .no-print, .account-nav, .breadcrumbs, .floating-contact, .back-to-top { display: none !important; }
  .container { max-width: none; padding: 0; }
  .wrap { padding: 0; }
  .card { box-shadow: none; }
  .print-only { display: block; }
  body { background: #fff; }
  .order-detail { display: block; }
  .order-summary { position: static; }
}

/* Responsive */
@media (max-width: 1320px) {
  .container { padding-inline: 20px; }
  .site-header__main { grid-template-columns: 185px 120px minmax(240px, 1fr) auto; }
  .header-actions > a { min-width: 58px; }
  .header-actions > a > span:last-child { font-size: 10px; }
  .home-commerce-hero { grid-template-columns: 218px minmax(0, 1fr) 250px; }
  .home-categories { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .home-product-grid, .grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .business-benefits { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .product-main-grid { grid-template-columns: minmax(390px, 1fr) minmax(250px, .56fr) 330px; }
  .catalog-products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .admin-two-col--form { grid-template-columns: minmax(0, 1fr) 410px; }
}

@media (max-width: 1100px) {
  .utility-nav { display: none; }
  .utility-bar__inner { grid-template-columns: 1fr auto; }
  .site-header__main { grid-template-columns: 175px 120px minmax(220px, 1fr) auto; }
  .header-actions > a:nth-child(2), .header-actions > a:nth-child(3) { display: none; }
  .category-strip__inner { gap: 18px; overflow-x: auto; }
  .catalog-mega { grid-template-columns: 245px minmax(560px, 1fr); left: -175px; }
  .home-commerce-hero { grid-template-columns: 210px minmax(0, 1fr); }
  .home-hero-side { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
  .pro-mini-card { min-height: 210px; }
  .home-service-mini { grid-template-columns: repeat(3, 1fr); align-items: stretch; }
  .home-service-mini a { border-right: 1px solid var(--line); border-bottom: 0; }
  .home-service-mini a:last-child { border-right: 0; }
  .trust-strip { grid-template-columns: repeat(3, 1fr); }
  .trust-strip > div:nth-child(3) { border-right: 0; }
  .trust-strip > div:nth-child(n+4) { margin-top: 13px; }
  .home-managed-blocks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .managed-promo:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .business-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .catalog-subcategories { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .catalog-products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .product-main-grid { grid-template-columns: minmax(0, 1fr) 340px; }
  .product-key-info { grid-column: 1; grid-row: 2; }
  .buy-card { grid-column: 2; grid-row: 1 / 3; }
  .product-content-grid { grid-template-columns: minmax(0, 1fr) 320px; }
  .cart-layout { grid-template-columns: minmax(0, 1fr) 350px; }
  .admin-two-col, .admin-two-col--form, .admin-product-editor { grid-template-columns: 1fr; }
  .admin-form-card { position: static; }
  .branding-editor { grid-template-columns: 1fr; }
  .formgrid--4, .formgrid--5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 860px) {
  .container { padding-inline: 15px; }
  .utility-left a { display: none; }
  .utility-phone small { display: none; }
  .site-header__main { grid-template-columns: 165px 48px minmax(0, 1fr) auto; min-height: 66px; }
  .catalog-trigger { width: 48px; padding: 0; }
  .catalog-trigger span, .catalog-trigger > i:last-child { display: none; }
  .header-search button { min-width: 48px; padding: 0; }
  .header-search button span { display: none; }
  .header-actions > a { min-width: 44px; padding: 5px; }
  .header-actions > a > span:last-child { display: none; }
  .login-chip { min-width: 42px !important; }
  .category-strip { display: none; }
  .catalog-mega { position: fixed; top: 0; left: 0; grid-template-columns: 240px minmax(0, 1fr); width: 100vw; height: 100vh; min-height: 0; border: 0; border-radius: 0; }
  .catalog-mega__rail { overflow-y: auto; }
  .catalog-mega__content { overflow-y: auto; }
  .home-commerce-hero { grid-template-columns: 1fr; }
  .home-category-menu { display: none; }
  .home-main-banner { min-height: 420px; }
  .home-main-banner__content { width: 65%; }
  .home-hero-side { grid-template-columns: 1fr 1fr; }
  .trust-strip { grid-template-columns: repeat(2, 1fr); }
  .trust-strip > div { border-right: 1px solid var(--line) !important; }
  .trust-strip > div:nth-child(even) { border-right: 0 !important; }
  .trust-strip > div:nth-child(n+3) { margin-top: 13px; }
  .home-categories { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .home-product-grid, .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .news-grid, .content-grid, .store-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .catalog-layout { grid-template-columns: 1fr; }
  .catalog-filters { position: fixed; z-index: 220; top: 0; bottom: 0; left: 0; width: min(88vw, 380px); max-height: none; border-radius: 0; transform: translateX(-105%); transition: transform .22s ease; }
  .catalog-filters.open { transform: none; }
  .sidebar__close { display: grid; place-items: center; width: 36px; height: 36px; background: #f1f2f4; border: 0; border-radius: 9px; }
  .filter-backdrop { position: fixed; z-index: 210; inset: 0; background: rgba(0,0,0,.48); }
  .filter-backdrop.open { display: block; }
  .mobile-filter-btn { display: inline-flex; }
  .product-main-grid { grid-template-columns: 1fr; }
  .product-key-info { grid-column: 1; grid-row: auto; }
  .buy-card { position: static; grid-column: 1; grid-row: auto; }
  .product-content-grid { grid-template-columns: 1fr; }
  .product-content-grid > aside { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
  .product-side-section + .product-side-section { margin-top: 0; }
  .cart-layout, .order-detail, .account-shell, .pro-layout, .contacts-grid, .article-page, .content-hero { grid-template-columns: 1fr; }
  .checkout-card, .order-summary, .account-nav, .article-aside { position: static; }
  .account-nav { display: flex; overflow-x: auto; padding: 7px; }
  .account-nav__title, .account-nav__logout-form { display: none; }
  .account-nav nav { display: flex; margin: 0; }
  .account-nav nav a { grid-template-columns: 20px auto; white-space: nowrap; }
  .account-nav nav a > i:last-child { display: none; }
  .pro-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pro-hero__content { padding: 42px; }
  .pro-hero > img { width: 72%; opacity: .7; }
  .steps-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-stat-grid, .account-kpis, .kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sync-grid { grid-template-columns: 1fr; }
  .newsletter__inner { grid-template-columns: 1fr; }
  .footer__grid { grid-template-columns: 1.5fr repeat(2, 1fr); }
  .footer__brand { grid-column: 1 / -1; }
  .footer__legal { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 620px) {
  .wrap { padding-top: 18px; padding-bottom: 48px; }
  h1 { font-size: 31px; }
  h2 { font-size: 25px; }
  .utility-bar { display: none; }
  .site-header { position: sticky; top: 0; }
  .site-header__main { grid-template-columns: 140px 44px 1fr auto; gap: 8px; min-height: 61px; }
  .site-logo { height: 45px; }
  .header-search { grid-column: 1 / -1; order: 5; margin-bottom: 9px; }
  .header-actions > a:nth-child(1) { display: none; }
  .catalog-mega { grid-template-columns: 1fr; }
  .catalog-mega__rail { max-height: 48vh; }
  .catalog-mega__content { display: none; }
  .home-main-banner { min-height: 450px; align-items: flex-end; }
  .home-main-banner::before { background: linear-gradient(0deg, rgba(193,229,255,.98) 0%, rgba(193,229,255,.9) 52%, rgba(193,229,255,.18) 100%); }
  .home-main-banner::after { background-position: center top; background-size: auto 62%; background-repeat: no-repeat; }
  .home-main-banner__content { width: 100%; padding: 26px; }
  .home-main-banner h1 { font-size: 37px; }
  .home-hero-side { grid-template-columns: 1fr; }
  .home-service-mini { grid-template-columns: 1fr; }
  .home-service-mini a { border-right: 0; border-bottom: 1px solid var(--line); }
  .trust-strip { grid-template-columns: 1fr; }
  .trust-strip > div { margin-top: 0 !important; padding: 10px 13px; border-right: 0 !important; border-bottom: 1px solid var(--line); }
  .trust-strip > div:last-child { border-bottom: 0; }
  .home-categories, .catalog-subcategories { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-category-card { min-height: 116px; }
  .home-managed-blocks, .home-product-grid, .grid, .news-grid, .content-grid, .store-grid, .account-grid { grid-template-columns: 1fr; }
  .managed-promo, .managed-promo:last-child:nth-child(odd) { grid-column: auto; min-height: 230px; }
  .managed-promo > div { width: 72%; }
  .business-section { margin-inline: -15px; padding: 36px 15px; border-radius: 22px; }
  .business-benefits { grid-template-columns: 1fr; }
  .catalog-title-row { align-items: flex-start; padding: 21px; }
  .catalog-title-row > img { display: none; }
  .catalog-toolbar { align-items: flex-start; flex-direction: column; }
  .catalog-toolbar__controls { width: 100%; flex-wrap: wrap; }
  .catalog-toolbar__controls form { flex: 1; }
  .catalog-toolbar__controls form label { display: grid; }
  .catalog-toolbar select { width: 100%; min-width: 0; }
  .catalog-products { grid-template-columns: 1fr; }
  .catalog-products--list { border: 0; }
  .catalog-products--list .product-card { grid-template-columns: 120px minmax(0, 1fr); min-height: 220px; border: 1px solid var(--line); border-radius: 12px; margin-bottom: 10px; }
  .catalog-products--list .product-card__image { min-height: 220px; padding: 10px; }
  .catalog-products--list .product-card__body { display: flex; padding: 14px; }
  .catalog-products--list .product-card__stock, .catalog-products--list .product-card__bottom { grid-column: auto; grid-row: auto; }
  .catalog-products--list .product-card__features { display: none; }
  .product-card__image { height: 230px; }
  .product-card__bottom { grid-template-columns: 1fr; }
  .product-card__buy { width: 100%; }
  .product-main-grid { gap: 14px; }
  .product-gallery { grid-template-columns: 1fr; min-height: 0; }
  .product-gallery__thumbs { grid-row: 2; grid-auto-flow: column; grid-auto-columns: 62px; max-height: none; overflow-x: auto; padding: 8px 0 0; }
  .product-gallery__main { min-height: 320px; }
  .product-content-grid > aside { grid-template-columns: 1fr; }
  .product-anchor-nav { margin-inline: -15px; padding-inline: 15px; }
  .spec-table > div { grid-template-columns: 1fr; gap: 2px; }
  .review-summary, .review-card header { align-items: flex-start; flex-direction: column; }
  .cart-table .table thead { display: none; }
  .cart-table .table, .cart-table tbody, .cart-table tr, .cart-table td { display: block; }
  .cart-table tr { padding: 12px 15px; border-bottom: 1px solid var(--line); }
  .cart-table td { padding: 6px 0; border: 0; }
  .cart-product { min-width: 0; }
  .cart-under-table { flex-direction: column; }
  .buyer-type, .formgrid, .formgrid--3, .formgrid--4, .formgrid--5, .special-price-fields { grid-template-columns: 1fr; }
  .quick-links { grid-template-columns: 1fr 1fr; }
  .entity-card__details { grid-template-columns: 1fr; }
  .order-card__head, .order-card__foot { align-items: flex-start; flex-direction: column; }
  .pro-hero { min-height: 520px; }
  .pro-hero__content { padding: 30px 23px; }
  .pro-hero > img { width: 100%; height: 60%; opacity: .58; }
  .pro-hero::after { background: linear-gradient(0deg, rgba(18,22,25,.99) 0%, rgba(18,22,25,.92) 55%, rgba(18,22,25,.2) 100%); }
  .pro-benefits, .steps-grid { grid-template-columns: 1fr; }
  .content-hero { padding: 25px; }
  .content-hero__visual { display: none; }
  .cta-panel { align-items: flex-start; flex-direction: column; }
  .admin-page-head { align-items: flex-start; flex-direction: column; }
  .admin-stat-grid, .account-kpis, .kpis { grid-template-columns: 1fr 1fr; }
  .home-block-admin { grid-template-columns: 1fr; }
  .sync-scope, .sync-steps { grid-template-columns: 1fr; }
  .newsletter__inner form { grid-template-columns: 1fr; }
  .footer__grid { grid-template-columns: 1fr 1fr; }
  .footer__brand { grid-column: 1 / -1; }
  .footer__legal > div:last-child, .copy { align-items: flex-start; flex-direction: column; }
  .toast-region { right: 12px; bottom: 12px; left: 12px; }
  .toast { max-width: none; }
}

@media (max-width: 410px) {
  .site-header__main { grid-template-columns: 125px 42px 1fr auto; }
  .login-chip { display: none !important; }
  .home-categories { grid-template-columns: 1fr; }
  .home-category-card { min-height: 105px; }
  .quick-links, .admin-stat-grid, .account-kpis, .kpis { grid-template-columns: 1fr; }
  .footer__grid { grid-template-columns: 1fr; }
  .footer__brand { grid-column: auto; }
}

/* Authentication, profile forms and organization cards */
.auth-page .wrap { max-width: 1240px; }
.auth-layout { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(390px, .72fr); gap: 22px; min-height: 620px; align-items: stretch; }
.auth-layout--wide { grid-template-columns: minmax(390px, .78fr) minmax(560px, 1.22fr); }
.auth-aside { position: relative; display: flex; flex-direction: column; justify-content: center; overflow: hidden; min-height: 590px; padding: clamp(35px, 5vw, 68px); color: #fff; border-radius: var(--radius-lg); background: radial-gradient(circle at 85% 18%, rgba(224,0,21,.42), transparent 35%), linear-gradient(145deg, #11171c, #242a2f); box-shadow: var(--shadow-lg); }
.auth-aside::before { content: ""; position: absolute; inset: auto -130px -190px auto; width: 460px; height: 460px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; box-shadow: 0 0 0 45px rgba(255,255,255,.025), 0 0 0 90px rgba(255,255,255,.018); }
.auth-aside > * { position: relative; z-index: 1; }
.auth-aside > img { width: min(250px, 70%); max-height: 92px; margin-bottom: 54px; object-fit: contain; object-position: left center; filter: drop-shadow(0 10px 18px rgba(0,0,0,.25)); }
.auth-aside h1 { max-width: 680px; margin: 9px 0 16px; color: #fff; font-size: clamp(35px, 4.2vw, 58px); line-height: 1.04; }
.auth-aside > p { max-width: 650px; color: rgba(255,255,255,.76); font-size: 17px; line-height: 1.6; }
.auth-benefits { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; margin: 30px 0 0; padding: 0; list-style: none; }
.auth-benefits li { display: flex; align-items: center; gap: 11px; min-height: 62px; padding: 13px 15px; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; background: rgba(255,255,255,.06); font-weight: 700; }
.auth-benefits i { display: grid; place-items: center; width: 34px; height: 34px; flex: 0 0 34px; color: #fff; border-radius: 9px; background: var(--red); }
.auth-card { align-self: center; padding: clamp(28px, 4vw, 46px); }
.auth-card--register { align-self: stretch; }
.auth-card__head { margin-bottom: 26px; }
.auth-card__head h2 { margin: 6px 0 8px; font-size: 36px; }
.auth-card__head p { margin: 0; color: var(--muted); }
.auth-support { display: flex; align-items: center; gap: 12px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); }
.auth-support > i { display: grid; place-items: center; width: 40px; height: 40px; color: var(--red); border-radius: 10px; background: var(--red-soft); }
.auth-support span { display: grid; gap: 2px; }
.password-field { position: relative; display: block; }
.password-field input { padding-right: 48px; }
.password-field button { position: absolute; top: 50%; right: 5px; width: 39px; height: 39px; padding: 0; color: var(--muted); border: 0; background: transparent; transform: translateY(-50%); }
.form-section { display: grid; gap: 14px; padding: 20px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.form-section--soft { background: var(--surface-soft); }
.form-section h3 { margin: 0; font-size: 18px; }
.form-hint { margin: 0; color: var(--muted); font-size: 13px; }
.buyer-type--register, .buyer-type--profile { margin: 0; }
.buyer-type__option small { display: block; margin-top: 3px; color: var(--muted); font-weight: 500; }
.entity-layout { display: grid; grid-template-columns: minmax(350px, .72fr) minmax(0, 1.28fr); gap: 18px; align-items: start; }
.entity-form { position: sticky; top: 156px; padding: 22px; }
.entity-list { display: grid; gap: 13px; }
.entity-card__head > div:first-child { display: flex; align-items: center; gap: 12px; }
.entity-icon { display: grid; place-items: center; width: 45px; height: 45px; flex: 0 0 45px; color: var(--red); border-radius: 12px; background: var(--red-soft); }
.entity-card__details { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.entity-card__details > span { padding: 11px 12px; border-radius: 9px; background: var(--surface-soft); }
.entity-card__actions form { margin: 0; }
.smallbtn--danger { color: #ad0011; border-color: #f2b9be; background: #fff5f6; }
.smallbtn--danger:hover { color: #fff; border-color: var(--red); background: var(--red); }
.catalog-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.catalog-head h1 { margin: 5px 0 4px; }
.catalog-head p { margin: 0; color: var(--muted); }
.document-sheet { padding: clamp(24px, 4vw, 48px); }

@media (max-width: 960px) {
  .auth-layout, .auth-layout--wide, .entity-layout { grid-template-columns: 1fr; }
  .auth-aside { min-height: 420px; }
  .auth-aside > img { margin-bottom: 30px; }
  .entity-form { position: static; }
}
@media (max-width: 620px) {
  .auth-aside { min-height: 380px; padding: 30px 24px; }
  .auth-aside h1 { font-size: 35px; }
  .auth-benefits { grid-template-columns: 1fr; }
  .auth-card { padding: 24px 19px; }
  .auth-card__head h2 { font-size: 31px; }
  .catalog-head { align-items: flex-start; flex-direction: column; }
  .entity-card__head, .entity-card__actions { align-items: flex-start; flex-direction: column; }
}

/* Product questions and extended detail */
.product-detail__header > div:first-child { min-width: 0; }
.product-lead { margin: 0 0 20px; color: var(--muted); font-size: 16px; line-height: 1.58; }
.product-badges--detail { position: absolute; z-index: 2; top: 14px; left: 14px; }
.spec-table--compact { margin-top: 10px; }
.question-section .sectionTitle { align-items: center; }
.question-form { display: grid; gap: 14px; margin: 15px 0; padding: 20px; }
.questions-list { display: grid; gap: 12px; }
.question-card { padding: 18px 0; border-top: 1px solid var(--line); }
.question-card header { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.question-card time { color: var(--muted); font-size: 13px; }
.question-card > p { display: flex; align-items: flex-start; gap: 9px; margin: 0; line-height: 1.6; }
.question-card > p i { margin-top: 4px; color: var(--red); }
.question-card > div { margin: 14px 0 0 26px; padding: 14px 16px; border-left: 3px solid var(--red); border-radius: 0 10px 10px 0; background: var(--surface-soft); }
.question-card > div p { margin: 6px 0 0; }

/* Full admin workspace */
.admin-page .wrap { max-width: 100%; padding: 0; }
.admin-page .newsletter, .admin-page .footer, .admin-page .floating-contact, .admin-page .back-to-top { display: none; }
.admin-shell { display: grid; grid-template-columns: 250px minmax(0, 1fr); min-height: calc(100vh - 142px); background: #f3f5f7; }
.admin-sidebar { position: sticky; top: 0; z-index: 50; display: flex; flex-direction: column; height: 100vh; overflow-y: auto; padding: 18px 12px; color: #fff; background: #161c21; }
.admin-sidebar__brand { display: grid; gap: 5px; padding: 6px 10px 18px; color: #fff; border-bottom: 1px solid rgba(255,255,255,.1); }
.admin-sidebar__brand img { width: 170px; max-height: 58px; object-fit: contain; object-position: left center; filter: drop-shadow(0 5px 8px rgba(0,0,0,.22)); }
.admin-sidebar__brand span { color: rgba(255,255,255,.56); font-size: 12px; }
.admin-sidebar__nav { display: grid; gap: 3px; padding: 14px 0; }
.admin-sidebar__nav a { display: grid; grid-template-columns: 24px minmax(0,1fr); align-items: center; gap: 8px; min-height: 39px; padding: 8px 10px; color: rgba(255,255,255,.74); border-radius: 8px; font-size: 13px; font-weight: 700; }
.admin-sidebar__nav a:hover { color: #fff; background: rgba(255,255,255,.08); }
.admin-sidebar__nav a.active { color: #fff; background: var(--red); box-shadow: 0 8px 20px rgba(218,0,20,.28); }
.admin-sidebar__nav i { width: 22px; text-align: center; }
.admin-sidebar__foot { display: grid; gap: 3px; margin-top: auto; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.1); }
.admin-sidebar__foot a { display: flex; align-items: center; gap: 9px; padding: 10px; color: rgba(255,255,255,.72); border-radius: 8px; font-size: 13px; }
.admin-sidebar__foot a:hover { color: #fff; background: rgba(255,255,255,.08); }
.admin-workspace { min-width: 0; }
.admin-topbar { position: sticky; top: 0; z-index: 40; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px; min-height: 78px; padding: 12px clamp(18px,3vw,38px); border-bottom: 1px solid var(--line); background: rgba(255,255,255,.95); backdrop-filter: blur(14px); }
.admin-topbar > button { display: none; width: 42px; height: 42px; padding: 0; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.admin-topbar > div:nth-child(2) { display: grid; }
.admin-topbar > div:nth-child(2) > span { color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.admin-topbar h1 { margin: 2px 0 0; font-size: 24px; }
.admin-user { display: flex; align-items: center; gap: 10px; }
.admin-user span { display: grid; text-align: right; }
.admin-user small { color: var(--muted); }
.admin-user > i { color: var(--red); font-size: 32px; }
.admin-content { max-width: 1600px; margin: 0 auto; padding: 24px clamp(16px,3vw,38px) 50px; }
.admin-dashboard-grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(360px,.65fr); gap: 17px; align-items: start; }
.admin-panel { padding: 20px; }
.admin-panel__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.admin-panel__head h2 { margin: 0; font-size: 20px; }
.admin-list { display: grid; gap: 8px; }
.admin-list-item { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 11px; padding: 11px 0; border-bottom: 1px solid var(--line); }
.admin-list-item:last-child { border-bottom: 0; }
.admin-list-item > i { display: grid; place-items: center; width: 36px; height: 36px; color: var(--red); border-radius: 9px; background: var(--red-soft); }
.admin-list-item span { display: grid; min-width: 0; }
.admin-list-item small { color: var(--muted); }
.admin-quick-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.admin-quick-actions a { display: flex; align-items: center; gap: 10px; min-height: 64px; padding: 13px; border: 1px solid var(--line); border-radius: 11px; background: #fff; font-weight: 800; }
.admin-quick-actions a:hover { border-color: var(--red); color: var(--red); }
.admin-quick-actions i { font-size: 19px; }

@media (max-width: 1120px) {
  .admin-shell { grid-template-columns: 1fr; }
  .admin-sidebar { position: fixed; left: 0; top: 0; width: 260px; transform: translateX(-105%); transition: transform .22s ease; box-shadow: 20px 0 50px rgba(0,0,0,.22); }
  .admin-page.admin-menu-open .admin-sidebar { transform: translateX(0); }
  .admin-topbar > button { display: grid; place-items: center; }
  .admin-dashboard-grid { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .admin-topbar { padding: 10px 14px; }
  .admin-user span { display: none; }
  .admin-content { padding: 18px 12px 40px; }
  .admin-quick-actions { grid-template-columns: 1fr; }
}
.admin-stat-grid--six { grid-template-columns: repeat(6,minmax(0,1fr)); }
.admin-stat { text-decoration: none; }
.admin-stat span i { margin-right: 5px; color: var(--red); }
.admin-list-item > img { width: 44px; height: 44px; object-fit: contain; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.admin-list-item > strong { white-space: nowrap; }
@media (max-width: 1420px) { .admin-stat-grid--six { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width: 620px) { .admin-stat-grid--six { grid-template-columns: repeat(2,minmax(0,1fr)); } }
.admin-two-col--content { grid-template-columns: 310px minmax(0,1fr); }
.content-page-list { display: grid; gap: 4px; }
.content-page-list a { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px 12px; border-radius: 8px; color: var(--ink); }
.content-page-list a:hover { background: var(--surface-soft); }
.content-page-list a.active { color: #fff; background: var(--red); }
.content-page-list small { color: var(--muted); font-size: 11px; }
.content-page-list a.active small { color: rgba(255,255,255,.72); }
.admin-filter-tabs { display: flex; gap: 7px; overflow-x: auto; margin-bottom: 16px; padding-bottom: 2px; }
.admin-filter-tabs a { white-space: nowrap; padding: 9px 13px; border: 1px solid var(--line); border-radius: 999px; background: #fff; font-weight: 750; }
.admin-filter-tabs a.active { color: #fff; border-color: var(--red); background: var(--red); }
.checkline--boxed { align-self: end; min-height: 45px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface-soft); }
@media (max-width: 960px) { .admin-two-col--content { grid-template-columns: 1fr; } }
.admin-flag-list { display: grid; gap: 7px; padding: 13px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-soft); }
.admin-flag-list .checkline { margin: 0; }
.admin-upload-box { display: grid; gap: 10px; padding: 13px; border: 1px dashed var(--line-strong); border-radius: 11px; background: var(--surface-soft); }
.admin-upload-box img { width: 100%; max-height: 210px; object-fit: contain; border-radius: 8px; background: #fff; }
.banner-admin-grid, .promotion-admin-list { display: grid; gap: 13px; }
.banner-admin-card { overflow: hidden; }
.banner-admin-card__visual { position: relative; display: grid; place-items: center; min-height: 175px; overflow: hidden; }
.banner-admin-card__visual img { width: 100%; height: 175px; object-fit: contain; }
.banner-admin-card__visual span { position: absolute; top: 9px; left: 9px; padding: 5px 8px; color: #fff; border-radius: 6px; background: rgba(0,0,0,.62); font-size: 11px; }
.banner-admin-card > div:last-child { padding: 16px; }
.banner-admin-card h3, .promotion-admin-card h3 { margin: 0 0 5px; }
.banner-admin-card p, .promotion-admin-card p { color: var(--muted); }
.banner-admin-card > div:last-child > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.promotion-admin-card { display: grid; grid-template-columns: 190px minmax(0,1fr); overflow: hidden; }
.promotion-admin-card > img { width: 100%; height: 100%; min-height: 190px; object-fit: cover; background: var(--surface-soft); }
.promotion-admin-card > div { padding: 18px; }
.promotion-admin-card__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.promotion-admin-card dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.promotion-admin-card dl > div { padding: 9px; border-radius: 8px; background: var(--surface-soft); }
.promotion-admin-card dt { color: var(--muted); font-size: 11px; }
.promotion-admin-card dd { margin: 3px 0 0; font-weight: 800; }
@media (max-width: 620px) { .promotion-admin-card { grid-template-columns: 1fr; } .promotion-admin-card dl { grid-template-columns: 1fr; } }

/* ==========================================================================
   AMPER READY RELEASE — storefront and administration refinements
   ========================================================================== */
:root {
  --red: var(--brand);
  --red-soft: var(--brand-soft);
  --surface-soft: #f5f6f7;
  --surface: #fff;
}

/* Public header helpers */
.mobile-header-toggle { display: none; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 10px; cursor: pointer; }
.search { min-width: 0; }
.sectionTitle--compact { margin-top: 24px; }
.form-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.product-detail { min-width: 0; }
.product-badges { position: absolute; z-index: 2; top: 12px; left: 12px; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.product-badges > span, .badge-sale, .badge-hit, .badge-new { display: inline-flex; align-items: center; min-height: 25px; padding: 4px 8px; color: #fff; background: var(--brand); border-radius: 7px; font-size: 11px; font-weight: 900; line-height: 1; }
.badge-hit { background: #198754; }
.badge-new { background: #2471b6; }
.filter-chips { display: flex; gap: 8px; margin: 0 0 18px; overflow-x: auto; padding-bottom: 3px; }
.filter-chip { display: inline-flex; align-items: center; gap: 7px; flex: 0 0 auto; min-height: 39px; padding: 8px 13px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 999px; font-size: 13px; font-weight: 750; text-decoration: none; }
.filter-chip:hover, .filter-chip.active { color: #fff; background: var(--brand); border-color: var(--brand); }
.filter-chip b { display: grid; place-items: center; min-width: 20px; height: 20px; padding: 0 5px; color: inherit; background: rgba(255,255,255,.18); border-radius: 999px; font-size: 10px; }
.order-list { display: grid; gap: 14px; }
.order-quick-link { color: var(--brand); background: var(--brand-soft); }
.account-status { display: flex; gap: 8px; flex-wrap: wrap; }

/* Promotional pages */
.promo-hero, .bonus-hero, .info-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  align-items: center;
  gap: 35px;
  min-height: 340px;
  overflow: hidden;
  margin-bottom: 28px;
  padding: clamp(34px, 5vw, 64px);
  color: #fff;
  background: radial-gradient(circle at 82% 20%, rgba(223,0,21,.34), transparent 30%), linear-gradient(135deg,#141a1f,#252c32);
  border-radius: 26px;
}
.info-hero { color: var(--ink); background: linear-gradient(135deg,#f1f4f6,#fff); border: 1px solid var(--line); }
.promo-hero h1, .bonus-hero h1 { color: #fff; font-size: clamp(38px,4.5vw,66px); }
.info-hero h1 { font-size: clamp(36px,4vw,58px); }
.promo-hero p, .bonus-hero p { max-width: 760px; color: #d5d9dd; font-size: 17px; }
.info-hero p { max-width: 760px; color: var(--muted); font-size: 17px; }
.promo-hero__visual, .info-hero__icon { display: grid; place-items: center; justify-self: center; width: 220px; height: 220px; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; background: rgba(255,255,255,.08); box-shadow: 0 0 0 28px rgba(255,255,255,.035), 0 0 0 58px rgba(255,255,255,.018); }
.promo-hero__visual i { color: #fff; font-size: 82px; }
.promo-hero__visual span { margin-top: -42px; color: #ffb9c0; font-weight: 850; text-transform: uppercase; letter-spacing: .1em; }
.info-hero__icon { color: var(--brand); background: var(--brand-soft); border-color: #f0c5ca; box-shadow: 0 0 0 28px rgba(223,0,21,.035); font-size: 78px; }
.info-hero__actions { display: flex; gap: 10px; margin-top: 24px; flex-wrap: wrap; }
.promotion-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.promotion-card { overflow: hidden; box-shadow: none; transition: transform .18s ease, box-shadow .18s ease; }
.promotion-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.promotion-card__media { position: relative; min-height: 215px; background: linear-gradient(135deg,#22282e,#434b53); background-size: cover; background-position: center; }
.promotion-card__media::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.36)); }
.promotion-card__media > span { position: absolute; z-index: 2; top: 16px; left: 16px; display: grid; place-items: center; min-width: 78px; height: 78px; padding: 10px; color: #fff; background: var(--brand); border-radius: 50%; font-size: 22px; font-weight: 950; box-shadow: 0 12px 30px rgba(223,0,21,.3); }
.promotion-card__body { padding: 22px; }
.promotion-card__body > small { color: var(--brand); font-weight: 850; text-transform: uppercase; letter-spacing: .06em; }
.promotion-card__body h2 { margin: 8px 0 10px; font-size: 24px; }
.promotion-card__body p { min-height: 70px; color: var(--muted); }
.promotion-card__body > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 20px; }
.promotion-card__body > div > span { color: var(--muted); font-size: 12px; font-weight: 750; }

/* Brand directory */
.brand-letters { position: sticky; z-index: 15; top: 10px; display: flex; gap: 6px; margin: 0 0 28px; padding: 10px; overflow-x: auto; }
.brand-letters a { display: grid; place-items: center; flex: 0 0 42px; height: 42px; color: var(--ink); border-radius: 9px; font-weight: 900; text-decoration: none; }
.brand-letters a:hover { color: #fff; background: var(--brand); }
.brand-directory { display: grid; gap: 34px; }
.brand-directory > section { scroll-margin-top: 120px; }
.brand-directory > section > h2 { display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: 13px; color: #fff; background: var(--ink); border-radius: 14px; }
.brand-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.brand-card { display: grid; grid-template-columns: 52px minmax(0,1fr) auto; align-items: center; gap: 13px; min-height: 82px; padding: 14px; color: var(--ink); box-shadow: none; text-decoration: none; }
.brand-card:hover { color: var(--brand); border-color: #e8a3aa; box-shadow: var(--shadow-sm); }
.brand-card__mark { display: grid; place-items: center; width: 52px; height: 52px; color: var(--brand); background: var(--brand-soft); border-radius: 13px; font-size: 18px; font-weight: 950; }
.brand-card > div { display: grid; min-width: 0; }
.brand-card small { color: var(--muted); }
.brand-card > i { color: #afb3b7; }

/* Blog */
.blog-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 25px; margin-bottom: 24px; }
.blog-head h1 { margin-bottom: 8px; }
.blog-head p { margin: 0; color: var(--muted); font-size: 17px; }
.featured-article { display: grid; grid-template-columns: 1.12fr .88fr; min-height: 440px; overflow: hidden; color: var(--ink); text-decoration: none; box-shadow: none; }
.featured-article__media { min-height: 400px; background: #eef0f2 center/cover no-repeat; }
.featured-article > div:last-child { display: flex; flex-direction: column; justify-content: center; padding: clamp(30px,5vw,65px); }
.featured-article h2 { font-size: clamp(30px,3.5vw,48px); }
.featured-article p { color: var(--muted); font-size: 16px; }
.featured-article small { color: var(--muted); }
.featured-article b { margin-top: 26px; color: var(--brand); }
.blog-grid { grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 28px; }
.news-card { overflow: hidden; box-shadow: none; }
.news-card > a > img, .news-card > img { width: 100%; height: 220px; object-fit: cover; }
.news-card__body { display: grid; align-content: start; gap: 9px; padding: 20px; }
.news-card__body h2, .news-card__body h3 { margin: 0; font-size: 21px; }
.news-card__body h2 a, .news-card__body h3 a { color: var(--ink); text-decoration: none; }
.news-card__body h2 a:hover, .news-card__body h3 a:hover { color: var(--brand); }
.news-card__body p { color: var(--muted); }
.news-card__body > a:last-child { margin-top: auto; font-weight: 850; text-decoration: none; }
.article-page .wrap { max-width: 1180px; }
.blog-article { max-width: 960px; margin-inline: auto; }
.blog-article > header { max-width: 860px; margin: 0 auto 28px; text-align: center; }
.blog-article > header h1 { font-size: clamp(38px,5vw,66px); }
.article-meta { display: flex; justify-content: center; gap: 18px; color: var(--muted); font-size: 13px; }
.article-meta span { display: flex; align-items: center; gap: 7px; }
.blog-lead { margin: 24px 0 0; color: #40464c; font-size: 19px; line-height: 1.65; }
.blog-cover { width: 100%; max-height: 570px; margin: 0 0 32px; object-fit: cover; border-radius: 22px; }
.blog-body { color: #2a2f34; font-size: 17px; line-height: 1.8; }
.blog-body h2 { margin-top: 42px; font-size: 31px; }
.blog-body h3 { margin-top: 30px; }
.blog-body img { height: auto; margin: 25px auto; border-radius: 14px; }
.article-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 44px; padding: 28px; color: #fff; background: #181d22; border-radius: 18px; }
.article-footer > div { display: grid; }
.article-footer span { color: #cbd0d5; }

/* Bonus, information and contacts */
.bonus-balance-card { display: grid; align-content: center; justify-items: start; min-height: 205px; padding: 28px; color: var(--ink); background: #fff; border-radius: 20px; box-shadow: var(--shadow); }
.bonus-balance-card span { color: var(--muted); }
.bonus-balance-card b { margin: 7px 0; color: var(--brand); font-size: 34px; }
.bonus-balance-card small { color: var(--muted); }
.value-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin: 22px 0; }
.value-grid--3 { grid-template-columns: repeat(3,minmax(0,1fr)); }
.value-grid > article { padding: 24px; background: #fff; border: 1px solid var(--line); border-radius: 16px; }
.value-grid > article > i { color: var(--brand); font-size: 29px; }
.value-grid h3 { margin: 15px 0 7px; }
.value-grid p { margin: 0; color: var(--muted); }
.info-layout { display: grid; grid-template-columns: minmax(0,1fr) 380px; gap: 20px; align-items: start; margin-top: 28px; }
.info-layout > .content-card { padding: 28px; background: #fff; border: 1px solid var(--line); border-radius: 18px; }
.info-sidebar { display: grid; gap: 16px; }
.info-contact-card { padding: 25px; }
.info-notice { display: flex; align-items: flex-start; gap: 11px; margin-top: 20px; padding: 16px; color: #3a4249; background: #f2f5f7; border: 1px solid var(--line); border-radius: 12px; }
.info-notice i { margin-top: 3px; color: var(--brand); }
.info-notice span { display: grid; gap: 4px; }
.process-steps { display: grid; gap: 8px; }
.process-steps article { display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 13px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.process-steps article:last-child { border-bottom: 0; }
.process-steps article > b { display: grid; place-items: center; width: 38px; height: 38px; color: #fff; background: var(--brand); border-radius: 11px; }
.process-steps h3 { margin: 0 0 4px; }
.process-steps p { margin: 0; color: var(--muted); }
.info-contact-card p { color: var(--muted); }
.info-contact-card .btn { margin-top: 10px; }
.contact-list { display: grid; gap: 13px; }
.contact-list > div, .contact-list > a { display: grid; grid-template-columns: 40px minmax(0,1fr); align-items: center; gap: 12px; color: var(--ink); text-decoration: none; }
.contact-list i { display: grid; place-items: center; width: 40px; height: 40px; color: var(--brand); background: var(--brand-soft); border-radius: 10px; }
.contact-list span { display: grid; }
.contact-list small { color: var(--muted); }

/* Documents and customer account additions */
.document-list { display: grid; gap: 9px; }
.document-row { display: grid; grid-template-columns: 48px minmax(0,1fr) auto auto; align-items: center; gap: 13px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.document-row:last-child { border-bottom: 0; }
.document-row__icon { display: grid; place-items: center; width: 46px; height: 46px; color: var(--brand); background: var(--brand-soft); border-radius: 12px; font-size: 20px; }
.document-row > div { display: grid; min-width: 0; }
.document-row small { color: var(--muted); }
.document-row strong { white-space: nowrap; }
.bonus-history { margin-top: 24px; }
.compare-price { color: var(--brand); font-size: 21px; font-weight: 900; }
.compare-stock { font-size: 12px; font-weight: 800; }
.compare-stock.available { color: var(--success); }
.compare-stock.order { color: var(--warning); }

/* Installation */
.install-page { min-height: 100vh; background: radial-gradient(circle at 15% 10%,rgba(223,0,21,.12),transparent 28%),#eef1f4; }
.install-shell { display: grid; place-items: center; min-height: 100vh; padding: 25px; }
.install-card { width: min(100%,720px); padding: clamp(30px,6vw,66px); background: #fff; border: 1px solid var(--line); border-radius: 26px; box-shadow: var(--shadow-lg); }
.install-logo { width: 230px; max-height: 85px; margin-bottom: 38px; object-fit: contain; object-position: left center; }
.install-card h1 { font-size: clamp(34px,5vw,55px); }
.install-card > p { color: var(--muted); font-size: 16px; }
.install-actions { display: flex; gap: 10px; margin-top: 24px; flex-wrap: wrap; }
.install-form { margin-top: 25px; }

/* Administration: dedicated app shell */
.admin-page > .utility-bar,
.admin-page > .site-header,
.admin-page > .newsletter,
.admin-page > .footer,
.admin-page > .back-to-top,
.admin-page > .floating-contact { display: none !important; }
.admin-page .wrap { width: 100%; max-width: none; min-height: 100vh; margin: 0; padding: 0; }
.admin-shell { display: grid; grid-template-columns: 276px minmax(0,1fr); min-height: 100vh; background: #f3f5f7; }
.admin-sidebar { position: sticky; top: 0; z-index: 100; display: flex; flex-direction: column; height: 100vh; overflow-y: auto; padding: 14px 12px; color: #fff; background: linear-gradient(180deg,#12181d,#20272d); box-shadow: 12px 0 35px rgba(15,20,24,.08); }
.admin-sidebar__brand { display: grid; grid-template-columns: 48px minmax(0,1fr) 34px; align-items: center; gap: 10px; padding: 8px 8px 17px; border-bottom: 1px solid rgba(255,255,255,.1); }
.admin-sidebar__brand img { width: 48px; height: 48px; object-fit: contain; }
.admin-sidebar__brand span { display: grid; }
.admin-sidebar__brand b { color: #fff; font-size: 18px; letter-spacing: .04em; }
.admin-sidebar__brand small { color: rgba(255,255,255,.54); font-size: 10px; }
.admin-sidebar__close { display: none; place-items: center; width: 34px; height: 34px; padding: 0; color: #fff; background: rgba(255,255,255,.07); border: 0; border-radius: 8px; }
.admin-nav { display: grid; gap: 3px; padding: 12px 0; }
.admin-nav__caption { margin: 14px 10px 6px; color: rgba(255,255,255,.36); font-size: 9px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.admin-nav__caption:first-child { margin-top: 3px; }
.admin-nav__item { position: relative; display: grid; grid-template-columns: 23px minmax(0,1fr) auto; align-items: center; gap: 9px; min-height: 41px; padding: 8px 10px; color: rgba(255,255,255,.74); border-radius: 9px; font-size: 13px; font-weight: 720; text-decoration: none; }
.admin-nav__item:hover { color: #fff; background: rgba(255,255,255,.075); }
.admin-nav__item.active { color: #fff; background: var(--brand); box-shadow: 0 10px 24px rgba(223,0,21,.25); }
.admin-nav__item > i { width: 22px; text-align: center; }
.admin-nav__badge { display: grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px; color: #fff; background: rgba(255,255,255,.16); border-radius: 999px; font-size: 9px; }
.admin-nav__item:not(.active) .admin-nav__badge { background: var(--brand); }
.admin-sidebar__footer { display: grid; gap: 4px; margin-top: auto; padding: 13px 4px 2px; border-top: 1px solid rgba(255,255,255,.1); }
.admin-sidebar__footer form { margin: 0; }
.admin-sidebar__footer a, .admin-sidebar__footer button { display: flex; align-items: center; gap: 9px; width: 100%; padding: 9px 10px; color: rgba(255,255,255,.65); background: transparent; border: 0; border-radius: 8px; font: inherit; font-size: 12px; text-align: left; text-decoration: none; cursor: pointer; }
.admin-sidebar__footer a:hover, .admin-sidebar__footer button:hover { color: #fff; background: rgba(255,255,255,.07); }
.admin-sidebar-backdrop { display: none; }
.admin-workspace { min-width: 0; }
.admin-topbar { position: sticky; top: 0; z-index: 70; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 15px; min-height: 88px; padding: 13px clamp(18px,3vw,42px); background: rgba(255,255,255,.94); border-bottom: 1px solid var(--line); backdrop-filter: blur(16px); }
.admin-menu-toggle { display: none; place-items: center; width: 43px; height: 43px; padding: 0; background: #fff; border: 1px solid var(--line); border-radius: 10px; }
.admin-topbar > div:nth-child(2) { min-width: 0; }
.admin-topbar .eyebrow { margin-bottom: 2px; }
.admin-topbar h1 { margin: 0; font-size: 25px; }
.admin-topbar p { margin: 3px 0 0; color: var(--muted); font-size: 12px; }
.admin-topbar__actions { display: flex; align-items: center; gap: 8px; }
.admin-topbar__actions .smallbtn { position: relative; }
.admin-topbar__actions .smallbtn b { position: absolute; top: -7px; right: -7px; display: grid; place-items: center; min-width: 19px; height: 19px; padding: 0 4px; color: #fff; background: var(--brand); border: 2px solid #fff; border-radius: 999px; font-size: 9px; }
.admin-content { width: min(100%,1700px); margin-inline: auto; padding: 25px clamp(16px,2.6vw,42px) 60px; }
.admin-content > .notice { margin-bottom: 18px; }

.admin-dashboard-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 13px; }
.admin-dashboard-stat { display: grid; grid-template-columns: 50px minmax(0,1fr); align-items: center; gap: 14px; padding: 19px; box-shadow: none; }
.admin-dashboard-stat__icon { display: grid; place-items: center; width: 50px; height: 50px; color: var(--brand); background: var(--brand-soft); border-radius: 14px; font-size: 22px; }
.admin-dashboard-stat > div:last-child { display: grid; min-width: 0; }
.admin-dashboard-stat span { color: var(--muted); font-size: 12px; }
.admin-dashboard-stat b { margin: 2px 0; font-size: 25px; white-space: nowrap; }
.admin-dashboard-stat small { color: var(--success); font-size: 10px; }
.admin-health-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin: 13px 0 18px; }
.admin-health { display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 10px; padding: 14px 16px; color: var(--ink); box-shadow: none; text-decoration: none; }
.admin-health span { color: var(--muted); font-size: 12px; }
.admin-health b { font-size: 20px; }
.admin-health i { color: #abb0b4; }
.admin-health--warning { border-left: 4px solid #d49b1c; }
.admin-health--info { border-left: 4px solid #2780c3; }
.admin-health--danger { border-left: 4px solid var(--brand); }
.admin-health--neutral { border-left: 4px solid #777f86; }
.admin-dashboard-grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(330px,.65fr); gap: 16px; margin-bottom: 17px; }
.admin-dashboard-chart, .admin-dashboard-products { min-height: 355px; padding: 22px; box-shadow: none; }
.dashboard-bars { display: grid; grid-template-columns: repeat(14,minmax(18px,1fr)); align-items: end; gap: 7px; height: 240px; padding-top: 18px; border-bottom: 1px solid var(--line); }
.dashboard-bar { display: grid; grid-template-rows: 1fr auto; align-items: end; justify-items: center; height: 100%; gap: 7px; }
.dashboard-bar > span { width: min(100%,28px); min-height: 4px; background: linear-gradient(180deg,var(--brand),#ff5968); border-radius: 7px 7px 2px 2px; transition: transform .16s ease; }
.dashboard-bar:hover > span { transform: scaleX(1.12); }
.dashboard-bar small { color: var(--muted); font-size: 9px; transform: rotate(-45deg); transform-origin: center; white-space: nowrap; }
.dashboard-product-list { display: grid; gap: 4px; }
.dashboard-product-list a { display: grid; grid-template-columns: 46px minmax(0,1fr) auto; align-items: center; gap: 10px; min-height: 54px; padding: 5px; color: var(--ink); border-radius: 9px; text-decoration: none; }
.dashboard-product-list a:hover { background: var(--brand-soft-2); }
.dashboard-product-list img { width: 44px; height: 44px; object-fit: contain; background: #fff; border: 1px solid var(--line); border-radius: 8px; }
.dashboard-product-list span { display: grid; min-width: 0; }
.dashboard-product-list b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-product-list small { color: var(--muted); }
.dashboard-product-list strong { white-space: nowrap; }
.admin-empty-compact { padding: 25px; color: var(--muted); text-align: center; }
.admin-table-card + .admin-table-card, .admin-table-card + .card, .card + .admin-table-card { margin-top: 17px; }
.admin-table-card > .card-heading { margin: 0; padding: 18px 20px; border-bottom: 1px solid var(--line); }
.row-selected td { background: #fff3f4 !important; }

.admin-filter-bar { display: grid; grid-template-columns: minmax(220px,1.5fr) minmax(160px,.7fr) minmax(160px,.7fr) auto auto; align-items: end; gap: 10px; margin-bottom: 16px; padding: 14px; box-shadow: none; }
.admin-filter-bar label { font-size: 12px; }
.admin-filter-bar input, .admin-filter-bar select { min-height: 41px; }
.admin-filter-bar .btn, .admin-filter-bar .smallbtn { min-height: 41px; }
.admin-orders-layout { display: grid; grid-template-columns: minmax(0,1fr); gap: 16px; align-items: start; }
.admin-orders-layout--open { grid-template-columns: minmax(0,1fr) 430px; }
.admin-order-editor { position: sticky; top: 108px; max-height: calc(100vh - 126px); overflow: auto; padding: 20px; box-shadow: var(--shadow); }
.admin-order-items { display: grid; gap: 9px; padding: 15px; background: var(--surface-soft); border-radius: 12px; }
.admin-order-items h4 { margin: 0 0 5px; }
.admin-order-items > div { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding-bottom: 9px; border-bottom: 1px solid var(--line); }
.admin-order-items > div:last-child { border-bottom: 0; }
.admin-order-items span { display: grid; }
.admin-order-items small { color: var(--muted); }
.admin-order-items strong { white-space: nowrap; }
.admin-order-items__total { align-items: center !important; padding-top: 6px; }
.admin-order-items__total b { color: var(--brand); font-size: 22px; }

.admin-card-list, .blog-admin-list { display: grid; }
.admin-promo-row, .blog-admin-row { display: grid; grid-template-columns: 120px minmax(0,1fr) auto; align-items: center; gap: 16px; padding: 15px 18px; border-bottom: 1px solid var(--line); }
.admin-promo-row:last-child, .blog-admin-row:last-child { border-bottom: 0; }
.admin-promo-row__image, .blog-admin-row__image { display: grid; place-items: center; width: 120px; height: 82px; overflow: hidden; color: var(--brand); background: var(--brand-soft); border-radius: 11px; font-size: 28px; }
.admin-promo-row__image img, .blog-admin-row__image img { width: 100%; height: 100%; object-fit: cover; }
.admin-promo-row > div:nth-child(2), .blog-admin-row > div:nth-child(2) { min-width: 0; }
.admin-promo-row > div:nth-child(2) > div, .blog-admin-row > div:nth-child(2) > div { display: flex; align-items: center; gap: 9px; }
.admin-promo-row h3, .blog-admin-row h3 { margin: 7px 0 3px; font-size: 17px; }
.admin-promo-row p, .blog-admin-row p { margin: 0 0 4px; color: var(--muted); }
.admin-promo-row small, .blog-admin-row small { color: var(--muted); }
.admin-form-card--sticky { position: sticky; top: 108px; max-height: calc(100vh - 126px); overflow: auto; }

.banner-admin-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
.banner-admin-card { position: relative; overflow: hidden; box-shadow: none; }
.banner-admin-card__media { position: relative; display: grid; place-items: center; min-height: 175px; color: var(--brand); background: linear-gradient(135deg,#eef1f4,#fff); background-size: cover; background-position: center; font-size: 40px; }
.banner-admin-card__media::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent,rgba(0,0,0,.28)); }
.banner-admin-card__media span { position: absolute; z-index: 2; left: 12px; bottom: 10px; padding: 5px 8px; color: #fff; background: rgba(0,0,0,.62); border-radius: 6px; font-size: 10px; font-weight: 800; }
.banner-admin-card__body { padding: 16px; }
.banner-admin-card__body > div { display: flex; align-items: center; justify-content: space-between; gap: 9px; }
.banner-admin-card__body h3 { margin: 10px 0 4px; }
.banner-admin-card__body p { margin: 0; color: var(--muted); }
.banner-admin-card > .row-actions { position: absolute; z-index: 4; top: 10px; right: 10px; }
.admin-upload-preview { width: 100%; max-height: 220px; object-fit: contain; background: var(--surface-soft); border: 1px solid var(--line); border-radius: 10px; }

.admin-two-col--pages { grid-template-columns: 330px minmax(0,1fr); }
.admin-page-list { position: sticky; top: 108px; padding: 13px; }
.admin-page-list > .card-heading { margin: 5px 7px 10px; }
.admin-page-list nav { display: grid; gap: 4px; }
.admin-page-list nav a { display: grid; grid-template-columns: 24px minmax(0,1fr) 10px; align-items: center; gap: 9px; min-height: 54px; padding: 8px 10px; color: var(--ink); border-radius: 9px; text-decoration: none; }
.admin-page-list nav a:hover { background: var(--surface-soft); }
.admin-page-list nav a.active { color: #fff; background: var(--brand); }
.admin-page-list nav a > span { display: grid; }
.admin-page-list nav small { color: var(--muted); font-size: 10px; }
.admin-page-list nav a.active small { color: rgba(255,255,255,.72); }
.admin-page-list nav a > i:last-child { color: #aeb3b7; font-size: 9px; }

.admin-import-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-bottom: 17px; }
.admin-heading-icon { color: var(--brand); font-size: 28px; }
.admin-file-drop { position: relative; display: grid; grid-template-columns: 54px minmax(0,1fr); align-items: center; gap: 15px; min-height: 135px; padding: 22px; background: var(--surface-soft); border: 2px dashed #cfd4d8; border-radius: 14px; cursor: pointer; }
.admin-file-drop:hover { border-color: var(--brand); background: var(--brand-soft-2); }
.admin-file-drop input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.admin-file-drop > i { display: grid; place-items: center; width: 54px; height: 54px; color: var(--brand); background: #fff; border-radius: 14px; font-size: 24px; }
.admin-file-drop span { display: grid; }
.admin-file-drop small { color: var(--muted); }

.admin-inline-edit { position: relative; }
.admin-inline-edit > summary { list-style: none; }
.admin-inline-edit > summary::-webkit-details-marker { display: none; }
.admin-popover-form { position: absolute; z-index: 50; top: 44px; right: 0; display: grid; gap: 10px; width: 310px; padding: 16px; background: #fff; border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow-lg); }
.admin-popover-form label { font-size: 12px; }

/* Release polish: branding, price monitoring and editor helpers */
.admin-sidebar__brand > a { display: contents; color: inherit; text-decoration: none; }
.admin-sidebar-backdrop { width: 100%; height: 100%; padding: 0; border: 0; border-radius: 0; cursor: pointer; }
.branding-preview__favicon { width: 64px !important; height: 64px; object-fit: contain; }
.brand-field { display: grid; gap: 10px; padding: 15px; background: var(--surface-soft); border: 1px solid var(--line); border-radius: 12px; }
.brand-reset { color: var(--muted); font-size: 12px; font-weight: 650; }
.brand-reset:has(input:checked) { color: var(--danger); }
.monitor-layout { grid-template-columns: minmax(0,1fr) 420px; }
.monitor-snapshot, .monitor-apply { display: grid; grid-template-columns: minmax(105px,1fr) auto; gap: 6px; margin-top: 8px; }
.monitor-snapshot input, .monitor-apply input { min-height: 36px; padding: 7px 9px; font-size: 12px; }
.monitor-apply { grid-template-columns: minmax(105px,1fr) minmax(125px,1fr) auto; }
.monitor-apply .smallbtn { min-height: 36px; }
.table-link { display: inline-flex; align-items: center; gap: 5px; margin-top: 4px; font-size: 11px; font-weight: 750; text-decoration: none; }
.admin-help-card { display: grid; grid-template-columns: 32px minmax(0,1fr); gap: 10px; margin-top: 16px; padding: 13px; color: #46505a; background: var(--info-soft); border: 1px solid #cadeef; border-radius: 11px; }
.admin-help-card > i { display: grid; place-items: center; width: 32px; height: 32px; color: var(--info); background: #fff; border-radius: 9px; }
.admin-help-card p { margin: 0; font-size: 12px; }
.home-block-help { display: grid; gap: 7px; padding: 13px; color: #4d555d; background: var(--surface-soft); border: 1px solid var(--line); border-radius: 11px; font-size: 12px; }
.home-block-help b { color: var(--ink); }
.table-sub { display: block; margin-top: 3px; color: var(--muted); font-size: 11px; font-weight: 500; }
.price-up { color: var(--success); font-weight: 800; }
.price-down { color: var(--brand); font-weight: 800; }
.upgrade-grid { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(300px,.8fr); gap: 17px; align-items: start; }
.upgrade-checklist { display: grid; gap: 10px; }
.upgrade-checklist > div { display: grid; grid-template-columns: 32px minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 11px 0; border-bottom: 1px solid var(--line); }
.upgrade-checklist > div:last-child { border-bottom: 0; }
.upgrade-checklist i { display: grid; place-items: center; width: 32px; height: 32px; color: var(--success); background: var(--success-soft); border-radius: 9px; }
.upgrade-checklist span { display: grid; }
.upgrade-checklist small { color: var(--muted); }
.release-version { display: inline-flex; align-items: center; gap: 7px; padding: 6px 10px; color: #fff; background: var(--ink); border-radius: 999px; font-size: 11px; font-weight: 850; }

/* Fix image preview visibility after file selection */
.admin-upload-preview[hidden] { display: block; min-height: 80px; opacity: 0; }

@media (max-width: 1380px) {
  .admin-dashboard-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .admin-health-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .admin-orders-layout--open { grid-template-columns: minmax(0,1fr) 390px; }
  .promotion-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .brand-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (max-width: 1120px) {
  .admin-shell { grid-template-columns: 1fr; }
  .admin-sidebar { position: fixed; left: 0; transform: translateX(-105%); width: 286px; transition: transform .22s ease; }
  .admin-page.admin-menu-open .admin-sidebar { transform: none; }
  .admin-page.admin-menu-open .admin-sidebar-backdrop { display: block; position: fixed; z-index: 90; inset: 0; background: rgba(0,0,0,.48); }
  .admin-sidebar__close, .admin-menu-toggle { display: grid; }
  .admin-dashboard-grid, .admin-orders-layout--open { grid-template-columns: 1fr; }
  .monitor-layout, .upgrade-grid { grid-template-columns: 1fr; }
  .admin-order-editor, .admin-form-card--sticky, .admin-page-list { position: static; max-height: none; }
  .admin-two-col--pages { grid-template-columns: 1fr; }
  .admin-page-list nav { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .admin-page-list nav a { grid-template-columns: 22px minmax(0,1fr); }
  .admin-page-list nav a > i:last-child { display: none; }
  .info-layout { grid-template-columns: 1fr; }
  .brand-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 860px) {
  .promo-hero, .bonus-hero, .info-hero { grid-template-columns: 1fr; }
  .promo-hero__visual, .info-hero__icon, .bonus-balance-card { justify-self: start; }
  .featured-article { grid-template-columns: 1fr; }
  .featured-article__media { min-height: 300px; }
  .promotion-grid, .banner-admin-grid, .admin-import-grid { grid-template-columns: 1fr; }
  .value-grid, .value-grid--3 { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .document-row { grid-template-columns: 46px minmax(0,1fr) auto; }
  .document-row > .smallbtn, .document-row > .muted { grid-column: 2 / -1; justify-self: start; }
  .admin-filter-bar { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .admin-filter-bar .btn, .admin-filter-bar .smallbtn { width: 100%; }
  .admin-page-list nav { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .monitor-snapshot, .monitor-apply { grid-template-columns: 1fr; }
  .monitor-snapshot .iconbtn, .monitor-apply .smallbtn { width: 100%; }
}

@media (max-width: 620px) {
  .mobile-header-toggle { display: flex; }
  .site-header__main { grid-template-columns: 132px 42px 42px minmax(0,1fr); }
  .site-logo { grid-column: 1; }
  .mobile-header-toggle { grid-column: 2; }
  .catalog-menu { grid-column: 3; }
  .header-actions { grid-column: 4; justify-content: flex-end; }
  .header-search { grid-column: 1 / -1; }
  .site-header.mobile-open .category-strip { position: fixed; z-index: 160; top: 112px; right: 12px; left: 12px; display: block; padding: 10px; background: #fff; border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow-lg); }
  .site-header.mobile-open .category-strip__inner { display: grid; gap: 3px; max-height: calc(100vh - 145px); overflow-y: auto; }
  .site-header.mobile-open .category-strip a { padding: 10px; border-radius: 8px; }
  .site-header.mobile-open .category-strip a:hover { background: var(--brand-soft); }
  .promo-hero, .bonus-hero, .info-hero { min-height: 0; padding: 30px 23px; border-radius: 20px; }
  .promo-hero__visual, .info-hero__icon { width: 125px; height: 125px; font-size: 46px; }
  .promo-hero__visual i { font-size: 48px; }
  .bonus-balance-card { min-height: 150px; }
  .promotion-grid, .brand-grid, .blog-grid, .value-grid, .value-grid--3 { grid-template-columns: 1fr; }
  .promotion-card__body > div, .blog-head, .article-footer { align-items: flex-start; flex-direction: column; }
  .featured-article__media { min-height: 230px; }
  .featured-article > div:last-child { padding: 24px; }
  .article-meta { align-items: center; flex-direction: column; gap: 5px; }
  .blog-cover { border-radius: 14px; }
  .document-row { grid-template-columns: 42px minmax(0,1fr); }
  .document-row > strong, .document-row > .smallbtn, .document-row > .muted { grid-column: 2; justify-self: start; }
  .admin-topbar { grid-template-columns: 43px minmax(0,1fr) auto; padding: 10px 12px; }
  .admin-topbar p, .admin-topbar .eyebrow, .admin-topbar__actions .smallbtn:first-child { display: none; }
  .admin-topbar h1 { font-size: 20px; }
  .admin-content { padding: 16px 11px 40px; }
  .admin-dashboard-stats, .admin-health-grid { grid-template-columns: 1fr; }
  .dashboard-bars { gap: 3px; }
  .dashboard-bar small { display: none; }
  .admin-promo-row, .blog-admin-row { grid-template-columns: 82px minmax(0,1fr); }
  .admin-promo-row__image, .blog-admin-row__image { width: 82px; height: 70px; }
  .admin-promo-row > .row-actions, .blog-admin-row > .row-actions { grid-column: 2; justify-content: flex-start; }
  .banner-admin-grid, .admin-import-grid { grid-template-columns: 1fr; }
  .admin-filter-bar { grid-template-columns: 1fr; }
  .admin-page-list nav { grid-template-columns: 1fr; }
  .admin-popover-form { position: fixed; top: 90px; right: 12px; left: 12px; width: auto; }
  .branding-preview img { max-width: 100%; }
}

/* Release v11.0: installation verification and runtime diagnostics */
.admin-release { display:flex; align-items:center; gap:7px; padding:8px 10px; color:#bfc7ce; background:rgba(255,255,255,.045); border:1px solid rgba(255,255,255,.08); border-radius:9px; font-size:11px; font-weight:800; }
.system-file-list { display:grid; gap:0; }
.system-file-list > div { display:grid; grid-template-columns:34px minmax(0,1fr) 150px 86px; align-items:center; gap:10px; min-height:64px; padding:10px 0; border-bottom:1px solid var(--line); }
.system-file-list > div:last-child { border-bottom:0; }
.system-file-list i { display:grid; place-items:center; width:32px; height:32px; color:var(--success); background:var(--success-soft); border-radius:9px; }
.system-file-list span { display:grid; min-width:0; }
.system-file-list small { overflow:hidden; color:var(--muted); text-overflow:ellipsis; white-space:nowrap; }
.system-file-list code { padding:5px 7px; color:#45505a; background:var(--surface-soft); border-radius:7px; font-size:10px; text-align:center; }
.system-file-list strong { color:var(--muted); font-size:11px; text-align:right; }
.system-summary { display:grid; gap:8px; margin-top:16px; padding-top:15px; border-top:1px solid var(--line); }
.system-summary span { display:grid; grid-template-columns:92px minmax(0,1fr); gap:8px; font-size:11px; }
.system-summary em { overflow-wrap:anywhere; color:var(--muted); font-style:normal; text-align:right; }
.code-stack { display:grid; gap:9px; margin-top:15px; }
.code-stack > div { display:grid; grid-template-columns:112px minmax(0,1fr); align-items:center; gap:10px; }
.code-stack b { font-size:11px; }
.code-stack code { display:block; overflow:auto; padding:10px 12px; color:#e9eef2; background:#171c20; border-radius:9px; font-size:11px; white-space:nowrap; }
.system-check-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.system-check-grid > div { display:flex; align-items:center; gap:9px; min-height:44px; padding:9px 11px; background:var(--surface-soft); border:1px solid var(--line); border-radius:10px; font-size:12px; font-weight:700; }
.system-check-grid > div i { display:grid; place-items:center; width:25px; height:25px; border-radius:8px; }
.system-check-grid > div.ok i { color:var(--success); background:var(--success-soft); }
.system-check-grid > div.bad i { color:var(--danger); background:var(--danger-soft); }
.system-check-grid > div.warn i { color:#9a6700; background:#fff4ce; }
.admin-markdown-source{margin:0;max-height:70vh;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font:14px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;color:#26313b;background:#f7f8fa;border:1px solid #e2e6eb;border-radius:14px;padding:18px}
@media (max-width:760px) {
  .system-file-list > div { grid-template-columns:32px minmax(0,1fr); }
  .system-file-list code,.system-file-list strong { grid-column:2; text-align:left; }
  .code-stack > div,.system-check-grid { grid-template-columns:1fr; }
}
.probe-table { display:grid; gap:9px; margin-top:14px; }
.probe-table > div { display:grid; grid-template-columns:150px minmax(0,1.2fr) minmax(0,1fr); align-items:start; gap:10px; padding:12px; background:var(--surface-soft); border:1px solid var(--line); border-left:4px solid var(--danger); border-radius:10px; }
.probe-table > div.ok { border-left-color:var(--success); }
.probe-table span { display:grid; }
.probe-table em { color:var(--muted); font-size:11px; font-style:normal; }
.probe-table code { overflow:auto; padding:8px 10px; color:#e9eef2; background:#171c20; border-radius:8px; font-size:11px; white-space:nowrap; }
.probe-table small { color:var(--muted); overflow-wrap:anywhere; }
@media (max-width:900px) { .probe-table > div { grid-template-columns:1fr; } }

/* Release v10: protocol diagnostics and parent-group expansion */
.probe-target { margin-top:18px; padding:16px; background:#fff; border:1px solid var(--line); border-radius:14px; }
.probe-target + .probe-target { margin-top:12px; }
.probe-target .card-heading { align-items:flex-start; margin-bottom:10px; }
.probe-target .card-heading p { margin:4px 0 0; color:var(--muted); }
.code-stack > div > small { grid-column:2; color:var(--muted); font-size:11px; }
.probe-table > div { grid-template-columns:170px minmax(0,1fr); }
.probe-table > div > small,
.probe-table > div > code { grid-column:2; }
.probe-table > div > code + code { margin-top:-4px; }
@media (max-width:900px) {
  .probe-table > div { grid-template-columns:1fr; }
  .probe-table > div > small,
  .probe-table > div > code,
  .code-stack > div > small { grid-column:1; }
}
.admin-code-block { max-height:720px; margin:0; overflow:auto; padding:16px; color:#e8edf1; background:#161b1f; border-radius:12px; font-size:12px; line-height:1.55; white-space:pre-wrap; overflow-wrap:anywhere; }

/* ==========================================================================
   Storefront polish — cart, product and home
   ========================================================================== */

/* Cart and checkout */
.checkout-progress {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 22px;
  padding: 0;
  list-style: none;
}
.checkout-progress li {
  position: relative;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-items: center;
  gap: 0 10px;
  min-width: 0;
  padding: 12px 14px;
  color: var(--muted);
  background: #f6f7f8;
  border: 1px solid var(--line);
  border-radius: 12px;
}
.checkout-progress li > span {
  grid-row: 1 / 3;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  color: #fff;
  background: #a9adb2;
  border-radius: 50%;
  font-weight: 900;
}
.checkout-progress li b { color: var(--ink); line-height: 1.2; }
.checkout-progress li small { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.checkout-progress li.active { background: var(--brand-soft-2); border-color: #efc2c7; }
.checkout-progress li.active > span { background: var(--brand); box-shadow: 0 6px 15px rgba(223,0,21,.2); }
.cart-layout > section,
.checkout-card,
.checkout-card form,
.checkout-card form > section,
.checkout-card label { min-width: 0; }
.cart-table { border-radius: 14px; }
.cart-table .table { table-layout: fixed; }
.cart-table .table th:nth-child(2) { width: 164px; }
.cart-table .table th:nth-child(3) { width: 112px; }
.cart-table .table th:nth-child(4) { width: 128px; }
.cart-table .table th:last-child { width: 55px; }
.cart-table .table td:nth-child(3),
.cart-table .table td:nth-child(4) { white-space: nowrap; }
.cart-product { min-width: 0; }
.cart-product img { flex: 0 0 68px; width: 68px; height: 68px; padding: 5px; }
.cart-product b {
  display: -webkit-box;
  overflow: hidden;
  line-height: 1.38;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.qty-control {
  display: grid;
  grid-template-columns: 38px minmax(62px, 76px) 38px;
  align-items: center;
  width: fit-content;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--line-strong);
  border-radius: 10px;
}
.qty-control button {
  width: 38px;
  height: 40px;
  padding: 0;
  background: #f5f6f7;
  border: 0;
  font-size: 19px;
  font-weight: 700;
  cursor: pointer;
}
.qty-control button:hover { color: var(--brand); background: var(--brand-soft); }
.qty-control input {
  min-width: 0;
  min-height: 40px;
  padding: 5px 3px;
  text-align: center;
  border: 0;
  border-right: 1px solid var(--line);
  border-left: 1px solid var(--line);
  border-radius: 0;
  box-shadow: none;
  appearance: textfield;
}
.qty-control input::-webkit-inner-spin-button,
.qty-control input::-webkit-outer-spin-button { margin: 0; appearance: none; }
.cart-under-table { align-items: center; }
.cart-price-refresh { max-width: 70%; margin: 0; }
.cart-page .product-trust { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 14px; }
.cart-page .product-trust div { grid-template-columns: 24px minmax(0, 1fr); align-items: center; }
.cart-page .product-trust i { grid-row: auto; }
.checkout-card {
  overflow: hidden;
  padding: 23px;
  border-top: 4px solid var(--brand);
  box-shadow: 0 18px 48px rgba(21,24,28,.1);
}
.checkout-card__head { align-items: center; padding-bottom: 17px; border-bottom: 1px solid var(--line); }
.checkout-card__head .checkout-total {
  display: grid;
  gap: 1px;
  margin: 0;
  padding: 0;
  text-align: right;
  border: 0;
}
.checkout-card__head .checkout-total span { color: var(--muted); font-size: 11px; font-weight: 700; text-transform: uppercase; }
.checkout-card__head .checkout-total b { color: var(--brand); font-size: 22px; line-height: 1.2; white-space: nowrap; }
.checkout-card form { display: grid; gap: 16px; }
.checkout-card form > hr { width: 100%; margin: 4px 0; }
.buyer-type { margin: 0; }
.buyer-type legend {
  grid-column: 1 / -1;
  width: 100%;
  margin-bottom: 7px;
  font-size: 13px;
  font-weight: 800;
}
.buyer-type__option span {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-content: center;
  justify-content: stretch;
  gap: 1px 8px;
  min-height: 64px;
  text-align: left;
}
.buyer-type__option span > i { grid-row: 1 / 3; align-self: center; font-size: 18px; text-align: center; }
.buyer-type__option span > b { min-width: 0; line-height: 1.2; overflow-wrap: anywhere; }
.buyer-type__option span > small { min-width: 0; margin: 0; line-height: 1.25; }
.checkout-fields { gap: 14px; }
.checkout-profile {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px 12px;
}
.checkout-profile > div { display: flex; align-items: flex-start; gap: 9px; min-width: 0; }
.checkout-profile > div span { min-width: 0; }
.checkout-profile > div b,
.checkout-profile > div small { overflow-wrap: anywhere; }
.checkout-profile > a { align-self: center; white-space: nowrap; }
.checkout-profile dl {
  grid-column: 1 / -1;
  display: grid;
  gap: 4px;
  width: 100%;
  margin: 2px 0 0;
  padding-top: 9px;
  border-top: 1px solid rgba(22,131,70,.15);
}
.checkout-profile dl > div { display: grid; grid-template-columns: 70px minmax(0, 1fr); gap: 9px; }
.checkout-profile dt { color: #4d735c; font-size: 11px; }
.checkout-profile dd { min-width: 0; margin: 0; font-size: 12px; font-weight: 750; overflow-wrap: anywhere; text-align: right; }
.checkout-login { display: flex; align-items: flex-start; gap: 11px; }
.checkout-login > i { display: grid; place-items: center; width: 34px; height: 34px; flex: 0 0 34px; color: var(--brand); background: #fff; border-radius: 9px; }
.checkout-login > span { display: block; min-width: 0; overflow-wrap: anywhere; }
.checkout-login b { display: block; }
.checkout-actions { margin-top: 2px; }

/* Product detail */
.product-detail__header { padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.product-detail__meta > span,
.product-detail__meta > a,
.product-detail__meta > button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 32px;
  padding: 6px 10px;
  background: #f5f6f7;
  border-radius: 9px;
}
.product-detail__meta > button.active { color: var(--brand); background: var(--brand-soft); }
.product-gallery {
  overflow: hidden;
  background: linear-gradient(145deg, #fff 64%, #f6f7f8);
  border-color: #dfe2e5;
}
.product-gallery__main { position: relative; padding: 18px; }
.product-gallery__main::after {
  content: "";
  position: absolute;
  z-index: 0;
  right: -70px;
  bottom: -70px;
  width: 210px;
  height: 210px;
  border: 1px solid rgba(223,0,21,.08);
  border-radius: 50%;
  box-shadow: 0 0 0 35px rgba(223,0,21,.025);
  pointer-events: none;
}
.product-gallery__main > img { position: relative; z-index: 1; }
.product-badges--detail { z-index: 3; }
.product-key-info dl > div { padding-bottom: 9px; border-bottom: 1px dotted var(--line-strong); }
.buy-card { overflow: hidden; border-top: 4px solid var(--brand); }
.buy-card__price > small { color: var(--muted); font-size: 11px; }
.buy-card__stock-status {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) 28px;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
  padding: 12px;
  color: var(--success);
  background: var(--success-soft);
  border: 1px solid #c2e5cf;
  border-radius: 12px;
}
.buy-card__stock-status > i {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  color: #fff;
  background: var(--success);
  border-radius: 10px;
}
.buy-card__stock-status > span { display: grid; min-width: 0; }
.buy-card__stock-status > span b { line-height: 1.2; }
.buy-card__stock-status > span small { color: #467158; font-size: 11px; }
.buy-card__stock-status > a { display: grid; place-items: center; width: 28px; height: 28px; color: inherit; border-radius: 8px; text-decoration: none; }
.stock-status--low { color: #8b5900; background: var(--warning-soft); border-color: #efd997; }
.stock-status--low > i { background: #b47300; }
.stock-status--low > span small { color: #795f31; }
.stock-status--order { color: #686e74; background: #f3f4f5; border-color: var(--line); }
.stock-status--order > i { background: #747a80; }
.stock-status--order > span small { color: var(--muted); }
.buy-card__qty-label {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 7px;
  font-size: 12px;
}
.buy-card__qty-label small { text-align: right; }
.buy-card__qty {
  grid-template-columns: 42px minmax(74px, 1fr) 42px auto;
  width: 100%;
  gap: 5px;
  margin-bottom: 14px;
}
.buy-card__qty button { height: 44px; font-weight: 800; }
.buy-card__qty input { min-width: 0; min-height: 44px; }
.buy-card__qty > span { min-width: 35px; color: var(--muted); font-size: 12px; text-align: center; }
.buy-card__actions { display: grid; gap: 9px; }
.buy-card__actions .btn + .btn { margin-top: 0; }
.buy-card__availability { margin-top: 18px; }
.buy-card__availability a { padding: 2px 0; }
.buy-card__availability a > i { color: var(--brand); }
.buy-card__trust {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
  margin: 17px -12px -12px;
  padding-top: 13px;
  border-top: 1px solid var(--line);
}
.buy-card__trust span { display: grid; justify-items: center; gap: 4px; color: var(--muted); font-size: 10px; text-align: center; }
.buy-card__trust i { color: var(--brand); font-size: 15px; }
.product-side-section {
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 15px;
}
.product-side-section > h2 { margin-bottom: 14px; font-size: 21px; }
.product-side-section > a { display: flex; align-items: flex-start; gap: 11px; padding: 10px 0; color: var(--ink); border-bottom: 1px solid var(--line); text-decoration: none; }
.product-side-section > a:last-child { border-bottom: 0; }
.product-side-section > a > i { display: grid; place-items: center; width: 34px; height: 34px; flex: 0 0 34px; color: var(--brand); background: var(--brand-soft); border-radius: 9px; }
.product-side-section > a span { display: grid; }
.product-side-section > a small { color: var(--muted); }
.product-side-section__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin-bottom: 5px; }
.product-side-section__head h2 { margin: 0; font-size: 23px; }
.product-side-section__head strong { color: var(--success); font-size: 18px; white-space: nowrap; }
.stock-location {
  grid-template-columns: 38px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 14px 0;
}
.stock-location__icon {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  color: var(--success);
  background: var(--success-soft);
  border-radius: 10px;
}
.stock-location > span { display: grid; min-width: 0; gap: 2px; color: var(--ink); }
.stock-location > span b { grid-area: auto; min-width: 0; color: var(--ink); font-size: 13px; overflow-wrap: anywhere; }
.stock-location > span small { color: var(--muted); font-size: 10px; overflow-wrap: anywhere; }
.stock-location > em { display: grid; justify-items: end; color: var(--success); font-style: normal; white-space: nowrap; }
.stock-location > em b { grid-area: auto; color: inherit; font-size: 16px; }
.stock-location > em small { color: var(--muted); font-size: 10px; }
.stock-location__meter {
  display: block;
  width: 100%;
  height: 4px;
  overflow: hidden;
  margin-top: 4px;
  background: #e8ecea;
  border-radius: 999px;
}
.stock-location__meter > i {
  display: block;
  width: var(--stock-level);
  height: 100%;
  background: linear-gradient(90deg, #2aaa63, var(--success));
  border-radius: inherit;
}
.availability-empty { display: flex; align-items: flex-start; gap: 12px; padding: 16px; background: #f5f6f7; border-radius: 11px; }
.availability-empty > i { color: var(--warning); font-size: 22px; }
.availability-empty p { margin: 4px 0 0; color: var(--muted); font-size: 12px; }
.availability-note { display: flex; align-items: flex-start; gap: 7px; margin: 12px 0 0; color: var(--muted); font-size: 10px; }

/* Home page */
.home-main-banner {
  border: 1px solid #e1e3e6;
  border-top: 4px solid var(--brand);
  background: #f2f3f4;
  box-shadow: 0 14px 36px rgba(21,24,28,.08);
}
.home-main-banner::before {
  background: linear-gradient(90deg, rgba(255,255,255,.99) 0%, rgba(255,255,255,.96) 45%, rgba(255,255,255,.42) 68%, rgba(255,255,255,.04) 100%);
}
.home-main-banner__content { width: min(64%, 670px); }
.home-main-banner h1 { max-width: 650px; font-size: clamp(38px,3.35vw,56px); }
.home-main-banner p { max-width: 570px; color: #4c535a; }
.home-main-banner__actions { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.home-main-banner__points { display: flex; gap: 8px 16px; margin-top: 23px; flex-wrap: wrap; color: #4e555c; font-size: 11px; font-weight: 750; }
.home-main-banner__points span { display: inline-flex; align-items: center; gap: 6px; }
.home-main-banner__points i { color: var(--success); }
.trust-strip { border-color: #dedfe2; }
.trust-strip > div { min-height: 45px; }
.trust-strip i { display: grid; place-items: center; width: 38px; height: 38px; flex: 0 0 38px; background: var(--brand-soft); border-radius: 10px; font-size: 18px; }
.home-spotlight-links {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}
.home-spotlight-links > a {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) 15px;
  align-items: center;
  gap: 11px;
  min-width: 0;
  padding: 15px;
  color: var(--ink);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 13px;
  text-decoration: none;
  transition: border-color .16s ease, transform .16s ease, box-shadow .16s ease;
}
.home-spotlight-links > a:hover { color: var(--brand); border-color: #e6aeb4; box-shadow: var(--shadow-sm); transform: translateY(-2px); }
.home-spotlight-links > a > i:first-child { display: grid; place-items: center; width: 40px; height: 40px; color: var(--brand); background: var(--brand-soft); border-radius: 10px; }
.home-spotlight-links > a > i:last-child { color: #a2a7ac; font-size: 11px; }
.home-spotlight-links span { display: grid; min-width: 0; }
.home-spotlight-links b { line-height: 1.25; }
.home-spotlight-links small { margin-top: 3px; color: var(--muted); font-size: 10px; line-height: 1.35; }
.sectionTitle--home > div { min-width: 0; }
.sectionTitle--home p { max-width: 700px; margin: 7px 0 0; color: var(--muted); font-size: 13px; }
.home-category-card {
  background: linear-gradient(145deg, #f6f7f8, #eef0f2);
  transition: color .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.home-category-card:hover { transform: translateY(-2px); }
.product-tabs { gap: 8px; }
.product-tabs button { border-radius: 9px 9px 0 0; }

@media (max-width: 1180px) {
  .cart-table .table th:nth-child(2) { width: 150px; }
  .cart-table .table th:nth-child(3) { width: 100px; }
  .cart-table .table th:nth-child(4) { width: 112px; }
  .cart-table .table th,
  .cart-table .table td { padding-inline: 10px; }
  .home-spotlight-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 1100px) {
  .cart-layout { grid-template-columns: minmax(0, 1fr); }
  .checkout-card { position: static; }
}

@media (max-width: 760px) {
  .catalog-products--list .product-card { grid-template-columns: 120px minmax(0, 1fr); min-height: 220px; }
  .catalog-products--list .product-card__image { min-height: 220px; padding: 10px; }
  .catalog-products--list .product-card__body { display: flex; min-width: 0; padding: 14px; }
  .catalog-products--list .product-card__stock,
  .catalog-products--list .product-card__bottom { grid-column: auto; grid-row: auto; }
  .catalog-products--list .product-card__features { display: none; }
  .catalog-products--list .product-card__tools { right: auto; left: 74px; }
  .catalog-products--list .product-card--image-cover .product-card__image { padding: 0; }
}

@media (max-width: 860px) {
  .checkout-progress { margin-bottom: 16px; }
  .cart-page .product-trust { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .checkout-card { padding: 22px; }
  .product-detail__meta { gap: 7px; }
  .product-detail__meta > span,
  .product-detail__meta > a,
  .product-detail__meta > button { min-height: 30px; padding: 5px 8px; }
  .product-gallery { min-height: 440px; }
  .product-gallery__main { min-height: 390px; }
  .home-main-banner__content { width: min(68%, 630px); }
}

@media (max-width: 620px) {
  .cart-page-head { margin-bottom: 14px; }
  .cart-page-head .btn { width: 100%; }
  .checkout-progress { gap: 5px; }
  .checkout-progress li { grid-template-columns: 30px minmax(0, 1fr); gap: 6px; padding: 9px 7px; }
  .checkout-progress li > span { width: 30px; height: 30px; font-size: 12px; }
  .checkout-progress li b { font-size: 11px; }
  .checkout-progress li small { display: none; }
  .cart-table { overflow: visible; background: transparent; border: 0; box-shadow: none; }
  .cart-table .table { background: transparent; }
  .cart-table tbody { display: grid; gap: 10px; }
  .cart-table tr {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    overflow: hidden;
    padding: 14px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 13px;
    box-shadow: var(--shadow-sm);
  }
  .cart-table .table td {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-width: 0;
    padding: 9px 0;
    border-top: 1px solid var(--line);
  }
  .cart-table .table td:first-child { padding: 0 38px 14px 0; border-top: 0; }
  .cart-table .table td:nth-child(2)::before { content: "Количество"; }
  .cart-table .table td:nth-child(3)::before { content: "Цена"; }
  .cart-table .table td:nth-child(4)::before { content: "Сумма"; }
  .cart-table .table td:nth-child(n+2):nth-child(-n+4)::before { color: var(--muted); font-size: 11px; font-weight: 750; }
  .cart-table .table tr:not(.cart-empty-row) td:last-child { position: absolute; top: 11px; right: 11px; display: block; padding: 0; border: 0; }
  .cart-table .table tr:not(.cart-empty-row) td:last-child .smallbtn { width: 36px; min-height: 36px; padding: 0; color: var(--danger); }
  .cart-table .cart-empty-row td:first-child { display: block; padding: 0; border: 0; }
  .cart-product { align-items: flex-start; width: 100%; }
  .cart-product img { flex-basis: 72px; width: 72px; height: 72px; }
  .qty-control { grid-template-columns: 36px 62px 36px; }
  .qty-control button { width: 36px; height: 38px; }
  .qty-control input { min-height: 38px; }
  .cart-empty { padding: 24px 8px; }
  .cart-under-table { align-items: stretch; padding-inline: 0; border: 0; }
  .cart-price-refresh { max-width: none; }
  .cart-under-table .smallbtn { width: 100%; }
  .cart-page .product-trust { grid-template-columns: 1fr; }
  .cart-page .product-trust div { grid-template-columns: 28px minmax(0,1fr); }
  .checkout-card { padding: 19px 16px; border-radius: 14px; }
  .checkout-card__head h2 { font-size: 21px; }
  .checkout-card__head .checkout-total b { font-size: 19px; }
  .buyer-type { grid-template-columns: 1fr 1fr; }
  .buyer-type__option span { grid-template-columns: 24px minmax(0,1fr); min-height: 68px; padding: 8px; }
  .buyer-type__option span > i { font-size: 16px; }
  .buyer-type__option span > b { font-size: 11px; }
  .buyer-type__option span > small { font-size: 9px; }
  .checkout-card .formgrid { grid-template-columns: 1fr; }
  .checkout-profile { grid-template-columns: 1fr; }
  .checkout-profile > a,
  .checkout-profile dl { grid-column: 1; }
  .checkout-profile > a { white-space: normal; }
  .product-detail__header h1 { font-size: 28px; overflow-wrap: anywhere; }
  .product-detail__meta { align-items: stretch; }
  .product-detail__meta > span,
  .product-detail__meta > a,
  .product-detail__meta > button { flex: 1 1 calc(50% - 7px); justify-content: center; font-size: 11px; text-align: center; }
  .product-gallery { min-height: 0; padding: 12px; }
  .product-gallery__main { min-height: 300px; padding: 8px; }
  .product-images-cover .product-gallery__main { padding: 0; }
  .product-card--image-cover .product-card__image { padding: 0; }
  .product-gallery__thumbs { grid-auto-columns: 58px; }
  .buy-card { padding: 19px; }
  .buy-card__price > b { font-size: 29px; }
  .buy-card__qty-label { align-items: flex-start; flex-direction: column; gap: 2px; }
  .buy-card__qty-label small { text-align: left; }
  .product-content-grid > aside { display: grid; grid-template-columns: 1fr; }
  .product-side-section { padding: 17px; }
  .stock-location { grid-template-columns: 36px minmax(0, 1fr) auto; gap: 8px; }
  .stock-location__icon { width: 36px; height: 36px; }
  .home-main-banner { min-height: 510px; align-items: flex-end; }
  .home-main-banner::before { background: linear-gradient(0deg, rgba(255,255,255,.99) 0%, rgba(255,255,255,.96) 58%, rgba(255,255,255,.18) 100%); }
  .home-main-banner::after { background-position: center top; background-size: auto 58%; background-repeat: no-repeat; }
  .home-main-banner__content { width: 100%; padding: 24px 21px; }
  .home-main-banner h1 { margin-bottom: 12px; font-size: 34px; }
  .home-main-banner p { margin-bottom: 17px; font-size: 14px; }
  .home-main-banner__actions { display: grid; grid-template-columns: 1fr; }
  .home-main-banner__actions .btn { width: 100%; }
  .home-main-banner__points { gap: 6px 12px; margin-top: 17px; }
  .home-spotlight-links { grid-template-columns: 1fr; }
  .home-spotlight-links > a { padding: 13px; }
  .sectionTitle--home { align-items: flex-start; flex-direction: column; margin-top: 38px; }
  .sectionTitle--home > a { width: 100%; padding-top: 11px; border-top: 1px solid var(--line); }
  .product-tabs { overflow-x: auto; }
  .product-tabs button { flex: 0 0 auto; white-space: nowrap; }
}

@media (max-width: 380px) {
  .buyer-type { grid-template-columns: 1fr; }
  .buyer-type__option span { min-height: 58px; }
  .product-detail__meta > span,
  .product-detail__meta > a,
  .product-detail__meta > button { flex-basis: 100%; }
  .stock-location { grid-template-columns: 34px minmax(0, 1fr); }
  .stock-location > em { grid-column: 2; justify-items: start; }
}
