/* Motorhome Planner v2.2 - Trips & Layout Refinement */

/* Header/settings */
.v2-menu-link{display:block;text-align:center;text-decoration:none}

/* Home: keep the lifestyle header, but get to useful content much sooner. */
body.v2-home-page{
  background:
    linear-gradient(180deg,rgba(255,247,238,.12) 0,rgba(255,247,238,.08) 90px,#f8f2eb 205px,#f8f2eb 100%),
    url('scene-home.jpg') center top/100% 210px no-repeat,
    #f8f2eb;
}
.v2-home-page .v2-dashboard{padding-top:62px;gap:13px}
.v2-home-page .v2-ready-card{padding:20px 23px;border-radius:23px}
.v2-home-page .v2-ready-card h1{font-size:clamp(29px,4vw,39px)}
.v2-home-page .v2-ready-card p{margin-bottom:12px}
.v2-home-page .v2-ready-card .v2-ring{width:88px;height:88px}

/* Compact, trip-specific image card. */
.v2-next-trip,
.v2-next-trip-compact{
  min-height:205px;
  background-image:var(--trip-cover,url('scene-road.jpg'));
  background-position:center;
  background-size:cover;
}
.v2-next-trip-compact .v2-next-copy{padding:20px 22px;max-width:72%}
.v2-next-trip-compact .v2-next-copy h2{font-size:clamp(30px,5vw,43px);margin-top:9px}
.v2-next-trip-compact .v2-next-copy>p{font-size:14px}
.v2-next-trip-compact .v2-trip-meta{margin-top:7px}
.v2-next-trip-compact .v2-countdown-chip{margin-top:9px;padding:7px 10px}
.v2-next-trip-compact .v2-countdown-chip strong{font-size:18px}
.v2-next-trip-compact .v2-countdown-chip small{font-size:9px}
.v2-next-trip-compact .v2-round-arrow{width:45px;height:45px;right:15px;bottom:15px}
.v2-next-trip.is-current .v2-next-overlay{background:linear-gradient(90deg,rgba(40,89,48,.94),rgba(50,115,61,.72),rgba(21,49,26,.18))}

/* Arrival gets a real campsite image, still unmistakably green. */
.v2-arrival-card{
  background:
    linear-gradient(135deg,rgba(57,130,66,.93),rgba(25,83,39,.78)),
    url('scene-arrival.jpg') center/cover no-repeat!important;
}
.v2-check-hero.arrival{
  background:
    linear-gradient(100deg,rgba(47,126,69,.95),rgba(27,91,44,.72),rgba(18,55,30,.42)),
    url('scene-arrival.jpg') center/cover no-repeat!important;
}

/* Every trip keeps its own saved cover image. */
.v2-trip-card{isolation:isolate}
.v2-trip-card:not(.featured)::before{
  content:"";position:absolute;right:0;top:0;bottom:0;width:34%;z-index:-2;
  background:var(--trip-cover,url('trip-default-1.jpg')) center/cover no-repeat;
  opacity:.44;
}
.v2-trip-card:not(.featured)::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(255,255,255,.98) 0,rgba(255,255,255,.94) 62%,rgba(255,255,255,.46) 100%);
  pointer-events:none;
}
.v2-trip-card.featured{min-height:155px}
.v2-trip-card-photo{background:var(--trip-cover,url('trip-default-1.jpg')) center/cover no-repeat!important}
.v2-trip-card.cancelled,.v2-trip-list.cancelled .v2-trip-card{opacity:.68;filter:saturate(.55)}

/* Trip detail cover follows the same image as its cards. */
.v2-trip-hero{background-image:var(--trip-cover,url('trip-default-1.jpg'))!important;background-position:center!important;background-size:cover!important}

/* Cover/status management */
.v2-trip-manage-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.v2-trip-manage-grid>.v2-form-panel{margin:0!important}
.v2-cover-preview{height:125px;border-radius:15px;background:var(--trip-cover,url('trip-default-1.jpg')) center/cover no-repeat;margin:10px 0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}
.v2-cover-panel p,.v2-status-readout p{font-size:10px;line-height:1.45;color:var(--v2-muted);margin:8px 0 12px}
.v2-cover-panel input[type=file]{font-size:10px;padding:9px;background:#fff;border:1px solid #eadfd5;border-radius:11px;width:100%}
.v2-inline-form{margin-top:7px!important}
.v2-subtle-button{border:1px solid #eadbd0;background:#fff;color:#8a5b3e;border-radius:11px;padding:9px 11px;font-weight:850;font-size:10px;cursor:pointer}
.v2-status-readout{margin:10px 0 12px}
.v2-state-pill{display:inline-flex;padding:6px 8px;border-radius:999px;font-size:8px;letter-spacing:.08em;font-weight:900;background:#fff0e4;color:#bc4a07}
.v2-state-pill.current{background:#e4f3e4;color:#2e7137}.v2-state-pill.past{background:#eeeae6;color:#70675f}.v2-state-pill.cancelled{background:#f7e5e2;color:#a13e33}
.v2-status-panel form{margin-top:7px!important}

/* Past/cancelled organization */
.v2-cancelled-section{margin-top:5px;padding:12px 14px;border-radius:17px;background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.85)}
.v2-cancelled-section>summary{cursor:pointer;font-size:11px;font-weight:850;color:#81766d;display:flex;justify-content:space-between}
.v2-cancelled-section>summary span{min-width:23px;height:23px;display:grid;place-items:center;background:#eee7e1;border-radius:999px;font-size:8px}
.v2-cancelled-section .v2-trip-list{margin-top:10px}

@media(max-width:760px){
  body.v2-home-page{
    background:
      linear-gradient(180deg,rgba(255,247,238,.08) 0,rgba(255,247,238,.06) 70px,#f8f2eb 158px,#f8f2eb 100%),
      url('scene-home.jpg') center top/auto 165px no-repeat,
      #f8f2eb;
  }
  .v2-home-page .v2-dashboard{padding-top:8px;gap:10px}
  .v2-home-page .v2-ready-card{padding:13px 14px;border-radius:18px}
  .v2-home-page .v2-ready-card h1{font-size:28px;margin:6px 0 3px}
  .v2-home-page .v2-ready-card p{font-size:10px;margin-bottom:8px}
  .v2-home-page .v2-ready-card .v2-ring{width:68px;height:68px}.v2-home-page .v2-ready-card .v2-ring strong{font-size:18px}.v2-home-page .v2-ready-card .v2-ring small{font-size:7px}
  .v2-home-page .v2-ready-card .v2-line-progress{height:6px}

  .v2-next-trip,.v2-next-trip-compact{min-height:158px;border-radius:19px}
  .v2-next-trip-compact .v2-next-copy{padding:14px 15px;max-width:76%}
  .v2-next-trip-compact .v2-pill-label{padding:6px 8px;font-size:8px}
  .v2-next-trip-compact .v2-next-copy h2{font-size:29px;margin:7px 0 2px}
  .v2-next-trip-compact .v2-next-copy>p{font-size:11px}
  .v2-next-trip-compact .v2-trip-meta{margin-top:5px;gap:5px}.v2-next-trip-compact .v2-trip-meta span{font-size:7px;padding:4px 6px}
  .v2-next-trip-compact .v2-countdown-chip{margin-top:6px;padding:5px 8px}.v2-next-trip-compact .v2-countdown-chip strong{font-size:15px}.v2-next-trip-compact .v2-countdown-chip small{font-size:7px}
  .v2-next-trip-compact .v2-round-arrow{width:38px;height:38px;right:11px;bottom:11px}

  .v2-phase-card{min-height:175px}

  .v2-trip-card.featured{min-height:138px}
  .v2-trip-card:not(.featured)::before{width:38%}
  .v2-trip-manage-grid{grid-template-columns:1fr}
  .v2-cover-preview{height:105px}
}

@media(max-width:430px){
  body.v2-home-page{background-size:auto 150px}
  .v2-home-page .v2-dashboard{padding-top:2px}
  .v2-next-trip,.v2-next-trip-compact{min-height:150px}
  .v2-next-trip-compact .v2-next-copy h2{font-size:27px}
  .v2-next-trip-compact .v2-round-arrow{width:36px;height:36px}
}
.v2-trip-context{font-size:.82em;opacity:.82;white-space:nowrap}
.v2-packing-banner .v2-trip-context{display:block;margin-top:4px;font-weight:750;color:#7e6f64}
