/* Request an Itinerary page styles — loaded only on /contact via asset_url. See
   templates/contact.liquid and contact.js. */

.azi-contact-header { background:#F4F6F9; padding:clamp(40px,6vw,80px) clamp(20px,4.5vw,72px) clamp(36px,5vw,64px); }
.azi-contact-header-inner { max-width:1400px; margin:0 auto; display:flex; flex-direction:column; gap:16px; }
.azi-contact-header h1 { margin:0; max-width:820px; font-size:clamp(36px,4.8vw,62px); line-height:1.05; font-weight:700; letter-spacing:-0.022em; text-wrap:pretty; }
.azi-mobile-steps { display:none; }

.azi-contact-layout { max-width:1400px; margin:0 auto; padding:clamp(36px,5vw,72px) clamp(20px,4.5vw,72px) clamp(52px,7vw,100px); display:flex; flex-wrap:wrap; gap:clamp(28px,4vw,60px); align-items:flex-start; }
.azi-request-col { flex:2 1 560px; min-width:0; }
.azi-request-card { display:flex; flex-direction:column; gap:30px; padding:clamp(22px,3vw,40px); background:#ffffff; border:1px solid #E3E7ED; border-radius:10px; }

.azi-form-fieldset { margin:0; padding:0; border:none; display:flex; flex-direction:column; gap:16px; }
.azi-form-fieldset + .azi-form-fieldset { padding-top:26px; border-top:1px solid #EDF0F4; }
.azi-form-legend { display:flex; align-items:baseline; gap:12px; padding:0; margin-bottom:16px; }
.azi-form-numeral { font-family:'Instrument Serif', serif; font-style:italic; font-size:24px; line-height:1; color:#B5852F; }
.azi-form-legend-label { font-size:19px; font-weight:700; color:#16233F; }
.azi-field-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:16px; }
.azi-field-grid.is-paired { grid-template-columns:1fr 1fr; }
.azi-field-grid .azi-field { min-width:0; }
.azi-optional { font-weight:400; color:#8B94A5; }

.azi-segment-group { display:flex; flex-direction:column; gap:8px; }
.azi-segment-group-label { font-size:13px; font-weight:600; color:#2B364C; }
.azi-segment-control { display:grid; gap:6px; padding:4px; background:#F4F6F9; border-radius:6px; }
.azi-segment-control.azi-columns-3 { grid-template-columns:repeat(3,1fr); }
.azi-segment-control.azi-columns-2 { grid-template-columns:repeat(2,1fr); }
.azi-segment-option { padding:11px 6px; border:none; border-radius:4px; background:transparent; color:#16233F; font-size:14px; font-weight:600; cursor:pointer; min-height:44px; }
.azi-segment-option.is-selected { background:#16233F; color:#ffffff; }
.azi-supplement-note { font-size:12.5px; line-height:1.5; color:#5B6578; }

.azi-form-footer { display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap; padding-top:22px; border-top:1px solid #EDF0F4; }
.azi-form-footer-note { margin:0; max-width:420px; font-size:13px; line-height:1.6; color:#5B6578; }
.azi-form-submit { padding:16px 30px; background:#16233F; color:#ffffff; border:none; border-radius:5px; font-size:15.5px; font-weight:600; cursor:pointer; }
.azi-form-submit:hover { background:#0B1426; }

.azi-sent-panel { display:flex; flex-direction:column; gap:18px; padding:clamp(28px,4vw,56px); background:#16233F; border-radius:10px; color:#ffffff; }
.azi-sent-panel[hidden] { display:none; }
.azi-sent-check { width:52px; height:52px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:#B5852F; font-size:24px; color:#ffffff; }
.azi-sent-panel h2 { margin:0; font-size:clamp(26px,3vw,36px); font-weight:700; letter-spacing:-0.015em; }
.azi-sent-panel p { margin:0; max-width:560px; font-size:16px; line-height:1.7; color:rgba(255,255,255,0.84); }
.azi-sent-panel p a { color:#E4C99A; }
.azi-sent-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:6px; }
.azi-sent-btn-white { padding:14px 24px; background:#ffffff; color:#16233F; border-radius:4px; font-weight:600; font-size:15px; text-decoration:none; display:inline-block; transition:background .3s ease; }
.azi-sent-btn-white:hover { background:#E4C99A; color:#16233F; }
.azi-sent-btn-ghost { padding:14px 24px; border:1px solid rgba(255,255,255,0.5); background:none; color:#ffffff; border-radius:4px; font-weight:600; font-size:15px; cursor:pointer; }
.azi-sent-btn-ghost:hover { border-color:#ffffff; }

.azi-contact-aside { display:flex; flex-direction:column; gap:20px; position:sticky; top:110px; flex:1 1 300px; min-width:0; }
.azi-next-steps { display:flex; flex-direction:column; gap:18px; padding:26px; background:#F4F6F9; border-radius:10px; }
.azi-next-steps-eyebrow { font-size:11px; font-weight:700; letter-spacing:0.2em; color:#B5852F; }
.azi-step-row { display:flex; gap:14px; }
.azi-step-number { flex:0 0 28px; height:28px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:#16233F; color:#ffffff; font-size:13px; font-weight:700; }
.azi-step-number.is-final { background:#B5852F; }
.azi-step-title { font-size:15px; font-weight:700; color:#16233F; }
.azi-step-description { font-size:13.5px; line-height:1.55; color:#5B6578; }
.azi-talk-card { display:flex; flex-direction:column; gap:10px; padding:24px 26px; border:1px solid #E3E7ED; border-radius:10px; }
.azi-talk-eyebrow { font-size:11px; font-weight:700; letter-spacing:0.2em; color:#5B6578; }
.azi-talk-phone { font-size:22px; font-weight:700; color:#16233F; }
.azi-talk-email { font-size:15px; font-weight:600; color:#B5852F; }
.azi-cross-links { display:flex; flex-direction:column; gap:10px; padding:0 4px; font-size:14px; line-height:1.55; color:#5B6578; }
.azi-cross-links a { color:#B5852F; font-weight:600; }

@keyframes azi-in { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:none; } }
.azi-fade { animation: azi-in .55s cubic-bezier(.22,.61,.36,1) both; }
@media (prefers-reduced-motion: reduce) { .azi-fade { animation:none; } }

@media (max-width:860px) {
  .azi-contact-header h1 { font-size:35px; }
  .azi-mobile-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:6px; padding-top:16px; border-top:1px solid #DCE1E9; }
  .azi-mobile-step { display:flex; flex-direction:column; align-items:center; gap:6px; text-align:center; }
  .azi-mobile-step-number { width:26px; height:26px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:#16233F; color:#ffffff; font-size:12px; font-weight:700; }
  .azi-mobile-step-number.is-final { background:#B5852F; }
  .azi-mobile-step-label { font-size:11.5px; color:#5B6578; line-height:1.3; }
  .azi-contact-aside { position:static; }
  .azi-contact-aside .azi-next-steps { display:none; }
  .azi-cross-links { display:none; }
  .azi-segment-option { font-size:14px; }
  .azi-field input, .azi-field select, .azi-field textarea { font-size:15px; }
}
