/* ExplorePanda v609: the authoritative full-screen frame for service child pages. */
body.module-standalone-open {
  --independent-safe-top: env(safe-area-inset-top, 0px);
  --independent-safe-bottom: env(safe-area-inset-bottom, 0px);
  --independent-bar-height: 56px;
  width: 100%;
  min-height: 100vh;
  min-height: 100dvh;
  padding: 0 !important;
  overflow: hidden !important;
  background: #fff !important;
  overscroll-behavior: none;
}

/* A standalone service must never shrink the body itself; only the phone shell is capped. */
body.module-standalone-open[data-ride-standalone="true"] {
  max-width: none !important;
  margin: 0 !important;
}

body.module-standalone-open[data-ride-standalone="true"] .phone-shell,
body.module-standalone-open[data-ride-standalone="true"] main {
  margin-inline: auto !important;
}

body.module-standalone-open .app-header,
body.module-standalone-open .bottom-nav {
  display: none !important;
}

body.module-standalone-open .phone-shell,
body.module-standalone-open main {
  display: block !important;
  width: 100% !important;
  max-width: 460px !important;
  height: 100vh !important;
  height: 100dvh !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  margin: 0 auto !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}

body.module-standalone-open main > .service-module-standalone-active {
  display: block !important;
  position: relative;
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100% !important;
  height: 100vh !important;
  height: 100dvh !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  max-height: 100vh !important;
  max-height: 100dvh !important;
  margin: 0 !important;
  padding: 0 16px calc(24px + var(--independent-safe-bottom)) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
  scrollbar-width: none;
  overscroll-behavior-y: contain;
  -webkit-overflow-scrolling: touch;
}

body.module-standalone-open[data-active-page] main > section.service-module.service-module-standalone-active:not(#independent-page-specificity) {
  display: block !important;
}

body.module-standalone-open main > .service-module-standalone-active::-webkit-scrollbar {
  display: none;
}

body.module-standalone-open .service-module-standalone-active > .section-title {
  display: none !important;
}

body.module-standalone-open :is(.module-back-bar, .ride-topbar) {
  position: sticky !important;
  top: 0 !important;
  z-index: 80 !important;
  display: grid !important;
  grid-template-columns: 64px minmax(0, 1fr) 64px !important;
  align-items: end !important;
  box-sizing: border-box !important;
  width: auto !important;
  height: calc(var(--independent-safe-top) + var(--independent-bar-height)) !important;
  min-height: calc(var(--independent-safe-top) + var(--independent-bar-height)) !important;
  max-height: calc(var(--independent-safe-top) + var(--independent-bar-height)) !important;
  margin: 0 -16px 16px !important;
  padding: var(--independent-safe-top) 0 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(21, 33, 47, 0.08) !important;
  border-radius: 0 !important;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: none !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

body.module-standalone-open :is(.module-back-bar, .ride-topbar) > button:first-child {
  display: grid !important;
  place-items: center !important;
  align-self: end !important;
  width: 48px !important;
  height: var(--independent-bar-height) !important;
  margin: 0 0 0 8px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #15212f !important;
  box-shadow: none !important;
}

body.module-standalone-open :is(.module-back-bar, .ride-topbar) > button:first-child svg {
  width: 25px !important;
  height: 25px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

body.module-standalone-open :is(.module-back-bar, .ride-topbar) > button:first-child::before {
  content: none !important;
  display: none !important;
}

body.module-standalone-open :is(.module-back-bar, .ride-topbar) > strong,
body.module-standalone-open .ride-topbar > div {
  display: grid !important;
  place-items: center !important;
  align-self: end !important;
  min-width: 0 !important;
  height: var(--independent-bar-height) !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
}

body.module-standalone-open .module-back-bar > strong,
body.module-standalone-open .ride-topbar > div > strong {
  display: block !important;
  max-width: 100% !important;
  overflow: hidden !important;
  color: #15212f !important;
  font-size: 17px !important;
  font-weight: 760 !important;
  line-height: var(--independent-bar-height) !important;
  letter-spacing: -0.01em !important;
  text-align: center !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.module-standalone-open .module-back-actions,
body.module-standalone-open :is(.module-back-bar, .ride-topbar) > i,
body.module-standalone-open .ride-topbar > :last-child:not(div):not(button:first-child) {
  display: grid !important;
  place-items: center !important;
  align-self: end !important;
  min-width: 0 !important;
  height: var(--independent-bar-height) !important;
  margin: 0 !important;
  padding: 0 8px 0 0 !important;
}

body.module-standalone-open .module-back-actions > button,
body.module-standalone-open .ride-topbar > button:not(:first-child) {
  display: grid !important;
  place-items: center !important;
  width: 48px !important;
  min-width: 48px !important;
  max-width: 48px !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 0 4px !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #278b75 !important;
  font-size: 12px !important;
  font-weight: 760 !important;
  line-height: 1.1 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  box-shadow: none !important;
}

body.module-standalone-open .ride-topbar small {
  display: none !important;
}

body.module-standalone-open .ride-topbar .local-material-icon {
  font-size: 19px !important;
  line-height: 1 !important;
}

body.module-standalone-open #rideService.service-module-standalone-active {
  padding-inline: 16px !important;
}

body.module-standalone-open #rideService .ride-service-panel {
  min-height: 100% !important;
  background: #fff !important;
}

body.module-standalone-open #rideService .ride-topbar {
  margin-bottom: 0 !important;
}

body.module-standalone-open .traveler-toolkit .toolkit-tabs {
  margin-top: 0 !important;
}

body.module-standalone-open :is(.hotel-page-shell, .ticket-page-shell) {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}

/* Hotel and ticket secondary/tertiary pages replace the parent bar, never stack under it. */
body.module-standalone-open:has(.hotel-subpage:not(.hidden), .ticket-subpage:not(.hidden)) > .phone-shell main > .service-module-standalone-active > .module-back-bar {
  display: none !important;
}

body.module-standalone-open :is(.hotel-subpage, .ticket-subpage):not(.hidden) {
  display: block !important;
  width: 100% !important;
  min-height: 100% !important;
  margin: 0 !important;
  padding: 0 0 24px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
}

body.module-standalone-open :is(.hotel-subpage-head, .ticket-subpage-head) {
  position: sticky !important;
  top: 0 !important;
  z-index: 80 !important;
  display: grid !important;
  grid-template-columns: 64px minmax(0, 1fr) 64px !important;
  align-items: center !important;
  width: auto !important;
  height: calc(var(--independent-safe-top) + var(--independent-bar-height)) !important;
  min-height: calc(var(--independent-safe-top) + var(--independent-bar-height)) !important;
  max-height: calc(var(--independent-safe-top) + var(--independent-bar-height)) !important;
  margin: 0 -16px 16px !important;
  padding: var(--independent-safe-top) 0 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(21, 33, 47, 0.08) !important;
  border-radius: 0 !important;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: none !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

body.module-standalone-open :is(.hotel-subpage-head, .ticket-subpage-head) > button {
  display: grid !important;
  place-items: center !important;
  width: 48px !important;
  height: var(--independent-bar-height) !important;
  margin: 0 0 0 8px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #15212f !important;
  box-shadow: none !important;
}

body.module-standalone-open :is(.hotel-subpage-head, .ticket-subpage-head) > button::before {
  content: none !important;
  display: none !important;
}

body.module-standalone-open :is(.hotel-subpage-head, .ticket-subpage-head) > button svg {
  width: 25px !important;
  height: 25px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

body.module-standalone-open :is(.hotel-subpage-head, .ticket-subpage-head) > strong {
  min-width: 0 !important;
  overflow: hidden !important;
  color: #15212f !important;
  font-size: 17px !important;
  font-weight: 760 !important;
  line-height: var(--independent-bar-height) !important;
  text-align: center !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* Home recommendations, including food, are full-screen child pages too. */
body[data-featured-standalone="true"] {
  --independent-safe-top: env(safe-area-inset-top, 0px);
  --independent-safe-bottom: env(safe-area-inset-bottom, 0px);
  --independent-bar-height: 56px;
  padding: 0 !important;
  overflow: hidden !important;
  background: #fff !important;
}

body[data-featured-standalone="true"] :is(.app-header, .bottom-nav) {
  display: none !important;
}

body[data-featured-standalone="true"] :is(.phone-shell, main) {
  display: block !important;
  width: 100% !important;
  max-width: 460px !important;
  height: 100vh !important;
  height: 100dvh !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  margin: 0 auto !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #fff !important;
}

body[data-featured-standalone="true"] #homeFeaturedDetail {
  display: block !important;
  width: 100% !important;
  height: 100vh !important;
  height: 100dvh !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  margin: 0 !important;
  padding: 0 16px calc(24px + var(--independent-safe-bottom)) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}

body[data-featured-standalone="true"] .featured-page-shell {
  display: block !important;
  padding: 0 !important;
}

body[data-featured-standalone="true"] .featured-page-head {
  position: sticky !important;
  top: 0 !important;
  z-index: 80 !important;
  display: grid !important;
  grid-template-columns: 64px minmax(0, 1fr) 64px !important;
  align-items: center !important;
  width: auto !important;
  height: calc(var(--independent-safe-top) + var(--independent-bar-height)) !important;
  min-height: calc(var(--independent-safe-top) + var(--independent-bar-height)) !important;
  margin: 0 -16px 16px !important;
  padding: var(--independent-safe-top) 0 0 !important;
  border-bottom: 1px solid rgba(21, 33, 47, 0.08) !important;
  background: rgba(255, 255, 255, 0.96) !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

body[data-featured-standalone="true"] .featured-page-head h2 {
  min-width: 0 !important;
  overflow: hidden !important;
  font-size: 17px !important;
  font-weight: 760 !important;
  line-height: var(--independent-bar-height) !important;
  text-align: center !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body[data-featured-standalone="true"] .featured-page-close {
  display: grid !important;
  place-items: center !important;
  width: 48px !important;
  height: var(--independent-bar-height) !important;
  margin: 0 0 0 8px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #15212f !important;
  box-shadow: none !important;
}

body[data-featured-standalone="true"] .featured-page-close::before {
  content: none !important;
  display: none !important;
}

body[data-featured-standalone="true"] .featured-page-close svg {
  width: 25px !important;
  height: 25px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

body[data-featured-standalone="true"] .featured-page-context {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 14px;
  color: rgba(21, 33, 47, 0.58);
  font-size: 12px;
}

body[data-featured-standalone="true"] .featured-page-context span {
  color: #278b75;
  font-weight: 800;
}

body[data-featured-standalone="true"] .featured-page-context p {
  margin: 0;
}

/* Every nested account page uses the same full-screen child-page frame. */
body[data-account-subpage="true"][data-active-page="profile"] {
  --independent-safe-top: env(safe-area-inset-top, 0px);
  --independent-safe-bottom: env(safe-area-inset-bottom, 0px);
  --independent-bar-height: 56px;
  overflow: hidden !important;
  background: #fff !important;
}

body[data-account-subpage="true"][data-active-page="profile"] :is(.app-header, .bottom-nav) {
  display: none !important;
}

body[data-account-subpage="true"][data-active-page="profile"] :is(.phone-shell, main) {
  width: 100% !important;
  max-width: 460px !important;
  height: 100vh !important;
  height: 100dvh !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  margin: 0 auto !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #fff !important;
}

body[data-account-subpage="true"][data-active-page="profile"] #meDashboard {
  display: block !important;
  width: 100% !important;
  height: 100vh !important;
  height: 100dvh !important;
  margin: 0 !important;
  padding: 0 16px calc(24px + var(--independent-safe-bottom)) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  background: #fff !important;
}

body[data-account-subpage="true"][data-active-page="profile"] .account-subpage-head {
  position: sticky !important;
  top: 0 !important;
  z-index: 80 !important;
  grid-template-columns: 64px minmax(0, 1fr) 64px !important;
  width: auto !important;
  height: calc(var(--independent-safe-top) + var(--independent-bar-height)) !important;
  min-height: calc(var(--independent-safe-top) + var(--independent-bar-height)) !important;
  margin: 0 -16px 16px !important;
  padding: var(--independent-safe-top) 0 0 !important;
  border-bottom: 1px solid rgba(21, 33, 47, 0.08) !important;
  background: rgba(255, 255, 255, 0.96) !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

body[data-account-subpage="true"][data-active-page="profile"] .account-subpage-head button {
  width: 48px !important;
  height: var(--independent-bar-height) !important;
  margin: 0 0 0 8px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body[data-account-subpage="true"][data-active-page="profile"] .account-subpage-head button::before {
  content: none !important;
  display: none !important;
}

body[data-account-subpage="true"][data-active-page="profile"] .account-subpage-head button svg {
  width: 25px !important;
  height: 25px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

body[data-account-subpage="true"][data-active-page="profile"] .account-subpage-head strong {
  overflow: hidden !important;
  font-size: 17px !important;
  line-height: var(--independent-bar-height) !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body[data-account-subpage="true"][data-active-page="profile"] .account-subpage-head span {
  display: none !important;
}

@media (min-width: 700px) {
  body.module-standalone-open {
    padding: 24px 0 !important;
    background: #eef3f1 !important;
  }

  body.module-standalone-open .phone-shell,
  body.module-standalone-open main,
  body.module-standalone-open main > .service-module-standalone-active {
    height: calc(100dvh - 48px) !important;
    min-height: calc(100dvh - 48px) !important;
    max-height: calc(100dvh - 48px) !important;
    border-radius: 24px !important;
  }
}
