/* Shared public layouts: content first, controls scaled to the available choice. */
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer {
  --dx-ink: #173d36;
  --dx-muted: #56665f;
  --dx-line: #dce2d9;
  --dx-blue: #285d49;
}
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer--hub {
  padding: 2.5rem 0 0;
  margin-top: 1rem;
  border-top: 1px solid var(--dx-line);
}
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer__header {
  align-items: center;
  gap: 1.5rem;
  margin-bottom: 1.4rem;
}
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer__header h2 {
  font-size: clamp(1.8rem, 2.6vw, 2.5rem);
  line-height: 1.12;
  margin: 0 0 .6rem;
  text-wrap: balance;
}
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer__header p:not(.ec-bestof-eyebrow) {
  font-size: .9375rem;
  line-height: 1.6;
  max-width: 40ch;
}
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer__share {
  min-height: 44px;
  padding: .5rem 0;
  font-size: .8125rem;
  font-weight: 500;
  gap: .5rem;
  color: var(--dx-muted);
}
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer__workspace { min-width: 0; }
/* The search is one useful control, without a second decorative panel around it. */
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer__tools {
  display: flex;
  align-items: end;
  gap: .65rem;
  padding: 0;
  margin: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer__search {
  flex: 1 1 20rem;
  min-width: 0;
}
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer__search > label {
  font-size: .75rem;
  font-weight: 600;
  margin: 0 0 .4rem;
}
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer__search > div {
  min-height: 46px;
  border: 1px solid #cdd8cf;
  border-radius: 6px;
  background: #fff;
}
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer__tools input[type=search] {
  height: 44px;
  min-height: 44px;
  border: 0;
  padding: .55rem .7rem;
  background: transparent;
  box-shadow: none;
  font-size: 16px;
}
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer__submit {
  min-height: 46px;
  padding: .6rem 1rem;
  border-radius: 6px;
  gap: .6rem;
  font-size: .875rem;
}
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer__filters { gap: .25rem 1.1rem; margin-top: .65rem; }
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer__chip {
  min-height: 44px;
  padding: .6rem .15rem;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: transparent;
  font-size: .8125rem;
  font-weight: 500;
  color: var(--dx-muted);
}
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer__chip[aria-current=true],
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer__chip[aria-current=true]:hover {
  border-color: var(--dx-blue);
  background: transparent;
  color: var(--dx-ink) !important;
  font-weight: 700;
}
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer__chip:hover { background: transparent; color: var(--dx-ink); }
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer__results-heading {
  margin: 1.25rem 0 .75rem;
  padding: 0;
  border: 0;
  font-size: .75rem;
}
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer__results-heading strong { color: var(--dx-muted); font-weight: 500; }
/* Small destinations have the same reading order as larger ones: heading, places, tools. */
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer--compact { display: block; }
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer__refine { margin: 1rem 0 0; max-width: 48rem; }
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer__refine > summary {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: .6rem;
  min-height: 44px;
  list-style: none;
  color: var(--dx-muted);
  font: 500 .8125rem/1.4 var(--atlas-body,"DM Sans",Arial,sans-serif);
  cursor: pointer;
}
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer__refine > summary::-webkit-details-marker { display: none; }
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer__refine > summary > span { font-size: 1.1rem; }
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer__refine[open] > summary > span { transform: rotate(45deg); }
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer__refine[open] { padding-bottom: .75rem; }
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer--compact .ec-dest-explorer__results-heading { margin-top: .1rem; }
/* Recommendation cards keep the photograph, place and practical context together. */
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer .ec-destination29-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  max-width: none;
  gap: 1.5rem 2rem;
  align-items: start;
}
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer .ec-destination29-grid--directory { grid-template-columns: repeat(3,minmax(0,1fr)); }
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer .ec-destination29-card {
  display: block;
  min-width: 0;
  margin: 0;
  padding: 1.5rem 0 0;
  border: 0;
  border-top: 1px solid var(--dx-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer .ec-destination29-card__visual { min-width: 0; margin: 0; }
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer .ec-destination29-card__image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  margin: 0;
  border-radius: 8px;
  background: #eef1ea;
}
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer .ec-destination29-card__image img { display: block; width: 100%; height: 100%; }
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer .ec-destination29-card__image img:not([data-ec-original-aspect]) { object-fit: cover !important; }
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer .ec-destination29-card__image img[data-ec-original-aspect] { object-fit: contain !important; }
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer .ec-destination29-card__body { min-width: 0; padding-top: 1.1rem; }
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer .ec-destination29-card--text .ec-destination29-card__body { padding-top: 0; }
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer .ec-destination29-card__copy h3 {
  display: block;
  margin: .35rem 0 .8rem;
  font: 600 1.45rem/1.22 var(--atlas-body,"DM Sans",Arial,sans-serif) !important;
  letter-spacing: -.025em;
  overflow-wrap: anywhere;
}
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer .ec-destination29-card__copy h3 .ec-destination29-card__link {
  display: inline;
  color: var(--dx-ink);
  text-decoration: none;
  background: none;
}
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer .ec-destination29-card__copy h3 a:hover { text-decoration: underline; text-underline-offset: .15em; }
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer .ec-destination29-card__label {
  margin: 0;
  color: #576b61;
  font: 500 .75rem/1.5 var(--atlas-body,"DM Sans",Arial,sans-serif);
  letter-spacing: .01em;
  text-transform: none;
}
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer .ec-destination29-card__summary {
  display: block;
  overflow: visible;
  -webkit-line-clamp: unset;
  max-width: 66ch;
  margin: 0;
  color: #40574c;
  font-size: .9375rem;
  line-height: 1.65;
}
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer .ec-destination29-card__address {
  display: flex;
  align-items: flex-start;
  gap: .45rem;
  margin: .9rem 0 0;
  color: #576b61;
  font-size: .8125rem;
  line-height: 1.5;
}
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer .ec-destination29-card__address svg { width: 17px; height: 19px; flex: 0 0 17px; margin-top: .05rem; }
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer .ec-destination29-card__selection { margin: .65rem 0 0; font-size: .75rem; }
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer .ec-destination29-card__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: .35rem 1.3rem;
  margin: .75rem 0 0;
  padding: 0;
}
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer .ec-destination29-card__actions :is(a,button) {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: .45rem;
  width: auto;
  min-width: 0;
  min-height: 44px;
  padding: .45rem 0;
  border: 0;
  border-radius: 2px;
  background: transparent;
  color: #50675b;
  font: 500 .8125rem/1.4 var(--atlas-body,"DM Sans",Arial,sans-serif);
  text-decoration: none;
  box-shadow: none;
}
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer .ec-destination29-card__actions .ec-destination29-card__open { color: #234e3d; font-weight: 650; }
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer .ec-destination29-card__actions :is(a,button):hover,
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer .ec-destination29-card__actions button[aria-pressed=true] { text-decoration: underline; text-underline-offset: .25em; }
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer .ec-destination29-card__actions :is(a,button):focus-visible { outline: 2px solid #285d49; outline-offset: 4px; }
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer--hub .ec-destination29-card--photo {
  display: grid;
  grid-template-columns: minmax(0,.72fr) minmax(0,1fr);
  gap: 1.25rem;
}
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer--hub .ec-destination29-card--photo .ec-destination29-card__body { padding: 0; }
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer--hub .ec-destination29-card__image { aspect-ratio: 4 / 5; }
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer--hub .ec-destination29-grid:has(> .ec-destination29-card:only-child) { grid-template-columns: minmax(0,1fr); max-width: none; }
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer--hub .ec-destination29-card--photo:only-child {
  grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr);
  align-items: center;
  gap: clamp(1.5rem,3vw,3rem);
  padding: 1.5rem 0;
  border-bottom: 1px solid var(--dx-line);
}
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer--hub .ec-destination29-card--photo:only-child .ec-destination29-card__image { aspect-ratio: 3 / 2; }
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer--hub .ec-destination29-card:only-child .ec-destination29-card__copy h3 {
  font: 500 clamp(1.8rem,3vw,2.7rem)/1.12 var(--atlas-display,"Cormorant Garamond",Georgia,serif) !important;
  letter-spacing: -.03em;
}
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer--hub .ec-destination29-card--text:only-child {
  display: block;
  padding: 1.5rem 0;
  border-bottom: 1px solid var(--dx-line);
}
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer--hub .ec-destination29-card--text:only-child .ec-destination29-card__body { max-width: 72ch; padding: 0; }
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer--hub .ec-destination29-card:only-child .ec-destination29-card__summary { font-size: 1rem; line-height: 1.7; }
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer__next {
  margin: 1.75rem 0 0;
  padding: .8rem 0;
  gap: .25rem 1.5rem;
  border-top: 1px solid var(--dx-line);
}
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer__next a { font-size: .8125rem; font-weight: 500; text-decoration: none; }
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer__next a:hover { text-decoration: underline; }
/* Shared directory controls use the same light treatment across stories, search and discovery. */
html body.ec-vivid.ec-public #main-content.ec-main :is(.ec-guide-directory__form,.ec-discover-experience__form,.ec-portal-search__form,.ec-event-directory__form) {
  border: 1px solid #dce2d9;
  border-radius: 8px;
  background: #f7f7f2;
  padding: 1rem;
  box-shadow: none;
}
html body.ec-vivid.ec-public #main-content.ec-main :is(.ec-guide-directory__submit,.ec-discover-experience__button,.ec-portal-search__submit,.ec-event-directory__submit) {
  min-height: 44px;
  padding: .65rem 1rem;
  border-radius: 6px;
  background: #173d36;
  border-color: #173d36;
  color: #fff !important;
  font-size: .875rem;
}
html body.ec-vivid.ec-public #main-content.ec-main :is(.ec-guide-directory__field,.ec-discover-experience__select) :is(input,select) { border-radius: 5px; }
@media (max-width: 60rem) {
  html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer__refine > summary { justify-content: flex-start; }
  html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer .ec-destination29-grid--directory { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 40rem) {
  html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer--hub { padding-top: 1.8rem; }
  html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer__header { align-items: flex-start; }
  html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer__tools { flex-wrap: wrap; gap: .5rem; }
  html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer__search { flex-basis: calc(100% - 7rem); }
  html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer__submit { gap: .4rem; padding-inline: .75rem; }
  html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer .ec-destination29-grid { grid-template-columns: minmax(0,1fr); }
  html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer .ec-destination29-card__summary { font-size: .9375rem; }
  html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer__next { display: grid; gap: .15rem; margin-top: 1.25rem; }
}
@media (forced-colors: active) {
  html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer .ec-destination29-card { background: Canvas; border-color: CanvasText; }
  html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer__chip[aria-current=true] { border-color: Highlight; }
}
/* Main browsing choices stay visible; optional detail filters never obscure the results. */
html body.ec-vivid.ec-public #main-content.ec-main .ec-discover-experience[data-ec-discover-experience] .ec-discover-experience__main-filters {
  display: grid;
  grid-template-columns: minmax(0,1.4fr) minmax(0,1fr) minmax(0,.85fr) auto;
  max-width: none;
  align-items: end;
  gap: .85rem;
}
html body.ec-vivid.ec-public #main-content.ec-main .ec-discover-experience__main-filters > .ec-discover-experience__select { display: flex; flex-direction: column; align-items: stretch; gap: .4rem; }
html body.ec-vivid.ec-public #main-content.ec-main .ec-discover-experience__main-filters select { min-height: 46px; font-size: 1rem; }
html body.ec-vivid.ec-public #main-content.ec-main .ec-discover-experience__main-filters > button { min-height: 46px; }
html body.ec-vivid.ec-public #main-content.ec-main .ec-discover-experience__filters { margin-top: .5rem; }
html body.ec-vivid.ec-public #main-content.ec-main :is(.ec-discover-experience__intro,.ec-guide-directory__heading,.ec-dest-explorer__header,.ec-portal-search__heading) h1 {
  font-family: var(--atlas-display,"Cormorant Garamond",Georgia,serif) !important;
  font-weight: 500 !important;
  font-size: clamp(2.5rem,4.5vw,4.2rem) !important;
  line-height: 1.08;
}
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer .ec-destination29-grid--directory:has(> .ec-destination29-card:nth-child(2):last-child) { grid-template-columns: repeat(2,minmax(0,1fr)); }
@media (max-width: 60rem) {
  html body.ec-vivid.ec-public #main-content.ec-main .ec-discover-experience[data-ec-discover-experience] .ec-discover-experience__main-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 40rem) {
  html body.ec-vivid.ec-public #main-content.ec-main .ec-discover-experience[data-ec-discover-experience] .ec-discover-experience__main-filters { grid-template-columns: minmax(0,1fr); gap: .7rem; }
  html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer .ec-destination29-grid--directory:has(> .ec-destination29-card:nth-child(2):last-child) { grid-template-columns: minmax(0,1fr); }
}
/* One clear content column on smaller screens; photos remain attached to their place. */
@media (max-width: 64rem) {
  html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer--hub .ec-destination29-grid { grid-template-columns: minmax(0,1fr); }
  html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer--hub .ec-destination29-card--photo { grid-template-columns: minmax(0,.6fr) minmax(0,1fr); }
  html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer--hub .ec-destination29-card__image { aspect-ratio: 3 / 2; }
}
@media (max-width: 40rem) {
  html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer--hub .ec-destination29-card--photo,
  html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer--hub .ec-destination29-card--photo:only-child { display: block; padding-top: 1.15rem; }
  html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer--hub .ec-destination29-card--photo .ec-destination29-card__body { padding-top: 1.1rem; }
  html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer--hub .ec-destination29-card__image { width: 100%; height: auto; aspect-ratio: 3 / 2; }
  html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer--hub .ec-destination29-card:only-child .ec-destination29-card__copy h3 { font-size: 2rem !important; }
  html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer .ec-destination29-card__actions { gap: .25rem 1.1rem; }
  html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer__refine { margin-top: .6rem; }
}

/* A lone place is a complete editorial row; a pair uses the available two columns. */
html body.ec-vivid.ec-public #main-content.ec-main #ec-public-search .ec-portal-search__grid:has(>.ec-portal-search__item>.ec-place-result-row),
html body.ec-vivid.ec-public #main-content.ec-main .ec-discover-experience[data-ec-discover-experience] .ec-discover-experience__results:has(>.ec-place-result-row){grid-template-columns:minmax(0,1fr);max-width:none;width:100%}
html body.ec-vivid.ec-public #main-content.ec-main #ec-public-search .ec-portal-search__grid:has(>.ec-portal-search__item:first-child:nth-last-child(2)),
html body.ec-vivid.ec-public #main-content.ec-main .ec-discover-experience[data-ec-discover-experience] .ec-discover-experience__results:has(>.ec-discover-card:first-of-type:nth-last-of-type(2)){grid-template-columns:repeat(2,minmax(0,1fr));max-width:none;width:100%}
html body.ec-vivid.ec-public #main-content.ec-main .ec-place-result-row{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(1.5rem,3vw,3rem);align-items:start;min-width:0;width:100%;padding:1.25rem 0 0;border:0;border-top:1px solid #d9dfd7;border-radius:0;background:transparent;box-shadow:none;color:#203b33;font-family:var(--atlas-body,"DM Sans",Arial,sans-serif)}
html body.ec-vivid.ec-public #main-content.ec-main .ec-place-result-row__visual{min-width:0;margin:0}
html body.ec-vivid.ec-public #main-content.ec-main .ec-place-result-row__visual>a{display:block;min-height:0;overflow:visible;border:0;border-radius:0;background:transparent;aspect-ratio:auto}
html body.ec-vivid.ec-public #main-content.ec-main .ec-place-result-row__visual img{display:block;position:static;width:100%;height:auto;max-width:100%;max-height:none;object-fit:contain;transform:none;border-radius:4px}
html body.ec-vivid.ec-public #main-content.ec-main .ec-place-result-row__body{min-width:0;max-width:68ch;padding:.15rem 0 0}
html body.ec-vivid.ec-public #main-content.ec-main .ec-place-result-row__meta{margin:0 0 .6rem;font-size:.8125rem;line-height:1.6;color:#52645c}
html body.ec-vivid.ec-public #main-content.ec-main .ec-place-result-row h3{margin:0 0 1rem;font:500 clamp(1.9rem,3vw,2.65rem)/1.12 var(--atlas-display,"Cormorant Garamond",Georgia,serif);letter-spacing:-.025em;color:#203b33;overflow-wrap:break-word}
html body.ec-vivid.ec-public #main-content.ec-main .ec-place-result-row h3 a{color:inherit;text-decoration:none}
html body.ec-vivid.ec-public #main-content.ec-main .ec-place-result-row__summary{display:block;margin:0;font-size:1rem;line-height:1.75;color:#52645c;overflow:visible}
html body.ec-vivid.ec-public #main-content.ec-main .ec-place-result-row__address{margin:1rem 0 0;font-size:.875rem;line-height:1.6;color:#52645c}
html body.ec-vivid.ec-public #main-content.ec-main .ec-place-result-row__selected{margin:.75rem 0 0;font-size:.75rem;font-weight:600;line-height:1.6;color:#285d49}
html body.ec-vivid.ec-public #main-content.ec-main .ec-place-result-row__actions{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem 1.5rem;margin:1rem 0 0}
html body.ec-vivid.ec-public #main-content.ec-main .ec-place-result-row__actions :is(a,button){display:inline-flex;align-items:center;justify-content:flex-start;gap:.55rem;min-height:44px;max-width:100%;margin:0;padding:.45rem 0;border:0;border-radius:.25rem;background:transparent;box-shadow:none;font:550 .875rem/1.5 var(--atlas-body,"DM Sans",Arial,sans-serif);color:#52645c;text-align:left;white-space:normal;text-decoration:none}
html body.ec-vivid.ec-public #main-content.ec-main .ec-place-result-row__actions .ec-place-result-row__open{font-weight:650;color:#285d49}
html body.ec-vivid.ec-public #main-content.ec-main .ec-place-result-row :is(a,button):hover{text-decoration:underline;text-underline-offset:.2em}
html body.ec-vivid.ec-public #main-content.ec-main .ec-place-result-row :is(a,button):focus-visible{outline:3px solid #285d49;outline-offset:4px}
html body.ec-vivid.ec-public #main-content.ec-main .ec-place-result-row__actions button[data-ec-save][data-entity-type][data-entity-id]:not([hidden]){justify-content:flex-start!important;border:0!important;background:transparent!important;color:#285d49!important}
html body.ec-vivid.ec-public #main-content.ec-main .ec-place-result-row__actions button[data-ec-save][data-entity-type][data-entity-id]:not([hidden])::before{width:18px!important;height:18px!important;flex-basis:18px!important}
html body.ec-vivid.ec-public #main-content.ec-main .ec-place-result-row__actions button[aria-pressed=true]{font-weight:700}
html body.ec-vivid.ec-public #main-content.ec-main .ec-place-result-row__actions button:disabled{opacity:.65;cursor:wait}
html body.ec-vivid.ec-public #main-content.ec-main .ec-place-result-row--text{grid-template-columns:minmax(0,1fr)}
@media(max-width:48rem){
 html body.ec-vivid.ec-public #main-content.ec-main #ec-public-search .ec-portal-search__grid:has(>.ec-portal-search__item:first-child:nth-last-child(2)),
 html body.ec-vivid.ec-public #main-content.ec-main .ec-discover-experience[data-ec-discover-experience] .ec-discover-experience__results:has(>.ec-discover-card:first-of-type:nth-last-of-type(2)){grid-template-columns:minmax(0,1fr)}
 html body.ec-vivid.ec-public #main-content.ec-main .ec-place-result-row{grid-template-columns:minmax(0,1fr);gap:1.25rem}
 html body.ec-vivid.ec-public #main-content.ec-main .ec-place-result-row__body{padding:0}
}
@media(forced-colors:active){
 html body.ec-vivid.ec-public #main-content.ec-main .ec-place-result-row :is(a,button):focus-visible{outline-color:Highlight}
 html body.ec-vivid.ec-public #main-content.ec-main .ec-place-result-row__actions button[data-ec-save][data-entity-type][data-entity-id]:not([hidden]){color:ButtonText!important;background:Canvas!important}
 html body.ec-vivid.ec-public #main-content.ec-main .ec-place-result-row__actions button[data-ec-save][data-entity-type][data-entity-id]:not([hidden])[aria-pressed=true]{color:Highlight!important}
}

/* Compact Saved actions and search utilities. Existing action hooks and result layouts are unchanged. */
html body.ec-vivid.ec-public #main-content.ec-main .ec-saved-page { padding-block: 1.5rem 2.5rem; }
html body.ec-vivid.ec-public #main-content.ec-main .ec-saved-page .ec-saved-heading { padding-bottom: .9rem; }
html body.ec-vivid.ec-public #main-content.ec-main .ec-saved-page .ec-saved-heading h1 { font-size: clamp(2.2rem, 3.5vw, 2.8rem); }
html body.ec-vivid.ec-public #main-content.ec-main .ec-saved-page .ec-saved-eyebrow { margin-bottom: .45rem; }
html body.ec-vivid.ec-public #main-content.ec-main .ec-saved-page .ec-saved-heading__intro { margin-top: .5rem; line-height: 1.6; }
html body.ec-vivid.ec-public #main-content.ec-main .ec-saved-page .ec-saved-controls { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem .75rem; margin-bottom: .85rem; }
html body.ec-vivid.ec-public #main-content.ec-main .ec-saved-page .ec-saved-controls > .ec-saved-button--explore { margin: 0; }
html body.ec-vivid.ec-public #main-content.ec-main .ec-saved-page .ec-saved-controls > .ec-saved-sharing-launch { margin: 0; }
html body.ec-vivid.ec-public #main-content.ec-main .ec-saved-page .ec-saved-controls > .ec-saved-toolbar { flex: 1 1 100%; margin: .2rem 0 0; padding: .65rem .9rem; }
html body.ec-vivid.ec-public #main-content.ec-main .ec-saved-page .ec-saved-summary { margin: .9rem 0 .8rem; padding-bottom: .6rem; }
html body.ec-vivid.ec-public #main-content.ec-main #ec-public-search .ec-portal-search__tools { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: .5rem 1rem; margin-top: .75rem; }
html body.ec-vivid.ec-public #main-content.ec-main #ec-public-search .ec-portal-search__tools > .ec-portal-search__tabs { flex: 0 1 auto; margin: 0; }
html body.ec-vivid.ec-public #main-content.ec-main #ec-public-search .ec-portal-search__tools > .ec-portal-search__share:not([hidden]) { display: inline-flex; align-items: center; justify-content: flex-start; gap: .45rem; min-height: 44px; max-width: 100%; margin: 0; padding: .45rem 0; border: 0; border-radius: 0; background: transparent; color: #52645c; box-shadow: none; font-size: .75rem; line-height: 1.4; font-weight: 500; text-align: left; white-space: normal; }
html body.ec-vivid.ec-public #main-content.ec-main #ec-public-search .ec-portal-search__tools > .ec-portal-search__share:hover { color: #285d49; text-decoration: underline; text-underline-offset: .2em; }
@media (max-width: 42rem) {
 html body.ec-vivid.ec-public #main-content.ec-main .ec-saved-page { padding-top: 1.1rem; }
 html body.ec-vivid.ec-public #main-content.ec-main .ec-saved-page .ec-saved-controls { gap: .5rem; }
 html body.ec-vivid.ec-public #main-content.ec-main .ec-saved-page .ec-saved-controls > .ec-saved-toolbar { gap: .5rem .75rem; }
}

/* Keep the discovery introduction together above its filters at every width. */
html body.ec-vivid.ec-public #main-content.ec-main .ec-discover-experience[data-ec-discover-experience] .ec-discover-experience__intro { grid-template-columns: minmax(0, 1fr); align-items: start; gap: .5rem; }
html body.ec-vivid.ec-public #main-content.ec-main .ec-discover-experience[data-ec-discover-experience] .ec-discover-experience__intro > p { max-width: 60ch; margin: 0; }
