.hayha-destinations {
    --hhd-accent: var(--hayha-destinations-accent, var(--hayha-theme-accent));
    display: grid;
    grid-template-columns: minmax(170px,19%) minmax(0,1fr);
    column-gap: clamp(24px,4.8vw,60px);
    row-gap: 8px;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    margin: 0 auto;
    max-width: 1440px;
    color: var(--hayha-theme-text);
    font: inherit;
    text-align: left;
}
.hayha-destinations *, .hayha-destinations *::before, .hayha-destinations *::after { box-sizing: border-box; }
.hayha-destinations .hhd-mobile-filters { display: none; }
.hayha-destinations h2 { grid-column: 1; grid-row: 1; margin: 0; font-family: inherit; font-size: 32px; line-height: 40px; color: var(--hayha-theme-heading); font-weight: 500; letter-spacing: -.6px; text-align: center; }
.hayha-destinations button { appearance: none; display: inline-flex; align-items: center; justify-content: center; min-height: 44px; margin: 0; padding: 8px 16px; border: 1px solid transparent; border-radius: 0; background: var(--hayha-theme-surface); color: var(--hayha-theme-text); font: inherit; font-size: 15px; line-height: 1.4; font-weight: 500; transition: color 300ms ease-in-out, background-color 300ms ease-in-out, border-color 300ms ease-in-out; letter-spacing: normal; text-transform: none; box-shadow: none; cursor: pointer; }
.hayha-destinations button::after { content: none; }
.hayha-destinations button:disabled { opacity: .35; cursor: default; }
.hayha-destinations button:hover:not(:disabled) { background: var(--hayha-theme-soft); }
.hayha-destinations :is(button,a,[tabindex]):focus-visible { outline: 3px solid var(--hhd-accent); outline-offset: -3px; }
.hayha-destinations .hhd-cities { grid-column: 2; grid-row: 1; display: flex; justify-self: center; max-width: 100%; overflow-x: auto; border: 1px solid var(--hayha-theme-border); border-radius: 26px; align-self: start; }
.hayha-destinations .hhd-cities button { flex-shrink: 0; min-height: 38px; padding: 7px 20px; font-family: inherit; font-size: 14px; line-height: 22px; border-radius: 24px; white-space: nowrap; }
.hayha-destinations .hhd-cities button[aria-pressed="true"] { background: var(--hayha-theme-heading); color: var(--hayha-theme-contrast); }
.hayha-destinations .hhd-areas { grid-column: 2; grid-row: 2; display: flex; justify-content: center; flex-wrap: wrap; gap: 0 4px; min-width: 0; margin-top: 0; margin-bottom: 12px; }
.hayha-destinations .hhd-areas button { padding: 4px 10px; font-size: 16px; line-height: 24px; min-height: 36px; }
.hayha-destinations .hhd-areas button[aria-pressed="true"] { color: var(--hhd-accent); }
.hayha-destinations .hhd-sidebar { grid-column: 1; grid-row: 3; min-width: 0; }
.hayha-destinations .hhd-brands { display: flex; flex-direction: column; gap: 20px; padding-inline: 0; }
.hayha-destinations .hhd-brands button { width: 100%; min-height: 72px; padding: 12px; border: 1px solid var(--hayha-theme-border); border-radius: 6px; }
.hayha-destinations .hhd-brands button[aria-pressed="true"] { border-color: var(--hhd-accent); }
.hayha-destinations .hhd-brands img { display: block; width: auto; height: auto; max-width: min(120px, 100%); max-height: 38px; object-fit: contain; }
.hayha-destinations .hhd-all { display: table; margin: 20px auto 0; padding: 9px 28px; border: 1px solid var(--hayha-theme-border); border-radius: 24px; color: var(--hayha-theme-text); font-size: 12px; line-height: 1.5; text-decoration: none; background: transparent; transition: background-color 200ms ease, color 200ms ease, border-color 200ms ease; }
.hayha-destinations .hhd-all:hover { background: var(--hayha-theme-heading); color: var(--hayha-theme-contrast); border-color: var(--hayha-theme-border); }
.hayha-destinations .hhd-all:focus-visible { outline: 3px solid var(--hhd-accent); outline-offset: 3px; }
.hayha-destinations .hhd-all[aria-disabled="true"] { opacity: .5; }
.hayha-destinations .hhd-results { grid-column: 2; grid-row: 3; min-width: 0; position: relative; align-self: start; }
.hayha-destinations .hhd-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; align-content: start; }
.hayha-destinations .hhd-card { grid-column: auto; grid-row: auto; display: flex; flex-direction: column; min-width: 0; min-height: 256px; margin: 0; overflow: hidden; border: 1px solid var(--hayha-theme-border); border-radius: 14px; background: var(--hayha-theme-surface); transition: border-color 200ms ease, box-shadow 200ms ease; }
.hayha-destinations .hhd-card-link { display: flex; flex-direction: column; flex: 1; min-width: 0; color: inherit; text-decoration: none; transition: none; }
.hayha-destinations .hhd-card:focus-within { border-color: var(--hhd-accent); box-shadow: 0 3px 12px #0000000d; }
.hayha-destinations .hhd-card-link:focus-visible { outline: 3px solid var(--hhd-accent); outline-offset: -3px; border-radius: 13px; }
.hayha-destinations .hhd-media { position: relative; aspect-ratio: 1.72; flex: 0 0 auto; overflow: hidden; background: var(--hayha-theme-soft); }
.hayha-destinations .hhd-photo { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 200ms ease; }
.hayha-destinations .hhd-overlay { position: absolute; inset: 0; display: flex; align-items: flex-end; padding: 14px; background: linear-gradient(transparent 45%,#0007); color: var(--hayha-theme-contrast); pointer-events: none; }
.hayha-destinations .hhd-overlay img { max-width: 120px; width: auto; height: auto; max-height: 36px; object-fit: contain; filter: brightness(0) invert(1) drop-shadow(0 1px 3px #0009); }
.hayha-destinations .hhd-content { display: flex; flex: 1; flex-direction: column; padding: 12px; gap: 14px; }
.hayha-destinations .hhd-content h3 { display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden; margin: 0; min-height: 44px; color: var(--hayha-theme-heading); font-size: 16px; line-height: 22px; font-weight: 600; letter-spacing: normal; overflow-wrap: anywhere; }
.hayha-destinations .hhd-cta { display: inline-flex; align-items: center; gap: 6px; align-self: flex-start; margin-top: auto; color: var(--hhd-accent); font-size: 14px; line-height: 20px; }
.hayha-destinations .hhd-cta-icon { display: block; width: 16px; height: 24px; flex: 0 0 16px; }
@media (hover: hover) and (pointer: fine) {
    .hayha-destinations .hhd-card:hover { border-color: var(--hayha-theme-border); box-shadow: 0 4px 16px #00000012; }
    .hayha-destinations .hhd-card:hover .hhd-photo { transform: scale(1.03); }
}
@media (prefers-reduced-motion: reduce) {
    .hayha-destinations .hhd-card, .hayha-destinations .hhd-photo, .hayha-destinations .hhd-all { transition: none; }
    .hayha-destinations .hhd-card:hover .hhd-photo { transform: none; }
}
.hayha-destinations .hhd-pagination { display: flex; align-items: center; justify-content: center; gap: 20px; margin-top: 14px; font-size: 13px; }
.hayha-destinations .hhd-pagination button { width: 44px; padding: 0; font-size: 22px; }
.hayha-destinations .hhd-empty { grid-column: 1 / -1; margin: 0; padding: 60px 24px; text-align: center; background: var(--hayha-theme-surface); border-radius: 14px; }
.hayha-destinations .hhd-error { position: absolute; top: 0; width: 100%; padding: 48px 20px; text-align: center; background: #faf9f6; border-radius: 14px; }
.hayha-destinations .hhd-error button { border: 1px solid var(--hhd-accent); border-radius: 6px; }
.hayha-destinations [hidden] { display: none !important; }
.hayha-destinations.hhd-loading .hhd-grid { opacity: .4; pointer-events: none; }
.hayha-destinations .hhd-status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 1000px) {
    .hayha-destinations { grid-template-columns: 170px minmax(0,1fr); column-gap: 24px; }
    .hayha-destinations .hhd-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .hayha-destinations .hhd-cities button { padding-inline: 14px; }
}

@media (max-width: 768px) {
    .hayha-destinations { display: flex; flex-direction: column; gap: 16px; margin-block: 0; padding-inline: 0; }
    .hayha-destinations h2 { font-size: 30px; line-height: 38px; text-align: left; letter-spacing: normal; }
    .hayha-destinations[data-ready="true"] .hhd-mobile-filters { display: flex; border-bottom: 1px solid var(--hayha-theme-border); }
    .hayha-destinations .hhd-mobile-filters button { flex: 1; padding: 10px 4px; font-size: 16px; line-height: 24px; white-space: nowrap; border-bottom: 2px solid transparent; }
    .hayha-destinations .hhd-mobile-filters button[aria-pressed="true"] { border-bottom-color: var(--hhd-accent); }
    .hayha-destinations[data-ready="true"]:not([data-mobile-filter="city"]) .hhd-cities,
    .hayha-destinations[data-ready="true"]:not([data-mobile-filter="area"]) .hhd-areas,
    .hayha-destinations[data-ready="true"]:not([data-mobile-filter="brand"]) .hhd-brands { display: none; }
    .hayha-destinations .hhd-cities { align-self: stretch; width: 100%; border: 0; border-radius: 0; background: transparent; }
    .hayha-destinations .hhd-cities button { font-family: inherit; font-size: 14px; line-height: 20px; padding: 4px 8px; min-height: 44px; background: transparent; border: 1px solid transparent; }
    .hayha-destinations .hhd-cities button[aria-pressed="true"] { background: transparent; color: var(--hhd-accent); border-color: var(--hayha-theme-border); }
    .hayha-destinations .hhd-areas { justify-content: flex-start; flex-wrap: nowrap; overflow-x: auto; margin: 0; }
    .hayha-destinations .hhd-areas button { flex-shrink: 0; white-space: nowrap; font-size: 14px; line-height: 20px; }
    .hayha-destinations .hhd-sidebar { display: contents; }
    .hayha-destinations .hhd-brands { flex-direction: row; overflow-x: auto; gap: 10px; padding: 4px; margin: -4px; }
    .hayha-destinations .hhd-brands button { flex: 0 0 145px; min-height: 64px; }
    .hayha-destinations .hhd-brands img { max-width: min(120px, 100%); max-height: 38px; }
    .hayha-destinations .hhd-grid { grid-template-columns: none; grid-template-rows: none; grid-auto-flow: column; grid-auto-columns: 84%; overflow-x: auto; gap: 16px 12px; scroll-snap-type: x proximity; }
    .hayha-destinations .hhd-card { scroll-snap-align: start; min-height: 256px; height:auto; }
    .hayha-destinations .hhd-content { padding:12px; gap:14px; }
    .hayha-destinations .hhd-empty { grid-column: auto; grid-row: 1 / -1; }
    .hayha-destinations .hhd-results { width: 100%; }
    .hayha-destinations .hhd-cta { min-height: 24px; display: inline-flex; align-items: center; }
    .hayha-destinations .hhd-all { order: 5; margin-top: 0; min-height: 44px; display: inline-flex; align-items: center; align-self: center; }
}

.hayha-destinations .hhd-overlay img.hhd-overlay-logo--light { filter: drop-shadow(0 1px 3px #0009); }
.hayha-destinations .hhd-overlay [hidden] { display: none; }

.hayha-destinations .hhd-brand { min-width:0; }
.hayha-destinations .hhd-brand-description { margin-top:10px; color:var(--hayha-theme-text); font-size:13px; line-height:20px; overflow-wrap:anywhere; }
.hayha-destinations .hhd-brand-description p { margin:0 0 8px; }
.hayha-destinations .hhd-brand-description p:last-child { margin-bottom:0; }
.hayha-destinations .hhd-areas button:disabled { color:var(--hayha-theme-disabled); opacity:1; cursor:not-allowed; }
@media(max-width:768px) {
 .hayha-destinations .hhd-brand { flex:0 0 145px; }
 .hayha-destinations .hhd-brand>button { width:100%; }
 .hayha-destinations .hhd-brand-description { font-size:12px; line-height:18px; white-space:normal; }
}
