.planner-panel { background: var(--blue); border-block: 7px solid #000; }
.planner-controls { display: grid; grid-template-columns: minmax(240px, .7fr) 1.3fr; gap: 1rem; align-items: end; padding: 1rem; border: 4px solid #000; background: #fff; }
.planner-controls p { margin: .25rem 0 0; }
.module-grid, .strategy-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.module-option { appearance: none; border: 4px solid #000; background: #fff; padding: 1rem; text-align: left; color: var(--ink); font: inherit; cursor: pointer; }
.module-option strong, .module-option span { display: block; }
.module-option span { margin-top: .35rem; }
.module-option.active { background: var(--yellow); box-shadow: 6px 6px 0 #000; }
.journey-link { margin-top: .8rem; border: 4px solid #000; background: #d9f4fb; padding: .75rem; }
.journey-link strong, .journey-link span { display: block; }
.journey-link a { font-size: 1.1rem; font-weight: 900; }
.strategy-card { border: 4px solid #000; background: #fff; padding: 1.1rem; box-shadow: 6px 6px 0 var(--blue); }
.strategy-card.temporary { box-shadow-color: var(--yellow); }
.strategy-card.needs_rechecking { box-shadow-color: var(--red); }
.strategy-card dl { display: grid; grid-template-columns: 110px 1fr; gap: .3rem .65rem; }
.strategy-card dt { font-weight: 900; }
.strategy-card dd { margin: 0; }
.booking-steps { display: grid; gap: .8rem; padding: 0; list-style: none; counter-reset: booking; }
.booking-steps li { border: 4px solid #000; background: #fff; padding: 1rem; }
.booking-steps p { margin: .3rem 0 .75rem; }
.button.disabled { background: #ddd; color: #555; cursor: not-allowed; }
.affiliate-note { color: var(--muted); font-size: .82rem; }
.stay-feature { font-weight: 900; }
@media (max-width: 700px) {
  .planner-controls, .module-grid, .strategy-grid { grid-template-columns: 1fr; }
  .strategy-card dl { grid-template-columns: 1fr; }
  .strategy-card dd { margin-bottom: .5rem; }
}
