/* Shared public actions. Directional marks retain the original link and accessible name. */
html body.ec-vivid.ec-public #main-content.ec-main {
  --action-ink: #173d3b;
  --action-paper: #fff;
  --action-line: #d6dfd8;
  --action-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14m-6-6 6 6-6 6' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
/* Primary actions: a compact, consistent control with room for translated copy. */
html body.ec-vivid.ec-public #main-content.ec-main :is(.ec33-button, .ec33-search button[type=submit], .ec-place-profile__button, .ec-bestof-button, .ec-dest-explorer__submit, .ec-idea__primary, .ec-ideas__filters button) {
  box-sizing: border-box;
  min-height: 44px;
  max-width: 100%;
  padding: .625rem 1rem;
  border: 1px solid var(--action-ink);
  border-radius: 6px;
  background: var(--action-ink);
  color: #fffdf5 !important;
  font-family: var(--atlas-body, "DM Sans", Arial, sans-serif);
  font-size: .875rem;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: .005em;
  text-align: start;
  text-decoration: none;
  text-transform: none;
  white-space: normal;
  overflow-wrap: anywhere;
  gap: .625rem;
  box-shadow: none;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}
html body.ec-vivid.ec-public #main-content.ec-main :is(.ec33-button, .ec33-search button[type=submit], .ec-place-profile__button, .ec-bestof-button, .ec-dest-explorer__submit, .ec-idea__primary, .ec-ideas__filters button):hover:not(:disabled):not([aria-disabled=true]) {
  background: #244f48;
  border-color: #244f48;
  box-shadow: none;
}
/* Save / secondary actions stay recognisably secondary. */
html body.ec-vivid.ec-public #main-content.ec-main :is(a, button, span):is(.ec-place-profile__button--quiet, .ec-place-profile__button--light, .ec-bestof-button--quiet, .ec-bestof-button--light)[class] {
  background: var(--action-paper);
  border-color: var(--action-line);
  color: var(--action-ink) !important;
  box-shadow: none;
}
html body.ec-vivid.ec-public #main-content.ec-main :is(a, button, span):is(.ec-place-profile__button--quiet, .ec-place-profile__button--light, .ec-bestof-button--quiet, .ec-bestof-button--light)[class]:hover:not(:disabled):not([aria-disabled=true]) {
  background: #f0f4f0;
  border-color: #9bb0a1;
}
html body.ec-vivid.ec-public #main-content.ec-main :is(a, button):is(.ec-place-profile__button, .ec-bestof-button)[class][aria-pressed=true] {
  background: #e6eee3;
  border-color: #6a8b72;
  color: var(--action-ink) !important;
}
html body.ec-vivid.ec-public #main-content.ec-main :is(.ec33-button, .ec-place-profile__button, .ec-bestof-button, .ec-dest-explorer__submit):is(:disabled, [aria-disabled=true]) {
  opacity: .55;
  cursor: not-allowed;
  box-shadow: none;
}
/* Destination cards keep Save beside the content. Override the legacy MU-plugin
   box treatment while preserving its bookmark, pressed state and focus ring. */
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer :is(.ec-destination29-card__actions, .ec-dest-card__actions) button[data-ec-save][data-entity-type][data-entity-id]:not([hidden]) {
  min-height: 44px;
  padding: .5rem .25rem;
  border: 0 !important;
  background: transparent !important;
  color: var(--action-ink) !important;
  text-decoration: none;
}
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer :is(.ec-destination29-card__actions, .ec-dest-card__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-dest-explorer :is(.ec-destination29-card__actions, .ec-dest-card__actions) button[data-ec-save][data-entity-type][data-entity-id]:not([hidden]):hover:not(:disabled):not([aria-disabled=true]) {
  text-decoration: underline;
  text-underline-offset: .25em;
}
html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer :is(.ec-destination29-card__actions, .ec-dest-card__actions) button[data-ec-save][data-entity-type][data-entity-id]:not([hidden])[aria-pressed=true] { font-weight: 700; text-decoration: none; }
/* Text links and utility actions remain subordinate to the content. */
html body.ec-vivid.ec-public #main-content.ec-main :is(.ec33-text-link, .ec33-card__action, .ec-place-profile__text-link, .ec-place-profile__share, .ec-dest-explorer__share) {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  min-height: 44px;
  gap: .5rem;
  font-size: .875rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0;
  text-decoration: none;
  border-bottom-color: var(--action-line);
  text-underline-offset: .25em;
}
html body.ec-vivid.ec-public #main-content.ec-main :is(.ec-place-profile__share, .ec-dest-explorer__share) {
  padding: .375rem .25rem;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: #52665c;
  box-shadow: none;
}
html body.ec-vivid.ec-public #main-content.ec-main :is(.ec-place-profile__share, .ec-dest-explorer__share):hover {
  color: var(--action-ink);
  text-decoration: underline;
}
html body.ec-vivid.ec-public #main-content.ec-main :is(.ec33-button, .ec-place-profile__button, .ec-bestof-button, .ec-dest-explorer__submit) > svg {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
}
html body.ec-vivid.ec-public #main-content.ec-main .ec33-card__action { padding: .6rem 0; }
html body.ec-vivid.ec-public #main-content.ec-main :is(.ec33-destination h3 a, .ec33-park h3 a) { min-height: 44px; gap: .7rem; }
html body.ec-vivid.ec-public #main-content.ec-main :is(.ec33-text-link, .ec33-card__action, .ec33-destination h3 a, .ec33-park h3 a) > svg,
html body.ec-vivid.ec-public #main-content.ec-main :is(.ec-bestof-card__copy h3, .ec-destination29-card__copy h3, .ec-around-profile__card-content h4 a) > span[aria-hidden] {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  font-size: 0;
  transition: transform .18s ease;
}
html body.ec-vivid.ec-public #main-content.ec-main :is(.ec-bestof-card__copy h3, .ec-destination29-card__copy h3, .ec-around-profile__card-content h4 a) > span[aria-hidden]::after {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background: currentColor;
  -webkit-mask: var(--action-arrow) center / contain no-repeat;
  mask: var(--action-arrow) center / contain no-repeat;
}
html body.ec-vivid.ec-public #main-content.ec-main :is(a:hover, a:focus-visible) :is(.ec33-card__action > svg, .ec-bestof-card__copy h3 > span[aria-hidden], .ec-destination29-card__copy h3 > span[aria-hidden], .ec-around-profile__card-content h4 a > span[aria-hidden]),
html body.ec-vivid.ec-public #main-content.ec-main :is(.ec33-text-link, .ec33-destination h3 a, .ec33-park h3 a):is(:hover, :focus-visible) > svg {
  transform: translateX(2px);
}
html body.ec-vivid.ec-public #main-content.ec-main .ec-destination29-primary > span[aria-hidden]::after { transform: rotate(90deg); }
/* Unicode arrows become crisp vector marks; bookmark/search icons are untouched. */
html body.ec-vivid.ec-public #main-content.ec-main :is(.ec-place-profile__button, .ec-place-profile__text-link, .ec-place-profile__share, .ec-dest-explorer__submit, .ec-dest-explorer__share, .ec-destination29-primary) > span[aria-hidden] {
  display: inline-flex;
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  font-size: 0;
  align-items: center;
  justify-content: center;
}
html body.ec-vivid.ec-public #main-content.ec-main :is(.ec-place-profile__button, .ec-place-profile__text-link, .ec-place-profile__share, .ec-dest-explorer__submit, .ec-dest-explorer__share, .ec-destination29-primary) > span[aria-hidden]::after {
  content: "";
  width: 20px;
  height: 20px;
  background: currentColor;
  -webkit-mask: var(--action-arrow) center / contain no-repeat;
  mask: var(--action-arrow) center / contain no-repeat;
}
html body.ec-vivid.ec-public #main-content.ec-main :is(.ec-place-profile__text-link, .ec-place-profile__share, .ec-place-profile__button[data-ec-cta]) > span[aria-hidden]::after { transform: rotate(-45deg); }
html body.ec-vivid.ec-public #main-content.ec-main .ec-place-profile__button[href="#ec-profile-about"] > span[aria-hidden]::after { transform: rotate(45deg); }
html body.ec-vivid.ec-public #main-content.ec-main :is(.ec33-button, .ec33-text-link, .ec33-search button, .ec33-destination h3 a, .ec33-park h3 a, .ec33-card__action, .ec-place-profile__button, .ec-place-profile__text-link, .ec-place-profile__share, .ec-bestof-button, .ec-bestof-card__link, .ec-destination29-card__link, .ec-dest-explorer__submit, .ec-dest-explorer__share, .ec-idea__primary, .ec-ideas__filters button):focus-visible {
  outline: 3px solid #567d64;
  outline-offset: 4px;
  box-shadow: 0 0 0 2px var(--action-paper);
}
@media (max-width: 600px) {
  html body.ec-vivid.ec-public #main-content.ec-main .ec-bestof-actions > .ec-destination29-primary { flex: 1 1 auto; padding-inline: .85rem; gap: .65rem; }
  html body.ec-vivid.ec-public #main-content.ec-main .ec-destination29-primary + .ec-bestof-button--quiet { flex: 0 0 auto; width: auto; padding-inline: .85rem; }
  html body.ec-vivid.ec-public #main-content.ec-main .ec-place-profile__actions { width: 100%; }
  html body.ec-vivid.ec-public #main-content.ec-main .ec-place-profile__actions > .ec-place-profile__button:not(.ec-place-profile__button--quiet) { flex-basis: 100%; justify-content: space-between; }
  html body.ec-vivid.ec-public #main-content.ec-main .ec-place-profile__actions > .ec-place-profile__button--quiet { flex: 0 1 auto; }
  html body.ec-vivid.ec-public #main-content.ec-main :is(.ec33-text-link, .ec33-card__action) { font-size: .875rem; min-height: 44px; gap: .5rem; }
  html body.ec-vivid.ec-public #main-content.ec-main :is(.ec33-text-link, .ec33-card__action, .ec33-destination h3 a, .ec33-park h3 a) > svg { width: 20px; height: 20px; flex-basis: 20px; padding: 0; }
}
@media (prefers-reduced-motion: reduce) {
  html body.ec-vivid.ec-public #main-content.ec-main :is(.ec33-button, .ec33-text-link, .ec33-card__action, .ec33-destination h3 a, .ec33-park h3 a, .ec-place-profile__button, .ec-bestof-button, .ec-dest-explorer__submit, .ec-idea__primary, .ec-ideas__filters button),
  html body.ec-vivid.ec-public #main-content.ec-main :is(.ec33-text-link, .ec33-card__action, .ec33-destination h3 a, .ec33-park h3 a) > svg,
  html body.ec-vivid.ec-public #main-content.ec-main :is(.ec-bestof-card__copy h3, .ec-destination29-card__copy h3, .ec-around-profile__card-content h4 a) > span[aria-hidden] { transition: none !important; transform: none !important; }
}
@media (forced-colors: active) {
  html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer :is(.ec-destination29-card__actions, .ec-dest-card__actions) button[data-ec-save][data-entity-type][data-entity-id]:not([hidden]) { color: ButtonText !important; background: ButtonFace !important; border: 1px solid ButtonText !important; }
  html body.ec-vivid.ec-public #main-content.ec-main .ec-dest-explorer :is(.ec-destination29-card__actions, .ec-dest-card__actions) button[data-ec-save][data-entity-type][data-entity-id]:not([hidden])[aria-pressed=true] { color: Highlight !important; border-color: Highlight !important; }

  html body.ec-vivid.ec-public #main-content.ec-main :is(.ec33-button, .ec33-search button[type=submit], .ec-place-profile__button, .ec-bestof-button, .ec-dest-explorer__submit, .ec-idea__primary, .ec-ideas__filters button),
  html body.ec-vivid.ec-public #main-content.ec-main :is(a, button, span):is(.ec-place-profile__button--quiet, .ec-place-profile__button--light, .ec-bestof-button--quiet, .ec-bestof-button--light)[class]:hover:not(:disabled):not([aria-disabled=true]),
  html body.ec-vivid.ec-public #main-content.ec-main :is(a, button):is(.ec-place-profile__button, .ec-bestof-button)[class][aria-pressed=true] { color: ButtonText !important; background: ButtonFace !important; border-color: ButtonText !important; box-shadow: none; }
  html body.ec-vivid.ec-public #main-content.ec-main :is(a, button):focus-visible { outline-color: Highlight; }
  html body.ec-vivid.ec-public #main-content.ec-main span[aria-hidden]::after { forced-color-adjust: none; background: CanvasText; }
}

/* Feedback 2026-10-21: equal language cells, centered photo controls and compact practical links. */
html body.ec-public .ec-site-header:not(.ec-site-header--private) .ec-language-switcher > .ec-language {
  display: inline-flex; align-items: center; justify-content: center;
  box-sizing: border-box; flex: 0 0 44px; width: 44px; min-width: 44px; min-height: 44px;
  margin: 0; padding: .25rem; line-height: 1.3; text-align: center;
}
html body.ec-public #main-content .ec-gallery__link::after {
  content: ""; box-sizing: border-box; padding: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 3H3v6m0-6 7 7m5 11h6v-6m0 6-7-7'/%3E%3C/svg%3E");
  background-position: center; background-size: 18px 18px; background-repeat: no-repeat;
}
html body.ec-public #main-content .ec-place-profile[data-ec-place-profile] .ec-place-profile__hero-media .ec-gallery--1 .ec-gallery__open {
  box-sizing: border-box; gap: 0; padding: 0;
}
html body.ec-public #main-content .ec-place-profile[data-ec-place-profile] .ec-place-profile__hero-media .ec-gallery--1 .ec-gallery__open::before {
  content: ""; display: block; flex: 0 0 20px; width: 20px; height: 20px; margin: 0; padding: 0;
  background: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 3H3v6m0-6 7 7m5 11h6v-6m0 6-7-7'/%3E%3C/svg%3E") center/contain no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 3H3v6m0-6 7 7m5 11h6v-6m0 6-7-7'/%3E%3C/svg%3E") center/contain no-repeat;
}
html body.ec-vivid.ec-public #main-content.ec-main .ec-place-profile[data-ec-place-profile] .ec-place-profile__contact { margin-top: .65rem; }
html body.ec-vivid.ec-public #main-content.ec-main .ec-idea [data-journey-compare][aria-busy="true"] { display: inline-flex; align-items: center; gap: .5rem; }
html body.ec-vivid.ec-public #main-content.ec-main .ec-idea [data-journey-compare][aria-busy="true"]::before {
  content: ""; width: 1em; height: 1em; flex: 0 0 1em; border: 2px solid currentColor;
  border-right-color: transparent; border-radius: 50%; animation: ec-compare-progress .7s linear infinite;
}
@keyframes ec-compare-progress { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  html body.ec-vivid.ec-public #main-content.ec-main .ec-idea [data-journey-compare][aria-busy="true"]::before { animation: none; }
}
