/* «Аптека в Москве» (tabletkimoscow) — the modern restyle, loaded after the donor stylesheet (frontend/dist main.css)
   by this shop only. Started as a copy of Аптека №1's modern.css; the --a1-* token names are kept, the palette is this
   shop's: red #D42A30 (brand and buttons, AA on white), coral #E8573F (decor), ink #1D2329.
   Roboto Condensed for headings and prices, Roboto for running text. Spacing scale 4 · 8 · 12 · 16 · 24 · 32 · 48 · 64.
   Sections: tokens · base · header · menu · home · cards · listing · product · basket/checkout · cabinet · content ·
   footer · utilities · tabletkimoscow (the banner grid). */

:root {
  --a1-red: #d42a30;
  --a1-red-dark: #ae1f25;
  --a1-red-soft: #fdf0f0;
  --a1-green: #e8573f;
  --a1-green-btn: #d42a30;
  --a1-green-btn-hover: #ae1f25;
  --a1-green-soft: #fdf0f0;
  --a1-ink: #1d2329;
  --a1-ink-2: #3a424b;
  --a1-muted: #5f6873;
  --a1-faint: #8a929c;
  --a1-line: #e5e8ec;
  --a1-line-2: #d5dae0;
  --a1-bg: #f4f6f8;
  --a1-white: #fff;
  --a1-radius: 16px;
  --a1-radius-md: 12px;
  --a1-radius-sm: 8px;
  --a1-shadow-sm: 0 1px 2px rgba(16, 24, 40, 0.05);
  --a1-shadow: 0 1px 2px rgba(16, 24, 40, 0.04), 0 6px 20px rgba(16, 24, 40, 0.07);
  --a1-shadow-lg: 0 12px 40px rgba(16, 24, 40, 0.16);
  --a1-head: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
  --a1-text: Roboto, Arial, Helvetica, sans-serif;
  --a1-gutter: 108px;
  --a1-ring: 0 0 0 3px rgba(212, 42, 48, 0.35);
}
@media (max-width: 1200px) {
  :root { --a1-gutter: 48px; }
}
@media (max-width: 850px) {
  :root { --a1-gutter: 24px; }
}
@media (max-width: 750px) {
  :root { --a1-gutter: 16px; }
}

/* ───────────────────────── base ───────────────────────── */
html { -webkit-text-size-adjust: 100%; }
body { color: var(--a1-ink); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
html, html body { overflow-x: clip; }
.main-container { background: var(--a1-white); min-height: 100vh; }
.container,
.a1-wrap { width: 100%; max-width: 1440px; padding-left: var(--a1-gutter); padding-right: var(--a1-gutter); margin-left: auto; margin-right: auto; }
.a1-icon { display: block; flex-shrink: 0; }
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible { outline: 2px solid var(--a1-green-btn); outline-offset: 2px; border-radius: 6px; }

.h1, h1.h1, .main-title { font-family: var(--a1-head); font-weight: 700; letter-spacing: -0.01em; color: var(--a1-ink); }
.h2, .h3 { font-family: var(--a1-head); letter-spacing: -0.005em; color: var(--a1-ink); }

/* buttons of the templates */
.primary-button {
  min-height: 48px; padding: 12px 24px; border-radius: var(--a1-radius-md); background-color: var(--a1-green-btn);
  font-family: var(--a1-head); font-size: 18px; line-height: 22px; font-weight: 500; letter-spacing: 0.01em;
  transition: background-color 0.15s, box-shadow 0.15s, transform 0.15s;
}
.primary-button:hover { background-color: var(--a1-green-btn-hover); opacity: 1; }
.primary-button:active { transform: translateY(1px); }
.primary-button:disabled,
.primary-button[disabled] { background-color: #c9ced4; color: #fff; cursor: not-allowed; }
.secondary-button {
  min-height: 48px; padding: 12px 24px; border-radius: var(--a1-radius-md); border: 1.5px solid var(--a1-green-btn); color: var(--a1-green-btn);
  font-family: var(--a1-head); font-size: 18px; line-height: 22px; font-weight: 500;
}
.secondary-button:hover { background: var(--a1-green-soft); }
.a1-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 10px 20px;
  border-radius: var(--a1-radius-md); font: 500 17px/20px var(--a1-head); text-decoration: none; cursor: pointer; border: 0;
  transition: background-color 0.15s, color 0.15s, border-color 0.15s;
}
.a1-btn_primary { background: var(--a1-green-btn); color: #fff; }
.a1-btn_primary:hover { background: var(--a1-green-btn-hover); color: #fff; }
.a1-btn_ghost { background: #fff; color: var(--a1-green-btn); box-shadow: inset 0 0 0 1.5px var(--a1-green-btn); }
.a1-btn_ghost:hover { background: var(--a1-green-soft); }

/* ───────────────────────── header ───────────────────────── */
.a1-header {
  position: sticky; top: -36px; z-index: 950; width: 100%; align-self: stretch; background: #fff;
  transition: box-shadow 0.2s;
}
.a1-header_stuck { box-shadow: 0 1px 0 var(--a1-line), 0 6px 18px rgba(16, 24, 40, 0.06); }
.a1-topbar { height: 36px; background: var(--a1-bg); font: 400 14px/20px var(--a1-text); color: var(--a1-muted); }
.a1-topbar__in { display: flex; align-items: center; justify-content: space-between; height: 100%; }
.a1-topbar__links { display: flex; align-items: center; gap: 24px; }
.a1-topbar__link { display: inline-flex; align-items: center; gap: 6px; color: var(--a1-muted); text-decoration: none; transition: color 0.15s; }
.a1-topbar__link:hover { color: var(--a1-ink); }
.a1-topbar__link_user { color: var(--a1-ink-2); font-weight: 500; }

.a1-hmain { background: #fff; }
.a1-hmain__in {
  display: grid; grid-template-columns: auto auto minmax(200px, 1fr) auto auto; grid-template-areas: "logo cat search phone actions";
  align-items: center; column-gap: 20px; height: 80px;
}
.a1-logo { grid-area: logo; display: flex; align-items: center; margin-right: 8px; }
.a1-logo .a1-logo__full { display: block; height: 42px; width: auto; }
.a1-logo .a1-logo__short { display: none; height: 34px; width: auto; }
.a1-catbtn {
  grid-area: cat; display: inline-flex; align-items: center; gap: 10px; height: 48px; padding: 0 22px 0 16px; border: 0;
  border-radius: var(--a1-radius-md); background: var(--a1-green-btn); color: #fff; font: 500 18px/1 var(--a1-head); cursor: pointer;
  transition: background-color 0.15s;
}
.a1-catbtn:hover,
.a1-catbtn_open { background: var(--a1-green-btn-hover); }
.a1-search {
  grid-area: search; position: relative; display: flex; align-items: center; height: 48px; min-width: 0;
  border: 1.5px solid var(--a1-line-2); border-radius: var(--a1-radius-md); background: #fff; transition: border-color 0.15s, box-shadow 0.15s;
}
.a1-search:hover { border-color: #b9c0c8; }
.a1-search:focus-within { border-color: var(--a1-green); box-shadow: var(--a1-ring); }
.a1-search__input {
  flex: 1; min-width: 0; height: 100%; padding: 0 8px 0 16px; border: 0; background: transparent; outline: none;
  font: 400 16px/20px var(--a1-text); color: var(--a1-ink);
}
.a1-search__input::placeholder { color: var(--a1-faint); opacity: 1; }
.a1-search__input:focus-visible { outline: none; }
.a1-search__clear,
.a1-search__submit { display: flex; align-items: center; justify-content: center; flex-shrink: 0; border: 0; background: none; cursor: pointer; color: var(--a1-muted); }
.a1-search__clear { width: 36px; height: 36px; border-radius: 50%; }
.a1-search__clear:hover { background: var(--a1-bg); color: var(--a1-ink); }
.a1-search__submit { width: 52px; height: 100%; border-radius: 0 10px 10px 0; color: var(--a1-ink-2); }
.a1-search__submit:hover { color: var(--a1-green-btn); }
.a1-phone { grid-area: phone; display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--a1-ink); white-space: nowrap; }
.a1-phone__icon { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: var(--a1-red-soft); color: var(--a1-red); flex-shrink: 0; }
.a1-phone__text { display: flex; flex-direction: column; }
.a1-phone__number { font: 700 19px/22px var(--a1-head); letter-spacing: 0.01em; }
.a1-phone__note { font: 400 12px/16px var(--a1-text); color: var(--a1-muted); }
.a1-phone:hover .a1-phone__number { color: var(--a1-red); }
.a1-actions { grid-area: actions; display: flex; align-items: center; gap: 4px; }
.a1-act {
  display: flex; flex-direction: column; align-items: center; gap: 2px; min-width: 64px; padding: 4px 6px; border-radius: var(--a1-radius-sm);
  color: var(--a1-ink-2); text-decoration: none; transition: color 0.15s, background-color 0.15s;
}
.a1-act:hover { color: var(--a1-red); }
.a1-act__icon { position: relative; display: block; }
.a1-act__label { font: 400 12px/16px var(--a1-text); color: var(--a1-muted); }
.a1-act__badge {
  position: absolute; top: -6px; right: -10px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; border: 2px solid #fff;
  box-sizing: content-box; background: var(--a1-red); color: #fff; font: 700 11px/18px var(--a1-text); text-align: center;
}
.a1-cart {
  display: flex; align-items: center; gap: 12px; height: 48px; margin-left: 8px; padding: 0 18px 0 16px; border-radius: var(--a1-radius-md);
  background: var(--a1-red); color: #fff; text-decoration: none; white-space: nowrap; transition: background-color 0.15s;
}
.a1-cart:hover { background: var(--a1-red-dark); color: #fff; }
.a1-cart .a1-act__badge { background: #fff; color: var(--a1-red); border-color: var(--a1-red); }
.a1-cart:hover .a1-act__badge { border-color: var(--a1-red-dark); }
.a1-cart__sum { font: 700 18px/1 var(--a1-head); min-width: 56px; }

/* search suggestions: a panel right under the header instead of the green full-screen layer */
.a1-search-pop.search { position: absolute; top: 100%; left: 0; right: 0; bottom: auto; height: 100vh; z-index: 5; }
.a1-search-pop .search__bg { position: absolute; inset: 0; background: rgba(17, 24, 39, 0.35); opacity: 1; z-index: 0; }
.a1-search-pop__in { position: relative; z-index: 1; }
.a1-search-pop .search__content {
  position: relative; margin-top: 8px; padding: 0 24px; border-radius: var(--a1-radius); background: #fff; box-shadow: var(--a1-shadow-lg);
  max-height: min(70vh, 640px); overflow-y: auto;
}
.a1-search-pop .search__content:empty { display: none; }
.a1-search-pop .search__content-title { border-color: var(--a1-line); font: 500 13px/20px var(--a1-text); text-transform: uppercase; letter-spacing: 0.06em; color: var(--a1-muted); }
.a1-search-pop .search__card { border-color: var(--a1-line); padding: 12px 0; }
.a1-search-pop .search__card-image { width: 64px; height: 64px; object-fit: contain; }
.a1-search-pop .search__card-name { font: 500 17px/22px var(--a1-head); color: var(--a1-ink); }
.a1-search-pop .search__card-articul { font: 400 13px/18px var(--a1-text); color: var(--a1-faint); }
.a1-search-pop .search__card-price { font: 700 20px/24px var(--a1-head); }
.a1-search-pop .search__card-button .primary-button { min-height: 40px; padding: 8px 16px; font-size: 16px; }
.a1-search-pop .search__category { border-color: var(--a1-line); }
.a1-search-pop .search__category-link { font: 500 16px/22px var(--a1-text); color: var(--a1-ink-2); }
.a1-search-pop .search__content-link-container { padding: 20px 0; }

@media (max-width: 1300px) {
  .a1-hmain__in { column-gap: 14px; }
  .a1-phone__icon { display: none; }
  .a1-act { min-width: 56px; }
}
@media (max-width: 1100px) {
  .a1-phone__note { display: none; }
  .a1-phone__number { font-size: 17px; }
  .a1-act__label { display: none; }
  .a1-act { min-width: 0; padding: 8px; }
  .a1-logo .a1-logo__full { height: 36px; }
}
@media (max-width: 1023px) {
  .a1-phone { display: none; }
  .a1-catbtn { padding: 0 14px; }
}

/* phones: logo · phone · basket on top, «Каталог» + search under it; only the search row stays on screen */
@media (max-width: 767px) {
  .a1-header { top: -56px; }
  .a1-topbar { display: none; }
  .a1-hmain__in {
    grid-template-columns: 48px minmax(0, 1fr) auto auto; grid-template-rows: 56px 60px;
    grid-template-areas: "logo logo phone actions" "cat search search search"; column-gap: 8px; height: auto;
  }
  .a1-logo { margin: 0; }
  .a1-logo .a1-logo__full { display: none; }
  .a1-logo .a1-logo__short { display: block; height: 32px; }
  .a1-phone { display: flex; }
  .a1-phone__icon { display: flex; width: 40px; height: 40px; }
  .a1-phone__text { display: none; }
  .a1-act_viewed,
  .a1-act_fav { display: none; }
  .a1-cart { height: 40px; margin: 0; padding: 0 12px; gap: 10px; }
  .a1-cart__sum { font-size: 16px; min-width: 0; }
  .a1-catbtn { width: 48px; height: 44px; padding: 0; justify-content: center; }
  .a1-catbtn__text { display: none; }
  .a1-search { height: 44px; border-radius: var(--a1-radius-md); background: var(--a1-bg); border-color: transparent; }
  .a1-search__input { font-size: 16px; padding-left: 14px; }
  .a1-search__submit { width: 44px; }
  .a1-header::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--a1-line); }
  .a1-search-pop .search__content { margin-top: 0; border-radius: 0 0 var(--a1-radius) var(--a1-radius); padding: 0 16px; max-height: calc(100vh - 140px); }
  .a1-search-pop .a1-wrap { padding: 0; }
}

/* ───────────────────────── menu row and the catalog ───────────────────────── */
.top-content { padding: 0; background: transparent; }
.a1-menu { width: 100%; background: #fff; border-bottom: 1px solid var(--a1-line); }
.a1-menu__bar { position: relative; z-index: 2; background: #fff; } /* full width: the dimming starts under the whole row */
.a1-menu__row { position: relative; background: #fff; }
.a1-menu__scroll { display: flex; align-items: center; gap: 4px; height: 52px; margin: 0 -12px; overflow-x: auto; scrollbar-width: none; }
.a1-menu__scroll::-webkit-scrollbar { display: none; }
.a1-menu__link {
  display: inline-flex; align-items: center; gap: 8px; flex-shrink: 0; height: 38px; padding: 0 12px; border-radius: 10px;
  font: 500 17px/1 var(--a1-head); color: var(--a1-ink); text-decoration: none; white-space: nowrap; transition: background-color 0.15s, color 0.15s;
}
.a1-menu__link:hover,
.a1-menu__link_active { background: var(--a1-bg); color: var(--a1-ink); }
.a1-menu__sep { flex: 1 0 16px; }
.a1-menu__link_promo { color: var(--a1-red); }
.a1-menu__link_promo:hover { background: var(--a1-red-soft); color: var(--a1-red); }
.a1-menu__promo-icon { display: flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: var(--a1-green); color: #fff; }
.a1-menu__promo-icon .a1-icon { stroke-width: 2.2; }

@media (min-width: 768px) {
  .a1-menu { position: relative; z-index: 900; }
}
.a1-mega-bg { position: fixed; inset: 0; z-index: 0; background: rgba(17, 24, 39, 0.32); animation: a1-fade 0.15s ease-out; }
.a1-mega { position: absolute; left: 0; right: 0; top: 100%; z-index: 3; padding-top: 8px; animation: a1-drop 0.16s ease-out; }
.a1-mega { pointer-events: none; } /* the strip around the box is the dimming: a click there closes the panel */
.a1-mega__box { pointer-events: auto; }
.a1-mega__box {
  display: grid; grid-template-columns: 1fr; grid-template-rows: minmax(0, 1fr); max-height: calc(100vh - var(--a1-mega-top, 200px) - 24px); overflow: hidden;
  background: #fff; border-radius: var(--a1-radius); box-shadow: var(--a1-shadow-lg);
}
.a1-mega__box_sections { grid-template-columns: 300px 1fr; height: min(640px, calc(100vh - var(--a1-mega-top, 200px) - 24px)); }
.a1-mega__sections { margin: 0; padding: 12px; list-style: none; overflow-y: auto; background: var(--a1-bg); border-right: 1px solid var(--a1-line); }
.a1-mega__section {
  display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 9px 12px; border-radius: 10px;
  font: 400 16px/20px var(--a1-text); color: var(--a1-ink-2); text-decoration: none;
}
.a1-mega__section .a1-icon { color: var(--a1-faint); }
.a1-mega__section_active { background: #fff; color: var(--a1-ink); font-weight: 500; box-shadow: var(--a1-shadow-sm); }
.a1-mega__section_active .a1-icon { color: var(--a1-green-btn); }
.a1-mega__main { overflow-y: auto; padding: 24px 32px 32px; }
.a1-mega__head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 16px; padding-bottom: 16px; border-bottom: 1px solid var(--a1-line); }
.a1-mega__title { font: 700 26px/30px var(--a1-head); color: var(--a1-ink); text-decoration: none; }
.a1-mega__title:hover { color: var(--a1-red); }
.a1-mega__all { display: inline-flex; align-items: center; gap: 6px; font: 500 15px/20px var(--a1-text); color: var(--a1-green-btn); text-decoration: none; white-space: nowrap; }
.a1-mega__all:hover { color: var(--a1-green-btn-hover); text-decoration: underline; }
.a1-mega__links { margin: 0; padding: 0; list-style: none; columns: 3 220px; column-gap: 32px; }
.a1-mega__links li { break-inside: avoid; }
.a1-mega__link { display: block; padding: 7px 0; font: 400 16px/20px var(--a1-text); color: var(--a1-ink-2); text-decoration: none; }
.a1-mega__link:hover { color: var(--a1-red); }
@keyframes a1-fade { from { opacity: 0; } }
@keyframes a1-drop { from { opacity: 0; transform: translateY(-6px); } }

/* phones: chips in a sideways row; the catalog is a drawer */
@media (max-width: 767px) {
  .a1-menu { border-bottom: 0; }
  .a1-menu__scroll { height: auto; margin: 0 calc(-1 * var(--a1-gutter)); padding: 10px var(--a1-gutter); gap: 8px; scroll-padding: 0 var(--a1-gutter); }
  .a1-menu__link { height: 36px; padding: 0 14px; border: 1px solid var(--a1-line); border-radius: 18px; font-size: 16px; background: #fff; }
  .a1-menu__link_promo { padding-left: 6px; }
  .a1-menu__sep { display: none; }
}
.a1-drawer { position: fixed; inset: 0; z-index: 1200; }
.a1-drawer__bg { position: absolute; inset: 0; background: rgba(17, 24, 39, 0.45); animation: a1-fade 0.15s ease-out; }
.a1-drawer__panel {
  position: absolute; top: 0; bottom: 0; left: 0; width: min(100%, 420px); display: flex; flex-direction: column;
  background: #fff; box-shadow: var(--a1-shadow-lg); animation: a1-slide 0.2s ease-out;
}
@keyframes a1-slide { from { transform: translateX(-24px); opacity: 0; } }
.a1-drawer__head { display: flex; align-items: center; justify-content: space-between; height: 60px; padding: 0 8px 0 16px; border-bottom: 1px solid var(--a1-line); flex-shrink: 0; }
.a1-drawer__title { font: 700 24px/1 var(--a1-head); }
.a1-drawer__close { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 0; border-radius: 50%; background: none; color: var(--a1-ink); cursor: pointer; }
.a1-drawer__close:hover { background: var(--a1-bg); }
.a1-drawer__body { flex: 1; overflow-y: auto; overscroll-behavior: contain; padding-bottom: 24px; }
.a1-drawer__promo { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 16px; }
.a1-drawer__chip {
  display: flex; align-items: center; gap: 8px; height: 44px; padding: 0 12px; border-radius: var(--a1-radius-md); background: var(--a1-red-soft);
  color: var(--a1-red); font: 500 16px/1 var(--a1-head); text-decoration: none;
}
.a1-drawer__sections { margin: 0; padding: 0 8px; list-style: none; }
.a1-drawer__section { border-bottom: 1px solid var(--a1-line); }
.a1-drawer__section-btn {
  display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 50px; padding: 12px 8px; border: 0; background: none;
  font: 500 17px/22px var(--a1-text); color: var(--a1-ink); text-align: left; text-decoration: none; cursor: pointer;
}
.a1-drawer__section-btn .a1-icon { color: var(--a1-faint); transition: transform 0.15s; }
.a1-drawer__section_open .a1-drawer__section-btn .a1-icon { transform: rotate(90deg); color: var(--a1-green-btn); }
.a1-drawer__links { margin: 0 0 12px; padding: 4px 8px 4px 12px; list-style: none; border-left: 2px solid var(--a1-green); margin-left: 8px; }
.a1-drawer__link { display: block; padding: 8px 4px; font: 400 16px/20px var(--a1-text); color: var(--a1-ink-2); text-decoration: none; }
.a1-drawer__link_all { color: var(--a1-green-btn); font-weight: 500; }
.a1-drawer__extra { display: flex; flex-direction: column; padding: 16px; gap: 2px; }
.a1-drawer__auth { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 12px; }
.a1-drawer__row { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 0 8px; border-radius: 10px; font: 400 16px/20px var(--a1-text); color: var(--a1-ink); text-decoration: none; }
.a1-drawer__row .a1-icon { color: var(--a1-muted); }
.a1-drawer__row_plain { color: var(--a1-muted); }
.a1-drawer__row:hover { background: var(--a1-bg); }

/* breadcrumbs and the page title under the menu */
.top-content > .container:has(.breadcrumbs) { padding-top: 20px; }
.breadcrumbs { margin-bottom: 8px; font: 400 14px/20px var(--a1-text); color: var(--a1-faint); }
.breadcrumbs a,
.breadcrumbs__link { color: var(--a1-muted); text-decoration: none; }
.breadcrumbs a:hover,
.breadcrumbs__link:hover { color: var(--a1-red); }
.top-content .main-title { margin: 8px 0 24px; font-size: 40px; line-height: 46px; }
@media (max-width: 750px) {
  .top-content > .container:has(.breadcrumbs) { padding-top: 12px; }
  .top-content .main-title { margin: 4px 0 16px; font-size: 28px; line-height: 32px; }
}
.a1-menu__measure { position: absolute; left: 0; top: 0; display: flex; gap: 4px; height: 0; overflow: hidden; visibility: hidden; pointer-events: none; white-space: nowrap; }
.a1-menu__promo { display: inline-flex; gap: 4px; }
.a1-menu__link_more .a1-icon { transform: rotate(90deg); color: var(--a1-faint); }

/* ───────────────────────── sections, rails ───────────────────────── */
main { width: 100%; }
.page { width: 100%; }
.a1-sec { width: 100%; margin-top: 48px; }
.a1-sec__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; min-height: 40px; }
.a1-sec__title { margin: 0; font: 700 30px/36px var(--a1-head); letter-spacing: -0.01em; color: var(--a1-ink); }
.a1-sec__title a { color: inherit; text-decoration: none; }
.a1-sec__title a:hover { color: var(--a1-red); }
.a1-sec__title_small { font-size: 24px; line-height: 30px; }
.a1-sec__tools { display: flex; align-items: center; gap: 16px; flex-shrink: 0; }
.a1-sec__all { display: inline-flex; align-items: center; gap: 2px; font: 500 15px/20px var(--a1-text); color: var(--a1-green-btn); text-decoration: none; white-space: nowrap; }
.a1-sec__all:hover { color: var(--a1-green-btn-hover); text-decoration: underline; text-underline-offset: 3px; }
.a1-arrows { display: flex; gap: 8px; }
.a1-arrow {
  display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0; border: 1px solid var(--a1-line-2);
  border-radius: 50%; background: #fff; color: var(--a1-ink); cursor: pointer; transition: background-color 0.15s, border-color 0.15s, opacity 0.15s;
}
.a1-arrow:hover:not(:disabled) { border-color: var(--a1-ink); }
.a1-arrow:disabled { opacity: 0.35; cursor: default; }

.a1-rail {
  --per: 5; --gap: 16px;
  display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - (var(--per) - 1) * var(--gap)) / var(--per)); gap: var(--gap);
  overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none;
  padding: 6px 6px 18px; margin: -6px -6px -18px; scroll-padding: 0 6px;
}
.a1-rail::-webkit-scrollbar { display: none; }
.a1-rail__item { display: flex; min-width: 0; scroll-snap-align: start; }
.a1-rail__item > .card { flex: 1; }
.a1-rail_4 { --per: 4; }
.a1-rail_3 { --per: 3; }
.a1-rail_2 { --per: 2; }
@media (max-width: 1279px) {
  .a1-rail { --per: 4; }
  .a1-rail_2 { --per: 2; }
}
@media (max-width: 1023px) {
  .a1-rail, .a1-rail_2 { --per: 3; }
}
@media (max-width: 767px) {
  .a1-sec { margin-top: 32px; }
  .a1-sec__title { font-size: 24px; line-height: 28px; }
  .a1-sec__title_small { font-size: 22px; line-height: 26px; }
  .a1-sec__head { margin-bottom: 12px; min-height: 0; }
  .a1-arrows { display: none; }
  .a1-rail, .a1-rail_2 {
    --gap: 12px; grid-auto-columns: calc((100% - var(--gap)) / 2.15);
    margin: -6px calc(-1 * var(--a1-gutter)) -18px; padding: 6px var(--a1-gutter) 18px; scroll-padding: 0 var(--a1-gutter);
  }
}

/* ───────────────────────── home ───────────────────────── */
.a1-home__hero { margin-top: 20px; }
.a1-home__body { padding-bottom: 64px; }
.a1-hero { position: relative; }
.a1-hero__viewport { position: relative; overflow: hidden; border-radius: var(--a1-radius); }
.a1-hero__track { display: flex; transition: transform 0.5s cubic-bezier(0.22, 0.61, 0.36, 1); }
@media (prefers-reduced-motion: reduce) { .a1-hero__track { transition: none; } }
.a1-hero__slide { flex: 0 0 100%; display: grid; grid-template-columns: 3.83fr 0.98fr 1.9fr; gap: 12px; min-width: 0; }
.a1-hero__big, .a1-hero__middle, .a1-hero__two { min-width: 0; min-height: 0; }
.a1-hero__big .a1-banner { aspect-ratio: 900 / 235; }
.a1-hero__middle, .a1-hero__two { height: 0; min-height: 100%; }
.a1-hero__middle .a1-banner { height: 100%; }
.a1-hero__two { display: grid; grid-template-rows: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }
.a1-banner { display: block; overflow: hidden; border-radius: var(--a1-radius-md); background: var(--a1-bg); }
.a1-banner img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; }
.a1-banner:hover img { transform: scale(1.025); }
.a1-hero__arrow {
  position: absolute; top: 50%; z-index: 2; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; margin-top: -20px;
  padding: 0; border: 0; border-radius: 50%; background: rgba(255, 255, 255, 0.92); color: var(--a1-ink); box-shadow: var(--a1-shadow); cursor: pointer;
  opacity: 0; transition: opacity 0.2s;
}
.a1-hero__arrow_prev { left: 12px; }
.a1-hero__arrow_next { right: 12px; }
.a1-hero__viewport:hover .a1-hero__arrow, .a1-hero__arrow:focus-visible { opacity: 1; }
.a1-hero__dots { display: flex; justify-content: center; gap: 6px; margin-top: 12px; }
.a1-hero__dot { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 4px; background: var(--a1-line-2); cursor: pointer; transition: width 0.2s, background-color 0.2s; }
.a1-hero__dot_on { width: 24px; background: var(--a1-red); }
.a1-hero__strip { display: none; }
@media (max-width: 767px) {
  .a1-home__hero { margin-top: 4px; }
  .a1-hero__slide { grid-template-columns: 1fr; }
  .a1-hero__middle, .a1-hero__two { display: none; }
  .a1-hero__arrow { display: none; }
  .a1-hero__strip {
    display: grid; grid-auto-flow: column; grid-auto-columns: 78%; gap: 12px; margin: 16px calc(-1 * var(--a1-gutter)) 0; padding: 0 var(--a1-gutter);
    overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding: 0 var(--a1-gutter); scrollbar-width: none;
  }
  .a1-hero__strip::-webkit-scrollbar { display: none; }
  .a1-hero__strip .a1-banner { aspect-ratio: 1038 / 272; scroll-snap-align: start; }
}

/* a section's showcase: chips of its sub-sections over its cards, on a soft panel */
.a1-showcase { padding: 24px; border-radius: 20px; background: var(--a1-bg); }
.a1-showcase .card { border-color: transparent; }
.a1-sec_band { padding: 24px; border-radius: 20px; background: #fff5f3; }
.a1-sec_band .card { border-color: transparent; }
.a1-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.a1-chip {
  display: inline-flex; align-items: center; height: 34px; padding: 0 14px; border: 1px solid var(--a1-line); border-radius: 17px; background: #fff;
  font: 400 14px/1 var(--a1-text); color: var(--a1-ink-2); text-decoration: none; white-space: nowrap; cursor: pointer;
  transition: border-color 0.15s, color 0.15s, background-color 0.15s;
}
.a1-chip:hover { border-color: var(--a1-green); color: var(--a1-green-btn); }
.a1-chip_more { border-color: transparent; background: var(--a1-green-soft); color: var(--a1-green-btn); font-weight: 500; }
.a1-chip_more:hover { border-color: var(--a1-green); }
@media (max-width: 767px) {
  .a1-showcase, .a1-sec_band { margin-left: calc(-1 * var(--a1-gutter)); margin-right: calc(-1 * var(--a1-gutter)); width: auto; padding: 20px var(--a1-gutter); border-radius: 0; }
  .a1-chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin: 0 calc(-1 * var(--a1-gutter)) 16px; padding: 0 var(--a1-gutter); }
  .a1-chips::-webkit-scrollbar { display: none; }
}

.a1-selection__left { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; min-width: 0; }
.a1-tabs { display: inline-flex; gap: 4px; padding: 4px; border-radius: 12px; background: var(--a1-bg); }
.a1-tab { height: 34px; padding: 0 16px; border: 0; border-radius: 9px; background: none; font: 500 15px/1 var(--a1-text); color: var(--a1-muted); cursor: pointer; }
.a1-tab:hover { color: var(--a1-ink); }
.a1-tab_on { background: #fff; color: var(--a1-ink); box-shadow: var(--a1-shadow-sm); }
.a1-selection__text { margin: -4px 0 16px; font: 400 15px/22px var(--a1-text); color: var(--a1-muted); max-width: 720px; }
@media (max-width: 767px) {
  .a1-selection .a1-sec__head { flex-direction: column; align-items: flex-start; }
  .a1-selection__left { gap: 12px; }
}

.a1-brands__grid { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 12px; }
.a1-brands__item {
  display: flex; align-items: center; justify-content: center; aspect-ratio: 3 / 2; padding: 10px 14px; border: 1px solid var(--a1-line);
  border-radius: var(--a1-radius-md); background: #fff; transition: box-shadow 0.2s, border-color 0.2s;
}
.a1-brands__item:hover { border-color: transparent; box-shadow: var(--a1-shadow); }
.a1-brands__item img { max-width: 100%; max-height: 100%; object-fit: contain; mix-blend-mode: multiply; }
@media (max-width: 1023px) { .a1-brands__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
@media (max-width: 767px) { .a1-brands__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; } .a1-brands__item { padding: 6px 8px; } }

.a1-subscribe {
  position: relative; display: grid; grid-template-columns: 1fr minmax(320px, 520px); align-items: center; gap: 24px 48px; margin-top: 48px;
  padding: 36px 220px 36px 40px; border-radius: 20px; background: var(--a1-green-soft); overflow: hidden;
}
.a1-subscribe__title { margin: 0 0 6px; font: 700 28px/32px var(--a1-head); color: var(--a1-ink); }
.a1-subscribe__lead { margin: 0; font: 400 16px/22px var(--a1-text); color: var(--a1-muted); }
.a1-subscribe__form { position: relative; z-index: 1; }
.a1-subscribe__row { display: flex; gap: 8px; padding: 6px; border-radius: 14px; background: #fff; box-shadow: var(--a1-shadow-sm); border: 1.5px solid transparent; }
.a1-subscribe__row:focus-within { border-color: var(--a1-green); }
.a1-subscribe__row_error { border-color: var(--a1-red); }
.a1-subscribe__input { flex: 1; min-width: 0; height: 44px; padding: 0 12px; border: 0; outline: none; background: none; font: 400 16px/20px var(--a1-text); color: var(--a1-ink); }
.a1-subscribe__input:focus-visible { outline: none; }
.a1-subscribe__msg { margin: 8px 4px 0; font: 400 14px/20px var(--a1-text); color: var(--a1-green-btn); }
.a1-subscribe__msg_error { color: var(--a1-red); }
.a1-subscribe__image { position: absolute; right: 24px; top: 50%; width: 170px; transform: translateY(-50%); opacity: 0.9; pointer-events: none; }
@media (max-width: 1023px) {
  .a1-subscribe { grid-template-columns: 1fr; padding-right: 40px; }
  .a1-subscribe__image { display: none; }
}
@media (max-width: 767px) {
  .a1-subscribe { padding: 24px 20px; margin-top: 32px; }
  .a1-subscribe__title { font-size: 24px; line-height: 28px; }
  .a1-subscribe__row { flex-direction: column; padding: 0; background: none; box-shadow: none; border: 0; }
  .a1-subscribe__input { flex: none; height: 48px; border-radius: 12px; background: #fff; border: 1.5px solid var(--a1-line-2); }
  .a1-subscribe__input:focus { border-color: var(--a1-green); }
  .a1-subscribe .a1-btn { min-height: 48px; }
}

/* ───────────────────────── product card ───────────────────────── */
.card {
  position: relative; width: auto; min-width: 0; height: 100%; margin: 0; padding: 12px 12px 14px; border: 1px solid var(--a1-line);
  border-radius: var(--a1-radius); background: #fff; transition: box-shadow 0.2s, border-color 0.2s;
}
.card:hover { border-color: transparent; box-shadow: var(--a1-shadow); }
.card__header { position: absolute; top: 12px; left: 12px; right: 12px; z-index: 2; height: auto; align-items: flex-start; pointer-events: none; }
.card__header > * { pointer-events: auto; }
.card__badges { position: static; gap: 6px; }
.card__badge + .card__badge { margin-top: 0; }
.card__saving { margin: 0; padding: 4px 8px; border-radius: 8px; box-shadow: none; }
.card__saving-text { font: 700 14px/16px var(--a1-head); letter-spacing: 0.02em; }
.card__badge_new, .card__badge_star, .card__badge_percent, .card__badge_sale { width: 22px; height: 22px; }
.card__info-like {
  display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; margin: -4px -4px 0 auto; border-radius: 50%;
  background: rgba(255, 255, 255, 0.9);
}
.card__info-like svg { width: 22px; height: 20px; }
.card__info-like:hover { background: var(--a1-red-soft); }
.card__info-like.card-hor__actions-button-like_active path { fill: var(--a1-red); }
.card__image-container { height: auto; aspect-ratio: 1 / 1; padding: 20px 12px 8px; margin-bottom: 12px; }
.card__image { width: 100%; height: 100%; object-fit: contain; }
.card__info, .card__reviews-items { display: none; }
.card__name {
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; min-height: 60px; margin: 0;
  font: 400 15px/20px var(--a1-text); color: var(--a1-ink); text-decoration: none;
}
.card__name:hover { opacity: 1; color: var(--a1-red); }
.card__bottom-block { width: 100%; align-items: stretch; }
.card__price-block { min-height: 0; margin: 12px 0 12px; }
.card__price-wrapper { align-items: baseline; flex-wrap: wrap; gap: 0 8px; }
.card__price { font: 700 24px/28px var(--a1-head); color: var(--a1-ink); }
.card__price-wrapper:has(.card__price-old) .card__price { color: var(--a1-red); }
.card__price-rub, .card__price-rub_color { font-family: var(--a1-head); font-size: 1em; line-height: inherit; font-weight: 700; color: inherit; }
.card__price-old { margin: 0; font: 400 15px/20px var(--a1-text); color: var(--a1-faint); }
.card__price-old-rub .card__price-rub, .card__price-old .card__price-rub { font: inherit; color: inherit; }
.card__economy { display: none; }
.card__actions { width: 100%; height: auto; margin: 0; background: none; border-radius: 0; }
.card .card__actions-counter { display: none; }
.card__actions-button {
  flex: 1; width: 100%; min-height: 44px; margin: 0; padding: 0 12px; border-radius: var(--a1-radius-md);
  font: 500 17px/20px var(--a1-head);
}
.card .card__actions-button-container_state-first { gap: 8px; }
.card .card__actions-button-container_state-first svg { display: none; }
.card .card__actions-button-container_state-first span { font: 500 17px/20px var(--a1-head); color: #fff; display: inline; }
.card__actions-button_state-second { background-color: var(--a1-green-soft); box-shadow: inset 0 0 0 1.5px var(--a1-green); }
.card__actions-button_state-second:hover { background-color: #fde4e2 !important; }
.card__actions-button_state-second .card__actions-button-container_state-second,
.card__actions-button_state-second:hover .card__actions-button-container_state-second,
.card__actions-button_state-second span { color: var(--a1-green-btn); display: inline; }
.card__actions-button:disabled { background: var(--a1-bg); color: var(--a1-muted); box-shadow: inset 0 0 0 1px var(--a1-line); }
.card__actions-button:disabled span { color: var(--a1-muted); }
.card__buy-one-click { justify-content: center; margin: 8px 0 0; }
.card__buy-one-click-link { padding: 2px 4px; border: 0; background: none; font: 400 14px/20px var(--a1-text); color: var(--a1-green-btn); cursor: pointer; }
.card__buy-one-click-link:hover { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 767px) {
  .card { padding: 10px 10px 12px; border-radius: 14px; }
  .card__header { top: 8px; left: 8px; right: 8px; }
  .card__saving { padding: 3px 6px; }
  .card__saving-text { font-size: 13px; }
  .card__image-container { padding: 16px 4px 4px; margin-bottom: 8px; }
  .card__name { font-size: 14px; line-height: 18px; min-height: 54px; }
  .card__price { font-size: 20px; line-height: 24px; }
  .card__price-old { font-size: 13px; }
  .card__price-block { margin: 8px 0 10px; }
  .card__actions-button { min-height: 40px; font-size: 16px; }
  .card .card__actions-button-container_state-first span { font-size: 16px; }
  .card__actions-button_state-first svg { display: none; }
  .card__actions-button_state-second span { display: inline; }
  .card__buy-one-click-link { font-size: 13px; }
}

/* the shop's notice over the banners (controller «Плашка на главной») */
.a1-home__notice .reset-price { margin-top: 16px; padding: 14px 20px; border-radius: var(--a1-radius-md); background: var(--a1-red-soft); box-shadow: inset 0 0 0 1px #f3d4d6; }
.a1-home__notice .reset-price__text { font: 500 16px/22px var(--a1-text); color: var(--a1-red-dark); text-align: center; }
.a1-home__notice .reset-price__text a { color: inherit; text-decoration: underline; }

/* ───────────────────────── forms ───────────────────────── */
.form-element__header { margin-bottom: 8px; font: 500 14px/20px var(--a1-text); color: var(--a1-ink-2); }
.form-element__control { border: 1.5px solid var(--a1-line-2); border-radius: var(--a1-radius-md); background: #fff; transition: border-color 0.15s, box-shadow 0.15s; }
.form-element__control:hover { border-color: #b9c0c8; }
.form-element__control:focus-within { border-color: var(--a1-green); box-shadow: var(--a1-ring); }
.form-element__control-input { padding: 12px 14px; border-radius: 10px; font: 400 16px/22px var(--a1-text); color: var(--a1-ink); }
.form-element__control input { height: 48px; }
.form-element__control-input:focus-visible, .form-element__control-textarea:focus-visible, .form-element__control .bx-select:focus-visible { outline: none; }
.form-element__control-textarea { height: 140px; padding: 12px 14px; border-radius: 10px; font: 400 16px/22px var(--a1-text); color: var(--a1-ink); resize: vertical; }
.form-element__control-select { height: 48px; }
.form-element__control .bx-select { min-height: 45px; padding: 0 40px 0 14px; font: 400 16px/22px var(--a1-text); color: var(--a1-ink);
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1.5 6 6.5l5-5' stroke='%235f6873' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 16px center; }
.form-element_error .form-element__control { border-color: var(--a1-red); }
.form-element__error { margin-top: 6px; font: 400 13px/18px var(--a1-text); color: var(--a1-red); }

/* «Обратная связь» at the bottom of the home page: a panel in the content width, not a full-bleed blue band */
.a1-home__feedback { width: 100%; max-width: 1440px; margin: 0 auto; padding: 0 var(--a1-gutter) 64px; }
.a1-home__feedback .main-form { width: 100%; margin: 0; padding: 40px; border-radius: 20px; background: var(--a1-bg); }
.a1-home__feedback .main-form__container { max-width: 880px; padding: 0; }
.a1-home__feedback .main-form__header-container { align-items: baseline; gap: 16px 24px; margin-bottom: 24px; flex-wrap: wrap; }
.a1-home__feedback .main-form__header { margin: 0; font: 700 30px/36px var(--a1-head); color: var(--a1-ink); text-align: left; }
.a1-home__feedback .main-form__subheader { margin: 0; font: 400 15px/20px var(--a1-text); color: var(--a1-muted); }
.a1-home__feedback .main-form .form-element__header { color: var(--a1-ink-2); font: 500 14px/20px var(--a1-text); }
.a1-home__feedback .main-form__block .form-element + .form-element { margin-top: 16px; }
.a1-home__feedback .main-form__block .form-element__control-textarea { height: 216px; }
.a1-home__feedback .main-form__actions { gap: 16px; margin-top: 24px; max-width: none; }
.a1-home__feedback .main-form__actions-button { margin: 0; flex-shrink: 0; }
.a1-home__feedback .main-form__actions-text { max-width: 420px; font: 400 13px/18px var(--a1-text); color: var(--a1-muted); }
@media (max-width: 767px) {
  .a1-home__feedback { padding-bottom: 40px; }
  .a1-home__feedback .main-form { margin: 0 calc(-1 * var(--a1-gutter)); width: auto; padding: 28px var(--a1-gutter); border-radius: 0; }
  .a1-home__feedback .main-form__header { font-size: 24px; line-height: 28px; }
  .a1-home__feedback .main-form__actions { flex-direction: column; align-items: stretch; margin-bottom: 0; }
}

/* ───────────────────────── alphabet strip ───────────────────────── */
.alphabet { width: 100%; max-width: 1440px; margin: 0 auto; padding: 0 var(--a1-gutter); }
.alphabet__container { display: flex; flex-direction: row; align-items: center; gap: 16px 24px; padding: 20px 0; border-top: 1px solid var(--a1-line); flex-wrap: wrap; }
.alphabet__title { margin: 0; font: 700 18px/24px var(--a1-head); color: var(--a1-ink); white-space: nowrap; }
.alphabet__links { flex: 1; display: flex; flex-wrap: wrap; gap: 4px; margin: 0; }
.alphabet__link {
  display: flex; align-items: center; justify-content: center; min-width: 32px; height: 32px; margin: 0; padding: 0 6px; border-radius: 8px;
  font: 500 15px/1 var(--a1-head); color: var(--a1-green-btn); text-decoration: none; transition: background-color 0.15s;
}
.alphabet__link:hover { opacity: 1; background: var(--a1-green-soft); }
@media (max-width: 767px) {
  .alphabet__container { flex-direction: column; align-items: flex-start; padding: 20px 0; gap: 12px; }
  .alphabet__links { gap: 2px; }
  .alphabet__link { width: auto; min-width: 36px; height: 36px; }
}

/* ───────────────────────── footer ───────────────────────── */
.a1-footer { width: 100%; margin-top: 0; padding: 48px 0 32px; background: #1f262d; color: #c9d0d7; font: 400 14px/20px var(--a1-text); }
.a1-footer__top { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr 1.2fr; gap: 32px; }
.a1-footer__phone { display: inline-block; font: 700 22px/26px var(--a1-head); color: #fff; text-decoration: none; letter-spacing: 0.01em; }
.a1-footer__phone:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.a1-footer__note { margin-top: 2px; color: #9aa4ae; font-size: 13px; line-height: 18px; }
.a1-footer__facts { margin: 20px 0 0; }
.a1-footer__facts dt { color: #9aa4ae; font-size: 12px; line-height: 16px; text-transform: uppercase; letter-spacing: 0.06em; }
.a1-footer__facts dd { margin: 2px 0 12px; color: #e6eaee; }
.a1-footer__zone {
  display: inline-flex; align-items: center; height: 40px; padding: 0 18px; border-radius: 10px; border: 1.5px solid var(--a1-green);
  color: #f4a9a3; font: 500 15px/1 var(--a1-head); text-decoration: none; transition: background-color 0.15s;
}
.a1-footer__zone:hover { background: rgba(244, 169, 163, 0.15); color: #fbd0cc; }
.a1-footer__col-title { margin-bottom: 12px; font: 700 16px/20px var(--a1-head); color: #fff; }
.a1-footer__links { margin: 0; padding: 0; list-style: none; }
.a1-footer__link { display: inline-block; padding: 5px 0; color: #c9d0d7; text-decoration: none; }
.a1-footer__link:hover { color: #fff; }
.a1-footer__contacts_right { text-align: right; }
.a1-footer__actions { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; margin-top: 20px; }
.a1-footer__action { padding: 0; border: 0; background: none; color: #f4a9a3; font: 500 14px/20px var(--a1-text); cursor: pointer; text-decoration: underline; text-decoration-color: rgba(244, 169, 156, 0.4); text-underline-offset: 4px; }
.a1-footer__action:hover { color: #fbd0cc; text-decoration-color: currentColor; }
.a1-footer__cats { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 40px; padding-top: 24px; border-top: 1px solid rgba(255, 255, 255, 0.1); }
.a1-footer__cat { display: inline-flex; align-items: center; height: 30px; padding: 0 12px; border-radius: 15px; background: rgba(255, 255, 255, 0.06); color: #c9d0d7; font-size: 13px; text-decoration: none; transition: background-color 0.15s, color 0.15s; }
.a1-footer__cat:hover { background: rgba(255, 255, 255, 0.14); color: #fff; }
.a1-footer__bottom { display: flex; justify-content: space-between; gap: 12px 32px; flex-wrap: wrap; margin-top: 32px; padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, 0.1); color: #9aa4ae; font-size: 13px; }
.a1-footer__bottom-row { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 24px; }
.a1-footer__small-link { color: #9aa4ae; text-decoration: none; }
.a1-footer__small-link:hover { color: #fff; }
.a1-footer__gos img { display: block; height: 18px; width: auto; opacity: 0.6; filter: grayscale(1) brightness(1.6); }
.a1-footer__gos:hover img { opacity: 0.9; }
.a1-footer__requisites { margin-top: 12px; color: #8a949e; font-size: 12px; line-height: 18px; }
.a1-footer__payment { margin-top: 24px; padding-top: 24px; border-top: 1px solid rgba(255, 255, 255, 0.1); color: #8a949e; font-size: 12px; line-height: 18px; }
.a1-footer__payment p { margin: 0 0 8px; max-width: 1100px; }
.a1-footer__payment a { color: #b8c1ca; text-decoration: underline; }
.a1-footer__payment-logos { display: block; width: 260px; max-width: 100%; height: auto; margin: 0 0 16px; padding: 8px 16px; border-radius: 10px; background: #fff; }
@media (max-width: 1023px) {
  .a1-footer__top { grid-template-columns: 1fr 1fr 1fr; }
  .a1-footer__contacts:first-child { grid-column: 1 / -1; }
  .a1-footer__contacts_right { grid-column: 1 / -1; text-align: left; }
  .a1-footer__actions { align-items: flex-start; flex-direction: row; gap: 24px; }
}
@media (max-width: 767px) {
  .a1-footer { padding: 32px 0 24px; }
  .a1-footer__top { grid-template-columns: 1fr 1fr; gap: 24px 16px; }
  .a1-footer__col:last-of-type { grid-column: auto; }
  .a1-footer__actions { flex-direction: column; gap: 8px; }
  .a1-footer__cats { margin-top: 28px; }
  .a1-footer__bottom { flex-direction: column; }
}

/* ───────────────────────── mini basket strip at the right edge ───────────────────────── */
.basket-panel { top: 50%; bottom: auto; height: auto; max-height: 360px; transform: translateY(-50%); width: 108px; right: -84px; }
.basket-panel_show { right: 0; }
.basket-panel__content { width: 84px; height: auto; max-height: 360px; padding: 0 8px; border-radius: 16px 0 0 16px; box-shadow: var(--a1-shadow-lg); }
.basket-panel__header { height: 56px; }
.basket-panel__cards { padding-right: 0; }
.basket-panel__cards .card__image-container { aspect-ratio: auto; height: 64px; padding: 4px; margin: 4px 0; border-radius: 10px; }
.basket-panel__open-button-container { height: auto; align-self: center; }
.basket-panel__open-button svg { width: 24px; height: auto; }
@media (max-width: 1399px) { .basket-panel { display: none; } }
.a1-footer .a1-footer__payment p { color: #8a949e; font: 400 12px/18px var(--a1-text); }

.breadcrumbs, .breadcrumbs .breadcrumbs__link, .breadcrumbs .breadcrumbs__link span, .breadcrumbs .breadcrumbs__link-separator { font: 400 14px/20px var(--a1-text); }
.breadcrumbs__link-separator { color: var(--a1-line-2); }

/* ───────────────────────── listing (catalog sections, search, collections) ───────────────────────── */
.catalog-struct { margin: 8px 0 64px; gap: 24px; }
.catalog-struct__panel-container { width: 288px; }
.catalog-struct__body { width: auto; flex: 1; min-width: 0; padding-left: 0; }
.catalog-struct__panel { padding: 20px 8px 16px 20px; border: 1px solid var(--a1-line); border-radius: var(--a1-radius); background: #fff; }
.catalog-struct__panel + .catalog-struct__panel { margin-top: 16px; }
.catalog-struct__panel-header { margin-bottom: 16px; padding-left: 0; font: 700 20px/24px var(--a1-head); color: var(--a1-ink); }
.catalog-struct__panel_filters { padding-left: 20px; }
.catalog-struct .simplebar-content { padding-right: 12px !important; }
.catalog-category-item__header { padding-left: 24px; }
.catalog-category-item__header-button { left: -8px; }
.catalog-category-item__header-link { font: 400 15px/22px var(--a1-text); color: var(--a1-ink); }
.catalog-category-item__header-link:hover, .catalog-category-item__link:hover { opacity: 1; color: var(--a1-red); }
.catalog-category-item__header-link_opened { font-weight: 500; }
.catalog-category-item + .catalog-category-item { margin-top: 6px; }
.catalog-category-item__link { margin-top: 10px; padding-left: 24px; font: 400 14px/19px var(--a1-text); color: var(--a1-muted); }
.catalog-category-item__link_active { color: var(--a1-green-btn); font-weight: 500; }
.catalog-category-item__button, .catalog-struct__panel-button { font: 500 15px/20px var(--a1-text); color: var(--a1-green-btn); }
.catalog-category-filter__header { margin: 20px 0 12px; font: 500 15px/20px var(--a1-text); color: var(--a1-ink); }
.catalog-category-filter__item + .catalog-category-filter__item { margin-top: 10px; }
.catalog-category-filter__cost { margin-bottom: 24px; }
.catalog-category-filter__cost-price-start, .catalog-category-filter__cost-price-end { font: 500 14px/20px var(--a1-text); color: var(--a1-green-btn) !important; -webkit-text-fill-color: var(--a1-green-btn); }
.catalog-category-filter__cost .noUi-connects { background: var(--a1-line); }
.catalog-category-filter__cost .noUi-handle, .catalog-category-filter__cost .noUi-handle:before { width: 22px; height: 22px; margin-top: -9px; background: #fff; }
.catalog-category-filter__cost .noUi-handle { box-shadow: 0 0 0 2px var(--a1-green-btn), var(--a1-shadow-sm); }
.catalog-category-filter__cost .noUi-handle:before { display: none; }
.catalog-category-filter__cost .noUi-connect { background: var(--a1-green); }
.form-element-checkbox__text { font-family: var(--a1-text); }

.catalog-struct__body-content { padding-top: 0; }
.cloud-tags__actions { align-items: center; padding: 10px 16px; margin: 0; border-radius: var(--a1-radius-md); background: var(--a1-bg); }
.cloud-tags__sorting-text, .cloud-tags__sorting-item, .cloud-tags__count-text, .cloud-tags__count-item { font: 400 14px/20px var(--a1-text); }
.cloud-tags__sorting-text, .cloud-tags__count-text { color: var(--a1-muted); }
.cloud-tags__sorting-item, .cloud-tags__count-item { color: var(--a1-green-btn); }
.catalog-struct__body-content-cards { margin-top: 16px; border-bottom: 0; gap: 12px; }
.pagination__item { width: 44px; height: 44px; border-radius: 12px; border-color: var(--a1-line); font: 500 16px/1 var(--a1-text); color: var(--a1-ink); }
.pagination__item + .pagination__item { margin-left: 8px; }
.pagination__item_active { background: var(--a1-green-btn); border-color: var(--a1-green-btn); color: #fff; }
.pagination__nav-button_prev { margin-right: 16px; }
.pagination__nav-button_next { margin-left: 16px; }

/* the horizontal card of the lists */
.card-hor {
  display: grid; grid-template-columns: 128px minmax(0, 1fr) 236px; grid-template-areas: "img info right"; align-items: center; gap: 0 24px;
  margin: 0; padding: 16px 20px 16px 16px; border: 1px solid var(--a1-line); border-radius: var(--a1-radius); background: #fff;
  transition: box-shadow 0.2s, border-color 0.2s;
}
.catalog-struct__body-content-cards .card-hor { padding-right: 20px; }
.card-hor:hover { border-color: transparent; box-shadow: var(--a1-shadow); }
.card-hor__badges { left: 12px; top: 12px; z-index: 2; gap: 6px; }
.card-hor__badge + .card-hor__badge { margin-top: 0; }
.card-hor__badge_new, .card-hor__badge_star, .card-hor__badge_percent, .card-hor__badge_sale { width: 22px; height: 22px; }
.card-hor__badge_buy { left: 0; padding: 3px 8px; font: 700 13px/16px var(--a1-head); text-transform: none; border-radius: 8px; background: var(--a1-green-btn); }
.card-hor__image-container { grid-area: img; width: 128px; height: 128px; padding: 6px; }
.card-hor__image { object-fit: contain; }
.card-hor__info { grid-area: info; width: auto; margin: 0; min-width: 0; }
.card-hor__info-articul { margin-bottom: 4px; font: 400 13px/18px var(--a1-text); color: var(--a1-faint); }
.card-hor__name { padding-bottom: 6px; font: 500 17px/22px var(--a1-text); color: var(--a1-ink); text-decoration: none; }
.card-hor__name:hover { opacity: 1; color: var(--a1-red); }
.card-hor__info-strange { display: none; }
.card-hor__info-text-block { justify-content: flex-start; gap: 24px; margin-top: 4px; }
.card-hor__info-text, .card-hor__info-text span { font: 400 13px/18px var(--a1-text); color: var(--a1-muted); }
.card-hor__info-text span { color: var(--a1-ink-2); }
.card-hor__right-block { grid-area: right; position: static; width: 100%; max-width: none; margin: 0; padding: 0; align-items: stretch; }
.card-hor__right-block-info { height: auto; margin-bottom: 10px; padding-right: 28px; }
.card-hor__price-block { flex-wrap: wrap; align-items: baseline; gap: 0 8px; }
.card-hor__price, .card-hor__price .card__price-rub { font: 700 26px/30px var(--a1-head); color: var(--a1-ink); }
.card-hor__price-block:has(.card__price-old) .card-hor__price, .card-hor__price-block:has(.card__price-old) .card-hor__price .card__price-rub { color: var(--a1-red); }
.card-hor .card__price-old { margin: 0; font: 400 15px/20px var(--a1-text); color: var(--a1-faint); }
.card-hor__saving { display: none; }
.card-hor__actions-container { margin-bottom: 6px; }
.card-hor__actions { height: 44px; gap: 8px; }
.card-hor__actions .card__actions-counter-container { width: 96px; border-radius: var(--a1-radius-md); background: var(--a1-bg); }
.card-hor__actions .card__actions-counter { width: 100%; padding: 0 4px; }
.card-hor .card__actions-counter-button { font-size: 20px; color: var(--a1-ink-2); padding: 0 6px; }
.card-hor .card__actions-counter-input { font: 500 16px/20px var(--a1-text); background: transparent; }
.card-hor__actions .primary-button, .card-hor__actions-button { min-height: 44px; padding: 0 14px; border-radius: var(--a1-radius-md); font: 500 17px/20px var(--a1-head); }
.card-hor__actions .primary-button svg { width: 20px; height: 20px; margin-right: 8px; }
.card-hor__actions-button_state-second { background: var(--a1-green-soft); color: var(--a1-green-btn); box-shadow: inset 0 0 0 1.5px var(--a1-green); }
.card-hor__actions-button_state-second:hover { background: #fde4e2 !important; color: var(--a1-green-btn) !important; border: 0; }
.card-hor__actions-button_state-second span { color: var(--a1-green-btn); }
.card-hor__actions-button_grey { background: var(--a1-bg); color: var(--a1-muted); }
.card-hor__actions-buttons { position: static; display: block; width: auto; }
.card-hor .card-item-info__card-buy-container { justify-content: center; padding: 0; }
.card-hor__actions-button-like { position: absolute; top: 10px; right: 10px; z-index: 2; display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; }
.card-hor__actions-button-like:hover { background: var(--a1-red-soft); }
.card-hor__actions-button-like svg { width: 22px; height: 20px; }
.card-hor__buy-click { padding: 0; border: 0; background: none; font: 400 14px/20px var(--a1-text); color: var(--a1-green-btn); cursor: pointer; }
.card-hor__buy-click:hover { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 1100px) {
  .catalog-struct__panel-container { width: 248px; }
  .card-hor { grid-template-columns: 104px minmax(0, 1fr); grid-template-areas: "img info" "img right"; gap: 12px 20px; }
  .card-hor__image-container { width: 104px; height: 104px; }
  .card-hor__right-block { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 8px 16px; }
  .card-hor__right-block-info { margin: 0; padding: 0; }
  .card-hor__actions-container { margin: 0; justify-self: end; width: 260px; }
  .card-hor .card-item-info__card-buy-container { grid-column: 2; justify-content: flex-end; }
}
.cloud-tags__sorting { align-items: center; margin: 0; }
.cloud-tags__sorting-item_link { font: 400 14px/20px var(--a1-text); color: var(--a1-green-btn); }
.cloud-tags__sorting-item { margin-left: 20px; }
.cloud-tags__sorting-item:hover { opacity: 1; text-decoration: underline; text-underline-offset: 3px; }
.form-element-checkbox__box, .form-element-checkbox.form-element-checkbox_catalog .form-element-checkbox__box { width: 20px; height: 20px; margin-right: 12px; border: 1.5px solid var(--a1-line-2); border-radius: 6px; }
.form-element-checkbox__text, .form-element-checkbox.form-element-checkbox_catalog .form-element-checkbox__text { margin-top: 0; font: 400 15px/20px var(--a1-text); color: var(--a1-ink-2); }
.card-hor { position: relative; }
.card-hor .card-item-info__card-buy-container .card-hor__buy-click { font: 400 14px/20px var(--a1-text); color: var(--a1-green-btn); }
.catalog-struct .simplebar-scrollbar:before, .simplebar-scrollbar:before { background: #c3c9cf; }
.simplebar-scrollbar { background: #c3c9cf; }
.simplebar-scrollbar:before { background: #c3c9cf; border-radius: 4px; }
.cloud-tags__actions > * { margin-top: 0 !important; margin-bottom: 0 !important; }
@media (max-width: 767px) {
  .catalog-struct { margin-top: 0; }
  .catalog-struct__panel-container { width: 100%; }
  .catalog-struct__filter-btns { gap: 8px; }
  .catalog-struct__btn-mob { height: 40px; padding: 0 16px; border-radius: 20px; background: var(--a1-bg); font: 500 14px/1 var(--a1-text); }
  .catalog-struct__btn-mob + .catalog-struct__btn-mob { margin-left: 0; }
  .cloud-tags__actions { flex-direction: column; align-items: flex-start; gap: 8px; padding: 12px 14px; }
  .cloud-tags__sorting { flex-wrap: wrap; gap: 4px 12px; }
  .cloud-tags__sorting-items, .cloud-tags__sorting-items { flex-direction: row; flex-wrap: wrap; gap: 4px 16px; }
  .cloud-tags__sorting-item, .cloud-tags__sorting-item:first-of-type, .cloud-tags__sorting-item + .cloud-tags__sorting-item { margin: 0; }
  .catalog-struct__body-content-cards { gap: 10px; }
  .card-hor {
    width: 100%; margin: 0; grid-template-columns: 84px minmax(0, 1fr); grid-template-areas: "img info" "right right"; gap: 10px 12px;
    padding: 12px; border-radius: 14px; align-items: start;
  }
  .catalog-struct__body-content-cards .card-hor { padding-right: 12px; }
  .card-hor__image-container { width: 84px; height: 84px; padding: 2px; margin-top: 18px; }
  .card-hor__badges { left: 8px; top: 8px; flex-direction: row; }
  .card-hor__info { padding-right: 28px; }
  .card-hor__info-articul { font-size: 12px; margin-bottom: 2px; }
  .card-hor__name { font-size: 15px; line-height: 20px; padding-bottom: 4px; }
  .card-hor__info-text-block { gap: 16px; }
  .card-hor__info-text, .card-hor__info-text span { font-size: 12px; line-height: 16px; }
  .card-hor__right-block { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 6px 12px; padding-top: 10px; border-top: 1px solid var(--a1-line); }
  .card-hor__right-block-info { margin: 0; padding: 0; }
  .card-hor__price, .card-hor__price .card__price-rub { font-size: 22px; line-height: 26px; }
  .card-hor .card__price-old { font-size: 13px; }
  .card-hor__actions-container { width: auto; margin: 0; justify-self: end; }
  .card-hor__actions { gap: 6px; height: 40px; }
  .card-hor__actions .card__actions-counter-container { width: 84px; }
  .card-hor__actions .primary-button, .card-hor__actions-button { min-height: 40px; padding: 0 12px; font-size: 16px; }
  .card-hor__actions .primary-button svg { display: none; }
  .card-hor .card-item-info__card-buy-container { grid-column: 1 / -1; justify-content: flex-end; padding: 0; }
  .card-hor__actions-button-like { top: 6px; right: 6px; }
}
/* the donor turned the list into 296 px tiles below 1300 px; the list stays a list */
.catalog-struct__body-content-cards { flex-direction: column; flex-wrap: nowrap; justify-content: flex-start; }
.catalog-struct__body-content-cards .card-hor { width: 100%; }
.catalog-struct__body-content-cards .card-hor__image-container,
.catalog-struct__body-content-cards .card-hor__info,
.catalog-struct__body-content-cards .card-hor__right-block { align-self: auto; margin: 0; }
.catalog-struct__body-content-cards .card-hor__info { width: auto; }
.catalog-struct__body-content-cards .card-hor__actions-container { margin-top: 0; }
@media (max-width: 767px) {
  .catalog-struct__body-content-cards .card-hor__image-container { margin-top: 18px; }
  .catalog-struct__body-content-cards .card-hor__actions-button-like { top: 6px; }
}
.cloud-tags__pagination { margin: 0 !important; padding: 0; }

/* ───────────────────────── product page ───────────────────────── */
.card-item-page .top-content .main-title { font-size: 34px; line-height: 40px; max-width: 1000px; }
.card-item-info__links-container { margin-bottom: 16px; }
.card-item-info__links { display: flex; gap: 4px; }
.card-item-info__link {
  height: 36px; padding: 0 14px; border-radius: 18px; background: var(--a1-bg); font: 500 14px/1 var(--a1-text); text-transform: none; color: var(--a1-ink-2);
  cursor: pointer; transition: background-color 0.15s, color 0.15s;
}
.card-item-info__link + .card-item-info__link { margin-left: 0; }
.card-item-info__link:not(.card-item-info__link_active):hover { opacity: 1; background: #e9ecef; }
.card-item-info__link_active { background: var(--a1-green-soft); color: var(--a1-green-btn); }
.card-item-info__card { gap: 0; margin-bottom: 24px; }
.card-item-info__card-item_image { border-color: var(--a1-line) !important; border-radius: var(--a1-radius) 0 0 var(--a1-radius); }
.card-item-info__card-item_info { border-color: var(--a1-line) !important; border-radius: 0 var(--a1-radius) var(--a1-radius) 0; margin-right: 24px; }
.card-item-info__card-badges { left: 16px; top: 16px; z-index: 2; gap: 6px; }
.card-item-info__card-badge { padding: 4px 10px; font: 700 16px/20px var(--a1-head); border-radius: 8px; }
.card-item-info__card-badge_new, .card-item-info__card-badge_star, .card-item-info__card-badge_percent, .card-item-info__card-badge_sale { margin-left: 0; padding: 0; width: 24px; height: 24px; }
.card-item-info__card-badge + .card-item-info__card-badge { margin-top: 6px; }
.card-item-info__card-articul { font: 400 14px/20px var(--a1-text); color: var(--a1-faint); }
.card-item-info__card-status { font: 500 15px/22px var(--a1-text); color: var(--a1-green-btn); }
.card-item-info__card-reviews-text { font: 400 14px/20px var(--a1-text); color: #a77b08; }
.card-item-info__card-manufacturer-text { font: 400 15px/22px var(--a1-text); color: var(--a1-ink-2); }
.card-item-info__card-social-title, .card-item-info__card-warn { font: 400 13px/20px var(--a1-text); color: var(--a1-muted); }
.card-item-info__card-item_actions { border-radius: var(--a1-radius); }
.card-item-info__card-main { padding: 24px; border: 1px solid var(--a1-line); border-radius: var(--a1-radius); box-shadow: var(--a1-shadow); max-width: none; background: #fff; }
.card-item-info__card-main .card-hor__price, .card-item-info__card-main .card-hor__price .card__price-rub { font: 700 34px/38px var(--a1-head); }
.card-item-info__card-main .card-hor__saving { display: block; margin-top: 4px; }
.card-item-info__card-main .card-hor__saving-text { display: inline-block; padding: 3px 10px; border-radius: 8px; background: var(--a1-red-soft); color: var(--a1-red); font: 500 13px/18px var(--a1-text); text-transform: none; }
.card-item-info__card-main .card-hor__actions { height: 52px; background: none; border-radius: 0; overflow: visible; }
.card-item-info__card-main .card__actions-counter-container { height: 52px; border-radius: var(--a1-radius-md); }
.card-item-info__card-main .card-hor__actions .primary-button { min-height: 52px; padding: 0 20px; font-size: 19px; }
.card-item-info__card-main .card-hor__actions-button-like { top: 16px; right: 16px; }
.card-item-info__card-main .card-item-info__card-buy-container { justify-content: center; padding: 6px 0 0; }
.card-item-info__card-delivery { margin-top: 12px; padding: 16px 24px 20px; border-radius: var(--a1-radius); background: var(--a1-bg); }
.card-item-info__card-delivery-line { display: none; }
.card-item-info__card-delivery-title { margin-top: 14px; font: 500 15px/22px var(--a1-text); color: var(--a1-ink); }
.card-item-info__card-delivery-title:first-of-type { margin-top: 0; }
.card-item-info__card-delivery-title .default-link { font: inherit; color: var(--a1-green-btn); }
.card-item-info__card-delivery-text { font: 400 12px/16px var(--a1-text); color: var(--a1-muted); }
.card-item-info__card-delivery-text_free, .card-item-info__card-delivery-text_price { font: 500 12px/16px var(--a1-text); color: var(--a1-green-btn); }
.card-item-info__card-select { padding: 2px 8px; border-radius: 6px; background: #fff; box-shadow: inset 0 0 0 1px var(--a1-line-2); font: 500 13px/20px var(--a1-text); }
.card-item-info__print-buttons { gap: 12px; margin: 8px 0 24px; }
.card-item-info__print-button + .card-item-info__print-button { margin-left: 0; }
.card-item-info__print-button { background: #fff; border-radius: var(--a1-radius-md); box-shadow: inset 0 0 0 1.5px var(--a1-line-2); }
.card-item-info__print-button .print-button__icon { width: 44px; height: 44px; background: none; }
.card-item-info__print-button .print-button__icon svg { width: 20px; height: 20px; }
.card-item-info__print-button .print-button__icon line, .card-item-info__print-button .print-button__icon path { stroke: var(--a1-ink-2); }
.card-item-info__print-button .print-button__icon svg { fill: none; }
.card-item-info__print-button .print-button__text { width: auto; height: 44px; padding: 0 4px 0 16px; color: var(--a1-ink-2); font: 500 15px/1 var(--a1-text); }
.card-item-info__print-button:hover { box-shadow: inset 0 0 0 1.5px var(--a1-green); }
.print-button:hover .print-button__text { color: var(--a1-green-btn); }
.card-item-info__main-text { margin-top: 8px; font-family: var(--a1-text); max-width: 820px; }
.card-item-info__main-text h2, .card-item-info__main-text h3 { margin: 32px 0 12px; font: 700 24px/30px var(--a1-head); color: var(--a1-ink); }
.card-item-info__main-text h3:first-child { margin-top: 0; }
.card-item-info__main-text p, .card-item-info__main-text ul li, .card-item-info__main-text td { font: 400 16px/26px var(--a1-text); color: var(--a1-ink-2); }
.card-item-info__main-text p { margin-bottom: 12px; }
.leave-review__button { padding: 0 20px; height: 48px; border-radius: var(--a1-radius-md); border: 1.5px solid var(--a1-green-btn); color: var(--a1-green-btn); font: 500 17px/1 var(--a1-head); }
.leave-review__button:hover { background: var(--a1-green-soft); border-color: var(--a1-green-btn); color: var(--a1-green-btn); }
.detail-delivery { margin-top: 32px; padding: 32px; border-radius: 20px; background: var(--a1-bg); width: auto; margin-left: 0; margin-right: 0; }
.detail-delivery .tabs__title { margin-bottom: 16px; font: 700 30px/36px var(--a1-head); }
.tabs__header-wrapper { display: inline-flex; gap: 4px; padding: 4px; border-radius: 12px; background: #fff; }
.tabs__header-button { padding: 8px 14px; border-radius: 9px; font: 500 14px/18px var(--a1-text); text-transform: none; color: var(--a1-muted); cursor: pointer; }
.tabs__header-button + .tabs__header-button { margin-left: 0; }
.tabs__header-button:hover { color: var(--a1-ink); }
.tabs__header-button_active { background: var(--a1-green-soft); color: var(--a1-green-btn); }
@media (max-width: 1300px) {
  .card-item-info__card-item_image { border-radius: var(--a1-radius); border: 1px solid var(--a1-line) !important; }
  .card-item-info__card-item_info { border-radius: 0; margin-right: 0; }
}
@media (max-width: 767px) {
  .card-item-page .top-content .main-title { font-size: 24px; line-height: 30px; }
  .card-item-info__links { overflow-x: auto; scrollbar-width: none; }
  .card-item-info__card-item_image { height: auto; aspect-ratio: 1 / 1; max-height: 360px; border: 1px solid var(--a1-line) !important; padding: 16px; }
  .card-item-info__card-main { padding: 16px; box-shadow: none; }
  .detail-delivery { margin: 24px calc(-1 * var(--a1-gutter)) 0; padding: 24px var(--a1-gutter); border-radius: 0; }
  .detail-delivery .tabs__title { font-size: 24px; line-height: 28px; }
  .card-item-info__print-buttons { flex-wrap: wrap; }
}
.card-hor__price-block:has(.card-hor__price-old) .card-hor__price, .card-hor__price-block:has(.card-hor__price-old) .card-hor__price .card__price-rub { color: var(--a1-red); }
.card-hor__price-old, .card-hor__price-old-rub, .card-hor__price-old .card__price-rub { font: 400 16px/20px var(--a1-text); color: var(--a1-faint); }
.card-item-info__card-buy-container .card-hor__buy-click { font: 400 14px/20px var(--a1-text); color: var(--a1-green-btn); }
.card-item-info__links-container { margin-bottom: 4px; }
@media (max-width: 767px) {
  .card-item-info__print-buttons { flex-direction: row; justify-content: flex-start; align-items: center; }
  .card-item-info__print-button { margin: 0 !important; }
}

/* the donor's slider wrappers around the rails (product, basket, catalog, 404, articles) */
.a1-sec.card-sliders-large { margin-top: 48px; margin-bottom: 0; border-radius: 0; background: transparent; }
.a1-sec.card-sliders-large.a1-sec_band { border-radius: 20px; background: #fff5f3; }
.a1-sec.viewed__slider { padding: 0; margin-bottom: 48px; }
.card-sliders-short { gap: 24px; margin-top: 48px; margin-bottom: 48px; }
.card-sliders-short .a1-sec { margin-top: 0; }
.card-sliders-short-container.a1-sec { width: calc(50% - 12px); padding: 0; align-items: stretch; background: transparent; min-width: 0; }
.card-item-page__products-block { margin-top: 0; }
@media (max-width: 1100px) {
  .card-sliders-short { flex-direction: column; gap: 32px; }
  .card-sliders-short-container.a1-sec { width: 100%; }
}

/* ───────────────────────── basket ───────────────────────── */
.cart-struct { gap: 24px; }
.cart-discount-info { margin-bottom: 24px; }
.cart-discount-info__items { background: var(--a1-bg); border-radius: var(--a1-radius-md); box-shadow: inset 0 0 0 1px var(--a1-line); }
.cart-discount-info__item { padding: 12px 8px; background: var(--a1-green-soft); border-radius: 0; }
.cart-discount-info__item_disabled { background: transparent; }
.cart-discount-info__item_warn { background: var(--a1-red-soft); }
.cart-discount-info__item-text, .cart-discount-info__item-text .card__price-rub { font: 600 15px/20px var(--a1-text); color: var(--a1-green-btn); }
.cart-discount-info__item_disabled .cart-discount-info__item-text, .cart-discount-info__item_disabled .cart-discount-info__item-text .card__price-rub { color: var(--a1-muted); font-weight: 500; }
.cart-discount-info__item_warn .cart-discount-info__item-text, .cart-discount-info__item_warn .cart-discount-info__item-text .card__price-rub { color: var(--a1-red); }
.cart-discount-info__line, .cart-discount-info__line-internal { display: none; }
.cart-discount-info__text { margin-top: 10px; padding: 0; font: 400 14px/20px var(--a1-text); color: var(--a1-red); }
.cart-discount-info__text_small { color: var(--a1-muted); }
.cart-item { padding: 16px 20px; border: 1px solid var(--a1-line); border-radius: var(--a1-radius); background: #fff; }
.cart-item + .cart-item { margin-top: 12px; }
.cart-item__badges { left: 12px; top: 12px; z-index: 1; }
.cart-item__badge { padding: 3px 8px; font: 700 13px/16px var(--a1-head); border-radius: 8px; }
.cart-item__part_info { padding-right: 24px; }
.cart-item__part + .cart-item__part { margin: 0; }
.cart-item__image-container { width: 88px; padding: 18px 16px 0 0; }
.cart-item__info-articul, .cart-item__info-articul span { font: 400 13px/18px var(--a1-text); color: var(--a1-faint); }
.cart-item__info-name { font: 500 16px/22px var(--a1-text); color: var(--a1-ink); text-decoration: none; }
.cart-item__info-name:hover { opacity: 1; color: var(--a1-red); }
.cart-item__counter-container { height: 40px; width: 104px; border-radius: 10px; background: var(--a1-bg); align-items: center; }
.cart-item__counter-button, .cart-item__counter-number { font: 500 16px/20px var(--a1-text); color: var(--a1-ink); background: transparent; border: 0; }
.cart-item__price { padding-left: 24px; }
.cart-item__price-price, .cart-item__price-price .card__price-rub { font: 700 24px/28px var(--a1-head); color: var(--a1-ink); }
.cart-item__price-content:has(.cart-item__price-old-price) .cart-item__price-price, .cart-item__price-content:has(.cart-item__price-old-price) .cart-item__price-price .card__price-rub { color: var(--a1-red); }
.cart-item__price-old-price, .cart-item__price-old-price .card__price-rub { margin-left: 8px; font: 400 14px/20px var(--a1-text); color: var(--a1-faint); }
.cart-item__price-saving { padding: 2px 8px; border-radius: 6px; background: var(--a1-red-soft); color: var(--a1-red); font: 500 12px/16px var(--a1-text); text-transform: none; }
.cart-item__price-saving * { color: inherit; font: inherit; }
.cart-item__actions-delete { opacity: 0.6; }
.cart-item__actions-delete:hover { opacity: 1; }

/* the totals panel of the basket and the checkout */
.cart-panel { top: 140px; }
.cart-panel__info-content { padding: 24px; border: 1px solid var(--a1-line); border-radius: var(--a1-radius); background: #fff; box-shadow: var(--a1-shadow); }
.cart-panel__info-content-item-header, .cart-panel__info-content-item-header-count { font: 400 15px/20px var(--a1-text); color: var(--a1-ink-2); }
.cart-panel__info-content-item-header span { font-size: 12px; color: var(--a1-muted); opacity: 1; }
.cart-panel__info-content-item-header .default-link { color: var(--a1-green-btn); }
.cart-panel__info-content-item-text, .cart-panel__info-content-item-text .card__price-rub { font: 700 20px/24px var(--a1-head); color: var(--a1-ink); }
.cart-panel__info-content-item-text_purple, .cart-panel__info-content-item-text_purple .card__price-rub { color: var(--a1-green-btn); }
.cart-panel__info-content-item-total { padding-top: 12px; border-top: 1px solid var(--a1-line); }
.cart-panel__info-content-item-total .cart-panel__info-content-item-header { font-weight: 600; color: var(--a1-ink); }
.cart-panel__info-content-item-total .cart-panel__info-content-item-text, .cart-panel__info-content-item-total .cart-panel__info-content-item-text .card__price-rub { font-size: 26px; line-height: 30px; }
.cart-panel__info-content-button { margin-top: 20px; }
.cart-panel__info-content-button .primary-button { min-height: 52px; font-size: 19px; }
.cart-panel__info-small-text { font: 400 13px/18px var(--a1-text); color: var(--a1-muted); }
.cart-panel__info-content-text { font: 400 13px/18px var(--a1-text); color: var(--a1-muted); }
.cart-panel .card-item-info__card-delivery { margin-top: 12px; }

/* ───────────────────────── checkout ───────────────────────── */
.checkout { gap: 24px; }
.checkout__content { margin-right: 0; padding: 8px 32px 32px; border: 1px solid var(--a1-line); border-radius: 20px; background: #fff; }
.checkout__tab-buttons { margin: 24px 0 8px; gap: 8px; justify-content: flex-start; }
.checkout__tab-button { width: auto; padding: 10px 18px 10px 12px; border-radius: 12px; background: var(--a1-bg); font: 500 17px/22px var(--a1-head); color: var(--a1-ink); cursor: pointer; }
.checkout__tab-button svg { width: 20px; height: 20px; margin-right: 10px; }
.checkout__tab-button_active { background: var(--a1-green-soft); box-shadow: inset 0 0 0 1.5px var(--a1-green); color: var(--a1-green-btn); }
.checkout__form-group-header, h3.checkout__form-group-header { margin-top: 28px; font: 700 20px/24px var(--a1-head); color: var(--a1-ink); }
.checkout .form-element__header { font: 500 14px/20px var(--a1-text); color: var(--a1-ink-2); }
.checkout__form-radio-description { font: 400 14px/20px var(--a1-text); color: var(--a1-muted); }
.checkout__form-delivery { padding: 24px; border-radius: var(--a1-radius); background: var(--a1-green-soft); }
.checkout__form-delivery-header, .checkout__form-delivery-text, .checkout__form-delivery-text-link, .checkout__form-delivery .form-element-checkbox__text { color: var(--a1-ink); }
.checkout__form-delivery-header { font: 700 18px/24px var(--a1-head); }
.checkout__form-delivery-text { font: 400 14px/20px var(--a1-text); }
.checkout__form-delivery .form-element-checkbox__box { border: 1.5px solid var(--a1-line-2); }
.checkout__panel-warn { padding: 12px 4px 0; font: 400 13px/18px var(--a1-text); color: var(--a1-muted); }
.checkout__panel-warn a, .checkout__panel-warn .default-link { color: var(--a1-green-btn); }
.checkout__panel-container { top: 140px; }
.checkout .form-element__hint, .checkout__content .form-element-hint, .checkout__content p { color: var(--a1-muted); }
@media (max-width: 767px) {
  .checkout__content { margin: 0 calc(-1 * var(--a1-gutter)); padding: 4px var(--a1-gutter) 24px; border-radius: 0; border-width: 1px 0; }
  .checkout__tab-buttons { flex-wrap: wrap; }
  .cart-item { padding: 14px; }
}
.checkout .form-element-checkbox__text, .checkout .form-element-radio__text { font: 400 15px/20px var(--a1-text); color: var(--a1-ink); }
.checkout__phone-order { margin-top: 6px; font: 400 13px/18px var(--a1-text); color: var(--a1-muted); }
.checkout-success-info__warn { padding: 32px; border-radius: 20px; background: var(--a1-green-soft); }
.checkout-success-info__warn-header, .checkout-success-info__warn-text { color: var(--a1-ink); }
.checkout-success-info__header { font: 700 40px/46px var(--a1-head); }
@media (max-width: 767px) {
  .cart-discount-info__items { overflow-x: auto; scrollbar-width: none; justify-content: flex-start; }
  .cart-discount-info__item { flex: 1 0 auto; padding: 10px 12px; }
  .cart-discount-info__item-text, .cart-discount-info__item-text .card__price-rub { font-size: 14px; }
}

/* ───────────────────────── content pages ───────────────────────── */
.text-block { max-width: 860px; font-family: var(--a1-text); }
.text-block p, .text-block li, .text-block td, .text-block th { font: 400 16px/26px var(--a1-text); color: var(--a1-ink-2); }
.text-block p { margin-bottom: 14px; }
.text-block li + li { margin-top: 8px; }
.text-block ol, .text-block ul { margin: 0 0 18px; padding-left: 24px; }
.text-block ol { list-style: decimal; }
.text-block ul { list-style: disc; }
.text-block li { display: list-item; padding-left: 4px; }
.text-block li::marker { color: var(--a1-muted); font-weight: 600; }
.text-block strong, .text-block b { font-weight: 600; color: var(--a1-ink); }
.text-block a { color: var(--a1-green-btn); text-decoration: underline; text-decoration-color: rgba(74, 132, 43, 0.35); text-underline-offset: 3px; }
.text-block a:hover { text-decoration-color: currentColor; }
.text-block h2, .text-block h3, .text-block .h2, .text-block .h3, .about-info__title { margin: 36px 0 12px; font: 700 26px/32px var(--a1-head); color: var(--a1-ink); }
.text-block h2:first-child, .text-block h3:first-child { margin-top: 0; }
.text-block table { border-collapse: collapse; width: 100%; margin: 12px 0 20px; }
.text-block td, .text-block th { padding: 10px 12px; border-bottom: 1px solid var(--a1-line); text-align: left; }
.delivery { gap: 32px; }
.delivery__content { padding-top: 0; }
.about-info__advantages { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 8px; }
.about-info__advantage { position: relative; width: auto; min-height: 0; margin: 0; padding: 24px 96px 24px 24px; overflow: hidden; border-radius: var(--a1-radius); background: var(--a1-green-soft); }
.about-info__advantage-number { position: absolute; right: 16px; bottom: -24px; top: auto; left: auto; width: auto; height: auto; font: 700 120px/1 var(--a1-head); color: rgba(74, 132, 43, 0.16); }
.about-info__advantage-container { position: static; width: auto; }
.about-info__advantage-header { font: 700 19px/24px var(--a1-head); color: var(--a1-ink); }
.about-info__advantage-text { width: auto; margin-top: 6px; font: 400 15px/22px var(--a1-text); color: var(--a1-ink-2); }
@media (max-width: 767px) {
  .text-block p, .text-block li { font-size: 15px; line-height: 24px; }
  .text-block h2, .text-block h3, .about-info__title { font-size: 22px; line-height: 28px; margin-top: 28px; }
  .about-info__advantages { grid-template-columns: 1fr; }
}

/* ───────────────────────── account, sign-in ───────────────────────── */
.enter { padding: 24px 0 56px; }
.enter__container { width: 100%; max-width: 460px; margin: 0 auto; padding: 32px; border: 1px solid var(--a1-line); border-radius: 20px; background: #fff; box-shadow: var(--a1-shadow); }
.enter__title, h1.enter__title { margin: 0 0 20px; font: 700 32px/38px var(--a1-head); text-align: center; }
.enter__elements { width: 100%; max-width: none; }
.enter__elements .form-element + .form-element { margin-top: 16px; }
.enter__actions { width: 100%; margin-top: 24px; gap: 12px; }
.enter__actions .primary-button { width: 100%; }
.default-link { color: var(--a1-green-btn); font-family: var(--a1-text); font-size: 14px; }
.default-link:hover { color: var(--a1-green-btn-hover); text-decoration: underline; text-underline-offset: 3px; }
.enter__error { color: var(--a1-red); font: 500 14px/20px var(--a1-text); text-align: center; }
@media (max-width: 767px) {
  .enter { padding: 8px 0 32px; }
  .enter__container { padding: 24px 16px; box-shadow: none; }
}
.text-block ul li { font: 400 16px/26px var(--a1-text); color: var(--a1-ink-2); padding-left: 22px; }
.text-block ul li + li { margin-top: 8px; }
.text-block ul li:before { content: ""; top: 11px; width: 6px; height: 6px; border-radius: 50%; background: var(--a1-green); }
@media (max-width: 767px) { .text-block ul li { font-size: 15px; line-height: 24px; } .text-block ul li:before { top: 10px; } }
.registration { padding: 8px 0 56px; }
.registration__container { width: 100%; max-width: 560px; margin: 0 auto; padding: 32px; border: 1px solid var(--a1-line); border-radius: 20px; background: #fff; box-shadow: var(--a1-shadow); }
.registration__container .primary-button { width: 100%; }
.registration__container .form-element + .form-element { margin-top: 14px; }
@media (max-width: 767px) { .registration__container { padding: 24px 16px; box-shadow: none; } }
.registration__elements { width: 100%; max-width: none; }
.registration__title { margin: 0 0 20px; font: 700 32px/38px var(--a1-head); text-align: center; }
.registration__container .enter__actions { width: 100%; }
.registration__confirm-text { max-width: none; font: 400 13px/18px var(--a1-text); color: var(--a1-muted); }
.registration__confirm-text .default-link { font-size: 13px; }
.a1-mega__box_sections { grid-template-rows: minmax(0, 1fr); } .a1-mega__sections, .a1-mega__main { min-height: 0; }
@media (min-width: 768px) and (max-width: 939px) {
  .a1-act_viewed, .a1-act_fav { display: none; }
  .a1-logo .a1-logo__full { height: 32px; }
  .a1-hmain__in { column-gap: 12px; }
  .a1-menu__link_promo .a1-menu__promo-icon { display: none; }
  .a1-menu__link_promo { padding: 0 8px; }
}
@media (max-width: 1023px) {
  .cart-struct, .checkout { flex-direction: column; }
  .cart-struct__body { width: 100%; }
  .cart-panel, .checkout__panel { width: 100%; position: static; }
  .checkout__panel-container { position: static; }
}
@media (max-width: 1023px) {
  .cart-panel { display: block; }
  .checkout__panel-container, .checkout__panel-block { width: 100%; max-width: none; }
}
@media (max-width: 1023px) {
  .cart-struct .cart-panel { max-width: none; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-items: start; }
  .cart-struct .cart-panel .card-item-info__card-delivery { margin-top: 0; }
  .checkout__panel-block .cart-panel { max-width: none; }
}
@media (max-width: 767px) {
  .cart-struct .cart-panel { grid-template-columns: 1fr; gap: 12px; }
}
@media (max-width: 1023px) { .checkout .cart-panel { max-width: none; } }

/* ───────────────────────── popups, toasts ───────────────────────── */
.popup__container { border-radius: 20px; box-shadow: var(--a1-shadow-lg); overflow: hidden; }
.popup__container-bg { border-radius: 20px; }
.popup__header { font: 700 26px/32px var(--a1-head); letter-spacing: -0.01em; }
.popup__close-button { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; top: 12px; right: 12px; border-radius: 50%; }
.popup__close-button:hover { background: var(--a1-bg); }
.popup .form-element-checkbox__text { font: 400 14px/20px var(--a1-text); color: var(--a1-ink-2); }
.popup .primary-button { min-width: 200px; }
.bx-toast { border-radius: 12px; padding: 12px 16px; background: var(--a1-ink); font: 400 15px/20px var(--a1-text); box-shadow: var(--a1-shadow-lg); }
.bx-toast_error { background: var(--a1-red); }
@media (max-width: 767px) { .bx-toasts { left: 16px; right: 16px; bottom: 16px; } .bx-toast { max-width: none; } }

/* «Категории» under the catalog: a light panel like the rest of the site instead of the donor's blue one */
.category-links { padding: 32px 36px; margin-bottom: 48px; background: var(--a1-bg); border: 1px solid var(--a1-line); border-radius: var(--a1-radius); }
.category-links__header { margin-bottom: 20px; font: 700 26px/30px var(--a1-head); color: var(--a1-ink); }
.category-links__items { margin-top: -6px; gap: 0 32px; flex-wrap: nowrap; }
.category-links__items-group { width: auto; flex: 1 1 0; min-width: 0; }
.category-links__link-container { margin-top: 6px; }
.category-links__link-container:hover { opacity: 1; }
.category-links .category-links__link { display: block; padding: 4px 0; font: 400 16px/22px var(--a1-text); color: var(--a1-ink-2); text-decoration: none; }
.category-links .category-links__link:hover { color: var(--a1-red); }
@media (max-width: 1023px) {
  .category-links__items { flex-wrap: wrap; gap: 0 24px; }
  .category-links__items-group { flex: 1 1 calc(50% - 12px); }
}
@media (max-width: 767px) {
  .category-links { margin-left: 0; padding: 20px 16px; }
  .category-links__header { font-size: 22px; line-height: 26px; margin-bottom: 12px; }
  .category-links__items { display: block; columns: 2; column-gap: 16px; } /* alphabetical down the first column, then the second */
  .category-links__items-group { display: contents; }
  .category-links__link-container { break-inside: avoid; margin-top: 0; }
  .category-links__items { margin-top: 0; }
  .category-links .category-links__link { font-size: 15px; line-height: 20px; }
}

/* ───────────────────────── tabletkimoscow ───────────────────────── */
/* the logo is wider than Аптека №1's (icon + name + line), so it is drawn a little lower */
.a1-logo .a1-logo__full { height: 40px; }
@media (max-width: 1200px) { .a1-logo .a1-logo__full { height: 34px; } }

/* «Бренды»: the donor's wide brand banners, two per row */
.a1-bgrid__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.a1-bgrid__item { display: block; overflow: hidden; border-radius: var(--a1-radius-md); background: var(--a1-bg); aspect-ratio: 1110 / 350; box-shadow: var(--a1-shadow-sm); transition: box-shadow 0.15s, transform 0.15s; }
.a1-bgrid__item:hover { box-shadow: var(--a1-shadow); transform: translateY(-2px); }
.a1-bgrid__item img { display: block; width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 767px) { .a1-bgrid__grid { grid-template-columns: minmax(0, 1fr); gap: 10px; } }
/* «В наличии» stays green: in red it would read as a warning */
.card-item-info__card-status { color: #2e7d32; }
