/* WhiteCoatHunter Clinical Mastery Plus 2.1 — Experience Refresh.
 * Strictly scoped to plugin containers; no WordPress theme overrides.
 */
.wch-cm{
  --navy:#0b1e35;--ink:#142d44;--sub:#516b80;--muted:#71889b;
  --mint:#087e79;--line:#d7e5ec;--pale:#f3f8fc;
  --shadow:0 15px 46px rgba(12,42,72,.075);
  --wch-card-glow:0 16px 42px rgba(13,51,78,.10);
  max-width:1320px;padding:0 clamp(10px,1.5vw,22px);
  color:var(--ink);font-size:17px;line-height:1.65;
}
.wch-cm button,.wch-cm a,.wch-home a,.wch-auth a,.wch-dash a{ -webkit-tap-highlight-color:transparent;}
.wch-cm button:focus-visible,.wch-cm a:focus-visible,.wch-cm input:focus-visible,
.wch-cm select:focus-visible,.wch-cm textarea:focus-visible,
.wch-home a:focus-visible,.wch-dash a:focus-visible,.wch-auth :is(a,button,input,select):focus-visible{
  outline:3px solid #19bdb1!important;outline-offset:3px!important;
}
.wch-cm .wch-topbar{
  position:relative;z-index:10;display:flex;flex-wrap:wrap;
  margin:0 0 16px;padding:14px clamp(12px,2vw,22px);border:1px solid #dfebf2;
  border-radius:18px;background:linear-gradient(115deg,#fff,rgba(238,249,252,.82));
  box-shadow:0 6px 22px rgba(14,52,77,.052);
}
.wch-cm .wch-brandmark{width:49px;height:49px;border-radius:15px;background:linear-gradient(135deg,#103e61,#106a76);color:#aff6e5;box-shadow:0 8px 22px rgba(18,104,119,.2)}
.wch-cm .wch-brand strong{font-size:17px;letter-spacing:-.025em}
.wch-cm .wch-brand small{font-size:10px;letter-spacing:.11em}
.wch-cm .wch-top-actions{gap:8px;flex-wrap:wrap;justify-content:flex-end}
.wch-cm .wch-top-actions a{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:11px;padding:9px 12px;font-size:14px;font-weight:750;transition:background-color .16s,color .16s,transform .16s}
.wch-cm .wch-top-actions a:hover{background:#eaf5f8;color:#055f6e}
.wch-cm .wch-top-actions .wch-calculators-link{background:linear-gradient(120deg,#e3f7f2,#eef9fc);color:#086e70;border:1px solid #c8e8e6}
.wch-cm .wch-top-actions .wch-learning-nav{background:#eaf3fa;color:#16476d}
.wch-cm .wch-top-actions .wch-login{background:#fff;border:1px solid #d6e5eb;font-size:14px}
.wch-cm .wch-desktop-tag{font-size:12px;color:#60849a}
.wch-cm .wch-hero{
  border-radius:26px;min-height:398px;padding:50px clamp(28px,5vw,62px);
  background:radial-gradient(circle at 80% 10%,rgba(44,180,175,.22),transparent 46%),
             linear-gradient(120deg,#0b2039 0%,#102d4d 55%,#114d61 100%);
  box-shadow:0 23px 50px rgba(11,39,67,.16);
}
.wch-cm .wch-hero:before{content:"";position:absolute;inset:0;border:1px solid rgba(174,229,231,.16);border-radius:inherit;pointer-events:none}
.wch-cm .wch-hero-content>p{font-size:17px;line-height:1.72;color:#d3e5ee}
.wch-cm .wch-hero h1{font-size:clamp(39px,5vw,69px);letter-spacing:-.055em}
.wch-cm .wch-eyebrow{font-size:12px;letter-spacing:.09em;color:#8aeee0}
.wch-cm .wch-btn{font-size:16px;min-height:50px;border-radius:12px}
.wch-cm .wch-btn--white{color:#103c51}
.wch-cm .wch-btn--solid,.wch-cm .wch-btn--dark{background:linear-gradient(135deg,#0d6576,#0e4975);color:#fff;box-shadow:0 8px 21px rgba(9,70,94,.13)}
.wch-cm .wch-btn--solid:hover,.wch-cm .wch-btn--dark:hover{box-shadow:0 11px 27px rgba(9,70,94,.21)}
.wch-cm .wch-hero-mini{font-size:13px;gap:15px}
.wch-cm .wch-art-patient{border-radius:20px;box-shadow:0 27px 55px rgba(0,0,0,.23)}
.wch-cm .wch-metrics{border-radius:19px;margin:16px 0 8px;box-shadow:0 12px 30px rgba(10,48,73,.07);padding:21px 15px}
.wch-cm .wch-metrics strong{font-size:30px;color:#103f59}
.wch-cm .wch-metrics span{font-size:13px;line-height:1.35;color:#607b8e}
.wch-cm .wch-demo-showcase{border-radius:24px;background:linear-gradient(145deg,#f4fbfc,#edf6ff);border:1px solid #deecf1}
.wch-cm .wch-demo-heading h2,.wch-cm .wch-section-heading h2{letter-spacing:-.04em}
.wch-cm .wch-demo-tile{border-radius:20px;border-color:#d6e6ed;box-shadow:0 8px 24px rgba(15,54,81,.065)}
.wch-cm .wch-demo-tile:hover{box-shadow:0 18px 38px rgba(15,54,81,.12)}
.wch-cm .wch-demo-tile-copy{padding:20px 22px 23px}
.wch-cm .wch-demo-tile h3{font-size:23px}
.wch-cm .wch-demo-tile p{font-size:16px}
.wch-cm .wch-demo-play{border-radius:11px;font-size:15px;min-height:48px;background:#0a6d75}
.wch-cm .wch-library{padding-top:46px}
.wch-cm .wch-section-heading p{font-size:16px}
.wch-cm .wch-search-wrap{min-width:250px;width:min(350px,100%);min-height:52px;border:1px solid #c9dce6;border-radius:14px;box-shadow:0 6px 17px rgba(23,56,74,.045)}
.wch-cm .wch-search{font-size:16px;height:49px;min-width:0}
.wch-cm .wch-search::placeholder{color:#8298a7}
.wch-cm .wch-filter,.wch-cm .wch-scope-chip{font-size:14px;min-height:42px;padding:10px 16px;border-radius:999px}
.wch-cm .wch-filter.is-active,.wch-cm .wch-scope-chip.is-active{background:#10465b;color:#fff;box-shadow:0 5px 15px rgba(16,70,91,.16)}
.wch-cm .wch-cards{gap:18px}
.wch-cm .wch-case-card{border:1px solid #dbe7ed;border-radius:21px;padding:23px;background:#fff;box-shadow:0 9px 28px rgba(15,52,77,.055);position:relative;overflow:hidden}
.wch-cm .wch-case-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#0daea2,#2876b1);opacity:0;transition:opacity .2s}
.wch-cm .wch-case-card:hover{box-shadow:var(--wch-card-glow);border-color:#b7d7dd}
.wch-cm .wch-case-card:hover:before{opacity:1}
.wch-cm .wch-case-icon{width:51px;height:51px;border-radius:15px;font-size:26px;background:#e9f6f8}
.wch-cm .wch-case-tag{font-size:12px;letter-spacing:.025em;padding:6px 11px}
.wch-cm .wch-case-specialty{font-size:12px;letter-spacing:.07em;color:#087c78}
.wch-cm .wch-case-card h3{font-size:clamp(21px,2vw,24px);line-height:1.24;min-height:0}
.wch-cm .wch-case-card>p{font-size:15.5px;min-height:0;line-height:1.64;color:#536c7d}
.wch-cm .wch-case-meta{font-size:13px;color:#607c8f}
.wch-cm .wch-card-btn{min-height:49px;font-size:15px;border-radius:12px;background:#e8f6f6;color:#0b6066}
.wch-cm .wch-card-btn:hover{background:#d4efec;color:#065b61}
.wch-cm .wch-back{min-height:43px;font-size:15px}
.wch-cm .wch-sim-nav{align-items:center;gap:14px;flex-wrap:wrap}
.wch-cm .wch-sim-nav-tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.wch-cm .wch-layout-switch{display:inline-flex;gap:8px;align-items:center;justify-content:center;font-size:14px;font-weight:800;min-height:43px;padding:9px 13px;border:1px solid #c5e0e5;border-radius:11px;color:#115670;background:#f2fafb}
.wch-cm .wch-layout-switch:hover{background:#e1f5f5}
.wch-cm.wch-reading-view .wch-layout-switch{background:#12506a;color:white}
.wch-cm .wch-sim-top h1{font-size:clamp(31px,3.6vw,48px);line-height:1.1}
.wch-cm .wch-sim-top>p{font-size:17px;line-height:1.65;color:#567286}
.wch-cm .wch-journey{background:linear-gradient(110deg,#fff,#f4fafb);border-radius:18px;box-shadow:0 8px 24px rgba(20,56,75,.055)}
.wch-cm .wch-journey-step small{font-size:12px}
.wch-cm .wch-sim-grid{gap:20px;align-items:start}
.wch-cm .wch-patient{border-radius:21px;border:1px solid #d3e4eb;box-shadow:0 12px 28px rgba(9,45,72,.06)}
.wch-cm .wch-patient-top{font-size:12px;letter-spacing:.055em}
.wch-cm .wch-patient h2{font-size:24px}
.wch-cm .wch-patient>p,.wch-cm .wch-patient h3{line-height:1.62}
.wch-cm .wch-patient p{font-size:15.5px}
.wch-cm .wch-vitals{gap:8px}
.wch-cm .wch-vitals>div{border-radius:12px;box-shadow:inset 0 0 0 1px rgba(135,175,191,.1)}
.wch-cm .wch-vitals>div span{font-size:13px}
.wch-cm .wch-vitals>div b{font-size:18px}
.wch-cm .wch-decision{background:white;border-radius:21px;border:1px solid #d3e3eb;box-shadow:0 12px 32px rgba(9,45,72,.07);padding:clamp(20px,3vw,35px)}
.wch-cm .wch-decision h2{font-size:clamp(23px,2.5vw,31px);line-height:1.36;letter-spacing:-.03em}
.wch-cm .wch-decision-top{font-size:14px;font-weight:850;letter-spacing:.03em}
.wch-cm .wch-prompt{font-size:15px;color:#587588}
.wch-cm .wch-keyboard-hint{display:block;color:#7894a2;font-size:13px;font-weight:650;margin-top:7px}
.wch-cm .wch-answers{display:grid;gap:11px}
.wch-cm .wch-answer{min-height:64px;border:1px solid #cfe0e9;border-radius:14px;background:#fbfdfe;box-shadow:0 3px 10px rgba(10,45,74,.018);padding:14px 17px;font-size:16.5px;line-height:1.52;transition:border-color .14s,box-shadow .14s,background .14s,transform .14s}
.wch-cm .wch-answer:hover:not(:disabled){background:#edf9f8;border-color:#52b7af;transform:translateX(2px);box-shadow:0 6px 18px rgba(9,88,97,.07)}
.wch-cm .wch-answer.is-selected{border:2px solid #098e87;background:#e6f8f4;box-shadow:0 0 0 3px rgba(30,165,149,.12)}
.wch-cm .wch-answer-letter{width:39px;height:39px;border-radius:12px;background:#e6f0f6;color:#16516c;font-size:16px;font-weight:900}
.wch-cm .wch-feedback{border-radius:16px;font-size:15.5px;line-height:1.7}
.wch-cm .wch-decision-footer{padding-top:18px}
.wch-cm .wch-decision-footer .wch-btn{min-height:54px;font-size:16px}
.wch-cm .wch-workbench-header{margin-top:31px}
.wch-cm .wch-workbench-header strong{font-size:20px}
.wch-cm .wch-workbench-header span{font-size:14px}
.wch-cm .wch-workbench-actions button{min-height:48px;font-size:15px;border-radius:11px}
.wch-cm .wch-lab,.wch-cm .wch-management{border-radius:19px;overflow:hidden;box-shadow:0 8px 19px rgba(15,61,91,.05)}
.wch-cm .wch-lab-heading-text h3,.wch-cm .wch-management-header h3{font-size:20px}
.wch-cm .wch-management-header p,.wch-cm .wch-lab-heading-text p{font-size:14px}
.wch-cm .wch-viz-panel{border-radius:18px}
.wch-cm .wch-viz-top{padding:15px 18px}
.wch-cm .wch-viz-top span{font-size:12px}
.wch-cm .wch-viz-top strong{font-size:14px}
.wch-cm .wch-viz-photo{cursor:zoom-in}
.wch-cm .wch-viz-photo-stage{position:relative}
.wch-cm .wch-viz-photo-stage:after{content:"Tap image to enlarge";position:absolute;bottom:12px;right:12px;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:780;color:#fff;background:rgba(11,31,51,.78);pointer-events:none;box-shadow:0 3px 14px rgba(0,0,0,.19)}
.wch-cm .wch-viz-caption{font-size:14px;line-height:1.55}
.wch-cm .wch-result-intro p,.wch-cm .wch-result-card p{font-size:16px;line-height:1.66}
.wch-cm .wch-result-card,.wch-cm .wch-debrief,.wch-cm .wch-study-panel{border-radius:21px;box-shadow:0 10px 30px rgba(11,48,73,.06)}
.wch-cm .wch-foot{border-top:1px solid #d9e9f0;padding:25px 6px}
.wch-cm .wch-foot p{font-size:13.5px;color:#6b8494;line-height:1.6}
/* Reading view keeps the entire patient assessment visible while reducing split-column cognitive load. */
.wch-cm.wch-reading-view .wch-sim-grid{grid-template-columns:1fr;max-width:960px;margin:0 auto}
.wch-cm.wch-reading-view .wch-patient{position:static;max-height:none;overflow:visible}
.wch-cm.wch-reading-view .wch-sim-top{max-width:960px;margin-inline:auto}
.wch-cm.wch-reading-view .wch-decision{width:100%}
/* Full-size radiology viewer. Built on top of Wikimedia Commons source and attribution. */
.wch-cm-modal{position:fixed;inset:0;z-index:999999;background:rgba(5,18,33,.92);backdrop-filter:blur(12px);display:grid;place-items:center;padding:clamp(14px,3vw,35px);color:#fff;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;box-sizing:border-box}
.wch-cm-modal *{box-sizing:border-box}
.wch-cm-modal-panel{width:min(100%,1150px);max-height:94vh;display:flex;flex-direction:column;gap:10px;min-height:0}
.wch-cm-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.wch-cm-modal-head strong{font-size:17px;letter-spacing:-.015em}
.wch-cm-modal-close{min-height:45px;min-width:47px;border-radius:12px;border:1px solid rgba(255,255,255,.32);background:rgba(255,255,255,.11);color:#fff;font-size:25px;cursor:pointer}
.wch-cm-modal-close:focus-visible,.wch-cm-modal a:focus-visible{outline:3px solid #54ead3;outline-offset:3px}
.wch-cm-modal-image{display:block;margin:auto;max-width:100%;width:auto;max-height:calc(94vh - 155px);object-fit:contain;border-radius:10px;background:#122536}
.wch-cm-modal-foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;color:#cadde7;font-size:13px;line-height:1.45}
.wch-cm-modal-foot a{color:#73e9d2}
.wch-cm-to-top{position:fixed;bottom:24px;right:23px;z-index:250;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:15px;background:linear-gradient(135deg,#0e4d70,#0b857e);color:white;border:1px solid rgba(255,255,255,.3);box-shadow:0 10px 28px rgba(10,57,79,.25);cursor:pointer;opacity:0;pointer-events:none;transform:translateY(13px);transition:opacity .18s,transform .18s}
.wch-cm-to-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}
.wch-cm-to-top:focus-visible{outline:3px solid #19bdb1;outline-offset:4px}
/* Landing, login and learning dashboard: retain functional structure, improve readability and consistent color language. */
.wch-home,.wch-auth,.wch-dash{color:#17354c;line-height:1.65}
.wch-home .wch-home-btn,.wch-auth :is(button,input),.wch-dash :is(button,select){font-size:16px}
.wch-home .wch-home-btn{min-height:52px;border-radius:13px}
.wch-home :is(h1,h2,h3),.wch-dash :is(h1,h2,h3),.wch-auth :is(h1,h2,h3){letter-spacing:-.035em}
.wch-home :is(.wch-home-card,.wch-home-feature,.wch-home-free,.wch-home-price),.wch-dash :is(.wch-dash-card,.wch-dash-panel),.wch-auth .wch-auth-shell{border-radius:22px}
.wch-dash{max-width:1300px}
.wch-dash-hero{background:radial-gradient(circle at 95% 0%,rgba(55,218,204,.22),transparent 40%),linear-gradient(120deg,#0b223d,#10415a 80%,#0b747b);border-radius:25px}
.wch-dash-hero p{font-size:16px}
.wch-auth-shell{box-shadow:0 23px 60px rgba(14,52,82,.09)}
@media(min-width:1020px){
 .wch-cm:not(.wch-reading-view) .wch-sim-grid>.wch-patient{position:sticky;top:20px;max-height:calc(100vh - 35px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#c8dce3 transparent}
}
@media(max-width:960px){
 .wch-cm .wch-hero{padding:35px 30px}
 .wch-cm .wch-top-actions{gap:5px}
 .wch-cm .wch-top-actions a{padding:9px 10px}
 .wch-cm .wch-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
 .wch-cm .wch-desktop-tag{display:none}
}
@media(max-width:650px){
 .wch-cm{font-size:16px;padding:0 9px}
 .wch-cm .wch-topbar{border-radius:15px;padding:12px;gap:10px;margin-bottom:12px}
 .wch-cm .wch-brandmark{width:40px;height:40px;border-radius:11px}
 .wch-cm .wch-top-actions{justify-content:flex-start;width:100%;gap:5px}
 .wch-cm .wch-top-actions a{font-size:12.5px;min-height:40px;padding:7px 9px;flex:1}
 .wch-cm .wch-top-actions a svg{width:15px;height:15px}
 .wch-cm .wch-hero{min-height:0;border-radius:19px;padding:32px 22px}
 .wch-cm .wch-hero h1{font-size:clamp(36px,9vw,48px)}
 .wch-cm .wch-hero-content>p{font-size:15.5px}
 .wch-cm .wch-hero-mini{font-size:12px}
 .wch-cm .wch-hero-buttons{flex-direction:column;align-items:stretch}
 .wch-cm .wch-hero-buttons .wch-btn{width:100%}
 .wch-cm .wch-metrics{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px;margin-top:11px;border-radius:15px}
 .wch-cm .wch-metrics>div{border-right:0;padding:12px 10px}
 .wch-cm .wch-metrics strong{font-size:26px}
 .wch-cm .wch-metrics span{font-size:12px}
 .wch-cm .wch-cards{grid-template-columns:1fr;gap:13px}
 .wch-cm .wch-case-card{border-radius:16px;padding:19px}
 .wch-cm .wch-case-card h3{font-size:22px}
 .wch-cm .wch-search-wrap{width:100%;min-width:0}
 .wch-cm .wch-demo-tile h3{font-size:22px}
 .wch-cm .wch-sim-nav-tools{width:100%;justify-content:space-between}
 .wch-cm .wch-layout-switch{min-height:42px}
 .wch-cm .wch-sim-top h1{font-size:32px}
 .wch-cm .wch-decision{padding:20px 17px;border-radius:16px}
 .wch-cm .wch-decision h2{font-size:24px}
 .wch-cm .wch-answer{font-size:15.5px;min-height:60px;padding:13px 12px}
 .wch-cm .wch-answer-letter{width:35px;height:35px;flex:none}
 .wch-cm .wch-keyboard-hint{display:none}
 .wch-cm .wch-journey-step small{font-size:10px}
 .wch-cm .wch-workbench-actions{width:100%}
 .wch-cm .wch-workbench-actions button{flex:1 1 125px}
 .wch-cm .wch-viz-photo-stage:after{font-size:10px}
 .wch-cm-to-top{right:14px;bottom:16px;width:44px;height:44px}
}
@media(prefers-reduced-motion:reduce){
 .wch-cm :is(.wch-case-card,.wch-demo-tile,.wch-answer,.wch-btn),.wch-cm-to-top{transition:none!important;animation:none!important}
}
@media print{
 .wch-cm-to-top,.wch-layout-switch,.wch-cm-modal{display:none!important}
 .wch-cm .wch-patient{position:static!important;max-height:none!important;overflow:visible!important}
}
/* Mobile header uses a horizontal navigation rail rather than breaking words. */
@media(max-width:650px){
 .wch-cm .wch-top-actions{
   display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;
   overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;
   padding-bottom:4px;gap:6px;max-width:100%;
 }
 .wch-cm .wch-top-actions a{
   flex:0 0 auto;min-width:max-content;white-space:nowrap;
   overflow-wrap:normal;word-break:normal;font-size:13px;
   padding:9px 12px;
 }
 .wch-cm .wch-top-actions .wch-login{white-space:nowrap}
 .wch-cm .wch-layout-switch{display:none}
 .wch-cm .wch-sim-nav-tools{justify-content:flex-start}
}
