/* HealthLens v3 — app bodies (/q, /qna, /c, /result, /checkup/consult-result) in the portal / visitkorea look.
   CSS only: no markup, field names, ids or JS hooks change. Loaded after skin.css. Rollback: drop this file's <link> (rollback_v3.sh). */
.wc-wrap,.cs-main{font-size:16px;line-height:1.6;color:#3d3d43;letter-spacing:-.02em}
.wc-wrap h1,.cs-main h1{font-size:clamp(28px,2.6vw,38px)!important;font-weight:800!important;letter-spacing:-.03em;color:#29292c!important;line-height:1.3}
.wc-wrap h2,.cs-main h2{font-size:clamp(22px,1.9vw,26px)!important;font-weight:800!important;letter-spacing:-.03em;color:#29292c!important;line-height:1.35}
.wc-wrap h3,.cs-main h3{font-size:18px!important;font-weight:700!important;color:#29292c!important}
.wc-wrap h4,.cs-main h4{font-size:17px!important;font-weight:700!important}
:where(.wc-wrap) a{color:#1b58cf}

/* ---- inline-style safety net (views use style="…"): readable size + AA contrast ---- */
.wc-wrap [style*="font-size:9px"],.wc-wrap [style*="font-size:10px"],.wc-wrap [style*="font-size:10.5px"],.wc-wrap [style*="font-size:11px"],.wc-wrap [style*="font-size:11.5px"],
.wc-wrap [style*="font-size: 10px"],.wc-wrap [style*="font-size: 11px"],.wc-wrap [style*="font-size: 11.5px"],
.cs-main [style*="font-size:10px"],.cs-main [style*="font-size:11px"],.cs-main [style*="font-size:11.5px"],.cs-main [style*="font-size: 11px"],.cs-main [style*="font-size: 11.5px"]{font-size:13px!important}
.wc-wrap [style*="font-size:12px"],.wc-wrap [style*="font-size:12.5px"],.wc-wrap [style*="font-size:13px"],.wc-wrap [style*="font-size:13.5px"]{font-size:14px!important}
.wc-wrap [style*="#94a3b8"],.wc-wrap [style*="#cbd5e1"],.cs-main [style*="#94a3b8"],.cs-main [style*="var(--ink-400)"],.cs-main [style*="var(--ink-300)"]{color:#6b6b76!important}
.wc-wrap [style*="color:#64748b"],.wc-wrap [style*="color: #64748b"]{color:#58585f!important}
.wc-wrap [style*="color:#ef4444"]{color:#c0262d!important}
.wc-wrap [style*="color:#10b981"]{color:#127a3b!important}
.wc-wrap [style*="background:#10b981"]{background:#127a3b!important}
.wc-wrap [style*="background:#f59e0b"]{background:#8a4b00!important}
.wc-wrap [style*="background:#ef4444"]{background:#c0262d!important}
.wc-wrap [style*="color:#f59e0b"]{color:#8a4b00!important}
/* tinted badges use the colour + "18" alpha: keep them light */
.wc-wrap [style*="background:#10b98118"]{background:#e9f7ee!important}
.wc-wrap [style*="background:#f59e0b18"]{background:#fff4e0!important}
.wc-wrap [style*="background:#ef444418"]{background:#fdeeee!important}
.wc-wrap [style*="background:#f8fafc"]{background:#f6f6fa!important;border-radius:16px!important}

/* ---- cards, buttons, inputs (visitkorea: white, 1px line, 20px corners, dark/blue buttons) ---- */
.wc-card{padding:clamp(20px,2.4vw,36px)!important;border-radius:20px!important}
.wc-btn{min-height:52px!important;padding:0 26px!important;font-size:17px!important;font-weight:700!important;border-radius:8px!important;line-height:1.2!important}
.wc-input{min-height:52px;font-size:16px!important;padding:12px 16px!important;border-radius:10px!important;border:1px solid #cfcfd8!important;color:#29292c}
.wc-field-row{gap:16px!important}
.wc-wrap label{font-size:15px}

/* ---- questionnaire steps: big choices + progress bar ---- */
.wc-progress{height:10px!important;background:#e7e7f0!important;border-radius:999px!important;margin:14px 0 28px!important}
.wc-progress-bar{background:#236cf6!important;border-radius:999px!important}
.wc-q{padding:26px 0!important;border-top:1px solid #ececf2!important}
.wc-q-text{font-size:19px!important;font-weight:700!important;color:#29292c!important;line-height:1.45!important;margin-bottom:14px!important}
.wc-q-help{font-size:14.5px!important;color:#6b6b76!important;font-weight:500!important;margin-top:6px!important}
.wc-choice{min-height:56px!important;padding:12px 18px!important;font-size:17px!important;color:#29292c!important;border:1.5px solid #dcdce6!important;border-radius:12px!important;margin-bottom:10px!important;background:#fff!important;gap:14px!important}
.wc-choice:hover{border-color:#236cf6!important;background:#f5f8ff!important}
.wc-choice.checked{border-color:#236cf6!important;background:#eaf1fe!important;box-shadow:inset 0 0 0 1px #236cf6}
.wc-choice input{width:22px!important;height:22px!important;accent-color:#236cf6}
/* choices as big buttons in a responsive grid (1 column on phones) */
.wc-q{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));column-gap:12px;align-items:stretch}
.wc-q>:not(.wc-choice){grid-column:1/-1}
.wc-q>.wc-choice{margin-bottom:0!important}
.wc-q{row-gap:10px}

/* ---- result ---- */
.wc-risk-card{border-radius:16px!important;padding:20px 24px!important;border:1px solid #e5e5ec!important}
.wc-risk-normal{border-inline-start:6px solid #127a3b!important}
.wc-risk-caution{border-inline-start:6px solid #b25e00!important}
.wc-risk-risk{border-inline-start:6px solid #c0262d!important}

/* ---- /q portal (questionnaire home) ---- */
.pt-hero{padding:clamp(24px,3vw,44px)!important}
.pt-hero h2{font-size:clamp(28px,2.6vw,38px)!important;margin-bottom:10px!important}
.pt-hero p{font-size:17px!important;color:#3d3d43!important}
.pt-search{height:56px;border:2px solid #236cf6!important;border-radius:999px!important;font-size:17px!important;padding-inline-start:46px!important;background:#fff!important}
.pt-stat{font-size:14px!important;background:#fff!important;border:1px solid #e5e5ec!important;border-radius:999px!important;padding:6px 14px!important;color:#3d3d43!important}
.pt-stat b{color:#1b58cf!important}
.pt-stat .pt-svg{color:#6b6b76!important}
.pt-ticker{background:#f3f3fa!important;color:#29292c!important;border-radius:16px!important}
.pt-ticker *,.pt-ticker a,.pt-ticker b{color:#29292c!important}
.pt-ticker-track b{color:#1b58cf!important}
.pt-ticker-track .cat{color:#6b6b76!important;font-size:13px!important}
.pt-ticker-lbl{color:#c0262d!important;font-weight:800}
.pt-ev{background:#eaf1fe!important;border-radius:20px!important}
.pt-ev,.pt-ev *{color:#29292c!important}
.pt-ev:nth-child(n){background:#eaf1fe!important}
.pt-ev .ev-ic{background:#fff!important;color:#236cf6!important}
.pt-ev h4{font-size:20px!important;font-weight:800!important}
.pt-ev p{font-size:15px!important;color:#3d3d43!important}
.pt-sec-title{font-size:24px!important;font-weight:800!important;color:#29292c!important;letter-spacing:-.03em;margin:28px 0 14px!important}
.pt-sec-title svg{color:#236cf6}
.pt-sec-title .more{font-size:15px!important;color:#5c5c66!important;font-weight:700!important}
.pt-tile,.pt-tile:nth-child(n){background:#fff!important;color:#29292c!important;border:1px solid #e5e5ec!important;border-radius:20px!important;box-shadow:none!important;padding:24px!important}
.pt-tile:hover{box-shadow:0 14px 28px rgba(20,40,90,.10)!important}
.pt-tile .ti-ic{background:#f3f3fa!important;color:#3d3d43!important;border-radius:50%!important}
.pt-tile .cat{display:inline-flex!important;align-self:flex-start;align-items:center;height:28px;padding:0 12px;border-radius:999px;background:#236cf6;color:#fff!important;font-size:13px!important;font-weight:700!important;opacity:1!important;line-height:1}
.pt-tile .tt{font-size:21px!important;font-weight:800!important;color:#29292c!important;letter-spacing:-.03em}
.pt-tile .ds{font-size:15px!important;color:#58585f!important;opacity:1!important}
.pt-tile .go{font-size:15px!important;font-weight:700!important;color:#1b58cf!important}
.pt-box,.pt-box--accent{background:#fff!important;border:1px solid #e5e5ec!important;border-radius:20px!important;box-shadow:none!important}
.pt-phead h3{font-size:19px!important}
.pt-phead .cnt{font-size:13px!important;color:#6b6b76!important}
.pt-phead .ph-ic{color:#236cf6!important}
.pt-rank{font-size:16px!important;padding:12px 4px!important}
.pt-rank .num{font-size:17px!important;color:#1b58cf!important;font-weight:800!important}
.pt-rank .ct{font-size:13px!important;color:#6b6b76!important}
.pt-rank .rk-ic,.pt-item .it-ic{color:#6b6b76!important}
.pt-item{font-size:16px!important;padding:12px 6px!important;border-radius:10px}
.pt-item:hover{background:#f6f6fa}
.pt-badge{font-size:12.5px!important;padding:4px 10px!important;line-height:1!important}
.pt-badge--live{background:#e9f7ee!important;color:#127a3b!important}
.pt-badge--soon{background:#f3f3fa!important;color:#5c5c66!important}
.pt-navchip{height:40px;display:inline-flex!important;align-items:center;padding:0 16px!important;border-radius:999px!important;background:#f3f3fa!important;border:0!important;color:#3d3d43!important;font-size:15px!important}
.pt-navchip span{color:#6b6b76!important;font-size:13px!important}
.pt-navchip:hover{background:#eaf1fe!important;color:#1b58cf!important}
.pt-cb{border-radius:16px!important;border:1px solid #e5e5ec!important;background:#fff!important;padding:16px!important}
.pt-cb .nm{font-size:16px!important;font-weight:700!important;color:#29292c!important}
.pt-cb .sub{font-size:13px!important;color:#6b6b76!important}
.pt-cb .cb-ic{background:#f3f3fa!important;color:#3d3d43!important;border-radius:50%!important}
.pt-spill{border-radius:999px!important;background:#f3f3fa!important;border:0!important;color:#3d3d43!important;font-size:15px!important;height:40px;display:inline-flex!important;align-items:center}
.pt-banner{padding:28px 32px!important}
.pt-banner h3,.pt-banner p{color:#fff!important}
.pt-banner p{font-size:16px!important}
.pt-banner a{background:#fff!important;color:#3d3d43!important;border-radius:8px!important;font-weight:700!important;min-height:48px;display:inline-flex!important;align-items:center;padding:0 22px!important}
.pt-empty{color:#6b6b76!important;font-size:15px!important}
.pt-live-dot{background:#c0262d!important}

/* ---- /q/gallery ---- */
.gx-hero{padding:clamp(24px,3vw,44px)!important}
.gx-cat h2{font-size:24px!important}
.gx-cat-bar{background:#e5e5ec!important;background-image:none!important}
.gx-card{border-radius:20px!important;border:1px solid #e5e5ec!important;box-shadow:none!important}
.gx-card:hover{box-shadow:0 14px 28px rgba(20,40,90,.10)!important}
.gx-card-title{font-size:18px!important;color:#29292c!important}
.gx-card-desc{font-size:15px!important;color:#58585f!important}
.gx-card-meta,.gx-card-meta span{font-size:13px!important;color:#6b6b76!important}
.gx-btn{border-radius:8px!important;font-size:15px!important;min-height:44px}
.gx-btn--start{color:#fff!important}
.gx-btn--flow{background:#fff!important;color:#3d3d43!important;border:1px solid #cfcfd8!important}
.gx-soon{font-size:14px!important;color:#6b6b76!important}

/* ---- consult suite (/qna, /c, /result) ---- */
.cs-kicker{display:inline-flex!important;align-items:center;gap:14px;font-size:15px!important;font-weight:600!important;letter-spacing:0!important;text-transform:none!important;color:#1d1d1d!important}
.cs-kicker::after{content:"";height:2px;width:120px;background:#1d1d1d}
.cs-stat-label,.cs-step-label{font-size:13.5px!important;color:#5c5c66!important}
.cs-step-num{font-size:14px!important}
.cs-tag,.cs-tag--mute{font-size:13px!important;border-radius:999px!important}
.cs-tag--mute{color:#5c5c66!important;background:#f3f3fa!important}
.cs-mute{color:#6b6b76!important}
.cs-mute[style*="font-size"]{font-size:13px!important}
.cs-card,.cs-panel,.cs-tile,.cs-tool,.cs-box{border-radius:20px!important;border-color:#e5e5ec!important;box-shadow:none!important}
.cs-card:hover,.cs-tile:hover,.cs-tool:hover{box-shadow:0 14px 28px rgba(20,40,90,.10)!important}
.cs-hero{background:#fef4e3!important;border-radius:20px;padding:clamp(24px,3vw,48px)!important;border:0!important}
.cs-btn{border-radius:8px!important;min-height:48px;font-size:16px!important;font-weight:700!important}
.cs-input,.cs-main input[type=text],.cs-main input[type=date],.cs-main input[type=email],.cs-main textarea,.cs-main select{border-radius:10px!important;font-size:16px!important;min-height:48px}
.cs-prose{font-size:17px!important;color:#3d3d43!important}

/* consult-result forms (renderPage) */
.wc-wrap .wc-card>h1,.wc-wrap .wc-card>h2{margin-top:0}
.wc-wrap a[style*="gradient"]{background:#236cf6!important;color:#fff!important;border-radius:8px!important;box-shadow:none!important}
/* remaining indigo accents → portal blue / ink */
.pt-svg,.pt-searchwrap .pt-svg,.pt-sec-title .pt-svg,.pt-spill .pt-svg{color:#236cf6!important}
.pt-item.live .it-ic{color:#236cf6!important}
.pt-item.live:hover .tt,.pt-rank:hover .tt{color:#1b58cf!important}
.pt-rank:nth-of-type(-n+4) .num{color:#1b58cf!important}
.pt-hero a,.pt-hero a:hover{background:#236cf6!important;background-image:none!important;color:#fff!important;border-radius:8px!important;box-shadow:none!important}
.pt-live-dot{animation:none!important}
.pt-navchip{height:auto!important;min-height:40px;padding:8px 16px!important;line-height:1.3!important}
.wc-wrap h2,.wc-wrap h3,.cs-main h1,.cs-main h2,.cs-main h3{text-wrap:balance}
.wc-wrap p,.cs-main p{text-wrap:pretty}
/* risk cards: tinted card instead of a coloured side tab */
.wc-risk-normal,.wc-risk-caution,.wc-risk-risk{border-inline-start-width:1px!important}
.wc-risk-normal{border-color:#bfe3cb!important;background:#f5fbf7!important}
.wc-risk-caution{border-color:#f0d8a8!important;background:#fffaf0!important}
.wc-risk-risk{border-color:#f1c0c3!important;background:#fff6f6!important}
.wc-input:focus{outline:2px solid #236cf6!important}
.wc-card>.wc-q:first-of-type{border-top:0!important;padding-top:4px!important}
