@charset "utf-8";

/* list.skin.php에서 옮긴 목록/국가·도시 선택/호텔 광고/티켓 전용 스타일입니다.
   공통·상세 스타일은 style.css에 유지합니다. 모바일 덮어쓰기 순서도 유지합니다. */
  .rb-ticket-typebar{display:flex;gap:7px;overflow-x:auto;margin:8px 0 14px;padding:2px 0;scrollbar-width:none}.rb-ticket-typebar::-webkit-scrollbar{display:none}.rb-ticket-typebar a{flex:0 0 auto;padding:8px 12px;border:1px solid #dfe5ec;border-radius:999px;background:#fff;color:#526172!important;font-size:12px;font-weight:700;text-decoration:none!important}.rb-ticket-typebar a.on{background:#09244B;border-color:#09244B;color:#fff!important}
  .rb-region-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:10px 0 18px;padding:14px 16px;border:1px solid #dce7f2;border-radius:16px;background:#f8fbff;cursor:pointer;transition:border-color .18s,background-color .18s,transform .18s}
  .rb-region-bar:hover{border-color:#b8d1eb;background:#f3f8fe;transform:translateY(-1px)}
  .rb-region-current{display:flex;align-items:center;gap:8px;min-width:0;color:#738094;font-size:14px}
  .rb-region-current strong{color:#102a4c;font-size:15px;white-space:nowrap}
  .rb-region-current .rb-region-path{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .rb-region-current .rb-region-sep{color:#c5ccd5}
  .rb-region-actions{display:flex;align-items:center;gap:7px;flex:0 0 auto}
  .rb-region-open,.rb-region-reset{display:inline-flex;align-items:center;justify-content:center;height:38px;padding:0 15px;border:0;border-radius:11px;font-weight:700;font-size:13px;cursor:pointer;text-decoration:none!important}
  .rb-region-open{gap:6px;border:1px solid #d1e1f1;background:#fff;color:#0b4d8f!important;pointer-events:none}.rb-region-open svg{width:16px;height:16px}
  .rb-region-reset{background:#f3f5f8;color:#6b7788!important}
  .rb-region-dim{display:none;position:fixed;inset:0;z-index:100020;background:rgba(4,19,38,.46);backdrop-filter:blur(2px)}
  .rb-region-dim.is-open{display:block}
  .rb-region-modal{position:absolute;left:50%;top:50%;width:min(920px,calc(100% - 40px));max-height:min(760px,calc(100vh - 50px));transform:translate(-50%,-50%);overflow:hidden;border-radius:22px;background:#fff;box-shadow:0 24px 70px rgba(0,25,58,.25)}
  .rb-region-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px 16px;border-bottom:1px solid #edf0f4}
  .rb-region-head h3{margin:0;color:#102a4c;font-size:21px}.rb-region-close{width:38px;height:38px;border:0;border-radius:50%;background:#f3f5f8;color:#26384f;font-size:24px;line-height:1;cursor:pointer}
  .rb-region-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;min-height:420px;max-height:610px}
  .rb-region-panel{min-width:0;overflow:auto;padding:18px;border-right:1px solid #edf0f4}.rb-region-panel:last-child{border-right:0}
  .rb-region-panel-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;color:#102a4c;font-size:14px;font-weight:800}
  .rb-region-search{position:relative;margin-bottom:12px}.rb-region-search input{width:100%;height:42px;padding:0 13px 0 38px;border:1px solid #dfe5ec;border-radius:12px;background:#fff;color:#172b46;font-size:14px;outline:none}.rb-region-search input:focus{border-color:#2d7eea;box-shadow:0 0 0 3px rgba(45,126,234,.1)}
  .rb-region-search svg{position:absolute;left:13px;top:13px;width:16px;height:16px;color:#8190a3}
  .rb-region-index-wrap{margin-bottom:13px}.rb-region-index-mode{display:flex;gap:5px;margin-bottom:8px}.rb-region-index-mode button{height:30px;padding:0 13px;border:1px solid #dde4ec;border-radius:9px;background:#fff;color:#748195;font-size:12px;font-weight:700;cursor:pointer}.rb-region-index-mode button.on{border-color:#0c315e;background:#0c315e;color:#fff}.rb-region-initials{display:grid;grid-template-columns:repeat(8,1fr);gap:5px}.rb-region-initials.is-hidden{display:none}.rb-region-initials button{height:29px;padding:0;border:1px solid #e1e6ec;border-radius:8px;background:#fff;color:#657388;font-size:12px;cursor:pointer}.rb-region-initials button.on{border-color:#0c315e;background:#0c315e;color:#fff}
  .rb-region-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0;padding:0;list-style:none}.rb-region-panel:not(.rb-country-panel) .rb-region-list{grid-template-columns:1fr}
  .rb-region-list li{min-width:0;margin:0}.rb-region-item{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:42px;padding:9px 11px;border:1px solid transparent;border-radius:10px;color:#33465f!important;font-size:13px;text-decoration:none!important}.rb-region-item:hover{background:#f3f7fc}.rb-region-item.on{border-color:#cfe0f6;background:#edf5ff;color:#125db4!important;font-weight:800}.rb-region-item small{color:#9aa5b3}
  .rb-region-empty{padding:34px 10px;text-align:center;color:#99a4b2;font-size:13px}.rb-region-mobile-tabs{display:none}

  @media (max-width:768px){

  .rb-region-bar{min-height:64px;margin:7px 0 14px;padding:10px 10px 10px 14px;border:1px solid #d9e6f3;border-radius:14px;background:#f8fbff;box-shadow:none}.rb-region-bar:active{border-color:#b7d2ec;background:#f2f8fe;transform:scale(.995);box-shadow:none}.rb-region-current{display:grid;grid-template-columns:auto 1fr;gap:3px 6px;font-size:12px}.rb-region-current strong{grid-column:1 / -1;color:#0b4d8f;font-size:13px;font-weight:800;letter-spacing:-.2px}.rb-region-current strong:before{content:none}.rb-region-current .rb-region-path{color:#52677f;font-size:13px;font-weight:700;line-height:1.25}.rb-region-current .rb-region-sep{align-self:center;color:#a7b6c7}.rb-region-open{width:auto;height:38px;padding:0 12px;border:1px solid #cbdff2;border-radius:10px;background:#fff;color:#0b4d8f!important}.rb-region-open svg{width:15px;height:15px}.rb-region-open span{display:inline;font-size:12px;font-weight:800}.rb-region-reset{display:none}
      .rb-region-modal{position:absolute;left:0;right:0;top:auto;bottom:calc(64px + env(safe-area-inset-bottom,0px));width:100%;max-height:calc(92vh - 64px - env(safe-area-inset-bottom,0px));transform:none;border-radius:22px 22px 0 0;box-shadow:0 -16px 45px rgba(0,25,58,.18)}
      .rb-region-modal:before{content:'';display:block;width:38px;height:4px;margin:9px auto 0;border-radius:3px;background:#d8dee6}.rb-region-head{padding:10px 16px 13px}.rb-region-head h3{font-size:18px}.rb-region-close{width:34px;height:34px;font-size:21px}
      .rb-region-mobile-tabs{display:grid;grid-template-columns:repeat(3,1fr);padding:0 12px;border-bottom:1px solid #edf0f4}.rb-region-mobile-tabs button{height:45px;border:0;border-bottom:2px solid transparent;background:#fff;color:#8792a2;font-size:13px;font-weight:700}.rb-region-mobile-tabs button.on{border-color:#0c315e;color:#0c315e}
      .rb-region-grid{display:block;min-height:0;max-height:none}.rb-region-panel{display:none;height:min(61vh,560px);padding:14px 12px 24px;border-right:0;overflow-y:auto}.rb-region-panel.is-active{display:block}.rb-region-panel-title{display:none}.rb-region-index-wrap{position:sticky;top:-14px;z-index:2;margin-bottom:10px;padding:8px 0;background:#fff}.rb-region-initials{grid-template-columns:repeat(8,1fr)}.rb-region-index-mode button{flex:1}.rb-region-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.rb-region-item{min-height:44px;padding:10px 9px;background:#f8fafc;font-size:13px}.rb-region-panel:not(.rb-country-panel) .rb-region-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  }

  .list-theme-wrap{
      display:flex;
      flex-wrap:wrap;
      gap:6px;
      margin:10px 0 0;
  }
  .list-theme{
      display:inline-flex;
      align-items:center;
      padding:4px 8px;
      border-radius:999px;
      font-size:11px;
      line-height:1.2;
      background:#f0f4ff;
      color:#335;
      border:1px solid #dbe5ff;
      font-weight:600;
  }
  .list-media-wrap{
      display:flex;
      flex-wrap:wrap;
      gap:6px;
      margin:6px 0 0;
  }
  .list-media{
      display:inline-flex;
      align-items:center;
      padding:4px 8px;
      border-radius:999px;
      font-size:11px;
      line-height:1.2;
      background:#fff5e6;
      color:#8a4b00;
      border:1px solid #ffe2b8;
      font-weight:600;
  }

/* 티켓 게시판: 사진은 자연스러운 비율, 정보영역은 절취선 티켓 형태 */
.rb-ticket-list .rb-ticket-card{position:relative;display:flex;flex-direction:column;box-sizing:border-box;padding:0 14px 15px;border:1px solid #e1e7ee;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 7px 24px rgba(9,36,75,.07);transition:transform .2s ease,box-shadow .2s ease}
.rb-ticket-list .rb-ticket-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(9,36,75,.12)}
.rb-ticket-list .rb-ticket-card:before,.rb-ticket-list .rb-ticket-card:after{content:"";position:absolute;z-index:3;top:62%;width:18px;height:18px;border:1px solid #e1e7ee;border-radius:50%;background:#fff;transform:translateY(-50%)}
.rb-ticket-list .rb-ticket-card:before{left:-10px}.rb-ticket-list .rb-ticket-card:after{right:-10px}
.rb-ticket-list .gallery-item-img{position:relative;margin:0 -14px;overflow:hidden}
.rb-ticket-list .gallery-item-img img{display:block;width:100%;height:100%;border:0;border-radius:17px 17px 0 0;object-fit:cover}
.rb-ticket-list .list-theme-wrap{margin-top:12px}
.rb-ticket-list .gallery-item-tit{margin-top:13px;font-size:17px;line-height:1.35}.rb-ticket-list .rb-ticket-full-title{display:block!important;height:auto!important;max-height:none!important;overflow:visible!important;white-space:normal!important;text-overflow:clip!important;-webkit-line-clamp:unset!important}
.rb-ticket-list .gallery-item-info{margin-top:7px;color:#778391}
.rb-ticket-list .star_list_wrap{min-height:64px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px dashed #d9e0e8}.rb-ticket-list .star_list_wrap_r{display:none}.rb-ticket-rating-badge{position:absolute;z-index:5;top:11px;right:11px;display:flex;align-items:center;gap:4px;min-width:42px;height:27px;padding:0 8px;box-sizing:border-box;border-radius:999px;background:rgba(9,36,75,.88);color:#fff;box-shadow:0 3px 10px rgba(0,0,0,.18);backdrop-filter:blur(4px)}.rb-ticket-rating-badge span{color:#ffd65a;font-size:11px}.rb-ticket-rating-badge strong{font-size:11px;font-weight:900}
.rb-ticket-list .gallery-item-con{min-height:42px;margin:12px 0 12px}
.rb-ticket-price-row{display:grid;grid-template-columns:minmax(0,1fr);gap:9px;margin:0 -2px;padding:2px 0 0}
.rb-ticket-price-copy{min-width:0}.rb-ticket-price-copy span{display:block;margin-bottom:3px;color:#8a95a1;font-size:10px;font-weight:700}.rb-ticket-price-copy strong{display:block;max-width:100%;overflow:hidden;color:#09244b;font-size:19px;font-weight:900;line-height:1.2;letter-spacing:-.03em;white-space:normal;overflow-wrap:anywhere;text-overflow:clip}.rb-ticket-price-copy em{display:block;margin-top:4px;color:#8792a0;font-size:10px;font-style:normal;font-weight:600;line-height:1.3}
.rb-ticket-view-btn{display:flex;align-items:center;justify-content:center;width:100%;height:34px;margin-top:auto;box-sizing:border-box;border-radius:9px;background:#09244b;color:#fff!important;font-size:11px;font-weight:800;text-decoration:none!important}
@media(max-width:450px){.rb-ticket-list .rb-ticket-card{padding:0 12px 13px}.rb-ticket-list .gallery-item-img{margin:0 -12px}.rb-ticket-list .gallery-item-tit{font-size:15px}.rb-ticket-price-copy strong{font-size:16px}.rb-ticket-view-btn{height:32px}}


  /* 티켓 목록: 상품명은 모두 표시하고 같은 행의 카드 높이만 가지런히 맞춥니다. */
  .rb-ticket-grid{align-items:stretch!important;}
  .rb-ticket-card{display:flex!important;flex-direction:column;height:auto!important;box-sizing:border-box;}
  .rb-ticket-card .gallery-item-img,
  .rb-ticket-card .list-theme-wrap,
  .rb-ticket-card .list-media-wrap,
  .rb-ticket-card .star_list_wrap,
  .rb-ticket-card .rb-ticket-price-row{flex:0 0 auto;}
  .rb-ticket-card .rb-ticket-full-title{height:auto!important;max-height:none!important;overflow:visible!important;white-space:normal!important;}
  .rb-ticket-card .star_list_wrap_l{float:none!important;width:100%!important;max-width:none!important;padding-right:0!important;box-sizing:border-box;}
  .rb-ticket-card .star_list_wrap_r{display:none!important;}
  .rb-ticket-card .rb-ticket-full-title,
  .rb-ticket-card .rb-ticket-full-title a{display:block;width:100%!important;max-width:none!important;white-space:normal!important;word-break:keep-all;overflow-wrap:break-word;}
  .rb-ticket-card .gallery-item-con{flex:0 0 auto;}
  .rb-ticket-card .rb-ticket-view-btn{margin-top:auto!important;flex:0 0 auto;}
  .rb-region-modal{display:flex;flex-direction:column;width:min(1060px,calc(100% - 40px));max-height:min(820px,calc(100vh - 40px))}.rb-region-grid{flex:1;min-height:290px;overflow:hidden}.rb-region-panel{height:100%}
  .rb-region-intro{padding:16px 22px 0}.rb-region-intro p{margin:0 0 13px;color:#6e7d90;font-size:13px}.rb-global-search{position:relative}.rb-global-search svg{position:absolute;left:15px;top:14px;width:20px;height:20px;color:#14375f}.rb-global-search input{width:100%;height:48px;padding:0 42px;border:1px solid #cbdced;border-radius:13px;background:#f9fbfe;color:#162b47;font-size:14px;outline:none}.rb-popular{padding:16px 22px 10px}.rb-popular-title{margin-bottom:9px;color:#102a4c;font-size:14px;font-weight:800}.rb-popular-list{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none}.rb-country-chip{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;min-height:38px;padding:7px 12px;border:1px solid #dce5ef;border-radius:12px;background:#fff;color:#263a52!important;font-size:13px;font-weight:700;text-decoration:none!important}.rb-country-chip.on{border-color:#83b0dd;background:#edf6ff;color:#0b57a0!important}.rb-flag{font-size:20px;line-height:1}.rb-country-label{display:flex;align-items:center;gap:8px}.rb-continents{display:flex;gap:7px;padding:0 22px 11px;overflow-x:auto;scrollbar-width:none}.rb-continents button{flex:0 0 auto;height:35px;padding:0 17px;border:1px solid #dce4ed;border-radius:18px;background:#f8fafc;color:#52647a;font-size:12px;font-weight:800}.rb-continents button.on{border-color:#0c315e;background:#0c315e;color:#fff}
  .rb-city-preview-title{margin:2px 0 9px;color:#53657b;font-size:12px;font-weight:800}.rb-city-previews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:14px}.rb-city-preview{position:relative;height:90px;overflow:hidden;border-radius:10px;background:#dde6ef;color:#fff!important;text-decoration:none!important}.rb-city-preview img{display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important}.rb-city-preview:after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(3,20,42,.82))}.rb-city-preview strong{position:absolute;z-index:1;left:9px;bottom:8px;font-size:12px}.rb-region-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-top:1px solid #e3e9f0;background:#f8fbff}.rb-footer-current{color:#6c7d91;font-size:11px}.rb-footer-current b{display:block;color:#102a4c;font-size:14px}.rb-footer-actions{display:flex;gap:8px}.rb-footer-actions a,.rb-region-apply{display:inline-flex;align-items:center;justify-content:center;height:42px;padding:0 17px;border:1px solid #d3dfeb;border-radius:11px;background:#fff;color:#52647a!important;font-size:13px;font-weight:800;text-decoration:none!important}.rb-region-apply{min-width:160px;border-color:#0c315e;background:#0c315e;color:#fff!important}
  @media(max-width:768px){.rb-region-modal{max-height:calc(94vh - 64px - env(safe-area-inset-bottom,0px))}.rb-region-intro{padding:5px 12px 0}.rb-region-intro p{display:none}.rb-global-search input{height:44px}.rb-popular{padding:11px 12px 7px}.rb-country-chip{min-height:35px;padding:6px 10px}.rb-continents{padding:0 12px 8px}.rb-continents button{height:32px;padding:0 14px}.rb-region-selected{display:none}.rb-region-grid{flex:1;min-height:0}.rb-region-panel{height:100%}.rb-city-previews{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.rb-city-preview{height:82px}.rb-region-footer{padding:9px 12px}.rb-footer-current{display:none}.rb-footer-actions{width:100%}.rb-region-apply{flex:1;min-width:0}}
  /* 간결한 국가 선택: 가나다/ABC 제거 + 실제 국기 이미지 */
  .rb-region-index-wrap{display:none!important}.rb-flag-img{display:block;width:24px!important;height:17px!important;min-width:24px;object-fit:cover;border:1px solid rgba(11,38,72,.14);border-radius:4px;box-shadow:0 1px 2px rgba(11,38,72,.08)}.rb-country-chip .rb-flag-img{width:26px!important;height:18px!important}.rb-country-panel .rb-region-list{gap:5px 8px}.rb-country-panel .rb-region-item{min-height:40px;padding:7px 10px}.rb-popular{padding-bottom:8px}.rb-continents{padding-bottom:12px;border-bottom:1px solid #edf1f5}
  @media(max-width:768px){.rb-region-index-wrap{display:none!important}.rb-popular-title{font-size:13px}.rb-popular-list{padding-bottom:2px}.rb-continents{border-bottom:1px solid #edf1f5}.rb-country-panel{padding-top:10px}.rb-country-panel .rb-region-list{grid-template-columns:repeat(2,minmax(0,1fr))}.rb-country-panel .rb-region-item{min-height:43px;background:#fff;border-color:#edf1f5}}
  .rb-country-child-search .rb-region-item{background:#f8fbff;border-color:#e3edf7}.rb-country-child-search .rb-country-label span{word-break:keep-all}
  /* Keep the continent controls fully visible above the three-column selector. */
  .rb-region-intro,.rb-popular,.rb-continents{flex-shrink:0}
  .rb-continents{min-height:35px;padding-bottom:14px;overflow-y:visible}
  .rb-region-grid{margin-top:10px}
  @media(max-width:768px){
      .rb-continents{min-height:32px;padding-bottom:12px}
      .rb-region-grid{margin-top:8px}
      .rb-region-modal{left:12px;right:12px;width:auto;max-width:none;box-sizing:border-box}
      .rb-region-modal *{box-sizing:border-box}
      .rb-popular-list,.rb-continents{min-width:0;max-width:100%}
      .rb-country-label{min-width:0;overflow-wrap:anywhere}
      .rb-region-item small{flex:0 0 auto}
  }

  /* HOTEL 목록 안 제휴 광고 카드: Trip.com / Skyscanner 50:50 */
  .rb-hotel-affiliate-ad{display:flex!important;flex-direction:column;box-sizing:border-box;overflow:hidden;border-radius:16px;}
  .rb-hotel-affiliate-ad .rb-hotel-ad-box{position:relative;width:100%;display:flex;align-items:center;justify-content:center;background:#f7f8fa;overflow:hidden;border-radius:16px;}
  .rb-hotel-affiliate-ad .rb-hotel-ad-box iframe,
  .rb-hotel-affiliate-ad .rb-hotel-ad-box img{display:block;border:0;}
  .rb-hotel-affiliate-ad .rb-hotel-ad-label{position:absolute;z-index:2;top:8px;right:8px;padding:3px 7px;border-radius:999px;background:rgba(0,0,0,.58);color:#fff;font-size:10px;line-height:1.4;font-weight:700;letter-spacing:.2px;}
  .rb-hotel-affiliate-ad.rb-ad-trip .rb-hotel-ad-box{min-height:250px;}
  .rb-hotel-affiliate-ad.rb-ad-trip iframe{width:300px;height:250px;max-width:100%;}
  .rb-hotel-affiliate-ad.rb-ad-skyscanner .rb-hotel-ad-box{width:100%!important;max-width:none!important;aspect-ratio:336/280;min-height:0;}
  .rb-hotel-affiliate-ad.rb-ad-skyscanner .rb-skyscanner-ad-link{display:block;width:100%;height:100%;}
  .rb-hotel-affiliate-ad.rb-ad-skyscanner .rb-skyscanner-ad-link img{display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:fill;}
  @media(max-width:450px){
      .rb-hotel-affiliate-ad .rb-hotel-ad-box{min-height:0!important;padding:0;}
      .rb-hotel-affiliate-ad.rb-ad-trip .rb-hotel-ad-box{aspect-ratio:300/250;}
      .rb-hotel-affiliate-ad.rb-ad-trip iframe{width:300px;height:250px;max-width:none;transform:scale(var(--rb-hotel-ad-scale,1));transform-origin:center center;}
      .rb-hotel-affiliate-ad.rb-ad-skyscanner .rb-hotel-ad-box{aspect-ratio:336/280;}
      .rb-hotel-affiliate-ad.rb-ad-skyscanner .rb-skyscanner-ad-link{width:100%;height:100%;max-width:none;transform:none;}
      .rb-hotel-affiliate-ad.rb-ad-skyscanner .rb-skyscanner-ad-link img{width:100%!important;height:100%!important;max-width:none!important;}
  }

/* =========================================================
   RoadTrip 목록 첫 화면 안정화 · 2026-10-20
   - 목록만 CSS Grid로 배치: Swiper JS 실행 여부와 무관하게 같은 크기
   - 기존 클래스/게시물 순서/관리자 열 수/페이지 링크 유지
   - PC·태블릿: 관리자 열 수, 768px 이하 간격 20px, 450px 이하 2열
   - 상세 사진/파일 첨부 슬라이더에는 적용하지 않음
========================================================= */
.rb_bbs_wrap .rb-list-layout {
    position: relative;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    box-sizing: border-box;
}

.rb-list-layout > .rb-list-grid {
    display: grid !important;
    grid-template-columns: repeat(var(--rb-list-cols, 4), minmax(0, 1fr));
    gap: 30px;
    align-items: start;
    width: 100% !important;
    height: auto !important;
    min-width: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    box-sizing: border-box;
    transform: none !important;
    transition: none !important;
}

/* swiper 공통 CSS/기존 테마의 100% 폭·높이·행 여백이 그리드에 섞이지 않게 제한합니다. */
.rb-list-layout > .rb-list-grid > .swiper-slide {
    width: auto !important;
    height: auto !important;
    min-width: 0;
    max-width: 100%;
    margin: 0 !important;
    float: none !important;
    box-sizing: border-box;
}

/* 티켓의 같은 행 높이/버튼 하단 정렬은 기존 기능대로 유지합니다. */
.rb-list-layout > .rb-ticket-grid {
    align-items: stretch !important;
}

/* 이미지가 늦게 도착해도 16:10 자리는 HTML/CSS 단계에서 확보합니다.
   링크를 절대 배치하여 원본 이미지의 세로 크기가 카드 높이를 밀지 않도록 합니다. */
.rb-list-grid .gallery-item-img {
    position: relative;
    min-width: 0;
    min-height: 0;
    padding: 0;
    aspect-ratio: 16 / 10 !important;
    overflow: hidden !important;
}

.rb-list-grid .gallery-item-img > a {
    position: absolute;
    inset: 0;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
}

.rb-list-grid .gallery-item-img img {
    box-sizing: border-box;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center center !important;
}

@media (max-width: 768px) {
    .rb-list-layout > .rb-list-grid { gap: 20px; }
}

@media (max-width: 450px) {
    .rb-list-layout > .rb-list-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* 기존 10px breakpoint도 유지하되, 정상 모바일 폭에는 영향을 주지 않습니다. */
@media (max-width: 10px) {
    .rb-list-layout > .rb-list-grid { grid-template-columns: minmax(0, 1fr); }
}

/* aspect-ratio를 지원하지 않는 구형 브라우저에서도 같은 이미지 공간을 확보합니다. */
@supports not (aspect-ratio: 16 / 10) {
    .rb-list-grid .gallery-item-img {
        height: 0 !important;
        padding-bottom: 62.5% !important;
    }
}
