/* IVBC — Questionario Tesi (caricato solo quando necessario). */
.ivbc-tesi-gate[hidden] { display: none !important; }
.ivbc-tesi-gate { position: fixed; inset: 0; z-index: 999999; display: grid; place-items: center; padding: 20px; font-family: "Raleway", sans-serif; }
.ivbc-tesi-gate-backdrop { position: absolute; inset: 0; background: rgba(20,26,36,.65); backdrop-filter: blur(3px); }
.ivbc-tesi-gate-dialog { position: relative; width: 100%; max-width: 520px; max-height: calc(100dvh - 40px); overflow-y: auto; padding: 32px; background: #fff; border-radius: 18px; box-shadow: 0 24px 70px rgba(20,26,36,.25); outline: none; }
.ivbc-tesi-gate-close { position: absolute; right: 17px; top: 15px; width: 36px; height: 36px; border-radius: 50%; border: 1px solid #e0e4e8; background: #fff; color: #30363d; font: 400 26px/1 "Raleway", sans-serif; cursor: pointer; }
.ivbc-tesi-gate-kicker { margin: 0 0 10px !important; font: 700 11px/1.2 "Raleway", sans-serif !important; letter-spacing: .09em; color: #FF0D17 !important; }
.ivbc-tesi-gate h2 { margin: 0 42px 10px 0 !important; color: #292d34 !important; font: 700 27px/1.2 "Raleway", sans-serif !important; }
.ivbc-tesi-gate-dialog > p:not(.ivbc-tesi-gate-kicker) { margin: 0 0 22px !important; color: #5d6570 !important; font: 400 13px/1.65 "Raleway", sans-serif !important; }
.ivbc-tesi-gate form { display: grid; gap: 15px; }
.ivbc-tesi-gate label { display: block; color: #343a42; font: 700 13px/1.4 "Raleway", sans-serif; }
.ivbc-tesi-gate input[type="number"], .ivbc-tesi-gate select { box-sizing: border-box; display: block; width: 100%; min-height: 48px; margin-top: 7px; padding: 0 13px; background: #f8f9fa; border: 1px solid #dfe3e7; border-radius: 8px; color: #292d34; font: 400 14px/1.3 "Raleway", sans-serif; }
.ivbc-tesi-gate input:focus-visible, .ivbc-tesi-gate select:focus-visible, .ivbc-tesi-gate button:focus-visible { outline: 2px solid #FF0D17; outline-offset: 2px; }
.ivbc-tesi-gate .ivbc-tesi-gate-privacy { display: flex; gap: 10px; align-items: flex-start; margin-top: 4px; color: #626a74; font: 400 12px/1.5 "Raleway", sans-serif; }
.ivbc-tesi-gate-privacy input[type="checkbox"] { flex: 0 0 18px; width: 18px; height: 18px; accent-color: #FF0D17; margin-top: 1px; }
.ivbc-tesi-gate-privacy a { color: #FF0D17 !important; text-decoration: underline; }
.ivbc-tesi-gate-error { background: rgba(255,13,23,.05); border: 1px solid #FF0D17; border-radius: 7px; padding: 11px; color: #FF0D17; margin: 0; font: 600 12px/1.4 "Raleway", sans-serif; }
.ivbc-tesi-gate-error[hidden] { display: none; }
.ivbc-tesi-gate-submit { display: flex; justify-content: center; align-items: center; gap: 14px; min-height: 50px; width: 100%; margin-top: 3px; padding: 0 16px; border: 1px solid #FF0D17; border-radius: 8px; background: #FF0D17; color: #fff; font: 700 12px/1.2 "Raleway", sans-serif; cursor: pointer; }
.ivbc-tesi-gate-submit:disabled { opacity: .6; cursor: wait; }
.ivbc-tesi-gate-open { overflow: hidden !important; }
@media (max-width: 767px) { .ivbc-tesi-gate { padding: 12px; } .ivbc-tesi-gate-dialog { padding: 26px 20px 22px; border-radius: 14px; max-height: calc(100dvh - 24px); } .ivbc-tesi-gate h2 { font-size: 23px !important; } }
