/* Tenant marketplace reference: white canvas, plum hierarchy, peach selections.
   This file is shared by local design examples and the live tenant website. */
body.marketplace-page,
body.auth-page {
  --ec-text-display: 48px;
  --ec-text-page: 32px;
  --ec-text-section: 28px;
  --ec-text-panel: 20px;
  --ec-text-title: 18px;
  --ec-section-space: 64px;
  --ec-header-height: 72px;
  --ec-header-logo-width: 136px;
  --ec-selected: #ffe6d6;
  --ec-tenant-selection: var(--ec-apricot);
  --ec-tenant-selection-hover: #ffc19f;
  background: var(--ec-white);
  color: var(--ec-ink);
  font-size: var(--ec-text-body);
  line-height: 1.6;
}

.marketplace-page .site-header,
.marketplace-page .browse-controls,
.marketplace-page .ec-tenant-workspace,
.marketplace-page .search-bar.enhanced-search {
  background: var(--ec-white);
}

/* Compact header, with full-size touch targets and one-line account access. */
.marketplace-page .site-header .nav-wrap {
  height: var(--ec-header-height);
  min-height: 0;
  gap: 20px;
  padding-block: 0;
}
.marketplace-page .site-header .brand {
  width: var(--ec-header-logo-width);
  height: 44px;
}
.marketplace-page .site-header .brand :is(img, .easycoliv-wordmark) { width: 100%; }
.marketplace-page .site-header :is(.ec-header-tools, .ec-header-actions) {
  --ec-header-control-size: 44px;
  --ec-header-tools-gap: 8px;
  gap: 8px;
}
.marketplace-page .site-header .ec-header-login {
  max-width: none;
  min-height: 44px;
  padding-inline: 12px;
  white-space: nowrap;
}
.marketplace-page .site-header .desktop-nav { gap: 20px; }
.marketplace-page .site-header .header-login {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}
.marketplace-page .detail-section-nav { top: calc(var(--ec-header-height) + 1px); }

/* Compact, single-line breadcrumbs. The full route remains in the ancestor menu. */
.marketplace-page .smart-breadcrumbs { padding: 0; margin: 0 0 12px; }
.marketplace-page .smart-breadcrumbs .breadcrumb-trail {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 4px;
  min-height: 28px;
  padding: 0;
  margin: 0;
  list-style: none;
  font-size: 12px;
  line-height: 1.5;
  color: var(--ec-muted);
}
.marketplace-page .smart-breadcrumbs .breadcrumb-trail > li {
  display: flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
}
.marketplace-page .smart-breadcrumbs .breadcrumb-trail > li > :is(a, span) {
  display: block;
  min-height: 28px;
  padding-block: 5px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.marketplace-page .smart-breadcrumbs .breadcrumb-ancestor { flex: 0 1 auto; max-width: 160px; }
.marketplace-page .smart-breadcrumbs .breadcrumb-parent { flex: 0 1 auto; max-width: 40%; }
.marketplace-page .smart-breadcrumbs .breadcrumb-current { flex: 0 1 auto; }
.marketplace-page .smart-breadcrumbs svg { width: 12px; height: 12px; flex: none; }
.marketplace-page .smart-breadcrumbs .breadcrumb-trail > .breadcrumb-more { display: none; flex: none; }
.marketplace-page .smart-breadcrumbs[data-long] .breadcrumb-trail > .breadcrumb-more { display: flex; }
.marketplace-page .smart-breadcrumbs[data-long] .breadcrumb-trail > .breadcrumb-ancestor { display: none; }
.marketplace-page .smart-breadcrumbs .breadcrumb-disclosure { position: relative; }
.marketplace-page .smart-breadcrumbs summary {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 28px;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 8px;
  list-style: none;
  cursor: pointer;
  color: var(--ec-muted);
}
.marketplace-page .smart-breadcrumbs summary::-webkit-details-marker { display: none; }
.marketplace-page .smart-breadcrumbs summary svg { width: 18px; height: 18px; }
.marketplace-page .smart-breadcrumbs :is(summary:hover, details[open] summary) { background: var(--ec-hover); color: var(--ec-plum); }
.marketplace-page .smart-breadcrumbs :is(a, summary):focus-visible { outline: 2px solid var(--ec-plum); outline-offset: 2px; border-radius: 6px; }
.marketplace-page .smart-breadcrumbs .breadcrumb-menu {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  z-index: 30;
  display: block;
  width: 260px;
  max-width: calc(100vw - 48px);
  margin: 0;
  padding: 6px;
  list-style: none;
  border: 1px solid var(--ec-line);
  border-radius: 12px;
  background: var(--ec-white);
  box-shadow: var(--ec-shadow-overlay);
}
.marketplace-page .smart-breadcrumbs .breadcrumb-menu li { display: block; }
.marketplace-page .smart-breadcrumbs .breadcrumb-menu a {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 10px 12px;
  border-radius: 8px;
  font-size: 13px;
  color: var(--ec-plum);
  overflow-wrap: anywhere;
}
.marketplace-page .smart-breadcrumbs .breadcrumb-menu a:hover { background: var(--ec-hover); text-decoration: none; }
@media (max-width: 740px) {
  .marketplace-page .smart-breadcrumbs .breadcrumb-trail > .breadcrumb-more { display: flex; }
  .marketplace-page .smart-breadcrumbs .breadcrumb-trail > .breadcrumb-ancestor { display: none; }
  .marketplace-page .smart-breadcrumbs :is(summary, .breadcrumb-trail > li > a, .breadcrumb-trail > li > span) { min-height: 32px; padding-block: 7px; }
}
@media (max-width: 1100px) {
  .marketplace-page.listing-page .site-header .nav-wrap {
    height: auto;
    min-height: 116px;
    gap: 8px;
    padding-block: 8px;
  }
}
@media (max-width: 740px) {
  .marketplace-page .site-header .nav-wrap { gap: 12px; }
  .marketplace-page .site-header .ec-header-actions > a[aria-label='Explore worldwide destinations'] { display: none; }
}

/* Search stays compact, with one visible value per field. */
.marketplace-page .search-bar.enhanced-search {
  border: 1px solid var(--ec-line);
  border-radius: var(--ec-radius-pill);
  box-shadow: none;
}
.marketplace-page .search-bar.enhanced-search:focus-within {
  border-color: var(--ec-plum);
}
.marketplace-page .search-bar .destination-input-wrap input {
  color: var(--ec-ink);
}
.ec-home-search-features {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  margin: 18px auto 0;
}
.ec-home-search-features a,
.marketplace-page .quick-filter-pills button,
.marketplace-page .all-filters-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: var(--ec-control-sm);
  padding: 10px 18px;
  border: 1px solid var(--ec-line);
  border-radius: var(--ec-radius-pill);
  background: var(--ec-white);
  color: var(--ec-ink);
  font: 700 14px/1.4 var(--ec-font-heading);
  text-decoration: none;
  white-space: nowrap;
}
.ec-home-search-features a:hover,
.marketplace-page .quick-filter-pills button:hover,
.marketplace-page .all-filters-button:hover {
  border-color: var(--ec-control-border);
  background: var(--ec-hover);
}
.ec-home-search-features svg,
.marketplace-page .quick-filter-pills svg {
  width: 17px;
  height: 17px;
  flex: none;
}
.ec-home-search-features svg { color: var(--ec-plum); }

/* One selection language for browsing and the signed-in workspace. */
.marketplace-page .quick-filter-pills button[aria-pressed='true'],
.marketplace-page .region-filters button[aria-pressed='true'],
.marketplace-page .ec-country-tabs button[aria-pressed='true'],
.marketplace-page .ec-tenant-nav a[aria-current='page'],
.marketplace-page .ec-account-tabs button[aria-pressed='true'],
.marketplace-page .live-chat-filters button[aria-pressed='true'],
.marketplace-page .budget-presets button[aria-pressed='true'],
.marketplace-page .active-filters > :is(a, button):not(.ds-clear-filters) {
  color: var(--ec-ink);
  background: var(--ec-tenant-selection);
  border-color: var(--ec-tenant-selection);
  box-shadow: none;
}
.marketplace-page .quick-filter-pills button[aria-pressed='true']:hover,
.marketplace-page .region-filters button[aria-pressed='true']:hover {
  background: var(--ec-tenant-selection-hover);
  border-color: var(--ec-tenant-selection-hover);
}
.marketplace-page .region-filters button {
  border: 1px solid var(--ec-line);
  background: var(--ec-white);
  color: var(--ec-ink);
}
.marketplace-page .active-filters > :is(a, button) { min-height: 44px; }
.marketplace-page .active-filters > .ds-clear-filters {
  background: transparent;
  color: var(--ec-plum);
  border-color: transparent;
}
.marketplace-page .listing-filter-dialog,
.marketplace-page .search-popover,
.marketplace-page .ec-account-panel,
.marketplace-page .web-panel { background: var(--ec-white); }
.marketplace-page :is(.stay-option, .bathroom-choice, .amenity-choice):has(input:checked) {
  background: var(--ec-selected);
  border-color: var(--ec-apricot);
  box-shadow: none;
}
.marketplace-page .listing-workspace { padding-top: 24px; }
.marketplace-page .listing-toolbar { gap: 12px; margin-bottom: 24px; }
.marketplace-page .listing-toolbar > div:first-child { flex: 1; min-width: 0; }
.marketplace-page .listing-toolbar #results-count {
  font: 400 16px/1.5 var(--ec-font-body);
  letter-spacing: 0;
  color: var(--ec-muted);
}
.marketplace-page .listing-toolbar p { font-size: 12px; margin-top: 4px; }
.marketplace-page .sort-control { margin-left: 0; }
.marketplace-page .sort-control.ec-app-select { width: auto; flex-direction: row; align-items: center; gap: 10px; }
.marketplace-page .sort-control .ec-app-select-trigger {
  flex: none;
  width: 184px;
  min-height: 44px;
  height: 44px;
  border-color: var(--ec-line);
  border-radius: var(--ec-radius-pill);
  font-size: 14px;
}
.marketplace-page .sort-control .ec-app-select-label { font-weight: 400; color: var(--ec-muted); }
.marketplace-page .ec-app-select-popover { --select-selected: var(--ec-selected); }
.marketplace-page .filter-bar { padding-block: 14px; }

/* A card is a photo and its details, without an outer box. Its only action besides opening the home is the heart;
   "Chat with operator" is on the home's page only (user decision 6 Oct 2026, CL-784). */
:is(.ec-home-card, .listing-card).ec-browse-card {
  --ec-text-title: 18px;
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  border: 0;
  border-radius: 0;
  background: var(--ec-white);
  box-shadow: none;
  overflow: visible;
  transform: none;
}
:is(.ec-home-card, .listing-card).ec-browse-card > a {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
  border-radius: 20px;
  color: inherit;
  text-decoration: none;
}
.ec-browse-card:is(:hover, :focus-within) { box-shadow: none; transform: none; }
.ec-browse-card :is(.ec-home-photo, .listing-card-photo) {
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: 1.58;
  flex: none;
  border-radius: 20px;
  overflow: hidden;
  background: var(--ec-subtle);
}
.ec-browse-card :is(.ec-home-photo, .listing-card-photo) > span {
  position: absolute;
  top: 14px;
  left: 14px;
  min-height: 28px;
  padding: 5px 12px;
  border: 0;
  border-radius: var(--ec-radius-pill);
  background: var(--ec-white);
  color: var(--ec-ink);
  font: 400 12px/1.5 var(--ec-font-body);
}
.ec-browse-card :is(.ec-home-copy, .listing-card-copy) {
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 8px;
  min-width: 0;
  padding: 16px 4px 0;
}
.ec-browse-card .ec-card-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 14px;
  min-width: 0;
  color: var(--ec-muted);
  font: 400 13px/1.5 var(--ec-font-body);
}
.ec-browse-card .ec-card-heading {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.ec-card-meta > span {
  display: inline-flex;
  align-items: flex-start;
  gap: 5px;
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}
.ec-browse-card .ec-card-meta svg { width: 15px; height: 15px; flex: none; margin-top: 2px; }
.ec-browse-card :is(.ec-home-copy, .listing-card-copy) h3 {
  min-height: 0;
  margin: 0;
  color: var(--ec-plum);
  font: 700 18px/1.4 var(--ec-font-heading);
  letter-spacing: -.025em;
  overflow-wrap: anywhere;
}
.ec-browse-card .ec-property-distance,
.ec-browse-card .listing-room-facts { margin: 0; font-size: 12px; }
.ec-browse-card :is(.ec-home-price, .listing-card-bottom) {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  margin-top: 2px;
  padding: 0;
  border: 0;
}
.ec-browse-card :is(.ec-home-price, .listing-card-bottom) > div {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px;
}
.ec-browse-card :is(.ec-home-price, .listing-card-bottom) strong {
  color: var(--ec-ink);
  font: 700 20px/1.4 var(--ec-font-heading);
  letter-spacing: -.025em;
}
.ec-browse-card :is(.ec-home-price, .listing-card-bottom) small {
  color: var(--ec-muted);
  font: 400 14px/1.5 var(--ec-font-body);
}
.ec-browse-card .ec-card-stay {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  margin: 0;
  color: var(--ec-muted);
  font: 400 13px/1.5 var(--ec-font-body);
}
.ec-browse-card .ec-card-stay svg { width: 14px; height: 14px; flex: none; margin-top: 3px; }
.ec-browse-card .ec-save-home { top: 14px; right: 14px; }
.ec-browse-card .ec-save-home button {
  width: 44px;
  height: 44px;
  border: 0;
  background: var(--ec-white);
  color: var(--ec-plum);
  box-shadow: 0 2px 10px #48213f18;
}
.ec-browse-card .ec-save-home button[aria-pressed='true'] {
  color: var(--ec-white);
  background: var(--ec-plum);
}
.marketplace-page :is(.home-grid, .listing-grid) { row-gap: 36px; }
.marketplace-page .ec-tenant-nav { gap: 8px; }
.marketplace-page .ec-tenant-nav a { border: 1px solid var(--ec-line); }
.marketplace-page .ec-enquiry-choice[aria-current='true'] { background: var(--ec-selected); }

@media (max-width: 740px) {
  .ec-home-search-features {
    flex-wrap: nowrap;
    justify-content: flex-start;
    overflow-x: auto;
    margin-top: 14px;
    padding-bottom: 4px;
    scrollbar-width: none;
  }
  .ec-home-search-features a { flex: none; padding-inline: 14px; }
  .listing-page .search-bar.enhanced-search {
    display: flex;
    flex-wrap: nowrap;
    height: 54px;
    min-height: 54px;
    padding: 4px;
    border-radius: var(--ec-radius-pill);
  }
  .listing-page .enhanced-search .search-control:not(.destination-field) { display: none; }
  .listing-page .enhanced-search .destination-field { flex: 1; border: 0; }
  .listing-page .enhanced-search .destination-input-wrap { height: 44px; padding-inline: 12px; }
  .listing-page .enhanced-search .field-icon { display: block; color: var(--ec-muted); }
  .listing-page .listing-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; }
  .listing-page .listing-toolbar > div:first-child { grid-column: 1; grid-row: 1; }
  .listing-page .listing-toolbar > div:first-child > p { display: none; }
  .listing-page .listing-toolbar .sort-control { grid-column: 2; grid-row: 1; margin-left: 0; }
  .listing-page .sort-control .ec-app-select-trigger { width: clamp(160px, 47vw, 184px); }
  .listing-page .sort-control .ec-app-select-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .listing-page .listing-toolbar > .ec-btn { justify-content: center; }
  .listing-page .filter-bar { gap: 10px; }
  .listing-page .quick-filter-pills { flex: 1; min-width: 0; }
  .listing-page .all-filters-button {
    position: relative;
    flex: 0 0 44px;
    width: 44px;
    min-width: 44px;
    height: 44px;
    padding: 0;
    gap: 0;
    font-size: 0;
  }
  .listing-page .all-filters-button span {
    position: absolute;
    top: -4px;
    right: -3px;
    min-width: 20px;
    height: 20px;
    font-size: 11px;
  }
  .ec-browse-card :is(.ec-home-photo, .listing-card-photo) { aspect-ratio: 1.58; }
}
@media (prefers-reduced-motion: reduce) {
  .ec-browse-card * { transition: none; }
}

/* Equal hero spacing, with the brand gradient reserved for the homepage. */
.marketplace-page {
  --ec-hero-space: 64px;
  --ec-hero-gradient:
    linear-gradient(180deg, transparent 62%, var(--ec-white) 100%),
    radial-gradient(ellipse at 10% 24%, color-mix(in srgb, var(--ec-apricot) 26%, var(--ec-white)), transparent 64%),
    radial-gradient(ellipse at 92% 12%, color-mix(in srgb, var(--ec-lilac) 30%, var(--ec-white)), transparent 68%),
    linear-gradient(120deg, var(--ec-cream), var(--ec-white) 70%);
}
.marketplace-page :is(.market-hero, .ec-city-hero, .ec-hub-hero, .location-hero) {
  padding-block: var(--ec-hero-space);
  background: var(--ec-white);
}

/* Tenant composition scale: 48 / 32 / 28 / 20 / 18 / 16 / 14 / 12.
   Layout spacing follows the shared 4px scale. Labels keep the approved muted
   11.2px token; never multiply that token by the label scale a second time. */
.home-page .market-hero {
  background: var(--ec-hero-gradient);
  width: 100%;
  max-width: none;
  padding-inline: max(32px, calc((100% - 1280px) / 2));
}
.home-page .market-hero h1 {
  font-size: var(--ec-text-display);
  line-height: 1.2;
  letter-spacing: -.04em;
  text-wrap: balance;
}
.home-page .hero-description {
  max-width: 60ch;
  margin: 16px auto 32px;
  font-size: var(--ec-text-body);
  line-height: 1.6;
}
.home-page :is(.eyebrow, .ec-public-eyebrow) { margin-bottom: 12px; line-height: 1.5; }
.home-page .market-hero .eyebrow { margin-bottom: 16px; }
.home-page .section { padding-block: var(--ec-section-space); }
.home-page .destinations-section { padding-top: 24px; }
.home-page :is(.section-heading, .ec-public-heading) {
  align-items: center;
  gap: 24px;
  margin-bottom: 24px;
}
.home-page :is(.section-heading h2, .ec-world-copy h2, .ec-host-copy h2, .faq-section h2),
.marketplace-page .web-section > .section-heading h2 {
  font-size: var(--ec-text-section);
  line-height: 1.3;
  letter-spacing: -.03em;
  text-wrap: balance;
}
.home-page :is(.section-heading, .ec-public-heading) .text-link { margin-top: 0; }
.home-page .ec-world-directory { padding-block: var(--ec-section-space); gap: 48px; }
.home-page .ec-world-copy > p:not(.ec-public-eyebrow),
.home-page .ec-host-copy > p:not(.ec-public-eyebrow) {
  font-size: var(--ec-text-body);
  line-height: 1.6;
  margin-block: 20px 24px;
}
.home-page .ec-host-copy { padding: 40px; }
.home-page .ec-process-steps { margin-top: 24px; gap: 32px; }
.home-page .ec-process-steps h3 { font-size: var(--ec-text-title); line-height: 1.4; margin: 0 0 8px; }
.home-page .ec-process-steps p { font-size: var(--ec-text-small); line-height: 1.7; }
.home-page .faq-section { gap: 48px; }
.home-page .ec-public-faq summary { min-height: 64px; padding: 20px 24px; line-height: 1.5; }
.home-page .ec-public-faq details p { padding: 0 24px 24px; line-height: 1.7; }
.home-page :is(.ec-region-group > a, .ec-region-group > button, .ec-everywhere p) { font-size: var(--ec-text-small); }
.home-page .region-filters { gap: 8px; }
.home-page .region-filters button { font-size: var(--ec-text-small); padding-inline: 16px; }
.home-page .results-toolbar { padding-bottom: 16px; }
.home-page .results-context { min-height: 56px; font-size: var(--ec-text-small); }
.home-page .quick-search { gap: 8px 16px; margin-top: 16px; font-size: var(--ec-text-small); }
.home-page .quick-search :is(a, button) { min-height: 44px; display: inline-flex; align-items: center; }
.home-page .ec-home-search-features { margin-top: 16px; gap: 8px; }
.marketplace-page :is(.home-grid, .listing-grid) { column-gap: 24px; row-gap: 40px; }
.ec-browse-card :is(.ec-home-copy, .listing-card-copy) { padding: 16px 0 0; gap: 12px; }
.ec-browse-card .ec-card-meta { font-size: var(--ec-text-small); gap: 4px 12px; line-height: 1.5; }
.ec-browse-card :is(.ec-home-copy, .listing-card-copy) h3 { font-size: var(--ec-text-title); letter-spacing: -.015em; }
.ec-browse-card :is(.ec-home-price, .listing-card-bottom) { margin-top: auto; padding-top: 4px; }
.marketplace-page :is(.ec-btn, .text-link, .quick-filter-pills button, .all-filters-button) { line-height: 1.5; }
.marketplace-page .search-bar :is(.field-label, .field-text label) {
  font-size: var(--ec-label-size);
  line-height: 1.5;
}
.marketplace-page .ec-field > label { font-size: var(--ec-label-size); line-height: 1.5; }
.marketplace-page .search-bar .field-value { font-size: var(--ec-text-small); line-height: 1.5; }
.marketplace-page .single-line-search .field-text { gap: 0; }
.marketplace-page .single-line-search :is(.field-value, .destination-field input) {
  font-size: var(--ec-text-body);
  line-height: 1.5;
  color: var(--ec-ink);
}
.marketplace-page .single-line-search .destination-field input::placeholder { color: var(--ec-ink); }
.home-page .single-line-search :is(.field-value, .destination-field input) {
  font-size: var(--ec-text-small);
}
.home-page .search-bar.enhanced-search { max-width: 760px; }
.home-page .search-bar .search-submit {
  flex: 0 0 52px;
  width: 52px;
  min-width: 52px;
  height: 52px;
  min-height: 52px;
  padding: 0;
  border-radius: 50%;
  align-self: center;
  justify-content: center;
}
.home-page .search-bar .search-submit svg { width: 20px; height: 20px; }
.marketplace-page .single-line-search .field-text > .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.marketplace-page :is(.popover-description, .suggestion-text strong, .stay-option strong) { font-size: var(--ec-text-small); line-height: 1.5; }
.marketplace-page .stay-option {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: center;
  gap: 4px 8px;
  min-height: 64px;
  padding: 12px;
  border-width: 1px;
}
.marketplace-page .stay-option:has(input:checked) { padding: 12px; border-width: 1px; }
.marketplace-page .stay-option .choice-check { position: static; grid-column: 1; grid-row: 1; }
.marketplace-page .stay-option :is(strong, small) { grid-column: 2; margin: 0; text-align: left; }
.marketplace-page .listing-toolbar { flex-wrap: wrap; gap: 16px; margin-bottom: 24px; }
.marketplace-page .sort-control .ec-app-select-label { font-size: var(--ec-text-caption); }
.marketplace-page.support-page h1,
.marketplace-page :is(.property-heading h1, .page-intro h1, .ec-account-intro h1, .ec-tenant-intro h1) {
  font-size: var(--ec-text-page);
  line-height: 1.25;
  letter-spacing: -.03em;
}
.detail-page .property-section { padding-block: 32px; }
.detail-page .property-section h2 { font-size: 24px; line-height: 1.3; margin-bottom: 20px; }
.detail-page :is(.property-summary, .property-about > p, .things-grid p) { font-size: var(--ec-text-body); line-height: 1.65; }
.detail-page .property-highlights { gap: 24px; padding-block: 24px; }
.detail-page .property-highlights h3 { font-size: var(--ec-text-body); line-height: 1.5; }
.detail-page :is(.property-highlights p, .amenity-grid > div) { font-size: var(--ec-text-small); line-height: 1.6; }
.marketplace-page :is(.web-panel, .ec-account-panel, .stay-planner) { padding: 24px; }
.marketplace-page :is(.web-panel h2, .ec-enquiry-head h2, .live-conversations h2) { font-size: var(--ec-text-panel); line-height: 1.4; }
.marketplace-page .web-link-card :is(h3, .web-card-title) { font-size: var(--ec-text-title); line-height: 1.4; }
.marketplace-page :is(.ec-tenant-intro p, .ec-account-intro .page-intro-description) { font-size: var(--ec-text-small); line-height: 1.6; }
.marketplace-page .ec-tenant-toolbar { margin-bottom: 24px; }
.marketplace-page :is(.ec-tenant-nav a, .ec-account-tabs button, .live-chat-filters button) { font-size: var(--ec-text-small); line-height: 1.5; }
.marketplace-page .ec-tenant-account { gap: 24px; }
.auth-page .auth-content h1 { font-size: var(--ec-text-page); line-height: 1.25; }
.auth-page .auth-description { line-height: 1.6; }

@media (max-width: 900px) {
  /* Destination and round search action share a row; filters sit below. */
  .home-page .search-bar.enhanced-search {
    max-width: 560px;
    border-radius: var(--ec-radius-panel);
    padding: 8px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .home-page .search-bar .search-submit {
    grid-column: 4;
    grid-row: 1;
    justify-self: end;
    width: 48px;
    min-width: 48px;
    height: 48px;
    min-height: 48px;
    margin: 0;
    padding: 0;
  }
  .home-page .enhanced-search .search-control { position: static; border-radius: 16px; }
  .home-page .enhanced-search .destination-field {
    grid-column: 1 / 4;
    grid-row: 1;
    border: 0;
    border-radius: 16px;
  }
  .home-page .enhanced-search .search-field:not(.destination-field) {
    grid-column: span 2;
    grid-row: 2;
  }
  .home-page .enhanced-search .search-popover {
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    width: auto;
    max-width: none;
    transform: none;
  }
  .home-page .ec-world-directory { gap: 32px; }
}
@media (max-width: 740px) {
  .marketplace-page { --ec-hero-space: 32px; }
  body.marketplace-page, body.auth-page {
    --ec-text-display: 32px;
    --ec-text-page: 28px;
    --ec-text-section: 24px;
    --ec-section-space: 40px;
    --ec-header-height: 64px;
    --ec-header-logo-width: 116px;
  }
  .home-page .market-hero { padding-inline: 20px; }
  .home-page .hero-description { margin: 16px auto 24px; }
  .home-page :is(.section-heading, .ec-public-heading) { align-items: flex-start; gap: 12px; margin-bottom: 20px; }
  .home-page .section-heading h2 { max-width: none; }
  .home-page .quick-search { gap: 0 16px; margin-top: 12px; }
  .home-page .quick-search > span { display: none; }
  .home-page .quick-search :is(a, button):last-child { border-left: 0; padding-left: 0; }
  .home-page .ec-home-search-features { justify-content: flex-start; }
  .home-page .ec-host-copy { padding: 24px; }
  .home-page .ec-process-steps { gap: 24px; }
  .home-page .faq-section { gap: 24px; }
  .home-page .ec-public-faq summary { padding: 20px; }
  .home-page .ec-public-faq details p { padding: 0 20px 20px; }
  .marketplace-page :is(.home-grid, .listing-grid) { gap: 32px 20px; }
  .marketplace-page .listing-toolbar { gap: 12px; }
  .marketplace-page .sort-control .ec-app-select-trigger { padding-left: 12px; padding-right: 32px; }
  .detail-page .property-section { padding-block: 24px; }
  .detail-page .property-section h2 { font-size: 22px; margin-bottom: 16px; }
  .marketplace-page :is(.web-panel, .ec-account-panel, .stay-planner) { padding: 20px; }
}
