/* Scoped to the journey builder; request and enquiry pages retain their layout. */
.aa-trip-builder-page { --trip-ink:#072720; --trip-deep:#072720; --trip-lime:#9EDD05; --trip-muted:#51655e; }
.aa-trip-builder-page .aa-trip-hero { padding:36px 0; background:#072720; }
.aa-trip-builder-page .aa-trip-hero__grid { max-width:1040px; gap:32px; }
.aa-trip-builder-page .aa-trip-hero h1 { color:#FFFFFF; font-size:clamp(1.85rem,3vw,2.7rem); line-height:1.14; max-width:650px; }
.aa-trip-builder-page .aa-trip-hero p { font-size:1rem; line-height:1.6; }
.aa-trip-builder-page .aa-trip-hero__promise { padding:18px; border-radius:14px; background:transparent; backdrop-filter:none; }
.aa-trip-builder-page .aa-trip-shell { padding-top:24px; }
.aa-trip-builder-page .aa-trip-steps { position:sticky; top:var(--trip-header-offset,150px); z-index:8; max-width:1000px; padding:12px 8px; margin-bottom:20px; border:1px solid #dfe7e3; border-radius:14px; background:#f3f7f5; }
.aa-trip-builder-page .aa-trip-steps button { font-size:.85rem; padding:4px; }
.aa-trip-builder-page .aa-trip-steps button.is-active { color:#072720; }
.aa-trip-builder-page .aa-trip-steps button.is-active span { box-shadow:0 0 0 3px #fff,0 0 0 5px #072720; }
.aa-trip-builder-page .aa-trip-form { max-width:1000px; border-radius:18px; box-shadow:0 8px 30px #07272008; padding:30px; scroll-margin-top:calc(var(--trip-header-offset,150px) + 115px); }
.aa-trip-builder-page [hidden] { display:none !important; }
.aa-trip-builder-page .aa-trip-panel__head { margin-bottom:24px; }
.aa-trip-builder-page .aa-trip-panel__head > span { color:#51655e; font-size:.75rem; letter-spacing:.06em; }
.aa-trip-builder-page .aa-trip-panel__head h2 { font-size:clamp(1.35rem,2.5vw,1.8rem); line-height:1.35; }
.aa-trip-builder-page .aa-trip-panel__head p { font-size:.95rem; line-height:1.6; }
.aa-trip-required-note { font-size:.85rem; color:#51655e; margin:0 0 18px; }
.aa-trip-builder-page .aa-trip-grid { gap:20px 24px; }
.aa-trip-group-label { grid-column:1/-1; margin:8px 0 -5px; padding-top:14px; border-top:1px solid #e7ece9; font-size:1rem; }
.aa-trip-builder-page .aa-trip-field { min-width:0; gap:7px; }
.aa-trip-label { display:flex; align-items:center; gap:7px; min-height:25px; }
.aa-trip-builder-page .aa-trip-label label { margin:0; font-size:.9rem; font-weight:650; line-height:1.5; }
.aa-trip-required { color:#a12636; margin-inline-start:2px; font-weight:700; }
.aa-trip-optional { color:#697b73; font-size:.75rem; font-weight:400; margin-inline-start:5px; }
.aa-trip-builder-page .aa-trip-input { min-height:48px; font-size:1rem; border-radius:9px; padding:11px 13px; line-height:1.4; }
.aa-trip-builder-page .aa-trip-input:focus { border-color:#072720; box-shadow:0 0 0 3px #9EDD0533; }
.aa-trip-builder-page button:focus-visible,.aa-trip-builder-page input:focus-visible { outline:2px solid #072720; outline-offset:3px; }
.aa-trip-builder-page .aa-trip-field--check { display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding:10px 0; }
.aa-trip-field--check input { width:19px; height:19px; flex:none; margin:0; accent-color:#072720; }
.aa-trip-field--check [data-field-error] { flex-basis:100%; }
.aa-trip-field-error { font-size:.85rem; color:#a12636; line-height:1.45; }
.aa-trip-field-error:empty { display:none; }
.aa-trip-builder-page .has-error input,.aa-trip-builder-page .has-error select,.aa-trip-builder-page .has-error textarea { border-color:#a12636; }
.aa-trip-builder-page .aa-trip-errors p { margin:0 0 8px; font-weight:650; }
.aa-trip-builder-page .aa-trip-errors ul { margin:0; padding-inline-start:20px; }
.aa-trip-builder-page .aa-trip-errors button { border:0; padding:4px 0; text-align:start; color:inherit; background:none; text-decoration:underline; }
.aa-trip-help { display:inline-flex; vertical-align:middle; font-size:.85rem; font-weight:400; }
.aa-trip-help__button { display:inline-grid; place-items:center; position:relative; width:16px; height:16px; border:1px solid #b8c7bf; border-radius:50%; background:#f5f8f6; color:#38564a; font-size:10px; font-weight:600; cursor:help; padding:0; line-height:1; }
.aa-trip-help__tip { position:fixed; z-index:1100; padding:12px 14px; border-radius:10px; background:#072720; color:white; box-shadow:0 5px 22px #07272026; font-size:.85rem; line-height:1.6; text-align:start; white-space:normal; }
.aa-trip-draft { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-bottom:18px; padding:16px; border:1px solid #bed49d; border-radius:12px; background:#f5faeb; }
.aa-trip-draft > div { flex:1 1 250px; }
.aa-trip-draft p { margin:4px 0 0; font-size:.85rem; }
.aa-trip-save-status { font-size:.8rem; color:#51655e; margin:0 0 14px; }
.aa-trip-save-status:empty { display:none; }
.aa-trip-builder-page .aa-entry-choice > .aa-trip-field { display:grid; grid-template-columns:1fr; }
.aa-trip-builder-page .aa-entry-choice .aa-trip-label label { min-height:0; padding:0; border:0; }
.aa-trip-builder-page .aa-entry-choice .aa-trip-radio { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.aa-trip-builder-page .aa-entry-choice .aa-trip-radio label { font-size:.9rem; line-height:1.5; height:100%; border-radius:10px; }
.aa-trip-builder-page .aa-entry-choice .aa-trip-radio label:has(input:checked) { border-color:#072720; background:#f4f8ed; }
.aa-trip-builder-page .aa-interest-field > .aa-trip-field { display:grid; }
.aa-trip-builder-page .aa-interest-field .aa-trip-input { display:flex; flex-wrap:wrap; gap:10px; border:0; padding:0; }
.aa-trip-builder-page .aa-interest-field .aa-trip-input label { display:flex; gap:8px; align-items:center; border:1px solid #ccd9d4; border-radius:8px; padding:10px 12px; font-size:.9rem; }
.aa-trip-builder-page .aa-interest-field input { accent-color:#072720; }
.aa-trip-builder-page .aa-route-stop { grid-template-columns:58px minmax(0,1fr) 68px; border-radius:12px; align-items:start; }
.aa-trip-builder-page .aa-route-stop__fields { grid-template-columns:minmax(0,1fr) 130px; }
.aa-trip-builder-page .aa-route-stop__order { padding-top:35px; }
.aa-trip-builder-page .aa-route-stop__delete { padding-top:34px; }
.aa-trip-builder-page .aa-route-stop__delete button:disabled { opacity:.4; }
.aa-trip-builder-page .aa-route-stop__order button { min-width:28px; min-height:28px; }
.aa-trip-review { margin-top:28px; padding-top:24px; border-top:1px solid #dfe7e3; }
.aa-trip-review > h3 { font-size:1.2rem; margin:0 0 6px; }
.aa-trip-review > p { color:#51655e; font-size:.9rem; }
.aa-trip-review-group { margin:12px 0; padding:16px; background:#f7f9f8; border:1px solid #e1e9e4; border-radius:10px; }
.aa-trip-review-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; }
.aa-trip-review-head h4 { font-size:1rem; margin:0; }
.aa-trip-review-head button { color:#072720; border:0; background:none; text-decoration:underline; min-height:36px; }
.aa-trip-review-group dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 24px; margin:0; }
.aa-trip-review-group dt { font-size:.8rem; color:#51655e; font-weight:400; }
.aa-trip-review-group dd { font-size:.9rem; color:#072720; margin:2px 0 0; overflow-wrap:anywhere; white-space:pre-wrap; }
.aa-trip-consent-title { font-size:.95rem; margin-top:24px; font-weight:650; }
.aa-trip-builder-page .policy-acceptance { margin-top:10px; }
.aa-trip-submit-note { font-size:.85rem; color:#51655e; margin-top:18px; }
.aa-trip-builder-page .aa-trip-actions { margin-top:24px; }
.aa-trip-builder-page .aa-trip-button { font-size:.95rem; border-radius:9px; font-weight:650; }
.aa-trip-builder-page .aa-trip-button:disabled { opacity:.65; cursor:wait; }
@media(max-width:767.98px) {
  .aa-trip-builder-page .aa-trip-hero { padding:24px 0; }
  .aa-trip-builder-page .aa-trip-hero__grid { gap:18px; }
  .aa-trip-builder-page .aa-trip-steps { grid-template-columns:repeat(5,minmax(0,1fr)); overflow:visible; padding:8px 2px; top:var(--trip-header-offset,80px); }
  .aa-trip-builder-page .aa-trip-steps button { font-size:.65rem; gap:6px; }
  .aa-trip-builder-page .aa-trip-steps button span { width:30px; height:30px; }
  .aa-trip-builder-page .aa-trip-form { padding:20px 16px; scroll-margin-top:calc(var(--trip-header-offset,80px) + 110px); }
  .aa-trip-builder-page .aa-trip-grid { grid-template-columns:1fr; gap:16px; }
  .aa-trip-builder-page .aa-entry-choice .aa-trip-radio { grid-template-columns:1fr; }
  .aa-trip-builder-page .aa-route-stop { grid-template-columns:42px minmax(0,1fr); gap:8px; }
  .aa-trip-builder-page .aa-route-stop__fields { grid-template-columns:1fr; }
  .aa-trip-builder-page .aa-route-stop__delete { grid-column:2; padding-top:0; }
  .aa-trip-builder-page .aa-route-stop__order { display:grid; padding-top:32px; gap:8px; }
  .aa-trip-review-group dl { grid-template-columns:1fr; }
  .aa-trip-builder-page .aa-trip-actions { margin-inline:-16px; padding:12px 16px; gap:8px; }
  .aa-trip-builder-page .aa-trip-actions .aa-trip-button { padding:10px; font-size:.85rem; }
}
@media(prefers-reduced-motion:reduce) { .aa-trip-builder-page * { scroll-behavior:auto !important; } }

.aa-trip-content { text-align:start; }
.aa-trip-content[dir="rtl"] .aa-trip-steps button::after { left:auto; right:calc(50% + 22px); }
.aa-trip-content input[type="date"],.aa-trip-content input[type="email"],.aa-trip-content input[autocomplete="tel"] { direction:ltr; text-align:start; }
.aa-trip-content[dir="rtl"] .aa-trip-actions .fa-arrow-left,.aa-trip-content[dir="rtl"] .aa-trip-actions .fa-arrow-right { transform:scaleX(-1); }

.aa-trip-builder-page #id_preferences-interests { display:flex; flex-wrap:wrap; gap:10px; }
.aa-trip-builder-page #id_preferences-interests label { display:flex; align-items:center; gap:8px; padding:10px 12px; border:1px solid #ccd9d4; border-radius:9px; font-size:.9rem; font-weight:500; }
.aa-trip-builder-page #id_preferences-interests label:has(input:checked) { border-color:#072720; background:#f4f8ed; }
.aa-trip-builder-page #id_preferences-interests input { width:18px; height:18px; min-height:0; margin:0; padding:0; }

.aa-trip-help__button::after { content:""; position:absolute; inset:-8px; }
