/* v1136AB — full order-form density, hierarchy, and whitespace polish */

/* Page shell */
body.order-page .page-hero.compact{
  padding:20px 0 18px !important;
}
body.order-page .page-hero .eyebrow{
  font-size:11px !important;
  line-height:1.2 !important;
  margin-bottom:4px !important;
}
body.order-page .page-hero h1{
  font-size:clamp(27px,2.4vw,34px) !important;
  line-height:1.08 !important;
  margin:4px 0 7px !important;
}
body.order-page .page-hero p{
  max-width:900px !important;
  margin:0 !important;
  font-size:14px !important;
  line-height:1.45 !important;
}
body.order-page main.section{
  padding:24px 0 30px !important;
}
body.order-page .order-shell{
  max-width:1260px !important;
}

/* Compact progress bar */
body.order-page .compact-steps{
  margin:0 auto 12px !important;
  max-width:920px !important;
}
body.order-page .step-header{
  gap:8px !important;
  margin-bottom:12px !important;
}
body.order-page .step-pill{
  gap:8px !important;
}
body.order-page .step-pill b{
  width:30px !important;
  height:30px !important;
  font-size:15px !important;
}
body.order-page .step-pill span{
  font-size:13px !important;
  line-height:1.15 !important;
}
body.order-page .step-pill small{
  margin-top:2px !important;
  font-size:10px !important;
  line-height:1.2 !important;
}
body.order-page .step-header i{
  height:1px !important;
}

/* Primary and secondary hierarchy */
body.order-page .apply-card,
body.order-page .order-summary{
  border-radius:18px !important;
}
body.order-page .apply-card{
  padding:18px !important;
}
body.order-page .form-step > h2{
  margin:0 0 4px !important;
  font-size:24px !important;
  line-height:1.15 !important;
  letter-spacing:-.025em !important;
}
body.order-page .form-intro{
  margin:0 0 10px !important;
  font-size:12px !important;
  line-height:1.4 !important;
  color:#64748b !important;
}
body.order-page .mini-section,
body.order-page .plain-section,
body.order-page .applicant-card{
  margin:10px 0 !important;
  padding:13px !important;
  border-radius:14px !important;
}
body.order-page .mini-section h3{
  margin:0 0 9px !important;
  font-size:17px !important;
  line-height:1.25 !important;
  letter-spacing:-.01em !important;
}
body.order-page .applicant-card h4{
  margin:0 0 8px !important;
  font-size:12px !important;
  line-height:1.2 !important;
  letter-spacing:.07em !important;
}
body.order-page .contact-subsection{
  margin-top:12px !important;
  padding-top:11px !important;
}
body.order-page .contact-subsection h4{
  margin:0 0 9px !important;
  font-size:15px !important;
  line-height:1.2 !important;
}

/* Form controls: compact but still comfortably clickable */
body.order-page label,
body.order-page .field-label-title{
  font-size:13px !important;
  line-height:1.3 !important;
}
body.order-page input,
body.order-page select,
body.order-page textarea,
body.order-page .search-select-trigger{
  margin-top:5px !important;
  min-height:44px !important;
  padding:9px 11px !important;
  border-radius:11px !important;
  font-size:14px !important;
  line-height:1.35 !important;
}
body.order-page textarea{
  min-height:68px !important;
  resize:vertical !important;
}
body.order-page .grid,
body.order-page .applicant-grid,
body.order-page .applicant-compact-grid,
body.order-page .compact-contact-grid,
body.order-page .travel-grid{
  gap:9px 11px !important;
}
body.order-page .field-error{
  min-height:0 !important;
  margin-top:4px !important;
  font-size:11px !important;
  line-height:1.3 !important;
}
body.order-page .field-error:empty,
body.order-page .input-note:empty,
body.order-page [data-fee-summary]:empty,
body.order-page .processing-estimate-note-v616U:not([data-processing-estimate-rendered="1"]):empty{
  display:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  min-height:0 !important;
}
body.order-page .optional,
body.order-page .date-hint,
body.order-page .input-note,
body.order-page .compact-note{
  font-size:10.5px !important;
  line-height:1.35 !important;
}

/* Step 1: use the available horizontal space instead of stacking three fields */
@media (min-width:1120px){
  body.order-page .visa-step-grid{
    grid-template-columns:minmax(150px,.72fr) minmax(215px,1fr) minmax(270px,1.32fr) !important;
  }
}
body.order-page .inline-total-card{
  margin-top:10px !important;
  padding:11px 13px !important;
  border-radius:13px !important;
}
body.order-page .inline-total-card span,
body.order-page .inline-total-card small{
  font-size:11px !important;
  line-height:1.3 !important;
}
body.order-page .inline-total-card strong{
  font-size:25px !important;
  line-height:1 !important;
}

/* Step 2 travel fields: two compact rows instead of five full-width rows */
@media (min-width:760px){
  body.order-page .travel-grid{
    grid-template-columns:minmax(180px,.72fr) minmax(280px,1.28fr) !important;
  }
  body.order-page .travel-grid > label[for="orderTravelPurpose"],
  body.order-page .travel-grid > .travel-visa-type-field-v1136N{
    grid-column:auto !important;
  }
  body.order-page .travel-grid > .travel-processing-field-v1136N{
    grid-column:1 / -1 !important;
  }
}
body.order-page .processing-estimate-note-v616U[data-processing-estimate-rendered="1"]{
  margin-top:7px !important;
  padding:8px 10px !important;
  border-left-width:3px !important;
  border-radius:10px !important;
}

/* Applicant upload cards: compact horizontal composition with no reserved blank column */
body.order-page .applicant-upload-grid-v489G{
  margin-top:8px !important;
  gap:9px !important;
  align-items:start !important;
}
body.order-page .applicant-upload-card-v489G{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 122px !important;
  grid-template-rows:auto auto auto !important;
  grid-template-areas:
    "copy preview"
    "button preview"
    "error error" !important;
  align-items:start !important;
  column-gap:11px !important;
  row-gap:8px !important;
  min-height:0 !important;
  padding:11px !important;
  border-radius:14px !important;
}
body.order-page .applicant-upload-card-v489G .upload-card-copy-v489G{
  grid-area:copy !important;
  min-height:0 !important;
  display:block !important;
}
body.order-page .applicant-upload-card-v489G .upload-card-copy-v489G span{
  margin:0 0 4px !important;
  font-size:14px !important;
  line-height:1.2 !important;
}
body.order-page .applicant-upload-card-v489G .upload-card-copy-v489G small{
  margin:0 !important;
  font-size:10px !important;
  line-height:1.35 !important;
}
body.order-page .applicant-upload-card-v489G .upload-preview-v489G{
  grid-area:preview !important;
  width:122px !important;
  height:126px !important;
  min-height:126px !important;
  padding:8px !important;
  gap:0 !important;
  border-radius:12px !important;
  flex:none !important;
}
body.order-page .applicant-upload-card-v489G .upload-preview-v489G .upload-preview-media-v489G{
  width:100% !important;
  height:100% !important;
  flex:0 0 100% !important;
}
body.order-page .applicant-upload-card-v489G .upload-preview-passport-v489G .upload-preview-media-v489G img{
  max-width:108px !important;
  max-height:92px !important;
}
body.order-page .applicant-upload-card-v489G .upload-preview-portrait-v489G .upload-preview-media-v489G img{
  max-width:72px !important;
  max-height:94px !important;
}
body.order-page .applicant-upload-card-v489G .upload-preview-caption-v489G{
  display:none !important;
}
body.order-page .applicant-upload-card-v489G .upload-select-btn{
  grid-area:button !important;
  align-self:end !important;
  width:auto !important;
  min-width:110px !important;
  margin:0 !important;
  padding:8px 14px !important;
  border-radius:10px !important;
  font-size:13px !important;
}
body.order-page .applicant-upload-card-v489G > .field-error{
  grid-area:error !important;
}
body.order-page .applicant-upload-card-v489G .upload-preview.has-file img{
  max-height:108px !important;
}
body.order-page .applicant-upload-card-v489G .upload-preview.has-file em{
  font-size:9.5px !important;
  line-height:1.25 !important;
}

/* Keep the optional guide useful but visually quiet */
body.order-page .upload-guides-disclosure-v1136E{
  margin-top:8px !important;
  border-radius:12px !important;
}
body.order-page .upload-guides-summary-v1136E{
  min-height:38px !important;
  padding:8px 10px !important;
  font-size:11px !important;
}
body.order-page .upload-guides-content-v1136E{
  padding:0 9px 9px !important;
}
body.order-page .passport-upload-guide-v489G{
  margin-top:7px !important;
  padding:8px !important;
  border-radius:12px !important;
}
body.order-page .passport-upload-guide-head-v489G strong{
  font-size:13px !important;
}
body.order-page .passport-upload-guide-head-v489G small{
  font-size:10px !important;
}
body.order-page .passport-guide-grid-v489G{
  gap:5px !important;
}
body.order-page .passport-guide-item-v489G{
  border-radius:10px !important;
  padding-bottom:5px !important;
}

/* Convert secondary blocks into slim utilities rather than full-height sections */
body.order-page .addon-area.fasttrack-retired-v1135ZQ{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:10px 16px !important;
  padding:11px 13px !important;
}
body.order-page .addon-area.fasttrack-retired-v1135ZQ h3{
  margin:0 0 3px !important;
  font-size:15px !important;
}
body.order-page .addon-area.fasttrack-retired-v1135ZQ p{
  margin:0 !important;
  max-width:620px !important;
}
body.order-page .addon-area.fasttrack-retired-v1135ZQ .addon-switch{
  display:flex !important;
  gap:7px !important;
  margin:0 !important;
}
body.order-page .addon-area.fasttrack-retired-v1135ZQ .btn{
  width:auto !important;
  min-height:38px !important;
  padding:8px 12px !important;
  font-size:11px !important;
  white-space:nowrap !important;
}
body.order-page .special-request-section-v1136AB{
  padding:10px 13px !important;
}
body.order-page .special-request-section-v1136AB textarea{
  min-height:58px !important;
}

/* Navigation and review */
body.order-page .actions{
  margin-top:13px !important;
  gap:9px !important;
}
body.order-page .actions .btn{
  min-height:42px !important;
  padding:9px 16px !important;
  font-size:13px !important;
}
body.order-page .order-summary{
  padding:16px !important;
}
body.order-page .order-summary h3{
  margin:0 0 8px !important;
  font-size:13px !important;
}
body.order-page .summary-row{
  padding:7px 0 !important;
  font-size:12px !important;
  line-height:1.35 !important;
}
body.order-page .summary-note{
  margin-top:9px !important;
  padding:9px !important;
  border-radius:10px !important;
  font-size:11px !important;
}
body.order-page .payment-flow-stack{
  gap:12px !important;
}
body.order-page .payment-top-block,
body.order-page .inline-payment-panel{
  padding:14px !important;
  border-radius:15px !important;
}
body.order-page .order-commitment-panel-v595U,
body.order-page .confirmation-box{
  margin-top:10px !important;
  padding:11px !important;
  border-radius:12px !important;
}

@media (max-width:980px){
  body.order-page main.section{padding-top:18px !important;}
  body.order-page .apply-card{padding:15px !important;}
  body.order-page .order-summary{padding:13px !important;}
}
@media (max-width:820px){
  body.order-page .applicant-upload-grid-v489G{
    grid-template-columns:1fr !important;
  }
  body.order-page .applicant-upload-card-v489G{
    grid-template-columns:minmax(0,1fr) 112px !important;
  }
  body.order-page .applicant-upload-card-v489G .upload-preview-v489G{
    width:112px !important;
    height:116px !important;
    min-height:116px !important;
  }
  body.order-page .addon-area.fasttrack-retired-v1135ZQ{
    grid-template-columns:1fr !important;
  }
  body.order-page .addon-area.fasttrack-retired-v1135ZQ .addon-switch{
    flex-wrap:wrap !important;
  }
}
@media (max-width:640px){
  body.order-page .page-hero.compact{padding:16px 0 14px !important;}
  body.order-page .page-hero h1{font-size:25px !important;}
  body.order-page main.section{padding:14px 0 22px !important;}
  body.order-page .compact-steps{margin-bottom:9px !important;}
  body.order-page .step-pill small{display:none !important;}
  body.order-page .step-pill span{font-size:12px !important;}
  body.order-page .apply-card{padding:12px !important;}
  body.order-page .form-step > h2{font-size:21px !important;}
  body.order-page .mini-section,
  body.order-page .plain-section,
  body.order-page .applicant-card{padding:11px !important;margin:8px 0 !important;}
  body.order-page .applicant-upload-card-v489G{
    grid-template-columns:minmax(0,1fr) 96px !important;
    column-gap:9px !important;
  }
  body.order-page .applicant-upload-card-v489G .upload-preview-v489G{
    width:96px !important;
    height:108px !important;
    min-height:108px !important;
  }
  body.order-page .applicant-upload-card-v489G .upload-preview-passport-v489G .upload-preview-media-v489G img{
    max-width:84px !important;
    max-height:72px !important;
  }
  body.order-page .applicant-upload-card-v489G .upload-preview-portrait-v489G .upload-preview-media-v489G img{
    max-width:58px !important;
    max-height:76px !important;
  }
  body.order-page .addon-area.fasttrack-retired-v1135ZQ .addon-switch{
    display:grid !important;
    grid-template-columns:1fr !important;
  }
  body.order-page .addon-area.fasttrack-retired-v1135ZQ .btn{
    width:100% !important;
  }
}
