/* Estensione coupon: stessa palette e geometria dei moduli AFF e callback. */
.sce-modal { padding:24px; }
.sce-modal .sce-modal__backdrop { background:rgba(8,38,53,.72);backdrop-filter:blur(5px); }
.sce-modal .sce-modal__dialog {
    display:flex;flex-direction:column;width:min(700px,100%);min-height:0;max-height:calc(100dvh - 48px);
    padding:0;overflow:hidden;border:1px solid #ffffff8c;border-radius:24px;
    background:#fff;color:#102d40;box-shadow:0 24px 80px #0826354d;
}
.sce-modal .sce-modal__close {
    top:20px;right:20px;width:44px;height:44px;min-height:44px;padding:0;
    display:grid;place-items:center;border:1px solid #ffffff80;border-radius:12px;
    background:#ffffff1a;color:#fff;font-size:28px;z-index:3;
}
.sce-modal .sce-modal__close:hover { background:#ffffff38; }
.sce-modal .sce-modal__steps {
    flex-shrink:0;max-width:none;width:100%;margin:0;padding:26px 76px 14px 28px;
    background:linear-gradient(115deg,#0a5f91,#0877a3);
}
.sce-modal .sce-modal__steps span { background:#ffffff26;color:#fff;border:1px solid #ffffff70; }
.sce-modal .sce-modal__steps span.is-active { background:#f59e0b;border-color:#f59e0b;color:#082635; }
.sce-modal .sce-modal__steps i { flex:0 1 48px;background:#ffffff70; }
.sce-modal .sce-modal__panel {
    min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 28px 28px;
    font-size:16px;line-height:1.6;
}
.sce-modal .sce-modal__header {
    margin:0 -28px 24px;padding:0 28px 24px;
    background:linear-gradient(115deg,#0a5f91,#0877a3);
}
.sce-modal .sce-modal__header .sce-eyebrow { color:#d9f2ff;font-size:12px;line-height:1.4;letter-spacing:.07em;margin:0 0 8px; }
.sce-modal .sce-modal__header h2 { color:#fff;margin:0;font-size:clamp(24px,3vw,30px);font-weight:800;line-height:1.15;letter-spacing:-.025em; }
.sce-modal .sce-modal__panel > p { color:#405968;font-size:15px;line-height:1.6; }
.sce-modal .sce-modal__panel form { margin-top:20px; }
.sce-modal .sce-modal__panel label:not(.sce-modal__consent) { font-size:14px;color:#102d40; }
.sce-modal .sce-modal__panel input[type=text] {
    min-height:52px;padding:12px;border:1px solid #b8ceda;border-radius:10px;
    background:#fbfdff;color:#102d40;font-size:16px;
}
.sce-modal .sce-modal__panel input[type=text]:focus { outline:none;background:#fff;border-color:#086b9c;box-shadow:0 0 0 3px #086b9c24; }
.sce-modal .sce-button {
    width:100%;min-height:52px;align-items:center;border-radius:12px;background:#f59e0b;
    color:#082635!important;font-size:16px;font-weight:800;box-shadow:0 6px 16px #0826351f;
}
.sce-modal .sce-button:hover { background:#fbbf24; }
.sce-modal .sce-button--secondary { width:auto;background:#fff;color:#075f86!important;border:1px solid #b8ceda;box-shadow:none; }
.sce-modal .sce-button--secondary:hover { background:#edf8fb; }
.sce-modal .sce-modal__consent { gap:12px;padding:14px;border:1px solid #d2e5ee;border-radius:12px;background:#f4fafc;font-size:13px;line-height:1.6; }
.sce-modal .sce-modal__consent input { flex-shrink:0;width:20px;height:20px;margin-top:2px;accent-color:#086b9c; }
.sce-modal .sce-modal__message { font-size:14px;line-height:1.5; }
.sce-modal .sce-modal__message:empty { min-height:0;margin:0 0 16px; }
.sce-modal .sce-modal__message.is-error { padding:10px 12px;background:#fdecea;border-radius:9px; }
.sce-modal :is(button,input[type=checkbox],a):focus-visible { outline:3px solid #086b9c;outline-offset:3px; }
.sce-modal .sce-modal__close:focus-visible { outline-color:#f59e0b; }
@media(max-width:600px) {
    .sce-modal { padding:12px; }
    .sce-modal .sce-modal__dialog { max-height:calc(100dvh - 24px);border-radius:20px; }
    .sce-modal .sce-modal__steps { padding:20px 68px 14px 20px; }
    .sce-modal .sce-modal__close { top:14px;right:12px; }
    .sce-modal .sce-modal__panel { padding:0 20px 20px; }
    .sce-modal .sce-modal__header { margin:0 -20px 20px;padding:0 20px 20px; }
    .sce-modal .sce-modal__actions { flex-direction:column-reverse;align-items:stretch; }
    .sce-modal .sce-button--secondary { width:100%; }
}
