/* SELAM Academy v10.8 — clear modules, stable viewers and readable controls. */
.learning-world { background: #f8f9fa; }
.learning-world .lw-hero { padding-top: 48px; padding-bottom: 38px; gap: 44px; }
.learning-world .lw-hero h1 { font-size: clamp(35px, 4.1vw, 64px); line-height: 1.07; }
.learning-world .lw-hero-photo { background: #151a20; box-shadow: 0 18px 48px #15202c17; }
.learning-world .lw-hero-photo img { aspect-ratio: 16 / 11; object-fit: cover; }
.academy-modules { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.academy-modules a { padding: 22px; border: 1px solid #dfe3e7; border-radius: 16px; background: white; color: #191d24; transition: border-color .18s, background .18s; }
.academy-modules a[aria-current="true"] { background: #191d24; color: white; border-color: #191d24; box-shadow: inset 0 -4px #d60f20; }
.academy-modules a:hover { border-color: #bc1623; }
.academy-modules span, .academy-modules strong, .academy-modules small { display: block; }
.academy-modules span { font-size: 10px; letter-spacing: .09em; color: #b91020; font-weight: 800; }
.academy-modules a[aria-current="true"] span { color: #ff8e96; }
.academy-modules strong { font-size: 20px; line-height: 1.2; margin: 12px 0 10px; letter-spacing: -.025em; }
.academy-modules small { font-size: 12px; line-height: 1.5; opacity: .75; }
.learning-world .lw-section { padding-top: 45px; scroll-margin-top: 105px; }
.learning-world .studio-heading h2, .learning-world .lw-heading h2 { font-size: clamp(30px, 3.4vw, 48px); }
.learning-world .studio-heading { gap: 32px; margin-bottom: 24px; }
.learning-world .studio-config { background: white; padding: 18px; border: 1px solid #dfe3e7; border-radius: 16px; gap: 16px; }
.learning-world .studio-config > label { flex: 1 1 240px; max-width: 380px; }
.learning-world .studio-config > .studio-coco { display: none; }
.learning-world .studio-tabs { margin-left: auto; padding: 4px; }
.learning-world .studio-tabs button { min-height: 46px; padding: 11px 16px; font-size: 13px; }
.learning-world .studio-tabs button[data-studio-tab="photo"] { order: -1; }
.learning-world .studio-layout { grid-template-columns: minmax(0, 7fr) minmax(270px, 3fr); align-items: start; }
.learning-world .studio-inspector { padding: 22px; }
.learning-world #studio-stage { height: clamp(420px, 37vw, 600px); }
.learning-world #studio-stage canvas { touch-action: none; }
.learning-world .studio-viewer-top { flex-wrap: wrap; padding: 12px 18px; }
.learning-world #studio-fullscreen { min-height: 34px; padding: 6px 10px; background: #29343f; color: white; border-color: #465360; font-size: 11px; margin-left: auto; }
.learning-world .studio-viewer:fullscreen { width: 100%; height: 100%; border-radius: 0; overflow: auto; }
.learning-world .studio-viewer:fullscreen #studio-stage { height: calc(100vh - 170px); }
.learning-world .viewer-expanded { position: fixed; inset: 10px; z-index: 1000; overflow: auto; }
.learning-world .viewer-expanded #studio-stage { height: 70vh; }
.studio-camera-settings { border-top: 1px solid #ffffff24; background: #17212b; color: #e4ebf2; }
.studio-camera-settings > summary { cursor: pointer; padding: 16px 20px; font-size: 13px; font-weight: 650; }
.learning-world .studio-camera-bar { border: 0; padding-top: 0; }
.learning-world .studio-camera-bar button:hover,
.learning-world .studio-hazard-shortcut:hover { background: #344455; color: #fff; border-color: #91a0b2; }
.learning-world .studio-hazard-shortcut[aria-pressed="true"]:hover { background: #941020; color: #fff; border-color: #ff8f94; }
.studio-part-library { margin: 24px 0; border: 1px solid #dfe3e7; border-radius: 14px; padding: 16px 20px; background: white; }
.studio-part-library > summary, .academy-more-tools > summary { cursor: pointer; font-weight: 700; font-size: 14px; }
.learning-world .studio-parts-heading { margin-top: 12px; }
.learning-world .studio-parts-heading h3 { font-size: 16px; }
.learning-world .studio-parts { grid-template-columns: repeat(4,minmax(0,1fr)); max-height: 310px; overflow: auto; padding: 4px; }
.learning-world #studio-photo-panel { display: grid; grid-template-columns: minmax(0,7fr) minmax(270px,3fr); gap: 18px 22px; align-items: start; }
.learning-world .studio-photo-toolbar { grid-column: 1/-1; margin: 0; }
.learning-world #studio-photo-wrap { grid-column: 1; grid-row: 2; }
.learning-world #studio-photo-wrap > img { width: 100%; height: auto; }
.learning-world #studio-photo-pins { position: absolute; inset: 0; pointer-events: none; }
.learning-world #studio-photo-pins button { pointer-events: auto; }
.studio-photo-leaders { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.studio-photo-leaders line { stroke: white; stroke-width: 2; filter: drop-shadow(0 1px 2px #000); }
.studio-photo-leaders circle { fill: #dc1121; stroke: white; stroke-width: 1; }
.learning-world .studio-quickinfo { position: static; grid-column: 2; grid-row: 2 / span 2; width: 100%; max-height: none; margin: 0; padding: 20px; border: 1px solid #dfe3e7; border-radius: 16px; box-shadow: 0 8px 28px #11203308; background: #fff; backdrop-filter: none; }
.learning-world .studio-quickinfo h3 { font-size: 24px; }
.learning-world .studio-quickinfo p { font-size: 13px; line-height: 1.7; }
.learning-world .studio-photo-info { display: block; grid-column: 1; margin: 0; }
.learning-world .studio-photo-info > div:first-child { display: none; }
.learning-world .studio-photo-legend { display: block; }
.studio-photo-legend-visible, .studio-photo-legend-extra-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; }
.studio-photo-legend-extra { margin-top: 12px; border-top: 1px solid #dfe3e7; padding-top: 12px; }
.studio-photo-legend-extra > summary { cursor: pointer; font-size: 12px; color: #56616c; padding-bottom: 12px; }
.learning-world #studio-photo-panel > .studio-confidence,
.learning-world #studio-photo-panel > .studio-limit,
.learning-world #studio-photo-panel > .academy-more-tools,
.learning-world #studio-detail-view { grid-column: 1/-1; }
.academy-more-tools { border-top: 1px solid #dfe3e7; margin-top: 20px; padding-top: 16px; }
.academy-more-tools .studio-v7-tools, .academy-more-tools .studio-v9-tools { margin-top: 16px; box-shadow: none; }
.learning-world .studio-section [hidden] { display: none !important; }
.learning-world #pruefung .studio-v8-panel { margin-top: 28px; }
.academy-planning { display: flex; gap: 24px; align-items: center; flex-wrap: wrap; background: #eef0f3; border-radius: 18px; padding: 26px 30px; margin-top: 48px; }
.academy-planning > div { flex: 1 1 300px; }
.academy-planning strong { font-size: 19px; }
.academy-planning p { font-size: 14px; line-height: 1.6; margin: 8px 0 0; color: #535f6b; }
.learning-world .lw-ending { padding: 35px; margin-top: 40px; background: #191d24; color: white; }
.learning-world .lw-ending h2 { font-size: 34px; }
.learning-world .lw-ending .text-link { color: #fff; }
.learning-world .lw-sources { padding-top: 30px; padding-bottom: 35px; }
.price-compare, .price-clarity-notes { margin-top: 28px; margin-bottom: 28px; border: 1px solid #dfe3e7; border-radius: 16px; background: #fff; }
.price-compare > summary, .price-clarity-notes > summary { cursor: pointer; padding: 20px 24px; color: #20242a; font-weight: 750; }
.price-compare > :not(summary), .price-clarity-notes > :not(summary) { margin-left: 24px; margin-right: 24px; }
.price-clarity-notes > div { padding: 4px 0 22px; }
.price-clarity-notes ul { padding-left: 20px; }
.price-clarity-notes li + li { margin-top: 8px; }
@media (max-width: 1000px) {
  .academy-modules { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .learning-world .studio-config > label { max-width: none; }
  .learning-world .studio-tabs { margin-left: 0; }
  .learning-world .studio-layout, .learning-world #studio-photo-panel { grid-template-columns: minmax(0,1fr); }
  .learning-world #studio-photo-wrap { grid-column: 1; grid-row: auto; }
  .learning-world .studio-quickinfo { grid-column: 1; grid-row: auto; }
  .learning-world .studio-photo-info { grid-column: 1; }
  .learning-world .studio-photo-toolbar { flex-wrap: wrap; }
  .learning-world .studio-photo-toolbar > label { min-width: 180px; }
}
@media (max-width: 620px) {
  .learning-world .lw-hero { padding-top: 26px; gap: 20px; }
  .learning-world .lw-hero h1 { font-size: 35px; }
  .learning-world .lw-hero-photo img { aspect-ratio: 2 / 1; }
  .academy-modules { gap: 8px; }
  .academy-modules a { padding: 16px 13px; border-radius: 12px; }
  .academy-modules span { font-size: 8px; letter-spacing: .04em; }
  .academy-modules strong { font-size: 17px; }
  .academy-modules small { font-size: 11px; }
  .learning-world .studio-config { padding: 12px; }
  .learning-world .studio-tabs { width: 100%; }
  .learning-world .studio-tabs button { white-space: normal; font-size: 11px; padding: 10px 8px; }
  .learning-world #studio-stage { height: 370px; }
  .learning-world .studio-parts, .studio-photo-legend-visible, .studio-photo-legend-extra-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .learning-world .studio-quickinfo { padding: 18px; }
  .academy-planning { padding: 22px; gap: 18px; }
  .learning-world .lw-ending { padding: 28px 20px; }
  .price-compare > summary, .price-clarity-notes > summary { padding: 16px; font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) { .academy-modules a { transition: none; } }
.learning-world #studio-exam-options button:hover,
.learning-world #studio-exam-options button:focus-visible,
.learning-world #studio-parts button:hover,
.learning-world #studio-part-controls button:hover { background: #eef1f4; color: #202933; border-color: #88929d; }
.learning-world #studio-parts button[aria-pressed="true"]:hover,
.learning-world #studio-part-controls button[aria-pressed="true"]:hover { background: #1b242f; color: #fff; }
