body { background: #FBF7F0; }

/* Плейсхолдер-заглушка (на случай, если где-то не хватит картинки) */
.ph {
  background-color: #EFE4D3;
  background-image: repeating-linear-gradient(45deg, #E7D8C2 0 12px, #EFE4D3 12px 24px);
  display: flex; align-items: center; justify-content: center; text-align: center;
}
.ph span { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 11px; color: #8C7358; letter-spacing: .04em; background: rgba(251,247,240,.75); padding: 4px 8px; border-radius: 6px; }

.btn-primary { background: #BE6E4B; color: #fff; }
.btn-primary:hover { background: #A85C3D; }
.btn-ghost { border: 1.5px solid #BE6E4B; color: #A85C3D; }
.btn-ghost:hover { background: #F7E7DB; }

/* Инпуты форм */
.ts-input { width: 100%; background: #fff; border: 1.5px solid #EADDCB; border-radius: 12px; padding: 14px 16px; font-size: 15px; color: #3D3028; outline: none; transition: border-color .15s; }
.ts-input:focus { border-color: #BE6E4B; }
.ts-input::placeholder { color: #B7A796; }

/* Опции квиза */
.ts-opt { display: flex; align-items: center; gap: 16px; border: 1.5px solid #EADDCB; background: #fff; border-radius: 16px; padding: 16px 18px; cursor: pointer; transition: border-color .15s, background .15s; }
.ts-opt:hover { border-color: #D8B49E; }
.ts-opt input { position: absolute; opacity: 0; pointer-events: none; }
.ts-radio { width: 24px; height: 24px; border: 2px solid #C9B7A4; border-radius: 999px; flex: none; position: relative; transition: border-color .15s; }
.ts-radio::after { content: ""; position: absolute; inset: 4px; border-radius: 999px; background: #BE6E4B; transform: scale(0); transition: transform .15s; }
.ts-opt input:checked ~ .ts-radio { border-color: #BE6E4B; }
.ts-opt input:checked ~ .ts-radio::after { transform: scale(1); }
.ts-opt:has(input:checked) { border-color: #BE6E4B; background: #FCEFE6; }
.ts-ico { width: 34px; height: 34px; color: #BE6E4B; flex: none; }
.ts-txt { display: flex; flex-direction: column; gap: 2px; }
.ts-txt b { font-size: 17px; color: #3D3028; }
.ts-txt small { font-size: 13.5px; color: #A08B7A; }

/* Прогресс-сегмент квиза */
.ts-seg { height: 8px; border-radius: 999px; background: #EADDCB; flex: 1; transition: background .25s; }
.ts-seg.on { background: #BE6E4B; }

/* Тумблер cookies (не используется в текущей модалке, оставлен для запаса) */
.ts-switch { appearance: none; -webkit-appearance: none; width: 46px; height: 26px; border-radius: 999px; background: #D8C7B4; position: relative; cursor: pointer; flex: none; transition: background .15s; }
.ts-switch::after { content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 999px; background: #fff; transition: left .15s; }
.ts-switch:checked { background: #BE6E4B; }
.ts-switch:checked::after { left: 23px; }
