/* Straboscope unified interface v0.1 — visual-only overrides.
   Based on the already installed interactive lesson's color/shape/typography.
   Does not alter learning logic or medical simulations. */
:root {
  --stb-navy:#10233c;
  --stb-navy-2:#193451;
  --stb-green:#377058;
  --stb-green-dark:#22553f;
  --stb-ruby:#9d4a4d;
  --stb-ink:#1c2937;
  --stb-muted:#5c6b78;
  --stb-line:#dce5e5;
  --stb-bg:#f3f6f4;
  --stb-white:#ffffff;
}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--stb-ink);
  background:var(--stb-bg) !important;
  font:16px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
body .wp-site-blocks{background:var(--stb-bg)}
body .wp-site-blocks a:focus-visible,
body .wp-site-blocks button:focus-visible{outline:3px solid #dc8b46;outline-offset:3px}
body .wp-site-blocks h1,
body .wp-site-blocks h2,
body .wp-site-blocks h3{
  font-family:inherit;
  letter-spacing:-.025em;
}
body .wp-site-blocks p,
body .wp-site-blocks li{line-height:1.63}
body .wp-site-blocks a{ text-underline-offset:3px }

/* Brand header — same lockup and dark surface as the lesson. */
body .wp-site-blocks > header.wp-block-template-part{
  margin:0;
  padding:0;
  color:#fff;
  background:var(--stb-navy);
}
.stb-shell-header{width:100%;color:#fff;background:var(--stb-navy)}
.stb-shell-header__inner{
  max-width:1080px;
  margin:0 auto;
  padding:17px 26px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px 22px;
  flex-wrap:wrap;
}
.stb-logo,
.stb-logo:visited,
.stb-logo:hover{
  color:#fff !important;
  display:inline-flex;
  align-items:center;
  gap:12px;
  text-decoration:none !important;
  white-space:nowrap;
  font-size:17px;
  font-weight:820;
  letter-spacing:.115em;
  line-height:1.2;
}
.stb-logo__icon{
  display:grid;
  place-items:center;
  width:35px;
  height:35px;
  border:1.8px solid rgba(255,255,255,.56);
  border-radius:11px;
  color:#e9f7ee;
  font-size:16px;
  font-weight:750;
  letter-spacing:-.07em;
}
.stb-shell-nav{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.stb-shell-nav a,
.stb-shell-nav a:visited{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#e5f1ed !important;
  font-size:13px;
  font-weight:680;
  padding:10px 13px;
  border:1px solid transparent;
  border-radius:10px;
  text-decoration:none !important;
  min-height:42px;
  transition:background .15s ease,border-color .15s ease;
}
.stb-shell-nav a:hover,
.stb-shell-nav a:focus-visible{background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.12)}
.stb-shell-nav a.stb-shell-nav__profile{
  border-color:rgba(193,226,206,.42);
  background:rgba(255,255,255,.08);
}
body .wp-site-blocks > footer.wp-block-template-part{
  margin:0;
  padding:0;
  color:#d0e1de;
  background:var(--stb-navy);
}
.stb-shell-footer__inner{
  max-width:1080px;
  margin:auto;
  padding:24px 26px 27px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px 20px;
  flex-wrap:wrap;
  font-size:12px;
  line-height:1.6;
}
.stb-shell-footer strong{color:#fff;letter-spacing:.08em}
.stb-shell-footer a,.stb-shell-footer a:visited{color:#d9efe5 !important;text-decoration:none !important}
.stb-shell-footer a:hover{text-decoration:underline !important}
.stb-shell-footer__links{display:flex;gap:18px;flex-wrap:wrap}

/* Page widths and cards (learning and progress) */
body .wp-site-blocks > main.wp-block-group{
  margin-top:0 !important;
  padding:0;
}
body:not(.home) .wp-site-blocks > main.wp-block-group{
  max-width:1080px;
  margin:0 auto !important;
  padding:26px 24px 58px;
}
body:not(.home) .wp-site-blocks > main.wp-block-group > .wp-block-group.alignfull{
  padding-top:18px !important;
  padding-bottom:22px !important;
}
body:not(.home) .wp-block-post-title{
  color:var(--stb-navy);
  font-size:clamp(28px,4vw,42px);
  font-weight:780;
  line-height:1.15;
  margin:5px 0 24px;
}
body.page-id-10 .entry-content > .wp-block-group.alignfull{
  background:#fff;
  border:1px solid var(--stb-line) !important;
  border-radius:18px !important;
  box-shadow:0 16px 42px rgba(16,35,60,.055);
}
body.page-id-9 .stb-account{
  background:#fff;
  border:1px solid var(--stb-line);
  border-radius:16px;
  box-shadow:0 10px 32px rgba(16,35,60,.04);
  padding:24px 26px;
}
body.page-id-9 #straboscope-account-dashboard{
  background:#fff !important;
  border:1px solid var(--stb-line) !important;
  border-radius:16px !important;
  box-shadow:0 10px 32px rgba(16,35,60,.045);
  max-width:none !important;
  padding:24px 26px !important;
}
body.page-id-9 #straboscope-account-dashboard h2,
body.page-id-9 #straboscope-account-dashboard h3{color:var(--stb-navy)}
body.page-id-9 #straboscope-account-dashboard button{
  border-radius:11px !important;min-height:44px;cursor:pointer
}

/* Connected front page: remove inherited blog-era page-title and whitespace.
   Keep the existing content and Gutenberg layout unaltered. */
body.home .wp-site-blocks > main.wp-block-group{
  max-width:none !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}
body.home .wp-site-blocks > main.wp-block-group > .wp-block-group.alignfull{
  padding-top:0 !important;
  padding-bottom:0 !important;
  max-width:none !important;
  width:100% !important;
}
/* The theme adds a duplicate H1 on the home page: hide it visually but keep it for screen readers. */
body.home .wp-site-blocks > main .wp-block-post-title{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip-path:inset(50%);
  white-space:nowrap;
  border:0;
}
body.home .wp-site-blocks > main .entry-content{
  max-width:none !important;
  margin:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
body.home .entry-content > .wp-block-group.alignfull{
  max-width:none !important;
  width:100% !important;
}
body.home .entry-content > .wp-block-group.alignwide{
  max-width:1080px;
  margin-left:auto !important;
  margin-right:auto !important;
}
body.home .entry-content > .wp-block-spacer{max-height:40px}
body.home .entry-content > .wp-block-group:first-child{
  background:var(--stb-navy) !important;
}
/* The embedded home hero uses the lesson's navy/green palette. */
body.home .entry-content > .wp-block-group:first-child .wp-block-button:first-child .wp-block-button__link{
  background:var(--stb-green) !important;
  color:#fff !important;
}
body.home .entry-content > .wp-block-group:first-child .wp-block-button:first-child .wp-block-button__link:hover{
  background:var(--stb-green-dark) !important;
}
body .wp-block-button__link{
  border-radius:12px !important;
  font-family:inherit;
  font-size:14px;
  font-weight:760;
  text-decoration:none !important;
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:background .15s ease,transform .15s ease;
}
body .wp-block-button__link:hover{transform:translateY(-1px)}
body:not(.home) .wp-block-button:not(.is-style-outline) .wp-block-button__link{
  background:var(--stb-green) !important;color:#fff !important
}
body:not(.home) .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover{
  background:var(--stb-green-dark) !important
}
body .wp-block-button.is-style-outline .wp-block-button__link{
  border-color:var(--stb-line);
}
body .entry-content a:not(.wp-block-button__link){color:var(--stb-green-dark)}
body .entry-content a:not(.wp-block-button__link):hover{color:var(--stb-green)}

@media(max-width:700px){
  .stb-shell-header__inner{padding:14px 16px;gap:12px}
  .stb-logo{font-size:14px;gap:8px}
  .stb-logo__icon{width:31px;height:31px}
  .stb-shell-nav{gap:3px}
  .stb-shell-nav a{font-size:12px;padding:7px 9px;min-height:38px}
  .stb-shell-footer__inner{padding:24px 16px}
  body:not(.home) .wp-site-blocks > main.wp-block-group{padding:17px 13px 35px}
  body:not(.home) .wp-site-blocks > main.wp-block-group > .wp-block-group.alignfull{padding-top:8px !important}
  body.home .entry-content > .wp-block-group.alignwide{padding-left:15px !important;padding-right:15px !important}
  body.page-id-9 .stb-account,body.page-id-9 #straboscope-account-dashboard{padding:18px 16px !important}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  body .wp-block-button__link,.stb-shell-nav a{transition:none}
}

/* Cohesive clinical pages: lesson, course landing and progress share one
   typographic scale, card geometry, navy headers and green actions. */
body:not(.home) .wp-site-blocks .wp-block-post-title{
  color:#fff !important;
  background:var(--stb-navy);
  border-radius:16px;
  padding:29px 31px;
  margin:8px 0 25px;
  font-size:clamp(26px,3.5vw,38px);
  font-weight:780;
  line-height:1.16;
  letter-spacing:-.04em;
}
body.page-id-10 .entry-content > .wp-block-group{
  background:#fff;
  border:1px solid #e0e9e7 !important;
  border-radius:18px !important;
  box-shadow:0 18px 48px rgba(16,35,60,.06);
  padding:28px 30px !important;
}
body.page-id-10 .entry-content > .wp-block-group h2{
  font-size:clamp(21px,3.5vw,28px);
  font-weight:780;
  line-height:1.2;
}
body.page-id-10 .entry-content > p:first-child{
  font-size:15px;
  color:var(--stb-muted);
  max-width:720px;
  margin-bottom:21px;
}
body .wp-block-button.is-style-outline .wp-block-button__link{
  color:var(--stb-green-dark) !important;
  border-color:#c4d8c9 !important;
  background:transparent !important;
}
body.page-id-17 .stb-lesson-embedded{
  max-width:1080px;
  margin:auto;
}
.stb-lesson-embedded__subtitle{
  margin:0 0 8px;
  color:var(--stb-green-dark);
  font-weight:800;
  font-size:11px;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.stb-lesson-embedded__intro{
  font-size:15px;
  color:var(--stb-muted);
  max-width:750px;
  margin:0 0 17px;
}
#stb-lesson-frame{
  display:block;
  border:0;
  outline:0;
  width:100%;
  min-height:850px;
  overflow:hidden;
  background:transparent;
}
.stb-lesson-embedded__fallback{
  color:#61716e;
  font-size:12px;
  margin:8px 0 3px;
}
body.page-id-9 .stb-account a{color:var(--stb-green-dark)}
/* Page title already appears in the shared navy hero. */
body.page-id-9 .stb-account > h2:first-child{display:none}

/* Full-width title bands shared by Обучение, Разбор and Мой прогресс. */
body:not(.home) .wp-site-blocks > main.stb-page{
  width:100% !important;max-width:none !important;margin:0 !important;
  padding:0 !important;background:var(--stb-bg);
}
body:not(.home) .wp-site-blocks > main.stb-page > .stb-page-hero{
  width:100%;max-width:none;background:var(--stb-navy);
  color:#fff;padding:34px 26px 40px !important;margin:0 !important;
}
body:not(.home) .stb-page-hero__inner{
  max-width:1080px;margin:0 auto !important;padding:0 !important;
}
body:not(.home) .stb-page-hero .stb-page-title,
body:not(.home) .wp-site-blocks .stb-page-hero .wp-block-post-title{
  background:transparent !important;color:#fff !important;
  padding:0 !important;margin:10px 0 10px !important;
  font-size:clamp(27px,4vw,43px);font-weight:780;line-height:1.14;
  border:0 !important;box-shadow:none !important;border-radius:0 !important;
}
body .stb-page-hero .stb-page-kicker{
  color:#c0dbca !important;font-size:11px;font-weight:800;
  letter-spacing:.16em;line-height:1.4;text-transform:uppercase;
  margin:0 !important;
}
body .stb-page-hero .stb-page-subtitle{
  color:#ccdbdf !important;font-size:15px;line-height:1.6;
  margin:12px 0 0 !important;max-width:760px;
}
body:not(.home) .wp-site-blocks > main.stb-page > .stb-page-main{
  width:100%;max-width:none;margin:0 !important;
  padding:0 26px 38px !important;background:var(--stb-bg);
}
body:not(.home) .stb-page-main__inner{
  max-width:1080px !important;margin:0 auto !important;
  padding:25px 0 18px !important;
}
body.page-id-17 .stb-page-main__inner{max-width:1130px !important}
@media(max-width:700px) {
  body:not(.home) .wp-site-blocks > main.stb-page > .stb-page-hero{
    padding:25px 16px 29px !important;
  }
  body:not(.home) .wp-site-blocks > main.stb-page > .stb-page-main{
    padding:0 12px 22px !important;
  }
  body:not(.home) .stb-page-main__inner{padding:16px 0 14px !important}
}

@media(max-width:700px){
  body:not(.home) .wp-site-blocks .wp-block-post-title{
    padding:21px 19px;
    font-size:28px;
    border-radius:14px;
    margin:4px 0 21px;
  }
  body.page-id-10 .entry-content > .wp-block-group{
    padding:21px 18px !important;
    border-radius:15px !important;
  }
}

/* v0.2: a shared page system for Home, Education, Account, and the stand-alone lesson */
body .wp-site-blocks > main.stb-frontpage,
body .wp-site-blocks > main.stb-page{
  max-width:none !important;
  width:100% !important;
  padding:0 !important;
  margin:0 !important;
}
body .wp-site-blocks > main.stb-page > .stb-page-hero{
  position:relative;
  max-width:none !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  background:var(--stb-navy) !important;
  color:#fff !important;
  overflow:hidden;
}
body .stb-page-hero::after{
  content:"";
  position:absolute;
  right:-110px;
  top:-165px;
  width:410px;
  height:410px;
  border:70px solid rgba(158,202,176,.055);
  border-radius:50%;
  pointer-events:none;
  box-sizing:border-box;
}
body .stb-page-hero .stb-page-hero__inner{
  box-sizing:border-box;
  position:relative;
  z-index:1;
  max-width:1080px !important;
  width:100%;
  padding:36px 26px 42px !important;
  margin:0 auto !important;
}
body .stb-page-hero .stb-page-kicker{
  color:#c0dbca !important;
  margin:0 0 10px !important;
  text-transform:uppercase;
  font-size:11px !important;
  font-weight:800;
  letter-spacing:.17em;
}
body .stb-page-hero .stb-page-title{
  color:#fff !important;
  max-width:770px;
  margin:0 0 11px !important;
  font-size:clamp(29px,4vw,43px) !important;
  font-weight:780;
  line-height:1.13;
  letter-spacing:-.045em;
}
body .stb-page-hero .stb-page-subtitle{
  color:#ccdbdf !important;
  max-width:750px;
  margin:0 !important;
  font-size:15px !important;
  line-height:1.55;
}
body .wp-site-blocks > main.stb-page > .stb-page-main{
  max-width:none !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  background:var(--stb-bg);
}
body .stb-page-main > .stb-page-main__inner{
  max-width:1080px !important;
  width:100%;
  margin:0 auto !important;
  padding:26px 26px 54px !important;
  box-sizing:border-box;
}
body .stb-page-main .entry-content{margin:0 !important}
body.page-id-10 .stb-page-main .entry-content > p:first-child{
  font-size:15px !important;
  max-width:700px;
  color:var(--stb-muted);
  margin-bottom:22px;
}
body.page-id-10 .stb-page-main .entry-content > .wp-block-group{
  max-width:100%;
  background:#fff;
  border:1px solid var(--stb-line) !important;
  border-radius:20px !important;
  padding:28px 32px !important;
  box-shadow:0 18px 48px rgba(16,35,60,.08);
}
body.page-id-10 .stb-page-main .entry-content h2{
  font-size:clamp(22px,3vw,28px);
  color:var(--stb-navy);
  font-weight:780;
  line-height:1.23;
  letter-spacing:-.03em;
}
body.page-id-10 .stb-page-main .entry-content .wp-block-buttons{margin-top:23px}
body.page-id-10 .stb-page-main .entry-content > p:last-child{color:var(--stb-muted);font-size:13px;margin-top:20px}
body.page-id-9 .stb-page-main .entry-content > .stb-account{
  max-width:780px !important;
  padding:26px 32px !important;
  background:#fff;
  border-radius:20px !important;
  border:1px solid var(--stb-line);
  box-shadow:0 18px 48px rgba(16,35,60,.08);
}
body.page-id-9 .stb-page-main .stb-account h2{font-size:clamp(22px,3vw,28px);color:var(--stb-navy)}
body.page-id-9 .stb-page-main .stb-account p{color:var(--stb-muted)}
body.page-id-9 .stb-local-results{
  margin-top:23px;padding:18px 20px;border:1px solid var(--stb-line);
  border-radius:15px;background:#f3f8f5;
}
body.page-id-9 .stb-local-results h3{
  margin:0 0 9px;font-size:18px;font-weight:780;color:var(--stb-navy);
}
body.page-id-9 .stb-local-results p{margin:0 0 10px;line-height:1.55;color:var(--stb-ink)}
body.page-id-9 .stb-local-results .stb-local-results__note{font-size:12px;color:var(--stb-muted)}
body.page-id-9 .stb-local-results__link{
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--stb-green);color:#fff!important;font-size:14px;
  font-weight:760;padding:11px 17px;min-height:44px;border-radius:11px;
  text-decoration:none!important;
}
body.page-id-9 .stb-local-results__link:hover{background:var(--stb-green-dark)}

body.page-id-9 .stb-page-main #straboscope-account-dashboard{
  max-width:100% !important;
  background:#fff !important;
  border-radius:20px !important;
  padding:26px 32px !important;
}
body .stb-frontpage .entry-content{
  max-width:none !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}
body .stb-frontpage .entry-content > .wp-block-group:first-child{
  background:var(--stb-navy) !important;
  padding-top:42px !important;
  padding-bottom:55px !important;
  position:relative;
  overflow:hidden;
}
body .stb-frontpage .entry-content > .wp-block-group:first-child::after{
  content:"";
  position:absolute;
  right:-110px;
  top:-165px;
  width:410px;
  height:410px;
  border:70px solid rgba(158,202,176,.055);
  border-radius:50%;
  pointer-events:none;
  box-sizing:border-box;
}
body .stb-frontpage .entry-content > .wp-block-group:first-child > *{
  position:relative;
  z-index:1;
  width:min(1028px,100%);
  margin-left:auto;
  margin-right:auto;
}
body .stb-frontpage .entry-content > .wp-block-group:first-child > p:first-child{
  color:#c0dbca !important;
  font-size:11px !important;
  font-weight:800;
  letter-spacing:.17em;
}
body .stb-frontpage .entry-content > .wp-block-group:first-child > h2{
  color:#fff !important;
  font-size:clamp(29px,4vw,43px) !important;
  font-weight:780 !important;
  letter-spacing:-.045em !important;
  max-width:770px !important;
  line-height:1.13 !important;
}
body .stb-frontpage .entry-content > .wp-block-group:first-child > p:nth-of-type(2){
  color:#ccdbdf !important;
  font-size:15px !important;
  max-width:730px !important;
}
body .stb-frontpage .entry-content > .wp-block-group:first-child > .wp-block-buttons{
  max-width:1028px;
  margin-top:23px;
}
body .stb-frontpage .entry-content > .wp-block-group:first-child .wp-block-button:first-child .wp-block-button__link{
  background:var(--stb-green) !important;
  border-color:var(--stb-green) !important;
  color:#fff !important;
}
body .stb-frontpage .entry-content > .wp-block-group:first-child .wp-block-button:nth-child(2) .wp-block-button__link{
  color:#e5f1ed !important;
  border-color:rgba(193,226,206,.42) !important;
  background:rgba(255,255,255,.08) !important;
}
body .stb-frontpage .entry-content > .wp-block-group:first-child .wp-block-button:nth-child(2) .wp-block-button__link:hover{
  background:rgba(255,255,255,.17) !important;
}
body .stb-frontpage .entry-content > .wp-block-group:first-child > p:last-child{
  color:#b7cbe1 !important;
  font-size:12px !important;
  margin-top:19px;
}
body .stb-frontpage .entry-content > .wp-block-group.alignwide{
  max-width:1080px !important;
  padding:0 26px !important;
  box-sizing:border-box;
}
body .stb-frontpage .entry-content > .wp-block-group.alignwide .wp-block-group.has-background{
  border-radius:16px !important;
}
body .stb-frontpage .entry-content > .wp-block-group.alignwide h2{
  color:var(--stb-navy) !important;
}
body .stb-frontpage .entry-content > .wp-block-group.alignwide .wp-block-button__link{
  background:var(--stb-green) !important;
  color:#fff !important;
}
body .stb-frontpage .entry-content > .wp-block-group.alignfull:not(:first-child){
  background:var(--stb-bg) !important;
}
/* The opening block is the same navy hero as all the other sections.
   An earlier generic alignfull selector incorrectly made its background pale. */
body.home .wp-site-blocks > main.stb-frontpage .entry-content > .wp-block-group.alignfull:first-child{
  background:var(--stb-navy) !important;
  color:#fff !important;
}
body .stb-frontpage .entry-content > .wp-block-group.alignfull:not(:first-child) h2{
  color:var(--stb-navy) !important;
}
body .stb-frontpage .entry-content > .wp-block-group.alignfull:not(:first-child) .wp-block-group.has-background{
  border:1px solid var(--stb-line);
  box-shadow:0 8px 28px rgba(16,35,60,.035);
}
body .stb-frontpage .entry-content p[style*="#a14159"],
body .stb-frontpage .entry-content p[style*="#9a5b6f"]{
  color:var(--stb-green-dark) !important;
}
@media(max-width:700px){
  body .stb-page-hero .stb-page-hero__inner{padding:26px 16px 29px !important}
  body .stb-page-main > .stb-page-main__inner{padding:15px 12px 35px !important}
  body.page-id-10 .stb-page-main .entry-content > .wp-block-group,
  body.page-id-9 .stb-page-main .entry-content > .stb-account,
  body.page-id-9 .stb-page-main #straboscope-account-dashboard{padding:22px 19px !important}
  body .stb-frontpage .entry-content > .wp-block-group:first-child{
    padding-top:30px !important;
    padding-bottom:34px !important;
  }
  body .stb-frontpage .entry-content > .wp-block-group.alignwide{padding:0 13px !important}
}

