:root{
  --bg: #fff;
  --text: #2b2b2b;
  --muted:#6b6b6b;

  --warm1:#FFE08A;
  --warm2:#FFD15A;
  --warm3:#FFB74D;

  --card:#ffffff;
  --line: rgba(0,0,0,.08);
  --shadow: 0 12px 30px rgba(0,0,0,.08);
  --radius: 16px;
}

.mw-page {
  padding: 32px 16px 64px; /* 상 / 좌우 / 하 */
}


.mw-hero{
  background: linear-gradient(135deg, var(--warm1), var(--warm2));
  border-radius: var(--radius);
  padding: 28px;
  color: #3b2a16;
  box-shadow: var(--shadow);
}

.mw-hero__inner{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 18px;
  align-items:center;
}

.mw-badge{
  display:inline-block;
  background: rgba(255,255,255,.45);
  border: 1px solid rgba(0,0,0,.06);
  padding: 6px 10px;
  border-radius: 999px;
  font-weight: 700;
  margin: 0 0 10px;
}

.mw-title{ margin:0 0 8px; font-size: 30px; letter-spacing:-.5px; }
.mw-sub{ margin:0 0 8px; color: rgba(59,42,22,.85); font-weight:600; }
.mw-lead{ margin:0; color: rgba(59,42,22,.85); }

.mw-hero__media{
  margin:0;
  background: rgba(255,255,255,.55);
  border: 1px solid rgba(0,0,0,.06);
  border-radius: var(--radius);
  padding: 10px;
}
.mw-hero__media img{
  width:100%;
  height: 180px;
  object-fit: cover;
  border-radius: 12px;
  display:block;
}

.mw-wrap{ margin-top: 22px; }
.mw-section-head h2{ margin:0 0 6px; font-size: 22px; }
.mw-section-head p{ margin:0 0 14px; color: var(--muted); }

.mw-cards{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 14px;
}

.mw-card{
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 16px;
  box-shadow: 0 10px 24px rgba(0,0,0,.05);
}

.mw-card--accent{
  border-color: rgba(255,183,77,.55);
  box-shadow: 0 14px 34px rgba(255,183,77,.18);
}

.mw-card__top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 10px;
  margin-bottom: 10px;
}
.mw-card h3{ margin:0; font-size: 18px; }



/* 부스 카드 내부 이미지 */
.mw-card__media {
  margin: 0 0 12px;
  background: rgba(255, 224, 138, 0.35);
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 14px;
  padding: 8px;
}

/* 기존 img 테두리 제거 */
.mw-card__media img{
  display:block;
  width:100%;
  height:auto;
  border:none;
  background:transparent;
}

/* 프레임이 라운딩대로 이미지를 잘라주게 */
.mw-frame{
  border-radius: 18px;
  overflow: hidden;          /* ✅ 핵심 */
  background: #FFF6DA;
  padding: 18px;             /* 패딩 유지 OK */
  box-shadow:
    inset 0 0 0 1px rgba(255,180,60,.25),
    0 10px 24px rgba(0,0,0,.06);
}

/* 이미지 자체도 라운딩(선택: 더 자연스럽게) */
.mw-frame img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 12px;       /* ✅ 패딩 때문에 ‘안쪽 라운딩’ */
}


/* A 타입 강조 */
.mw-card--accent .mw-frame{
  background:#FFE8C2;
}

/* 선택/호버 시 자연스럽게 */
.mw-card:hover .mw-frame{
  box-shadow:
    inset 0 0 0 2px rgba(255,167,38,.5),
    0 14px 30px rgba(255,167,38,.25);
}




.mw-chip{
  white-space:nowrap;
  font-weight:700;
  background: rgba(255,209,90,.45);
  border: 1px solid rgba(0,0,0,.06);
  padding: 6px 10px;
  border-radius: 999px;
  color:#3b2a16;
}

.mw-list{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap: 8px;
  color: #3b3b3b;
}
.mw-list li b{
  display:inline-block;
  width: 90px;
  color:#2b2b2b;
}

.mw-note{
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.mw-accordion{
  margin-top: 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  overflow:hidden;
}
.mw-accordion summary{
  cursor:pointer;
  padding: 14px 16px;
  font-weight: 800;
  background: rgba(255,209,90,.18);
}
.mw-accordion__body{ padding: 12px 16px 16px; }
.mw-bullets{ margin:0; padding-left: 18px; color: #444; }
.mw-bullets li{ margin: 6px 0; }

.mw-consent{
  margin-top: 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background:#fff;
  padding: 16px;
}
.mw-consent h2{ margin:0 0 10px; font-size: 18px; }

.mw-check{
  display:flex;
  gap: 10px;
  align-items:flex-start;
  padding: 10px 12px;
  border-radius: 12px;
}
.mw-check:hover{ background: rgba(0,0,0,.03); }
.mw-check input{ margin-top: 3px; }
.mw-check--all{
  margin-top: 8px;
  border-top: 1px dashed var(--line);
  padding-top: 14px;
}

.mw-actions{
  display:flex;
  gap: 10px;
  margin-top: 12px;
}
.mw-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 12px 14px;
  border-radius: 12px;
  background: #2b2b2b;
  color:#fff;
  text-decoration:none;
  font-weight: 800;
  border: 1px solid rgba(0,0,0,.1);
}
.mw-btn--ghost{
  background:#fff;
  color:#2b2b2b;
}
/* 메인 CTA 버튼 */
.mw-btn--primary {
  background: linear-gradient(135deg, #FFB74D, #FFA726);
  color: #3b2a16;
  border: none;
  box-shadow: 0 14px 34px rgba(255,167,38,.35);
}

/* 초대형 버튼 */
.mw-btn--xl {
  width: 100%;
  font-size: 22px;        /* ⭐ 크게 */
  padding: 20px 20px;     /* ⭐ 두껍게 */
  border-radius: 18px;
  font-weight: 900;
  letter-spacing: -0.5px;
}

/* 호버 효과 */
.mw-btn--xl:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 40px rgba(255,167,38,.45);
}

/* 모바일에서도 압도적으로 */
@media (max-width: 768px) {
  .mw-btn--xl {
    font-size: 24px;
    padding: 22px 16px;
  }
}



@media (max-width: 980px){
  .mw-hero__inner{ grid-template-columns: 1fr; }
  .mw-cards{ grid-template-columns: 1fr; }
  .mw-hero__media img{ height: 200px; }
  .mw-actions{ flex-direction:column; }
}




:root{
  --bg:#fff; --text:#262626; --muted:#6b6b6b;
  --line:rgba(0,0,0,.08);
  --shadow:0 14px 34px rgba(0,0,0,.08);
  --r:16px;
  --warm1:#FFE08A; --warm2:#FFD15A;
  --cta1:#FFB74D; --cta2:#FFA726;
  --danger:#e64a4a;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;}
.page{max-width:860px;margin:0 auto;padding:28px 16px 80px}

.hero{
  margin-top:16px;padding:24px 20px;border-radius:var(--r);
  background:linear-gradient(135deg,var(--warm1),var(--warm2));
  box-shadow:var(--shadow);
}
.hero h1{margin:0 0 8px;font-size:28px;letter-spacing:-.5px}
.hero p{margin:0;font-weight:600;color:#4a351c}
.hero .meta{margin-top:10px;font-size:14px;color:#5b4528;line-height:1.5}

.card{
  margin-top:16px;background:#fff;border:1px solid var(--line);
  border-radius:var(--r);box-shadow:0 10px 24px rgba(0,0,0,.05);
  padding:18px;
}
.card h2{margin:0 0 10px;font-size:18px}
.sub{margin:0 0 12px;font-size:14px;color:var(--muted);line-height:1.5}

.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:640px){.row2{grid-template-columns:1fr}}

label.t{display:block;font-weight:900;margin-bottom:6px}
.req{color:var(--danger)}
.help{margin-top:6px;font-size:13px;color:var(--muted);line-height:1.45;word-break:keep-all;line-break:strict}
.help-danger{color:var(--danger);font-weight:900}

input[type=text],input[type=email],input[type=tel]{
  width:100%;padding:12px;border:1px solid var(--line);
  border-radius:12px;font-size:15px;
}
input:focus{
  outline:none;border-color:rgba(255,167,38,.7);
  box-shadow:0 0 0 4px rgba(255,167,38,.18);
}

.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{
  display:flex;align-items:center;gap:10px;
  padding:10px 14px;border:1px solid var(--line);
  border-radius:14px;cursor:pointer;background:#fff;
}
.chip b{font-weight:900}
.chip input{margin:0}

/* 라디오 기본 UI 숨기고 칩 하이라이트로 표시 */
.chip input[type="radio"]{
  appearance:none;
  -webkit-appearance:none;
  width:0;height:0;margin:0;padding:0;border:0;
}
.chip:has(input[type="radio"]:checked){
  border-color: rgba(255,167,38,.65);
  background: rgba(255,209,90,.22);
  box-shadow: 0 0 0 4px rgba(255,167,38,.14);
}
.chip:has(input[type="radio"]:checked)::before{
  content:"";
  width:10px;height:10px;border-radius:999px;
  background:#FFA726;
  display:inline-block;
}

/* 체크박스는 기본 표시 유지 */
.chip input[type="checkbox"]{margin:0}

/* booth type */
.type{
  display:flex;gap:12px;padding:14px;
  border:1px solid var(--line);border-radius:14px;cursor:pointer;
}
.type + .type{margin-top:10px}
.type img{
  width:140px;height:100px;object-fit:contain;border-radius:10px;
  background:#fff7dc;border:1px solid rgba(0,0,0,.05);
}
.type .title{font-weight:900}
.type .desc{font-size:13px;color:var(--muted);margin-top:4px}

/* disabled option */
.chip.is-disabled{opacity:.45;cursor:not-allowed}
.chip.is-disabled input{pointer-events:none}

/* CTA */
.cta-wrap{margin-top:24px}
.cta{
  width:100%;border:0;border-radius:18px;
  padding:24px 16px;font-size:24px;font-weight:900;
  cursor:pointer;background:linear-gradient(135deg,var(--cta1),var(--cta2));
  color:#3b2a16;box-shadow:0 18px 40px rgba(255,167,38,.38);
  transition:transform .12s ease, box-shadow .12s ease, opacity .12s ease;
}
.cta:hover{transform:translateY(-2px);box-shadow:0 22px 48px rgba(255,167,38,.45)}
.cta:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}

/* 부스 스펙 선택 유지 */
.type{
  position: relative;
  transition: box-shadow .15s ease, border-color .15s ease, background .15s ease;
}

/* 선택된 부스 스펙 */
.type:has(input[type="radio"]:checked){
  border-color: rgba(255,167,38,.7);
  background: rgba(255,209,90,.18);
  box-shadow: 0 0 0 4px rgba(255,167,38,.18);
}

/* 선택 표시 점 */
.type:has(input[type="radio"]:checked)::before{
  content:"";
  position:absolute;
  top:14px;
  right:14px;
  width:12px;
  height:12px;
  border-radius:50%;
  background:#FFA726;
}


.mw-tabs{
  margin:40px 0 30px;
  display:flex;
  gap:12px;
  justify-content:center;
}

.mw-tab{
  min-width:160px;
  padding:14px 22px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
  font-size:16px;
  font-weight:800;
  cursor:pointer;
  color:#5b4528;
  transition:all .25s ease;
  box-shadow:0 6px 18px rgba(0,0,0,.06);
}

.mw-tab:hover{
  background:rgba(255,209,90,.25);
}

.mw-tab.active{
  background:linear-gradient(135deg,#FFD15A,#FFB74D);
  color:#3b2a16;
  border:none;
  box-shadow:0 10px 26px rgba(255,167,38,.35);
}



/* 부스컷 */

.app-card {width:100%; margin-bottom:10px;}
.app-card-media {
  position: relative;
  width: 100%;
  aspect-ratio: 3 / 2;      /* 300x200 비율 */
  border-radius: 12px;
  overflow: hidden;
  background: #f3f3f3;
  border: 1px solid #f3f3f3;
}
.app-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display:block;
}
.app-card-actions{
  position:absolute; left:0; right:0; bottom:0;
  padding:10px;
  /* background: linear-gradient(to top, rgba(0,0,0,0.55), rgba(0,0,0,0)); */
  display:flex; justify-content:flex-end; gap:8px;
}
.app-card-actions button{
  border:0; border-radius:10px;
  padding:10px 12px;
  font-size:14px;
  color:#fff;
  background: rgba(0,0,0,0.55);
}
.app-no-image{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  color:#838383;
  background:#f5f5f5;
}

/* 부스컷 모달 */
.app-modal { display:none; position:fixed; inset:0; z-index:9999; }
.app-modal[aria-hidden="false"] { display:block; }
.app-modal-dim { position:absolute; inset:0; background:rgba(0,0,0,0.5); }
.app-modal-panel{
  position:absolute; left:50%; top:50%;
  transform: translate(-50%, -50%);
  width: min(720px, 94vw);
  max-height: 86vh;
  background:#fff; border-radius:16px;
  overflow:hidden;
  display:flex; flex-direction:column;
}
@media (max-width: 520px){
  .app-modal-panel{
    left:0; right:0; bottom:0; top:auto;
    transform:none;
    width:100%;
    max-height: 88vh;
    border-radius: 16px 16px 0 0;
  }
}
.app-modal-head{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 16px; border-bottom:1px solid #eee;
}
.app-modal-body{
  padding:14px 16px;
  overflow:auto;
}
.app-upload-box .help{
  font-size:13px; color:#555; margin-bottom:8px;
}
.app-upload-actions{ margin-top:8px; display:flex; align-items:center; gap:10px; }
#appImgUploadBtn{ padding:10px 12px; font-weight: bold;border-radius:10px; border:1px solid #ddd;  color: #3b2a16; background: linear-gradient(135deg, #FFD15A, #FFB74D); }
.app-upload-status{ font-size:13px; color:#333; }

.app-modal-close{
  border:0;
  background:transparent;
  width:40px;
  height:40px;
  border-radius:50%;
  position:relative;
  cursor:pointer;
}

.app-modal-close::before,
.app-modal-close::after{
  content:'';
  position:absolute;
  top:50%;
  left:50%;
  width:18px;
  height:2px;
  background:#333;
  border-radius:2px;
}

.app-modal-close::before{
  transform:translate(-50%, -50%) rotate(45deg);
}
.app-modal-close::after{
  transform:translate(-50%, -50%) rotate(-45deg);
}

.app-modal-close:hover{
  background:#f2f2f2;
}

@media (max-width: 520px){
  .app-modal-close{
    width:44px;
    height:44px;
  }
}


/* 이미지 그리드 */
.app-img-grid{
  margin-top:14px;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:10px;
}
@media (max-width: 520px){
  .app-img-grid{ grid-template-columns: repeat(2, 1fr); }
}
.app-thumb{
  border:1px solid #eee;
  border-radius:12px;
  overflow:hidden;
  background:#fafafa;
}
.app-thumb .imgwrap{ position:relative; width:100%; aspect-ratio: 1 / 1; }
.app-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.app-badge{
  position:absolute; left:8px; top:8px;
  background: rgba(0,0,0,0.65); color:#fff;
  font-size:12px; padding:4px 8px; border-radius:999px;
}
.app-thumb .actions{
  display:flex; gap:6px;
  padding:8px;
  flex-wrap:wrap;
}
.app-thumb button{
  border:1px solid #ddd;
  background:#fff;
  border-radius:10px;
  padding:8px 10px;
  font-size:13px;
}

.app-selected-preview{
  margin-top: 10px;
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:10px;
}
@media (max-width: 520px){
  .app-selected-preview{ grid-template-columns: repeat(3, 1fr); }
}
.sel-prev{
  border:1px solid #eee;
  border-radius:12px;
  overflow:hidden;
  background:#fafafa;
}
.sel-prev .imgwrap{
  width:100%;
  aspect-ratio: 1 / 1;
  position:relative;
}
.sel-prev img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.sel-prev .meta{
  padding:6px 8px;
  font-size:12px;
  color:#555;
  display:flex;
  justify-content:space-between;
  gap:8px;
}
.sel-prev .rm{
  border:0;
  background:transparent;
  color:#d00;
  font-size:12px;
}


/* ===== 문구전 서브페이지 YELLOW THEME ===== */
.mgg-subpage{
  --bg1:#fffdf4;
  --bg2:#fff9e6;
  --card:#ffffff;

  --text:#3a2e00;
  --muted:#7a6a2b;

  --primary:#ffb800;
  --primary2:#ff8c00;

  --soft-yellow:#fff6cc;
  --soft-cream:#fff3b0;

  --border:#f1e2a4;
  --radius:18px;

  color:var(--text);
}

/* 전체 래퍼 */
.mgg-subpage .mgg-wrap{
  width:min(1000px, calc(100% - 32px));
  margin: 30px auto 50px;
}


.mgg-subpage .mgg-btn{
  padding:10px 18px;
  border-radius:999px;
  font-weight:700;
  font-size:14px;
  border:1px solid var(--border);
  background:#fff;
  transition:all .2s ease;
}

.mgg-subpage .mgg-btn:hover{
  background:var(--soft-yellow);
  transform:translateY(-2px);
}

.mgg-subpage .mgg-primary{
  border:0;
  color:#fff;
  background:linear-gradient(135deg,var(--primary),var(--primary2));
  box-shadow:0 8px 18px rgba(255,184,0,.35);
}

.mgg-subpage .mgg-primary:hover{
  opacity:.9;
}




/* ===== 상단 네비 좌우 분리 ===== */
.mgg-subpage .mgg-nav{
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:14px;
  margin-bottom:20px;
}

.mgg-subpage .mgg-nav-left,
.mgg-subpage .mgg-nav-right{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

/* 오른쪽 공지 버튼 약간 강조 */
.mgg-subpage .mgg-notice{
  background:#fff8d6;
  border:1px solid #f3d26a;
  font-weight:800;
}

.mgg-subpage .mgg-notice:hover{
  background:#ffeaa0;
  transform:translateY(-2px);
}



/* ===== 히어로 영역 ===== */
.mgg-subpage .mgg-hero{
  background:linear-gradient(180deg,var(--bg1),var(--bg2));
  border-radius:var(--radius);
  padding:32px;
  border:1px solid var(--border);
}

.mgg-subpage .mgg-badge{
  display:inline-block;
  padding:8px 14px;
  font-size:13px;
  font-weight:800;
  border-radius:999px;
  background:var(--soft-yellow);
  color:#b87900;
}

.mgg-subpage .mgg-title{
  margin:14px 0 8px;
  font-size:30px;
  font-weight:900;
  background:linear-gradient(135deg,var(--primary),var(--primary2));
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}

.mgg-subpage .mgg-lead{
  margin-bottom:22px;
  font-size:15px;
  color:var(--muted);
}

/* ===== 2단 영역 ===== */
.mgg-subpage .mgg-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:18px;
}

.mgg-subpage .mgg-card{
  border-radius:16px;
  padding:20px;
  background:#fffdf2;
  border:1px solid var(--border);
  box-shadow:0 6px 20px rgba(255,184,0,.08);
}

/* 카드 색감 차이 */
.mgg-subpage .mgg-card:first-child{
  background:var(--soft-yellow);
}

.mgg-subpage .mgg-card:last-child{
  background:var(--soft-cream);
}

.mgg-subpage .mgg-h2{
  margin-top:0;
  font-size:17px;
  font-weight:800;
}

.mgg-subpage .mgg-strong{
  font-weight:900;
  margin-top:12px;
}

/* ===== 날짜/장소 박스 ===== */
.mgg-subpage .mgg-info{
  display:grid;
  gap:10px;
  margin-top:14px;
}

.mgg-subpage .mgg-pill{
  padding:12px 14px;
  border-radius:12px;
  background:#fff;
  border:1px dashed #e8d48c;
}

.mgg-subpage .mgg-tag{
  font-size:12px;
  font-weight:800;
  color:#b87900;
}

/* ===== 행사식순 ===== */
.mgg-subpage .mgg-list{
  padding-left:18px;
  margin:0;
}

.mgg-subpage .mgg-list li{
  margin:6px 0;
}

.mgg-subpage .mgg-note{
  margin-top:12px;
  font-size:13px;
  color:var(--muted);
}

/* ===== CTA ===== */
.mgg-subpage .mgg-cta{
  margin-top:16px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

/* ===== 하단 버튼 영역 ===== */
.mgg-subpage .mgg-bottom{
  margin-top:26px;
  padding-top:20px;
  border-top:1px solid var(--border);
}

/* 반응형 */
@media(max-width:860px){
  .mgg-subpage .mgg-grid{
    grid-template-columns:1fr;
  }
}


/* ===== 차회 행사 목록(시즌 컬러 + 진행중) ===== */

.mgg-subpage .mgg-next{
  margin-top:40px;
  padding:24px;
  border-radius:18px;
  background:linear-gradient(180deg,#fff7cc,#fff1a8);
  border:1px solid var(--border);
}

.mgg-subpage .mgg-next-title{
  margin:0 0 18px;
  font-size:20px;
  font-weight:900;
  color:#b87900;
}

.mgg-subpage .mgg-next-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}

.mgg-subpage .mgg-next-card{
  background:#ffffff;
  border-radius:14px;
  padding:16px 16px 18px;
  text-align:center;
  border:1px solid #f1e2a4;
  box-shadow:0 6px 18px rgba(255,184,0,.12);
  transition:.2s ease;
  position:relative;
  overflow:hidden;
}

.mgg-subpage .mgg-next-card:hover{
  transform:translateY(-4px);
  box-shadow:0 10px 24px rgba(255,184,0,.25);
}

.mgg-subpage .mgg-next-top{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-bottom:8px;
}

/* 시즌 배지: 기본(오버라이드 됨) */
.mgg-subpage .mgg-next-badge{
  display:inline-block;
  padding:6px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  color:#fff;
  background:linear-gradient(135deg,var(--primary),var(--primary2));
}




.mgg-next .mgg-next-card .mgg-apply-box {
    margin-top: 12px;
}

.mgg-next .mgg-next-card .mgg-apply-btn {
    display: block;
    width: 100%;
    padding: 10px 12px;
    text-align: center;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    box-sizing: border-box;
}

.mgg-next .mgg-next-card .mgg-apply-open {
    background: #8b5cf6;
    color: #fff;
}

.mgg-next .mgg-next-card .mgg-apply-end {
    background: #f1f5f9;
    color: #64748b;
    border: 1px solid #dbe2ea;
}

.mgg-next .mgg-next-card .mgg-apply-ready {
    background: #fff7e6;
    color: #d97706;
    border: 1px solid #fcd9a6;
}


/* 진행중 배지 */
.mgg-subpage .mgg-live{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  color:#3a2e00;
  background:#fff3b0;
  border:1px solid #f1d56f;
}

.mgg-subpage .mgg-live::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:#2dd36f;
  box-shadow:0 0 0 5px rgba(45,211,111,.18);
}

/* 카드 제목/문구 */
.mgg-subpage .mgg-next-card h3{
  margin:8px 0 6px;
  font-size:16px;
  font-weight:900;
}

.mgg-subpage .mgg-next-card p{
  margin:0;
  font-size:14px;
  color:var(--muted);
}

/* 진행중 카드 강조(테두리 + 상단 라인) */
.mgg-subpage .mgg-next-card.is-live{
  border-color:#f0c84f;
  box-shadow:0 10px 26px rgba(255,184,0,.28);
}

.mgg-subpage .mgg-next-card.is-live::before{
  content:"";
  position:absolute;
  top:0; left:0; right:0;
  height:6px;
  background:linear-gradient(90deg,#ffd54a,#ff8c00);
}

/* ===== 시즌별 컬러(봄=연두, 여름=하늘, 가을=주황, 겨울=블루) ===== */
.mgg-subpage .season-spring .mgg-next-badge{
  background:linear-gradient(135deg,#56d364,#18b56a);
}

.mgg-subpage .season-summer .mgg-next-badge{
  background:linear-gradient(135deg,#4fb3ff,#1a86ff);
}

.mgg-subpage .season-fall .mgg-next-badge{
  background:linear-gradient(135deg,#ff9a3c,#ff5f2e);
}

.mgg-subpage .season-winter .mgg-next-badge{
  background:linear-gradient(135deg,#4da3ff,#002b66);
}

/* 종료된 시즌별 컬러는 색깔변경 */
.mgg-subpage .mgg-next-card.end-event .mgg-next-badge{
  background:#999;
}

/* 시즌별 카드 배경도 은은하게 */
.mgg-subpage .season-spring{
   background:linear-gradient(180deg,#ffffff,#f1f8ff);
}
.mgg-subpage .season-summer{
  background:linear-gradient(180deg,#ffffff,#f1f8ff);
}
.mgg-subpage .season-fall{
  background:linear-gradient(180deg,#ffffff,#fff4ea);
}
.mgg-subpage .season-winter{
  background:linear-gradient(180deg,#ffffff,#f2f5ff);
}

/* 종료된 행사 시즌별 카드 배경는 색깔변경 */
.mgg-subpage .mgg-next-card.end-event{
  background:#cdcdcd;
}


/* 날짜/장소 스타일 */
.mgg-subpage .mgg-date{
  margin:6px 0 2px;
  font-size:14px;
  font-weight:700;
}

.mgg-subpage .mgg-place{
  margin:0;
  font-size:13px;
  opacity:.8;
}



/* 반응형 */
@media(max-width:900px){
  .mgg-subpage .mgg-next-grid{ grid-template-columns:repeat(2,1fr); }
}
@media(max-width:500px){
  .mgg-subpage .mgg-next-grid{ grid-template-columns:1fr; }
}