:root{
  --mtv7-screen-pad:12px;
  --mtv7-panel-pad:14px;
  --mtv7-gap:10px;
}

html,
body{
  overflow-x:hidden;
}

.app-shell,
.stage,
.screen,
.panel,
.panel-title,
.home-scroll,
.home-intro-copy,
.home-map-toolbar,
.gps-compact-toolbar,
.tracking-toolbar,
.market-head,
.market-actions,
.market-hero,
.mask-showcase-wrap,
.event-card-v5,
.home-event-card,
.directory-card-v5,
.shop-card-v5,
.product-card-v5{
  min-width:0;
}

.screen{
  padding-bottom:calc(var(--app-bottom-offset, 0px) + 14px);
}

.panel{
  position:relative;
  z-index:1;
}

.hero-actions,
.gps-shortcuts,
.event-card-actions,
.provider-actions,
.shop-actions-v5,
.product-actions-v5,
.market-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.hero-actions .cta,
.hero-actions .ghost,
.event-card-actions button,
.provider-actions button,
.shop-actions-v5 button,
.product-actions-v5 button,
.gps-shortcuts button,
.market-actions .cta,
.market-actions .ghost{
  max-width:100%;
  white-space:normal;
}

.home-intro-panel{
  gap:12px;
}

.home-intro-copy{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:12px;
}

.hero-actions .cta,
.hero-actions .ghost{
  min-height:38px;
  padding:0 12px;
  font-size:.78rem;
}

.compact-stats{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.compact-stats article{
  flex:0 1 108px;
  min-height:54px;
  padding:8px 10px;
}

.home-map-toolbar{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
}

.gps-panel-title{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:8px;
}

.gps-compact-toolbar{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
}

.tracking-toolbar.gps-core-controls{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
}

#liveMap{
  min-height:clamp(320px, 50dvh, 520px);
  height:clamp(320px, 50dvh, 520px);
}

.route-summary,
.event-card-v5,
.home-event-card,
.directory-card-v5,
.shop-card-v5,
.product-card-v5,
.feature-card,
.gps-activity-card{
  position:relative;
  z-index:1;
}

.event-card-media,
.home-event-media,
.provider-photo,
.shop-media-v5{
  flex:0 0 auto;
  object-fit:cover;
}

.event-card-copy,
.home-event-copy,
.provider-copy,
.shop-copy-v5,
.product-copy-v5{
  min-width:0;
}

#guideFilters,
#shopFilters{
  overflow:auto hidden;
  scrollbar-width:none;
}

#guideFilters::-webkit-scrollbar,
#shopFilters::-webkit-scrollbar{
  display:none;
}

.panel-title.responsive{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}

.panel-title.responsive .search{
  width:min(320px, 100%);
  min-width:0;
}

.mask-showcase-wrap{
  grid-template-columns:minmax(0,180px) minmax(0,1fr);
}

.market-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}

.market-actions{
  align-items:center;
}

.market-search{
  flex:1 1 220px;
  min-width:0;
}

.market-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  gap:12px;
}

.market-hero .ghost{
  justify-self:start;
}

@media(min-width:981px){
  #screen-live{
    grid-template-columns:minmax(0,1.12fr) minmax(280px, .88fr);
    align-items:start;
  }
}

@media(max-width:980px){
  .screen{
    padding:var(--mtv7-screen-pad) var(--mtv7-screen-pad) calc(var(--app-bottom-offset, 0px) + 12px);
  }

  .panel{
    padding:var(--mtv7-panel-pad);
    border-radius:20px;
  }

  .home-intro-copy,
  .home-map-toolbar,
  .gps-compact-toolbar,
  .market-hero,
  .panel-title.responsive{
    grid-template-columns:1fr;
  }

  .hero-actions{
    justify-content:flex-start;
  }

  .hero-actions .cta,
  .hero-actions .ghost{
    flex:0 1 auto;
  }

  .compact-stats article{
    flex:1 1 calc(33.333% - 8px);
    min-width:96px;
  }

  .gps-shortcuts{
    width:100%;
  }

  .tracking-toolbar.gps-core-controls #mapIcon{
    flex:1 1 100%;
  }

  .tracking-toolbar.gps-core-controls #startTracking,
  .tracking-toolbar.gps-core-controls #stopTracking{
    flex:1 1 0;
  }

  #screen-live{
    gap:12px;
  }

  .sidebar{
    order:2;
  }

  .market-head,
  .panel-title{
    flex-wrap:wrap;
  }

  .market-actions{
    width:100%;
  }

  .mask-showcase-wrap{
    grid-template-columns:1fr;
  }

  #eventsGrid,
  #guideGrid{
    grid-template-columns:1fr;
  }
}

@media(max-width:430px){
  .topbar{
    gap:8px;
  }

  .hero-actions .cta,
  .hero-actions .ghost{
    flex:1 1 calc(50% - 8px);
  }

  .compact-stats{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }

  .compact-stats article{
    min-width:0;
  }

  .gps-panel-title{
    grid-template-columns:minmax(0,1fr) auto;
  }

  .tracking-toolbar.gps-core-controls{
    display:grid;
    grid-template-columns:1fr;
  }

  .event-card-v5,
  .home-event-card,
  .directory-card-v5,
  .shop-card-v5{
    grid-template-columns:72px minmax(0,1fr);
    gap:8px;
  }

  .event-card-actions,
  .provider-actions,
  .shop-actions-v5,
  .product-actions-v5{
    display:grid;
    grid-template-columns:1fr;
  }

  #liveMap{
    min-height:320px;
    height:320px;
  }
}
