/* Suites Slider — mirrors Voyage Location Cards with 2 visible + 3rd peek */
.suites-slider-wrapper { container-type: inline-size; width:100%; margin:0 auto; position:relative; overflow-x:hidden; overflow-y:hidden; }

.elementor .elementor-invisible .suites-slider-wrapper { opacity:1 !important; visibility:visible !important; transform:none !important; }

.suites-container.suites-slider {
  --gap: 30px;
  /* Fixed card width at 331px (both min & max lock clamp() to 331) */
  --min-card: 331px;
  --max-card: 331px;
  --cols: 2.5; /* subtle third-card peek */
  display:flex; gap:var(--gap); overflow-x:auto; scroll-snap-type:x proximity; -ms-overflow-style:none; scrollbar-width:none; padding:0; inline-size:100%; -webkit-overflow-scrolling:touch; overscroll-behavior-x:contain; scroll-behavior:smooth;
}
.suites-container.suites-slider::-webkit-scrollbar{ display:none; }

.suite-item { inline-size: clamp(var(--min-card), calc((100cqi - (var(--cols) - 1) * var(--gap)) / var(--cols)), var(--max-card)); flex:0 0 auto; min-inline-size: var(--min-card); scroll-snap-align:start; display:inline-flex; flex-direction:column; align-items:flex-start; gap:27px; transition:opacity .4s ease; min-height: 600px; }
.suite-item.is-dimmed { opacity:.45; transition: opacity .3s ease; }

.suite-media img { inline-size:100%; block-size:330px; aspect-ratio: 1 / 1; object-fit:cover; display:block; }
/* 594 total height = 330 image + 27 gap + 237 content wrapper */
.suite-item-content-wrapper { inline-size:100%; block-size: 237px; position:relative; }
.suite-item-content { inset:0; display:inline-flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:18px; }
.suite-item-title { color: var(--heading-primary); font: 400 20px/24px 'KoPub Batang', serif; }
.suite-item-description { color: var(--body-primary); font: 300 16px/22.4px 'Work Sans', sans-serif; }
.suite-item-price { margin-top:8px; color: var(--heading-primary); display:flex; align-items:baseline; gap:6px; flex-wrap:wrap; }
.suite-item-price .label { font: 400 18px/1 'KoPub Batang', serif; }
.suite-item-price .amount { font: 400 22px/1 'KoPub Batang', serif; }
.suite-item-price .term { font:300 16px/140% 'Work Sans', sans-serif; color: var(--body-primary); margin-left:4px; }
.suite-item-discover-link a { text-decoration:none; }
.suite-item-discover-link-inner { padding-block:10px; border-bottom:1px solid var(--heading-primary); display:inline-flex; align-items:center; gap:10px; }
.suite-item-discover-link-text { color: var(--heading-primary); font:500 16px 'Work Sans', sans-serif; }

/* Progress */
.suites-slider-wrapper .slider-controls { display:flex; justify-content:center; align-items:center; inline-size:100%; margin-top:60px; }
.suites-slider-wrapper .slider-controls .slider-progress { inline-size:60%; margin-inline:auto; }
.suites-progress-track { width:100%; height:3px; background:#B6B6B6; position:relative; border-radius:2px; }
.suites-progress-fill { height:3px; background:#000; width:0%; transition: width .3s ease; border-radius:2px; }

/* Container queries */
@container (min-width: 1440px) { .suites-container.suites-slider { --gap:44px; --cols: 2.5; } .suite-item { gap:30px; } }
@container (min-width: 1024px) and (max-width: 1439px) { .suites-container.suites-slider { --gap:35px; --cols:2.5; } }
@container (min-width: 768px) and (max-width: 1023px) { .suites-container.suites-slider { --gap:25px; --cols:2; } .suite-item-title { font-size:18px; line-height:22px; } .suite-item-description { font-size:15px; line-height:21px; } .suite-item-content-wrapper { block-size:160px; } }
@container (min-width: 600px) and (max-width: 767px) { .suites-container.suites-slider { --gap:20px; --cols:1.8; } .suite-item { gap:18px; } .suite-item-title { font-size:17px; line-height:21px; } .suite-item-description { font-size:14px; line-height:20px; } .suite-item-content-wrapper { block-size:150px; } .suite-item-content { gap:15px; } }
@container (min-width: 480px) and (max-width: 599px) { .suites-container.suites-slider { --gap:18px; --cols:1.5; } .suite-item { gap:20px; } .suite-item-title { font-size:16px; line-height:20px; } .suite-item-description { font-size:14px; line-height:19px; } .suite-item-content-wrapper { block-size:150px; } .suite-item-content { gap:16px; } .suite-item-discover-link-inner { padding-block:8px; } .suite-item-discover-link-text { font-size:15px; } }
@container (max-width: 479px) { .suites-container.suites-slider { --gap:15px; --cols:1.3; } .suite-item { gap:18px; } .suite-item-title { font-size:15px; line-height:19px; } .suite-item-description { font-size:13px; line-height:18px; } .suite-item-content-wrapper { block-size:140px; } .suite-item-content { gap:14px; } .suite-item-title-container { gap:6px; } .suite-item-discover-link-inner { padding-block:6px; gap:8px; } .suite-item-discover-link-text { font-size:14px; } }

@media (hover:none) and (pointer:coarse) { 
  .suites-container.suites-slider { 
    scroll-behavior:smooth; 
    -webkit-overflow-scrolling:touch; 
    touch-action: pan-x;
  } 
  .suite-item-discover-link-inner { 
    min-block-size:44px; 
    padding-block:12px; 
    min-height: 44px;
    display: flex;
    align-items: center;
  }
  .suite-item {
    touch-action: manipulation;
  }
}

@media (-webkit-min-device-pixel-ratio:2), (min-resolution:192dpi) { .suite-media img { image-rendering: -webkit-optimize-contrast; image-rendering: crisp-edges; } }

/* Fallback without container queries */
@supports not (container-type: inline-size) {
  .suites-container.suites-slider { display:grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap:24px; overflow-x:visible; }
  .suite-item { inline-size:auto; min-inline-size:0; gap:18px; }
}
