:root {
  color-scheme:light;
  --wm-purple:#6542a6;
  --wm-purple-dark:#4f3188;
  --wm-purple-soft:#f1ecf8;
  --wm-text:#1f2024;
  --wm-muted:#73747b;
  --wm-line:#e7e7ec;
  --wm-surface:#ffffff;
  --wm-surface-soft:#f6f6f8;
  --wm-shadow:0 8px 22px rgba(27, 24, 34, .055);
  font-family:-apple-system, BlinkMacSystemFont, "Pretendard", "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;
}

* { box-sizing:border-box; }
html { min-width:0; min-height:100%; background:#fff; scroll-behavior:smooth; }
body { margin:0; min-width:0; min-height:100%; overflow-x:hidden; background:#fff; color:var(--wm-text); }
button, input, select { font:inherit; }
button, a { -webkit-tap-highlight-color:transparent; }
button { color:inherit; }
a { color:inherit; text-decoration:none; }
[hidden] { display:none !important; }

.wm-visually-hidden {
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0, 0, 0, 0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

.wm-app { min-height:100dvh; background:#fff; }
.wm-header {
  position:sticky;
  top:0;
  z-index:50;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
  min-height:60px;
  padding:calc(8px + env(safe-area-inset-top)) 16px 8px;
  border-bottom:1px solid rgba(231, 231, 236, .9);
  background:rgba(255, 255, 255, .96);
}
.wm-brand { display:inline-flex; align-items:center; gap:9px; min-height:42px; font-size:16px; font-weight:700; letter-spacing:-.25px; }
.wm-brand-mark { display:inline-flex; align-items:center; justify-content:center; width:31px; height:31px; border-radius:10px; background:var(--wm-purple); color:#fff; font-size:13px; }
.wm-header-actions { display:flex; align-items:center; gap:6px; }
.wm-icon-button, .wm-login-button { display:inline-flex; align-items:center; justify-content:center; min-height:40px; border-radius:12px; }
.wm-icon-button { width:40px; border:0; background:var(--wm-surface-soft); font-size:22px; cursor:pointer; }
.wm-login-button { padding:0 12px; border:1px solid var(--wm-line); background:#fff; font-size:13px; font-weight:600; }

.wm-notice {
  position:fixed;
  z-index:100;
  left:50%;
  top:calc(70px + env(safe-area-inset-top));
  width:max-content;
  max-width:calc(100vw - 32px);
  transform:translateX(-50%);
  padding:11px 14px;
  border-radius:12px;
  background:#29272e;
  color:#fff;
  box-shadow:0 10px 24px rgba(0,0,0,.16);
  font-size:13px;
  line-height:1.4;
  text-align:center;
}

.wm-main { width:100%; min-width:0; padding:0 16px calc(96px + env(safe-area-inset-bottom)); outline:0; }
.wm-page { width:100%; max-width:1080px; margin:0 auto; }
.wm-hero { padding:34px 2px 23px; }
.wm-eyebrow { display:block; margin-bottom:8px; color:var(--wm-purple); font-size:12px; font-weight:650; }
.wm-hero h1, .wm-page-title h1 { margin:0; font-size:clamp(28px, 8vw, 40px); font-weight:700; line-height:1.22; letter-spacing:-1.2px; word-break:keep-all; }
.wm-hero p, .wm-page-title p { margin:12px 0 0; color:var(--wm-muted); font-size:14px; line-height:1.6; word-break:keep-all; }

.wm-search-section { margin-bottom:28px; padding:16px; border:1px solid var(--wm-line); border-radius:20px; background:var(--wm-surface); box-shadow:var(--wm-shadow); }
.wm-search label { display:block; margin-bottom:8px; color:#55565d; font-size:12px; font-weight:600; }
.wm-search-control { display:grid; grid-template-columns:minmax(0, 1fr) auto; gap:8px; }
.wm-search input, .wm-calculator-shell input[type="number"], .wm-calculator-shell select, .wm-select-label select {
  width:100%;
  min-width:0;
  min-height:48px;
  border:1px solid #dcdce2;
  border-radius:13px;
  background:#fff;
  color:var(--wm-text);
  padding:0 13px;
  outline:0;
}
.wm-search input:focus, .wm-calculator-shell input[type="number"]:focus, .wm-calculator-shell select:focus, .wm-select-label select:focus { border-color:var(--wm-purple); box-shadow:0 0 0 3px rgba(101,66,166,.1); }
.wm-search-control button { min-width:62px; min-height:48px; border:0; border-radius:13px; background:var(--wm-purple); color:#fff; font-size:13px; font-weight:650; cursor:pointer; }
.wm-region-filter { display:flex; gap:7px; margin:13px -2px -2px; padding:2px; overflow-x:auto; scrollbar-width:none; }
.wm-region-filter::-webkit-scrollbar, .wm-tab-scroll::-webkit-scrollbar, .wm-card-scroll::-webkit-scrollbar { display:none; }
.wm-region-filter button { flex:0 0 auto; min-height:38px; padding:0 14px; border:1px solid var(--wm-line); border-radius:999px; background:#fff; color:#66676e; font-size:12px; cursor:pointer; }
.wm-region-filter button.is-active { border-color:var(--wm-purple); background:var(--wm-purple); color:#fff; }

.wm-section { margin:0 0 33px; }
.wm-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-bottom:13px; }
.wm-section-heading h2, .wm-panel-heading h2 { margin:0; font-size:19px; font-weight:700; letter-spacing:-.45px; }
.wm-section-heading p, .wm-panel-heading p { margin:5px 0 0; color:var(--wm-muted); font-size:12px; line-height:1.45; }
.wm-card-scroll { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(274px, 84vw); gap:12px; margin:0 -16px; padding:0 16px 8px; overflow-x:auto; scroll-snap-type:x proximity; scrollbar-width:none; }
.wm-card-grid { display:grid; gap:12px; }
.wm-complex-card { position:relative; min-width:0; overflow:hidden; border:1px solid var(--wm-line); border-radius:19px; background:#fff; box-shadow:var(--wm-shadow); scroll-snap-align:start; }
.wm-complex-link { display:block; }
.wm-complex-visual span { display:flex; align-items:center; justify-content:center; width:52px; height:52px; border:1px solid rgba(101,66,166,.22); border-radius:16px; background:rgba(255,255,255,.72); font-size:16px; font-weight:700; }
.wm-accent-blue { background:#eaf1f7; color:#426b8d; }
.wm-accent-blue span { border-color:rgba(66,107,141,.22); }
.wm-complex-body { padding:14px 15px 15px; }
.wm-card-topline { display:flex; align-items:center; justify-content:flex-start; gap:8px; min-width:0; padding-right:40px; color:#797a80; font-size:11px; }
.wm-status { display:inline-flex; align-items:center; min-height:24px; padding:0 8px; border-radius:999px; background:var(--wm-purple-soft); color:var(--wm-purple-dark); font-size:10px; font-weight:650; white-space:nowrap; }
.wm-status-upcoming { background:#edf3f7; color:#426b8d; }
.wm-complex-body h3 { margin:10px 0 12px; padding-right:34px; font-size:17px; font-weight:700; letter-spacing:-.35px; }
.wm-card-facts { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:8px; margin:0; }
.wm-card-facts div { min-width:0; }
.wm-card-facts dt { margin-bottom:3px; color:#92939a; font-size:10px; }
.wm-card-facts dd { margin:0; overflow:hidden; color:#494a50; font-size:11px; font-weight:600; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.wm-interest-button { position:absolute; right:10px; top:10px; display:flex; align-items:center; justify-content:center; width:38px; height:38px; border:0; border-radius:50%; background:#f7f5fa; color:var(--wm-purple); font-size:19px; cursor:pointer; }
.wm-interest-button[aria-pressed="true"] { background:var(--wm-purple-soft); }

.wm-empty { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:150px; padding:24px; border:1px dashed #dcdce2; border-radius:18px; background:var(--wm-surface-soft); color:var(--wm-muted); text-align:center; }
.wm-empty-icon { font-size:25px; color:#aaa8b0; }
.wm-empty p { margin:9px 0 0; font-size:13px; }

.wm-breadcrumb { display:flex; align-items:center; gap:7px; padding:18px 2px 12px; color:#85868d; font-size:12px; }
.wm-breadcrumb a { color:var(--wm-purple); }
.wm-complex-hero { overflow:hidden; border:1px solid var(--wm-line); border-radius:22px; background:#fff; box-shadow:var(--wm-shadow); }
.wm-complex-visual { display:flex; align-items:center; justify-content:center; min-height:152px; background:#eeebf4; color:var(--wm-purple); }
.wm-complex-summary { padding:18px; }
.wm-complex-summary h1 { margin:10px 0 6px; font-size:25px; font-weight:700; letter-spacing:-.7px; }
.wm-complex-summary > p { margin:0; color:var(--wm-muted); font-size:13px; }
.wm-complex-summary dl { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px; margin:18px 0 0; }
.wm-complex-summary dl div { padding:11px 12px; border-radius:13px; background:var(--wm-surface-soft); }
.wm-complex-summary dt { color:#888990; font-size:10px; }
.wm-complex-summary dd { margin:4px 0 0; font-size:12px; font-weight:650; }
.wm-summary-actions { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:8px; margin-top:12px; }
.wm-summary-actions button { min-height:43px; border:1px solid var(--wm-line); border-radius:12px; background:#fff; font-size:12px; font-weight:600; cursor:pointer; }

.wm-tab-scroll { margin:18px -16px 14px; padding:0 16px; overflow-x:auto; scrollbar-width:none; }
.wm-tabs { display:flex; min-width:max-content; padding:4px; border-radius:14px; background:#f1f1f4; }
.wm-tabs button { min-height:42px; padding:0 16px; border:0; border-radius:11px; background:transparent; color:#77787f; font-size:12px; font-weight:600; cursor:pointer; }
.wm-tabs button.is-active { background:#fff; color:var(--wm-text); box-shadow:0 2px 8px rgba(0,0,0,.055); }
.wm-panel { margin-bottom:14px; padding:18px; border:1px solid var(--wm-line); border-radius:20px; background:#fff; box-shadow:var(--wm-shadow); }
.wm-panel-heading { margin-bottom:15px; }
.wm-schedule-list { margin:0; }
.wm-schedule-list div { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:12px 0; border-bottom:1px solid #eeeeF2; }
.wm-schedule-list div:last-child { border-bottom:0; }
.wm-schedule-list dt { color:#77787f; font-size:13px; }
.wm-schedule-list dd { margin:0; color:#35363b; font-size:13px; font-weight:600; text-align:right; }
.wm-price-table { overflow:hidden; border:1px solid #ececf1; border-radius:15px; }
.wm-price-row { display:grid; grid-template-columns:minmax(0, 1fr) auto; align-items:center; gap:14px; padding:13px 14px; border-bottom:1.5px solid #e4e3e9; }
.wm-price-row:last-child { border-bottom:0; }
.wm-price-row > div:first-child small, .wm-price-row > div:first-child strong, .wm-price-row > div:first-child span { display:block; }
.wm-price-row > div:first-child small { color:var(--wm-purple); font-size:9px; font-weight:700; }
.wm-price-row > div:first-child strong { margin-top:2px; font-size:13px; }
.wm-price-row > div:first-child span { margin-top:3px; color:var(--wm-muted); font-size:9px; }
.wm-price-row > div:last-child { display:flex; flex-direction:column; align-items:flex-end; gap:6px; text-align:right; }
.wm-price-row > div:last-child strong { font-size:11px; }
.wm-price-row button { min-height:30px; padding:0 10px; border:1px solid #d6c4e9; border-radius:9px; background:#fff; color:var(--wm-purple); font-size:9px; font-weight:700; cursor:pointer; }
.wm-price-row button:disabled { border-color:#dddde2; color:#aaa8af; cursor:not-allowed; }

.wm-select-label { display:block; color:#62636a; font-size:11px; font-weight:600; }
.wm-select-label select { margin-top:6px; font-size:13px; }

.wm-calculator-shell { margin-bottom:14px; }
.wm-calculator-heading { margin:2px 2px 15px; }
.wm-calculator-heading h2 { margin:0; font-size:23px; font-weight:700; letter-spacing:-.6px; }
.wm-calculator-heading p { margin:6px 0 0; color:var(--wm-muted); font-size:12px; line-height:1.5; }
.wm-calculator-basis { margin-bottom:14px; padding:15px 16px; border:1px solid #dfd3ef; border-radius:18px; background:#fbf9fd; }
.wm-calculator-basis > div { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:8px; }
.wm-calculator-basis > div span { color:var(--wm-purple); font-size:12px; font-weight:700; }
.wm-calculator-basis > div small, .wm-calculator-basis > small { color:#7e7c84; font-size:10px; }
.wm-calculator-basis > strong { display:block; margin-bottom:4px; font-size:12px; }
.wm-calculator-basis > small { display:block; }
.wm-calculator-basis p { margin:10px 0 0; padding-top:9px; border-top:1px solid #e7dff0; color:#77757d; font-size:10px; line-height:1.5; }
.wm-calculator-layout, .wm-calculator-main-column, .wm-calculator-sticky { display:grid; gap:14px; }
.wm-calculator-card, .wm-summary-card, .wm-payment-plan { min-width:0; border:1px solid var(--wm-line); border-radius:20px; background:#fff; box-shadow:var(--wm-shadow); }
.wm-calculator-card { padding:17px; }
.wm-calculator-card-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; }
.wm-calculator-card-heading h3 { margin:0; font-size:18px; font-weight:700; letter-spacing:-.4px; }
.wm-calculator-card-heading > span { flex:0 0 auto; color:var(--wm-purple); font-size:11px; font-weight:650; }
.wm-block-options { display:grid; grid-template-columns:repeat(auto-fit, minmax(100px, 1fr)); gap:8px; margin-bottom:11px; }
.wm-block-options button { min-height:47px; border:1px solid #dad9e0; border-radius:13px; background:#fff; color:#64646b; font-size:13px; font-weight:650; cursor:pointer; }
.wm-block-options button.is-selected { border-color:#9b70ce; background:#e6d7f5; color:#4f278c; }
.wm-type-floor-row { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:8px; }
.wm-type-floor-row label { display:block; min-width:0; color:#62636a; font-size:11px; font-weight:650; }
.wm-type-floor-row label:only-child { grid-column:1 / -1; }
.wm-type-floor-row select { width:100%; min-width:0; min-height:48px; margin-top:6px; border:1px solid #dcdce2; border-radius:13px; background:#fff; padding:0 12px; color:var(--wm-text); font-size:13px; outline:0; }
.wm-selected-price { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:11px; padding:12px 13px; border-radius:14px; background:var(--wm-purple-soft); }
.wm-selected-price span small, .wm-selected-price span strong { display:block; }
.wm-selected-price span small { color:#736a7e; font-size:10px; }
.wm-selected-price span strong { margin-top:3px; color:var(--wm-purple-dark); font-size:16px; }
.wm-selected-price em { color:#77737e; font-size:10px; font-style:normal; text-align:right; }
.wm-structure-options { display:grid; gap:4px; margin:14px 0 0; padding:0; border:0; }
.wm-structure-options legend { margin-bottom:8px; font-size:14px; font-weight:700; }
.wm-structure-options label { display:flex; align-items:center; gap:9px; min-height:46px; padding:8px 10px; border-radius:12px; background:#f8f7fa; cursor:pointer; }
.wm-structure-options input { flex:0 0 auto; width:20px; height:20px; margin:0; accent-color:var(--wm-purple); }
.wm-structure-options span { min-width:0; font-size:12px; font-weight:600; }
.wm-structure-options strong { white-space:nowrap; }
.wm-inline-empty { margin:0; padding:9px 10px; color:#88868e; font-size:10px; }
.wm-calculator-warning { margin:9px 0 0; color:#b04454; font-size:9px; line-height:1.5; }
.wm-minus-option span, .wm-minus-option strong { color:#b24454; }
.wm-option-groups { display:grid; gap:0; }
.wm-option-group { padding:18px 0 10px; border-top:0; }
.wm-option-group:first-child { padding-top:0; }
.wm-option-group + .wm-option-group { margin-top:4px; }
.wm-option-group:last-child { padding-bottom:0; }
.wm-option-group-heading { margin-bottom:12px; }
.wm-option-group-heading h4 { margin:0; color:var(--wm-purple-dark); font-size:16px; font-weight:750; letter-spacing:-.25px; }
.wm-option-category-grid { display:grid; grid-template-columns:minmax(0, 1fr); gap:12px; }
.wm-option-subgroup { min-width:0; }
.wm-option-subgroup.is-full { grid-column:1 / -1; }
.wm-option-subgroup h5 { margin:0 0 9px; color:#333238; font-size:14px; font-weight:700; line-height:1.4; }
.wm-option-choice-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:8px; }
.wm-tier-choice { position:relative; min-width:0; }
.wm-option-choice { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; width:100%; min-width:0; min-height:68px; padding:10px 7px; border:1px solid #dddce3; border-radius:13px; background:#fff; color:#66666d; cursor:pointer; }
.wm-option-choice span { max-width:100%; font-size:13px; font-weight:680; line-height:1.35; text-align:center; white-space:normal; word-break:keep-all; }
.wm-option-choice strong { color:#77737e; font-size:12px; font-weight:650; }
.wm-tier-choice.is-selected .wm-option-choice { border-color:#9b70ce; background:#e6d7f5; color:#4f278c; }
.wm-tier-choice.is-selected .wm-option-choice strong { color:#5d3299; }
.wm-tier-choice.is-disabled .wm-option-choice { border-color:#e5e4e8; background:#f5f5f7; color:#aaa8af; cursor:not-allowed; }
.wm-tier-choice.is-disabled .wm-option-choice strong { color:#aaa8af; }
.wm-option-check-list { overflow:visible; border-top:0; }
.wm-option-category-grid > .wm-option-subgroup:first-child .wm-option-check-list { border-top:0; }
.wm-option-check-row { display:grid; grid-template-columns:minmax(0, 1fr) auto 22px; align-items:center; gap:11px; min-height:60px; padding:12px 3px; border-bottom:1.5px solid #dedde4; }
.wm-option-check-row.is-selected { background:transparent; }
.wm-option-check-name { display:flex; align-items:center; gap:6px; min-width:0; }
.wm-option-check-name > span { min-width:0; overflow:visible; color:#29282e; font-size:14px; font-weight:680; line-height:1.45; text-overflow:clip; white-space:normal; word-break:keep-all; }
.wm-option-check-row > strong { color:var(--wm-purple); font-size:14px; font-weight:700; white-space:nowrap; }
.wm-option-check-row > input { width:20px; height:20px; margin:0; accent-color:var(--wm-purple); cursor:pointer; }
.wm-option-check-row.is-disabled { color:#aaa8af; }
.wm-option-check-row.is-disabled .wm-option-check-name > span, .wm-option-check-row.is-disabled > strong { color:#aaa8af; }
.wm-option-check-row.is-disabled > input { cursor:not-allowed; }
.wm-option-info { position:relative; display:inline-flex; flex:0 0 auto; }
.wm-tier-choice > .wm-option-info { position:absolute; z-index:2; top:7px; right:7px; }
.wm-option-info summary { display:flex; align-items:center; justify-content:center; width:16px; height:16px; padding:0; border:1px solid #c8c6ce; border-radius:50%; background:#fff; color:#8a8790; font-size:9px; font-weight:800; line-height:1; list-style:none; cursor:pointer; }
.wm-option-info summary::-webkit-details-marker { display:none; }
.wm-option-info[open] summary { border-color:var(--wm-purple); background:#f7f2fc; color:var(--wm-purple); }
.wm-option-info > div { position:fixed; z-index:100; top:50%; left:50%; width:min(320px, calc(100vw - 32px)); max-height:min(280px, calc(100dvh - 40px)); overflow:auto; padding:14px; transform:translate(-50%, -50%); border:1px solid #ded8e5; border-radius:13px; background:#fff; box-shadow:0 16px 44px rgba(26,20,34,.2); }
.wm-option-info > div strong { display:block; padding-right:20px; color:#3c3446; font-size:11px; line-height:1.4; }
.wm-option-info > div p { margin:8px 0 0; color:#626069; font-size:10px; line-height:1.6; word-break:keep-all; }
.wm-option-info-button { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; width:20px; height:20px; padding:0; border:1.2px solid #bbb8c2; border-radius:50%; background:#fff; color:#77737f; font-size:11px; font-weight:800; line-height:1; cursor:pointer; }
.wm-tier-choice > .wm-option-info-button { position:absolute; z-index:2; top:7px; right:7px; }
.wm-option-lock-note { display:block; grid-column:1 / -1; margin:5px 2px 0; color:#a84a57; font-size:11px; font-weight:550; line-height:1.45; }
.wm-tier-choice > .wm-option-lock-note { margin:5px 3px 0; text-align:center; }
.wm-option-shared-lock-note { margin:8px 2px 0; color:#a84a57; font-size:12px; font-weight:600; line-height:1.5; text-align:center; }
.wm-option-eco-dependency { margin:8px 2px 0; color:#6f6b75; font-size:12px; font-weight:600; line-height:1.5; text-align:left; word-break:keep-all; }
.wm-option-dialog[hidden] { display:none; }
.wm-option-dialog { position:fixed; z-index:300; inset:0; display:flex; align-items:center; justify-content:center; padding:20px 16px calc(20px + env(safe-area-inset-bottom)); }
.wm-option-dialog-backdrop { position:absolute; inset:0; background:rgba(24,19,29,.42); }
.wm-option-dialog-panel { position:relative; z-index:1; width:min(420px, 100%); max-height:calc(100dvh - 40px - env(safe-area-inset-bottom)); overflow:auto; padding:20px; border-radius:17px; background:#fff; box-shadow:0 20px 54px rgba(20,14,27,.24); outline:0; }
.wm-option-dialog-panel h3 { margin:0; padding-right:34px; font-size:15px; line-height:1.4; }
.wm-option-dialog-panel > div { margin-top:12px; color:#5f5d65; font-size:12px; line-height:1.7; white-space:pre-wrap; }
.wm-option-dialog-close { position:absolute; top:11px; right:11px; width:32px; height:32px; border:0; border-radius:50%; background:#f3f1f5; color:#5e5b64; font-size:20px; cursor:pointer; }
.wm-option-dependency { grid-column:1 / -1; margin:6px 0 0; color:#c44a59; font-size:11px; line-height:1.5; }
.wm-option-total { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:15px; padding:13px 14px; border-radius:14px; background:#f5f3f8; }
.wm-option-total span { color:#65636b; font-size:12px; font-weight:650; }
.wm-option-total strong { color:var(--wm-purple); font-size:15px; }
.wm-summary-card { padding:17px; }
.wm-summary-card-head { display:flex; align-items:flex-start; gap:12px; }
.wm-summary-card-head small { color:#8263ad; font-size:10px; font-weight:650; }
.wm-summary-card-head h3 { margin:4px 0 0; font-size:18px; font-weight:700; letter-spacing:-.4px; }
.wm-summary-card-head > strong { color:var(--wm-purple); font-size:19px; line-height:1.3; text-align:right; }
.wm-summary-card > p { margin:9px 0 0; color:var(--wm-muted); font-size:10px; line-height:1.45; }
.wm-summary-mode { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:4px; margin-top:15px; padding:4px; border-radius:13px; background:#f1f0f4; }
.wm-summary-mode button { min-height:40px; border:0; border-radius:10px; background:transparent; color:#8b8990; font-size:12px; font-weight:650; cursor:pointer; }
.wm-summary-mode button.is-active { background:#fff; color:var(--wm-text); box-shadow:0 2px 7px rgba(0,0,0,.05); }
.wm-summary-rows { margin:13px 0 0; }
.wm-summary-rows > div { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:10px 0; border-bottom:1px solid #ececf0; }
.wm-summary-rows dt { color:#67676e; font-size:12px; }
.wm-summary-rows dd { margin:0; font-size:12px; font-weight:700; text-align:right; }
.wm-summary-rows .wm-summary-total { padding:14px 0 3px; border-bottom:0; }
.wm-summary-total dt { color:var(--wm-text); font-weight:700; }
.wm-summary-total dd { color:var(--wm-purple); font-size:17px; }
.wm-loan-panel { margin-top:13px; }
.wm-loan-settings-toggle { display:flex; align-items:center; justify-content:space-between; gap:10px; width:100%; min-height:40px; padding:0 12px; border:1px solid #e1d9e9; border-radius:11px; background:#faf8fc; color:#5f4c79; font-size:10px; font-weight:700; cursor:pointer; }
.wm-loan-settings-toggle span:last-child { font-size:15px; line-height:1; }
.wm-loan-settings-panel { margin-top:9px; padding:11px; border-radius:12px; background:#f7f5f9; }
.wm-loan-settings-panel[hidden] { display:none; }
.wm-loan-example-note { margin:0 0 9px; color:#8b8791; font-size:8px; line-height:1.5; }
.wm-loan-form-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:9px; }
.wm-loan-form-grid label { display:block; min-width:0; color:#66636d; font-size:9px; font-weight:650; }
.wm-loan-input-wrap { position:relative; display:block; margin-top:5px; }
.wm-loan-input-wrap input, .wm-loan-select-field select { width:100%; min-width:0; min-height:38px; border:1px solid #dddae2; border-radius:10px; background:#fff; color:var(--wm-text); font-size:11px; outline:0; }
.wm-loan-input-wrap input { padding:0 38px 0 9px; }
.wm-loan-input-wrap em { position:absolute; top:50%; right:9px; transform:translateY(-50%); color:#96939b; font-size:8px; font-style:normal; }
.wm-loan-select-field { grid-column:1 / -1; }
.wm-loan-select-field select { margin-top:5px; padding:0 9px; }
.wm-loan-reset { display:block; min-height:30px; margin:9px 0 0 auto; padding:0 7px; border:0; background:transparent; color:#807889; font-size:8px; font-weight:650; text-decoration:underline; cursor:pointer; }
.wm-loan-advanced-toggle { display:flex !important; align-items:flex-start; gap:8px; margin-top:7px; padding-top:9px; border-top:1px solid #e4e0e8; cursor:pointer; }
.wm-loan-advanced-toggle input { flex:0 0 auto; width:17px !important; height:17px; min-height:0 !important; margin:0; accent-color:var(--wm-purple); }
.wm-loan-advanced-toggle strong, .wm-loan-advanced-toggle small { display:block; }
.wm-loan-advanced-toggle strong { color:#4d4a52; font-size:9px; }
.wm-loan-advanced-toggle small { margin-top:2px; color:#8a8790; font-size:8px; font-weight:500; line-height:1.4; }
.wm-loan-advanced-panel { margin-top:9px; padding-top:9px; border-top:1px solid #e4e0e8; }
.wm-loan-hero { margin-top:10px; padding:12px; border-radius:12px; background:#f3edf9; }
.wm-loan-hero small, .wm-loan-hero strong, .wm-loan-hero span { display:block; }
.wm-loan-hero small { color:#715692; font-size:9px; font-weight:650; }
.wm-loan-hero strong { margin-top:4px; color:var(--wm-purple); font-size:18px; }
.wm-loan-hero span { margin-top:3px; color:#817b88; font-size:8px; }
.wm-loan-result-rows { margin:8px 0 0; }
.wm-loan-result-rows > div { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:8px 0; border-bottom:1px solid #eceaf0; }
.wm-loan-result-rows dt { color:#68666e; font-size:9px; line-height:1.35; }
.wm-loan-result-rows dd { margin:0; font-size:10px; font-weight:700; text-align:right; white-space:nowrap; }
.wm-result-missing { color:#9a959f; font-size:9px; font-weight:600; }
.wm-loan-result-empty { margin:10px 0 0; padding:11px 12px; border-radius:11px; background:#f7f6f9; color:#8b8790; font-size:9px; line-height:1.5; text-align:center; }
.wm-loan-alert { padding:8px 9px; border-radius:9px; background:#fff0f2; color:#ac3f50 !important; font-size:8px !important; }
.wm-loan-panel > p { margin:9px 0 0; color:#7b7a81; font-size:8px; line-height:1.5; }
.wm-summary-actions { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:7px; margin-top:16px; }
.wm-summary-actions button { display:flex; align-items:center; justify-content:center; min-height:46px; border-radius:12px; font-size:12px; font-weight:650; line-height:1.2; }
.wm-summary-actions button > span { display:block; color:inherit; }
.wm-summary-save-hint { margin:10px 2px 0 !important; color:var(--wm-muted) !important; font-size:11px !important; line-height:1.55 !important; text-align:center; word-break:keep-all; }
.wm-minus-paid-lock-notice { margin:0 0 14px !important; }
.wm-secondary-action { border:1px solid #dcdce2; background:#fff; color:#64656c; cursor:pointer; }
.wm-summary-actions .wm-primary-action, .wm-receipt-actions .wm-primary-action { border:0; background:var(--wm-purple); color:#fff !important; cursor:pointer; }
.wm-summary-actions .wm-primary-action:disabled, .wm-receipt-actions .wm-primary-action:disabled { background:#d9d6df; color:#74717b !important; cursor:not-allowed; }
.wm-payment-plan { padding:17px; background:#fcfafe; border-color:#dfd3ef; }
.wm-payment-plan-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:8px; }
.wm-payment-plan-head small { color:#8263ad; font-size:10px; font-weight:650; }
.wm-payment-plan-head h3 { margin:4px 0 0; font-size:17px; font-weight:700; }
.wm-payment-plan-head > span { padding:6px 8px; border-radius:999px; background:#eee6f7; color:#60408f; font-size:9px; font-weight:650; }
.wm-payment-row { display:grid; grid-template-columns:28px minmax(0, 1fr) auto; gap:10px; align-items:start; padding:12px 0; border-bottom:1px solid #ece5f2; }
.wm-payment-row:last-child { border-bottom:0; }
.wm-payment-step { display:flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:50%; background:#eee6f7; color:var(--wm-purple); font-size:11px; font-weight:700; }
.wm-payment-copy strong, .wm-payment-copy small { display:block; }
.wm-payment-copy strong { font-size:12px; line-height:1.35; }
.wm-payment-copy small { margin-top:3px; color:#85838b; font-size:9px; line-height:1.4; }
.wm-payment-amount { padding-top:2px; font-size:11px; white-space:nowrap; }
.wm-installments { grid-column:2 / -1; }
.wm-installments summary { width:max-content; margin:2px 0 0 auto; color:var(--wm-purple); font-size:9px; font-weight:650; cursor:pointer; }
.wm-installments > div { margin-top:8px; padding:5px 9px; border-radius:10px; background:#f4eff8; }
.wm-installments p { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0; padding:6px 0; border-bottom:1px solid #e5dced; color:#6e6975; font-size:9px; }
.wm-installments p:last-child { border-bottom:0; }
.wm-installments p strong { color:#4d4b52; }
.wm-payment-note { margin:10px 0 0; padding:10px 11px; border-radius:11px; background:#f1ecf5; color:#77737d; font-size:9px; line-height:1.55; }
.wm-disabled-button { width:100%; min-height:48px; margin-top:13px; padding:8px 12px; border:0; border-radius:13px; background:#e9e9ed; color:#8b8c92; font-size:11px; line-height:1.4; }

.wm-document-list { display:grid; gap:8px; }
.wm-document-list div { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:13px; border-radius:13px; background:var(--wm-surface-soft); }
.wm-document-list span { font-size:13px; font-weight:600; }
.wm-document-list small { color:#8a8b91; font-size:10px; text-align:right; }

.wm-community-entry-disabled { background:#F2F2F7; color:#8E8E93; box-shadow:none; }
.wm-community-entry-disabled small { color:#8E8E93; opacity:1; }
.wm-home-shortcut-disabled { min-width:0; padding:15px 12px; border:1px solid var(--wm-line); border-radius:16px; background:#F8F9FA; color:#8E8E93; box-shadow:none; }
.wm-home-shortcut-disabled span, .wm-home-shortcut-disabled strong { display:block; }
.wm-home-shortcut-disabled span { color:#8E8E93; font-size:10px; font-weight:700; }
.wm-home-shortcut-disabled strong { margin-top:5px; font-size:12px; line-height:1.35; word-break:keep-all; }
.wm-lounge-unavailable .wm-panel-heading p { max-width:620px; }
.wm-lounge-unavailable-page .wm-lounge-unavailable { margin-top:14px; }

.wm-community-entry { display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:78px; margin:15px 0 28px; padding:16px 18px; border-radius:18px; background:var(--wm-purple); color:#fff; box-shadow:0 8px 18px rgba(101,66,166,.16); }
.wm-community-entry small, .wm-community-entry strong { display:block; }
.wm-community-entry small { margin-bottom:5px; opacity:.78; font-size:10px; font-weight:500; }
.wm-community-entry strong { font-size:15px; font-weight:650; }

.wm-back-link { display:inline-flex; align-items:center; min-height:44px; margin:12px 0 6px; color:var(--wm-purple); font-size:12px; font-weight:600; }
.wm-community-head { padding:20px 2px 15px; }
.wm-community-head > span { color:var(--wm-muted); font-size:11px; }
.wm-community-head h1 { margin:6px 0 3px; font-size:25px; font-weight:700; letter-spacing:-.7px; }
.wm-community-head p { margin:0; color:var(--wm-purple); font-size:13px; font-weight:600; }
.wm-community-scope-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; width:min(100%,320px); margin:10px 0 18px; padding:4px; border-radius:14px; background:#f1f1f4; }
.wm-community-scope-tabs a { display:flex; min-height:42px; align-items:center; justify-content:center; border-radius:11px; color:#77787f; font-size:13px; font-weight:700; text-decoration:none; }
.wm-community-scope-tabs a.is-active { background:#fff; color:var(--wm-purple); box-shadow:0 2px 8px rgba(0,0,0,.055); }
.wm-community-content { min-height:280px; }
.wm-news-list { display:grid; gap:11px; }
.wm-news-card { display:grid; grid-template-columns:84px minmax(0, 1fr); gap:13px; padding:13px; border:1px solid var(--wm-line); border-radius:17px; background:#fff; box-shadow:var(--wm-shadow); }
.wm-news-image { display:flex; align-items:center; justify-content:center; min-height:92px; border-radius:12px; background:#efedf3; color:#8a7aa2; font-size:10px; font-weight:700; letter-spacing:.8px; }
.wm-news-card span { color:#898a91; font-size:10px; }
.wm-news-card h2 { margin:7px 0 5px; font-size:14px; font-weight:650; line-height:1.4; }
.wm-news-card p { display:-webkit-box; margin:0; overflow:hidden; color:#66676e; font-size:11px; line-height:1.5; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.wm-coming-card { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:280px; padding:26px; border:1px dashed #d8d8de; border-radius:18px; background:var(--wm-surface-soft); text-align:center; }
.wm-coming-card > span { color:#aaa8b0; font-size:28px; }
.wm-coming-card h2 { margin:12px 0 6px; font-size:18px; font-weight:650; }
.wm-coming-card p { margin:0; color:var(--wm-muted); font-size:12px; line-height:1.6; }
.wm-inline-notice { margin:14px 0 28px; padding:13px 15px; border-radius:13px; background:var(--wm-purple-soft); color:#66577e; font-size:11px; line-height:1.5; text-align:center; }

.wm-page-title { padding:36px 2px 22px; }
.wm-utility-page > .wm-panel { margin-top:0; }
.wm-feature-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px; }
.wm-feature-card { min-width:0; min-height:124px; padding:15px; border:1px solid var(--wm-line); border-radius:16px; background:#fff; box-shadow:var(--wm-shadow); }
.wm-feature-card > span { color:#aaa7b1; }
.wm-feature-card h2 { margin:14px 0 5px; font-size:14px; font-weight:650; }
.wm-feature-card p { margin:0; color:#8a8b91; font-size:10px; }
.wm-terrace-receipts { margin-top:12px !important; }


/* v57: 자동화 공개 뉴스 + 영수증 기반 계약 일정 */
.wm-news-card { display:block; padding:0; overflow:hidden; }
.wm-news-card > a,.wm-news-card-body { display:grid; grid-template-columns:84px minmax(0,1fr); gap:13px; min-height:118px; padding:13px; color:inherit; text-decoration:none; }
.wm-news-card > a:hover h2 { color:var(--wm-purple); }
.wm-news-copy { min-width:0; }
.wm-news-meta { display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
.wm-news-meta b { padding:3px 7px; border-radius:999px; background:var(--wm-purple-soft); color:var(--wm-purple); font-size:9px; font-weight:700; }
.wm-news-card small { display:block; margin-top:7px; color:#98969e; font-size:9px; }
.wm-payment-schedule-card { grid-column:1 / -1; min-height:0; }
.wm-feature-card-heading { display:flex; align-items:flex-start; gap:11px; }
.wm-feature-card-heading > span { margin-top:1px; color:#aaa7b1; }
.wm-feature-card-heading h2 { margin:0 0 4px; }
.wm-feature-card-heading p { line-height:1.45; }
.wm-payment-schedule-state { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:118px; margin-top:14px; padding:18px; border-radius:13px; background:var(--wm-surface-soft); text-align:center; }
.wm-payment-schedule-state .wm-config-spinner { margin-top:0; }
.wm-payment-schedule-state p { margin:7px 0 0; color:#6f6d75; font-size:11px; line-height:1.5; }
.wm-payment-schedule-state small { margin-top:5px; color:#96949c; font-size:9px; line-height:1.5; }
.wm-payment-schedule-state button { min-width:140px; min-height:40px; margin-top:12px; border:0; border-radius:11px; background:var(--wm-purple); color:#fff; font-size:10px; font-weight:650; cursor:pointer; }
.wm-payment-schedule-summary { display:flex; align-items:flex-end; justify-content:space-between; gap:10px; margin-top:14px; padding-top:13px; border-top:1px solid var(--wm-line); }
.wm-payment-schedule-summary span { color:#55535b; font-size:10px; font-weight:650; }
.wm-payment-schedule-summary small { color:#96949b; font-size:9px; text-align:right; }
.wm-payment-schedule-list { display:grid; gap:8px; margin-top:10px; }
.wm-payment-schedule-row { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:12px 13px; border:1px solid var(--wm-line); border-radius:13px; background:#fff; }
.wm-payment-schedule-row > div { min-width:0; }
.wm-payment-schedule-row span { display:inline-flex; margin-bottom:4px; padding:2px 6px; border-radius:999px; background:#f0eef4; color:#766889; font-size:8px; font-weight:700; }
.wm-payment-schedule-row.is-contract span { background:var(--wm-purple-soft); color:var(--wm-purple); }
.wm-payment-schedule-row strong,.wm-payment-schedule-row small { display:block; }
.wm-payment-schedule-row strong { overflow:hidden; font-size:11px; font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
.wm-payment-schedule-row small { margin-top:3px; color:#8d8b93; font-size:9px; }
.wm-payment-schedule-row b { flex:0 0 auto; color:var(--wm-purple); font-size:11px; font-weight:700; white-space:nowrap; }
.wm-receipt-list-state { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:128px; padding:18px; border-radius:14px; background:var(--wm-surface-soft); text-align:center; }
.wm-receipt-list-state .wm-config-spinner { margin-top:0; }
.wm-receipt-list-state p { margin:8px 0 0; color:#696870; font-size:12px; line-height:1.5; }
.wm-receipt-list-state > span:not(.wm-config-spinner) { margin-top:5px; color:#94939a; font-size:10px; }
.wm-receipt-list-state button { min-width:140px; min-height:42px; margin-top:14px; border:0; border-radius:12px; background:var(--wm-purple); color:#fff; font-size:11px; font-weight:650; cursor:pointer; }
.wm-saved-receipts { display:grid; gap:9px; }
.wm-saved-receipt-card { min-width:0; border:1px solid var(--wm-line); border-radius:14px; background:#fff; }
.wm-saved-receipt-card button { display:grid; grid-template-columns:minmax(0, 1fr) auto; gap:5px 12px; align-items:center; width:100%; min-width:0; padding:14px; border:0; border-radius:inherit; background:transparent; text-align:left; cursor:pointer; }
.wm-saved-receipt-card span, .wm-saved-receipt-card strong { grid-column:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.wm-saved-receipt-card span { color:#77747d; font-size:10px; }
.wm-saved-receipt-card strong { font-size:12px; font-weight:600; }
.wm-saved-receipt-card b { grid-column:2; grid-row:1 / span 2; color:var(--wm-purple); font-size:13px; font-weight:700; white-space:nowrap; }

body.wm-receipt-open { overflow:hidden; }
body.wm-receipt-open .wm-bottom-nav { visibility:hidden; }
.wm-receipt-dialog { position:fixed; z-index:500; inset:0; display:flex; align-items:stretch; justify-content:center; padding:0; }
.wm-receipt-backdrop { position:absolute; inset:0; width:100%; border:0; background:rgba(22,18,27,.52); cursor:pointer; }
.wm-receipt-dialog-panel { position:relative; z-index:1; display:grid; grid-template-rows:minmax(0, 1fr) auto; width:min(100%, 440px); max-width:440px; height:100dvh; min-height:0; overflow:hidden; background:#fff; outline:0; }
.wm-receipt-dialog-close { position:absolute; z-index:3; top:calc(12px + env(safe-area-inset-top)); right:14px; display:flex; align-items:center; justify-content:center; width:42px; height:42px; border:1px solid #dedce3; border-radius:50%; background:rgba(255,255,255,.96); color:#5e5b64; box-shadow:0 3px 12px rgba(31,28,36,.08); font-size:25px; line-height:1; cursor:pointer; }
.wm-receipt-scroll { min-height:0; overflow:auto; overscroll-behavior:contain; background:#f3f2f5; -webkit-overflow-scrolling:touch; }
.wm-receipt-paper { width:100%; min-height:100%; padding:calc(30px + env(safe-area-inset-top)) 22px 30px; background:#fff; color:#1f1e22; }
.wm-receipt-paper-head { padding:12px 52px 18px 0; border-bottom:1.5px solid #d9d7df; }
.wm-receipt-paper-head p { display:flex; flex-direction:column; gap:5px; margin:0; }
.wm-receipt-paper-head p strong { font-size:17px; font-weight:680; line-height:1.4; }
.wm-receipt-paper-head p span { color:#77747e; font-size:14px; font-weight:560; line-height:1.4; }
.wm-receipt-section { padding:15px 0; border-bottom:1px solid #e1dfe5; }
.wm-receipt-section h3 { margin:0 0 12px; font-size:16px; font-weight:680; }
.wm-receipt-section-title { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:5px; }
.wm-receipt-section-title h3 { margin:0; }
.wm-receipt-section-title span { color:#77747d; font-size:13px; font-weight:600; }
.wm-receipt-detail-list, .wm-receipt-subtotal { margin:0; }
.wm-receipt-row { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:9px 0; }
.wm-receipt-row dt { color:#66636c; font-size:14px; line-height:1.45; }
.wm-receipt-row dd { max-width:64%; margin:0; font-size:14px; font-weight:650; line-height:1.45; text-align:right; word-break:keep-all; }
.wm-receipt-option-list { display:grid; gap:0; }
.wm-receipt-option-row { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:5px 0; border:0; }

.wm-receipt-option-name { min-width:0; color:#66636c; font-size:14px; font-weight:400; line-height:1.45; word-break:keep-all; }
.wm-receipt-option-price { flex:0 0 auto; font-size:14px; font-weight:650; line-height:1.45; white-space:nowrap; }
.wm-receipt-subtotal { margin-top:9px; padding-top:8px; border-top:1.5px solid #d7d4dd; }
.wm-receipt-subtotal .wm-receipt-row dt { font-weight:650; }
.wm-receipt-subtotal .wm-receipt-row dd { color:var(--wm-purple); font-size:15px; }
.wm-receipt-plan > div { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding:10px 0; border-bottom:1px solid #eceaf0; }
.wm-receipt-plan > div:last-child { border-bottom:0; }
.wm-receipt-plan span strong, .wm-receipt-plan span small { display:block; }
.wm-receipt-plan span strong { font-size:14px; font-weight:630; }
.wm-receipt-plan span small { margin-top:4px; color:#77747d; font-size:12px; line-height:1.45; }
.wm-receipt-plan b { flex:0 0 auto; font-size:14px; font-weight:650; white-space:nowrap; }
.wm-receipt-final { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:0; padding:15px 0 0; border-top:0; border-radius:0; background:transparent; }
.wm-receipt-final span { color:#65626b; font-size:14px; font-weight:650; }
.wm-receipt-final strong { color:var(--wm-purple); font-size:20px; font-weight:750; line-height:1.2; text-align:right; }
.wm-receipt-caution { margin:14px 2px 0; color:#7f7b85; font-size:11px; line-height:1.55; }
.wm-receipt-actions { display:grid; grid-template-columns:minmax(0, 1fr); gap:9px; padding:12px 14px calc(12px + env(safe-area-inset-bottom)); border-top:1px solid var(--wm-line); background:#fff; }
.wm-receipt-actions button { display:flex; align-items:center; justify-content:center; min-height:50px; border-radius:13px; font-size:14px; font-weight:680; line-height:1.2; cursor:pointer; }
.wm-receipt-actions button > span { display:block; color:inherit; }
.wm-receipt-image { border:0; background:var(--wm-purple); color:#fff; }
.wm-receipt-actions button:disabled { opacity:.58; cursor:wait; }
.wm-profile-card { display:grid; grid-template-columns:auto minmax(0, 1fr); gap:12px; padding:17px; border:1px solid var(--wm-line); border-radius:19px; background:#fff; box-shadow:var(--wm-shadow); }
.wm-profile-avatar { display:flex; align-items:center; justify-content:center; width:48px; height:48px; border-radius:16px; background:var(--wm-purple-soft); color:var(--wm-purple); font-weight:700; }
.wm-profile-card strong, .wm-profile-card span { display:block; }
.wm-profile-card strong { margin-top:3px; font-size:14px; font-weight:650; }
.wm-profile-card span { margin-top:5px; color:var(--wm-muted); font-size:10px; line-height:1.4; }
.wm-profile-card button { grid-column:1 / -1; min-height:42px; border:0; border-radius:12px; background:#efeff2; color:#929399; font-size:11px; }
.wm-mypage-list { margin-top:12px; overflow:hidden; border:1px solid var(--wm-line); border-radius:18px; background:#fff; }
.wm-mypage-list div { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:52px; padding:0 15px; border-bottom:1px solid #eeeeF2; }
.wm-mypage-list div:last-child { border-bottom:0; }
.wm-mypage-list span { font-size:13px; }
.wm-mypage-list small { color:#97989e; font-size:10px; }

.wm-error-page { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:calc(100dvh - 180px); padding:34px 16px; text-align:center; }
.wm-error-code { color:#b4a7c7; font-size:13px; font-weight:650; letter-spacing:2px; }
.wm-error-page h1 { margin:12px 0 7px; font-size:23px; font-weight:700; }
.wm-error-page p { margin:0; color:var(--wm-muted); font-size:12px; }
.wm-error-page a { display:inline-flex; align-items:center; justify-content:center; min-width:150px; min-height:46px; margin-top:20px; border-radius:13px; background:var(--wm-purple); color:#fff; font-size:13px; font-weight:650; }
.wm-config-state > button { min-width:150px; min-height:46px; margin-top:20px; border:0; border-radius:13px; background:var(--wm-purple); color:#fff; font-size:13px; font-weight:650; cursor:pointer; }
.wm-config-spinner { width:26px; height:26px; margin-top:20px; border:3px solid #e7dfef; border-top-color:var(--wm-purple); border-radius:50%; animation:wm-spin .8s linear infinite; }
@keyframes wm-spin { to { transform:rotate(360deg); } }

.wm-bottom-nav {
  position:fixed;
  z-index:60;
  left:50%;
  bottom:0;
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  width:100%;
  max-width:680px;
  min-height:calc(66px + env(safe-area-inset-bottom));
  padding:7px 7px calc(7px + env(safe-area-inset-bottom));
  transform:translateX(-50%);
  border-top:1px solid rgba(222,222,228,.95);
  background:rgba(255,255,255,.98);
  box-shadow:0 -5px 18px rgba(20,20,24,.05);
}
.wm-bottom-nav a { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; min-width:0; min-height:50px; border-radius:12px; color:#8c8d93; }
.wm-bottom-nav a > span { font-size:18px; line-height:1; }
.wm-bottom-nav a > small { overflow:hidden; max-width:100%; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.wm-bottom-nav a.is-active { background:var(--wm-purple-soft); color:var(--wm-purple); }

button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible { outline:3px solid rgba(101,66,166,.22); outline-offset:2px; }

@media (max-width:699px) {
  .wm-option-subgroup.is-wide-mobile { grid-column:1 / -1; }
  .wm-card-scroll.is-single,
  .wm-card-grid.is-single {
    grid-auto-flow:initial;
    grid-auto-columns:unset;
    grid-template-columns:minmax(0, min(100%, 360px));
    justify-content:center;
    margin-left:0;
    margin-right:0;
    padding-left:0;
    padding-right:0;
    overflow:visible;
  }
}

@media (min-width:700px) {
  .wm-header { padding-left:max(24px, calc((100vw - 1080px) / 2)); padding-right:max(24px, calc((100vw - 1080px) / 2)); }
  .wm-main { padding-left:24px; padding-right:24px; }
  .wm-hero { padding-top:50px; }
  .wm-search-section { padding:20px; }
  .wm-card-scroll { grid-auto-flow:initial; grid-template-columns:repeat(2, minmax(0, 1fr)); margin:0; padding:0; overflow:visible; }
  .wm-card-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .wm-complex-hero { display:grid; grid-template-columns:minmax(250px, .8fr) minmax(0, 1.2fr); }
  .wm-complex-visual { min-height:100%; }
  .wm-complex-summary { padding:26px; }
  .wm-tab-scroll { margin-left:0; margin-right:0; padding:0; }
  .wm-tabs { width:max-content; }
  .wm-panel { padding:24px; }
  .wm-calculator-card, .wm-summary-card, .wm-payment-plan { padding:22px; }
  .wm-news-list { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .wm-feature-grid { grid-template-columns:repeat(3, minmax(0, 1fr)); }
  .wm-saved-receipts { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .wm-receipt-dialog { align-items:center; padding:24px; }
  .wm-receipt-dialog-panel { height:min(860px, calc(100dvh - 48px)); border-radius:24px; box-shadow:0 26px 70px rgba(20,16,26,.25); }
  .wm-receipt-paper { padding:30px 24px 34px; }
  .wm-receipt-dialog-close { top:14px; right:14px; }
  .wm-receipt-actions { padding:12px 14px; }
  .wm-bottom-nav { bottom:12px; border:1px solid var(--wm-line); border-radius:20px; padding-bottom:7px; box-shadow:0 8px 26px rgba(20,20,24,.12); }
  .wm-main { padding-bottom:118px; }
}

@media (min-width:1020px) {
  .wm-card-scroll, .wm-card-grid { grid-template-columns:repeat(3, minmax(0, 1fr)); }
  .wm-complex-results .wm-card-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .wm-complex-page { max-width:1080px; }
  .wm-community-page, .wm-utility-page { max-width:920px; }
  .wm-calculator-layout { grid-template-columns:minmax(0, 1.55fr) minmax(320px, .85fr); align-items:stretch; }
  .wm-calculator-sticky { position:sticky; top:78px; gap:10px; }
  .wm-summary-card, .wm-payment-plan { padding:16px; }
  .wm-payment-row { padding:9px 0; }
}

@media (max-width:359px) {
  .wm-main { padding-left:12px; padding-right:12px; }
  .wm-header { padding-left:12px; padding-right:12px; }
  .wm-card-scroll { margin-left:-12px; margin-right:-12px; padding-left:12px; padding-right:12px; }
  .wm-search-section { padding:13px; }
  .wm-tabs button { padding:0 13px; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}

/* 단일 선택 단지 진입 흐름 */
body[data-wm-route="selector"] .wm-bottom-nav { display:none; }
.wm-selector-page { padding-bottom:36px; }
.wm-selector-hero strong { color:var(--wm-purple-dark); }
.wm-complex-select-button { width:100%; border:0; background:#fff; color:inherit; text-align:left; cursor:pointer; }
.wm-select-complex-label { display:flex; align-items:center; justify-content:center; min-height:44px; margin:0 15px 15px; border-radius:12px; background:var(--wm-purple); color:#fff; font-size:13px; font-weight:700; }
.wm-complex-card.is-selectable .wm-complex-body h3 { padding-right:0; }
.wm-selected-home-page { display:grid; gap:16px; }
.wm-selected-home-hero { padding:30px 24px; border:1px solid var(--wm-line); border-radius:22px; background:#fff; box-shadow:var(--wm-shadow); }
.wm-selected-home-hero h1 { margin:8px 0 0; font-size:clamp(28px, 8vw, 42px); line-height:1.2; }
.wm-selected-home-hero > p { margin:8px 0 0; }
.wm-selection-pending { padding:11px 12px; border-radius:12px; background:#faf4e8; color:#765a28 !important; font-size:11px !important; line-height:1.5 !important; }
.wm-selected-home-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:20px; }
.wm-selected-home-actions a, .wm-selected-home-actions button { display:flex; align-items:center; justify-content:center; min-height:46px; border:1px solid var(--wm-line); border-radius:13px; background:#fff; color:var(--wm-text); font-size:13px; font-weight:700; cursor:pointer; }
.wm-selected-home-actions a:first-child { border-color:var(--wm-purple); background:var(--wm-purple); color:#fff; }
.wm-home-shortcuts { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:9px; }
.wm-home-shortcuts a { min-width:0; padding:15px 12px; border:1px solid var(--wm-line); border-radius:16px; background:#fff; box-shadow:var(--wm-shadow); }
.wm-home-shortcuts span, .wm-home-shortcuts strong { display:block; }
.wm-home-shortcuts span { color:var(--wm-purple); font-size:10px; font-weight:700; }
.wm-home-shortcuts strong { margin-top:5px; font-size:12px; line-height:1.35; word-break:keep-all; }
.wm-active-complex-panel { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.wm-active-complex-panel small, .wm-active-complex-panel strong { display:block; }
.wm-active-complex-panel small { color:var(--wm-muted); font-size:10px; }
.wm-active-complex-panel strong { margin-top:4px; font-size:15px; }
.wm-active-complex-panel button { flex:0 0 auto; min-height:38px; padding:0 13px; border:1px solid var(--wm-line); border-radius:11px; background:#fff; color:var(--wm-purple-dark); font-size:11px; font-weight:700; cursor:pointer; }

@media (max-width: 390px) {
  .wm-selected-home-actions { grid-template-columns:1fr; }
  .wm-home-shortcuts { grid-template-columns:1fr; }
}

/* 2026-07 마이페이지 계정·닉네임 관리 */
.wm-profile-name-line { display:flex; align-items:center; flex-wrap:wrap; gap:7px; }
.wm-profile-name-line strong { margin:0; }
.wm-profile-name-line em { display:inline-flex; align-items:center; min-height:22px; padding:2px 8px; border-radius:999px; background:var(--wm-purple-soft); color:var(--wm-purple); font-size:10px; font-style:normal; font-weight:650; }
.wm-profile-card > button { cursor:pointer; }
.wm-profile-card:not(.wm-profile-card-guest) > button { background:var(--wm-purple-soft); color:var(--wm-purple); font-weight:650; }
.wm-profile-card-guest > button { background:var(--wm-purple); color:#fff; font-weight:650; }
.wm-temporary-nickname-notice { margin:10px 2px 0; padding:12px 14px; border-radius:13px; background:#f7f3fb; color:#655b70; font-size:11px; line-height:1.55; }
.wm-account-section { margin-top:18px; }
.wm-account-section-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:30px; margin-bottom:8px; }
.wm-account-section-heading h2 { margin:0; font-size:15px; font-weight:690; }
.wm-account-section-heading > button { min-height:30px; padding:0 10px; border:0; border-radius:9px; background:#f1eef5; color:var(--wm-purple); font-size:10px; font-weight:650; cursor:pointer; }
.wm-account-section-heading > span { color:var(--wm-muted); font-size:10px; }
.wm-account-menu-list { overflow:hidden; border:1px solid var(--wm-line); border-radius:18px; background:#fff; }
.wm-account-menu-list > button { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-height:53px; padding:0 15px; border:0; border-bottom:1px solid #eeeef2; background:#fff; color:var(--wm-text); text-align:left; cursor:pointer; }
.wm-account-menu-list > button:last-child { border-bottom:0; }
.wm-account-menu-list > button span { font-size:13px; }
.wm-account-menu-list > button b { color:#a0a0a7; font-size:18px; font-weight:400; }
.wm-account-menu-list > button.is-danger span { color:#c84f5f; }
.wm-account-activity-panel { margin-top:12px; padding:15px; border:1px solid var(--wm-line); border-radius:18px; background:#fff; }
.wm-account-activity-panel .wm-account-section-heading { margin-bottom:6px; }
.wm-account-activity-state { margin:0; padding:18px 4px; color:var(--wm-muted); font-size:11px; line-height:1.5; text-align:center; }
.wm-account-activity-list { display:grid; gap:0; }
.wm-account-activity-item { display:block; padding:13px 2px; border-bottom:1px solid #f0eff3; color:var(--wm-text); }
.wm-account-activity-item:last-child { border-bottom:0; }
.wm-account-activity-item strong { display:block; overflow:hidden; font-size:13px; font-weight:650; line-height:1.4; text-overflow:ellipsis; white-space:nowrap; }
.wm-account-activity-item p { display:-webkit-box; overflow:hidden; margin:5px 0 0; color:#66636c; font-size:11px; line-height:1.5; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.wm-account-activity-item small { display:block; margin-top:6px; color:#99979f; font-size:9px; }
.wm-account-dialog { position:fixed; z-index:620; inset:0; display:flex; align-items:center; justify-content:center; padding:18px 16px calc(18px + env(safe-area-inset-bottom)); }
.wm-account-dialog-backdrop { position:absolute; inset:0; background:rgba(25,20,31,.44); }
.wm-account-dialog-panel { position:relative; z-index:1; width:min(420px, 100%); max-height:calc(100dvh - 36px - env(safe-area-inset-bottom)); overflow:auto; padding:22px 18px 18px; border-radius:20px; background:#fff; box-shadow:0 22px 60px rgba(22,17,29,.26); outline:0; overscroll-behavior:contain; }
.wm-account-dialog-panel h2 { margin:0 42px 18px 0; font-size:18px; font-weight:700; }
.wm-account-dialog-close { position:absolute; top:11px; right:11px; display:flex; align-items:center; justify-content:center; width:34px; height:34px; border:0; border-radius:50%; background:#f1f0f3; color:#65626b; font-size:22px; line-height:1; cursor:pointer; }
.wm-account-dialog-message { margin:0; padding:14px; border-radius:12px; background:#f5f3f7; color:#67626d; font-size:12px; line-height:1.6; }
.wm-account-form { display:grid; gap:13px; }
.wm-account-form label > span { display:block; margin-bottom:7px; color:#55515b; font-size:11px; font-weight:650; }
.wm-account-form input { width:100%; min-height:47px; padding:0 13px; border:1px solid #dcd9e1; border-radius:12px; background:#fff; color:var(--wm-text); font-size:14px; }
.wm-account-form > p { margin:0; color:#77737d; font-size:10px; line-height:1.55; }
.wm-account-form > button { min-height:48px; margin-top:2px; border:0; border-radius:13px; background:var(--wm-purple); color:#fff; font-size:13px; font-weight:680; cursor:pointer; }
.wm-account-form > button:disabled { opacity:.55; cursor:wait; }
.wm-account-delete-form > button { background:#c84f5f; }
.wm-account-delete-confirm { display:grid; gap:12px; }
.wm-account-delete-confirm p { margin:0; color:#706b75; font-size:11px; line-height:1.65; }
.wm-account-delete-confirm strong { color:#3c3841; font-size:13px; }
.wm-account-delete-confirm > div { display:grid; grid-template-columns:1fr 1.15fr; gap:8px; margin-top:4px; }
.wm-account-delete-confirm button { min-height:46px; border:1px solid #ddd9e1; border-radius:12px; background:#fff; color:#5c5861; font-size:12px; font-weight:680; cursor:pointer; }
.wm-account-delete-confirm button.is-danger { border-color:#c84f5f; background:#c84f5f; color:#fff; }
.wm-account-delete-confirm button:disabled { opacity:.55; cursor:wait; }

@media (min-width:700px) {
  .wm-account-section, .wm-account-activity-panel, .wm-temporary-nickname-notice { max-width:620px; margin-left:auto; margin-right:auto; }
  .wm-profile-card { max-width:620px; margin-left:auto; margin-right:auto; }
}

/* 실제 단지 카탈로그 검색·필터 */
.wm-filter-block { margin-top:14px; }
.wm-filter-block > span { display:block; color:#777880; font-size:11px; font-weight:650; }
.wm-filter-block .wm-region-filter { margin-top:7px; }
.wm-status-filter button.is-active { border-color:var(--wm-purple); background:var(--wm-purple-soft); color:var(--wm-purple-dark); }
.wm-search-result-count { margin:13px 1px 0; color:#8b8c93; font-size:11px; line-height:1.4; }
.wm-catalog-state { display:flex; min-height:178px; padding:28px 20px; flex-direction:column; align-items:center; justify-content:center; border:1px solid var(--wm-line); border-radius:19px; background:#fff; box-shadow:var(--wm-shadow); text-align:center; }
.wm-catalog-state strong { margin-top:12px; font-size:15px; }
.wm-catalog-state p { margin:7px 0 0; color:var(--wm-muted); font-size:12px; line-height:1.55; }
.wm-catalog-state button { min-height:42px; margin-top:16px; padding:0 18px; border:0; border-radius:12px; background:var(--wm-purple); color:#fff; font-size:12px; font-weight:700; cursor:pointer; }
.wm-catalog-state.is-error { background:#fffafa; }
.wm-catalog-limit-note { margin:-20px 0 32px; color:#8b8c93; font-size:11px; text-align:center; }
.wm-status-open { background:#eee8fa; color:var(--wm-purple-dark); }
.wm-status-closed { background:#f0f0f2; color:#6f7077; }
.wm-status-info { background:#f5f3f8; color:#6a5b82; }

/* 2026-07 선택 단지 홈·기본정보 실데이터 연결 */
.wm-selected-home-status { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:15px; color:var(--wm-muted); font-size:11px; }
.wm-selected-home-summary { color:#66676e; font-size:12px; line-height:1.6; }
.wm-home-overview { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:9px; }
.wm-home-overview > div { min-width:0; padding:14px; border:1px solid var(--wm-line); border-radius:16px; background:#fff; box-shadow:var(--wm-shadow); }
.wm-home-overview span, .wm-home-overview strong { display:block; }
.wm-home-overview span { color:var(--wm-muted); font-size:10px; }
.wm-home-overview strong { margin-top:6px; overflow:hidden; font-size:13px; font-weight:650; line-height:1.45; text-overflow:ellipsis; }
.wm-panel-heading-row { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.wm-panel-heading-row > a, .wm-panel-heading-row > button { flex:0 0 auto; min-height:32px; padding:0 10px; border:1px solid var(--wm-line); border-radius:10px; background:#fff; color:var(--wm-purple); font-size:10px; font-weight:650; cursor:pointer; }
.wm-compact-empty { min-height:96px; padding:18px; }
.wm-info-panels { display:grid; gap:14px; }
.wm-info-panels > .wm-panel { margin-bottom:0; }
.wm-basic-info-list { margin:0; }
.wm-basic-info-list > div { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:12px 0; border-bottom:1px solid #eeeef2; }
.wm-basic-info-list > div:last-child { border-bottom:0; }
.wm-basic-info-list dt { color:#77787f; font-size:13px; }
.wm-basic-info-list dd { max-width:62%; margin:0; color:#35363b; font-size:13px; font-weight:600; line-height:1.45; text-align:right; word-break:keep-all; }
.wm-source-note { margin:12px 0 0; padding:10px 12px; border-radius:11px; background:var(--wm-surface-soft); color:#85868d; font-size:10px; line-height:1.5; text-align:right; }
.wm-document-list > a, .wm-document-list > div { display:grid; grid-template-columns:minmax(0, 1fr) auto auto; align-items:center; gap:10px; padding:13px; border-radius:13px; background:var(--wm-surface-soft); color:var(--wm-text); }
.wm-document-list > a { border:1px solid transparent; }
.wm-document-list > a:hover, .wm-document-list > a:focus-visible { border-color:#d9c8e8; background:#f8f4fb; }
.wm-document-list > div { grid-template-columns:minmax(0, 1fr) auto; }
.wm-document-list b { color:var(--wm-purple); font-size:12px; }
.wm-document-caution { margin:13px 0 0; color:var(--wm-muted); font-size:10px; line-height:1.55; }

@media (min-width: 760px) {
  .wm-home-overview { grid-template-columns:repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 390px) {
  .wm-home-overview { grid-template-columns:1fr 1fr; }
  .wm-basic-info-list dd { max-width:58%; }
}

/* 2026-07 관심 단지 저장 */
.wm-interest-button { z-index:3; }
.wm-interest-button:disabled, [data-interest]:disabled { opacity:.5; cursor:wait; }
.wm-complex-card.is-selectable .wm-complex-body h3 { padding-right:42px; }
.wm-summary-actions [data-interest][aria-pressed="true"],
.wm-selected-home-actions [data-interest][aria-pressed="true"] { border-color:#d9c8ea; background:var(--wm-purple-soft); color:var(--wm-purple-dark); }
.wm-selected-home-actions { grid-template-columns:repeat(3, minmax(0, 1fr)); }
.wm-inline-notice button { margin-left:4px; padding:3px 7px; border:0; border-radius:7px; background:#eee7f5; color:var(--wm-purple); font-size:inherit; font-weight:650; cursor:pointer; }
.wm-favorite-section { overflow:hidden; border:1px solid var(--wm-line); border-radius:18px; background:#fff; }
.wm-favorite-section > .wm-account-section-heading { margin:0; padding:13px 15px 8px; }
.wm-favorite-state { display:flex; align-items:center; justify-content:center; gap:9px; padding:18px; color:var(--wm-muted); }
.wm-favorite-state p { margin:0; font-size:11px; }
.wm-favorite-list { border-top:1px solid #f0eff3; }
.wm-favorite-item { display:grid; grid-template-columns:minmax(0, 1fr) 42px; align-items:stretch; border-bottom:1px solid #f0eff3; }
.wm-favorite-item:last-child { border-bottom:0; }
.wm-favorite-open { min-width:0; padding:13px 12px 13px 15px; border:0; background:#fff; color:var(--wm-text); text-align:left; cursor:pointer; }
.wm-favorite-open .wm-status { display:inline-flex; }
.wm-favorite-open strong, .wm-favorite-open small { display:block; }
.wm-favorite-open strong { overflow:hidden; margin-top:6px; font-size:13px; font-weight:680; text-overflow:ellipsis; white-space:nowrap; }
.wm-favorite-open small { margin-top:4px; color:var(--wm-muted); font-size:10px; }
.wm-favorite-remove { width:42px; border:0; border-left:1px solid #f0eff3; background:#fff; color:var(--wm-purple); font-size:18px; cursor:pointer; }
.wm-favorite-empty { margin:0; border-top:1px solid #f0eff3; }

@media (max-width:390px) {
  .wm-selected-home-actions { grid-template-columns:1fr; }
}
.wm-complex-card.is-selectable .wm-card-topline { padding-right:42px; }

/* 2026-07 단지별 커뮤니티 실데이터 연결 */
.wm-community-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 12px; }
.wm-community-sort { display:flex; gap:5px; padding:3px; border-radius:11px; background:#f1f0f4; }
.wm-community-sort button { min-height:31px; padding:0 12px; border:0; border-radius:8px; background:transparent; color:#777880; font-size:11px; font-weight:650; cursor:pointer; }
.wm-community-sort button.is-active { background:#fff; color:var(--wm-purple-dark); box-shadow:0 2px 7px rgba(37,31,48,.08); }
.wm-community-write { min-height:37px; padding:0 14px; border:0; border-radius:11px; background:var(--wm-purple); color:#fff; font-size:11px; font-weight:700; cursor:pointer; }
.wm-community-state { display:flex; min-height:220px; padding:26px 18px; flex-direction:column; align-items:center; justify-content:center; border:1px dashed #d8d8de; border-radius:18px; background:var(--wm-surface-soft); color:var(--wm-muted); text-align:center; }
.wm-community-state > span:not(.wm-config-spinner) { font-size:27px; }
.wm-community-state p { margin:10px 0 0; font-size:12px; line-height:1.55; }
.wm-community-state button { min-height:38px; margin-top:14px; padding:0 14px; border:0; border-radius:10px; background:var(--wm-purple); color:#fff; font-size:11px; font-weight:700; cursor:pointer; }
.wm-community-state.is-error { background:#fffafa; }
.wm-community-post-list { display:grid; gap:9px; }
.wm-community-post-card { overflow:hidden; border:1px solid var(--wm-line); border-radius:16px; background:#fff; box-shadow:var(--wm-shadow); }
.wm-community-post-card > button { display:grid; width:100%; grid-template-columns:minmax(0,1fr); gap:11px; padding:14px; border:0; background:#fff; color:var(--wm-text); text-align:left; cursor:pointer; }
.wm-community-post-card.has-image > button { grid-template-columns:minmax(0,1fr) 86px; }
.wm-community-card-copy { min-width:0; }
.wm-community-card-badges { display:flex; flex-wrap:wrap; gap:5px; }
.wm-community-card-badges span { padding:3px 7px; border-radius:999px; background:#f3eff8; color:var(--wm-purple-dark); font-size:9px; font-weight:650; }
.wm-community-card-copy h2 { margin:8px 0 5px; overflow:hidden; font-size:14px; font-weight:680; line-height:1.4; text-overflow:ellipsis; white-space:nowrap; }
.wm-community-card-copy > p { display:-webkit-box; margin:0; overflow:hidden; color:#66676e; font-size:11px; line-height:1.55; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.wm-community-card-copy footer { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:11px; color:#92939a; font-size:9px; }
.wm-community-card-copy footer span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.wm-community-card-image { width:86px; height:86px; overflow:hidden; border-radius:12px; background:#f0eef3; }
.wm-community-card-image img { width:100%; height:100%; object-fit:cover; }
.wm-community-dialog { position:fixed; z-index:80; inset:0; display:flex; align-items:flex-end; justify-content:center; }
.wm-community-dialog-backdrop { position:absolute; inset:0; background:rgba(20,18,25,.46); backdrop-filter:blur(2px); }
.wm-community-detail-panel, .wm-community-editor-panel { position:relative; z-index:1; width:min(100%, 680px); max-height:min(90dvh, 850px); overflow:auto; padding:22px 18px calc(24px + env(safe-area-inset-bottom)); border-radius:23px 23px 0 0; background:#fff; box-shadow:0 -16px 45px rgba(20,16,30,.18); }
.wm-community-dialog-close { position:sticky; z-index:3; top:0; float:right; width:34px; height:34px; margin:-7px -5px 0 8px; border:0; border-radius:50%; background:#f2f1f4; color:#55565d; font-size:22px; line-height:1; cursor:pointer; }
.wm-community-detail-top-actions { position:sticky; z-index:4; top:0; display:flex; min-height:34px; align-items:center; justify-content:flex-end; gap:8px; margin:-7px -5px 7px 0; pointer-events:none; }
.wm-community-detail-top-actions > button { pointer-events:auto; }
.wm-community-detail-top-actions .wm-community-dialog-close { position:static; float:none; flex:0 0 34px; margin:0; }
.wm-community-share-button { min-height:34px; padding:0 12px; border:1px solid #d9cce5; border-radius:10px; background:#fff; color:var(--wm-purple-dark); font-size:10px; font-weight:680; cursor:pointer; box-shadow:0 2px 8px rgba(37,31,48,.06); }
.wm-community-share-button:active { transform:translateY(1px); }
.wm-community-detail-header { display:flex; align-items:flex-start; justify-content:space-between; gap:13px; padding:4px 0 15px; border-bottom:1px solid #ededf1; }
.wm-community-detail-header > div:first-child { min-width:0; }
.wm-community-detail-header span { display:inline-flex; padding:4px 8px; border-radius:999px; background:#f3eff8; color:var(--wm-purple-dark); font-size:9px; font-weight:650; }
.wm-community-detail-header h2 { margin:9px 0 6px; font-size:21px; font-weight:700; line-height:1.38; word-break:break-word; }
.wm-community-detail-header p { margin:0; color:var(--wm-muted); font-size:10px; }
.wm-community-owner-actions { display:flex; flex:0 0 auto; gap:5px; }
.wm-community-owner-actions button { min-height:31px; padding:0 9px; border:1px solid var(--wm-line); border-radius:9px; background:#fff; color:#65666d; font-size:9px; cursor:pointer; }
.wm-community-owner-actions button:last-child { color:#bd4d55; }
.wm-community-detail-image { display:block; width:100%; max-height:430px; margin:14px 0 0; border-radius:15px; object-fit:cover; background:#f0eef3; }
.wm-community-detail-content { padding:18px 2px; color:#3d3e44; font-size:13px; line-height:1.75; white-space:pre-wrap; word-break:break-word; }
.wm-community-detail-actions { display:flex; justify-content:flex-end; padding:4px 0 15px; border-bottom:1px solid #ededf1; }
.wm-community-detail-actions button { min-height:37px; padding:0 13px; border:1px solid #d9cce5; border-radius:11px; background:#fff; color:var(--wm-purple-dark); font-size:11px; font-weight:650; cursor:pointer; }
.wm-community-detail-actions button[aria-pressed="true"] { background:var(--wm-purple-soft); }
.wm-community-poll, .wm-community-checklist { margin:4px 0 16px; padding:15px; border-radius:15px; background:#f7f6f9; }
.wm-community-poll h3, .wm-community-checklist h3 { margin:0 0 11px; font-size:13px; font-weight:680; }
.wm-community-poll > div { display:grid; gap:7px; }
.wm-community-poll button { position:relative; min-height:51px; overflow:hidden; padding:8px 11px; border:1px solid #ddd8e4; border-radius:11px; background:#fff; color:var(--wm-text); text-align:left; cursor:pointer; }
.wm-community-poll button:disabled { opacity:1; cursor:default; }
.wm-community-poll button > span { position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:10px; }
.wm-community-poll button b { font-size:11px; font-weight:650; }
.wm-community-poll button small { color:#777880; font-size:9px; }
.wm-community-poll button i { position:absolute; z-index:1; inset:0 auto 0 0; width:var(--wm-vote-rate); background:#ece4f5; }
.wm-community-poll button em { position:relative; z-index:2; display:block; margin-top:5px; color:var(--wm-purple); font-size:9px; font-style:normal; font-weight:700; }
.wm-community-poll > p { margin:9px 1px 0; color:#898a91; font-size:9px; }
.wm-community-checklist ul { display:grid; gap:8px; margin:0; padding:0; list-style:none; }
.wm-community-checklist li { display:flex; gap:9px; padding:9px 10px; border-radius:10px; background:#fff; }
.wm-community-checklist li > span { color:var(--wm-purple); font-size:15px; }
.wm-community-checklist b { font-size:11px; font-weight:650; }
.wm-community-checklist p { margin:4px 0 0; color:var(--wm-muted); font-size:9px; }
.wm-community-comments { padding-top:16px; }
.wm-community-comments-heading { display:flex; align-items:center; justify-content:space-between; }
.wm-community-comments-heading h3 { margin:0; font-size:14px; font-weight:680; }
.wm-community-comments-heading span { color:var(--wm-muted); font-size:10px; }
.wm-community-comment-list { margin-top:10px; }
.wm-community-comment-list article { padding:12px 0; border-bottom:1px solid #efeff2; }
.wm-community-comment-list article:last-child { border-bottom:0; }
.wm-community-comment-list header { display:flex; align-items:center; gap:7px; }
.wm-community-comment-list header strong { font-size:11px; font-weight:650; }
.wm-community-comment-list header span { color:#999aa0; font-size:9px; }
.wm-community-comment-list header button { margin-left:auto; padding:3px 5px; border:0; background:transparent; color:#a36469; font-size:9px; cursor:pointer; }
.wm-community-comment-list article > p { margin:7px 0 0; color:#4f5056; font-size:11px; line-height:1.6; white-space:pre-wrap; }
.wm-community-comments-empty, .wm-community-readonly-note { margin:13px 0 0; padding:14px; border-radius:11px; background:#f7f7f9; color:var(--wm-muted); font-size:10px; text-align:center; }
.wm-community-comment-form { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:stretch; gap:7px; margin-top:13px; }
.wm-community-comment-form textarea { width:100%; min-height:52px; resize:vertical; padding:10px 11px; border:1px solid #dcdce1; border-radius:11px; font:inherit; font-size:11px; line-height:1.5; }
.wm-community-comment-form button { min-width:58px; border:0; border-radius:11px; background:var(--wm-purple); color:#fff; font-size:10px; font-weight:700; cursor:pointer; }
.wm-community-comments-state { display:flex; align-items:center; justify-content:center; gap:8px; min-height:90px; color:var(--wm-muted); }
.wm-community-comments-state p { margin:0; font-size:10px; }
.wm-community-editor-panel h2 { margin:3px 0 18px; font-size:20px; font-weight:700; }
.wm-community-editor-form { display:grid; gap:14px; }
.wm-community-editor-form label { display:grid; gap:7px; }
.wm-community-editor-form label > span { color:#55565d; font-size:11px; font-weight:650; }
.wm-community-editor-form label > span small { color:#9a9ba1; font-size:9px; font-weight:500; }
.wm-community-editor-form input, .wm-community-editor-form textarea, .wm-community-editor-form select { width:100%; padding:11px 12px; border:1px solid #dcdce1; border-radius:11px; background:#fff; color:var(--wm-text); font:inherit; font-size:12px; line-height:1.55; }
.wm-community-editor-form textarea { resize:vertical; }
.wm-community-editor-form label > small { color:#909198; font-size:9px; line-height:1.5; }
.wm-community-editor-form > button { min-height:46px; border:0; border-radius:13px; background:var(--wm-purple); color:#fff; font-size:12px; font-weight:700; cursor:pointer; }
.wm-community-editor-form > button:disabled, .wm-community-comment-form button:disabled { opacity:.55; cursor:wait; }

@media (min-width:760px) {
  .wm-community-post-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .wm-community-dialog { align-items:center; padding:24px; }
  .wm-community-detail-panel, .wm-community-editor-panel { border-radius:23px; }
}

@media (max-width:390px) {
  .wm-community-post-card.has-image > button { grid-template-columns:minmax(0,1fr) 74px; }
  .wm-community-card-image { width:74px; height:74px; }
  .wm-community-card-copy footer { align-items:flex-start; flex-direction:column; gap:3px; }
  .wm-community-detail-header { flex-direction:column; }
  .wm-community-owner-actions { align-self:flex-end; }
}
.wm-home-community { margin-top:14px; }
.wm-home-community-loading { display:flex; min-height:90px; align-items:center; justify-content:center; }
.wm-home-community-grid { display:grid; gap:13px; }
.wm-home-community-grid > div { min-width:0; padding:12px; border-radius:14px; background:#f8f7fa; }
.wm-home-community-grid h3 { margin:0 0 7px; color:#6f7077; font-size:10px; font-weight:700; }
.wm-home-community-grid button { display:grid; width:100%; grid-template-columns:28px minmax(0,1fr); gap:2px 8px; padding:9px 0; border:0; border-bottom:1px solid #e9e8ed; background:transparent; color:var(--wm-text); text-align:left; cursor:pointer; }
.wm-home-community-grid button:last-child { border-bottom:0; }
.wm-home-community-grid button > span { grid-row:1 / span 2; display:flex; width:25px; height:25px; align-items:center; justify-content:center; border-radius:8px; background:#eee8f5; color:var(--wm-purple-dark); font-size:9px; font-weight:700; }
.wm-home-community-grid strong { overflow:hidden; font-size:11px; font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
.wm-home-community-grid small { color:#96979d; font-size:8px; }
@media (min-width:760px) { .wm-home-community-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }

/* Community interior image upload */
.wm-community-detail-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin:14px 0 0; }
.wm-community-detail-gallery.is-single { grid-template-columns:minmax(0,1fr); }
.wm-community-detail-gallery button { display:block; min-width:0; aspect-ratio:1/1; overflow:hidden; padding:0; border:0; border-radius:14px; background:#f0eef3; cursor:zoom-in; }
.wm-community-detail-gallery.is-single button { max-height:470px; aspect-ratio:auto; }
.wm-community-detail-gallery img { display:block; width:100%; height:100%; object-fit:cover; }
.wm-community-detail-gallery.is-single img { height:auto; max-height:470px; object-fit:contain; }
.wm-community-image-field { display:grid; gap:10px; padding:13px; border:1px solid #dedee3; border-radius:13px; background:#faf9fb; }
.wm-community-image-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.wm-community-image-heading > div { min-width:0; }
.wm-community-image-heading strong, .wm-community-image-heading small { display:block; }
.wm-community-image-heading strong { color:#55565d; font-size:11px; font-weight:650; }
.wm-community-image-heading small { margin-top:3px; color:#919298; font-size:9px; line-height:1.4; }
.wm-community-image-heading button { flex:0 0 auto; min-height:34px; padding:0 11px; border:1px solid #d9cce5; border-radius:10px; background:#fff; color:var(--wm-purple-dark); font-size:10px; font-weight:650; cursor:pointer; }
.wm-community-image-heading button:disabled { border-color:#e3e3e7; color:#aaaab0; cursor:default; }
.wm-community-image-previews { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:7px; }
.wm-community-image-previews:empty { display:none; }
.wm-community-image-previews figure { position:relative; min-width:0; aspect-ratio:1/1; overflow:hidden; margin:0; border-radius:10px; background:#eceaf0; }
.wm-community-image-previews img { width:100%; height:100%; object-fit:cover; }
.wm-community-image-previews figure > button { position:absolute; z-index:2; top:4px; right:4px; display:flex; width:22px; height:22px; align-items:center; justify-content:center; padding:0; border:0; border-radius:50%; background:rgba(25,23,29,.72); color:#fff; font-size:15px; line-height:1; cursor:pointer; }
.wm-community-image-previews figure > span { position:absolute; z-index:2; left:4px; bottom:4px; padding:3px 5px; border-radius:999px; background:rgba(82,44,139,.86); color:#fff; font-size:8px; font-weight:700; }
.wm-community-image-help { margin:0; color:#8d8e95; font-size:9px; line-height:1.5; }
.wm-community-upload-progress { display:grid; gap:6px; padding-top:2px; }
.wm-community-upload-progress[hidden] { display:none; }
.wm-community-upload-progress > div { height:5px; overflow:hidden; border-radius:999px; background:#e6e2eb; }
.wm-community-upload-progress i { display:block; width:0; height:100%; border-radius:inherit; background:var(--wm-purple); transition:width .18s ease; }
.wm-community-upload-progress span { color:#777880; font-size:9px; }
.wm-community-dialog-close:disabled { opacity:.45; cursor:wait; }

@media (max-width:520px) {
  .wm-community-image-previews { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .wm-community-detail-gallery { gap:5px; }
}

/* 2026-07 회원가입·권한 단계 */
.wm-auth-dialog { position:fixed; z-index:760; inset:0; display:flex; align-items:center; justify-content:center; padding:18px 16px calc(18px + env(safe-area-inset-bottom)); }
.wm-auth-dialog-backdrop { position:absolute; inset:0; background:rgba(24,18,30,.5); backdrop-filter:blur(2px); }
.wm-auth-dialog-panel { position:relative; z-index:1; width:min(430px,100%); max-height:calc(100dvh - 36px - env(safe-area-inset-bottom)); overflow:auto; padding:24px 20px 20px; border-radius:22px; background:#fff; box-shadow:0 24px 68px rgba(28,19,39,.28); outline:0; overscroll-behavior:contain; }
.wm-auth-dialog-panel > .wm-eyebrow { color:var(--wm-purple); font-size:10px; font-weight:700; }
.wm-auth-dialog-panel > h2 { margin:6px 40px 18px 0; font-size:21px; font-weight:700; }
.wm-auth-dialog-close { position:absolute; top:12px; right:12px; display:flex; width:34px; height:34px; align-items:center; justify-content:center; border:0; border-radius:50%; background:#f1eff4; color:#625d69; font-size:22px; cursor:pointer; }
.wm-auth-message { margin:-7px 0 15px; padding:10px 12px; border-radius:11px; background:#f6f2f9; color:#6e6476; font-size:11px; line-height:1.55; }
.wm-auth-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; margin-bottom:14px; padding:4px; border-radius:12px; background:#f2f0f4; }
.wm-auth-tabs button { min-height:38px; border:0; border-radius:9px; background:transparent; color:#85818a; font-size:12px; cursor:pointer; }
.wm-auth-tabs button.is-active { background:#fff; color:var(--wm-purple-dark); font-weight:700; box-shadow:0 2px 8px rgba(37,27,50,.08); }
.wm-auth-social { display:grid; gap:8px; }
.wm-auth-social button { min-height:45px; border:1px solid #dfdce4; border-radius:12px; background:#fff; color:#3d3b40; font-size:12px; font-weight:650; cursor:pointer; }
.wm-auth-social button.is-kakao { border-color:#f4df00; background:#fee500; color:#191600; }
.wm-auth-social button.is-naver { border-color:#03c75a; background:#03c75a; color:#fff; }
.wm-auth-social button small { display:inline-block; margin-left:7px; font-size:8px; font-weight:600; opacity:.68; }
.wm-auth-social button.is-pending { position:relative; }
.wm-auth-social button.is-pending:not(:disabled) { cursor:pointer; }
.wm-auth-remember { display:flex; align-items:center; gap:7px; margin:12px 2px 0; color:#6f6b73; font-size:10px; cursor:pointer; }
.wm-auth-remember input { width:16px; height:16px; margin:0; accent-color:var(--wm-purple); }
.wm-auth-email-login { margin-top:14px; border-top:1px solid #eceaef; }
.wm-auth-email-login summary { padding:14px 2px 2px; color:#77727c; font-size:10px; cursor:pointer; list-style:none; }
.wm-auth-email-login summary::-webkit-details-marker { display:none; }
.wm-auth-email-login summary span { margin-left:4px; color:var(--wm-purple-dark); font-weight:700; }
.wm-auth-email-login .wm-auth-form { margin-top:13px; }
.wm-auth-signup-help { margin:14px 2px 0; padding-top:13px; border-top:1px solid #eceaef; color:#7d7982; font-size:9px; line-height:1.55; }
.wm-auth-social button:disabled, .wm-auth-form button:disabled, .wm-auth-verify button:disabled { opacity:.55; cursor:wait; }
.wm-auth-divider { display:flex; align-items:center; gap:10px; margin:15px 0; color:#a1a0a5; font-size:9px; }
.wm-auth-divider::before, .wm-auth-divider::after { content:""; height:1px; flex:1; background:#eceaef; }
.wm-auth-form { display:grid; gap:12px; }
.wm-auth-form label span { display:block; margin-bottom:6px; color:#5b5760; font-size:10px; font-weight:650; }
.wm-auth-form input { width:100%; min-height:46px; padding:0 12px; border:1px solid #dcdae1; border-radius:11px; background:#fff; color:var(--wm-text); font-size:13px; }
.wm-auth-form > p { margin:0; color:#7d7982; font-size:9px; line-height:1.55; }
.wm-auth-form > button { min-height:47px; border:0; border-radius:12px; background:var(--wm-purple); color:#fff; font-size:12px; font-weight:700; cursor:pointer; }
.wm-auth-verify { display:grid; justify-items:center; text-align:center; }
.wm-auth-verify > span { display:flex; width:54px; height:54px; align-items:center; justify-content:center; border-radius:18px; background:var(--wm-purple-soft); color:var(--wm-purple); font-size:25px; }
.wm-auth-verify h3 { margin:14px 0 5px; font-size:17px; }
.wm-auth-verify p { margin:5px 0; color:#716d76; font-size:11px; line-height:1.6; }
.wm-auth-verify > div { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:16px; }
.wm-auth-verify button { min-height:43px; border:1px solid #d9cce6; border-radius:11px; background:#fff; color:var(--wm-purple-dark); font-size:10px; font-weight:680; cursor:pointer; }
.wm-auth-verify button:first-child { border-color:var(--wm-purple); background:var(--wm-purple); color:#fff; }
.wm-email-verification-banner { display:flex; align-items:center; justify-content:space-between; gap:14px; max-width:620px; margin:0 auto 14px; padding:15px; border:1px solid #dfd0eb; border-radius:16px; background:#faf6fd; }
.wm-email-verification-banner strong { font-size:12px; }
.wm-email-verification-banner p { margin:4px 0 0; color:#766c7d; font-size:10px; line-height:1.5; }
.wm-email-verification-banner > div:last-child { display:flex; flex:0 0 auto; gap:6px; }
.wm-email-verification-banner button { min-height:32px; padding:0 9px; border:1px solid #d7c4e6; border-radius:9px; background:#fff; color:var(--wm-purple-dark); font-size:9px; font-weight:650; cursor:pointer; }
.wm-calculator-access-wrap { position:relative; }
.wm-calculator-login-gate { display:flex; align-items:center; gap:12px; margin-bottom:12px; padding:13px 14px; border:1px solid #ded0e9; border-radius:15px; background:#faf7fc; }
.wm-calculator-login-gate > span { display:flex; width:31px; height:31px; flex:0 0 auto; align-items:center; justify-content:center; border-radius:10px; background:#eee4f5; color:var(--wm-purple); font-size:15px; }
.wm-calculator-login-gate > div { min-width:0; flex:1; }
.wm-calculator-login-gate strong { display:block; font-size:11px; font-weight:680; }
.wm-calculator-login-gate p { margin:3px 0 0; color:#7c7581; font-size:9px; line-height:1.45; }
.wm-calculator-login-gate button { flex:0 0 auto; min-height:34px; padding:0 10px; border:0; border-radius:9px; background:var(--wm-purple); color:#fff; font-size:9px; font-weight:680; cursor:pointer; }
.wm-calculator-access-wrap.is-locked .wm-calculator-shell { opacity:.66; }
.wm-community-access-card .wm-community-access-gate { margin-top:4px; }
.wm-community-access-gate { display:grid; justify-items:center; padding:30px 18px; border:1px solid var(--wm-line); border-radius:19px; background:#fff; text-align:center; box-shadow:var(--wm-shadow); }
.wm-community-access-gate > span { display:flex; width:48px; height:48px; align-items:center; justify-content:center; border-radius:16px; background:#f0e8f7; color:var(--wm-purple); font-size:21px; }
.wm-community-access-gate h2, .wm-community-access-gate strong { margin:13px 0 0; font-size:14px; font-weight:680; }
.wm-community-access-gate p { max-width:480px; margin:7px 0 0; color:#77737c; font-size:11px; line-height:1.6; }
.wm-community-access-gate button, .wm-community-access-gate > a { display:inline-flex; min-height:39px; margin-top:15px; padding:0 14px; align-items:center; justify-content:center; border:0; border-radius:11px; background:var(--wm-purple); color:#fff; font-size:10px; font-weight:680; cursor:pointer; }
.wm-community-entry-locked { background:#faf7fc; }
.wm-global-community-page .wm-community-head { background:linear-gradient(135deg,#faf7fc,#fff); }

@media (max-width:520px) {
  .wm-auth-dialog { align-items:flex-end; padding:0; }
  .wm-auth-dialog-panel { width:100%; max-height:92dvh; padding:22px 17px calc(18px + env(safe-area-inset-bottom)); border-radius:22px 22px 0 0; }
  .wm-email-verification-banner { align-items:flex-start; flex-direction:column; }
  .wm-email-verification-banner > div:last-child { width:100%; }
  .wm-email-verification-banner button { flex:1; }
  .wm-calculator-login-gate { align-items:flex-start; flex-wrap:wrap; }
  .wm-calculator-login-gate button { margin-left:43px; }
}
.wm-selector-community-link { display:inline-flex; min-height:39px; margin-top:15px; padding:0 14px; align-items:center; justify-content:center; border:1px solid #d7c7e4; border-radius:11px; background:#fff; color:var(--wm-purple-dark); font-size:10px; font-weight:680; }



/* v54: 계산기 페이지의 독립형 옵션 선택률 카드 */
.wm-option-stats-panel{margin:0;padding:14px 16px 8px;border:1px solid #e5e0e9;border-radius:16px;background:#fff;box-shadow:0 4px 14px rgba(36,29,43,.045);color:#242127}
.wm-option-stats-standalone{position:relative;z-index:0}
.wm-option-stats-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:8px}
.wm-option-stats-panel-head h2{margin:0;font-size:15px;font-weight:700;line-height:1.35}
.wm-option-stats-panel-head p{margin:2px 0 0;color:#918b96;font-size:10px;line-height:1.4}
.wm-option-stats-list{display:grid}
.wm-option-stat-item{padding:9px 0 8px;border-top:1px solid #eeeaf1}
.wm-option-stat-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:3px}
.wm-option-stat-heading h3{min-width:0;margin:0;color:#242127;font-size:12.5px;font-weight:680;line-height:1.35}
.wm-option-stat-heading>span{flex:0 0 auto;color:#6d39b8;font-size:8.5px;line-height:1.35;text-align:right;white-space:nowrap}
.wm-option-stat-grid{display:grid;grid-template-columns:minmax(0,1fr) 62px 62px;align-items:center;gap:7px;min-height:23px}
.wm-option-stat-grid-head{min-height:17px;color:#99939d;font-size:8.5px;text-align:right}
.wm-option-stat-grid-head b{font-weight:500}
.wm-option-stat-grid span{min-width:0;color:#615b66;font-size:9.5px;line-height:1.3}
.wm-option-stat-grid strong{color:#2b2730;font-size:11.5px;font-weight:700;text-align:right}
.wm-option-stat-main{padding-bottom:3px}
.wm-option-stat-main strong{color:#5d2bad;font-size:14px}
.wm-option-stat-subtitle{margin-top:3px;padding-top:5px;border-top:1px dashed #eeeaf1;color:#918b96;font-size:8.5px;font-weight:600}
.wm-option-stat-variant{min-height:22px}
.wm-option-stat-variant span{display:flex;align-items:center;gap:4px}
.wm-option-stat-variant em{padding:1px 4px;border-radius:999px;background:#eee6f8;color:#5d2bad;font-size:7.5px;font-style:normal;white-space:nowrap}
.wm-option-stat-variant.is-selected strong{color:#5d2bad}
.wm-option-stats-state{display:flex;align-items:center;gap:8px;min-height:40px;border-top:1px solid #eeeaf1;color:#817b87;font-size:10px}
.wm-option-stats-state p{margin:0}
.wm-option-stats-state button{margin-left:auto;min-height:30px;padding:0 10px;border:1px solid #ddd4e5;border-radius:9px;background:#fff;color:#5d2bad;font-size:9px;font-weight:650}
@media (max-width:360px){.wm-option-stats-panel{padding-left:13px;padding-right:13px}.wm-option-stat-grid{grid-template-columns:minmax(0,1fr) 56px 56px;gap:5px}}


/* v55: 계산기 접기/펼치기 + 테라스 독립 선택률 카드 */
.wm-option-stats-collapsible{padding:0;overflow:hidden}
.wm-option-stats-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;cursor:pointer;list-style:none}
.wm-option-stats-summary::-webkit-details-marker{display:none}
.wm-option-stats-summary h2{margin:0;font-size:15px;font-weight:700;line-height:1.35}
.wm-option-stats-summary p{margin:2px 0 0;color:#918b96;font-size:10px;line-height:1.4}
.wm-option-stats-summary-action{display:flex;align-items:center;gap:5px;flex:0 0 auto;color:#6d39b8;font-size:9px;font-weight:650;white-space:nowrap}
.wm-option-stats-summary-action i{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:1px solid #ddd4e5;border-radius:50%;font-size:12px;font-style:normal;transition:transform .18s ease}
.wm-option-stats-collapsible[open] .wm-option-stats-summary-action i{transform:rotate(180deg)}
.wm-option-stats-body{padding:0 16px 8px;border-top:1px solid #eeeaf1}
.wm-option-stats-body .wm-option-stat-item:first-child{border-top:0}
.wm-option-stats-body .wm-option-stats-state{border-top:0}

/* v58: 저장 영수증 내부 영수증/선택률 탭 — 테라스 독립 선택률 카드 금지 */
.wm-receipt-dialog-panel.has-tabs{grid-template-rows:auto minmax(0,1fr) auto}
.wm-receipt-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:calc(14px + env(safe-area-inset-top)) 68px 10px 14px;border-bottom:1px solid var(--wm-line);background:#fff}
.wm-receipt-tabs button{min-height:40px;border:0;border-radius:11px;background:#f2f1f4;color:#85818b;font-size:13px;font-weight:650;cursor:pointer}
.wm-receipt-tabs button.is-active{background:var(--wm-purple-soft);color:var(--wm-purple);font-weight:720}
.wm-receipt-tab-panels{display:grid;min-height:0;overflow:hidden;background:#f3f2f5}
.wm-receipt-tab-panels>.wm-receipt-scroll{grid-area:1/1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.wm-receipt-dialog-panel.has-tabs .wm-receipt-paper{padding-top:20px}
.wm-receipt-actions[hidden]{display:none}
.wm-receipt-stats-paper .wm-receipt-paper-head{padding-top:0}
.wm-receipt-stats-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:17px 0 11px;border-bottom:1px solid #e1dfe5}
.wm-receipt-stats-intro h3{margin:0;font-size:16px;font-weight:680;line-height:1.4}
.wm-receipt-stats-intro p{margin:3px 0 0;color:#8d8791;font-size:11px;line-height:1.4}
.wm-receipt-stats-intro>span{flex:0 0 auto;margin-top:2px;padding:4px 7px;border-radius:999px;background:#f1edf6;color:#6d39b8;font-size:9px;font-weight:650;white-space:nowrap}
.wm-receipt-stats-paper .wm-option-stats-list{padding-bottom:2px}
.wm-receipt-stats-paper .wm-option-stat-item:first-child{border-top:0}
.wm-receipt-stats-paper .wm-option-stat-item{padding:13px 0 11px}
.wm-receipt-stats-paper .wm-option-stat-heading h3{font-size:14px}
.wm-receipt-stats-paper .wm-option-stat-grid{grid-template-columns:minmax(0,1fr) 68px 68px;min-height:28px}
.wm-receipt-stats-paper .wm-option-stat-grid span{font-size:11px}
.wm-receipt-stats-paper .wm-option-stat-grid strong{font-size:13px}
.wm-receipt-stats-paper .wm-option-stat-main strong{font-size:17px}
.wm-receipt-stats-paper .wm-option-stats-state{min-height:96px;border-top:0;justify-content:center;flex-wrap:wrap;padding:18px 0;text-align:center}
.wm-receipt-stats-paper .wm-option-stats-state .wm-config-spinner{margin-top:0}
.wm-receipt-stats-paper .wm-option-stats-state button{margin-left:8px}
@media(max-width:360px){.wm-receipt-tabs{padding-right:62px}.wm-receipt-stats-paper .wm-option-stat-grid{grid-template-columns:minmax(0,1fr) 60px 60px;gap:5px}}

/* v58 안전장치: 테라스 본문에서는 독립 선택률 카드가 렌더링되어도 숨김 */
body[data-wm-route="terrace"] .wm-terrace-option-stats,body[data-wm-route="terrace"]>.wm-option-stats-panel{display:none!important}

/* v62: 선택률 표시 간소화 — 상단 내 선택 문구/선택자 중 제거, 비교 열 점선 구분 */
.wm-option-stat-grid > :nth-child(3){border-left:1px dashed #ddd6e5;padding-left:8px;box-sizing:border-box}
.wm-option-stat-grid-head > :nth-child(3){align-self:stretch;display:flex;align-items:center;justify-content:flex-end}
.wm-option-stat-subtitle{display:none}


/* v63: 세부 선택률 박스화 + 항목명과 선택률 간격 축소 */
.wm-option-stat-heading{margin-bottom:0}
.wm-option-stat-grid-head{min-height:15px}
.wm-option-stat-main{min-height:22px;padding-bottom:2px}
.wm-option-stat-variants{margin-top:4px;padding:4px 0;border:0;border-radius:10px;background:#f8f6fa;box-shadow:inset 0 0 0 1px #eee8f4;box-sizing:border-box;overflow:hidden}
.wm-option-stat-variants .wm-option-stat-variant{padding-top:1px;padding-bottom:1px}
.wm-option-stat-variants .wm-option-stat-variant + .wm-option-stat-variant{border-top:1px solid rgba(221,214,229,.55)}
.wm-receipt-stats-paper .wm-option-stat-item{padding:10px 0 10px}
.wm-receipt-stats-paper .wm-option-stat-heading{margin-bottom:0}
.wm-receipt-stats-paper .wm-option-stat-grid-head{min-height:18px}
.wm-receipt-stats-paper .wm-option-stat-main{min-height:25px;padding-bottom:1px}
.wm-receipt-stats-paper .wm-option-stat-variants{margin-top:3px;padding-top:5px;padding-bottom:5px}

/* WOOZIP_WORKFLOW_LIFECYCLE_SUPPLY_SEPARATION_V103 */
.wm-application-supply-list{display:grid;gap:12px}.wm-application-supply-list article{border:1px solid var(--wm-line,#e8e8ec);border-radius:16px;padding:16px;background:#fff}.wm-application-supply-list h3{margin:0 0 10px;font-size:15px}.wm-application-supply-list dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.wm-application-supply-list dl div{padding:10px;border-radius:12px;background:#f7f7f9}.wm-application-supply-list dt{font-size:12px;color:#777}.wm-application-supply-list dd{margin:4px 0 0;font-size:14px;font-weight:700}@media(max-width:520px){.wm-application-supply-list dl{grid-template-columns:1fr}}

/* WOOZIP_PAYMENT_TIMELINE_AND_TOP3_V108 */
.wm-receipt-tabs{grid-template-columns:repeat(3,minmax(0,1fr));padding-right:68px}
.wm-receipt-tabs button{font-size:12px}
.wm-option-recommendations{margin:16px 0 4px;padding:12px 0 0;border:0;border-top:1px solid #eeeaf1;border-radius:0;background:transparent}
.wm-option-recommendations-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:5px}
.wm-option-recommendations-head h3{margin:0;color:#4d4852;font-size:10.5px;font-weight:680;line-height:1.35}
.wm-option-recommendations-head p{margin:2px 0 0;color:#99929e;font-size:8.5px;line-height:1.4}
.wm-option-recommendation-list{display:grid;gap:0}
.wm-option-recommendation-item{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:7px;min-height:38px;padding:6px 2px;border-bottom:1px solid #f0edf2;border-radius:0;background:transparent;box-shadow:none}
.wm-option-recommendation-item:last-child{border-bottom:0}
.wm-option-recommendation-item>span{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#f1edf5;color:#706779;font-size:8.5px;font-weight:720}
.wm-option-recommendation-item div{min-width:0}
.wm-option-recommendation-item strong,.wm-option-recommendation-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wm-option-recommendation-item strong{color:#4c4750;font-size:10px;font-weight:640}
.wm-option-recommendation-item strong em{display:inline-flex;margin-left:5px;padding:2px 5px;border-radius:999px;background:#f2ebf9;color:#6a36ae;font-size:7.5px;font-style:normal;font-weight:700;vertical-align:1px}
.wm-option-recommendation-item small{margin-top:1px;color:#99929e;font-size:8px}
.wm-option-recommendation-item b{color:#6a36ae;font-size:12px;font-weight:720}
.wm-option-recommendation-item.is-selected>span{background:#ebe2f5;color:#5d2bad}
.wm-receipt-stats-paper .wm-option-recommendations{margin-top:16px}
.wm-receipt-stats-paper .wm-option-recommendation-item{min-height:40px}
.wm-receipt-stats-paper .wm-option-recommendation-item strong{font-size:10.5px}
.wm-receipt-stats-paper .wm-option-recommendation-item b{font-size:13px}
.wm-payment-document-paper .wm-receipt-paper-head{padding-top:0}
.wm-payment-document-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:20px 0 16px;border-bottom:1px solid #e5e2e9}
.wm-payment-document-intro h3{margin:0;color:#242127;font-size:17px;font-weight:730}
.wm-payment-document-intro p{max-width:290px;margin:5px 0 0;color:#8a858e;font-size:10px;line-height:1.5}
.wm-payment-document-intro>strong{flex:0 0 auto;color:#5d2bad;font-size:17px;font-weight:760;white-space:nowrap}
.wm-payment-document-list{display:grid}
.wm-payment-document-row{padding:18px 0;border-bottom:1px solid #ece9ef}
.wm-payment-document-main{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}
.wm-payment-document-main>span{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:24px;padding:0 8px;border-radius:999px;background:#f0eef4;color:#766889;font-size:9px;font-weight:720}
.wm-payment-document-row.is-contract .wm-payment-document-main>span{background:#eee6f8;color:#5d2bad}
.wm-payment-document-row.is-option .wm-payment-document-main>span{background:#f4eefa;color:#7247a6}
.wm-payment-document-row.is-interim .wm-payment-document-main>span{background:#eef6f4;color:#367b6d}
.wm-payment-document-row.is-balance .wm-payment-document-main>span{background:#f1f1f3;color:#66636b}
.wm-payment-document-main>div{min-width:0}
.wm-payment-document-main strong,.wm-payment-document-main small{display:block}
.wm-payment-document-main strong{font-size:13px;font-weight:700;line-height:1.35}
.wm-payment-document-main small{margin-top:4px;color:#8d8992;font-size:9.5px;line-height:1.4}
.wm-payment-document-main>b{color:#242127;font-size:14px;font-weight:740;white-space:nowrap}
.wm-payment-document-row dl{margin:12px 0 0 48px;padding:9px 11px;border-radius:10px;background:#f8f6fa}
.wm-payment-document-row dl div{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:24px}
.wm-payment-document-row dt{color:#77717c;font-size:9px}
.wm-payment-document-row dd{margin:0;color:#4c4652;font-size:9.5px;font-weight:650;white-space:nowrap}
.wm-payment-document-empty{display:flex;min-height:170px;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.wm-payment-document-empty p{margin:0;color:#6f6b74;font-size:12px;font-weight:650}
.wm-payment-document-empty small{margin-top:6px;color:#96919a;font-size:9px;line-height:1.5}
.wm-payment-schedule-row.is-option span{background:#f4eefa;color:#7247a6}
.wm-payment-schedule-row.is-interim span{background:#eef6f4;color:#367b6d}
.wm-payment-schedule-row.is-balance span{background:#f1f1f3;color:#66636b}
@media(max-width:360px){
  .wm-receipt-tabs{gap:4px;padding-right:60px;padding-left:10px}
  .wm-receipt-tabs button{font-size:10.5px}
  .wm-payment-document-intro{display:block}
  .wm-payment-document-intro>strong{display:block;margin-top:10px}
  .wm-payment-document-main{grid-template-columns:auto minmax(0,1fr)}
  .wm-payment-document-main>b{grid-column:2;margin-top:5px;text-align:left}
}


/* WOOZIP_RECEIPT_ORDER_DUAL_TOP3_DETAIL_TEXT_V122 */
.wm-option-recommendations-dual{margin:0;padding:16px 0;border:0;border-bottom:1px solid #e3dfe7;background:transparent}
.wm-option-top3-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.wm-option-top3-column{min-width:0;padding:11px 12px 8px;border:1px solid #e7e0ed;border-radius:14px;background:#fbf9fc;box-sizing:border-box}
.wm-option-top3-column.is-unselected{background:#fff}
.wm-option-top3-column .wm-option-recommendations-head{margin-bottom:5px}
.wm-option-top3-column .wm-option-recommendations-head h3{color:#342e39;font-size:12px;font-weight:730;line-height:1.35}
.wm-option-top3-column .wm-option-recommendations-head p{margin-top:2px;color:#8e8793;font-size:9.5px;line-height:1.35}
.wm-option-top3-column .wm-option-recommendation-item{grid-template-columns:21px minmax(0,1fr) auto;gap:7px;min-height:43px;padding:6px 0;border-bottom:1px solid #ece7f0}
.wm-option-top3-column .wm-option-recommendation-item:last-child{border-bottom:0}
.wm-option-top3-column .wm-option-recommendation-item>span{width:20px;height:20px;font-size:9px}
.wm-option-top3-column .wm-option-recommendation-item strong{font-size:11px;font-weight:680}
.wm-option-top3-column .wm-option-recommendation-item strong em{margin-left:4px;padding:2px 4px;font-size:7.5px}
.wm-option-top3-column .wm-option-recommendation-item small{font-size:9px}
.wm-option-top3-column .wm-option-recommendation-item b{font-size:14px;font-weight:750}
.wm-option-top3-empty{margin:12px 0;color:#98929c;font-size:10px;line-height:1.45}
.wm-receipt-stats-paper .wm-option-recommendations{margin-top:0}
.wm-receipt-stats-intro{padding:16px 0 12px;border-bottom:1px solid #e3dfe7}
.wm-receipt-stats-intro h3{font-size:17px}
.wm-receipt-stats-intro p{font-size:12px}
.wm-receipt-stats-intro>span{font-size:10px}
.wm-receipt-stats-paper .wm-option-stat-item{padding:12px 0;border-top:0}
.wm-receipt-stats-paper .wm-option-stat-item + .wm-option-stat-item{border-top:1px solid #e8e4eb}
.wm-receipt-stats-paper .wm-option-stat-heading h3{font-size:15px}
.wm-receipt-stats-paper .wm-option-stat-grid{grid-template-columns:minmax(0,1fr) 72px 72px;min-height:30px}
.wm-receipt-stats-paper .wm-option-stat-grid-head{font-size:10px}
.wm-receipt-stats-paper .wm-option-stat-grid span{font-size:12px}
.wm-receipt-stats-paper .wm-option-stat-grid strong{font-size:14px}
.wm-receipt-stats-paper .wm-option-stat-main strong{font-size:18px}
.wm-receipt-stats-paper .wm-option-stat-variant em{font-size:8.5px}
.wm-payment-document-intro p{font-size:11.5px}
.wm-payment-document-main>span{font-size:10px}
.wm-payment-document-main strong{font-size:14px}
.wm-payment-document-main small{font-size:11px}
.wm-payment-document-main>b{font-size:15px}
.wm-payment-document-row dt{font-size:10.5px}
.wm-payment-document-row dd{font-size:11px}
@media(max-width:420px){
  .wm-option-top3-grid{gap:6px}
  .wm-option-top3-column{padding:9px 8px 6px;border-radius:12px}
  .wm-option-top3-column .wm-option-recommendations-head h3{font-size:11.5px}
  .wm-option-top3-column .wm-option-recommendations-head p{font-size:9.5px}
  .wm-option-top3-column .wm-option-recommendation-item{grid-template-columns:18px minmax(0,1fr) auto;gap:5px;min-height:39px}
  .wm-option-top3-column .wm-option-recommendation-item>span{width:18px;height:18px;font-size:8px}
  .wm-option-top3-column .wm-option-recommendation-item strong{font-size:10.5px}
  .wm-option-top3-column .wm-option-recommendation-item small{font-size:9px}
  .wm-option-top3-column .wm-option-recommendation-item b{font-size:13px}
  .wm-receipt-stats-paper .wm-option-stat-grid{grid-template-columns:minmax(0,1fr) 64px 64px;gap:5px}
}

/* WOOZIP_TERRACE_PAYMENT_COMPACT_V125 */
.wm-payment-schedule-card .wm-feature-card-heading h2{font-size:16px}
.wm-payment-schedule-card .wm-feature-card-heading p{font-size:12px;line-height:1.5}
.wm-payment-schedule-card .wm-payment-schedule-summary{align-items:center;margin-top:16px;padding-top:14px}
.wm-payment-schedule-card .wm-payment-schedule-summary span,
.wm-payment-schedule-card .wm-payment-schedule-summary small{font-size:12px;line-height:1.45}
.wm-terrace-payment-route{position:relative;display:grid;grid-template-columns:repeat(var(--wm-payment-step-count),minmax(0,1fr));align-items:center;width:100%;margin:16px 0 10px;padding:0 2px;overflow:visible}
.wm-terrace-payment-route::before{content:"";position:absolute;top:11px;left:calc(5% + 2px);right:calc(5% + 2px);height:2px;background:#e1dae9}
.wm-terrace-payment-route-step{position:relative;z-index:1;display:grid;place-items:center;min-width:0;color:#85808b}
.wm-terrace-payment-route-step span{display:grid;place-items:center;width:23px;height:23px;border:2px solid #d7cde4;border-radius:50%;background:#fff;color:#725493;font-size:10px;font-weight:780;line-height:1}
.wm-terrace-payment-route-step.is-past span{border-color:#d9d6dc;background:#d9d6dc;color:#fff}
.wm-terrace-payment-route-step.is-current span{border-color:var(--wm-purple);background:var(--wm-purple);color:#fff;box-shadow:0 0 0 3px rgba(93,43,173,.1)}
.wm-terrace-payment-current{margin-top:4px;padding:12px 13px;border-radius:12px;background:#faf8fc}
.wm-terrace-payment-current>div{display:flex;align-items:baseline;gap:5px}
.wm-terrace-payment-current strong{min-width:0;color:#242127;font-size:14px;font-weight:760}
.wm-terrace-payment-current>div>span{color:#77717c;font-size:13px;font-weight:650}
.wm-terrace-payment-current b{color:var(--wm-purple);font-size:14px;font-weight:780;white-space:nowrap}
.wm-terrace-payment-current small{display:block;margin-top:5px;color:#85818a;font-size:12px;line-height:1.45}
.wm-payment-document-row.is-past .wm-payment-document-main>span{background:#f1f1f3!important;color:#aaa6ae!important}
.wm-payment-document-row.is-past .wm-payment-document-main strong,
.wm-payment-document-row.is-past .wm-payment-document-main small,
.wm-payment-document-row.is-past .wm-payment-document-main b,
.wm-payment-document-row.is-past dt,
.wm-payment-document-row.is-past dd{color:#aaa6ae!important}
.wm-payment-document-row.is-past dl{background:#fafafa}
@media(max-width:360px){
  .wm-terrace-payment-route-step span{width:21px;height:21px;font-size:9px}
  .wm-terrace-payment-route::before{top:10px}
  .wm-terrace-payment-current>div{align-items:flex-start}
  .wm-terrace-payment-current strong,.wm-terrace-payment-current b{font-size:13px}
}


/* WOOZIP_TYPOGRAPHY_COLOR_SYSTEM_V126
   User-facing typography and semantic color tokens.
   Scope: Terrace, receipt, payment schedule and option statistics. */
:root{
  --wm-type-page-title:33px;
  --wm-type-section-title:23px;
  --wm-type-card-title:20px;
  --wm-type-item-title:17px;
  --wm-type-body:15px;
  --wm-type-subtext:14px;
  --wm-type-meta:13px;
  --wm-type-badge:11px;
  --wm-type-amount:17px;

  --wm-color-text-primary:#202027;
  --wm-color-text-secondary:#4A4750;
  --wm-color-text-muted:#77727F;
  --wm-color-text-disabled:#9A96A3;
  --wm-color-primary:#5D2BAD;
  --wm-color-primary-dark:#49218A;
  --wm-color-primary-soft:#F2ECF8;
  --wm-color-page:#F7F6F9;
  --wm-color-card:#FFFFFF;
  --wm-color-border:#E3E0E7;
  --wm-color-success:#2E7D32;
  --wm-color-success-bg:#EDF7EF;
  --wm-color-warning:#A65D00;
  --wm-color-warning-bg:#FFF5E6;
  --wm-color-error:#C43B3B;
  --wm-color-error-bg:#FFF0F0;
}

.wm-terrace-page,
.wm-receipt-dialog{
  --wm-purple:var(--wm-color-primary);
  --wm-purple-dark:var(--wm-color-primary-dark);
  --wm-purple-soft:var(--wm-color-primary-soft);
  --wm-text:var(--wm-color-text-primary);
  --wm-muted:var(--wm-color-text-muted);
  --wm-line:var(--wm-color-border);
  color:var(--wm-color-text-primary);
}

/* Terrace hierarchy */
.wm-terrace-page .wm-page-title .wm-eyebrow{
  color:var(--wm-color-primary);
  font-size:var(--wm-type-meta);
  font-weight:700;
}
.wm-terrace-page .wm-page-title h1{
  color:var(--wm-color-text-primary);
  font-size:var(--wm-type-page-title);
}
.wm-terrace-page .wm-page-title p{
  color:var(--wm-color-text-muted);
  font-size:var(--wm-type-body);
  line-height:1.6;
}
.wm-terrace-page .wm-panel,
.wm-terrace-page .wm-feature-card{
  border-color:var(--wm-color-border);
  background:var(--wm-color-card);
}
.wm-terrace-page .wm-active-complex-panel small{
  color:var(--wm-color-text-muted);
  font-size:var(--wm-type-meta);
}
.wm-terrace-page .wm-active-complex-panel strong{
  color:var(--wm-color-text-primary);
  font-size:var(--wm-type-item-title);
  line-height:1.4;
}
.wm-terrace-page .wm-active-complex-panel button{
  color:var(--wm-color-primary-dark);
  font-size:var(--wm-type-subtext);
}
.wm-terrace-page .wm-panel-heading h2{
  color:var(--wm-color-text-primary);
  font-size:var(--wm-type-card-title);
}
.wm-terrace-page .wm-panel-heading p{
  color:var(--wm-color-text-muted);
  font-size:var(--wm-type-subtext);
  line-height:1.55;
}
.wm-terrace-page .wm-saved-receipt-card span{
  color:var(--wm-color-text-muted);
  font-size:var(--wm-type-meta);
}
.wm-terrace-page .wm-saved-receipt-card strong{
  color:var(--wm-color-text-primary);
  font-size:var(--wm-type-body);
  font-weight:650;
}
.wm-terrace-page .wm-saved-receipt-card b{
  color:var(--wm-color-primary);
  font-size:var(--wm-type-amount);
}
.wm-terrace-page .wm-feature-card h2,
.wm-terrace-page .wm-payment-schedule-card .wm-feature-card-heading h2{
  color:var(--wm-color-text-primary);
  font-size:var(--wm-type-card-title);
  font-weight:700;
}
.wm-terrace-page .wm-feature-card p,
.wm-terrace-page .wm-payment-schedule-card .wm-feature-card-heading p{
  color:var(--wm-color-text-muted);
  font-size:var(--wm-type-subtext);
  line-height:1.55;
}
.wm-terrace-page .wm-payment-schedule-summary span,
.wm-terrace-page .wm-payment-schedule-summary small{
  color:var(--wm-color-text-secondary);
  font-size:var(--wm-type-meta);
  line-height:1.45;
}
.wm-terrace-page .wm-payment-schedule-summary small{
  color:var(--wm-color-text-muted);
}
.wm-terrace-page .wm-terrace-payment-route::before{
  background:#DED7E8;
}
.wm-terrace-page .wm-terrace-payment-route-step span{
  border-color:#D7CDE4;
  color:var(--wm-color-primary-dark);
  font-size:var(--wm-type-badge);
}
.wm-terrace-page .wm-terrace-payment-route-step.is-past span{
  border-color:#D7D4DB;
  background:#D7D4DB;
  color:#fff;
}
.wm-terrace-page .wm-terrace-payment-route-step.is-current span{
  border-color:var(--wm-color-primary);
  background:var(--wm-color-primary);
  color:#fff;
}
.wm-terrace-page .wm-terrace-payment-current{
  background:#FAF8FC;
}
.wm-terrace-page .wm-terrace-payment-current strong{
  color:var(--wm-color-text-primary);
  font-size:var(--wm-type-item-title);
}
.wm-terrace-page .wm-terrace-payment-current>div>span{
  color:var(--wm-color-text-secondary);
  font-size:var(--wm-type-body);
}
.wm-terrace-page .wm-terrace-payment-current b{
  color:var(--wm-color-primary);
  font-size:var(--wm-type-amount);
}
.wm-terrace-page .wm-terrace-payment-current small{
  color:var(--wm-color-text-muted);
  font-size:var(--wm-type-subtext);
}
.wm-terrace-page .wm-payment-schedule-state p,
.wm-terrace-page .wm-receipt-list-state p{
  color:var(--wm-color-text-secondary);
  font-size:var(--wm-type-subtext);
}
.wm-terrace-page .wm-payment-schedule-state small,
.wm-terrace-page .wm-receipt-list-state>span:not(.wm-config-spinner){
  color:var(--wm-color-text-muted);
  font-size:var(--wm-type-meta);
}
.wm-terrace-page .wm-payment-schedule-state button,
.wm-terrace-page .wm-receipt-list-state button{
  background:var(--wm-color-primary);
  font-size:var(--wm-type-subtext);
}

/* Receipt dialog and shared tab typography */
.wm-receipt-dialog .wm-receipt-scroll{background:var(--wm-color-page)}
.wm-receipt-dialog .wm-receipt-paper{color:var(--wm-color-text-primary)}
.wm-receipt-dialog .wm-receipt-tabs button{
  color:var(--wm-color-text-muted);
  font-size:var(--wm-type-subtext);
}
.wm-receipt-dialog .wm-receipt-tabs button.is-active{
  color:var(--wm-color-primary-dark);
}
.wm-receipt-dialog .wm-receipt-paper-head p strong{
  color:var(--wm-color-text-primary);
  font-size:19px;
}
.wm-receipt-dialog .wm-receipt-paper-head p span{
  color:var(--wm-color-text-muted);
  font-size:var(--wm-type-subtext);
}
.wm-receipt-dialog .wm-receipt-section h3{
  color:var(--wm-color-text-primary);
  font-size:var(--wm-type-item-title);
}
.wm-receipt-dialog .wm-receipt-section-title span{
  color:var(--wm-color-text-muted);
  font-size:var(--wm-type-meta);
}
.wm-receipt-dialog .wm-receipt-row dt,
.wm-receipt-dialog .wm-receipt-option-name{
  color:var(--wm-color-text-secondary);
  font-size:var(--wm-type-body);
}
.wm-receipt-dialog .wm-receipt-row dd,
.wm-receipt-dialog .wm-receipt-option-price{
  color:var(--wm-color-text-primary);
  font-size:var(--wm-type-body);
}
.wm-receipt-dialog .wm-receipt-subtotal .wm-receipt-row dd{
  color:var(--wm-color-primary);
  font-size:16px;
}
.wm-receipt-dialog .wm-receipt-plan span strong{
  color:var(--wm-color-text-primary);
  font-size:var(--wm-type-body);
}
.wm-receipt-dialog .wm-receipt-plan span small{
  color:var(--wm-color-text-muted);
  font-size:var(--wm-type-subtext);
}
.wm-receipt-dialog .wm-receipt-plan b{
  color:var(--wm-color-text-primary);
  font-size:var(--wm-type-body);
}
.wm-receipt-dialog .wm-receipt-final span{
  color:var(--wm-color-text-secondary);
  font-size:var(--wm-type-item-title);
}
.wm-receipt-dialog .wm-receipt-final strong{
  color:var(--wm-color-primary);
  font-size:23px;
}
.wm-receipt-dialog .wm-receipt-caution{
  color:var(--wm-color-text-muted);
  font-size:var(--wm-type-meta);
}
.wm-receipt-dialog .wm-receipt-actions button{
  font-size:var(--wm-type-body);
}

/* Payment schedule detail tab */
.wm-receipt-dialog .wm-payment-document-intro h3{
  color:var(--wm-color-text-primary);
  font-size:19px;
}
.wm-receipt-dialog .wm-payment-document-intro p{
  color:var(--wm-color-text-muted);
  font-size:var(--wm-type-subtext);
}
.wm-receipt-dialog .wm-payment-document-intro>strong{
  color:var(--wm-color-primary);
  font-size:19px;
}
.wm-receipt-dialog .wm-payment-document-main>span{
  font-size:var(--wm-type-badge);
}
.wm-receipt-dialog .wm-payment-document-main strong{
  color:var(--wm-color-text-primary);
  font-size:16px;
}
.wm-receipt-dialog .wm-payment-document-main small{
  color:var(--wm-color-text-muted);
  font-size:var(--wm-type-subtext);
}
.wm-receipt-dialog .wm-payment-document-main>b{
  color:var(--wm-color-text-primary);
  font-size:16px;
}
.wm-receipt-dialog .wm-payment-document-row dt{
  color:var(--wm-color-text-muted);
  font-size:var(--wm-type-meta);
}
.wm-receipt-dialog .wm-payment-document-row dd{
  color:var(--wm-color-text-secondary);
  font-size:var(--wm-type-subtext);
}
.wm-receipt-dialog .wm-payment-document-row.is-past .wm-payment-document-main>span{
  background:#F1F1F3!important;
  color:var(--wm-color-text-disabled)!important;
}
.wm-receipt-dialog .wm-payment-document-row.is-past .wm-payment-document-main strong,
.wm-receipt-dialog .wm-payment-document-row.is-past .wm-payment-document-main small,
.wm-receipt-dialog .wm-payment-document-row.is-past .wm-payment-document-main b,
.wm-receipt-dialog .wm-payment-document-row.is-past dt,
.wm-receipt-dialog .wm-payment-document-row.is-past dd{
  color:var(--wm-color-text-disabled)!important;
}

/* Option selection rate and dual Top 3 */
.wm-receipt-dialog .wm-receipt-stats-intro h3{
  color:var(--wm-color-text-primary);
  font-size:19px;
}
.wm-receipt-dialog .wm-receipt-stats-intro p{
  color:var(--wm-color-text-muted);
  font-size:var(--wm-type-subtext);
}
.wm-receipt-dialog .wm-receipt-stats-intro>span{
  color:var(--wm-color-primary);
  font-size:var(--wm-type-badge);
}
.wm-receipt-dialog .wm-option-top3-column .wm-option-recommendations-head h3{
  color:var(--wm-color-text-primary);
  font-size:14px;
}
.wm-receipt-dialog .wm-option-top3-column .wm-option-recommendations-head p{
  color:var(--wm-color-text-muted);
  font-size:12px;
}
.wm-receipt-dialog .wm-option-top3-column .wm-option-recommendation-item>span{
  color:var(--wm-color-primary-dark);
  font-size:var(--wm-type-badge);
}
.wm-receipt-dialog .wm-option-top3-column .wm-option-recommendation-item strong{
  color:var(--wm-color-text-secondary);
  font-size:13px;
}
.wm-receipt-dialog .wm-option-top3-column .wm-option-recommendation-item strong em{
  color:var(--wm-color-primary);
  font-size:9px;
}
.wm-receipt-dialog .wm-option-top3-column .wm-option-recommendation-item small{
  color:var(--wm-color-text-muted);
  font-size:12px;
}
.wm-receipt-dialog .wm-option-top3-column .wm-option-recommendation-item b{
  color:var(--wm-color-primary);
  font-size:15px;
}
.wm-receipt-dialog .wm-option-top3-empty{
  color:var(--wm-color-text-muted);
  font-size:var(--wm-type-meta);
}
.wm-receipt-dialog .wm-receipt-stats-paper .wm-option-stat-heading h3{
  color:var(--wm-color-text-primary);
  font-size:16px;
}
.wm-receipt-dialog .wm-receipt-stats-paper .wm-option-stat-grid-head{
  color:var(--wm-color-text-muted);
  font-size:12px;
}
.wm-receipt-dialog .wm-receipt-stats-paper .wm-option-stat-grid span{
  color:var(--wm-color-text-secondary);
  font-size:13px;
}
.wm-receipt-dialog .wm-receipt-stats-paper .wm-option-stat-grid strong{
  color:var(--wm-color-primary);
  font-size:16px;
}
.wm-receipt-dialog .wm-receipt-stats-paper .wm-option-stat-main strong{
  font-size:19px;
}
.wm-receipt-dialog .wm-receipt-stats-paper .wm-option-stat-variant em{
  color:var(--wm-color-primary);
  font-size:9px;
}

@media(max-width:420px){
  .wm-receipt-dialog .wm-option-top3-column{padding:10px 9px 7px}
  .wm-receipt-dialog .wm-option-top3-column .wm-option-recommendations-head h3{font-size:13px}
  .wm-receipt-dialog .wm-option-top3-column .wm-option-recommendations-head p{font-size:11px}
  .wm-receipt-dialog .wm-option-top3-column .wm-option-recommendation-item{grid-template-columns:20px minmax(0,1fr) auto;gap:6px;min-height:44px}
  .wm-receipt-dialog .wm-option-top3-column .wm-option-recommendation-item>span{width:20px;height:20px;font-size:10px}
  .wm-receipt-dialog .wm-option-top3-column .wm-option-recommendation-item strong{font-size:12px}
  .wm-receipt-dialog .wm-option-top3-column .wm-option-recommendation-item small{font-size:11px}
  .wm-receipt-dialog .wm-option-top3-column .wm-option-recommendation-item b{font-size:14px}
  .wm-receipt-dialog .wm-receipt-stats-paper .wm-option-stat-grid{grid-template-columns:minmax(0,1fr) 68px 68px;gap:6px}
}

@media(max-width:360px){
  .wm-terrace-page .wm-terrace-payment-route-step span{font-size:10px}
  .wm-terrace-page .wm-terrace-payment-current strong{font-size:16px}
  .wm-terrace-page .wm-terrace-payment-current b{font-size:16px}
}


/* v127: global typography/color rollout + terrace complex summary */
:root{
  --wm-purple:var(--wm-color-primary);
  --wm-purple-dark:var(--wm-color-primary-dark);
  --wm-purple-soft:var(--wm-color-primary-soft);
  --wm-text:var(--wm-color-text-primary);
  --wm-muted:var(--wm-color-text-muted);
  --wm-line:var(--wm-color-border);
  --wm-surface:var(--wm-color-card);
  --wm-surface-soft:var(--wm-color-page);
}
body,
.wm-app{
  color:var(--wm-color-text-primary);
}

/* Apply the shared text system to every user-facing page and dialog. */
.wm-page .wm-eyebrow,
.wm-page .wm-community-head>span,
.wm-page .wm-breadcrumb{
  color:var(--wm-color-primary);
  font-size:var(--wm-type-meta)!important;
  font-weight:700;
}
.wm-page .wm-hero h1,
.wm-page .wm-page-title h1,
.wm-page .wm-community-head h1{
  color:var(--wm-color-text-primary);
  font-size:var(--wm-type-page-title)!important;
  line-height:1.2;
}
.wm-page .wm-hero p,
.wm-page .wm-page-title p,
.wm-page .wm-community-head p{
  color:var(--wm-color-text-muted)!important;
  font-size:var(--wm-type-body)!important;
  line-height:1.6;
  font-weight:500;
}
.wm-page .wm-section-heading h2,
.wm-page .wm-panel-heading h2,
.wm-page .wm-calculator-heading h2,
.wm-page .wm-feature-card h2,
.wm-page .wm-account-section-heading h2{
  color:var(--wm-color-text-primary);
  font-size:var(--wm-type-card-title)!important;
  line-height:1.35;
}
.wm-page .wm-section-heading p,
.wm-page .wm-panel-heading p,
.wm-page .wm-calculator-heading p,
.wm-page .wm-feature-card p{
  color:var(--wm-color-text-muted)!important;
  font-size:var(--wm-type-subtext)!important;
  line-height:1.55;
}
.wm-page h3:not(.wm-visually-hidden),
.wm-page .wm-community-card-copy h2,
.wm-page .wm-account-activity-item strong,
.wm-page .wm-complex-body h3{
  color:var(--wm-color-text-primary);
  font-size:var(--wm-type-item-title)!important;
  line-height:1.4;
}
.wm-page h4,
.wm-page h5,
.wm-page legend{
  color:var(--wm-color-text-primary);
  font-size:var(--wm-type-body)!important;
  line-height:1.4;
}
.wm-page p,
.wm-page li,
.wm-page dt,
.wm-page dd,
.wm-page label,
.wm-page input,
.wm-page select,
.wm-page textarea{
  font-size:var(--wm-type-subtext)!important;
}
.wm-page p,
.wm-page dt,
.wm-page label{
  color:var(--wm-color-text-secondary);
}
.wm-page small,
.wm-page footer,
.wm-page .wm-card-topline,
.wm-page .wm-search-result-count,
.wm-page .wm-source-note{
  color:var(--wm-color-text-muted)!important;
  font-size:var(--wm-type-meta)!important;
  line-height:1.5;
}
.wm-page button:not(.wm-icon-button):not(.wm-interest-button):not(.wm-option-info-button):not(.wm-option-dialog-close):not(.wm-community-dialog-close):not(.wm-account-dialog-close),
.wm-page a.wm-community-entry,
.wm-page .wm-login-button{
  font-size:var(--wm-type-subtext)!important;
}

/* Core page-specific text that previously used 8–13px. */
.wm-page .wm-card-facts dt,
.wm-page .wm-complex-summary dt,
.wm-page .wm-home-overview span,
.wm-page .wm-selected-price span small,
.wm-page .wm-selected-price em,
.wm-page .wm-calculator-basis small,
.wm-page .wm-calculator-basis p,
.wm-page .wm-inline-empty,
.wm-page .wm-summary-card>p,
.wm-page .wm-account-activity-item p,
.wm-page .wm-community-card-copy>p,
.wm-page .wm-community-detail-header p,
.wm-page .wm-community-checklist p,
.wm-page .wm-community-comment-list article>p,
.wm-page .wm-home-community-grid small{
  color:var(--wm-color-text-muted)!important;
  font-size:var(--wm-type-meta)!important;
  line-height:1.55;
}
.wm-page .wm-card-facts dd,
.wm-page .wm-complex-summary dd,
.wm-page .wm-home-overview strong,
.wm-page .wm-basic-info-list dt,
.wm-page .wm-basic-info-list dd,
.wm-page .wm-schedule-list dt,
.wm-page .wm-schedule-list dd,
.wm-page .wm-summary-rows dt,
.wm-page .wm-summary-rows dd,
.wm-page .wm-price-row strong,
.wm-page .wm-price-row span,
.wm-page .wm-community-detail-content,
.wm-page .wm-community-checklist b,
.wm-page .wm-community-comment-list header strong,
.wm-page .wm-home-community-grid strong{
  font-size:var(--wm-type-subtext)!important;
  line-height:1.5;
}
.wm-page .wm-option-check-name>span,
.wm-page .wm-option-check-row>strong,
.wm-page .wm-option-choice span,
.wm-page .wm-option-choice strong,
.wm-page .wm-block-options button,
.wm-page .wm-type-floor-row label,
.wm-page .wm-structure-options span{
  font-size:var(--wm-type-subtext)!important;
}
.wm-page .wm-summary-card-head>strong,
.wm-page .wm-summary-total dd,
.wm-page .wm-selected-price span strong{
  color:var(--wm-color-primary)!important;
  font-size:var(--wm-type-amount)!important;
}
.wm-page .wm-community-write,
.wm-page .wm-search-control button,
.wm-page .wm-summary-actions button,
.wm-page .wm-account-form>button,
.wm-page .wm-catalog-state button{
  background:var(--wm-color-primary);
  color:#fff;
}

/* Keep truly compact UI elements compact. */
.wm-status,
.wm-community-card-badges span,
.wm-community-detail-header>div>span,
.wm-community-poll button em,
.wm-community-image-previews figure>span,
.wm-option-info summary,
.wm-option-info-button,
.wm-receipt-stats-intro>span{
  font-size:var(--wm-type-badge)!important;
}
.wm-bottom-nav a>small{
  font-size:var(--wm-type-badge)!important;
}

/* Community header is plain white; no lavender hero background. */
.wm-global-community-page .wm-community-head,
.wm-community-page .wm-community-head{
  background:transparent!important;
  box-shadow:none!important;
}

/* Terrace complex card: name + move-in D-day only. */
.wm-terrace-complex-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:112px;
}
.wm-terrace-complex-copy{
  min-width:0;
}
.wm-terrace-complex-copy strong,
.wm-terrace-complex-copy small{
  display:block;
}
.wm-terrace-complex-copy strong{
  overflow:hidden;
  color:var(--wm-color-text-primary);
  font-size:var(--wm-type-card-title);
  line-height:1.4;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.wm-terrace-complex-copy small{
  margin-top:7px;
  color:var(--wm-color-text-muted)!important;
  font-size:var(--wm-type-subtext)!important;
}
.wm-terrace-movein-dday{
  display:grid;
  flex:0 0 auto;
  justify-items:end;
  gap:2px;
  text-align:right;
}
.wm-terrace-movein-dday span{
  color:var(--wm-color-text-muted);
  font-size:var(--wm-type-meta);
  font-weight:650;
}
.wm-terrace-movein-dday b{
  color:var(--wm-color-primary);
  font-size:23px;
  line-height:1.2;
}
.wm-terrace-movein-dday small{
  color:var(--wm-color-text-disabled)!important;
  font-size:12px!important;
}

/* Dialogs outside .wm-page use the same scale. */
.wm-auth-dialog-panel h2,
.wm-account-dialog-panel h2,
.wm-community-editor-panel h2{
  color:var(--wm-color-text-primary);
  font-size:var(--wm-type-card-title)!important;
}
.wm-auth-dialog-panel p,
.wm-account-dialog-panel p,
.wm-community-detail-panel p,
.wm-community-editor-panel p,
.wm-auth-dialog-panel label,
.wm-account-dialog-panel label,
.wm-community-editor-panel label{
  font-size:var(--wm-type-subtext)!important;
  line-height:1.55;
}
.wm-auth-dialog-panel small,
.wm-account-dialog-panel small,
.wm-community-detail-panel small,
.wm-community-editor-panel small{
  font-size:var(--wm-type-meta)!important;
}
.wm-auth-dialog-panel input,
.wm-account-dialog-panel input,
.wm-community-editor-panel input,
.wm-community-editor-panel textarea,
.wm-community-editor-panel select,
.wm-auth-dialog-panel button,
.wm-account-dialog-panel button,
.wm-community-editor-panel button{
  font-size:var(--wm-type-subtext)!important;
}

@media(max-width:420px){
  .wm-terrace-complex-card{min-height:104px;padding:17px 16px}
  .wm-terrace-movein-dday b{font-size:20px}
  .wm-page .wm-community-head h1{font-size:33px!important}
}


/* v129: fixed 33px page titles + simplified home/my/terrace structure */
.wm-page .wm-hero h1,
.wm-page .wm-page-title h1,
.wm-page .wm-community-head h1{
  font-size:33px!important;
}
.wm-selected-home-actions{
  grid-template-columns:minmax(0,1fr)!important;
}
.wm-selected-home-actions>a:only-child{
  width:100%;
}
@media(max-width:420px){
  .wm-page .wm-hero h1,
  .wm-page .wm-page-title h1,
  .wm-page .wm-community-head h1{font-size:33px!important}
}

/* v130 · 단지 상세 지도 슬롯 및 홈형 단지 카드 */
.wm-complex-detail-hero{
  display:block;
  overflow:hidden;
}
.wm-complex-map-slot{
  position:relative;
  min-height:210px;
  background:#eeebf4;
}
.wm-complex-map-slot[data-map-ready="true"] .wm-complex-map-placeholder{
  display:none;
}
.wm-complex-map-placeholder{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  color:var(--wm-purple);
  text-align:center;
}
.wm-complex-map-placeholder strong{
  font-size:16px;
  font-weight:700;
}
.wm-complex-map-placeholder span{
  color:var(--wm-muted);
  font-size:13px;
}
.wm-complex-home-summary{
  border:0;
  border-radius:0;
  box-shadow:none;
}
.wm-complex-home-summary h1{
  margin:8px 0 0;
  font-size:33px;
  line-height:1.2;
}
.wm-complex-home-summary>p{
  margin:8px 0 0;
  color:var(--wm-muted);
  font-size:15px;
  line-height:1.55;
}
.wm-calculator-basis>div{
  justify-content:flex-start;
  margin-bottom:8px;
}

@media (min-width:760px){
  .wm-complex-detail-hero{
    display:block;
  }
  .wm-complex-map-slot{
    min-height:280px;
  }
  .wm-complex-home-summary{
    padding:26px;
  }
}

/* v131 · 단지정보 탭/접이식 정보 카드/지도 슬롯 정리 */
.wm-tabs button.is-disabled,
.wm-tabs button:disabled{
  color:#aaa7b0;
  opacity:.62;
  cursor:not-allowed;
  box-shadow:none;
}
.wm-tabs button.is-disabled:hover,
.wm-tabs button:disabled:hover{
  background:transparent;
}
.wm-complex-map-placeholder{
  min-height:inherit;
}
.wm-collapsible-panel{
  padding:0;
  overflow:hidden;
}
.wm-collapsible-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:76px;
  padding:18px;
  cursor:pointer;
  list-style:none;
}
.wm-collapsible-summary::-webkit-details-marker{display:none}
.wm-collapsible-summary::marker{display:none;content:''}
.wm-collapsible-summary .wm-panel-heading{
  min-width:0;
  margin:0;
}
.wm-collapsible-chevron{
  flex:0 0 auto;
  color:var(--wm-muted);
  font-size:19px;
  line-height:1;
  transform:rotate(0deg);
  transition:transform .18s ease;
}
.wm-collapsible-panel[open] .wm-collapsible-chevron{
  transform:rotate(180deg);
}
.wm-collapsible-content{
  padding:0 18px 18px;
  border-top:1px solid var(--wm-line);
}
.wm-collapsible-content>.wm-basic-info-list,
.wm-collapsible-content>.wm-schedule-list{
  padding-top:2px;
}
@media(min-width:700px){
  .wm-collapsible-summary{padding:22px 24px}
  .wm-collapsible-content{padding:0 24px 24px}
}

/* v132 · 단지 기본정보 안내 문구와 분양가·청약정보 내부 탭 */
.wm-inner-info-tabs{
  position:relative;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  padding-top:18px;
}
.wm-inner-info-tabs>input{
  position:absolute;
  inline-size:1px;
  block-size:1px;
  opacity:0;
  pointer-events:none;
}
.wm-inner-info-tabs>label{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:10px 14px;
  border:1px solid var(--wm-line);
  color:var(--wm-color-text-muted,var(--wm-muted));
  background:#f6f5f8;
  font-size:var(--wm-type-body);
  font-weight:700;
  cursor:pointer;
}
.wm-inner-info-tabs>label:first-of-type{
  border-radius:14px 0 0 14px;
}
.wm-inner-info-tabs>label:nth-of-type(2){
  border-left:0;
  border-radius:0 14px 14px 0;
}
.wm-inner-info-tabs>#wm-inner-price-tab:checked+label,
.wm-inner-info-tabs>#wm-inner-application-tab:checked+label{
  color:var(--wm-color-primary,var(--wm-purple));
  background:#fff;
  box-shadow:0 3px 10px rgba(40,24,70,.06);
}
.wm-inner-info-tabs>#wm-inner-price-tab:focus-visible+label,
.wm-inner-info-tabs>#wm-inner-application-tab:focus-visible+label{
  outline:2px solid var(--wm-color-primary,var(--wm-purple));
  outline-offset:2px;
}
.wm-inner-info-panels{
  grid-column:1/-1;
  padding-top:18px;
}
.wm-inner-info-panel{
  display:none;
}
.wm-inner-info-tabs>#wm-inner-price-tab:checked~.wm-inner-info-panels .wm-inner-price-panel,
.wm-inner-info-tabs>#wm-inner-application-tab:checked~.wm-inner-info-panels .wm-inner-application-panel{
  display:block;
}
.wm-sale-price-list{
  margin:0;
}
.wm-sale-price-list>div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:14px 0;
  border-bottom:1px solid var(--wm-line);
}
.wm-sale-price-list>div:last-child{
  border-bottom:0;
}
.wm-sale-price-list dt{
  color:var(--wm-color-text-primary,var(--wm-ink));
  font-size:var(--wm-type-body);
  font-weight:700;
}
.wm-sale-price-list dd{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:5px;
  margin:0;
  color:var(--wm-color-text-secondary,#4a4750);
  font-size:var(--wm-type-subtext);
  font-weight:700;
  text-align:right;
}
.wm-sale-price-list dd b{
  color:var(--wm-color-text-disabled,#9a96a3);
  font-weight:500;
}
.wm-inner-info-section+ .wm-inner-info-section{
  margin-top:22px;
  padding-top:22px;
  border-top:1px solid var(--wm-line);
}
.wm-inner-info-section>h3{
  margin:0 0 12px;
  color:var(--wm-color-text-primary,var(--wm-ink));
  font-size:var(--wm-type-item-title);
}
.wm-price-application-panel .wm-application-supply-list article{
  padding:14px;
}
@media(max-width:520px){
  .wm-inner-info-tabs{
    padding-top:14px;
  }
  .wm-inner-info-tabs>label{
    min-height:44px;
    padding:9px 12px;
  }
  .wm-inner-info-panels{
    padding-top:14px;
  }
  .wm-sale-price-list>div{
    align-items:flex-start;
    gap:12px;
    padding:13px 0;
  }
  .wm-sale-price-list dd{
    max-width:68%;
  }
  .wm-sale-price-list dd span{
    display:block;
  }
}


/* v133 · 홈 단지 카드 바로 아래 기능 이동, 커뮤니티 미리보기 정리 */
.wm-selected-home-page{
  gap:16px;
}
.wm-home-shortcuts{
  order:0;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.wm-home-shortcuts a,
.wm-home-shortcuts button{
  display:block;
  width:100%;
  min-width:0;
  min-height:78px;
  padding:14px 12px;
  border:1px solid var(--wm-line);
  border-radius:16px;
  background:#fff;
  color:var(--wm-color-text-primary,var(--wm-text));
  box-shadow:var(--wm-shadow);
  text-align:left;
  cursor:pointer;
}
.wm-home-shortcuts button{
  appearance:none;
}
.wm-home-shortcuts span,
.wm-home-shortcut-disabled span{
  color:var(--wm-color-primary,var(--wm-purple));
  font-size:var(--wm-type-meta)!important;
  font-weight:700;
  line-height:1.35;
}
.wm-home-shortcuts strong,
.wm-home-shortcut-disabled strong{
  margin-top:7px;
  color:var(--wm-color-text-primary,var(--wm-text));
  font-size:var(--wm-type-body)!important;
  font-weight:700;
  line-height:1.35;
  word-break:keep-all;
}
.wm-home-shortcut-disabled{
  min-width:0;
  min-height:78px;
  padding:14px 12px;
  border:1px solid var(--wm-line);
  border-radius:16px;
  background:#f8f8fa;
  box-shadow:none;
}
.wm-home-shortcut-disabled span,
.wm-home-shortcut-disabled strong{
  display:block;
}
.wm-home-shortcut-disabled strong{
  color:var(--wm-color-text-disabled,#9a96a3);
}
.wm-home-community{
  margin-top:0;
}
.wm-home-community .wm-panel-heading-row{
  display:block;
}
.wm-home-community-grid h3{
  color:var(--wm-color-text-secondary,#4a4750);
  font-size:var(--wm-type-body)!important;
}
.wm-home-community-grid strong{
  font-size:var(--wm-type-subtext)!important;
}
.wm-home-community-grid small{
  font-size:var(--wm-type-meta)!important;
}
.wm-schedule-list dt{
  min-width:0;
}
.wm-schedule-list dd{
  max-width:62%;
  white-space:normal;
}
@media(max-width:390px){
  .wm-home-shortcuts{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
  }
  .wm-home-shortcuts a,
  .wm-home-shortcuts button,
  .wm-home-shortcut-disabled{
    min-height:76px;
    padding:12px 9px;
  }
  .wm-home-shortcuts strong,
  .wm-home-shortcut-disabled strong{
    font-size:14px!important;
  }
  .wm-schedule-list div{
    gap:10px;
  }
  .wm-schedule-list dd{
    max-width:58%;
  }
}


/* WOOZIP_V146_RESTORE_BLOCK_BASIC_INFO_ONLY */
.wm-block-basic-section{margin-top:22px;padding-top:20px;border-top:1px solid var(--color-border,#e3e0e7)}
.wm-block-basic-section h3{margin:0 0 14px;font-size:17px;line-height:1.35;color:var(--color-text-primary,#202027)}
.wm-block-basic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.wm-block-basic-grid article{padding:16px;border:1px solid var(--color-border,#e3e0e7);border-radius:16px;background:#faf9fc}
.wm-block-basic-grid h4{margin:0 0 12px;font-size:17px;color:var(--color-primary,#5d2bad)}
.wm-block-basic-grid dl{margin:0}
.wm-block-basic-grid dl div{display:grid;grid-template-columns:minmax(72px,.8fr) minmax(0,1.6fr);gap:12px;padding:9px 0;border-top:1px solid #ebe8ef}
.wm-block-basic-grid dl div:first-child{border-top:0;padding-top:0}
.wm-block-basic-grid dt{font-size:13px;color:var(--color-text-muted,#77727f)}
.wm-block-basic-grid dd{margin:0;font-size:14px;line-height:1.45;text-align:right;color:var(--color-text-primary,#202027);font-weight:650;word-break:keep-all}
@media (max-width:640px){.wm-block-basic-grid{grid-template-columns:1fr}.wm-block-basic-grid article{padding:15px}.wm-block-basic-grid dt{font-size:13px}.wm-block-basic-grid dd{font-size:14px}}
