
/* Visa Forms custom styling - added without changing existing HS Travels design */
.visa-home-section { padding-top: 5px; margin-top: 28px; }
.visa-home-banner-link { display:block; max-width: 900px; width: 86%; margin: 0 auto; border-radius: 8px; overflow:hidden; box-shadow: 0 10px 28px rgba(0,0,0,0.15); border:1px solid rgba(255,255,255,0.45); }
.visa-home-banner-link:hover { opacity: 0.97; transform: translateY(-1px); box-shadow: 0 12px 32px rgba(0,0,0,0.18); }
.visa-home-banner-img { width:100%; height:auto; display:block; }
.visa-page-wrapper { padding: 35px 0 15px 0; }
.visa-intro-text { color:#666; font-size:15px; line-height:1.8; margin-bottom:25px; }
.visa-card { background:#fff; border:1px solid #e5e8ef; margin-bottom:30px; box-shadow:0 8px 20px rgba(0,0,0,0.06); transition:all .25s ease; }
.visa-card:hover { transform:translateY(-3px); box-shadow:0 12px 26px rgba(0,0,0,0.12); }
.visa-card img { width:100%; display:block; }
.visa-card-body { padding:20px; text-align:center; }
.visa-card-body h4 { color:#152a55; font-weight:bold; margin-top:0; margin-bottom:10px; }
.visa-card-body p { color:#666; min-height:45px; }
.visa-btn { display:inline-block; background:#f8b237; color:#11254e !important; font-weight:bold; padding:10px 22px; border-radius:4px; text-transform:uppercase; }
.visa-btn:hover { background:#eaa226; color:#11254e !important; text-decoration:none; }
.web-checkin-home-action { margin-top:18px; }
.web-checkin-footer-action { margin-top:18px; text-align:center; }
.web-checkin-btn { min-width:170px; text-align:center; }
.visa-form-panel { background:#fff; border:1px solid #e7eaf0; box-shadow:0 8px 28px rgba(0,0,0,0.08); margin-bottom:35px; }
.visa-form-header { background:#142d60; color:#fff; padding:24px 28px; border-bottom:4px solid #f8b237; }
.visa-form-header h2 { margin:0 0 6px 0; color:#fff; font-size:28px; }
.visa-form-header p { margin:0; color:#dce6fb; }
.visa-form-body { padding:26px 28px 30px; }
.visa-section-title { color:#152a55; font-weight:bold; font-size:20px; margin:22px 0 18px; padding:10px 12px; background:#f4f6fa; border-left:5px solid #f8b237; }
.visa-section-title:first-child { margin-top:0; }
.visa-form-body label { color:#333; font-weight:bold; font-size:13px; }
.visa-form-body .form-control { border-radius:3px; box-shadow:none; min-height:40px; }
.visa-form-body textarea.form-control { min-height:90px; }
.visa-required { color:#d33232; }
.visa-captcha-box { display:inline-block; letter-spacing:4px; font-weight:bold; color:#142d60; background:#fff5d8; border:1px dashed #c58b1f; padding:9px 16px; border-radius:4px; font-size:20px; margin-right:10px; }
.visa-alert { padding:15px 18px; border-radius:4px; margin-bottom:25px; }
.visa-alert-success { background:#e8f7ef; border:1px solid #b7e2c8; color:#24663e; }
.visa-alert-error { background:#fff0f0; border:1px solid #f2c2c2; color:#a22a2a; }
.visa-note { background:#f8fafc; border:1px solid #e6ebf2; padding:14px 16px; color:#666; margin-top:15px; }
.country-row .form-group { margin-bottom:12px; }
.requirements-panel { background:#fff; border:1px solid #dde5f0; box-shadow:0 14px 38px rgba(20,45,96,0.12); margin-bottom:38px; border-radius:6px; overflow:hidden; font-family:"Muli","Segoe UI",Arial,sans-serif; }
.requirements-heading { background:#142d60; color:#fff; padding:30px 34px 28px; border-bottom:5px solid #f8b237; }
.requirements-heading h2 { margin:0 0 8px; color:#fff; font-size:31px; line-height:1.25; text-transform:uppercase; letter-spacing:0; }
.requirements-heading p { margin:0; color:#dce6fb; font-size:17px; line-height:1.7; }
.requirements-body { padding:38px 42px 42px; background:#fbfcff; }
.requirements-section { margin-bottom:38px; padding-bottom:4px; }
.requirements-section h3 { color:#152a55; font-weight:bold; font-size:23px; line-height:1.35; margin:0 0 22px; padding:0 0 13px; border-bottom:1px solid #dfe7f2; position:relative; }
.requirements-section h3:after { content:""; position:absolute; left:0; bottom:-1px; width:82px; height:3px; background:#f8b237; }
.requirements-section h4 { color:#152a55; font-weight:bold; font-size:20px; line-height:1.4; margin:34px 0 16px; }
.requirements-list { margin:0; padding-left:24px; color:#4f5c6f; line-height:1.9; }
.requirements-list li { margin-bottom:13px; padding-left:4px; }
.requirements-list ul { margin-top:10px; padding-left:22px; }
.requirements-list ul li { margin-bottom:8px; }
.requirements-table { width:100%; border-collapse:separate; border-spacing:0 10px; margin:0 0 6px; }
.requirements-table td { background:#fff; border:1px solid #dfe7f2; border-left:5px solid #f8b237; box-shadow:0 5px 14px rgba(20,45,96,0.05); color:#3f4c5f; font-size:17px; line-height:1.75; padding:16px 19px; vertical-align:top; }
.requirements-subitem { display:block; color:#536278; font-size:16px; line-height:1.65; margin-top:8px; padding-left:16px; position:relative; }
.requirements-subitem:before { content:""; position:absolute; left:0; top:12px; width:6px; height:6px; border-radius:50%; background:#f8b237; }
.requirements-copy { background:#fff; border:1px solid #dfe7f2; border-left:5px solid #f8b237; box-shadow:0 5px 14px rgba(20,45,96,0.05); color:#3f4c5f; font-size:17px; line-height:1.8; margin:0 0 14px; padding:16px 19px; }
.requirements-divider { height:1px; background:#dfe7f2; margin:30px 0 32px; }
.requirements-actions { margin-top:30px; padding-top:10px; text-align:center; }
.web-checkin-panel { background:#fff; border:1px solid #dde5f0; box-shadow:0 14px 38px rgba(20,45,96,0.12); margin-bottom:38px; border-radius:6px; overflow:hidden; font-family:"Muli","Segoe UI",Arial,sans-serif; }
.web-checkin-head { background:#142d60; color:#fff; padding:28px 34px; border-bottom:5px solid #f8b237; }
.web-checkin-head h2 { margin:0 0 8px; color:#fff; font-size:31px; line-height:1.25; text-transform:uppercase; letter-spacing:0; }
.web-checkin-head p { margin:0; color:#dce6fb; font-size:16px; line-height:1.7; }
.web-checkin-body { padding:34px 38px 40px; background:#fbfcff; }
.web-checkin-table { width:100%; border-collapse:separate; border-spacing:0 10px; }
.web-checkin-table th { background:#eef3fa; color:#152a55; font-size:16px; line-height:1.5; padding:14px 16px; text-transform:uppercase; }
.web-checkin-table td { background:#fff; border-top:1px solid #dfe7f2; border-bottom:1px solid #dfe7f2; color:#3f4c5f; font-size:16px; line-height:1.6; padding:15px 16px; vertical-align:middle; }
.web-checkin-table td:first-child { border-left:5px solid #f8b237; font-weight:bold; color:#152a55; }
.web-checkin-table td:last-child { border-right:1px solid #dfe7f2; text-align:center; }
.web-checkin-link { display:inline-block; background:#f8b237; color:#11254e !important; font-weight:bold; padding:8px 16px; border-radius:4px; text-transform:uppercase; white-space:nowrap; }
.web-checkin-link:hover { background:#eaa226; color:#11254e !important; text-decoration:none; }
.web-checkin-note { background:#fff; border:1px solid #dfe7f2; border-left:5px solid #f8b237; color:#4f5c6f; font-size:16px; line-height:1.8; margin:0 0 22px; padding:16px 18px; }
@media(max-width:767px){
    .visa-home-banner-link { width: 100%; max-width: none; }
    .visa-form-header h2 { font-size:23px; }
    .visa-form-body { padding:20px 15px; }
    .visa-section-title { font-size:17px; }
    .requirements-heading { padding:23px 18px 21px; }
    .requirements-heading h2 { font-size:22px; }
    .requirements-heading p { font-size:15px; }
    .requirements-body { padding:24px 18px 28px; }
    .requirements-section { margin-bottom:28px; }
    .requirements-section h3 { font-size:18px; }
    .requirements-section h4 { font-size:16px; margin-top:24px; }
    .requirements-list { padding-left:20px; }
    .requirements-table td, .requirements-copy { font-size:15px; padding:13px 14px; }
    .requirements-subitem { font-size:14px; }
    .web-checkin-body { padding:22px 14px 26px; }
    .web-checkin-head { padding:23px 18px 21px; }
    .web-checkin-head h2 { font-size:22px; }
    .web-checkin-table th { display:none; }
    .web-checkin-table, .web-checkin-table tbody, .web-checkin-table tr, .web-checkin-table td { display:block; width:100%; }
    .web-checkin-table tr { margin-bottom:13px; }
    .web-checkin-table td { border:1px solid #dfe7f2; border-top:0; font-size:15px; padding:12px 14px; }
    .web-checkin-table td:first-child { border-top:1px solid #dfe7f2; border-left:5px solid #f8b237; }
    .web-checkin-table td:last-child { text-align:left; }
}

.visa-travel-row { margin-bottom: 0; }
.visa-travel-buttons { display:flex; gap:6px; align-items:center; }
.visa-travel-add, .visa-travel-remove { width:36px; height:36px; border:0; border-radius:4px; font-weight:bold; font-size:20px; line-height:1; cursor:pointer; }
.visa-travel-add { background:#f8b237; color:#11254e; }
.visa-travel-remove { background:#e9edf5; color:#11254e; }
.visa-travel-help { display:block; margin-top:-2px; margin-bottom:15px; color:#666; }
@media(max-width:767px){
    .visa-travel-buttons { margin-top:-5px; margin-bottom:10px; }
}
