.promotion-wrap .promotion-container {padding:80px 0;}
.promotion-wrap .page-title {font-size:24px;font-weight:600;margin-bottom:20px;}

.promotion-wrap .promotion-menu-wrap {padding:0 20px;position:relative;margin:0 -20px;}
.promotion-wrap .promotion-menu {margin-bottom:40px;}
.promotion-wrap .promotion-menu .swiper-slide {width:auto;}
.promotion-wrap .promotion-menu-btn {border-radius:6px;border:1px solid #F0F0F0;background:#FFF;padding:10px 12px;line-height:1;white-space:nowrap;}
.promotion-wrap .promotion-menu-btn.active {background: #2C2C2C;color:#fff;}
.promotion-wrap .promotion-menu-wrap .swiper-button-next.swiper-button-disabled, 
.promotion-wrap .promotion-menu-wrap .swiper-button-prev.swiper-button-disabled {opacity:0;}
.promotion-wrap .promotion-menu-wrap .swiper-button-next:after,
.promotion-wrap .promotion-menu-wrap .swiper-button-prev:after {font-size:12px;color:#444;font-weight:bold;margin-top:1px;}
.promotion-wrap .promotion-menu-wrap .swiper-button-prev {left:5px;border-radius:100px;background-color:#fff;border:1px solid #eee;width:28px;height:28px;margin-top:-14px;}
.promotion-wrap .promotion-menu-wrap .swiper-button-next {right:5px;border-radius:100px;background-color:#fff;border:1px solid #eee;width:28px;height:28px;margin-top:-14px;}

.promotion-wrap .promotion-sort {display:grid;grid-template-columns:repeat(7, 1fr);margin-bottom:40px;border-radius: 15px;border: 1px solid rgba(231, 231, 231, 0.40);background: #F9FAFB;overflow:hidden;}
.promotion-wrap .promotion-sort-btn {background: #FFF;border:1px solid #F6F6F6;margin:0 0 -1px -1px;text-align:center;padding:12px 0;}
.promotion-wrap .promotion-sort-btn .count {color:#5CC89C;font-weight:300;margin-left:2px;}
.promotion-wrap .promotion-sort-btn.active {background-color:#5CC89C;color:#fff;font-weight:600;}
.promotion-wrap .promotion-sort-btn.active .count {color:#fff;font-weight:600;}

.promotion-wrap .promotion-pagination {display:flex;align-items:center;justify-content:center;gap:10px;margin-top:40px;margin-bottom:40px;}
.promotion-wrap .promotion-pagination .btn-page {border-radius: 50px;border: 1px solid #F0F0F0;background: #FFF;display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;}
.promotion-wrap .promotion-pagination .btn-page:hover {color:#5CC89C;}
.promotion-wrap .promotion-pagination .btn-page.active {color:#5CC89C;font-weight:500;}
.promotion-wrap .promotion-pagination .btn-page.prev,
.promotion-wrap .promotion-pagination .btn-page.next {font-size:0;text-indent:-9999px;overflow:hidden;white-space:nowrap;background:url(../images/btn_page_arrow.svg) no-repeat center/50% auto;}
.promotion-wrap .promotion-pagination .btn-page.next {transform:rotate(180deg);}
.promotion-wrap .promotion-pagination .btn-page.prev:hover,
.promotion-wrap .promotion-pagination .btn-page.next:hover {background-image:url(../images/btn_page_arrow_active.svg);}

.promotion-wrap .promotion-list {display:grid;grid-template-columns: repeat(4, 1fr);gap:20px;}
.promotion-wrap .promotion-item {border-radius: 6px 6px;border: 1px solid #F0F0F0;overflow:hidden;}
.promotion-wrap .promotion-item .promotion-thumb {width:100%;height:0;padding-bottom:100%;position:relative;border-bottom:1px solid #F0F0F0;}
.promotion-wrap .promotion-item .promotion-thumb img {width:100%;height:100%;object-fit:cover;position:absolute;left:0;top:0;}
.promotion-wrap .promotion-item .promotion-contents {padding:14px;}
.promotion-wrap .promotion-item .promotion-info {display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;}
.promotion-wrap .promotion-item .promotion-date {color:#7F8894;}
.promotion-wrap .promotion-item .promotion-name {font-size:16px;font-weight:700;margin-bottom:13px;}
.promotion-wrap .promotion-item .promotion-desc {margin-bottom:28px;}
.promotion-wrap .promotion-item .promotion-price {color:#5CC89C;font-size:18px;font-weight:600;}

.promotion-wrap .related-list {display:flex;flex-direction:column;gap:20px;}
.promotion-wrap .related-item {padding:14px;border:1px solid #f0f0f0;border-radius:20px;display:flex;align-items:center;overflow:hidden;}
.promotion-wrap .related-item .related-thumb {width:220px;height:220px;border:1px solid #F0F0F0;position:relative;overflow:hidden;margin-right:25px;border-radius:15px;}
.promotion-wrap .related-item .related-thumb img {width:100%;height:100%;object-fit:cover;position:absolute;left:0;top:0;}
.promotion-wrap .related-item .related-contents {flex:1;}
.promotion-wrap .related-item .related-depth {color:#7F8894;margin-bottom:7px;font-size:16px;}
.promotion-wrap .related-item .related-name {font-weight:600;margin-bottom:10px;font-size:18px;}
.promotion-wrap .related-item .related-desc {color:#7F8894;font-size:16px;flex:1;display: -webkit-box;-webkit-line-clamp: 1;-webkit-box-orient: vertical;overflow: hidden;text-overflow: ellipsis;}
.promotion-wrap .related-item .related-align {display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;min-width:0;}
.promotion-wrap .related-item .related-price {font-size:24px;font-weight:700;color:#5CC89C;}
.promotion-wrap .related-item .related-detail {display:flex;gap:10px;align-items:end;}
.promotion-wrap .related-item .related-info {display:flex;flex-direction:column;gap:12px;flex:1;}
.promotion-wrap .related-item .related-info .fly {background-color:#F9FAFB;border-radius:8px;min-height:48px;color:#7F8894;padding:10px 16px;display:flex;align-items:center;gap:8px;}
.promotion-wrap .related-item .related-info .fly .fa-plane {color:#5CC89C;}
.promotion-wrap .related-item .related-info .event {background-color:#F9FAFB;border-radius:8px;min-height:48px;color:#7F8894;padding:10px 16px;display:flex;align-items:center;gap:8px;line-height:1.4;}
.promotion-wrap .related-item .related-btns {display:flex;flex-direction:column;gap:12px;width:160px;}
.promotion-wrap .related-item .related-btns .btn-detail {height:48px;border-radius:8px;border:1px solid #2C2C2C;font-weight:500;line-height:48px;text-align:center;}


@media screen and (max-width: 1241px) {
    .promotion-wrap .promotion-list {grid-template-columns: repeat(3, 1fr);gap:20px;}
}

@media screen and (min-width: 768px) {
    .promotion-wrap .promotion-sort-btn:nth-child(-n + 7) {border-top:0;}
    .promotion-wrap .promotion-sort-btn:nth-child(7n) {border-right:0;}
}

/* 모바일 사이즈 (가로 767px 이하) */
@media screen and (max-width: 767px) {
    .promotion-wrap .promotion-container {padding:40px 0;}
    .promotion-wrap .page-title {font-size:20px;font-weight:600;margin-bottom:15px;}
    
    .promotion-wrap .promotion-menu {margin-bottom:15px;}

    .promotion-wrap .promotion-sort {grid-template-columns:repeat(3, 1fr);}
    .promotion-wrap .promotion-sort-btn {font-size:12px;padding:10px 0;}
    .promotion-wrap .promotion-sort-btn:nth-child(-n + 3) {border-top:0;}
    .promotion-wrap .promotion-sort-btn:nth-child(3n) {border-right:0;}

    .promotion-wrap .promotion-list {grid-template-columns: repeat(2, 1fr);}
    .promotion-wrap .promotion-item .promotion-thumb {padding-bottom:80%;}

    .promotion-wrap .related-item {flex-direction:column;padding:10px;}
    .promotion-wrap .related-item .related-thumb {width:100%;margin-right:0;margin-bottom:10px;}
    .promotion-wrap .related-item .related-depth {font-size:13px;}
    .promotion-wrap .related-item .related-name {font-size:15px;}
    .promotion-wrap .related-item .related-align {flex-direction:column;align-items:stretch;gap:10px;margin-bottom:20px;}
    .promotion-wrap .related-item .related-price {font-size:20px;text-align:right;}
    .promotion-wrap .related-item .related-desc {font-size:13px;line-height:1.4;}
    .promotion-wrap .related-item .related-detail {flex-direction:column;gap:14px;}
    .promotion-wrap .related-item .related-info {gap:8px;width:100%;}
    .promotion-wrap .related-item .related-info .event {font-size:13px;height:auto;padding:10px 15px;}
    .promotion-wrap .related-item .related-info .fly {font-size:13px;height:auto;padding:10px 15px;}
    .promotion-wrap .related-item .related-btns {width:100%;flex-direction:row;gap:8px;}
    .promotion-wrap .related-item .related-btns * {flex:1 1 40%;}
    .promotion-wrap .related-item .related-btns .btn-detail {height:40px;line-height:40px;}
    .promotion-wrap .related-item .related-btns .btn-departure-select {height:40px;line-height:40px;}
}

@media screen and (max-width: 560px) {
    .promotion-wrap .promotion-list {gap:10px;}
    .promotion-wrap .promotion-item .promotion-contents {padding:10px 10px 12px;}
    .promotion-wrap .promotion-item .promotion-thumb {padding-bottom:72%;}
    .promotion-wrap .promotion-item .promotion-info {margin-bottom:8px;}
    .promotion-wrap .promotion-item .promotion-date {font-size:12px;}
    .promotion-wrap .promotion-item .promotion-type {font-size:12px;}
    .promotion-wrap .promotion-item .promotion-name {font-size:14px;margin-bottom:5px;}
    .promotion-wrap .promotion-item .promotion-desc {font-size:12px;margin-bottom:12px;}
    .promotion-wrap .promotion-item .promotion-price {font-size:15px;text-align:right;}
}