*{box-sizing:border-box}
:root{--burgundy:#741d2a;--burgundy-dark:#5e1622;--gold:#c89a36;--blue:#315b94;--bg:#f7f6f6}
body{margin:0;font-family:Arial,"Noto Sans KR",sans-serif;background:var(--bg);color:#191919}
button,select{font:inherit}
.top{background:var(--burgundy);color:#fff;padding:25px 20px;text-align:center}
.top .eyebrow{font-size:12px;opacity:.78;letter-spacing:.07em}
.top h1{margin:6px 0 0;font-size:19px}
.toolbar{display:flex;align-items:center;justify-content:center;gap:28px;padding:21px;background:#fff;border-bottom:1px solid #eee}
.toolbar h2{margin:0;min-width:150px;text-align:center;font-size:23px}
.toolbar button{width:40px;height:40px;border:0;border-radius:50%;background:var(--burgundy);color:#fff;cursor:pointer}
.filterBar{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;padding:14px 12px 8px}
.filterBar select,.secondaryBtn{height:38px;border:1px solid #dcd5d7;border-radius:8px;background:#fff;padding:0 11px}
.legend{display:flex;justify-content:center;gap:18px;padding:8px 10px 6px;font-size:12px;color:#666}
.legend span{display:flex;align-items:center;gap:6px}
.legendDot{width:9px;height:9px;border-radius:50%;display:inline-block}
.legendDot.open{background:var(--gold)} .legendDot.confirmed{background:var(--burgundy)} .legendDot.closed{background:#888}
.weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;padding:12px 14px 6px;text-align:center}
.weekdays strong{display:block;font-size:12px}.weekdays span{font-size:11px;color:#888}
.weekdays .sun strong,.weekdays .sun span{color:#a22637}.weekdays .sat strong,.weekdays .sat span{color:var(--blue)}
.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;padding:0 14px 20px}
.day{background:#fff;border-radius:11px;min-height:126px;padding:10px;cursor:pointer;overflow:hidden;border:1px solid transparent}
.day.empty{background:transparent;cursor:default}.dayNumber{font-size:15px;margin-bottom:8px}.today{outline:2px solid var(--burgundy)}
.eventPreview{font-size:12px;margin-top:6px;font-weight:600;padding:5px 6px;border-radius:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#f7f2f3;border-left:3px solid var(--burgundy)}
.eventPreview.status-open{border-left-color:var(--gold)}.eventPreview.status-confirmed{border-left-color:var(--burgundy)}.eventPreview.status-closed{border-left-color:#888;opacity:.7}
.eventMore{font-size:12px;margin-top:6px;color:var(--burgundy)}
.listWrap{max-width:1200px;margin:18px auto 55px;padding:20px}
.sectionHead{display:flex;justify-content:space-between;gap:15px;margin-bottom:15px}.sectionHead h2{font-size:21px;margin:0}#resultCount{font-size:13px;color:#777}
.card{background:#fff;padding:21px;border-radius:13px;margin-bottom:15px;box-shadow:0 2px 9px rgba(40,25,28,.055);border:1px solid #eee}
.cardTop{display:flex;justify-content:space-between;gap:10px}.region{font-size:12px;font-weight:700;color:#536076}
.badge{color:#fff;border-radius:999px;padding:5px 10px;font-size:12px;background:#777}.badge.status-open{background:var(--gold)}.badge.status-confirmed{background:var(--burgundy)}.badge.status-closed{background:#888}
.title{margin:13px 0;font-size:19px}.meta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:16px;color:#666;font-size:14px}.price{color:var(--burgundy);font-size:16px}
.detail{display:inline-block;padding:10px 18px;background:var(--burgundy);color:#fff;text-decoration:none;border-radius:7px;font-weight:700}
.emptyMessage{background:#fff;padding:22px;border-radius:10px;color:#777;border:1px dashed #ddd}
@media(max-width:768px){.weekdays,.calendar{gap:4px;padding-left:6px;padding-right:6px}.day{min-height:88px;padding:6px}.eventPreview{font-size:9px}.listWrap{padding:10px}}
.listWrap{max-width:1200px;margin:12px auto 45px;padding:16px 20px}.sectionHead{margin-bottom:12px}.card{position:relative;padding:18px 20px;border-radius:12px;margin-bottom:11px;box-shadow:0 2px 8px rgba(40,25,28,.045)}.cardTop{display:flex;align-items:center;justify-content:flex-start;gap:10px;margin-bottom:8px}.region{font-size:11px;letter-spacing:.07em}.badge{position:absolute;top:17px;right:18px;padding:5px 10px}.title{margin:6px 105px 8px 0;font-size:18px;line-height:1.4}.meta{gap:0;margin-bottom:13px;font-size:13px}.meta>*{display:inline-flex;align-items:center}.meta>*+*:before{content:"·";color:#b5aaac;margin:0 9px;font-weight:400}.price{font-size:14px}.detail{padding:9px 15px;font-size:13px;border-radius:6px}@media(max-width:768px){.card{padding:15px}.badge{top:14px;right:14px}.title{margin-right:85px;font-size:16px}.meta{font-size:12px}.meta>*+*:before{margin:0 6px}}

/* V5 — grouped monthly product list */
.groupedCard{
  padding-bottom:18px;
}

.departureGroup{
  margin:12px 0 15px;
  padding:12px 13px;
  background:#faf8f8;
  border:1px solid #eee8e9;
  border-radius:9px;
}

.departureLabel{
  margin-bottom:9px;
  font-size:12px;
  font-weight:700;
  color:#666;
}

.departureChips{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}

.departureChip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  height:29px;
  padding:0 9px;
  border-radius:999px;
  background:#fff;
  border:1px solid #ddd;
  font-size:12px;
  font-weight:700;
  color:#444;
}

.departureChip.status-open{
  border-color:#d8b35b;
  color:#8b6719;
  background:#fffaf0;
}

.departureChip.status-confirmed{
  border-color:#9b4c58;
  color:#741d2a;
  background:#fff7f8;
}

.departureChip.status-closed{
  border-color:#bbb;
  color:#777;
  background:#f3f3f3;
}

.departureHidden{
  display:none;
}

.departureToggle{
  margin-top:9px;
  padding:6px 10px;
  border:0;
  border-radius:6px;
  background:transparent;
  color:#741d2a;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
}

.badge.status-mixed{
  background:#6f6580;
}

@media(max-width:768px){
  .departureGroup{
    padding:10px;
  }
  .departureChips{
    gap:5px;
  }
  .departureChip{
    min-width:38px;
    height:27px;
    padding:0 7px;
    font-size:11px;
  }
}
