.oc-survey,.oc-survey *{box-sizing:border-box}
.oc-survey{max-width:980px;margin:32px auto;border:1px solid #cfad57;border-radius:20px;overflow:hidden;background:#fffdf8;color:#172e43;font-family:inherit;box-shadow:0 15px 45px #08203a14}
.oc-survey-head{padding:32px;background:linear-gradient(135deg,#071b31,#163959);color:#fff;text-align:center;border-bottom:4px solid #d5ae4c}
.oc-survey-head>span{font-size:14px;color:#f0d489;letter-spacing:1px}
.oc-survey-head h2{font-size:clamp(25px,4vw,36px);line-height:1.45;margin:12px 0;color:#fff!important}
.oc-survey-head p{color:#f6e5b7!important;margin:8px 0;font-size:18px;line-height:1.7}
.oc-survey-intro{padding:24px 30px 0;line-height:1.9}
.oc-survey-intro h3{font-size:20px;color:#183754;margin:0 0 12px}
.oc-survey-form{padding:0 30px 32px}
.oc-survey-section{padding:15px 18px;background:#edf2f7;color:#102c49!important;border-left:4px solid #be9135;border-radius:6px;font-size:20px;margin:26px 0 20px}
.oc-survey fieldset{min-width:0;margin:16px 0;border:1px solid #e2d7ba;border-radius:12px;padding:16px 18px 18px}
.oc-survey legend{float:none;width:auto;max-width:100%;padding:0 8px;color:#1b3349!important;font-size:16px;font-weight:600;line-height:1.9}
.oc-survey-general legend>span{color:#a52227}
.oc-survey-options{display:flex;gap:10px;flex-wrap:wrap}
.oc-survey-options label{display:flex;gap:9px;align-items:center;border:1px solid #c8d2db;background:#fff;border-radius:8px;padding:10px 14px;cursor:pointer;min-height:44px}
.oc-survey input[type=radio]{accent-color:#875b14;width:19px;height:19px;flex-shrink:0;margin:0}
.oc-survey-scale{background:#fff4d9;padding:16px;border:1px solid #ead293;border-radius:10px;line-height:1.8}
.oc-survey-domain{font-size:19px;color:#805913!important;margin:24px 0 16px}
.oc-survey-number{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;border-radius:50%;background:#102e49;color:#fff;margin-right:10px;font-size:14px}
.oc-survey-ratings{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:8px}
.oc-survey-ratings label{position:relative;cursor:pointer;display:flex;align-items:center;gap:7px;border:1px solid #cbd4dc;background:#fff;border-radius:9px;padding:12px 8px;min-height:72px}
.oc-survey-ratings label:has(input:checked),.oc-survey-options label:has(input:checked){border-color:#ad7e20;background:#fff0c9;box-shadow:0 0 0 1px #ad7e20}
.oc-survey-ratings label:focus-within,.oc-survey-options label:focus-within{outline:3px solid #79accc;outline-offset:3px}
.oc-survey-ratings span{display:block;flex:1;text-align:center}
.oc-survey-ratings b{display:block;font-size:22px;color:#18324c}
.oc-survey-ratings small{font-size:13px;line-height:1.6;display:block;color:#364b5f}
.oc-survey-suggestion{display:block;font-weight:600;margin-top:24px;margin-bottom:10px}
.oc-survey textarea{width:100%;padding:14px;border:1px solid #bdc9d2;border-radius:10px;font-family:inherit;background:#fff;color:#1b3349;resize:vertical}
.oc-survey-submit-note{font-size:14px;line-height:1.8;margin:18px 0}
.oc-survey-button{display:inline-block;border:0;background:#123650!important;color:#fff!important;border-radius:10px;padding:14px 24px;font-family:inherit;font-weight:600;font-size:17px;text-decoration:none!important;cursor:pointer;min-height:48px}
.oc-survey-button:hover{background:#245473!important}
.oc-survey-button:focus-visible{outline:3px solid #bc8a26;outline-offset:4px}
.oc-survey-message{padding:36px;text-align:center;line-height:1.9}
.oc-survey-message h3{color:#286843;font-size:24px}
.oc-survey-error{margin:18px 30px;padding:14px;border:1px solid #c94141;background:#fff1f1;color:#9d2121}
@media(max-width:640px){.oc-survey{margin:16px 0;border-radius:12px}.oc-survey-head{padding:24px 16px}.oc-survey-intro{padding:20px 16px 0}.oc-survey-form{padding:0 16px 24px}.oc-survey fieldset{padding:14px 10px}.oc-survey-ratings{gap:5px}.oc-survey-ratings label{flex-direction:column;padding:10px 3px;gap:5px}.oc-survey-ratings small{font-size:11px}.oc-survey-ratings b{font-size:20px}.oc-survey-section{font-size:18px}.oc-survey-button{width:100%;text-align:center}.oc-survey-message{padding:24px 16px}.oc-survey-options label{flex:1 1 auto}}
