/* ============================================================
   events.css — 이벤트 페이지 전용
   공통 토큰/리셋 = base.css, 헤더/드로어/푸터 = layout.css
   ============================================================ */

.ev-head{padding:40px 0 4px}
.ev-head h1{font-size:clamp(1.6rem,4vw,2.1rem);font-weight:800;letter-spacing:-.03em;line-height:1.3}
.ev-head p{color:var(--muted);margin-top:8px;font-size:.98rem}

/* 상태 필터 탭 */
.ev-tabs{display:flex;gap:8px;margin:20px 0 24px;flex-wrap:wrap}
.ev-tabs button{
  padding:9px 18px;border-radius:999px;font-weight:700;font-size:.92rem;font-family:inherit;
  color:var(--muted);background:var(--mist);border:1px solid var(--line);cursor:pointer;transition:.2s;
}
.ev-tabs button:hover{color:var(--ink)}
.ev-tabs button.on{color:#fff;background:var(--blue);border-color:var(--blue)}

/* 카드 그리드 */
.ev-grid{display:grid;grid-template-columns:1fr;gap:20px;margin-bottom:64px}
@media(min-width:600px){.ev-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:960px){.ev-grid{grid-template-columns:repeat(3,1fr)}}

.ev-card{
  background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;
  display:flex;flex-direction:column;cursor:pointer;
  transition:box-shadow .25s,transform .25s,border-color .25s;
}
.ev-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px);border-color:transparent}

/* 썸네일(그라데이션) + 상태 배지 */
.ev-thumb{position:relative;aspect-ratio:16/9;display:grid;place-items:end start;padding:16px}
.ev-thumb.g1{background:linear-gradient(135deg,var(--blue-bright),var(--blue))}
.ev-thumb.g2{background:linear-gradient(135deg,#2b8cf5,var(--teal))}
.ev-thumb.g3{background:linear-gradient(135deg,#7c8bff,var(--violet))}
.ev-thumb.g4{background:linear-gradient(135deg,var(--blue),var(--blue-deep))}
.ev-thumb.ended{background:linear-gradient(135deg,#9aa4bd,#6b7085)}
.ev-badge{font-size:.78rem;font-weight:800;padding:5px 12px;border-radius:999px;background:#fff;color:var(--ink)}
.ev-badge.live{color:var(--blue)}
.ev-badge.ended{color:var(--muted)}
/* 시안 이미지: 카드 썸네일(상단 크롭) / 상세 전체 이미지 */
.ev-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top}
.ev-thumb .ev-badge{position:relative;z-index:1}
.ev-view-img{display:block;width:100%;height:auto}

.ev-body{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}
.ev-service{display:inline-block;align-self:flex-start;font-size:.8rem;font-weight:700;color:var(--blue);background:var(--blue-100);padding:4px 11px;border-radius:999px;margin-bottom:9px}
.ev-view-head .ev-service{margin-bottom:12px}
.ev-body h3{font-size:1.1rem;font-weight:800;letter-spacing:-.02em;line-height:1.35;color:var(--ink)}
.ev-period{margin-top:8px;font-size:.86rem;font-weight:600;color:var(--muted)}
.ev-desc{margin-top:10px;font-size:.92rem;line-height:1.6;color:var(--ink-soft);flex:1}
.ev-more{margin-top:auto;padding-top:16px;font-weight:700;font-size:.9rem;color:var(--blue);display:inline-flex;align-items:center;gap:6px;transition:gap .2s}
.ev-card:hover .ev-more{gap:10px}
.ev-card[data-status="ended"] .ev-thumb{filter:saturate(.7)}
.ev-card[data-status="ended"] .ev-more{color:var(--muted)}

.ev-empty{grid-column:1/-1;padding:56px 20px;text-align:center;color:var(--muted);font-size:.95rem}

/* ── 이벤트 상세 ── */
.ev-view{max-width:820px;margin:26px auto 64px}
.ev-back{
  display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:.9rem;color:var(--ink-soft);
  background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 16px 9px 13px;margin-bottom:16px;
  box-shadow:var(--shadow-sm);transition:color .2s,border-color .2s,box-shadow .2s,transform .2s;
}
.ev-back svg{width:16px;height:16px;transition:transform .2s}
.ev-back:hover{color:var(--blue);border-color:#c9d8fb;box-shadow:var(--shadow-md);transform:translateY(-1px)}
.ev-back:hover svg{transform:translateX(-3px)}
.ev-view-card{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-sm);overflow:hidden}
.ev-view-thumb{position:relative;aspect-ratio:12/4;min-height:150px;display:grid;place-items:end start;padding:18px}
.ev-view-thumb.g1{background:linear-gradient(135deg,var(--blue-bright),var(--blue))}
.ev-view-thumb.g2{background:linear-gradient(135deg,#2b8cf5,var(--teal))}
.ev-view-thumb.g3{background:linear-gradient(135deg,#7c8bff,var(--violet))}
.ev-view-thumb.g4{background:linear-gradient(135deg,var(--blue),var(--blue-deep))}
.ev-view-thumb.ended{background:linear-gradient(135deg,#9aa4bd,#6b7085)}
.ev-view-head{padding:26px 30px 0}
.ev-view-head h1{font-size:clamp(1.35rem,3.4vw,1.8rem);font-weight:800;letter-spacing:-.02em;line-height:1.3;color:var(--ink)}
.ev-view-head .ev-period{margin-top:10px}
.ev-view-body{padding:22px 30px 8px}
.ev-view-body p{margin:0 0 14px;font-size:.98rem;line-height:1.85;color:var(--ink-soft)}
.ev-view-body p:last-child{margin-bottom:0}
/* 상세 페이지 요금표 */
.ev-price{padding:8px 30px 4px}
.ev-price-title{font-size:1.15rem;font-weight:800;letter-spacing:-.02em;color:var(--ink);margin-bottom:14px}
.ev-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:12px;border:1px solid var(--line)}
.ev-price-table{width:100%;min-width:400px;border-collapse:collapse;font-size:.9rem}
.ev-price-table th{
  background:#cfe0f2;color:#2a4d7a;font-weight:800;padding:12px 10px;text-align:center;
  border:1px solid #fff;line-height:1.35;
}
.ev-price-table th small{display:block;font-size:.78rem;font-weight:700;margin-top:1px}
.ev-price-table td{padding:11px 10px;text-align:center;border:1px solid #eaeef4;color:var(--ink-soft)}
.ev-price-table tbody tr:nth-child(odd){background:#f2f6fc}
.ev-price-table .pt-plan{font-weight:700;color:var(--ink)}
.ev-price-table .pt-price{font-weight:800;color:#dd5a24}
.ev-price-note{margin-top:10px;font-size:.82rem;color:var(--muted)}

.ev-view-cta{padding:14px 30px 30px}
.ev-apply{
  display:inline-flex;align-items:center;gap:7px;background:var(--blue);color:#fff;
  padding:13px 24px;border-radius:12px;font-weight:700;font-size:.95rem;
  box-shadow:0 6px 18px rgba(43,92,245,.28);transition:.2s;
}
.ev-apply:hover{background:var(--blue-deep);transform:translateY(-2px)}
.ev-empty-box{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-sm);padding:60px 24px;text-align:center}
.ev-empty-box p{color:var(--muted);margin-bottom:18px}
@media(max-width:600px){
  .ev-view-head{padding:22px 18px 0}
  .ev-view-body{padding:18px 18px 6px}
  .ev-view-cta{padding:12px 18px 24px}
  .ev-apply{width:100%;justify-content:center}
}

@media(max-width:600px){
  .ev-tabs button{padding:8px 15px;font-size:.88rem}
}
