: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);
}
