html.public-center-directory,
.public-center-directory body { height: auto; min-height: 100%; overflow: auto; }
.public-center-shell { width: min(1568px, 100%); height: auto; min-height: 100dvh; }
.public-center-shell .m-header { padding: 16px 28px; gap: 24px; }
.public-center-shell .m-header nav { display: flex; align-items: center; gap: 24px; }
.public-center-shell .m-main,
.public-center-shell.m-main { flex: none; min-height: 0; overflow: visible; padding: 16px clamp(28px, 4vw, 72px) 64px; }
.public-center-back { margin-bottom: 8px; }
.public-center-shell .m-main h1 { font-size: clamp(1.7rem, 4vw, 2.8rem); }
.public-center-shell .m-center-heading .m-center-title { flex: 1; min-width: 0; margin: 0; font-size: clamp(1.7rem, 4vw, 2.8rem); font-weight: 780; line-height: 1.2; letter-spacing: -.045em; }
.public-center-shell .m-center-cover { max-height: 460px; }
.public-center-shell .m-center-cover img { max-height: 460px; }
.public-center-shell .m-center-panel { width: 100%; max-width: none; margin-inline: auto; }
.public-center-shell .m-photo-slides img { aspect-ratio: 16 / 9; max-height: 460px; }
.public-center-shell .m-center-tabs { margin-block: 16px; }
.public-center-action { width: 100%; margin: 24px auto 0; }
.public-accommodation-layout { display: grid; grid-template-columns: minmax(230px, 270px) minmax(0, 1fr); align-items: start; gap: 28px; }
.public-accommodation-sidebar { min-width: 0; }
.public-accommodation-results { min-width: 0; }
.public-accommodation-paths { display: grid; gap: 8px; margin: 0; }
.public-accommodation-paths a { display: grid; gap: 3px; padding: 13px 15px; border: 1px solid var(--m-line); border-radius: 12px; color: var(--m-text); background: var(--m-surface); text-decoration: none; }
.public-accommodation-paths a[aria-current="page"] { border-color: var(--m-link); background: var(--m-surface2); }
.public-accommodation-paths strong { font-size: .9em; }
.public-accommodation-paths span { color: var(--m-muted); font-size: .75em; }
.public-accommodation-sidebar .m-accommodation-filters { margin: 0; }
.public-accommodation-sidebar .m-accommodation-filters > summary { font-size: .9em; }
.public-accommodation-sidebar .m-accommodation-dates { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 800px) {
    .public-center-shell .m-center-activity-layout { display: grid; grid-template-columns: minmax(230px, 270px) minmax(0, 1fr); column-gap: 28px; align-items: start; }
    .public-center-shell .m-center-activity-heading { grid-column: 2; grid-row: 1; }
    .public-center-shell .m-center-activity-filters { grid-column: 1; grid-row: 1 / 3; position: sticky; top: 16px; max-height: calc(100dvh - 32px); overflow-y: auto; scrollbar-width: thin; }
    .public-center-shell .m-center-activity-filters .m-activity-scopes { grid-template-columns: minmax(0, 1fr); gap: 8px; margin-bottom: 16px; }
    .public-center-shell .m-center-activity-filters .m-activity-scopes a { display: grid; justify-content: normal; gap: 3px; min-height: 0; padding: 13px 15px; text-align: start; font-size: 1em; }
    .public-center-shell .m-center-activity-filters .m-activity-scopes strong { font-size: .9em; }
    .public-center-shell .m-center-activity-filters .m-activity-scopes small { font-size: .75em; }
    .public-center-shell .m-center-activity-filters .m-filter-intents { grid-template-columns: minmax(0, 1fr); }
    .public-center-shell .m-center-activity-filters .m-activity-filters { margin-bottom: 0; }
    .public-center-shell .m-center-activity-results { grid-column: 2; grid-row: 2; min-width: 0; }
    .public-center-shell #center-activity-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
    .public-center-shell #center-activity-list > .m-card:not(.m-center-experience) { grid-column: 1 / -1; }
    .public-center-shell #center-activity-list .m-center-experience { display: flex; flex-direction: column; margin-bottom: 0; }
    .public-center-shell #center-activity-list .m-center-experience[hidden] { display: none; }
    .public-center-shell #center-activity-list .m-center-experience-image { flex-shrink: 0; }
    .public-center-shell #center-activity-list .m-center-experience-content { display: flex; flex-direction: column; flex: 1; }
    .public-center-shell #center-activity-list .m-center-experience .m-link-button { margin-top: auto; }
    .public-center-shell .m-center-activity-results > .m-button { margin-top: 20px; }
    .public-center-shell .m-center-discover { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .public-center-shell .m-center-discover .m-row { border-bottom: 1px solid var(--m-line); }
    .public-center-shell .m-accommodation-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 20px; }
    .public-center-shell .public-accommodation-results .m-accommodation-list { grid-template-columns: minmax(0, 1fr); }
}
@media (min-width: 1080px) {
    .public-center-activities-shell .m-main,
    .public-center-activities-shell.m-main { padding-inline: clamp(28px, 4vw, 72px); }
    .public-center-shell #center-activity-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .public-center-shell .public-accommodation-results .m-accommodation-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 799px) {
    .public-accommodation-layout { grid-template-columns: minmax(0, 1fr); gap: 20px; }
    .public-accommodation-paths { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .public-accommodation-sidebar .m-accommodation-dates { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
    .public-center-shell .m-header { padding: 10px 16px; gap: 12px; flex-wrap: wrap; }
    .public-center-shell .m-header nav { gap: 16px; font-size: .8rem; }
    .public-center-shell .m-main,
    .public-center-shell.m-main { padding: 12px 16px 32px; }
}

/* Public center pages share a spacious desktop frame and consistent card rhythm. */
.public-center-shell .m-center-panel > section > .m-lead { max-width: 76ch; }
.public-center-shell .public-center-feature { margin: 0; min-width: 0; overflow: hidden; border: 1px solid var(--m-line); border-radius: 20px; background: var(--m-surface); }
.public-center-feature > a { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--m-surface2); }
.public-center-feature img { display: block; width: 100%; height: 100%; object-fit: cover; }
.public-center-feature figcaption a { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 20px; color: var(--m-text); font-weight: 700; text-decoration: none; }
.public-center-feature figcaption .m-icon { flex-shrink: 0; }
@media (min-width: 800px) {
    .public-center-shell .public-center-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: 24px; margin-block: 20px 36px; background: none; border: 0; overflow: visible; }
    .public-center-shell .m-amenities > section:not([aria-labelledby="my-amenity-bookings"]) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
    .public-center-shell .m-amenities > section > h3 { grid-column: 1 / -1; }
    .public-center-shell .m-amenities .m-center-experience { margin: 0; }
    .public-center-shell .public-center-card-grid > .m-card { margin: 0; min-width: 0; }
    .public-center-shell .public-center-card-grid > .m-empty { grid-column: 1 / -1; }
    .public-center-shell .public-center-card-grid .m-center-experience { display: flex; flex-direction: column; }
    .public-center-shell .public-center-card-grid .m-center-experience[hidden] { display: none; }
    .public-center-shell .public-center-card-grid .m-center-experience-content { display: flex; flex-direction: column; flex: 1; padding: 24px; }
    .public-center-shell .public-center-card-grid .m-center-experience h3 { font-size: 1.25em; line-height: 1.3; }
    .public-center-shell .public-center-card-grid .m-center-experience .m-link-button { margin-top: auto; align-self: flex-start; }
    .public-center-shell .public-center-initiative-card { display: flex; flex-direction: column; padding: 0 24px 24px; overflow: hidden; }
    .public-center-shell .public-center-initiative-card:not(:has(.m-photo-gallery)) { padding-top: 24px; }
    .public-center-initiative-card .m-photo-gallery { margin: 0 -24px 24px; }
    .public-center-initiative-card .m-photo-slides img { aspect-ratio: 16 / 9; max-height: none; }
    .public-center-initiative-card > .m-button { margin-top: auto; align-self: flex-start; width: auto; }
    .public-center-initiative-card h3 { font-size: 1.25em; line-height: 1.3; }
    .public-center-shell [data-testid="event-group-trip-prompt"] { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 32px; padding: 24px 28px; margin-block: 28px 36px; background: var(--m-surface2); }
    .public-center-shell [data-testid="event-group-trip-prompt"] > :not(a) { grid-column: 1; }
    .public-center-shell [data-testid="event-group-trip-prompt"] > p:last-of-type { margin-bottom: 0; max-width: 72ch; }
    .public-center-shell [data-testid="event-group-trip-prompt"] > a { grid-column: 2; grid-row: 1 / 4; align-self: center; }
}
@media (min-width: 1080px) {
    .public-center-shell .public-center-overview { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 360px); align-items: start; gap: 40px; }
    .public-center-overview-lead { grid-column: 1 / -1; display: grid; align-items: center; gap: 48px; margin-block: 8px 12px; }
    .public-center-overview-lead:has(.public-center-feature):has(.m-center-story) { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .public-center-overview-lead .m-center-story { padding: 20px 0; margin: 0; }
    .public-center-overview-lead .m-center-story h2 { font-size: clamp(2rem, 3.4vw, 3.25rem); line-height: 1.1; letter-spacing: -.035em; margin-block: 12px 24px; text-wrap: balance; }
    .public-center-overview-lead .m-center-story > p:last-child { font-size: 1.18em; line-height: 1.7; max-width: 56ch; margin-bottom: 0; }
    .public-center-overview .m-center-visit { grid-column: 2; grid-row: 2; padding: 28px; margin: 0; }
    .public-center-overview .m-center-visit h2 { font-size: 1.5em; }
    .public-center-overview .m-center-visit .m-button { white-space: normal; }
    .public-center-overview [aria-labelledby="center-discover-title"] { grid-column: 1; grid-row: 2; }
    .public-center-overview .m-center-discover { gap: 16px; border: 0; background: none; overflow: visible; margin: 24px 0 0; }
    .public-center-overview .m-center-discover .m-row { min-width: 0; min-height: 124px; padding: 20px; border: 1px solid var(--m-line); border-radius: 16px; background: var(--m-surface); align-items: flex-start; transition: border-color .15s ease, background .15s ease; }
    .public-center-overview .m-center-discover .m-row:hover { border-color: var(--m-link); background: var(--m-surface2); }
    .public-center-overview .m-center-discover .m-row small { white-space: normal; line-height: 1.5; }
    .public-center-overview > .m-center-guide, .public-center-overview > .m-center-timezone { grid-column: 1 / -1; margin: 0; }
    .public-center-overview .m-center-guide-chapters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 16px; }
    .public-center-overview .m-center-guide-chapter { margin: 0; }
    .public-center-shell .public-center-action { display: flex; justify-content: flex-end; }
    .public-center-shell .public-center-action .m-button { width: auto; min-width: 240px; }
}
@media (max-width: 799px) {
    .public-center-overview-lead { margin-bottom: 24px; }
    .public-center-feature { margin-block: 20px; }
    .public-center-shell .m-main { padding-inline: 24px; }
}
@media (max-width: 600px) {
    .public-center-shell .m-main { padding-inline: 16px; }
}
