
/* Compatibility layer for the supplied ISVIR website HTML.
   Kept separate from assets/css/style.css so the existing scoring step stays unchanged. */
:root { --isvir-blue:#076db1; --isvir-navy:#183d75; --isvir-cyan:#0795c8; }
html { scroll-behavior:smooth; }
body.isvir-form-page { background:#f5f9ff; color:#333; font-family:Arial,Helvetica,sans-serif; }
.isvir-page-wrapper { overflow:hidden; background:#fff; }
.main-header { position:relative; z-index:100; background:#fff; border-top:10px solid var(--isvir-blue)!important; }
.main-header .header-top { padding:10px 0; border-bottom:1px solid #eee; }
.main-header .header-top .inner-container { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:0 22px; }
.main-header .contact-list,.main-header .social-icon-one { display:flex; flex-wrap:wrap; gap:16px; list-style:none; margin:0; padding:0; }
.main-header a { color:#333; text-decoration:none; }
.main-header .header-lower { padding:12px 0; }
.main-header .main-box { display:flex; align-items:center; justify-content:space-between; min-height:90px; gap:20px; }
.main-header .logo img { width:210px; max-width:100%; height:auto; }
.main-header .nav-outer { flex:1; }
.main-header .main-menu .navigation { display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:center; gap:0; list-style:none; margin:0; padding:0; }
.main-header .main-menu .navigation > li { position:relative; }
.main-header .main-menu .navigation > li > a,.main-header .main-menu .navigation > li > span { display:block; padding:12px 10px; font-size:13px; font-weight:700; color:#202a36; }
.main-header .main-menu .navigation > li > a:hover { color:var(--isvir-blue); }
.main-header .main-menu .navigation .dropdown-menu { z-index:1100; }
.main-header .outer-box { display:flex; align-items:center; gap:8px; }
.main-header .btn,.main-header .theme-btn { border-radius:3px; }
.main-header .mobile-nav-toggler { display:none; cursor:pointer; font-size:25px; }
.main-footer { background:#102b4e; color:#fff; margin-top:40px; }
.main-footer a { color:inherit; }
.main-footer .widgets-section { padding:38px 0 25px; }
.main-footer .footer-bottom { border-top:1px solid rgba(255,255,255,.18); padding:16px 0; }
.main-footer .footer-bottom .inner-container { padding:0 20px; display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.main-footer img { max-width:170px; height:auto; }
.main-footer ul { list-style:none; padding-left:0; }
.login-section { background:#f5f9ff; padding:10px 0; }
.login-section .auto-container { max-width:1170px; margin:0 auto; padding:0 15px; }
.login-form.contact-form.bg-white { background:#fff!important; padding:25px; border-radius:3px; box-shadow:0 2px 14px rgba(24,61,117,.08); }
.login-form h3,.login-form h1 { font-size:23px; font-weight:700; text-align:center; color:#222; margin:0 0 18px; }
.login-form hr { border-color:#ddd; opacity:1; }
.login-form h6.text-info { font-size:15px; color:var(--isvir-cyan)!important; font-weight:700; margin:18px 0; }
.login-form label { display:inline-block; color:#111; font-weight:700; font-size:13px; margin-bottom:7px; }
.login-form input.form-control,.login-form select.form-control,.login-form select.form-select,.login-form textarea.form-control,
.isvir-form-page .form-step input.form-control,.isvir-form-page .resident-step input.form-control,.isvir-form-page .gold-step input.form-control,.isvir-form-page .young-step input.form-control { min-height:40px; border:1px solid #ddd; border-radius:0; box-shadow:none; font-size:14px; }
.login-form textarea.form-control { min-height:82px; }
.login-form .form-group { margin-bottom:15px; }
.login-form .btn-primary,.isvir-form-page .btn-primary { background:var(--isvir-blue); border-color:var(--isvir-blue); border-radius:2px; }
.login-form .btn-primary:hover,.isvir-form-page .btn-primary:hover { background:#05558b; border-color:#05558b; }
.isvir-form-page .page-shell,.isvir-form-page .resident-card,.isvir-form-page .gold-card,.isvir-form-page .young-card { max-width:1170px; margin:12px auto 24px; }
.isvir-form-page .form-card,.isvir-form-page .resident-card,.isvir-form-page .gold-card,.isvir-form-page .young-card { border-radius:3px; box-shadow:0 2px 14px rgba(24,61,117,.08); }
.isvir-form-page .page-title,.isvir-form-page .resident-title,.isvir-form-page .gold-title,.isvir-form-page .young-title { color:#222; font-size:23px; font-weight:700; }
.isvir-form-page .section-kicker,.isvir-form-page .resident-section h2,.isvir-form-page .gold-section h2,.isvir-form-page .young-section h2 { color:var(--isvir-cyan); }
.isvir-form-page .form-control:focus,.isvir-form-page .form-select:focus { border-color:#8bbbd9; box-shadow:0 0 0 .15rem rgba(7,109,177,.12); }
.isvir-form-page .select2-container { width:100%!important; }
.isvir-form-page .select2-container--default .select2-selection--single { border:1px solid #ddd; border-radius:0; height:40px; }
.isvir-form-page .select2-container--default .select2-selection--single .select2-selection__rendered { line-height:38px; padding-left:12px; }
.isvir-form-page .select2-container--default .select2-selection--single .select2-selection__arrow { height:38px; }
.isvir-form-page .step-actions,.isvir-form-page .form-actions { margin-top:24px; }
@media(max-width:991px) {
 .main-header .header-top .inner-container { display:block; }
 .main-header .main-box { min-height:70px; }
 .main-header .main-menu .navigation { justify-content:flex-start; }
 .main-header .main-menu .navigation > li > a { padding:10px 7px; }
 .main-header .mobile-nav-toggler { display:block; }
}
@media(max-width:767px) {
 .main-header .header-top .inner-container { padding:0 12px; }
 .main-header .contact-list { gap:8px; font-size:12px; }
 .main-header .header-lower { padding:8px 0; }
 .main-header .main-box { padding:0 12px!important; height:auto!important; }
 .main-header .logo img { width:150px; }
 .login-form.contact-form.bg-white { padding:15px; }
 .isvir-form-page .page-shell,.isvir-form-page .resident-card,.isvir-form-page .gold-card,.isvir-form-page .young-card { margin:8px; padding:16px; }
 .main-footer .footer-bottom .inner-container { padding:0 12px; }
}
