/* PORTAL24 — guide choices without repeated micro-counts; native GET behavior is unchanged. */
.ec-public #main-content .ec-guide-directory__form {display:grid;grid-template-columns:minmax(0,1.6fr) minmax(190px,.8fr) auto;gap:16px;padding:22px;border-radius:24px;align-items:end;}
.ec-public #main-content .ec-guide-directory__form:not(:has(.ec-guide-directory__destination)) {grid-template-columns:minmax(0,1fr) auto;}
.ec-public #main-content .ec-guide-directory__input,.ec-public #main-content .ec-guide-directory__destination {min-width:0;max-width:none;}
.ec-public #main-content .ec-guide-directory__occasions {display:flex;align-items:center;gap:18px;margin:22px 0 0;padding:0 0 22px;border-bottom:1px solid #dfe7df;}
.ec-public #main-content .ec-guide-directory__occasions>p {margin:0;flex-shrink:0;font:500 12px/1.5 "DM Sans",Arial,sans-serif;color:#677b77;}
.ec-public #main-content .ec-guide-directory__occasions>div {display:flex;flex-wrap:wrap;gap:8px;}
.ec-public #main-content :is(.ec-guide-directory__occasion,.ec-guide-directory__tab) {min-height:44px;box-sizing:border-box;padding:11px 18px;border-radius:999px;border:1px solid #dbe5de;background:#fffefa;color:#173c41;font:500 13px/1.5 "DM Sans",Arial,sans-serif;white-space:normal;}
.ec-public #main-content :is(.ec-guide-directory__occasion,.ec-guide-directory__tab):hover {color:#244deb;background:#f0f3ff;border-color:#b2c0ee;}
.ec-public #main-content :is(.ec-guide-directory__occasion,.ec-guide-directory__tab)[aria-current=true] {color:#fff;background:#244deb;border-color:#244deb;box-shadow:none;}
.ec-public #main-content :is(.ec-guide-directory__occasion,.ec-guide-directory__tab):focus-visible {outline:3px solid #244deb;outline-offset:3px;}
.ec-public #main-content .ec-guide-directory__tabs {gap:8px;margin:14px 0 0;}
.ec-public #main-content .ec-guide-directory__tabs:not(:has(.ec-guide-directory__tab)) {justify-content:flex-end;}
.ec-public #main-content .ec-guide-directory__results-heading {align-items:center;padding:0;margin:26px 0 20px;}
.ec-public #main-content .ec-guide-directory__results-heading strong {font-size:14px;font-weight:500;color:#4d6864;}
.ec-public #main-content .ec-guide-directory__status:empty {display:none;}
@media (max-width:820px) {
 .ec-public #main-content .ec-guide-directory__form {grid-template-columns:minmax(0,1fr) auto;}
 .ec-public #main-content .ec-guide-directory__destination {grid-column:1/-1;grid-row:2;display:block;padding:0;border:0;}
 .ec-public #main-content .ec-guide-directory__occasions {display:block;}
 .ec-public #main-content .ec-guide-directory__occasions>p {margin:0 0 12px;}
}
@media (max-width:480px) {
 .ec-public #main-content .ec-guide-directory__form {padding:16px;gap:12px;}
 .ec-public #main-content .ec-guide-directory__submit {padding:13px 16px;gap:10px;}
 .ec-public #main-content :is(.ec-guide-directory__occasion,.ec-guide-directory__tab) {padding:10px 14px;font-size:12px;}
}

/* Stable 44px icon controls across public cards. CSS hearts survive the existing shell's
   text/pressed/pending updates; the localized button name stays in the native markup. */
.ec-public #main-content :is(.ec-bestof-card,.ec-card,.ec-nearby-card,.ec-portal-card,.atlas-card,.ec-collection-card,.ec-event-card,.ec-bestof-plan__card,.ec-around-profile__card,.ec-my-dashboard__card,.ec-home-event,.ec-event-agenda__card,.ec-motion-card) button[data-ec-save] {
 --ec-save-glyph24:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M20.5 4.7a5.3 5.3 0 0 0-7.5 0L12 5.8l-1.1-1.1a5.3 5.3 0 0 0-7.4 7.5L12 21l8.5-8.8a5.3 5.3 0 0 0 0-7.5Z' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
 display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 44px!important;
 width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;max-width:44px!important;max-height:44px!important;
 padding:0!important;gap:0!important;box-sizing:border-box;border:1px solid #dce6df!important;border-radius:50%!important;
 background:#fffefa!important;color:#234841!important;box-shadow:none!important;font-size:0!important;line-height:0!important;text-indent:0!important;white-space:nowrap;
}
.ec-public #main-content :is(.ec-bestof-card,.ec-card,.ec-nearby-card,.ec-portal-card,.atlas-card,.ec-collection-card,.ec-event-card,.ec-bestof-plan__card,.ec-around-profile__card,.ec-my-dashboard__card,.ec-home-event,.ec-event-agenda__card,.ec-motion-card) button[data-ec-save]::before {content:""!important;display:block!important;position:static!important;inset:auto!important;transform:none!important;width:22px!important;height:22px!important;flex:0 0 22px;background:currentColor!important;mask:var(--ec-save-glyph24) center/contain no-repeat!important;-webkit-mask:var(--ec-save-glyph24) center/contain no-repeat!important;pointer-events:none;}
.ec-public #main-content :is(.ec-bestof-card,.ec-card,.ec-nearby-card,.ec-portal-card,.atlas-card,.ec-collection-card,.ec-event-card,.ec-bestof-plan__card,.ec-around-profile__card,.ec-my-dashboard__card,.ec-home-event,.ec-event-agenda__card,.ec-motion-card) button[data-ec-save]::after {display:none!important;content:none!important;}
.ec-public #main-content :is(.ec-bestof-card,.ec-card,.ec-nearby-card,.ec-portal-card,.atlas-card,.ec-collection-card,.ec-event-card,.ec-bestof-plan__card,.ec-around-profile__card,.ec-my-dashboard__card,.ec-home-event,.ec-event-agenda__card,.ec-motion-card) button[data-ec-save]>svg {display:none!important;}
.ec-public #main-content :is(.ec-bestof-card,.ec-card,.ec-nearby-card,.ec-portal-card,.atlas-card,.ec-collection-card,.ec-event-card,.ec-bestof-plan__card,.ec-around-profile__card,.ec-my-dashboard__card,.ec-home-event,.ec-event-agenda__card,.ec-motion-card) button[data-ec-save]>span {font-size:0!important;line-height:0!important;}
.ec-public #main-content :is(.ec-bestof-card,.ec-card,.ec-nearby-card,.ec-portal-card,.atlas-card,.ec-collection-card,.ec-event-card,.ec-bestof-plan__card,.ec-around-profile__card,.ec-my-dashboard__card,.ec-home-event,.ec-event-agenda__card,.ec-motion-card) button[data-ec-save][aria-pressed=true] {--ec-save-glyph24:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.5 4.7a5.3 5.3 0 0 0-7.5 0L12 5.8l-1.1-1.1a5.3 5.3 0 0 0-7.4 7.5L12 21l8.5-8.8a5.3 5.3 0 0 0 0-7.5Z' fill='black'/%3E%3C/svg%3E");background:#edf2ff!important;color:#244deb!important;border-color:#c1cef4!important;}
.ec-public #main-content :is(.ec-bestof-card,.ec-card,.ec-nearby-card,.ec-portal-card,.atlas-card,.ec-collection-card,.ec-event-card,.ec-bestof-plan__card,.ec-around-profile__card,.ec-my-dashboard__card,.ec-home-event,.ec-event-agenda__card,.ec-motion-card) button[data-ec-save]:hover {background:#edf2ff!important;color:#244deb!important;border-color:#b9c9ef!important;}
.ec-public #main-content :is(.ec-bestof-card,.ec-card,.ec-nearby-card,.ec-portal-card,.atlas-card,.ec-collection-card,.ec-event-card,.ec-bestof-plan__card,.ec-around-profile__card,.ec-my-dashboard__card,.ec-home-event,.ec-event-agenda__card,.ec-motion-card) button[data-ec-save]:focus-visible {outline:3px solid #244deb!important;outline-offset:3px!important;}
.ec-public #main-content :is(.ec-bestof-card,.ec-card,.ec-nearby-card,.ec-portal-card,.atlas-card,.ec-collection-card,.ec-event-card,.ec-bestof-plan__card,.ec-around-profile__card,.ec-my-dashboard__card,.ec-home-event,.ec-event-agenda__card,.ec-motion-card) button[data-ec-save]:disabled {opacity:.55;cursor:wait;}
.ec-public #main-content :is(.ec-bestof-card__actions,.ec-card__actions,.ec-nearby-card__actions,.ec-portal-card__actions,.ec-bestof-plan__card-actions) {align-items:center;gap:12px;flex-direction:row;}
@media (forced-colors:active) {
 .ec-public #main-content :is(.ec-bestof-card,.ec-card,.ec-nearby-card,.ec-portal-card,.atlas-card,.ec-collection-card,.ec-event-card,.ec-bestof-plan__card,.ec-around-profile__card,.ec-my-dashboard__card,.ec-home-event,.ec-event-agenda__card,.ec-motion-card) button[data-ec-save] {color:ButtonText!important;background:ButtonFace!important;border-color:ButtonText!important;}
 .ec-public #main-content :is(.ec-bestof-card,.ec-card,.ec-nearby-card,.ec-portal-card,.atlas-card,.ec-collection-card,.ec-event-card,.ec-bestof-plan__card,.ec-around-profile__card,.ec-my-dashboard__card,.ec-home-event,.ec-event-agenda__card,.ec-motion-card) button[data-ec-save][aria-pressed=true] {color:Highlight!important;border-color:Highlight!important;}
}

/* G1h: bring desktop guide photographs forward by removing surplus vertical gaps.
   Keep existing type, photo geometry and 44px controls; narrow layouts are unchanged. */
@media (min-width:821px) {
 .ec-public #main-content .ec-guide-directory {padding-top:16px;}
 .ec-public #main-content .ec-guide-directory__heading {margin-bottom:12px;}
 .ec-public #main-content .ec-guide-directory__heading .ec-bestof-eyebrow {margin-bottom:4px;}
 .ec-public #main-content .ec-guide-directory__heading h1 {margin:0 0 6px;}
 .ec-public #main-content .ec-guide-directory__heading p:not(.ec-bestof-eyebrow) {line-height:1.5;}
 .ec-public #main-content .ec-guide-directory__form {padding-block:12px;}
 .ec-public #main-content .ec-guide-directory__occasions {margin-top:12px;padding-bottom:10px;}
 .ec-public #main-content .ec-guide-directory__tabs {margin-top:4px;}
 .ec-public #main-content .ec-guide-directory__results-heading {margin:6px 0 12px;}
}

/* G1k: a collection photograph is a recognisable place, not a strip stretched
   to the combined height of every guide. Keep one existing image per group. */
@media (min-width:1024px) {
 .ec-public #main-content .ec-guide-directory__grid--collections {align-items:start;}
 .ec-public #main-content .ec-guide-collection--portrait {display:flex;flex-direction:column;}
 .ec-public #main-content .ec-guide-collection--portrait .ec-guide-collection__destination {min-height:0;max-height:none;flex:0 0 auto;}
 .ec-public #main-content .ec-guide-collection--portrait .ec-guide-collection__figure {position:relative;inset:auto;height:auto;}
 .ec-public #main-content .ec-guide-collection--portrait .ec-guide-collection__figure>a {height:auto;}
 .ec-public #main-content .ec-guide-collection--portrait .ec-guide-collection__figure img {height:clamp(320px,30vw,400px);min-height:0;aspect-ratio:auto;}
 .ec-public #main-content .ec-guide-collection--portrait .ec-guide-collection__guides {grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:24px;}
}

/* Rights-aware originals retain their complete image and separate title.
   These rules also release the old mobile portrait min/max-height constraints. */
.ec-public #main-content .ec-guide-collection__destination:has(img[data-ec-original-aspect]) {min-height:0;max-height:none;}
.ec-public #main-content .ec-guide-collection__destination:has(img[data-ec-original-aspect]) .ec-guide-collection__figure {position:relative;inset:auto;height:auto;}
.ec-public #main-content .ec-guide-collection__destination:has(img[data-ec-original-aspect]) .ec-guide-collection__figure>a {height:auto;}
.ec-public #main-content .ec-guide-collection__destination .ec-guide-collection__figure img[data-ec-original-aspect] {height:auto;min-height:0;max-height:none;aspect-ratio:auto;object-fit:contain;}

/* Mobile discovery: keep every label and native control, use one scrollable
   occasion row, and spend the first scroll on ideas rather than surplus gaps. */
@media (max-width:767px) {
 .ec-public #main-content .ec-guide-directory {padding-top:16px;}
 .ec-public #main-content .ec-guide-directory__heading {margin-bottom:12px;}
 .ec-public #main-content .ec-guide-directory__heading .ec-bestof-eyebrow {margin:0 0 6px;}
 .ec-public #main-content .ec-guide-directory__heading h1 {font-size:clamp(2.15rem,8.6vw,2.8rem);line-height:1.08;margin:0 0 10px;}
 .ec-public #main-content .ec-guide-directory__heading p:not(.ec-bestof-eyebrow) {font-size:14px;line-height:1.5;}
 .ec-public #main-content .ec-guide-directory__share {min-height:44px;margin-top:6px;padding-block:8px;}
 .ec-public #main-content .ec-guide-directory__form {grid-template-columns:minmax(0,1fr);gap:10px;padding:12px;border-radius:18px;}
 .ec-public #main-content .ec-guide-directory__form> :is(.ec-guide-directory__input,.ec-guide-directory__destination,.ec-guide-directory__submit) {grid-column:1/-1;grid-row:auto;}
 .ec-public #main-content :is(.ec-guide-directory__input>label,.ec-guide-directory__destination>span) {margin-bottom:4px;}
 .ec-public #main-content .ec-guide-directory__field {min-height:46px;padding-inline:12px;}
 .ec-public #main-content .ec-guide-directory__field input[type=search] {height:44px;min-height:44px;padding-block:8px;}
 .ec-public #main-content .ec-guide-directory__form select {height:46px;min-height:46px;padding-block:9px;}
 .ec-public #main-content .ec-guide-directory__submit {min-height:44px;width:100%;padding-block:10px;}
 .ec-public #main-content .ec-guide-directory__occasions {margin:12px 0 0;padding:0 0 6px;}
 .ec-public #main-content .ec-guide-directory__occasions>p {margin-bottom:4px;}
 .ec-public #main-content .ec-guide-directory__occasions>div {flex-wrap:nowrap;max-width:100%;overflow-x:auto;gap:8px;padding:7px 7px 8px;scroll-padding-inline:7px;scroll-behavior:auto;}
 .ec-public #main-content .ec-guide-directory__occasion {flex:0 0 auto;min-height:44px;white-space:nowrap;}
 .ec-public #main-content .ec-guide-directory__tabs {margin-top:4px;}
 .ec-public #main-content .ec-guide-directory__results-heading {margin:8px 0 12px;}
}
