@charset "utf-8"; 

/* ───────── 이벤트 목록 ───────── */
.event_list {}
.event_list .inner {padding: 0 var(--inPd);}
.event_list .empty {padding: 60px 20px;text-align: center;color: #aaa;font-size: 14px;}
.event_list .items {display: flex;flex-direction: column;gap: 10px;}
.event_list .item {background: #fff;border: 1px solid #e7eaef;border-radius: 10px;overflow: hidden;transition: box-shadow 0.15s;}
.event_list .item:hover {box-shadow: 0 6px 18px rgba(20,16,55,0.08);}
.event_list .item a {display: flex;align-items: stretch;}
.event_list .item .thumb {flex-shrink: 0;width: 175px;aspect-ratio: 175 / 152;background: #f4f7fb;display: flex;align-items: center;justify-content: center;overflow: hidden;}
.event_list .item .thumb img {width: 100%;height: 100%;object-fit: cover;}
.event_list .item .no_thumb {font-size: 13px;font-weight: 800;color: #4caf50;text-align: center;line-height: 1.3;padding: 8px;background: linear-gradient(135deg,#e0f5d8,#c8eab8);}
.event_list .item .info {flex: 1;padding: 25px 28px;box-sizing: border-box;min-width: 0;}
.event_list .item .info .head {}
.event_list .item .info .title {font-size: 20px;font-weight: 600;color: #111;line-height: 1.4;letter-spacing: -0.3px;word-break: keep-all;}
.event_list .item .info .summary {font-size: 13px;color: #999;line-height: 1.5;}
.event_list .item .info .period {margin-top: 10px;font-size: 13px;color: #999;}
.event_list .badge {display: inline-block;min-width: 58px;margin-bottom: 20px;padding: 2px 11px;border-radius: 14px;font-size: 15px;font-weight: 600;text-align: center;border: 1.5px solid;}
.event_list .badge.badge_active {background: var(--color-main);color: #fff;border-color: var(--color-main);}
.event_list .badge.badge_ended {background: #4B4C4D;color: #fff;border-color: #4B4C4D;}
.event_list .badge.badge_upcoming {background: #fff;color: #888;border-color: #bbb}
.event_list .badge.badge_cancel {background: #b00020;color: #fff;border-color: #b00020;}
.event_pager {display: flex;justify-content: center;gap: 5px;margin-top: 24px;}
.event_pager a {display: inline-block;padding: 7px 12px;background: #fff;border: 1px solid #e0e0e0;border-radius: 5px;font-size: 13px;color: #555;}
.event_pager a.on {background: #4834d4;color: #fff;border-color: #4834d4;}

@media (max-width: 480px){
    .event_list .item a {flex-direction: column;}
    .event_list .item .thumb {width: 100%;}
}

/* ───────── 이벤트 상세 ───────── */
.event_view {background: #fff;padding-bottom: 40px;}
.event_view .banner {width: 100%;}
.event_view .banner img {display: block;width: 100%;height: auto;}
.event_view .banner_fallback {width: 100%;aspect-ratio: 1/1;background: linear-gradient(135deg,#9ae0ad 0%,#5cc585 50%,#3aa867 100%);display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 8px;color: #fff;text-shadow: 0 2px 4px rgba(0,0,0,0.12);}
.event_view .banner_fallback .b1 {font-size: 30px;font-weight: 900;letter-spacing: 3px;}
.event_view .banner_fallback .b2 {font-size: 42px;font-weight: 900;letter-spacing: 3px;}
.event_view .banner_fallback .b3 {margin-top: 14px;font-size: 14px;opacity: 0.9;}
.event_view .head {padding: 24px 18px 14px;}
.event_view .head .title {font-size: 18px;font-weight: 800;color: #0a7c2a;letter-spacing: -0.4px;margin-bottom: 10px;line-height: 1.4;}
.event_view .head .period {font-size: 12px;color: #333;font-weight: 600;padding-top: 10px;border-top: 1px dashed #ddd;border-bottom: 1px dashed #ddd;padding-bottom: 10px;}
.event_view .tier_box {padding: 0 16px;margin-bottom: 16px;}
.event_view .tier_tbl {width: 100%;border-collapse: collapse;}
.event_view .tier_tbl th {background: #fff;padding: 9px 8px;font-size: 12px;font-weight: 700;color: #222;border: 1px solid #222;text-align: center;}
.event_view .tier_tbl thead th {background: #fff;}
.event_view .tier_tbl td {padding: 11px 10px;font-size: 13px;color: #222;border: 1px solid #222;text-align: center;word-break: keep-all;}
.event_view .tier_tbl .row_label {writing-mode: vertical-lr;padding: 0 8px;letter-spacing: 8px;font-weight: 700;vertical-align: middle;background: #fafafa;}
.event_view .tier_tbl .rank {font-weight: 600;}
.event_view .tier_tbl .bonus b {color: #0a7c2a;font-weight: 800;margin-left: 2px;}
.event_view .rules {padding: 14px 18px;}
.event_view .rules p {font-size: 11.5px;color: #444;line-height: 1.7;margin-bottom: 4px;word-break: keep-all;}
.event_view .rules p.strong {color: #222;font-weight: 600;}
.event_view .rules p.example {font-size: 11px;color: #666;}
.event_view .my_box {display: flex;align-items: center;margin: 18px 0 0;background: #fff;border-top: 3px solid #d33;border-bottom: 3px solid #d33;}
.event_view .my_box .lbl {flex: 1;padding: 18px 14px;font-size: 15px;font-weight: 800;color: #222;text-align: center;background: #fff5f5;}
.event_view .my_box .val {flex: 1;padding: 18px 14px;font-size: 22px;font-weight: 900;color: #222;text-align: center;background: #1f2430;color: #fff;}
.event_view .ended_notice {margin: 18px 16px 0;padding: 14px;text-align: center;background: #fff;color: #d33;font-size: 14px;font-weight: 700;border: 1px solid #f5b6b6;border-radius: 6px;}
.event_view .rank_list {padding: 8px 0 20px;}
.event_view .rank_list .empty {padding: 40px 16px;text-align: center;color: #aaa;font-size: 13px;}
.event_view .rank_item {display: flex;align-items: center;gap: 12px;padding: 14px 16px;border-bottom: 1px solid #f0f0f0;}
.event_view .rank_item:last-child {border-bottom: 0;}
.event_view .rank_no {flex-shrink: 0;width: 42px;display: flex;align-items: center;justify-content: center;}
.event_view .rank_no .medal {width: 38px;height: 38px;border-radius: 50%;display: flex;align-items: center;justify-content: center;font-size: 14px;font-weight: 900;color: #fff;}
.event_view .rank_no .medal.gold {background: radial-gradient(circle at 30% 30%, #ffe27a 0%, #d4a800 100%);box-shadow: 0 2px 6px rgba(212,168,0,0.45);}
.event_view .rank_no .medal.silver {background: radial-gradient(circle at 30% 30%, #f1f1f1 0%, #9aa3ab 100%);box-shadow: 0 2px 6px rgba(154,163,171,0.4);}
.event_view .rank_no .medal.bronze {background: radial-gradient(circle at 30% 30%, #f6c79a 0%, #b87333 100%);box-shadow: 0 2px 6px rgba(184,115,51,0.4);}
.event_view .rank_no .num {width: 34px;height: 34px;border-radius: 50%;background: #ffd166;color: #fff;display: flex;align-items: center;justify-content: center;font-size: 14px;font-weight: 800;}
.event_view .rank_item.rank_1 {background: linear-gradient(90deg, rgba(255,226,122,0.12) 0%, transparent 100%);}
.event_view .rank_item.rank_2 {background: linear-gradient(90deg, rgba(241,241,241,0.3) 0%, transparent 100%);}
.event_view .rank_item.rank_3 {background: linear-gradient(90deg, rgba(246,199,154,0.16) 0%, transparent 100%);}
.event_view .member {flex: 0 0 92px;font-weight: 700;color: #222;word-break: keep-all;line-height: 1.3;}
.event_view .stats {flex: 1;display: flex;gap: 14px;justify-content: flex-end;}
.event_view .stats .score, .event_view .stats .payback {text-align: right;min-width: 78px;}
.event_view .stats .lbl {display: block;font-size: 12px;color: #888;margin-bottom: 2px;}
.event_view .stats .val {display: block;font-size: 16px;font-weight: 800;color: #222;font-family: Menlo,Consolas,monospace;}
.event_view .stats .payback.top .val {color: #d33;font-size: 16px;}
.event_view .description {padding: 24px 18px;font-size: 13px;line-height: 1.7;color: #333;}
.event_view .description img {display: block;max-width: 100%;margin: 8px 0;}
