.stays-page .destinations { padding: 2.5rem 0; scroll-margin-top: 130px; }
.stays-page .destination-intro { box-shadow: none; border-radius: 18px; border-color: #e4e7ef; padding: 1.5rem; gap: 2rem; }
.stays-page .destination-intro h2 { font-size: var(--font-heading); color: #17233b; letter-spacing: -.025em; }
.stays-page .destination-intro p { font-size: .875rem; color: #748096; }
.stays-page .destinations .package-toolbar { width: fit-content; margin: 0 0 1.25rem auto; }
.stays-page .destination-card { grid-template-columns: auto minmax(0, 1fr) auto; border: 1px solid #e4e7ef; border-radius: 16px; box-shadow: 0 5px 20px #24365b05; padding: 1.25rem; transition: transform .25s, box-shadow .25s; }
.stays-page .destination-card:hover { transform: translateY(-4px); box-shadow: 0 12px 30px #24365b10; border-color: #ddbdc6; }
.stays-page .destination-card-icon { background: linear-gradient(135deg, #fbedf1, #f2efff); color: #a42d49; border-radius: 12px; }
.stays-page .destination-card-title { display: block; color: #17233b; font-size: .9375rem; font-weight: 600; }
.destination-card-meta { display: block; margin-top: .3rem; color: #748096; font-size: .75rem; }
.destination-arrow { color: #a42d49; font-size: .75rem; }
.stay-hero-panel { position: relative; background: radial-gradient(ellipse at right top, #f2dce5, transparent 70%), #fff; border: 1px solid #e4e7ef; border-radius: 24px; padding: 2rem; box-shadow: 0 18px 48px #24365b0a; }
.stay-hero-icon { display: grid; place-items: center; width: 64px; height: 64px; background: #fff; color: #a42d49; border: 1px solid #efe1e8; border-radius: 18px; font-size: 1.6rem; margin-bottom: 1.5rem; }
.stay-hero-panel h2 { color: #17233b; margin: .5rem 0; letter-spacing: -.03em; }
.stays-page .hotels-listing-section { padding: 2.5rem 0; scroll-margin-top: 130px; }
.stay-filter { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin-bottom: 1.5rem; font-size: .8125rem; }
.stay-filter > span { background: #fbedf1; border-radius: 50px; padding: .4rem .75rem; color: #a42d49; }
.stay-filter a { color: #647086; }
.stay-image-placeholder { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 1rem; background: linear-gradient(135deg, #eaeefe, #fce9ee); color: #a42d49; }
.stay-image-placeholder > i { font-size: 3rem; }
.stay-image-placeholder > span { font-size: 1rem; }
.stays-page .hotel-book-button { justify-content: center; background: #fff; color: #a42d49; border: 1px solid #e9d5dd; box-shadow: none; padding: .6rem; }
.hotel-detail-section .stay-detail-grid { align-items: stretch; }
.stay-detail-image { position: relative; min-height: 340px; background: #fff; padding: .65rem; border: 1px solid #e4e7ef; border-radius: 20px; box-shadow: 0 12px 36px #24365b0a; overflow: hidden; }
.stay-detail-image > img, .stay-detail-image > .stay-image-placeholder { position: absolute; top: .65rem; left: .65rem; width: calc(100% - 1.3rem); height: calc(100% - 1.3rem); object-fit: cover; border-radius: 13px; }
.stay-room-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 1rem; margin: 2rem 0 1rem; }
.stay-room { background: #f8f9fc; border: 1px solid #e4e7ef; border-radius: 12px; padding: 1.25rem; }
.stay-room > i { color: #a42d49; }
.stay-room h3 { margin: .5rem 0; }
.stay-room p { font-size: .875rem; margin: 0; }
.hotel-photo-gallery { position: absolute; inset: .65rem; border-radius: 13px; overflow: hidden; background: #eaeef5; }
.hotel-photo-stage, .hotel-photo-main { width: 100%; height: 100%; }
.hotel-photo-main { object-fit: cover; animation: hotel-photo-reveal .45s ease; }
.hotel-photo-main[hidden] { display: none; }
.hotel-photo-arrow { position: absolute; top: 42%; width: 38px; height: 38px; border: 1px solid #ffffff90; border-radius: 50%; background: #fffffff0; color: #334158; cursor: pointer; }
.hotel-photo-prev { left: .75rem; }
.hotel-photo-next { right: .75rem; }
.hotel-photo-thumbnails { position: absolute; bottom: .75rem; left: .75rem; right: .75rem; display: flex; gap: .5rem; overflow-x: auto; padding: .6rem; background: #17233b80; backdrop-filter: blur(10px); border: 1px solid #ffffff30; border-radius: 12px; scrollbar-width: thin; scrollbar-color: #ffffff70 transparent; }
.hotel-photo-thumbnails button { flex: 0 0 76px; height: 56px; padding: 2px; border: 2px solid transparent; background: transparent; border-radius: 8px; overflow: hidden; cursor: pointer; }
.hotel-photo-thumbnails button[aria-pressed="true"] { border-color: #fff; background: #fff; }
.hotel-photo-thumbnails img { width: 100%; height: 100%; object-fit: cover; border-radius: 4px; }
.hotel-photo-count { position: absolute; top: .75rem; right: .75rem; background: #17233bb3; padding: .3rem .7rem; border-radius: 30px; color: #fff; font-size: .75rem; }
@keyframes hotel-photo-reveal { from { opacity: .65; } to { opacity: 1; } }
@media (max-width: 720px) { .hotel-photo-thumbnails button { flex-basis: 60px; height: 46px; } }
@media (prefers-reduced-motion: reduce) { .hotel-photo-main { animation: none; } }
.room-gallery { position: relative; margin: -1.25rem -1.25rem 1rem; border-radius: 12px 12px 0 0; overflow: hidden; background: #eaeef5; }
.room-gallery-slides { aspect-ratio: 4 / 3; }
.room-gallery-slides img { width: 100%; height: 100%; object-fit: cover; }
.room-gallery-slides img[hidden] { display: none; }
.room-gallery-arrow { position: absolute; top: 50%; transform: translateY(-50%); display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid #ffffff90; border-radius: 50%; background: #fffffff0; color: #334158; cursor: pointer; }
.room-gallery-prev { left: .5rem; }
.room-gallery-next { right: .5rem; }
.room-gallery-dots { position: absolute; bottom: .65rem; left: .5rem; right: 4rem; display: flex; flex-wrap: wrap; justify-content: center; gap: 2px; }
.room-gallery-dots button { display: grid; place-items: center; width: 24px; height: 24px; padding: 0; border: 0; background: transparent; cursor: pointer; }
.room-gallery-dots button::after { content: ''; width: 7px; height: 7px; border-radius: 50%; background: #ffffffa0; box-shadow: 0 1px 4px #0005; }
.room-gallery-dots button[aria-pressed="true"]::after { background: #fff; width: 10px; height: 10px; }
.room-gallery-count { position: absolute; bottom: .7rem; right: .6rem; padding: .2rem .5rem; border-radius: 20px; background: #17233bcc; color: white; font-size: .6875rem; }
.stay-amenities { display: flex; flex-wrap: wrap; gap: .75rem; list-style: none; padding: 0; margin: 1rem 0; }
.stay-amenities li { border: 1px solid #e4e7ef; border-radius: 8px; padding: .5rem .75rem; font-size: .8125rem; }
.stay-amenities i { color: #a42d49; margin-right: .4rem; }
@media (max-width: 1000px) { .stays-page .destination-list-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 720px) {
  .stays-page .destination-intro { grid-template-columns: 1fr; gap: 1rem; }
  .stays-page .destination-list-grid { grid-template-columns: 1fr; }
  .stay-hero-panel { padding: 1.5rem; }
  .stay-detail-image { min-height: 280px; }
}
@media (prefers-reduced-motion: reduce) { .stays-page .destination-card:hover { transform: none; } }
