/* Mobile Focus: keep FamilyTrip's intelligence, reduce simultaneous UI demands. */
@media (max-width: 740px) {
  body { padding-bottom: 74px; }
  .mast { min-height: 54px; padding: 10px 13px; }
  .mast > span { display:none; }
  .mast .logo { font-size:18px; }
  .shell { padding:0 12px 20px; display:flex; flex-direction:column; }
  .introduction { padding:18px 2px 10px; display:block; min-height:150px; }
  .introduction .hero-photo { display:none; }
  .introduction h1 { font-size:clamp(28px,9vw,38px); margin-bottom:8px; }
  .introduction #subtitle { font-size:14px; line-height:1.55; }
  /* Reserve the exact bands that are populated during boot. This prevents the
     trip-mode and journey state from pushing the working area down after FCP. */
  .trip-mode-banner { display:block!important; min-height:56px; margin:0 0 10px; }
  .trip-mode-banner[hidden] { visibility:hidden!important; }
  .review-quickbar { gap:7px; overflow-x:auto; flex-wrap:nowrap; padding:8px 0; scrollbar-width:none; min-height:58px; }
  .review-quickbar::-webkit-scrollbar { display:none; }
  .review-quickbar > button,.review-quickbar > details { flex:0 0 auto; }
  .review-quickbar .secondary { min-height:40px; padding:8px 11px; font-size:12px; }
  .journey { overflow-x:auto; flex-wrap:nowrap; scrollbar-width:none; padding:6px 0 9px; min-height:70px; }
  .journey::-webkit-scrollbar { display:none; }
  .workspace { display:flex; flex-direction:column; gap:12px; min-height:760px; order:10; }
  .main { order:2; padding:0; min-height:420px; }
  .side { display:contents; }
  .trip-decisions-panel { order:1; margin:0; padding:16px; min-height:126px; border-radius:14px; border:1px solid #e3d8c3; background:#f3f9f8; box-shadow:none; }
  .trip-decisions-panel .overline { font-size:10px; }
  .trip-decisions-panel h2 { font-size:19px; margin:5px 0 8px; }
  .summary { order:3; margin:0; min-height:120px; }
  .summary h2 { font-size:18px; }
  .trip-health-panel { order:4; margin:0; min-height:110px; }
  .map-panel { order:5; }
  .sidebar-actions { order:6; }
  .side-tool { margin:0; border-radius:12px; }
  .side-tool:not([open]) > *:not(summary) { display:none; }
  .family-essentials { order:20; }
  .actions { position:sticky; bottom:0; z-index:20; order:30; margin:10px -12px 0; padding:10px 12px calc(10px + env(safe-area-inset-bottom)); background:rgba(246,239,226,.96); backdrop-filter:blur(12px); border-top:1px solid #e3d8c3; }
  .actions button { min-height:48px; }
  .actions .primary { flex:1; }
  .save-family-next,.bottom-notes { margin-left:0; margin-right:0; }
  .save-family-next { padding:16px; order:40; }
  .bottom-notes { order:50; }
}

/* Small phones: one clear task, one clear action. */
@media (max-width: 430px) {
  .review-quickbar #review-share { display:none; }
  .review-more-tools { display:none; }
  .summary,.trip-health-panel { border-radius:12px; }
  .summary { max-height:360px; overflow:auto; }
  .trip-health-panel .trip-health-heading .overline { font-size:9px; }
}
