/* 상속 상담 신청 팝업 — Fancybox | Point: #162137 */
:root { --consult-point:#162137; --consult-point-hover:#1f2d4a; --consult-point-focus:#243552; --consult-point-ring:rgba(22,33,55,.1); --consult-ink-900:#242424; --consult-ink-800:#454545; --consult-ink-700:#5b5b5b; --consult-ink-500:#686868; --consult-ink-400:#909090; --consult-ink-300:#c9ced8; --consult-line:#e5e7ee; --consult-line-soft:#ddd; --consult-bg-card:#f6f7fa; --consult-white:#ffffff; --consult-danger:#e5484d; --consult-sheet-width:540px; }

#consultPopup { display:none; }
html.consult-popup-open, html.consult-popup-open body { overflow:hidden !important; }
.fancybox-consult.fancybox-wrap { left:50% !important; top:50% !important; right:auto !important; bottom:auto !important; transform:translate(-50%,-50%) !important; margin:0 !important; width:100% !important; max-width:min(540px, calc(100vw - 32px)) !important; height:auto !important; max-height:calc(100vh - 32px) !important; box-sizing:border-box !important; }
.fancybox-consult .fancybox-skin { background:transparent; box-shadow:none; border-radius:0; width:100% !important; max-width:100% !important; height:100% !important; max-height:calc(100vh - 32px) !important; box-sizing:border-box !important; padding:0 !important; }
.fancybox-consult .fancybox-outer, .fancybox-consult .fancybox-inner { width:100% !important; max-width:100% !important; height:100% !important; max-height:calc(100vh - 32px) !important; overflow:visible !important; background:transparent; box-sizing:border-box !important; }
.fancybox-consult .fancybox-close { display:none !important; }
#consultPopup { display:none; width:100%; max-width:100%; }
.fancybox-opened #consultPopup { display:block; width:100% !important; max-width:100%; height:100% !important; max-height:calc(100vh - 32px); }

.consult-sheet { position:relative; width:100%; max-width:540px; height:calc(100vh - 32px); max-height:calc(100vh - 32px); background:var(--consult-white); display:flex; flex-direction:column; border-radius:12px; box-shadow:0 20px 60px rgba(22,33,55,.22); overflow:hidden; font-family:Pretendard,"Open Sans",AppleGothic,helvetica,sans-serif; color:var(--consult-ink-900); letter-spacing:-.03em; -webkit-font-smoothing:antialiased; box-sizing:border-box; }
.consult-sheet *, .consult-sheet *::before, .consult-sheet *::after { box-sizing:border-box; }
.consult-sheet button, .consult-sheet input, .consult-sheet select, .consult-sheet textarea { font-family:inherit; letter-spacing:inherit; }

.consult-sheet-header { flex-shrink:0; padding:28px 28px 22px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--consult-line); background:var(--consult-white); border-radius:12px 12px 0 0; }
.consult-sheet-title { margin:0; font-size:17px; font-weight:700; color:var(--consult-ink-900); letter-spacing:-.01em; }
.consult-close-btn { background:none; border:none; cursor:pointer; padding:4px; color:var(--consult-ink-800); line-height:0; }
.consult-close-btn svg { width:20px; height:20px; display:block; }

.consult-sheet-body { flex:1; min-height:0; padding:32px 28px 40px; overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; scrollbar-gutter:stable; }
.consult-field { margin-bottom:20px; }
.consult-field--memo { margin-top:24px; }
.consult-label { display:flex; align-items:center; gap:4px; font-size:14px; font-weight:700; color:var(--consult-ink-900); margin-bottom:8px; letter-spacing:-.01em; }
.consult-req { color:var(--consult-danger); font-weight:700; }

.consult-input, .consult-select { width:100%; height:46px; padding:0 14px; border:1px solid var(--consult-line); border-radius:8px; font-size:14px; color:var(--consult-ink-900); background-color:var(--consult-white); transition:border-color .15s,box-shadow .15s; outline:none; }
.consult-input::placeholder { color:var(--consult-ink-400); }
.consult-input:focus, .consult-select:focus, .consult-textarea:focus { border-color:var(--consult-point-focus); box-shadow:0 0 0 3px var(--consult-point-ring); }
.consult-input.is-invalid, .consult-select.is-invalid, .consult-textarea.is-invalid { border-color:var(--consult-danger); }
.consult-select { -webkit-appearance:none; -moz-appearance:none; appearance:none; background-color:var(--consult-white); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23686868' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; background-size:16px 16px; padding-right:40px; cursor:pointer; }
.consult-select::-ms-expand { display:none; }
.consult-select:invalid, .consult-select:disabled { color:var(--consult-ink-400); }
.consult-select:disabled { opacity:.5; cursor:not-allowed; background-color:#fafafa; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23686868' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; background-size:16px 16px; }

.consult-two-col { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.consult-pill-group { display:flex; flex-wrap:wrap; gap:8px; }
.consult-pill { display:inline-flex; align-items:center; justify-content:center; height:36px; line-height: 1; padding:0 16px; border:1px solid var(--consult-ink-300); border-radius:999px; background:var(--consult-white); color:var(--consult-ink-800); font-size:13px; font-weight:500; cursor:pointer; transition:all .15s; white-space:nowrap; }
.consult-pill:hover { border-color:var(--consult-point-focus); color:var(--consult-point); }
.consult-pill.active { border-color:var(--consult-point); color:var(--consult-point); background:var(--consult-white); box-shadow:inset 0 0 0 1px var(--consult-point); font-weight:600; }
.consult-pill-group.is-invalid .consult-pill { border-color:rgba(229,72,77,.45); }

.consult-analysis-card { background:var(--consult-bg-card); border-radius:12px; padding:20px 18px 4px; margin-top:8px; }
.consult-analysis-lead { font-size:13px; color:var(--consult-ink-500); margin:0 0 18px; line-height:1.5; }
.consult-analysis-card .consult-field { margin-bottom:22px; }
.consult-analysis-card .consult-field:last-child { margin-bottom:20px; }
.consult-analysis-card .consult-label { font-size:13.5px; }

.consult-checkbox { display:inline-flex; align-items:center; gap:6px; font-size:13px; color:var(--consult-ink-800); cursor:pointer; user-select:none; line-height:1.4; }
.consult-checkbox input[type="checkbox"] { -webkit-appearance:none !important; -moz-appearance:none !important; appearance:none !important; width:16px !important; height:16px !important; min-width:16px !important; min-height:16px !important; max-width:16px !important; max-height:16px !important; border:1.5px solid var(--consult-ink-300) !important; border-radius:3px !important; background-color:var(--consult-white) !important; background-image:none !important; cursor:pointer; position:relative; margin:0 !important; padding:0 !important; flex-shrink:0; vertical-align:top; box-shadow:none !important; transition:background-color .15s,border-color .15s; }
.consult-checkbox input[type="checkbox"]:checked { background-color:var(--consult-point) !important; border-color:var(--consult-point) !important; }
.consult-checkbox input[type="checkbox"]:checked::after { content:""; position:absolute; left:4px; top:0; width:4px; height:8px; border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg); box-sizing:content-box !important; }

.consult-textarea { width:100%; min-height:100px; padding:12px 14px; border:1px solid var(--consult-line); border-radius:8px; font-size:14px; color:var(--consult-ink-900); background-color:var(--consult-white); resize:vertical; outline:none; transition:border-color .15s,box-shadow .15s; line-height:1.5; }
.consult-textarea::placeholder { color:var(--consult-ink-400); }

.consult-agreement { margin-top:8px; padding:14px 16px; background:var(--consult-bg-card); border-radius:10px; display:flex; flex-direction:column; gap:10px; box-sizing:border-box; }
.consult-agreement.is-invalid { box-shadow:inset 0 0 0 1px rgba(229,72,77,.45); }
.consult-agreement-item { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; }
.consult-agreement-item .consult-checkbox { flex:1; min-width:0; align-items:flex-start; }
.consult-agreement-item .consult-checkbox > span { flex:1; min-width:0; word-break:keep-all; overflow-wrap:break-word; }
.consult-agreement-item .consult-checkbox input[type="checkbox"] { margin-top:2px !important; }
.consult-view-link { font-size:12px; color:var(--consult-ink-500); text-decoration:underline; background:none; border:none; cursor:pointer; padding:0; flex-shrink:0; line-height:1.4; align-self:center; white-space:nowrap; }
.consult-view-link[aria-expanded="true"] { color:var(--consult-point); }
.consult-privacy-detail { margin-top:4px; padding-top:14px; border-top:1px solid var(--consult-line); font-size:13px; line-height:1.65; color:var(--consult-ink-800); }
.consult-privacy-detail[hidden] { display:none; }
.consult-privacy-detail h3, .consult-privacy-detail .consult-privacy-detail__title { margin:16px 0 6px; font-size:13.5px; font-weight:700; color:var(--consult-ink-900); letter-spacing:-.01em; }
.consult-privacy-detail .consult-privacy-detail__title { margin-top:0; font-size:14px; }
.consult-privacy-detail p { margin:0 0 4px; }
.consult-required-tag { color:var(--consult-point); font-weight:600; margin-right:4px; }

.consult-sheet-footer { flex-shrink:0; background:var(--consult-white); padding:22px 28px 28px; border-top:1px solid var(--consult-line); }
.consult-cta { width:100%; height:56px; background:#1d3461; color:var(--consult-white); border:none; border-radius:8px; font-size:15px; font-weight:700; cursor:pointer; letter-spacing:-.01em; transition:background .15s; }
.consult-cta:hover { background:#254575; }
.consult-cta:disabled { background:var(--consult-ink-300); cursor:not-allowed; }

.consult-time-row { display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; gap:12px; flex-wrap:wrap; }
.consult-time-row .consult-label { margin-bottom:0; }
.consult-time-options { display:flex; align-items:center; gap:14px; }

@media (max-width:640px) {
.fancybox-consult.fancybox-wrap { max-width:min(540px, calc(100vw - 24px)) !important; max-height:calc(100vh - 24px) !important; }
.fancybox-consult .fancybox-skin, .fancybox-consult .fancybox-outer, .fancybox-consult .fancybox-inner, .fancybox-opened #consultPopup, .consult-sheet { max-height:calc(100vh - 24px) !important; }
.consult-sheet { width:100%; max-width:540px; height:calc(100vh - 24px); max-height:calc(100vh - 24px) !important; border-radius:12px; }
.consult-sheet-header, .consult-sheet-footer { padding-left:20px; padding-right:20px; }
.consult-sheet-header { padding-top:24px; padding-bottom:18px; }
.consult-sheet-body { padding:25px 15px 35px; }
.consult-sheet-footer { padding-top:18px; padding-bottom:24px; }
.consult-two-col { grid-template-columns:1fr; }
.consult-time-row { flex-direction:column; align-items:flex-start; }
}
