.tp-notification-link { position: relative; }
.tp-notification-link b, .tp-drawer-badge, .tp9-nav-icon b { position: absolute; display: grid; min-width: 19px; height: 19px; place-items: center; padding: 0 5px; border: 2px solid var(--tp-surface); border-radius: 999px; color: #fff; background: var(--tp-coral-500); font: 700 11px/1 var(--tp-font-ui); }
.tp-notification-link b { inset: -3px -5px auto auto; }
.tp-drawer-badge { position: static; justify-self: end; }
.tp-appbar__brand { display: block; align-self: center; }
.tp-appbar__brand .logo-img { display: block; width: 116px; height: 48px; object-fit: contain; }

.tp-stage9 { background: #fff; }
.tp-stage9 .tp-content { padding-top: 0; background: #fff; }
.tp-stage9 .tp-content > #main { max-width: 860px; margin-inline: auto; }
.tp-stage9-screen .tp-flash { position: relative; z-index: 3; }
.tp-stage9-screen .tp-flash .flashmessage { max-width: 820px; margin-inline: auto; }
.tp9-saved { display: flow-root; float: none!important; width: 100%!important; margin: 0!important; padding: 12px 0 0!important; background: transparent!important; }
.tp9-page-heading { position: static!important; inset: auto!important; z-index: auto!important; float: none!important; clear: both; width: auto!important; height: auto!important; margin: 44px 0 28px; padding: 0!important; border: 0!important; background: transparent!important; box-shadow: none!important; }
.tp9-page-heading--actions { display: flex!important; align-items: flex-end; justify-content: space-between; gap: 22px; }
.tp9-page-heading h1 { margin: 0; color: var(--tp-navy-950); font-family: var(--tp-font-display); font-size: clamp(42px, 7vw, 68px); line-height: 1.06; letter-spacing: -.045em; }
.tp9-saved .tp9-page-heading h1 { margin-top: 8px; }
.tp9-page-heading p { margin: 15px 0 0; color: #405783; font-size: 20px; }
.tp9-text-action { min-height: 44px; padding: 0; border: 0; color: #0755e8; background: transparent; cursor: pointer; font: 500 20px/1 var(--tp-font-ui); white-space: nowrap; }
.tp9-notification-actions { display: flex; align-items: center; justify-content: flex-end; gap: 16px; }
.tp9-notification-actions form { margin: 0; }
.tp9-text-action--danger { color: #b42318; }
.tp9-undo { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: -10px 0 22px; padding: 13px 16px; border-radius: 12px; color: #fff; background: var(--tp-navy-950); box-shadow: var(--tp-shadow-sm); }
.tp9-undo form { margin: 0; }
.tp9-undo button { border: 0; color: #ffd84d; background: transparent; cursor: pointer; font-weight: 800; }
.tp9-destination-filter { position: relative; display: grid; min-height: 76px; grid-template-columns: 34px minmax(0,1fr) 20px; align-items: center; gap: 10px; padding: 0 24px; border: 1px solid #cfd7e5; border-radius: 16px; color: #0755e8; background: #fff; }
.tp9-destination-filter select { width: 100%; height: 74px; align-self: center; margin: 0!important; padding: 0; border: 0; outline: 0; color: #142652; background: transparent; appearance: none; font: 500 21px/1 var(--tp-font-ui); cursor: pointer; }
.tp9-destination-filter > i { align-self: center; justify-self: center; line-height: 1; }
.tp9-destination-filter > i:last-child { pointer-events: none; }
.tp9-saved-hint { margin: 22px 2px 12px; color: #52678f; font-size: 17px; }
.tp9-saved-tabs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin: 0 0 22px; padding: 6px; border: 1px solid #d9e0ec; border-radius: 16px; background: #f5f7fb; }
.tp9-saved-tabs a { display: flex; min-height: 54px; align-items: center; justify-content: center; gap: 10px; padding: 0 18px; border-radius: 11px; color: #405783; font-size: 17px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.tp9-saved-tabs a.is-active { color: #fff; background: linear-gradient(105deg,#0863ff,#0750d9); box-shadow: 0 6px 16px rgba(7,84,230,.18); }
.tp9-saved-tabs b { display: grid; min-width: 25px; height: 25px; place-items: center; padding: 0 7px; border-radius: 999px; color: #0755e8; background: #fff; font-size: 12px; }
.tp9-saved-tabs a:not(.is-active) b { color: #405783; background: #e5eaf3; }
.tp9-experience-list { display: grid; gap: 18px; }
.tp9-experience-card { position: relative; display: grid; grid-template-columns: 245px minmax(0,1fr) auto; grid-template-rows: 1fr auto; gap: 18px 24px; padding: 20px; border: 1px solid #d9e0ec; border-radius: 18px; background: #fff; box-shadow: 0 8px 24px rgba(7,26,77,.06); }
.tp9-experience-card__image { grid-row: 1 / 3; display: block; min-height: 190px; overflow: hidden; border-radius: 14px; background: #e8edf5; }
.tp9-experience-card__image img { display: block; width: 100%; height: 100%; min-height: 190px; object-fit: cover; }
.tp9-experience-card__body { min-width: 0; padding: 8px 0; }
.tp9-experience-card__body p { margin: 0 0 8px; color: #0755e8; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.tp9-experience-card__body h2 { margin: 0; font-family: var(--tp-font-display); font-size: 25px; line-height: 1.28; }
.tp9-experience-card__body h2 a { color: var(--tp-navy-950); text-decoration: none; }
.tp9-experience-card__body small { display: block; margin-top: 8px; color: #52678f; font-size: 15px; }
.tp9-experience-card__body > strong { display: block; margin-top: 18px; color: var(--tp-navy-950); font-size: 22px; }
.tp9-experience-remove { grid-column: 3; grid-row: 1; margin: 0; }
.tp9-experience-remove button { display: grid; width: 46px; height: 46px; place-items: center; padding: 0; border: 1px solid #d9e0ec; border-radius: 50%; color: #e53935; background: #fff; cursor: pointer; font-size: 19px; }
.tp9-experience-card > .tp9-primary { grid-column: 2 / 4; justify-self: end; min-height: 52px; font-size: 17px; }
.tp9-empty-icon { display: grid; width: 104px; height: 104px; place-items: center; border-radius: 50%; color: #0755e8; background: #eef3ff; font-size: 40px; }
.tp9-saved-empty--experiences { padding-top: 68px; }
.tp9-guide-list { display: grid; }
.tp9-guide-card { position: relative; display: grid; grid-template-columns: 290px minmax(0,1fr); gap: 28px; padding: 30px 0; border-bottom: 1px solid #d9dfeb; }
.tp9-guide-card__portrait { position: relative; width: 260px; height: 260px; }
.tp9-guide-card__portrait > img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.tp9-guide-remove { position: absolute; top: 30px; right: 0; margin: 0; }
.tp9-guide-remove button { display: grid; width: 46px; height: 46px; place-items: center; padding: 0; border: 1px solid #d9e0ec; border-radius: 50%; color: #0755e8; background: #fff; cursor: pointer; font-size: 19px; }
.tp9-guide-card__body { min-width: 0; }
.tp9-guide-card__body h2 { min-height: var(--tp-saved-control-size); margin: 8px 0 6px; padding-inline-end: calc(var(--tp-saved-control-size) + 10px); color: var(--tp-navy-950); font-family: var(--tp-font-display); font-size: 25px; letter-spacing: -.035em; overflow-wrap: anywhere; }
.tp9-guide-card__tagline { margin: 0 0 18px; color: #52678f; font-size: 20px; }
.tp9-guide-card ul { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.tp9-guide-card li { display: grid; grid-template-columns: 26px auto minmax(0,1fr); align-items: center; gap: 8px; color: #344a75; font-size: 18px; }
.tp9-guide-card li > i { color: #2a426e; text-align: center; }
.tp9-guide-card li strong { color: var(--tp-navy-950); font-size: 20px; }
.tp9-guide-card .tp9-star { color: #ffbd00; }
.tp9-guide-card li.tp9-success, .tp9-guide-card li.tp9-success > i { color: #0b9b43; }
.tp9-guide-card footer { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 0!important; padding: 0!important; border: 0!important; background: transparent!important; box-shadow: none!important; }
.tp9-price { display: flex; align-items: baseline; gap: 7px; color: #344a75; font-size: 18px; }
.tp9-price strong { color: var(--tp-navy-950); font-family: var(--tp-font-display); font-size: 25px; }
.tp9-primary, .tp9-secondary { display: inline-flex; min-height: 66px; align-items: center; justify-content: center; gap: 24px; padding: 0 28px; border: 1px solid transparent; border-radius: 15px; text-align: center; font-size: 21px; font-weight: 600; }
.tp9-primary { color: #fff; background: linear-gradient(105deg, #075cff, #064ed6); box-shadow: 0 9px 22px rgba(7,84,230,.18); }
.tp9-primary, .tp9-primary:visited, .tp9-primary:hover { color: #fff!important; }
.tp9-primary:hover { color: #fff; background: #064ed6; }
.tp9-secondary { color: #0755e8; border-color: #0755e8; background: #fff; }
.tp9-primary--wide, .tp9-secondary--wide { width: 100%; }

.tp9-saved-empty { display: flex; max-width: 760px; min-height: calc(100vh - 170px); flex-direction: column; align-items: center; margin-inline: auto; padding: 40px 0 54px; text-align: center; }
.tp9-saved-empty > img { display: block; width: min(78vw, 470px); aspect-ratio: 1; object-fit: contain; clip-path: circle(44% at 50% 50%); }
.tp9-saved-empty h2 { max-width: 680px; margin: 28px 0 20px; color: var(--tp-navy-950); font-family: var(--tp-font-display); font-size: clamp(30px, 5vw, 46px); line-height: 1.2; letter-spacing: -.035em; }
.tp9-saved-empty > p:not(.tp9-account-note) { max-width: 620px; margin: 0 0 54px; color: #49618f; font-size: 21px; line-height: 1.5; }
.tp9-empty-link { display: inline-block; margin: 28px 0; color: #0755e8; font-size: 21px; font-weight: 500; text-align: center; }
.tp9-account-note { display: flex; align-items: center; gap: 18px; margin: 42px 0 0; color: #405783; font-size: 17px; }
.tp9-account-note i { font-size: 24px; }

.tp9-notifications { float: none!important; width: 100%!important; margin: 0!important; padding: 0!important; background: transparent!important; }
.tp9-notification-tabs { display: flex; align-items: center; gap: 10px; margin: 0 0 28px; }
.tp9-notification-tabs a { display: inline-flex; min-width: 88px; min-height: 44px; align-items: center; justify-content: center; gap: 8px; padding: 0 16px; border: 1px solid #d4dbe8; border-radius: 999px; color: #12234e; background: #fff; font-size: 15px; font-weight: 600; }
.tp9-notification-tabs a.is-active { color: #fff; border-color: #075bea; background: linear-gradient(105deg, #0863ff, #0750d9); box-shadow: 0 7px 18px rgba(7,84,230,.16); }
.tp9-notification-tabs b { display: grid; min-width: 22px; height: 22px; place-items: center; padding: 0 6px; border-radius: 999px; color: #fff; background: var(--tp-coral-500); font-size: 11px; }
.tp9-notification-list > h2 { margin: 42px 0 18px; color: #445b86; font: 600 20px/1.2 var(--tp-font-ui); }
.tp9-notification-row { position: relative; display: grid; min-height: 126px; grid-template-columns: 78px 14px minmax(0,1fr) auto 16px; align-items: center; gap: 14px; border-bottom: 1px solid #d7deea; color: var(--tp-navy-950); }
.tp9-notification-row__icon { display: grid; width: 64px; height: 64px; place-items: center; overflow: hidden; border-radius: 50%; color: #0755e8; background: #eef3ff; font-size: 24px; }
.tp9-notification-row__icon.is-brand { background: #0755e8; }
.tp9-notification-row__icon img { width: 58px; height: 58px; object-fit: contain; }
.tp9-unread-dot { display: block; width: 12px; height: 12px; border-radius: 50%; background: var(--tp-coral-500); box-shadow: 0 0 0 5px rgba(255,93,69,.08); }
.tp9-unread-dot.is-read { visibility: hidden; }
.tp9-notification-row__copy { min-width: 0; }
.tp9-notification-row__copy strong, .tp9-notification-row__copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tp9-notification-row__copy strong { font-size: 20px; font-weight: 600; }
.tp9-notification-row__copy small { margin-top: 7px; color: #49618f; font-size: 17px; }
.tp9-notification-row time { align-self: center; color: #405783; font-size: 16px; white-space: nowrap; }
.tp9-row-chevron { color: #405783; font-size: 16px; }
.tp9-notification-empty { display: grid; min-height: 440px; place-items: center; align-content: center; gap: 14px; text-align: center; }
.tp9-notification-empty > span { display: grid; width: 82px; height: 82px; place-items: center; border-radius: 50%; color: #0755e8; background: #eef3ff; font-size: 32px; }
.tp9-notification-empty h2 { margin: 0; font-family: var(--tp-font-display); font-size: 32px; }
.tp9-notification-empty p { max-width: 520px; margin: 0; color: #52678f; font-size: 18px; }

.tp9-unavailable { display: flex; max-width: 760px; min-height: calc(100vh - 160px); flex-direction: column; align-items: center; margin-inline: auto; padding: 30px 0 64px; text-align: center; }
.tp9-unavailable__art { display: block; width: min(72vw, 510px); aspect-ratio: 1; object-fit: contain; border-radius: 50%; background: radial-gradient(circle at center, #eef2ff 0 58%, transparent 59%); }
.tp9-unavailable h1 { max-width: 710px; margin: 14px 0 24px; color: var(--tp-navy-950); font-family: var(--tp-font-display); font-size: clamp(42px, 7vw, 68px); line-height: 1.08; letter-spacing: -.045em; }
.tp9-unavailable__lead { max-width: 690px; margin: 0; color: #405783; font-size: 22px; line-height: 1.5; }
.tp9-unavailable__date { display: flex; align-items: center; gap: 16px; margin: 34px 0 38px; color: #344a75; font-size: 19px; }
.tp9-unavailable__date i { font-size: 25px; }
.tp9-unavailable__actions { display: grid; width: 100%; gap: 14px; }
.tp9-unavailable__actions .tp9-empty-link { margin: 18px 0 0; }
.tp9-unavailable__support { margin: 36px 0 0; color: #405783; font-size: 17px; line-height: 1.45; }
.tp9-unavailable__support a { color: #0755e8; }

.tp9-card-save { position: absolute; z-index: 2; inset: 18px 18px auto auto; display: grid; width: 48px; height: 48px; place-items: center; margin: 0; border: 0; border-radius: 50%; color: #0755e8; background: #fff; box-shadow: 0 4px 14px rgba(6,25,77,.16); }
.tp9-card-save button { width: 100%; height: 100%; padding: 0; border: 0; border-radius: 50%; color: inherit; background: transparent; cursor: pointer; font-size: 20px; }
.tp-guide-result-card { position: relative; }
.tp9-profile-save { display: inline-flex; margin: 0; }
.tp9-profile-save button[aria-pressed="true"] { color: #0755e8; }

.tp-bottom-nav--notifications .tp9-nav-icon { position: relative; display: grid; place-items: center; }
.tp-bottom-nav--notifications .tp9-nav-icon > i { font-size: 21px; }
.tp-bottom-nav--notifications .tp9-nav-icon b { inset: -10px -15px auto auto; }
.tp9-bottom-avatar { width: 35px; height: 35px; border-radius: 50%; object-fit: cover; }

@media (max-width: 1023px) {
  .tp-stage9 .tp-site-header { border-bottom-color: transparent; }
  .tp-stage9 .tp-appbar { grid-template-columns: minmax(62px,1fr) auto minmax(62px,1fr); min-height: 76px; padding-inline: 20px; }
  .tp-stage9 .tp-appbar__brand .logo-img { width: 116px; }
  .tp-stage9 .tp-menu-button { width: 42px; height: 42px; color: var(--tp-navy-950); background: transparent; box-shadow: none; font-size: 22px; }
  .tp-stage9 .tp-back-button { width: 42px; height: 42px; color: #0755e8; background: transparent; box-shadow: none; font-size: 22px; }
  .tp-stage9 .tp-content { padding: 76px 24px calc(var(--tp-bottom-nav-height) + 30px); }
  .tp-stage9-notification-unavailable .tp-bottom-nav { display: none; }
  .tp-stage9-saved-guides .tp-content { padding-top: 26px; padding-bottom: calc(var(--tp-bottom-nav-height) + 22px); }
  .tp-stage9-notification-unavailable .tp-content { padding-top: 46px; padding-bottom: 34px; }
  .tp9-page-heading { margin-top: 30px; }
  .tp9-guide-card { grid-template-columns: 180px minmax(0,1fr); gap: 22px; }
  .tp9-guide-card__portrait { width: 164px; height: 164px; }
  .tp9-guide-card__body h2 { margin-top: 0; font-size: 30px; }
}

@media (max-width: 599px) {
  .tp-stage9 .tp-content { padding-inline: 22px; }
  .tp9-page-heading { margin: 24px 0 21px; }
  .tp9-page-heading--actions { gap: 12px; }
  .tp9-page-heading h1 { font-size: 38px; white-space: nowrap; }
  .tp9-page-heading p { margin-top: 11px; font-size: 17px; }
  .tp9-text-action { font-size: 15px; }
  .tp9-notification-actions { gap: 12px; }
  .tp9-saved-tabs { gap: 6px; margin-bottom: 16px; padding: 5px; border-radius: 13px; }
  .tp9-saved-tabs a { min-height: 46px; gap: 7px; padding-inline: 8px; border-radius: 9px; font-size: 14px; }
  .tp9-saved-tabs b { min-width: 22px; height: 22px; padding-inline: 6px; font-size: 11px; }
  .tp9-experience-list { gap: 12px; }
  .tp9-experience-card { grid-template-columns: 118px minmax(0,1fr) 40px; grid-template-rows: auto auto; gap: 12px; padding: 12px; border-radius: 14px; }
  .tp9-experience-card__image { grid-row: 1 / 2; min-height: 132px; border-radius: 10px; }
  .tp9-experience-card__image img { min-height: 132px; }
  .tp9-experience-card__body { grid-column: 2 / 3; grid-row: 1; padding: 3px 0; }
  .tp9-experience-card__body p { margin-bottom: 5px; font-size: 10px; }
  .tp9-experience-card__body h2 { display: -webkit-box; overflow: hidden; font-size: 17px; line-height: 1.3; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
  .tp9-experience-card__body small { margin-top: 5px; font-size: 12px; }
  .tp9-experience-card__body > strong { margin-top: 10px; font-size: 17px; }
  .tp9-experience-remove { grid-column: 3; }
  .tp9-experience-remove button { width: 38px; height: 38px; font-size: 16px; }
  .tp9-experience-card > .tp9-primary { grid-column: 1 / 4; width: 100%; justify-self: stretch; }
  .tp9-saved-empty--experiences { padding-top: 48px; }
  .tp9-empty-icon { width: 86px; height: 86px; font-size: 34px; }
  .tp9-destination-filter { height: 60px!important; min-height: 60px; grid-template-columns: 25px minmax(0,1fr) 16px; margin: 0!important; padding: 0 17px!important; border-radius: 12px; }
  .tp9-destination-filter select { height: 56px; font-size: 17px; }
  .tp9-saved-hint { margin-top: 18px; font-size: 13px; line-height: 1.4; }
  .tp9-guide-card { grid-template-columns: 144px minmax(0,1fr); column-gap: 18px; row-gap: 8px; padding: 14px 0; }
  .tp9-guide-card__portrait { width: 136px; height: 136px; }
  .tp9-guide-card__body h2 { font-size: 25px; }
  .tp9-guide-card__tagline { margin-bottom: 12px; font-size: 15px; line-height: 1.25; }
  .tp9-guide-card ul { gap: 8px; }
  .tp9-guide-card li { grid-template-columns: 20px auto minmax(0,1fr); gap: 5px; font-size: 14px; }
  .tp9-guide-card li strong { font-size: 17px; }
  .tp9-guide-card footer { margin-top: 4px; }
  .tp9-price { gap: 4px; font-size: 14px; }
  .tp9-price strong { font-size: 29px; }
  .tp9-primary, .tp9-secondary { min-height: 53px; gap: 16px; padding-inline: 20px; border-radius: 12px; font-size: 17px; }
  .tp9-saved-empty { min-height: calc(100vh - 86px); padding: 60px 0 34px; }
  .tp9-saved-empty > img { width: min(82vw, 330px); }
  .tp9-saved-empty h2 { margin: 14px 0 12px; font-size: 30px; }
  .tp9-saved-empty > p:not(.tp9-account-note) { margin-bottom: 32px; font-size: 17px; }
  .tp9-empty-link { font-size: 18px; }
  .tp9-account-note { margin-top: 30px; font-size: 14px; }
  .tp9-notifications .tp9-page-heading { align-items: center; margin: 20px 0 16px; }
  .tp9-notifications .tp9-page-heading h1 { font-size: 28px; line-height: 1.2; white-space: normal; }
  .tp9-notification-tabs { gap: 10px; margin-bottom: 0; }
  .tp9-notification-tabs a { min-width: 88px; min-height: 44px; padding-inline: 16px; font-size: 15px; }
  .tp9-notification-empty { min-height: 280px; padding-block: 32px; gap: 12px; }
  .tp9-notification-empty > span { width: 64px; height: 64px; font-size: 26px; }
  .tp9-notification-empty h2 { font-size: 22px; line-height: 1.3; }
  .tp9-notification-empty p { max-width: 340px; font-size: 16px; line-height: 1.5; }
  .tp9-notification-tabs b { min-width: 22px; height: 22px; font-size: 11px; }
  .tp9-notification-list > h2 { margin: 32px 0 12px; font-size: 18px; }
  .tp9-notification-list > h2:first-child { margin-top: 16px; }
  .tp9-notification-row { min-height: 106px; grid-template-columns: 58px minmax(0,1fr); column-gap: 24px; }
  .tp9-notification-row__icon { width: 52px; height: 52px; font-size: 23px; }
  .tp9-notification-row__icon img { width: 48px; height: 48px; }
  .tp9-unread-dot { position: absolute; left: 62px; width: 9px; height: 9px; }
  .tp9-notification-row__copy strong { box-sizing: border-box; width: 100%; padding-right: 66px; font-size: 12.5px; }
  .tp9-notification-row__copy small { margin-top: 5px; font-size: 14px; }
  .tp9-notification-row time { position: absolute; top: 34px; right: 6px; font-size: 12.5px; }
  .tp9-row-chevron { position: absolute; top: 44px; right: -8px; }
  .tp9-unavailable { min-height: calc(100vh - 80px); padding-top: 0; }
  .tp9-unavailable__art { width: min(76vw, 318px); margin-top:-10px; }
  .tp9-unavailable h1 { margin: 6px 0 16px; font-size: 28px; line-height: 1.2; }
  .tp9-unavailable__lead { font-size: 16px; }
  .tp9-unavailable__date { margin: 22px 0 25px; font-size: 16px; }
  .tp9-unavailable__actions { gap: 11px; }
  .tp9-unavailable__support { margin-top: 27px; }
}

@media (max-width: 410px) {
  .tp-stage9 .tp-content { padding-inline: 18px; }
  .tp9-guide-card { grid-template-columns: 118px minmax(0,1fr); gap: 14px; }
  .tp9-guide-card__portrait { width: 112px; height: 112px; }
  .tp9-guide-card__body h2 { font-size: 22px; }
  .tp9-guide-card__tagline { font-size: 13px; }
  .tp9-guide-card li { font-size: 12px; }
  .tp9-guide-card footer { gap: 10px; }
  .tp9-primary { padding-inline: 15px; }
  .tp9-notification-row { grid-template-columns: 50px minmax(0,1fr); column-gap: 18px; }
  .tp9-notification-row__icon { width: 46px; height: 46px; }
  .tp9-unread-dot { left: 51px; }
  .tp9-notification-row time { max-width: 48px; }
}

@media (max-width: 360px) {
  .tp9-page-heading--actions { display: grid!important; grid-template-columns: minmax(0,1fr) auto; align-items: end; }
  .tp9-notification-actions { flex-direction: column; align-items: flex-end; gap: 0; }
  .tp9-notification-actions .tp9-text-action { min-height: 36px; }
  .tp9-page-heading p { font-size: 15px; }
  .tp9-saved-tabs a { gap: 4px; padding-inline: 5px; font-size: 13px; }
  .tp9-saved-tabs a > i { display: none; }
  .tp9-saved-tabs b { min-width: 20px; height: 20px; padding-inline: 5px; }
  .tp9-experience-card { display: grid; grid-template-columns: 1fr; grid-template-rows: auto auto auto; }
  .tp9-experience-card__image { grid-column: 1; grid-row: 1; min-height: 180px; }
  .tp9-experience-card__image img { min-height: 180px; }
  .tp9-experience-card__body { grid-column: 1; grid-row: 2; padding: 0; }
  .tp9-experience-card__body h2 { font-size: 19px; }
  .tp9-experience-remove { position: absolute; top: 20px; right: 20px; }
  .tp9-experience-card > .tp9-primary { grid-column: 1; grid-row: 3; }
}

/* Compact Saved heading card — markup and form behavior intentionally unchanged. */
.tp9-saved .tp9-page-heading--actions {
  position: relative!important;
  display: grid!important;
  grid-template-columns: 38px minmax(0,1fr);
  align-items: center;
  gap: 10px;
  margin: 12px 0 8px;
  padding: 12px!important;
  border: 1px solid #e3eaf5!important;
  border-radius: 12px;
  background: #f7faff!important;
  box-shadow: 0 2px 8px rgba(18,43,89,.035)!important;
}
.tp9-saved .tp9-page-heading--actions::before {
  display: grid;
  width: 38px;
  height: 38px;
  grid-column: 1;
  place-items: center;
  border: 1px solid #d9e6fb;
  border-radius: 10px;
  color: #0b63e5;
  background: #eaf2ff;
  content: '\f02e';
  font-family: 'Font Awesome 5 Free';
  font-size: 17px;
  font-weight: 900;
}
.tp9-saved .tp9-page-heading--actions > div {
  min-width: 0;
  grid-column: 2;
}
.tp9-saved .tp9-page-heading--actions h1 {
  margin: 0;
  padding-right: 72px;
  color: #0b1b4c;
  font-family: var(--tp-font-ui);
  font-size: 20px;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -.015em;
}
.tp9-saved .tp9-page-heading--actions p {
  display: -webkit-box;
  max-width: 520px;
  margin: 4px 0 0;
  overflow: hidden;
  color: #60708f;
  font-size: 12.5px;
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.tp9-saved .tp9-page-heading--actions > form {
  position: absolute;
  top: 7px;
  right: 7px;
  margin: 0;
}
.tp9-saved .tp9-page-heading--actions .tp9-text-action {
  display: inline-flex;
  min-width: 40px;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 7px;
  border-radius: 9px;
  color: #c94852;
  background: transparent;
  font: 600 12px/1 var(--tp-font-ui);
  transition: color .16s ease,background-color .16s ease;
}
.tp9-saved .tp9-page-heading--actions .tp9-text-action::before {
  content: '\f2ed';
  font-family: 'Font Awesome 5 Free';
  font-size: 13px;
  font-weight: 900;
}
.tp9-saved .tp9-page-heading--actions .tp9-text-action:hover,
.tp9-saved .tp9-page-heading--actions .tp9-text-action:focus-visible,
.tp9-saved .tp9-page-heading--actions .tp9-text-action:active {
  color: #b42332;
  background: #fff0f2;
}
.tp9-saved .tp9-page-heading--actions .tp9-text-action:focus-visible {
  outline: 2px solid #e9aeb5;
  outline-offset: 1px;
}

/* Saved-page mobile density aligned with the rest of the journey screens. */
@media (max-width: 599px) {
  .tp-stage9-saved-guides .tp-appbar {
    min-height: 58px;
    padding-inline: 14px;
  }
  .tp-stage9-saved-guides .tp-appbar__brand .logo-img { width: 94px; height: 40px; }
  .tp-stage9-saved-guides .tp-menu-button,
  .tp-stage9-saved-guides .tp-back-button { width: 36px; height: 36px; font-size: 19px; }
  .tp-stage9-saved-guides .tp-content {
    padding: 4px 14px calc(var(--tp-bottom-nav-height) + 22px);
  }
  .tp9-saved .tp9-page-heading--actions { margin: 0 0 8px!important; }
  .tp9-saved-tabs {
    min-height: 44px;
    gap: 5px;
    margin-bottom: 12px;
    padding: 4px;
    border-radius: 12px;
  }
  .tp9-saved-tabs a { min-height: 36px; gap: 6px; padding-inline: 7px; border-radius: 8px; font-size: 12px; }
  .tp9-saved-tabs a > i { display: inline-block; }
  .tp9-saved-tabs b { min-width: 20px; height: 20px; padding-inline: 5px; font-size: 10px; }
  .tp9-saved-hint { margin: 13px 2px 8px; font-size: 11px; }
  .tp9-experience-list { gap: 8px; }
  .tp9-experience-card {
    display: grid;
    grid-template-columns: 88px minmax(0,1fr) 34px;
    grid-template-rows: auto auto;
    gap: 9px 10px;
    padding: 8px;
    border-radius: 12px;
    box-shadow: 0 3px 12px rgba(7,26,77,.05);
  }
  .tp9-experience-card__image {
    grid-column: 1;
    grid-row: 1;
    min-height: 102px;
    border-radius: 8px;
  }
  .tp9-experience-card__image img { min-height: 102px; }
  .tp9-experience-card__body { grid-column: 2 / 3; grid-row: 1; padding: 2px 0; }
  .tp9-experience-card__body p { margin-bottom: 4px; font-size: 8px; }
  .tp9-experience-card__body h2 { font-size: 15px; line-height: 1.18; -webkit-line-clamp: 2; }
  .tp9-experience-card__body small { margin-top: 4px; font-size: 9px; line-height: 1.25; }
  .tp9-experience-card__body > strong { margin-top: 7px; font-size: 14px; line-height: 1.2; }
  .tp9-experience-remove { position: static; grid-column: 3; grid-row: 1; }
  .tp9-experience-remove button { width: 32px; height: 32px; font-size: 13px; }
  .tp9-experience-card > .tp9-primary {
    min-height: 40px;
    grid-column: 1 / 4;
    grid-row: 2;
    gap: 12px;
    padding-inline: 14px;
    border-radius: 9px;
    font-size: 14px;
  }
  .tp9-guide-card { grid-template-columns: 96px minmax(0,1fr); column-gap: 12px; row-gap: 7px; padding: 12px 0; }
  .tp9-guide-card__portrait { width: 92px; height: 92px; }
  .tp9-guide-card__body h2 { font-size: 19px; }
  .tp9-guide-card__tagline { margin-bottom: 8px; font-size: 12px; }
  .tp9-guide-card ul { gap: 5px; }
  .tp9-guide-card li { grid-template-columns: 17px auto minmax(0,1fr); gap: 4px; font-size: 11px; }
  .tp9-guide-card li strong { font-size: 13px; }
  .tp9-price { font-size: 11px; }
  .tp9-price strong { font-size: 20px; }
  .tp9-guide-card .tp9-primary { min-height: 42px; gap: 9px; padding-inline: 12px; border-radius: 10px; font-size: 14px; }
  .tp9-saved-empty { min-height: calc(100vh - 116px); padding: 36px 0 28px; }
  .tp9-saved-empty > img { width: min(68vw, 260px); }
  .tp9-saved-empty h2 { margin: 12px 0 9px; font-size: 24px; }
  .tp9-saved-empty > p:not(.tp9-account-note) { margin-bottom: 24px; font-size: 14px; }
}

@media (max-width: 1023px) {
  body.tp-stage9-saved-guides .tp-bottom-nav { display: grid!important; }
}

/* Shared save controls: center the glyph without the button's text baseline. */
body.tp-journey :is(
  [data-tp-stage4-favorite], [data-tp11-stage4-favorite],
  .tp9-profile-save button, .tp9-card-save button, a.tp9-card-save,
  .tp9-experience-remove button, .tp9-guide-remove button,
  .tp-city-favorite, .tp-stage4-icon:has(> .fa-heart)
) {
  display: inline-grid;
  place-items: center;
  padding: 0;
  border-radius: 50%;
  color: #0755e8;
  background: #fff;
  box-shadow: 0 4px 14px rgba(6,25,77,.16);
  line-height: 1;
}

body.tp-journey :is(
  [data-tp-stage4-favorite], [data-tp11-stage4-favorite],
  .tp9-profile-save button, .tp9-card-save button, a.tp9-card-save,
  .tp9-experience-remove button, .tp9-guide-remove button,
  .tp-city-favorite, .tp-stage4-icon:has(> .fa-heart)
) > .fa-heart {
  display: block;
  width: 1em;
  height: 1em;
  margin: 0;
  padding: 0;
  line-height: 1;
  font-size: inherit;
  letter-spacing: 0;
  text-align: center;
  text-indent: 0;
}

/* The button owns the circle, so its form must not add a second shadow. */
body.tp-journey form.tp9-card-save { background: transparent; box-shadow: none; }

/* All save hearts use 80% of the previous 44px circle and 17px glyph. */
body.tp-journey {
  --tp-saved-control-size: 35.2px;
  --tp-saved-heart-size: 13.6px;
}
body.tp-journey :is(
  .tp9-experience-remove button, .tp9-guide-remove button,
  .tp9-card-save, .tp9-card-save button, .tp-city-favorite,
  .tp9-profile-save button, .tp-cover-actions .tp-stage4-icon,
  [data-tp-stage4-favorite], [data-tp11-stage4-favorite]
) {
  /* Cover hearts also use the navigation icon class; keep its fixed sizing out. */
  box-sizing: border-box;
  width: var(--tp-saved-control-size) !important;
  height: var(--tp-saved-control-size) !important;
  min-width: var(--tp-saved-control-size);
  min-height: var(--tp-saved-control-size);
  font-size: var(--tp-saved-heart-size) !important;
}
