/* =====================================================
   BeaMii Native Webapp UI v9.2
   - Consolidated and cleaned
   - Existing class names preserved
   - Topbar v2 aligned with app-shell-topbar.php
   - Mobile-first app shell
   - Place page ownership moved to place.css
===================================================== */

/* =====================================================
   TOKENS
===================================================== */
:root{
  --beamii-primary:#1f3c5c;
  --beamii-primary-2:#245d87;
  --beamii-primary-3:#2f78a8;
  --beamii-primary-4:#4f95c1;
  --beamii-accent:#1fa3d6;
  --beamii-accent-2:#59b6de;
  --beamii-accent-3:#0f8fc6;
  --beamii-orange:#ff8a1f;
  --beamii-orange-2:#ff6f00;
  --beamii-green:#14b87a;
  --beamii-purple:#6875f5;

  --text:#0d1726;
  --text-2:#1d2a39;
  --text-3:#39495d;
  --muted:#66778d;
  --muted-2:#8897aa;
  --muted-3:#b5c0cb;
  --text-on-blue:rgba(255,255,255,.96);
  --muted-on-blue:rgba(255,255,255,.76);

  --bg:#eaf2f8;
  --bg-2:#dce8f2;
  --bg-3:#c9dceb;
  --surface:#ffffff;
  --surface-2:#f9fbfd;
  --surface-3:#f2f7fb;
  --surface-soft:#f6f9fc;
  --surface-soft-2:#edf3f8;
  --surface-soft-3:#e5eef6;

  --glass-blue:rgba(27,72,109,.88);
  --glass-blue-2:rgba(36,89,132,.82);
  --glass-stroke:rgba(255,255,255,.18);

  --border-soft:1px solid rgba(13,23,38,.06);
  --border-soft-2:1px solid rgba(13,23,38,.08);
  --border-soft-3:1px solid rgba(13,23,38,.12);
  --border-blue-soft:1px solid rgba(31,163,214,.16);
  --border-white-soft:1px solid rgba(255,255,255,.34);
  --border-white-soft-2:1px solid rgba(255,255,255,.56);

  --radius-pill:999px;
  --radius-3xl:34px;
  --radius-2xl:28px;
  --radius-xl:24px;
  --radius-lg:20px;
  --radius-md:16px;
  --radius-sm:12px;

  --shadow-xs:0 2px 8px rgba(11,26,40,.04);
  --shadow-sm:0 8px 20px rgba(11,26,40,.08);
  --shadow-md:0 14px 34px rgba(11,26,40,.10);
  --shadow-lg:0 22px 56px rgba(11,26,40,.14);
  --shadow-xl:0 36px 90px rgba(11,26,40,.18);
  --shadow-blue:0 16px 36px rgba(31,163,214,.22);
  --shadow-blue-soft:0 12px 26px rgba(31,163,214,.15);

  --safe-top:env(safe-area-inset-top, 0px);
  --safe-bottom:env(safe-area-inset-bottom, 0px);
  --safe-left:env(safe-area-inset-left, 0px);
  --safe-right:env(safe-area-inset-right, 0px);

  --app-max:1280px;
  --ui-max:560px;
  --page-max:760px;
  --places-max:1280px;

  --bottom-nav-h:74px;
  --bottom-nav-gap:12px;
  --sheet-bottom-space:calc(var(--bottom-nav-h) + var(--bottom-nav-gap) + var(--safe-bottom) + 10px);
  --sheet-collapsed-visible:56px;

  --topbar-pad-x:14px;
  --topbar-offset-top:10px;
  --topbar-search-h:56px;
  --topbar-chips-h:42px;
  --topbar-gap:10px;
  --topbar-total-h:calc(var(--safe-top) + var(--topbar-offset-top) + var(--topbar-search-h) + var(--topbar-gap) + var(--topbar-chips-h) + 12px);

  --beamii-bg-standard:
    radial-gradient(circle at top, rgba(255,255,255,.44) 0%, rgba(255,255,255,0) 22%),
    linear-gradient(180deg, #dbe9f4 0%, #d1e2ef 36%, #c7dcea 100%);

  --beamii-bg-dark-page:
    linear-gradient(180deg, #0b1624 0%, #111827 55%, #111827 100%);

  --focus-ring:0 0 0 4px rgba(31,163,214,.15);
  --focus-outline:2px solid rgba(31,163,214,.38);

  --vh:1vh;

  --beamii-page-transition-bg:rgba(12,28,46,.66);
  --beamii-page-transition-bg-soft:rgba(20,41,64,.44);
  --beamii-page-transition-bar-bg:linear-gradient(90deg, #41c7ff 0%, #258ef2 100%);
  --beamii-page-transition-panel-bg:
    linear-gradient(180deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,.07) 100%);
  --beamii-page-transition-panel-border:1px solid rgba(255,255,255,.24);
  --beamii-page-transition-text:#f5f9ff;
  --beamii-page-transition-muted:rgba(224,238,255,.84);
  --beamii-page-transition-dot:#8ad9ff;
  --beamii-page-transition-shadow:
    0 30px 74px rgba(5,12,26,.42),
    0 10px 30px rgba(5,12,26,.32);
}

/* =====================================================
   RESET / BASE
===================================================== */
*,
*::before,
*::after{
  box-sizing:border-box;
  -webkit-tap-highlight-color:transparent;
}

html{
  min-height:100%;
  height:auto;
  background:var(--beamii-primary) !important;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  scrollbar-gutter:stable;
}

body{
  margin:0;
  min-height:100%;
  height:auto;
  background:var(--bg) !important;
  color:var(--text);
  font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
  overflow-y:auto;
  overflow-wrap:anywhere;
}

html.is-standalone body{
  background:var(--bg);
}

img{
  max-width:100%;
  height:auto;
}

svg{
  display:block;
}

input,
button,
textarea,
select{
  font:inherit;
}

button{
  -webkit-appearance:none;
  appearance:none;
}

textarea{
  resize:vertical;
}

[hidden]{
  display:none !important;
}

/* WordPress-style helper: visually hide text but keep it for screen readers. */
.screen-reader-text{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0, 0, 0, 0) !important;
  clip-path:inset(50%) !important;
  white-space:nowrap !important;
  border:0 !important;
}

.screen-reader-text:focus,
.screen-reader-text:active{
  position:static !important;
  width:auto !important;
  height:auto !important;
  margin:0 !important;
  overflow:visible !important;
  clip:auto !important;
  clip-path:none !important;
  white-space:normal !important;
}

/* =====================================================
   APP SHELL / LINKS
===================================================== */
.app{
  position:relative;
  width:100%;
  min-height:100dvh;
  min-height:100svh;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}

@supports not (height:100dvh){
  .app{
    min-height:calc(var(--vh, 1vh) * 100);
  }
}

.app a,
.app a:visited,
.app a:hover,
.app a:active,
.app a:focus{
  color:inherit;
  text-decoration:none !important;
  -webkit-text-decoration:none !important;
  outline:none;
}

.app a,
.app a *{
  border-bottom:0 !important;
}

.app a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible{
  outline:var(--focus-outline);
  outline-offset:3px;
}

.app.beamii-layout-page,
.app.beamii-layout-list,
.app.beamii-legal-page,
.app.beamii-register-page,
.app.beamii-login-page,
.app.beamii-account-page,
.app.beamii-business-page{
  min-height:100dvh;
  min-height:100svh;
  height:auto;
  overflow:visible;
}

/* =====================================================
   SHARED HELPERS
===================================================== */
.glass{
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border:1px solid var(--glass-stroke);
  box-shadow:var(--shadow-md);
}

.cards,
.list,
.settings-list{
  display:flex;
  flex-direction:column;
}

.cards{ gap:12px; }
.list{ gap:10px; }
.settings-list{ gap:12px; margin-top:14px; }

.u-scroll-y{
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
}

.sheet__content,
.panel__section{
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
}

.beamii-page,
.beamii-auth,
.places-page,
.beamii-home,
.beamii-legal{
  position:relative;
  flex:1 1 auto;
  min-height:0;
  overflow:visible;
  overscroll-behavior:auto;
}

.card,
.place-item,
.row,
.account-user,
.beamii-empty__info,
.beamii-biz__notice,
.beamii-biz__media-box,
.beamii-biz__preview,
.beamii-biz__gitem{
  background:var(--surface-soft);
  border:var(--border-soft);
}

.beamii-page__card,
.beamii-auth__card,
.beamii-auth__notice,
.beamii-biz__card,
.settings-item,
.panel,
.beamii-install__sheet,
.beamii-perms__sheet,
.beamii-mapmodal__sheet,
.beamii-legal__card{
  background:var(--surface);
  border:var(--border-soft-2);
  box-shadow:var(--shadow-md);
}

.beamii-loader__card{
  background:transparent;
  box-shadow:none;
}

.icon-btn,
.beamii-logo,
.avatar,
.fab,
.card__img,
.settings-icon,
.beamii-home__logo,
.beamii-biz__notice i,
.beamii-mapmodal__close,
.settings-cta,
.card__cta,
.beamii-biz__gremove{
  display:grid;
  place-items:center;
}

.card__body,
.settings-body,
.panel__user,
.topbar-brand,
.place-row__main,
.place-row__top,
.place-row__bottom,
.sheet__header-copy,
.topbar-place__titlewrap{
  min-width:0;
}

/* =====================================================
   MAP
===================================================== */
.map{
  position:absolute;
  inset:0;
  z-index:0;
  background:var(--bg);
}

#map{
  position:absolute;
  inset:0;
}

.leaflet-control-zoom{
  display:none;
}

.leaflet-container{
  background:var(--bg);
  -webkit-transform:translateZ(0);
  transform:translateZ(0);
  touch-action:pan-x pan-y;
  font:inherit;
}

.leaflet-popup-content-wrapper{
  border-radius:22px;
  box-shadow:var(--shadow-lg);
}

.leaflet-popup-tip{
  box-shadow:none;
}

.leaflet-popup-content{
  margin:12px !important;
}

.leaflet-marker-green img{
  filter:hue-rotate(120deg) saturate(1.55);
}

/* =====================================================
   TOPBAR / SEARCH / CHIPS
===================================================== */
.topbar{
  position:fixed;
  left:0;
  right:0;
  top:0;
  z-index:70;
  padding:
    calc(var(--safe-top) + var(--topbar-offset-top))
    calc(var(--topbar-pad-x) + var(--safe-right))
    12px
    calc(var(--topbar-pad-x) + var(--safe-left));
  display:flex;
  flex-direction:column;
  gap:var(--topbar-gap);
  pointer-events:none;
  overflow:visible;
  background:
    linear-gradient(180deg, rgba(255,255,255,.48) 0%, rgba(255,255,255,.20) 44%, rgba(255,255,255,0) 100%);
}

.topbar--simple{
  background:transparent;
}

.topbar--view-home,
.topbar--view-default,
.topbar--view-account{
  background:
    linear-gradient(180deg, rgba(255,255,255,.34) 0%, rgba(255,255,255,.10) 46%, rgba(255,255,255,0) 100%);
}

.topbar--view-map{
  background:
    linear-gradient(180deg, rgba(234,242,248,.34) 0%, rgba(234,242,248,.14) 46%, rgba(234,242,248,0) 100%);
}

.topbar--view-places{
  background:
    linear-gradient(180deg, rgba(234,242,248,.84) 0%, rgba(234,242,248,.56) 52%, rgba(234,242,248,0) 100%);
}

.topbar-inner{
  width:100%;
  max-width:var(--places-max);
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:var(--topbar-gap);
}

.searchbar{
  position:relative;
  pointer-events:auto;
  width:100%;
  max-width:560px;
  min-height:var(--topbar-search-h);
  margin:0 auto;
  padding:8px 10px 8px 12px;
  display:flex;
  align-items:center;
  gap:10px;
  border-radius:26px;
  background:
    linear-gradient(180deg, rgba(39,88,128,.94) 0%, rgba(29,73,111,.92) 100%);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:
    0 16px 36px rgba(11,26,40,.20),
    0 2px 10px rgba(11,26,40,.10),
    inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(18px) saturate(1.08);
  -webkit-backdrop-filter:blur(18px) saturate(1.08);
  overflow:visible;
}

.searchbar::before{
  content:"";
  position:absolute;
  inset:1px;
  border-radius:25px;
  pointer-events:none;
  background:
    linear-gradient(180deg, rgba(255,255,255,.08) 0%, rgba(255,255,255,0) 42%);
}

.searchbar--brand,
.searchbar--interactive,
.searchbar--place{
  max-width:560px;
}

.searchbar--view-places,
.searchbar--view-map,
.topbar--places .searchbar,
.topbar--map .searchbar{
  max-width:560px;
}

.searchbar-content{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  align-items:center;
  gap:10px;
}

.topbar-search{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  align-items:center;
}

.topbar-search__field{
  position:relative;
  flex:1 1 auto;
  min-width:0;
  height:42px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 14px;
  border-radius:18px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}

.topbar-search__icon{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:16px;
  height:16px;
  color:rgba(255,255,255,.80);
  font-size:14px;
}

.topbar-search__input,
.searchbar input{
  flex:1 1 auto;
  min-width:0;
  width:100%;
  height:100%;
  padding:0;
  border:none;
  background:transparent;
  outline:none;
  font-size:16px;
  font-weight:700;
  letter-spacing:.01em;
  color:var(--text-on-blue);
}

.topbar-search__input::placeholder,
.searchbar input::placeholder{
  color:rgba(255,255,255,.72);
  font-weight:600;
}

.topbar-brand,
.topbar-place{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  align-items:center;
}

.topbar-brand{
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:4px;
}

.topbar-brand__eyebrow,
.topbar-place__eyebrow{
  display:inline-flex;
  align-items:center;
  align-self:flex-start;
  min-height:22px;
  padding:0 9px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.10);
  color:rgba(255,255,255,.78);
  font-size:11px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
  line-height:1;
}

.topbar-place__titlewrap{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:4px;
}

.topbar-brand__title,
.topbar-place__title{
  margin:0;
  font-weight:900;
  letter-spacing:-.02em;
  line-height:1.06;
  color:rgba(255,255,255,.96);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.topbar-brand__title{
  font-size:17px;
}

.topbar-place__title{
  font-size:16px;
}

.topbar-brand__subtitle,
.topbar-place__subtitle{
  font-size:12px;
  line-height:1.15;
  color:rgba(255,255,255,.74);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.topbar-actions{
  position:relative;
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  margin-left:auto;
  pointer-events:auto;
  overflow:visible;
}

.icon-btn{
  width:38px;
  height:38px;
  border:none;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  color:rgba(255,255,255,.96);
  cursor:pointer;
  transition:
    transform .14s ease,
    background .14s ease,
    box-shadow .14s ease;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}

.icon-btn:active{
  transform:scale(.98);
}

.beamii-install-btn{
  background:
    linear-gradient(180deg, rgba(255,255,255,.14) 0%, rgba(255,255,255,.10) 100%);
}

.beamii-logo{
  position:relative;
  width:40px;
  height:40px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  overflow:visible;
  border-radius:999px;
  background:
    radial-gradient(circle at 38% 26%, rgba(255,255,255,.96) 0 16%, rgba(255,255,255,.78) 17% 42%, rgba(232,247,255,.46) 43% 100%),
    linear-gradient(180deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,.10) 100%);
  border:1px solid rgba(255,255,255,.22);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.20),
    0 10px 22px rgba(2,28,50,.12);
}

.beamii-logo--character{
  isolation:isolate;
}

.beamii-logo__character{
  position:relative;
  z-index:1;
  display:block;
  width:36px;
  height:40px;
  max-width:none;
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 6px 8px rgba(3,39,65,.18));
  transform:translateY(1px);
  pointer-events:none;
  user-select:none;
  -webkit-user-drag:none;
}

.beamii-dot,
.badge .dot,
.mini-dot{
  border-radius:999px;
  background:var(--beamii-accent);
}

.beamii-dot{
  width:14px;
  height:14px;
  box-shadow:
    0 0 0 6px rgba(31,163,214,.18),
    0 0 18px rgba(31,163,214,.20);
}

.avatar{
  width:40px;
  height:40px;
  flex:0 0 auto;
  padding:0;
  overflow:hidden;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.16);
  box-shadow:
    0 0 0 2px rgba(255,255,255,.30),
    0 10px 22px rgba(0,0,0,.14);
  cursor:pointer;
  transition:transform .14s ease, box-shadow .14s ease;
}

.avatar img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  border-radius:999px;
}

.avatar:active{
  transform:scale(.98);
}

.beamii-lang-inline{
  position:relative;
  flex:0 0 auto;
  display:flex;
  align-items:center;
  min-width:0;
}

.beamii-lang-inline .trp-language-switcher,
.beamii-lang-inline .trp-ls-shortcode-language,
.beamii-lang-inline .trp-language-switcher-container{
  margin:0 !important;
}

.beamii-lang-inline .trp-language-item__current,
.beamii-lang-inline .trp-ls-shortcode-current-language > a,
.beamii-lang-inline .trp-language-switcher > div > a,
.beamii-lang-inline .trp-language-switcher > a{
  min-height:38px !important;
  height:38px !important;
  padding:0 11px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.12) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  color:rgba(255,255,255,.96) !important;
  font-size:13px !important;
  font-weight:800 !important;
  text-decoration:none !important;
  box-shadow:none !important;
  line-height:1 !important;
}

.beamii-lang-inline .trp-language-switcher ul,
.beamii-lang-inline .trp-switcher-dropdown-list,
.beamii-lang-inline .trp-ls-shortcode-language{
  margin-top:8px !important;
  padding:6px !important;
  border:none !important;
  border-radius:16px !important;
  background:#fff !important;
  box-shadow:0 18px 40px rgba(11,26,40,.16) !important;
  min-width:156px !important;
  overflow:hidden !important;
}

.beamii-lang-inline .trp-language-switcher ul a,
.beamii-lang-inline .trp-switcher-dropdown-list a{
  min-height:40px !important;
  padding:0 12px !important;
  display:flex !important;
  align-items:center !important;
  border-radius:12px !important;
  color:var(--text) !important;
  font-size:13px !important;
  font-weight:800 !important;
  text-decoration:none !important;
}

.beamii-lang-inline .trp-language-switcher ul a:hover,
.beamii-lang-inline .trp-switcher-dropdown-list a:hover{
  background:var(--surface-soft-2) !important;
}

.chips,
.places-chips{
  display:flex;
  gap:8px;
  overflow:auto;
  scrollbar-width:none;
}

.chips{
  position:relative;
  z-index:1;
  pointer-events:auto;
  width:100%;
  max-width:var(--places-max);
  margin:0 auto;
  padding:0 1px 2px;
}

.chips-track{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:max-content;
  padding-right:2px;
}

.places-chips{
  margin-top:10px;
  padding-bottom:6px;
}

.chips::-webkit-scrollbar,
.places-chips::-webkit-scrollbar{
  display:none;
}

.chip,
.places-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  white-space:nowrap;
  cursor:pointer;
  font-size:13px;
  font-weight:850;
  line-height:1;
  transition:
    transform .14s ease,
    background .16s ease,
    color .16s ease,
    box-shadow .16s ease,
    border-color .16s ease;
}

.chip{
  min-height:38px;
  padding:0 14px;
  border-radius:999px;
  background:rgba(255,255,255,.98);
  border:1px solid rgba(13,23,38,.06);
  box-shadow:
    0 8px 18px rgba(11,26,40,.06),
    inset 0 1px 0 rgba(255,255,255,.7);
  color:var(--text-2);
}

.chip i{
  font-size:13px;
  color:var(--muted);
}

.chip.is-active{
  background:linear-gradient(135deg, var(--beamii-primary-2) 0%, var(--beamii-primary-3) 100%);
  border-color:transparent;
  color:#fff;
  box-shadow:0 12px 26px rgba(31,163,214,.18);
}

.chip.is-active i{
  color:#fff;
}

.chip:active{
  transform:scale(.99);
}

.places-chip{
  min-height:38px;
  padding:0 14px;
  border:none;
  border-radius:999px;
  background:var(--surface);
  color:var(--text-3);
  box-shadow:var(--shadow-sm);
}

.places-chip i{
  opacity:.85;
}

.places-chip.is-active{
  background:var(--beamii-primary);
  color:#fff;
}

.beamii-hours-subchips{
  min-height:0;
}

.topbar--place .searchbar{
  background:
    linear-gradient(180deg, rgba(31,72,109,.92) 0%, rgba(25,62,96,.90) 100%);
}

.topbar--simple .searchbar,
.topbar--view-home .searchbar,
.topbar--view-default .searchbar,
.topbar--view-account .searchbar{
  background:
    linear-gradient(180deg, rgba(31,72,109,.92) 0%, rgba(25,62,96,.90) 100%);
}

/* =====================================================
   FAB / BOTTOM NAV
===================================================== */
.fab-stack{
  position:fixed;
  right:14px;
  top:184px;
  z-index:35;
  display:flex;
  flex-direction:column;
  gap:12px;
}

.fab{
  width:48px;
  height:48px;
  border-radius:18px;
  background:rgba(255,255,255,.96);
  border:var(--border-soft);
  box-shadow:var(--shadow-md);
  color:var(--text-2);
  cursor:pointer;
}

.fab:active{
  transform:scale(.98);
}

.fab--primary{
  width:58px;
  height:58px;
  border:none;
  border-radius:20px;
  background:linear-gradient(135deg, var(--beamii-accent) 0%, var(--beamii-primary-3) 100%);
  color:#fff;
  box-shadow:var(--shadow-blue);
}

.bottom-nav{
  position:fixed;
  left:50%;
  bottom:calc(var(--bottom-nav-gap) + var(--safe-bottom));
  z-index:80;
  width:calc(100% - 20px);
  max-width:var(--ui-max);
  min-height:var(--bottom-nav-h);
  padding:6px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:4px;
  align-items:stretch;
  transform:translateX(-50%);
  background:rgba(31,60,92,.92);
  border:1px solid rgba(255,255,255,.18);
  border-radius:28px;
  box-shadow:0 18px 40px rgba(11,26,40,.22);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

.nav-item{
  min-height:60px;
  padding:6px 0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  border:none;
  border-radius:18px;
  background:transparent;
  color:rgba(255,255,255,.76) !important;
  font-size:12px;
  text-decoration:none !important;
  cursor:pointer;
  transition:all .16s ease;
}

.nav-item i{
  font-size:18px;
  color:rgba(255,255,255,.76);
}

.nav-item.is-active{
  color:#fff !important;
  background:rgba(255,255,255,.12);
}

.nav-item.is-active i{
  color:var(--beamii-orange);
}

.nav-item:active{
  transform:scale(.98);
}

/* =====================================================
   SHEET
===================================================== */
.sheet{
  position:fixed;
  left:0;
  right:0;
  bottom:var(--sheet-bottom-space);
  z-index:45;
  min-height:250px;
  height:min(58dvh, calc(100dvh - var(--sheet-bottom-space) - 12px));
  max-height:calc(100dvh - var(--sheet-bottom-space) - 12px);
  overflow:hidden;
  background:rgba(255,255,255,.97);
  border:1px solid rgba(255,255,255,.78);
  border-top-left-radius:30px;
  border-top-right-radius:30px;
  box-shadow:
    0 -14px 42px rgba(11,26,40,.14),
    0 -4px 18px rgba(11,26,40,.06);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  will-change:transform;
  touch-action:none;
  transition:transform 360ms cubic-bezier(.2,.9,.2,1);
  transform:translateY(var(--sheetY, calc(100% - var(--sheet-collapsed-visible)))) translateZ(0);
  -webkit-transform:translateY(var(--sheetY, calc(100% - var(--sheet-collapsed-visible)))) translateZ(0);
}

.sheet:not([data-beamii-sheet-initialized="1"]){
  transition:none;
}

@supports not (height:100dvh){
  .sheet{
    height:min(58vh, calc(100vh - var(--sheet-bottom-space) - 12px));
    max-height:calc(100vh - var(--sheet-bottom-space) - 12px);
  }
}

.sheet.is-dragging{
  transition:none !important;
}

.sheet[data-sheet-state="collapsed"] .sheet__content{
  overflow:hidden;
}

.sheet[data-sheet-state="collapsed"] #viewContainer,
.sheet[data-sheet-state="collapsed"] #placesList{
  pointer-events:none;
}

.sheet[data-sheet-state="collapsed"] .sheet__routeinfo{
  display:none !important;
}

.sheet [data-sheet-drag-region="1"],
.sheet__header{
  touch-action:none;
  -webkit-user-select:none;
  user-select:none;
}

.sheet__handle{
  padding:10px 0 2px;
  display:flex;
  justify-content:center;
  touch-action:none;
  cursor:grab;
}

.sheet__handle:active{
  cursor:grabbing;
}

.sheet__grab{
  width:46px;
  height:5px;
  border-radius:999px;
  background:rgba(16,32,51,.16);
}

.sheet__content{
  max-height:100%;
  min-height:0;
  padding:12px 12px 20px;
  overflow:auto;
  touch-action:pan-y;
}

.sheet__header{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-bottom:14px;
}

.sheet__header h2{
  margin:0;
  font-size:1.24rem;
  line-height:1.08;
  letter-spacing:-.03em;
  font-weight:950;
  color:#102033;
}

.sheet__header-copy{
  min-width:0;
  flex:1 1 auto;
}

.sheet__subline{
  margin-top:6px;
  font-size:.92rem;
  line-height:1.45;
  color:rgba(16,32,51,.66);
}

/* =====================================================
   SHEET ROUTEBAR / ROUTE INFO
===================================================== */
.sheet__header-main{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
}

.badge{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:7px;
  padding-top:2px;
  font-size:.76rem;
  font-weight:900;
  color:#567089;
}

.badge .temp,
.badge .aqi{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:24px;
  padding:0;
  white-space:nowrap;
}

.badge .temp i{
  color:#17a673;
}

.badge .aqi{
  color:#4c6b86;
}

.badge .dot{
  width:8px;
  height:8px;
  background:#2db3ec;
  box-shadow:0 0 0 4px rgba(45,179,236,.14);
}

.sheet__routebar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}

.sheet__travelmodes{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  width:100%;
}

.sheet__modebtn,
.sheet__navbtn{
  min-height:48px;
  padding:0 14px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-size:.96rem;
  font-weight:900;
  white-space:nowrap;
}

.sheet__modebtn{
  border:1px solid rgba(15,23,42,.07);
  background:#eef3f7;
  color:#4b647d;
  box-shadow:none;
  cursor:pointer;
  transition:
    transform .14s ease,
    background .16s ease,
    color .16s ease,
    box-shadow .16s ease,
    border-color .16s ease;
}

.sheet__modebtn i{
  font-size:.95rem;
  opacity:.95;
}

.sheet__modebtn:hover{
  background:#e8eef4;
}

.sheet__modebtn:active{
  transform:scale(.985);
}

.sheet__modebtn.is-active{
  background:linear-gradient(135deg, #2a6798 0%, #2f78a8 100%);
  border-color:transparent;
  color:#fff;
  box-shadow:0 12px 24px rgba(42,103,152,.22);
}

.sheet__modebtn.is-active i{
  color:#fff;
  opacity:1;
}

.sheet__navbtn{
  border:none;
  background:linear-gradient(135deg, #1fa3d6 0%, #2f78a8 100%);
  color:#fff !important;
  box-shadow:0 12px 24px rgba(31,163,214,.20);
  transition:transform .14s ease, filter .16s ease, box-shadow .16s ease;
}

.sheet__navbtn:hover{
  color:#fff !important;
  filter:brightness(1.03);
}

.sheet__navbtn:active{
  transform:scale(.985);
}

.sheet__routeinfo{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.sheet__routepill{
  min-height:32px;
  padding:0 11px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  background:#f4f7fb;
  border:1px solid rgba(15,23,42,.06);
  color:#405972;
  font-size:.78rem;
  font-weight:850;
  box-shadow:none;
}

.sheet__routepill i{
  opacity:.85;
}

.sheet__routepill span{
  line-height:1;
}

/* =====================================================
   GENERIC CARDS / COMPONENTS
===================================================== */
.card{
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px;
  border-radius:20px;
}

.card__img{
  width:70px;
  height:70px;
  border-radius:18px;
  color:var(--text-3);
  background:var(--surface-soft-3);
}

.card__body{
  flex:1;
}

.card__title{
  font-weight:800;
  color:var(--text);
}

.card__meta,
.place-meta{
  margin-top:4px;
  font-size:13px;
  color:var(--muted);
}

.card__cta{
  width:46px;
  height:46px;
  border-radius:16px;
  border:var(--border-soft);
  background:#fff;
  box-shadow:var(--shadow-sm);
  color:var(--text-3);
  cursor:pointer;
}

.card__cta:active{
  transform:scale(.98);
}

.place-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px;
  margin-top:10px;
  border-radius:18px;
}

/* =====================================================
   OVERLAY / PANEL / TOAST / PWA
===================================================== */
.overlay{
  position:fixed;
  inset:0;
  z-index:200;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  opacity:0;
  pointer-events:none;
  transition:opacity .25s ease;
}

.overlay:not([hidden]){
  opacity:1;
  pointer-events:auto;
}

.overlay__backdrop,
.beamii-install__backdrop,
.beamii-perms__backdrop,
.beamii-mapmodal__backdrop{
  position:absolute;
  inset:0;
}

.overlay__backdrop{
  background:rgba(0,0,0,.42);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

.panel{
  position:relative;
  width:calc(100% - 20px);
  max-width:var(--ui-max);
  margin-top:calc(14px + var(--safe-top));
  margin-bottom:calc(14px + var(--safe-bottom));
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border-radius:30px;
  transform:translateY(34px);
  transition:transform .35s cubic-bezier(.2,.9,.2,1);
}

.overlay:not([hidden]) .panel{
  transform:translateY(0);
}

.panel__top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding:18px 18px 14px;
  border-bottom:var(--border-soft);
}

.panel__user{
  display:flex;
  align-items:center;
  gap:14px;
}

.panel__avatar{
  width:56px;
  height:56px;
  border-radius:999px;
  object-fit:cover;
  box-shadow:var(--shadow-sm);
}

.panel__email{
  font-weight:800;
  font-size:15px;
  color:var(--text);
}

.link-btn{
  margin-top:4px;
  padding:0;
  border:none;
  background:none;
  font-size:13px;
  font-weight:700;
  color:var(--beamii-accent);
  cursor:pointer;
}

.link-btn:active{
  opacity:.6;
}

.ghost-btn{
  padding:10px 14px;
  border:none;
  border-radius:999px;
  background:var(--surface-soft-3);
  font-size:13px;
  font-weight:700;
  color:var(--text-3);
  cursor:pointer;
}

.ghost-btn:active{
  transform:scale(.97);
}

.panel__section{
  flex:1;
  min-height:0;
  padding:18px 18px 24px;
  overflow:auto;
}

.panel__label{
  margin-bottom:12px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--muted);
}

.row{
  width:100%;
  display:flex;
  align-items:center;
  gap:14px;
  padding:16px;
  border-radius:18px;
  font-size:14px;
  font-weight:600;
  color:var(--text-2);
  cursor:pointer;
  transition:all .15s ease;
}

.row i{
  width:22px;
  text-align:center;
  font-size:16px;
  color:var(--beamii-accent);
}

.row:active{
  transform:scale(.98);
  background:var(--surface-soft-3);
}

.toast{
  position:fixed;
  left:50%;
  bottom:calc(88px + env(safe-area-inset-bottom));
  z-index:99999;
  max-width:calc(100vw - 32px);
  padding:12px 14px;
  border-radius:14px;
  background:rgba(16,26,40,.92);
  color:#fff;
  font-size:13px;
  line-height:1.45;
  transform:translateX(-50%);
  box-shadow:0 16px 30px rgba(0,0,0,.22);
}

.beamii-loader,
.beamii-install,
.beamii-perms{
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,.58);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

.beamii-loader{
  background:var(--beamii-primary);
}

.beamii-loader__card,
.beamii-install__sheet,
.beamii-perms__sheet{
  width:calc(100% - 32px);
  max-width:420px;
  padding:26px;
  border-radius:28px;
  text-align:center;
  animation:fadeUp .4s ease;
}

.beamii-loader__card{
  color:#fff;
}

.beamii-loader__title{
  margin-bottom:6px;
  font-size:22px;
  font-weight:800;
}

.beamii-loader__sub{
  font-size:14px;
  opacity:.85;
}

.beamii-loader__bar{
  margin-top:18px;
  height:4px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.3);
}

.beamii-loader__bar span{
  display:block;
  width:40%;
  height:100%;
  background:#fff;
  animation:loaderMove 1.2s infinite ease-in-out;
}

.beamii-install__cta,
.beamii-perms__btn--primary{
  margin-top:18px;
  padding:12px 18px;
  border:none;
  border-radius:999px;
  background:var(--beamii-accent);
  color:#fff;
  font-weight:700;
  cursor:pointer;
}

@keyframes loaderMove{
  0%{ transform:translateX(-100%); }
  50%{ transform:translateX(120%); }
  100%{ transform:translateX(120%); }
}

@keyframes fadeUp{
  from{
    opacity:0;
    transform:translateY(18px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

/* =====================================================
   LAYOUT MODES
===================================================== */
.beamii-layout-page .map,
.beamii-layout-page #map,
.beamii-layout-page .fab-stack,
.beamii-layout-page .sheet,
.beamii-layout-list .map,
.beamii-layout-list #map,
.beamii-layout-list .fab-stack,
.beamii-layout-list .sheet{
  display:none !important;
}

.beamii-layout-page{
  background:var(--beamii-bg-standard) !important;
}

.beamii-layout-page .topbar{
  background:transparent !important;
}

.beamii-layout-list{
  background:var(--bg);
}

/* =====================================================
   PAGE CONTAINERS / BUTTONS / FORM CONTROLS
===================================================== */
.beamii-page{
  padding:
    calc(var(--safe-top) + 96px)
    14px
    calc(var(--safe-bottom) + 96px);
}

.beamii-auth{
  padding:
    calc(var(--safe-top) + 86px)
    14px
    calc(var(--safe-bottom) + 98px);
  background:var(--beamii-bg-standard);
}

.places-page{
  width:100%;
  max-width:var(--places-max);
  margin:0 auto;
  padding:
    calc(var(--topbar-total-h) + 10px)
    14px
    calc(112px + var(--safe-bottom));
}

.beamii-page__card{
  max-width:var(--page-max);
  margin:0 auto;
  padding:18px;
  border-radius:24px;
}

.beamii-page__card input,
.beamii-page__card textarea,
.beamii-auth__field input,
.beamii-biz__field input,
.beamii-biz__field textarea,
.beamii-biz__select{
  width:100%;
  outline:none;
  color:var(--text);
  background:#fff;
  border:var(--border-soft-3);
}

.beamii-page__card input,
.beamii-page__card textarea{
  padding:10px 12px;
  border-radius:14px;
}

.beamii-auth__field input{
  height:50px;
  padding:0 14px;
  border-radius:16px;
  font-size:16px;
}

.beamii-biz__field input,
.beamii-biz__field textarea{
  padding:12px 14px;
  border-radius:16px;
  font-size:16px;
}

.beamii-biz__field textarea{
  min-height:120px;
}

.beamii-biz__select{
  height:48px;
  padding:0 14px;
  border-radius:16px;
  font-size:16px;
}

.beamii-auth__field input::placeholder{
  color:var(--muted-2);
}

.beamii-page__card input:focus,
.beamii-page__card textarea:focus,
.beamii-auth__field input:focus,
.beamii-biz__field input:focus,
.beamii-biz__field textarea:focus,
.beamii-biz__select:focus{
  border-color:rgba(31,163,214,.42);
  box-shadow:var(--focus-ring);
}

.beamii-btn,
.beamii-auth__cta,
.beamii-biz__cta{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font-weight:900;
  cursor:pointer;
}

.beamii-btn{
  width:100%;
  min-height:52px;
  border-radius:18px;
  border:var(--border-soft-3);
  background:#fff;
  box-shadow:var(--shadow-sm);
  font-size:14px;
  letter-spacing:.02em;
}

.beamii-btn:active,
.beamii-auth__cta:active,
.beamii-biz__btn:active,
.beamii-biz__cta:active{
  transform:scale(.99);
}

.beamii-btn--primary,
.beamii-auth__cta,
.beamii-biz__cta{
  border:none;
  color:#fff;
  background:linear-gradient(135deg, var(--beamii-accent) 0%, var(--beamii-primary-3) 100%);
  box-shadow:var(--shadow-blue);
}

.beamii-auth__cta,
.beamii-biz__cta{
  min-height:54px;
  border-radius:18px;
}

.beamii-btn--ghost{
  background:var(--surface-soft-2);
  color:var(--text-2);
  border:var(--border-soft-3);
  box-shadow:none;
}

/* =====================================================
   ACCOUNT
===================================================== */
.account-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:12px;
}

.account-title{
  margin:6px 0 0;
  font-size:30px;
  letter-spacing:-.03em;
  line-height:1.05;
}

.account-sub{
  margin-top:6px;
  font-size:14px;
  color:var(--muted);
}

.account-user{
  padding:14px;
  border-radius:22px;
}

.account-user__avatar{
  width:56px;
  height:56px;
  border-radius:18px;
  object-fit:cover;
  box-shadow:var(--shadow-sm);
}

.account-user__name{
  font-weight:900;
  font-size:16px;
  color:var(--text);
}

.account-user__email{
  margin-top:2px;
  font-size:13px;
  color:var(--muted);
}

.settings-item{
  display:flex;
  align-items:center;
  gap:14px;
  padding:16px;
  border-radius:22px;
}

.settings-item:active{
  transform:scale(.995);
}

.settings-icon{
  width:54px;
  height:54px;
  flex:0 0 auto;
  border-radius:18px;
  background:linear-gradient(135deg, rgba(31,163,214,.12) 0%, rgba(79,142,247,.10) 100%);
  color:var(--beamii-accent);
  font-size:20px;
}

.settings-body{
  flex:1;
}

.settings-title{
  font-weight:900;
  font-size:16px;
  color:var(--text);
}

.settings-desc{
  margin-top:4px;
  font-size:13px;
  line-height:1.35;
  color:var(--muted);
}

.settings-cta{
  width:44px;
  height:44px;
  flex:0 0 auto;
  border-radius:16px;
  background:var(--surface-soft-2);
  border:var(--border-soft);
  color:var(--muted);
}

.settings-footer{
  margin-top:14px;
  display:flex;
  flex-direction:column;
  gap:12px;
}

.settings-logout{
  background:var(--surface-soft-2);
  border:var(--border-soft-3);
  box-shadow:none;
}

/* =====================================================
   EMPTY STATE
===================================================== */
.beamii-empty__card{
  padding:18px;
  text-align:left;
}

.beamii-empty__hero{
  display:flex;
  justify-content:center;
  padding:10px 0;
}

.beamii-empty__icon{
  width:72px;
  height:72px;
  display:grid;
  place-items:center;
  border-radius:24px;
  background:linear-gradient(135deg, rgba(31,163,214,.14) 0%, rgba(79,142,247,.10) 100%);
  border:1px solid rgba(31,163,214,.14);
  box-shadow:var(--shadow-sm);
  color:var(--beamii-accent);
  font-size:28px;
}

.beamii-empty__title{
  margin:6px 0 0;
  max-width:20ch;
  font-size:28px;
  font-weight:900;
  letter-spacing:-.03em;
  line-height:1.08;
  color:var(--text);
}

.beamii-empty__desc{
  margin:10px 0 0;
  max-width:46ch;
  font-size:14px;
  line-height:1.4;
  color:var(--muted);
}

.beamii-empty__info{
  margin-top:14px;
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:14px;
  border-radius:20px;
}

.beamii-empty__actions{
  margin-top:14px;
  display:flex;
  flex-direction:column;
  gap:12px;
}

.beamii-empty__btn{
  display:grid;
  place-items:center;
  text-decoration:none;
}

/* =====================================================
   HOME
===================================================== */
.app--home{
  background:var(--beamii-bg-standard);
}

.beamii-home{
  width:100%;
  max-width:720px;
  margin:0 auto;
  padding:
    118px
    14px
    calc(112px + var(--safe-bottom));
  display:flex;
  flex-direction:column;
  gap:16px;
  min-height:100dvh;
  background:
    radial-gradient(circle at top right, rgba(236,148,0,.10), transparent 28%),
    linear-gradient(180deg, #f6f9fc 0%, #edf3f8 100%);
}

.beamii-home__hero{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:72px minmax(0, 1fr);
  gap:14px;
  align-items:start;
  padding:18px;
  margin-bottom:16px;
  border-radius:24px;
  background:linear-gradient(135deg, #1f3c5c 0%, #274c72 58%, #2e608e 100%);
  color:#fff;
  box-shadow:0 16px 36px rgba(18,39,63,.16);
}

.beamii-home__hero::before,
.beamii-home__hero::after{
  content:"";
  position:absolute;
  border-radius:999px;
  pointer-events:none;
}

.beamii-home__hero::before{
  top:-72px;
  right:-56px;
  width:180px;
  height:180px;
  background:rgba(255,255,255,.08);
}

.beamii-home__hero::after{
  bottom:-36px;
  left:-28px;
  width:120px;
  height:120px;
  background:rgba(236,148,0,.18);
}

.beamii-home__logo{
  position:relative;
  z-index:1;
  width:72px;
  height:72px;
  border-radius:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg, #ec9400 0%, #d87f00 100%);
  color:#fff;
  font-size:30px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.25),
    0 10px 24px rgba(0,0,0,.18);
}

.beamii-home__title{
  position:relative;
  z-index:1;
  min-width:0;
}

.beamii-home__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 11px;
  margin:0 0 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.01em;
  color:rgba(255,255,255,.96);
  background:rgba(255,255,255,.12);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

.beamii-home__title h1{
  margin:0 0 8px;
  font-size:clamp(28px, 5.4vw, 34px);
  line-height:1.08;
  letter-spacing:-.02em;
  color:#fff;
}

.beamii-home__title p{
  margin:0;
  display:flex;
  align-items:center;
  gap:6px;
  font-size:15px;
  line-height:1.55;
  color:rgba(255,255,255,.88);
}

#beamiiHomeIntroText{
  max-width:38ch;
}

#beamiiHomeLocationText{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:14px;
  padding:9px 12px;
  border-radius:14px;
  font-size:13px;
  font-weight:600;
  color:#fff;
  background:rgba(255,255,255,.10);
}

.beamii-home__actions{
  margin-top:14px;
}

.beamii-home__locationbtn{
  width:100%;
  border:0;
  cursor:pointer;
  text-align:left;
  font:inherit;
}

.beamii-home__quickgrid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
  margin:0 0 18px;
}

.beamii-home__quickcard{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px;
  border-radius:18px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(31,60,92,.08);
  box-shadow:0 10px 24px rgba(24,40,64,.06);
  text-decoration:none;
  color:#17324d;
}

.beamii-home__quickcard-icon{
  flex:0 0 44px;
  width:44px;
  height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  font-size:18px;
  background:#eff5fa;
  color:#1f3c5c;
}

.beamii-home__quickcard--orange .beamii-home__quickcard-icon{
  background:rgba(236,148,0,.12);
  color:#b86e00;
}

.beamii-home__quickcard strong{
  display:block;
  font-size:15px;
  line-height:1.25;
  color:#17324d;
}

.beamii-home__quickcard span{
  display:block;
  margin-top:3px;
  font-size:12px;
  line-height:1.45;
  color:#5b6f84;
}

.beamii-home__section{
  margin-bottom:18px;
}

.beamii-home__sectionhead{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}

.beamii-home__sectiontitle{
  margin:0;
  font-size:20px;
  line-height:1.2;
  color:#17324d;
}

.beamii-home__sectionsub{
  margin-top:4px;
  font-size:13px;
  color:#627487;
}

.beamii-home__nearest{
  position:relative;
  overflow:hidden;
  border-radius:22px;
  background:#fff;
  border:1px solid rgba(31,60,92,.08);
  box-shadow:0 12px 28px rgba(24,40,64,.08);
}

.beamii-home__nearest::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at top right, rgba(236,148,0,.06), transparent 30%);
  pointer-events:none;
}

.beamii-home__nearest--loading{
  min-height:132px;
  display:flex;
  align-items:center;
}

.beamii-home__nearest-body{
  position:relative;
  z-index:1;
  padding:18px;
}

.beamii-home__nearest-grid{
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  gap:16px;
  align-items:start;
}

.beamii-home__nearest-logo{
  width:100%;
  min-height:180px;
  aspect-ratio:16/9;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-radius:16px;
  background:linear-gradient(180deg, #e7f0f8 0%, #d7e6f3 100%);
  border:1px solid rgba(31,60,92,.08);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.72),
    0 12px 24px rgba(19,36,58,.10);
}

.beamii-home__nearest-logo img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}

.beamii-home__nearest-placeholder{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:40px;
  color:#295174;
  background:radial-gradient(circle at 20% 20%, rgba(255,255,255,.7), transparent 40%);
}

.beamii-home__nearest-status{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 10px;
  margin-bottom:10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  line-height:1;
}

.beamii-home__nearest-status--active{
  background:rgba(39,131,73,.10);
  color:#237445;
}

.beamii-home__nearest-status--nearest{
  background:rgba(236,148,0,.12);
  color:#9a5d00;
}

.beamii-home__nearest-status--muted{
  background:#eef3f7;
  color:#536a82;
}

.beamii-home__nearest-title{
  font-size:18px;
  font-weight:800;
  line-height:1.2;
  color:#17324d;
}

.beamii-home__nearest-text{
  margin-top:6px;
  font-size:14px;
  line-height:1.55;
  color:#627487;
}

.beamii-home__nearest-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}

.beamii-home__nearest-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 10px;
  border-radius:999px;
  background:#f2f6fa;
  color:#32506e;
  font-size:12px;
  font-weight:700;
}

.beamii-home__nearest-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}

.beamii-home__nearest-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:12px 14px;
  border-radius:14px;
  text-decoration:none;
  font-size:14px;
  font-weight:700;
  line-height:1;
  transition:transform .18s ease, box-shadow .18s ease;
}

.beamii-home__nearest-btn:hover,
.beamii-home__nearest-btn:focus-visible{
  transform:translateY(-1px);
  outline:none;
}

.beamii-home__nearest-btn--primary{
  background:#ff7600;
  color:#fff !important;
  box-shadow:0 10px 22px rgba(31,60,92,.18);
}

.beamii-home__nearest-btn--ghost{
  background:#f3f7fb;
  color:#17324d;
}

.beamii-home__fallback-block{
  display:grid;
  gap:8px;
  margin-top:14px;
}

.beamii-home__fallback-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}

.beamii-home__fallback-head strong{
  font-size:15px;
  color:#17324d;
}

.beamii-home__fallback-head span{
  display:none;
}

.beamii-home__place-slider{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(220px, 84%);
  gap:12px;
  overflow-x:auto;
  overflow-y:hidden;
  padding:2px 2px 8px;
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}

.beamii-home__place-slider::-webkit-scrollbar{
  display:none;
}

.beamii-home__place-card{
  display:flex;
  flex-direction:column;
  min-height:100%;
  text-decoration:none;
  color:#17324d;
  background:linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  border:1px solid rgba(23,50,77,.11);
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 12px 26px rgba(15,23,42,.07);
  scroll-snap-align:start;
}

.beamii-home__place-card-media{
  position:relative;
  aspect-ratio:16/10;
  background:#e8f1f8;
  overflow:hidden;
}

.beamii-home__place-card-media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.beamii-home__place-card-media--placeholder{
  display:grid;
  place-items:center;
  color:#4d708f;
  font-size:22px;
}

.beamii-home__place-card-body{
  display:grid;
  gap:8px;
  padding:12px 13px 14px;
}

.beamii-home__place-card-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  max-width:100%;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  background:#f4f0de;
  color:#68440f;
}

.beamii-home__place-card-title{
  font-size:16px;
  font-weight:800;
  line-height:1.3;
  color:#17324d;
}

.beamii-home__place-card-text{
  font-size:13px;
  line-height:1.5;
  color:#5f7489;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.beamii-home__place-card-meta{
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-size:12px;
  font-weight:700;
  color:#46627b;
}

.beamii-home__empty-state{
  display:grid;
  gap:10px;
  padding:18px;
  border-radius:22px;
  background:#fff;
  border:1px solid rgba(23,50,77,.09);
  box-shadow:0 12px 26px rgba(15,23,42,.06);
}

.beamii-home__empty-state--compact{
  padding:16px;
  border-radius:18px;
  box-shadow:none;
}

.beamii-home__empty-title{
  font-size:18px;
  font-weight:800;
  line-height:1.25;
  color:#17324d;
}

.beamii-home__empty-text{
  font-size:14px;
  line-height:1.55;
  color:#627487;
}

.beamii-home__mini-links{
  display:grid;
  gap:10px;
}

.beamii-home__mini-link{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:46px;
  padding:0 14px;
  border-radius:14px;
  text-decoration:none;
  background:#f3f7fb;
  color:#17324d;
  font-weight:700;
}

.beamii-home__menu{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  margin-top:4px;
}

/* Home no-GPS cleanup */
.beamii-home__menu{display:none !important;}

.beamii-home__item{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:16px;
  border-radius:20px;
  text-decoration:none;
  border:1px solid transparent;
  box-shadow:0 10px 24px rgba(24,40,64,.06);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.beamii-home__item:hover,
.beamii-home__item:focus-visible{
  transform:translateY(-1px);
  box-shadow:0 14px 28px rgba(24,40,64,.10);
  outline:none;
}

.beamii-home__item:active{
  transform:scale(.985);
}

.beamii-home__item i{
  flex:0 0 46px;
  width:46px;
  height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:15px;
  font-size:18px;
}

.beamii-home__item strong{
  display:block;
  font-size:16px;
  line-height:1.25;
}

.beamii-home__item span{
  display:block;
  margin-top:4px;
  font-size:13px;
  line-height:1.5;
}

.beamii-home__item--blue{
  background:linear-gradient(180deg, #ffffff 0%, #f6f9fc 100%);
  border-color:rgba(31,60,92,.08);
  color:#17324d;
}

.beamii-home__item--blue i{
  background:#edf3f8;
  color:#1f3c5c;
}

.beamii-home__item--orange{
  background:linear-gradient(180deg, #fff8ef 0%, #fff2df 100%);
  border-color:rgba(236,148,0,.18);
  color:#6b4300;
}

.beamii-home__item--orange i{
  background:rgba(236,148,0,.14);
  color:#c57600;
}

.beamii-home__item--outline{
  background:#fff;
  border-color:rgba(31,60,92,.10);
  color:#17324d;
}

.beamii-home__item--outline i{
  background:#f3f7fb;
  color:#1f3c5c;
}

.beamii-home__modal[hidden],
.toast[hidden]{
  display:none !important;
}

.beamii-home__modal{
  position:fixed;
  inset:0;
  z-index:9999;
}

.beamii-home__modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(10,19,30,.56);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}

.beamii-home__modal-dialog{
  position:absolute;
  left:16px;
  right:16px;
  bottom:max(16px, env(safe-area-inset-bottom));
  padding:18px;
  background:#fff;
  border-radius:24px;
  box-shadow:0 24px 60px rgba(11,24,40,.24);
}

.beamii-home__modal-row{
  display:flex;
  align-items:flex-start;
  gap:14px;
}

.beamii-home__modal-icon{
  flex:0 0 52px;
  width:52px;
  height:52px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:18px;
  background:rgba(31,60,92,.08);
  color:#1f3c5c;
  font-size:20px;
}

.beamii-home__modal-copy{
  min-width:0;
}

.beamii-home__modal-copy h2{
  margin:0 0 8px;
  font-size:20px;
  line-height:1.2;
  color:#17324d;
}

.beamii-home__modal-copy p{
  margin:0;
  font-size:14px;
  line-height:1.6;
  color:#5e7185;
}

.beamii-home__modal-status{
  margin-top:12px;
  padding:10px 12px;
  border-radius:14px;
  background:#f4f7fa;
  color:#48627d;
  font-size:13px;
  line-height:1.45;
}

.beamii-home__modal-actions{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin-top:14px;
}

.beamii-home__modal-btn{
  padding:14px 16px;
  border:0;
  border-radius:16px;
  font:inherit;
  font-weight:700;
  cursor:pointer;
}

.beamii-home__modal-btn--primary{
  background:#1f3c5c;
  color:#fff;
}

.beamii-home__modal-btn--ghost{
  background:#f4f7fa;
  color:#17324d;
}

/* =====================================================
   PLACES PAGE / LIST
===================================================== */
.beamii-places{
  --bp-bg:#f4f8fb;
  --bp-surface:#ffffff;
  --bp-surface-2:rgba(255,255,255,.82);
  --bp-text:#102033;
  --bp-muted:rgba(16,32,51,.64);
  --bp-line:rgba(15,23,42,.08);
  --bp-line-soft:rgba(15,23,42,.05);
  --bp-primary:#198fd1;
  --bp-primary-2:#2ea7e0;
  --bp-primary-3:#0f6ea5;
  --bp-accent:#ff8a1f;
  --bp-success:#1f9d68;
  --bp-danger:#ff5f7a;
  --bp-shadow-sm:0 8px 20px rgba(15,23,42,.06);
  --bp-shadow-md:0 16px 34px rgba(15,23,42,.10);
  --bp-shadow-lg:0 28px 52px rgba(15,23,42,.16);
  --bp-radius-sm:14px;
  --bp-radius-md:18px;
  --bp-radius-lg:24px;
}

.beamii-places .topbar{
  background:
    linear-gradient(180deg, rgba(234,242,248,.92) 0%, rgba(234,242,248,.58) 52%, rgba(234,242,248,0) 100%);
}

.beamii-places .chips{
  max-width:var(--places-max);
}

.beamii-places-page{
  max-width:var(--places-max);
  margin:0 auto;
  padding:0 0 26px;
  min-height:100dvh;
}

.beamii-places-page__hero{
  padding:190px 4px 12px;
}

.beamii-places-page__hero-main{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.beamii-places-page__title{
  margin:0;
  font-size:2rem;
  line-height:1.02;
  letter-spacing:-.04em;
  font-weight:950;
  color:var(--bp-text);
}

.beamii-places-page__lead{
  margin:0;
  max-width:64ch;
  font-size:1rem;
  line-height:1.5;
  color:var(--bp-muted);
}

.beamii-places-toolbar{
  position:sticky;
  top:calc(var(--safe-top) + 68px);
  z-index:20;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  margin:0 0 14px;
  border:1px solid var(--bp-line-soft);
  border-radius:20px;
  background:rgba(255,255,255,.88);
  box-shadow:var(--bp-shadow-sm);
  backdrop-filter:blur(14px) saturate(1.05);
  -webkit-backdrop-filter:blur(14px) saturate(1.05);
}

.beamii-places-toolbar__summary{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  flex-wrap:wrap;
}

.beamii-places-toolbar__count{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:.92rem;
  font-weight:900;
  color:var(--bp-text);
}

.beamii-places-toolbar__count span:first-child{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  height:34px;
  padding:0 10px;
  border-radius:999px;
  background:linear-gradient(135deg, var(--bp-primary-2), var(--bp-primary));
  color:#fff;
  box-shadow:0 10px 20px rgba(31,163,214,.22);
}

.beamii-places-toolbar__total{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 10px;
  border-radius:999px;
  background:rgba(16,32,51,.05);
  color:var(--bp-muted);
  font-size:.82rem;
  font-weight:800;
}

.beamii-places-toolbar__hint{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--bp-muted);
  font-size:.82rem;
  font-weight:700;
  white-space:nowrap;
}

.beamii-places-toolbar__hint i{
  color:var(--bp-primary);
}

.places-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  padding:0;
}

.places-loading{
  display:grid;
  gap:12px;
}

.places-empty{
  display:none;
  padding:26px 18px;
  border-radius:22px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(15,23,42,.06);
  box-shadow:0 8px 20px rgba(15,23,42,.06);
  color:rgba(16,32,51,.64);
  text-align:center;
  font-weight:800;
}

.places-skeleton{
  display:grid;
  grid-template-columns:108px minmax(0,1fr);
  gap:12px;
  padding:12px;
  border-radius:22px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(15,23,42,.05);
  box-shadow:0 8px 20px rgba(15,23,42,.06);
  overflow:hidden;
}

.places-skeleton__media,
.places-skeleton__line{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg, rgba(31,60,92,.08), rgba(31,163,214,.10));
}

.places-skeleton__media{
  height:126px;
  border-radius:18px;
}

.places-skeleton__body{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:4px 0;
}

.places-skeleton__line{
  height:14px;
  border-radius:999px;
}

.places-skeleton__line--lg{ width:72%; height:18px; }
.places-skeleton__line--md{ width:52%; }
.places-skeleton__line--sm{ width:34%; }
.places-skeleton__line--full{ width:100%; }

.places-skeleton__media::after,
.places-skeleton__line::after{
  content:"";
  position:absolute;
  inset:0;
  transform:translateX(-100%);
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent);
  animation:beamiiPlacesShimmer 1.35s infinite;
}

@keyframes beamiiPlacesShimmer{
  100%{ transform:translateX(100%); }
}

.beamii-places .place-row{
  display:grid;
  grid-template-columns:112px minmax(0,1fr) auto;
  gap:12px;
  align-items:stretch;
  padding:12px;
  border-radius:24px;
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.90));
  border:1px solid rgba(15,23,42,.06);
  box-shadow:0 10px 24px rgba(15,23,42,.06);
  overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.beamii-places .place-row:hover,
.beamii-places .place-row:focus-within{
  transform:translateY(-1px);
  box-shadow:0 16px 34px rgba(15,23,42,.10);
  border-color:rgba(25,143,209,.14);
}

.beamii-places .place-row.is-onspot{
  border-color:rgba(31,157,104,.18);
  box-shadow:0 16px 34px rgba(31,157,104,.10);
}

.place-row__media{
  position:relative;
  display:block;
  min-height:132px;
  border-radius:20px;
  overflow:hidden;
  background:
    linear-gradient(135deg, rgba(31,60,92,.16), rgba(31,163,214,.12)),
    linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,0));
  background-size:cover;
  background-position:center;
  text-decoration:none;
}

.place-row__media::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(8,16,28,.06), rgba(8,16,28,.28)),
    radial-gradient(circle at top right, rgba(255,255,255,.22), transparent 32%);
  pointer-events:none;
}

.place-row__media.has-fallback{
  background-image:
    radial-gradient(circle at top right, rgba(255,255,255,.30), transparent 24%),
    linear-gradient(135deg, #1f3c5c 0%, #245d87 42%, #1fa3d6 100%);
}

.place-row__media.has-logo-only{
  background-image:
    radial-gradient(circle at top right, rgba(255,255,255,.34), transparent 24%),
    linear-gradient(135deg, rgba(31,60,92,.24), rgba(31,163,214,.14));
}

.place-row__media-fallback{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;
  padding:12px;
  gap:8px;
  color:#fff;
  z-index:2;
}

.place-row__media-fallback-mark{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:14px;
  background:rgba(255,255,255,.18);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  font-weight:900;
  font-size:.95rem;
  letter-spacing:.02em;
  box-shadow:0 8px 18px rgba(0,0,0,.14);
}

.place-row__media-fallback-label{
  max-width:100%;
  font-size:.78rem;
  line-height:1.25;
  font-weight:800;
  text-shadow:0 1px 8px rgba(0,0,0,.28);
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.place-row__logo-badge{
  position:absolute;
  left:10px;
  bottom:10px;
  width:52px;
  height:52px;
  border-radius:16px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 14px 22px rgba(15,23,42,.18);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:8px;
  z-index:3;
  overflow:hidden;
}

.place-row__logo-badge img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}

.beamii-places .place-row__main{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:2px 0;
}

.beamii-places .place-row__top{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px 10px;
  align-items:start;
}

.place-row__cats{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  min-width:0;
}

.place-row__metrics{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:6px;
  min-width:max-content;
}

.place-row__title-line{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}

.beamii-places .place-row__title{
  min-width:0;
  margin:0;
  color:var(--bp-text);
  font-size:1.08rem;
  font-weight:900;
  line-height:1.18;
  letter-spacing:-.018em;
  text-decoration:none;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.place-row__favorite{
  flex:0 0 auto;
}

.beamii-places .place-row__desc{
  color:var(--bp-muted);
  font-size:.90rem;
  line-height:1.5;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.beamii-places .place-row__bottom{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:10px;
  margin-top:auto;
}

.beamii-places .place-row__meta{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-width:0;
  color:var(--bp-muted);
  font-size:.84rem;
  font-weight:800;
}

.beamii-places .place-row__meta span:last-child{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  max-width:220px;
}

.place-row__badges{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:7px;
}

.beamii-places .place-row__chev{
  align-self:center;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  color:var(--bp-text);
  text-decoration:none;
  box-shadow:0 2px 8px rgba(15,23,42,.04);
  flex:0 0 40px;
}

.beamii-places .beamii-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:40px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(15,23,42,.08);
  background:#fff;
  color:var(--bp-text);
  font-weight:850;
  text-decoration:none;
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
  -webkit-tap-highlight-color:transparent;
  width:auto;
}

.beamii-places .beamii-btn:hover,
.beamii-places .beamii-btn:focus-visible{
  transform:translateY(-1px);
  box-shadow:var(--bp-shadow-sm);
  border-color:rgba(25,143,209,.16);
  outline:none;
}

.beamii-places .beamii-btn--ghost{
  background:rgba(255,255,255,.96);
}

.beamii-places .place-pill--cat{
  min-height:24px;
  padding:0 9px;
  font-size:.74rem;
  font-weight:900;
  border-radius:999px;
  line-height:1;
}

.beamii-places .place-pill--cat-more{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 9px;
  border-radius:999px;
  border:1px solid rgba(16,32,51,.12);
  background:rgba(16,32,51,.06);
  color:#2f4b66;
  font-size:.72rem;
  font-weight:900;
  line-height:1;
}

.beamii-places .place-pill--radius,
.beamii-places .place-pill--dist{
  min-height:24px;
  padding:0 9px;
  font-size:.74rem;
}

.beamii-places .places-empty{
  display:none;
  padding:26px 18px;
  border-radius:22px;
  background:rgba(255,255,255,.86);
  border:1px solid var(--bp-line-soft);
  box-shadow:var(--bp-shadow-sm);
  color:var(--bp-muted);
  text-align:center;
  font-weight:800;
}

/* =====================================================
   MAP POPUP
===================================================== */
.beamii-map-popup{
  width:220px;
}

.beamii-map-popup__img{
  width:100%;
  height:110px;
  display:block;
  margin-bottom:10px;
  object-fit:cover;
  border-radius:12px;
}

.beamii-map-popup__type{
  margin-bottom:4px;
  font-size:12px;
  font-weight:800;
  opacity:.6;
}

.beamii-map-popup__title{
  font-size:16px;
  font-weight:900;
  line-height:1.15;
  color:var(--text);
}

.beamii-map-popup__meta{
  margin-top:6px;
  font-size:12px;
  opacity:.72;
  color:var(--text-3);
}

.beamii-map-popup__actions{
  margin-top:10px;
  display:flex;
  gap:8px;
}

.beamii-map-popup__actions button,
.beamii-map-popup__actions a{
  flex:1 1 0;
  height:38px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  text-decoration:none;
}

.beamii-map-popup__actions button{
  border:none;
  background:#138ec7;
  color:#fff;
  cursor:pointer;
}

.beamii-map-popup__actions a{
  background:rgba(12,18,32,.08);
  color:rgba(12,18,32,.88);
}

/* =====================================================
   PLACE PAGE ISOLATION
   place.css ejer .beamii-place2 universet
===================================================== */
.app.beamii-place2{
  overflow:visible;
}

.beamii-place2.beamii-layout-page{
  background:transparent !important;
}

.beamii-place2 .beamii-page{
  padding-left:0 !important;
  padding-right:0 !important;
}

/* =====================================================
   AUTH
===================================================== */
.beamii-auth__wrap{
  max-width:560px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:14px;
}

.beamii-auth__header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}

.beamii-auth__title h1{
  margin:0;
  font-size:28px;
  font-weight:900;
  letter-spacing:-.03em;
  line-height:1.05;
  color:var(--text);
}

.beamii-auth__title p,
.beamii-biz__cardsub,
.beamii-auth__cardsub{
  margin:6px 0 0;
  font-size:13px;
  color:var(--muted);
}

.beamii-auth__title p{
  font-weight:700;
}

.beamii-auth__pill{
  min-height:32px;
  padding:0 12px;
  font-size:12px;
  background:#fff;
  border:var(--border-soft);
  color:var(--text-3);
}

.beamii-auth__notice{
  padding:12px 14px;
  border-radius:18px;
}

.beamii-auth__notice-title{
  font-weight:900;
  color:var(--text);
}

.beamii-auth__notice-text{
  margin-top:4px;
  font-size:13px;
  line-height:1.4;
  color:var(--text-3);
}

.beamii-auth__card{
  padding:14px;
  border-radius:22px;
}

.beamii-auth__cardhead,
.beamii-biz__cardhead{
  padding:2px 2px 12px;
}

.beamii-auth__form{
  display:grid;
  gap:12px;
}

.beamii-auth__field,
.beamii-biz__field{
  display:grid;
  gap:8px;
}

.beamii-auth__field span,
.beamii-biz__field span,
.beamii-biz__media-label{
  font-size:12px;
  font-weight:900;
  color:var(--text-3);
}

.beamii-auth__check{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:13px;
  font-weight:800;
  color:var(--text-3);
}

.beamii-auth__check input{
  width:18px;
  height:18px;
}

.beamii-auth__foot{
  margin-top:2px;
  font-size:13px;
  color:var(--text-3);
}

.beamii-auth__foot a{
  color:var(--beamii-accent);
  font-weight:900;
}

/* =====================================================
   BUSINESS
===================================================== */
.beamii-biz{
  padding-top:calc(var(--safe-top) + 88px);
}

.beamii-biz__wrap{
  max-width:var(--page-max);
  margin:0 auto;
}

.beamii-biz__header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding:8px 4px 10px;
}

.beamii-biz__title{
  margin:0;
  font-size:28px;
  font-weight:900;
  letter-spacing:-.03em;
  line-height:1.05;
  color:var(--text);
}

.beamii-biz__sub{
  margin:6px 0 0;
  font-size:13px;
  font-weight:800;
  color:var(--muted);
}

.beamii-biz__status{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}

.beamii-biz__pill{
  min-height:32px;
  padding:0 12px;
  font-size:12px;
  background:#fff;
  border:var(--border-soft);
  box-shadow:var(--shadow-xs);
}

.beamii-biz__card{
  padding:14px;
  border-radius:22px;
}

.beamii-biz__row{
  display:flex;
  align-items:center;
  gap:10px;
}

.beamii-biz__hint{
  margin-top:10px;
  font-size:12px;
  font-weight:800;
  color:var(--muted);
}

.beamii-biz__form{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.beamii-biz__grid,
.beamii-biz__media{
  display:grid;
  gap:12px;
  grid-template-columns:1fr 1fr;
}

.beamii-biz__field--full,
.beamii-biz__media-box--full{
  grid-column:1 / -1;
}

.beamii-biz__actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.beamii-biz__btn{
  min-height:48px;
  padding:0 14px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  border-radius:16px;
  border:var(--border-soft);
  background:var(--surface-soft);
  color:var(--text);
  font-weight:900;
  cursor:pointer;
}

.beamii-biz__btn--ghost{
  background:var(--surface-soft-2);
}

.beamii-biz__msg{
  margin-top:6px;
  font-size:13px;
  font-weight:800;
  color:var(--text-3);
  opacity:.9;
}

.beamii-biz__notice{
  padding:12px;
  border-radius:18px;
}

.beamii-biz__notice i{
  width:38px;
  height:38px;
  border-radius:14px;
  background:var(--surface-soft-2);
  color:var(--text-3);
}

.beamii-biz__notice-title{
  font-weight:900;
  color:var(--text);
}

.beamii-biz__notice-text{
  margin-top:4px;
  font-size:13px;
  color:var(--text-3);
}

.beamii-biz__media-box{
  padding:12px;
  border-radius:18px;
}

.beamii-biz__preview{
  min-height:110px;
  overflow:hidden;
  border-radius:18px;
  border:var(--border-soft);
}

.beamii-biz__preview--wide{
  min-height:140px;
}

.beamii-biz__preview img,
.beamii-biz__gitem img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.beamii-biz__preview-empty{
  padding:14px;
  font-size:12px;
  font-weight:900;
  color:var(--muted);
}

.beamii-biz__gallery{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:10px;
}

.beamii-biz__gitem{
  position:relative;
  height:92px;
  padding:0;
  overflow:hidden;
  border-radius:16px;
  border:var(--border-soft);
  cursor:pointer;
}

.beamii-biz__gremove{
  position:absolute;
  top:8px;
  right:8px;
  width:28px;
  height:28px;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(255,255,255,.70);
  box-shadow:var(--shadow-sm);
  color:var(--text-2);
}

/* =====================================================
   PLACE MAP MODAL
===================================================== */
.beamii-mapmodal{
  position:fixed;
  inset:0;
  z-index:500;
  display:grid;
  place-items:end center;
}

.beamii-mapmodal__backdrop{
  background:rgba(0,0,0,.42);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.beamii-mapmodal__sheet{
  position:relative;
  width:min(980px, calc(100% - 14px));
  height:min(82vh, 720px);
  margin:0 auto calc(10px + var(--safe-bottom));
  overflow:hidden;
  border-radius:28px;
  background:rgba(255,255,255,.98);
  border:1px solid rgba(255,255,255,.72);
  box-shadow:var(--shadow-xl);
}

.beamii-mapmodal__top{
  height:58px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 14px;
  border-bottom:var(--border-soft);
}

.beamii-mapmodal__title{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:900;
  color:var(--text);
}

.beamii-mapmodal__close{
  min-height:38px;
  padding:0 14px;
  border-radius:999px;
  border:var(--border-soft);
  background:var(--surface-soft-2);
  font-weight:800;
  cursor:pointer;
}

.beamii-mapmodal__map{
  height:calc(100% - 58px);
}

/* =====================================================
   LEGAL PAGES
===================================================== */
.beamii-legal-page{
  min-height:100dvh;
  min-height:100svh;
  height:auto !important;
  overflow:visible !important;
  background:var(--beamii-bg-standard) !important;
}

.beamii-legal{
  min-height:100dvh;
  min-height:100svh;
  height:auto !important;
  overflow:visible !important;
  padding:
    calc(var(--safe-top) + 92px)
    14px
    calc(var(--safe-bottom) + 110px);
}

.beamii-legal__wrap{
  max-width:760px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:16px;
}

.beamii-legal__hero{
  position:relative;
  overflow:hidden;
  padding:20px;
  border-radius:28px;
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.18) 0%, rgba(255,255,255,0) 34%),
    linear-gradient(135deg, rgba(24,78,120,.96) 0%, rgba(47,120,168,.94) 58%, rgba(89,182,222,.92) 100%);
  color:#fff;
  box-shadow:var(--shadow-lg);
}

.beamii-legal__hero-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:30px;
  padding:0 12px;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.16);
  font-size:12px;
  font-weight:900;
}

.beamii-legal__hero-title{
  margin:14px 0 0;
  font-size:30px;
  line-height:1.02;
  letter-spacing:-.03em;
  font-weight:900;
  color:#fff;
}

.beamii-legal__hero-text{
  margin:10px 0 0;
  max-width:52ch;
  font-size:14px;
  line-height:1.55;
  color:rgba(255,255,255,.92);
}

.beamii-legal__hero-points{
  margin-top:16px;
  display:grid;
  gap:10px;
}

.beamii-legal__hero-point{
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-size:13px;
  font-weight:700;
  color:rgba(255,255,255,.94);
}

.beamii-legal__hero-point i{
  margin-top:2px;
}

.beamii-legal__card{
  padding:18px;
  border-radius:28px;
  box-shadow:var(--shadow-lg);
}

.beamii-legal__meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin-bottom:18px;
}

.beamii-legal__meta-pill,
.beamii-legal__meta-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  padding:0 14px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  text-decoration:none;
}

.beamii-legal__meta-pill{
  background:rgba(12,18,32,.05);
  border:1px solid rgba(12,18,32,.08);
  color:var(--text);
}

.beamii-legal__meta-link{
  background:rgba(31,163,214,.10);
  border:1px solid rgba(31,163,214,.14);
  color:var(--beamii-accent);
}

.beamii-legal__content{
  color:var(--text);
  font-size:15px;
  line-height:1.75;
}

.beamii-legal__content > *:first-child{
  margin-top:0;
}

.beamii-legal__content h2{
  margin:24px 0 10px;
  font-size:18px;
  line-height:1.3;
  font-weight:900;
  letter-spacing:-.02em;
  color:var(--text);
}

.beamii-legal__content h3{
  margin:18px 0 8px;
  font-size:15px;
  line-height:1.35;
  font-weight:900;
  color:var(--text);
}

.beamii-legal__content p{
  margin:0 0 14px;
  color:var(--text-3);
}

.beamii-legal__content ul{
  margin:0 0 16px;
  padding-left:18px;
  color:var(--text-3);
}

.beamii-legal__content li{
  margin:0 0 8px;
}

.beamii-legal__content a{
  color:var(--beamii-accent);
  text-decoration:none;
  font-weight:800;
}

.beamii-legal__info{
  display:grid;
  gap:4px;
  margin:14px 0 18px;
  padding:14px;
  border-radius:18px;
  background:rgba(31,163,214,.08);
  border:1px solid rgba(31,163,214,.12);
}

.beamii-legal__info strong{
  font-size:13px;
  color:var(--text);
}

.beamii-legal__info span{
  font-size:12px;
  line-height:1.5;
  color:var(--muted);
}

.beamii-legal__info ul{
  margin:6px 0 0;
}

/* =====================================================
   HARDENING / UX
===================================================== */
button,
a,
input,
select,
textarea{
  touch-action:manipulation;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus{
  -webkit-box-shadow:0 0 0 1000px #fff inset;
  -webkit-text-fill-color:var(--text);
  transition:background-color 99999s ease-in-out 0s;
}

/* =====================================================
   OneSignal Slide Down Prompt
===================================================== */
#onesignal-slidedown-container.onesignal-slidedown-container{
  position:fixed !important;
  inset:0 auto auto 0 !important;
  width:100% !important;
  z-index:999999 !important;
  pointer-events:none;
  padding:calc(env(safe-area-inset-top, 0px) + 10px) 12px 0;
  box-sizing:border-box;
  background:transparent !important;
}

#onesignal-slidedown-container .onesignal-slidedown-dialog{
  width:100% !important;
  max-width:520px !important;
  margin:0 auto !important;
  border:0 !important;
  border-radius:24px !important;
  background:#fff !important;
  box-shadow:0 18px 50px rgba(17,30,47,.18) !important;
  overflow:hidden !important;
  pointer-events:auto;
  font-family:inherit !important;
}

#onesignal-slidedown-container #normal-slidedown{
  background:#fff !important;
  border-radius:24px !important;
  overflow:hidden !important;
}

#onesignal-slidedown-container .slidedown-body{
  display:flex !important;
  align-items:flex-start !important;
  gap:14px !important;
  min-height:auto !important;
  padding:18px 18px 14px !important;
  box-sizing:border-box !important;
  background:
    radial-gradient(circle at top right, rgba(236,148,0,.08), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%) !important;
}

#onesignal-slidedown-container .slidedown-body-icon{
  flex:0 0 52px !important;
  width:52px !important;
  height:52px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  border-radius:16px !important;
  background:linear-gradient(180deg, #edf3f8 0%, #e6eef5 100%) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7) !important;
  overflow:hidden !important;
}

#onesignal-slidedown-container .slidedown-body-icon img{
  width:34px !important;
  height:34px !important;
  max-width:34px !important;
  max-height:34px !important;
  display:block !important;
  object-fit:contain !important;
  margin:0 !important;
}

#onesignal-slidedown-container .slidedown-body-message{
  flex:1 1 auto !important;
  margin:0 !important;
  padding:2px 0 0 !important;
  font-size:15px !important;
  line-height:1.5 !important;
  font-weight:600 !important;
  color:#17324d !important;
  letter-spacing:0 !important;
}

#onesignal-slidedown-container .slidedown-footer{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:10px !important;
  padding:0 18px 18px !important;
  background:#fff !important;
  border-top:0 !important;
  box-sizing:border-box !important;
}

#onesignal-slidedown-container .slidedown-button{
  appearance:none !important;
  -webkit-appearance:none !important;
  min-height:48px !important;
  padding:0 18px !important;
  border:0 !important;
  border-radius:16px !important;
  float:none !important;
  margin:0 !important;
  font-family:inherit !important;
  font-size:15px !important;
  font-weight:700 !important;
  line-height:1 !important;
  cursor:pointer !important;
  box-shadow:none !important;
  transition:transform .18s ease, box-shadow .18s ease, opacity .18s ease !important;
}

#onesignal-slidedown-container .slidedown-button:hover,
#onesignal-slidedown-container .slidedown-button:focus{
  transform:translateY(-1px);
  outline:none !important;
}

#onesignal-slidedown-container #onesignal-slidedown-allow-button,
#onesignal-slidedown-container .slidedown-button.primary{
  background:linear-gradient(180deg, #1f7ed8 0%, #176fc3 100%) !important;
  color:#fff !important;
  box-shadow:0 10px 22px rgba(31,126,216,.24) !important;
}

#onesignal-slidedown-container #onesignal-slidedown-cancel-button,
#onesignal-slidedown-container .slidedown-button.secondary{
  min-height:44px !important;
  padding-left:10px !important;
  padding-right:10px !important;
  background:transparent !important;
  color:#1f7ed8 !important;
}

#onesignal-slidedown-container .clearfix{
  display:none !important;
}

#onesignal-slidedown-container .align-right{
  float:none !important;
}

#onesignal-slidedown-container #onesignal-loading-container:empty{
  display:none !important;
}

/* =====================================================
   Notifications / Push UI
===================================================== */
.beamii-notifications-section,
.beamii-notifications-feed{
  display:block;
  width:100%;
}

.beamii-notifications-feed__list{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.beamii-notifications-feed__item{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(15,23,42,.06);
  border-radius:18px;
  background:#fff;
  box-shadow:0 6px 18px rgba(15,23,42,.05);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.beamii-notifications-feed__item:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(15,23,42,.08);
  border-color:rgba(37,99,235,.14);
}

.beamii-notifications-feed__item.is-read{
  opacity:.82;
}

.beamii-notifications-feed__item.is-read::after{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(148,163,184,.03);
  pointer-events:none;
}

.beamii-notifications-feed__link{
  display:flex;
  align-items:stretch;
  gap:12px;
  padding:12px;
  color:inherit;
  text-decoration:none;
}

.beamii-notifications-feed__thumb{
  flex:0 0 72px;
  width:72px;
  height:72px;
  border-radius:14px;
  background-color:#dbe4ec;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  box-shadow:inset 0 0 0 1px rgba(15,23,42,.04);
}

.beamii-notifications-feed__thumb--fallback{
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg, #e8f3fb 0%, #dbeaf6 100%);
  color:#2f6f9f;
  font-size:18px;
}

.beamii-notifications-feed__content{
  min-width:0;
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:5px;
}

.beamii-notifications-feed__place{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  font-size:12px;
  line-height:1.35;
}

.beamii-notifications-feed__place-name{
  display:inline-flex;
  align-items:center;
  padding:4px 8px;
  border-radius:999px;
  background:#e8f3fb;
  color:#2f6f9f;
  font-weight:700;
}

.beamii-notifications-feed__place-city{
  color:#64748b;
  font-weight:600;
}

.beamii-notifications-feed__title{
  margin:0;
  font-size:15px;
  line-height:1.35;
  font-weight:800;
  color:#0f172a;
}

.beamii-notifications-feed__message{
  margin:0;
  font-size:13px;
  line-height:1.45;
  color:#475569;
}

.beamii-notifications-feed__meta{
  font-size:11px;
  line-height:1.35;
  color:#94a3b8;
  font-weight:600;
}

[data-beamii-push-card]{
  border-radius:18px;
  border:1px solid rgba(15,23,42,.06);
  background:linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%);
  box-shadow:0 8px 24px rgba(15,23,42,.05);
}

[data-beamii-push-card] .settings-icon{
  background:linear-gradient(180deg, #e8f3fb 0%, #dbeaf6 100%);
  color:#2f6f9f;
  box-shadow:inset 0 0 0 1px rgba(47,111,159,.08);
}

[data-beamii-push-card] .settings-title{
  font-weight:800;
  color:#0f172a;
}

[data-beamii-push-card] .settings-desc{
  line-height:1.5;
  color:#64748b;
}

[data-beamii-push-debug]{
  display:grid;
  grid-template-columns:1fr;
  gap:6px;
  padding-top:10px;
  border-top:1px dashed rgba(15,23,42,.08);
  font-size:12px;
  line-height:1.45;
  color:#475569;
}

[data-beamii-push-debug] strong{
  color:#0f172a;
  font-weight:700;
}

[data-beamii-push-enable],
[data-beamii-push-refresh]{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:42px;
  padding:0 14px;
  border-radius:999px;
  font-weight:700;
}

[data-beamii-push-enable][disabled],
[data-beamii-push-enable][aria-disabled="true"]{
  opacity:.72;
  cursor:default;
}

[data-beamii-push-enable] .fa-spin{
  font-size:14px;
}

[data-beamii-push-status]{
  display:inline-flex;
  align-items:center;
  gap:8px;
}

[data-beamii-push-status]::before{
  content:"";
  width:10px;
  height:10px;
  flex:0 0 10px;
  border-radius:50%;
  background:#f59e0b;
  box-shadow:0 0 0 4px rgba(245,158,11,.12);
}

.beamii-push-state--active [data-beamii-push-status]::before{
  background:#10b981;
  box-shadow:0 0 0 4px rgba(16,185,129,.14);
}

.beamii-push-state--blocked [data-beamii-push-status]::before{
  background:#ef4444;
  box-shadow:0 0 0 4px rgba(239,68,68,.14);
}

.beamii-push-state--inactive [data-beamii-push-status]::before{
  background:#f59e0b;
  box-shadow:0 0 0 4px rgba(245,158,11,.12);
}

/* =====================================================
   Bottom More Menu
===================================================== */
.beamii-bottom-more{
  position:fixed;
  inset:0;
  z-index:250;
  animation:beamiiBottomMoreFadeIn .18s ease;
}

.beamii-bottom-more[hidden]{
  display:none !important;
}

.beamii-bottom-more__backdrop{
  position:absolute;
  inset:0;
  background:rgba(10,18,28,.42);
}

.beamii-bottom-more__dialog{
  position:absolute;
  left:12px;
  right:12px;
  bottom:calc(84px + env(safe-area-inset-bottom, 0px));
  max-width:560px;
  margin:0 auto;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(13,23,38,.08);
  border-radius:20px;
  box-shadow:0 18px 42px rgba(11,26,40,.14);
  animation:beamiiBottomMoreSlideUp .22s cubic-bezier(.22,.61,.36,1);
}

.beamii-bottom-more__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:16px 16px 12px;
  border-bottom:1px solid rgba(13,23,38,.06);
  background:#fff;
}

.beamii-bottom-more__head-copy{
  min-width:0;
  flex:1 1 auto;
}

.beamii-bottom-more__title{
  margin:0;
  font-size:20px;
  font-weight:800;
  letter-spacing:-.02em;
  line-height:1.15;
  color:var(--text);
}

.beamii-bottom-more__subtitle{
  margin-top:4px;
  font-size:13px;
  line-height:1.45;
  color:var(--muted);
}

.beamii-bottom-more__close{
  width:40px;
  height:40px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border:none;
  border-radius:12px;
  background:var(--surface-soft-2);
  color:var(--text-2);
  cursor:pointer;
  transition:transform .14s ease, background .14s ease;
}

.beamii-bottom-more__close:hover{
  background:var(--surface-soft-3);
}

.beamii-bottom-more__close:active{
  transform:scale(.98);
}

.beamii-bottom-more__body{
  padding:12px;
  background:#fff;
}

.beamii-bottom-more__list{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.beamii-bottom-more__link{
  width:100%;
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px;
  border-radius:16px;
  background:#fff;
  border:1px solid rgba(13,23,38,.06);
  color:var(--text-2);
  text-decoration:none;
  box-shadow:none;
  transition:transform .16s ease, background .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.beamii-bottom-more__link:hover{
  background:var(--surface-soft);
  border-color:rgba(13,23,38,.09);
  box-shadow:0 6px 16px rgba(11,26,40,.05);
}

.beamii-bottom-more__link:active{
  transform:scale(.995);
}

.beamii-bottom-more__link.is-active,
.beamii-bottom-more__link[aria-current="page"]{
  background:#f4f8fb;
  border-color:rgba(31,163,214,.16);
}

.beamii-bottom-more__icon{
  width:44px;
  height:44px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:#edf3f8;
  color:var(--beamii-primary);
  font-size:18px;
}

.beamii-bottom-more__label{
  flex:1 1 auto;
  min-width:0;
  font-size:15px;
  font-weight:700;
  line-height:1.35;
  color:var(--text);
}

.beamii-bottom-more__arrow{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  color:var(--muted-2);
  font-size:13px;
}

@keyframes beamiiBottomMoreFadeIn{
  from{ opacity:0; }
  to{ opacity:1; }
}

@keyframes beamiiBottomMoreSlideUp{
  from{
    opacity:0;
    transform:translateY(14px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

/* =====================================================
   Page Transition
===================================================== */
.beamii-page-transition{
  position:fixed;
  inset:0;
  z-index:100050;
  pointer-events:none;
  opacity:0;
  visibility:hidden;
  overflow:hidden;
  transition:opacity .22s ease, visibility .22s ease;
}

.beamii-page-transition::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:0;
  background:
    radial-gradient(circle at 50% 38%, rgba(96,183,255,.22) 0%, rgba(70,149,224,.10) 34%, rgba(19,35,57,0) 72%),
    linear-gradient(180deg, var(--beamii-page-transition-bg-soft) 0%, var(--beamii-page-transition-bg) 100%);
  backdrop-filter:blur(9px) saturate(1.08);
  -webkit-backdrop-filter:blur(9px) saturate(1.08);
  transition:opacity .24s ease;
}

.beamii-page-transition.is-active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.beamii-page-transition.is-active::before{
  opacity:1;
}

.beamii-page-transition__bar{
  position:absolute;
  top:0;
  left:0;
  width:0%;
  height:3px;
  opacity:0;
  background:var(--beamii-page-transition-bar-bg);
  box-shadow:0 0 16px rgba(88,194,255,.5);
  transform-origin:left center;
  transition:width .28s ease, opacity .18s ease;
}

.beamii-page-transition__bar.is-progressing{
  opacity:1;
}

.beamii-page-transition__center{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  padding:
    max(26px, var(--safe-top))
    max(22px, var(--safe-right))
    calc(max(26px, var(--safe-bottom)) + 4px)
    max(22px, var(--safe-left));
}

.beamii-page-transition__panel{
  position:relative;
  width:min(380px, 100%);
  max-width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
  padding:18px 18px 16px;
  border-radius:26px;
  border:var(--beamii-page-transition-panel-border);
  background:var(--beamii-page-transition-panel-bg);
  box-shadow:var(--beamii-page-transition-shadow);
  transform:translateY(10px) scale(.96);
  opacity:0;
  text-align:center;
  transition:transform .22s ease, opacity .22s ease;
}

.beamii-page-transition.is-active .beamii-page-transition__panel{
  transform:translateY(0) scale(1);
  opacity:1;
}

.beamii-page-transition__logo-wrap{
  position:relative;
  width:120px;
  height:120px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 30% 28%, rgba(255,255,255,.95) 0%, rgba(255,255,255,.56) 34%, rgba(255,255,255,.22) 62%, rgba(255,255,255,.08) 100%);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.26),
    0 18px 40px rgba(4,15,30,.28);
  animation:beamiiPageTransitionPulse 1.5s ease-in-out infinite;
}

.beamii-page-transition__logo{
  width:86px;
  height:86px;
  object-fit:contain;
  object-position:center;
  animation:beamiiPageTransitionFloat 1.7s ease-in-out infinite;
  filter:drop-shadow(0 10px 18px rgba(4,15,30,.26));
}

.beamii-page-transition__copy{
  display:flex;
  flex-direction:column;
  gap:4px;
  line-height:1.3;
  color:var(--beamii-page-transition-text);
}

.beamii-page-transition__copy strong{
  display:block;
  font-size:17px;
  font-weight:800;
  letter-spacing:.01em;
}

.beamii-page-transition__copy span{
  display:block;
  font-size:13px;
  color:var(--beamii-page-transition-muted);
}

.beamii-page-transition__dots{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}

.beamii-page-transition__dots span{
  width:8px;
  height:8px;
  border-radius:999px;
  background:var(--beamii-page-transition-dot);
  opacity:.4;
  transform:scale(.78);
  animation:beamiiPageTransitionDots 1.1s ease-in-out infinite;
  box-shadow:
    0 0 0 4px rgba(138,217,255,.1),
    0 0 16px rgba(138,217,255,.26);
}

.beamii-page-transition__dots span:nth-child(2){
  animation-delay:.16s;
}

.beamii-page-transition__dots span:nth-child(3){
  animation-delay:.32s;
}

html.beamii-is-transitioning{
  overflow:hidden;
}

html.beamii-is-transitioning body{
  overflow:hidden;
}

html.is-page-loading,
body.is-page-loading{
  cursor:progress;
}

html.beamii-is-transitioning .app,
html.beamii-is-transitioning .beamii-app,
html.beamii-is-transitioning main,
html.beamii-is-transitioning #page{
  transform:scale(.988);
  opacity:.96;
  filter:saturate(.98);
  transition:transform .22s ease, opacity .22s ease, filter .22s ease;
}

@keyframes beamiiPageTransitionPulse{
  0%{
    transform:scale(.96);
  }
  50%{
    transform:scale(1.03);
  }
  100%{
    transform:scale(.96);
  }
}

@keyframes beamiiPageTransitionFloat{
  0%{ transform:translateY(0); }
  50%{ transform:translateY(-4px); }
  100%{ transform:translateY(0); }
}

@keyframes beamiiPageTransitionDots{
  0%, 80%, 100%{
    opacity:.4;
    transform:scale(.78);
  }
  40%{
    opacity:1;
    transform:scale(1);
  }
}

/* =====================================================
   BeaMii Map Sheet + Shared Place Card Polish
===================================================== */
#viewContainer.cards,
#placesList{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.sheet .place-row{
  display:grid;
  grid-template-columns:92px minmax(0,1fr) 26px;
  gap:12px;
  align-items:stretch;
  padding:12px;
  border-radius:24px;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,251,253,.98));
  border:1px solid rgba(15,23,42,.06);
  box-shadow:0 8px 20px rgba(15,23,42,.05);
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.sheet .place-row.is-active-place{
  border-color:rgba(31,163,214,.20);
  box-shadow:0 14px 28px rgba(31,163,214,.10);
}

.sheet .place-row.is-onspot{
  border-color:rgba(20,160,110,.20);
  box-shadow:0 14px 28px rgba(20,160,110,.10);
}

.sheet .place-row__thumb{
  position:relative;
  width:92px;
  height:112px;
  flex:0 0 auto;
  border-radius:18px;
  overflow:hidden;
  background:#edf3f8;
  border:1px solid rgba(15,23,42,.05);
}

.sheet .place-row__thumb--image{
  padding:0;
  border:none;
  background:#e8eef4;
}

.sheet .place-row__thumb::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg, rgba(8,16,28,.02) 0%, rgba(8,16,28,.12) 100%);
}

.sheet .place-row__image{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}

.sheet .place-row__main{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:1px 0;
}

.sheet .place-row__top{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px 10px;
  align-items:start;
}

.sheet .place-row__pills{
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  gap:7px;
  flex-wrap:wrap;
}

.sheet .place-row__title{
  margin:0;
  font-size:1.02rem;
  font-weight:950;
  line-height:1.14;
  letter-spacing:-.02em;
  color:#102033;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.sheet .place-row__desc{
  margin:0;
  font-size:.90rem;
  line-height:1.42;
  color:rgba(16,32,51,.68);
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.sheet .place-row__bottom{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:8px;
  margin-top:auto;
}

.sheet .place-row__meta{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-width:0;
  font-size:.87rem;
  font-weight:800;
  color:#465f78;
}

.sheet .place-row__meta i{
  color:#536f8a;
}

.sheet .place-row__badges{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  flex-wrap:wrap;
}

.sheet .place-row__chev{
  align-self:center;
  display:flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  color:#233c56;
  font-size:1rem;
  opacity:.84;
}

.sheet .place-pill,
.sheet .mini-pill,
.place-row__top .place-pill,
.place-row__badges .mini-pill{
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:24px;
  padding:0 9px;
  border-radius:999px;
  font-size:.74rem;
  line-height:1;
  font-weight:900;
  white-space:nowrap;
}

.sheet .place-pill i,
.sheet .mini-pill i{
  font-size:.78rem;
}

.sheet .place-pill--type,
.sheet .place-pill--cat{
  background:rgba(255,138,31,.10);
  border:1px solid rgba(255,138,31,.18);
  color:#8f5600;
}

.sheet .place-pill--radius{
  background:rgba(15,23,42,.05);
  border:1px solid rgba(15,23,42,.06);
  color:#5c7288;
}

.sheet .place-pill--dist{
  background:rgba(255,138,31,.10);
  border:1px solid rgba(255,138,31,.16);
  color:#b35c00;
}

.sheet .place-pill--status-open{
  background:rgba(20,160,110,.12);
  border:1px solid rgba(20,160,110,.16);
  color:#117a53;
}

.sheet .place-pill--status-closed{
  background:rgba(15,23,42,.05);
  border:1px solid rgba(15,23,42,.06);
  color:#667b91;
}

.sheet .mini-pill--onspot{
  background:rgba(20,160,110,.12);
  border:1px solid rgba(20,160,110,.16);
  color:#117a53;
}

.sheet .mini-pill--beacon{
  background:rgba(31,163,214,.10);
  border:1px solid rgba(31,163,214,.14);
  color:#0f719f;
}

.sheet .mini-dot{
  width:7px;
  height:7px;
  border-radius:999px;
  background:currentColor;
  display:inline-block;
}

/* =====================================================
   RESPONSIVE
===================================================== */
@media (hover:hover) and (pointer:fine){
  .icon-btn:hover{
    background:rgba(255,255,255,.18);
  }

  .row:hover{
    background:var(--surface-soft-2);
  }
}

@media (hover:none){
  .icon-btn:hover,
  .row:hover{
    background:inherit;
  }
}

@media (max-width:640px){
  #onesignal-slidedown-container.onesignal-slidedown-container{
    padding:calc(env(safe-area-inset-top, 0px) + 8px) 10px 0;
  }

  #onesignal-slidedown-container .onesignal-slidedown-dialog{
    max-width:none !important;
    border-radius:22px !important;
  }

  #onesignal-slidedown-container .slidedown-body{
    padding:16px 16px 12px !important;
    gap:12px !important;
  }

  #onesignal-slidedown-container .slidedown-body-icon{
    width:46px !important;
    height:46px !important;
    flex-basis:46px !important;
    border-radius:14px !important;
  }

  #onesignal-slidedown-container .slidedown-body-icon img{
    width:30px !important;
    height:30px !important;
    max-width:30px !important;
    max-height:30px !important;
  }

  #onesignal-slidedown-container .slidedown-body-message{
    font-size:14px !important;
    line-height:1.45 !important;
  }

  #onesignal-slidedown-container .slidedown-footer{
    padding:0 16px 16px !important;
  }

  #onesignal-slidedown-container .slidedown-button{
    min-height:46px !important;
    border-radius:14px !important;
    font-size:14px !important;
  }

  .topbar{
    gap:8px;
    padding-bottom:10px;
  }

  .searchbar{
    min-height:54px;
    padding:7px 8px 7px 10px;
    gap:8px;
    border-radius:22px;
  }

  .searchbar::before{
    border-radius:21px;
  }

  .searchbar-content{
    gap:8px;
  }

  .topbar-search__field{
    height:40px;
    padding:0 12px;
    gap:8px;
    border-radius:16px;
  }

  .topbar-actions{
    gap:6px;
  }

  .beamii-logo,
  .icon-btn,
  .avatar{
    width:38px;
    height:38px;
  }

  .beamii-logo__character{
    width:34px;
    height:38px;
  }

  .topbar-brand__title{
    font-size:16px;
  }

  .topbar-place__title{
    font-size:15px;
  }

  .topbar-brand__subtitle,
  .topbar-place__subtitle{
    font-size:11px;
  }

  .topbar-brand__eyebrow,
  .topbar-place__eyebrow{
    min-height:20px;
    padding:0 8px;
    font-size:10px;
  }

  .beamii-lang-inline .trp-language-item__current,
  .beamii-lang-inline .trp-ls-shortcode-current-language > a,
  .beamii-lang-inline .trp-language-switcher > div > a,
  .beamii-lang-inline .trp-language-switcher > a{
    height:38px !important;
    min-height:38px !important;
    padding:0 10px !important;
    font-size:13px !important;
  }

  .beamii-lang-inline .trp-switcher-dropdown-list,
  .beamii-lang-inline .trp-language-switcher ul,
  .beamii-lang-inline .trp-ls-shortcode-language{
    min-width:148px !important;
    max-width:min(80vw, 220px) !important;
  }

  .chips{
    padding-bottom:1px;
  }

  .chips-track{
    gap:7px;
  }

  .beamii-notifications-feed__link{
    padding:10px;
    gap:10px;
  }

  .beamii-notifications-feed__thumb{
    flex-basis:62px;
    width:62px;
    height:62px;
    border-radius:12px;
  }

  .beamii-notifications-feed__title{
    font-size:14px;
  }

  .beamii-notifications-feed__message{
    font-size:12px;
  }

  [data-beamii-push-card] .settings-body{
    min-width:0;
  }

  [data-beamii-push-enable],
  [data-beamii-push-refresh]{
    width:100%;
  }

  .beamii-bottom-more__dialog{
    left:12px;
    right:12px;
    bottom:calc(82px + env(safe-area-inset-bottom, 0px));
    border-radius:18px;
  }

  .beamii-bottom-more__head{
    padding:14px 14px 10px;
  }

  .beamii-bottom-more__title{
    font-size:18px;
  }

  .beamii-bottom-more__body{
    padding:10px;
  }

  .beamii-bottom-more__link{
    padding:13px;
    gap:12px;
    border-radius:14px;
  }

  .beamii-bottom-more__icon{
    width:42px;
    height:42px;
    border-radius:12px;
    font-size:17px;
  }

  .beamii-bottom-more__label{
    font-size:14px;
  }

  .sheet__content{
    padding:10px 10px 18px;
  }

  .sheet__header h2{
    font-size:1.12rem;
  }

  .sheet__subline{
    font-size:.86rem;
  }

  .badge{
    font-size:.72rem;
  }

  .sheet__routebar{
    align-items:stretch;
    flex-direction:column;
  }

  .sheet__travelmodes{
    width:100%;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }

  .sheet__modebtn,
  .sheet__navbtn{
    width:100%;
    min-height:46px;
    padding:0 12px;
    font-size:.92rem;
  }

  .sheet__routepill{
    min-height:32px;
    padding:0 10px;
    font-size:11px;
  }

  .sheet .place-row{
    grid-template-columns:84px minmax(0,1fr) 22px;
    gap:10px;
    padding:10px;
    border-radius:22px;
  }

  .sheet .place-row__thumb{
    width:84px;
    height:104px;
    border-radius:17px;
  }

  .sheet .place-row__title{
    font-size:.98rem;
  }

  .sheet .place-row__desc{
    font-size:.85rem;
  }

  .sheet .place-row__bottom{
    flex-direction:column;
    align-items:flex-start;
  }

  .sheet .place-row__badges{
    justify-content:flex-start;
  }

  .sheet .place-row__meta{
    font-size:.83rem;
  }

  .sheet .place-pill,
  .sheet .mini-pill{
    font-size:.71rem;
    min-height:23px;
    padding:0 8px;
  }

  .beamii-biz__grid,
  .beamii-biz__media{
    grid-template-columns:1fr;
  }

  .beamii-biz__gallery{
    grid-template-columns:repeat(2, 1fr);
  }

  .beamii-legal__hero-title{
    font-size:28px;
  }

  .beamii-legal__card{
    padding:16px;
  }

  .beamii-home__hero{
    grid-template-columns:1fr;
  }

  .beamii-home__logo{
    width:64px;
    height:64px;
  }

  .beamii-home__quickgrid,
  .beamii-home__nearest-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:560px){
  .beamii-lang-inline .trp-language-item-name{
    font-size:13px !important;
  }
}

@media (max-width:420px){
  :root{
    --topbar-pad-x:12px;
    --topbar-search-h:54px;
  }

  .searchbar{
    gap:8px;
    padding:7px 7px 7px 9px;
    border-radius:20px;
  }

  .searchbar::before{
    border-radius:19px;
  }

  .topbar-search__field{
    height:39px;
    padding:0 11px;
  }

  .topbar-search__icon{
    font-size:13px;
  }

  .chip{
    min-height:36px;
    padding:0 12px;
    font-size:12px;
  }

  .chip i{
    font-size:12px;
  }

  .fab-stack{
    right:12px;
    top:174px;
  }

  .sheet__content{
    padding-left:12px;
    padding-right:12px;
  }

  .sheet__header h2{
    font-size:18px;
  }

  .account-title,
  .beamii-auth__title h1,
  .beamii-biz__title{
    font-size:26px;
  }

  .beamii-empty__title{
    max-width:18ch;
    font-size:26px;
  }
}

@media (max-width:380px){
  .sheet__travelmodes{
    grid-template-columns:1fr;
  }

  .sheet__routepill{
    width:100%;
    justify-content:flex-start;
  }

  .bottom-nav{
    width:calc(100% - 16px);
    min-height:70px;
    border-radius:24px;
  }

  .nav-item{
    font-size:11px;
  }

  .nav-item i{
    font-size:17px;
  }

  .beamii-bottom-more__dialog{
    left:10px;
    right:10px;
  }

  .beamii-bottom-more__close{
    width:38px;
    height:38px;
  }

  .sheet .place-row{
    grid-template-columns:78px minmax(0,1fr) 20px;
  }

  .sheet .place-row__thumb{
    width:78px;
    height:96px;
  }

  .sheet__modebtn span{
    white-space:nowrap;
  }
}

@media (min-width:760px){
  :root{
    --topbar-pad-x:18px;
    --topbar-offset-top:14px;
  }

  .topbar{
    padding-bottom:12px;
  }

  .searchbar{
    max-width:560px;
  }

  .chips{
    max-width:var(--places-max);
  }

  .fab-stack{
    right:20px;
    top:198px;
  }

  .bottom-nav{
    min-height:76px;
    border-radius:28px;
  }

  .nav-item i{
    font-size:19px;
  }

  .sheet__content{
    padding:14px 18px 24px;
  }

  .account-title{
    font-size:36px;
  }

  .beamii-home{
    padding-top: 10vh;
  }

  .places-page{
    padding-left:18px;
    padding-right:18px;
  }
}

@media (min-width:900px){
  .beamii-places .beamii-places-page{
    padding-left:18px;
    padding-right:18px;
  }

  .beamii-places .places-grid{
    grid-template-columns:1fr 1fr;
    gap:16px;
  }

  .sheet{
    left:50%;
    right:auto;
    width:min(var(--app-max), calc(100% - 40px));
    transform:translateX(-50%) translateY(var(--sheetY, calc(100% - var(--sheet-collapsed-visible)))) translateZ(0);
    -webkit-transform:translateX(-50%) translateY(var(--sheetY, calc(100% - var(--sheet-collapsed-visible)))) translateZ(0);
  }

  .beamii-home{
    padding-top: 10vh;
  }
}

@media (min-width:1100px){
  .bottom-nav{
    max-width:590px;
  }
}

@media (min-width:1280px){
  .beamii-places .places-grid{
    grid-template-columns:1fr 1fr 1fr;
  }
}

@media (prefers-reduced-motion:reduce){
  *,
  *::before,
  *::after{
    animation:none !important;
    transition:none !important;
    scroll-behavior:auto !important;
  }

  .beamii-places .place-row,
  .beamii-places .beamii-btn{
    transition:none;
  }

  .beamii-places .places-skeleton__media::after,
  .beamii-places .places-skeleton__line::after{
    animation:none;
  }

  .beamii-bottom-more,
  .beamii-bottom-more__dialog,
  .beamii-bottom-more__link,
  .beamii-bottom-more__close,
  .beamii-page-transition,
  .beamii-page-transition::before,
  .beamii-page-transition__panel,
  .beamii-page-transition__logo-wrap,
  .beamii-page-transition__logo,
  .beamii-page-transition__dots span,
  .beamii-page-transition__bar,
  html.beamii-is-transitioning .app,
  html.beamii-is-transitioning .beamii-app,
  html.beamii-is-transitioning main,
  html.beamii-is-transitioning #page{
    animation:none !important;
    transition:none !important;
  }

  html.beamii-is-transitioning .app,
  html.beamii-is-transitioning .beamii-app,
  html.beamii-is-transitioning main,
  html.beamii-is-transitioning #page{
    transform:none !important;
    filter:none !important;
    opacity:1 !important;
  }
}

@supports (padding:max(0px)){
  .beamii-home{
    padding-bottom:max(112px, env(safe-area-inset-bottom));
  }
}

/* =====================================================
   TranslatePress → BeaMii topbar skin
===================================================== */
.beamii-lang-inline{
  position:relative;
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  overflow:visible;
}

.beamii-lang-inline--switcher{
  min-width:0;
}

.beamii-lang-inline .beamii-trp-shortcode-wrap{
  position:relative !important;
  display:block !important;
  width:auto !important;
  min-width:0 !important;
  overflow:visible !important;
  line-height:1 !important;
}

.beamii-lang-inline .beamii-trp-switcher--anchor{
  visibility:hidden !important;
  pointer-events:none !important;
  position:relative !important;
  display:block !important;
}

.beamii-lang-inline .beamii-trp-switcher--overlay{
  position:absolute !important;
  inset:0 auto auto 0 !important;
  width:100% !important;
  min-width:0 !important;
  overflow:visible !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  z-index:80 !important;
}

.beamii-lang-inline .beamii-trp-current-wrap{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  min-height:38px !important;
  height:38px !important;
  padding:0 11px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.12) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05) !important;
  cursor:pointer !important;
  transition:
    transform .14s ease,
    background .14s ease,
    border-color .14s ease,
    box-shadow .14s ease !important;
}

.beamii-lang-inline .beamii-trp-switcher--overlay:hover .beamii-trp-current-wrap{
  background:rgba(255,255,255,.18) !important;
}

.beamii-lang-inline .beamii-trp-switcher--overlay.is-open .beamii-trp-current-wrap{
  background:rgba(255,255,255,.20) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 10px 22px rgba(0,0,0,.12) !important;
}

.beamii-lang-inline .beamii-trp-current-item{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:auto !important;
  min-height:auto !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  text-decoration:none !important;
  line-height:1 !important;
}

.beamii-lang-inline .beamii-trp-current-item[role="button"]{
  cursor:pointer !important;
}

.beamii-lang-inline .beamii-trp-flag{
  width:18px !important;
  height:auto !important;
  border-radius:4px !important;
  display:block !important;
  box-shadow:none !important;
}

.beamii-lang-inline .beamii-trp-arrow{
  width:16px !important;
  height:16px !important;
  flex:0 0 16px !important;
  transition:transform .18s ease !important;
}

.beamii-lang-inline .beamii-trp-switcher--overlay.is-open .beamii-trp-arrow{
  transform:rotate(180deg) !important;
}

.beamii-lang-inline .beamii-trp-arrow path{
  stroke:rgba(255,255,255,.92) !important;
}

.beamii-lang-inline .beamii-trp-dropdown{
  position:absolute !important;
  top:calc(100% + 8px) !important;
  right:0 !important;
  left:auto !important;
  min-width:unset !important;
  width:auto !important;
  max-width:none !important;
  padding:6px !important;
  border:none !important;
  border-radius:14px !important;
  background:rgba(255,255,255,.98) !important;
  box-shadow:
    0 14px 30px rgba(11,26,40,.16),
    0 4px 12px rgba(11,26,40,.06) !important;
  overflow:hidden !important;
  backdrop-filter:blur(16px) saturate(1.06);
  -webkit-backdrop-filter:blur(16px) saturate(1.06);
  z-index:90 !important;
}

.beamii-lang-inline .beamii-trp-dropdown:has(.beamii-trp-language-item:only-child){
  padding:4px !important;
}

.beamii-lang-inline .beamii-trp-dropdown .beamii-trp-language-item,
.beamii-lang-inline .beamii-trp-dropdown a.trp-language-item{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  width:auto !important;
  min-width:44px !important;
  min-height:40px !important;
  padding:8px !important;
  border-radius:10px !important;
  background:transparent !important;
  border:none !important;
  color:var(--text) !important;
  font-size:13px !important;
  font-weight:800 !important;
  line-height:1 !important;
  text-decoration:none !important;
  box-shadow:none !important;
  transition:background .14s ease, transform .14s ease !important;
}

.beamii-lang-inline .beamii-trp-dropdown .beamii-trp-language-item:hover,
.beamii-lang-inline .beamii-trp-dropdown a.trp-language-item:hover{
  background:var(--surface-soft-2) !important;
}

.beamii-lang-inline .beamii-trp-dropdown .beamii-trp-language-item:active,
.beamii-lang-inline .beamii-trp-dropdown a.trp-language-item:active{
  transform:scale(.98) !important;
}

.beamii-lang-inline .beamii-trp-dropdown .beamii-trp-language-item .beamii-trp-flag{
  width:20px !important;
  border-radius:4px !important;
  box-shadow:0 0 0 1px rgba(13,23,38,.08) !important;
}

.topbar,
.topbar-inner,
.searchbar,
.searchbar-content,
.topbar-actions,
.beamii-lang-inline{
  overflow:visible !important;
}

@media (max-width:640px){
  .beamii-lang-inline .beamii-trp-current-wrap{
    min-height:38px !important;
    height:38px !important;
    padding:0 10px !important;
  }

  .beamii-lang-inline .beamii-trp-dropdown{
    top:calc(100% + 7px) !important;
    right:0 !important;
    padding:5px !important;
    border-radius:13px !important;
  }

  .beamii-lang-inline .beamii-trp-dropdown .beamii-trp-language-item,
  .beamii-lang-inline .beamii-trp-dropdown a.trp-language-item{
    min-width:42px !important;
    min-height:38px !important;
    padding:7px !important;
  }

  .beamii-lang-inline .beamii-trp-dropdown .beamii-trp-language-item .beamii-trp-flag{
    width:18px !important;
  }
}
/* ========================================================================
 * 23. HERO CONTACT DROPDOWN
 * ===================================================================== */

.beamii-place2__hero-contact{
	margin-top: 12px;
}

.beamii-place2__hero-contact summary{
	list-style: none;
}

.beamii-place2__hero-contact summary::-webkit-details-marker{
	display: none;
}

.beamii-place2__hero-contact-summary{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 44px;
	padding: 0 14px;
	border-radius: 999px;
	background: rgba(255,255,255,.16);
	border: 1px solid rgba(255,255,255,.20);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	color: #fff;
	font-size: .88rem;
	font-weight: 800;
	cursor: pointer;
	user-select: none;
}

.beamii-place2__hero-contact-summary-copy{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
}

.beamii-place2__hero-contact-summary-icon{
	flex: 0 0 auto;
	transition: transform .18s ease;
}

.beamii-place2__hero-contact[open] .beamii-place2__hero-contact-summary-icon{
	transform: rotate(180deg);
}

.beamii-place2__hero-contact-panel{
	margin-top: 10px;
	padding: 12px;
	border-radius: 18px;
	background: rgba(255,255,255,.14);
	border: 1px solid rgba(255,255,255,.18);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

.beamii-place2__hero-contact-grid{
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
}

.beamii-place2__hero-contact-item{
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 12px;
	border-radius: 16px;
	background: rgba(255,255,255,.94);
	border: 1px solid rgba(255,255,255,.44);
	color: #102033;
	text-decoration: none;
	box-shadow: 0 2px 10px rgba(15,23,42,.05);
}

.beamii-place2__hero-contact-item:hover{
	transform: translateY(-1px);
	box-shadow: 0 8px 20px rgba(15,23,42,.10);
	color: #102033;
}

.beamii-place2__hero-contact-item-icon{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	flex: 0 0 36px;
	border-radius: 12px;
	background: rgba(25,143,209,.10);
	color: #198fd1;
}

.beamii-place2__hero-contact-item-copy{
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.beamii-place2__hero-contact-item-label{
	font-size: .72rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .05em;
	color: rgba(16,32,51,.54);
}

.beamii-place2__hero-contact-item-value{
	font-size: .92rem;
	font-weight: 800;
	line-height: 1.35;
	color: #102033;
	word-break: break-word;
}

.beamii-place2__hero-contact-actions{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 12px;
}

.beamii-place2__hero-contact-route{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 42px;
	padding: 0 14px;
	border-radius: 999px;
	text-decoration: none;
	font-weight: 800;
	color: #fff;
	background: linear-gradient(135deg, var(--bp-primary-2) 0%, var(--bp-primary) 100%);
	box-shadow: 0 12px 24px var(--bp-primary-shadow);
}

.beamii-place2__hero-contact-route:hover{
	color: #fff;
	filter: brightness(1.03);
}

/* ========================================================================
 * 24. FORCE RECO TO SLIDER
 * ===================================================================== */

.beamii-place2__reco-slider{
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(260px, 78%);
	gap: 12px;
	overflow-x: auto;
	padding: 2px 2px 4px;
	-webkit-overflow-scrolling: touch;
	scroll-snap-type: x proximity;
	scrollbar-width: none;
}

.beamii-place2__reco-slider::-webkit-scrollbar{
	display: none;
}

.beamii-place2__reco-slider .beamii-place2__reco-item{
	scroll-snap-align: start;
}

/**
 * ---------------------------------------------------------
 * BeaMii Place Styles
 * ---------------------------------------------------------
 * Fil: assets/css/place.css
 * Version: 2.2.0
 *
 * Ansvar:
 * - Ejer hele sted-sidens visuelle lag
 * - Samler tidligere inline CSS fra page-sted.php
 * - Matcher nuværende markup i page-sted.php
 * - Matcher nuværende place.js
 *
 * Dækker:
 * - page background + layout
 * - sticky actions
 * - hero
 * - hero kontakt-dropdown
 * - cards / section heads / content
 * - meal flags (skjult defensivt)
 * - kontakt / info
 * - quick links / lister
 * - promo / instagram / gallery
 * - opening hours
 * - widget / embed
 * - recommendations sliders
 * - share sheet / smart prompt
 * - outgoing modal
 * - mini map / full map modal
 * - toast
 *
 * Vigtigt:
 * - Bevarer eksisterende classnames og hooks
 * - Skal kun enqueues på sted-sider
 * - app.css ejer app shell, place.css ejer sted-siden
 * ---------------------------------------------------------
 */

/* ========================================================================
 * 01. PLACE ROOT / TOKENS
 * ===================================================================== */

.beamii-place2{
	--bp-bg: rgba(255,255,255,.88);
	--bp-bg-strong: rgba(255,255,255,.96);
	--bp-surface: rgba(255,255,255,.94);
	--bp-surface-2: rgba(255,255,255,.84);
	--bp-surface-3: rgba(247,250,252,.94);

	--bp-text: #102033;
	--bp-text-strong: rgba(12,18,32,.94);
	--bp-muted: rgba(16,32,51,.64);
	--bp-muted-2: rgba(16,32,51,.52);

	--bp-line: rgba(15,23,42,.08);
	--bp-line-soft: rgba(15,23,42,.05);
	--bp-line-strong: rgba(15,23,42,.12);
	--bp-white-line: rgba(255,255,255,.42);

	--bp-primary: #198fd1;
	--bp-primary-2: #2ea7e0;
	--bp-primary-3: #0f6ea5;
	--bp-primary-soft: rgba(25,143,209,.10);
	--bp-primary-soft-2: rgba(25,143,209,.06);
	--bp-primary-shadow: rgba(31,163,214,.22);

	--bp-accent: #ff8a1f;
	--bp-success: #1f9d68;
	--bp-danger: #ff5f7a;

	--bp-shadow-xs: 0 2px 8px rgba(15,23,42,.04);
	--bp-shadow-sm: 0 8px 20px rgba(15,23,42,.07);
	--bp-shadow-md: 0 14px 34px rgba(15,23,42,.10);
	--bp-shadow-lg: 0 24px 54px rgba(15,23,42,.18);

	--bp-radius-sm: 14px;
	--bp-radius-md: 18px;
	--bp-radius-lg: 24px;
	--bp-radius-xl: 28px;

	--bp-blur: 18px;
	--bp-content-max: 860px;
	--bp-content-narrow: 760px;

	--bp-sticky-top: calc(var(--safe-top, env(safe-area-inset-top, 0px)) + 74px);
	--bp-bottom-space: calc(96px + env(safe-area-inset-bottom));
	--bp-page-top-space: 86px;
}

.beamii-place2 *,
.beamii-place2 *::before,
.beamii-place2 *::after{
	box-sizing: border-box;
}

.beamii-place2 a,
.beamii-place2 button,
.beamii-place2 summary{
	-webkit-tap-highlight-color: transparent;
}

.beamii-place2 [hidden]{
	display: none !important;
}

/* ========================================================================
 * 02. PAGE BACKGROUND / PAGE LAYOUT
 * ===================================================================== */

.beamii-place2__pagebg{
	background:
		radial-gradient(circle at top, rgba(255,255,255,.10) 0%, rgba(255,255,255,0) 32%),
		linear-gradient(180deg, #8fb7d4 0%, #77a5c7 22%, #6c9cc0 48%, #6b9bbf 100%);
	min-height: 100vh;
}

.beamii-place2__page{
	padding-top: max(8px, env(safe-area-inset-top));
	padding-bottom: var(--bp-bottom-space);
}

.beamii-place2__wrap{
	width: 100%;
	max-width: var(--bp-content-max);
	margin: 0 auto;
	padding: var(--bp-page-top-space) 14px 0;
}

/* ========================================================================
 * 03. SHARED CARD / TYPOGRAPHY / CONTENT ELEMENTS
 * ===================================================================== */

.beamii-place2__card{
	position: relative;
	background: var(--bp-surface);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border: 1px solid var(--bp-white-line);
	border-radius: 24px;
	box-shadow:
		0 10px 30px rgba(12,18,32,.10),
		inset 0 1px 0 rgba(255,255,255,.42);
}

.beamii-place2__info-card,
.beamii-place2__content-card,
.beamii-place2__section,
.beamii-place2__embed-card,
.beamii-place2__widget-card,
.beamii-place2__reco-section{
	padding: 16px;
	margin-bottom: 12px;
}

.beamii-place2__card-title{
	margin: 0;
	font-size: 1rem;
	font-weight: 900;
	letter-spacing: -.02em;
	line-height: 1.2;
	color: var(--bp-text-strong);
}

.beamii-place2__card-title--spaced{
	margin-bottom: 12px;
}

.beamii-place2__card-text{
	color: rgba(12,18,32,.70);
	line-height: 1.58;
}

.beamii-place2__section-head,
.beamii-place2__info-head{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 12px;
}

.beamii-place2__section-title{
	margin: 0;
	font-size: 1rem;
	font-weight: 900;
	letter-spacing: -.02em;
	line-height: 1.2;
	color: var(--bp-text-strong);
}

.beamii-place2__content-body{
	color: rgba(12,18,32,.78);
	line-height: 1.68;
	font-size: .96rem;
}

.beamii-place2__content-body > *:first-child{
	margin-top: 0;
}

.beamii-place2__content-body > *:last-child{
	margin-bottom: 0;
}

.beamii-place2__content-body p{
	margin: 0 0 14px;
}

.beamii-place2__content-body ul,
.beamii-place2__content-body ol{
	margin: 0 0 14px;
	padding-left: 18px;
}

.beamii-place2__content-body li{
	margin-bottom: 8px;
}

.beamii-place2__content-body.is-wide{
	max-width: none;
}

.beamii-place2__content-body.is-card{
	max-width: 70ch;
}

.beamii-place2__action-row{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 14px;
}

/* ========================================================================
 * 04. STICKY ACTION BAR
 * ===================================================================== */

.beamii-place2__sticky-actions-wrap{
	position: sticky;
	top: var(--bp-sticky-top);
	z-index: 21;
	padding: 10px 12px 0;
	max-width: calc(var(--bp-content-max) + 32px);
	margin: 0 auto;
	pointer-events: none;
}

.beamii-place2__sticky-actions{
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-areas:
		"main tools"
		"cta cta";
	align-items: center;
	gap: 10px 12px;
	padding: 12px;
	border-radius: 22px;
	background: linear-gradient(180deg, rgba(255,255,255,.90), rgba(255,255,255,.78));
	border: 1px solid rgba(255,255,255,.66);
	box-shadow:
		0 18px 36px rgba(15,23,42,.16),
		inset 0 1px 0 rgba(255,255,255,.42);
	backdrop-filter: blur(18px) saturate(1.1);
	-webkit-backdrop-filter: blur(18px) saturate(1.1);
	pointer-events: auto;
}

.beamii-place2__sticky-actions-main,
.beamii-place2__sticky-actions-cta,
.beamii-place2__sticky-actions-tools{
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
}

.beamii-place2__sticky-actions-main{
	grid-area: main;
	gap: 10px;
}

.beamii-place2__sticky-actions-cta{
	grid-area: cta;
}

.beamii-place2__sticky-actions-tools{
	grid-area: tools;
	justify-content: flex-end;
	flex-wrap: nowrap;
}

.beamii-place2__sticky-actions-title{
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.beamii-place2__sticky-actions-kicker{
	display: inline-flex;
	align-items: center;
	width: fit-content;
	padding: 4px 9px;
	border-radius: 999px;
	font-size: .66rem;
	font-weight: 900;
	line-height: 1;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--bp-primary-ink);
	background: rgba(25,143,209,.10);
}

.beamii-place2__sticky-actions-name{
	font-size: 1rem;
	font-weight: 900;
	line-height: 1.08;
	letter-spacing: -.01em;
	color: var(--bp-text);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.beamii-place2__sticky-actions-city{
	font-size: .81rem;
	line-height: 1.15;
	color: var(--bp-muted);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.beamii-place2__sticky-btn,
.beamii-place2__sticky-pill,
.beamii-place2__directions,
.beamii-place2__info-btn,
.beamii-place2__chip-btn,
.beamii-place2__map-btn,
.beamii-place2__sheet-btn,
.beamii-place2__smartprompt-btn,
.beamii-place2__hero-contact-route{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	text-decoration: none;
	cursor: pointer;
	transition:
		transform .18s ease,
		box-shadow .18s ease,
		border-color .18s ease,
		background .18s ease,
		color .18s ease,
		filter .18s ease;
	-webkit-tap-highlight-color: transparent;
}

.beamii-place2__sticky-btn,
.beamii-place2__sticky-pill{
	min-height: 44px;
	padding: 0 14px;
	border-radius: 999px;
	border: 1px solid rgba(15,23,42,.08);
	background: rgba(255,255,255,.88);
	color: var(--bp-text);
	font-weight: 850;
	box-shadow: 0 2px 8px rgba(15,23,42,.03);
}

.beamii-place2__sticky-btn:hover,
.beamii-place2__sticky-pill:hover,
.beamii-place2__sticky-btn:focus-visible,
.beamii-place2__sticky-pill:focus-visible{
	transform: translateY(-1px);
	box-shadow: var(--bp-shadow-sm);
	border-color: rgba(25,143,209,.18);
	outline: none;
}

.beamii-place2__sticky-btn:active,
.beamii-place2__sticky-pill:active{
	transform: translateY(0);
	box-shadow: 0 4px 12px rgba(15,23,42,.08);
}

.beamii-place2__sticky-btn--icon{
	width: 44px;
	padding: 0;
	flex: 0 0 44px;
}

.beamii-place2__sticky-btn--back{
	background: rgba(18,32,48,.06);
	border-color: rgba(18,32,48,.08);
}

.beamii-place2__sticky-btn--tool{
	min-width: 44px;
	padding-inline: 14px;
}

.beamii-place2__sticky-btn-text{
	font-size: .84rem;
	font-weight: 850;
	line-height: 1;
	white-space: nowrap;
}

.beamii-place2__sticky-pill--route{
	width: 100%;
	justify-content: center;
	min-height: 46px;
}

.beamii-place2__sticky-btn--primary,
.beamii-place2__directions,
.beamii-place2__info-btn--primary,
.beamii-place2__chip-btn--primary,
.beamii-place2__map-btn--primary,
.beamii-place2__sheet-btn--primary,
.beamii-place2__smartprompt-btn--primary,
.beamii-place2__hero-contact-route{
	background: linear-gradient(135deg, var(--bp-primary-2) 0%, var(--bp-primary) 100%);
	color: #fff;
	border-color: transparent;
	box-shadow: 0 12px 24px var(--bp-primary-shadow);
}

.beamii-place2__sticky-btn--primary:hover,
.beamii-place2__directions:hover,
.beamii-place2__info-btn--primary:hover,
.beamii-place2__chip-btn--primary:hover,
.beamii-place2__map-btn--primary:hover,
.beamii-place2__sheet-btn--primary:hover,
.beamii-place2__smartprompt-btn--primary:hover,
.beamii-place2__hero-contact-route:hover{
	color: #fff;
	filter: brightness(1.03);
}

.beamii-place2__sticky-btn.is-active{
	border-color: rgba(255,95,122,.22);
	background: rgba(255,95,122,.07);
}

.beamii-place2__sticky-btn.is-active i{
	color: var(--bp-danger);
}

.beamii-place2__directions{
	min-height: 48px;
	padding: 0 18px;
	border-radius: 999px;
	font-weight: 800;
}

.beamii-place2__info-actions,
.beamii-place2__promo-actions{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.beamii-place2__info-btn,
.beamii-place2__chip-btn,
.beamii-place2__map-btn{
	min-height: 40px;
	padding: 0 14px;
	border-radius: 999px;
	font-weight: 800;
	background: rgba(12,18,32,.05);
	color: rgba(12,18,32,.88);
	border: 1px solid rgba(12,18,32,.08);
	box-shadow: none;
}

.beamii-place2__info-btn:hover,
.beamii-place2__chip-btn:hover,
.beamii-place2__map-btn:hover{
	color: rgba(12,18,32,.96);
	background: rgba(12,18,32,.07);
	transform: translateY(-1px);
}

.beamii-place2__sticky-btn:focus-visible,
.beamii-place2__sticky-pill:focus-visible,
.beamii-place2__directions:focus-visible,
.beamii-place2__info-btn:focus-visible,
.beamii-place2__chip-btn:focus-visible,
.beamii-place2__map-btn:focus-visible,
.beamii-place2__sheet-btn:focus-visible,
.beamii-place2__smartprompt-btn:focus-visible,
.beamii-place2__hero-contact-route:focus-visible{
	outline: 2px solid rgba(25,143,209,.34);
	outline-offset: 2px;
}

/* ========================================================================
 * 05. HERO
 * ===================================================================== */

.beamii-place2__hero{
	position: relative;
	overflow: hidden;
	margin-bottom: 12px;
}

.beamii-place2__hero-cover{
	position: relative;
	min-height: 260px;
	background:
		linear-gradient(180deg, rgba(13,24,37,.08), rgba(13,24,37,.22)),
		linear-gradient(135deg, #90b9d8 0%, #7faece 42%, #6d9cc0 100%);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.beamii-place2__hero-cover.has-image{
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.beamii-place2__hero-cover.is-compact{
	min-height: 210px;
}

.beamii-place2__hero-inner{
	position: relative;
	z-index: 2;
	padding: 18px;
	min-height: 260px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: 12px;
}

.beamii-place2__hero-inner.is-compact{
	min-height: 210px;
}

.beamii-place2__hero-top{
	display: flex;
	align-items: flex-start;
	gap: 14px;
}

.beamii-place2__logo{
	width: 78px;
	height: 78px;
	border-radius: 22px;
	overflow: hidden;
	flex: 0 0 78px;
	background: rgba(255,255,255,.95);
	border: 1px solid rgba(255,255,255,.58);
	box-shadow: 0 8px 20px rgba(12,18,32,.12);
	display: grid;
	place-items: center;
}

.beamii-place2__logo img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.beamii-place2__logo-fallback{
	font-size: 26px;
	color: rgba(12,18,32,.68);
}

.beamii-place2__hero-copy{
	flex: 1 1 auto;
	min-width: 0;
}

.beamii-place2__title{
	margin: 0;
	color: #fff;
	font-weight: 900;
	font-size: clamp(1.6rem, 4vw, 2.35rem);
	line-height: 1.06;
	letter-spacing: -.03em;
	text-shadow: 0 8px 22px rgba(0,0,0,.22);
}

.beamii-place2__meta{
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 10px;
}

.beamii-place2__meta-pill{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 34px;
	padding: 0 12px;
	border-radius: 999px;
	color: #fff !important;
	font-size: .84rem;
	font-weight: 800;
	background: rgba(255,255,255,.16);
	border: 1px solid rgba(255,255,255,.20);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	text-decoration: none;
}

.beamii-place2__meta-pill:hover{
	background: rgba(255,255,255,.22);
	color: #fff !important;
}

.beamii-place2__hero-text{
	color: rgba(255,255,255,.96);
	line-height: 1.56;
	font-weight: 500;
	max-width: 64ch;
	text-shadow: 0 2px 10px rgba(0,0,0,.15);
}

/* ========================================================================
 * 06. HERO CONTACT DROPDOWN
 * ===================================================================== */

.beamii-place2__hero-contact{
	margin-top: 2px;
}

.beamii-place2__hero-contact summary{
	list-style: none;
}

.beamii-place2__hero-contact summary::-webkit-details-marker{
	display: none;
}

.beamii-place2__hero-contact-summary{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 44px;
	padding: 0 14px;
	border-radius: 999px;
	background: rgba(255,255,255,.16);
	border: 1px solid rgba(255,255,255,.20);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	color: #fff;
	font-size: .88rem;
	font-weight: 800;
	cursor: pointer;
	user-select: none;
}

.beamii-place2__hero-contact-summary:hover{
	background: rgba(255,255,255,.20);
}

.beamii-place2__hero-contact-summary:focus-visible{
	outline: 2px solid rgba(255,255,255,.55);
	outline-offset: 2px;
}

.beamii-place2__hero-contact-summary-copy{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
}

.beamii-place2__hero-contact-summary-icon{
	flex: 0 0 auto;
	transition: transform .18s ease;
}

.beamii-place2__hero-contact[open] .beamii-place2__hero-contact-summary-icon{
	transform: rotate(180deg);
}

.beamii-place2__hero-contact-panel{
	margin-top: 10px;
	padding: 12px;
	border-radius: 18px;
	background: rgba(255,255,255,.14);
	border: 1px solid rgba(255,255,255,.18);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

.beamii-place2__hero-contact-grid{
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
}

.beamii-place2__hero-contact-item{
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 12px;
	border-radius: 16px;
	background: rgba(255,255,255,.94);
	border: 1px solid rgba(255,255,255,.44);
	color: #102033;
	text-decoration: none;
	box-shadow: 0 2px 10px rgba(15,23,42,.05);
	transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.beamii-place2__hero-contact-item:hover{
	transform: translateY(-1px);
	box-shadow: 0 8px 20px rgba(15,23,42,.10);
	color: #102033;
	background: #fff;
}

.beamii-place2__hero-contact-item:focus-visible{
	outline: 2px solid rgba(25,143,209,.28);
	outline-offset: 2px;
}

.beamii-place2__hero-contact-item-icon{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	flex: 0 0 36px;
	border-radius: 12px;
	background: var(--bp-primary-soft);
	color: var(--bp-primary);
}

.beamii-place2__hero-contact-item-copy{
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.beamii-place2__hero-contact-item-label{
	font-size: .72rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .05em;
	color: rgba(16,32,51,.54);
}

.beamii-place2__hero-contact-item-value{
	font-size: .92rem;
	font-weight: 800;
	line-height: 1.35;
	color: #102033;
	word-break: break-word;
}

.beamii-place2__hero-contact-actions{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 12px;
}

.beamii-place2__hero-contact-route{
	min-height: 42px;
	padding: 0 14px;
	border-radius: 999px;
	font-weight: 800;
}

/* ========================================================================
 * 07. MEAL FLAGS (SKJULT DEFENSIVT)
 * ===================================================================== */

/*
 * Måltider / servering er fjernet fra page-sted.php,
 * men skjules også defensivt her hvis gammel markup stadig rendres.
 */
.beamii-place2__meal-flags{
	display: none !important;
}

.beamii-place2__meal-flag{
	display: none !important;
}

.beamii-place2__meal-flag-icon,
.beamii-place2__meal-flag-copy,
.beamii-place2__meal-flag-label,
.beamii-place2__meal-flag-meta{
	display: none !important;
}

/* ========================================================================
 * 08. CONTACT / INFO
 * ===================================================================== */

.beamii-place2__contact-grid,
.beamii-place2__list,
.beamii-place2__hours-table{
	display: grid;
	gap: 10px;
}

.beamii-place2__contact-item{
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 12px 14px;
	border-radius: 18px;
	background: rgba(12,18,32,.04);
	border: 1px solid rgba(12,18,32,.06);
	color: rgba(12,18,32,.84);
	text-decoration: none;
	width: 100%;
	text-align: left;
	cursor: pointer;
	transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}

.beamii-place2__contact-item:hover{
	color: rgba(12,18,32,.92);
	background: rgba(12,18,32,.05);
	transform: translateY(-1px);
	box-shadow: var(--bp-shadow-xs);
}

.beamii-place2__contact-item:focus-visible{
	outline: 2px solid rgba(25,143,209,.20);
	outline-offset: 2px;
}

.beamii-place2__contact-icon{
	width: 22px;
	flex: 0 0 22px;
	margin-top: 1px;
	text-align: center;
	color: var(--bp-primary);
}

.beamii-place2__contact-copy,
.beamii-place2__list-copy{
	min-width: 0;
	flex: 1 1 auto;
}

.beamii-place2__contact-label{
	display: block;
	font-size: .76rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: rgba(12,18,32,.50);
	margin-bottom: 2px;
}

.beamii-place2__contact-value{
	display: block;
	font-weight: 700;
	color: rgba(12,18,32,.88);
	word-break: break-word;
}

/* ========================================================================
 * 09. QUICK LINKS / LISTS
 * ===================================================================== */

.beamii-place2__quick-grid{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

.beamii-place2__quick-item{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	min-height: 112px;
	padding: 14px;
	border-radius: 20px;
	text-decoration: none;
	color: rgba(12,18,32,.88);
	background: rgba(12,18,32,.04);
	border: 1px solid rgba(12,18,32,.06);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.35);
	transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}

.beamii-place2__quick-item:hover{
	transform: translateY(-1px);
	background: rgba(12,18,32,.055);
	color: rgba(12,18,32,.96);
}

.beamii-place2__quick-item:focus-visible{
	outline: 2px solid rgba(25,143,209,.20);
	outline-offset: 2px;
}

.beamii-place2__quick-icon,
.beamii-place2__list-icon,
.beamii-place2__reco-head-icon{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--bp-primary-soft);
	color: var(--bp-primary);
}

.beamii-place2__quick-icon{
	width: 40px;
	height: 40px;
	border-radius: 14px;
	font-size: 1rem;
}

.beamii-place2__quick-copy{
	display: block;
	width: 100%;
}

.beamii-place2__quick-label,
.beamii-place2__list-label{
	display: block;
	font-weight: 800;
	line-height: 1.22;
	word-break: break-word;
}

.beamii-place2__quick-meta,
.beamii-place2__list-meta{
	display: block;
	margin-top: 4px;
	line-height: 1.35;
	color: rgba(12,18,32,.58);
}

.beamii-place2__quick-meta{
	font-size: .78rem;
}

.beamii-place2__list-meta{
	font-size: .82rem;
}

.beamii-place2__list-item{
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 56px;
	padding: 12px 14px;
	border-radius: 18px;
	text-decoration: none;
	color: rgba(12,18,32,.88);
	background: rgba(12,18,32,.04);
	border: 1px solid rgba(12,18,32,.06);
	transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}

.beamii-place2__list-item:hover{
	color: rgba(12,18,32,.96);
	background: rgba(12,18,32,.055);
	transform: translateY(-1px);
	box-shadow: var(--bp-shadow-xs);
}

.beamii-place2__list-item:focus-visible{
	outline: 2px solid rgba(25,143,209,.20);
	outline-offset: 2px;
}

.beamii-place2__list-icon{
	width: 34px;
	height: 34px;
	border-radius: 12px;
	flex: 0 0 34px;
}

.beamii-place2__list-arrow{
	color: rgba(12,18,32,.35);
	flex: 0 0 auto;
}

/* ========================================================================
 * 10. PROMO / INSTAGRAM
 * ===================================================================== */

.beamii-place2__promo,
.beamii-place2__instagram{
	overflow: hidden;
	padding: 0;
	margin-bottom: 12px;
}

.beamii-place2__promo-inner,
.beamii-place2__instagram-inner{
	display: grid;
	grid-template-columns: 1fr;
	text-decoration: none;
	color: inherit;
}

.beamii-place2__promo-media,
.beamii-place2__instagram-media{
	position: relative;
	aspect-ratio: 16 / 9;
	overflow: hidden;
}

.beamii-place2__promo-media{
	background:
		linear-gradient(135deg, rgba(20,143,202,.14), rgba(20,143,202,.04)),
		linear-gradient(135deg, #f5f8fc 0%, #e8eff7 100%);
}

.beamii-place2__instagram-media{
	background:
		linear-gradient(135deg, rgba(20,143,202,.12), rgba(20,143,202,.03)),
		linear-gradient(135deg, #f6f8fc 0%, #eef3f8 100%);
}

.beamii-place2__promo-media img,
.beamii-place2__instagram-media img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.beamii-place2__promo-body,
.beamii-place2__instagram-body{
	padding: 16px;
}

.beamii-place2__promo-eyebrow,
.beamii-place2__instagram-badge,
.beamii-place2__hours-status,
.beamii-place2__hours-meta,
.beamii-place2__reco-pill{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	border-radius: 999px;
	background: rgba(20,143,202,.08);
	color: var(--bp-primary);
	font-weight: 800;
}

.beamii-place2__promo-eyebrow{
	min-height: 28px;
	padding: 0 10px;
	font-size: .78rem;
	margin-bottom: 10px;
}

.beamii-place2__instagram-badge{
	min-height: 30px;
	padding: 0 12px;
	font-size: .78rem;
	margin-bottom: 10px;
}

.beamii-place2__promo-title,
.beamii-place2__instagram-title{
	margin: 0 0 8px;
	font-size: 1.08rem;
	line-height: 1.2;
	font-weight: 900;
	color: rgba(12,18,32,.92);
}

.beamii-place2__instagram-title{
	margin-bottom: 6px;
}

.beamii-place2__promo-text,
.beamii-place2__instagram-text,
.beamii-place2__widget-description{
	color: rgba(12,18,32,.68);
	line-height: 1.58;
}

.beamii-place2__instagram-handle{
	display: inline-block;
	font-weight: 800;
	color: var(--bp-primary);
	margin-bottom: 8px;
}

.beamii-place2__instagram-placeholder{
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	color: rgba(12,18,32,.24);
	font-size: clamp(2rem, 8vw, 3rem);
}

/* ========================================================================
 * 11. GALLERY
 * ===================================================================== */

.beamii-place2__gallery{
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(240px, 78%);
	gap: 10px;
	overflow-x: auto;
	padding-bottom: 2px;
	-webkit-overflow-scrolling: touch;
	scroll-snap-type: x proximity;
	scrollbar-width: none;
}

.beamii-place2__gallery::-webkit-scrollbar{
	display: none;
}

.beamii-place2__gallery-item{
	scroll-snap-align: start;
	border-radius: 20px;
	overflow: hidden;
	background: rgba(12,18,32,.04);
	border: 1px solid rgba(12,18,32,.06);
	min-height: 180px;
}

.beamii-place2__gallery-item img{
	width: 100%;
	height: 100%;
	min-height: 180px;
	object-fit: cover;
	display: block;
}

/* ========================================================================
 * 12. HOURS / OPENING TIMES
 * ===================================================================== */

.beamii-place2__hours-status{
	min-height: 34px;
	padding: 0 12px;
	font-size: .82rem;
	border: 1px solid rgba(20,143,202,.10);
}

.beamii-place2__hours{
	color: rgba(12,18,32,.78);
	line-height: 1.7;
	white-space: pre-line;
}

.beamii-place2__hours-row{
	display: grid;
	grid-template-columns: 110px minmax(0, 1fr);
	gap: 12px;
	align-items: start;
	padding: 12px 14px;
	border-radius: 18px;
	background: rgba(12,18,32,.04);
	border: 1px solid rgba(12,18,32,.06);
}

.beamii-place2__hours-day{
	font-weight: 800;
	color: rgba(12,18,32,.88);
	line-height: 1.35;
}

.beamii-place2__hours-values{
	display: grid;
	gap: 6px;
	min-width: 0;
}

.beamii-place2__hours-item{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	line-height: 1.4;
	color: rgba(12,18,32,.76);
}

.beamii-place2__hours-time{
	font-weight: 800;
	color: rgba(12,18,32,.88);
}

.beamii-place2__hours-meta{
	min-height: 24px;
	padding: 0 8px;
	font-size: .74rem;
}

.beamii-place2__hours-closed{
	font-weight: 700;
	color: rgba(12,18,32,.52);
}

/* ========================================================================
 * 13. WIDGET / EMBED
 * ===================================================================== */

.beamii-place2__widget-embed{
	width: 100%;
	overflow: hidden;
	border-radius: 18px;
	background: rgba(12,18,32,.04);
	border: 1px solid rgba(12,18,32,.06);
	padding: 8px;
}

.beamii-place2__widget-embed iframe,
.beamii-place2__embed-frame{
	width: 100%;
	border: 0;
	border-radius: 14px;
	background: #fff;
	display: block;
}

.beamii-place2__embed-frame{
	min-height: 280px;
	background: rgba(12,18,32,.04);
}

.beamii-place2__widget-embed--kultunaut{
	padding: 12px;
	background: #fff;
}

.beamii-place2__kultunaut-mount{
	width: 100%;
	min-height: 120px;
}

.beamii-place2__widget-embed rssapp-carousel{
	display: block;
	width: 100%;
}

/* ========================================================================
 * 14. RECOMMENDATIONS / RELATED GROUPS
 * ===================================================================== */

.beamii-place2__reco-head{
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 12px;
}

.beamii-place2__reco-head-icon{
	width: 38px;
	height: 38px;
	border-radius: 14px;
	flex: 0 0 38px;
}

.beamii-place2__reco-grid{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.beamii-place2__reco-slider{
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(260px, 78%);
	gap: 12px;
	overflow-x: auto;
	padding: 2px 2px 4px;
	-webkit-overflow-scrolling: touch;
	scroll-snap-type: x proximity;
	scrollbar-width: none;
}

.beamii-place2__reco-slider::-webkit-scrollbar{
	display: none;
}

.beamii-place2__reco-item{
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border-radius: 22px;
	text-decoration: none;
	background: rgba(12,18,32,.04);
	border: 1px solid rgba(12,18,32,.06);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.35);
	color: rgba(12,18,32,.88);
	min-height: 100%;
	transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}

.beamii-place2__reco-slider .beamii-place2__reco-item{
	scroll-snap-align: start;
}

.beamii-place2__reco-item:hover{
	color: rgba(12,18,32,.96);
	background: rgba(12,18,32,.055);
	transform: translateY(-1px);
}

.beamii-place2__reco-item:focus-visible{
	outline: 2px solid rgba(25,143,209,.20);
	outline-offset: 2px;
}

.beamii-place2__reco-media{
	position: relative;
	aspect-ratio: 16 / 10;
	background:
		linear-gradient(180deg, rgba(13,24,37,.04), rgba(13,24,37,.16)),
		linear-gradient(135deg, #dbe9f4 0%, #c5dced 100%);
	overflow: hidden;
}

.beamii-place2__reco-media img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.beamii-place2__reco-media-placeholder{
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	color: rgba(20,143,202,.48);
	font-size: 1.5rem;
}

.beamii-place2__reco-media--with-img .beamii-place2__reco-media-placeholder{
	display: none;
}

.beamii-place2__reco-media--broken img{
	display: none !important;
}

.beamii-place2__reco-media--broken .beamii-place2__reco-media-placeholder{
	display: grid;
}

.beamii-place2__reco-distance{
	position: absolute;
	right: 10px;
	bottom: 10px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 28px;
	padding: 0 10px;
	border-radius: 999px;
	font-size: .74rem;
	font-weight: 800;
	color: #fff;
	background: rgba(12,18,32,.52);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

.beamii-place2__reco-body{
	padding: 14px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1 1 auto;
}

.beamii-place2__reco-title{
	font-weight: 900;
	line-height: 1.2;
	letter-spacing: -.02em;
	color: rgba(12,18,32,.92);
}

.beamii-place2__reco-meta{
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.beamii-place2__reco-pill{
	min-height: 26px;
	padding: 0 10px;
	font-size: .74rem;
}

.beamii-place2__reco-excerpt{
	color: rgba(12,18,32,.64);
	font-size: .9rem;
	line-height: 1.5;
}

.minilist_eventkult{
	margin: 0;
}

.minilist_eventkult .date-time{
	font-size: .84rem;
	font-weight: 700;
	line-height: 1.45;
	color: rgba(24,65,95,.84);
}

.beamii-home__events-nearby .beamii-place2__reco-slider,
#beamiiHomeEventsNearbyWrap .beamii-place2__reco-slider{
	grid-auto-columns: minmax(260px, 82%);
}

@media (min-width: 768px){
	.beamii-home__events-nearby .beamii-place2__reco-slider,
	#beamiiHomeEventsNearbyWrap .beamii-place2__reco-slider{
		grid-auto-columns: minmax(280px, 360px);
	}
}

/* ========================================================================
 * 15. SHARE SHEET / SMART PROMPT
 * ===================================================================== */

.beamii-place2__sheet[hidden],
.beamii-place2__smartprompt[hidden]{
	display: none !important;
}

.beamii-place2__sheet,
.beamii-place2__smartprompt{
	position: fixed;
	inset: 0;
	z-index: 1100;
	pointer-events: auto;
	touch-action: manipulation;
}

.beamii-place2__sheet-backdrop,
.beamii-place2__smartprompt-backdrop{
	position: absolute;
	inset: 0;
	background: rgba(10,18,30,.46);
	border: none;
	padding: 0;
	margin: 0;
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
}

.beamii-place2__sheet-card,
.beamii-place2__smartprompt-card{
	position: absolute;
	left: 12px;
	right: 12px;
	bottom: 12px;
	z-index: 2;
	border-radius: 28px;
	background: linear-gradient(180deg, #fff, rgba(248,250,252,.98));
	border: 1px solid var(--bp-line-soft);
	box-shadow: var(--bp-shadow-lg);
	padding: 18px;
	pointer-events: auto;
}

.beamii-place2__sheet-handle,
.beamii-place2__smartprompt-handle{
	width: 56px;
	height: 5px;
	border-radius: 999px;
	background: rgba(15,23,42,.14);
	margin: 0 auto 14px;
}

.beamii-place2__sheet-title,
.beamii-place2__smartprompt-title{
	font-size: 1.08rem;
	font-weight: 900;
	letter-spacing: -.015em;
	line-height: 1.15;
	color: var(--bp-text);
	margin: 0;
}

.beamii-place2__sheet-text,
.beamii-place2__smartprompt-text{
	margin: 8px 0 0;
	color: rgba(16,32,51,.7);
	line-height: 1.55;
	font-size: .95rem;
}

.beamii-place2__sheet-actions,
.beamii-place2__smartprompt-actions{
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-top: 16px;
}

.beamii-place2__sheet-btn,
.beamii-place2__smartprompt-btn{
	min-height: 52px;
	padding: 0 16px;
	border-radius: 18px;
	border: 1px solid var(--bp-line);
	background: #f7fafc;
	color: var(--bp-text);
	font-weight: 900;
	box-shadow: 0 1px 0 rgba(255,255,255,.7) inset;
	touch-action: manipulation;
	-webkit-tap-highlight-color: transparent;
}

.beamii-place2__sheet-btn:hover,
.beamii-place2__smartprompt-btn:hover,
.beamii-place2__sheet-btn:focus-visible,
.beamii-place2__smartprompt-btn:focus-visible{
	transform: translateY(-1px);
	box-shadow: var(--bp-shadow-sm);
	border-color: rgba(25,143,209,.18);
	outline: none;
}

.beamii-place2__sheet-btn:active,
.beamii-place2__smartprompt-btn:active{
	transform: translateY(0);
}

.beamii-place2__sheet-btn--soft,
.beamii-place2__smartprompt-btn--soft{
	background: #fff;
}

.beamii-place2__sheet-subactions{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	margin-top: 2px;
}

.beamii-place2__smartprompt-note{
	margin-top: 10px;
	font-size: .81rem;
	line-height: 1.45;
	color: rgba(16,32,51,.56);
	text-align: center;
}

.beamii-place2__smartprompt-login-hint{
	margin: 10px 0 0;
	padding: 10px 12px;
	border-radius: 12px;
	background: rgba(31,60,92,.07);
	border: 1px solid rgba(31,60,92,.12);
	color: rgba(16,32,51,.82);
	font-size: .9rem;
	line-height: 1.45;
}

/* ========================================================================
 * 16. OUTGOING MODAL
 * ===================================================================== */

.beamii-place2__outgoing{
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: none;
	align-items: flex-end;
	justify-content: center;
	padding: 16px 14px calc(16px + env(safe-area-inset-bottom));
	background: rgba(8,15,25,.36);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

.beamii-place2__outgoing.is-open{
	display: flex;
}

.beamii-place2__outgoing-backdrop{
	position: absolute;
	inset: 0;
	border: 0;
	padding: 0;
	margin: 0;
	background: transparent;
	cursor: pointer;
}

.beamii-place2__outgoing-card{
	position: relative;
	z-index: 2;
	width: min(100%, 560px);
	background: rgba(255,255,255,.98);
	border: 1px solid rgba(255,255,255,.55);
	border-radius: 28px;
	box-shadow:
		0 24px 60px rgba(12,18,32,.18),
		inset 0 1px 0 rgba(255,255,255,.55);
	padding: 18px;
	transform: translateY(8px);
	animation: beamiiPlaceOutgoingUp .18s ease forwards;
}

@keyframes beamiiPlaceOutgoingUp{
	from{
		opacity: 0;
		transform: translateY(14px) scale(.985);
	}
	to{
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

.beamii-place2__outgoing-head{
	display: flex;
	align-items: flex-start;
	gap: 14px;
}

.beamii-place2__outgoing-icon{
	width: 52px;
	height: 52px;
	border-radius: 18px;
	flex: 0 0 52px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, rgba(51,176,234,.16) 0%, rgba(20,143,202,.10) 100%);
	color: var(--bp-primary);
	font-size: 1.1rem;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.45);
}

.beamii-place2__outgoing-copy{
	min-width: 0;
	flex: 1 1 auto;
}

.beamii-place2__outgoing-title{
	margin: 2px 0 6px;
	font-size: 1.08rem;
	line-height: 1.2;
	font-weight: 900;
	letter-spacing: -.02em;
	color: rgba(12,18,32,.92);
}

.beamii-place2__outgoing-text{
	color: rgba(12,18,32,.70);
	line-height: 1.55;
}

.beamii-place2__outgoing-host{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 34px;
	padding: 0 12px;
	margin-top: 12px;
	border-radius: 999px;
	background: rgba(12,18,32,.05);
	border: 1px solid rgba(12,18,32,.06);
	color: rgba(12,18,32,.86);
	font-size: .88rem;
	font-weight: 800;
	max-width: 100%;
	word-break: break-word;
}

.beamii-place2__outgoing-host span{
	word-break: break-word;
}

.beamii-place2__outgoing-actions{
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 16px;
}

.beamii-place2__outgoing-btn{
	min-height: 46px;
	padding: 0 16px;
	border-radius: 999px;
	font-weight: 800;
	border: 1px solid rgba(12,18,32,.08);
	background: rgba(12,18,32,.05);
	color: rgba(12,18,32,.88);
}

.beamii-place2__outgoing-btn:hover{
	transform: translateY(-1px);
	box-shadow: var(--bp-shadow-sm);
}

/* ========================================================================
 * 17. MINI MAP / MAP ACTIONS
 * ===================================================================== */

.beamii-place2__map-wrap{
	display: grid;
	gap: 12px;
}

.beamii-place2__map-actions{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

#beamiiMiniMap{
	width: 100%;
	min-height: 240px;
	height: 240px;
	border-radius: 20px;
	overflow: hidden;
	background:
		linear-gradient(135deg, rgba(20,143,202,.06), rgba(20,143,202,.02)),
		#eef4f8;
	border: 1px solid rgba(12,18,32,.08);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.45);
}

#beamiiMiniMap .leaflet-control-attribution,
#beamiiFullMap .leaflet-control-attribution{
	font-size: 10px;
}

#beamiiMiniMap .leaflet-container,
#beamiiFullMap .leaflet-container{
	font: inherit;
}

/* ========================================================================
 * 18. FULL MAP MODAL
 * ===================================================================== */

#beamiiMapModal{
	position: fixed;
	inset: 0;
	z-index: 10000;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	padding: 12px;
	background: rgba(8,15,25,.40);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

#beamiiMapModal[hidden]{
	display: none !important;
}

.beamii-mapmodal__backdrop{
	position: absolute;
	inset: 0;
	background: transparent;
	border: 0;
	padding: 0;
	margin: 0;
	cursor: pointer;
}

.beamii-mapmodal__dialog{
	position: relative;
	z-index: 2;
	width: min(100%, 860px);
	height: min(82vh, 820px);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border-radius: 28px;
	background: rgba(255,255,255,.98);
	border: 1px solid rgba(255,255,255,.65);
	box-shadow:
		0 24px 60px rgba(12,18,32,.22),
		inset 0 1px 0 rgba(255,255,255,.55);
	animation: beamiiPlaceMapUp .18s ease forwards;
}

@keyframes beamiiPlaceMapUp{
	from{
		opacity: 0;
		transform: translateY(14px) scale(.985);
	}
	to{
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

.beamii-mapmodal__topbar{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 16px;
	border-bottom: 1px solid rgba(12,18,32,.08);
	background: rgba(255,255,255,.92);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

.beamii-mapmodal__title{
	margin: 0;
	font-size: 1rem;
	font-weight: 900;
	letter-spacing: -.02em;
	color: rgba(12,18,32,.92);
}

.beamii-mapmodal__subtitle{
	margin-top: 4px;
	font-size: .84rem;
	color: rgba(12,18,32,.58);
}

.beamii-mapmodal__close{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 999px;
	border: 1px solid rgba(12,18,32,.08);
	background: rgba(12,18,32,.05);
	color: rgba(12,18,32,.88);
	cursor: pointer;
}

.beamii-mapmodal__close:hover{
	background: rgba(12,18,32,.08);
	color: rgba(12,18,32,.96);
}

.beamii-mapmodal__close:focus-visible{
	outline: 2px solid rgba(25,143,209,.28);
	outline-offset: 2px;
}

#beamiiFullMap{
	flex: 1 1 auto;
	width: 100%;
	min-height: 320px;
	background: #eef4f8;
}

#beamiiFullMap .leaflet-pane,
#beamiiMiniMap .leaflet-pane{
	z-index: auto;
}

#beamiiFullMap .leaflet-top,
#beamiiFullMap .leaflet-bottom,
#beamiiMiniMap .leaflet-top,
#beamiiMiniMap .leaflet-bottom{
	z-index: 400;
}

/* ========================================================================
 * 19. TOAST
 * ===================================================================== */

.beamii-place2 .toast{
	position: fixed;
	left: 50%;
	bottom: calc(100px + env(safe-area-inset-bottom));
	transform: translateX(-50%);
	z-index: 99999;
	min-width: 140px;
	max-width: calc(100vw - 32px);
	padding: 12px 16px;
	border-radius: 999px;
	background: rgba(12,18,32,.90);
	color: #fff;
	font-size: .92rem;
	font-weight: 800;
	line-height: 1.35;
	text-align: center;
	box-shadow: 0 14px 34px rgba(12,18,32,.26);
}

/* ========================================================================
 * 20. NOT FOUND
 * ===================================================================== */

.beamii-place2__card--not-found{
	padding: 20px;
}

.beamii-place2--not-found .beamii-place2__wrap{
	max-width: var(--bp-content-narrow);
	padding-top: 24px;
}

/* ========================================================================
 * 21. SCROLL LOCK / MODAL STATES
 * ===================================================================== */

html.beamii-modal-open,
body.is-lock-scroll,
html.is-lock-scroll{
	overflow: hidden;
}

/* ========================================================================
 * 22. DESKTOP ENHANCEMENTS
 * ===================================================================== */

@media (min-width: 760px){
	.beamii-place2{
		--bp-page-top-space: 94px;
	}

	.beamii-place2__wrap{
		padding-left: 18px;
		padding-right: 18px;
	}

	.beamii-place2__hero-inner{
		padding: 22px;
		min-height: 300px;
	}

	.beamii-place2__hero-inner.is-compact{
		min-height: 220px;
	}

	.beamii-place2__hero-top{
		gap: 16px;
	}

	.beamii-place2__logo{
		width: 86px;
		height: 86px;
		flex-basis: 86px;
		border-radius: 24px;
	}

	.beamii-place2__sticky-actions-wrap{
		padding-left: 18px;
		padding-right: 18px;
	}

	.beamii-place2__sticky-actions{
		grid-template-columns: minmax(0, 1fr) auto auto;
		grid-template-areas: "main cta tools";
		gap: 12px 14px;
		padding: 12px 14px;
	}

	.beamii-place2__sticky-actions-main{
		gap: 12px;
	}

	.beamii-place2__sticky-actions-tools{
		gap: 10px;
	}

	.beamii-place2__sticky-actions-name{
		font-size: 1.02rem;
	}

	.beamii-place2__sticky-actions-city{
		font-size: .82rem;
	}

	.beamii-place2__sticky-pill--route{
		width: auto;
		min-width: 140px;
		padding-inline: 18px;
	}

	.beamii-place2__hero-contact-grid{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.beamii-place2__promo-inner,
	.beamii-place2__instagram-inner{
		grid-template-columns: minmax(280px, 40%) minmax(0, 1fr);
		align-items: stretch;
	}

	.beamii-place2__promo-media,
	.beamii-place2__instagram-media{
		aspect-ratio: auto;
		min-height: 100%;
	}

	.beamii-place2__reco-grid{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.beamii-place2__gallery{
		grid-auto-columns: minmax(280px, 36%);
	}

	.beamii-place2__sheet-card,
	.beamii-place2__smartprompt-card{
		left: 50%;
		right: auto;
		width: min(560px, calc(100vw - 24px));
		transform: translateX(-50%);
	}
}

@media (min-width: 1100px){
	.beamii-place2__reco-grid{
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* ========================================================================
 * 23. TABLET / MOBILE
 * ===================================================================== */

@media (max-width: 900px){
	.beamii-place2__quick-grid{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.beamii-place2__reco-grid{
		grid-template-columns: 1fr;
	}

	.beamii-place2__reco-slider{
		grid-auto-columns: minmax(240px, 86%);
	}
}

@media (max-width: 640px){
	.beamii-place2{
		--bp-page-top-space: 92px;
	}

	.beamii-place2__page{
		padding-bottom: calc(96px + env(safe-area-inset-bottom));
	}

	.beamii-place2__wrap{
		padding-left: 10px;
		padding-right: 10px;
	}

	.beamii-place2__sticky-actions-wrap{
		top: calc(var(--safe-top, env(safe-area-inset-top, 0px)) + 82px);
		padding: 8px 10px 0;
	}

	.beamii-place2__sticky-actions{
		padding: 10px;
		border-radius: 18px;
		gap: 10px;
	}

	.beamii-place2__sticky-actions-main{
		gap: 8px;
	}

	.beamii-place2__sticky-actions-kicker{
		padding: 3px 8px;
		font-size: .62rem;
	}

	.beamii-place2__sticky-actions-name{
		font-size: .94rem;
	}

	.beamii-place2__sticky-actions-city{
		font-size: .76rem;
	}

	.beamii-place2__sticky-actions-tools{
		gap: 6px;
	}

	.beamii-place2__sticky-btn,
	.beamii-place2__sticky-btn--icon,
	.beamii-place2__sticky-btn--tool{
		min-height: 40px;
		height: 40px;
	}

	.beamii-place2__sticky-btn--icon,
	.beamii-place2__sticky-btn--tool{
		width: 40px;
		padding: 0;
		flex: 0 0 40px;
	}

	.beamii-place2__sticky-btn-text{
		display: none;
	}

	.beamii-place2__hero-cover{
		min-height: 230px;
	}

	.beamii-place2__hero-inner{
		min-height: 230px;
		padding: 16px;
	}

	.beamii-place2__hero-inner.is-compact{
		min-height: 190px;
	}

	.beamii-place2__logo{
		width: 68px;
		height: 68px;
		flex-basis: 68px;
		border-radius: 20px;
	}

	.beamii-place2__title{
		font-size: clamp(1.4rem, 7vw, 1.95rem);
	}

	.beamii-place2__hero-text{
		font-size: .93rem;
	}

	.beamii-place2__hero-contact-summary{
		min-height: 42px;
		padding: 0 12px;
		font-size: .84rem;
	}

	.beamii-place2__hero-contact-panel{
		padding: 10px;
		border-radius: 16px;
	}

	.beamii-place2__hero-contact-item{
		padding: 11px;
		border-radius: 14px;
	}

	.beamii-place2__hero-contact-item-icon{
		width: 34px;
		height: 34px;
		flex-basis: 34px;
		border-radius: 10px;
	}

	.beamii-place2__info-card,
	.beamii-place2__content-card,
	.beamii-place2__section,
	.beamii-place2__embed-card,
	.beamii-place2__widget-card,
	.beamii-place2__reco-section{
		padding: 14px;
	}

	.beamii-place2__section-head,
	.beamii-place2__info-head{
		flex-direction: column;
		align-items: flex-start;
	}

	.beamii-place2__info-actions,
	.beamii-place2__promo-actions{
		width: 100%;
	}

	.beamii-place2__info-btn,
	.beamii-place2__chip-btn,
	.beamii-place2__map-btn{
		flex: 1 1 auto;
	}

	.beamii-place2__quick-item{
		min-height: 104px;
		padding: 13px;
		border-radius: 18px;
	}

	.beamii-place2__hours-row{
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.beamii-place2__gallery{
		grid-auto-columns: minmax(220px, 86%);
	}

	.beamii-place2__sheet-card,
	.beamii-place2__smartprompt-card{
		left: 10px;
		right: 10px;
		bottom: 10px;
		padding: 16px;
		border-radius: 24px;
	}

	.beamii-place2__sheet-subactions{
		grid-template-columns: 1fr;
	}

	.beamii-place2__outgoing{
		padding: 12px 12px calc(12px + env(safe-area-inset-bottom));
	}

	.beamii-place2__outgoing-card{
		padding: 16px;
		border-radius: 24px;
	}

	.beamii-place2__outgoing-actions{
		flex-direction: column-reverse;
	}

	.beamii-place2__outgoing-btn{
		width: 100%;
	}

	.beamii-mapmodal__dialog{
		width: 100%;
		height: min(88vh, 100%);
		border-radius: 24px;
	}

	.beamii-mapmodal__topbar{
		padding: 12px 14px;
	}

	#beamiiMiniMap{
		height: 220px;
		min-height: 220px;
	}

	.beamii-place2__reco-slider{
		grid-auto-columns: minmax(220px, 88%);
	}
}

@media (max-width: 420px){
	.beamii-place2__quick-grid{
		grid-template-columns: 1fr;
	}

	.beamii-place2__sticky-actions{
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			"main"
			"cta"
			"tools";
	}

	.beamii-place2__sticky-actions-tools{
		justify-content: flex-start;
	}

	.beamii-place2__sticky-actions-city{
		display: none;
	}

	.beamii-place2__meta-pill{
		font-size: .8rem;
		padding-left: 10px;
		padding-right: 10px;
	}

	.beamii-place2__reco-slider{
		grid-auto-columns: minmax(220px, 92%);
	}
}


/* ========================================================================
 * 24. REDUCED MOTION
 * ===================================================================== */

@media (prefers-reduced-motion: reduce){
	.beamii-place2__sticky-btn,
	.beamii-place2__sticky-pill,
	.beamii-place2__quick-item,
	.beamii-place2__list-item,
	.beamii-place2__contact-item,
	.beamii-place2__reco-item,
	.beamii-place2__sheet-btn,
	.beamii-place2__smartprompt-btn,
	.beamii-place2__outgoing-btn,
	.beamii-place2__info-btn,
	.beamii-place2__chip-btn,
	.beamii-place2__map-btn,
	.beamii-place2__directions,
	.beamii-place2__hero-contact-route,
	.beamii-place2__hero-contact-item,
	.beamii-place2__hero-contact-summary,
	.beamii-place2__meta-pill{
		transition: none !important;
	}

	.beamii-place2__outgoing-card,
	.beamii-mapmodal__dialog{
		animation: none !important;
	}
}

/* =====================================================
   BeaMii hardening: TranslatePress + topbar interactions
===================================================== */
.beamii-lang-inline .beamii-trp-shortcode-wrap[data-beamii-trp="1"]{
  width:auto !important;
  max-width:100% !important;
}

.beamii-lang-inline .beamii-trp-switcher--anchor{
  position:relative !important;
  width:auto !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  opacity:1 !important;
  visibility:visible !important;
  overflow:visible !important;
  pointer-events:auto !important;
}

.beamii-lang-inline .beamii-trp-shortcode-wrap[data-beamii-trp="1"]:has(.beamii-trp-switcher--overlay) .beamii-trp-switcher--anchor:not(.beamii-trp-switcher--overlay),
.beamii-lang-inline .beamii-trp-switcher--anchor.beamii-trp-is-template{
  position:absolute !important;
  width:0 !important;
  height:0 !important;
  opacity:0 !important;
  visibility:hidden !important;
  overflow:hidden !important;
  pointer-events:none !important;
}

.beamii-lang-inline .beamii-trp-switcher--overlay{
  position:relative !important;
  inset:auto !important;
  width:auto !important;
  min-width:0 !important;
  display:block !important;
  overflow:visible !important;
  pointer-events:auto !important;
}

.topbar-actions,
.beamii-lang-inline,
.beamii-lang-inline .beamii-trp-switcher--overlay{
  z-index:95;
}

.beamii-lang-inline .beamii-trp-dropdown{
  max-width:min(240px, calc(100vw - 24px)) !important;
}

.beamii-lang-inline .beamii-trp-current-item,
.beamii-lang-inline .beamii-trp-dropdown .beamii-trp-language-item,
.beamii-lang-inline .beamii-trp-dropdown a.trp-language-item{
  white-space:nowrap !important;
}

.bottom-nav .nav-item{
  -webkit-tap-highlight-color:transparent;
}

.bottom-nav .nav-item,
.topbar-actions .avatar,
.topbar-actions .icon-btn{
  touch-action:manipulation;
}


/* =========================================================
   Cross-platform polish
   - tryggere rendering på desktop, iOS og Android
   - uden at bryde eksisterende class hooks
========================================================= */
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}

img,
picture,
video,
canvas,
svg{
  max-width:100%;
}

input,
select,
textarea,
button{
  font:inherit;
}

.topbar-search__input,
.searchbar input,
.beamii-feedback-sheet input,
.beamii-feedback-sheet textarea,
.beamii-feedback-sheet select,
.beamii-bottom-more__link,
.beamii-profile-link,
.bottom-nav .nav-item,
.chip,
.beamii-btn{
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}

.topbar-search__input,
.searchbar input,
.beamii-feedback-sheet input,
.beamii-feedback-sheet textarea,
.beamii-feedback-sheet select{
  font-size:16px;
}

.chips--sub{
  padding-top:4px;
}

.chips--sub .chip{
  background:rgba(31,60,92,.06);
  border-color:rgba(31,60,92,.1);
  color:var(--text);
  box-shadow:0 8px 18px rgba(15,23,42,.04);
}

.chips--sub .chip:hover,
.chips--sub .chip:focus-visible{
  border-color:rgba(31,163,214,.28);
  transform:translateY(-1px);
}

.chips--sub .chip.is-active,
.chips--sub .chip[aria-current="page"]{
  color:#fff;
  border-color:transparent;
  background:linear-gradient(135deg, var(--brand, #1f3c5c), var(--accent, #1fa3d6));
  box-shadow:0 12px 24px rgba(31,60,92,.18);
}

.beamii-places-page__context{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.beamii-places-page__context:not([hidden]){
  margin-bottom:4px;
}

.beamii-places-page__context .beamii-context-pill,
.beamii-places-page__context > span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(31,60,92,.06);
  border:1px solid rgba(31,60,92,.08);
  color:var(--bp-text);
  font-size:.8rem;
  font-weight:800;
}

.beamii-places .place-row{
  min-height:164px;
}

.beamii-places .place-row__title{
  text-wrap:balance;
}

.place-row__metrics .place-pill,
.place-row__cats .place-pill,
.place-row__badges .mini-pill{
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

@media (min-width: 1024px){
  .topbar-inner{
    width:min(var(--app-max, 1320px), calc(100% - 24px));
    margin-inline:auto;
  }

  .beamii-places .chips,
  .beamii-map .chips{
    width:min(var(--places-max, 1320px), calc(100% - 24px));
    margin-inline:auto;
  }

  .beamii-places-page{
    padding-left:18px;
    padding-right:18px;
  }

  .beamii-places .places-grid{
    grid-template-columns:repeat(auto-fit, minmax(340px, 1fr));
    align-items:start;
  }

  .beamii-places .place-row{
    grid-template-columns:124px minmax(0,1fr) 44px;
    gap:14px;
    padding:14px;
  }

  .beamii-places .place-row__media{
    min-height:140px;
  }
}

@media (max-width: 767px){
  .beamii-places-page__hero{
    padding-top:184px;
  }

  .beamii-places-toolbar{
    border-radius:18px;
  }

  .chips--sub .chip{
    min-height:38px;
    padding-inline:12px;
  }
}


/* =====================================================
   BeaMii Frontend Polish v3.0.0
===================================================== */
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}

body,
button,
input,
select,
textarea{
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

.topbar,
.bottom-nav,
.beamii-bottom-more__dialog,
.beamii-profile-sheet,
.sheet,
.beamii-places .place-row,
.beamii-place2__card{
  -webkit-tap-highlight-color:transparent;
}

.topbar-inner{
  max-width:min(1240px, calc(100vw - 20px));
}

.searchbar{
  max-width:min(720px, 100%);
  min-height:58px;
  padding:9px 11px 9px 13px;
  border-radius:28px;
}

.searchbar::before{
  border-radius:27px;
}

.searchbar-content{
  gap:12px;
}

.topbar-actions{
  gap:10px;
}

.topbar-search__field{
  min-height:42px;
}

.chips{
  padding-inline:2px;
}

.chips-track{
  gap:10px;
  padding-bottom:2px;
}

.chip{
  min-height:40px;
  padding-inline:15px;
}

.chips--sub{
  margin-top:2px;
  padding-bottom:4px;
}

.chips--sub .chip{
  min-height:36px;
  background:linear-gradient(180deg, rgba(226,239,248,.98) 0%, rgba(240,247,252,.98) 100%);
  border-color:rgba(31,60,92,.10);
  color:#18415f;
  box-shadow:0 8px 20px rgba(15,23,42,.06), inset 0 1px 0 rgba(255,255,255,.8);
}

.chips--sub .chip i{
  color:#2f78a8;
}

.chips--sub .chip.is-active{
  background:linear-gradient(135deg, #1f5f88 0%, #1fa3d6 100%);
  box-shadow:0 14px 28px rgba(31,163,214,.24);
}

.chips--sub .chip.is-active i,
.chips--sub .chip.is-active span{
  color:#fff;
}

.beamii-places-page{
  max-width:min(1240px, calc(100vw - 20px));
  padding-bottom:34px;
}

.beamii-places-page__hero{
  padding:184px 2px 16px;
}

.beamii-places-page__hero-main{
  gap:10px;
  padding:0 2px;
}

.beamii-places-page__context{
  display:block;
}

.beamii-places-page__context[hidden]{
  display:none !important;
}

.beamii-places-page__context-track{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.beamii-places-page__context-pill{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 12px;
  border-radius:999px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(17,33,54,.08);
  box-shadow:0 8px 20px rgba(15,23,42,.06);
  color:#214866;
  font-size:.78rem;
  font-weight:850;
  letter-spacing:.01em;
}

.beamii-places-page__context-pill--type,
.beamii-places-page__context-pill--meal,
.beamii-places-page__context-pill--hours{
  background:linear-gradient(135deg, rgba(31,95,136,.14), rgba(31,163,214,.18));
  border-color:rgba(31,95,136,.12);
}

.beamii-places-toolbar{
  gap:14px;
  padding:13px 15px;
  border-radius:22px;
}

.beamii-places-toolbar__hint{
  flex-wrap:wrap;
  justify-content:flex-end;
  text-align:right;
}

.beamii-places .places-grid{
  align-items:start;
}

.beamii-places .place-row{
  min-height:168px;
  grid-template-columns:128px minmax(0,1fr) auto;
  gap:14px;
  border-radius:26px;
}

.beamii-places .place-row__main{
  gap:12px;
}

.place-row__media{
  min-height:144px;
  border-radius:22px;
}

.place-row__metrics{
  gap:7px;
}

.place-row__metrics .place-pill,
.place-row__cats .place-pill,
.place-row__badges .mini-pill{
  box-shadow:0 6px 16px rgba(15,23,42,.06);
}

.beamii-places .place-row__title{
  font-size:1.12rem;
}

.beamii-places .place-row__desc{
  max-width:72ch;
}

.bottom-nav{
  width:min(680px, calc(100vw - 20px));
  padding:7px;
  border-radius:24px;
  background:rgba(255,255,255,.88);
  box-shadow:0 18px 42px rgba(15,23,42,.18);
  backdrop-filter:blur(18px) saturate(1.1);
  -webkit-backdrop-filter:blur(18px) saturate(1.1);
}

.nav-item.is-active,
#btnBottomMore.is-open{
  background:linear-gradient(135deg, rgba(31,95,136,.14), rgba(31,163,214,.18));
  color:#18415f;
}

.beamii-bottom-more__dialog{
  width:min(540px, calc(100vw - 18px));
  border-radius:28px 28px 22px 22px;
  box-shadow:0 24px 60px rgba(15,23,42,.22);
}

.beamii-bottom-more__link{
  min-height:64px;
}

body.has-bottom-more-menu .bottom-nav{
  box-shadow:0 24px 64px rgba(15,23,42,.24);
}

.beamii-profile-sheet{
  width:min(480px, 100%);
  box-shadow:-30px 0 64px rgba(15,23,42,.22);
}

body.has-profile-overlay .avatar{
  box-shadow:0 0 0 3px rgba(255,255,255,.38), 0 14px 30px rgba(0,0,0,.18);
}

.beamii-map-page .fab-stack{
  top:196px;
}

.sheet{
  border-radius:28px 28px 0 0;
  box-shadow:0 -16px 44px rgba(15,23,42,.16);
}

.sheet__content{
  padding-bottom:calc(var(--bottom-nav-h) + var(--bottom-nav-gap) + var(--safe-bottom) + 24px);
}

.sheet__header{
  gap:14px;
}

.sheet__routebar{
  align-items:flex-start;
}

.sheet__routeinfo{
  gap:10px;
}

.sheet .place-row{
  border-radius:22px;
}

.beamii-place2__wrap{
  max-width:min(1240px, calc(100vw - 20px));
}

.beamii-place2__card{
  border-radius:28px;
  box-shadow:0 14px 36px rgba(15,23,42,.08);
}

.beamii-place2__sticky-actions{
  backdrop-filter:blur(18px) saturate(1.08);
  -webkit-backdrop-filter:blur(18px) saturate(1.08);
}

.beamii-place2__hero-contact-panel{
  background:rgba(248,251,255,.92);
}

@media (min-width: 980px){
  .topbar-inner{
    gap:14px;
  }

  .searchbar{
    max-width:min(820px, 100%);
  }

  .beamii-places-page__hero{
    padding-top:188px;
  }

  .beamii-places .places-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:16px;
  }

  .beamii-places .place-row{
    height:100%;
  }

  /* Map sheet: keep translateY alive here too, otherwise mobile/desktop polish rules override sheet.js positioning. */
  .sheet{
    max-width:min(760px, calc(100vw - 28px));
    margin:0 auto;
    left:50%;
    transform:translateX(-50%) translateY(var(--sheetY, calc(100% - var(--sheet-collapsed-visible)))) translateZ(0);
    -webkit-transform:translateX(-50%) translateY(var(--sheetY, calc(100% - var(--sheet-collapsed-visible)))) translateZ(0);
  }

  .beamii-place2__wrap{
    padding-left:2px;
    padding-right:2px;
  }
}

@media (max-width: 767px){
  .searchbar{
    min-height:56px;
    padding:8px 9px 8px 11px;
  }

  .topbar-actions{
    gap:8px;
  }

  .chip{
    min-height:38px;
    padding-inline:13px;
  }

  .chips--sub .chip{
    min-height:34px;
    padding-inline:12px;
  }

  .beamii-places-page__hero{
    padding-top:176px;
  }

  .beamii-places-toolbar{
    flex-direction:column;
    align-items:flex-start;
  }

  .beamii-places-toolbar__hint{
    justify-content:flex-start;
    text-align:left;
  }

  .beamii-places .place-row{
    grid-template-columns:108px minmax(0,1fr);
  }

  .beamii-places .place-row__chev{
    display:none;
  }

  /* Mobile map sheet: never reset transform to none, because sheet.js drives vertical position via --sheetY. */
  .sheet{
    left:0;
    transform:translateY(var(--sheetY, calc(100% - var(--sheet-collapsed-visible)))) translateZ(0);
    -webkit-transform:translateY(var(--sheetY, calc(100% - var(--sheet-collapsed-visible)))) translateZ(0);
    max-width:none;
  }
}

/* =====================================================
   PLACES READABILITY + SPACING HARDENING
===================================================== */
.beamii-places .beamii-places-page{
  padding-top:calc(var(--topbar-total-h) + 8px);
  padding-bottom:26px;
}

.beamii-places .beamii-places-page__hero{
  padding:10px 4px 12px;
}

.beamii-places .beamii-places-page__hero-main{
  gap:8px;
}

.beamii-places .beamii-places-page__lead{
  max-width:56ch;
  font-size:.98rem;
  line-height:1.52;
  color:rgba(16,32,51,.72);
}

.beamii-places .beamii-places-toolbar{
  margin-bottom:12px;
}

.beamii-places .place-row{
  min-height:0;
}

.beamii-places .place-row__main{
  gap:10px;
}

.beamii-places .place-row__title{
  line-height:1.2;
}

.beamii-places .place-row__desc{
  color:rgba(16,32,51,.76);
  font-size:.92rem;
  line-height:1.46;
  -webkit-line-clamp:3;
}

.beamii-places .place-row__top{
  gap:10px;
}

.beamii-places .place-pill--cat{
  letter-spacing:0;
}

@media (max-width: 767px){
  .beamii-places .beamii-places-page{
    padding-top:calc(var(--topbar-total-h) + 6px);
    padding-left:10px;
    padding-right:10px;
  }

  .beamii-places .beamii-places-page__hero{
    padding-top:8px;
  }

  .beamii-places .beamii-places-toolbar{
    padding:11px 13px;
    gap:10px;
  }

  .beamii-places .place-row{
    grid-template-columns:92px minmax(0,1fr);
    gap:9px;
    padding:10px;
    border-radius:20px;
  }

  .beamii-places .place-row__main{
    gap:6px;
  }

  .beamii-places .place-row__media{
    min-height:112px;
    border-radius:16px;
  }

  .beamii-places .place-row__logo-badge{
    width:40px;
    height:40px;
    border-radius:12px;
    left:8px;
    bottom:8px;
    padding:6px;
  }

  .beamii-places .place-row__title{
    font-size:1.02rem;
  }

  .beamii-places .place-row__title-line{
    gap:8px;
  }

  .beamii-places .place-row__desc{
    font-size:.88rem;
    line-height:1.38;
    -webkit-line-clamp:2;
  }

  .beamii-places .place-row__top{
    gap:6px 8px;
  }

  .beamii-places .place-row__cats{
    gap:5px;
  }

  .beamii-places .place-pill--cat,
  .beamii-places .place-pill--cat-more{
    min-height:22px;
    padding:0 8px;
    font-size:.7rem;
  }

  .beamii-places .place-row__bottom{
    margin-top:0;
    flex-direction:row;
    align-items:center;
    flex-wrap:wrap;
    gap:5px 9px;
  }

  .beamii-places .place-row__meta{
    font-size:.80rem;
  }

  .beamii-places .place-row__badges{
    justify-content:flex-start;
  }

  .beamii-places .place-row__badges:empty{
    display:none;
  }
}

@media (min-width: 980px){
  .beamii-places .beamii-places-page__hero{
    padding-top:12px;
  }
}


/* =====================================================
   FRONT PAGE / BOTTOM NAV POLISH
===================================================== */
.beamii-home{
  max-width:860px;
  gap:18px;
}

.beamii-home__hero{
  padding:20px;
  border-radius:28px;
  box-shadow:0 18px 44px rgba(18,39,63,.18);
}

.beamii-home__hero-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}

.beamii-home__hero-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:12px;
  font-weight:700;
  letter-spacing:.01em;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.beamii-home__hero-pill i{
  color:#ffd28e;
}

.beamii-home__section--journey{
  position:relative;
}

.beamii-home__journey{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
}

.beamii-home__journey-step{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:16px;
  border-radius:20px;
  background:linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(247,250,252,.96) 100%);
  border:1px solid rgba(31,60,92,.08);
  box-shadow:0 10px 24px rgba(24,40,64,.06);
}

.beamii-home__journey-badge{
  flex:0 0 32px;
  width:32px;
  height:32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:linear-gradient(135deg, #1f3c5c 0%, #2b5f8e 100%);
  color:#fff;
  font-size:13px;
  font-weight:800;
  box-shadow:0 8px 18px rgba(31,60,92,.18);
}

.beamii-home__journey-step strong{
  display:block;
  color:#17324d;
  font-size:15px;
  line-height:1.3;
}

.beamii-home__journey-step span{
  display:block;
  margin-top:4px;
  color:#627487;
  font-size:13px;
  line-height:1.5;
}

.beamii-home__menu{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.beamii-home__nearest{
  border-radius:24px;
}

.beamii-home__nearest-body{
  padding:20px;
}

.bottom-nav{
  background:linear-gradient(135deg, rgba(31,60,92,.96) 0%, rgba(36,78,116,.96) 54%, rgba(44,97,142,.96) 100%);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 20px 44px rgba(11,26,40,.28);
}

.bottom-nav .nav-item,
.bottom-nav .nav-item i{
  color:rgba(255,255,255,.82) !important;
}

.nav-item.is-active,
#btnBottomMore.is-open{
  background:rgba(255,255,255,.14);
  color:#fff !important;
}

.nav-item.is-active i,
#btnBottomMore.is-open i{
  color:var(--beamii-orange) !important;
}

.beamii-bottom-more__dialog{
  box-shadow:0 24px 60px rgba(15,23,42,.24);
}

@media (max-width:759px){
  .beamii-home{
    max-width:720px;
  }

  .beamii-home__menu,
  .beamii-home__journey{
    grid-template-columns:1fr;
  }
}

@media (min-width:760px){
  .beamii-home{
    padding-top:12vh;
  }

  .beamii-home__hero{
    grid-template-columns:88px minmax(0, 1fr);
    gap:18px;
    padding:24px;
  }

  .beamii-home__logo{
    width:88px;
    height:88px;
    border-radius:26px;
    font-size:36px;
  }

  .beamii-home__title h1{
    font-size:clamp(34px, 3vw, 42px);
  }

  .beamii-home__quickgrid{
    grid-template-columns:repeat(4, minmax(0, 1fr));
  }
}

@media (max-width:480px){
  .beamii-home__hero-pill{
    width:100%;
    justify-content:flex-start;
  }

  .beamii-home__nearest-actions,
  .beamii-home__modal-actions{
    flex-direction:column;
  }

  .beamii-home__nearest-btn,
  .beamii-home__modal-btn{
    width:100%;
    justify-content:center;
  }
}

/* =====================================================
   BeaMii Home Local Events Cards v1.0.0
===================================================== */
.beamii-home__events-list{
  display:grid;
  gap:14px;
  margin-top:12px;
}

.beamii-home__event-slider{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(248px, 86%);
  gap:12px;
  overflow-x:auto;
  overflow-y:hidden;
  padding:2px 2px 8px;
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}

.beamii-home__event-slider::-webkit-scrollbar{
  display:none;
}

.beamii-home__event-card{
  display:flex;
  flex-direction:column;
  overflow:hidden;
  min-height:100%;
  text-decoration:none;
  color:#17324d;
  background:linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  border:1px solid rgba(23,50,77,.11);
  border-radius:22px;
  box-shadow:0 12px 26px rgba(15,23,42,.07);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
  scroll-snap-align:start;
}

.beamii-home__event-card:hover,
.beamii-home__event-card:focus-visible{
  transform:translateY(-2px);
  border-color:rgba(23,50,77,.2);
  box-shadow:0 16px 30px rgba(15,23,42,.12);
  outline:none;
}

.beamii-home__event-card--nearby,
.beamii-home__event-card--slider{
  min-height:100%;
}

.beamii-home__event-card--slider .beamii-home__event-image,
.beamii-home__event-card--nearby .beamii-home__event-image{
  width:100%;
  min-height:164px;
}

.beamii-home__event-image{
  position:relative;
  background:#e8f1f8;
  overflow:hidden;
  aspect-ratio:16/10;
}

.beamii-home__event-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.beamii-home__event-image--placeholder{
  display:grid;
  place-items:center;
  color:#4d708f;
  font-size:22px;
}

.beamii-home__event-image--broken{
  display:grid;
  place-items:center;
  color:#4d708f;
  font-size:22px;
}

.beamii-home__event-image-fallback{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg, rgba(13,24,37,.04), rgba(13,24,37,.16));
}

.beamii-home__event-body{
  display:flex;
  flex-direction:column;
  gap:9px;
  padding:12px 13px;
  min-width:0;
}

.beamii-home__event-title{
  margin:0;
  font-size:15px;
  font-weight:800;
  line-height:1.34;
  color:#17324d;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.beamii-home__event-meta{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}

.beamii-home__event-pill,
.beamii-home__event-tag{
  display:inline-flex;
  align-items:center;
  gap:6px;
  max-width:100%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(23,50,77,.08);
  color:#49637c;
}

.beamii-home__event-pill--muted{
  background:rgba(232,240,248,.92);
}

.beamii-home__event-tags{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:auto;
}

.beamii-home__event-meta .beamii-home__nearest-chip{
  max-width:100%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.beamii-home__event-excerpt{
  color:#5f7489;
  font-size:13px;
  line-height:1.45;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.beamii-home__kultunaut-mount{
  width:100%;
  min-height:120px;
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(23,50,77,.12);
  box-shadow:0 12px 24px rgba(15,23,42,.06);
  padding:8px;
}

.beamii-home__kultunaut-mount--loading{
  padding:0;
  background:transparent;
  border:none;
  box-shadow:none;
}

.beamii-home__events-loading,
.beamii-home__events-skeleton{
  display:grid;
  gap:12px;
}

.beamii-home__events-loading-copy{
  display:grid;
  gap:4px;
}

.beamii-home__events-loading-grid{
  display:grid;
  gap:14px;
}

.beamii-home__events-loading-grid.beamii-home__event-slider{
  grid-auto-flow:column;
  grid-auto-columns:minmax(248px, 86%);
}

.beamii-home__event-card--skeleton{
  pointer-events:none;
}

.beamii-home__event-image--skeleton,
.beamii-home__event-skeleton{
  position:relative;
  overflow:hidden;
  background:linear-gradient(90deg, rgba(226,234,243,.95) 0%, rgba(241,246,251,.98) 50%, rgba(226,234,243,.95) 100%);
  background-size:200% 100%;
  animation:beamiiHomeSkeletonPulse 1.35s ease-in-out infinite;
}

.beamii-home__event-image--skeleton{
  min-height:118px;
}

.beamii-home__event-skeleton{
  display:block;
  border-radius:999px;
  height:12px;
}

.beamii-home__event-skeleton--title{
  height:16px;
  width:82%;
  border-radius:10px;
}

.beamii-home__event-skeleton--chip{
  height:28px;
  width:110px;
}

.beamii-home__event-skeleton--chip-short{
  width:82px;
}

.beamii-home__event-skeleton--text{
  width:100%;
}

.beamii-home__event-skeleton--text-short{
  width:72%;
}

.beamii-home__events-debug{
  border:1px solid rgba(23,50,77,.14);
  border-radius:14px;
  background:#fff;
  padding:8px 10px;
}

.beamii-home__events-debug > summary{
  cursor:pointer;
  font-size:13px;
  font-weight:800;
  color:#17324d;
}

.beamii-home__events-debug-pre{
  margin:8px 0 0;
  max-height:240px;
  overflow:auto;
  padding:10px;
  border-radius:10px;
  background:#f2f7fc;
  color:#17324d;
  font-size:11px;
  line-height:1.45;
  white-space:pre-wrap;
  word-break:break-word;
}

@keyframes beamiiHomeSkeletonPulse{
  0%{ background-position:200% 0; }
  100%{ background-position:-200% 0; }
}

.beamii-home__promo-list{
  margin-top:12px;
}

.beamii-home__promo-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}

.beamii-home__promo-slider{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(230px, 78%);
  gap:10px;
  overflow-x:auto;
  overflow-y:hidden;
  padding:2px 2px 8px;
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  scrollbar-color:rgba(23,50,77,.28) transparent;
}

.beamii-home__promo-slider::-webkit-scrollbar{
  height:8px;
}

.beamii-home__promo-slider::-webkit-scrollbar-track{
  background:transparent;
}

.beamii-home__promo-slider::-webkit-scrollbar-thumb{
  background:rgba(23,50,77,.28);
  border-radius:999px;
}

.beamii-home__promo-slider .beamii-home__promo-card{
  scroll-snap-align:start;
  min-height:100%;
}

.beamii-home__promo-card{
  display:flex;
  flex-direction:column;
  text-decoration:none;
  color:#17324d;
  background:linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(255,249,242,.98) 100%);
  border:1px solid rgba(255,118,0,.18);
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 10px 24px rgba(15,23,42,.08);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.beamii-home__promo-card:hover,
.beamii-home__promo-card:focus-visible{
  transform:translateY(-1px);
  border-color:rgba(255,118,0,.30);
  box-shadow:0 14px 28px rgba(15,23,42,.12);
  outline:none;
}

.beamii-home__promo-image{
  aspect-ratio:16/10;
  overflow:hidden;
  background:#fff2e5;
}

.beamii-home__promo-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.beamii-home__promo-image--placeholder{
  display:grid;
  place-items:center;
  color:#d96b12;
  font-size:20px;
}

.beamii-home__promo-body{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:10px 12px 12px;
}

.beamii-home__promo-title{
  font-size:14px;
  font-weight:800;
  line-height:1.35;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.beamii-home__promo-address{
  font-size:12px;
  color:#5b7085;
  line-height:1.4;
}

.beamii-home__promo-source{
  font-size:12px;
  font-weight:700;
  color:#955108;
}

.beamii-home__section--inspiration{
  border:1px solid rgba(255,118,0,.12);
}

/* =====================================================
   BeaMii Profile Overlay
===================================================== */
.beamii-profile-overlay{
  position:fixed;
  inset:0;
  z-index:9999;
}

.beamii-profile-overlay[hidden]{
  display:none !important;
}

.beamii-profile-overlay__backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,23,42,.42);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}

.beamii-profile-sheet{
  position:absolute;
  right:0;
  top:0;
  bottom:0;
  width:min(440px, 100%);
  background:#fff;
  box-shadow:-24px 0 48px rgba(15,23,42,.18);
  display:flex;
  flex-direction:column;
  overflow:hidden;
}

.beamii-profile-sheet__top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:calc(18px + env(safe-area-inset-top)) 18px 18px;
  border-bottom:1px solid rgba(15,23,42,.08);
  background:
    radial-gradient(circle at top right, rgba(20,87,217,.16), transparent 32%),
    linear-gradient(135deg, #ffffff 0%, #f8fbff 100%);
}

.beamii-profile-sheet__identity{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}

.beamii-profile-sheet__avatar{
  width:54px;
  height:54px;
  border-radius:50%;
  overflow:hidden;
  flex:0 0 54px;
  background:#e2e8f0;
}

.beamii-profile-sheet__avatar img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.beamii-profile-sheet__eyebrow{
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#1457d9;
  margin-bottom:4px;
}

.beamii-profile-sheet__title{
  margin:0;
  font-size:22px;
  line-height:1.1;
  font-weight:800;
  letter-spacing:-.02em;
  color:#0f172a;
}

.beamii-profile-sheet__sub{
  margin-top:6px;
  font-size:14px;
  color:#64748b;
  word-break:break-word;
}

.beamii-profile-sheet__close{
  width:42px;
  height:42px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:14px;
  background:#fff;
  color:#0f172a;
  cursor:pointer;
  flex:0 0 42px;
}

.beamii-profile-sheet__statusrow{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  padding:14px 18px;
  border-bottom:1px solid rgba(15,23,42,.08);
  background:#fff;
}

.beamii-profile-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-radius:999px;
  border:1px solid rgba(15,23,42,.08);
  background:#f8fafc;
  color:#0f172a;
  text-decoration:none;
  font-size:13px;
  font-weight:700;
}

.beamii-profile-pill--muted{
  color:#475569;
}

.beamii-profile-sheet__body{
  flex:1 1 auto;
  overflow:auto;
  padding:18px;
  background:#f8fbff;
}

.beamii-profile-group + .beamii-profile-group{
  margin-top:18px;
}

.beamii-profile-group__title{
  margin:0 0 10px;
  font-size:13px;
  font-weight:800;
  color:#475569;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.beamii-profile-nav{
  display:grid;
  gap:10px;
}

.beamii-profile-link{
  display:grid;
  grid-template-columns:42px minmax(0, 1fr) 20px;
  align-items:center;
  gap:12px;
  padding:14px 14px;
  border-radius:16px;
  border:1px solid rgba(15,23,42,.08);
  background:#fff;
  color:#0f172a;
  text-decoration:none;
  box-shadow:0 10px 24px rgba(15,23,42,.04);
}

.beamii-profile-link__icon{
  width:42px;
  height:42px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#eff6ff;
  color:#1457d9;
  font-size:16px;
  align-self:flex-start;
}

.beamii-profile-link__copy{
  display:flex;
  flex-direction:column;
  min-width:0;
  gap:4px;
}

.beamii-profile-link__text{
  font-size:15px;
  font-weight:700;
  line-height:1.3;
}

.beamii-profile-link__desc{
  display:block;
  font-size:13px;
  line-height:1.45;
  color:#64748b;
}

.beamii-profile-link__arrow{
  color:#94a3b8;
  text-align:right;
  align-self:center;
}

.beamii-profile-sheet__footer{
  padding:16px 18px calc(16px + env(safe-area-inset-bottom));
  border-top:1px solid rgba(15,23,42,.08);
  background:#fff;
}

.beamii-profile-footer-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#0f172a;
  text-decoration:none;
  font-weight:700;
}

.beamii-profile-footer-link--danger{
  color:#b91c1c;
}

body.has-profile-overlay{
  overflow:hidden;
}

@media (max-width:759px){
  .beamii-home__nearest-logo{
    min-height:162px;
  }

  .beamii-home__promo-grid{
    grid-template-columns:1fr;
  }

  .beamii-home__event-slider,
  .beamii-home__events-loading-grid.beamii-home__event-slider{
    grid-auto-columns:minmax(238px, 86%);
  }

  .beamii-home__event-card--slider .beamii-home__event-image,
  .beamii-home__event-card--nearby .beamii-home__event-image{
    min-height:156px;
  }

  .beamii-home__promo-slider{
    grid-auto-columns:minmax(220px, 86%);
  }

  .beamii-profile-sheet{
    width:100%;
  }
}

@media (min-width:760px){
  .beamii-home__event-slider,
  .beamii-home__events-loading-grid.beamii-home__event-slider{
    grid-auto-columns:minmax(280px, 340px);
  }

  .beamii-home__promo-slider{
    grid-auto-columns:minmax(250px, 340px);
  }
}

/* =====================================================
   BeaMii Global Outgoing Modal
===================================================== */
.beamii-outgoing{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
  align-items:flex-end;
  justify-content:center;
  padding:16px 14px calc(16px + env(safe-area-inset-bottom));
  background:rgba(8,15,25,.36);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  pointer-events:auto;
  touch-action:manipulation;
}

.beamii-outgoing.is-open{
  display:flex;
}

.beamii-outgoing__backdrop{
  position:absolute;
  inset:0;
  border:0;
  margin:0;
  padding:0;
  background:transparent;
  cursor:pointer;
  pointer-events:auto;
}

.beamii-outgoing__card{
  position:relative;
  z-index:2;
  width:min(100%, 560px);
  background:rgba(255,255,255,.98);
  border:1px solid rgba(255,255,255,.55);
  border-radius:28px;
  box-shadow:0 24px 60px rgba(12,18,32,.18), inset 0 1px 0 rgba(255,255,255,.55);
  padding:18px;
  transform:translateY(8px);
  animation:beamiiOutgoingUp .18s ease forwards;
  pointer-events:auto;
}

@keyframes beamiiOutgoingUp{
  from{
    opacity:0;
    transform:translateY(14px) scale(.985);
  }
  to{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

.beamii-outgoing__head{
  display:flex;
  align-items:flex-start;
  gap:14px;
}

.beamii-outgoing__icon{
  width:52px;
  height:52px;
  border-radius:18px;
  flex:0 0 52px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg, rgba(51,176,234,.16) 0%, rgba(20,143,202,.10) 100%);
  color:#198fd1;
  font-size:1.1rem;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45);
}

.beamii-outgoing__copy{
  min-width:0;
  flex:1 1 auto;
}

.beamii-outgoing__title{
  margin:2px 0 6px;
  font-size:1.08rem;
  line-height:1.2;
  font-weight:900;
  letter-spacing:-.02em;
  color:rgba(12,18,32,.92);
}

.beamii-outgoing__text{
  color:rgba(12,18,32,.70);
  line-height:1.55;
}

.beamii-outgoing__host{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:34px;
  padding:0 12px;
  margin-top:12px;
  border-radius:999px;
  background:rgba(12,18,32,.05);
  border:1px solid rgba(12,18,32,.06);
  color:rgba(12,18,32,.86);
  font-size:.88rem;
  font-weight:800;
  max-width:100%;
  word-break:break-word;
}

.beamii-outgoing__host span{
  word-break:break-word;
}

.beamii-outgoing__actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:16px;
}

.beamii-outgoing__btn{
  min-height:46px;
  padding:0 16px;
  border-radius:999px;
  font-weight:800;
  border:1px solid rgba(12,18,32,.08);
  background:rgba(12,18,32,.05);
  color:rgba(12,18,32,.88);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-decoration:none;
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}

.beamii-outgoing__btn:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 18px rgba(12,18,32,.12);
}

.beamii-outgoing__btn--primary{
  background:linear-gradient(135deg, #2f78a8 0%, #1f3c5c 100%);
  border-color:transparent;
  color:#fff;
  box-shadow:0 12px 24px rgba(31,60,92,.25);
}

.beamii-outgoing__btn--primary:hover{
  color:#fff;
  filter:brightness(1.03);
}

@media (max-width:759px){
  .beamii-outgoing{
    padding:12px 12px calc(12px + env(safe-area-inset-bottom));
  }

  .beamii-outgoing__card{
    padding:16px;
    border-radius:24px;
  }

  .beamii-outgoing__actions{
    flex-direction:column-reverse;
  }

  .beamii-outgoing__btn{
    width:100%;
  }
}

@media (min-width: 768px){
  .beamii-home__place-slider{
    grid-auto-columns:minmax(240px, 32%);
  }

  .beamii-home__mini-links{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
}

.beamii-home__mini-links{display:none !important;}

/* =====================================================
   Front page premium hierarchy – v10
===================================================== */
.beamii-home{
  gap:20px;
  padding-inline:16px;
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.62), transparent 22%),
    radial-gradient(circle at top right, rgba(236,148,0,.10), transparent 26%),
    linear-gradient(180deg, #f4f8fc 0%, #eaf1f7 100%);
}

.beamii-home__hero{
  margin-bottom:4px;
  border-radius:30px;
}

#beamiiHomeIntroText{
  max-width:44ch;
}

#beamiiHomeLocationText{
  margin-top:12px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.10);
}

.beamii-home__hero-meta{
  margin-top:14px;
}

.beamii-home__actions{
  margin-top:16px;
}

.beamii-home__section{
  margin-bottom:8px;
}

.beamii-home__sectionhead{
  margin-bottom:10px;
  padding-inline:2px;
}

.beamii-home__sectiontitle{
  font-size:clamp(22px, 5vw, 26px);
  letter-spacing:-.02em;
}

.beamii-home__sectionsub{
  margin-top:5px;
  max-width:46ch;
  font-size:13px;
  line-height:1.45;
}

.beamii-home__sectionshell{
  position:relative;
  padding:14px;
  border-radius:26px;
  background:linear-gradient(180deg, rgba(255,255,255,.74) 0%, rgba(255,255,255,.58) 100%);
  border:1px solid rgba(23,50,77,.08);
  box-shadow:0 16px 34px rgba(15,23,42,.07);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

.beamii-home__sectionshell--nearest{
  background:linear-gradient(180deg, rgba(255,255,255,.78) 0%, rgba(246,250,253,.70) 100%);
}

.beamii-home__sectionshell--events{
  background:linear-gradient(180deg, rgba(255,255,255,.76) 0%, rgba(245,249,252,.66) 100%);
}

.beamii-home__sectionshell--inspiration{
  background:linear-gradient(180deg, rgba(255,250,244,.82) 0%, rgba(255,255,255,.66) 100%);
  border-color:rgba(255,118,0,.10);
}

.beamii-home__nearest,
.beamii-home__empty-state,
.beamii-home__promo-card,
.beamii-home__event-card,
.beamii-home__place-card{
  box-shadow:none;
}

.beamii-home__nearest{
  border-radius:24px;
  background:linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(248,251,254,.98) 100%);
}

.beamii-home__nearest-body{
  padding:20px;
}

.beamii-home__nearest-title,
.beamii-home__empty-title{
  letter-spacing:-.02em;
}

.beamii-home__nearest-text,
.beamii-home__empty-text{
  max-width:50ch;
}

.beamii-home__fallback-block{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid rgba(23,50,77,.08);
}

.beamii-home__fallback-head{
  margin-bottom:10px;
}

.beamii-home__fallback-head span{
  display:inline-block;
  font-size:12px;
  line-height:1.4;
  color:#73869a;
}

.beamii-home__place-slider{
  grid-auto-columns:minmax(228px, 82%);
  padding-bottom:2px;
}

.beamii-home__place-card{
  border-radius:20px;
  border-color:rgba(23,50,77,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(249,252,255,.98) 100%);
}

.beamii-home__place-card-media{
  aspect-ratio:16/9;
}

.beamii-home__event-slider,
.beamii-home__promo-slider{
  padding-bottom:2px;
}

.beamii-home__event-card,
.beamii-home__promo-card{
  border-radius:18px;
}

.beamii-home__empty-state{
  grid-template-columns:auto minmax(0, 1fr);
  align-items:center;
  gap:12px;
}

.beamii-home__empty-state--compact{
  padding:18px;
}

.beamii-home__empty-copy{
  min-width:0;
}

.beamii-home__empty-icon{
  flex:0 0 46px;
  width:46px;
  height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  font-size:18px;
  background:#eef4f8;
  color:#1f3c5c;
}

.beamii-home__empty-state--events .beamii-home__empty-icon{
  background:rgba(31,60,92,.10);
  color:#1f3c5c;
}

.beamii-home__empty-state--promo .beamii-home__empty-icon{
  background:rgba(255,118,0,.10);
  color:#b96a00;
}

.beamii-home__promo-list,
.beamii-home__events-list{
  margin-top:0;
}

@media (max-width:480px){
  .beamii-home{
    padding-inline:12px;
    gap:18px;
  }

  .beamii-home__hero{
    padding:18px;
    border-radius:26px;
  }

  .beamii-home__hero{
    grid-template-columns:64px minmax(0,1fr);
  }

  .beamii-home__logo{
    width:64px;
    height:64px;
    border-radius:20px;
    font-size:26px;
  }

  .beamii-home__hero-meta{
    gap:7px;
  }

  .beamii-home__hero-pill{
    width:auto;
    justify-content:flex-start;
    padding:7px 10px;
    font-size:11px;
  }

  .beamii-home__sectionshell{
    padding:12px;
    border-radius:22px;
  }

  .beamii-home__empty-state{
    grid-template-columns:1fr;
    align-items:flex-start;
  }

  .beamii-home__empty-icon{
    width:42px;
    height:42px;
  }
}

/* =====================================================
   HOME V11 — clearer identity + quick actions
===================================================== */
.beamii-home__hero-meta{
  display:none !important;
}

.beamii-home__hero-desc{
  margin:12px 0 0;
  max-width:48ch;
  color:rgba(255,255,255,.88);
  font-size:14px;
  line-height:1.6;
}

.beamii-home__section--quicknav{
  margin-top:-2px;
}

.beamii-home__section--quicknav .beamii-home__quickgrid{
  margin:0;
}

.beamii-home__quickcard{
  position:relative;
  min-height:86px;
  align-items:flex-start;
  border-radius:20px;
  background:linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(248,251,254,.96) 100%);
  box-shadow:0 14px 28px rgba(15,23,42,.08);
}

.beamii-home__quickcard:hover,
.beamii-home__quickcard:focus-visible{
  transform:translateY(-1px);
  box-shadow:0 18px 34px rgba(15,23,42,.12);
}

.beamii-home__quickcard-icon{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5);
}

.beamii-home__quickcard strong{
  font-size:15px;
}

.beamii-home__quickcard span span{
  max-width:24ch;
}

.beamii-home__quickcard--coming{
  border-color:rgba(236,148,0,.18);
  background:linear-gradient(180deg, rgba(255,249,239,.98) 0%, rgba(255,255,255,.98) 100%);
}

.beamii-home__quickcard-badge{
  position:absolute;
  top:12px;
  right:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:52px;
  height:24px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(236,148,0,.14);
  color:#9b5b00;
  font-size:11px;
  font-weight:800;
  letter-spacing:.02em;
}

@media (max-width:480px){
  .beamii-home__hero-desc{
    font-size:13px;
    line-height:1.5;
  }

  .beamii-home__quickgrid{
    gap:10px;
  }

  .beamii-home__quickcard{
    min-height:78px;
    padding:12px;
    gap:10px;
  }

  .beamii-home__quickcard-icon{
    width:40px;
    height:40px;
    flex-basis:40px;
    border-radius:13px;
  }

  .beamii-home__quickcard strong{
    font-size:14px;
  }

  .beamii-home__quickcard span span{
    font-size:11px;
    line-height:1.4;
  }

  .beamii-home__quickcard-badge{
    top:10px;
    right:10px;
    min-width:46px;
    height:22px;
    padding:0 8px;
    font-size:10px;
  }
}


/* =====================================================
   HOME V12 — less hero copy + quick nav moved to bottom
===================================================== */
.beamii-home__hero-desc{
  display:none !important;
}

.beamii-home__section--quicknav{
  margin-top:4px;
  margin-bottom:10px;
}

.beamii-home__section--quicknav .beamii-home__sectionhead{
  margin-bottom:10px;
}

.beamii-home__section--quicknav .beamii-home__quickgrid{
  margin:0;
}

.beamii-home__quickgrid{
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
}

.beamii-home__quickcard{
  min-height:104px;
  padding:16px;
  gap:14px;
  align-items:flex-start;
}

.beamii-home__quickcard-icon{
  flex:0 0 54px;
  width:54px;
  height:54px;
  border-radius:16px;
  font-size:22px;
}

.beamii-home__quickcard strong{
  font-size:16px;
  line-height:1.25;
}

.beamii-home__quickcard span span{
  margin-top:5px;
  font-size:12px;
  line-height:1.45;
  max-width:none;
}

.beamii-home__quickcard-badge{
  top:14px;
  right:14px;
}

@media (max-width:640px){
  .beamii-home__quickgrid{
    grid-template-columns:1fr;
    gap:12px;
  }
}

@media (max-width:480px){
  .beamii-home__quickcard{
    min-height:96px;
    padding:14px;
    gap:12px;
  }

  .beamii-home__quickcard-icon{
    flex-basis:50px;
    width:50px;
    height:50px;
    border-radius:15px;
    font-size:20px;
  }

  .beamii-home__quickcard strong{
    font-size:15px;
  }

  .beamii-home__quickcard span span{
    font-size:12px;
  }
}


/* =====================================================
   HOME V13 — cleaner hero + larger bottom quick actions
===================================================== */
.beamii-home__hero{
  gap:16px;
  padding:20px 18px 18px;
}

.beamii-home__eyebrow{
  margin-bottom:10px;
}

.beamii-home__title h1{
  margin-bottom:10px;
  font-size:clamp(28px, 6.8vw, 38px);
}

#beamiiHomeIntroText{
  max-width:31ch;
  font-size:16px;
  font-weight:600;
  line-height:1.45;
}

#beamiiHomeLocationText{
  margin-top:12px;
  padding:8px 12px;
  font-size:12px;
  line-height:1.4;
}

.beamii-home__actions{
  margin-top:12px;
}

.beamii-home__section--quicknav{
  margin-top:14px;
  margin-bottom:10px;
}

.beamii-home__section--quicknav .beamii-home__sectionhead{
  display:none;
}

.beamii-home__section--quicknav .beamii-home__quickgrid{
  margin-top:0;
}

.beamii-home__quickgrid{
  grid-template-columns:1fr;
  gap:14px;
}

.beamii-home__quickcard{
  min-height:104px;
  padding:16px 18px;
  gap:16px;
  align-items:center;
  border-radius:22px;
}

.beamii-home__quickcard-icon{
  flex:0 0 60px;
  width:60px;
  height:60px;
  border-radius:18px;
  font-size:24px;
}

.beamii-home__quickcard strong{
  display:block;
  margin:0 0 4px;
  font-size:17px;
  line-height:1.2;
}

.beamii-home__quickcard span span{
  display:block;
  margin-top:0;
  max-width:none;
  font-size:13px;
  line-height:1.45;
}

.beamii-home__quickcard-badge{
  top:14px;
  right:14px;
}

@media (min-width: 768px){
  .beamii-home__quickgrid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 480px){
  .beamii-home__hero{
    grid-template-columns:64px minmax(0, 1fr);
    gap:14px;
    padding:18px 16px 16px;
  }

  .beamii-home__logo{
    width:64px;
    height:64px;
    border-radius:20px;
    font-size:28px;
  }

  .beamii-home__title h1{
    font-size:clamp(26px, 8vw, 34px);
  }

  #beamiiHomeIntroText{
    font-size:15px;
  }

  .beamii-home__quickcard{
    min-height:98px;
    padding:14px 16px;
    gap:14px;
  }

  .beamii-home__quickcard-icon{
    flex-basis:56px;
    width:56px;
    height:56px;
    border-radius:17px;
    font-size:22px;
  }

  .beamii-home__quickcard strong{
    font-size:16px;
  }

  .beamii-home__quickcard span span{
    font-size:12px;
  }
}


/* =====================================================
   HOME V14 — cleaner hero + dashboard quick actions
===================================================== */
.beamii-home{
  gap:18px;
}

.beamii-home__hero{
  grid-template-columns:64px minmax(0, 1fr);
  gap:14px;
  padding:18px 16px;
  border-radius:26px;
}

.beamii-home__eyebrow{
  margin:0 0 10px;
  padding:6px 10px;
  font-size:11px;
}

.beamii-home__title h1{
  margin:0 0 8px;
  font-size:clamp(30px, 6vw, 38px);
}

#beamiiHomeIntroText{
  max-width:30ch;
  font-size:15px;
  font-weight:600;
  line-height:1.42;
}

#beamiiHomeLocationText{
  margin-top:10px;
  padding:8px 12px;
  font-size:12px;
  line-height:1.35;
  border-radius:14px;
}

.beamii-home__actions{
  margin-top:12px;
}

.beamii-home__sectionhead{
  margin-bottom:10px;
}

.beamii-home__sectiontitle{
  letter-spacing:-0.02em;
}

.beamii-home__sectionsub{
  font-size:13px;
  line-height:1.45;
}

.beamii-home__sectionshell{
  border-radius:24px;
}

.beamii-home__section--quicknav{
  margin-top:2px;
  margin-bottom:8px;
}

.beamii-home__quickgrid{
  grid-template-columns:1fr;
  gap:12px;
}

.beamii-home__quickcard{
  position:relative;
  min-height:112px;
  padding:18px 18px 18px 16px;
  gap:16px;
  align-items:center;
  border-radius:24px;
  border:1px solid rgba(31,60,92,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(247,250,253,.98) 100%);
  box-shadow:0 14px 30px rgba(17,30,49,.08);
}

.beamii-home__quickcard::after{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  border-radius:24px 0 0 24px;
  background:rgba(31,60,92,.12);
}

.beamii-home__quickcard--orange::after{ background:#ec9400; }
.beamii-home__quickcard--map::after{ background:#356ea7; }
.beamii-home__quickcard--explore::after{ background:#2f7d68; }
.beamii-home__quickcard--coming::after{ background:#c78211; }

.beamii-home__quickcard-icon{
  flex:0 0 68px;
  width:68px;
  height:68px;
  border-radius:20px;
  font-size:28px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45);
}

.beamii-home__quickcard strong{
  display:block;
  margin:0 0 5px;
  font-size:18px;
  line-height:1.2;
}

.beamii-home__quickcard > span:last-child,
.beamii-home__quickcard > span:nth-child(2){
  min-width:0;
}

.beamii-home__quickcard span span{
  display:block;
  margin-top:0;
  max-width:none;
  font-size:13px;
  line-height:1.45;
}

.beamii-home__quickcard-badge{
  top:14px;
  right:14px;
}

@media (min-width: 768px){
  .beamii-home__quickgrid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 480px){
  .beamii-home__hero{
    grid-template-columns:60px minmax(0, 1fr);
    gap:12px;
    padding:16px 14px;
  }

  .beamii-home__logo{
    width:60px;
    height:60px;
    border-radius:18px;
    font-size:26px;
  }

  .beamii-home__title h1{
    font-size:clamp(27px, 8vw, 34px);
  }

  #beamiiHomeIntroText{
    font-size:14px;
  }

  .beamii-home__quickcard{
    min-height:104px;
    padding:16px 16px 16px 14px;
    gap:14px;
  }

  .beamii-home__quickcard-icon{
    flex-basis:60px;
    width:60px;
    height:60px;
    border-radius:18px;
    font-size:24px;
  }

  .beamii-home__quickcard strong{
    font-size:17px;
  }

  .beamii-home__quickcard span span{
    font-size:12px;
  }
}

/* =====================================================
   HOME quicknav icon alignment fix
   Version: 2026-04-25
   Ansvar: Sikrer at quicknav-ikoner ikke arver generel span-styling.
===================================================== */
.beamii-home__quickcard .beamii-home__quickcard-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 68px;
  width:68px;
  height:68px;
  margin:0;
  border-radius:20px;
  line-height:1;
  font-size:0;
  color:#1f3c5c;
  background:#eff5fa;
}

.beamii-home__quickcard .beamii-home__quickcard-icon i,
.beamii-home__quickcard .beamii-home__quickcard-icon svg{
  display:block;
  width:1em;
  height:1em;
  margin:0;
  font-size:28px;
  line-height:1;
  text-align:center;
}

.beamii-home__quickcard--orange .beamii-home__quickcard-icon{
  background:rgba(236,148,0,.12);
  color:#b86e00;
}

.beamii-home__quickcard--map .beamii-home__quickcard-icon{
  background:rgba(53,110,167,.10);
  color:#356ea7;
}

.beamii-home__quickcard--explore .beamii-home__quickcard-icon{
  background:rgba(47,125,104,.10);
  color:#2f7d68;
}

.beamii-home__quickcard--coming .beamii-home__quickcard-icon{
  background:rgba(199,130,17,.10);
  color:#9b5b00;
}

@media (max-width: 480px){
  .beamii-home__quickcard .beamii-home__quickcard-icon{
    flex-basis:60px;
    width:60px;
    height:60px;
    border-radius:18px;
  }

  .beamii-home__quickcard .beamii-home__quickcard-icon i,
  .beamii-home__quickcard .beamii-home__quickcard-icon svg{
    font-size:24px;
  }
}

/* =====================================================
   MAP polish / BeaMii markers
   Version: 2026-04-25
   Ansvar: Brandet Leaflet marker, popup, empty-state og diskret attribution.
===================================================== */
.leaflet-container .leaflet-control-attribution{
  max-width:min(72vw, 360px);
  margin:0 10px 10px 0;
  padding:4px 8px;
  border:1px solid rgba(12,18,32,.08);
  border-radius:999px;
  background:rgba(255,255,255,.86);
  color:rgba(20,38,60,.58);
  box-shadow:0 8px 22px rgba(15,23,42,.10);
  font:700 10px/1.35 var(--font, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
  backdrop-filter:blur(12px) saturate(1.08);
  -webkit-backdrop-filter:blur(12px) saturate(1.08);
}

.leaflet-container .leaflet-control-attribution a{
  color:rgba(20,38,60,.72);
  text-decoration:none;
}

.leaflet-container .leaflet-control-attribution a:hover{
  color:#0a8dcc;
  text-decoration:underline;
}

.beamii-map-marker{
  width:32px !important;
  height:32px !important;
  border:0 !important;
  background:transparent !important;
  filter:drop-shadow(0 8px 12px rgba(5,30,55,.22));
  transform-origin:50% 100%;
  transition:filter .18s ease, transform .18s ease;
}

.beamii-map-marker__pin{
  position:absolute;
  left:4px;
  top:2px;
  width:34px;
  height:34px;
  display:block;
  border:2px solid rgba(255,255,255,.92);
  border-radius:56% 56% 56% 8%;
  background:linear-gradient(145deg, #16a8df 0%, #0796d3 58%, #076bb8 100%);
  box-shadow:
    inset -8px -5px 0 rgba(0,54,105,.16),
    inset 5px 5px 10px rgba(255,255,255,.18),
    0 8px 18px rgba(5,43,76,.20);
  transform:rotate(-45deg);
}

.beamii-map-marker__shine{
  position:absolute;
  left:7px;
  top:6px;
  width:12px;
  height:10px;
  border-radius:999px;
  background:rgba(255,255,255,.22);
  filter:blur(.2px);
}

.beamii-map-marker__face{
  position:absolute;
  inset:0;
  transform:rotate(45deg);
}

.beamii-map-marker__eye{
  position:absolute;
  top:10px;
  width:4px;
  height:6px;
  border-radius:999px;
  background:#073352;
}

.beamii-map-marker__eye--left{ left:11px; }
.beamii-map-marker__eye--right{ right:11px; height:4px; top:12px; }

.beamii-map-marker__smile{
  position:absolute;
  left:11px;
  top:18px;
  width:13px;
  height:7px;
  border-bottom:3px solid #073352;
  border-radius:0 0 999px 999px;
}

.beamii-map-marker--character{
  width:32px !important;
  height:32px !important;
  filter:drop-shadow(0 8px 12px rgba(5,30,55,.22));
}

.beamii-map-marker__character-img{
  position:absolute;
  left:0;
  bottom:0;
  display:block;
  width:32px;
  height:32px;
  max-width:none;
  object-fit:contain;
  object-position:center bottom;
  transform:none;
  pointer-events:none;
  user-select:none;
  -webkit-user-drag:none;
}

.beamii-map-marker--character.is-featured .beamii-map-marker__character-img{
  filter:drop-shadow(0 0 0 rgba(255,255,255,0)) drop-shadow(0 0 10px rgba(255,222,89,.42));
}

.beamii-map-marker.is-selected,
.beamii-map-marker.is-active-place{
  z-index:900 !important;
  filter:drop-shadow(0 10px 16px rgba(5,30,55,.28));
  transform:scale(1.08) translateY(-1px);
}

.beamii-map-marker.is-selected .beamii-map-marker__pin,
.beamii-map-marker.is-active-place .beamii-map-marker__pin{
  background:linear-gradient(145deg, #22b8ee 0%, #0796d3 50%, #034c8e 100%);
  box-shadow:
    0 0 0 7px rgba(20,143,202,.16),
    inset -8px -5px 0 rgba(0,54,105,.18),
    inset 5px 5px 10px rgba(255,255,255,.20),
    0 10px 22px rgba(5,43,76,.24);
}

.beamii-map-marker.is-featured .beamii-map-marker__pin{
  border-color:#fff4c2;
}

.beamii-map-user-marker{
  width:34px !important;
  height:34px !important;
  border:0 !important;
  background:transparent !important;
}

.beamii-map-user-marker__pulse,
.beamii-map-user-marker__dot{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%, -50%);
  border-radius:999px;
}

.beamii-map-user-marker__pulse{
  width:34px;
  height:34px;
  background:rgba(20,143,202,.18);
  box-shadow:0 0 0 8px rgba(20,143,202,.08);
}

.beamii-map-user-marker__dot{
  width:14px;
  height:14px;
  border:3px solid #fff;
  background:#0a8dcc;
  box-shadow:0 8px 18px rgba(5,43,76,.26);
}

.beamii-leaflet-popup .leaflet-popup-content-wrapper{
  border:1px solid rgba(12,18,32,.08);
  border-radius:24px;
  background:rgba(255,255,255,.96);
  box-shadow:0 24px 54px rgba(15,23,42,.20);
  backdrop-filter:blur(14px) saturate(1.06);
  -webkit-backdrop-filter:blur(14px) saturate(1.06);
}

.beamii-leaflet-popup .leaflet-popup-content{
  margin:12px !important;
}

.beamii-leaflet-popup .leaflet-popup-close-button{
  top:8px;
  right:8px;
  width:30px;
  height:30px;
  border-radius:999px;
  background:rgba(12,18,32,.07);
  color:#17314f;
  font-size:18px;
  line-height:30px;
}

.beamii-map-popup{
  width:min(242px, calc(100vw - 76px));
}

.beamii-map-popup__img{
  border-radius:16px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.30);
}

.beamii-map-popup__type{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:3px 9px;
  border-radius:999px;
  background:rgba(20,143,202,.10);
  color:#0a6eaa;
  font-size:11px;
  font-weight:900;
  opacity:1;
}

.beamii-map-popup__title{
  margin-top:7px;
  color:#102a46;
}

.beamii-map-popup__meta{
  line-height:1.4;
}

.beamii-map-popup__actions button,
.beamii-map-popup__actions a{
  min-height:42px;
  border-radius:14px;
}

.beamii-map-popup__actions button{
  background:linear-gradient(135deg, #0a8dcc, #0670b4);
  box-shadow:0 10px 22px rgba(10,141,204,.22);
}

.beamii-map-popup__actions a{
  background:#edf4fa;
  color:#12324f;
}

.beamii-map-empty{
  position:absolute;
  left:50%;
  top:50%;
  z-index:420;
  width:min(320px, calc(100vw - 48px));
  transform:translate(-50%, -50%);
  padding:14px 16px;
  border:1px solid rgba(12,18,32,.08);
  border-radius:20px;
  background:rgba(255,255,255,.92);
  color:#17314f;
  box-shadow:0 18px 42px rgba(15,23,42,.14);
  font-weight:800;
  text-align:center;
  backdrop-filter:blur(14px) saturate(1.06);
  -webkit-backdrop-filter:blur(14px) saturate(1.06);
  pointer-events:none;
}

.beamii-map-empty[hidden]{
  display:none !important;
}

@media (max-width: 767px){
  .leaflet-container .leaflet-control-attribution{
    max-width:calc(100vw - 132px);
    margin:0 8px calc(var(--bottom-nav-h, 74px) + var(--safe-bottom, 0px) + 8px) 0;
    padding:3px 7px;
    font-size:9px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .beamii-map-marker{
    transform:scale(1);
  }

  .beamii-map-marker.is-selected,
  .beamii-map-marker.is-active-place{
    transform:scale(1.08) translateY(-1px);
  }
}

.beamii-map-marker .screen-reader-text{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

/* =====================================================
   APP SHELL EDGE-TO-EDGE POLISH
   Version: 2026-04-25
   Ansvar:
   - Gør topbar og bundnavigation mindre "floating pill"
   - Bevarer eksisterende markup, routes, icons og app-shell flow
===================================================== */
@media (max-width: 760px){
  :root{
    --bottom-nav-gap:0px;
    --bottom-nav-h:72px;
    --topbar-pad-x:0px;
    --topbar-offset-top:0px;
    --sheet-bottom-space:calc(var(--bottom-nav-h) + var(--safe-bottom) + 8px);
  }

  .topbar{
    padding:
      var(--safe-top)
      var(--safe-right)
      10px
      var(--safe-left);
    background:
      linear-gradient(180deg, rgba(235,245,252,.96) 0%, rgba(235,245,252,.74) 64%, rgba(235,245,252,0) 100%);
  }

  .topbar-inner{
    max-width:none;
    width:100%;
    margin:0;
  }

  .searchbar{
    width:100%;
    max-width:none;
    min-height:58px;
    margin:0;
    padding:8px 10px;
    border-radius:0 0 22px 22px;
    border-left:0;
    border-right:0;
    border-top:0;
    background:
      linear-gradient(180deg, rgba(45,91,128,.98) 0%, rgba(31,77,116,.97) 100%);
    box-shadow:
      0 10px 26px rgba(11,26,40,.16),
      inset 0 1px 0 rgba(255,255,255,.12);
  }

  .searchbar::before{
    border-radius:0 0 22px 22px;
  }

  .beamii-logo{
    width:42px;
    height:42px;
    border-radius:16px;
    overflow:hidden;
    background:
      radial-gradient(circle at 35% 24%, rgba(255,255,255,.96) 0 18%, rgba(224,246,255,.76) 19% 46%, rgba(27,160,216,.20) 47% 100%),
      linear-gradient(180deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,.08) 100%);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.24),
      0 8px 18px rgba(2,28,50,.14);
  }

  .beamii-logo--character{
    padding:3px;
  }

  .beamii-logo__character{
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center bottom;
    transform:translateY(2px) scale(1.14);
    filter:drop-shadow(0 5px 7px rgba(3,39,65,.16));
  }

  .chips{
    max-width:none;
    padding-left:14px;
    padding-right:14px;
  }

  .bottom-nav{
    left:0;
    right:0;
    bottom:0;
    width:100%;
    max-width:none;
    min-height:calc(var(--bottom-nav-h) + var(--safe-bottom));
    padding:
      6px
      max(8px, var(--safe-right))
      calc(6px + var(--safe-bottom))
      max(8px, var(--safe-left));
    transform:none;
    border-left:0;
    border-right:0;
    border-bottom:0;
    border-radius:22px 22px 0 0;
    background:rgba(31,82,124,.96);
    box-shadow:0 -12px 30px rgba(11,26,40,.18);
  }

  .nav-item{
    min-height:58px;
    border-radius:15px;
  }

  .nav-item.is-active{
    border-radius:17px;
    background:rgba(255,255,255,.13);
  }
}

@media (min-width: 761px){
  .bottom-nav{
    left:0;
    right:0;
    bottom:0;
    width:100%;
    max-width:none;
    min-height:calc(var(--bottom-nav-h) + var(--safe-bottom));
    padding:
      6px
      max(24px, var(--safe-right))
      calc(6px + var(--safe-bottom))
      max(24px, var(--safe-left));
    transform:none;
    border-left:0;
    border-right:0;
    border-bottom:0;
    border-radius:24px 24px 0 0;
  }

  .bottom-nav .nav-item{
    max-width:160px;
    justify-self:center;
    width:100%;
  }
}
/* =====================================================
   APP SHELL EDGE-TO-EDGE SQUARE POLISH
   Version: 2026-04-25
   Ansvar:
   - Gør topbar og bundnavigation kantede/edge-to-edge
   - Bevarer eksisterende markup, routes, icons og app-shell flow
===================================================== */
@media (max-width: 760px){
  :root{
    --bottom-nav-gap:0px;
    --bottom-nav-h:70px;
    --topbar-pad-x:0px;
    --topbar-offset-top:0px;
    --sheet-bottom-space:calc(var(--bottom-nav-h) + var(--safe-bottom) + 8px);
  }

  .topbar{
    padding:
      var(--safe-top)
      var(--safe-right)
      8px
      var(--safe-left);
    background:
      linear-gradient(180deg, rgba(235,245,252,.98) 0%, rgba(235,245,252,.84) 66%, rgba(235,245,252,0) 100%);
  }

  .topbar-inner{
    max-width:none;
    width:100%;
    margin:0;
  }

  .searchbar{
    width:100%;
    max-width:none;
    min-height:58px;
    margin:0;
    padding:8px 10px;
    border-radius:0;
    border-left:0;
    border-right:0;
    border-top:0;
    background:
      linear-gradient(180deg, rgba(45,91,128,.99) 0%, rgba(31,77,116,.98) 100%);
    box-shadow:
      0 8px 20px rgba(11,26,40,.14),
      inset 0 -1px 0 rgba(255,255,255,.10),
      inset 0 1px 0 rgba(255,255,255,.12);
  }

  .searchbar::before{
    border-radius:0;
  }

  .beamii-logo{
    width:42px;
    height:42px;
    border-radius:10px;
    overflow:hidden;
    background:
      radial-gradient(circle at 35% 24%, rgba(255,255,255,.96) 0 18%, rgba(224,246,255,.76) 19% 46%, rgba(27,160,216,.20) 47% 100%),
      linear-gradient(180deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,.08) 100%);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.24),
      0 7px 16px rgba(2,28,50,.14);
  }

  .beamii-logo--character{
    padding:3px;
  }

  .beamii-logo__character{
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center bottom;
    transform:translateY(2px) scale(1.14);
    filter:drop-shadow(0 5px 7px rgba(3,39,65,.16));
  }

  .chips{
    max-width:none;
    padding-left:14px;
    padding-right:14px;
  }

  .bottom-nav{
    left:0;
    right:0;
    bottom:0;
    width:100%;
    max-width:none;
    min-height:calc(var(--bottom-nav-h) + var(--safe-bottom));
    padding:
      5px
      max(8px, var(--safe-right))
      calc(5px + var(--safe-bottom))
      max(8px, var(--safe-left));
    transform:none;
    border-left:0;
    border-right:0;
    border-bottom:0;
    border-radius:0;
    background:rgba(31,82,124,.98);
    box-shadow:0 -10px 26px rgba(11,26,40,.16);
  }

  .bottom-nav::before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:0;
    height:1px;
    background:rgba(255,255,255,.18);
    pointer-events:none;
  }

  .nav-item{
    position:relative;
    min-height:58px;
    border-radius:0;
  }

  .nav-item::before{
    content:"";
    position:absolute;
    left:18%;
    right:18%;
    top:0;
    height:3px;
    border-radius:0 0 3px 3px;
    background:transparent;
    transition:background .16s ease, left .16s ease, right .16s ease;
  }

  .nav-item.is-active{
    border-radius:0;
    background:linear-gradient(180deg, rgba(255,255,255,.13) 0%, rgba(255,255,255,.06) 100%);
  }

  .nav-item.is-active::before{
    left:0;
    right:0;
    background:var(--beamii-orange);
  }
}

@media (min-width: 761px){
  .bottom-nav{
    left:0;
    right:0;
    bottom:0;
    width:100%;
    max-width:none;
    min-height:calc(var(--bottom-nav-h) + var(--safe-bottom));
    padding:
      6px
      max(24px, var(--safe-right))
      calc(6px + var(--safe-bottom))
      max(24px, var(--safe-left));
    transform:none;
    border-left:0;
    border-right:0;
    border-bottom:0;
    border-radius:0;
  }

  .bottom-nav .nav-item{
    max-width:160px;
    justify-self:center;
    width:100%;
    border-radius:0;
  }

  .bottom-nav .nav-item.is-active{
    border-radius:0;
  }
}

/* =====================================================
   HOME NEAREST ONLY - SPLIT SLIDER
   Version: 2026-04-25
   Ansvar:
   - Påvirker kun "Tættest på dig"-sektionen
   - Bevarer topbar, hero, events, inspiration og quicknav
===================================================== */
.beamii-home__sectionshell--nearest{
  overflow:visible;
}

.beamii-home__sectionshell--nearest #beamiiNearestPlaceWrap{
  min-width:0;
}

.beamii-home__nearby-slider{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(300px, min(100%, 900px));
  gap:16px;
  overflow-x:auto;
  overflow-y:visible;
  padding:4px 4px 12px;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}

.beamii-home__nearby-slider::-webkit-scrollbar{
  display:none;
}

.beamii-home__nearby-card{
  position:relative;
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0, 1.05fr) minmax(0, .95fr);
  gap:0;
  min-height:248px;
  overflow:hidden;
  border-radius:28px;
  border:1px solid rgba(23,50,77,.08);
  background:#fff;
  color:#17324d;
  text-decoration:none !important;
  box-shadow:0 18px 42px rgba(16,38,61,.12);
  scroll-snap-align:center;
  scroll-snap-stop:always;
}

.beamii-home__nearby-media{
  position:relative;
  min-height:248px;
  overflow:hidden;
  background:#e8f1f8;
}

.beamii-home__nearby-media img,
.beamii-home__nearby-placeholder{
  width:100%;
  height:100%;
  display:block;
}

.beamii-home__nearby-media img{
  object-fit:cover;
  object-position:center;
}

.beamii-home__nearby-placeholder{
  display:grid;
  place-items:center;
  color:#4d708f;
  font-size:38px;
  background:
    radial-gradient(circle at 24% 18%, rgba(255,255,255,.80) 0%, rgba(255,255,255,0) 44%),
    linear-gradient(180deg, #e8f1f8 0%, #d8e7f3 100%);
}

.beamii-home__nearby-pill{
  position:absolute;
  top:14px;
  left:14px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:34px;
  padding:0 13px;
  border-radius:13px;
  background:rgba(255,255,255,.92);
  color:#234b6f;
  font-size:12px;
  font-weight:900;
  box-shadow:0 8px 18px rgba(10,30,50,.14);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  max-width:calc(100% - 24px);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.beamii-home__nearby-pill i{
  color:#365f82;
}

.beamii-home__nearby-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  padding:28px 28px 24px;
}

.beamii-home__nearby-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:12px;
}

.beamii-home__nearby-type{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#d77800;
  font-size:12px;
  font-weight:950;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.beamii-home__nearby-distance,
.beamii-home__nearby-counter{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:32px;
  padding:0 11px;
  border-radius:999px;
  background:#f2f6fa;
  color:#32506e;
  font-size:12px;
  font-weight:900;
}

.beamii-home__nearby-title{
  font-size:clamp(22px, 3vw, 28px);
  line-height:1.1;
  letter-spacing:-.025em;
  font-weight:950;
  color:#17324d;
}

.beamii-home__nearby-text{
  margin-top:10px;
  color:#65788c;
  font-size:16px;
  line-height:1.55;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.beamii-home__nearby-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:16px;
}

.beamii-home__nearby-tags span{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 12px;
  border-radius:999px;
  background:#eef4f9;
  color:#49657e;
  font-size:12px;
  font-weight:850;
}

.beamii-home__nearby-statusline{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:18px;
  color:#34536f;
  font-size:13px;
  font-weight:800;
}

.beamii-home__nearby-dot{
  width:8px;
  height:8px;
  border-radius:999px;
  background:#2bbf77;
  box-shadow:0 0 0 4px rgba(43,191,119,.12);
}

.beamii-home__nearby-actions{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:auto;
  padding-top:22px;
}

.beamii-home__nearby-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  border-radius:14px;
  font-size:15px;
  font-weight:950;
}

.beamii-home__nearby-action--primary{
  flex:1 1 auto;
  padding:0 24px;
  background:#1f4a70;
  color:#fff;
}

.beamii-home__nearby-action--ghost{
  flex:0 0 58px;
  width:58px;
  background:#f0f5f9;
  color:#234b6f;
}

.beamii-home__nearby-dots{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:8px;
  min-height:18px;
  margin-top:2px;
}

.beamii-home__nearby-dots span{
  width:9px;
  height:9px;
  border-radius:999px;
  background:#dbe5ee;
}

.beamii-home__nearby-dots span.is-active{
  background:#1f4a70;
}

@media (max-width:759px){
  .beamii-home__nearby-slider{
    grid-auto-columns:minmax(310px, 100%);
    gap:14px;
    padding:2px 0 10px;
  }

  .beamii-home__nearby-card{
    grid-template-columns:minmax(0, 44%) minmax(0, 56%);
    min-height:214px;
    border-radius:24px;
  }

  .beamii-home__nearby-media{
    min-height:214px;
  }

  .beamii-home__nearby-pill{
    top:10px;
    left:10px;
    min-height:28px;
    padding:0 9px;
    border-radius:10px;
    font-size:10px;
  }

  .beamii-home__nearby-copy{
    padding:18px 16px 16px;
  }

  .beamii-home__nearby-topline{
    margin-bottom:8px;
  }

  .beamii-home__nearby-type{
    font-size:10px;
  }

  .beamii-home__nearby-distance,
  .beamii-home__nearby-counter{
    min-height:28px;
    padding:0 8px;
    font-size:10px;
  }

  .beamii-home__nearby-title{
    font-size:20px;
  }

  .beamii-home__nearby-text{
    margin-top:8px;
    font-size:13px;
    line-height:1.45;
    -webkit-line-clamp:2;
  }

  .beamii-home__nearby-tags{
    gap:6px;
    margin-top:10px;
  }

  .beamii-home__nearby-tags span{
    min-height:25px;
    padding:0 8px;
    font-size:10px;
  }

  .beamii-home__nearby-statusline{
    margin-top:10px;
    font-size:11px;
  }

  .beamii-home__nearby-actions{
    gap:10px;
    padding-top:12px;
  }

  .beamii-home__nearby-action{
    min-height:44px;
    border-radius:12px;
    font-size:13px;
  }

  .beamii-home__nearby-action--ghost{
    flex-basis:46px;
    width:46px;
  }
}

@media (max-width:380px){
  .beamii-home__nearby-card{
    grid-template-columns:1fr;
  }

  .beamii-home__nearby-media{
    min-height:0;
    aspect-ratio:16/10;
  }
}

/* =====================================================
   HOME + APP SHELL HOTFIXES (SAFE AREA / DOTS)
   Version: 2026-04-26
===================================================== */
.beamii-home__nearby-topline--distance-only{
  justify-content:flex-end;
}

.beamii-home__nearby-dots{
  pointer-events:auto;
}

.beamii-home__nearby-dotbtn{
  width:9px;
  height:9px;
  border:0;
  border-radius:999px;
  background:#dbe5ee;
  padding:0;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
  touch-action:manipulation;
}

.beamii-home__nearby-dotbtn.is-active{
  background:#1f4a70;
}

@media (max-width:760px){
  :root{
    --beamii-shell-topbar-bg:#2d5b80;
    --beamii-shell-bottomnav-bg:#1f527c;
  }

  .topbar::before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:0;
    height:var(--safe-top);
    transform:translateY(-100%);
    background:var(--beamii-shell-topbar-bg);
    pointer-events:none;
    z-index:0;
  }

  .bottom-nav::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:var(--safe-bottom);
    transform:translateY(100%);
    background:var(--beamii-shell-bottomnav-bg);
    pointer-events:none;
    z-index:0;
  }

  .topbar{
    background:
      linear-gradient(180deg, rgba(45,91,128,.98) 0%, rgba(45,91,128,.86) 68%, rgba(45,91,128,0) 100%) !important;
  }

  body.admin-bar .topbar::before{
    display:none;
  }

  .bottom-nav{
    background:var(--beamii-shell-bottomnav-bg) !important;
    pointer-events:auto;
    touch-action:manipulation;
  }
}

/* =====================================================
   HOME NEARBY REFINEMENT (SORTERING/LAYOUT/PAGINATION)
   Version: 2026-04-26
===================================================== */
.beamii-home__nearby-pill--distance,
.beamii-home__nearby-pill--counter{
  left:auto;
  right:14px;
  max-width:52%;
}

.beamii-home__nearby-pill--distance{
  background:rgba(243,247,251,.95);
  color:#284662;
}

.beamii-home__nearby-pill--counter{
  background:rgba(243,247,251,.95);
  color:#355575;
}

.beamii-home__nearby-title{
  line-height:1.2;
  word-break:normal;
  overflow-wrap:break-word;
  hyphens:none;
}

.beamii-home__nearby-text{
  word-break:normal;
  overflow-wrap:break-word;
  hyphens:none;
}

.beamii-home__nearby-category{
  margin-top:14px;
}

.beamii-home__nearby-category span{
  display:inline-flex;
  align-items:center;
  min-height:31px;
  padding:0 12px;
  border-radius:999px;
  background:#edf3f8;
  color:#3f5d77;
  font-size:12px;
  font-weight:850;
}

.beamii-home__nearby-location{
  display:flex;
  align-items:flex-start;
  gap:8px;
  margin-top:10px;
  color:#4c6882;
  font-size:13px;
  font-weight:700;
  line-height:1.45;
  word-break:normal;
  overflow-wrap:break-word;
}

.beamii-home__nearby-location i{
  margin-top:2px;
  color:#3a5f7e;
}

.beamii-home__nearby-location span{
  min-width:0;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.beamii-home__nearby-actions{
  margin-top:auto;
}

.beamii-home__nearby-action{
  white-space:nowrap;
  word-break:normal;
  overflow-wrap:normal;
}

.beamii-home__nearby-action--primary{
  min-width:120px;
}

.beamii-home__nearby-dots{
  margin-top:10px;
}

.beamii-home__nearby-dotbtn{
  width:10px;
  height:10px;
  border:0;
  border-radius:999px;
}

@media (min-width:760px){
  .beamii-home{
    max-width:min(1160px, calc(100vw - 32px));
  }

  .beamii-home__nearby-slider{
    grid-auto-columns:minmax(320px, calc((100% - 16px) / 2));
    gap:18px;
  }

  .beamii-home__nearby-card{
    grid-template-columns:minmax(0, 46%) minmax(0, 54%);
    min-height:282px;
  }

  .beamii-home__nearby-media{
    min-height:282px;
  }

  .beamii-home__nearby-copy{
    padding:22px 22px 20px;
  }

  .beamii-home__nearby-title{
    font-size:clamp(30px, 2.1vw, 36px);
  }

  .beamii-home__nearby-text{
    font-size:15px;
    -webkit-line-clamp:2;
  }
}

@media (min-width:1120px){
  .beamii-home__nearby-slider{
    grid-auto-columns:minmax(320px, calc((100% - 36px) / 3));
  }
}

@media (max-width:759px){
  .beamii-home__nearby-pill{
    max-width:calc(100% - 20px);
  }

  .beamii-home__nearby-pill:not(.beamii-home__nearby-pill--distance):not(.beamii-home__nearby-pill--counter){
    max-width:58%;
  }

  .beamii-home__nearby-pill--distance,
  .beamii-home__nearby-pill--counter{
    top:44px;
    right:10px;
    min-height:28px;
    padding:0 9px;
    border-radius:10px;
    font-size:10px;
    max-width:64%;
  }

  .beamii-home__nearby-category{
    margin-top:10px;
  }

  .beamii-home__nearby-category span{
    min-height:25px;
    padding:0 8px;
    font-size:10px;
  }

  .beamii-home__nearby-location{
    margin-top:8px;
    gap:6px;
    font-size:11px;
  }

  .beamii-home__nearby-action--primary{
    min-width:98px;
  }
}


/* =====================================================
   ROUTE DISTANCE + CURRENT PLACE BADGES
   Version: 2026-04-26
===================================================== */
.place-pill--current,
.beamii-places .place-pill--current,
.sheet .place-pill--current{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:24px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(20,160,110,.13);
  border:1px solid rgba(20,160,110,.22);
  color:#0f7a53;
  font-weight:950;
  letter-spacing:.01em;
  white-space:nowrap;
}

.place-pill--current i,
.beamii-places .place-pill--current i,
.sheet .place-pill--current i{
  color:#11a06b;
}

.mini-pill--current,
.beamii-places .mini-pill--onspot,
.sheet .mini-pill--onspot{
  background:rgba(20,160,110,.13);
  border:1px solid rgba(20,160,110,.22);
  color:#0f7a53;
  font-weight:950;
}

.badge .temp.is-current-place{
  padding:2px 9px;
  border-radius:999px;
  background:rgba(20,160,110,.13);
  border:1px solid rgba(20,160,110,.22);
  color:#0f7a53;
}

.badge .temp.is-current-place i{
  color:#11a06b;
}

.beamii-home__nearby-pill--current{
  background:rgba(20,160,110,.94);
  color:#fff;
  border:1px solid rgba(255,255,255,.34);
  box-shadow:0 10px 24px rgba(20,160,110,.24);
}

.beamii-home__nearby-pill--current i{
  color:#fff;
}

.beamii-home__nearby-card--active{
  border-color:rgba(20,160,110,.28);
  box-shadow:0 20px 48px rgba(20,160,110,.14);
}

.beamii-map-marker.is-active-place .beamii-map-marker__pin,
.beamii-map-marker.is-selected .beamii-map-marker__pin{
  box-shadow:0 14px 28px rgba(20,160,110,.20);
}

/* =====================================================
   HOME NEARBY LOADING STABILISERING
   Version: 2026-04-26
===================================================== */
.beamii-home__nearby-loading{
  position:relative;
  min-height:300px;
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  gap:14px;
  overflow:hidden;
  border-radius:28px;
  background:#fff;
  border:1px solid rgba(23,50,77,.08);
  box-shadow:0 18px 42px rgba(16,38,61,.10);
  padding:12px;
}

.beamii-home__nearby-skeleton-card{
  min-height:248px;
  display:grid;
  grid-template-columns:minmax(0, 1.05fr) minmax(0, .95fr);
  overflow:hidden;
  border-radius:22px;
  background:#f4f8fb;
}

.beamii-home__nearby-skeleton-media,
.beamii-home__nearby-skeleton-line{
  position:relative;
  overflow:hidden;
  background:#e8f0f7;
}

.beamii-home__nearby-skeleton-media::after,
.beamii-home__nearby-skeleton-line::after{
  content:"";
  position:absolute;
  inset:0;
  transform:translateX(-100%);
  background:linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.72), rgba(255,255,255,0));
  animation:beamiiNearbySkeleton 1.45s ease-in-out infinite;
}

.beamii-home__nearby-skeleton-copy{
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:28px 28px 24px;
  background:#fff;
}

.beamii-home__nearby-skeleton-line{
  display:block;
  width:100%;
  height:14px;
  border-radius:999px;
}

.beamii-home__nearby-skeleton-line--sm{
  width:34%;
  height:28px;
}

.beamii-home__nearby-skeleton-line--lg{
  width:82%;
  height:30px;
  margin-top:8px;
}

.beamii-home__nearby-skeleton-line--short{
  width:58%;
}

.beamii-home__nearby-loading-copy{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:54px;
  padding:0 4px 2px;
  color:#49667f;
}

.beamii-home__nearby-loading-copy strong,
.beamii-home__nearby-loading-copy span{
  display:block;
}

.beamii-home__nearby-loading-copy strong{
  color:#17324d;
  font-size:15px;
  line-height:1.2;
}

.beamii-home__nearby-loading-copy span{
  margin-top:3px;
  font-size:13px;
  line-height:1.35;
}

.beamii-home__nearby-loading-icon{
  flex:0 0 auto;
  width:38px;
  height:38px;
  display:grid !important;
  place-items:center;
  margin:0 !important;
  border-radius:14px;
  background:#eef5fb;
  color:#1f527c;
}

@keyframes beamiiNearbySkeleton{
  100%{ transform:translateX(100%); }
}

@media (min-width:760px){
  .beamii-home__nearby-loading{
    min-height:332px;
  }

  .beamii-home__nearby-skeleton-card{
    min-height:282px;
    grid-template-columns:minmax(0, 46%) minmax(0, 54%);
  }
}

@media (max-width:759px){
  .beamii-home__nearby-loading{
    min-height:336px;
    padding:10px;
    border-radius:24px;
  }

  .beamii-home__nearby-skeleton-card{
    min-height:270px;
    grid-template-columns:1fr;
  }

  .beamii-home__nearby-skeleton-media{
    min-height:142px;
  }

  .beamii-home__nearby-skeleton-copy{
    padding:18px 18px 16px;
    gap:10px;
  }

  .beamii-home__nearby-skeleton-line--lg{
    height:25px;
  }
}

@media (prefers-reduced-motion:reduce){
  .beamii-home__nearby-skeleton-media::after,
  .beamii-home__nearby-skeleton-line::after{
    animation:none;
    transform:none;
    opacity:.35;
  }
}

/* =====================================================
   PWA / APP-SHELL SAFE AREA HARDENING
   Version: 2026-04-26
   Ansvar:
   - Integrerer iOS/Android statusbar med BeaMii-topbar
   - Holder bottomnav nede over safe-area uden at skjule indhold
   - Bevarer eksisterende markup, routes og app-shell flow
===================================================== */
:root{
  --beamii-app-top-bg:#2d5b80;
  --beamii-app-top-bg-2:#1f4d74;
  --beamii-app-bottom-bg:#1f527c;
  --beamii-app-page-bg:#edf3f8;
  --beamii-app-content-bottom-space:calc(var(--bottom-nav-h, 70px) + var(--safe-bottom, env(safe-area-inset-bottom, 0px)) + 34px);
}

html{
  background:var(--beamii-app-top-bg) !important;
}

body{
  background:var(--beamii-app-page-bg) !important;
}

@media (display-mode:standalone), (display-mode:fullscreen){
  html,
  body{
    background:var(--beamii-app-top-bg) !important;
  }

  .app{
    min-height:100vh;
    min-height:100svh;
    min-height:100dvh;
    background:var(--beamii-app-page-bg);
  }
}

.topbar{
  isolation:isolate;
}

.topbar::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:calc(-1 * var(--safe-top, env(safe-area-inset-top, 0px)));
  height:calc(var(--safe-top, env(safe-area-inset-top, 0px)) + 1px);
  background:var(--beamii-app-top-bg);
  pointer-events:none;
  z-index:-1;
  transform:none;
}

body.admin-bar .topbar::before{
  display:none;
}

.topbar--view-home,
.topbar--view-default,
.topbar--view-account,
.topbar--view-map,
.topbar--view-places,
.topbar--place{
  background:
    linear-gradient(180deg,
      var(--beamii-app-top-bg) 0%,
      rgba(45,91,128,.98) calc(var(--safe-top, 0px) + 36px),
      rgba(45,91,128,.84) 76%,
      rgba(45,91,128,0) 100%) !important;
}

.searchbar{
  background:
    linear-gradient(180deg,
      rgba(45,91,128,.99) 0%,
      rgba(31,77,116,.98) 100%) !important;
}

.bottom-nav{
  background:var(--beamii-app-bottom-bg) !important;
  bottom:0 !important;
  padding-bottom:calc(6px + var(--safe-bottom, env(safe-area-inset-bottom, 0px))) !important;
  min-height:calc(var(--bottom-nav-h, 70px) + var(--safe-bottom, env(safe-area-inset-bottom, 0px))) !important;
  border-bottom:0 !important;
}

.bottom-nav::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:calc(-1 * var(--safe-bottom, env(safe-area-inset-bottom, 0px)));
  height:calc(var(--safe-bottom, env(safe-area-inset-bottom, 0px)) + 1px);
  background:var(--beamii-app-bottom-bg);
  pointer-events:none;
  z-index:-1;
  transform:none;
}

.beamii-home{
  padding-top:max(104px, calc(var(--safe-top, env(safe-area-inset-top, 0px)) + 82px));
  padding-bottom:var(--beamii-app-content-bottom-space);
  min-height:100vh;
  min-height:100svh;
  min-height:100dvh;
}

.beamii-layout-page .beamii-page,
.beamii-auth,
.places-page,
.beamii-places .beamii-places-page,
.beamii-legal{
  padding-bottom:max(var(--beamii-app-content-bottom-space), calc(112px + var(--safe-bottom, env(safe-area-inset-bottom, 0px))));
}

.beamii-home__sectionshell--nearest{
  contain:layout paint;
}

.beamii-home__nearby-slider{
  overscroll-behavior-x:contain;
}

@media (max-width:760px){
  .topbar{
    padding:
      var(--safe-top, env(safe-area-inset-top, 0px))
      var(--safe-right, env(safe-area-inset-right, 0px))
      8px
      var(--safe-left, env(safe-area-inset-left, 0px)) !important;
  }

  .searchbar{
    min-height:58px;
    border-radius:0 !important;
  }

  .bottom-nav{
    left:0 !important;
    right:0 !important;
    width:100% !important;
    max-width:none !important;
    transform:none !important;
    border-radius:0 !important;
    padding-left:max(8px, var(--safe-left, env(safe-area-inset-left, 0px))) !important;
    padding-right:max(8px, var(--safe-right, env(safe-area-inset-right, 0px))) !important;
  }

  .beamii-home{
    padding-left:max(14px, var(--safe-left, env(safe-area-inset-left, 0px)));
    padding-right:max(14px, var(--safe-right, env(safe-area-inset-right, 0px)));
  }
}

@media (min-width:761px){
  .bottom-nav{
    left:0 !important;
    right:0 !important;
    width:100% !important;
    max-width:none !important;
    transform:none !important;
    border-radius:0 !important;
  }
}

@supports not (height:100dvh){
  .app,
  .beamii-home{
    min-height:calc(var(--vh, 1vh) * 100);
  }
}

/* =====================================================
   BeaMii Home → Foreningsunivers CTA
   Scope: front-page only, no changes to places/contracts
===================================================== */
.beamii-home__section--associations{
  margin-bottom:20px;
}

.beamii-home__association-spotlight{
  position:relative;
  overflow:hidden;
  display:grid;
  gap:14px;
  padding:16px;
  border-radius:26px;
  background:
    radial-gradient(circle at 88% 8%, rgba(69,169,203,.26), transparent 32%),
    linear-gradient(135deg, rgba(255,255,255,.98) 0%, rgba(239,247,253,.96) 48%, rgba(226,240,250,.94) 100%);
  border:1px solid rgba(31,60,92,.10);
  box-shadow:0 18px 42px rgba(24,40,64,.10);
}

.beamii-home__association-spotlight::before{
  content:"";
  position:absolute;
  inset:auto -42px -64px auto;
  width:180px;
  height:180px;
  border-radius:999px;
  background:rgba(255,118,0,.10);
  pointer-events:none;
}

.beamii-home__association-copy,
.beamii-home__association-preview{
  position:relative;
  z-index:1;
}

.beamii-home__association-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 10px;
  margin-bottom:10px;
  border-radius:999px;
  background:rgba(31,60,92,.08);
  color:#1f3c5c;
  font-size:12px;
  font-weight:800;
}

.beamii-home__association-kicker i{
  color:#0f8fbd;
}

.beamii-home__association-title{
  margin:0 0 8px;
  color:#17324d;
  font-size:clamp(22px, 5vw, 31px);
  line-height:1.07;
  letter-spacing:-.03em;
}

.beamii-home__association-copy p{
  margin:0;
  max-width:44ch;
  color:#587085;
  font-size:14px;
  line-height:1.55;
}

.beamii-home__association-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}

.beamii-home__association-btn{
  min-height:44px;
}

.beamii-home__association-preview{
  min-width:0;
}

.beamii-home__association-cards{
  display:grid;
  gap:10px;
}

.beamii-home__association-card{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:88px minmax(0, 1fr);
  gap:10px;
  min-height:120px;
  padding:10px;
  border-radius:20px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(31,60,92,.08);
  box-shadow:0 12px 26px rgba(15,23,42,.08);
  color:#17324d;
  text-decoration:none;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.beamii-home__association-card:hover,
.beamii-home__association-card:focus-visible{
  transform:translateY(-1px);
  border-color:rgba(31,60,92,.16);
  box-shadow:0 16px 32px rgba(15,23,42,.12);
  outline:none;
}

.beamii-home__association-card-glow{
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(31,60,92,.04), transparent 54%);
  pointer-events:none;
}

.beamii-home__association-card-top{
  position:absolute;
  top:10px;
  left:10px;
  right:10px;
  z-index:3;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:8px;
  pointer-events:none;
}

.beamii-home__association-avatar{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:12px;
  overflow:hidden;
  background:#eaf4fb;
  color:#1f5f86;
  font-size:12px;
  font-weight:900;
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 8px 16px rgba(15,23,42,.14);
}

.beamii-home__association-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.beamii-home__association-card-badge{
  display:none;
  align-items:center;
  gap:6px;
  max-width:150px;
  padding:6px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.86);
  color:#204462;
  font-size:11px;
  font-weight:800;
  box-shadow:0 8px 14px rgba(15,23,42,.08);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.beamii-home__association-card-image{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:100px;
  height:100%;
  border-radius:16px;
  overflow:hidden;
  background:linear-gradient(135deg, #1f3c5c 0%, #0f8fbd 100%);
  color:#fff;
}

.beamii-home__association-card-image img{
  width:100%;
  height:100%;
  min-height:100px;
  object-fit:cover;
  display:block;
}

.beamii-home__association-card-image--placeholder{
  font-size:24px;
}

.beamii-home__association-card-body{
  position:relative;
  z-index:2;
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:6px;
  padding:4px 0;
}

.beamii-home__association-card-body strong{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  color:#122a42;
  font-size:15px;
  line-height:1.16;
  font-weight:900;
}

.beamii-home__association-card-text{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  color:#60768a;
  font-size:12px;
  line-height:1.45;
}

.beamii-home__association-card-meta{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:auto;
  color:#49657c;
  font-size:11px;
  font-weight:800;
}

.beamii-home__association-card-meta > span{
  display:inline-flex;
  align-items:center;
  gap:5px;
  max-width:100%;
}

.beamii-home__association-card-meta i{
  color:#0f8fbd;
}

.beamii-home__association-card-cta{
  color:#0f6c96 !important;
}

.beamii-home__association-foot,
.beamii-home__association-empty-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}

.beamii-home__association-foot a,
.beamii-home__association-empty-actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:9px 11px;
  border-radius:999px;
  background:rgba(255,255,255,.88);
  color:#17324d;
  border:1px solid rgba(31,60,92,.08);
  text-decoration:none;
  font-size:12px;
  font-weight:800;
}

.beamii-home__association-loading,
.beamii-home__association-empty{
  display:grid;
  gap:8px;
  align-content:center;
  min-height:164px;
  padding:16px;
  border-radius:20px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(31,60,92,.08);
  color:#587085;
  font-size:13px;
  line-height:1.45;
}

.beamii-home__association-empty strong{
  color:#17324d;
  font-size:16px;
}

.beamii-home__association-loading-icon,
.beamii-home__association-empty-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:15px;
  background:#eaf4fb;
  color:#0f8fbd;
  font-size:18px;
}

.beamii-home__quickcard--associations .beamii-home__quickcard-icon{
  background:rgba(15,143,189,.12);
  color:#0f6c96;
}

.beamii-home__quickcard--association-map .beamii-home__quickcard-icon{
  background:rgba(35,116,69,.12);
  color:#237445;
}

@media (min-width:760px){
  .beamii-home__association-spotlight{
    grid-template-columns:minmax(0, .94fr) minmax(0, 1.06fr);
    align-items:center;
    padding:20px;
  }

  .beamii-home__association-cards{
    grid-template-columns:1fr;
  }

  .beamii-home__quickgrid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
}

@media (min-width:1040px){
  .beamii-home__association-cards{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }

  .beamii-home__association-card{
    grid-template-columns:1fr;
  }

  .beamii-home__association-card-image{
    aspect-ratio:16/10;
  }

  .beamii-home__association-card-badge{
    display:inline-flex;
  }
}

@media (max-width:480px){
  .beamii-home__association-spotlight{
    margin-left:-2px;
    margin-right:-2px;
    padding:14px;
    border-radius:22px;
  }

  .beamii-home__association-actions,
  .beamii-home__association-foot,
  .beamii-home__association-empty-actions{
    flex-direction:column;
  }

  .beamii-home__association-btn,
  .beamii-home__association-foot a,
  .beamii-home__association-empty-actions a{
    width:100%;
  }

  .beamii-home__association-card{
    grid-template-columns:82px minmax(0, 1fr);
  }
}

/* =====================================================
   HOME ASSOCIATIONS RAIL REFINEMENT
   Version: 2026-04-27
   Scope: Forsiden, foreningspreview som horisontal rail
===================================================== */
.beamii-home__sectionshell--associations{
  overflow:visible;
}

.beamii-home__sectionshell--associations #beamiiHomeAssociationsWrap{
  min-width:0;
}

.beamii-home__association-slider{
  grid-auto-columns:minmax(300px, min(100%, 900px));
}

.beamii-home__nearby-card--association .beamii-home__nearby-pill--association{
  background:rgba(255,255,255,.94);
  color:#1f527c;
}

.beamii-home__nearby-card--association .beamii-home__nearby-pill--association i{
  color:#0f8fbd;
}

.beamii-home__nearby-media--association{
  background:linear-gradient(135deg, #1f3c5c 0%, #0f8fbd 100%);
}

.beamii-home__nearby-placeholder--association{
  display:grid;
  place-items:center;
  color:#fff;
  background:
    radial-gradient(circle at 25% 20%, rgba(255,255,255,.24), transparent 38%),
    linear-gradient(135deg, #1f3c5c 0%, #0f8fbd 100%);
}

.beamii-home__nearby-placeholder--association span{
  display:grid;
  place-items:center;
  width:62px;
  height:62px;
  border-radius:22px;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.34);
  color:#fff;
  font-size:22px;
  font-weight:950;
  box-shadow:0 14px 28px rgba(4,24,42,.18);
}

.beamii-home__section--associations .beamii-home__nearby-action--primary{
  background:#0f8fbd;
}

.beamii-home__section--associations .beamii-home__nearby-category span{
  background:#eaf5fb;
  color:#1f527c;
}

.beamii-home__section--associations .beamii-home__association-foot{
  padding:0 4px 2px;
}

.beamii-home__nearby-loading.beamii-home__association-loading{
  display:grid;
  min-height:300px;
  padding:12px;
  border-radius:28px;
  background:#fff;
  border:1px solid rgba(23,50,77,.08);
  box-shadow:0 18px 42px rgba(16,38,61,.10);
}

@media (min-width:760px){
  .beamii-home__association-slider{
    grid-auto-columns:minmax(320px, calc((100% - 16px) / 2));
  }
}

@media (min-width:1120px){
  .beamii-home__association-slider{
    grid-auto-columns:minmax(320px, calc((100% - 36px) / 3));
  }
}

@media (max-width:759px){
  .beamii-home__association-slider{
    grid-auto-columns:minmax(310px, 100%);
  }

  .beamii-home__nearby-loading.beamii-home__association-loading{
    min-height:336px;
    padding:10px;
    border-radius:24px;
  }
}
