/* Desktop reading and planning surfaces. Phone layout has its own stylesheet. */
@media (min-width:1001px) {
  body.trip-home-active .trip-home-hero { min-height:min(820px,calc(100svh - 64px)); padding-top:48px; }
  body.trip-home-active .trip-home-hero-copy .trip-home-label { display:none; }
  body.trip-home-active .trip-home-hero-copy h1 { font-size:clamp(52px,4.6vw,72px); line-height:1.18; letter-spacing:-.025em; }
  body.trip-home-active .trip-home-lead { font-size:17px; line-height:1.8; color:#50677c; }
  body.trip-home-active .trip-home-actions { margin-top:28px; }
  body.trip-home-active #homeIntroSteps { background:transparent; border:0; border-top:1px solid #bdd7ea; border-radius:0; padding-top:20px; }
  body.trip-home-active #homeIntroSteps li { justify-content:flex-start; }
  body.trip-home-active #homeIntroSteps strong { font-size:14px; color:#29455f; }
  body.trip-home-active .trip-home-inspirations { padding:48px 0; background:transparent; border-radius:0; }
  body.trip-home-active .trip-home-inspiration-head { justify-content:flex-start; text-align:left; }
  body.trip-home-active .trip-home-inspiration-head .trip-home-label { display:none; }
  body.trip-home-active .trip-home-inspiration-head h2 { font-size:30px; line-height:1.4; letter-spacing:-.02em; }
  body.trip-home-active .trip-home-inspiration-filters { justify-content:flex-start; gap:12px; margin-top:24px; }
  body.trip-home-active .trip-home-inspiration-card { border:1px solid #e0e8ef; border-radius:14px; box-shadow:none; overflow:hidden; background:#fff; }
  body.trip-home-active .trip-home-inspiration-copy { padding:20px; }
  body.trip-home-active .trip-home-inspiration-copy h3 { font-size:19px; line-height:1.5; }
  body.trip-home-active .trip-home-library { padding:32px; background:#fff; border:1px solid #e0e8ef; border-radius:16px; box-shadow:none; }
  #accountTripList .account-trip-row { padding:16px 0; border:0; border-bottom:1px solid #e2e9ef; border-radius:0; }
  #accountTripList .library-trip-grid { gap:0; }
  #accountTripList .account-trip-copy strong { font-size:16px; line-height:1.5; }
  #accountTripList .account-trip-copy > span { font-size:12px; color:#586c80; }
  #accountTripList .library-trip-thumbnail { width:80px; height:80px; border-radius:10px; }
  #accountTripList .library-feature { border-radius:14px; }
}
/* The planner fills the available window; each working column owns its scroll. */
@media (min-width:1181px) {
  :root { --desktop-line:#e1e8f0; --desktop-muted:#626f80; }
  body:not(.trip-home-active):not(.ai-workspace-active) .app-shell { height:100dvh; min-height:0; overflow:hidden; }
  body:not(.trip-home-active) .topbar { flex:none; background:#fff; border-bottom:1px solid var(--desktop-line); box-shadow:none; padding-inline:24px; }
  body:not(.trip-home-active) .site-footer, body:not(.trip-home-active) .shared-banner { flex:none; }
  #plannerWorkspace:not(.is-empty) { flex:1; min-height:0; width:100%; margin:0; grid-template-columns:230px minmax(360px,1.15fr) minmax(340px,1fr); align-items:stretch; gap:0; padding:0; background:#f6f8fb; overflow:hidden; }
  #plannerWorkspace > :is(.controls-panel,.recommend-panel,.plan-panel) { min-height:0; max-height:none; height:auto; border:0; border-radius:0; box-shadow:none; }
  #plannerWorkspace > .controls-panel { display:flex; flex-direction:column; position:relative; top:auto; padding:18px 14px 14px; overflow:hidden; border-right:1px solid var(--desktop-line); background:#fff; }
  #plannerWorkspace > .recommend-panel { padding:0; background:#f6f8fb; }
  #plannerWorkspace > .plan-panel { padding:0; border-left:1px solid var(--desktop-line); background:#fff; overflow-y:auto; overscroll-behavior:contain; }
  #plannerWorkspace .planner-heading { flex:none; align-items:center; gap:6px; }
  #plannerWorkspace :is(.section-head h2,.panel-toolbar h2) { font-size:18px; font-weight:600; color:var(--ink); margin:0; }
  #plannerWorkspace .city-builder-disclosure { flex:none; margin:8px 0; max-height:45%; overflow:auto; }
  #plannerWorkspace .city-builder-disclosure > summary { min-height:44px; background:transparent; padding:6px 2px; font-size:12px; }
  #plannerWorkspace .city-builder-disclosure > summary span { font-size:11px; }
  #plannerWorkspace .day-tabs { flex:1; min-height:0; display:flex; flex-direction:column; gap:6px; margin-top:8px; overflow-y:auto; overscroll-behavior:contain; padding:2px 0; }
  #plannerWorkspace .day-tab-shell { flex:none; }
  #plannerWorkspace .day-tab { border:0; background:transparent; padding:10px 78px 10px 6px; grid-template-columns:24px minmax(0,1fr); gap:8px; min-height:74px; border-radius:12px; }
  #plannerWorkspace .day-tab.active { background:#eaf3ff; }
  #plannerWorkspace .day-number { width:24px; height:28px; background:transparent; font-size:12px; }
  #plannerWorkspace .day-name strong { font-size:14px; line-height:1.55; white-space:normal; overflow-wrap:anywhere; }
  #plannerWorkspace .day-name span { font-size:11px; line-height:1.5; }
  #plannerWorkspace :is(.day-drag-handle,.remove-day) { min-width:44px; min-height:44px; width:44px; height:44px; border-radius:50%; }
  #plannerWorkspace .day-drag-handle { right:35px; padding:10px; }
  #plannerWorkspace .remove-day { right:-5px; font-size:21px; }
  #plannerWorkspace .add-day { flex:none; min-height:44px; background:#fff; border:1px dashed #c7d7e7; border-radius:var(--radius-button); margin-top:12px; font-size:13px; }
  #recommendPanel .recommend-controls { flex:none; display:block; padding:20px 20px 0; }
  #recommendPanel .panel-toolbar { display:block; padding:0; border:0; }
  #recommendPanel .recommend-heading { display:flex; align-items:center; margin-bottom:8px; padding:0; }
  #recommendPanel .recommend-heading h2 { font-size:23px; }
  #recommendPanel #sourceStatus { margin:4px 0; font-size:12px; line-height:1.5; }
  #recommendPanel .place-search { margin:12px 0 0; padding:0; }
  #recommendPanel .explore-day-bar { display:none; }
  #recommendPanel .place-workflow-tools { margin:0; min-height:0; }
  #recommendPanel .city-auto-plan-status { padding:6px 0; margin:0; font-size:12px; }
  #recommendPanel #recommendations { padding:10px 20px 20px; gap:12px; overscroll-behavior:contain; }
  #recommendPanel #recommendations .place-description { font-size:13px; }
  #itineraryPanel > .panel-toolbar { padding:16px 24px 4px; gap:4px; border:0; background:#fff; flex-wrap:wrap; }
  #itineraryPanel .panel-toolbar h2 { font-size:20px; }
  #itineraryPanel .panel-toolbar p { color:var(--desktop-muted); line-height:1.6; font-size:12px; margin:4px 0; }
  #itineraryPanel .route-actions { gap:4px; flex-wrap:wrap; }
  #itineraryPanel > #mapPreview { margin:8px 24px 12px; height:clamp(140px,25dvh,250px); min-height:140px; flex:0 0 clamp(140px,25dvh,250px); border-radius:14px; box-shadow:none; }
  #itineraryPanel #timeline { flex:none; min-height:0; padding:8px 24px 24px; overflow:visible; }
  #itineraryPanel .scenic-internal-route { border:1px solid var(--desktop-line); background:#f8fafc; border-radius:10px; }
  #plannerWorkspace :is(.card-list,.timeline,.day-tabs,.city-builder-disclosure) { scrollbar-width:thin; scrollbar-color:#b5c5d5 transparent; }
  #plannerWorkspace ::selection { background:#d8eaff; color:#183c65; }
}
@media (min-width:1600px) {
  #plannerWorkspace:not(.is-empty) { grid-template-columns:250px minmax(430px,1.15fr) minmax(400px,1fr); }
  #recommendPanel .recommend-controls { padding-inline:28px; }
  #recommendPanel #recommendations { padding-inline:28px; }
}
