/* Mobile component contracts. Keep promotional photography and desktop geometry.
   Semantic sizes replace the competing historical stage compositions. */
.tp-email-preview summary, .tp-category-more summary { cursor: pointer; }
.tp-email-preview summary { padding-block: 12px; font-weight: 700; }
.tp-category-more { grid-column: 1 / -1; }
.tp-discovery-home .tp-discovery-categories { zoom: .9; }
.tp-category-more > summary { display: flex; align-items: center; gap: 8px; list-style: none; }
.tp-category-more > summary::-webkit-details-marker { display: none; }
.tp-category-more__indicator { display: inline-grid; width: 1em; place-items: center; flex: 0 0 1em; font-weight: 700; line-height: 1; }
.tp-category-more__indicator::before { content: '+'; }
.tp-category-more[open] > summary .tp-category-more__indicator::before { content: '\2212'; }
.tp-editor-photo-guidance { display: block; }
.tp-editor-photo-guidance summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; font-weight: 700; }
.tp-editor-photo-guidance > div { margin-top: 12px; }
.tp8-tour-note > .tp8-tour-quote { display: none; }
/* Dismissible server flash messages use one accessible modal presentation. */
.tp-flash-modal-open { overflow: hidden !important; }
.tp-flash-modal-host,
.tp-flash:has(> .flashmessage > .ico-close),
.wrapper-flash:has(> .flashmessage > .ico-close) {
  position: fixed !important;
  inset: 0 !important;
  z-index: calc(var(--tp-z-toast, 700) + 10) !important;
  display: grid !important;
  width: 100% !important;
  max-width: none !important;
  height: 100dvh !important;
  align-content: center;
  justify-items: center;
  gap: 12px;
  box-sizing: border-box;
  margin: 0 !important;
  padding: max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom)) !important;
  overflow-y: auto;
  background: rgba(4,17,53,.68);
  backdrop-filter: blur(3px);
}
.tp-flash-modal-host > #flash_js { display: none; }
.tp-flash-modal-host > .flashmessage,
.tp-flash:has(> .flashmessage > .ico-close) > .flashmessage,
.wrapper-flash:has(> .flashmessage > .ico-close) > .flashmessage {
  position: relative;
  top: auto;
  width: min(100%,420px) !important;
  min-height: 72px;
  box-sizing: border-box;
  margin: 0 !important;
  padding: 20px !important;
  padding-inline-end: 60px !important;
  border-radius: 14px !important;
  box-shadow: 0 18px 52px rgba(4,17,53,.3);
  font-size: 15px;
  line-height: 21px;
  text-align: start;
}
.tp-flash-modal-host > .flashmessage > .ico-close,
.tp-flash:has(> .flashmessage > .ico-close) > .flashmessage > .ico-close,
.wrapper-flash:has(> .flashmessage > .ico-close) > .flashmessage > .ico-close {
  position: absolute;
  top: 50% !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  inset-inline-end: 8px !important;
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  padding: 0;
  margin-top: 0;
  transform: translateY(-50%);
  border: 0;
  border-radius: 10px;
  color: #fff;
  background: rgba(0,0,0,.16);
  font-size: 22px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
}
.tp-flash-modal-host > .flashmessage > .ico-close:hover,
.tp-flash-modal-host > .flashmessage > .ico-close:focus-visible { background: rgba(0,0,0,.28); }
@media (max-width: 479px) {
  .tp-flash-modal-host > .flashmessage,
  .tp-flash:has(> .flashmessage > .ico-close) > .flashmessage,
  .wrapper-flash:has(> .flashmessage > .ico-close) > .flashmessage { padding: 16px !important; padding-inline-end: 56px !important; font-size: 14px; line-height: 20px; }
}
/* A titled review uses the heading's 3px bottom margin for text separation. */
.tp-review-card > h3 + .tp-review-card__body { margin-top: 0; }

/* Keep the live average and review count beside every five-star summary. */
.tp-rating-summary { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; width: fit-content; max-width: 100%; color: #52617e; font-family: var(--tp-font-ui); font-size: 12px; line-height: 18px; vertical-align: middle; }
.tp-rating-summary > :is(.tp-guide-rating-stars,.tp-guide-mini__rating) { flex: 0 0 auto; margin: 0; }
.tp-rating-summary__numbers { display: inline-flex; align-items: baseline; gap: 4px; white-space: nowrap; }
.tp-rating-summary__score { color: #0b1b4c; font-size: inherit; font-weight: 600; }
.tp-guide-mini > .tp-rating-summary { grid-column: 2; }
.tp-guide-profile-intro > .tp-rating-summary { grid-column: 1/2; margin: 3px 0; }
/* Search cards: live profile details, shared metadata and a separate price row. */
.tp-stage4-guide-results .tp-guide-result-list { gap: 10px; }
.tp-stage4-guide-results .tp-guide-result-card { padding: 10px 12px; min-height: 0; border: 1px solid #e0e6f0; border-radius: 16px; background: #fff; box-shadow: 0 3px 10px rgba(6,25,77,.07); }
.tp-stage4-guide-results .tp-guide-result-card__main { grid-template-columns: 92px minmax(0,1fr); grid-template-rows: auto; gap: 12px; padding: 0; }
.tp-stage4-guide-results .tp-guide-result-card__details { grid-row: 1; }
.tp-stage4-guide-results .tp-guide-result-card__details h2 { margin: 0 0 2px; padding-inline-end: 42px; font-family: var(--tp-font-display); font-size: 22px; line-height: 1.15; overflow-wrap: anywhere; }
.tp-stage4-guide-results .tp-guide-result-card__details > p { margin-block: 1px; font-size: 14px; line-height: 18px; overflow-wrap: anywhere; }
.tp-stage4-guide-results .tp-guide-result-card__details .tp-guide-rating { flex-wrap: wrap; gap: 4px; margin: 4px 0 0; line-height: 17px; }
/* Keep the existing favorite control and icon dimensions; only inset its position. */
.tp-stage4-guide-results .tp-guide-result-card .tp9-card-save { inset: 12px 12px auto auto; }
.tp-stage4-guide-results .tp-guide-result-card__metadata { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4px 0; margin: 7px 0 0; padding: 7px 0 0; border-top: 1px solid #e0e6f0; list-style: none; color: #52617e; font-size: 13px; line-height: 17px; }
.tp-stage4-guide-results .tp-guide-result-card__metadata > li { display: flex; align-items: center; gap: 6px; min-width: 0; margin: 0; }
.tp-guide-result-card__metadata > li > i { width: 16px; flex: 0 0 16px; text-align: center; color: #6c7891; }
.tp-guide-result-card__metadata > li > span { min-width: 0; overflow-wrap: anywhere; }
.tp-guide-result-card__location { grid-area: 1 / 1; padding-inline-end: 10px; }
.tp-guide-result-card__completed { grid-area: 1 / 2; }
.tp-guide-result-card__available { grid-area: 2 / 1; padding-inline-end: 10px; }
.tp-guide-result-card__response { grid-area: 2 / 2; }
.tp-guide-result-card__metadata > :is(.tp-guide-result-card__completed,.tp-guide-result-card__response) { padding-inline-start: 12px; border-inline-start: 1px solid #e0e6f0; }
.tp-guide-result-card__pill { display: inline-block; padding: 2px 6px; border-radius: 7px; background: #f1f5fb; }
.tp-guide-result-card__metadata .is-available, .tp-guide-result-card__metadata .is-available > i { color: #15803d; }
.tp-guide-result-card__available .tp-guide-result-card__pill { background: #eaf8f2; font-weight: 600; }
.tp-guide-result-card__response .tp-guide-result-card__pill { color: #1557d5; }
.tp-guide-result-card__metadata > .tp-guide-result-card__languages { grid-column: 1 / -1; padding-top: 6px; margin-top: 1px; border-top: 1px solid #e0e6f0; align-items: baseline; }
.tp-stage4-guide-results .tp-guide-result-card__statuses { display: flex; flex-wrap: wrap; width: auto; gap: 3px 14px; margin-top: 6px; }
.tp-stage4-guide-results .tp-guide-result-card__status { width: auto; align-items: baseline; justify-content: flex-start; gap: 5px; font-size: 13px; line-height: 17px; text-align: start; white-space: normal; }
.tp-stage4-guide-results .tp-guide-result-card footer { gap: 8px; margin: 7px 0 0; padding: 7px 0 0; border-top: 1px solid #e0e6f0; background: transparent; }
.tp-stage4-guide-results .tp-guide-result-card footer > div { min-width: 0; }
.tp-stage4-guide-results .tp-guide-result-card footer strong { font-size: 18px; line-height: 21px; white-space: normal; overflow-wrap: anywhere; }
.tp-stage4-guide-results .tp-guide-result-card footer .tp-button { position: relative; isolation: isolate; flex: 0 0 106px; gap: 5px; width: 106px; min-width: 106px; min-height: 44px !important; height: 44px; padding: 0 8px !important; border: 0; border-radius: 9px; background: transparent !important; box-shadow: none; font-size: 10.4px !important; line-height: 14.4px !important; }
.tp-stage4-guide-results .tp-guide-result-card footer .tp-button::before { content: ''; position: absolute; z-index: -1; inset: 4.4px 0; border-radius: 7px; background: var(--tp-brand-600); }
.tp-stage4-guide-results .tp-guide-result-card footer .tp-button:hover::before { background: var(--tp-brand-700); }
.tp-stage4-guide-results .tp-guide-result-card footer .tp-button i { font-size: 10.4px !important; }
@media (max-width: 360px) {
  .tp-guide-mini__avatar { grid-row: 1/3; }
  .tp-guide-mini > strong { grid-column: 2; grid-row: 1; }
  .tp-guide-mini > .tp-guide-mini__location { grid-column: 2; grid-row: 2; }
  .tp-guide-mini > .tp-rating-summary { grid-column: 1/-1; grid-row: 3; }
  .tp-guide-mini > small { grid-column: 1/-1; grid-row: 4; }
}

/* Compact experience guide card. */
.tp-experience-guide {
  grid-template-columns: 44px minmax(0,1fr) auto;
  grid-template-rows: auto auto;
  column-gap: 10px;
  row-gap: 0;
  align-items: center;
  margin-bottom: 12px;
  padding: 11px 12px 9px;
  border: 1px solid #dce5f4;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 3px 10px rgba(6,25,77,.06);
}
.tp-experience-guide__avatar { width: 44px; height: 44px; }
.tp-experience-guide__identity { grid-column: 2; grid-row: 1; row-gap: 2px !important; }
.tp-experience-guide__identity > strong { font-size: 14px; line-height: 17px; }
.tp-experience-guide__identity > .tp-rating-summary { margin: 0; font-size: 11px; line-height: 14px; }
.tp-experience-guide__identity > small { display: flex; min-width: 0; align-items: center; gap: 5px; color: #52617e; font-size: 11px !important; line-height: 15px; }
.tp-experience-guide__identity > small i { flex: 0 0 auto; color: #1557d5; font-size: 11px; }
.tp-experience-guide > b { grid-column: 3; grid-row: 1; align-self: center; color: #1557d5; font-size: 11px; line-height: 15px; white-space: nowrap; }
.tp-experience-guide > b i { margin-left: 2px; font-size: 9px; }
.tp-experience-guide > .tp-experience-guide__status {
  display: grid;
  grid-column: 1 / -1;
  grid-row: 2;
  grid-template-columns: repeat(auto-fit,minmax(110px,1fr));
  align-items: center;
  gap: 0;
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid #dce5f4;
}
.tp-experience-guide > .tp-experience-guide__status > :is(em,small) { display: inline-flex; min-width: 0; min-height: 20px; align-items: center; justify-content: center; gap: 6px; margin: 0; font-size: 11px !important; line-height: 15px; white-space: nowrap; }
.tp-experience-guide > .tp-experience-guide__status > :is(em,small) + :is(em,small) { border-left: 1px solid #dce5f4; }
.tp-experience-guide > .tp-experience-guide__status i { margin: 0; font-size: 12px; }
.tp-experience-guide > .tp-experience-guide__status .tp-experience-guide__response { color: #0b1b4c; }
/* Location and pricing share the full card width below the title actions. */
.tp-listing-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin: 8px 0 0; color: #53698d; font-size: 12px; }
.tp-listing-card__location { display: inline-flex; align-items: center; gap: 6px; flex: 1 1 48px; min-width: 0; overflow-wrap: anywhere; }
.tp-listing-card__location i { flex: 0 0 auto; font-size: 14px; }
.tp-listing-card__location > span { min-width: 0; }
.tp-listing-card__price { box-sizing: border-box; max-width: 100%; margin-left: auto; padding: 3px 8px; border-radius: 6px; background: #eaf2ff; color: #1e5abd; font-size: 12px; font-weight: 700; line-height: 18px; text-align: right; overflow-wrap: anywhere; }
/* Listing state, rating and the existing View destination share a real footer. */
.tp-listing-card__image { grid-column: 1; grid-row: 1 / 3; }
.tp-listing-card > .tp-listing-card__footer { grid-column: 2; display: grid !important; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 0 16px 16px !important; border-top: 0; }
.tp-listing-card__status { display: inline-flex; align-items: center; justify-content: center; gap: 6px; box-sizing: border-box; padding: 6px 8px; border-radius: 9px; background: #eaf8f2; color: #27815f; font-size: 12px; font-weight: 600; line-height: 18px; text-transform: uppercase; overflow-wrap: anywhere; }
.tp-listing-card__status i { flex: 0 0 auto; font-size: 8px; }
.tp-listing-card__status--pending { color: #9a6700; background: #fff9db; }
.tp-listing-card__status--inactive { color: #667085; background: #f8fafc; }
.tp-listing-card__footer .tp-listing-card__rating { min-width: 0; margin: 0; gap: 4px; font-size: 13px; white-space: nowrap; }
.tp-listing-card__footer .tp-listing-card__rating strong { font-size: 14px; }
.tp-listing-card__footer .tp-listing-card__rating > i { font-size: 16px; }
.tp-listing-card__footer .tp-listing-card__rating > span { display: inline; }
.tp-listing-card__footer .tp-listing-card__rating.is-empty { white-space: normal; line-height: 18px; }
/* These app screens already expose the account links through the shared drawer. */
.tp-stage8-screen #sidebar { display: none !important; }
/* Alerts keep a compact track inside a full 44px touch target. A separate
   track prevents general button backgrounds from turning switches into discs. */
body.tp-alerts-screen .tp-switch {
  display: inline-block; flex: 0 0 44px; box-sizing: border-box;
  width: 44px; min-width: 44px; max-width: 44px; height: 44px; min-height: 44px;
  padding: 0 !important; border: 0; border-radius: 12px;
  background: transparent !important; box-shadow: none; vertical-align: middle;
}
body.tp-alerts-screen .tp-switch::before {
  content: ''; position: absolute; top: 9px; left: 0;
  width: 44px; height: 26px; border-radius: 999px;
  background: #c7cfdb; transition: background-color .18s ease; pointer-events: none;
}
body.tp-alerts-screen .tp-switch > span {
  top: 12px; left: 3px; width: 20px; height: 20px;
  margin: 0; padding: 0; transform: translateX(0); pointer-events: none;
  transition: transform .18s ease;
}
body.tp-alerts-screen .tp-switch.is-on::before { background: #2768d8; }
body.tp-alerts-screen .tp-switch.is-on > span { transform: translateX(18px); }
body.tp-alerts-screen .tp-switch:focus-visible { outline: 3px solid #93b7f5; outline-offset: 2px; }
body.tp-alerts-screen .tp-alerts-heading h2 { font-size: 28px; line-height: 36px; }
body.tp-alerts-screen #main .tp-alert-card h3 {
  margin: 3px 0 6px; font-family: 'DM Sans', sans-serif;
  font-size: 16px; line-height: 22px; font-weight: 700;
  white-space: normal; overflow-wrap: anywhere;
}
body.tp-alerts-screen .tp-alert-delivery { padding: 0; }
body.tp-alerts-screen #main .tp-alert-delivery h3 {
  margin: 0 0 12px; font-family: 'DM Sans', sans-serif;
  font-size: 18px; line-height: 24px; font-weight: 700;
}
body.tp-alerts-screen .tp-alert-delivery strong,
body.tp-alerts-screen .tp-alert-master-card strong { font-size: 15px; line-height: 21px; }
body.tp-alerts-screen .tp-alert-delivery small { white-space: normal; overflow-wrap: anywhere; line-height: 18px; }
@media (prefers-reduced-motion: reduce) {
  body.tp-alerts-screen .tp-switch::before,
  body.tp-alerts-screen .tp-switch > span { transition: none; }
}
@media (max-width: 1023px) {
  :root {
    --tp-appbar-height: 56px;
    --tp-bottom-nav-height: 52px;
    --tp-bottom-nav-item-height: 48px;
    --tp-shell-logo-mobile-height: 34px;
    --tp-page-gutter: 16px;
    --tp-title-size: 22px;
    --tp-title-line: 28px;
    --tp-section-size: 18px;
    --tp-section-line: 24px;
    --tp-body-size: 15px;
    --tp-secondary-size: 13px;
    --tp-control-height: 48px;
    --tp-target-size: 44px;
    --tp-card-padding: 14px;
    --tp-related-gap: 8px;
    --tp-component-gap: 16px;
    --tp-section-gap: 24px;
  }
  .tp-bottom-nav { box-sizing: border-box; padding-top: 3px; }
  /* The compact auth header uses its middle track through the tablet breakpoint. */
  body:is(.tp-auth-login,.tp-auth-recover,.tp-auth-register) .tp-auth-brand { grid-column: 2; }
  /* Keep Find's label aligned with the compact 48px navigation items. */
  .tp-bottom-nav__primary { translate: 0 -19px; }
  .tp-bottom-nav__primary-icon { box-sizing: border-box; width: 44px; height: 44px; flex: 0 0 44px; border-width: 0; box-shadow: none; }
  .tp-bottom-nav > a, .tp-bottom-nav > button { min-width: 0; }
  .tp-drawer-nav a, .tp-drawer-nav button { min-height: 44px !important; font-size: 14px !important; }
  .tp-drawer-nav a small, .tp-drawer-nav button small { font-size: 12px; }
  .tp-drawer-nav, .tp-drawer-nav p { margin-top: 16px; }
  .tp-drawer-profile strong, .tp-drawer-guest strong { font-size: 21px !important; line-height: 27px; }
  .tp-drawer__topbar button, .tp-role-switch button, .tp-sheet__close { min-width: 44px; min-height: 44px; }
}

@media (max-width: 767px) {
  .tp-discovery-home .tp-content { display: flow-root !important; height: auto !important; padding-bottom: calc(var(--tp-bottom-nav-height) + env(safe-area-inset-bottom) + 24px) !important; }
  .tp-discovery-home .tp-content #main { display: flow-root; float: none !important; }
  /* Form controls retain readable type and generous hit areas as artwork shrinks. */
  body.tp-journey :is(.tp-field,.tp-auth-form,.tp-account-form,.tp-comm-form,.tp-security-card,.trs-request-modal-dialog,.tpr-form) :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),select) {
    box-sizing: border-box; min-height: var(--tp-control-height) !important; height: auto !important;
    font-size: 16px !important; line-height: 22px !important;
  }
  body.tp-journey :is(.tp-field,.tp-auth-form,.tp-account-form,.tp-comm-form,.tpr-form) textarea { font-size: 16px !important; line-height: 23px !important; min-height: 96px !important; }
  body.tp-journey :is(.tp-field > span:first-child,.tp-field > label,.tp-comm-field > span:first-child) { font-size: 14px !important; line-height: 20px; }
  body.tp-journey :is(.tp-field > small,.tp-password-strength small,.tp-password-rules,.tp-editor-info,.tp-editor-tip) { font-size: 12px !important; line-height: 18px; }
  body.tp-journey :is(.tp-button,.tp-auth-submit,.tp-comm-primary,.tp-comm-secondary,.tp9-primary,.tp9-secondary) {
    min-height: var(--tp-control-height) !important; height: auto; padding-block: 10px !important;
    font-size: 15px !important; line-height: 22px !important; white-space: normal;
  }
  :is(.tp-password-control,.tp-password-input) > button { min-width: 44px; min-height: 44px; }
  :is(.tp-sheet,.trs-request-modal-dialog) { max-height: calc(100dvh - 16px); overscroll-behavior: contain; }
  .tp-sheet input[type=search] { min-height: 48px; font-size: 16px !important; }
  :is(.tp-filter-chip,.tp-filter-chips label,.tp-language-picker label span) { min-height: 44px; box-sizing: border-box; display: flex; align-items: center; font-size: 14px; }

  /* Utility typography: display typography is reserved for discovery/detail heroes. */
  body.tp-journey :is(.tp-auth-panel h1,.tp-security-card h1,.tp-password-heading h2,.tp-account-greeting h1,.tp-account-heading h1,.tp-account-form-heading h2,.tp9-page-heading h1,.tp8-page-heading h1,.tp8-inbox-heading h1,.tp10-reading-hero h1,.tp10-system-page h1,.tp9-unavailable h1,.gdpr-dam-account-hero h1) {
    font-size: var(--tp-title-size) !important; line-height: var(--tp-title-line) !important;
    letter-spacing: -.025em; height: auto !important; margin-block: 0 8px !important;
  }
  /* The remaining page templates share the same mobile title hierarchy. */
  body.tp-journey :is(.tp-guide-results__content > h1,.tp-destinations-intro h1,.hr-page__intro h1,.hr-experiences-page__header h1,.tp-experience-content > h1,.tp-public-copy h1,.tp8-new-heading h2,.tp8-new-title,.sms-wrap h2) {
    font-size: var(--tp-title-size) !important; line-height: var(--tp-title-line) !important;
    min-width: 0; max-width: 100%; white-space: normal; overflow-wrap: anywhere;
  }
  body.tp-journey :is(.hr-page__empty h2,.tp9-notification-empty h2,.gdpr-dam-account-page h2) {
    font-size: var(--tp-section-size) !important; line-height: var(--tp-section-line) !important;
  }
  :is(.tp-auth-panel h1,.tp-password-heading h2)::after { display: none !important; }
  :is(.tp-auth-intro,.tp8-page-heading p,.tp8-inbox-heading p,.tp9-page-heading p) { font-size: 15px !important; line-height: 22px !important; margin-block: 8px 16px !important; }

  /* Authentication and account forms share one gutter and compact decoration. */
  body.tp-auth-page .tp-auth-layout { padding-top: var(--tp-appbar-height) !important; min-height: 0 !important; }
  body.tp-auth-page .tp-auth-visual { width: calc(100% - 32px) !important; height: 112px !important; min-height: 0 !important; margin: 16px auto 0 !important; border-radius: 12px; }
  /* Login, recovery and registration retain full artwork at its natural aspect ratio. */
  body:is(.tp-auth-login,.tp-auth-recover,.tp-auth-register) .tp-auth-layout { grid-template-columns: minmax(0,1fr); }
  body:is(.tp-auth-login,.tp-auth-recover,.tp-auth-register) .tp-auth-visual { align-self: start; width: 100% !important; height: auto !important; margin: 0 !important; border-radius: 0; }
  body:is(.tp-auth-login,.tp-auth-recover,.tp-auth-register) .tp-auth-visual picture { height: auto; }
  body:is(.tp-auth-login,.tp-auth-recover,.tp-auth-register) .tp-auth-visual img { display: block; width: 100%; height: auto; margin: 0; object-fit: contain; }
  body.tp-auth-page .tp-auth-panel { width: 100% !important; padding: 16px !important; }
  body.tp-auth-page .tp-auth-form { gap: 16px; }
  body.tp-auth-page .tp-auth-form .tp-field { margin: 0 !important; }
  body.tp-auth-page .tp-auth-panel h1 { white-space: normal !important; }
  body.tp-journey :is(.tp-password-page,.tp-alerts-page) { width: 100% !important; padding-inline: 16px !important; }
  body.tp-journey .tp-account-dashboard { width: 100% !important; padding-inline: 0 !important; }
  .tp-password-illustration { height: 80px !important; margin: 16px auto !important; }
  .tp-password-illustration img { width: auto !important; max-width: 120px; height: 80px !important; object-fit: contain; }
  .tp-password-heading { margin: 0 0 16px !important; padding: 0 !important; }
  .tp-password-heading > p, .tp-security-card > .tp-eyebrow, .tp-security-back { display: none; }
  .tp-password-heading > span { font-size: 15px; line-height: 22px; }
  .tp-password-form { gap: 16px !important; }
  .tp-password-form .tp-field { margin: 0 !important; }
  .tp-password-strength { margin: -8px 0 0 !important; }
  .tp-security-layout { width: 100% !important; padding: 16px !important; gap: 16px !important; }
  .tp-security-art, .tp-security-art img { height: 80px !important; min-height: 0 !important; margin: 0 auto !important; object-fit: contain; }
  .tp-security-card { width: 100% !important; padding: 0 !important; margin: 0 !important; }
  .tp-security-card .tp-auth-form { gap: 16px; }
  .tp-current-email { overflow-wrap: anywhere; }
  .tp-account-section { margin-top: 24px !important; padding-top: 0 !important; }
  .tp-account-section h2 { font-size: var(--tp-section-size) !important; line-height: var(--tp-section-line); }
  .tp-alerts-heading { gap: 12px; flex-wrap: wrap; }
  .tp-alerts-heading h2 { max-width: 100%; }
  .tp-alert-card { grid-template-columns: 52px minmax(0,1fr) 44px !important; padding: 12px !important; gap: 8px 12px; }
  .tp-alert-card > img { width: 52px !important; height: 52px !important; }
  .tp-alert-card :is(small,p) { font-size: 12px !important; line-height: 18px; }
  .tp-alert-card__actions .tp-alert-action { min-height: 44px; font-size: 13px; padding-inline: 10px; }
  /* Preserve the 26px switch track while making its hit area 44px high. */
  .tp-switch { height: 44px; background-clip: content-box; padding-block: 9px; box-sizing: border-box; border-radius: 22px; }
  .tp-switch span { top: 12px; }

  /* One page gutter, rather than padding on both the shell and alerts section. */
  body.tp-alerts-screen .tp-content { width: 100%; padding-inline: 16px !important; }
  body.tp-alerts-screen .tp-alerts-page { max-width: none; padding-inline: 0 !important; }
  body.tp-alerts-screen .tp-alerts-heading { margin-bottom: 16px; gap: 12px; }
  body.tp-alerts-screen .tp-alerts-heading h2 {
    font-size: 22px !important; line-height: 28px !important; margin-bottom: 6px !important;
  }
  body.tp-alerts-screen .tp-alerts-heading > div > p { margin-bottom: 4px; font-size: 10px; }
  body.tp-alerts-screen .tp-alerts-heading > div > span { font-size: 13px; line-height: 19px; }
  body.tp-alerts-screen .tp-alerts-heading .tp-button {
    min-height: 44px !important; margin-top: 0; padding: 8px 14px !important;
    border-radius: 12px; font-size: 14px !important; line-height: 20px !important;
  }
  body.tp-alerts-screen .tp-alert-master-card { margin-top: 0; }
  body.tp-alerts-screen .tp-alert-card__actions { grid-column: 1 / -1; gap: 8px; }
  body.tp-alerts-screen .tp-alert-card__actions .tp-alert-action { min-height: 44px; }
  body.tp-alerts-screen .tp-alert-delivery > div { padding: 12px; gap: 10px; grid-template-columns: 34px minmax(0,1fr) auto; }
  body.tp-alerts-screen .tp-alert-delivery .tp-account-menu-icon { width: 34px; height: 34px; font-size: 17px; }

  /* Profile editing has its own compact header action cluster. */
  body.tp-profile-edit-screen .tp-profile-edit-bar { min-height: 56px !important; height: 56px !important; }
  body.tp-profile-edit-screen .tp-profile-edit-bar :is(button,a) { min-height: 44px; }
  body.tp-profile-edit-screen .tp-profile-edit-bar h1 { font-size: 20px; line-height: 26px; }
  body.tp-profile-edit-screen .tp-profile-photo-field { padding-top: 16px !important; }
  body.tp-profile-edit-screen .tp-profile-photo-trigger { width: 24px; height: 24px; min-width: 24px; min-height: 24px; font-size: 12px; }
  body.tp-profile-edit-screen .tp-profile-specialty-summary button { width: 24px; height: 24px; min-width: 24px; min-height: 24px; font-size: 13px; }
  body.tp-profile-edit-screen :is(.tp-profile-location-search__trigger,.tp11-language-summary button,.tp-profile-contact-row,.tp-profile-contact-detail button:not(.tp-profile-contact-verify)) { min-height: 44px; height: auto; font-size: 14px; }
  body.tp-profile-edit-screen .tp-profile-contact-detail__heading {
    display: flex !important; width: 100% !important; min-width: 0 !important; align-items: center !important;
    justify-content: space-between !important; flex-wrap: nowrap !important; gap: 8px !important;
  }
  body.tp-profile-edit-screen .tp-profile-contact-detail__heading label {
    display: inline-block !important; width: auto !important; min-width: 0 !important; margin: 0 !important;
    padding: 0 !important; float: none !important; clear: none !important; font-size: 12px !important; line-height: 16px !important;
  }
  body.tp-profile-edit-screen .tp-profile-contact-detail__heading label::after { display: inline !important; margin-left: 3px !important; }
  body.tp-profile-edit-screen .tp-profile-contact-detail__heading .tp-profile-contact-verify {
    display: inline-flex !important; width: auto !important; min-width: 0 !important; min-height: 0 !important;
    height: 14px !important; flex: 0 0 auto !important; align-items: center !important; gap: 3px !important;
    margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important;
    background: transparent !important; color: #c62828 !important; font-size: 12px !important;
    font-weight: 600 !important; line-height: 14px !important; white-space: nowrap !important;
  }
  body.tp-profile-edit-screen .tp-profile-contact-detail__heading .tp-profile-contact-verify i { font-size: 7px !important; }
  body.tp-profile-edit-screen .tp-profile-contact-detail__heading .tp-profile-contact-verify.is-counting-down,
  body.tp-profile-edit-screen .tp-profile-contact-detail__heading .tp-profile-contact-verify.is-sending { color: #7585a4 !important; }
  body.tp-profile-edit-screen .tp-profile-contact-detail__heading .tp-profile-contact-verify.is-resend-ready { color: #0758e8 !important; }

  /* Keep the phone-verification illustration close to the shared mobile header. */
  body.sms-customize-body .tp-content { padding-top: 0 !important; }
  body.sms-customize-body .sms-body .sms-box { margin-top: 0 !important; }

  body.tp-profile-edit-screen :is(.tp-profile-specialty-summary > span,.tp-profile-specialty-options span,.tp-profile-add-specialty) { box-sizing: border-box; min-height: 28px; font-size: 13px; }
  body.tp-profile-edit-screen .tp-account-form-card { margin-bottom: 16px !important; padding: 14px !important; }
  body.tp-profile-edit-screen :is(.tp-account-form-card h2,.tp-account-form-card h3) { font-size: 18px !important; line-height: 24px; }
  body.tp-profile-edit-screen .tp-guide-request-setting { position: static; clear: both; }

  /* Saved lists and notifications: no nested viewport-height empty state. */
  .tp9-saved-empty { min-height: 0 !important; padding: 32px 0 !important; }
  .tp9-saved-empty h2 { font-size: var(--tp-section-size) !important; line-height: var(--tp-section-line); }
  .tp9-empty-icon { width: 56px !important; height: 56px !important; font-size: 26px !important; }
  .tp9-page-heading { margin: 16px 0 !important; gap: 12px; flex-wrap: wrap; }
  .tp9-page-heading h1 { margin-top: 0 !important; }
  .tp9-saved-tabs, .tp9-notification-tabs { margin-bottom: 16px; gap: 8px; }
  .tp9-saved-tabs a, .tp9-notification-tabs a { min-height: 44px !important; padding-inline: 8px !important; font-size: 14px !important; }
  /* Existing content participates in the card grid; price and View share its last row. */
  .tp9-experience-list { gap: 12px; }
  .tp9-experience-card { grid-template-columns: 88px minmax(0,1fr) auto; grid-template-rows: auto auto auto 44px; gap: 4px 12px; padding: 10px; border-radius: 14px; }
  .tp9-experience-card__image { position: relative; grid-column: 1; grid-row: 1 / 5; min-height: 118px; border-radius: 9px; }
  .tp9-experience-card__image > .tpri-picture, .tp9-experience-card__image img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; min-height: 0; object-fit: cover; }
  .tp9-experience-card__body { display: contents; }
  .tp9-experience-card__body p { grid-column: 2 / 4; grid-row: 1; margin: 0; padding-right: 44px; font-size: 11px; line-height: 16px; letter-spacing: .02em; overflow-wrap: anywhere; }
  .tp9-experience-card__body h2 { display: block; grid-column: 2 / 4; grid-row: 2; padding-right: 44px; font-size: 16px; line-height: 21px; -webkit-line-clamp: unset; overflow: visible; overflow-wrap: anywhere; }
  .tp9-experience-card__body small { grid-column: 2 / 4; grid-row: 3; margin: 0; font-size: 12px; line-height: 17px; }
  .tp9-experience-card__body > strong { grid-column: 2; grid-row: 4; align-self: center; margin: 0; font-size: 16px; line-height: 21px; overflow-wrap: anywhere; }
  .tp9-experience-remove { position: absolute; grid-column: auto; grid-row: auto; top: 6px; right: 6px; }
  .tp9-experience-remove button { width: 44px; height: 44px; font-size: 17px; box-shadow: none; }
  body.tp-journey .tp9-experience-card > .tp9-primary { grid-column: 3; grid-row: 4; justify-self: end; align-self: center; width: auto; min-width: 80px; min-height: 44px !important; height: auto; box-sizing: border-box; gap: 8px; padding: 0 12px !important; border-radius: 9px; font-size: 14px !important; line-height: 20px !important; }
  .tp9-experience-card > .tp9-primary i { font-size: 14px; }
  .tp9-guide-card { grid-template-columns: 64px minmax(0,1fr) !important; gap: 12px !important; padding: 16px 0 !important; }
  .tp9-guide-card__portrait { width: 64px !important; height: 64px !important; }
  .tp9-guide-remove { top: 16px; }
  .tp9-guide-card__body h2 { font-size: 18px !important; line-height: 24px; margin-top: 0; white-space: normal; }
  .tp9-guide-card__tagline, .tp9-guide-card li { font-size: 13px !important; line-height: 19px; }
  .tp9-guide-card ul { gap: 8px; }
  .tp9-notification-row { min-height: 80px !important; padding-block: 12px !important; }
  .tp9-notification-row > i { width: 36px !important; height: 36px !important; font-size: 18px !important; }
  .tp9-notification-row strong { font-size: 15px !important; line-height: 21px; white-space: normal !important; }
  .tp9-notification-row p, .tp9-notification-row small { font-size: 13px !important; line-height: 19px; }
  .tp9-unavailable__art, .tp9-unavailable__art img { width: 144px !important; height: 144px !important; margin: 16px auto !important; object-fit: contain; }

  /* Compact profile hierarchy within the shared search card. */
  .tp-guide-results__content { padding-inline: 16px !important; }
  .tp-stage4-guide-results .tp-guide-result-card { padding: 10px 12px; }
  .tp-stage4-guide-results .tp-guide-result-card__main { grid-template-columns: 72px minmax(0,1fr); }
  .tp-guide-result-card__avatar, .tp-guide-result-card__avatar img { width: 72px !important; height: 72px !important; }
  .tp-stage4-guide-results .tp-guide-result-card__details h2 { font-size: 18px; line-height: 21px; padding-inline-end: 34px; }
  .tp-stage4-guide-results .tp-guide-result-card__details > p { font-size: 13px; line-height: 17px; }
  .tp-guide-result-group > h2 { font-size: 16px !important; margin-block: 16px 12px !important; }

  /* Requests use flow layout; fixed coordinates cannot accommodate real copy. */
  .tp-stage8-tours .tp8-page { padding-bottom: calc(var(--tp-bottom-nav-height) + env(safe-area-inset-bottom) + 24px) !important; }
  .tp-stage8-tours .tp8-page-heading { padding: 16px !important; }
  .tp-stage8-tours .tp8-role-switch { height: auto !important; margin: 0 16px 12px !important; }
  .tp-stage8-tours .tp8-role-switch button { min-height: 44px !important; font-size: 14px !important; white-space: normal; }
  .tp-stage8-tours .tp8-state-tabs { height: auto !important; padding: 0 16px !important; }
  .tp-stage8-tours .tp8-state-tabs button { min-height: 44px !important; font-size: 14px !important; }
  .tp-stage8-tours .tp8-tour-list { padding: 16px 16px 0 !important; gap: 16px !important; }
  .tp-stage8-tours .tp8-tour-card { min-height: 0 !important; padding: 12px !important; display: none; border: 1px solid #dce3ee !important; border-radius: 16px; background: #fff; box-shadow: 0 3px 10px rgba(7,26,77,.07); }
  .tp-stage8-tours .tp8-tour-card.is-visible { display: grid; grid-template-columns: minmax(0,1fr); gap: 8px; }
  body.tp-stage8-tours .tp8-tour-person { grid-template-columns: 48px minmax(0,1fr); gap: 4px 12px; padding: 0; }
  .tp-stage8-tours .tp8-tour-person img { grid-column: 1; grid-row: 1 / 3; box-sizing: border-box; width: 48px; height: 48px; padding: 2px; border: 1px solid #d7e3ff; background: #f3f7ff; }
  .tp-stage8-tours .tp8-tour-person > span:nth-child(2) { grid-column: 2; grid-row: 1; align-self: end; padding: 0; }
  .tp-stage8-tours .tp8-tour-person strong { font-family: var(--tp-font-ui); font-size: 18px; line-height: 24px; white-space: normal; overflow-wrap: anywhere; }
  .tp-stage8-tours :is(.tp8-tour-card h3,.tp8-tour-facts,.tp8-tour-status,.tp8-tour-note,.tp8-tour-actions) { position: static !important; width: auto !important; max-width: none; margin: 0 !important; padding: 0; }
  body.tp-stage8-tours .tp8-tour-status { grid-column: 2; grid-row: 2; justify-self: start; display: inline-flex; align-items: center; gap: 6px; padding: 3px 7px; border: 1px solid #ffd9ce; border-radius: 8px; background: #fff0eb; color: #c4412d; font-size: 12px; font-weight: 500; line-height: 18px; text-align: start; }
  body.tp-stage8-tours .tp8-tour-status::before { flex: 0 0 auto; margin: 0; }
  body.tp-stage8-tours .tp8-tour-status.is-upcoming { color: #257653; background: #e6f8ef; border-color: #c8e7d8; }
  body.tp-stage8-tours .tp8-tour-status.is-past { color: #52658d; background: #eef2f7; border-color: #dce3ee; }
  body.tp-stage8-tours .tp8-tour-card h3 { width: auto !important; font-family: var(--tp-font-ui); font-size: 16px; font-weight: 600; line-height: 22px; overflow-wrap: anywhere; }
  body.tp-stage8-tours .tp8-tour-facts { display: flex; flex-wrap: wrap; gap: 6px; background: transparent; }
  body.tp-stage8-tours .tp8-tour-facts > span { display: inline-flex; align-items: center; gap: 6px; min-height: 28px; box-sizing: border-box; padding: 4px 6px; border-radius: 7px; background: #eef3ff; white-space: nowrap; }
  .tp-stage8-tours .tp8-tour-facts :is(span,b) { font-size: 13px; line-height: 18px; }
  body.tp-stage8-tours .tp8-tour-facts :is(i,b) { color: #071a4d; }
  body.tp-stage8-tours .tp8-tour-facts i { font-size: 14px; }
  body.tp-stage8-tours .tp8-tour-facts b { font-weight: 500; }
  body.tp-stage8-tours .tp8-tour-note { display: grid; grid-template-columns: 18px minmax(0,1fr); gap: 10px; padding: 10px; border: 1px solid #dce5fb; border-radius: 9px; background: #f7faff; color: #071a4d; overflow: visible; font-size: 13px; line-height: 19px; -webkit-line-clamp: unset; }
  body.tp-stage8-tours .tp8-tour-note > .tp8-tour-quote { display: block; margin-top: 2px; color: #0757e8; font-size: 16px; }
  .tp-stage8-tours .tp8-tour-note > span { min-width: 0; overflow-wrap: anywhere; }
  .tp-stage8-tours .tp8-tour-actions { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .tp-stage8-tours .tp8-tour-actions > form { display: flex; min-width: 0; margin: 0 !important; padding: 0; border: 0; }
  .tp-stage8-tours .tp8-tour-actions .tp8-btn { box-sizing: border-box; min-width: 0; margin: 0 !important; padding: 0 12px !important; border-radius: 9px; font-weight: 600; line-height: 20px; }
  .tp-stage8-tours .tp8-tour-actions .tp8-btn-secondary { border-color: #0757e8; }
  /* The card grid supplies the gap; discard the old absolute-layout offset. */
  body.tp-stage8-tours .tp8-review-panel { margin-top: 0; }
  .tp-stage8-tours .tp8-btn { min-height: 44px !important; padding: 10px 12px; font-size: 14px !important; white-space: normal; }
  .tp-stage8-tours .tp8-safety { position: static; top: auto; margin: 24px 16px 0 !important; grid-template-columns: 28px minmax(0,1fr); column-gap: 12px; font-size: 13px; }
  .tp-stage8-tours .tp8-safety > i { width: 28px; height: 28px; margin-inline-end: 0; font-size: 14px; }
  .tp-stage8-tours .tp8-safety span { max-width: none; }
  .trs-request-modal-dialog { box-sizing: border-box; padding: 56px 16px 16px !important; overflow-y: auto; }
  .trs-request-modal-close { width: 44px !important; height: 44px !important; top: 8px; right: 8px; }
  .trs-request-modal h2 { font-size: var(--tp-title-size) !important; line-height: var(--tp-title-line) !important; }
  .trs-request-modal :is(input,select) { font-size: 16px !important; min-height: 48px !important; }
  .trs-request-modal-actions button { min-height: 48px !important; font-size: 15px; }
  .trs-request-modal-safety { font-size: 13px !important; line-height: 19px; }

  /* Message list, linked experience and composer. Natural conversation space stays. */
  .tp8-inbox-heading { height: auto !important; padding: 16px !important; }
  .tp8-inbox-heading p { margin-bottom: 0 !important; }
  .tp8-thread-list { padding-inline: 16px !important; }
  .tp8-thread { min-height: 88px !important; padding-block: 12px !important; }
  .tp8-thread img { width: 48px !important; height: 48px !important; }
  :is(.im-chat-back,.im-chat-menu) { min-width: 44px; min-height: 44px; }
  .tp8-linked-request { min-height: 80px !important; padding: 12px 16px !important; gap: 12px; }
  .tp8-linked-image, .tp8-linked-image img { width: 64px !important; height: 48px !important; }
  .im-line.im-message-content { font-size: 15px !important; line-height: 21px !important; }
  body.im-chat-page .im-textarea { min-height: 48px !important; font-size: 16px !important; line-height: 22px !important; }
  body.im-chat-page .im-button-green.im-button-alt { min-width: 44px; min-height: 44px; }

  /* Owner listings are utility rows; editor artwork is contextual. */
  .tp-listing-manager { width: 100% !important; padding-inline: 16px !important; }
  .tp-listing-card { grid-template-columns: 96px minmax(0,1fr) !important; gap: 12px; padding: 12px; border-color: #e1e6ee; border-radius: 18px; box-shadow: 0 3px 10px rgba(26,43,76,.06); }
  .tp-listing-card__image, .tp-listing-card__draft-image { grid-row: 1; min-height: 96px !important; height: 96px !important; border-radius: 12px; }
  .tp-listing-card__image { align-self: start; overflow: hidden; }
  .tp-listing-card__image > .tpri-picture, .tp-listing-card__image img { display: block; width: 96px; height: 96px; border-radius: 12px; }
  .tp-listing-card__body { display: grid; grid-template-columns: minmax(0,1fr); align-content: start; gap: 8px; padding: 0 !important; }
  .tp-listing-card__top { grid-column: 1 / -1; position: relative; display: grid; grid-template-columns: minmax(0,1fr) 44px; gap: 4px; padding-right: 0; }
  .tp-listing-card__top h2 { font-family: var(--tp-font-ui); font-size: 16px !important; font-weight: 700; line-height: 23px; overflow-wrap: anywhere; }
  .tp-listing-card__menu { position: static; box-sizing: border-box; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; font-size: 16px; }
  .tp-listing-card__price { min-height: 30px; padding: 6px 8px; border-radius: 8px; font-size: 13px; text-align: center; }
  .tp-listing-card > .tp-listing-card__footer { grid-column: 1 / -1; grid-row: 2; gap: 8px; padding: 0 !important; }
  .tp-listing-card__footer > .tp-listing-card__status { width: 80px; min-height: 34px; }
  .tp-listing-card > .tp-listing-card__footer > a { box-sizing: border-box; justify-content: center; width: 80px; min-height: 44px; padding: 0 10px; gap: 8px; border: 1px solid #2768d8; border-radius: 9px; font-size: 14px; font-weight: 600; line-height: 20px; }
  .tp-listing-card__popover :is(a,button) { min-height: 44px; box-sizing: border-box; }
  .tp-listing-add-card { min-height: 80px !important; }
  .tp-listing-tabs :is(a,button) { min-height: 44px !important; font-size: 13px !important; }
  .tp-edit-summary { width: 100%; grid-template-columns: 80px minmax(0,1fr) !important; min-height: 80px; gap: 12px; }
  .tp-edit-summary > img, .tp-edit-summary > .tpri-picture { width: 80px !important; height: 64px !important; }
  .item.item-post .tp-edit-summary h2 { font-size: 15px !important; line-height: 21px; margin-bottom: 8px; }
  .tp-edit-summary small { font-size: 12px; white-space: normal; }
  .tp-edit-group-title { margin-top: 24px !important; font-size: 20px !important; }
  .tp-stage6 .tp-editor-step { padding: 16px !important; }
  .tp-editor-step > header { gap: 12px; margin-bottom: 16px; }
  .tp-editor-step > header > div { min-width: 0; }
  .tp-editor-step > header h2 { font-size: 20px !important; line-height: 26px !important; }
  .tp-editor-step > header p { font-size: 13px; line-height: 19px; }
  .tp-editor-basics-cover, .tp-editor-basics-cover img { min-height: 144px; height: 144px; }
  .tp-editor-basics-cover:not(.has-cover) { height: auto; }
  .tp-editor-basics-cover > button, .tp-photo-enlarge, .tp-photo-delete { min-height: 44px !important; min-width: 44px !important; font-size: 14px; }
  .tp-editor-photo-guidance { padding: 12px !important; margin-block: 12px !important; }
  .tp-itinerary-fields { padding: 0; border: 0; background: transparent; }
  .tp-language-picker { padding: 12px; }
  .tp-language-picker > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .tp-language-picker label span { height: auto !important; font-size: 14px !important; padding: 8px; }
  .tp-pricing-method label > span { min-height: 56px; }
  .tp-pricing-method label small { font-size: 12px; }

  /* Context blocks and safety copy use flexible columns, including guest gates. */
  .tp-comm-page { display: flow-root !important; min-height: 0 !important; }
  .tp-comm-page > :is(section,form,p) { float: none !important; clear: both; }
  :is(.tp-comm-heading,.tp-comm-form,.tp-share-primary-action) { padding-inline: 16px !important; }
  .tp-comm-heading { padding-block: 16px !important; }
  .tp-comm-heading h2 { font-size: var(--tp-title-size) !important; line-height: var(--tp-title-line) !important; }
  .tp-comm-listing, .tp-share-listing { width: auto !important; margin-inline: 16px !important; grid-template-columns: 64px minmax(0,1fr) !important; gap: 12px; padding-block: 12px !important; }
  .tp-comm-listing img, .tp-share-listing img { width: 64px !important; height: 48px !important; object-fit: cover; }
  .tp-comm-listing small, .tp-share-listing small { font-size: 13px !important; }
  .tp-comm-guide { width: auto !important; margin-inline: 16px !important; padding: 12px 0 !important; min-height: 0 !important; }
  .tp-comm-guide img { width: 40px !important; height: 40px !important; }
  .tp-comm-page .tp-comm-safety { position: static !important; display: flex !important; float: none !important; width: auto !important; max-width: none !important; gap: 8px; margin: 24px 16px !important; padding: 0 !important; font-size: 13px !important; line-height: 19px; }
  .tp-comm-page .tp-comm-safety > i { position: static !important; flex: 0 0 20px; width: 20px !important; margin: 0 !important; font-size: 18px; }
  .tp-comm-page .tp-comm-safety > span { position: static !important; display: block; flex: 1; min-width: 0; width: auto !important; margin: 0 !important; white-space: normal; overflow-wrap: anywhere; }
  .tp-recipient-remove { min-width: 44px; min-height: 44px; }
  .tp-share-messages label { min-height: 56px !important; height: auto; padding-block: 12px !important; font-size: 14px !important; }
  .tp-email-preview summary { min-height: 48px; display: flex; align-items: center; gap: 8px; cursor: pointer; color: var(--tp-text); font-size: 16px; font-weight: 700; }
  .tp-email-preview summary::before { content: '+'; font-size: 22px; }
  .tp-email-preview[open] summary::before { content: '−'; }
  .tp-email-preview > div { min-height: 0 !important; }
  .tp-support-illustration { width: 80px !important; height: 80px !important; margin: 16px auto 0 !important; }
  .tp-support-page :is(input[type=text],input[type=email]) { border: 1px solid var(--tp-border) !important; border-radius: 12px; }

  /* Help, legal and status screens retain readable long-form copy. */
  .tp10-reading-page { width: 100% !important; padding: 16px !important; }
  .tp10-reading-hero { margin-top: 0 !important; }
  .tp10-reading-page > section { padding-inline: 0 !important; margin-top: 24px; }
  .tp10-reading-page :is(h2,h3) { font-size: var(--tp-section-size) !important; line-height: var(--tp-section-line) !important; }
  .tp10-reading-page p { margin-bottom: 12px; }
  .tp10-reading-page article h2 { margin-top: 24px; }
  .tp10-notification-state { grid-template-columns: 40px minmax(0,1fr) !important; gap: 12px !important; min-height: 0 !important; }
  .tp10-notification-state > span, .tp10-notification-state > i { width: 40px !important; height: 40px !important; font-size: 20px !important; }
  .tp10-checks :is(details,summary,div,p,li) { min-width: 0; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
  .tp10-checks p { width: auto !important; }
  .tp10-version h2 { font-size: var(--tp-section-size) !important; }
  .tp10-system-page { width: 100% !important; margin: 0 !important; padding: 24px 16px !important; }
  .tp10-system-page :is(.tp10-system-art,img) { max-width: 160px !important; max-height: 160px !important; object-fit: contain; margin-inline: auto; }
  .gdpr-dam-account-illustration { width: 80px !important; height: 80px !important; object-fit: contain; }
  .gdpr-dam-account-hero h1 { margin-top: 16px !important; }

  /* Intentional exceptions: discovery heroes, uploaded covers and full galleries. */
  .tp-discovery-heading h2 { font-size: var(--tp-section-size) !important; line-height: var(--tp-section-line) !important; white-space: normal !important; }
  .tp-discovery-heading { gap: 12px; align-items: center; }
  .tp-discovery-heading > a { flex-shrink: 0; min-height: 44px; display: inline-flex; align-items: center; }
  /* Compact homepage section labels; keep destination copy and actions separate. */
  .tp-discovery-home :is([data-hr-home-recommendation],[data-tp-local-guides],[data-hr-local-experiences]) .tp-discovery-heading {
    gap: 8px; align-items: center;
  }
  .tp-discovery-home :is([data-hr-home-recommendation],[data-tp-local-guides],[data-hr-local-experiences]) .tp-discovery-heading h2 {
    flex: 1 1 0; min-width: 0; gap: 7px;
    font-size: clamp(15px, 4vw, 16px) !important; line-height: 22px !important;
  }
  .tp-discovery-home :is([data-hr-home-recommendation],[data-tp-local-guides],[data-hr-local-experiences]) .tp-discovery-heading h2 > span:last-child {
    min-width: 0; overflow-wrap: anywhere;
  }
  .tp-discovery-home :is(.hr-home-recommendation__title-icon,.tp-local-guides-title__icon,.hr-local-experiences__title-icon) {
    flex: 0 0 26px; width: 26px; height: 26px !important;
    border-radius: 8px; font-size: 12px; line-height: 1;
  }
  .tp-discovery-home :is([data-hr-home-recommendation],[data-tp-local-guides],[data-hr-local-experiences]) .tp-discovery-heading > a {
    flex: 0 0 auto; min-width: 44px; min-height: 44px;
    font-size: 11px; line-height: 16px; white-space: nowrap;
  }
  .hr-experience-card__title { font-size: 15px !important; line-height: 21px !important; }
  .hr-experience-card__location, .hr-experience-card__rating, .hr-experience-card__guide { font-size: 12px !important; line-height: 18px !important; }
  .hr-experience-card__price { font-size: 14px !important; line-height: 20px !important; }
  .hr-experience-card__body { padding: 12px !important; min-height: 0 !important; }
  .hr-experience-card__metrics { margin-top: 8px !important; gap: 8px; flex-wrap: wrap; }
  .tp-discovery-categories { margin-bottom: 24px !important; padding-bottom: 0 !important; }
  .tp-category-chips { gap: 8px !important; }
  .tp-category-chips .tp-chip { min-height: 44px; padding: 8px 12px; font-size: 14px; }
  .tp-category-more summary { min-height: 44px; display: flex; align-items: center; margin-top: 12px; color: var(--tp-brand-600); font-size: 15px; cursor: pointer; }
  .tp-category-more { grid-column: 1 / -1; }
  .tp-category-more > .tp-category-chips { margin-top: 8px; }
  .tp-guide-profile-avatar-wrap, .tp-guide-profile-avatar, .tp-guide-profile-avatar img { width: 80px !important; height: 80px !important; }
  .tp-guide-profile-avatar-wrap { top: -40px; }
  .tp-guide-profile-avatar-wrap .tp-guide-presence { width: 18px; height: 18px; }
  .tp-guide-profile-intro h1 { font-size: var(--tp-title-size) !important; line-height: var(--tp-title-line); }

  /* Establish block formatting contexts where the legacy theme floats sections. */
  body.tp-profile-edit-screen .tp-account-form-card { display: flow-root !important; float: none !important; clear: both; }
  body.tp-profile-edit-screen .tp-profile-edit-bar h1 { font-size: 20px !important; line-height: 26px !important; }
  body.tp-profile-edit-screen .tp-profile-contact-status > button,
  body.tp-profile-edit-screen .tp11-card-heading .tp11-text-button { min-width: 44px; min-height: 44px !important; font-size: 14px !important; }
  body.tp-profile-edit-screen .tp11-language-summary button[data-tp-language-expand] {
    width: auto !important; min-width: 24px !important; height: 24px !important; min-height: 24px !important;
    padding: 0 7px !important; border-radius: 7px !important; font-size: 11px !important; line-height: 1;
  }
  body.tp-profile-edit-screen .tp11-language-summary :is(span,b) { font-size: 13px; min-height: 28px; }
  body.tp-profile-edit-screen :is(.tp-profile-language-help,.tp-profile-contact-help,.tp11-switch-row small) { font-size: 13px !important; line-height: 19px; }
  body.tp-profile-edit-screen .tp-field textarea { font-weight: 400; }
  .tp-security-card h1::after { display: none !important; }
  .tp-security-card h1 { padding-bottom: 0 !important; border-bottom: 0 !important; }
  .tp-security-page .tp-content { padding-inline: 0 !important; }
  .tp-stage9 .tp-content { padding-inline: 16px !important; }
  .tp-stage10-reading .tp-content { padding: calc(var(--tp-appbar-height) + 16px) 16px 32px !important; }
  .tp10-reading-page { padding: 0 !important; }
  .tp10-notification-state { padding: 14px !important; }
  .tp10-notification-state > div { min-width: 0; }
  .tp10-reading-page .tp10-notification-state { margin-bottom: 24px; }
  .tp10-system-page :is(.tp10-primary-action,.tp10-outline-action) { min-height: 48px !important; }
  .tp10-system-actions { max-width: 100%; margin-top: 24px !important; }
  .tp-guide-result-group > h2 { display: none; }
  body.im-chat-page.tp-stage8-screen .tp8-linked-request { grid-template-columns: 64px minmax(0,1fr) !important; height: auto !important; padding: 12px !important; }
  body.im-chat-page.tp-stage8-screen .tp8-linked-request strong { font-size: 14px; line-height: 20px; }
  .tp8-linked-request :is(small,em) { font-size: 12px; line-height: 18px; }
  .tp8-linked-side { grid-column: 2; display: flex !important; flex-wrap: wrap; align-items: center; gap: 8px; }
  .tp8-linked-side b { font-size: 12px; }
  .tp8-linked-side a { min-height: 44px; display: inline-flex; align-items: center; font-size: 13px; }
  body.im-chat-page.tp-stage8-screen .im-file-messages .im-message-content { font-size: 15px !important; line-height: 21px !important; }
  .trs-request-date-control:not(.has-value) .trs-request-date-placeholder { display: block !important; }
  .trs-request-date-control.has-value .trs-request-date-placeholder { display: none !important; }
  .trs-request-date-control:not(.has-value) input:required:invalid,
  .trs-request-date-control:not(.has-value) input:required:invalid::-webkit-datetime-edit { color: transparent !important; }
  .tp-listing-tabs { height: auto !important; }
  .tp-listing-manager { padding-inline: 0 !important; }
  .tp-stage6-listings .tp-content { padding-inline: 16px !important; }
  .tp-listing-card__body .tp-listing-card__meta { grid-column: 1 / -1; grid-row: 2; margin: 0; font-size: 13px; }
  .tp-stage6-editor .tp-editor-step { margin-inline: 16px !important; }
  .tp-stage6-editor .tp-editor-step > header > span { width: 32px; height: 32px; flex-basis: 32px; }
  .tp-stage6-editor .tp-editor-step > header p { font-size: 13px; }
  .tp-stage6-editor .tp-quality-card { padding: 14px !important; min-height: 0 !important; }
  .tp-category-chips { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tp-category-chips .tp-chip { white-space: normal; width: 100%; box-sizing: border-box; }

  .tp9-notification-row { position: relative; display: grid; grid-template-columns: 44px minmax(0,1fr) 16px !important; gap: 4px 8px; }
  .tp9-notification-row__icon { grid-column: 1; grid-row: 1 / 3; width: 36px !important; height: 36px !important; }
  .tp9-notification-row__copy { grid-column: 2; grid-row: 1; min-width: 0; }
  .tp9-notification-row__copy strong { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; white-space: normal !important; }
  .tp9-notification-row__copy small { white-space: normal !important; }
  .tp9-notification-row > time { grid-column: 2; grid-row: 2; position: static !important; font-size: 12px; }
  .tp9-notification-row > .tp9-row-chevron { grid-column: 3; grid-row: 1 / 3; }
  .tp9-unread-dot { position: absolute; left: 30px; top: 10px; }
  .tp9-page-heading h1 { white-space: normal; }
  .tp9-notifications .tp9-page-heading form { margin: 0; }
  .tp8-inbox-heading p { display: none; }
  .tp8-inbox-search { margin-inline: 16px; min-height: 48px !important; }
  .tp8-inbox-search input { min-height: 46px; font-size: 16px !important; }
  .tp8-filter-chips { padding-inline: 16px; }
  .tp8-filter-chips button { min-height: 44px; font-size: 13px; }
  .tp8-thread { grid-template-columns: 48px minmax(0,1fr) auto !important; }
  .tp8-thread-avatar { width: 48px !important; height: 48px !important; }
  .tp8-thread strong { font-size: 15px !important; }
  .tp8-thread :is(p,small) { font-size: 13px !important; line-height: 19px; }
  .tp8-inline-confirm { padding: 14px !important; }
  .tp8-inline-confirm p { font-size: 13px !important; line-height: 19px; }
  .tp11-filter-collapsible { --tp11-chip-row-height: 44px; }
  .tp11-filter-chips span, .tp11-rating-options span, .tp11-check-row, .tp11-filter-expand { min-height: 44px; font-size: 13px; }
  .tp11-search input, .tp11-filter-field input { min-height: 48px; font-size: 16px !important; }
  .tp11-language-sheet .tp11-search input { min-height: 43px; font-size: 14px !important; }
  .tp11-sheet { max-height: calc(100dvh - 16px); }
  .tp11-sheet-scroll { min-height: 0; }
  .tp11-language-row { grid-template-columns: 25px minmax(52px,1fr) minmax(94px,1.25fr) 29px; min-height: 43px; padding-block: 2px; gap: 4px; }
  .tp11-language-row select { grid-column: auto; grid-row: auto; height: 32px; font-size: 11px; }
  .tp11-language-row .tp11-remove-language { grid-column: auto; grid-row: auto; }
  .tp11-language-row button { width: 29px; height: 36px; }
  .tp11-sheet-actions { padding-inline: 16px; }
  /* Android's native container already reserves the system navigation area. */
  .tp-experience-request-bar { min-height: 64px !important; padding: 8px 16px calc(8px + var(--tp-shell-safe-bottom, env(safe-area-inset-bottom))) !important; gap: 12px; }
  .tp-experience-request-bar:has(> .tp-pricing-card) { min-height: 64px !important; }
  .tp-experience-request-bar > .tp-pricing-card { min-height: 48px; padding: 6px 8px; grid-template-columns: 20px minmax(0,1fr); gap: 8px; border-radius: 12px; }
  .tp-experience-request-bar > .tp-pricing-card > i { font-size: 20px; }
  .tp-experience-request-bar .tp-experience-request-action :is(.tp-button,button,a,.trs-request-button) { min-height: 48px !important; border-radius: 12px !important; font-size: 15px; }
  .tp-experience-guide :is(small,em,.tp-guide-badge) { font-size: 12px !important; }
  .tp-experience-guide > div { min-width: 0; }
  .tp-city-experience { grid-template-columns: 96px minmax(0,1fr) !important; gap: 12px; }
  .tp-city-experience > img, .tp-city-experience > picture { width: 96px !important; height: 80px !important; object-fit: cover; }
  .tp-city-experience strong { font-size: 16px !important; line-height: 22px; }
  .tp-city-coming-soon { min-height: 0 !important; padding: 16px !important; }
  .tp-city-coming-soon h2 { font-size: var(--tp-section-size) !important; line-height: var(--tp-section-line); }
  .hr-guide-card__body { min-height: 0 !important; padding: 14px !important; }
  .hr-guide-card__guide { margin-top: 12px !important; }
  .tp10-highlight { grid-template-columns: 40px minmax(0,1fr); gap: 12px; min-height: 72px; padding-block: 12px; }
  .tp10-highlight > span { width: 40px !important; height: 40px !important; font-size: 20px; }
  .tp10-reading-page .tp10-highlight h3 { font-size: 18px !important; line-height: 24px !important; }
  .tp10-highlight p { font-size: 14px; line-height: 21px; }
  .tp10-outline-action, .tp10-help-tabs a, .tp10-help-tabs button { min-height: 44px !important; }
  .tp10-help-search input { height: 48px !important; font-size: 16px; }
  .tp10-help-empty > span { width: 56px !important; height: 56px !important; }
  .tp10-help-item > span { width: 32px; height: 32px; }
  .tp10-article-body h2, .tp10-legal-body h2 { font-size: 21px !important; line-height: 28px !important; margin-top: 24px !important; }
  .tp10-article-body p, .tp10-legal-body p { font-size: 16px; line-height: 25px; margin-bottom: 12px !important; }
  .tp-share-control-page .tp-comm-state { min-height: 0 !important; margin: 24px 16px !important; padding: 0 !important; }
  .tp-comm-state h1 { font-size: var(--tp-title-size) !important; line-height: var(--tp-title-line) !important; }
  .tpr-page { padding-inline: 16px !important; }
  .tpr-heading h1 { font-size: var(--tp-title-size) !important; line-height: var(--tp-title-line) !important; }
  .tpr-heading { gap: 12px; }
  .tpr-flag { width: 32px !important; height: 32px !important; flex: 0 0 32px; }
  .tpr-target { min-height: 80px; padding: 12px !important; grid-template-columns: 48px minmax(0,1fr) 16px; }
  .tpr-target > img { width: 48px !important; height: 48px !important; }
  .tpr-form { padding: 16px !important; }
  .tpr-reasons label { min-height: 48px; padding-block: 12px !important; }
  .tpr-submit, .gdpr-dam-button { min-height: 48px !important; font-size: 15px; }
  .gdpr-dam-stage5-illustration, .gdpr-dam-stage5-illustration img { width: 80px !important; height: 80px !important; margin: 16px auto !important; object-fit: contain; }
  .gdpr-dam-eyebrow { display: none; }
  .gdpr-dam-account-card { padding: 16px !important; }
  .gdpr-dam-account-card p { font-size: 14px; line-height: 21px; }
  .gdpr-dam-confirm-input { min-height: 48px; font-size: 16px !important; }
  .tp-username-screen #main > h1 { font-size: 26px; line-height: 32px; margin: 16px 0; }
  .tp-username-screen .form-container { margin: 0; padding: 0; }
  .tp-username-screen .btn-primary { min-height: 48px; font-size: 15px; }
  .tp-username-screen .tp-content { padding: calc(var(--tp-appbar-height) + 16px) 16px calc(var(--tp-bottom-nav-height) + 24px) !important; }
  .tp-username-screen #main > h1 { margin-top: 0; }
  .tp-stage6-editor .tp-editor-photo-guidance { display: block; }
  .tp-stage6-editor .tp-editor-uploader .qq-upload-button { min-height: 48px; }
  .tp-comm-page > .tp-comm-listing { display: grid !important; float: none !important; clear: both; width: calc(100% - 32px) !important; height: auto !important; box-sizing: border-box; }
  .tp-comm-guide img { flex-basis: 40px !important; }
  body.tp-journey :is(.tp-account-dashboard h1,.tp-username-screen #main > h1,.tp8-inbox-heading h1) { font-size: var(--tp-title-size) !important; line-height: var(--tp-title-line) !important; padding: 0 !important; border: 0 !important; }
  .tp8-inbox-heading h1::after, .tp-username-screen #main > h1::after { display: none; }
  .tp10-legal-copy h2 { font-size: var(--tp-section-size) !important; line-height: var(--tp-section-line) !important; margin: 24px 0 12px !important; }
  .tp10-legal-copy p { margin-bottom: 12px !important; }
  .tp10-help-topics a { min-height: 44px; display: inline-flex; align-items: center; box-sizing: border-box; }
  .tp-discovery-heading h2, .tp-discovery-heading h2 span { height: auto !important; max-height: none !important; overflow: visible !important; white-space: normal !important; text-overflow: clip !important; }
  .tp-discovery-heading h2 { min-width: 0; flex: 1; }
  .tp-guide-mini strong { font-size: 14px !important; line-height: 20px; }
  .tp-guide-mini :is(small,.tp-guide-mini__location) { font-size: 12px !important; line-height: 17px; }
  .hr-experience-card__guide :is(small,span) { font-size: 12px !important; line-height: 17px; }
  .tp-stage6-editor .tp-experience-editor form { margin: 16px 16px 0; }
  .tp-stage6-editor .tp-editor-step { margin: 0 !important; padding: 14px !important; }
  .tp9-notifications .tp9-page-heading { display: flex !important; flex-wrap: nowrap; align-items: center; gap: 12px; }
  .tp9-notifications .tp9-page-heading h1 { width: auto !important; min-width: 0; flex: 1; margin: 0 !important; }
  .tp9-notifications .tp9-page-heading form { width: auto !important; flex: 0 0 auto; }
  .tp9-notifications .tp9-text-action { max-width: 100px; white-space: normal; font-size: 13px; line-height: 18px; }
  .tp9-saved .tp9-page-heading--actions { grid-template-columns: 32px minmax(0,1fr); gap: 12px; }
  .tp9-saved .tp9-page-heading--actions::before { width: 32px; height: 32px; }
  .tp9-saved .tp9-page-heading--actions h1 { padding-right: 0; }
  .tp9-saved .tp9-page-heading--actions p { display: block; overflow: visible; -webkit-line-clamp: unset; }
  .tp-share-control-page .tp-comm-state { display: flow-root; float: none !important; clear: both; width: 100% !important; box-sizing: border-box; padding: 24px 16px !important; margin: 0 !important; }
  .tp-share-control-page .tp-comm-state p { width: auto !important; margin: 16px 0 24px; padding: 0; }
  .tp-share-control-page .tp-comm-primary { width: 100%; box-sizing: border-box; color: #fff !important; }
  .tp11-sheet-actions > .tp-button { width: 100% !important; }
  .tp-stage8-tours .tp8-tour-facts :is(span,b) { font-size: 13px !important; }
  .tp-account-greeting h2 { font-size: var(--tp-title-size) !important; line-height: var(--tp-title-line) !important; }
  .tp-account-dashboard { padding-top: 16px !important; }
  .tp-account-greeting > p { display: none; }
  .tp-account-greeting > span { font-size: 14px; line-height: 20px; }
  .tp-account-section__heading h3 { font-size: var(--tp-section-size); line-height: var(--tp-section-line); }
  .tp-account-profile-card small, .tp-account-menu-card small, .tp-account-inline-chips em { font-size: 12px; line-height: 18px; }
  .tp10-reading-hero { margin-bottom: 24px !important; }
  .tp10-reading-page > section { float: none !important; clear: both; }
  .tp-stage10-system .tp-content { padding: var(--tp-appbar-height) 0 24px !important; }
  body.tp-journey .trs-request-modal-close, .tp-experience-hero .tp-stage4-icon { min-width: 44px !important; min-height: 44px !important; }
  .tp-listing-back, .tp-listing-create-link, .tp8-review-request { min-width: 44px !important; min-height: 44px !important; }
  .tp-experience-editor__header { min-height: 56px !important; }
  .tp-experience-editor__header > * { transform: none !important; }
  .tp-experience-editor__header :is(a,button) { min-width: 44px; min-height: 44px; }
  .tp-experience-editor__header h1 { font-size: 16px !important; line-height: 22px !important; white-space: normal; }
  body.tp-profile-edit-screen .tp-profile-photo-actions .start-image-upload { min-height: 44px !important; }
  .tp-sheet__header button, .tp11-icon-button { min-width: 44px; min-height: 44px; }
  .tp11-language-sheet .tp11-sheet-actions { width: calc(100% + 40px) !important; box-sizing: border-box; }
  #main .gdpr-dam-account-page .gdpr-dam-steps p, #main .gdpr-dam-account-page .gdpr-dam-account-card p { font-size: 14px; line-height: 21px; }
}

/* The legacy home sidebar width also constrained the desktop hero to 640px. */
@media (min-width: 1024px) {
  .tp-discovery-home .tp-content #main { float: none !important; width: 100% !important; }
  .tp-discovery-home .tp-discovery-hero { float: none !important; width: 100%; padding: 0; }
}

/* Approved compact public-guide profile card. */
.tp-stage4-public-profile .tp-guide-profile-card {
  float: none;
  clear: both;
  width: 100%;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

@media (max-width: 480px) {
  .tp-stage4-public-profile .tp-stage4-topbar {
    height: 49px !important;
    min-height: 49px !important;
    padding: 0 12px !important;
  }

  .tp-stage4-public-profile .tp-stage4-topbar .tp-stage4-icon {
    width: 40px;
    height: 40px;
  }

  .tp-stage4-public-profile .tp-stage4-brand .logo-img {
    width: 72px !important;
    height: 30px !important;
  }
  .tp-stage4-public-profile .tp-guide-profile-cover { height: 170px; }

  .tp-stage4-public-profile .tp-guide-profile-content {
    width: 100%;
    margin-top: -36px;
    padding: 0 14px calc(var(--tp-bottom-nav-height) + 18px + env(safe-area-inset-bottom));
    border-radius: 0;
    background: transparent;
  }

  .tp-stage4-public-profile .tp-guide-profile-card {
    position: relative;
    display: block;
    margin: 0;
    padding: 40px 11px 3px;
    border: 1px solid #edf1f7;
    border-radius: 11px;
    background: #fff;
    box-shadow: 0 4px 14px rgba(6,25,77,.12);
  }

  .tp-stage4-public-profile .tp-guide-profile-avatar-wrap {
    top: -33px;
    left: 50%;
    width: 70px !important;
    height: 70px !important;
    transform: translateX(-50%);
  }

  .tp-stage4-public-profile .tp-guide-profile-avatar,
  .tp-stage4-public-profile .tp-guide-profile-avatar img {
    width: 70px !important;
    height: 70px !important;
    border-width: 4px;
  }

  .tp-stage4-public-profile .tp-guide-profile-avatar-wrap .tp-guide-presence {
    right: 0;
    bottom: 3px;
    width: 15px;
    height: 15px;
    border-width: 2px;
  }

  .tp-stage4-public-profile .tp-guide-profile-intro {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
    margin: 0;
    padding: 0;
    text-align: center;
  }

  .tp-stage4-public-profile .tp-guide-profile-intro h1 {
    margin: 0;
    font-family: var(--tp-font-ui);
    font-size: 18px !important;
    font-weight: 700;
    line-height: 24px;
    letter-spacing: -.025em;
  }

  .tp-stage4-public-profile .tp-guide-profile-intro > .tp-rating-summary,
  .tp-stage4-public-profile .tp-guide-profile-intro > .tp-guide-rating-stars {
    justify-content: center;
    margin: 0 auto;
    font-size: 10px;
    line-height: 17px;
  }

  .tp-stage4-public-profile .tp-guide-profile-intro > p {
    margin: 2px 0 0;
    color: #66758c;
    font-size: 10px;
    line-height: 17px;
  }

  .tp-stage4-public-profile .tp-guide-profile-intro > small {
    display: inline-flex;
    width: max-content;
    min-height: 22px;
    align-items: center;
    margin: 4px auto 0;
    padding: 3px 10px;
    border-radius: 999px;
    color: #23984b;
    background: #edf9f0;
    font-size: 10px;
    line-height: 16px;
  }

  .tp-stage4-public-profile .tp-guide-profile-intro > small.is-unavailable {
    color: #6b7280;
    background: #f1f3f6;
  }

  .tp-stage4-public-profile .contact-verifications {
    display: grid;
    grid-template-columns: repeat(2,max-content);
    justify-content: center;
    gap: 0;
    margin: 6px auto 0;
    transform: none;
  }

  .tp-stage4-public-profile .contact-verification {
    min-height: 24px;
    gap: 6px;
    padding: 0 5px;
    justify-content: center;
  }

  .tp-stage4-public-profile .contact-verification + .contact-verification {
    border-left: 1px solid #dce3ef;
  }

  .tp-stage4-public-profile .contact-verification-icon {
    width: 18px;
    height: 18px;
    flex-basis: 18px;
    font-size: 8px;
  }

  .tp-stage4-public-profile .contact-verification small {
    font-size: 11px;
    font-weight: 500;
    line-height: 14px;
  }

  .tp-stage4-public-profile .tp-guide-profile-stats {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 0;
    margin: 10px 0 8px;
    padding: 0;
    overflow: hidden;
    border: 1px solid #dfe7f5;
    border-radius: 10px;
    background: #fbfcff;
  }

  .tp-stage4-public-profile .tp-guide-profile-stats li {
    min-width: 0;
    min-height: 53px;
    gap: 3px;
    padding: 5px 2px;
    border-radius: 0;
    background: transparent;
    font-size: 8px;
    line-height: 11px;
  }

  .tp-stage4-public-profile .tp-guide-profile-stats li + li { border-left: 1px solid #dfe7f5; }
  .tp-stage4-public-profile .tp-guide-profile-stats i { font-size: 15px; }

  .tp-stage4-public-profile .tp-guide-profile-actions {
    display: grid;
    grid-template-columns: minmax(0,1.9fr) minmax(0,.95fr);
    gap: 7px;
    margin: 6px 0;
  }

  .tp-stage4-public-profile .tp-guide-profile-request,
  .tp-stage4-public-profile .tp-guide-profile-request > *,
  .tp-stage4-public-profile .tp-guide-profile-request .trs-request-form { min-width: 0; }

  .tp-stage4-public-profile .tp-guide-profile-request > *,
  .tp-stage4-public-profile .tp-guide-profile-request button,
  .tp-stage4-public-profile .tp-guide-profile-request a,
  .tp-stage4-public-profile .tp-guide-profile-message {
    width: 100%;
    min-height: 35px;
    height: 35px;
    padding: 0 8px;
    border-radius: 8px !important;
    font-size: 11px !important;
    line-height: 15px;
    white-space: nowrap;
  }

  .tp-stage4-public-profile .tp-guide-profile-request button,
  .tp-stage4-public-profile .tp-guide-profile-request a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    border: 0 !important;
    background: linear-gradient(100deg,#3047ff 0%,#05baf3 100%) !important;
  }

  .tp-stage4-public-profile .tp-guide-profile-request .trs-request-text {
    display: block;
    flex: 0 1 auto;
    margin: 0;
    line-height: 1 !important;
    transform: translateY(1px);
  }

  .tp-stage4-public-profile .tp-guide-profile-message {
    display: inline-flex;
    gap: 6px;
    border: 1px solid #1769e8;
  }

  .tp-stage4-public-profile .tp-guide-profile-message i { font-size: 12px; }

  .tp-stage4-public-profile .tp-guide-profile-about {
    margin: 0;
    padding: 6px 6px 8px;
    border-top: 0;
  }

  .tp-stage4-public-profile .tp-guide-profile-about-heading { display: block; }
  .tp-stage4-public-profile .tp-guide-profile-about-heading > h2,
  .tp-stage4-public-profile .tp-guide-profile-content section > h2 {
    margin: 0 0 1px;
    font-size: 18px;
    line-height: 23px;
  }

  .tp-stage4-public-profile .tp-guide-profile-about p {
    margin: 0 0 7px;
    font-size: 12px;
    line-height: 17px;
  }

  .tp-stage4-public-profile .tp-guide-profile-about-tags { gap: 5px; }
  .tp-stage4-public-profile .tp-guide-profile-about-tags span {
    gap: 5px;
    padding: 5px 8px;
    font-size: 11px;
    line-height: 15px;
  }

  .tp-stage4-public-profile .tp-guide-profile-experiences {
    padding: 10px 6px;
  }

  .tp-stage4-public-profile .tp-guide-profile-experiences > a {
    grid-template-columns: 120px minmax(0,1fr) 12px;
    gap: 8px;
    padding: 6px 0;
  }

  .tp-stage4-public-profile .tp-guide-profile-experiences .tpri-picture,
  .tp-stage4-public-profile .tp-guide-profile-experiences img {
    width: 120px;
    height: 54px;
    border-radius: 7px;
  }

  .tp-stage4-public-profile .tp-guide-profile-experiences strong {
    font-size: 13px;
    line-height: 17px;
  }

  .tp-stage4-public-profile .tp-guide-profile-experiences small {
    font-size: 11px;
    line-height: 15px;
  }
}
