.card-saona .card-bg {
  background-image: linear-gradient(145deg, rgba(3,57,67,.12), rgba(7,79,84,.12)), url('saona-19-sea.jpeg');
  background-position: center 58%;
}
.card-actions { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.saona-gallery { background:#fff; }
.saona-intro { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:end; margin-bottom:46px; }
.saona-intro>div:last-child { display:flex; align-items:flex-start; justify-content:space-between; gap:28px; flex-direction:column; }
.saona-intro>div>p:not(.eyebrow) { margin:0; color:var(--muted); font-size:17px; line-height:1.7; max-width:530px; }
.saona-photo-grid { display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:220px; gap:14px; }
.saona-photo { padding:0; border:0; border-radius:16px; overflow:hidden; background:#d9efed; cursor:zoom-in; }
.saona-photo-wide { grid-column:span 2; }
.saona-photo-tall { grid-row:span 2; }
.saona-photo img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .45s ease; }
.saona-photo:hover img { transform:scale(1.045); }
.gallery-lightbox { position:fixed; z-index:80; inset:0; background:rgba(1,22,29,.94); display:none; align-items:center; justify-content:center; padding:70px 90px 45px; backdrop-filter:blur(10px); }
.gallery-lightbox.open { display:flex; }
.gallery-lightbox figure { margin:0; max-width:min(1100px,85vw); display:grid; gap:14px; }
.gallery-lightbox figure img { max-width:100%; max-height:78vh; border-radius:14px; box-shadow:0 24px 80px #0008; }
.gallery-lightbox figcaption { color:#d7e9eb; text-align:center; font-size:14px; }
.lightbox-close,.lightbox-nav { position:absolute; border:0; background:transparent; color:#fff; cursor:pointer; }
.lightbox-close { right:28px; top:20px; font-size:42px; }
.lightbox-nav { top:50%; font-size:64px; transform:translateY(-50%); padding:15px; }
.lightbox-prev { left:18px; }
.lightbox-next { right:18px; }
@media(max-width:800px) {
  .saona-intro { grid-template-columns:1fr; gap:24px; }
  .saona-photo-grid { grid-template-columns:repeat(2,1fr); grid-auto-rows:170px; }
  .saona-photo-wide { grid-column:span 2; }
  .saona-photo-tall { grid-row:span 1; }
  .gallery-lightbox { padding:70px 45px 35px; }
  .lightbox-nav { font-size:46px; padding:8px; }
  .lightbox-prev { left:2px; }
  .lightbox-next { right:2px; }
}
@media(max-width:480px) {
  .saona-photo-grid { grid-auto-rows:145px; gap:9px; }
  .saona-photo { border-radius:11px; }
}
.card-buggy .card-bg { background-image: url('buggies-06-caravana-sendero.jpeg'); background-position: center; }
.buggy-photo-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
@media(max-width:800px) { .buggy-photo-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
.card-party .card-bg { background-image:url('party-boat-cover.jpeg'); background-position:center 60%; }
.saona-photo-grid.party-photo-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
@media(max-width:800px) { .saona-photo-grid.party-photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.card-glass-bottom .card-bg { background-image:url('glass-bottom-family-thumbnail.jpeg'); background-position:center 54%; }
.saona-photo-grid.glass-bottom-photo-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
@media(max-width:800px) { .saona-photo-grid.glass-bottom-photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.card-parasseling .card-bg { background-image:url('parasailing-01-pareja.jpeg'); background-position:center 18%; }
.saona-photo-grid.parasseling-photo-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
@media(max-width:800px) { .saona-photo-grid.parasseling-photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.card-samana .card-bg { background-image:url('samana-cayo-levantado.jpeg'); background-position:center; }
.saona-photo-grid.samana-photo-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
@media(max-width:800px) { .saona-photo-grid.samana-photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.card-city .card-bg { background-image:url('santo-domingo-calle-colonial.jpeg'); background-position:center 45%; }
.saona-photo-grid.santo-domingo-photo-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
@media(max-width:800px) { .saona-photo-grid.santo-domingo-photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }

.card-speed-boat .card-bg { background-image:url('speed-boat-02-ride.jpeg'); background-position:center 45%; }
.saona-photo-grid.speed-boat-photo-grid { grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-rows:340px; }
@media(max-width:800px) { .saona-photo-grid.speed-boat-photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:220px; } }

.card-horse-back-ride { grid-column:1/-1; min-height:320px; }
.card-horse-back-ride .card-bg { background-image:url('horse-back-ride-01-trio.jpeg'); background-position:center 56%; }
.card-horse-back-ride .card-content { width:min(640px,100%); }
.saona-photo-grid.horse-back-ride-photo-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
@media(max-width:800px) { .saona-photo-grid.horse-back-ride-photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
