:root {
    --crdp-navy: #0c2333;
    --crdp-muted: #64748b;
    --crdp-border: #dbe3ea;
    --crdp-bg: #f4f7fa;
    --crdp-red: #de5d56;
    --crdp-orange: #f2aa43;
    --crdp-green: #88b34d;
}

.crdp-survey-wrap {
    background: var(--crdp-bg);
    padding: 34px 18px 54px;
    border-radius: 18px;
}

.crdp-survey-card {
    max-width: 1050px;
    margin: 0 auto;
    background: #fff;
    border: 1px solid var(--crdp-border);
    border-radius: 18px;
    box-shadow: 0 16px 50px rgba(12, 35, 51, .07);
    overflow: hidden;
}

.crdp-survey-header {
    padding: 34px 38px 30px;
    background: linear-gradient(135deg, #f8fbfd, #eef4f7);
    border-bottom: 1px solid var(--crdp-border);
}

.crdp-kicker {
    display: inline-block;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #416072;
    margin-bottom: 8px;
}

.crdp-survey-header h1 {
    margin: 0 0 12px;
    color: var(--crdp-navy);
    font-size: clamp(30px, 4vw, 45px);
    line-height: 1.08;
}

.crdp-survey-header p {
    color: #334155;
    font-size: 17px;
    line-height: 1.65;
    margin: 8px 0;
}

.crdp-privacy-note {
    margin-top: 16px !important;
    padding: 12px 14px;
    background: #fff7e8;
    border-left: 4px solid var(--crdp-orange);
    border-radius: 8px;
    font-size: 14px !important;
}

.crdp-survey-form { padding: 12px 38px 38px; }
.crdp-section { padding: 28px 0; border-bottom: 1px solid #edf1f4; }
.crdp-section:last-of-type { border-bottom: 0; }
.crdp-section h2 { margin: 0; color: var(--crdp-navy); font-size: 21px; line-height: 1.35; }

.crdp-question-title { display:flex; align-items:flex-start; gap:12px; margin-bottom:18px; }
.crdp-question-number {
    display:inline-grid; place-items:center; flex:0 0 34px; width:34px; height:34px;
    background:var(--crdp-navy); color:#fff; border-radius:50%; font-weight:700;
}

.crdp-two-cols { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.crdp-two-cols label, .crdp-other-wrap label { font-weight:600; color:#334155; }
.crdp-two-cols label span { display:block; margin-bottom:8px; }
.crdp-two-cols input, .crdp-other-wrap input, .crdp-section textarea {
    width:100%; box-sizing:border-box; border:1px solid #cbd5e1; border-radius:10px;
    padding:12px 13px; font:inherit; background:#fff; color:#0f172a;
}
.crdp-two-cols input:focus, .crdp-other-wrap input:focus, .crdp-section textarea:focus {
    outline:none; border-color:#4f7b96; box-shadow:0 0 0 3px rgba(79,123,150,.12);
}

.crdp-choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.crdp-choice { position:relative; cursor:pointer; }
.crdp-choice input { position:absolute; opacity:0; pointer-events:none; }
.crdp-choice span {
    display:flex; align-items:center; min-height:48px; padding:10px 14px 10px 44px;
    border:1px solid var(--crdp-border); border-radius:10px; background:#fff; color:#22313f;
    transition:.18s ease; position:relative;
}
.crdp-choice span:before {
    content:""; position:absolute; left:14px; width:17px; height:17px; border:2px solid #94a3b8;
    border-radius:50%; background:#fff;
}
.crdp-choice input:checked + span { border-color:#285a74; background:#f1f7fa; box-shadow:0 0 0 2px rgba(40,90,116,.08); }
.crdp-choice input:checked + span:before { border:5px solid #285a74; width:11px; height:11px; }

.crdp-other-wrap { display:none; margin-top:14px; }
.crdp-other-wrap.is-visible { display:block; }

.crdp-scale {
    display:grid; grid-template-columns:repeat(var(--items),minmax(72px,1fr)); gap:10px; align-items:stretch;
}
.crdp-scale-option { position:relative; cursor:pointer; min-width:0; }
.crdp-scale-option input { position:absolute; opacity:0; pointer-events:none; }
.crdp-scale-number {
    display:grid; place-items:center; min-height:60px; border-radius:10px; color:#fff; font-size:24px;
    font-weight:500; border:3px solid transparent; transition:.15s ease;
}
.crdp-tone-bad .crdp-scale-number { background:var(--crdp-red); }
.crdp-tone-neutral .crdp-scale-number { background:var(--crdp-orange); }
.crdp-tone-good .crdp-scale-number { background:var(--crdp-green); }
.crdp-scale-option input:checked + .crdp-scale-number {
    border-color:var(--crdp-navy); transform:translateY(-2px); box-shadow:0 7px 18px rgba(12,35,51,.18);
}
.crdp-scale-label { display:block; margin-top:8px; color:#475569; font-size:12px; line-height:1.3; text-align:center; }
.crdp-scale-compact { grid-template-columns:repeat(11,minmax(52px,1fr)); }
.crdp-scale-compact .crdp-scale-number { min-height:54px; font-size:20px; }
.crdp-scale-compact .crdp-scale-label { font-size:10.5px; }

.crdp-consent { display:flex; gap:10px; align-items:flex-start; margin:24px 0; color:#475569; line-height:1.5; }
.crdp-consent input { margin-top:4px; }
.crdp-submit {
    display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:0 26px;
    border:0; border-radius:10px; background:var(--crdp-navy); color:#fff; font-size:17px; font-weight:700;
    cursor:pointer; transition:.18s ease;
}
.crdp-submit:hover { transform:translateY(-1px); filter:brightness(1.08); }
.crdp-alert { margin:24px 38px 0; padding:14px 16px; border-radius:10px; font-weight:600; }
.crdp-alert-error { background:#fff0ef; color:#a62a25; border:1px solid #f2b8b4; }
.crdp-alert-success { background:#eef8e9; color:#3f6d22; border:1px solid #bfdaa9; }
.crdp-hp { position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; }

@media (max-width: 860px) {
    .crdp-survey-header, .crdp-survey-form { padding-left:22px; padding-right:22px; }
    .crdp-two-cols, .crdp-choice-grid { grid-template-columns:1fr; }
    .crdp-scale, .crdp-scale-compact { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .crdp-scale-label { font-size:11px; }
    .crdp-alert { margin-left:22px; margin-right:22px; }
}

@media (max-width: 480px) {
    .crdp-survey-wrap { padding:14px 8px 30px; }
    .crdp-survey-card { border-radius:12px; }
    .crdp-survey-header, .crdp-survey-form { padding-left:16px; padding-right:16px; }
    .crdp-section { padding:22px 0; }
    .crdp-scale, .crdp-scale-compact { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

.crdp-question-help {
    margin: -4px 0 18px 46px;
    color: #475569;
    font-size: 14px;
    line-height: 1.5;
}

.crdp-usefulness-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.crdp-usefulness-option {
    position: relative;
    display: flex;
    align-items: stretch;
    min-height: 76px;
    border: 1px solid var(--crdp-border);
    border-radius: 11px;
    overflow: hidden;
    background: #fff;
    cursor: pointer;
    transition: .16s ease;
}

.crdp-usefulness-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.crdp-usefulness-number {
    display: grid;
    place-items: center;
    flex: 0 0 58px;
    color: #fff;
    font-size: 23px;
    font-weight: 700;
}

.crdp-usefulness-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 3px;
    padding: 10px 13px;
    color: #334155;
    line-height: 1.3;
}

.crdp-usefulness-copy strong { font-size: 13px; }
.crdp-usefulness-copy small { font-size: 12.5px; color: #64748b; }
.crdp-usefulness-option.crdp-tone-bad .crdp-usefulness-number { background: var(--crdp-red); }
.crdp-usefulness-option.crdp-tone-neutral .crdp-usefulness-number { background: var(--crdp-orange); }
.crdp-usefulness-option.crdp-tone-good .crdp-usefulness-number { background: var(--crdp-green); }
.crdp-usefulness-option:has(input:checked) {
    border-color: var(--crdp-navy);
    box-shadow: 0 0 0 2px rgba(12,35,51,.10), 0 7px 18px rgba(12,35,51,.10);
    transform: translateY(-1px);
}

@media (max-width: 700px) {
    .crdp-usefulness-grid { grid-template-columns: 1fr; }
    .crdp-question-help { margin-left: 0; }
}


.crdp-scale-usefulness .crdp-scale-label {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 10px;
    text-align: center;
    font-size: 10.5px;
    line-height: 1.25;
}

.crdp-scale-usefulness .crdp-scale-label strong {
    display: block;
    color: #334155;
    font-size: 11px;
    font-weight: 700;
}

.crdp-scale-usefulness .crdp-scale-label em {
    display: block;
    font-style: normal;
    color: #64748b;
}

@media (max-width: 860px) {
    .crdp-scale-usefulness .crdp-scale-label {
        font-size: 11px;
    }
}


/* CRDP-MULTI-Q2-V150 */

.crdp-multi-help {
    margin: -6px 0 16px 46px;
    color: #64748b;
    font-size: 13px;
    line-height: 1.45;
}

.crdp-choice-multi span:before {
    border-radius: 5px;
}

.crdp-choice-multi input:checked + span:before {
    width: 17px;
    height: 17px;
    border: 2px solid #285a74;
    border-radius: 5px;
    background: #285a74;
}

.crdp-choice-multi input:checked + span:after {
    content: "✓";
    position: absolute;
    left: 18px;
    top: 50%;
    transform: translateY(-50%);
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
}

.crdp-choice-multi input:checked + span {
    border-color: #285a74;
    background: #f1f7fa;
    box-shadow:
        0 0 0 2px
        rgba(40, 90, 116, .08);
}

@media (max-width: 700px) {

    .crdp-multi-help {
        margin-left: 0;
    }
}
