/* ==========================================================================
   부드러운 판(2026-10-30). styles.css·sub.css 다음에 읽힙니다.
   되돌리기: 각 페이지 <head> 의 soft.css 연결 한 줄을 지우면 이전 모습 그대로입니다.
   하는 일: ① 모서리를 둥글게(버튼은 알약, 카드 20px, 칸 12px)
            ② 행사별 색을 같은 따뜻한 한 톤으로(구분은 아이콘이 맡음)
            ③ 그림자를 아주 옅게. 전체 색감(종이, 초록, 금색, 차콜)은 그대로.
   ========================================================================== */
:root {
  --r-xl: 24px; --r-lg: 20px; --r-md: 14px; --r-sm: 10px; --r-pill: 999px;
  --soft-shadow: 0 1px 2px rgb(0 0 0 / .04), 0 12px 32px -18px rgb(0 0 0 / .28);
  /* one warm family instead of five colours: stone, sand, sage-stone, champagne, ivory */
  --ev-ceremony: #cfc8b8;
  --ev-dinner: #d6c9b6;
  --ev-school: #c9cbbb;
  --ev-plaza: #d8cba6;
  --ev-wedding: #ddd2c4;
}
[data-ev], [data-group="occasion"] [data-v], [data-rep-filter] [data-v] { --ev-deep: #6b6354; }

/* ---------- buttons: pills ---------- */
.btn, .btn-small, .hero-cta .btn, .m-ok, .chips button, .q-mode button, .vat button, .view button, .tabs button,
.pick, .dock a, .occ-more a, .search input, .qbar .btn, .draft button, .sheet .sheet-foot .view button { border-radius: var(--r-pill); }
.toast { border-radius: var(--r-pill); }

/* ---------- big surfaces: soft corners ---------- */
.card, .portrait img, .about-photo, .prices-photo, .ticket, .receipt, .contact-card, .draft,
.occ-cards .card, .more-row a, .sub-hero + .sec .fit li { border-radius: var(--r-lg); }
.card, .about-photo, .prices-photo, .more-row a { overflow: hidden; }
.receipt { box-shadow: var(--soft-shadow); }
.stage3d, .stage-wrap { border-radius: var(--r-md); overflow: hidden; }
.ticket-main { border-radius: var(--r-lg) 0 0 var(--r-lg); }
.panel { border-radius: var(--r-lg); overflow: hidden; }

/* ---------- calculator ---------- */
.q-form .step-wrap { border-radius: var(--r-lg); }
.occ-pick button, .q-form .ens-major > button, .q-form .ens-cards > button, .q-form .ens-subs > button,
.q-form .t-pick > button, .q-form .m-pick > button { border-radius: var(--r-md); }
.q-form .ens-switch { border-radius: var(--r-pill); }
.m-date input { border-radius: var(--r-sm); }
.receipt-date { border-radius: var(--r-sm); }
@media (min-width: 861px) and (min-height: 640px) { .q-form { border-radius: var(--r-xl); } }

/* ---------- forms and lists ---------- */
.contact-card input, .contact-card select, .contact-card textarea, .sub-form input, .sub-form select, .sub-form textarea { border-radius: var(--r-sm); }
.reply span { border-radius: var(--r-sm); }
.faq details { border-radius: var(--r-md); overflow: hidden; }
.reviews li, .rel-list a { border-radius: var(--r-md); }
.rep-table tr { border-radius: var(--r-sm); }
.docs li { border-radius: var(--r-sm); }

/* ---------- guide and event pages ---------- */
.fit li, .fees dl div { border-radius: var(--r-md); }
.band { border-radius: var(--r-xl) var(--r-xl) 0 0; }

/* phone: the swipe rows and the bottom bar follow the same corners */
@media (max-width: 860px) {
  .card, .card:first-child, .portrait img { border-radius: var(--r-lg); }
  .dock { border-radius: var(--r-lg) var(--r-lg) 0 0; }
  .ticket-main { border-radius: var(--r-lg) var(--r-lg) 0 0; }
}

/* price tabs: rounded cards with a small gap above the ticket */
.tabs { gap: 8px; margin-bottom: 10px; }
.tabs button { border-radius: var(--r-md); }
