/* 토틀 정적 데모용 보정 CSS (아임웹 JS 가 계산하던 값을 CSS 로 대체) */

/* 이미지 위젯: 호버 오버레이를 이미지 박스에 맞춤 (원래는 JS 가 px 로 계산) */
._img_box.img_wrap { position: relative; }
._img_box.img_wrap > ._hover_overlay { position: absolute !important; top: 0 !important; left: 0 !important; margin: 0 !important; width: 100% !important; height: 100% !important; }

/* 모바일/태블릿 헤더(햄버거 + 가로 메뉴): 원본처럼 스크롤 시 상단 고정 */
@media (max-width: 991px) {
  #doz_header_wrap { position: sticky; top: 0; z-index: 1000; }
}

/* /pricing 월간 구독 모달 — 카드 등록(정기결제) 단계 (plan-modal.js) */
.shim-card-step { margin-top: 4px; }
.shim-card-lead { text-align: center; font-size: 14px; color: #555; line-height: 1.6; margin: 0 0 18px; }
.shim-card-lead b { color: #006bff; }
.shim-card-step .phonenumber_wrap input { width: 64px; }
.shim-card-step .control-label small { font-weight: 400; color: #888; }
.shim-card-step .shim-card-pw { width: 80px; }
.shim-card-agree { border-top: 1px solid #eee; padding-top: 12px; }
.shim-card-agree label { display: flex; gap: 8px; align-items: flex-start; font-size: 13px; font-weight: 400; color: #444; margin: 0 0 8px; line-height: 1.5; cursor: pointer; }
.shim-card-agree label input { margin-top: 3px; flex: none; }
.shim-card-agree .shim-agree-all { font-weight: 700; color: #222; padding-bottom: 8px; border-bottom: 1px solid #f0f0f0; }
.shim-card-btns .btn { margin: 0 4px; }
.shim-card-err { color: #e5484d; font-size: 13px; text-align: center; min-height: 20px; margin: 10px 0 0; }
.shim-card-note { color: #999; font-size: 12px; text-align: center; margin: 4px 0 0; }
.shim-card-done { width: 52px; height: 52px; border-radius: 50%; background: #12a150; color: #fff; font-size: 26px; display: grid; place-items: center; margin: 4px auto 10px; }
.shim-card-done-title { text-align: center; font-size: 18px; font-weight: 700; margin: 0 0 16px; }
.shim-card-dl { display: grid; grid-template-columns: 110px 1fr; gap: 8px 12px; font-size: 14px; margin: 0 0 20px; }
.shim-card-dl dt { color: #888; font-weight: 400; }
.shim-card-dl dd { margin: 0; color: #222; word-break: break-all; }

/* /pricing 연간 구독 모달 — 자동 결제 없음 안내 (plan-modal.js yearNote) */
.shim-year-note { margin: 4px 0 14px; padding: 10px 14px; background: #f5f8ff; border: 1px solid #dbe6ff; border-radius: 8px;
  font-size: 13px; line-height: 1.6; color: #444; text-align: center; }
.shim-year-note b { color: #006bff; }
.shim-year-agree { margin-bottom: 16px; }

/* 로그인 후 헤더: 이름 텍스트 + ▾ 메뉴 (shim.js userMenu) */
.shim-user { position: relative; display: inline-flex; align-items: center; height: 42px; vertical-align: middle; margin-right: 8px; }
.shim-user-name { all: unset; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; padding: 6px 4px;
  font-size: 15px; font-weight: 600; color: #1d2127; white-space: nowrap; }
.shim-user-name:hover, .shim-user.open .shim-user-name { color: #006bff; }
.shim-user-name:focus-visible { outline: 2px solid #b9d4ff; border-radius: 4px; }
.shim-user-name i { width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor;
  transform: translateY(-2px) rotate(45deg); transition: transform .15s; opacity: .7; }
.shim-user.open .shim-user-name i { transform: translateY(1px) rotate(225deg); }
.shim-user-menu { display: none; position: absolute; top: 100%; right: 0; margin-top: 6px; min-width: 150px; z-index: 1001;
  background: #fff; border: 1px solid #e6e8eb; border-radius: 10px; box-shadow: 0 8px 24px rgba(0,0,0,.12); padding: 6px 0; }
.shim-user.open .shim-user-menu { display: block; }
.shim-user-menu a { display: block; padding: 10px 16px; font-size: 14px; color: #1d2127 !important; text-decoration: none; white-space: nowrap; }
.shim-user-menu a:hover { background: #f5f8ff; color: #006bff !important; }

/* PC 고정 헤더: 캡처 당시 뷰포트 폭으로 고정되지 않도록 */
._fixed_header_section[class*="scroll-to-fixed"] { width: 100% !important; }
