/* Approved service-page layout. Loaded after legacy page styles. */
/* v45.24: concise upload presentation; required controls and errors remain. */
.svc-step[data-step="2"] .ftv-form-stephead p,
.svc-step[data-step="2"] .ftv-paste-upload-help,
.svc-step[data-step="2"] .ftv-form-hint{display:none!important}
.svc-step[data-step="2"] label[for^="passport_file_"]{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.svc-step[data-step="2"] .ftv-paste-upload-zone{padding:12px;min-height:0}
.svc-step[data-step="2"] .ftv-form-stephead{margin:18px 0 12px}
.ftv-evisa-detail #q45-airport + small,
.ftv-evisa-detail #q45-inputs > p.q45-small{display:none!important}
.svc-payment-note{font:13px/1.6 Arial,sans-serif;color:#526476;margin:16px 0 0;border-top:1px solid #dce2e8;padding-top:14px}
.svc-recent{width:min(940px,calc(100% - 40px));margin:28px auto;color:#08274d;text-align:center}.svc-recent h2{font:400 26px Georgia,serif}.svc-recent-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.svc-recent article{border:1px solid #dce2e8;border-radius:5px;padding:18px;text-align:left}.svc-recent h3{font:400 20px/1.3 Georgia,serif}.svc-recent p,.svc-recent a{font-size:13px;line-height:1.6}.svc-recent .svc-case-note{font-size:12px;color:#677586}@media(max-width:640px){.svc-recent-grid{grid-template-columns:1fr}}
.ftv-service-detail,.ftv-evisa-detail{font-family:Arial,Helvetica,sans-serif!important}.svc-form-main,.svc-after,.svc-layout>.ftv-price-preview{font-family:Arial,Helvetica,sans-serif}
.ftv-service-detail .ftv-quick-service-card{display:flex!important;flex-direction:column;gap:20px;justify-content:space-between}.ftv-service-detail .ftv-quick-service-price{width:100%;display:flex;align-items:center;flex-wrap:wrap;gap:8px;text-align:left}.ftv-service-detail .ftv-quick-service-price button{margin-left:auto}.svc-inclusions{margin:16px 0;border:1px solid #e0e5eb;padding:12px;border-radius:4px}.svc-inclusions>summary{cursor:pointer;font-size:13px;color:#08274d}
.svc-after{width:min(1180px,calc(100% - 48px));margin:26px auto;display:grid;grid-template-columns:1fr 1fr;gap:24px;color:#08274d}.svc-after>div{padding:24px;border:1px solid #dce2e8;border-radius:5px}.svc-after h2,.svc-evisa-next h2{font:400 26px Georgia,serif}.svc-after ol{padding-left:20px}.svc-after li,.svc-after details{margin:15px 0;font-size:14px}.svc-after p{font-size:13px;color:#606d79;line-height:1.6}.svc-after summary{cursor:pointer}.svc-after details{border-bottom:1px solid #e4e8ec;padding-bottom:14px}.svc-evisa-next{max-width:900px;width:calc(100% - 40px);margin:24px auto;text-align:center;color:#08274d}.svc-evisa-next>div{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;font-size:14px}.svc-evisa-next>a{display:inline-block;margin:18px 0;color:#bd1b24}
.brand-b-header .ftv-menu a{position:relative;display:inline-block;text-decoration:none}
.brand-b-header .ftv-menu a::after{bottom:0!important;height:2px}
.ftv-service-detail .svc-intro,.ftv-evisa-detail .svc-intro{text-align:center;padding:34px 20px 22px;background:white;color:#08274d}
.svc-intro h1{font:400 clamp(32px,3.4vw,48px)/1.15 Georgia,serif!important;letter-spacing:-.7px;margin:0 0 14px!important;color:#08274d!important}
.svc-intro p{font:16px/1.6 Arial,sans-serif;color:#606d79;margin:0 0 12px}.svc-intro small{font:13px/1.5 Arial,sans-serif;color:#526476}
.ftv-service-detail,.ftv-evisa-detail{background:#fff!important}
.ftv-service-detail .ftv-container{width:min(1180px,calc(100% - 48px));max-width:1180px;margin-inline:auto}
.ftv-service-detail .ftv-quick-service-selector{padding:10px 0 24px;background:white}
.ftv-service-detail .ftv-quick-service-head h2{font:400 25px Georgia,serif}.ftv-service-detail .ftv-quick-service-head p{font-size:13px}
.ftv-service-detail .ftv-quick-service-card{border:1px solid #dbe1e7;border-radius:6px;box-shadow:none;background:white;padding:22px;align-items:start}
.ftv-service-detail .ftv-quick-service-card.svc-selected{border:2px solid #e5252d;padding:21px;background:#fff}
.ftv-service-detail .ftv-quick-service-card h3{font:400 22px/1.2 Georgia,serif;color:#08274d}
.ftv-service-detail .ftv-quick-service-card .badge{border-radius:3px;background:#f0f4f8;color:#08274d;font-size:11px}
.ftv-service-detail .ftv-select-book{background:#d91c27;border-radius:3px;box-shadow:none}
.ftv-service-detail .ftv-detail-section{padding:24px 0;background:#fff}
.ftv-service-detail .ftv-booking-card{padding:0;border:0;box-shadow:none;border-radius:0;background:white}
.ftv-service-detail .ftv-booking-head{text-align:left;margin-bottom:18px}.ftv-service-detail .ftv-booking-head h2{font:400 29px/1.25 Georgia,serif;letter-spacing:0}
.ftv-service-detail .ftv-booking-head>.ftv-eyebrow{display:none}
.svc-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:24px;align-items:start}
.svc-form-main{border:1px solid #dce2e8;border-radius:5px;padding:26px;min-width:0}
.svc-steps{display:flex;gap:10px;justify-content:space-between;margin-bottom:24px;scroll-margin-top:20px}
.svc-steps button{border:0;border-bottom:2px solid #e0e5ea;background:none;color:#687482;padding:0 0 12px;font:13px/1.5 Arial,sans-serif;cursor:pointer;text-align:left}
.svc-steps button[aria-current=step]{color:#d91c27;border-color:#d91c27}
.svc-step[hidden],.svc-submit[hidden],.svc-actions button[hidden]{display:none!important}
.svc-step .ftv-form-stephead{margin:12px 0 16px;padding:0}.svc-step .ftv-form-stephead h3{font:400 22px/1.3 Georgia,serif}.svc-step .ftv-form-stepnum{display:none}
.svc-step .ftv-form-stephead p{font-size:13px}
.svc-step .ftv-form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.svc-step .ftv-form-field{min-width:0}.svc-step input,.svc-step select,.svc-step textarea{max-width:100%;min-width:0;box-sizing:border-box;border-radius:4px!important;font-size:16px!important}
.svc-step input[type=date],.svc-step input[type=time],.svc-step input[type=datetime-local]{width:100%;min-width:0;-webkit-appearance:none}
.svc-step .ftv-service-summary{border-radius:4px;box-shadow:none;padding:16px}.svc-step .ftv-service-summary h3{font-size:18px}
.svc-step .ftv-doc-upload-layout{grid-template-columns:1fr}.svc-step .ftv-passenger-docs{max-width:100%;min-width:0}
.svc-layout>.ftv-price-preview{position:sticky;top:24px;margin:0!important;padding:22px!important;border:1px solid #dce2e8!important;border-radius:5px!important;box-shadow:none!important;background:#f8fafc!important;min-width:0}
.svc-layout .ftv-price-preview-head{display:block}.svc-layout .ftv-price-preview-head h3{font:400 25px Georgia,serif!important;color:#08274d}.svc-layout .ftv-price-pill{display:inline-block;margin-top:12px;font-size:11px}
.svc-layout .ftv-price-preview-grid{display:grid!important;grid-template-columns:1fr!important;gap:12px}.svc-layout .ftv-price-preview-item{padding:12px!important;min-width:0}.svc-layout .ftv-price-preview-item strong{font-size:22px!important}.svc-layout .ftv-price-preview-note{font-size:12px}
.svc-actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px}.svc-actions button{border:1px solid #dbe2e8;background:white;color:#08274d;padding:12px 22px;border-radius:3px;font:600 14px Arial,sans-serif;min-height:46px;cursor:pointer}.svc-actions .svc-next{background:#d91c27;color:#fff;border-color:#d91c27;margin-left:auto}
.svc-submit{margin-top:20px}.svc-submit .ftv-submit-wide{border-radius:3px;background:#d91c27;box-shadow:none;min-height:48px}
.ftv-service-detail .ftv-mobile-book-cta{display:none!important}
.ftv-service-detail .ftv-more-info-control{padding:26px 20px}.ftv-service-detail .ftv-more-info-toggle{border-radius:4px;background:white;box-shadow:none}
.ftv-service-detail :focus-visible{outline:3px solid #d91c27;outline-offset:3px}
.ftv-evisa-detail #booking-form{padding:12px 0 28px;background:white!important}
.ftv-evisa-detail #booking-form>.ftv-container{width:min(940px,calc(100% - 40px));max-width:940px;padding:0;margin:auto}
.ftv-evisa-detail .ftv-evisa-form-wrap{max-width:100%;margin:auto}
.ftv-evisa-detail #q45-module .q45-card{border:1px solid #dce2e8;border-radius:6px;box-shadow:0 3px 12px #08274d08;padding:28px}
.ftv-evisa-detail #q45-module h2,.ftv-evisa-detail #q45-module h3{font-family:Georgia,serif;font-weight:400;color:#08274d}
.ftv-evisa-detail #q45-check{width:100%;margin-top:22px;background:#d91c27;border:0;border-radius:4px;color:#fff;min-height:48px}
.ftv-evisa-detail #q45-module .q45-grid>*{min-width:0}.ftv-evisa-detail #q45-module input,.ftv-evisa-detail #q45-module select{min-width:0;max-width:100%;box-sizing:border-box;font-size:16px}
.ftv-evisa-detail #q45-module input[type=datetime-local]{width:100%;-webkit-appearance:none}
.ftv-evisa-detail .evisa-more-wrap>.ftv-container{max-width:940px;margin:auto}.ftv-evisa-detail .evisa-more-summary{border-radius:4px}
@media(max-width:850px){.svc-layout{grid-template-columns:1fr}.svc-layout>.ftv-price-preview{position:static}.ftv-service-detail .ftv-quick-service-card{padding:16px}.ftv-service-detail .ftv-quick-service-card.svc-selected{padding:15px}}
@media(max-width:640px){.svc-after{width:calc(100% - 32px);grid-template-columns:1fr}.svc-evisa-next>div{grid-template-columns:1fr;gap:8px}}
@media(max-width:640px){.ftv-service-detail .ftv-container{width:calc(100% - 32px);padding:0}.svc-intro{padding:24px 16px 18px!important}.svc-intro h1{font-size:32px!important}.svc-form-main{padding:18px}.svc-steps{gap:8px}.svc-steps button{font-size:12px}.svc-step .ftv-form-grid-2{grid-template-columns:1fr}.ftv-evisa-detail #booking-form>.ftv-container{width:calc(100% - 32px)}.ftv-evisa-detail #q45-module .q45-card{padding:18px}.ftv-evisa-detail #q45-module .q45-grid{grid-template-columns:minmax(0,1fr)!important}}
