@import url("/app-spacing-v1.css?v=1");

:root{--apsny-app-nav-h:72px;--apsny-app-green:#173f32;--apsny-app-cream:#f8f3eb;--apsny-app-gold:#c8b28d}
html.apsny-app-mode body{padding-bottom:calc(var(--apsny-app-nav-h) + env(safe-area-inset-bottom,0px))!important}
html.apsny-app-mode body:not(.app-home-page){background:#f8f3eb!important}
html.apsny-app-mode body:not(.app-home-page)>.topbar,
html.apsny-app-mode body:not(.app-home-page) .page>.topbar,
html.apsny-app-mode body:not(.app-home-page) [data-public-header-v1]{display:none!important}
html.apsny-app-mode body:not(.app-home-page) #apsnyStoriesV1{display:none!important}
html.apsny-app-mode body:not(.app-home-page)>main{padding-top:max(12px,env(safe-area-inset-top,0px))}
html.apsny-app-mode body:not(.app-home-page) .page{padding-top:env(safe-area-inset-top,0px);height:calc(100dvh - var(--apsny-app-nav-h) - env(safe-area-inset-bottom,0px))!important}
html.apsny-app-mode body:not(.app-home-page) .map-shell{min-height:0!important}

.apsny-app-bottom-nav{position:fixed;z-index:2147483000;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,620px);height:calc(var(--apsny-app-nav-h) + env(safe-area-inset-bottom,0px));padding:7px 10px env(safe-area-inset-bottom,0px);background:linear-gradient(110deg,#12392d,#1d4c3b);border-radius:24px 24px 0 0;box-shadow:0 -8px 30px rgba(17,46,36,.16);display:grid;grid-template-columns:repeat(5,1fr);gap:2px}
.apsny-app-tab{min-width:0;color:#bfb8aa;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font:500 11px/1.1 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;position:relative;border-radius:13px}
.apsny-app-tab svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.apsny-app-tab.active{color:#f2e4c8}.apsny-app-tab.active::after{content:"";position:absolute;bottom:1px;width:26px;height:3px;border-radius:4px;background:#efd69f}.apsny-app-tab:active{background:rgba(255,255,255,.05)}
@media(min-width:621px){.apsny-app-bottom-nav{bottom:10px;border-radius:24px;padding-bottom:7px;height:72px}.apsny-app-mode body{padding-bottom:92px!important}}

/* APSNY APP UI V1.1 — unified mobile surfaces */
html.apsny-app-mode{--apsny-app-green:#173f32;--apsny-app-green-2:#245544;--apsny-app-cream:#f8f3eb;--apsny-app-gold:#c8b28d}
html.apsny-app-mode body:not(.app-home-page){background:var(--apsny-app-cream)!important}

/* Mobile map has only the two useful content modes. */
html.apsny-app-mode .map-content-mode{grid-template-columns:repeat(2,minmax(0,1fr))!important}

/* Event filters on map: period and format never overlap. */
html.apsny-app-mode .map-event-controls{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:8px!important;overflow:visible!important;width:100%}
html.apsny-app-mode .map-event-window{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important;width:100%}
html.apsny-app-mode .map-event-window button{min-width:0!important;width:100%!important;padding:6px 3px!important;white-space:nowrap}
html.apsny-app-mode .map-event-type{display:block!important;width:100%!important}
html.apsny-app-mode .map-event-type select{width:100%!important;max-width:none!important;border-radius:12px!important}

/* Events page: period chips stay on their own line, selects on the next line. */
html.apsny-app-mode body.apsny-app-events-page .events-v2-filter-row{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important;overflow:visible!important}
html.apsny-app-mode body.apsny-app-events-page .events-v2-filter-row button[data-window]{min-width:0!important;width:100%!important;padding:6px 3px!important;white-space:nowrap}
html.apsny-app-mode body.apsny-app-events-page #eventTypeSelect,
html.apsny-app-mode body.apsny-app-events-page #eventSettlementSelect{grid-column:span 2;width:100%!important;min-width:0!important;border-radius:12px!important}
html.apsny-app-mode body.apsny-app-events-page #pastEventsBtn{grid-column:1/-1;width:100%!important;border-radius:12px!important}

/* Unified green hero blocks for the main app sections. */
html.apsny-app-mode body.apsny-app-cafes-page main,
html.apsny-app-mode body.apsny-app-events-page .events-v2-main,
html.apsny-app-mode body.apsny-app-account-page main{padding-top:10px!important}
html.apsny-app-mode body.apsny-app-cafes-page .intro,
html.apsny-app-mode body.apsny-app-events-page .events-v2-hero,
html.apsny-app-mode body.apsny-app-account-page .profile-card{background:linear-gradient(145deg,#173f32,#245544)!important;border:0!important;box-shadow:0 12px 28px rgba(23,63,50,.16)!important;border-radius:22px!important;padding:18px!important;color:#f8f3eb!important;margin-bottom:14px!important}
html.apsny-app-mode body.apsny-app-cafes-page .intro{align-items:flex-start!important}
html.apsny-app-mode body.apsny-app-cafes-page .intro .eyebrow,
html.apsny-app-mode body.apsny-app-events-page .events-v2-eyebrow,
html.apsny-app-mode body.apsny-app-account-page .profile-card .eyebrow{color:#dcc9a6!important}
html.apsny-app-mode body.apsny-app-cafes-page .intro h1,
html.apsny-app-mode body.apsny-app-events-page .events-v2-hero h1,
html.apsny-app-mode body.apsny-app-account-page .profile-card h1{color:#fffaf2!important}
html.apsny-app-mode body.apsny-app-cafes-page .intro p,
html.apsny-app-mode body.apsny-app-events-page .events-v2-hero p,
html.apsny-app-mode body.apsny-app-account-page .profile-email{color:#e5d9ca!important}
html.apsny-app-mode body.apsny-app-cafes-page .counter,
html.apsny-app-mode body.apsny-app-events-page .events-v2-count{background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.18)!important;color:#f4ead9!important}
html.apsny-app-mode body.apsny-app-account-page .provider-badge{background:rgba(255,255,255,.14)!important;color:#f4ead9!important}
html.apsny-app-mode body.apsny-app-account-page .logout-button{background:rgba(255,255,255,.10)!important;border-color:rgba(255,255,255,.22)!important;color:#fff1e9!important}

@media(max-width:760px){
  html.apsny-app-mode body.apsny-app-cafes-page main{padding-left:10px!important;padding-right:10px!important}
  html.apsny-app-mode body.apsny-app-cafes-page .intro{display:block!important}
  html.apsny-app-mode body.apsny-app-cafes-page .intro h1{font-size:32px!important;line-height:1.04!important}
  html.apsny-app-mode body.apsny-app-cafes-page .intro p{font-size:13px!important;line-height:1.45!important;margin-top:9px!important}
  html.apsny-app-mode body.apsny-app-cafes-page .counter{display:inline-flex!important;margin-top:12px!important;font-size:11px!important}
  html.apsny-app-mode body.apsny-app-events-page .events-v2-main{width:calc(100% - 20px)!important;padding-left:0!important;padding-right:0!important}
  html.apsny-app-mode body.apsny-app-events-page .events-v2-hero{display:block!important}
  html.apsny-app-mode body.apsny-app-events-page .events-v2-hero h1{font-size:36px!important}
  html.apsny-app-mode body.apsny-app-events-page .events-v2-count{display:inline-flex!important;margin-top:11px!important;padding:6px 9px!important;border-radius:999px!important}
  html.apsny-app-mode body.apsny-app-account-page main{padding-left:9px!important;padding-right:9px!important}
  html.apsny-app-mode body.apsny-app-account-page .profile-card{border-radius:22px!important;padding:17px!important}
  html.apsny-app-mode body.apsny-app-account-page .profile-avatar{background:#f6efe5!important;color:#173f32!important;border:2px solid rgba(232,217,191,.75)!important}
}

/* APSNY APP UI V1.2 — MAP_EVENTS_FILTERS_START */
/* Respect the native hidden state. V1.1 accidentally overrode it with display:grid!important. */
html.apsny-app-mode .map-event-controls[hidden],
html.apsny-app-mode .map-cafe-controls[hidden]{display:none!important}

/* Map / Events: one horizontal, finger-scrollable filter rail. */
html.apsny-app-mode .map-event-controls:not([hidden]){
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:7px!important;
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:1px 1px 4px!important;
  scrollbar-width:none!important;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-inline:contain;
}
html.apsny-app-mode .map-event-controls:not([hidden])::-webkit-scrollbar{display:none!important}
html.apsny-app-mode .map-event-window{
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:6px!important;
  width:max-content!important;
  min-width:max-content!important;
  flex:0 0 auto!important;
}
html.apsny-app-mode .map-event-window button{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:max-content!important;
  padding:7px 10px!important;
  white-space:nowrap!important;
}
html.apsny-app-mode .map-event-type{
  display:block!important;
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
}
html.apsny-app-mode .map-event-type select{
  width:auto!important;
  min-width:126px!important;
  max-width:175px!important;
  white-space:nowrap!important;
  border-radius:999px!important;
}

/* Events page: preserve full labels and scroll the whole filter rail horizontally. */
html.apsny-app-mode body.apsny-app-events-page .events-v2-filter-row{
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:7px!important;
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:1px 1px 4px!important;
  scrollbar-width:none!important;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-inline:contain;
}
html.apsny-app-mode body.apsny-app-events-page .events-v2-filter-row::-webkit-scrollbar{display:none!important}
html.apsny-app-mode body.apsny-app-events-page .events-v2-filter-row>*{
  flex:0 0 auto!important;
  grid-column:auto!important;
}
html.apsny-app-mode body.apsny-app-events-page .events-v2-filter-row button[data-window]{
  width:auto!important;
  min-width:max-content!important;
  padding:7px 10px!important;
  white-space:nowrap!important;
}
html.apsny-app-mode body.apsny-app-events-page #eventTypeSelect,
html.apsny-app-mode body.apsny-app-events-page #eventSettlementSelect{
  width:auto!important;
  min-width:132px!important;
  max-width:190px!important;
  border-radius:999px!important;
}
html.apsny-app-mode body.apsny-app-events-page #pastEventsBtn{
  width:auto!important;
  min-width:max-content!important;
  border-radius:999px!important;
  white-space:nowrap!important;
}
/* APSNY APP UI V1.2 — MAP_EVENTS_FILTERS_END */

html.apsny-app-mode body .map-shell{isolation:isolate!important;z-index:0!important}
