/* v1136AC — compact, hierarchy-first layout for Speed Up and eVisa Correction request forms. */

/* ---------- Shared page shell ---------- */
body.speedup-page-v787CQ main.section{
  padding:32px 0 42px !important;
}
body.speedup-page-v787CQ .speedup-shell{
  max-width:1080px !important;
}
body.speedup-page-v787CQ .speedup-card{
  padding:20px !important;
  border-radius:20px !important;
  box-shadow:0 14px 36px rgba(15,23,42,.075) !important;
}
body.speedup-page-v787CQ .speedup-step>.eyebrow{
  padding:5px 9px !important;
  font-size:10.5px !important;
  line-height:1.1 !important;
}
body.speedup-page-v787CQ .speedup-step>h2{
  margin:8px 0 6px !important;
  font-size:clamp(24px,2.6vw,32px) !important;
  line-height:1.12 !important;
  letter-spacing:-.035em !important;
}
body.speedup-page-v787CQ .speedup-step>p.muted{
  max-width:820px;
  margin:0 0 12px !important;
  font-size:13px !important;
  line-height:1.5 !important;
}

/* ---------- Compact hero ---------- */
body.speedup-page-v787CQ .speedup-hero{
  padding:38px 0 28px !important;
}
body.speedup-page-v787CQ .speedup-hero-grid{
  grid-template-columns:minmax(0,1.5fr) minmax(250px,.5fr) !important;
  gap:20px !important;
  align-items:center !important;
}
body.speedup-page-v787CQ .speedup-hero h1{
  max-width:820px !important;
  margin:8px 0 10px !important;
  font-size:clamp(32px,4.25vw,50px) !important;
  line-height:1.02 !important;
  letter-spacing:-.045em !important;
}
body.speedup-page-v787CQ .speedup-hero .muted{
  max-width:850px !important;
  margin:0 !important;
  font-size:15px !important;
  line-height:1.55 !important;
}
body.speedup-page-v787CQ .speedup-form-back-v787GS{
  margin:0 0 9px !important;
  font-size:12px !important;
}
body.speedup-page-v787CQ .speedup-hero-card{
  padding:15px 16px !important;
  border-radius:16px !important;
}
body.speedup-page-v787CQ .speedup-hero-card strong{
  display:block;
  margin:0 0 3px !important;
  font-size:14px !important;
  line-height:1.3 !important;
}
body.speedup-page-v787CQ .speedup-hero-card p{
  margin:0 0 10px !important;
  font-size:12px !important;
  line-height:1.48 !important;
}
body.speedup-page-v787CQ .speedup-hero-card p:last-child{
  margin-bottom:0 !important;
}
body.correction-page-v787FA .correction-quote-card-v787FA{
  max-width:820px !important;
  margin-top:12px !important;
  padding:11px 13px !important;
  border-radius:12px !important;
  font-size:12.5px !important;
  line-height:1.48 !important;
  box-shadow:none !important;
}
body.correction-page-v787FA .correction-quote-card-v787FA strong{
  margin-bottom:2px !important;
  font-size:13.5px !important;
}

/* ---------- Progress ---------- */
body.speedup-page-v787CQ .speedup-progress{
  max-width:720px !important;
  gap:8px !important;
  margin:0 auto 12px !important;
}
body.speedup-page-v787CQ .speedup-progress-item{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:9px !important;
  min-height:46px !important;
  padding:8px 10px !important;
  border-radius:13px !important;
  font-size:12.5px !important;
  line-height:1.25 !important;
  box-shadow:none !important;
}
body.speedup-page-v787CQ .speedup-progress-item b{
  flex:0 0 28px !important;
  width:28px !important;
  height:28px !important;
  margin:0 !important;
  font-size:13px !important;
}

/* ---------- Step 1 field density ---------- */
body.speedup-page-v787CQ .speedup-applicant,
body.speedup-page-v787CQ .speedup-contact-panel-v787CW{
  margin-top:11px !important;
  padding:13px !important;
  border-radius:15px !important;
  box-shadow:none !important;
}
body.speedup-page-v787CQ .speedup-applicant h3,
body.speedup-page-v787CQ .speedup-contact-panel-v787CW h3,
body.speedup-page-v787CQ .speedup-confirm-package-v787DH h3{
  margin:0 0 9px !important;
  font-size:16px !important;
  line-height:1.25 !important;
}
body.speedup-page-v787CQ .speedup-compact-applicant-v787DH{
  margin-top:11px !important;
}
body.speedup-page-v787CQ .speedup-grid{
  gap:11px 12px !important;
}
body.speedup-page-v787CQ .speedup-field{
  gap:4px !important;
}
body.speedup-page-v787CQ label,
body.speedup-page-v787CQ .speedup-label{
  font-size:12.5px !important;
  line-height:1.3 !important;
}
body.speedup-page-v787CQ label small{
  font-size:10.5px !important;
  color:#64748b !important;
}
body.speedup-page-v787CQ input,
body.speedup-page-v787CQ select,
body.speedup-page-v787CQ textarea{
  min-height:42px !important;
  margin-top:0 !important;
  padding:9px 11px !important;
  border-radius:11px !important;
  font-size:13px !important;
  line-height:1.35 !important;
}
body.speedup-page-v787CQ input[type=file]{
  min-height:42px !important;
  padding:5px 7px !important;
  background:#fff !important;
}
body.speedup-page-v787CQ input[type=file]::file-selector-button{
  min-height:30px;
  margin-right:9px;
  padding:6px 10px;
  border:0;
  border-radius:8px;
  background:#eaf2ff;
  color:#174f9e;
  font:inherit;
  font-weight:800;
  cursor:pointer;
}
body.speedup-page-v787CQ textarea{
  min-height:68px !important;
  resize:vertical !important;
}
body.speedup-page-v787CQ textarea[name=specialRequest]{
  min-height:58px !important;
}
body.speedup-page-v787CQ .speedup-upload-note,
body.correction-page-v787FA .correction-upload-note-v787FA{
  margin-top:1px !important;
  font-size:10.5px !important;
  line-height:1.32 !important;
}
body.speedup-page-v787CQ .speedup-nationality-notice-v787DH{
  gap:3px !important;
  margin-top:5px !important;
  padding:9px 11px !important;
  border-radius:9px !important;
  font-size:11.5px !important;
  line-height:1.4 !important;
}
body.correction-page-v787FA .correction-warning-v787FA{
  margin-top:9px !important;
  padding:9px 11px !important;
  border-radius:11px !important;
  font-size:11.5px !important;
  line-height:1.42 !important;
}

/* ---------- Navigation and errors ---------- */
body.speedup-page-v787CQ .speedup-actions{
  gap:9px !important;
  margin-top:13px !important;
}
body.speedup-page-v787CQ .speedup-actions .btn{
  min-height:42px !important;
  padding:9px 16px !important;
  font-size:13px !important;
}
body.speedup-page-v787CQ .speedup-error{
  margin-top:9px !important;
  padding:9px 11px !important;
  border-radius:10px !important;
  font-size:12px !important;
}

/* ---------- Step 2 density ---------- */
body.speedup-page-v787CQ .speedup-confirm-layout-v787CX{
  grid-template-columns:minmax(0,1fr) minmax(275px,330px) !important;
  gap:14px !important;
  margin-top:10px !important;
}
body.speedup-page-v787CQ .speedup-submit-note-v787CX{
  margin:0 0 9px !important;
  font-size:12px !important;
  line-height:1.45 !important;
}
body.speedup-page-v787CQ .speedup-confirm-package-v787DH{
  margin:0 0 11px !important;
  padding:13px !important;
  border-radius:15px !important;
  box-shadow:none !important;
}
body.speedup-page-v787CQ .speedup-options{
  gap:8px !important;
}
body.speedup-page-v787CQ .speedup-option{
  min-height:0 !important;
  padding:11px !important;
  border-radius:12px !important;
}
body.speedup-page-v787CQ .speedup-option strong{
  padding-right:52px;
  font-size:12.5px !important;
  line-height:1.3 !important;
}
body.speedup-page-v787CQ .speedup-option span{
  margin-top:3px !important;
  font-size:18px !important;
}
body.speedup-page-v787CQ .speedup-option:has(input:checked)::after{
  right:9px !important;
  top:9px !important;
  padding:3px 7px !important;
  font-size:9.5px !important;
}
body.speedup-page-v787CQ .speedup-processing-estimate-v1097{
  margin-top:8px !important;
}
body.speedup-page-v787CQ .speedup-note{
  padding:9px 11px !important;
  border-radius:9px !important;
  font-size:11.5px !important;
  line-height:1.42 !important;
}

/* Conditions panel */
body.speedup-page-v787CQ .speedup-commitment-panel-v787CX{
  margin:0 0 10px !important;
  padding:13px 14px !important;
  border-radius:15px !important;
  box-shadow:none !important;
}
body.speedup-page-v787CQ .speedup-commitment-panel-v787CX .order-commitment-head-v595U{
  gap:3px !important;
  margin-bottom:8px !important;
}
body.speedup-page-v787CQ .speedup-commitment-panel-v787CX .order-commitment-head-v595U span{
  padding:4px 8px !important;
  font-size:9.5px !important;
}
body.speedup-page-v787CQ .speedup-commitment-panel-v787CX .order-commitment-head-v595U strong{
  font-size:17px !important;
  line-height:1.2 !important;
}
body.speedup-page-v787CQ .speedup-commitment-panel-v787CX .order-commitment-list-v595U{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px 12px !important;
}
body.speedup-page-v787CQ .speedup-commitment-panel-v787CX .order-commitment-list-v595U li{
  grid-template-columns:20px minmax(0,1fr) !important;
  gap:7px !important;
  font-size:11.5px !important;
  line-height:1.42 !important;
}
body.speedup-page-v787CQ .speedup-commitment-panel-v787CX .order-commitment-list-v595U li::before{
  width:20px !important;
  height:20px !important;
  font-size:11px !important;
}
body.speedup-page-v787CQ .speedup-commitment-panel-v787CX .order-commitment-links-v595U{
  gap:6px !important;
  margin-top:9px !important;
}
body.speedup-page-v787CQ .speedup-commitment-panel-v787CX .order-commitment-links-v595U a{
  min-height:30px !important;
  padding:5px 9px !important;
  font-size:10.5px !important;
}

/* Next steps: two-column on wide screens to avoid an unnecessarily tall confirmation page. */
body.speedup-page-v787CQ .speedup-next-steps-v1099{
  margin:10px 0 !important;
  padding:13px 14px !important;
  border-radius:15px !important;
  box-shadow:none !important;
}
body.speedup-page-v787CQ .speedup-next-steps-v1099 h3{
  margin:0 0 5px !important;
  font-size:17px !important;
}
body.speedup-page-v787CQ .speedup-next-steps-v1099 p{
  margin:0 0 7px !important;
  font-size:11.5px !important;
  line-height:1.42 !important;
}
body.speedup-page-v787CQ .speedup-next-steps-v1099 ol{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px 18px !important;
  margin:7px 0 0 !important;
  padding-left:19px !important;
}
body.speedup-page-v787CQ .speedup-next-steps-v1099 li{
  padding-right:4px;
  font-size:11.5px !important;
  line-height:1.42 !important;
}

/* Final confirmation */
body.speedup-page-v787CQ .speedup-final-confirm-v787CX{
  margin:9px 0 11px !important;
  padding:12px 13px !important;
  border-radius:15px !important;
}
body.speedup-page-v787CQ .speedup-final-confirm-v787CX .confirm-check{
  gap:9px !important;
  font-size:12px !important;
  line-height:1.45 !important;
}
body.speedup-page-v787CQ .speedup-final-confirm-v787CX .confirm-check input[type=checkbox]{
  width:19px !important;
  height:19px !important;
  min-width:19px !important;
  margin-top:1px !important;
}

/* Review sidebar: remove the old 520px forced height. */
body.speedup-page-v787CQ .speedup-order-summary-v787CX{
  top:78px !important;
  min-height:0 !important;
  max-height:calc(100vh - 96px) !important;
  padding:13px !important;
  border-radius:15px !important;
  box-shadow:0 10px 24px rgba(18,45,76,.065) !important;
}
body.speedup-page-v787CQ .speedup-order-summary-v787CX h3{
  margin:0 0 8px !important;
  font-size:16px !important;
}
body.speedup-page-v787CQ .speedup-order-review-scroll-v787CX{
  padding:0 5px 5px 0 !important;
}
body.speedup-page-v787CQ .speedup-order-summary-v787CX .summary-group{
  margin-top:8px !important;
  padding-bottom:4px !important;
  margin-bottom:4px !important;
}
body.speedup-page-v787CQ .speedup-order-summary-v787CX .summary-group h4{
  margin:0 0 3px !important;
  font-size:13px !important;
}
body.speedup-page-v787CQ .speedup-order-summary-v787CX .summary-row{
  grid-template-columns:minmax(86px,.88fr) minmax(100px,1.12fr) !important;
  gap:8px !important;
  padding:6px 0 !important;
  font-size:11.5px !important;
  line-height:1.35 !important;
}
body.speedup-page-v787CQ .speedup-order-review-total-v787CX{
  margin-top:7px !important;
  padding-top:8px !important;
}
body.speedup-page-v787CQ .speedup-order-review-total-v787CX .summary-row{
  padding:9px 10px !important;
  border-radius:11px !important;
}
body.speedup-page-v787CQ .speedup-order-review-total-v787CX .summary-row strong{
  font-size:18px !important;
}
body.speedup-page-v787CQ .speedup-order-review-total-v787CX small{
  margin-top:4px !important;
  font-size:10.5px !important;
  line-height:1.35 !important;
}

/* Inline payment if/when rendered. */
body.speedup-page-v787CQ .speedup-inline-payment-v1098{
  margin-top:12px !important;
  padding:14px !important;
  border-radius:16px !important;
  box-shadow:none !important;
}
body.speedup-page-v787CQ .speedup-inline-payment-v1098 h4{
  margin:0 0 7px !important;
  font-size:17px !important;
}
body.speedup-page-v787CQ .speedup-inline-payment-v1098 .summary-group{
  margin:0 0 9px !important;
}
body.speedup-page-v787CQ .speedup-inline-payment-v1098 .summary-row{
  padding:6px 0 !important;
  font-size:12px !important;
}
body.speedup-page-v787CQ .speedup-inline-payment-v1098 .total-line strong{
  font-size:19px !important;
}
body.speedup-page-v787CQ .speedup-inline-actions-v1098{
  gap:8px !important;
  margin-top:9px !important;
}

/* ---------- Correction-specific final overrides ---------- */
body.correction-page-v787FA .speedup-hero{
  padding:38px 0 28px !important;
}
body.correction-page-v787FA .speedup-hero-grid{
  grid-template-columns:minmax(0,1.5fr) minmax(250px,.5fr) !important;
  gap:20px !important;
}
body.correction-page-v787FA .speedup-hero h1{
  margin:8px 0 10px !important;
  font-size:clamp(32px,4.25vw,50px) !important;
  line-height:1.02 !important;
}
body.correction-page-v787FA .speedup-hero .muted{
  font-size:15px !important;
  line-height:1.55 !important;
}
body.correction-page-v787FA .speedup-card{
  padding:20px !important;
  border-radius:20px !important;
}
body.correction-page-v787FA .speedup-card h2{
  margin:8px 0 6px !important;
  font-size:clamp(24px,2.6vw,32px) !important;
  line-height:1.12 !important;
}
body.correction-page-v787FA .speedup-card .muted,
body.correction-page-v787FA .speedup-card p.muted{
  font-size:13px !important;
  line-height:1.5 !important;
}

/* ---------- Responsive ---------- */
@media(max-width:900px){
  body.speedup-page-v787CQ .speedup-confirm-layout-v787CX{
    grid-template-columns:1fr !important;
  }
  body.speedup-page-v787CQ .speedup-order-summary-v787CX{
    position:static !important;
    order:-1 !important;
    max-height:none !important;
  }
  body.speedup-page-v787CQ .speedup-order-review-scroll-v787CX{
    overflow:visible !important;
    padding-right:0 !important;
  }
}
@media(max-width:760px){
  body.speedup-page-v787CQ .speedup-hero,
  body.correction-page-v787FA .speedup-hero{
    padding:26px 0 20px !important;
  }
  body.speedup-page-v787CQ .speedup-hero-grid,
  body.correction-page-v787FA .speedup-hero-grid{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  body.speedup-page-v787CQ .speedup-hero h1,
  body.correction-page-v787FA .speedup-hero h1{
    font-size:30px !important;
  }
  body.speedup-page-v787CQ .speedup-hero .muted,
  body.correction-page-v787FA .speedup-hero .muted{
    font-size:13px !important;
  }
  /* The aside repeats guidance already presented in the form. Hide it on small screens to avoid needless scrolling. */
  body.speedup-page-v787CQ .speedup-hero-card{
    display:none !important;
  }
  body.speedup-page-v787CQ main.section{
    padding:20px 0 30px !important;
  }
  body.speedup-page-v787CQ .speedup-card,
  body.correction-page-v787FA .speedup-card{
    padding:14px !important;
    border-radius:16px !important;
  }
  body.speedup-page-v787CQ .speedup-progress{
    gap:6px !important;
    margin-bottom:9px !important;
  }
  body.speedup-page-v787CQ .speedup-progress-item{
    justify-content:flex-start !important;
    min-height:42px !important;
    padding:7px 8px !important;
    font-size:10.5px !important;
  }
  body.speedup-page-v787CQ .speedup-progress-item b{
    flex-basis:25px !important;
    width:25px !important;
    height:25px !important;
  }
  body.speedup-page-v787CQ .speedup-grid,
  body.correction-page-v787FA .speedup-grid{
    grid-template-columns:1fr !important;
    gap:9px !important;
  }
  body.speedup-page-v787CQ .speedup-applicant,
  body.speedup-page-v787CQ .speedup-contact-panel-v787CW{
    padding:11px !important;
    border-radius:13px !important;
  }
  body.speedup-page-v787CQ .speedup-options{
    grid-template-columns:1fr !important;
  }
  body.speedup-page-v787CQ .speedup-commitment-panel-v787CX .order-commitment-list-v595U,
  body.speedup-page-v787CQ .speedup-next-steps-v1099 ol{
    grid-template-columns:1fr !important;
  }
  body.speedup-page-v787CQ .speedup-order-summary-v787CX .summary-row{
    grid-template-columns:minmax(82px,.85fr) minmax(92px,1.15fr) !important;
  }
  body.speedup-page-v787CQ .speedup-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
  }
  body.speedup-page-v787CQ .speedup-actions>span:empty{
    display:none !important;
  }
  body.speedup-page-v787CQ .speedup-actions .btn{
    width:100% !important;
  }
}
@media(max-width:430px){
  body.speedup-page-v787CQ .speedup-progress-item{
    align-items:flex-start !important;
  }
  body.speedup-page-v787CQ .speedup-step>h2{
    font-size:22px !important;
  }
  body.speedup-page-v787CQ .speedup-order-summary-v787CX .summary-row{
    display:block !important;
  }
  body.speedup-page-v787CQ .speedup-order-summary-v787CX .summary-row strong{
    display:block;
    margin-top:2px;
    text-align:left !important;
  }
}

/* Final visibility and compact-progress safeguards. */
body.speedup-page-v787CQ .speedup-actions button[hidden],
body.speedup-page-v787CQ .speedup-confirm-actions-v787CX button[hidden]{
  display:none !important;
}
body.speedup-page-v787CQ .speedup-progress{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}
@media(max-width:760px){
  body.speedup-page-v787CQ .speedup-progress,
  body.correction-page-v787FA .speedup-progress{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
