/*
 * 12호 홈페이지 디자인 적용 PDF 전수 검수 보정층
 * 2026-08-03
 * 기존 화면별 구현을 유지하고, PDF와 실제 화면에서 확인된 최종 차이만 보정한다.
 */

:root {
  --ho12-ink: #111111;
  --ho12-inactive: #a3a3a3;
  --ho12-line: #cfcfcf;
  --ho12-yellow: #f2ba16;
  --ho12-green: #77c93a;
  --ho12-muted: var(--ho12-inactive);
  --ho12-accent: var(--ho12-yellow);
  --ho12-font-ui: 'KoPubWorldDotum', 'KoPubWorld Dotum', 'KoPub Dotum', sans-serif;
  --ho12-font-hand: 'NanumJangmi', 'Rose', sans-serif;
}

html body,
html body button,
html body input,
html body select,
html body textarea,
html body option,
html body .woocommerce {
  font-family: var(--ho12-font-ui) !important;
}

/* PDF 50-2: the site-wide default applies to the text elements themselves,
   not only to body.  Keep the episode manuscript in its intentional Batang
   reading face; all other interface and content copy uses KoPubWorld Dotum. */
html body:not(.single-ho12_episode) #page :where(
  h1, h2, h3, h4, h5, h6,
  p, a, button, label, span, div, li, dt, dd, td, th,
  input, textarea, select, option
):not(.dashicons):not(.ab-icon):not([class*='icon']) {
  font-family: var(--ho12-font-ui) !important;
}

/* PDF 3: 데스크톱에서 45px 오른쪽으로 밀던 보정을 제거해 실제 가용 화면 정중앙에 둔다. */
@media (min-width: 769px) {
  html body .ho12-header .ho12-logo {
    transform: none !important;
  }

  html body .ho12-header .ho12-logo:hover {
    transform: none !important;
  }
}

/* 숫자·감태·물음표는 전달된 장미체 기준으로 통일한다. */
html body #page :is(
  .ho12-gamtae-amount-num,
  .ho12-gamtae-number,
  .ho12-gt-balance-num,
  .ho12-gt-amount-num,
  .ho12-planet-num,
  .ho12-planet-number,
  .ho12-ep-number,
  .ho12-qty-val,
  .ho12-cart-qty-val,
  .ho12-summary-total-qty,
  #ho12-summary-total-qty,
  .ho12-v-pct,
  .vr-info-num,
  .ho12-pagination,
  .page-numbers
) {
  font-family: var(--ho12-font-hand) !important;
}

/* 짧은 본문에서도 푸터가 화면 중간으로 올라오지 않도록 한다. */
html body {
  min-height: 100vh !important;
  display: flex !important;
  flex-direction: column !important;
}

html body > #page {
  flex: 1 0 auto !important;
  width: 100% !important;
}

html body > .ho12-footer {
  flex: 0 0 auto !important;
  margin-top: clamp(76px, 8vw, 128px) !important;
}

/* 헤더: 로그인 브라우저 기본 툴팁 제거 후 접근성 이름만 유지한다. */
html body .ho12-hd-user-icon.ho12-lying {
  width: 82px !important;
  min-width: 82px !important;
}

html body .ho12-hd-user-icon.ho12-lying .ho12-hd-lying-img {
  width: 82px !important;
  height: auto !important;
  max-width: none !important;
}

/* 로그인 PDF p4: 눈동자 제거, 모든 상태 이미지 겹침 방지, 원본 크기 복원. */
html body.page-id-17 .ho12-password-toggle,
html body.page-id-17 [title='비밀번호 보기/숨기기'] {
  display: none !important;
}

html body.page-id-17 .ho12-submit-wrapper,
html body.page-id-17 .ho12-login-submit-btn {
  width: 58px !important;
  height: 58px !important;
  min-width: 58px !important;
  min-height: 58px !important;
}

html body.page-id-17 .ho12-login-btn-icon-normal,
html body.page-id-17 .ho12-login-btn-icon-hover {
  position: absolute !important;
  inset: 0 !important;
  width: 58px !important;
  height: 58px !important;
  object-fit: contain !important;
  transition: opacity .16s ease, filter .16s ease !important;
}

html body.page-id-17 .ho12-login-btn-icon-normal {
  opacity: .52 !important;
  filter: grayscale(1) !important;
}

html body.page-id-17 .ho12-login-btn-icon-hover {
  opacity: 0 !important;
  filter: none !important;
}

html body.page-id-17 .ho12-login-submit-btn:is(:hover, :focus-visible) .ho12-login-btn-icon-normal {
  opacity: 0 !important;
}

html body.page-id-17 .ho12-login-submit-btn:is(:hover, :focus-visible) .ho12-login-btn-icon-hover {
  opacity: 1 !important;
}

html body.page-id-17 .ho12-checkbox-box {
  width: 20px !important;
  height: 20px !important;
}

html body.page-id-17 #page .ho12-checkbox-box :is(.rem-icon-unchecked, .rem-icon-checked) {
  inset: 0 !important;
  width: 20px !important;
  height: 20px !important;
  max-width: 20px !important;
  max-height: 20px !important;
  transform: none !important;
  object-fit: contain !important;
}

html body.page-id-17 .ho12-remember-wrapper .ho12-tooltip-bubble,
html body.page-id-17 .ho12-checkbox-label {
  display: none !important;
}

html body.page-id-17 .ho12-login-box .ho12-tooltip-wrap > .ho12-tooltip-bubble {
  display: block !important;
  top: calc(100% + 6px) !important;
  bottom: auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ho12-inactive) !important;
  font-family: var(--ho12-font-hand) !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  box-shadow: none !important;
  white-space: nowrap !important;
}

html body.page-id-17 .ho12-login-box .ho12-remember-wrapper .ho12-tooltip-bubble {
  display: none !important;
}

html body.page-id-17 .ho12-login-box .ho12-tooltip-bubble::before,
html body.page-id-17 .ho12-login-box .ho12-tooltip-bubble::after {
  display: none !important;
}

html body.page-id-17 .ho12-sns-icon-wrap,
html body.page-id-17 .ho12-sns-icon-wrap img {
  width: 26px !important;
  height: 26px !important;
}

html body.page-id-17 #page .ho12-login-sub-links .ho12-sub-link-item img {
  width: 60px !important;
  height: 60px !important;
}

html body.page-id-17 #page .ho12-login-sub-links .ho12-sub-link-item img[alt='비밀번호 찾기'] {
  width: 54px !important;
  height: 54px !important;
}

html body.page-id-17 .ho12-sns-login-btn,
html body.page-id-17 .ho12-sub-link-item {
  filter: grayscale(1) !important;
  opacity: .52 !important;
}

html body.page-id-17 .ho12-sns-login-btn:is(:hover, :focus-visible),
html body.page-id-17 .ho12-sub-link-item:is(:hover, :focus-visible) {
  filter: none !important;
  opacity: 1 !important;
  transform: none !important;
}

/* 회원가입 전화번호 예시 숫자는 표시하지 않는다. */
html body #ho12-reg-form #ho12-reg-phone::placeholder,
html body .ho12-register-wrapper input[type='tel']::placeholder,
html body .ho12-register-wrapper input[name*='phone']::placeholder {
  color: transparent !important;
  opacity: 0 !important;
}

/* 필수값 물음표: 첫 전송 전에는 DOM에 없고, 생성된 뒤에만 손글씨 툴팁을 제공한다. */
html body .ho12-required-question-icon {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  pointer-events: auto !important;
  cursor: help !important;
}

html body [data-ho12-error-tooltip] {
  position: relative !important;
}

html body [data-ho12-error-tooltip]::after {
  content: attr(data-ho12-error-tooltip);
  position: absolute;
  left: 50%;
  bottom: calc(100% + 8px);
  z-index: 2147483000;
  width: max-content;
  max-width: min(260px, 76vw);
  padding: 0;
  color: var(--ho12-inactive);
  background: transparent;
  border: 0;
  box-shadow: none;
  font: 22px/1.2 var(--ho12-font-hand);
  white-space: normal;
  text-align: center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate(-50%, 3px);
  transition: opacity .14s ease, transform .14s ease, visibility 0s linear .14s;
}

html body [data-ho12-error-tooltip]:is(:hover, :focus-within)::after {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
  transition-delay: 0s;
}

/* 문의 PDF p45~46: 비활성 기본색, 입력 중 활성색, 전송 툴팁. */
html body .ho12-contact-container,
html body .ho12-contact-container :is(label, input, textarea, button) {
  font-family: var(--ho12-font-ui) !important;
}

html body #page .ho12-contact-fg label,
html body #page .ho12-contact-fg input,
html body #page .ho12-contact-fg textarea,
html body #page #ho12-ct-type-trigger .ho12-wobbly-arrow-icon {
  color: var(--ho12-inactive) !important;
}

html body #page .ho12-contact-fg:is(:hover, :focus-within) label,
html body #page .ho12-contact-fg:is(:hover, :focus-within) input,
html body #page .ho12-contact-fg:is(:hover, :focus-within) textarea,
html body #page #ho12-ct-type-trigger:is(:hover, :focus-within) .ho12-wobbly-arrow-icon {
  color: var(--ho12-ink) !important;
}

html body .ho12-contact-submit-icon-btn {
  position: relative !important;
  width: 42px !important;
  height: 42px !important;
  opacity: .42 !important;
}

html body .ho12-contact-submit-icon-btn:is(:hover, :focus-visible) {
  opacity: 1 !important;
}

html body .ho12-contact-submit-icon-btn::after {
  content: attr(data-ho12-tooltip);
  position: absolute;
  left: 50%;
  bottom: calc(100% + 5px);
  color: var(--ho12-inactive);
  font: 20px/1 var(--ho12-font-hand);
  white-space: nowrap;
  opacity: 0;
  transform: translateX(-50%);
  transition: opacity .14s ease;
}

html body .ho12-contact-submit-icon-btn:is(:hover, :focus-visible)::after {
  opacity: 1;
}

/* PDF 114: 유형 목록은 입력행 전체 폭이 아니라 원본 P46처럼 짧은 세로 목록이다. */
html body #page #ho12-ct-type-dropdown {
  width: 88px !important;
  max-width: 88px !important;
  min-width: 88px !important;
  border-width: 2px !important;
}

html body #page #ho12-ct-type-dropdown .ho12-ct-type-option {
  padding: 6px 9px !important;
  color: var(--ho12-muted) !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
}

html body #page #ho12-ct-type-dropdown .ho12-ct-type-option:is(:hover, :focus-visible) {
  color: var(--ho12-ink) !important;
}

/* 홈페이지 전체 확인·취소 모달의 규격을 동일하게 유지한다. */
html body .ho12-system-dialog__card {
  width: min(88vw, 390px) !important;
  min-height: 174px !important;
  padding: 46px 36px 32px !important;
  font-family: var(--ho12-font-ui) !important;
}

html body .ho12-system-dialog__message {
  margin-bottom: 24px !important;
  font-family: var(--ho12-font-ui) !important;
  font-size: 16px !important;
}

html body .ho12-system-dialog__actions {
  gap: 16px !important;
}

html body .ho12-system-dialog__button,
html body .ho12-system-dialog__button img {
  min-width: 0 !important;
  width: auto !important;
  height: 36px !important;
  min-height: 36px !important;
}

/* 약관 제목: 일반 글자 대신 전달된 12호/감태 원본 이미지를 사용한다. */
html body .ho12-pdf-policy__brand-logo {
  display: block !important;
  width: auto !important;
  height: 27px !important;
  max-width: 190px !important;
  object-fit: contain !important;
}

html body .ho12-pdf-policy__header.is-gamtae .ho12-gamtae-inline-icon {
  width: auto !important;
  height: 1.45em !important;
  margin: 0 !important;
  vertical-align: middle !important;
}

/* 12호 안내 책 자리에는 약관 문서 대신 잠잠만 노출한다. */
html body .ho12-book-placeholder {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: min(100%, 760px) !important;
  min-height: 380px !important;
  margin: 40px auto 0 !important;
  padding: 40px 24px !important;
  box-sizing: border-box !important;
}

html body .ho12-book-placeholder img {
  display: block !important;
  width: min(100%, 360px) !important;
  height: auto !important;
  object-fit: contain !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* PDF 30~37: 기기관리·성인인증은 원본처럼 박스 없는 한 흐름으로 구성한다. */
html body #ho12-tab-device .ho12-mp-back-to-info-btn,
html body #ho12-tab-adult .ho12-mp-back-to-info-btn,
html body #ho12-tab-device .ho12-dev-registered {
  display: none !important;
}

html body #ho12-tab-device :is(.ho12-dev-current, .ho12-dev-list) {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body #ho12-tab-device :is(.ho12-dev-header, .ho12-dev-stats, .ho12-dev-current, .ho12-dev-list-section) {
  color: var(--ho12-muted) !important;
}

html body #ho12-tab-device #ho12-devices-section {
  display: grid !important;
  grid-template-columns: 280px 280px !important;
  grid-template-areas:
    "device-head device-list"
    "device-current device-list" !important;
  align-items: start !important;
  column-gap: 110px !important;
  row-gap: 22px !important;
  width: 100% !important;
  max-width: 670px !important;
  margin: 24px auto 0 !important;
  padding: 0 !important;
}

html body #ho12-tab-device .ho12-dev-header {
  grid-area: device-head !important;
  margin: 0 !important;
  text-align: center !important;
}

html body #ho12-tab-device .ho12-dev-header h2 {
  display: block !important;
  margin: 0 0 28px !important;
  color: #00a9df !important;
  font-size: 15px !important;
  font-weight: 800 !important;
}

html body #ho12-tab-device .ho12-dev-stats {
  margin: 0 !important;
  color: var(--ho12-muted) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
}

html body #ho12-tab-device .ho12-dev-current {
  grid-area: device-current !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
}

html body #ho12-tab-device .ho12-dev-current > h3 {
  margin: 0 0 14px !important;
  color: var(--ho12-muted) !important;
  font-size: 13px !important;
  font-weight: 750 !important;
}

html body #ho12-tab-device .ho12-dev-current-info {
  justify-content: center !important;
  gap: 8px !important;
  margin: 0 auto 16px !important;
}

html body #ho12-tab-device #ho12-dev-current-icon {
  width: 38px !important;
  height: 38px !important;
}

html body #ho12-tab-device #ho12-dev-current-icon img {
  width: 36px !important;
  height: 36px !important;
}

html body #ho12-tab-device #ho12-dev-current-display-name {
  color: var(--ho12-muted) !important;
  font-size: 15px !important;
  font-weight: 750 !important;
}

html body #ho12-tab-device .ho12-dev-register-row {
  justify-content: center !important;
  gap: 12px !important;
  max-width: 280px !important;
}

html body #ho12-tab-device .ho12-dev-register-row > div {
  min-width: 0 !important;
}

html body #ho12-tab-device .ho12-dev-register-row span {
  color: var(--ho12-muted) !important;
  font-size: 12px !important;
}

html body #ho12-tab-device #ho12-dev-nickname {
  min-width: 0 !important;
  padding: 2px 3px !important;
  border: 0 !important;
  border-bottom: 1px solid #d3d3d3 !important;
  background: transparent !important;
  color: var(--ho12-ink) !important;
  font-size: 12px !important;
}

html body #ho12-tab-device #ho12-dev-register-btn {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #00a9df !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

html body #ho12-tab-device .ho12-dev-list-section {
  grid-area: device-list !important;
  margin: 0 !important;
  padding-top: 84px !important;
}

html body #ho12-tab-device .ho12-dev-list-section > h3 {
  margin: 0 0 18px !important;
  color: var(--ho12-muted) !important;
  font-size: 13px !important;
  font-weight: 750 !important;
}

html body #ho12-tab-device #ho12-dev-manage-btn {
  color: #00a9df !important;
  font-size: 12px !important;
  text-decoration: none !important;
}

html body #ho12-tab-device #ho12-dev-list {
  justify-content: flex-start !important;
  gap: 28px !important;
  min-height: 0 !important;
  padding: 0 !important;
}

html body #ho12-tab-device .ho12-dev-card {
  width: 72px !important;
}

html body #ho12-tab-device .ho12-dev-card > div:first-of-type {
  width: 54px !important;
  height: 54px !important;
  margin-bottom: 5px !important;
}

html body #ho12-tab-device .ho12-dev-card > div:first-of-type img {
  width: 50px !important;
  height: 50px !important;
}

html body #ho12-tab-device .ho12-dev-item-name-text {
  color: var(--ho12-muted) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

@media (max-width: 760px) {
  html body #ho12-tab-device #ho12-devices-section {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas: "device-head" "device-current" "device-list" !important;
    row-gap: 26px !important;
    max-width: 320px !important;
  }

  html body #ho12-tab-device .ho12-dev-list-section {
    padding-top: 18px !important;
  }

  html body #ho12-tab-device #ho12-dev-list {
    justify-content: center !important;
  }
}

html body #ho12-tab-device .ho12-dev-remove-btn-circle {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  padding: 0 !important;
  border: 1px solid #00a9df !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: #00a9df !important;
  font-size: 10px !important;
  line-height: 14px !important;
  box-shadow: none !important;
}

html body #ho12-tab-adult .ho12-adult-status-box {
  width: 140px !important;
  max-width: 140px !important;
  height: auto !important;
  margin: 34px auto 0 !important;
}

html body #ho12-tab-adult .ho12-adult-status-box img {
  display: block !important;
  width: 140px !important;
  max-width: 140px !important;
  height: auto !important;
  margin: 0 auto !important;
  object-fit: contain !important;
}

/* 2차 검수 22~24, 30~35: 아이콘·기기·성인인증을 원본 배치로 통일한다. */
html body .ho12-mp-nav-item img,
html body .ho12-mp-action-wrapper .ho12-mp-btn-icon,
html body #ho12-mp-verify-btn-inline img {
  width: 48px !important;
  height: 48px !important;
  object-fit: contain !important;
}

html body #ho12-tab-device #ho12-devices-section {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-areas: "device-head" "device-current" "device-list" !important;
  justify-items: center !important;
  row-gap: 30px !important;
  width: min(100%, 560px) !important;
  max-width: 560px !important;
  margin: 28px auto 0 !important;
}
html body #ho12-tab-device .ho12-dev-header,
html body #ho12-tab-device .ho12-dev-current,
html body #ho12-tab-device .ho12-dev-list-section {
  width: 100% !important;
  padding: 0 !important;
  text-align: center !important;
}
html body #ho12-tab-device .ho12-dev-header h2 { margin-bottom: 12px !important; font-size: 19px !important; }
html body #ho12-tab-device .ho12-dev-stats { font-size: 14px !important; }
html body #ho12-tab-device .ho12-dev-current > h3,
html body #ho12-tab-device .ho12-dev-list-section > h3 { justify-content: center !important; gap: 18px !important; margin: 0 0 18px !important; font-size: 16px !important; }
html body #ho12-tab-device .ho12-dev-current-info { justify-content: center !important; }
html body #ho12-tab-device #ho12-dev-current-display-name,
html body #ho12-tab-device .ho12-dev-item-name-text { font-size: 15px !important; }
html body #ho12-tab-device .ho12-dev-register-row { margin-inline: auto !important; max-width: 390px !important; }
html body #ho12-tab-device .ho12-dev-register-row span,
html body #ho12-tab-device #ho12-dev-nickname,
html body #ho12-tab-device #ho12-dev-register-btn,
html body #ho12-tab-device #ho12-dev-manage-btn { font-size: 14px !important; }
html body #ho12-tab-device #ho12-dev-list { justify-content: center !important; gap: 36px 44px !important; }
html body #ho12-tab-device .ho12-dev-list-section { padding-top: 0 !important; }
html body #ho12-tab-device .ho12-dev-remove-btn-circle { border:0 !important; background:transparent !important; }
html body #ho12-tab-device .ho12-dev-remove-btn-circle img { display:block !important; width:20px !important; height:20px !important; object-fit:contain !important; }

html body #ho12-tab-adult .ho12-adult-status-box:not(:has(> img)) {
  width: min(100%, 500px) !important;
  max-width: 500px !important;
  margin: 48px auto 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
html body .ho12-adult-guide-title { margin:0 0 15px !important; color:var(--ho12-ink) !important; font-size:18px !important; font-weight:800 !important; }
html body .ho12-adult-guide-copy { margin:0 auto 25px !important; color:var(--ho12-muted) !important; font-size:14px !important; line-height:1.7 !important; }
html body .ho12-adult-guide-actions,
html body .ho12-adult-confirm-actions { display:flex !important; align-items:center !important; justify-content:center !important; gap:24px !important; }
html body .ho12-adult-guide-actions button,
html body .ho12-adult-confirm-actions button { padding:0 !important; border:0 !important; background:transparent !important; color:#00a9df !important; font-size:14px !important; font-weight:800 !important; box-shadow:none !important; }
html body .ho12-adult-inline-message { display:none; margin:16px auto 0 !important; color:var(--ho12-muted) !important; font-size:13px !important; line-height:1.55 !important; }

/* PDF 30·35: 장치/성인인증 안내는 검은 테두리 카드가 아닌 가벼운 문구로만 표시한다. */
html body #page .ho12-mp-hover-bubble {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--ho12-muted) !important;
}

/* PDF 40, 52~64: 감태 수치·내역·선물 화면의 장식과 정보 밀도를 원본에 맞춘다. */
html body .ho12-gt-balance-info-flow > div:nth-child(3) {
  display: none !important;
}

html body #page .ho12-gt-balance-info-flow .ho12-gt-user-name {
  color: var(--ho12-muted) !important;
  font-weight: 700 !important;
}

html body #ho12-gt-panel-history :is(.ho12-gift-code-view-btn, .ho12-gift-cancel-btn, .ho12-gt-receipt-btn) {
  min-width: 0 !important;
  height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ho12-muted) !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

html body #ho12-gt-panel-history .ho12-gift-history-controls,
html body #ho12-gt-panel-history .ho12-gt-receipt-control {
  position: relative !important;
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 5px !important;
}

html body #ho12-gt-panel-history .ho12-gift-history-actions {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
}

html body #ho12-gt-panel-history .ho12-gift-inline-code {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--ho12-ink) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  text-decoration: underline !important;
  cursor: copy !important;
}

html body #ho12-gt-panel-history .ho12-gt-receipt-menu {
  position: absolute !important;
  z-index: 30 !important;
  top: calc(100% + 5px) !important;
  right: 0 !important;
  min-width: 92px !important;
  padding: 6px 8px !important;
  border: 1px solid #d5d5d5 !important;
  background: #fff !important;
  box-shadow: 0 5px 14px rgba(0, 0, 0, .08) !important;
}

html body #ho12-gt-panel-history .ho12-gt-receipt-menu button {
  display: block !important;
  width: 100% !important;
  padding: 4px 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--ho12-muted) !important;
  font-size: 11px !important;
  text-align: left !important;
}

html body #ho12-gt-panel-history .ho12-gt-receipt-menu button:is(:hover, :focus-visible) {
  color: var(--ho12-ink) !important;
}

html body #ho12-gt-panel-history :is(.ho12-gift-inline-code, .ho12-gt-receipt-menu)[hidden] {
  display: none !important;
}

html body #ho12-gt-panel-history .ho12-pagination a {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ho12-muted) !important;
  box-shadow: none !important;
}

html body #ho12-gt-panel-history .ho12-pagination a[aria-current='page'] {
  color: var(--ho12-ink) !important;
}

/* PDF 44·50-2: 감태 결제 2단계는 외곽 박스 없이, 결제식만 접근 시 활성화한다. */
html body #ho12-gt-step2-container .ho12-gt-section {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body #ho12-gt-pay-btn {
  opacity: .46 !important;
  filter: grayscale(1) !important;
  transition: opacity .15s ease, filter .15s ease !important;
}

html body #ho12-gt-pay-btn:is(:hover, :focus-visible) {
  opacity: 1 !important;
  filter: none !important;
}

html body #ho12-gt-pay-amount {
  font-family: var(--ho12-font-hand) !important;
}

html body #ho12-gt-pay-krw {
  font-family: var(--ho12-font-ui) !important;
}

html body .ho12-gift-instructions {
  max-width: 560px !important;
  order: 1 !important;
  margin: 0 auto 20px !important;
  color: #b5b5b5 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.7 !important;
  text-align: center !important;
}

/* PDF 64-1: the explanatory copy sits above the quantity choices in the
   inactive tone shown in the supplied P19 reference. */
html body #ho12-gift-panel-send {
  display: flex !important;
  flex-direction: column !important;
}

html body #ho12-gift-panel-send .ho12-gift-amount-grid {
  order: 2 !important;
  margin-bottom: 55px !important;
}

html body #ho12-gift-panel-send .ho12-gift-send-actions {
  order: 3 !important;
}

/* PDF 64-2: 선물 수량은 처음에는 모두 비활성이고, 접근/선택한 항목만 활성화한다. */
html body .ho12-gift-amount-card:is(:hover, :focus-visible, .active) {
  opacity: 1 !important;
  filter: none !important;
  outline: 0 !important;
}

html body #ho12-gift-selected-amount {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

html body #ho12-gift-send-action-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  opacity: .42 !important;
  filter: grayscale(1) !important;
  transition: opacity .15s ease, filter .15s ease !important;
}

html body #ho12-gift-send-action-btn:is(:hover, :focus-visible) {
  opacity: 1 !important;
  filter: none !important;
}

html body #ho12-gift-send-amount {
  min-width: 38px !important;
  color: var(--ho12-green) !important;
  font-family: var(--ho12-font-hand) !important;
  font-size: 26px !important;
  font-weight: 900 !important;
  text-align: right !important;
}

html body .ho12-gift-purchase-complete {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 28px auto !important;
  text-align: center !important;
}

html body .ho12-gift-purchase-complete img {
  display: block !important;
  width: min(100%, 380px) !important;
  height: auto !important;
}

html body .ho12-gift-purchase-code {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--ho12-green) !important;
  font-size: 20px !important;
  font-weight: 850 !important;
  text-decoration: underline !important;
  cursor: copy !important;
}

html body #ho12-gift-send-action-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

html body :is(.ho12-gift-gif-overlay, #ho12-gift-history-code-modal, #ho12-gt-receipt-modal) {
  background: transparent !important;
  backdrop-filter: none !important;
}

/* PDF 93~97: 상품 상세의 설명·요약 박스·정책·연관상품을 원본 구조로 정리한다. */
html body.single-product .ho12-pd-description {
  display: none !important;
}

/* PDF 91-1~91-3: 상품 상세의 두 보조 메뉴 기능을 바로잡고 모든 본문 글자를
   비활성색으로 시작한다. 첫 아이콘은 상품 메인/분류, 두 번째는 소쿠리다. */
html body.single-product .ho12-goods-detail-slot {
  position: relative !important;
  overflow: visible !important;
}

html body.single-product .ho12-goods-detail-link img {
  filter: grayscale(1) opacity(.4) !important;
  transition: filter .15s ease !important;
}

html body.single-product .ho12-goods-detail-link:is(:hover, :focus-visible) img,
html body.single-product .ho12-goods-detail-slot:focus-within > .ho12-goods-detail-link img {
  filter: none !important;
}

html body.single-product .ho12-goods-detail-category-panel {
  position: absolute !important;
  top: calc(100% + 4px) !important;
  left: 50% !important;
  z-index: 50 !important;
  display: flex !important;
  gap: 22px !important;
  width: max-content !important;
  padding: 7px 10px !important;
  border: 0 !important;
  background: rgba(255,255,255,.98) !important;
  box-shadow: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translate(-50%, -3px) !important;
  transition: opacity .15s ease, transform .15s ease, visibility 0s linear .15s !important;
}

html body.single-product .ho12-goods-detail-slot:is(:hover, :focus-within) .ho12-goods-detail-category-panel {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translate(-50%, 0) !important;
  transition-delay: 0s !important;
}

html body.single-product .ho12-goods-detail-category-panel a {
  color: var(--ho12-muted) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

html body.single-product .ho12-goods-detail-category-panel a:is(:hover, :focus-visible) {
  color: var(--ho12-ink) !important;
}

html body.single-product #page :is(
  .ho12-pd-info-title,
  .ho12-pd-price-row,
  .ho12-pd-price-num,
  .ho12-custom-dropdown-selected-label,
  .ho12-custom-dropdown-header-title,
  .ho12-custom-dropdown-option-item,
  .ho12-summary-name,
  .ho12-qty-val,
  .ho12-summary-total-qty-text,
  .ho12-summary-total-price-label,
  .ho12-summary-total-price,
  .ho12-summary-price-wrap
) {
  color: var(--ho12-muted) !important;
  -webkit-text-fill-color: var(--ho12-muted) !important;
}

html body.single-product #page .ho12-custom-dropdown-option-item:is(:hover, :focus-within),
html body.single-product #page .ho12-custom-dropdown-option-item:is(:hover, :focus-within) .ho12-custom-dropdown-option-text {
  color: var(--ho12-ink) !important;
  -webkit-text-fill-color: var(--ho12-ink) !important;
}

/* PDF 92: 숫자와 감태 표식은 원본 P19의 촘촘한 간격을 따른다. */
html body.single-product #page :is(.ho12-pd-price-row, .ho12-summary-price-wrap) {
  gap: 3px !important;
}

/* PDF 96-1: 썸네일은 박스 없이, 선택된 사진만 활성 상태로 표시한다. */
html body.single-product #page .ho12-pd-thumb-item {
  background: transparent !important;
  padding: 4px !important;
}

html body.single-product #page .ho12-pd-thumb-item img {
  object-fit: contain !important;
  filter: grayscale(1) opacity(.38) !important;
  transition: filter .15s ease !important;
}

html body.single-product #page .ho12-pd-thumb-item.active img,
html body.single-product #page .ho12-pd-thumb-item:is(:hover, :focus-visible) img {
  filter: none !important;
}

html body.single-product .ho12-selected-option-summary {
  padding: 8px 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body.single-product .ho12-selected-option-summary .ho12-summary-border-svg {
  display: none !important;
}

html body.single-product #page #ho12-summary-box :is(.ho12-summary-qty-controls, .ho12-summary-bottom-row) {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body.single-product #page #ho12-summary-box :is(.ho12-summary-name, .ho12-summary-total-qty-text, .ho12-summary-total-price-label, .ho12-summary-total-price, .ho12-summary-price-wrap),
html body.single-product #page #ho12-summary-box #ho12-summary-total-price.ho12-gamtae-amount-num {
  color: var(--ho12-muted) !important;
  -webkit-text-fill-color: var(--ho12-muted) !important;
}

html body.single-product .ho12-pd-action-buttons {
  gap: 12px !important;
}

/* PDF 98-1: 옵션 누락 시 팝업 대신 해당 위치에 물음표와 툴팁만 표시한다. */
html body.single-product #ho12-option-warning {
  width: fit-content !important;
  margin: 8px auto 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  line-height: 0 !important;
}

html body.single-product #ho12-option-warning .ho12-required-question-icon {
  display: block !important;
  width: 18px !important;
  height: 18px !important;
}

html body.single-product .ho12-pd-policy {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
}

html body.single-product .ho12-pd-policy-border,
html body.single-product .ho12-pd-policy-content > dl {
  display: none !important;
}

html body.single-product .ho12-pd-policy.is-open .ho12-pd-policy-content > dl {
  display: block !important;
}

html body.single-product #ho12-pd-policy-title {
  position: relative !important;
  margin: 0 !important;
  padding: 10px 30px 10px 0 !important;
  border: 0 !important;
  color: var(--ho12-muted) !important;
  cursor: pointer !important;
}

html body.single-product #ho12-pd-policy-title::after {
  content: '\203A' !important;
  position: absolute !important;
  top: 50% !important;
  right: 4px !important;
  color: var(--ho12-muted) !important;
  font-size: 24px !important;
  line-height: 1 !important;
  transform: translateY(-50%) rotate(90deg) !important;
  transition: transform .15s ease !important;
}

html body.single-product .ho12-pd-policy.is-open #ho12-pd-policy-title::after {
  transform: translateY(-50%) rotate(270deg) !important;
}

html body.single-product .ho12-pd-policy-content :is(dt, dd) {
  color: var(--ho12-muted) !important;
}

html body.single-product .ho12-pd-related-section .related > h2,
html body.single-product #page .ho12-pd-related-section .related :is(.woocommerce-loop-product__title, .price, .add_to_cart_button, .screen-reader-text) {
  display: none !important;
}

html body.single-product .ho12-pd-related-section li.product,
html body.single-product .ho12-pd-related-section li.product a,
html body.single-product .ho12-pd-related-section li.product img {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* PDF 115: 문의 상세는 모달이 아니라 목록 아래에서 펼친다. */
html body .ho12-my-contact-body.is-open {
  display: block !important;
}

/* PDF 86: 뷰어 하단바는 5초 후 화면 아래로 사라지고 본문 클릭으로 다시 연다. */
html body #vr-bottombar.vr-bottombar {
  transform: translateX(-50%) translateY(calc(100% + 80px)) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: transform .28s ease, opacity .2s ease !important;
}

html body #vr-bottombar.vr-bottombar.show {
  transform: translateX(-50%) translateY(0) !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* PDF 45~50-1: 감태 충전 결제수단은 카드 박스 없이 세로 목록으로 고른다. */
html body .ho12-gt-payment-methods {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body .ho12-gt-payment-label {
  margin: 0 0 10px !important;
  color: #111 !important;
  font-size: 14px !important;
  font-weight: 850 !important;
}

html body #ho12-gt-selected-payment-method {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

html body .ho12-gt-payment-method {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 6px 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #737373 !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  text-align: left !important;
  cursor: pointer !important;
}

html body .ho12-gt-payment-method:hover,
html body .ho12-gt-payment-method:focus,
html body .ho12-gt-payment-method.is-selected {
  background: transparent !important;
  color: #111 !important;
  outline: 0 !important;
}

html body .ho12-gt-payment-indicator {
  display: block !important;
  width: 14px !important;
  height: 14px !important;
  border: 1.5px solid #bdbdbd !important;
  border-radius: 50% !important;
  background: transparent !important;
  box-sizing: border-box !important;
}

html body .ho12-gt-payment-method.is-selected .ho12-gt-payment-indicator {
  border-color: #61c51f !important;
  box-shadow: inset 0 0 0 3px #fff !important;
  background: #61c51f !important;
}

/* 2차 검수 39, 45~48, 59, 64, 70, 92 */
html body .ho12-gamtae-pair,
html body :is(.ho12-gt-row-left, .ho12-gift-amount-card, .ho12-gift-send-actions button, .ho12-gift-balance-row) {
  gap: 8px !important;
}
html body .ho12-gt-balance-pair { gap: 14px !important; min-width: 190px !important; }
html body .ho12-gt-balance-pair > span { flex:0 0 auto !important; min-width:90px !important; }
html body .ho12-gt-balance-pair > img { flex:0 0 30px !important; margin:0 !important; }

html body .ho12-gt-payment-indicator {
  width: 24px !important;
  height: 24px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: url('https://12ho.com/wp-content/uploads/2026/06/%EC%9E%90%EC%82%B0-4%EC%B4%88%EB%A1%9D%EC%9D%B8%EC%A6%9D.png') center/contain no-repeat !important;
  box-shadow: none !important;
  filter: grayscale(1) !important;
  opacity: .28 !important;
}
html body .ho12-gt-payment-method.is-selected .ho12-gt-payment-indicator {
  border: 0 !important;
  background: url('https://12ho.com/wp-content/uploads/2026/06/%EC%9E%90%EC%82%B0-4%EC%B4%88%EB%A1%9D%EC%9D%B8%EC%A6%9D.png') center/contain no-repeat !important;
  filter: none !important;
  opacity: 1 !important;
  box-shadow: none !important;
}
html body .ho12-inline-validation-message {
  display:inline-flex !important;
  align-items:center !important;
  margin-left:7px !important;
  color:#67bd39 !important;
  font-size:12px !important;
  font-weight:750 !important;
  line-height:1.4 !important;
}
html body #ho12-gt-payment-methods .ho12-inline-validation-message { margin:8px 0 0 !important; }
html body .ho12-gt-agree-row .ho12-inline-validation-message { order:3 !important; flex:1 1 100% !important; }

html body #ho12-gift-panel-send { width:min(100%,620px) !important; max-width:620px !important; margin-inline:auto !important; text-align:center !important; }
html body #ho12-gift-panel-send .ho12-gift-field-group { display:none !important; }
html body #ho12-gift-panel-send .ho12-gift-instructions { order:1 !important; width:min(100%,560px) !important; margin:0 auto 28px !important; text-align:center !important; line-height:1.65 !important; }
html body #ho12-gift-panel-send .ho12-gift-amount-grid { order:2 !important; grid-template-columns:repeat(5,minmax(54px,1fr)) !important; gap:24px !important; width:100% !important; margin:0 auto 30px !important; }
html body #ho12-gift-panel-send .ho12-gift-send-actions { order:3 !important; justify-content:center !important; margin:22px auto 0 !important; }
html body #ho12-gift-send-action-btn { display:inline-flex !important; align-items:center !important; gap:8px !important; }
html body #ho12-gift-send-amount { font-size:28px !important; line-height:1 !important; }

html body .ho12-gift-receive-input-wrap { padding-bottom:24px !important; }
html body .ho12-gift-receive-error { display:none !important; position:absolute !important; left:50% !important; bottom:-2px !important; transform:translateX(-50%) !important; align-items:center !important; gap:5px !important; width:max-content !important; color:#78c943 !important; font-size:12px !important; font-weight:750 !important; }
html body .ho12-gift-receive-error.is-visible { display:flex !important; }
html body .ho12-gift-receive-error img { width:16px !important; height:16px !important; object-fit:contain !important; }
html body .ho12-gift-receive-field .ho12-required-question-icon { display:none !important; }

/* PDF 107~109: 구매내역은 카드/점선 없이 비활성 텍스트와 축소된 전체 이미지로 표시한다. */
html body #ho12-cart-panel-history .ho12-history-item-row {
  padding: 15px 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body #ho12-cart-panel-history .ho12-history-item-row > div:first-child {
  border-right: 0 !important;
}

html body #ho12-cart-panel-history .ho12-history-item-row,
html body #ho12-cart-panel-history .ho12-history-item-row * {
  color: var(--ho12-muted) !important;
}

html body #ho12-cart-panel-history .ho12-history-item-thumb {
  width: 64px !important;
  height: 64px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

html body #ho12-cart-panel-history .ho12-history-item-thumb img {
  display: block !important;
  width: 64px !important;
  height: 64px !important;
  max-width: 64px !important;
  max-height: 64px !important;
  object-fit: contain !important;
}

html body #ho12-cart-panel-history .ho12-history-item-row :is(a, button) {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ho12-muted) !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

/* PDF 103~106: 소쿠리 탭은 아이콘 중심의 좌측 구성, 상품 행은 얇은 선,
   선택/수량/삭제/누락 안내는 화면 새로고침 없이 동작한다. */
html body .ho12-cart-page-wrapper {
  max-width: 900px !important;
}

html body .ho12-cart-tabs-row {
  justify-content: flex-start !important;
  gap: 22px !important;
  max-width: none !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
}

html body .ho12-cart-tab-btn {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 42px !important;
  min-height: 42px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

html body .ho12-cart-tab-btn > span:not(.ho12-cart-selection-warning) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

html body .ho12-cart-tab-btn img {
  display: block !important;
  width: auto !important;
  height: 28px !important;
  filter: grayscale(1) opacity(.35) !important;
  transition: filter .15s ease !important;
}

html body .ho12-cart-tab-btn:is(.active, :hover, :focus-visible) img {
  filter: none !important;
}

html body .ho12-cart-tab-btn::after {
  content: attr(data-ho12-tooltip) !important;
  position: absolute !important;
  top: calc(100% + 5px) !important;
  left: 0 !important;
  z-index: 30 !important;
  width: max-content !important;
  color: var(--ho12-muted) !important;
  font: 13px/1.2 var(--ho12-font-ui) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(-2px) !important;
  transition: opacity .14s ease, transform .14s ease, visibility 0s linear .14s !important;
}

html body .ho12-cart-tab-btn:is(:hover, :focus-visible)::after {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
  transition-delay: 0s !important;
}

html body .ho12-cart-item-row {
  border: 2px solid var(--ho12-muted) !important;
  padding: 9px 12px !important;
  gap: 14px !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body .ho12-cart-item-thumb {
  width: 56px !important;
  height: 56px !important;
  border: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}

html body .ho12-cart-item-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  border: 0 !important;
}

html body .ho12-cart-item-row,
html body .ho12-cart-item-row * {
  color: var(--ho12-muted) !important;
  box-shadow: none !important;
}

html body .ho12-cart-item-row .ho12-summary-qty-controls {
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
}

html body :is(.ho12-cart-item-checkbox, #ho12-cart-select-all) {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  border: 2px solid var(--ho12-muted) !important;
  border-radius: 50% !important;
  background: transparent !important;
  cursor: pointer !important;
}

html body :is(.ho12-cart-item-checkbox, #ho12-cart-select-all):checked {
  border-color: var(--ho12-ink) !important;
  background: radial-gradient(circle, var(--ho12-accent) 0 42%, transparent 45%) !important;
}

html body #ho12-cart-delete-selected {
  padding: 2px 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--ho12-muted) !important;
  box-shadow: none !important;
}

html body .ho12-cart-summary-box {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body .ho12-cart-selection-warning {
  position: relative !important;
  width: 18px !important;
  height: 18px !important;
  line-height: 0 !important;
}

html body .ho12-cart-selection-warning .ho12-required-question-icon {
  width: 18px !important;
  height: 18px !important;
}

/* PDF 99~102: 상품 주문서는 원본 P35~36의 무박스형 좌측 레이아웃으로 통일한다. */
html body.woocommerce-checkout.ho12-checkout-goods .ho12-checkout-wrapper {
  width: min(1080px, calc(100% - 48px)) !important;
  max-width: 1080px !important;
  margin: 28px auto 80px !important;
  padding: 0 !important;
}

html body.woocommerce-checkout.ho12-checkout-goods .ho12-checkout-page-title,
html body.woocommerce-checkout.ho12-checkout-goods .ho12-checkout-user-email {
  display: none !important;
}

html body.woocommerce-checkout.ho12-checkout-goods .ho12-checkout-shipping-head {
  border: 0 !important;
  padding: 0 !important;
  margin: 0 0 18px !important;
}

html body.woocommerce-checkout.ho12-checkout-goods .ho12-checkout-section-label {
  color: var(--ho12-accent) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}

html body.woocommerce-checkout.ho12-checkout-goods .ho12-checkout-content {
  width: min(560px, 58vw) !important;
  max-width: 560px !important;
  margin: 0 auto 0 clamp(20px, 7vw, 120px) !important;
  gap: 24px !important;
}

html body.woocommerce-checkout.ho12-checkout-goods .ho12-checkout-content > div,
html body.woocommerce-checkout.ho12-checkout-goods .ho12-checkout-shipping-card,
html body.woocommerce-checkout.ho12-checkout-goods .ho12-checkout-summary-box,
html body.woocommerce-checkout.ho12-checkout-goods .ho12-checkout-cart-item,
html body.woocommerce-checkout.ho12-checkout-goods #ho12-toggle-checkout-items,
html body.woocommerce-checkout.ho12-checkout-goods .form-row,
html body.woocommerce-checkout.ho12-checkout-goods :is(input, textarea, button) {
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

html body.woocommerce-checkout.ho12-checkout-goods .ho12-checkout-shipping-card,
html body.woocommerce-checkout.ho12-checkout-goods .ho12-checkout-content > div,
html body.woocommerce-checkout.ho12-checkout-goods .ho12-checkout-summary-box {
  padding: 0 !important;
}

html body.woocommerce-checkout.ho12-checkout-goods .ho12-checkout-summary-box > svg {
  display: none !important;
}

html body.woocommerce-checkout.ho12-checkout-goods .ho12-checkout-content * {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

html body.woocommerce-checkout.ho12-checkout-goods .ho12-checkout-cart-item img {
  border: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}

html body.woocommerce-checkout.ho12-checkout-goods #ho12-custom-manage-btn,
html body.woocommerce-checkout.ho12-checkout-goods #ho12-custom-search-btn {
  color: var(--ho12-muted) !important;
  padding: 4px 0 !important;
}

/* PDF 101: 배송지 관리는 화면을 어둡게 덮지 않고 주문서 오른쪽에 가볍게 펼친다. */
html body.woocommerce-checkout.ho12-checkout-goods #ho12-address-modal {
  inset: var(--ho12-hd-h, 185px) 7vw auto auto !important;
  width: min(390px, 38vw) !important;
  height: auto !important;
  align-items: flex-start !important;
  justify-content: flex-end !important;
  padding: 0 !important;
  background: transparent !important;
  pointer-events: none !important;
}

html body.woocommerce-checkout.ho12-checkout-goods #ho12-address-modal > div {
  width: 100% !important;
  max-width: 390px !important;
  max-height: calc(100vh - var(--ho12-hd-h, 185px) - 30px) !important;
  padding: 14px 18px !important;
  border: 0 !important;
  background: rgba(255,255,255,.98) !important;
  box-shadow: none !important;
  pointer-events: auto !important;
}

html body.woocommerce-checkout.ho12-checkout-goods #ho12-address-modal,
html body.woocommerce-checkout.ho12-checkout-goods #ho12-address-modal * {
  color: var(--ho12-muted) !important;
}

html body.woocommerce-checkout.ho12-checkout-goods #ho12-address-modal :is(h3, div, p, input, button) {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

html body.woocommerce-checkout.ho12-checkout-goods #ho12-address-modal input {
  padding-inline: 0 !important;
}

html body.woocommerce-checkout.ho12-checkout-goods #ho12-address-modal :is(button, .ho12-select-addr-btn, .ho12-delete-addr-btn) {
  color: var(--ho12-accent) !important;
}

html body.woocommerce-checkout.ho12-checkout-goods #ho12-address-modal-close {
  top: 10px !important;
  right: 10px !important;
  width: 20px !important;
  height: 20px !important;
  padding: 0 !important;
  color: var(--ho12-accent) !important;
  font-size: 13px !important;
  line-height: 1 !important;
}

/* PDF 102: 주소 검색은 중앙 팝업형 내장 레이어로 표시하고 바깥 클릭·Esc로 닫는다. */
html body .ho12-postcode-embed {
  position: fixed;
  inset: 0;
  z-index: 10000000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: transparent;
}

html body .ho12-postcode-embed__panel {
  position: relative;
  width: min(480px, calc(100vw - 40px));
  height: min(560px, calc(100vh - 70px));
  background: #fff;
  box-shadow: 0 10px 35px rgba(0,0,0,.14);
}

html body .ho12-postcode-embed__frame {
  width: 100%;
  height: 100%;
}

html body .ho12-postcode-embed__close {
  position: absolute;
  top: 7px;
  right: 7px;
  z-index: 2;
  width: 28px;
  height: 28px;
  padding: 0;
  border: 0;
  background: #fff;
  color: var(--ho12-accent);
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}

/* 푸터 아이콘과 글자는 어느 쪽을 가리켜도 함께 활성화한다. */
html body .ho12-footer-links a :is(.ho12-footer-img, .ho12-footer-link-label) {
  transition: color .15s ease, filter .15s ease, opacity .15s ease !important;
}

html body .ho12-footer-links a:is(:hover, :focus-visible) .ho12-footer-img {
  filter: grayscale(0) opacity(1) !important;
}

html body .ho12-footer-links a:is(:hover, :focus-visible) .ho12-footer-link-label {
  color: var(--ho12-ink) !important;
}

/* PDF 공통 폰트·비활성색: 로그인 여부가 푸터 타이포그래피를 바꾸지 않게 고정한다. */
html body .ho12-footer,
html body .ho12-footer :where(a, span, p, div) {
  font-family: var(--ho12-font-ui) !important;
}

html body .ho12-footer .ho12-footer-links a,
html body .ho12-footer .ho12-footer-links span,
html body .ho12-footer .ho12-footer-info,
html body .ho12-footer .ho12-footer-info a,
html body .ho12-footer .ho12-footer-info span,
html body .ho12-footer .ho12-footer-copyright,
html body .ho12-footer .ho12-footer-copyright span {
  color: var(--ho12-inactive) !important;
}

html body .ho12-footer .ho12-footer-links a:is(:hover, :focus-visible),
html body .ho12-footer .ho12-footer-links a:is(:hover, :focus-visible) span,
html body .ho12-footer .ho12-footer-info a:is(:hover, :focus-visible) {
  color: var(--ho12-ink) !important;
}

/* Keep the public footer identical to the signed-in footer.  Cached legacy
   selectors used a slightly darker #9f9f9f in the signed-out state. */
html body:not(.logged-in) .ho12-footer,
html body:not(.logged-in) .ho12-footer .ho12-footer-links a,
html body:not(.logged-in) .ho12-footer .ho12-footer-links a span,
html body:not(.logged-in) .ho12-footer .ho12-footer-info,
html body:not(.logged-in) .ho12-footer .ho12-footer-info a,
html body:not(.logged-in) .ho12-footer .ho12-footer-info span,
html body:not(.logged-in) .ho12-footer .ho12-footer-copyright,
html body:not(.logged-in) .ho12-footer .ho12-footer-copyright span {
  color: #a3a3a3 !important;
  font-family: var(--ho12-font-ui) !important;
}

/* 로그인 전 전용 레거시 규칙보다 우선해 로그인 전후 푸터를 완전히 동일하게 유지한다. */
html body:not(.logged-in) #page footer.ho12-footer .ho12-footer-links a,
html body:not(.logged-in) #page footer.ho12-footer .ho12-footer-links a span,
html body:not(.logged-in) #page footer.ho12-footer .ho12-footer-info,
html body:not(.logged-in) #page footer.ho12-footer .ho12-footer-info :is(a, span),
html body:not(.logged-in) #page footer.ho12-footer .ho12-footer-copyright,
html body:not(.logged-in) #page footer.ho12-footer .ho12-footer-copyright span {
  color: #a3a3a3 !important;
  font-family: var(--ho12-font-ui) !important;
}

/* Access-required screens must not fall back to a generic nested card. */
html body:not(.logged-in) .ho12-notice-wrap,
html body:not(.logged-in) .ho12-notice-wrap > .ho12-notice {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* The goods submenu contains four desktop-only empty spacers.  On a narrow
   screen they used to remain 90px wide and push the last real control out. */
@media (max-width: 600px) {
  html body .ho12-goods-gnb-sub {
    max-width: 100% !important;
    justify-content: center !important;
    gap: 8px !important;
    overflow-x: clip !important;
  }

  html body .ho12-goods-gnb-sub > div:empty {
    display: none !important;
  }
}

/* 태블릿: 236px 카드 3개를 유지하되 1000px 고정 그리드로 인한 가로 넘침을 제거한다. */
@media (min-width: 769px) and (max-width: 1100px) {
  html body #page #ho12-works-grid.ho12-works-grid {
    grid-template-columns: repeat(3, minmax(0, 236px)) !important;
    column-gap: 0 !important;
    justify-content: space-between !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

@media (max-width: 767px) {
  html body > .ho12-footer {
    margin-top: 64px !important;
  }

  html body .ho12-hd-user-icon.ho12-lying,
  html body .ho12-hd-user-icon.ho12-lying .ho12-hd-lying-img {
    width: 58px !important;
    min-width: 58px !important;
  }

  html body.page-id-17 .ho12-submit-wrapper,
  html body.page-id-17 .ho12-login-submit-btn,
  html body.page-id-17 .ho12-login-btn-icon-normal,
  html body.page-id-17 .ho12-login-btn-icon-hover {
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
    min-height: 52px !important;
  }

  html body.page-id-17 .ho12-sns-icon-wrap,
  html body.page-id-17 .ho12-sns-icon-wrap img {
    width: 24px !important;
    height: 24px !important;
  }

  html body.page-id-17 #page .ho12-login-sub-links .ho12-sub-link-item img {
    width: 52px !important;
    height: 52px !important;
  }

  html body.page-id-17 #page .ho12-login-sub-links .ho12-sub-link-item img[alt='비밀번호 찾기'] {
    width: 47px !important;
    height: 47px !important;
  }

  html body .ho12-pdf-policy__brand-logo {
    height: 23px !important;
    max-width: 160px !important;
  }

  html body .ho12-book-placeholder {
    min-height: 300px !important;
    margin-top: 20px !important;
    padding-inline: 18px !important;
  }

  html body.woocommerce-checkout.ho12-checkout-goods .ho12-checkout-wrapper,
  html body.woocommerce-checkout.ho12-checkout-goods .ho12-checkout-content {
    width: calc(100% - 28px) !important;
    max-width: none !important;
    margin: 20px auto 64px !important;
  }

  html body.woocommerce-checkout.ho12-checkout-goods #ho12-address-modal {
    inset: var(--ho12-hd-h, 150px) 14px auto !important;
    width: auto !important;
    max-height: calc(100vh - var(--ho12-hd-h, 150px) - 24px) !important;
  }

  html body.woocommerce-checkout.ho12-checkout-goods #ho12-address-modal > div {
    max-width: none !important;
  }
}

/* PDF 67-70: gift receive is an open, line-based composition rather than a field card. */
html body #page .ho12-mp-label,
html body #page .ho12-mp-input-container input,
html body #page .ho12-mp-input-container input[readonly],
html body #page .ho12-gt-user-name,
html body #page #ho12-gt-panel-history td,
html body #page #ho12-gt-panel-history td span,
html body #page #ho12-gt-panel-history td button,
html body #page .ho12-filt-tooltip,
html body #page .ho12-gt-icon-tooltip,
html body #page .ho12-gift-tab-tooltip {
  color: #9b9b9b !important;
}

html body .ho12-gift-tabs .ho12-gift-tab-btn {
  position: relative !important;
  overflow: visible !important;
}

html body .ho12-gift-tab-tooltip {
  position: absolute !important;
  top: calc(100% + 5px) !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: max-content !important;
  color: #9b9b9b !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

html body .ho12-gift-tab-btn:hover .ho12-gift-tab-tooltip,
html body .ho12-gift-tab-btn:focus-visible .ho12-gift-tab-tooltip {
  opacity: 1 !important;
  visibility: visible !important;
}

html body .ho12-gift-receive-field {
  width: min(100%, 360px) !important;
  margin: 22px auto 0 !important;
  text-align: center !important;
}

html body .ho12-gift-receive-instruction {
  margin-bottom: 18px !important;
  color: #a3a3a3 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

html body .ho12-gift-receive-row {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 15px !important;
  width: 100% !important;
}

html body .ho12-gift-receive-slash {
  color: #a3a3a3 !important;
  font-family: var(--ho12-font-ui) !important;
  font-size: 17px !important;
  font-weight: 400 !important;
}

html body .ho12-gift-receive-input-wrap {
  position: relative !important;
  flex: 0 1 190px !important;
  min-height: 29px !important;
  border-bottom: 1.5px solid #a3a3a3 !important;
}

html body .ho12-gift-receive-input-wrap input {
  min-height: 28px !important;
  color: #78c943 !important;
  text-align: center !important;
}

html body .ho12-gift-receive-field #ho12-gift-claim-confirm-btn img {
  width: auto !important;
  height: 28px !important;
}

html body .ho12-gift-receive-field .ho12-required-question-icon {
  right: 82px !important;
  filter: none !important;
}

/* PDF 76-81: novel archive and single-work proportions. */
html body:not(.single-ho12_work) #page #ho12-works-grid.ho12-works-grid {
  grid-template-columns: repeat(3, 192px) !important;
  justify-content: center !important;
  gap: 34px 80px !important;
  width: 100% !important;
  max-width: 100% !important;
}

html body:not(.single-ho12_work) #page #ho12-works-grid .ho12-work-card {
  width: 192px !important;
  height: 240px !important;
  min-height: 0 !important;
}

html body.single-ho12_work #page .ho12-sw-title-frame {
  width: min(100%, 760px) !important;
  min-height: 126px !important;
  height: 126px !important;
  margin-inline: auto !important;
  color: #9b9b9b !important;
  background-size: 100% 100% !important;
  opacity: .46 !important;
  filter: grayscale(1) !important;
}

html body.single-ho12_work #page .ho12-sw-title-frame :is(h1, p, span, div) {
  color: #9b9b9b !important;
}

html body.single-ho12_work #page .ho12-planets {
  grid-template-columns: repeat(5, 76px) !important;
  justify-content: center !important;
  column-gap: 78px !important;
  row-gap: 60px !important;
  width: min(100%, 700px) !important;
  margin-inline: auto !important;
}

html body.single-ho12_work #page .ho12-planet,
html body.single-ho12_work #page .ho12-planet-inner {
  width: 76px !important;
  height: 76px !important;
  min-width: 76px !important;
  min-height: 76px !important;
  animation: none !important;
  transition: none !important;
  transform: none !important;
}

html body.single-ho12_work #page .ho12-planet *,
html body.single-ho12_work #page .ho12-planet *::before,
html body.single-ho12_work #page .ho12-planet *::after {
  animation: none !important;
  transition: none !important;
}

/* PDF 72-2: 회차 행성은 정지 상태를 유지하되 호버 시에만 살짝 확대한다. */
html body.single-ho12_work #page .ho12-planet:hover {
  transform: none !important;
}

html body.single-ho12_work #page #ho12-bulk-purchase-btn {
  width: 32px !important;
  height: 32px !important;
}

html body.single-ho12_work #page .ho12-bulk-tooltip {
  min-width: 0 !important;
  width: max-content !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #9b9b9b !important;
  font-size: 12px !important;
}

html body.single-ho12_work #page .ho12-planets .ho12-tooltip.ho12-tt-spray-login,
html body.single-ho12_work #page .ho12-planets .ho12-tooltip.ho12-tt-spray-charge,
html body.single-ho12_work #page .ho12-planets .ho12-tooltip.ho12-tt-spray-adult {
  width: 48px !important;
  height: 52px !important;
  min-width: 48px !important;
  bottom: 72px !important;
  animation: none !important;
  transform: none !important;
}

@media (max-width: 760px) {
  html body:not(.single-ho12_work) #page #ho12-works-grid.ho12-works-grid {
    grid-template-columns: repeat(2, minmax(0, 160px)) !important;
    gap: 24px 18px !important;
  }
  html body:not(.single-ho12_work) #page #ho12-works-grid .ho12-work-card {
    width: min(42vw, 180px) !important;
    height: min(52.5vw, 225px) !important;
  }
  html body.single-ho12_work #page .ho12-planets {
    grid-template-columns: repeat(3, 68px) !important;
    column-gap: 34px !important;
    row-gap: 30px !important;
  }
  html body.single-ho12_work #page .ho12-planet,
  html body.single-ho12_work #page .ho12-planet-inner {
    width: 68px !important;
    height: 68px !important;
    min-width: 68px !important;
    min-height: 68px !important;
  }
}

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

/* 2차 검수 89-A, 92, 95, 98: 아트상품 옵션과 추천 상품. */
html body.single-product .ho12-simple-options-container {
  display:grid !important;
  grid-template-columns:110px minmax(0,1fr) !important;
  align-items:center !important;
  gap:14px !important;
  margin:24px 0 10px !important;
}
html body.single-product .ho12-simple-option-label { color:#9b9b9b !important; font-size:14px !important; font-weight:750 !important; }
html body.single-product .ho12-simple-color-select {
  width:100% !important;
  min-height:40px !important;
  padding:5px 34px 5px 12px !important;
  border:1.5px solid #b5b5b5 !important;
  border-radius:45% 55% 48% 52%/10% 9% 11% 8% !important;
  background:#fff !important;
  color:#737373 !important;
  font-size:14px !important;
  box-shadow:none !important;
}
html body.single-product .ho12-option-warning {
  display:none;
  align-items:center !important;
  gap:7px !important;
  width:max-content !important;
  margin:7px 0 16px 110px !important;
  color:#f4b400 !important;
  font-size:12px !important;
  font-weight:750 !important;
}
html body.single-product .ho12-option-warning[style*="block"] { display:flex !important; }
html body.single-product .ho12-option-warning img { position:static !important; width:18px !important; height:18px !important; transform:none !important; }
html body.single-product :is(.ho12-action-item-cart, .ho12-action-item-buy) img { pointer-events:none !important; }

/* The fixed planet navigation has a large transparent box.  Only its actual
   controls should intercept clicks; the empty area must not cover page forms. */
html body #ho12-planet-nav { pointer-events:none !important; }
html body #ho12-planet-nav :is(a, button, [role="button"]) { pointer-events:auto !important; }
html body #ho12-header { pointer-events:none !important; }
html body #ho12-header :is(a, button, input, select, textarea, [role="button"]) { pointer-events:auto !important; }
html body #ho12-header :is(.ho12-hd-user-wrapper, .ho12-hd-user-icon, .ho12-hd-search, .ho12-hd-search-icon) { pointer-events:auto !important; }
html body #ho12-header .ho12-hd-search:is(:hover, :focus-within, .active) > .ho12-hd-search-expand {
  max-width:350px !important;
  margin-left:10px !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
}
@media (max-width:768px) {
  html body #ho12-header .ho12-hd-search:is(:hover, :focus-within, .active) > .ho12-hd-search-expand {
    max-width:200px !important;
  }
}
html body.single-product .ho12-pd-price-row { gap:8px !important; }
html body.single-product .ho12-pd-related-section ul.products li.product {
  border:3px solid #f4b400 !important;
  background:#fff !important;
  background-image:none !important;
  box-shadow:none !important;
}

/* 2차 검수 100~101: 배송지 안내와 오른쪽 인라인 관리창. */
@media (min-width: 980px) {
  html body.woocommerce-checkout.ho12-checkout-goods .ho12-checkout-wrapper {
    position:relative !important;
    width:min(1180px,calc(100% - 40px)) !important;
    max-width:1180px !important;
  }
  html body.woocommerce-checkout.ho12-checkout-goods .ho12-checkout-content {
    width:600px !important;
    max-width:600px !important;
    margin-left:0 !important;
    margin-right:auto !important;
  }
  html body.woocommerce-checkout.ho12-checkout-goods #ho12-address-modal {
    position:absolute !important;
    inset:94px 0 auto auto !important;
    width:430px !important;
    max-width:430px !important;
    z-index:30 !important;
  }
  html body.woocommerce-checkout.ho12-checkout-goods #ho12-address-modal > div { max-height:none !important; overflow:visible !important; }
}
html body .ho12-checkout-address-error {
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
  width:max-content !important;
  margin:7px 0 0 100px !important;
  color:#f4b400 !important;
  font-size:12px !important;
  font-weight:750 !important;
}
html body .ho12-checkout-address-error img { width:18px !important; height:18px !important; object-fit:contain !important; }

/* 2차 검수 104, 106~109: 소쿠리/구매내역을 원본의 열린 행 구성으로 고정. */
html body .ho12-cart-item-row,
html body .ho12-cart-summary-box,
html body #ho12-cart-panel-history .ho12-history-item-row { border:0 !important; box-shadow:none !important; background:transparent !important; }
html body .ho12-cart-item-checkbox,
html body #ho12-cart-select-all {
  border:0 !important;
  background:url('https://12ho.com/wp-content/uploads/2026/06/%EC%9E%90%EC%82%B0-3%EB%85%B8%EB%9E%91%EC%9D%B8%EC%A6%9D.png') center/contain no-repeat !important;
  filter:grayscale(1) !important;
  opacity:.28 !important;
}
html body #page input.ho12-cart-item-checkbox {
  border:0 !important;
  border-radius:0 !important;
  background:url('https://12ho.com/wp-content/uploads/2026/06/%EC%9E%90%EC%82%B0-3%EB%85%B8%EB%9E%91%EC%9D%B8%EC%A6%9D.png') center/contain no-repeat !important;
  filter:grayscale(1) !important;
  opacity:.28 !important;
}
html body .ho12-cart-item-checkbox:checked,
html body #ho12-cart-select-all:checked { filter:none !important; opacity:1 !important; }
html body #page input.ho12-cart-item-checkbox:checked {
  border:0 !important;
  background:url('https://12ho.com/wp-content/uploads/2026/06/%EC%9E%90%EC%82%B0-3%EB%85%B8%EB%9E%91%EC%9D%B8%EC%A6%9D.png') center/contain no-repeat !important;
  filter:none !important;
  opacity:1 !important;
}
html body #page .ho12-cart-check-image-wrap {
  position:relative !important;
  display:inline-grid !important;
  place-items:center !important;
  width:22px !important;
  height:22px !important;
  flex:0 0 22px !important;
  cursor:pointer !important;
}
html body #page .ho12-cart-check-image-wrap-all {
  width:18px !important;
  height:18px !important;
  flex-basis:18px !important;
}
html body #page .ho12-cart-check-image-wrap input[type="checkbox"] {
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  border:0 !important;
  background:none !important;
  opacity:0 !important;
  cursor:pointer !important;
}
html body #page .ho12-cart-check-image-wrap img {
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  border:0 !important;
  filter:grayscale(1) !important;
  opacity:.28 !important;
  pointer-events:none !important;
}
html body #page .ho12-cart-check-image-wrap input[type="checkbox"]:checked + img {
  filter:none !important;
  opacity:1 !important;
}
html body .ho12-cart-selection-warning {
  display:none;
  align-items:center !important;
  gap:6px !important;
  width:max-content !important;
  height:auto !important;
  color:#f4b400 !important;
  font-size:12px !important;
  font-weight:750 !important;
  line-height:1.4 !important;
}
html body .ho12-cart-selection-warning[style*="block"] { display:flex !important; }
html body .ho12-cart-selection-warning .ho12-required-question-icon { position:static !important; transform:none !important; }
html body #ho12-cart-panel-history .ho12-history-item-row { padding:12px 0 !important; gap:26px !important; }
html body #ho12-cart-panel-history .ho12-history-item-thumb,
html body #ho12-cart-panel-history .ho12-history-item-thumb img { width:52px !important; height:52px !important; max-width:52px !important; max-height:52px !important; }
html body #ho12-cart-panel-history .ho12-tracking-trigger-btn { text-decoration:underline !important; color:var(--ho12-muted) !important; }

/* 2차 검수 110~117: 문의하기 원본 45~48쪽의 중앙형 선/아코디언 구성. */
html body .ho12-contact-container,
html body .ho12-contact-box,
html body .ho12-ct-form { width:min(100%,620px) !important; max-width:620px !important; margin-inline:auto !important; }
html body .ho12-contact-box,
html body .ho12-contact-fg,
html body .ho12-contact-lines-wrap,
html body .ho12-my-contact-item,
html body .ho12-my-contact-body { border:0 !important; background:transparent !important; box-shadow:none !important; }
html body .ho12-contact-fg { position:relative !important; display:flex !important; align-items:center !important; gap:18px !important; min-height:44px !important; margin:0 !important; }
html body .ho12-contact-fg > label { flex:0 0 82px !important; width:82px !important; color:#a3a3a3 !important; font-size:13px !important; font-weight:700 !important; }
html body .ho12-contact-fg input,
html body .ho12-contact-fg textarea { border:0 !important; border-bottom:0 !important; background:transparent !important; color:#a3a3a3 !important; box-shadow:none !important; }
html body .ho12-contact-textarea-fg { align-items:flex-start !important; margin-top:12px !important; }
html body .ho12-contact-textarea-fg .ho12-contact-lines-wrap { flex:1 1 auto !important; }
html body .ho12-contact-textarea-fg textarea { min-height:150px !important; height:150px !important; padding:7px 0 !important; }
html body #ho12-ct-type-dropdown {
  left:auto !important;
  right:0 !important;
  top:calc(100% + 8px) !important;
  width:180px !important;
  padding:6px 0 !important;
  border:1.5px solid #f4b400 !important;
  background:#fff !important;
  box-shadow:none !important;
}
html body #ho12-ct-type-dropdown .ho12-ct-type-option { padding:8px 13px !important; color:#a3a3a3 !important; background:#fff !important; }
html body .ho12-contact-submit-wrap { position:relative !important; justify-content:center !important; margin:22px auto 0 !important; }
html body .ho12-contact-submit-icon-btn { width:46px !important; height:46px !important; opacity:.38 !important; transform:none !important; }
html body .ho12-contact-submit-tooltip { position:absolute !important; left:calc(50% + 30px) !important; top:50% !important; transform:translateY(-50%) !important; display:none !important; color:#a3a3a3 !important; font-size:12px !important; }
html body .ho12-contact-submit-icon-btn:hover + .ho12-contact-submit-tooltip,
html body .ho12-contact-submit-icon-btn:focus-visible + .ho12-contact-submit-tooltip { display:block !important; }
html body .ho12-contact-server-error { display:flex !important; align-items:center !important; justify-content:center !important; gap:7px !important; color:#f4b400 !important; }
html body .ho12-my-contacts-section { width:min(100%,620px) !important; max-width:620px !important; margin:36px auto 0 !important; }
html body .ho12-my-contact-item { margin:0 !important; padding:0 !important; border-bottom:1px solid #d8d8d8 !important; }
html body .ho12-my-contact-header { padding:13px 0 !important; background:transparent !important; }
html body .ho12-my-contact-date,
html body .ho12-my-contact-title-text { color:#a3a3a3 !important; }
html body .ho12-my-contact-body { display:none !important; padding:4px 0 18px !important; color:#a3a3a3 !important; line-height:1.65 !important; }
html body .ho12-my-contact-body.is-open { display:block !important; }
html body .ho12-my-contact-msg-box,
html body .ho12-my-contact-reply-box { color:#a3a3a3 !important; background:transparent !important; border:0 !important; padding:5px 0 !important; }
html body .ho12-contact-success-overlay { background:transparent !important; }

/* 2차 검수 120~122: 약관 제목 옆 장거리우주선 원본 로고. */
html body .ho12-pdf-policy__header { gap:9px !important; }
html body .ho12-pdf-policy__brand-logo { display:block !important; width:auto !important; height:31px !important; max-width:none !important; object-fit:contain !important; }
@media (max-width:600px) { html body .ho12-pdf-policy__brand-logo { height:27px !important; max-width:none !important; } }
