/* Existing shared BackToTop control; owner theme CSS remains unchanged. */
/* Match the shared consent layer above the owner's search/menu panels. */
.ck-bar{z-index:2000}.u-17b08d:has(#ck-title){z-index:2001}
/* Keep the new bilingual hero heading balanced at narrow widths. */
#top h1.u-6007db{text-wrap:balance}
#top .home-heading-part{white-space:nowrap}
/* One line icon per published transport leg, in journey order. */
.home-route-icons{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px;width:72px;flex:none}.home-route-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e8f5fa}.home-route-icon img{display:block;width:24px;height:24px}.home-route-icons:has(>.home-route-icon:only-child){width:48px}.home-route-icon:only-child{width:48px;height:48px}
.jolly-back-top{position:fixed;right:20px;bottom:24px;z-index:35;display:grid;place-items:center;width:48px;height:48px;min-height:48px;padding:0;border:1px solid #d4e8f1;border-radius:12px;background:#fff;color:#087eae;cursor:pointer}.jolly-back-top[hidden]{display:none}.jolly-back-top:hover{background:#e8f6fc}.jolly-back-top:focus-visible{outline:2px solid #27aae1;outline-offset:3px}@media(max-width:768px){.jolly-back-top{right:16px;bottom:calc(88px + env(safe-area-inset-bottom))}}body:has(.ck-bar) .jolly-back-top{bottom:140px}@media(max-width:768px){body:has(.ck-bar) .jolly-back-top{bottom:280px}}body:has([aria-modal=true]) .jolly-back-top{visibility:hidden}@keyframes home-loading{from{opacity:.45}to{opacity:1}}@media(prefers-reduced-motion:reduce){[data-home-skeleton]{animation:none!important}}

/* Existing central login panel, with the same origin/message guards as the shared header. */
.jolly-login{position:fixed;inset:76px 24px auto auto;margin:0;width:440px;max-width:calc(100vw - 32px);height:min(740px,calc(100dvh - 100px));max-height:calc(100dvh - 100px);padding:0;border:1px solid #e1e8ed;border-radius:20px;background:#fff;color:#12212e;font-family:inherit;box-shadow:0 20px 60px #082e4933;overflow:hidden}.jolly-login::backdrop{background:rgb(8 30 48 / .24);backdrop-filter:blur(4px)}.jolly-login-bar{height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 12px 0 24px;color:#5f6b76;font-size:13px}.jolly-login-bar button{width:44px;height:44px;border:0;background:transparent;color:#12212e;font:inherit;font-size:28px;cursor:pointer;border-radius:50%}.jolly-login iframe{display:block;width:100%;height:calc(100% - 56px);border:0;background:white}@media(max-width:760px){.jolly-login{inset:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border:0;border-radius:0}.jolly-login::backdrop{background:rgb(8 30 48 / .4);backdrop-filter:blur(8px)}}

/* Account navigation in the home header. */
.home-account {
  position: relative;
  flex-shrink: 1;
  min-width: 0;
}

.home-account-trigger {
  display: flex;
  align-items: center;
  gap: 8px;
  max-width: min(240px, 36vw);
  min-height: 44px;
  padding: 0 14px;
  border: 0;
  border-radius: 999px;
  background: rgb(255 255 255 / 50%);
  color: #12212e;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}

.home-account-trigger span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-account-trigger svg { flex: none; }
.home-account-trigger[aria-expanded="true"] svg { transform: rotate(180deg); }
.home-account-trigger:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }

.home-account[data-open="true"]::after {
  content: "";
  position: absolute;
  left: 50%;
  top: calc(100% + 4px);
  border: 8px solid transparent;
  border-bottom-color: #fff;
  border-top: 0;
  transform: translateX(-50%);
  pointer-events: none;
}

.home-account-panel {
  position: absolute;
  z-index: 2;
  top: calc(100% + 12px);
  right: 0;
  width: max-content;
  min-width: max(100%, 200px);
  padding: 8px;
  box-sizing: border-box;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 10px 30px rgb(18 33 46 / 18%);
}

.home-account-panel[hidden] { display: none; }
.home-account-name {
  display: block;
  max-width: 240px;
  padding: 8px 12px;
  color: #4c5a66;
  font-size: 13px;
  overflow-wrap: anywhere;
}

.home-account-panel a {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 0 12px;
  border-radius: 10px;
  color: #12212e;
  text-decoration: none;
}

.home-account-panel a:hover,
.home-account-panel a:focus-visible { background: #edf7fc; }

@media (max-width: 760px) {
  .jt-hd > .u-414b03:has(.home-account) { min-width: 0; }
  .jt-hd > .u-414b03:has(.home-account) > :not(.home-account) { flex-shrink: 0; }
  .jt-hd:has(.home-account) .u-63e819 { padding-inline: 6px; }
  .home-account { min-width: 44px; }
  .home-account-trigger { width: 100%; padding-inline: 8px; gap: 4px; }
  .home-account-panel { width: 220px; }
}

@media (max-width: 360px) {
  .jt-hd:has(.home-account) .u-63e819 > svg:last-child { display: none; }
  .home-account-panel { width: 200px; }
}

.jt-trip > button[role="radio"] > svg { display: none; }
.jt-trip > button[role="radio"]::before {
  content: "";
  flex: none;
  width: 16px;
  height: 16px;
  box-sizing: border-box;
  background: center / contain no-repeat var(--trip-icon);
}

.jt-trip > button:nth-of-type(1) {
  --trip-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%235c7282' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10h14m-4-4 4 4-4 4'/%3E%3C/svg%3E");
}
.jt-trip > button:nth-of-type(2) {
  --trip-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%235c7282' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h14l-3-3m3 11H3l3 3'/%3E%3C/svg%3E");
}
.jt-trip > button:nth-of-type(3) {
  --trip-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%235c7282' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h14l-2-2m2 8H3l2 2m-2 4h14l-2-2'/%3E%3C/svg%3E");
}

.jt-trip > button[aria-checked="true"]::before {
  border: 2px solid #147eaa;
  border-radius: 50%;
  background: #147eaa;
  box-shadow: inset 0 0 0 2px #fff;
}

@media (761px <= width <= 1024px) {
  .jt-hd { position: relative; flex-wrap: nowrap !important; }
  .jt-hd > .jt-navrow { display: none !important; }
  .jt-hd .jt-burger { display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; }
  .jt-hd .jt-mmenu {
    display: flex;
    flex-direction: column;
    position: absolute;
    inset: calc(100% + 8px) 0 auto auto;
    width: min(340px, 100%);
    max-height: 70dvh;
    overflow: auto;
    z-index: 60;
    background: white;
    border-radius: 20px;
    padding: 6px 14px 12px;
    box-shadow: 0 24px 60px #12212e33;
  }
}

/* Match the home grids and card shapes while their data loads. */
.home-placeholder {
  display: block;
  min-width: 0;
  border-radius: 8px;
  background: #e3e8ed;
  animation: home-loading 1.5s ease-in-out infinite alternate;
}

.home-placeholder-lines {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 9px;
}

.home-placeholder--short { width: 42%; height: 12px; }
.home-placeholder--title { width: 72%; height: 18px; }
.home-placeholder--body { width: 94%; height: 12px; }
.home-placeholder--pill { width: 88px; max-width: 100%; height: 40px; border-radius: 999px; }
.home-placeholder--tag { width: 74px; height: 28px; border-radius: 999px; }
.home-placeholder--rating { width: 94px; height: 18px; }
.home-placeholder--avatar { width: 44px; height: 44px; flex: none; border-radius: 50%; }
.home-placeholder--package { height: 230px; border-radius: 24px; }
.home-placeholder--article { aspect-ratio: 16 / 10; border-radius: 22px; }
.u-5fb7db.home-placeholder { border-radius: 22px; }
.u-8b8e2b.home-placeholder { border-radius: 24px; }
.home-placeholder-article { padding-block: 14px; }
.home-placeholder-caption { position: absolute; inset: auto 20px 20px; }
.home-placeholder-caption .home-placeholder { background: #c6cfd8; }
.home-placeholder-footer { min-height: 44px; }
.home-placeholder-person { display: flex; align-items: center; gap: 12px; }
.home-placeholder-person .home-placeholder-lines { flex: 1; }
.home-placeholder-person .home-placeholder--avatar { background: #d6dde5; }

.home-first-hero {
  background: linear-gradient(to bottom, transparent, #f1f7fa 60%), url("/owner-theme/assets/img/hero-sea.jpg") center top / cover no-repeat, #f1f7fa;
}

.home-first-paint h1 { margin: 0; color: white; font-size: clamp(34px, 5vw, 60px); line-height: 1.15; text-wrap: balance; }
.home-first-hero .u-edf5de p { margin: 0; color: #12212e; font-size: clamp(16px, 1.6vw, 19px); }
.home-loading-status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.home-placeholder-tabs { display: flex; justify-content: center; gap: 8px; }
.home-placeholder-search {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(0, 162px);
  width: 100%;
  align-items: center;
  gap: 18px;
  padding: 16px 20px;
  border-radius: 40px;
  background: white;
  box-sizing: border-box;
}

.home-placeholder-search .home-placeholder-lines { padding: 8px 0; }
.home-placeholder--search-button { height: 54px; border-radius: 999px; }
.home-first-paint [data-home-skeleton="popular-places"] { grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); }

@media (max-width: 900px) {
  .home-placeholder-search {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    padding: 12px 18px;
    border-radius: 0 0 22px 22px;
  }

  .home-placeholder-search .home-placeholder-lines { border-bottom: 1px solid #edf1f3; }
  .home-placeholder-tabs .home-placeholder--pill { flex: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .home-placeholder { animation: none; }
}

/* Restore the owner’s existing mobile footer rules after its unlayered desktop rule. */
@media(max-width:1000px){.jt-foot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.jt-foot-grid>div:first-child{grid-column:1/-1}}
@media(max-width:620px){.jt-foot-grid{grid-template-columns:1fr 1fr}.jt-foot-grid>div:last-child{grid-column:1/-1}}
@media(max-width:768px){.jt-foot nav[aria-label]{gap:0}.jt-foot nav[aria-label]>.jt-foot-link{display:flex!important;align-items:center;min-height:44px!important;margin-top:0!important;margin-bottom:0!important}}
