/* BESTOF01: public detail/destination pages only. No homepage/global selectors. */
.ec-bestof-detail,.ec-bestof-destinations{--bd-ink:#10262c;--bd-blue:#1749ef;--bd-muted:#59676c;--bd-line:#dde2e0;--bd-cream:#f6f5ef;color:var(--bd-ink);font-family:var(--atlas-body,"DM Sans",Arial,sans-serif)}
.ec-bestof-detail :is(h1,h2,h3),.ec-bestof-destinations :is(h1,h2,h3){font-family:var(--atlas-display,"Cormorant Garamond",Georgia,serif);font-weight:500;line-height:1.08;letter-spacing:-.035em}
.ec-bestof-detail a,.ec-bestof-destinations a{text-decoration:none}.ec-bestof-detail a:hover,.ec-bestof-destinations a:hover{text-decoration:none}.ec-bestof-breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;font-size:.75rem;color:var(--bd-muted);padding:1.65rem 0 1.5rem}.ec-bestof-breadcrumbs a{color:inherit}.ec-bestof-breadcrumbs a:hover{color:var(--bd-blue)}
.ec-bestof-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:end;padding:0 0 2rem}.ec-bestof-eyebrow{font:600 .6875rem/1.4 var(--atlas-body,"DM Sans",sans-serif);text-transform:uppercase;letter-spacing:.13em;color:var(--bd-blue);margin:0 0 .7rem}.ec-bestof-heading h1{font-size:clamp(2.55rem,4.5vw,4.25rem);max-width:19ch;margin:0}.ec-bestof-summary{max-width:48rem;font-size:1rem;line-height:1.6;color:var(--bd-muted);margin:1rem 0 0}.ec-bestof-heading__actions{display:grid;justify-items:end;gap:1rem}.ec-bestof-selection{font-size:.6875rem;letter-spacing:.035em;color:var(--bd-blue);padding:.4rem .65rem;border:1px solid #cbd6fe;border-radius:3rem}.ec-bestof-actions{display:flex;flex-wrap:wrap;gap:.5rem}
.ec-bestof-button{display:inline-flex;align-items:center;justify-content:center;gap:1.2rem;min-height:44px;border:1px solid var(--bd-blue);border-radius:.3rem;background:var(--bd-blue);color:#fff!important;font:600 .8125rem/1.4 var(--atlas-body,"DM Sans",sans-serif);padding:.75rem 1.1rem;cursor:pointer;white-space:normal}.ec-bestof-button:hover{background:#0e37c0;border-color:#0e37c0}.ec-bestof-button--quiet{background:white;color:var(--bd-ink)!important;border-color:var(--bd-line)}.ec-bestof-button--quiet:hover{background:var(--bd-cream);border-color:var(--bd-ink)}.ec-bestof-button[aria-pressed=true]{background:#eaf0ff;color:var(--bd-blue)!important}.ec-bestof-button--full{width:100%;margin-top:1.3rem;justify-content:space-between}
.ec-bestof-gallery{display:grid;gap:.75rem}.ec-bestof-gallery--single{grid-template-columns:1fr}.ec-bestof-gallery--multiple{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:stretch}.ec-bestof-photo{margin:0;min-width:0;overflow:hidden;border-radius:.4rem;display:flex;flex-direction:column}.ec-bestof-photo a{display:block;min-height:0;flex:1;overflow:hidden;background:var(--bd-cream)}.ec-bestof-photo img{display:block;width:100%;height:100%;object-fit:cover;max-width:none;transition:transform .5s}.ec-bestof-photo a:hover img{transform:scale(1.025)}.ec-bestof-gallery--single .ec-bestof-photo a{aspect-ratio:2.8/1;max-height:34rem}.ec-bestof-gallery--multiple .ec-bestof-photo--lead{grid-row:span 2}.ec-bestof-gallery--multiple .ec-bestof-photo--lead a{min-height:25rem}.ec-bestof-gallery--multiple .ec-bestof-photo:not(.ec-bestof-photo--lead) a{min-height:11.5rem;max-height:15rem}.ec-bestof-gallery--multiple:has(>.ec-bestof-photo:nth-child(2):last-child) .ec-bestof-photo--lead{grid-row:auto}.ec-bestof-gallery--multiple:has(>.ec-bestof-photo:nth-child(2):last-child) .ec-bestof-photo a{min-height:25rem;max-height:30rem}
.ec-bestof-detail .ec-media-credit{position:static!important;background:transparent!important;color:var(--bd-muted)!important;font-size:.6875rem;line-height:1.55;padding:.45rem 0 0;margin:0;max-width:100%;overflow-wrap:anywhere}.ec-bestof-detail .ec-media-credit a{display:inline;background:none;color:inherit}.ec-bestof-more-photos{margin-top:.9rem}.ec-bestof-more-photos summary{width:fit-content;font-size:.8125rem;color:var(--bd-blue);cursor:pointer;min-height:44px;padding:.6rem 0}.ec-bestof-gallery-extra{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:.6rem 0 1rem}.ec-bestof-gallery-extra .ec-bestof-photo a{aspect-ratio:4/3}
.ec-bestof-page-nav{display:flex;flex-wrap:wrap;gap:1.8rem;border-bottom:1px solid var(--bd-line);padding:1.25rem 0;font-size:.8125rem}.ec-bestof-page-nav:empty{display:none}.ec-bestof-page-nav a{color:var(--bd-ink);min-height:44px;display:inline-flex;align-items:center;gap:.5rem}.ec-bestof-page-nav a:hover{color:var(--bd-blue)}
.ec-bestof-reading{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(18rem,.8fr);gap:clamp(2rem,6vw,6rem);padding:3rem 0 3.5rem;align-items:start}.ec-bestof-reading--wide{grid-template-columns:minmax(0,52rem)}.ec-bestof-story,.ec-bestof-practical,.ec-bestof-related{scroll-margin-top:2rem}.ec-bestof-story>.ec-bestof-eyebrow{margin-bottom:1.3rem}.ec-bestof-story .ec-prose{font-size:.9375rem;line-height:1.85;max-width:65ch}.ec-bestof-story .ec-prose>p:first-child{font-size:1.125rem;line-height:1.75;color:var(--bd-ink);margin-top:0}.ec-bestof-story .ec-prose h2{font-size:1.875rem;margin:1.65rem 0 .75rem}.ec-bestof-story .ec-prose h3{font-size:1.5rem}.ec-bestof-story .ec-prose a{color:var(--bd-blue);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.ec-bestof-story .ec-prose li{margin:.4rem 0}.ec-bestof-practical{background:var(--bd-cream);border:1px solid #ebeae3;border-radius:.45rem;padding:1.7rem}.ec-bestof-practical h2{font-size:2rem;margin:0 0 1.1rem}.ec-bestof-facts{margin:0}.ec-bestof-facts>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;padding:.7rem 0;border-bottom:1px solid #dedfd8;font-size:.8125rem;line-height:1.5}.ec-bestof-facts dt{color:var(--bd-muted)}.ec-bestof-facts dd{margin:0;text-align:right;font-weight:550;overflow-wrap:anywhere}.ec-bestof-access h3{font-size:1.5rem;margin:1.5rem 0 .4rem}.ec-bestof-access__links{display:flex;flex-wrap:wrap;gap:.6rem 1rem;margin-top:1rem}.ec-bestof-access__links a,.ec-bestof-secondary-cta{font-size:.8125rem;font-weight:550;color:var(--bd-blue)}.ec-bestof-secondary-cta{display:block;padding:.7rem 0 0}.ec-bestof-status{background:#fff2d9;border-left:3px solid #9c6810;padding:.7rem 1rem;font-size:.8125rem}
.ec-bestof-section-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:1.6rem}.ec-bestof-section-heading h2{font-size:clamp(2rem,3vw,3rem);margin:0}.ec-bestof-section-heading>a{color:var(--bd-blue);font-size:.8125rem;white-space:nowrap}.ec-bestof-related{padding:2rem 0 3rem;border-top:1px solid var(--bd-line)}.ec-bestof-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem 1.35rem}.ec-bestof-card{min-width:0;display:flex;flex-direction:column}.ec-bestof-card__link{display:block;color:var(--bd-ink);flex:1}.ec-bestof-card__image{overflow:hidden;border-radius:.35rem;aspect-ratio:1.5/1;background:var(--bd-cream)}.ec-bestof-card__image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s}.ec-bestof-card__link:hover img{transform:scale(1.035)}.ec-bestof-card__copy{padding:1rem 0 .8rem}.ec-bestof-card__copy h3{font-size:1.65rem;margin:0 0 .6rem;display:flex;align-items:start;justify-content:space-between;gap:.8rem}.ec-bestof-card__copy h3 span{font:400 1.2rem/1.5 var(--atlas-body,"DM Sans",sans-serif);color:var(--bd-blue)}.ec-bestof-card__copy>p:last-child:not(.ec-bestof-eyebrow){font-size:.8125rem;line-height:1.65;color:var(--bd-muted);margin:0}.ec-bestof-card__copy .ec-bestof-eyebrow{font-size:.6rem}.ec-bestof-card--text{padding:1.2rem;background:var(--bd-cream);border-radius:.35rem}.ec-bestof-card__actions{border-top:1px solid var(--bd-line);display:flex;justify-content:space-between;gap:.4rem}.ec-bestof-card__actions button{font:550 .75rem/1.4 var(--atlas-body,"DM Sans",sans-serif);border:0;background:none;color:var(--bd-blue);padding:.7rem .2rem;min-height:44px;cursor:pointer;text-align:left}.ec-bestof-card__actions button:hover{text-decoration:underline}.ec-bestof-card__actions button[aria-pressed=true]{font-weight:750}.ec-bestof-card .ec-home-credit{font-size:.65rem;line-height:1.45;margin:0 0 .6rem;color:var(--bd-muted);overflow-wrap:anywhere}.ec-bestof-card .ec-home-credit a{color:inherit}
.ec-bestof-save-band{display:flex;align-items:center;justify-content:space-between;gap:2rem;border-radius:.5rem;background:#082938;color:white;padding:2.4rem 2.7rem;margin:1rem 0 3rem}.ec-bestof-save-band .ec-bestof-eyebrow{color:#bacaff}.ec-bestof-save-band h2{font-size:clamp(2rem,3vw,2.8rem);color:white;margin:0 0 .7rem}.ec-bestof-save-band p:not(.ec-bestof-eyebrow){font-size:.875rem;color:#dae6e9;margin:0;max-width:40rem}.ec-bestof-button--light{border-color:white;background:white;color:#082938!important;flex-shrink:0}.ec-bestof-button--light:hover{background:#e7efff;border-color:#e7efff}.ec-bestof-directory-heading{padding:3rem 0 2.5rem}.ec-bestof-directory-heading h1{font-size:clamp(3rem,5vw,4.6rem);margin:.3rem 0 1rem}.ec-bestof-directory-heading>p:last-child{font-size:1rem;max-width:40rem;color:var(--bd-muted)}.ec-bestof-card-grid--destinations{padding-bottom:4rem}.ec-bestof-card-grid--destinations .ec-bestof-card__image{aspect-ratio:1.2/1}.ec-bestof-directory-empty{background:var(--bd-cream);padding:2rem;border-radius:.4rem;margin:0 0 4rem}.ec-bestof-directory-empty h2{font-size:2rem;margin-top:0}.ec-bestof-directory-empty p{max-width:38rem}
@media(max-width:64rem){.ec-bestof-heading{grid-template-columns:1fr;gap:1.2rem}.ec-bestof-heading__actions{justify-items:start;display:flex;align-items:center;flex-wrap:wrap}.ec-bestof-reading{gap:2.2rem;grid-template-columns:minmax(0,1.3fr) minmax(16rem,.8fr)}.ec-bestof-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ec-bestof-gallery--single .ec-bestof-photo a{aspect-ratio:2.1/1}.ec-bestof-save-band{padding:2rem;align-items:start;flex-direction:column}}
@media(max-width:42rem){.ec-bestof-breadcrumbs{padding-top:1.15rem;font-size:.6875rem}.ec-bestof-heading{padding-bottom:1.4rem}.ec-bestof-heading h1{font-size:2.8rem}.ec-bestof-summary{font-size:.9375rem}.ec-bestof-heading__actions{gap:.7rem}.ec-bestof-selection{order:2}.ec-bestof-actions{width:100%}.ec-bestof-actions .ec-bestof-button{flex:1}.ec-bestof-gallery--single .ec-bestof-photo a{aspect-ratio:1.35/1}.ec-bestof-gallery--multiple{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.ec-bestof-gallery--multiple .ec-bestof-photo--lead{grid-column:1/-1;grid-row:auto}.ec-bestof-gallery--multiple .ec-bestof-photo--lead a,.ec-bestof-gallery--multiple:has(>.ec-bestof-photo:nth-child(2):last-child) .ec-bestof-photo--lead a{min-height:0;aspect-ratio:1.35/1}.ec-bestof-gallery--multiple .ec-bestof-photo:not(.ec-bestof-photo--lead) a,.ec-bestof-gallery--multiple:has(>.ec-bestof-photo:nth-child(2):last-child) .ec-bestof-photo:not(.ec-bestof-photo--lead) a{min-height:0;aspect-ratio:1.3/1}.ec-bestof-gallery-extra{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.ec-bestof-page-nav{gap:.4rem 1.2rem;padding:.6rem 0;font-size:.75rem}.ec-bestof-reading{grid-template-columns:1fr;gap:1.8rem;padding:2rem 0}.ec-bestof-story .ec-prose>p:first-child{font-size:1.05rem}.ec-bestof-practical{padding:1.35rem}.ec-bestof-related{padding:1.5rem 0}.ec-bestof-section-heading{align-items:start;flex-direction:column;gap:.8rem}.ec-bestof-card-grid{gap:1.6rem 1rem}.ec-bestof-card__copy h3{font-size:1.4rem}.ec-bestof-card__copy>p:last-child:not(.ec-bestof-eyebrow){font-size:.75rem}.ec-bestof-card__actions{flex-direction:column;gap:0}.ec-bestof-card__actions button{padding:.45rem .15rem;min-height:40px}.ec-bestof-save-band{padding:1.65rem;margin-bottom:2rem}.ec-bestof-button--light{width:100%}.ec-bestof-directory-heading{padding:2rem 0 1.5rem}}
@media(max-width:23rem){.ec-bestof-card-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.ec-bestof-detail *,.ec-bestof-destinations *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.ec-vivid-paused .ec-bestof-detail *,.ec-vivid-paused .ec-bestof-destinations *{transition:none!important;animation:none!important}

/* Place recommendations share one factual hierarchy across search and related results. */
html body.ec-vivid.ec-public #main-content.ec-main :is(#ec-public-search,.ec-bestof-related,.ec-place-profile,.ec-guide-collection) .ec-bestof-card--place{align-self:start;min-height:0;height:auto;flex:0 0 auto}
html body.ec-vivid.ec-public #main-content.ec-main :is(#ec-public-search,.ec-bestof-related,.ec-place-profile,.ec-guide-collection) .ec-bestof-card--place.ec-bestof-card--text{background:transparent;border-radius:0;padding:1rem 0 0;border-top:1px solid #d9dfd7}
html body.ec-vivid.ec-public #main-content.ec-main :is(#ec-public-search,.ec-bestof-related,.ec-place-profile,.ec-guide-collection) .ec-bestof-card--place .ec-bestof-card__link{flex:none;text-decoration:none}
html body.ec-vivid.ec-public #main-content.ec-main :is(#ec-public-search,.ec-bestof-related,.ec-place-profile,.ec-guide-collection) .ec-bestof-card--place .ec-bestof-card__copy{padding:1rem 0 .6rem;max-width:64ch}
html body.ec-vivid.ec-public #main-content.ec-main :is(#ec-public-search,.ec-bestof-related,.ec-place-profile,.ec-guide-collection) .ec-bestof-card--place.ec-bestof-card--text .ec-bestof-card__copy{padding-top:0}
html body.ec-vivid.ec-public #main-content.ec-main :is(#ec-public-search,.ec-bestof-related,.ec-place-profile,.ec-guide-collection) .ec-bestof-card--place .ec-bestof-card__copy h3{font-size:clamp(1.5rem,2.1vw,1.8rem);line-height:1.18;margin:0 0 .6rem}
html body.ec-vivid.ec-public #main-content.ec-main :is(#ec-public-search,.ec-bestof-related,.ec-place-profile,.ec-guide-collection) .ec-bestof-card--place .ec-bestof-card__copy>p:not(.ec-bestof-eyebrow){display:block;-webkit-line-clamp:unset;overflow:visible;font-size:.9375rem;line-height:1.7;color:#52645c;margin:0 0 .65rem}
html body.ec-vivid.ec-public #main-content.ec-main :is(#ec-public-search,.ec-bestof-related,.ec-place-profile,.ec-guide-collection) .ec-bestof-card--place .ec-bestof-card__copy>p.ec-place-card-meta{font-size:.75rem;line-height:1.6;margin:0 0 .4rem;color:#52645c}
html body.ec-vivid.ec-public #main-content.ec-main :is(#ec-public-search,.ec-bestof-related,.ec-place-profile,.ec-guide-collection) .ec-bestof-card--place .ec-bestof-card__copy>p.ec-place-card-address{font-size:.8125rem;line-height:1.6;margin:.7rem 0 0}
html body.ec-vivid.ec-public #main-content.ec-main :is(#ec-public-search,.ec-bestof-related,.ec-place-profile,.ec-guide-collection) .ec-bestof-card--place .ec-bestof-card__actions{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.3rem 1.1rem;padding:0;border:0;margin:.25rem 0 0}
html body.ec-vivid.ec-public #main-content.ec-main :is(#ec-public-search,.ec-bestof-related,.ec-place-profile,.ec-guide-collection) .ec-bestof-card--place .ec-bestof-card__actions :is(a,button){display:inline-flex;align-items:center;gap:.6rem;min-height:44px;max-width:100%;padding:.45rem .15rem;border:0;border-radius:.25rem;background:transparent;font:550 .8125rem/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 :is(#ec-public-search,.ec-bestof-related,.ec-place-profile,.ec-guide-collection) .ec-bestof-card--place .ec-bestof-card__actions .ec-place-card-open{font-weight:650;color:#285d49;padding-left:0}
html body.ec-vivid.ec-public #main-content.ec-main :is(#ec-public-search,.ec-bestof-related,.ec-place-profile,.ec-guide-collection) .ec-bestof-card--place .ec-bestof-card__actions :is(a,button):hover{text-decoration:underline;background:transparent;color:#173f30}
html body.ec-vivid.ec-public #main-content.ec-main :is(#ec-public-search,.ec-bestof-related,.ec-place-profile,.ec-guide-collection) .ec-bestof-card--place .ec-bestof-card__actions button[aria-pressed=true]{background:#e9eee4;color:#173f30;font-weight:700}
html body.ec-vivid.ec-public #main-content.ec-main :is(#ec-public-search,.ec-bestof-related,.ec-place-profile,.ec-guide-collection) .ec-bestof-card--place :is(a,button):focus-visible{outline:3px solid #285d49;outline-offset:4px}
@media(forced-colors:active){html body.ec-vivid.ec-public #main-content.ec-main :is(#ec-public-search,.ec-bestof-related,.ec-place-profile,.ec-guide-collection) .ec-bestof-card--place .ec-bestof-card__actions button[aria-pressed=true]{outline:1px solid Highlight;color:Highlight;background:Canvas}}

/* Keep the shared bookmark and pressed state, without the legacy boxed button. */
html body.ec-vivid.ec-public #main-content.ec-main :is(#ec-public-search,.ec-bestof-related,.ec-place-profile,.ec-guide-collection) .ec-bestof-card--place .ec-bestof-card__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 :is(#ec-public-search,.ec-bestof-related,.ec-place-profile,.ec-guide-collection) .ec-bestof-card--place .ec-bestof-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 :is(#ec-public-search,.ec-bestof-related,.ec-place-profile,.ec-guide-collection) .ec-bestof-card--place .ec-bestof-card__actions button[data-ec-save][data-entity-type][data-entity-id]:not([hidden])[aria-pressed=true]{font-weight:700}
html body.ec-vivid.ec-public #main-content.ec-main :is(#ec-public-search,.ec-bestof-related,.ec-place-profile,.ec-guide-collection) .ec-bestof-card--place .ec-bestof-card__actions button[data-ec-save][data-entity-type][data-entity-id]:not([hidden]):hover{text-decoration:underline;text-underline-offset:.2em}
@media(forced-colors:active){html body.ec-vivid.ec-public #main-content.ec-main :is(#ec-public-search,.ec-bestof-related,.ec-place-profile,.ec-guide-collection) .ec-bestof-card--place .ec-bestof-card__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 :is(#ec-public-search,.ec-bestof-related,.ec-place-profile,.ec-guide-collection) .ec-bestof-card--place .ec-bestof-card__actions button[data-ec-save][data-entity-type][data-entity-id]:not([hidden])[aria-pressed=true]{color:Highlight!important}}

html body.ec-vivid.ec-public #main-content.ec-main #ec-public-search .ec-portal-search__city-grid:has(.ec-bestof-card--place){grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;align-items:start;max-width:none}
html body.ec-vivid.ec-public #main-content.ec-main #ec-public-search .ec-portal-search__city-grid .ec-portal-search__item:has(>.ec-bestof-card--place){align-self:start;height:auto}
@media(max-width:42rem){html body.ec-vivid.ec-public #main-content.ec-main #ec-public-search .ec-portal-search__city-grid:has(.ec-bestof-card--place){grid-template-columns:minmax(0,1fr);gap:1.6rem}}
