/* Voyara Destination grid */
.vy-dgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.vy-dcard{position:relative;display:flex;flex-direction:column;border-radius:20px;overflow:hidden;background:var(--vy-bg,#fff);border:1px solid var(--vy-line,#E6E1D8);transition:box-shadow .25s ease}
.vy-dcard:hover{box-shadow:0 18px 40px rgba(21,32,31,.10)}
.vy-dcard:has(:focus-visible){outline:2px solid var(--vy-accent,#C9962B);outline-offset:3px}
.vy-dcard__media{position:relative;height:220px;overflow:hidden;background:var(--vy-sand,#F3EEE4)}
.vy-dcard .vy-dcard__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.vy-dcard:hover .vy-dcard__img{transform:scale(1.04)}
.vy-dcard__count{position:absolute;left:16px;top:16px;background:rgba(255,255,255,.92);color:var(--vy-ink,#15201F);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:500}
.vy-dcard__body{padding:20px;display:flex;flex-direction:column;gap:12px}
.vy-dcard__name{margin:0;font-family:var(--vy-font-heading,Marcellus,Georgia,serif);font-weight:400;font-size:24px;line-height:1.2;color:var(--vy-ink,#15201F)}
.vy-dcard__link{color:inherit;text-decoration:none}
.vy-dcard__link::after{content:"";position:absolute;inset:0;z-index:1}
.vy-dcard__link:focus{outline:none}
.vy-dcard__chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.vy-dcard__chips li{font-size:13px;color:var(--vy-main,#0E3B36);background:var(--vy-sand,#F3EEE4);border-radius:999px;padding:4px 10px}
@media (max-width:1100px){.vy-dgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.vy-dgrid{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.vy-dcard,.vy-dcard__img{transition:none}.vy-dcard:hover .vy-dcard__img{transform:none}}

/* Name over the photo */
.vy-dcard--overlay{justify-content:flex-end;height:260px;border:0;background:var(--vy-dark,#15201F);color:#fff;isolation:isolate}
.vy-dcard--overlay .vy-dcard__img{z-index:-2}
.vy-dcard__shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(21,32,31,.85) 0%,rgba(21,32,31,0) 55%)}
.vy-dcard__over{position:relative;padding:22px;display:flex;flex-direction:column;gap:4px}
.vy-dcard--overlay .vy-dcard__name{font-size:26px;color:#fff}
/* The name stays white over the photo; the theme's link hover colour would hide it. */
.vy-dcard--overlay .vy-dcard__link:hover,.vy-dcard--overlay .vy-dcard__link:focus-visible{color:inherit}
.vy-dcard__line{font-size:14px;color:rgba(255,255,255,.85)}
/* Mosaic: the first destination two rows tall, the others in a two by two grid beside it. */
.vy-dgrid--mosaic{grid-template-columns:2fr 1fr 1fr;grid-auto-rows:245px;gap:16px}
.vy-dcard--mosaic{position:relative;display:flex;flex-direction:column;justify-content:flex-end;border:0;border-radius:26px;overflow:hidden;background:var(--vy-dark,#15201F);color:#fff;isolation:isolate}
.vy-dcard--mosaic.is-big{grid-row:span 2}
.vy-dcard--mosaic .vy-dcard__img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;max-width:none;object-fit:cover;transition:transform .5s ease}
.vy-dcard--mosaic:hover .vy-dcard__img{transform:scale(1.04)}
.vy-dcard__shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(21,32,31,0) 40%,rgba(21,32,31,.7) 100%)}
.vy-dcard--mosaic .vy-dcard__body{display:flex;flex-direction:column;gap:6px;width:100%;padding:20px;background:none}
.vy-dcard--mosaic.is-big .vy-dcard__body{padding:28px}
.vy-dcard__country{font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.88)}
.vy-dcard--mosaic .vy-dcard__name{margin:0;font-size:30px;line-height:1.05;color:#fff}
.vy-dcard--mosaic.is-big .vy-dcard__name{font-size:52px}
.vy-dcard--mosaic .vy-dcard__link:hover,.vy-dcard--mosaic .vy-dcard__link:focus-visible{color:inherit}
.vy-dcard--mosaic .vy-dcard__chips{margin-top:6px}
.vy-dcard--mosaic .vy-dcard__chips li{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);color:#fff;backdrop-filter:blur(6px)}
@media (max-width:1100px){.vy-dgrid--mosaic{grid-template-columns:repeat(2,minmax(0,1fr))}.vy-dcard--mosaic.is-big{grid-column:span 2;grid-row:span 1}.vy-dcard--mosaic.is-big .vy-dcard__name{font-size:40px}}
@media (max-width:640px){.vy-dgrid--mosaic{grid-template-columns:1fr;grid-auto-rows:260px}.vy-dcard--mosaic.is-big{grid-column:auto}}
@media (prefers-reduced-motion:reduce){.vy-dcard--mosaic .vy-dcard__img{transition:none}}
