/* Approved Contact and Plan My Tour presentation. */
.page-plan-tour { background:#f3f7fd; }
.page-plan-tour .plan-builder { position:relative; isolation:isolate; max-width:none; padding:clamp(3rem,6vw,5.5rem) max(1rem,calc((100vw - 1240px)/2)) clamp(4rem,7vw,6.5rem) !important; overflow:hidden; background:linear-gradient(125deg,#041d45,#0a4ba3) top/100% 360px no-repeat,#f3f7fd; }
.page-plan-tour .plan-builder::before { display:none; }
.page-plan-tour .plan-builder::after { content:""; position:absolute; z-index:0; top:24px; right:4%; width:260px; height:260px; border:1px solid rgba(220,177,72,.22); border-radius:50%; box-shadow:0 0 0 48px rgba(255,255,255,.025),0 0 0 96px rgba(255,255,255,.018); pointer-events:none; }
.page-plan-tour .plan-builder > * { position:relative; z-index:1; }
.page-plan-tour .admin-breadcrumbs,.page-plan-tour .admin-breadcrumbs a { color:#c6d8f2; }
.page-plan-tour .plan-builder > h1 { max-width:680px; margin:.8rem 0; color:#fff; font-size:clamp(2.6rem,5vw,4.7rem); letter-spacing:-.04em; }
.page-plan-tour .plan-builder > .lead { max-width:760px; margin:0 0 2rem; color:#d6e3f5; font-size:1.04rem; line-height:1.75; }
.page-plan-tour .builder-progress { margin:2rem 0; padding:1.15rem; border:1px solid rgba(255,255,255,.18); border-radius:16px; background:rgba(255,255,255,.1); box-shadow:0 15px 34px rgba(1,19,47,.16); backdrop-filter:blur(8px); }
.page-plan-tour .builder-progress ol { min-width:0; gap:.4rem; }
.page-plan-tour .builder-progress__step { color:#d9e5f6; }
.page-plan-tour .builder-progress__num { background:rgba(255,255,255,.18); }
.page-plan-tour .builder-progress li.is-current .builder-progress__step { color:#fff; }
.page-plan-tour .builder-progress li.is-current .builder-progress__num { background:#d7aa3b; color:#08245a; }
.page-plan-tour .builder-layout { position:relative; margin-top:2.5rem; grid-template-columns:minmax(0,1fr) 320px; gap:1.5rem; }
.page-plan-tour .builder-main,.page-plan-tour .builder-summary { border:1px solid #dbe5f3; border-radius:22px; background:#fff; box-shadow:0 20px 48px rgba(6,35,79,.11); }
.page-plan-tour .builder-main { padding:clamp(1.35rem,4vw,3rem); }
.page-plan-tour .builder-step h2 { color:#071f4d; font-size:clamp(1.8rem,3vw,2.55rem); }
.page-plan-tour .builder-step fieldset { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.1rem 1.25rem; }
.page-plan-tour .builder-step fieldset > legend,.page-plan-tour .builder-step fieldset > h3 { grid-column:1/-1; }
.page-plan-tour .form-group { margin:0; }
.page-plan-tour .form-group label { display:block; margin-bottom:.45rem; color:#203958; font-weight:750; }
.page-plan-tour input,.page-plan-tour select,.page-plan-tour textarea { width:100%; min-height:48px; padding:.75rem .85rem; border:1px solid #c9d6e8; border-radius:10px; color:#162c4b; background:#f9fbfe; }
.page-plan-tour textarea { min-height:110px; }
.page-plan-tour .checkbox-group,.page-plan-tour .radio-group { display:flex; align-items:flex-start; gap:.65rem; min-height:48px; padding:.75rem; border:1px solid #dce6f3; border-radius:10px; background:#f5f8fc; }
.page-plan-tour .checkbox-group input,.page-plan-tour .radio-group input { flex:0 0 auto; width:20px; min-height:20px; margin:.1rem 0 0; }
.page-plan-tour .builder-summary { top:100px; padding:1.25rem; border-top:4px solid #d7aa3b; }
.page-plan-tour .builder-nav { padding-top:1.4rem; border-top:1px solid #e3eaf4; }
.page-plan-tour .btn--primary { background:linear-gradient(180deg,#1c61d4,#0b43a6); border-color:#0b43a6; box-shadow:0 10px 22px rgba(11,67,166,.18); }
@media (max-width:1024px) {
  .page-plan-tour .builder-layout { grid-template-columns:1fr; }
  .page-plan-tour .builder-summary { position:static; }
}
@media (max-width:700px) {
  .page-plan-tour .plan-builder { padding-top:2.5rem !important; }
  .page-plan-tour .plan-builder::before { height:430px; }
  .page-plan-tour .builder-progress { overflow:visible; padding:.8rem; }
  .page-plan-tour .builder-progress ol { display:grid; grid-template-columns:repeat(4,1fr); row-gap:.7rem; }
  .page-plan-tour .builder-progress__step { padding:.25rem; font-size:.65rem; line-height:1.2; }
  .page-plan-tour .builder-main { padding:1.1rem; border-radius:16px; }
  .page-plan-tour .builder-step fieldset { grid-template-columns:1fr; }
  .page-plan-tour .builder-step fieldset > legend,.page-plan-tour .builder-step fieldset > h3 { grid-column:auto; }
}

@media (max-width:640px) {
  .contact-service-ribbon__grid { grid-template-columns:1fr; }
  .contact-service-ribbon__grid > div { border-right:0; border-bottom:1px solid #dce5f3; }
  .contact-service-ribbon__grid > div:last-child { border-bottom:0; }
  .contact-info-card { grid-template-columns:42px minmax(0,1fr) auto; }
}
