/* Пластдизайн: красный и жёлтый бренд. Подключать после store.css и contacts.css. */
:root {
  --brand-red: #c70e25;
  --brand-red-hover: #a70b1f;
  --brand-red-deep: #980b1d;
  --brand-yellow: #ffd12a;
  --brand-yellow-hover: #ffe16b;
  --brand-soft: #fff3f2;
  --brand-warm: #fffaf0;
  --ink: #292529;
  --muted: #6f686b;
  --line: #e9e2df;
  --bg: #faf8f6;
  --dark: #302528;
  /* Совместимость с существующими компонентами магазина. */
  --blue: var(--brand-red);
  --blue-hover: var(--brand-red-hover);
  --blue-soft: var(--brand-soft);
  --shadow: 0 14px 48px #35232614;
}

:focus-visible,
.variant-option input:focus-visible + span {
  outline: 3px solid var(--brand-red);
  outline-offset: 3px;
}
input,
textarea,
select {
  border-color: #d9cecc;
}
input[type="checkbox"],
input[type="radio"] {
  border-color: #b9abaa;
}
input:focus,
textarea:focus,
select:focus {
  border-color: var(--brand-red);
  box-shadow: 0 0 0 3px #c70e2514;
}
.secondary:hover {
  border-color: #d6a3a9;
}

/* Верхняя полоса и шапка сохраняют привычную структуру магазина. */
.utility {
  background: var(--brand-red-deep);
  border-color: #ffffff26;
  color: #fff4f4;
}
.utility-inner > a {
  color: #fff;
}
.utility a:hover {
  color: var(--brand-yellow);
}
.header {
  background: var(--brand-red);
  border-bottom-color: #e3b719;
  color: #fff;
}
.header::before {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 44px;
  background: var(--brand-yellow);
  z-index: -1;
  pointer-events: none;
}
.header .brand {
  color: #fff !important;
}
.header .brand-mark {
  background: var(--brand-yellow);
  color: var(--brand-red-deep);
}
.header .brand-name small {
  color: #fff2f2;
}
.header .catalog-toggle {
  background: var(--brand-yellow);
  color: var(--ink);
  border-color: var(--brand-yellow);
}
.header .catalog-toggle:hover,
.header .catalog-toggle[aria-expanded="true"] {
  background: var(--brand-yellow-hover);
  border-color: var(--brand-yellow-hover);
  color: var(--ink);
}
.searchbox {
  background: #fff;
  border-color: #fff;
  color: var(--ink);
}
.searchbox input::placeholder {
  color: #736b6e;
}
.searchbox button {
  color: #665d60;
}
.searchbox button:hover {
  color: var(--brand-red);
}
.searchbox:focus-within {
  border-color: var(--brand-yellow);
  box-shadow: 0 0 0 3px #ffd12a66;
}
.header-actions a {
  color: #fff;
}
.header-actions a:hover {
  color: var(--brand-yellow);
}
.header-actions b {
  background: var(--brand-yellow);
  color: #302528;
}
.navline {
  background: var(--brand-yellow);
  color: var(--ink);
}
.navline > a,
.navline .text-button {
  color: var(--ink);
}
.navline > a:hover,
.navline .text-button:hover {
  color: var(--brand-red-deep);
}
.utility :focus-visible,
.header-main :focus-visible {
  outline-color: var(--brand-yellow);
}
.header .searchbox button:focus-visible,
.navline :focus-visible {
  outline-color: var(--brand-red-deep);
}
.header .catalog-toggle:focus-visible {
  outline-color: #fff;
}
.catalog-menu {
  color: var(--ink);
}
.catalog-menu-links > a:hover {
  background: var(--brand-warm);
  border-color: #e6cc86;
}

/* Белые карточки и нейтральные фотографии оставляют акцент на товаре. */
.hero,
.category-tile,
.sidebar-help,
.catalog-note,
.pack-label {
  background: var(--brand-warm);
}
.hero-copy .eyebrow,
.hero-copy > p,
.hero-footnote {
  color: var(--muted);
}
.category-tile:hover {
  border-color: #e6bd4c;
  background: #fff8df;
}
.assistance-tile {
  background: #fff5d3;
  border-color: #eddda5;
}
.product-card,
.card-media,
.gallery-main {
  background: #fff;
}
.product-card:hover {
  border-color: #d8b3b8;
  box-shadow: 0 8px 24px #3823280c;
}
.card-button {
  background: #fff;
  border-color: #d7c9c9;
  color: var(--brand-red-hover);
}
.card-button:hover {
  background: var(--brand-soft);
  border-color: #d6a3a9;
  color: var(--brand-red-hover);
}
.project-banner {
  background: var(--dark);
}
.project-banner .eyebrow,
.process-list > div > span {
  color: var(--brand-yellow);
}
.project-banner p {
  color: #e3d9dc;
}
.benefit-strip .icon,
.category-symbol,
.large-icon {
  color: var(--brand-red);
}
.popular-badge {
  background: #fff0b7;
  color: #6a4500;
}
.status-badge {
  background: #f4eee8;
  color: #695149;
}
.empty-state {
  background: #fcfaf8;
  border-color: #ded3d0;
}
.error-number {
  color: #f5e5e5;
}

/* Контакты и подвал: тёплые поверхности без конкуренции с содержимым. */
.contacts-page .pickup-panel,
.contacts-page .requisites-section {
  background: var(--brand-warm);
}
.footer {
  background: #fff8e7;
  border-top-color: #e9d694;
}
.footer .brand-mark {
  background: var(--brand-yellow);
  color: var(--brand-red-deep);
}
.footer-grid p,
.footer-bottom,
.footer .brand-name small {
  color: #756a61;
}
.footer-bottom {
  border-top-color: #e9dfc2;
}
.mobile-nav {
  border-top-color: #e6d9c9;
}
.mobile-nav > a {
  color: #74676b;
}
.mobile-nav a.active {
  color: var(--brand-red);
}

@media (max-width: 959px) {
  .header::before {
    height: 42px;
  }
}
@media (max-width: 699px) {
  .header::before {
    height: 39px;
  }
  .header .navline {
    font-size: 11px;
  }
  .header .navline > a {
    display: inline-flex;
    align-items: center;
    min-height: 39px;
    flex: none;
  }
  .utility-inner > a {
    font-size: 10px;
  }
}

/* Выделенные категории в раскрытом каталоге. */
#catalog-menu .catalog-menu-links > a {
  background: var(--brand-yellow);
  border-color: var(--brand-yellow);
  color: var(--ink);
  font-weight: 700;
}
#catalog-menu .catalog-menu-links > a:hover {
  background: var(--brand-yellow-hover);
  border-color: var(--brand-yellow-hover);
  color: var(--ink);
}
