:root {
  --cvr-red: #c8102e;
  --cvr-red-dark: #9f0d25;
  --cvr-ink: #111827;
  --cvr-muted: #6b7280;
  --cvr-line: #e5e7eb;
  --cvr-soft: #f7f8fb;
  --cvr-card: #ffffff;
  --cvr-radius: 24px;
  --cvr-shadow: 0 22px 60px rgba(17, 24, 39, .11);
}

.cvr-survey, .cvr-survey * { box-sizing: border-box; }
.cvr-survey {
  max-width: 1120px;
  margin: 0 auto;
  color: var(--cvr-ink);
  font-family: inherit;
}
.cvr-hp { position:absolute !important; left:-9999px !important; opacity:0 !important; height:0 !important; width:0 !important; }

.cvr-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(28px, 5vw, 58px);
  border-radius: 32px;
  background:
    radial-gradient(circle at top right, rgba(200,16,46,.18), transparent 34%),
    linear-gradient(135deg, #171717, #2b2f38 62%, #111827);
  color: #fff;
  box-shadow: var(--cvr-shadow);
  margin-bottom: 20px;
}
.cvr-kicker {
  display: inline-flex;
  padding: 7px 12px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px;
  color: rgba(255,255,255,.86);
  font-size: 13px;
  margin-bottom: 16px;
}
.cvr-hero h2 { color:#fff; margin:0 0 12px; font-size: clamp(30px, 5vw, 54px); line-height:1.02; letter-spacing:-.04em; }
.cvr-hero p { max-width: 760px; color: rgba(255,255,255,.82); font-size: clamp(16px, 2vw, 19px); margin:0; }
.cvr-hero__chips { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.cvr-hero__chips span { background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.18); padding:9px 12px; border-radius:999px; font-size:13px; }

.cvr-steps { display:grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 18px 0; }
.cvr-steps span { background:#fff; border:1px solid var(--cvr-line); border-radius:16px; padding:13px 14px; color:var(--cvr-muted); font-weight:700; font-size:14px; text-align:center; }
.cvr-steps .is-active { color:var(--cvr-red); border-color:rgba(200,16,46,.25); background:rgba(200,16,46,.05); }

.cvr-card {
  background: var(--cvr-card);
  border: 1px solid rgba(17,24,39,.08);
  border-radius: var(--cvr-radius);
  box-shadow: 0 16px 42px rgba(17,24,39,.07);
  padding: clamp(20px, 3vw, 34px);
  margin-bottom: 18px;
}
.cvr-section-head { display:flex; justify-content:space-between; gap:24px; align-items:flex-start; margin-bottom:22px; }
.cvr-section-head h3 { margin: 5px 0 0; font-size: clamp(22px, 3vw, 30px); letter-spacing:-.03em; }
.cvr-section-head p { margin: 8px 0 0; color: var(--cvr-muted); max-width: 420px; }
.cvr-section-number { display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:13px; background:rgba(200,16,46,.09); color:var(--cvr-red); font-weight:900; }

.cvr-grid { display:grid; gap:16px; }
.cvr-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cvr-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cvr-field { display:flex; flex-direction:column; gap:7px; font-size:14px; font-weight:800; color:#374151; }
.cvr-field--full { margin-top:16px; }
.cvr-field input, .cvr-field textarea, .cvr-field select, .cvr-dims input {
  width:100%; border:1px solid #d7dbe3; background:#fff; color:var(--cvr-ink); border-radius:14px; padding:13px 14px; font:inherit; font-weight:500; outline:none;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.cvr-field input:focus, .cvr-field textarea:focus, .cvr-field select:focus, .cvr-dims input:focus { border-color:var(--cvr-red); box-shadow:0 0 0 4px rgba(200,16,46,.10); }

.cvr-cover-list { display:flex; flex-direction:column; gap:14px; }
.cvr-line { border:1px solid var(--cvr-line); border-radius:22px; background:linear-gradient(180deg,#fff,#fbfbfd); overflow:hidden; }
.cvr-line__head { width:100%; border:0; background:transparent; display:grid; grid-template-columns:auto 1fr auto; gap:14px; align-items:center; padding:16px 18px; cursor:pointer; text-align:left; color:var(--cvr-ink); }
.cvr-line__badge { display:inline-flex; align-items:center; padding:8px 11px; border-radius:999px; background:var(--cvr-red); color:#fff; font-weight:900; font-size:13px; }
.cvr-line__summary { color:#374151; font-weight:800; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cvr-line__chev { font-size:22px; transition:transform .18s ease; }
.cvr-line.is-collapsed .cvr-line__body { display:none; }
.cvr-line.is-collapsed .cvr-line__chev { transform:rotate(-90deg); }
.cvr-line__body { padding: 0 18px 18px; }

.cvr-dims { display:grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap:12px; margin:16px 0; }
.cvr-dims label { font-size:13px; font-weight:900; color:#374151; display:flex; flex-direction:column; gap:7px; }

.cvr-builder { border:1px solid rgba(200,16,46,.15); border-radius:20px; padding:16px; background:linear-gradient(180deg, rgba(200,16,46,.045), rgba(255,255,255,.8)); margin:16px 0; }
.cvr-builder__title { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:14px; }
.cvr-builder__title h4 { margin:0; font-size:18px; }
.cvr-builder__title span { background:#111827; color:#fff; padding:7px 10px; border-radius:999px; font-size:12px; font-weight:900; white-space:nowrap; }
.cvr-choice-group { display:flex; align-items:center; flex-wrap:wrap; gap:9px; margin-bottom:14px; }
.cvr-choice-group > span { font-weight:900; margin-right:6px; }
.cvr-choice-group label { display:inline-flex; align-items:center; gap:7px; border:1px solid var(--cvr-line); background:#fff; padding:9px 12px; border-radius:999px; font-weight:800; cursor:pointer; }
.cvr-choice-group input { accent-color: var(--cvr-red); }

.cvr-upload { display:flex; flex-direction:column; gap:8px; padding:16px; margin-top:16px; border:1px dashed #c7ccd6; border-radius:18px; background:var(--cvr-soft); font-weight:900; }
.cvr-upload span { color:var(--cvr-muted); font-size:13px; font-weight:500; }
.cvr-upload input { width:100%; }

.cvr-line__actions, .cvr-actions, .cvr-submit-row { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.cvr-line__actions { justify-content:flex-end; margin-top:16px; }
.cvr-actions--split { justify-content:space-between; margin-top:18px; }
.cvr-btn, .cvr-mini-btn { border:0; cursor:pointer; border-radius:999px; font-weight:900; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.cvr-btn { padding:13px 18px; font-size:15px; }
.cvr-mini-btn { padding:9px 13px; background:#f3f4f6; color:#111827; }
.cvr-btn:hover, .cvr-mini-btn:hover { transform:translateY(-1px); }
.cvr-btn--primary { background:var(--cvr-red); color:#fff; box-shadow:0 12px 28px rgba(200,16,46,.23); }
.cvr-btn--primary:hover { background:var(--cvr-red-dark); }
.cvr-btn--secondary { background:#111827; color:#fff; }
.cvr-btn--ghost { background:#f3f4f6; color:#111827; }
.cvr-mini-btn--danger { color:#b91c1c; background:#fee2e2; }

.cvr-review { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:14px; margin-bottom:18px; }
.cvr-review > div { padding:18px; border-radius:20px; background:var(--cvr-soft); border:1px solid var(--cvr-line); }
.cvr-review strong { display:block; font-size:24px; letter-spacing:-.03em; }
.cvr-review span { display:block; color:var(--cvr-muted); font-size:13px; margin-top:4px; }
.cvr-turnstile { margin: 18px 0; }
.cvr-submit-row { margin-top:18px; }

@media (max-width: 760px) {
  .cvr-steps, .cvr-grid--2, .cvr-grid--3, .cvr-review { grid-template-columns:1fr; }
  .cvr-section-head { display:block; }
  .cvr-dims { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cvr-builder__title { display:block; }
  .cvr-builder__title span { display:inline-flex; margin-top:10px; max-width:100%; white-space:normal; word-break:break-word; }
  .cvr-line__head { grid-template-columns:1fr auto; }
  .cvr-line__badge { grid-column:1 / -1; width:max-content; }
}

/* v7.2 customer-friendly polish */
.cvr-survey {
  --cvr-radius: 20px;
  background: linear-gradient(180deg, rgba(247,248,251,.9), rgba(255,255,255,0));
  border-radius: 30px;
  padding: clamp(8px, 2vw, 18px);
}
.cvr-hero {
  padding: clamp(24px, 4vw, 44px);
  border-radius: 26px;
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.16), transparent 34%),
    linear-gradient(135deg, #141821, #2b2f38 58%, #c8102e 150%);
  box-shadow: 0 20px 48px rgba(17,24,39,.14);
}
.cvr-hero h2 { font-size: clamp(28px, 4vw, 44px); letter-spacing: -.035em; }
.cvr-kicker { background: rgba(255,255,255,.1); }
.cvr-hero__chips span { background: rgba(255,255,255,.14); }
.cvr-steps { display:none; }
.cvr-card {
  border-radius: 22px;
  box-shadow: 0 10px 26px rgba(17,24,39,.055);
  border-color: rgba(17,24,39,.075);
}
.cvr-section-head {
  border-bottom: 1px solid rgba(17,24,39,.07);
  padding-bottom: 16px;
  margin-bottom: 20px;
}
.cvr-section-head h3 { font-size: clamp(21px, 2.5vw, 27px); }
.cvr-section-number {
  width: 34px;
  height: 34px;
  border-radius: 12px;
}
.cvr-field input,
.cvr-field textarea,
.cvr-field select,
.cvr-dims input {
  border-radius: 12px;
  padding: 12px 13px;
  background: #fcfcfd;
}
.cvr-line {
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 7px 18px rgba(17,24,39,.045);
}
.cvr-line:not(.is-collapsed) {
  border-color: rgba(200,16,46,.25);
  box-shadow: 0 12px 30px rgba(200,16,46,.08);
}
.cvr-line__head {
  grid-template-columns: auto 1fr auto;
  padding: 15px 16px;
}
.cvr-line__badge {
  background: #111827;
  border-radius: 12px;
  padding: 8px 10px;
}
.cvr-line:not(.is-collapsed) .cvr-line__badge { background: var(--cvr-red); }
.cvr-line__summary {
  display: flex;
  flex-direction: column;
  gap: 3px;
  white-space: normal;
  line-height: 1.25;
}
.cvr-line__summary strong {
  font-size: 15px;
  color: #111827;
}
.cvr-line__summary small {
  font-size: 12.5px;
  color: #6b7280;
  font-weight: 700;
}
.cvr-line__chev {
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: #f3f4f6;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
}
.cvr-line__body { padding: 2px 16px 16px; }
.cvr-dims { margin: 14px 0; }
.cvr-builder,
.cvr-extra {
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  background: #fafafa;
  margin: 14px 0;
  padding: 0;
  overflow: hidden;
}
.cvr-builder[open],
.cvr-extra[open] {
  background: #fff;
  border-color: rgba(200,16,46,.22);
}
.cvr-builder__title,
.cvr-extra summary {
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin: 0;
  padding: 13px 14px;
  cursor: pointer;
  color: #111827;
  font-weight: 900;
}
.cvr-builder__title::-webkit-details-marker,
.cvr-extra summary::-webkit-details-marker { display:none; }
.cvr-builder__title::after,
.cvr-extra summary::after {
  content: 'Open';
  font-size: 12px;
  color: var(--cvr-red);
  background: rgba(200,16,46,.08);
  padding: 6px 9px;
  border-radius: 999px;
}
.cvr-builder[open] .cvr-builder__title::after,
.cvr-extra[open] summary::after { content: 'Close'; }
.cvr-builder__title strong {
  margin-left: auto;
  background:#111827;
  color:#fff;
  padding:7px 10px;
  border-radius:999px;
  font-size:11px;
  line-height:1;
  white-space:nowrap;
}
.cvr-builder .cvr-choice-group,
.cvr-builder .cvr-grid,
.cvr-extra .cvr-grid {
  padding: 0 14px 14px;
}
.cvr-choice-group {
  border: 0;
  background: transparent;
}
.cvr-upload {
  border-radius: 16px;
  background: linear-gradient(180deg, #f9fafb, #fff);
  padding: 14px;
}
.cvr-actions--split,
.cvr-submit-row { justify-content: flex-start; }
.cvr-btn,
.cvr-mini-btn { border-radius: 14px; }
.cvr-btn--secondary { background: var(--cvr-red); color: #fff; }
.cvr-btn--ghost { background: #fff; border: 1px solid #e5e7eb; }
.cvr-review > div { border-radius: 16px; }

@media (max-width: 760px) {
  .cvr-survey { padding: 0; }
  .cvr-line__head { grid-template-columns: auto 1fr auto; gap: 10px; }
  .cvr-line__badge { grid-column: auto; }
  .cvr-builder__title { display:flex; }
  .cvr-builder__title strong { max-width: 100%; white-space: normal; word-break: break-word; }
}


/* v7.3 button/readability fixes */
.cvr-survey .cvr-btn,
.cvr-survey .cvr-mini-btn {
  text-decoration: none !important;
  line-height: 1.15;
}
.cvr-survey .cvr-btn--secondary,
.cvr-survey .cvr-btn--secondary:visited,
.cvr-survey .cvr-btn--secondary:hover,
.cvr-survey .cvr-btn--secondary:focus {
  background: var(--cvr-red) !important;
  color: #ffffff !important;
  border: 1px solid var(--cvr-red) !important;
  box-shadow: 0 10px 24px rgba(200,16,46,.20);
}
.cvr-survey .cvr-btn--secondary:hover,
.cvr-survey .cvr-btn--secondary:focus {
  background: var(--cvr-red-dark) !important;
  border-color: var(--cvr-red-dark) !important;
}
.cvr-survey .cvr-btn--ghost,
.cvr-survey .cvr-btn--ghost:visited,
.cvr-survey .cvr-mini-btn,
.cvr-survey .cvr-mini-btn:visited {
  background: #111827 !important;
  color: #ffffff !important;
  border: 1px solid #111827 !important;
}
.cvr-survey .cvr-btn--ghost:hover,
.cvr-survey .cvr-btn--ghost:focus,
.cvr-survey .cvr-mini-btn:hover,
.cvr-survey .cvr-mini-btn:focus {
  background: #374151 !important;
  color: #ffffff !important;
  border-color: #374151 !important;
}
.cvr-survey .cvr-mini-btn--danger,
.cvr-survey .cvr-mini-btn--danger:visited {
  background: #fee2e2 !important;
  color: #991b1b !important;
  border: 1px solid #fecaca !important;
}
.cvr-survey .cvr-mini-btn--danger:hover,
.cvr-survey .cvr-mini-btn--danger:focus {
  background: #b91c1c !important;
  color: #ffffff !important;
  border-color: #b91c1c !important;
}
.cvr-survey .cvr-btn--primary:hover,
.cvr-survey .cvr-btn--primary:focus {
  color: #ffffff !important;
}
