/* UTF Wood Story: quiz styles. Everything is scoped under .uws so nothing leaks into Divi or WooCommerce. */
.uws { --uws-ink: #1B2A3D; --uws-accent: #E4A83A; --uws-soft: #F3EEDF; --uws-line: #1B2A3D; --uws-muted: #4A5668;
  font-family: inherit; color: var(--uws-ink); max-width: 880px; margin: 0 auto; box-sizing: border-box; }
.uws *, .uws *::before, .uws *::after { box-sizing: border-box; }
.uws-box { border: 2px solid var(--uws-line); border-radius: 20px; padding: clamp(20px, 4vw, 40px); background: #fff; }
.uws-title { margin: 0 0 12px; font-size: clamp(26px, 4vw, 36px); line-height: 1.15; font-weight: 700; color: var(--uws-ink); }
.uws-lead { margin: 0 0 12px; font-size: 18px; line-height: 1.5; }
.uws-meta { margin: 0 0 16px; font-size: 15px; color: var(--uws-muted); }
.uws-meta a { color: var(--uws-ink); font-weight: 600; }
.uws-hint { margin: 0 0 16px; font-size: 15px; color: var(--uws-muted); }
.uws-progress { height: 8px; border-radius: 4px; background: #E6E8EC; margin-bottom: 14px; overflow: hidden; }
.uws-progress-bar { height: 100%; background: var(--uws-ink); transition: width .25s ease; }
.uws-fs { border: 0; padding: 0; margin: 0 0 20px; min-width: 0; }
.uws-q { padding: 0; margin: 0 0 16px; font-size: clamp(22px, 3.4vw, 32px); line-height: 1.2; font-weight: 700; }
.uws-q:focus, .uws-title:focus { outline: none; }
.uws-opts { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 12px; }
.uws-opt { position: relative; display: block; cursor: pointer; }
.uws-opt input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.uws-opt-body { display: flex; flex-direction: column; gap: 2px; min-height: 56px; justify-content: center; padding: 14px 16px; border: 2px solid var(--uws-line); border-radius: 14px; background: #fff; transition: background .15s, border-color .15s; }
.uws-opt:hover .uws-opt-body { background: var(--uws-soft); }
.uws-opt input:checked + .uws-opt-body { border-color: var(--uws-accent); box-shadow: 0 0 0 3px var(--uws-accent); background: var(--uws-soft); }
.uws-opt input:focus-visible + .uws-opt-body { outline: 3px solid var(--uws-ink); outline-offset: 2px; }
.uws-opt-label { font-size: 17px; font-weight: 600; line-height: 1.3; }
.uws-opt-sub { font-size: 14px; color: var(--uws-muted); }
.uws-nav, .uws-actions, .uws-extra { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 16px; }
.uws-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 22px; border: 2px solid var(--uws-ink); border-radius: 12px; background: #fff; color: var(--uws-ink); font: inherit; font-weight: 600; font-size: 16px; text-decoration: none; cursor: pointer; line-height: 1.2; text-align: center; }
.uws-btn:hover { background: var(--uws-soft); color: var(--uws-ink); }
.uws-btn-main { background: var(--uws-ink); color: #fff; }
.uws-btn-main:hover { background: #2B3F58; color: #fff; }
.uws-btn[disabled] { opacity: .45; cursor: not-allowed; }
.uws-btn:focus-visible, .uws-link:focus-visible, .uws-email input:focus-visible { outline: 3px solid var(--uws-accent); outline-offset: 2px; }
.uws-link { background: none; border: 0; padding: 12px 6px; font: inherit; font-size: 15px; color: var(--uws-muted); text-decoration: underline; cursor: pointer; }
.uws-chips { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0 0 8px; padding: 0; }
.uws-chips li { margin: 0; padding: 8px 14px; border-radius: 999px; background: var(--uws-soft); border: 1px solid var(--uws-ink); font-size: 15px; font-weight: 600; }
.uws-notes { margin-top: 24px; padding: 18px 20px; border-radius: 14px; background: var(--uws-soft); }
.uws-notes h4 { margin: 0 0 8px; font-size: 18px; }
.uws-notes ul { margin: 0; padding-left: 20px; }
.uws-notes li { margin: 0 0 8px; line-height: 1.5; font-size: 16px; }
.uws-email { margin-top: 28px; padding-top: 20px; border-top: 1px solid #D5D9E0; }
.uws-email > label { display: block; margin-bottom: 8px; font-weight: 600; }
.uws-email-row { display: flex; flex-wrap: wrap; gap: 12px; }
.uws-email input[type=email] { flex: 1 1 240px; min-height: 48px; padding: 10px 14px; border: 2px solid var(--uws-ink); border-radius: 12px; font: inherit; font-size: 16px; }
.uws-consent { display: flex !important; gap: 10px; align-items: flex-start; margin: 12px 0 0; font-weight: 400 !important; font-size: 14px; color: var(--uws-muted); }
.uws-consent input { margin-top: 3px; width: 18px; height: 18px; flex: none; }
.uws-msg { min-height: 22px; margin: 10px 0 0; font-size: 15px; font-weight: 600; }
.uws-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.uws-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (prefers-reduced-motion: reduce) { .uws-progress-bar, .uws-opt-body { transition: none; } }
