* {
  box-sizing: border-box;
}html {
  scroll-behavior: smooth;
}:root {
  --color-text: #171717;
  --color-muted: #6d6d6d;
  --color-line: #ece8e1;
  --color-bg: #ffffff;
  --color-soft: #faf8f5;
  --color-accent: #f28c28;
  --color-accent-dark: #d87210;
}.cm-card /* Базовое правило body убрано: карточка встраивается в тему WoodMart. Шрифт/цвет скоупим на .cm-card, .cm-card чтобы не перекрашивать шапку и подвал сайта (CSS грузится только на странице dev-товара, но body — глобальный). */
.cm-card {
  font-family: Inter, Arial, sans-serif;
  color: var(--color-text);
}body.is-lightbox-open, body.is-modal-open {
  overflow: hidden;
}.cm-card button, .cm-card a, .cm-card input {
  font-family: inherit;
}.cm-card button {
  -webkit-tap-highlight-color: transparent;
}.cm-card .product-page {
  width: 100%;
  padding: 22px 20px 32px;
}.cm-card .breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  max-width: 1280px;
  margin: 0 auto 16px;
  color: #777777;
  font-size: 13px;
  line-height: 1.35;
}.cm-card .breadcrumbs a {
  color: #5f5f5f;
  text-decoration: none;
}.cm-card .breadcrumbs a:hover {
  color: var(--color-text);
}.cm-card .product-hero {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(560px, 1fr);
  gap: 26px;
  align-items: start;
  max-width: 1280px;
  margin: 0 auto;
}.cm-card .product-gallery {
  min-width: 0;
}.cm-card .gallery-main {
  position: relative;
  min-height: 500px;
  overflow: hidden;
  border-radius: 24px;
  background: #ffffff;
}.cm-card .gallery-zoom-trigger {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 500px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: zoom-in;
}.cm-card .gallery-main__image {
  display: block;
  width: 100%;
  height: 500px;
  object-fit: contain;
  transition: opacity 0.2s ease, transform 0.2s ease;
}.cm-card .gallery-main__image.is-changing {
  opacity: 0;
  transform: scale(0.985);
}.cm-card .gallery-zoom-hint {
  position: absolute;
  right: 18px;
  bottom: 18px;
  padding: 9px 12px;
  border-radius: 999px;
  color: var(--color-text);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  font-size: 13px;
  font-weight: 600;
  opacity: 0;
  transform: translateY(4px);
  transition: opacity 0.18s ease, transform 0.18s ease;
  pointer-events: none;
}.cm-card .gallery-main:hover .gallery-zoom-hint {
  opacity: 1;
  transform: translateY(0);
}.cm-card .gallery-arrow {
  position: absolute;
  top: 50%;
  z-index: 2;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 50%;
  color: var(--color-text);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  cursor: pointer;
  transform: translateY(-50%);
  font-size: 32px;
  line-height: 40px;
}.cm-card .gallery-arrow--prev { left: 16px; }.cm-card .gallery-arrow--next { right: 16px; }.cm-card .gallery-thumbs {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 9px;
  margin-top: 12px;
}.cm-card .gallery-thumb {
  height: 74px;
  padding: 0;
  overflow: hidden;
  border: 2px solid transparent;
  border-radius: 14px;
  background: #ffffff;
  cursor: pointer;
}.cm-card .gallery-thumb.is-active {
  border-color: var(--color-accent);
}.cm-card .gallery-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}.cm-card .product-info {
  align-self: start;
  position: sticky;
  top: 22px;
  padding: 28px 30px;
  border: 1px solid #f1ede7;
  border-radius: 28px;
  background: #ffffff;
  box-shadow: 0 18px 60px rgba(0, 0, 0, 0.05);
}.cm-card .title-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 18px;
}.cm-card .brand-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  padding: 8px 10px;
  border: 1px solid #eee8df;
  border-radius: 12px;
  background: #ffffff;
  text-decoration: none;
  opacity: 0.62;
}.cm-card .brand-logo:hover {
  opacity: 0.9;
}.cm-card .brand-logo img {
  display: block;
  width: 92px;
  height: auto;
}.cm-card .europe-note {
  margin-top: 10px;
  padding: 9px 11px;
  border: 1px solid #f1ede7;
  border-radius: 12px;
  color: #6b6258;
  background: #fffdf9;
  font-size: 13px;
  line-height: 1.35;
  font-weight: 500;
}.cm-card .product-title {
  margin: 0;
  max-width: 720px;
  font-size: 32px;
  line-height: 1.1;
  letter-spacing: -0.04em;
}.cm-card .product-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}.cm-card .product-tag {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 6px 11px;
  border-radius: 999px;
  color: #171717;
  background: #fff3e3;
  border: 1px solid #ffd8a8;
  font-size: 12px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}.cm-card .use-case-text {
  margin: 14px 0 0;
  max-width: 720px;
  color: #2a2a2a;
  font-size: 16px;
  line-height: 1.48;
  font-weight: 600;
}.cm-card .key-points {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 18px;
}.cm-card .key-point {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 10px;
  align-items: start;
  min-height: 88px;
  padding: 14px;
  border: 1px solid var(--color-line);
  border-radius: 16px;
  background: var(--color-soft);
}.cm-card .key-point__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #171717;
}.cm-card .key-point__icon svg {
  display: block;
  width: 20px;
  height: 20px;
  fill: none;
  stroke: var(--color-accent);
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}.cm-card .key-point p {
  margin: 0;
  color: #3a3a3a;
  font-size: 14px;
  line-height: 1.38;
}.cm-card .key-point strong {
  display: inline-block;
  margin-bottom: 3px;
  color: var(--color-text);
}.cm-card .product-price-row {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid var(--color-line);
}.cm-card .product-price {
  font-size: 34px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: -0.03em;
}.cm-card .eu-order-note {
  margin: 8px 0 0;
  color: #8b8379;
  font-size: 12px;
  line-height: 1.4;
  font-weight: 400;
}.cm-card .option-block { margin-top: 20px; }.cm-card .option-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 11px;
}.cm-card .option-head--inline {
  justify-content: flex-start;
  gap: 6px;
}.cm-card .option-title {
  font-size: 16px;
  font-weight: 700;
}.cm-card .option-value {
  margin-left: 4px;
  color: var(--color-muted);
  font-size: 14px;
  font-weight: 600;
}.cm-card .color-options, .cm-card .size-options {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}.cm-card .color-option {
  width: 40px;
  height: 40px;
  border: 2px solid #e2e2e2;
  border-radius: 50%;
  background: var(--color);
  cursor: pointer;
}.cm-card .color-option.is-active {
  outline: 2px solid var(--color-accent);
  outline-offset: 3px;
}
.cm-card .color-options .color-option {
  /* Woodmart даёт кнопкам padding 5px 20px + min-height 42px → кружок 44×42 (овал). Сброс до ровных 40×40. */
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  min-width: 0;
  min-height: 0;
  padding: 0;
}
/* Woodmart красит любую кнопку на :hover в серый (`:is(.btn,button,[type=button]):hover` — background-color/border/
   box-shadow) → кружок цвета терял свой цвет при наведении. Держим цвет кружка на hover/focus. */
.cm-card .color-options .color-option:hover,
.cm-card .color-options .color-option:focus {
  background-color: var(--color);
  border-color: #c9c9c9;
  box-shadow: none;
}.cm-card .size-help {
  padding: 0;
  border: 0;
  color: var(--color-accent-dark);
  background: transparent;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}.cm-card .size-option {
  min-width: 56px;
  height: 44px;
  border: 1px solid #dfdfdf;
  border-radius: 12px;
  color: var(--color-text);
  background: #ffffff;
  cursor: pointer;
  font-size: 15px;
  font-weight: 700;
}.cm-card .size-option.is-active {
  color: #ffffff;
  border-color: var(--color-text);
  background: var(--color-text);
}.cm-card .buy-actions {
  display: grid;
  grid-template-columns: 1fr 1fr 56px;
  gap: 10px;
  margin-top: 24px;
}.cm-card .btn {
  min-height: 54px;
  border-radius: 16px;
  cursor: pointer;
  font-size: 15px;
  font-weight: 800;
}.cm-card .btn--primary {
  border: 1px solid var(--color-accent);
  color: #171717;
  background: var(--color-accent);
}.cm-card .btn--secondary, .cm-card .btn--favorite {
  border: 1px solid #dedede;
  color: var(--color-text);
  background: #ffffff;
}.cm-card .btn--favorite {
  font-size: 24px;
  line-height: 1;
}.cm-card .lightbox, .cm-card .modal {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.18s ease;
}.cm-card .lightbox {
  z-index: 1000;
  padding: 64px 86px;
}.cm-card .lightbox.is-open, .cm-card .modal.is-open {
  opacity: 1;
  pointer-events: auto;
}.cm-card .lightbox-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(12, 12, 12, 0.92);
}.cm-card .lightbox-image {
  position: relative;
  z-index: 2;
  display: block;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  border-radius: 14px;
  box-shadow: 0 22px 80px rgba(0, 0, 0, 0.35);
}.cm-card .lightbox-close, .cm-card .lightbox-arrow {
  position: absolute;
  z-index: 3;
  border: 0;
  color: var(--color-text);
  background: rgba(255, 255, 255, 0.94);
  cursor: pointer;
}.cm-card .lightbox-close {
  top: 22px;
  right: 24px;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  font-size: 32px;
  line-height: 42px;
}.cm-card .lightbox-arrow {
  top: 50%;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  transform: translateY(-50%);
  font-size: 40px;
  line-height: 48px;
}.cm-card .lightbox-arrow--prev { left: 22px; }.cm-card .lightbox-arrow--next { right: 22px; }.cm-card .lightbox-counter {
  position: absolute;
  left: 50%;
  bottom: 22px;
  z-index: 3;
  padding: 9px 14px;
  border-radius: 999px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.18);
  font-size: 14px;
  font-weight: 700;
  transform: translateX(-50%);
}.cm-card .modal {
  z-index: 1100;
  padding: 24px;
}.cm-card .modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(12, 12, 12, 0.62);
}.cm-card .modal-window {
  position: relative;
  z-index: 2;
  width: min(680px, 100%);
  max-height: calc(100vh - 48px);
  overflow: auto;
  padding: 30px;
  border-radius: 24px;
  background: #ffffff;
  box-shadow: 0 26px 90px rgba(0, 0, 0, 0.24);
}.cm-card .modal-window--form {
  width: min(520px, 100%);
}.cm-card .modal-window h2 {
  margin: 0 46px 10px 0;
  font-size: 24px;
  line-height: 1.12;
  letter-spacing: -0.03em;
}.cm-card .modal-note {
  margin: 0 0 18px;
  color: #666666;
  font-size: 15px;
  line-height: 1.45;
}.cm-card .modal-close {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 50%;
  color: var(--color-text);
  background: #f2f2f0;
  cursor: pointer;
  font-size: 28px;
  line-height: 34px;
}.cm-card .size-table-wrap { overflow-x: auto; }.cm-card .size-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 520px;
  overflow: hidden;
  border-radius: 16px;
}.cm-card .size-table th, .cm-card .size-table td {
  padding: 14px 16px;
  border-bottom: 1px solid #ececec;
  text-align: left;
  font-size: 14px;
}.cm-card .size-table th {
  color: var(--color-text);
  background: #f5f5f3;
  font-weight: 800;
}.cm-card .size-table td:first-child { font-weight: 800; }.cm-card .size-table tr:last-child td { border-bottom: 0; }.cm-card .one-click-form {
  display: grid;
  gap: 14px;
}.cm-card .form-field {
  display: grid;
  gap: 7px;
  font-size: 14px;
  font-weight: 700;
}.cm-card .form-field input {
  width: 100%;
  height: 50px;
  padding: 0 14px;
  border: 1px solid #dedede;
  border-radius: 14px;
  color: var(--color-text);
  background: #ffffff;
  font-size: 15px;
  outline: none;
}.cm-card .form-field input:focus {
  border-color: var(--color-accent);
  box-shadow: 0 0 0 3px rgba(242, 140, 40, 0.16);
}.cm-card .form-checkbox {
  display: grid;
  grid-template-columns: 18px 1fr;
  gap: 10px;
  align-items: start;
  color: #5f5f5f;
  font-size: 13px;
  line-height: 1.35;
}.cm-card .form-checkbox input {
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: var(--color-accent);
}.cm-card .form-submit {
  width: 100%;
  margin-top: 4px;
}.cm-card .toast {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 1200;
  display: flex;
  flex-direction: column;
  gap: 10px;
  pointer-events: none;
}.cm-card .toast-message {
  min-width: 220px;
  max-width: 360px;
  padding: 14px 16px;
  border-radius: 16px;
  color: #ffffff;
  background: #171717;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.18);
  font-size: 14px;
  font-weight: 700;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.18s ease, transform 0.18s ease;
}.cm-card .toast-message.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (hover: hover) {.cm-card .gallery-arrow, .cm-card .gallery-thumb, .cm-card .color-option, .cm-card .size-option, .cm-card .btn, .cm-card .lightbox-close, .cm-card .lightbox-arrow, .cm-card .brand-logo, .cm-card .modal-close {
    transition: transform 0.16s ease, border-color 0.16s ease, background 0.16s ease, opacity 0.16s ease;
  }.cm-card .btn:hover, .cm-card .gallery-thumb:hover, .cm-card .size-option:hover, .cm-card .color-option:hover, .cm-card .lightbox-close:hover, .cm-card .lightbox-arrow:hover, .cm-card .brand-logo:hover { transform: translateY(-1px); }.cm-card .gallery-arrow:hover, .cm-card .lightbox-arrow:hover { transform: translateY(-50%) scale(1.03); }.cm-card .btn--primary:hover { background: #f5a14d; }
}

@media (max-width: 1180px) {.cm-card .product-hero { grid-template-columns: 1fr; }.cm-card .product-info { position: static; }
}

@media (max-width: 760px) {.cm-card .product-page { padding: 12px; }.cm-card .breadcrumbs { margin-bottom: 12px; font-size: 12px; }.cm-card .product-info { border-radius: 20px; }.cm-card .gallery-main { min-height: 360px; border-radius: 16px; }.cm-card .gallery-zoom-trigger, .cm-card .gallery-main__image { height: 360px; }.cm-card .gallery-zoom-hint { display: none; }.cm-card .gallery-arrow { width: 38px; height: 38px; font-size: 28px; line-height: 34px; }.cm-card .gallery-thumbs { display: flex; overflow-x: auto; padding-bottom: 2px; }.cm-card .gallery-thumb { flex: 0 0 76px; height: 64px; border-radius: 12px; }.cm-card .product-info { padding: 22px; }.cm-card .brand-logo img { width: 116px; }.cm-card .product-title { font-size: 28px; }.cm-card .use-case-text { font-size: 15px; }.cm-card .key-points { grid-template-columns: 1fr; }.cm-card .key-point { min-height: auto; }.cm-card .product-price { font-size: 28px; }.cm-card .buy-actions { grid-template-columns: 1fr 56px; }.cm-card .btn--secondary { grid-column: 1 / -1; grid-row: 2; }.cm-card .lightbox { padding: 72px 14px 64px; }.cm-card .lightbox-close { top: 14px; right: 14px; }.cm-card .lightbox-arrow { width: 42px; height: 42px; font-size: 32px; line-height: 38px; }.cm-card .lightbox-arrow--prev { left: 10px; }.cm-card .lightbox-arrow--next { right: 10px; }.cm-card .modal { padding: 12px; }.cm-card .modal-window { padding: 24px 18px; border-radius: 20px; }.cm-card .modal-window h2 { font-size: 22px; }.cm-card .toast { right: 12px; bottom: 12px; left: 12px; }.cm-card .toast-message { max-width: none; }
}

@media (max-width: 760px) {.cm-card .title-row {
    grid-template-columns: 1fr;
    gap: 10px;
  }.cm-card .brand-logo img {
    width: 86px;
  }.cm-card .product-badge.is-active::after {
    left: 50%;
    transform: translateX(-50%);
    max-width: min(260px, calc(100vw - 48px));
  }
}.cm-card .product-badges {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 12px;
}.cm-card .product-badge {
  position: relative;
  min-height: 42px;
  padding: 0 18px;
  border: 1px solid #efc68b;
  border-radius: 999px;
  color: #121212;
  background: #f8f3ea;
  cursor: pointer;
  font-size: 15px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0.02em;
}.cm-card .product-badge.is-active::after {
  content: attr(data-badge-tip);
  position: absolute;
  left: 0;
  top: calc(100% + 8px);
  z-index: 10;
  width: max-content;
  max-width: 260px;
  padding: 10px 12px;
  border: 1px solid #eee8df;
  border-radius: 12px;
  color: #2c2c2c;
  background: #ffffff;
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.12);
  font-size: 12px;
  line-height: 1.35;
  font-weight: 500;
  white-space: normal;
}.cm-card .btn--favorite {
  font-size: 24px;
  line-height: 1;
  transition: transform 0.16s ease, border-color 0.16s ease, background 0.16s ease, color 0.16s ease;
}.cm-card .btn--favorite.is-active {
  border-color: var(--color-accent);
  color: #ffffff;
  background: var(--color-accent);
}.cm-card .product-specs {
  max-width: 1280px;
  margin: 34px auto 0;
  padding: 34px;
  border: 1px solid #f1ede7;
  border-radius: 30px;
  background: #ffffff;
  box-shadow: 0 18px 60px rgba(0, 0, 0, 0.04);
}.cm-card .section-head {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(360px, 0.8fr);
  gap: 24px;
  align-items: end;
  margin-bottom: 24px;
}.cm-card .section-kicker {
  margin: 0 0 8px;
  color: var(--color-accent-dark);
  font-size: 13px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}.cm-card .section-head h2 {
  margin: 0;
  font-size: 34px;
  line-height: 1.08;
  letter-spacing: -0.04em;
}.cm-card .section-head > p {
  margin: 0;
  color: #696969;
  font-size: 15px;
  line-height: 1.5;
}.cm-card .specs-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.86fr) minmax(520px, 1fr);
  gap: 22px;
  align-items: start;
}.cm-card .specs-highlight-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}.cm-card .spec-highlight {
  min-height: 148px;
  padding: 18px;
  border: 1px solid #eee8df;
  border-radius: 20px;
  background: #fffaf3;
}.cm-card .spec-highlight__label {
  display: inline-flex;
  margin-bottom: 10px;
  color: #8a5a22;
  font-size: 12px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}.cm-card .spec-highlight strong {
  display: block;
  color: var(--color-text);
  font-size: 24px;
  line-height: 1.08;
  letter-spacing: -0.03em;
}.cm-card .spec-highlight p {
  margin: 10px 0 0;
  color: #5f5f5f;
  font-size: 14px;
  line-height: 1.42;
}.cm-card .specs-table-card {
  overflow: hidden;
  border: 1px solid #ece8e1;
  border-radius: 22px;
  background: #ffffff;
}.cm-card .specs-table-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 22px;
  border-bottom: 1px solid #ece8e1;
  background: #fafafa;
}.cm-card .specs-table-head h3 {
  margin: 0;
  font-size: 22px;
  line-height: 1.15;
  letter-spacing: -0.03em;
}.cm-card .specs-table-head span {
  color: #7b7b7b;
  font-size: 13px;
  font-weight: 600;
}.cm-card .spec-group {
  padding: 18px 22px 4px;
}.cm-card .spec-group + .spec-group {
  border-top: 1px solid #f0f0f0;
}.cm-card .spec-group h4 {
  margin: 0 0 10px;
  color: #171717;
  font-size: 15px;
  line-height: 1.2;
  font-weight: 800;
}.cm-card .spec-list {
  margin: 0;
}.cm-card .spec-list div {
  display: grid;
  grid-template-columns: minmax(130px, 0.45fr) minmax(0, 1fr);
  gap: 18px;
  padding: 11px 0;
  border-top: 1px solid #f3f3f3;
}.cm-card .spec-list div:first-of-type {
  border-top: 0;
}.cm-card .spec-list dt {
  color: #787878;
  font-size: 14px;
  line-height: 1.35;
}.cm-card .spec-list dd {
  margin: 0;
  color: #202020;
  font-size: 14px;
  line-height: 1.35;
  font-weight: 600;
}

@media (max-width: 1180px) {.cm-card .section-head, .cm-card .specs-layout {
    grid-template-columns: 1fr;
  }.cm-card .specs-layout {
    gap: 16px;
  }
}

@media (max-width: 760px) {.cm-card .product-specs {
    margin-top: 22px;
    padding: 22px;
    border-radius: 22px;
  }.cm-card .section-head {
    gap: 12px;
    margin-bottom: 18px;
  }.cm-card .section-head h2 {
    font-size: 28px;
  }.cm-card .section-head > p {
    font-size: 14px;
  }.cm-card .specs-highlight-grid {
    grid-template-columns: 1fr;
  }.cm-card .spec-highlight {
    min-height: auto;
  }.cm-card .specs-table-head {
    display: block;
    padding: 18px;
  }.cm-card .specs-table-head h3 {
    font-size: 20px;
  }.cm-card .specs-table-head span {
    display: block;
    margin-top: 6px;
  }.cm-card .spec-group {
    padding: 16px 18px 2px;
  }.cm-card .spec-list div {
    grid-template-columns: 1fr;
    gap: 4px;
  }
}.cm-card .product-tabs-section {
  max-width: 1280px;
  margin: 34px auto 0;
}.cm-card .tabs-shell {
  border: 1px solid #f1ede7;
  border-radius: 30px;
  background: #ffffff;
  box-shadow: 0 18px 60px rgba(0, 0, 0, 0.04);
  overflow: hidden;
}.cm-card .tabs-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 20px 22px;
  border-bottom: 1px solid #f2eee8;
  background: #fcfbf9;
}.cm-card .tab-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 16px;
  border: 1px solid #e8e1d8;
  border-radius: 999px;
  color: #252525;
  background: #ffffff;
  cursor: pointer;
  font-size: 14px;
  font-weight: 700;
}.cm-card .tab-button.is-active {
  border-color: var(--color-text);
  color: #ffffff;
  background: var(--color-text);
}.cm-card .tab-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  height: 24px;
  padding: 0 7px;
  border-radius: 999px;
  color: #8a4b00;
  background: #f8e7d1;
  font-size: 12px;
  font-weight: 800;
}.cm-card .tab-button.is-active .tab-count {
  color: #8a4b00;
  background: #fff3e4;
}.cm-card .tabs-content {
  padding: 28px 30px 32px;
}.cm-card .tab-panel__intro {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(280px, 0.9fr);
  gap: 18px;
  margin-bottom: 22px;
  align-items: end;
}.cm-card .tab-panel__intro h2 {
  margin: 0;
  font-size: 32px;
  line-height: 1.08;
  letter-spacing: -0.04em;
}.cm-card .tab-panel__intro p {
  margin: 0;
  color: #696969;
  font-size: 15px;
  line-height: 1.5;
}.cm-card .tab-specs-grid, .cm-card .info-note-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}.cm-card .tab-spec-card, .cm-card .info-note-card, .cm-card .review-card, .cm-card .qa-card {
  padding: 18px;
  border: 1px solid #eee8df;
  border-radius: 20px;
  background: #fffaf3;
}.cm-card .tab-spec-card span {
  display: inline-flex;
  margin-bottom: 10px;
  color: #8a5a22;
  font-size: 12px;
  line-height: 1;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}.cm-card .tab-spec-card strong {
  display: block;
  font-size: 24px;
  line-height: 1.08;
  letter-spacing: -0.03em;
}.cm-card .tab-spec-card p, .cm-card .info-note-card p, .cm-card .review-card p, .cm-card .qa-card p {
  margin: 10px 0 0;
  color: #5f5f5f;
  font-size: 14px;
  line-height: 1.45;
}.cm-card .reviews-list, .cm-card .qa-list, .cm-card .manuals-list {
  display: grid;
  gap: 14px;
}.cm-card .review-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}.cm-card .review-head strong, .cm-card .qa-card h3, .cm-card .info-note-card strong {
  font-size: 16px;
  line-height: 1.3;
}.cm-card .review-head span {
  color: #8a5a22;
  font-size: 13px;
  font-weight: 700;
}.cm-card .qa-card h3 {
  margin: 0;
}.cm-card .manual-item {
  display: block;
  padding: 18px 20px;
  border: 1px solid #ece8e1;
  border-radius: 18px;
  color: #171717;
  background: #ffffff;
  text-decoration: none;
  font-size: 15px;
  font-weight: 600;
}

@media (hover: hover) {.cm-card .tab-button, .cm-card .manual-item {
    transition: transform 0.16s ease, border-color 0.16s ease, background 0.16s ease, color 0.16s ease;
  }.cm-card .tab-button:hover, .cm-card .manual-item:hover {
    transform: translateY(-1px);
  }
}

@media (max-width: 1180px) {.cm-card .tab-panel__intro {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {.cm-card .product-tabs-section {
    margin-top: 22px;
  }.cm-card .tabs-shell {
    border-radius: 22px;
  }.cm-card .tabs-nav {
    gap: 8px;
    padding: 16px;
  }.cm-card .tab-button {
    min-height: 40px;
    padding: 0 14px;
    font-size: 13px;
  }.cm-card .tabs-content {
    padding: 22px;
  }.cm-card .tab-panel__intro {
    gap: 10px;
    margin-bottom: 18px;
  }.cm-card .tab-panel__intro h2 {
    font-size: 24px;
  }.cm-card .tab-panel__intro p {
    font-size: 14px;
  }.cm-card .tab-specs-grid, .cm-card .info-note-grid {
    grid-template-columns: 1fr;
  }
}


@media (max-width: 900px) {.cm-card .spec-row {
    grid-template-columns: 1fr;
    gap: 6px;
  }.cm-card .spec-help.is-active::after {
    left: auto;
    right: 0;
    top: calc(100% + 12px);
    transform: none;
    max-width: min(320px, calc(100vw - 56px));
  }.cm-card .spec-help.is-active::before {
    left: auto;
    right: 6px;
    top: calc(100% + 6px);
    transform: rotate(135deg);
  }
}

@media (max-width: 760px) {.cm-card .tab-panel__intro p {
    margin-top: 6px;
  }.cm-card .spec-card__head {
    padding: 16px 18px;
  }.cm-card .spec-row {
    padding: 14px 18px;
  }.cm-card .spec-name, .cm-card .spec-value {
    font-size: 14px;
  }.cm-card .spec-help.is-active::after {
    right: -6px;
    max-width: min(290px, calc(100vw - 40px));
    padding: 14px 16px;
    font-size: 13px;
  }
}.cm-card .specs-groups {
  display: grid;
  gap: 18px;
}.cm-card .spec-card {
  overflow: visible;
  border: 1px solid #ece8e1;
  border-radius: 22px;
  background: #ffffff;
}.cm-card .spec-card__head {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 18px 22px;
}.cm-card .spec-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  color: #2f2f2f;
  background: #f4f4f4;
  font-size: 16px;
  font-weight: 700;
  overflow: hidden;
}.cm-card .spec-card__head h3 {
  margin: 0;
  font-size: 18px;
  line-height: 1.2;
  letter-spacing: -0.02em;
}.cm-card .spec-pair-rows {
  border-top: 1px solid #ece8e1;
}.cm-card .spec-pair-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
}.cm-card .spec-pair-row:nth-child(odd) {
  background: #ffffff;
}.cm-card .spec-pair-row:nth-child(even) {
  background: #f7f7f7;
}.cm-card .spec-pair-row + .spec-pair-row {
  border-top: 1px solid #ece8e1;
}.cm-card .spec-cell {
  position: relative;
  min-width: 0;
  padding: 18px 22px;
}.cm-card .spec-cell + .spec-cell {
  border-left: 1px solid #ece8e1;
}.cm-card .spec-cell--empty {
  background: inherit;
}.cm-card .spec-name-wrap {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  margin-bottom: 10px;
}.cm-card .spec-name {
  color: #232323;
  font-size: 15px;
  line-height: 1.35;
  font-weight: 700;
}.cm-card .spec-value {
  color: #444444;
  font-size: 15px;
  line-height: 1.45;
}.cm-card .spec-help {
  position: relative;
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  padding: 0;
  border: 1px solid #d9d9d9;
  border-radius: 999px;
  color: #8a8a8a;
  background: #f1f1f1;
  cursor: pointer;
  font-size: 13px;
  line-height: 20px;
  font-weight: 800;
  text-align: center;
}.cm-card .spec-help.is-active::after {
  content: attr(data-spec-tip);
  position: absolute;
  left: calc(100% + 12px);
  top: 50%;
  z-index: 20;
  width: 360px;
  max-width: min(360px, 70vw);
  padding: 18px 20px;
  border: 1px solid #e8e1d8;
  border-radius: 18px;
  color: #555555;
  background: #ffffff;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.12);
  font-size: 14px;
  line-height: 1.45;
  font-weight: 500;
  text-align: left;
  white-space: normal;
  transform: translateY(-50%);
}.cm-card .spec-help.is-active::before {
  content: '';
  position: absolute;
  left: calc(100% + 4px);
  top: 50%;
  z-index: 21;
  width: 14px;
  height: 14px;
  border-left: 1px solid #e8e1d8;
  border-bottom: 1px solid #e8e1d8;
  background: #ffffff;
  transform: translateY(-50%) rotate(45deg);
}

@media (max-width: 980px) {.cm-card .spec-pair-row {
    grid-template-columns: 1fr;
  }.cm-card .spec-cell + .spec-cell {
    border-left: 0;
    border-top: 1px solid #ece8e1;
  }
}

@media (max-width: 900px) {.cm-card .spec-help.is-active::after {
    left: auto;
    right: 0;
    top: calc(100% + 12px);
    transform: none;
    max-width: min(320px, calc(100vw - 56px));
  }.cm-card .spec-help.is-active::before {
    left: auto;
    right: 6px;
    top: calc(100% + 6px);
    transform: rotate(135deg);
  }
}

@media (max-width: 760px) {.cm-card .spec-card__head {
    padding: 16px 18px;
  }.cm-card .spec-cell {
    padding: 14px 18px;
  }.cm-card .spec-name, .cm-card .spec-value {
    font-size: 14px;
  }.cm-card .spec-help.is-active::after {
    right: -6px;
    max-width: min(290px, calc(100vw - 40px));
    padding: 14px 16px;
    font-size: 13px;
  }
}.cm-card .spec-cell--not-confirmed .spec-name, .cm-card .spec-cell--not-confirmed .spec-value, .cm-card .spec-card--not-confirmed .spec-card__head h3 {
  color: #b44242;
}.cm-card .spec-cell--not-confirmed {
  background-image: linear-gradient(0deg, rgba(180, 66, 66, 0.035), rgba(180, 66, 66, 0.035));
}.cm-card .spec-card__icon {
  overflow: hidden;
}.cm-card .spec-card__icon-image {
  display: block;
  width: 31px;
  height: 31px;
  object-fit: contain;
}.cm-card .spec-card__icon {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: #f4f4f4;
}.cm-card .spec-card__icon-image {
  width: 31px;
  height: 31px;
  object-fit: contain;
}.cm-card .specs-groups {
  gap: 14px;
}.cm-card .spec-card__head {
  gap: 14px;
  padding: 18px 20px;
}.cm-card .spec-card__head h3 {
  font-size: 22px;
  line-height: 1.15;
  letter-spacing: -0.03em;
}.cm-card .spec-card__icon {
  width: 46px;
  height: 46px;
  border-radius: 14px;
}.cm-card .spec-card__icon-image {
  width: 32px;
  height: 32px;
}.cm-card .spec-pair-rows {
  border-top: 1px solid #ece8e1;
}.cm-card .spec-cell {
  padding: 12px 16px;
}.cm-card .spec-name-wrap {
  gap: 6px;
  margin-bottom: 5px;
}.cm-card .spec-name {
  font-size: 13px;
  line-height: 1.25;
  font-weight: 700;
}.cm-card .spec-value {
  font-size: 13px;
  line-height: 1.35;
}.cm-card .spec-help {
  width: 18px;
  height: 18px;
  font-size: 12px;
  line-height: 16px;
}.cm-card .spec-card--extra {
  display: none;
}.cm-card .spec-card--extra.is-visible {
  display: block;
}.cm-card .specs-expand-row {
  display: flex;
  justify-content: center;
  padding: 6px 0 2px;
}.cm-card .specs-expand-button {
  min-height: 42px;
  padding: 0 18px;
  border: 1px solid #d9d2c8;
  border-radius: 999px;
  background: #ffffff;
  color: #202020;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.16s ease, border-color 0.16s ease, transform 0.16s ease;
}.cm-card .specs-expand-button:hover {
  background: #faf8f4;
  border-color: #cfc6b8;
  transform: translateY(-1px);
}

@media (max-width: 760px) {.cm-card .spec-card__head {
    padding: 16px 16px;
  }.cm-card .spec-card__head h3 {
    font-size: 18px;
  }.cm-card .spec-card__icon {
    width: 42px;
    height: 42px;
  }.cm-card .spec-card__icon-image {
    width: 28px;
    height: 28px;
  }.cm-card .spec-cell {
    padding: 11px 14px;
  }.cm-card .spec-name, .cm-card .spec-value {
    font-size: 12px;
  }
}.cm-card /* Compact specs v10 */
.tab-panel__intro h2 {
  font-size: 34px;
  line-height: 1.05;
  letter-spacing: -0.03em;
}.cm-card .specs-shell {
  position: relative;
}.cm-card .specs-groups {
  gap: 12px;
}.cm-card .spec-card__head {
  gap: 14px;
  padding: 16px 18px;
}.cm-card .spec-card__head h3 {
  font-size: 22px;
  line-height: 1.1;
  letter-spacing: -0.03em;
}.cm-card .spec-card__icon {
  width: 46px;
  height: 46px;
  border-radius: 14px;
  background: #f2f2f2;
}.cm-card .spec-card__icon-image {
  width: 34px;
  height: 34px;
  object-fit: contain;
}.cm-card .spec-pair-rows {
  border-top: 1px solid #ece7df;
}.cm-card .spec-cell {
  padding: 10px 14px;
}.cm-card .spec-name-wrap {
  gap: 6px;
  margin-bottom: 4px;
}.cm-card .spec-name {
  font-size: 12px;
  line-height: 1.2;
  font-weight: 700;
}.cm-card .spec-value {
  font-size: 12px;
  line-height: 1.33;
}.cm-card .spec-help {
  width: 18px;
  height: 18px;
  font-size: 12px;
  line-height: 16px;
  background: #efefef;
  color: #5e5e5e;
  border-color: #dfdfdf;
}.cm-card .spec-card--extra {
  display: none;
}.cm-card .specs-shell.is-expanded .spec-card--extra {
  display: block;
}.cm-card .specs-shell.is-collapsed::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 112px;
  pointer-events: none;
  border-radius: 0 0 28px 28px;
  background: linear-gradient(to bottom, rgba(250,249,247,0) 0%, rgba(250,249,247,0.78) 52%, rgba(250,249,247,0.96) 78%, #faf9f7 100%);
}.cm-card .specs-expand-row {
  display: flex;
  justify-content: center;
  margin-top: 8px;
}.cm-card .specs-expand-button {
  min-height: 42px;
  padding: 0 18px;
  border: 1px solid #d8d1c7;
  border-radius: 999px;
  background: #ffffff;
  color: #202020;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: background .16s ease, border-color .16s ease, transform .16s ease;
}.cm-card .specs-expand-button:hover {
  background: #faf8f4;
  border-color: #cfc5b7;
  transform: translateY(-1px);
}

@media (max-width: 760px) {.cm-card .tab-panel__intro h2 {
    font-size: 28px;
  }.cm-card .spec-card__head {
    padding: 15px 16px;
  }.cm-card .spec-card__head h3 {
    font-size: 18px;
  }.cm-card .spec-card__icon {
    width: 42px;
    height: 42px;
  }.cm-card .spec-card__icon-image {
    width: 30px;
    height: 30px;
  }.cm-card .spec-cell {
    padding: 10px 12px;
  }.cm-card .spec-name, .cm-card .spec-value {
    font-size: 12px;
  }
}.cm-card .spec-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}.cm-card .spec-card__icon-image[src$="cockpit.svg"], .cm-card .spec-card__icon-image[src$="pedals.svg"], .cm-card .spec-card__icon-image[src$="geometry.svg"] {
  display: block;
  width: 38px;
  height: 38px;
  object-fit: contain;
  object-position: center;
}.cm-card .spec-card {
  border-color: rgba(20, 20, 20, 0.08);
}.cm-card .spec-pair-rows {
  border-top: 1px solid rgba(20, 20, 20, 0.06);
}.cm-card .spec-pair-row + .spec-pair-row {
  border-top: 1px solid rgba(20, 20, 20, 0.06);
}.cm-card .spec-cell + .spec-cell {
  border-left: 1px solid rgba(20, 20, 20, 0.06);
}.cm-card .spec-card, .cm-card .spec-pair-row, .cm-card .spec-cell, .cm-card .spec-cell--empty {
  background: #ffffff !important;
}.cm-card .spec-pair-row:nth-child(odd), .cm-card .spec-pair-row:nth-child(even) {
  background: #ffffff !important;
}.cm-card .spec-cell + .spec-cell {
  border-left: none !important;
}.cm-card .spec-card {
  border-color: rgba(20, 20, 20, 0.07) !important;
}.cm-card .spec-pair-rows {
  border-top: 1px solid rgba(20, 20, 20, 0.05) !important;
}.cm-card .spec-pair-row + .spec-pair-row {
  border-top: 1px solid rgba(20, 20, 20, 0.05) !important;
}.cm-card .spec-card__icon-image[src$="cockpit.svg"], .cm-card .spec-card__icon-image[src$="pedals.svg"], .cm-card .spec-card__icon-image[src$="geometry.svg"] {
  display: block;
  width: 40px;
  height: 40px;
  object-fit: contain;
  object-position: center;
}.cm-card .spec-card__icon-image[src$="cockpit.png"], .cm-card .spec-card__icon-image[src$="pedals.png"], .cm-card .spec-card__icon-image[src$="geometry.png"] {
  display: block;
  width: 38px;
  height: 38px;
  object-fit: contain;
  object-position: center;
}.cm-card .spec-pair-row--single {
  grid-template-columns: 1fr !important;
}.cm-card .spec-pair-row--single .spec-cell {
  border-left: none !important;
}.cm-card .panel-intro--with-action {
  align-items: stretch;
}.cm-card .panel-intro--with-action > div:first-child {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}.cm-card .panel-action-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 112px;
  padding: 18px;
  border: 1px solid rgba(20, 20, 20, 0.07);
  border-radius: 22px;
  background: #ffffff;
}.cm-card .panel-action-card--compact {
  align-items: flex-start;
  flex-direction: column;
}.cm-card .panel-action-card__value {
  font-size: 40px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: -0.05em;
}.cm-card .panel-action-card__text {
  color: #686868;
  font-size: 14px;
  line-height: 1.42;
  font-weight: 600;
}.cm-card .panel-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 18px;
  border-radius: 999px;
  border: 1px solid #171717;
  cursor: pointer;
  font-size: 14px;
  line-height: 1;
  font-weight: 700;
  white-space: nowrap;
}.cm-card .panel-button--dark {
  color: #ffffff;
  background: #171717;
}.cm-card .section-label {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 24px;
  margin: 0 0 10px;
  padding: 0 10px;
  border-radius: 999px;
  color: #8a4b00;
  background: #fff1df;
  font-size: 12px;
  line-height: 1;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}.cm-card .reviews-empty-card, .cm-card .qa-empty-card, .cm-card .delivery-card, .cm-card .accessory-card, .cm-card .manual-card, .cm-card .aspect-card, .cm-card .qa-topic-card {
  border: 1px solid rgba(20, 20, 20, 0.07);
  border-radius: 22px;
  background: #ffffff;
}.cm-card .reviews-empty-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 260px;
  gap: 22px;
  align-items: center;
  padding: 22px;
  background: linear-gradient(135deg, #ffffff 0%, #fffaf3 100%);
}.cm-card .reviews-empty-card h3, .cm-card .qa-empty-card h3, .cm-card .delivery-card h3, .cm-card .accessory-card h3, .cm-card .manual-card h3 {
  margin: 0;
  font-size: 20px;
  line-height: 1.14;
  letter-spacing: -0.03em;
}.cm-card .reviews-empty-card p, .cm-card .qa-empty-card p, .cm-card .delivery-card p, .cm-card .accessory-card p, .cm-card .manual-card p {
  margin: 10px 0 0;
  color: #5f5f5f;
  font-size: 14px;
  line-height: 1.48;
}.cm-card .review-score-stub {
  padding: 20px;
  border: 1px solid rgba(20, 20, 20, 0.06);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.82);
}.cm-card .review-score-stub__number {
  font-size: 40px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: -0.06em;
}.cm-card .review-score-stub__stars {
  margin-top: 8px;
  color: var(--color-accent);
  font-size: 16px;
  letter-spacing: 0.05em;
}.cm-card .review-score-stub__line {
  height: 10px;
  margin-top: 15px;
  border-radius: 999px;
  background: #f0ede8;
}.cm-card .review-score-stub__line--short {
  width: 68%;
  margin-top: 9px;
}.cm-card .review-aspects-grid, .cm-card .qa-topic-grid, .cm-card .delivery-grid, .cm-card .accessories-grid, .cm-card .manuals-grid {
  display: grid;
  gap: 14px;
}.cm-card .review-aspects-grid, .cm-card .qa-topic-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 14px;
}.cm-card .aspect-card, .cm-card .qa-topic-card {
  padding: 16px;
}.cm-card .aspect-card strong, .cm-card .qa-topic-card strong {
  display: block;
  font-size: 15px;
  line-height: 1.25;
}.cm-card .aspect-card span, .cm-card .qa-topic-card span {
  display: block;
  margin-top: 7px;
  color: #696969;
  font-size: 13px;
  line-height: 1.38;
}.cm-card .qa-empty-card {
  padding: 22px;
  background: #fffaf3;
}.cm-card .delivery-layout {
  display: grid;
  grid-template-columns: minmax(320px, 0.92fr) minmax(0, 1.4fr);
  gap: 14px;
}.cm-card .delivery-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}.cm-card .delivery-card, .cm-card .manual-card {
  padding: 20px;
}.cm-card .delivery-card--accent {
  background: #fffaf3;
}.cm-card .clean-list {
  display: grid;
  gap: 9px;
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}.cm-card .clean-list li {
  position: relative;
  padding-left: 18px;
  color: #343434;
  font-size: 14px;
  line-height: 1.38;
}.cm-card .clean-list li::before {
  content: '';
  position: absolute;
  top: 8px;
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--color-accent);
}.cm-card .accessories-grid, .cm-card .manuals-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}.cm-card .accessory-card {
  min-height: 190px;
  padding: 18px;
}.cm-card .accessory-card__icon {
  display: block;
  width: 42px;
  height: 42px;
  margin: 0 0 18px;
  object-fit: contain;
}.cm-card .manual-card {
  min-height: 176px;
}

@media (hover: hover) {.cm-card .panel-button, .cm-card .accessory-card, .cm-card .manual-card, .cm-card .delivery-card, .cm-card .aspect-card, .cm-card .qa-topic-card {
    transition: transform 0.16s ease, border-color 0.16s ease, background 0.16s ease;
  }.cm-card .panel-button:hover, .cm-card .accessory-card:hover, .cm-card .manual-card:hover, .cm-card .delivery-card:hover, .cm-card .aspect-card:hover, .cm-card .qa-topic-card:hover {
    transform: translateY(-1px);
  }.cm-card .accessory-card:hover, .cm-card .manual-card:hover, .cm-card .delivery-card:hover, .cm-card .aspect-card:hover, .cm-card .qa-topic-card:hover {
    border-color: rgba(20, 20, 20, 0.14);
  }
}

@media (max-width: 1100px) {.cm-card .review-aspects-grid, .cm-card .qa-topic-grid, .cm-card .accessories-grid, .cm-card .manuals-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }.cm-card .delivery-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {.cm-card .panel-action-card {
    align-items: flex-start;
    flex-direction: column;
    min-height: auto;
  }.cm-card .reviews-empty-card {
    grid-template-columns: 1fr;
    padding: 18px;
  }.cm-card .review-aspects-grid, .cm-card .qa-topic-grid, .cm-card .delivery-grid, .cm-card .accessories-grid, .cm-card .manuals-grid {
    grid-template-columns: 1fr;
  }.cm-card .reviews-empty-card h3, .cm-card .qa-empty-card h3, .cm-card .delivery-card h3, .cm-card .accessory-card h3, .cm-card .manual-card h3 {
    font-size: 18px;
  }
}.cm-card .instructions-intro {
  grid-template-columns: 1fr;
  margin-bottom: 18px;
}.cm-card .instructions-slider {
  position: relative;
}.cm-card .instructions-slider__controls {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-bottom: 14px;
}.cm-card .instructions-slider__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  padding: 0 0 3px;
  border: 1px solid #ded7ce;
  border-radius: 999px;
  color: #171717;
  background: #ffffff;
  cursor: pointer;
  font-size: 28px;
  line-height: 1;
  font-weight: 500;
}.cm-card .instructions-slider__button:disabled {
  opacity: 0.42;
  cursor: default;
}.cm-card .instructions-slider__viewport {
  overflow: hidden;
}.cm-card .instructions-slider__track {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  padding: 2px 2px 8px;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}.cm-card .instructions-slider__track::-webkit-scrollbar {
  display: none;
}.cm-card .instruction-video-card {
  flex: 0 0 calc((100% - 16px) / 2);
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(20, 20, 20, 0.09);
  border-radius: 24px;
  background: #ffffff;
  scroll-snap-align: start;
}.cm-card .instruction-video-card__preview {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  padding: 0;
  overflow: hidden;
  border: 0;
  background: #f1f1f1;
  cursor: pointer;
}.cm-card .instruction-video-card__preview img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.2s ease;
}.cm-card .instruction-video-card__play, .cm-card .video-modal__play {
  position: absolute;
  left: 50%;
  top: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.14);
  transform: translate(-50%, -50%);
}.cm-card .instruction-video-card__play::before, .cm-card .video-modal__play::before {
  content: '';
  display: block;
  width: 0;
  height: 0;
  margin-left: 4px;
  border-top: 9px solid transparent;
  border-bottom: 9px solid transparent;
  border-left: 14px solid #171717;
}.cm-card .instruction-video-card__body {
  padding: 20px 22px 22px;
}.cm-card .instruction-video-card__body h3 {
  margin: 0;
  font-size: 20px;
  line-height: 1.18;
  letter-spacing: -0.03em;
}.cm-card .instructions-slider__dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 12px;
}.cm-card .instructions-slider__dot {
  width: 9px;
  height: 9px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: #d8d2ca;
  cursor: pointer;
}.cm-card .instructions-slider__dot.is-active {
  width: 24px;
  background: #171717;
}.cm-card .video-modal {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 28px;
}.cm-card .video-modal.is-open {
  display: flex;
}.cm-card .video-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.62);
}.cm-card .video-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(980px, 100%);
  padding: 16px;
  border-radius: 28px;
  background: #ffffff;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.28);
}.cm-card .video-modal__close {
  position: absolute;
  right: 18px;
  top: 18px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0 0 3px;
  border: 1px solid rgba(255, 255, 255, 0.68);
  border-radius: 999px;
  color: #171717;
  background: rgba(255, 255, 255, 0.96);
  cursor: pointer;
  font-size: 28px;
  line-height: 1;
}.cm-card .video-modal__frame {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  border-radius: 20px;
  background: #111111;
}.cm-card .video-modal__frame iframe, .cm-card .video-modal__placeholder, .cm-card .video-modal__placeholder img {
  display: block;
  width: 100%;
  height: 100%;
}.cm-card .video-modal__frame iframe {
  border: 0;
}.cm-card .video-modal__placeholder {
  position: relative;
}.cm-card .video-modal__placeholder[hidden], .cm-card .video-modal__frame iframe[hidden] {
  display: none;
}.cm-card .video-modal__placeholder img {
  object-fit: cover;
  opacity: 0.92;
}.cm-card .video-modal__dialog h3 {
  margin: 16px 4px 2px;
  font-size: 22px;
  line-height: 1.18;
  letter-spacing: -0.03em;
}body.is-video-modal-open {
  overflow: hidden;
}

@media (hover: hover) {.cm-card .instructions-slider__button, .cm-card .instruction-video-card, .cm-card .instructions-slider__dot, .cm-card .video-modal__close {
    transition: transform 0.16s ease, border-color 0.16s ease, background 0.16s ease, opacity 0.16s ease;
  }.cm-card .instructions-slider__button:not(:disabled):hover, .cm-card .instruction-video-card:hover, .cm-card .video-modal__close:hover {
    transform: translateY(-1px);
  }.cm-card .instruction-video-card:hover {
    border-color: rgba(20, 20, 20, 0.16);
  }.cm-card .instruction-video-card:hover .instruction-video-card__preview img {
    transform: scale(1.025);
  }
}

@media (max-width: 900px) {.cm-card .instruction-video-card {
    flex-basis: 82%;
  }
}

@media (max-width: 760px) {.cm-card .instructions-slider__controls {
    justify-content: flex-start;
  }.cm-card .instruction-video-card {
    flex-basis: 92%;
    border-radius: 20px;
  }.cm-card .instruction-video-card__body {
    padding: 16px 18px 18px;
  }.cm-card .instruction-video-card__body h3, .cm-card .video-modal__dialog h3 {
    font-size: 18px;
  }.cm-card .video-modal {
    padding: 14px;
  }.cm-card .video-modal__dialog {
    padding: 10px;
    border-radius: 22px;
  }.cm-card .video-modal__frame {
    border-radius: 16px;
  }
}.cm-card .video-modal__link {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0;
  color: transparent;
}.cm-card .video-modal__link:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: -6px;
  border-radius: 22px;
}.cm-card .reviews-summary-card {
  padding: 4px 0 0;
}.cm-card .reviews-summary-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}.cm-card .reviews-summary-card h2 {
  margin: 0;
  font-size: 28px;
  line-height: 1.06;
  letter-spacing: -0.04em;
}.cm-card .reviews-rating-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 28px;
}.cm-card .reviews-rating-row__score {
  color: var(--color-accent);
  font-size: 40px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: -0.05em;
}.cm-card .reviews-rating-row__stars {
  color: var(--color-accent);
  font-size: 28px;
  line-height: 1;
  letter-spacing: 0.06em;
}.cm-card .reviews-rating-row__meta {
  color: #8a8a8a;
  font-size: 14px;
  line-height: 1.45;
}.cm-card .review-write-button {
  flex-shrink: 0;
}.cm-card .reviews-layout-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.92fr);
  gap: 16px;
  margin-top: 28px;
}.cm-card .review-card-main, .cm-card .review-form-card {
  border: 1px solid rgba(20, 20, 20, 0.08);
  border-radius: 26px;
  background: #ffffff;
}.cm-card .review-card-main {
  padding: 28px;
}.cm-card .review-card-main__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}.cm-card .review-card-main__author {
  display: flex;
  align-items: center;
  gap: 16px;
}.cm-card .review-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  border: 1px solid rgba(20, 20, 20, 0.1);
  color: #7b5d35;
  background: #f6f5f3;
  font-size: 22px;
  line-height: 1;
  font-weight: 800;
}.cm-card .review-author-meta__name {
  font-size: 16px;
  line-height: 1.2;
  font-weight: 800;
}.cm-card .review-author-meta__date {
  margin-top: 6px;
  color: #8a8a8a;
  font-size: 13px;
  line-height: 1.35;
}.cm-card .review-card-main__stars {
  color: #f4a300;
  font-size: 24px;
  line-height: 1;
  letter-spacing: 0.08em;
  white-space: nowrap;
}.cm-card .review-card-main__text {
  margin-top: 22px;
  color: #505e77;
  font-size: 15px;
  line-height: 1.85;
}.cm-card .review-card-main__photos {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
}.cm-card .review-photo-tile {
  display: inline-flex;
  align-items: flex-end;
  justify-content: center;
  width: 118px;
  height: 92px;
  padding-bottom: 12px;
  border: 1px solid #d5d9e3;
  border-radius: 18px;
  background: #f3f5f8;
  color: #6f7583;
  font-size: 14px;
  line-height: 1;
  font-weight: 700;
}.cm-card .review-photo-tile span::before {
  content: '📷';
  display: block;
  margin-bottom: 8px;
  text-align: center;
  font-size: 22px;
}.cm-card .review-card-main__footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 22px;
}.cm-card .review-card-main__footer-label {
  color: #727272;
  font-size: 13px;
  line-height: 1.4;
  font-weight: 600;
}.cm-card .review-reactions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}.cm-card .review-reaction-button {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 18px;
  border: 1px solid rgba(20, 20, 20, 0.08);
  border-radius: 999px;
  background: #f7f5f2;
  color: #5b5b5b;
  font-size: 15px;
  line-height: 1;
  font-weight: 700;
  cursor: pointer;
}.cm-card .review-reaction-button__icon {
  font-size: 22px;
  line-height: 1;
}.cm-card .review-reaction-button.is-active {
  border-color: rgba(243, 134, 30, 0.26);
  color: #171717;
  background: #fff4e8;
}.cm-card .review-form-card {
  padding: 24px;
  background: linear-gradient(180deg, #ffffff 0%, #fffaf5 100%);
}.cm-card .review-form-card__intro h3 {
  margin: 0;
  font-size: 24px;
  line-height: 1.12;
  letter-spacing: -0.03em;
}.cm-card .review-form-card__intro p {
  margin: 10px 0 0;
  color: #6f6f6f;
  font-size: 14px;
  line-height: 1.55;
}.cm-card .review-form {
  margin-top: 20px;
}.cm-card .review-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}.cm-card .field-control {
  display: grid;
  gap: 8px;
}.cm-card .field-control span {
  color: #3f3f3f;
  font-size: 13px;
  line-height: 1.4;
  font-weight: 700;
}.cm-card .field-control input, .cm-card .field-control select, .cm-card .field-control textarea {
  width: 100%;
  min-height: 48px;
  padding: 0 14px;
  border: 1px solid rgba(20, 20, 20, 0.1);
  border-radius: 14px;
  background: #ffffff;
  color: #171717;
  font: inherit;
}.cm-card .field-control textarea {
  min-height: 156px;
  padding: 14px;
  resize: vertical;
}.cm-card .field-control--full {
  margin-top: 12px;
}.cm-card .review-form__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px;
  margin-top: 18px;
}

@media (hover: hover) {.cm-card .review-reaction-button, .cm-card .review-form-card, .cm-card .review-card-main {
    transition: transform 0.16s ease, border-color 0.16s ease, background 0.16s ease;
  }.cm-card .review-reaction-button:hover, .cm-card .review-form-card:hover, .cm-card .review-card-main:hover {
    transform: translateY(-1px);
  }.cm-card .review-reaction-button:hover {
    border-color: rgba(20, 20, 20, 0.14);
  }
}

@media (max-width: 1100px) {.cm-card .reviews-layout-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {.cm-card .reviews-summary-card__head, .cm-card .review-card-main__header, .cm-card .review-card-main__footer, .cm-card .review-form__grid, .cm-card .review-form__actions {
    grid-template-columns: 1fr;
    flex-direction: column;
    align-items: stretch;
  }.cm-card .reviews-rating-row {
    margin-top: 18px;
  }.cm-card .reviews-rating-row__score {
    font-size: 32px;
  }.cm-card .reviews-rating-row__stars {
    font-size: 24px;
  }.cm-card .review-card-main, .cm-card .review-form-card {
    padding: 20px;
  }.cm-card .review-photo-tile {
    width: calc(33.333% - 8px);
    min-width: 92px;
  }
}.cm-card .review-form-card--simple {
  padding: 26px;
  background: #ffffff;
}.cm-card .review-form-simple__top {
  display: flex;
  align-items: center;
  gap: 16px;
}.cm-card .review-form-simple__avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  border: 1px solid rgba(20, 20, 20, 0.1);
  color: var(--color-accent);
  background: #fff5eb;
  font-size: 24px;
  line-height: 1;
  font-weight: 600;
}.cm-card .review-form-card--simple h3 {
  margin: 0;
  font-size: 22px;
  line-height: 1.14;
  letter-spacing: -0.03em;
}.cm-card .review-form-card--simple p {
  margin: 8px 0 0;
  color: #686868;
  font-size: 14px;
  line-height: 1.45;
}.cm-card .review-form-simple {
  margin-top: 22px;
}.cm-card .review-form-simple__rating {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-bottom: 14px;
}.cm-card .review-star-button {
  width: 28px;
  height: 28px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #d5d5d5;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}.cm-card .review-star-button.is-active {
  color: #f4a300;
}.cm-card .review-form-simple__textarea {
  width: 100%;
  min-height: 132px;
  padding: 15px 16px;
  border: 1px solid rgba(20, 20, 20, 0.1);
  border-radius: 18px;
  background: #f8f8f8;
  color: #171717;
  font: inherit;
  resize: vertical;
}.cm-card .review-form-simple__textarea::placeholder {
  color: #909090;
}.cm-card .review-form-simple__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 14px;
}.cm-card .review-photo-add {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 17px;
  border: 1px solid rgba(20, 20, 20, 0.08);
  border-radius: 999px;
  background: #f3f4f6;
  color: #626262;
  font-size: 14px;
  line-height: 1;
  font-weight: 700;
  cursor: pointer;
}

@media (max-width: 760px) {.cm-card .review-form-simple__top {
    align-items: flex-start;
  }.cm-card .review-form-simple__bottom {
    align-items: stretch;
    flex-direction: column;
  }.cm-card .review-photo-add, .cm-card .review-form-simple__bottom .panel-button {
    width: 100%;
  }
}.cm-card .reviews-empty-shell {
  display: grid;
  gap: 18px;
}.cm-card .reviews-empty-shell__top {
  display: flex;
  justify-content: flex-end;
}.cm-card .reviews-write-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #242424;
  font-size: 15px;
  line-height: 1;
  font-weight: 800;
  cursor: pointer;
}.cm-card .reviews-write-link__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  color: #242424;
  font-size: 22px;
  line-height: 1;
  transform: translateY(-1px);
}.cm-card .reviews-empty-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 154px;
  width: 100%;
  padding: 28px;
  border: 1px solid rgba(20, 20, 20, 0.08);
  border-radius: 24px;
  background: #ffffff;
  color: #676767;
  font-size: 16px;
  line-height: 1.45;
  font-weight: 500;
  cursor: pointer;
}.cm-card .review-modal {
  position: fixed;
  inset: 0;
  z-index: 150;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 18px;
}.cm-card .review-modal.is-open {
  display: flex;
}.cm-card .review-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 15, 15, 0.48);
}.cm-card .review-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(620px, 100%);
  max-height: calc(100vh - 36px);
  overflow: auto;
  padding: 28px;
  border-radius: 28px;
  background: #ffffff;
  box-shadow: 0 26px 72px rgba(0, 0, 0, 0.22);
}.cm-card .review-modal__close {
  position: absolute;
  top: 14px;
  right: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(20, 20, 20, 0.08);
  border-radius: 50%;
  background: #f6f6f6;
  color: #202020;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}.cm-card .review-modal__head {
  padding-right: 42px;
}.cm-card .review-modal__head h3 {
  margin: 0;
  font-size: 28px;
  line-height: 1.12;
  letter-spacing: -0.04em;
}.cm-card .review-modal__head p {
  margin: 10px 0 0;
  color: #6a6a6a;
  font-size: 14px;
  line-height: 1.52;
}.cm-card .review-modal-form {
  margin-top: 22px;
}.cm-card .review-modal-form__rating {
  display: inline-flex;
  gap: 4px;
  margin-bottom: 16px;
}.cm-card .review-modal-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}.cm-card .review-star-button {
  width: 30px;
  height: 30px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #d6d6d6;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}.cm-card .review-star-button.is-active {
  color: #f4a300;
}.cm-card .field-control {
  display: grid;
  gap: 8px;
}.cm-card .field-control span {
  color: #3f3f3f;
  font-size: 13px;
  line-height: 1.4;
  font-weight: 700;
}.cm-card .field-control input, .cm-card .field-control textarea {
  width: 100%;
  min-height: 48px;
  padding: 0 14px;
  border: 1px solid rgba(20, 20, 20, 0.1);
  border-radius: 15px;
  background: #f8f8f8;
  color: #171717;
  font: inherit;
}.cm-card .field-control textarea {
  min-height: 144px;
  padding: 14px;
  resize: vertical;
}.cm-card .field-control--full {
  margin-top: 12px;
}.cm-card .review-photo-upload {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 14px;
  padding: 14px;
  border: 1px dashed rgba(20, 20, 20, 0.16);
  border-radius: 18px;
  background: #fbfbfb;
}.cm-card .review-photo-upload__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 16px;
  border: 1px solid rgba(20, 20, 20, 0.08);
  border-radius: 999px;
  background: #ffffff;
  color: #2b2b2b;
  font-size: 14px;
  line-height: 1;
  font-weight: 700;
  cursor: pointer;
}.cm-card .review-photo-upload span {
  color: #8a8a8a;
  font-size: 13px;
  line-height: 1.35;
}.cm-card .review-modal-form__submit {
  width: 100%;
  margin-top: 16px;
}body.is-review-modal-open {
  overflow: hidden;
}

@media (hover: hover) {.cm-card .reviews-write-link, .cm-card .reviews-empty-placeholder, .cm-card .review-photo-upload__button, .cm-card .review-modal__close {
    transition: transform 0.16s ease, border-color 0.16s ease, background 0.16s ease;
  }.cm-card .reviews-write-link:hover, .cm-card .reviews-empty-placeholder:hover, .cm-card .review-photo-upload__button:hover, .cm-card .review-modal__close:hover {
    transform: translateY(-1px);
  }.cm-card .reviews-empty-placeholder:hover {
    border-color: rgba(20, 20, 20, 0.14);
  }
}

@media (max-width: 760px) {.cm-card .reviews-empty-shell__top {
    justify-content: flex-start;
  }.cm-card .reviews-empty-placeholder {
    min-height: 132px;
    border-radius: 20px;
    font-size: 15px;
  }.cm-card .review-modal__dialog {
    padding: 22px;
    border-radius: 24px;
  }.cm-card .review-modal-form__grid {
    grid-template-columns: 1fr;
  }.cm-card .review-photo-upload {
    align-items: stretch;
    flex-direction: column;
  }.cm-card .review-photo-upload__button {
    width: 100%;
  }
}.cm-card .reviews-duo-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.96fr);
  gap: 16px;
}.cm-card .review-empty-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 100%;
  padding: 28px;
  border: 1px solid rgba(20, 20, 20, 0.08);
  border-radius: 26px;
  background: #ffffff;
  text-align: center;
}.cm-card .review-empty-card__body {
  color: #676767;
  font-size: 16px;
  line-height: 1.45;
  font-weight: 500;
}.cm-card .review-empty-card__button {
  margin-top: 22px;
}.cm-card .review-card-main {
  min-height: 100%;
}.cm-card .review-card-main__footer {
  margin-top: 24px;
}

@media (max-width: 1100px) {.cm-card .reviews-duo-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {.cm-card .review-empty-card {
    min-height: 148px;
    border-radius: 22px;
  }.cm-card .review-empty-card__body {
    font-size: 15px;
  }.cm-card .review-empty-card__button {
    width: 100%;
  }
}.cm-card .reviews-rating-summary {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 22px;
}.cm-card .reviews-rating-summary h2 {
  margin: 0;
  font-size: 28px;
  line-height: 1.06;
  letter-spacing: -0.04em;
}.cm-card .reviews-rating-summary__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 18px;
}.cm-card .reviews-rating-summary__score {
  color: var(--color-accent);
  font-size: 34px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: -0.05em;
}.cm-card .reviews-rating-summary__stars {
  color: var(--color-accent);
  font-size: 28px;
  line-height: 1;
  letter-spacing: 0.06em;
}.cm-card .reviews-rating-summary__text {
  color: #8a8a8a;
  font-size: 14px;
  line-height: 1.45;
}.cm-card .review-card-main__photos {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
}.cm-card .review-photo-placeholder {
  display: inline-flex;
  align-items: flex-end;
  justify-content: center;
  width: 118px;
  height: 96px;
  padding: 0 14px 13px;
  border: 1px solid #d9dde5;
  border-radius: 18px;
  background: #f3f5f8;
  color: #6f7583;
  font-size: 14px;
  line-height: 1;
  font-weight: 700;
  cursor: pointer;
}.cm-card .review-photo-placeholder span::before {
  content: '📷';
  display: block;
  margin-bottom: 8px;
  text-align: center;
  font-size: 22px;
  line-height: 1;
}

@media (hover: hover) {.cm-card .review-photo-placeholder {
    transition: transform 0.16s ease, border-color 0.16s ease, background 0.16s ease;
  }.cm-card .review-photo-placeholder:hover {
    transform: translateY(-1px);
    border-color: rgba(20, 20, 20, 0.16);
    background: #eef1f5;
  }
}

@media (max-width: 760px) {.cm-card .reviews-rating-summary h2 {
    font-size: 24px;
  }.cm-card .reviews-rating-summary__score {
    font-size: 32px;
  }.cm-card .reviews-rating-summary__stars {
    font-size: 24px;
  }.cm-card .review-photo-placeholder {
    width: calc(50% - 6px);
    min-width: 112px;
  }
}.cm-card .review-card-main__text p {
  margin: 0;
}.cm-card .review-card-main__text p + p {
  margin-top: 18px;
}.cm-card .review-photo-item {
  display: block;
  width: 118px;
  height: 118px;
  padding: 0;
  overflow: hidden;
  border: 1px solid #d9dde5;
  border-radius: 18px;
  background: #f3f5f8;
  cursor: pointer;
}.cm-card .review-photo-item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (hover: hover) {.cm-card .review-photo-item {
    transition: transform 0.16s ease, border-color 0.16s ease;
  }.cm-card .review-photo-item:hover {
    transform: translateY(-1px);
    border-color: rgba(20, 20, 20, 0.16);
  }
}

@media (max-width: 760px) {.cm-card .review-photo-item {
    width: 112px;
    height: 112px;
  }
}.cm-card .reviews-slider {
  position: relative;
}.cm-card .reviews-slider__controls {
  position: absolute;
  top: -54px;
  right: 0;
  display: flex;
  gap: 8px;
}.cm-card .reviews-slider__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(20, 20, 20, 0.08);
  border-radius: 999px;
  background: #ffffff;
  color: #222222;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}.cm-card .reviews-slider__viewport {
  overflow: hidden;
}.cm-card .reviews-slider__track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 100%;
  gap: 0;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -ms-overflow-style: none;
}.cm-card .reviews-slider__track::-webkit-scrollbar {
  display: none;
}.cm-card .reviews-slider__slide {
  scroll-snap-align: start;
  min-width: 0;
}.cm-card .reviews-slider__dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 12px;
}.cm-card .reviews-slider__dot {
  width: 8px;
  height: 8px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #d0d0d0;
  cursor: pointer;
}.cm-card .reviews-slider__dot.is-active {
  background: var(--color-accent);
}.cm-card .review-card-main, .cm-card .review-empty-card {
  min-height: 0;
}.cm-card .review-card-main {
  padding: 20px;
  border-radius: 22px;
}.cm-card .review-card-main__header {
  gap: 12px;
}.cm-card .review-card-main__author {
  gap: 12px;
}.cm-card .review-avatar {
  width: 46px;
  height: 46px;
  font-size: 20px;
}.cm-card .review-author-meta__name {
  font-size: 15px;
}.cm-card .review-author-meta__date {
  margin-top: 4px;
  font-size: 12px;
}.cm-card .review-card-main__stars {
  font-size: 18px;
}.cm-card .review-card-main__text {
  margin-top: 14px;
  font-size: 14px;
  line-height: 1.6;
}.cm-card .review-card-main__text p + p {
  margin-top: 14px;
}.cm-card .review-card-main__photos {
  margin-top: 16px;
}.cm-card .review-photo-item {
  width: 92px;
  height: 92px;
  border-radius: 16px;
}.cm-card .review-card-main__footer {
  justify-content: flex-start;
  margin-top: 16px;
}.cm-card .review-reactions {
  gap: 10px;
}.cm-card .review-reaction-button {
  min-height: 42px;
  padding: 0 14px;
  font-size: 14px;
}.cm-card .review-reaction-button__icon {
  font-size: 18px;
}.cm-card .review-empty-card {
  min-height: 238px;
  padding: 20px;
  border-radius: 22px;
}.cm-card .review-empty-card__body {
  font-size: 16px;
}.cm-card .review-empty-card__button {
  margin-top: 16px;
}

@media (hover: hover) {.cm-card .reviews-slider__button, .cm-card .reviews-slider__dot {
    transition: transform 0.16s ease, border-color 0.16s ease, background 0.16s ease;
  }.cm-card .reviews-slider__button:hover {
    transform: translateY(-1px);
    border-color: rgba(20, 20, 20, 0.14);
  }
}

@media (max-width: 760px) {.cm-card .reviews-slider__controls {
    position: static;
    justify-content: flex-end;
    margin-bottom: 10px;
  }.cm-card .review-card-main {
    padding: 18px;
  }.cm-card .review-empty-card {
    min-height: 180px;
    padding: 18px;
  }.cm-card .review-photo-item {
    width: 84px;
    height: 84px;
  }
}.cm-card /* v11 */
.reviews-slider__controls {
  display: flex;
}.cm-card .reviews-slider__dots {
  display: flex;
}.cm-card .reviews-slider__viewport {
  overflow: visible;
}.cm-card .reviews-slider__track {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  overflow: visible;
}.cm-card .reviews-slider__slide {
  display: flex;
  min-width: 0;
}.cm-card .review-card-main, .cm-card .review-empty-card {
  width: 100%;
  height: 100%;
}.cm-card .review-card-main {
  display: flex;
  flex-direction: column;
}.cm-card .review-card-main__footer {
  margin-top: auto;
}.cm-card .review-empty-card {
  min-height: auto;
  justify-content: center;
}

@media (max-width: 760px) {.cm-card .reviews-slider__controls {
    display: flex;
  }.cm-card .reviews-slider__dots {
    display: flex;
  }.cm-card .reviews-slider__viewport {
    overflow: hidden;
  }.cm-card .reviews-slider__track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 100%;
    grid-template-columns: none;
    gap: 0;
    overflow-x: auto;
  }.cm-card .reviews-slider__slide {
    display: block;
  }
}.cm-card /* v13: extra spacing between review photo and reactions */
.review-card-main__photos {
  margin-bottom: 10px;
}.cm-card .review-card-main__footer {
  margin-top: 22px;
}.cm-card /* v14: unified tab heading size */
.reviews-rating-summary h2 {
  font-size: 28px;
  line-height: 1.12;
  letter-spacing: -0.04em;
}.cm-card /* v15: exact heading match for reviews */
.product-tabs .tab-panel[data-tab-panel="reviews"] .reviews-rating-summary h2 {
  font-size: 32px !important;
  line-height: 1.08 !important;
  letter-spacing: -0.04em !important;
  margin: 0 !important;
}.cm-card /* v16: Reviews heading is matched to Characteristics heading */
.product-tabs [data-tab-panel="reviews"] .reviews-rating-summary h2 {
  margin: 0 !important;
  font-size: 48px !important;
  line-height: 1.08 !important;
  font-weight: 800 !important;
  letter-spacing: -0.06em !important;
  color: #111111 !important;
}

@media (max-width: 760px) {.cm-card .product-tabs [data-tab-panel="reviews"] .reviews-rating-summary h2 {
    font-size: 34px !important;
  }
}.cm-card /* v17: exact visible title size fix */
.reviews-title-main, .cm-card .tab-panel.is-active[data-tab-panel="reviews"] .reviews-title-main, .cm-card [data-tab-panel="reviews"] .reviews-rating-summary .reviews-title-main {
  margin: 0 !important;
  font-size: 48px !important;
  line-height: 1.08 !important;
  font-weight: 800 !important;
  letter-spacing: -0.06em !important;
  color: #111111 !important;
}

@media (max-width: 760px) {.cm-card .reviews-title-main, .cm-card .tab-panel.is-active[data-tab-panel="reviews"] .reviews-title-main, .cm-card [data-tab-panel="reviews"] .reviews-rating-summary .reviews-title-main {
    font-size: 40px !important;
  }
}.cm-card /* v18: QA tab */
.qa-block {
  display: grid;
  gap: 22px;
}.cm-card .qa-block__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 420px);
  gap: 18px;
  align-items: center;
}.cm-card .qa-block__head h2 {
  margin: 0;
  color: #111111;
  font-size: 48px;
  line-height: 1.08;
  font-weight: 800;
  letter-spacing: -0.06em;
}.cm-card .qa-block__head h2 span {
  font-weight: 700;
}.cm-card .qa-ask-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 60px;
  padding: 0 26px;
  border: 0;
  border-radius: 12px;
  background: #151515;
  color: #ffffff;
  font-size: 15px;
  line-height: 1;
  font-weight: 700;
  cursor: pointer;
}.cm-card .qa-ask-button__icon {
  font-size: 22px;
  line-height: 1;
  opacity: 0.8;
}.cm-card .qa-thread {
  display: grid;
  gap: 14px;
}.cm-card .qa-card, .cm-card .qa-mini-card {
  border: 1px solid rgba(20, 20, 20, 0.08);
  border-radius: 24px;
  background: #ffffff;
}.cm-card .qa-card--question {
  background: #f8f8f8;
}.cm-card .qa-card {
  padding: 24px;
}.cm-card .qa-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 22px;
}.cm-card .qa-person {
  display: flex;
  align-items: center;
  gap: 14px;
}.cm-card .qa-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #d9d9d9;
  color: #ffffff;
  font-size: 20px;
  line-height: 1;
  font-weight: 800;
}.cm-card .qa-avatar--brand {
  color: #111111;
  background: #fff1df;
}.cm-card .qa-person__name {
  color: #111111;
  font-size: 16px;
  line-height: 1.2;
  font-weight: 700;
}.cm-card .qa-person__role {
  margin-top: 4px;
  color: #9a9a9a;
  font-size: 13px;
  line-height: 1.35;
}.cm-card .qa-card time {
  color: #8d8d8d;
  font-size: 14px;
  line-height: 1.35;
  white-space: nowrap;
}.cm-card .qa-card__body {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr);
  gap: 18px;
}.cm-card .qa-card__label {
  color: #a4a4a4;
  font-size: 16px;
  line-height: 1.45;
  font-weight: 700;
}.cm-card .qa-card__text {
  color: #111111;
  font-size: 20px;
  line-height: 1.4;
}.cm-card .qa-card__useful {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 24px;
  padding-left: 104px;
}.cm-card .qa-card__useful span {
  color: #969696;
  font-size: 14px;
  line-height: 1.35;
}.cm-card .qa-card__useful button {
  min-height: 34px;
  padding: 0 22px;
  border: 0;
  border-radius: 999px;
  background: #f8f8f8;
  color: #111111;
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
}.cm-card .qa-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}.cm-card .qa-mini-card {
  display: grid;
  gap: 14px;
  padding: 20px;
}.cm-card .qa-mini-card__line {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 12px;
}.cm-card .qa-mini-card__line span {
  color: #9a9a9a;
  font-size: 14px;
  line-height: 1.45;
  font-weight: 700;
}.cm-card .qa-mini-card__line p {
  margin: 0;
  color: #171717;
  font-size: 15px;
  line-height: 1.48;
}.cm-card .qa-modal {
  position: fixed;
  inset: 0;
  z-index: 160;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 18px;
}.cm-card .qa-modal.is-open {
  display: flex;
}.cm-card .qa-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 15, 15, 0.52);
}.cm-card .qa-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(610px, 100%);
  max-height: calc(100vh - 36px);
  overflow: auto;
  padding: 32px;
  border-radius: 24px;
  background: #ffffff;
  box-shadow: 0 26px 72px rgba(0, 0, 0, 0.22);
}.cm-card .qa-modal__close {
  position: absolute;
  top: 16px;
  right: 18px;
  width: 38px;
  height: 38px;
  border: 0;
  background: transparent;
  color: #8a8a8a;
  font-size: 34px;
  line-height: 1;
  cursor: pointer;
}.cm-card .qa-modal__head h3 {
  margin: 0;
  color: #111111;
  font-size: 48px;
  line-height: 1.08;
  font-weight: 700;
  letter-spacing: -0.06em;
}.cm-card .qa-modal__head p {
  margin: 10px 0 0;
  color: #6a6a6a;
  font-size: 14px;
  line-height: 1.5;
}.cm-card .qa-modal-product {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-top: 26px;
  padding: 18px 20px;
  border-radius: 18px;
  background: #f8f8f8;
}.cm-card .qa-modal-product img {
  display: block;
  width: 94px;
  height: 70px;
  object-fit: contain;
}.cm-card .qa-modal-product__name {
  color: #111111;
  font-size: 18px;
  line-height: 1.3;
  font-weight: 700;
}.cm-card .qa-modal-product__price {
  margin-top: 6px;
  color: #5f5f5f;
  font-size: 15px;
  line-height: 1.35;
}.cm-card .qa-modal-form {
  display: grid;
  gap: 12px;
  margin-top: 26px;
}.cm-card .qa-modal-form input, .cm-card .qa-modal-form textarea {
  width: 100%;
  min-height: 58px;
  padding: 0 20px;
  border: 0;
  border-radius: 14px;
  background: #f8f8f8;
  color: #111111;
  font: inherit;
}.cm-card .qa-modal-form textarea {
  min-height: 102px;
  padding: 18px 20px;
  resize: vertical;
}.cm-card .qa-modal-form__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 64px;
  border: 0;
  border-radius: 12px;
  background: #151515;
  color: #ffffff;
  font-size: 15px;
  line-height: 1;
  font-weight: 700;
  cursor: pointer;
}body.is-qa-modal-open {
  overflow: hidden;
}

@media (hover: hover) {.cm-card .qa-ask-button, .cm-card .qa-modal-form__submit, .cm-card .qa-card__useful button, .cm-card .qa-mini-card, .cm-card .qa-card {
    transition: transform 0.16s ease, border-color 0.16s ease, background 0.16s ease;
  }.cm-card .qa-ask-button:hover, .cm-card .qa-modal-form__submit:hover, .cm-card .qa-card__useful button:hover, .cm-card .qa-mini-card:hover, .cm-card .qa-card:hover {
    transform: translateY(-1px);
  }.cm-card .qa-mini-card:hover, .cm-card .qa-card:hover {
    border-color: rgba(20, 20, 20, 0.14);
  }
}

@media (max-width: 900px) {.cm-card .qa-block__head {
    grid-template-columns: 1fr;
  }.cm-card .qa-list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {.cm-card .qa-block__head h2 {
    font-size: 40px;
  }.cm-card .qa-card {
    padding: 18px;
  }.cm-card .qa-card__top {
    align-items: flex-start;
    flex-direction: column;
    margin-bottom: 18px;
  }.cm-card .qa-card__body, .cm-card .qa-mini-card__line {
    grid-template-columns: 1fr;
    gap: 6px;
  }.cm-card .qa-card__text {
    font-size: 16px;
  }.cm-card .qa-card__useful {
    padding-left: 0;
  }.cm-card .qa-modal__dialog {
    padding: 24px;
  }.cm-card .qa-modal__head h3 {
    font-size: 40px;
  }.cm-card .qa-modal-product {
    align-items: flex-start;
    flex-direction: column;
  }.cm-card .qa-modal-product img {
    width: 120px;
    height: 84px;
  }
}.cm-card /* v19: heading and QA compact fixes */
.product-tabs [data-tab-panel="reviews"] .reviews-rating-summary h2, .cm-card .product-tabs [data-tab-panel="reviews"] .reviews-title-main {
  font-size: 34px !important;
  line-height: 1.12 !important;
  font-weight: 800 !important;
  letter-spacing: -0.04em !important;
}.cm-card .product-tabs [data-tab-panel="qa"] .qa-block__head h2 {
  font-size: 34px !important;
  line-height: 1.12 !important;
  font-weight: 800 !important;
  letter-spacing: -0.04em !important;
}.cm-card .qa-list {
  grid-template-columns: 1fr !important;
  gap: 10px !important;
}.cm-card .qa-mini-card {
  padding: 14px 16px !important;
  border-radius: 18px !important;
}.cm-card .qa-mini-card__line {
  grid-template-columns: 74px minmax(0, 1fr) !important;
  gap: 10px !important;
}.cm-card .qa-mini-card__line span {
  font-size: 13px !important;
  line-height: 1.35 !important;
}.cm-card .qa-mini-card__line p {
  font-size: 14px !important;
  line-height: 1.4 !important;
}.cm-card .qa-mini-card {
  gap: 8px !important;
}

@media (max-width: 760px) {.cm-card .product-tabs [data-tab-panel="reviews"] .reviews-rating-summary h2, .cm-card .product-tabs [data-tab-panel="reviews"] .reviews-title-main, .cm-card .product-tabs [data-tab-panel="qa"] .qa-block__head h2 {
    font-size: 28px !important;
  }.cm-card .qa-mini-card__line {
    grid-template-columns: 1fr !important;
    gap: 4px !important;
  }
}.cm-card /* v20: all tab panel headings unified to match Характеристики */
.product-tabs [data-tab-panel="specs"] .tab-panel__intro h2, .cm-card .product-tabs [data-tab-panel="manuals"] .tab-panel__intro h2, .cm-card .product-tabs [data-tab-panel="reviews"] .reviews-rating-summary h2, .cm-card .product-tabs [data-tab-panel="reviews"] .reviews-title-main, .cm-card .product-tabs [data-tab-panel="qa"] .qa-block__head h2 {
  font-size: 34px !important;
  line-height: 1.05 !important;
  letter-spacing: -0.03em !important;
  font-weight: 800 !important;
  margin: 0 !important;
}

@media (max-width: 760px) {.cm-card .product-tabs [data-tab-panel="specs"] .tab-panel__intro h2, .cm-card .product-tabs [data-tab-panel="manuals"] .tab-panel__intro h2, .cm-card .product-tabs [data-tab-panel="reviews"] .reviews-rating-summary h2, .cm-card .product-tabs [data-tab-panel="reviews"] .reviews-title-main, .cm-card .product-tabs [data-tab-panel="qa"] .qa-block__head h2 {
    font-size: 28px !important;
  }
}.cm-card /* v26: clean QA rebuild and final unified tab headings */
.tab-section-title, .cm-card .product-tabs [data-tab-panel="specs"] .tab-panel__intro h2.tab-section-title, .cm-card .product-tabs [data-tab-panel="reviews"] .reviews-rating-summary h2.tab-section-title, .cm-card .product-tabs [data-tab-panel="qa"] .qa-block__head h2.tab-section-title, .cm-card .product-tabs [data-tab-panel="manuals"] .tab-panel__intro h2.tab-section-title {
  margin: 0 !important;
  font-size: 34px !important;
  line-height: 1.05 !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  color: #111111 !important;
}.cm-card .product-tabs [data-tab-panel="qa"] .qa-block {
  display: grid !important;
  gap: 22px !important;
}.cm-card .product-tabs [data-tab-panel="qa"] .qa-block__head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 420px) !important;
  gap: 18px !important;
  align-items: center !important;
}.cm-card .product-tabs [data-tab-panel="qa"] .qa-thread {
  display: grid !important;
  gap: 14px !important;
}.cm-card .product-tabs [data-tab-panel="qa"] .qa-card {
  padding: 24px !important;
  border: 1px solid rgba(20, 20, 20, 0.08) !important;
  border-radius: 24px !important;
  background: #ffffff !important;
}.cm-card .product-tabs [data-tab-panel="qa"] .qa-card--question {
  background: #f8f8f8 !important;
}.cm-card .product-tabs [data-tab-panel="qa"] .qa-card__top {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin-bottom: 22px !important;
}.cm-card .product-tabs [data-tab-panel="qa"] .qa-person {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
}.cm-card .product-tabs [data-tab-panel="qa"] .qa-avatar {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 48px !important;
  height: 48px !important;
  border-radius: 50% !important;
  background: #d9d9d9 !important;
  color: #ffffff !important;
  font-size: 20px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
}.cm-card .product-tabs [data-tab-panel="qa"] .qa-avatar--brand {
  color: #111111 !important;
  background: #fff1df !important;
}.cm-card .product-tabs [data-tab-panel="qa"] .qa-person__name {
  color: #111111 !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
}.cm-card .product-tabs [data-tab-panel="qa"] .qa-person__role {
  margin-top: 4px !important;
  color: #9a9a9a !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
}.cm-card .product-tabs [data-tab-panel="qa"] .qa-card time {
  color: #8d8d8d !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  white-space: nowrap !important;
}.cm-card .product-tabs [data-tab-panel="qa"] .qa-card__body {
  display: grid !important;
  grid-template-columns: 86px minmax(0, 1fr) !important;
  gap: 18px !important;
}.cm-card .product-tabs [data-tab-panel="qa"] .qa-card__label {
  color: #a4a4a4 !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;
}.cm-card .product-tabs [data-tab-panel="qa"] .qa-card__text {
  color: #111111 !important;
  font-size: 20px !important;
  line-height: 1.4 !important;
}.cm-card .product-tabs [data-tab-panel="qa"] .qa-card__useful {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px !important;
  margin-top: 24px !important;
  padding-left: 104px !important;
}.cm-card .product-tabs [data-tab-panel="qa"] .qa-card__useful span {
  color: #969696 !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
}.cm-card .product-tabs [data-tab-panel="qa"] .qa-card__useful button {
  min-height: 34px !important;
  padding: 0 22px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #f8f8f8 !important;
  color: #111111 !important;
  font-size: 14px !important;
  line-height: 1 !important;
  cursor: pointer !important;
}

@media (max-width: 900px) {.cm-card .product-tabs [data-tab-panel="qa"] .qa-block__head {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 760px) {.cm-card .tab-section-title, .cm-card .product-tabs [data-tab-panel="specs"] .tab-panel__intro h2.tab-section-title, .cm-card .product-tabs [data-tab-panel="reviews"] .reviews-rating-summary h2.tab-section-title, .cm-card .product-tabs [data-tab-panel="qa"] .qa-block__head h2.tab-section-title, .cm-card .product-tabs [data-tab-panel="manuals"] .tab-panel__intro h2.tab-section-title {
    font-size: 28px !important;
  }.cm-card .product-tabs [data-tab-panel="qa"] .qa-card {
    padding: 18px !important;
  }.cm-card .product-tabs [data-tab-panel="qa"] .qa-card__top {
    align-items: flex-start !important;
    flex-direction: column !important;
    margin-bottom: 18px !important;
  }.cm-card .product-tabs [data-tab-panel="qa"] .qa-card__body {
    grid-template-columns: 1fr !important;
    gap: 6px !important;
  }.cm-card .product-tabs [data-tab-panel="qa"] .qa-card__text {
    font-size: 16px !important;
  }.cm-card .product-tabs [data-tab-panel="qa"] .qa-card__useful {
    padding-left: 0 !important;
  }
}.cm-card /* v27: reviews rebuilt from scratch */
.reviews-v27 {
  display: grid;
  gap: 14px;
}.cm-card .reviews-v27__intro {
  grid-template-columns: 1fr;
  margin-bottom: 0 !important;
}.cm-card .reviews-v27 .tab-section-title {
  margin: 0 !important;
  font-size: 34px !important;
  line-height: 1.05 !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  color: #111111 !important;
}.cm-card .reviews-v27__rating {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}.cm-card .reviews-v27__score {
  color: var(--color-accent);
  font-size: 28px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: -0.04em;
}.cm-card .reviews-v27__stars {
  color: var(--color-accent);
  font-size: 22px;
  line-height: 1;
  letter-spacing: 0.05em;
}.cm-card .reviews-v27__caption {
  color: #808080;
  font-size: 14px;
  line-height: 1.4;
}.cm-card .reviews-v27__slider {
  position: relative;
  margin-top: 4px;
}.cm-card .reviews-v27__controls {
  position: absolute;
  top: -54px;
  right: 0;
  display: flex;
  gap: 8px;
}.cm-card .reviews-v27__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(20, 20, 20, 0.08);
  border-radius: 50%;
  background: #ffffff;
  color: #222222;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}.cm-card .reviews-v27__track {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}.cm-card .reviews-v27__slide {
  display: flex;
  min-width: 0;
}.cm-card .reviews-v27-card {
  width: 100%;
  min-height: 286px;
  border: 1px solid rgba(20, 20, 20, 0.08);
  border-radius: 22px;
  background: #ffffff;
}.cm-card .reviews-v27-card--review {
  display: flex;
  flex-direction: column;
  padding: 20px;
}.cm-card .reviews-v27-card--empty {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 18px;
  padding: 20px;
  text-align: center;
}.cm-card .reviews-v27-card__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}.cm-card .reviews-v27-author {
  display: flex;
  align-items: center;
  gap: 12px;
}.cm-card .reviews-v27-author__avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: #f2f2f2;
  color: #777777;
  font-size: 20px;
  line-height: 1;
  font-weight: 800;
}.cm-card .reviews-v27-author__name {
  color: #111111;
  font-size: 15px;
  line-height: 1.2;
  font-weight: 800;
}.cm-card .reviews-v27-author__date {
  margin-top: 4px;
  color: #8a8a8a;
  font-size: 12px;
  line-height: 1.35;
}.cm-card .reviews-v27-card__stars {
  color: #f4a300;
  font-size: 18px;
  line-height: 1;
  letter-spacing: 0.06em;
  white-space: nowrap;
}.cm-card .reviews-v27-card__text {
  margin-top: 14px;
  color: #4f5b70;
  font-size: 14px;
  line-height: 1.58;
}.cm-card .reviews-v27-card__text p {
  margin: 0;
}.cm-card .reviews-v27-card__text p + p {
  margin-top: 12px;
}.cm-card .reviews-v27-card__photos {
  margin-top: 16px;
}.cm-card .reviews-v27-photo {
  display: block;
  width: 92px;
  height: 92px;
  padding: 0;
  overflow: hidden;
  border: 1px solid #d9dde5;
  border-radius: 16px;
  background: #f3f5f8;
  cursor: pointer;
}.cm-card .reviews-v27-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}.cm-card .reviews-v27-reactions {
  display: flex;
  gap: 10px;
  margin-top: auto;
  padding-top: 22px;
}.cm-card .reviews-v27-reaction {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid rgba(20, 20, 20, 0.08);
  border-radius: 999px;
  background: #f7f5f2;
  color: #5b5b5b;
  font-size: 14px;
  line-height: 1;
  font-weight: 700;
  cursor: pointer;
}.cm-card .reviews-v27-reaction span {
  font-size: 18px;
  line-height: 1;
}.cm-card .reviews-v27-reaction.is-active {
  border-color: rgba(243, 134, 30, 0.28);
  color: #171717;
  background: #fff4e8;
}.cm-card .reviews-v27-card__empty-text {
  color: #676767;
  font-size: 16px;
  line-height: 1.45;
  font-weight: 500;
}.cm-card .review-modal-v27 {
  position: fixed;
  inset: 0;
  z-index: 170;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 18px;
}.cm-card .review-modal-v27.is-open {
  display: flex;
}.cm-card .review-modal-v27__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 15, 15, 0.5);
}.cm-card .review-modal-v27__dialog {
  position: relative;
  z-index: 1;
  width: min(620px, 100%);
  max-height: calc(100vh - 36px);
  overflow: auto;
  padding: 28px;
  border-radius: 24px;
  background: #ffffff;
  box-shadow: 0 26px 72px rgba(0, 0, 0, 0.22);
}.cm-card .review-modal-v27__close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 50%;
  background: #f6f6f6;
  color: #222222;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}.cm-card .review-modal-v27__head {
  padding-right: 44px;
}.cm-card .review-modal-v27__head h3 {
  margin: 0;
  font-size: 34px;
  line-height: 1.08;
  letter-spacing: -0.04em;
}.cm-card .review-modal-v27__head p {
  margin: 10px 0 0;
  color: #6a6a6a;
  font-size: 14px;
  line-height: 1.5;
}.cm-card .review-modal-v27__form {
  display: grid;
  gap: 12px;
  margin-top: 22px;
}.cm-card .review-modal-v27__rating {
  display: inline-flex;
  gap: 4px;
}.cm-card .review-modal-v27__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}.cm-card .review-modal-v27 input, .cm-card .review-modal-v27 textarea {
  width: 100%;
  min-height: 50px;
  padding: 0 14px;
  border: 1px solid rgba(20, 20, 20, 0.1);
  border-radius: 14px;
  background: #f8f8f8;
  color: #171717;
  font: inherit;
}.cm-card .review-modal-v27 textarea {
  min-height: 132px;
  padding: 14px;
  resize: vertical;
}.cm-card .review-modal-v27__upload {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 13px;
  border: 1px dashed rgba(20, 20, 20, 0.16);
  border-radius: 16px;
  background: #fbfbfb;
}.cm-card .review-modal-v27__upload button {
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid rgba(20, 20, 20, 0.08);
  border-radius: 999px;
  background: #ffffff;
  color: #2b2b2b;
  font-size: 14px;
  line-height: 1;
  font-weight: 700;
  cursor: pointer;
}.cm-card .review-modal-v27__upload span {
  color: #8a8a8a;
  font-size: 13px;
}.cm-card .review-modal-v27__submit {
  width: 100%;
}body.is-review-modal-open {
  overflow: hidden;
}

@media (hover: hover) {.cm-card .reviews-v27__arrow, .cm-card .reviews-v27-card, .cm-card .reviews-v27-reaction, .cm-card .reviews-v27-photo {
    transition: transform 0.16s ease, border-color 0.16s ease, background 0.16s ease;
  }.cm-card .reviews-v27__arrow:hover, .cm-card .reviews-v27-card:hover, .cm-card .reviews-v27-reaction:hover, .cm-card .reviews-v27-photo:hover {
    transform: translateY(-1px);
  }
}

@media (max-width: 900px) {.cm-card .reviews-v27__track {
    grid-template-columns: 1fr;
  }.cm-card .reviews-v27__controls {
    position: static;
    justify-content: flex-end;
    margin-bottom: 10px;
  }
}

@media (max-width: 760px) {.cm-card .reviews-v27 .tab-section-title {
    font-size: 28px !important;
  }.cm-card .reviews-v27__score {
    font-size: 28px;
  }.cm-card .reviews-v27__stars {
    font-size: 20px;
  }.cm-card .reviews-v27-card {
    min-height: auto;
  }.cm-card .reviews-v27-card--review, .cm-card .reviews-v27-card--empty {
    padding: 18px;
  }.cm-card .review-modal-v27__grid, .cm-card .review-modal-v27__upload {
    grid-template-columns: 1fr;
    flex-direction: column;
    align-items: stretch;
  }.cm-card .review-modal-v27__head h3 {
    font-size: 28px;
  }
}.cm-card /* v29: video plays inside modal, .cm-card no external browser tab */
.video-modal__frame {
  background: #000000 !important;
}.cm-card .video-modal__iframe {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
}.cm-card .video-modal__link, .cm-card .video-modal__placeholder, .cm-card .video-modal__play {
  display: none !important;
}.cm-card /* v30: YouTube embedded playback fix */
.video-modal__iframe {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  background: #000000 !important;
}.cm-card .video-modal__link, .cm-card .video-modal__placeholder, .cm-card .video-modal__play {
  display: none !important;
}.cm-card /* v31: embedded YouTube player with correct referrer policy */
.video-modal__iframe {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  background: #000000 !important;
}.cm-card .video-modal__link, .cm-card .video-modal__placeholder, .cm-card .video-modal__play {
  display: none !important;
}.cm-card /* v32: YouTube iframe uses native embed code attributes */
.video-modal__iframe {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  background: #000000 !important;
}.cm-card .video-modal__link, .cm-card .video-modal__placeholder, .cm-card .video-modal__play {
  display: none !important;
}.cm-card /* v33: Delivery and payment tab */
.delivery-v33 {
  display: grid;
  gap: 18px;
}.cm-card .delivery-v33__intro {
  grid-template-columns: minmax(0, 1fr);
  margin-bottom: 0 !important;
}.cm-card .delivery-v33__intro .tab-section-title {
  margin: 0 !important;
  font-size: 34px !important;
  line-height: 1.05 !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  color: #111111 !important;
}.cm-card .delivery-v33__intro p {
  max-width: 920px;
  margin: 14px 0 0;
  color: #5f6570;
  font-size: 16px;
  line-height: 1.58;
}.cm-card .delivery-v33-contract {
  padding: 26px 28px;
  border: 1px solid rgba(243, 134, 30, 0.22);
  border-left: 4px solid var(--color-accent);
  border-radius: 20px;
  background: #fff8ef;
}.cm-card .delivery-v33-contract h3 {
  margin: 0;
  color: #111111;
  font-size: 22px;
  line-height: 1.18;
  font-weight: 800;
  letter-spacing: -0.03em;
}.cm-card .delivery-v33-contract p {
  max-width: 920px;
  margin: 10px 0 0;
  color: #2b2f36;
  font-size: 16px;
  line-height: 1.58;
}.cm-card .delivery-v33__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 16px;
}.cm-card .delivery-v33-card {
  padding: 24px 26px;
  border-radius: 20px;
  background: #f7f7f7;
}.cm-card .delivery-v33-card h3, .cm-card .delivery-v33-step h3 {
  margin: 0;
  color: #111111;
  font-size: 22px;
  line-height: 1.18;
  font-weight: 800;
  letter-spacing: -0.03em;
}.cm-card .delivery-v33-card p, .cm-card .delivery-v33-step p {
  margin: 10px 0 0;
  color: #4f5b70;
  font-size: 15px;
  line-height: 1.58;
}.cm-card .delivery-v33__info-line {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}.cm-card .delivery-v33__info-line > div {
  padding: 18px 20px;
  border-radius: 20px;
  background: #f8f8f8;
}.cm-card .delivery-v33__info-line span {
  display: block;
  color: #8a8a8a;
  font-size: 13px;
  line-height: 1.35;
  font-weight: 700;
}.cm-card .delivery-v33__info-line strong {
  display: block;
  margin-top: 6px;
  color: #171717;
  font-size: 16px;
  line-height: 1.4;
  font-weight: 700;
}.cm-card .delivery-v33__steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}.cm-card .delivery-v33-step {
  padding: 22px;
  border: 1px solid rgba(20, 20, 20, 0.08);
  border-radius: 24px;
  background: #ffffff;
}.cm-card .delivery-v33-step__number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 32px;
  margin-bottom: 18px;
  padding: 0 10px;
  border-radius: 999px;
  background: #f4f1ec;
  color: #8a7861;
  font-size: 13px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0.04em;
}

@media (hover: hover) {.cm-card .delivery-v33-card, .cm-card .delivery-v33-step, .cm-card .delivery-v33__info-line > div {
    transition: transform 0.16s ease, border-color 0.16s ease, background 0.16s ease;
  }.cm-card .delivery-v33-card:hover, .cm-card .delivery-v33-step:hover, .cm-card .delivery-v33__info-line > div:hover {
    transform: translateY(-1px);
  }.cm-card .delivery-v33-card:hover, .cm-card .delivery-v33-step:hover {
    border-color: rgba(20, 20, 20, 0.14);
  }
}

@media (max-width: 980px) {.cm-card .delivery-v33__grid, .cm-card .delivery-v33__info-line, .cm-card .delivery-v33__steps {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {.cm-card .delivery-v33__intro .tab-section-title {
    font-size: 28px !important;
  }.cm-card .delivery-v33-card, .cm-card .delivery-v33-contract {
    padding: 20px;
  }.cm-card .delivery-v33-contract h3 {
    font-size: 20px;
  }.cm-card .delivery-v33-contract p {
    font-size: 14px;
  }.cm-card .delivery-v33-step {
    padding: 20px;
  }.cm-card .delivery-v33-card h3, .cm-card .delivery-v33-step h3 {
    font-size: 20px;
  }.cm-card .delivery-v33__intro p, .cm-card .delivery-v33-card p, .cm-card .delivery-v33-step p {
    font-size: 14px;
  }
}.cm-card /* Consultant block */
* {
  box-sizing: border-box;
}:root {
  --page-bg: #f6f5f3;
  --card-bg: #ffffff;
  --text-main: #161616;
  --text-secondary: #5f5f5f;
  --text-muted: #7f7f7f;
  --line: rgba(17, 17, 17, 0.08);
  --line-strong: rgba(17, 17, 17, 0.12);
  --accent: #f3861e;
  --accent-soft: rgba(243, 134, 30, 0.10);
  --green: #2eb872;
  --gray-soft: #f1f1f1;
  --gray-mid: #d7d7d7;
}.cm-card .consultant-section {
  width: 100%;
}.cm-card .consultant-card {
  width: 100%;
  min-height: 112px;
  display: grid;
  grid-template-columns: minmax(260px, 0.78fr) minmax(0, 1.1fr) auto;
  gap: 28px;
  align-items: center;
  padding: 22px 28px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: var(--card-bg);
  box-shadow: 0 8px 26px rgba(17, 17, 17, 0.035);
}.cm-card .consultant-card__person {
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 0;
}.cm-card .consultant-avatar-wrap {
  position: relative;
  flex: 0 0 auto;
  width: 58px;
  height: 58px;
}.cm-card .consultant-avatar {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: var(--gray-soft);
  border: 1px solid var(--gray-mid);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  font-weight: 700;
  font-size: 22px;
  color: var(--color-muted);
}.cm-card .consultant-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}.cm-card .consultant-status-dot {
  position: absolute;
  right: -2px;
  bottom: -2px;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: var(--green);
  border: 2px solid #ffffff;
  box-shadow: 0 0 0 4px rgba(46, 184, 114, 0.12);
}
.cm-card .consultant-status-dot::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: var(--green);
  animation: cm-status-pulse 1.8s ease-out infinite;
}
@keyframes cm-status-pulse {
  0% { transform: scale(1); opacity: 0.55; }
  70% { opacity: 0; }
  100% { transform: scale(2.85); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .cm-card .consultant-status-dot::after { animation: none; }
}
.cm-card .consultant-card__person-info {
  min-width: 0;
}.cm-card .consultant-card__name-row {
  display: flex;
  align-items: center;
  gap: 10px;
}.cm-card .consultant-card__name-row h2 {
  margin: 0;
  color: var(--text-main);
  font-size: 20px;
  line-height: 1.15;
  font-weight: 600;
  letter-spacing: -0.025em;
  white-space: nowrap;
}.cm-card .consultant-card__person p {
  max-width: 300px;
  margin: 6px 0 0;
  color: var(--text-muted);
  font-size: 14px;
  line-height: 1.4;
  font-weight: 400;
}.cm-card .consultant-checklist {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 26px;
  row-gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}.cm-card .consultant-checklist li {
  position: relative;
  padding-left: 24px;
  color: var(--text-secondary);
  font-size: 15px;
  line-height: 1.34;
  font-weight: 500;
}.cm-card .consultant-checklist li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 2px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #ffffff;
  border: 1px solid rgba(17, 17, 17, 0.18);
}.cm-card .consultant-checklist li::after {
  content: '';
  position: absolute;
  left: 4px;
  top: 5px;
  width: 4px;
  height: 6px;
  border-right: 1.5px solid #161616;
  border-bottom: 1.5px solid #161616;
  transform: rotate(45deg);
}.cm-card .consultant-actions {
  display: flex;
  flex-wrap: wrap;
  min-width: 0;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}.cm-card .consultant-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 46px;
  padding: 0 16px;
  border-radius: 14px;
  border: 1px solid rgba(243, 134, 30, 0.18);
  background: var(--accent-soft);
  color: var(--text-main);
  font-size: 14px;
  line-height: 1;
  font-weight: 500;
  text-decoration: none;
  white-space: nowrap;
}.cm-card .consultant-button__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  font-size: 13px;
  line-height: 1;
  background: rgba(243, 134, 30, 0.14);
  color: var(--accent);
}

@media (hover: hover) {.cm-card .consultant-card, .cm-card .consultant-button {
    transition: transform 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;
  }.cm-card .consultant-card:hover {
    border-color: var(--line-strong);
    box-shadow: 0 12px 32px rgba(17, 17, 17, 0.05);
  }.cm-card .consultant-button:hover {
    transform: translateY(-1px);
    border-color: rgba(243, 134, 30, 0.26);
    background: rgba(243, 134, 30, 0.13);
  }
}

@media (max-width: 1320px) {.cm-card .consultant-card {
    grid-template-columns: minmax(300px, 0.78fr) minmax(480px, 1fr);
    grid-template-areas:
      "person list"
      "person actions";
    gap: 16px 24px;
  }.cm-card .consultant-card__person {
    grid-area: person;
  }.cm-card .consultant-checklist {
    grid-area: list;
  }.cm-card .consultant-actions {
    grid-area: actions;
    justify-content: flex-start;
  }
}

@media (max-width: 860px) {.cm-card .consultant-card {
    grid-template-columns: 1fr;
    grid-template-areas:
      "person"
      "list"
      "actions";
    gap: 18px;
    padding: 20px;
    border-radius: 22px;
  }.cm-card .consultant-avatar-wrap, .cm-card .consultant-avatar {
    width: 54px;
    height: 54px;
  }.cm-card .consultant-card__name-row h2 {
    white-space: normal;
    font-size: 18px;
  }.cm-card .consultant-checklist {
    grid-template-columns: 1fr;
    row-gap: 9px;
  }.cm-card .consultant-actions {
    flex-direction: column;
    align-items: stretch;
  }.cm-card .consultant-button {
    width: 100%;
  }
}.cm-card /* Accessories upsell block */

    * {
      box-sizing: border-box;
    }:root {
      --bg: #f6f5f3;
      --card: #ffffff;
      --text: #151515;
      --muted: #666a70;
      --soft: #8b9097;
      --line: rgba(17, 17, 17, 0.08);
      --line-strong: rgba(17, 17, 17, 0.14);
      --accent: #f3861e;
      --accent-soft: rgba(243, 134, 30, 0.09);
      --accent-line: rgba(243, 134, 30, 0.22);
      --shadow: 0 18px 42px rgba(17, 17, 17, 0.06);
    }.cm-card button, .cm-card input, .cm-card textarea {
      font: inherit;
    }.cm-card .addon-block {
      width: min(1280px, calc(100% - 32px));
      margin: 0 auto;
      padding: 44px 0;
    }.cm-card .addon-shell {
      border: 1px solid var(--line);
      border-radius: 30px;
      background: #ffffff;
      box-shadow: 0 20px 60px rgba(17, 17, 17, 0.045);
      overflow: hidden;
    }.cm-card .addon-head {
      padding: 34px 36px 26px;
      border-bottom: 1px solid var(--line);
    }.cm-card .addon-head h2 {
      max-width: 740px;
      margin: 0;
      color: var(--text);
      font-size: clamp(30px, 3.2vw, 46px);
      line-height: 1.02;
      font-weight: 700;
      letter-spacing: -0.055em;
    }.cm-card .addon-tabs {
      display: flex;
      gap: 8px;
      padding: 16px 36px 0;
      overflow-x: auto;
      scrollbar-width: none;
      -webkit-overflow-scrolling: touch;
    }.cm-card .addon-tabs::-webkit-scrollbar {
      display: none;
    }.cm-card .addon-tab {
      flex: 0 0 auto;
      min-height: 42px;
      padding: 0 17px;
      border: 1px solid var(--line);
      border-radius: 999px;
      background: #ffffff;
      color: #444444;
      font-size: 14px;
      line-height: 1;
      font-weight: 500;
      cursor: pointer;
      transition: background 0.16s ease, border-color 0.16s ease, color 0.16s ease;
    }.cm-card .addon-tab.is-active {
      border-color: var(--accent-line);
      background: var(--accent-soft);
      color: var(--text);
    }.cm-card .addon-panel {
      display: none;
      padding: 22px 36px 34px;
    }.cm-card .addon-panel.is-active {
      display: block;
    }.cm-card .addon-track {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 16px;
      overflow-x: auto;
      scroll-snap-type: x mandatory;
      scroll-behavior: smooth;
      scrollbar-width: none;
      -webkit-overflow-scrolling: touch;
      padding: 2px 2px 8px;
    }.cm-card .addon-track::-webkit-scrollbar {
      display: none;
    }.cm-card .addon-card {
      min-width: 0;
      display: flex;
      flex-direction: column;
      border: 1px solid var(--line);
      border-radius: 24px;
      background: var(--card);
      overflow: hidden;
      scroll-snap-align: start;
      transition: transform 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
    }.cm-card .addon-card__media {
      position: relative;
      display: grid;
      place-items: center;
      min-height: 168px;
      margin: 10px 10px 0;
      border-radius: 18px;
      background:
        radial-gradient(circle at 22% 18%, rgba(243, 134, 30, 0.16), transparent 28%),
        linear-gradient(135deg, #f4f4f4 0%, #eeeeee 100%);
      overflow: hidden;
    }.cm-card .addon-card__media::before {
      content: attr(data-icon);
      display: grid;
      place-items: center;
      width: 74px;
      height: 74px;
      border: 1px solid rgba(17, 17, 17, 0.08);
      border-radius: 24px;
      background: rgba(255, 255, 255, 0.7);
      color: rgba(17, 17, 17, 0.58);
      font-size: 28px;
      line-height: 1;
      font-weight: 500;
      letter-spacing: -0.04em;
      backdrop-filter: blur(8px);
    }.cm-card .addon-card__body {
      display: flex;
      flex-direction: column;
      flex: 1;
      padding: 18px;
    }.cm-card .addon-card h3 {
      margin: 0;
      color: var(--text);
      font-size: 18px;
      line-height: 1.2;
      font-weight: 600;
      letter-spacing: -0.03em;
    }.cm-card .addon-card__bottom {
      margin-top: auto;
      padding-top: 18px;
    }.cm-card .addon-card__price {
      color: var(--text);
      font-size: 20px;
      line-height: 1;
      font-weight: 700;
      letter-spacing: -0.035em;
    }.cm-card .addon-card__button {
      width: 100%;
      min-height: 44px;
      margin-top: 14px;
      border: 1px solid var(--accent-line);
      border-radius: 14px;
      background: var(--accent-soft);
      color: var(--text);
      font-size: 14px;
      line-height: 1;
      font-weight: 600;
      cursor: pointer;
      transition: background 0.16s ease, border-color 0.16s ease, transform 0.16s ease;
    }.cm-card .addon-card__button.is-added {
      border-color: rgba(17, 17, 17, 0.12);
      background: #f2f2f2;
    }.cm-card .addon-info {
      display: flex;
      gap: 12px;
      align-items: flex-start;
      margin: 6px 36px 34px;
      padding: 18px 20px;
      border: 1px solid var(--line);
      border-radius: 22px;
      background: #fafafa;
      color: #4c4c4c;
      font-size: 15px;
      line-height: 1.52;
    }.cm-card .addon-info::before {
      content: "?";
      flex: 0 0 auto;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 24px;
      height: 24px;
      border-radius: 50%;
      background: var(--accent-soft);
      color: var(--accent);
      font-size: 14px;
      line-height: 1;
      font-weight: 700;
    }.cm-card /* v3: simplified product cards */
    .addon-card__media {
      margin-bottom: 0;
    }.cm-card .addon-card__body {
      padding: 16px 18px 18px;
    }.cm-card .addon-card h3 {
      min-height: 44px;
      display: flex;
      align-items: flex-start;
      margin-bottom: 16px;
    }.cm-card .addon-card__bottom {
      margin-top: auto;
      padding-top: 0;
    }.cm-card .addon-card__price {
      margin-bottom: 14px;
    }

    @media (hover: hover) {.cm-card .addon-card:hover {
        transform: translateY(-3px);
        border-color: var(--line-strong);
        box-shadow: var(--shadow);
      }.cm-card .addon-arrow:hover, .cm-card .addon-card__button:hover {
        transform: translateY(-1px);
      }.cm-card .addon-arrow:hover {
        border-color: var(--line-strong);
        background: #fafafa;
      }.cm-card .addon-card__button:hover {
        border-color: rgba(243, 134, 30, 0.32);
        background: rgba(243, 134, 30, 0.13);
      }
    }

    @media (max-width: 1100px) {.cm-card .addon-track {
        display: flex;
        gap: 14px;
      }.cm-card .addon-card {
        flex: 0 0 calc((100% - 28px) / 3);
      }
    }

    @media (max-width: 820px) {.cm-card .addon-block {
        width: 100%;
        padding: 18px 12px;
      }.cm-card .addon-shell {
        border-radius: 24px;
      }.cm-card .addon-head {
        padding: 24px 18px 18px;
      }.cm-card .addon-head h2 {
        font-size: 28px;
      }.cm-card .addon-tabs {
        padding: 14px 18px 0;
      }.cm-card .addon-panel {
        padding: 18px 18px 26px;
      }.cm-card .addon-card {
        flex-basis: 76%;
      }.cm-card .addon-card__media {
        min-height: 154px;
      }.cm-card .addon-info {
        margin: 0 18px 24px;
      }
    }

    @media (max-width: 520px) {.cm-card .addon-card {
        flex-basis: 86%;
      }.cm-card .addon-card__body {
        padding: 16px;
      }
    }.cm-card /* Unified product card layout */
body {
  background: #f6f5f3;
}.cm-card .unified-product-card {
  padding-bottom: 56px;
}.cm-card .consultant-section {
  max-width: 1280px;
  margin: 34px auto 0;
}.cm-card .addon-block {
  width: auto;
  max-width: 1280px;
  margin-top: 34px;
  padding: 0;
}

@media (max-width: 760px) {.cm-card .consultant-section, .cm-card .addon-block {
    margin-top: 22px;
  }
}.cm-card /* Technical roadmap block */
.prototype-roadmap {
  max-width: 1280px;
  margin: 34px auto 0;
  padding: 0;
}.cm-card .prototype-roadmap__shell {
  overflow: hidden;
  border: 2px solid #ffb000;
  border-radius: 28px;
  background: linear-gradient(135deg, #fff1b8 0%, #ffe37a 48%, #ffc83d 100%);
  box-shadow: 0 18px 48px rgba(93, 64, 0, 0.18);
}.cm-card .prototype-roadmap__head {
  padding: 30px 34px 18px;
}.cm-card .prototype-roadmap__label {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 7px 12px;
  border-radius: 999px;
  background: #151515;
  color: #ffffff;
  font-size: 12px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}.cm-card .prototype-roadmap__head h2 {
  margin: 16px 0 10px;
  color: #151515;
  font-size: 34px;
  line-height: 1.05;
  font-weight: 800;
  letter-spacing: -0.045em;
}.cm-card .prototype-roadmap__head p {
  max-width: 900px;
  margin: 0;
  color: rgba(21, 21, 21, 0.76);
  font-size: 16px;
  line-height: 1.55;
}.cm-card .prototype-roadmap__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  padding: 0 34px 34px;
}.cm-card .prototype-roadmap__item {
  min-height: 210px;
  padding: 22px;
  border: 1px solid rgba(21, 21, 21, 0.12);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.74);
  backdrop-filter: blur(6px);
}.cm-card .prototype-roadmap__item h3 {
  margin: 0 0 10px;
  color: #151515;
  font-size: 20px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: -0.03em;
}.cm-card .prototype-roadmap__item p {
  margin: 0;
  color: rgba(21, 21, 21, 0.78);
  font-size: 15px;
  line-height: 1.5;
}

@media (max-width: 980px) {.cm-card .prototype-roadmap__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {.cm-card .prototype-roadmap {
    margin-top: 22px;
  }.cm-card .prototype-roadmap__head {
    padding: 24px 18px 16px;
  }.cm-card .prototype-roadmap__head h2 {
    font-size: 28px;
  }.cm-card .prototype-roadmap__grid {
    grid-template-columns: 1fr;
    padding: 0 18px 22px;
  }.cm-card .prototype-roadmap__item {
    min-height: 0;
  }
}

/* ===== §7 UI-доработки (CARD_UI_TODO): эмблемы по типу, наличие размеров, блок описания ===== */

/* Эмблемы по типу: тот же светлый бокс, что у заголовков групп характеристик (PNG, не тёмный кружок со SVG). */
.cm-card .key-point__icon { background: #f4f4f4; overflow: hidden; }
.cm-card .key-point__icon-image { display: block; width: 22px; height: 22px; object-fit: contain; }

/* Индикатор наличия: кружок под подписью размера + подпись статуса под рядом кнопок. */
.cm-card .size-option {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  height: auto;
  min-height: 50px;
  padding: 7px 12px;
}
.cm-card .size-option__label { line-height: 1; }
.cm-card .size-stock-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.7);
}
.cm-card .size-stock-dot--in { background: #2fbf55; }
.cm-card .size-stock-dot--req { background: #e9b63b; }
.cm-card .size-option.is-active .size-stock-dot { box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.3); }
.cm-card .size-stock-caption {
  margin: 12px 0 0;
  min-height: 1.2em;
  color: var(--color-muted);
  font-size: 14px;
  font-weight: 600;
}
.cm-card .size-stock-caption[data-stock="in"] { color: #1f9e45; }
.cm-card .size-stock-caption[data-stock="req"] { color: var(--color-accent-dark); }

/* «Описание» — первая вкладка; заголовок берёт .tab-section-title, здесь только типографика прозы (шрифт .cm-card = Inter, как в макете). */
.cm-card .product-description { color: #333333; }
.cm-card .product-description__lead {
  margin: 0 0 18px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--color-line);
  color: #2a2a2a;
  font-size: 16px;
  line-height: 1.6;
  font-weight: 600;
}
.cm-card .product-description__sku {
  margin: 0 0 14px;
  color: #6b6b6b;
  font-size: 14px;
}
/* Длинное описание свёрнуто до 480px с затуханием низа; JS ставит is-collapsible только если текст заметно длиннее. */
.cm-card .product-description.is-collapsible { position: relative; overflow: hidden; }
.cm-card .product-description.is-collapsible:not(.is-expanded) { max-height: 480px; }
.cm-card .product-description.is-collapsible:not(.is-expanded)::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 140px;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #ffffff);
  pointer-events: none;
}
.cm-card .product-description__toggle { margin-top: 16px; }
.cm-card .product-description__full {
  color: #333333;
  font-size: 15px;
  line-height: 1.65;
}
.cm-card .product-description__full h2,
.cm-card .product-description__full h3,
.cm-card .product-description__full h4 {
  margin: 22px 0 8px;
  color: var(--color-text);
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: -0.02em;
}
.cm-card .product-description__full h2 { font-size: 22px; }
.cm-card .product-description__full h3 { font-size: 20px; }
.cm-card .product-description__full h4 { font-size: 16px; }
.cm-card .product-description__full p { margin: 0 0 12px; }
.cm-card .product-description__full img { max-width: 100%; height: auto; border-radius: 12px; }
.cm-card .product-description__full ul,
.cm-card .product-description__full ol { margin: 0 0 12px; padding-left: 20px; }
.cm-card .product-description__full li { margin: 0 0 6px; }

/* Кнопка «Сравнить товары» — штатная кнопка темы, приводим к виду вторичной кнопки карточки. */
.cm-card .product-utility-actions { margin-top: 12px; }
.cm-card .cm-compare-btn { display: inline-flex; margin: 0; }
.cm-card .cm-compare-btn a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 18px;
  border: 1px solid #dedede;
  border-radius: 14px;
  color: var(--color-text);
  background: #ffffff;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
}
.cm-card .cm-compare-btn a:hover { border-color: var(--color-text); }

/* Вкладка «Геометрия» — таблица из Woo-меты `_cm_geometry_html` (реальные данные onlinesizing).
   Стиль как в оригинальном сниппете прода (границы #e6e6e6, заголовки #f5f5f5, боковые #fafafa) + чередование строк. */
.cm-card .cm-geometry-wrap { overflow-x: auto; }
.cm-card .cm-geometry {
  border-collapse: collapse;
  width: 100%;
  margin: 0 0 1em;
  font-size: 14px;
}
.cm-card .cm-geometry th,
.cm-card .cm-geometry td {
  border: 1px solid #e6e6e6;
  padding: 8px 12px;
  text-align: center;
}
.cm-card .cm-geometry thead th {
  background: #f5f5f5;
  font-weight: 600;
}
.cm-card .cm-geometry tbody th {
  text-align: left;
  font-weight: 500;
  background: #fafafa;
  white-space: nowrap;
}
.cm-card .cm-geometry tbody tr:nth-child(even) td { background: #fafafa; }

/* ===== Пачка 2026-10-15 (CARD_UI_TODO «журнал работ») ===== */

/* «Как выбрать размер» — скруглённая кнопка в стиле кнопок размера. Состояния заданы явно: тема WoodMart красит
   button:hover/:focus серым фоном. */
.cm-card .size-help,
.cm-card .size-help:hover,
.cm-card .size-help:focus,
.cm-card .size-help:active {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 14px;
  border: 1px solid #dfdfdf;
  border-radius: 12px;
  color: var(--color-text);
  background: #ffffff;
  box-shadow: none;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
}
.cm-card .size-help:hover,
.cm-card .size-help:focus-visible { border-color: var(--color-text); }
.cm-card .size-help:focus { outline: none; }
.cm-card .size-help:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }

/* Бренд-пилюля — ссылка на страницу бренда. */
.cm-card a.brand-logo,
.cm-card a.brand-logo:hover { color: var(--color-text); text-decoration: none; }

/* Цена со скидкой: новая крупно, рядом полная зачёркнутая + плашка «−N%». */
.cm-card .product-price-row--sale {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px 14px;
}
.cm-card .product-price-row--sale .product-price { color: var(--color-text); }
.cm-card .product-price-old {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.cm-card .product-price-old__value {
  color: #9a948c;
  font-size: 18px;
  font-weight: 600;
  text-decoration-thickness: 1.5px;
}
.cm-card .product-price-old[hidden],
.cm-card .product-price-discount[hidden] { display: none; }
.cm-card .product-price-discount {
  display: inline-flex;
  align-items: center;
  height: 26px;
  padding: 0 9px;
  border-radius: 999px;
  color: #ffffff;
  background: var(--color-accent);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.01em;
}

/* Подпись под размерами: статус + остаток, строкой ниже — ориентировочные даты получения. */
.cm-card .size-stock-caption { display: grid; gap: 4px; }
.cm-card .size-stock-caption__status { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 8px; }
.cm-card .size-stock-caption__qty { color: var(--color-text); font-weight: 600; }
.cm-card .size-stock-caption__qty::before { content: '·'; margin-right: 8px; color: var(--color-muted); }
.cm-card .size-stock-caption__lead { color: var(--color-muted); font-size: 13px; font-weight: 500; }

/* Длинные значения характеристик — 3 строки + «Далее» (кнопку добавляет JS только при переполнении). */
.cm-card .spec-value {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  overflow-wrap: anywhere;
}
.cm-card .spec-value.is-open { display: block; -webkit-line-clamp: unset; overflow: visible; }
.cm-card .spec-more,
.cm-card .spec-more:hover,
.cm-card .spec-more:focus {
  margin-top: 4px;
  padding: 0;
  border: 0;
  color: var(--color-accent-dark);
  background: transparent;
  box-shadow: none;
  font-size: 12px;
  font-weight: 700;
  text-transform: none;
  cursor: pointer;
}

/* Вариант раскладки 2 (?layout=2): сначала цена/размер/кнопки, ниже выгоды — отделяем линией. */
.cm-card .product-info--layout2 .key-points {
  margin-top: 22px;
  padding-top: 20px;
  border-top: 1px solid var(--color-line);
}

/* Блок допродаж: карточка — ссылка на товар; фото товара вместо иконки-заглушки, если есть. */
.cm-card .addon-card__media { text-decoration: none; }
.cm-card .addon-card__media--image::before { content: none; }
.cm-card .addon-card__media--image { background: #ffffff; }
.cm-card .addon-card__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 12px;
  object-fit: contain;
}
.cm-card .addon-card h3 a { color: inherit; text-decoration: none; }
.cm-card .addon-card h3 a:hover { color: var(--color-accent-dark); }
.cm-card .addon-card__price-old {
  margin-left: 6px;
  color: #9a948c;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0;
}
/* Тема WoodMart пишет <button> капсом — у кнопки карточки допродаж обычный регистр, как в макете. */
.cm-card .addon-card__button { text-transform: none; letter-spacing: 0; }
.cm-card .addon-card__variant {
  width: 100%;
  min-height: 40px;
  margin-top: 12px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #ffffff;
  color: var(--text);
  font-size: 14px;
}
.cm-card a.addon-card__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

/* Заглушка без фото — линейная иконка узла (как у групп характеристик), вместо букв. */
.cm-card .addon-card__media--icon::before { content: none; }
.cm-card .addon-card__icon {
  display: grid;
  place-items: center;
  width: 74px;
  height: 74px;
  border: 1px solid rgba(17, 17, 17, 0.08);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.75);
}
.cm-card .addon-card__icon img { position: static; width: 38px; height: 38px; padding: 0; object-fit: contain; opacity: 0.7; }

/* Лента: на десктопе 4 карточки в ряд, остальное — прокруткой (стрелки появляются, только если не влезает). */
@media (min-width: 1101px) {
  .cm-card .addon-track {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: calc((100% - 48px) / 4);
  }
}
.cm-card .addon-slider { position: relative; }
.cm-card .addon-nav,
.cm-card .addon-nav:hover,
.cm-card .addon-nav:focus {
  position: absolute;
  top: 84px;
  z-index: 2;
  display: none;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid var(--line-strong);
  border-radius: 50%;
  color: var(--text);
  background: #ffffff;
  box-shadow: 0 6px 18px rgba(17, 17, 17, 0.1);
  font-size: 24px;
  line-height: 38px;
  cursor: pointer;
}
.cm-card .addon-nav--prev { left: -14px; }
.cm-card .addon-nav--next { right: -14px; }
.cm-card .addon-slider.is-overflowing .addon-nav { display: block; }
.cm-card .addon-slider .addon-nav[disabled] { visibility: hidden; pointer-events: none; }
@media (max-width: 820px) { .cm-card .addon-slider.is-overflowing .addon-nav { display: none; } }
/* Вкладки допродаж на десктопе — переносом в несколько строк: скрытый горизонтальный скролл мышью не прокрутить. */
@media (min-width: 821px) { .cm-card .addon-tabs { flex-wrap: wrap; overflow-x: visible; } }

/* Избранное: кнопка ♡ — штатная разметка WoodMart (.wd-wishlist-btn > a), обёртка не должна ломать ряд кнопок. */
.cm-card .cm-fav-wrap { display: contents; }
.cm-card a.btn--favorite { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.cm-card a.btn--favorite.is-on { border-color: var(--color-accent); color: #ffffff; background: var(--color-accent); }

/* Форма консультации: поле вопроса — в стиле полей ввода. */
.cm-card .form-field textarea {
  width: 100%;
  min-height: 84px;
  padding: 12px 14px;
  border: 1px solid #dedede;
  border-radius: 14px;
  color: var(--color-text);
  background: #ffffff;
  font: inherit;
  font-size: 15px;
  font-weight: 400;
  resize: vertical;
  outline: none;
}
.cm-card .form-field textarea:focus {
  border-color: var(--color-accent);
  box-shadow: 0 0 0 3px rgba(242, 140, 40, 0.16);
}

/* Карточка модели: размера нет в выбранном цвете */
.cm-card .size-option.is-unavailable {
  opacity: 0.35;
  cursor: not-allowed;
  text-decoration: line-through;
}
.cm-card .size-option.is-unavailable .size-stock-dot { display: none; }

/* §7.2 пояснение к характеристике: пунктир под названием, подсказка под ним при наведении/фокусе/касании */
.cm-card .spec-name--tip {
  position: relative;
  cursor: help;
  text-decoration: underline dotted #b8b8b8;
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
}
.cm-card .spec-name--tip:hover::after,
.cm-card .spec-name--tip:focus::after,
.cm-card .spec-name--tip.is-active::after {
  content: attr(data-spec-tip);
  position: absolute;
  left: 0;
  top: calc(100% + 10px);
  z-index: 20;
  width: 340px;
  max-width: min(340px, 80vw);
  padding: 14px 16px;
  border: 1px solid #e8e1d8;
  border-radius: 14px;
  color: #555555;
  background: #ffffff;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.12);
  font-size: 14px;
  line-height: 1.45;
  font-weight: 500;
  text-align: left;
  text-decoration: none;
  white-space: normal;
}

/* §7.2 условия доставки у кнопки покупки */
.cm-card .cm-delivery-brief {
  list-style: none;
  margin: 14px 0 0;
  padding: 12px 14px;
  border: 1px solid #ece7e0;
  border-radius: 14px;
  background: #faf8f5;
  display: grid;
  gap: 8px;
}
.cm-card .cm-delivery-brief li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  font-size: 13px;
  line-height: 1.4;
  color: #555555;
}
.cm-card .cm-delivery-brief b {
  color: #222222;
  font-weight: 700;
}
.cm-card .cm-delivery-brief svg {
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  fill: none;
  stroke: var(--accent, #f3861e);
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}
