.shd-portal-selector{
  border:1px solid rgba(0,0,0,.08);
  border-radius:10px;
  padding:14px;
  margin:16px 0;
  background:#fff;
}
.shd-portal-title{font-weight:700;font-size:18px;margin-bottom:10px}
.shd-portal-buttons{display:flex;flex-wrap:wrap;gap:10px}
.shd-portal-btn{
  padding:10px 14px;border-radius:999px;border:1px solid rgba(0,0,0,.12);
  background:#f7f7f7;cursor:pointer;font-weight:700
}
.shd-portal-btn.is-active{background:#0a2540;color:#fff;border-color:#0a2540}
.shd-portal-block{margin-top:10px}

/* Keep the portal clean: the top selector already communicates the service.
   Hide per-form titles/headings that may be output by blocks/themes. */
/* Only hide headings that are direct children of the portal block.
   (Do NOT hide stepper UI headings inside the form.) */
.shd-booking-portal .shd-portal-block > h1,
.shd-booking-portal .shd-portal-block > h2,
.shd-booking-portal .shd-portal-block > h3,
.shd-booking-portal .shd-portal-block > h4,
.shd-booking-portal .shd-portal-block > .shd-form-title,
.shd-booking-portal .shd-portal-block > .shd-form-heading{
  display:none !important;
}

/* Hide inner service selector (airport/hourly) when the portal selector is shown. */
.shd-booking-portal .shd-portal-block .shd-service-selector{
  display:none !important;
}

/* Make sure hidden blocks don't leak titles/spacing */
.shd-portal-block:not(.is-active){
  display:none !important;
}

.shd-portal-selector{max-width: 980px;}

/* When the portal is rendered via [shd_booking_portal], each service is wrapped
   by .shd-service-block (not .shd-portal-block). Ensure non-active services are
   always hidden, even if a theme/builder applies its own display rules. */
.shd-booking-portal .shd-service-block:not(.is-active){
  display:none !important;
}
