* {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

    :root {
      /* Основные цвета */
      --color-primary: #2d648a;
      --color-primary-hover: #255a7a;
      --color-primary-active: #3a7095;

      /* Фоны */
      --color-bg: #ebf3f6;
      --color-bg-alt: #ebf3f6;
      --color-bg-white: #FFFFFF;

      /* Текст */
      --color-text: #333333;
      --color-text-secondary: #6F6F6F;

      /* Границы */
      --color-border: #d5e3e9;
      --color-input-border: #c8d8e0;

      /* Цены */
      --color-price-old: #999999;
      --color-price-new: #2d648a;

      /* Акценты */
      --color-accent-orange: #e79c25;
      --color-accent-red: #a65247;
      --color-accent-soft: #ad4b59;

      /* Риски */
      --color-risk-low: #2d648a;
      --color-risk-medium: #e79c25;
      --color-risk-high: #ad4b59;

      /* Скидки */
      --color-discount-bg: #a65247;
      --color-discount-text: #FFFFFF;

      --color-placeholder: #A0A7B4;
    }

    body {
      font-family: 'Noto Sans', Arial, sans-serif;
      background: var(--color-bg);
      color: var(--color-text);
      line-height: 1.6;
      font-size: 16px;
    }

    .container {
      max-width: 1400px;
      margin: 0 auto;
      padding: 0 16px;
      display: flex;
      gap: 30px;
      align-items: flex-start;
      padding-top: 48px;
      padding-bottom: 72px;
      justify-content: center;
    }

    /* Анкета по центру */
    .quiz-panel {
      flex: 0 0 800px;
      max-width: 800px;
      background: var(--color-bg-white);
      border-radius: 12px;
      padding: 40px;
      box-shadow: 0 8px 24px rgba(15, 35, 52, 0.08);
    }

    .panel-header {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      margin-bottom: 12px;
    }

    .panel-header h1 {
      font-size: 32px;
      font-weight: 700;
      line-height: 1.2;
      margin-bottom: 0;
      color: var(--color-text);
    }

    .panel-logo {
      display: flex;
      flex-direction: column;
      align-items: center;
      text-decoration: none;
      flex-shrink: 0;
      margin-top: -50px;
    }

    .panel-logo img {
      height: 100px;
      width: auto;
    }

    .panel-logo span {
      font-size: 12px;
      color: var(--color-text-secondary);
      white-space: nowrap;
      margin-top: -32px;
    }

    .quiz-panel h1 {
      font-size: 32px;
      font-weight: 700;
      line-height: 1.2;
      margin-bottom: 12px;
      color: var(--color-text);
    }

    .quiz-panel .subtitle {
      color: var(--color-text-secondary);
      font-size: 16px;
      margin-bottom: 32px;
      line-height: 1.5;
    }

    .progress-info {
      font-size: 14px;
      color: var(--color-text-secondary);
      margin-bottom: 8px;
      font-weight: 500;
    }

    .progress-bar {
      width: 100%;
      height: 6px;
      background: var(--color-bg);
      border-radius: 3px;
      overflow: hidden;
      margin-bottom: 24px;
    }

    .progress-fill {
      height: 100%;
      background: var(--color-primary-active);
      transition: width 0.4s ease;
      width: 0%;
    }

    .step {
      display: none;
    }

    .step.active {
      display: block;
    }

    .step-title {
      font-size: 20px;
      font-weight: 600;
      margin-bottom: 16px;
      color: var(--color-text);
    }

    .step-hint {
      font-size: 14px;
      color: var(--color-text-secondary);
      margin-bottom: 20px;
      padding-left: 12px;
      border-left: 3px solid var(--color-border);
    }

    .options {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 12px;
      margin-bottom: 24px;
    }

    .option-label {
      display: flex;
      align-items: flex-start;
      gap: 12px;
      padding: 14px 16px;
      border-radius: 8px;
      cursor: pointer;
      transition: all 0.2s ease;
      border: 1px solid var(--color-border);
      background: var(--color-bg);
      min-height: 56px;
    }

    .option-label:hover {
      background: rgba(58, 112, 149, 0.1);
      border-color: var(--color-primary-active);
      transform: translateY(-1px);
    }

    .option-label:has(input:checked) {
      background: var(--color-primary-active);
      border-color: var(--color-primary-active);
      color: white;
    }

    .option-label:has(input:checked):hover {
      background: var(--color-primary);
    }

    .option-label input[type="radio"],
    .option-label input[type="checkbox"] {
      margin-top: 2px;
      width: 20px;
      height: 20px;
      accent-color: var(--color-primary);
      cursor: pointer;
      flex-shrink: 0;
    }

    .option-label input:checked + span {
      font-weight: 500;
    }

    /* Группа кнопок навигации */
    .btn-group {
      display: flex;
      gap: 12px;
      width: 100%;
    }

    .btn-secondary {
      background: var(--color-bg);
      color: var(--color-text);
      border: 1px solid var(--color-border);
      border-radius: 8px;
      padding: 14px 24px;
      font-size: 16px;
      font-weight: 600;
      cursor: pointer;
      flex: 0 0 auto;
      transition: all 0.2s ease;
      height: 48px;
    }

    .btn-secondary:hover:not(:disabled) {
      background: var(--color-bg-alt);
      border-color: var(--color-primary);
      transform: translateY(-2px);
    }

    .btn-primary {
      background: var(--color-primary);
      color: white;
      border: none;
      border-radius: 8px;
      padding: 14px 24px;
      font-size: 16px;
      font-weight: 600;
      cursor: pointer;
      flex: 1;
      transition: all 0.2s ease;
      height: 48px;
    }

    .btn-primary:hover:not(:disabled) {
      background: var(--color-primary-hover);
      transform: translateY(-2px);
      box-shadow: 0 4px 12px rgba(45, 100, 138, 0.3);
    }

    .btn-primary:disabled {
      background: var(--color-input-border);
      color: white;
      cursor: not-allowed;
      transform: none;
    }

    .diagnosis-input {
      width: 100%;
      padding: 12px 16px;
      border: 1px solid var(--color-input-border);
      border-radius: 8px;
      font-size: 16px;
      font-family: inherit;
      margin-top: 12px;
      height: 44px;
    }

    .diagnosis-input:focus {
      outline: none;
      border-color: var(--color-primary);
      box-shadow: 0 0 0 3px rgba(45, 100, 138, 0.1);
    }

    .diagnosis-input::placeholder {
      color: var(--color-placeholder);
      font-size: 14px;
    }

    /* Правая колонка - Результаты */
    .results-panel {
      flex: 1;
      display: none;
    }

    .results-panel.show {
      display: block;
      animation: fadeIn 0.5s ease;
    }

    @keyframes fadeIn {
      from {
        opacity: 0;
        transform: translateY(20px);
      }
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }

    .result-header {
      margin-bottom: 32px;
    }

    .result-title {
      font-size: 32px;
      font-weight: 700;
      margin-bottom: 12px;
      color: var(--color-text);
    }

    .result-subtitle {
      color: var(--color-text-secondary);
      font-size: 16px;
      line-height: 1.6;
    }

    /* Блок загрузки - overlay поверх всего */
    .loading-block {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: rgba(255, 255, 255, 0.95);
      backdrop-filter: blur(4px);
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      z-index: 9999;
      text-align: center;
    }

    .loading-block.hidden {
      display: none;
    }

    /* Круговой прогресс загрузки */
    .loading-progress-circle {
      position: relative;
      width: 120px;
      height: 120px;
      margin-bottom: 24px;
    }

    .loading-progress-circle svg {
      width: 100%;
      height: 100%;
      transform: rotate(-90deg);
    }

    .progress-bg-circle {
      fill: none;
      stroke: var(--color-border);
      stroke-width: 8;
    }

    .progress-fill-circle {
      fill: none;
      stroke: var(--color-primary);
      stroke-width: 8;
      stroke-linecap: round;
      stroke-dasharray: 283;
      stroke-dashoffset: 283;
      transition: stroke-dashoffset 0.1s ease-out;
    }

    .loading-percent {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      font-size: 28px;
      font-weight: 700;
      color: var(--color-primary);
    }

    .loading-text {
      font-size: 18px;
      font-weight: 500;
      color: var(--color-text);
      animation: pulse 2s ease-in-out infinite;
    }

    @keyframes pulse {
      0%, 100% {
        opacity: 1;
      }
      50% {
        opacity: 0.6;
      }
    }

    .result-content {
      display: none;
    }

    .result-content.show {
      display: block;
      animation: fadeIn 0.5s ease;
    }

    .result-block {
      background: var(--color-bg-white);
      border-radius: 12px;
      padding: 24px;
      margin-bottom: 20px;
      box-shadow: 0 8px 24px rgba(15, 35, 52, 0.08);
      transition: all 0.2s ease;
    }

    .result-block:hover {
      box-shadow: 0 10px 30px rgba(15, 35, 52, 0.12);
      transform: translateY(-2px);
    }

    .result-block h3 {
      font-size: 20px;
      font-weight: 600;
      margin-bottom: 12px;
      color: var(--color-text);
    }

    .result-block p {
      color: var(--color-text-secondary);
      font-size: 16px;
      line-height: 1.6;
      margin-bottom: 16px;
    }

    .result-block.warning {
      background: var(--color-discount-bg);
      border-left: 4px solid var(--color-price-new);
    }

    .result-block.warning h3 {
      color: var(--color-price-new);
    }

    .dashboard-header {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      margin-bottom: 16px;
    }

    .dashboard-header h3 {
      margin-bottom: 0;
    }

    .dashboard-logo {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 4px;
      margin-top: -36px;
    }

    .dashboard-logo img {
      height: 100px;
      width: auto;
    }

    .dashboard-logo span {
      font-size: 11px;
      color: var(--color-text-secondary);
      white-space: nowrap;
      margin-top: -32px;
    }

    .links-row {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 16px;
    }

    .chip-link {
      display: inline-block;
      padding: 10px 20px;
      border-radius: 8px;
      background: var(--color-bg-white);
      border: 1px solid var(--color-border);
      color: var(--color-primary);
      text-decoration: none;
      font-size: 14px;
      font-weight: 500;
      transition: all 0.2s ease;
    }

    .chip-link:hover {
      background: rgba(45, 100, 138, 0.08);
      border-color: var(--color-primary);
      transform: translateY(-1px);
    }

    .product-card {
      background: var(--color-bg-white);
      border: 1px solid var(--color-border);
      border-radius: 12px;
      padding: 20px;
      margin-bottom: 16px;
    }

    /* Карточка supplement с картинкой */
    .supplement-card {
      display: flex;
      gap: 20px;
      align-items: flex-start;
    }

    .supplement-image {
      flex-shrink: 0;
      width: 120px;
      height: 120px;
      border-radius: 8px;
      overflow: hidden;
      background: var(--color-bg);
    }

    .supplement-image img {
      width: 100%;
      height: 100%;
      object-fit: contain;
    }

    .supplement-content {
      flex: 1;
    }

    @media (max-width: 480px) {
      .supplement-card {
        flex-direction: column;
        align-items: center;
        text-align: center;
      }

      .supplement-image {
        width: 100px;
        height: 100px;
      }
    }

    .product-name {
      font-size: 18px;
      font-weight: 600;
      margin-bottom: 8px;
      color: var(--color-text);
    }

    .product-price {
      font-size: 24px;
      font-weight: 700;
      color: var(--color-price-new);
      margin-bottom: 12px;
    }

    .product-description {
      font-size: 14px;
      color: var(--color-text-secondary);
      margin-bottom: 16px;
      line-height: 1.5;
    }

    .disclaimer {
      background: var(--color-bg-alt);
      border-radius: 12px;
      padding: 20px;
      margin-top: 32px;
      font-size: 13px;
      color: var(--color-text-secondary);
      line-height: 1.5;
    }

    .disclaimer strong {
      color: var(--color-text);
    }

    /* Дашборд */
    .dashboard-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
      gap: 16px;
      margin-top: 16px;
    }

    .dashboard-card {
      background: var(--color-bg);
      border-radius: 8px;
      padding: 16px;
      text-align: center;
      display: flex;
      flex-direction: column;
      min-height: 180px;
    }

    .dashboard-card-label {
      font-size: 12px;
      color: var(--color-text-secondary);
      margin-bottom: auto;
    }

    .dashboard-card-value {
      font-size: 24px;
      font-weight: 700;
      color: var(--color-primary);
      margin: auto 0;
    }

    .dashboard-card-description {
      font-size: 13px;
      color: var(--color-text-secondary);
      line-height: 1.4;
      margin-top: auto;
    }

    .risk-badge {
      display: inline-block;
      padding: 6px 16px;
      border-radius: 16px;
      font-size: 20px;
      font-weight: 700;
      text-transform: uppercase;
    }

    .risk-low {
      background: rgba(45, 100, 138, 0.15);
      color: var(--color-risk-low);
    }

    .risk-medium {
      background: rgba(231, 156, 37, 0.15);
      color: var(--color-risk-medium);
    }

    .risk-high {
      background: rgba(173, 75, 89, 0.15);
      color: var(--color-risk-high);
    }

    /* Фон карточки риска при высоком/среднем риске */
    .dashboard-card.risk-card-high {
      background: rgba(173, 75, 89, 0.1);
      border: 1px solid rgba(173, 75, 89, 0.3);
    }

    .dashboard-card.risk-card-medium {
      background: rgba(231, 156, 37, 0.1);
      border: 1px solid rgba(231, 156, 37, 0.3);
    }

    /* Новый грид дашборда: 3 колонки в первой строке, рекомендации на второй */
    .dashboard-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 16px;
      margin-top: 16px;
      align-items: stretch;
    }

    .dashboard-card.recommendation-card {
      grid-column: 1 / -1;
      text-align: left;
      padding: 20px 24px;
      min-height: auto;
    }

    .dashboard-card.recommendation-card .dashboard-card-label {
      margin-bottom: 8px;
    }

    .dashboard-card.recommendation-card .dashboard-card-value {
      font-size: 18px;
      line-height: 1.5;
      margin: 0;
    }

    /* График оценки безопасности */
    .safety-gauge {
      position: relative;
      width: 100px;
      height: 100px;
      margin: 0 auto 12px;
    }

    .safety-gauge-circle {
      width: 100%;
      height: 100%;
      border-radius: 50%;
      background: conic-gradient(
        var(--gauge-color, #10b981) var(--gauge-percent, 0%),
        var(--color-border) var(--gauge-percent, 0%)
      );
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .safety-gauge-inner {
      width: 70%;
      height: 70%;
      background: var(--color-bg);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 22px;
      font-weight: 700;
      color: var(--color-primary);
    }

    /* Карточки товаров как на reton.com/market */
    .devices-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
      gap: 24px;
      margin-top: 16px;
    }

    .device-card {
      background: var(--color-bg-white);
      border: 1px solid var(--color-border);
      border-radius: 12px;
      overflow: hidden;
      transition: all 0.3s ease;
      display: flex;
      flex-direction: column;
    }

    .device-card:hover {
      box-shadow: 0 12px 32px rgba(15, 35, 52, 0.12);
      transform: translateY(-4px);
    }

    .device-card-image-container {
      position: relative;
      width: 100%;
      height: 220px;
      background: var(--color-bg-white);
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 20px;
    }

    .device-card-image {
      max-width: 100%;
      max-height: 100%;
      object-fit: contain;
    }

    .device-card-discount {
      position: absolute;
      top: 12px;
      right: 12px;
      background: var(--color-discount-bg);
      color: var(--color-discount-text);
      padding: 6px 12px;
      border-radius: 50px;
      font-size: 13px;
      font-weight: 600;
    }

    .device-card-content {
      padding: 20px;
      flex: 1;
      display: flex;
      flex-direction: column;
    }

    .device-card-title {
      font-size: 20px;
      font-weight: 700;
      color: var(--color-text);
      margin-bottom: 8px;
    }

    .device-card-description {
      font-size: 14px;
      color: var(--color-text-secondary);
      line-height: 1.5;
      margin-bottom: 16px;
      flex: 1;
    }

    .device-card-prices {
      display: flex;
      align-items: baseline;
      gap: 12px;
      margin-bottom: 16px;
    }

    .device-card-price-new {
      font-size: 22px;
      font-weight: 700;
      color: var(--color-text);
    }

    .device-card-price-old {
      font-size: 16px;
      color: var(--color-price-old);
      text-decoration: line-through;
    }

    .device-card-btn {
      display: block;
      width: 100%;
      padding: 14px 24px;
      background: var(--color-primary);
      color: white;
      text-decoration: none;
      border-radius: 8px;
      font-size: 15px;
      font-weight: 600;
      transition: all 0.2s ease;
      text-align: center;
      border: none;
      cursor: pointer;
    }

    .device-card-btn:hover {
      background: var(--color-primary-hover);
      transform: translateY(-2px);
    }

    /* Блок магазинов */
    .shops-container {
      margin-top: 16px;
    }

    .shop-official {
      display: block;
      background: var(--color-primary);
      color: white;
      text-align: center;
      padding: 16px 24px;
      border-radius: 8px;
      text-decoration: none;
      font-size: 16px;
      font-weight: 600;
      margin-bottom: 16px;
      transition: all 0.2s ease;
    }

    .shop-official:hover {
      background: var(--color-primary-hover);
      transform: translateY(-2px);
    }

    .shops-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 12px;
    }

    .shop-marketplace {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding: 16px;
      background: var(--color-bg-white);
      border: 1px solid var(--color-border);
      border-radius: 8px;
      text-decoration: none;
      transition: all 0.2s ease;
      min-height: 80px;
    }

    .shop-marketplace:hover {
      border-color: var(--color-primary);
      transform: translateY(-2px);
      box-shadow: 0 4px 12px rgba(15, 35, 52, 0.1);
    }

    .shop-marketplace img {
      max-height: 32px;
      max-width: 100%;
      object-fit: contain;
    }

    .shop-marketplace span {
      font-size: 12px;
      color: var(--color-text-secondary);
      margin-top: 8px;
    }

    /* Жирный текст для консультации врача */
    .consultation-required {
      font-weight: 700;
    }

    /* Форма обратной связи */
    .feedback-block {
      background: var(--color-bg-white);
      border-radius: 12px;
      padding: 24px;
      margin-top: 32px;
      box-shadow: 0 8px 24px rgba(15, 35, 52, 0.08);
    }

    .feedback-header {
      font-size: 18px;
      font-weight: 600;
      margin-bottom: 20px;
      color: var(--color-text);
    }

    .feedback-form {
      display: flex;
      flex-direction: column;
      gap: 16px;
    }

    .feedback-field {
      display: flex;
      flex-direction: column;
      gap: 8px;
    }

    .feedback-field label {
      font-size: 14px;
      font-weight: 500;
      color: var(--color-text);
    }

    .feedback-field input,
    .feedback-field textarea {
      padding: 12px 16px;
      border: 1px solid var(--color-input-border);
      border-radius: 8px;
      font-size: 14px;
      font-family: inherit;
      color: var(--color-text);
    }

    .feedback-field input:focus,
    .feedback-field textarea:focus {
      outline: none;
      border-color: var(--color-primary);
      box-shadow: 0 0 0 3px rgba(45, 100, 138, 0.1);
    }

    .feedback-field textarea {
      min-height: 120px;
      resize: vertical;
    }

    .feedback-buttons-row {
      display: flex;
      flex-direction: row;
      gap: 12px;
      flex-wrap: wrap;
    }

    .feedback-submit-btn {
      padding: 14px 24px;
      background: var(--color-primary);
      color: white;
      border: none;
      border-radius: 8px;
      font-size: 16px;
      font-weight: 600;
      cursor: pointer;
      transition: all 0.2s ease;
    }

    .feedback-submit-btn:hover:not(:disabled) {
      background: var(--color-primary-hover);
      transform: translateY(-1px);
    }

    .feedback-submit-btn:disabled {
      opacity: 0.6;
      cursor: not-allowed;
    }

    .feedback-secondary-btn {
      display: inline-block;
      padding: 14px 24px;
      background: #ebf3f6;
      color: var(--color-primary);
      border: none;
      border-radius: 8px;
      font-size: 16px;
      font-weight: 600;
      cursor: pointer;
      text-decoration: none;
      text-align: center;
      transition: all 0.2s ease;
    }

    .feedback-consent {
      font-size: 12px;
      color: var(--color-text-secondary);
      line-height: 1.4;
    }

    .feedback-consent a {
      color: var(--color-primary);
      text-decoration: underline;
    }

    .feedback-consent a:hover {
      color: var(--color-primary-hover);
    }

    .footer-privacy {
      text-align: center;
      margin-top: 20px;
      padding: 16px 0;
    }

    .footer-privacy a {
      color: var(--color-text-secondary);
      font-size: 13px;
      text-decoration: underline;
    }

    .footer-privacy a:hover {
      color: var(--color-primary);
    }

    .feedback-secondary-btn:hover {
      background: #ddeaef;
      color: var(--color-primary-hover);
      transform: translateY(-1px);
    }

    .feedback-success {
      background: #d4edda;
      color: #155724;
      padding: 16px;
      border-radius: 8px;
      margin-top: 16px;
      font-size: 14px;
      display: none;
    }

    .feedback-success.show {
      display: block;
    }

    @media (max-width: 1024px) {
      .container {
        flex-direction: column;
        gap: 24px;
      }

      .quiz-panel {
        flex: none;
        width: 100%;
      }

      .results-panel {
        width: 100%;
      }
    }

    @media (max-width: 768px) {
      .quiz-panel {
        padding: 24px 20px;
        flex: 0 0 100%;
        max-width: 100%;
      }

      .quiz-panel h1 {
        font-size: 24px;
      }

      .step-title {
        font-size: 18px;
      }

      .options {
        grid-template-columns: 1fr;
      }

      .option-label {
        padding: 12px;
        min-height: auto;
      }

      .panel-header {
        align-items: flex-start;
        gap: 12px;
      }

      .panel-header h1 {
        font-size: 22px;
        flex: 1;
      }

      .panel-logo {
        margin-top: -14px;
        margin-left: -2px;
      }

      .panel-logo img {
        height: 60px;
      }

      .panel-logo span {
        font-size: 9px;
        margin-top: -20px;
        max-width: 100px;
        white-space: normal;
        text-align: center;
      }

      .dashboard-grid {
        grid-template-columns: 1fr;
      }

      .shops-grid {
        grid-template-columns: repeat(2, 1fr);
      }

      .devices-grid {
        grid-template-columns: 1fr;
      }
    }

    /* Стили для ошибки валидации */
    .validation-error {
      background: linear-gradient(135deg, #fff5f5 0%, #ffe8e8 100%);
      border: 1px solid var(--color-accent-red);
      border-radius: 10px;
      padding: 12px 16px;
      margin-top: 16px;
      margin-bottom: 16px;
      color: var(--color-accent-red);
      font-size: 14px;
      font-weight: 500;
      display: flex;
      align-items: center;
      gap: 8px;
      animation: shakeError 0.5s ease-in-out;
    }

    .step.has-error .options {
      border: 2px solid var(--color-accent-red);
      border-radius: 12px;
      padding: 8px;
      background: #fff8f8;
    }

    @keyframes shakeError {
      0%, 100% { transform: translateX(0); }
      10%, 30%, 50%, 70%, 90% { transform: translateX(-5px); }
      20%, 40%, 60%, 80% { transform: translateX(5px); }
    }

    /* Логотипы маркетплейсов */
    .shop-logo {
      display: flex;
      align-items: center;
      justify-content: center;
      height: 40px;
      width: auto;
      max-width: 130px;
      transition: transform 0.2s ease, opacity 0.2s ease;
      opacity: 0.85;
    }

    .shop-logo img {
      height: 100%;
      width: auto;
      max-width: 130px;
      object-fit: contain;
    }

    .shop-logo svg {
      height: 100%;
      width: auto;
      max-width: 130px;
    }

    .shop-marketplace:hover .shop-logo {
      opacity: 1;
      transform: scale(1.05);
    }

    .shop-marketplace {
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 12px 16px;
      min-height: 60px;
    }

    /* Дисклеймер с желтым фоном */
    .disclaimer-warning {
      background: rgba(231, 156, 37, 0.15);
      border: 1px solid #e79c25;
      border-radius: 8px;
      padding: 16px 20px;
      margin: 20px 0;
      display: flex;
      align-items: flex-start;
      gap: 12px;
      font-size: 14px;
      color: #333;
      line-height: 1.5;
    }

    .warning-icon {
      font-size: 20px;
      flex-shrink: 0;
    }

    /* Блок нерелевантного диагноза */
    .not-relevant-block {
      background: linear-gradient(135deg, rgba(45, 100, 138, 0.1) 0%, rgba(58, 112, 149, 0.15) 100%);
      border: 2px solid var(--color-primary);
      border-radius: 12px;
      padding: 24px;
      margin: 24px 0;
      display: flex;
      align-items: flex-start;
      gap: 16px;
      font-size: 16px;
      color: var(--color-text);
      line-height: 1.6;
    }

    .not-relevant-icon {
      font-size: 28px;
      flex-shrink: 0;
    }

    .not-relevant-message {
      font-weight: 500;
    }

    /* Официальный магазин с бонусом */
    .shop-official-title {
      font-size: 16px;
      font-weight: 600;
      margin-bottom: 4px;
    }

    .shop-official-bonus {
      font-size: 11px;
      opacity: 0.85;
      line-height: 1.4;
    }

    /* Подзаголовок формы */
    .feedback-subtitle {
      font-size: 14px;
      color: var(--color-text-secondary);
      margin-bottom: 20px;
    }

    /* Адаптивная сетка для вопроса 5 с множеством вариантов */
    .step[data-step="5"] .options {
      grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    }

    @media (max-width: 768px) {
      .step[data-step="5"] .options {
        grid-template-columns: 1fr;
      }

      /* Ограничение размера картинок товаров на мобилке */
      .device-card-image-container {
        height: 180px;
        padding: 16px;
      }

      .device-card-image {
        max-width: 160px;
        max-height: 140px;
      }

      .devices-grid {
        grid-template-columns: 1fr;
      }
    }

    @media (max-width: 480px) {
      .device-card-image-container {
        height: 150px;
        padding: 12px;
      }

      .device-card-image {
        max-width: 130px;
        max-height: 110px;
      }

      .device-card-title {
        font-size: 18px;
      }

      .device-card-description {
        font-size: 13px;
      }

      .shop-official-bonus {
        font-size: 10px;
      }
    }

    /* Заголовок материалов */
    .materials-header {
      font-size: 24px;
      font-weight: 700;
      color: var(--color-text);
      margin: 32px 0 20px;
      line-height: 1.3;
    }

    /* Кнопки маркетплейсов */
    .shop-marketplace-btn {
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 14px 20px;
      border-radius: 8px;
      text-decoration: none;
      font-size: 14px;
      font-weight: 600;
      transition: all 0.2s ease;
      text-align: center;
      min-height: 48px;
    }

    .shop-marketplace-btn:hover {
      transform: translateY(-2px);
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
      filter: brightness(1.1);
    }

    /* Акцентные кнопки (как Оформить заказ) */
    .chip-link-accent {
      display: inline-block;
      padding: 12px 24px;
      border-radius: 8px;
      background: var(--color-primary);
      color: white;
      text-decoration: none;
      font-size: 15px;
      font-weight: 600;
      transition: all 0.2s ease;
    }

    .chip-link-accent:hover {
      background: var(--color-primary-hover);
      transform: translateY(-2px);
      box-shadow: 0 4px 12px rgba(45, 100, 138, 0.3);
    }

    @media (max-width: 768px) {
      .materials-header {
        font-size: 20px;
        margin: 24px 0 16px;
      }

      .shops-grid {
        grid-template-columns: 1fr;
      }

      .shop-marketplace-btn {
        font-size: 13px;
        padding: 12px 16px;
      }
    }