@charset "utf-8";
/**
 * Plus 페이지 — Pro 셸과 같은 심플 톤
 * body.wr-plus 로만 적용. 글꼴 통일, 본문 400, 테두리 1px, 버튼 4px.
 * cache-bust: 2026-10-07-aab-css
 */

body.wr-plus,
body.wr-plus input,
body.wr-plus select,
body.wr-plus textarea,
body.wr-plus button {
  font-family: 'Noto Sans', -apple-system, BlinkMacSystemFont, 'Malgun Gothic', '맑은 고딕', Arial, sans-serif;
}

body.wr-plus #body_gen.divText,
body.wr-plus .wr-plus-page,
body.wr-plus .wr-tools-wrap,
body.wr-plus .article.wr-plus-page {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
  padding: 12px 10px 24px;
  box-sizing: border-box;
}

/* fortune: 본문·미디어 컨테이너 720px */
body.wr-plus #body_gen.divText.wr-plus-page {
  max-width: 720px;
}

body.wr-plus #body_gen .mediaContainer {
  max-width: 720px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

/* 중첩 .divText 좌우 패딩 중복 제거 */
body.wr-plus #body_gen.divText .divText {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}

body.wr-plus #body_gen.divText .ft-userinput {
  padding-left: 0;
  padding-right: 0;
}

body.wr-plus h1,
body.wr-plus h2,
body.wr-plus h3,
body.wr-plus h4,
body.wr-plus h5,
body.wr-plus .wr-card-title,
body.wr-plus .wr-gate-h,
body.wr-plus .haemong-dict-head h3 {
  font-family: inherit;
  font-weight: 700;
  color: var(--text-primary);
}

body.wr-plus p,
body.wr-plus li,
body.wr-plus td,
body.wr-plus th,
body.wr-plus dd,
body.wr-plus label,
body.wr-plus span,
body.wr-plus .wr-card-desc,
body.wr-plus .wr-tools-lead,
body.wr-plus .haemong-dict-head p,
body.wr-plus .defines-topic-text {
  font-weight: 400;
}

body.wr-plus #body_gen,
body.wr-plus .wr-plus-page,
body.wr-plus .wr-tools-wrap {
  color: var(--text-primary);
}

/* —— 표 / 박스 —— */
body.wr-plus table {
  border-collapse: collapse;
}

body.wr-plus #body_gen table,
body.wr-plus .wr-plus-page table,
body.wr-plus .wr-tools-wrap table {
  border-color: var(--border-color);
}

body.wr-plus #body_gen th,
body.wr-plus #body_gen td,
body.wr-plus .wr-plus-page th,
body.wr-plus .wr-plus-page td {
  border-color: var(--border-color);
  font-weight: 400;
}

body.wr-plus .divPurple,
body.wr-plus .divGrey,
body.wr-plus .divBlue,
body.wr-plus .divGreen,
body.wr-plus .date_result,
body.wr-plus .haemong-dict-section,
body.wr-plus .haemong-items,
body.wr-plus .haemong-detail,
body.wr-plus .haemong-search,
body.wr-plus #play-speed.play-speed {
  border: 1px solid var(--border-color);
  border-radius: 4px;
  box-shadow: none;
  background: var(--bg-secondary);
  color: var(--text-primary);
}

body.wr-plus .haemong-items,
body.wr-plus .haemong-detail,
body.wr-plus .haemong-search {
  background: var(--bg-primary);
}

body.wr-plus .messageInfo1,
body.wr-plus .messageInfo2,
body.wr-plus .messageInfo3,
body.wr-plus .messageNow {
  border-top: 1px solid var(--border-color);
  border-bottom: 1px solid var(--border-color);
  border-left: none;
  border-right: none;
  border-radius: 0;
  color: var(--text-primary);
  background: transparent;
}

body.wr-plus .messageInfo3,
body.wr-plus .messageNow {
  background: var(--bg-secondary);
}

body.wr-plus .tableAi h1,
body.wr-plus .tableAi h3 {
  font-family: inherit;
  font-size: 1.2em;
  font-weight: 700;
}

body.wr-plus .tableAi p {
  color: var(--text-secondary);
  font-weight: 400;
}

body.wr-plus #birthInputBox {
  border: 1px solid var(--border-color);
  border-radius: 4px;
}

body.wr-plus .donut {
  box-shadow: none;
}

/* —— fortune 리포트: 장식 박스·표 테두리 제거 —— */
body.wr-plus #body_gen .mediaContainer > section table,
body.wr-plus #body_gen .mediaContainer > section th,
body.wr-plus #body_gen .mediaContainer > section td,
body.wr-plus #body_gen .mediaContainer > .btn table,
body.wr-plus #body_gen .mediaContainer > .btn th,
body.wr-plus #body_gen .mediaContainer > .btn td {
  border: none !important;
  background: transparent;
}

/* 연애운 '내 운명의 짝' 수배지(wanted.png) — 위 table 투명화에서 제외 */
body.wr-plus #body_gen table.wr-love-wanted,
body.wr-plus #body_gen .mediaContainer table.wr-love-wanted {
  width: 300px;
  max-width: 90vw;
  height: 400px;
  margin: 0 auto;
  border: none !important;
  background: url('https://weirdreports.com/v1/img/wanted.png') no-repeat center / contain !important;
  background-color: transparent !important;
}
body.wr-plus #body_gen table.wr-love-wanted td {
  background: transparent !important;
  border: none !important;
}

body.wr-plus #body_gen .divPurple,
body.wr-plus #body_gen .divGrey,
body.wr-plus #body_gen .divBlue,
body.wr-plus #body_gen .divGreen,
body.wr-plus #body_gen .divRed,
body.wr-plus #body_gen .divText,
body.wr-plus #body_gen .date_result,
body.wr-plus #body_gen .me0,
body.wr-plus #body_gen .now_graph,
body.wr-plus #body_gen .btn,
body.wr-plus #body_gen .messageNow,
body.wr-plus #body_gen .messageInfo1,
body.wr-plus #body_gen .messageInfo2,
body.wr-plus #body_gen .messageInfo3 {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* 종합운 하단 응원 말풍선 등 — 유색 배경 유지, 테마별 글자색 */
body.wr-plus #body_gen .messageAi,
body.wr-plus #body_gen p.messageAi {
  background-color: #777 !important;
  color: #ffffff !important;
  border: none !important;
  box-shadow: none !important;
}
body.wr-plus #body_gen .messageAi::after {
  border-right-color: #777;
}
html[data-theme="dark"] body.wr-plus #body_gen .messageAi,
html[data-theme="dark"] body.wr-plus #body_gen p.messageAi {
  background-color: #5a5a52 !important;
  color: #c8c8bc !important;
}
html[data-theme="dark"] body.wr-plus #body_gen .messageAi::after {
  border-right-color: #5a5a52;
}

body.wr-plus #body_gen .circle,
body.wr-plus #body_gen .me_color,
body.wr-plus #body_gen .donut {
  box-shadow: none !important;
  border: none !important;
  outline: none !important;
}

body.wr-plus #body_gen .now_nature,
body.wr-plus #body_gen .me_nature,
body.wr-plus #body_gen .life_nature,
body.wr-plus #body_gen .money_nature,
body.wr-plus #body_gen .money_nature2,
body.wr-plus #body_gen .money_nature3,
body.wr-plus #body_gen .love_nature,
body.wr-plus #body_gen .money_item,
body.wr-plus #body_gen .money_item2,
body.wr-plus #body_gen .money_item3,
body.wr-plus #body_gen .owner,
body.wr-plus #body_gen .worker,
body.wr-plus #body_gen .money-color-main {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.wr-plus #body_gen .now_nature img,
body.wr-plus #body_gen .me_nature img,
body.wr-plus #body_gen .life_nature img,
body.wr-plus #body_gen .money_nature img,
body.wr-plus #body_gen .money_nature2 img,
body.wr-plus #body_gen .money_nature3 img,
body.wr-plus #body_gen .love_nature img,
body.wr-plus #body_gen .money_item img,
body.wr-plus #body_gen .money_item2 img,
body.wr-plus #body_gen .money_item3 img {
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  background: transparent !important;
}

/* 종합운 '당신은…' 아래 자연물 이미지 — 약 3배(최대 300px) */
body.wr-plus #body_gen .me_nature img {
  width: min(225px, 80vw) !important;
  max-width: 300px !important;
  height: auto !important;
}

/* —— 버튼 —— */
body.wr-plus #body_gen .custom-btn,
body.wr-plus #body_gen .btn-small,
body.wr-plus #body_gen .button,
body.wr-plus #body_gen .btn-0,
body.wr-plus #body_gen .btn-1,
body.wr-plus #body_gen .btn-2,
body.wr-plus #body_gen .btn-3,
body.wr-plus #body_gen .btn-4,
body.wr-plus #body_gen .btn-5,
body.wr-plus #body_gen .btn-m,
body.wr-plus #body_gen .btn-f,
body.wr-plus #body_gen #userInputButton,
body.wr-plus #body_gen .speakerButton,
body.wr-plus #body_gen .stopButton,
body.wr-plus .wr-plus-page .custom-btn,
body.wr-plus .wr-plus-page .button,
body.wr-plus .wr-tools-wrap button,
body.wr-plus .wr-tools-wrap .wr-tool-submit,
body.wr-plus .haemong-cat-btn,
body.wr-plus .haemong-mid-btn,
body.wr-plus .haemong-search-row button {
  border-radius: 4px !important;
  box-shadow: none !important;
  font-weight: 400;
  font-family: inherit;
}

body.wr-plus #body_gen .custom-btn,
body.wr-plus #body_gen .btn-0,
body.wr-plus #body_gen .button,
body.wr-plus #body_gen #userInputButton {
  background: var(--button-bg);
  border: 1px solid var(--button-bg);
  color: var(--button-text);
}

body.wr-plus #body_gen .custom-btn h1,
body.wr-plus #body_gen .custom-btn h2,
body.wr-plus #body_gen .custom-btn h3,
body.wr-plus #body_gen .custom-btn h4,
body.wr-plus #body_gen .custom-btn p {
  color: var(--button-text);
  font-weight: 400;
}

/* 재물운: 사업주/직장인/일반 선택 버튼 — style.css .custom-btn(65~130px) 덮기 */
body.wr-plus #moneyPrint .money-role-btn,
body.wr-plus #body_gen #moneyPrint .custom-btn.money-role-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 250px !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 48px !important;
  margin: 6px auto !important;
  padding: 12px 14px !important;
  line-height: 1.35 !important;
  text-align: center;
  vertical-align: middle;
  white-space: normal !important;
}
body.wr-plus #moneyPrint .money-role-btn__label,
body.wr-plus #moneyPrint .money-role-btn h3 {
  display: block;
  margin: 0;
  padding: 0;
  font-size: 0.95em;
  font-weight: 600;
  line-height: 1.35;
  color: inherit;
}

body.wr-plus #body_gen .btn-5,
body.wr-plus #body_gen .btn-small,
body.wr-plus .haemong-cat-btn,
body.wr-plus .haemong-mid-btn {
  background: var(--bg-primary);
  border: 1px solid var(--border-color);
  color: var(--text-primary);
}

body.wr-plus #body_gen .btn-5:hover,
body.wr-plus #body_gen .btn-small:hover,
body.wr-plus .haemong-cat-btn:hover,
body.wr-plus .haemong-mid-btn:hover {
  background: var(--bg-tertiary);
  color: var(--text-primary);
  border-color: var(--border-color);
}

body.wr-plus #body_gen .btn-2,
body.wr-plus #body_gen .custom-btn.btn-2:hover {
  background: var(--button-bg);
  border: 1px solid var(--button-bg);
  color: var(--button-text);
}

body.wr-plus #body_gen .btn-1 {
  background: var(--color-blue);
  border: 1px solid var(--color-blue);
  color: var(--button-text);
}

body.wr-plus #body_gen .btn-3 {
  background: var(--theme-ochre);
  border: 1px solid var(--theme-ochre);
  color: var(--button-text);
}

body.wr-plus #body_gen .btn-4 {
  background: #a86a78;
  border: 1px solid #a86a78;
  color: #eeeeee;
}

/* —— fortune: 생년월일 + 변경 —— */
body.wr-plus #body_gen .wr-fortune-birth-row {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px 12px;
  max-width: 100%;
  margin: 0 auto;
  text-align: center;
}

body.wr-plus #body_gen .wr-fortune-birth-row #birthday {
  margin: 0;
  line-height: 1.35;
}

body.wr-plus #body_gen .wr-fortune-birth-row .wr-fortune-birth-edit,
body.wr-plus #body_gen .btn-small.wr-fortune-birth-edit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px;
  box-sizing: border-box;
  margin: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 4px 10px !important;
  font-size: 0.78em !important;
  line-height: 1.2 !important;
  border-radius: 4px !important;
  vertical-align: middle;
  cursor: pointer;
}

body.wr-plus #body_gen .wr-fortune-birth-row .wr-fortune-birth-edit i {
  line-height: 1;
  font-size: 0.95em;
}

/* —— fortune report: 오늘운/종합운/재물운/연애운 섹션 탭 (타로 banner 선택 UI와 동일) —— */
body.wr-plus #body_gen .mediaContainer > .btn table {
  width: 100%;
  max-width: 560px;
  border-collapse: separate;
  border-spacing: 8px 0;
}

body.wr-plus #body_gen .mediaContainer > .btn table td {
  width: 25%;
  padding: 0;
  vertical-align: middle;
}

body.wr-plus #body_gen .mediaContainer > .btn table .custom-btn {
  -webkit-appearance: none !important;
  appearance: none !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  margin: 0 !important;
  padding: 0 4px !important;
  border-radius: 4px !important;
  font-size: 0.8em !important;
  line-height: 38px !important;
  text-align: center !important;
  vertical-align: middle !important;
  cursor: pointer;
  box-shadow: none !important;
  transform: none !important;
  transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}

/* 비선택(btn-5) */
body.wr-plus #body_gen .mediaContainer > .btn table .custom-btn.btn-5 {
  background: transparent !important;
  border: 1px solid var(--border-color) !important;
  color: var(--text-primary) !important;
  font-weight: 400;
}

body.wr-plus #body_gen .mediaContainer > .btn table .custom-btn.btn-5:hover,
body.wr-plus #body_gen .mediaContainer > .btn table .custom-btn.btn-5:focus {
  background: transparent !important;
  border-color: var(--theme-green, #5a6b4a) !important;
  color: var(--text-primary) !important;
}

/* 선택(_on: btn-1~4) — 타로 .banner_btn.is-active 과 동일 */
body.wr-plus #body_gen .mediaContainer > .btn table .custom-btn.btn-1,
body.wr-plus #body_gen .mediaContainer > .btn table .custom-btn.btn-2,
body.wr-plus #body_gen .mediaContainer > .btn table .custom-btn.btn-3,
body.wr-plus #body_gen .mediaContainer > .btn table .custom-btn.btn-4 {
  background: rgba(90, 107, 74, 0.12) !important;
  border: 1px solid var(--theme-green, #5a6b4a) !important;
  color: var(--text-primary) !important;
  font-weight: 700;
  box-shadow: inset 0 -2px 0 var(--theme-green, #5a6b4a) !important;
  line-height: 36px !important; /* inset 하단 2px 보정으로 글자 세로 중앙 */
}

body.wr-plus #body_gen .speakerButton,
body.wr-plus #body_gen .stopButton {
  background: var(--button-bg);
  color: var(--button-text);
  border: 1px solid var(--button-bg);
}

body.wr-plus .tarotUserInput input {
  border: 1px solid var(--input-border);
  border-radius: 4px;
  background: var(--input-bg);
  color: var(--text-primary);
}

body.wr-plus #body_gen input[type="text"],
body.wr-plus #body_gen input[type="search"],
body.wr-plus #body_gen input[type="date"],
body.wr-plus #body_gen input[type="number"],
body.wr-plus #body_gen select,
body.wr-plus #body_gen textarea,
body.wr-plus .wr-tools-wrap input,
body.wr-plus .wr-tools-wrap select {
  border: 1px solid var(--input-border);
  border-radius: 4px;
  background: var(--input-bg);
  color: var(--text-primary);
}

body.wr-plus #body_gen input:focus,
body.wr-plus #body_gen select:focus,
body.wr-plus #body_gen textarea:focus,
body.wr-plus .wr-tools-wrap input:focus,
body.wr-plus .wr-tools-wrap select:focus,
body.wr-plus .tarotUserInput input:focus {
  border-color: var(--theme-green);
  outline: 1px solid var(--theme-green);
}

body.wr-plus #voiceInputButton {
  color: var(--text-secondary);
}

/* 상단 등급/로그인 안내 — 고전 해몽 사전 등 본문 블록과 동일(720px) */
body.wr-plus .wr-plus-notice,
body.wr-plus .wr-tarot-notice {
  width: 100%;
  max-width: 720px;
  box-sizing: border-box;
  margin: 0 auto 16px;
  padding: 12px 14px;
  border: 1px solid var(--border-color, #e0e0e0);
  border-radius: 8px;
  background: var(--bg-secondary, #f8f9fa);
  text-align: left;
  font-size: 0.95em;
  line-height: 1.6;
  color: var(--text-primary);
}

body.wr-plus .wr-plus-notice p,
body.wr-plus .wr-tarot-notice p {
  margin: 0 0 8px;
  color: var(--text-primary);
}

body.wr-plus .wr-plus-notice p:last-child,
body.wr-plus .wr-tarot-notice p:last-child {
  margin-bottom: 0;
}

body.wr-plus .wr-plus-notice a,
body.wr-plus .wr-tarot-notice a {
  color: var(--link-color, #1e61a8) !important;
  font-weight: 700;
  text-decoration: underline;
}

body.wr-plus .wr-plus-notice a:hover,
body.wr-plus .wr-tarot-notice a:hover {
  color: var(--link-hover, #8b4513) !important;
}

/* —— 속도 / 해몽 사전 —— */
body.wr-plus #play-speed.play-speed {
  margin: 10px auto;
  padding: 10px 12px;
  max-width: 600px;
  box-sizing: border-box;
}

body.wr-plus #play-speed.play-speed table {
  width: 100%;
}

body.wr-plus #play-speed.play-speed .table_profile {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

body.wr-plus #play-speed.play-speed input[type="radio"] {
  accent-color: var(--theme-green);
}

body.wr-plus .haemong-dict-section {
  max-width: 720px;
  margin: 24px auto 8px;
  padding: 16px 12px 18px;
  text-align: left;
  box-sizing: border-box;
}

body.wr-plus .haemong-dict-head h3 {
  margin: 0 0 6px;
  font-size: 1.15em;
}

body.wr-plus .haemong-dict-head p {
  margin: 0 0 14px;
  font-size: 0.92em;
  color: var(--text-secondary);
  line-height: 1.45;
}

body.wr-plus .haemong-search-row {
  display: flex;
  gap: 8px;
  margin-bottom: 10px;
  align-items: center;
}

body.wr-plus .haemong-search {
  flex: 1;
  min-width: 0;
  padding: 8px 10px;
}

body.wr-plus .haemong-cats,
body.wr-plus .haemong-mids {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 10px;
}

body.wr-plus .haemong-cat-btn,
body.wr-plus .haemong-mid-btn {
  padding: 6px 10px;
  cursor: pointer;
  font-size: 0.88em;
}

body.wr-plus .haemong-cat-btn.is-active,
body.wr-plus .haemong-mid-btn.is-active {
  background: var(--bg-tertiary);
  border-color: var(--theme-green);
  color: var(--text-primary);
}

body.wr-plus .haemong-items {
  list-style: none;
  margin: 0 0 12px;
  padding: 0;
  max-height: 240px;
  overflow: auto;
}

body.wr-plus .haemong-item {
  padding: 8px 10px;
  border-bottom: 1px solid var(--border-color);
  cursor: pointer;
  font-size: 0.9em;
  font-weight: 400;
}

body.wr-plus .haemong-item:last-child {
  border-bottom: 0;
}

body.wr-plus .haemong-item.is-active,
body.wr-plus .haemong-item:hover {
  background: var(--bg-secondary);
  color: var(--text-primary);
}

body.wr-plus .haemong-detail {
  padding: 12px;
  min-height: 4em;
}

body.wr-plus .haemong-item-idx {
  display: inline-block;
  min-width: 3.6em;
  color: var(--text-secondary);
  font-size: 0.85em;
}

/* —— 카드 / CTA (wr-cards 와 톤 맞춤) —— */
/* 운세 홈·관련 서비스·CTA — 해몽 사전(720px)과 동일 최대폭 */
body.wr-plus .wr-gate,
body.wr-plus .wr-cta-bar,
body.wr-plus .wr-svc-nav,
body.wr-plus .banner_4buttons {
  width: 100%;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
  min-width: 0;
}

body.wr-plus .wr-gate .wr-card-grid,
body.wr-plus .wr-gate .wr-card {
  min-width: 0;
  max-width: 100%;
}

body.wr-plus .wr-gate,
body.wr-plus .wr-cta-bar,
body.wr-plus .wr-svc-nav,
body.wr-plus .wr-tool-result {
  border-radius: 4px;
  box-shadow: none;
}

body.wr-plus .wr-card,
body.wr-plus .wr-svc-nav__btn,
body.wr-plus .wr-tool-pillars div,
body.wr-plus .wr-cta-btn {
  border-radius: 4px;
}

/* 타로 하단 메뉴 — Pro 패널/박스 톤 · 모바일에서 가로 풀폭 */
body.wr-plus .banner_4buttons {
  gap: 8px;
  padding: 0;
  justify-content: stretch;
  align-items: stretch;
  width: 100%;
  max-width: none;
  box-sizing: border-box;
}

body.wr-plus .banner_4buttons.tarot-menu-buttons {
  max-width: none;
}

body.wr-plus .banner_4buttons .banner_btn,
body.wr-plus .banner_4buttons .banner_btn:nth-child(n) {
  flex: 1 1 0;
  width: auto;
  min-width: 0;
  height: auto;
  min-height: 48px;
  padding: 12px 10px;
  margin: 0;
  border: 1px solid var(--border-color);
  border-radius: 4px;
  background: transparent !important;
  color: var(--text-primary);
  font-weight: 400;
  box-shadow: none;
  transform: none;
  transition: border-color 0.15s ease, color 0.15s ease;
}

body.wr-plus .banner_4buttons .banner_btn p {
  font-size: 0.95em;
  font-weight: 400;
  color: inherit;
  line-height: 1.35;
}

body.wr-plus .banner_4buttons .banner_btn i {
  font-size: 1.1em;
  margin-bottom: 4px;
  color: inherit;
}

body.wr-plus .banner_4buttons .banner_btn:hover,
body.wr-plus .banner_4buttons .banner_btn:focus {
  cursor: pointer;
  color: var(--text-primary) !important;
  background: transparent !important;
  border-color: var(--theme-green, #5a6b4a);
  box-shadow: none;
  transform: none;
}

body.wr-plus .banner_4buttons .banner_btn.is-active,
body.wr-plus .banner_4buttons .banner_btn[aria-current="page"] {
  border-color: var(--theme-green, #5a6b4a) !important;
  background: rgba(90, 107, 74, 0.12) !important;
  color: var(--text-primary) !important;
  font-weight: 700;
  box-shadow: inset 0 -2px 0 var(--theme-green, #5a6b4a);
}

body.wr-plus .banner_4buttons .banner_btn.is-active p,
body.wr-plus .banner_4buttons .banner_btn[aria-current="page"] p {
  font-weight: 700;
  color: inherit;
}

@media screen and (max-width: 768px) {
  body.wr-plus .banner_4buttons {
    flex-direction: column;
    align-items: stretch;
  }
  body.wr-plus .banner_4buttons .banner_btn,
  body.wr-plus .banner_4buttons .banner_btn:nth-child(n) {
    flex: 0 0 auto;
    width: 100% !important;
    max-width: none !important;
    min-height: 48px;
    box-sizing: border-box;
  }
}

body.wr-plus .wr-card:hover,
body.wr-plus .wr-svc-nav__btn:hover {
  transform: none;
  box-shadow: none;
  border-color: var(--theme-green);
}

body.wr-plus .wr-cta-btn {
  font-weight: 400;
}

body.wr-plus .wr-cta-bar--pro .wr-cta-btn,
body.wr-plus .wr-cta-bar--compat .wr-cta-btn--pro {
  background: var(--theme-ochre);
}

/* —— 기타 plus 페이지 —— */
body.wr-plus .point-info {
  background: var(--bg-secondary);
  color: var(--text-primary);
  border: 1px solid var(--border-color);
  border-radius: 4px;
  box-shadow: none;
  font-weight: 400;
}

body.wr-plus .point-info i,
body.wr-plus .current-point {
  color: var(--theme-ochre);
  font-weight: 700;
}

body.wr-plus .uploaded-image-container {
  background: var(--bg-secondary);
  border: 1px dashed var(--border-color);
  border-radius: 4px;
}

body.wr-plus .control-panel {
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 4px;
}

body.wr-plus .control-panel .slider-label {
  color: var(--text-primary);
  font-weight: 700;
}

body.wr-plus .div_table table {
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 4px;
}

body.wr-plus .div_table p {
  color: var(--text-primary);
}

body.wr-plus .wr-cal-btn {
  border-radius: 4px;
  font-weight: 400;
  border: 1px solid var(--border-color);
}

/* 캘린더·안내·다른 서비스 — 720px 가운데 (해몽 사전 등과 동일) */
body.wr-plus .wr-cal-related {
  max-width: 720px;
  width: 100%;
  margin: 0 auto 24px;
  padding: 0 10px;
  box-sizing: border-box;
}

body.wr-plus .wr-cal-related .wr-svc-nav {
  width: 100%;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

body.wr-plus .wr-cal-toolbar {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

/* 달력 셸: 중첩 표/배경 박스 제거, 720px 안에 맞춤 */
body.wr-plus .calendar-article.wr-plus-page {
  max-width: 720px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: 0 10px 12px;
  box-sizing: border-box;
  overflow: visible;
}

body.wr-plus .calendar-article .wr-cal-shell.calendarBox {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  overflow: visible;
  white-space: normal;
  background: transparent;
}

body.wr-plus .calendar-article .wr-cal-monthbar.calendar-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 10px;
  width: 100% !important;
  max-width: 100%;
  margin: 0 0 8px;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  box-sizing: border-box;
}

body.wr-plus .calendar-article .wr-cal-monthbar__nav,
body.wr-plus .calendar-article .wr-cal-monthbar__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}

body.wr-plus .calendar-article .wr-cal-monthbar__title {
  flex: 1 1 auto;
  text-align: center;
  min-width: 8em;
}

body.wr-plus .calendar-article .calendar-body {
  width: 100% !important;
  max-width: 100%;
  background: transparent !important;
}

body.wr-plus .calendar-article .calendar-table {
  width: 100% !important;
  max-width: 100%;
  table-layout: fixed;
  box-sizing: border-box;
}

body.wr-plus .lucky_bg,
body.wr-plus .ai_bg,
body.wr-plus .tarot_bg {
  border-top: 1px solid var(--border-color);
  border-bottom: 1px solid var(--border-color);
}
