/* academy-fw-r5 — campus labels, compact consent, LP r2 hooks. Does not change consent logic. */

/* —— Campus building labels (HTML overlay, screen-space 12px) —— */
.campus-cam, #worlds, .campus-stage{overflow:hidden;}
.campus-labels{position:absolute;inset:0;pointer-events:none;z-index:6;overflow:hidden;}
.campus-label{
  position:absolute;
  font:600 12px/1.25 Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Noto Sans Arabic", sans-serif;
  letter-spacing:.02em;
  padding:3px 8px;
  border-radius:999px;
  white-space:nowrap;
  max-width:168px;
  overflow:hidden;
  text-overflow:ellipsis;
  background:rgba(255,255,255,.85);
  backdrop-filter:blur(8px) saturate(1.2);
  -webkit-backdrop-filter:blur(8px) saturate(1.2);
  border:1px solid rgba(15,23,42,.12);
  box-shadow:0 1px 2px rgba(15,23,42,.08), 0 4px 10px rgba(15,23,42,.06);
  color:#0f172a;
  pointer-events:none;
  transform:translateZ(0);
}
html[data-theme="dark"] .campus-label{
  background:rgba(12,16,28,.72);
  border-color:rgba(255,255,255,.14);
  color:#f8fafc;
  box-shadow:0 1px 2px rgba(0,0,0,.35), 0 6px 14px rgba(0,0,0,.28);
}
.campus-label.is-collided{opacity:0;visibility:hidden;}
.campus-label.is-on{opacity:1;visibility:visible;z-index:2;}
.campus-map .pill{display:none !important;}

/* —— Analytics: keep the floating preferences control off the dock, sitewide.
      Do not hide #amaador-analytics-panel (banner / openPreferences). —— */
button[data-analytics-action="preferences"],
.afs-prefs,
.aa-consent-fab,
.analytics-pref{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
  inset:auto !important;
  pointer-events:none !important;
}

/* First-visit consent card: compact, under the header, never over the dock. */
#amaador-analytics-panel{
  position:fixed !important;
  top:calc(var(--header-h, 56px) + 10px) !important;
  right:auto !important;
  bottom:auto !important;
  left:50% !important;
  inset:auto !important;
  transform:translateX(-50%) !important;
  width:min(340px, calc(100vw - 24px)) !important;
  max-width:min(340px, calc(100vw - 24px)) !important;
  max-height:min(220px, calc(100dvh - var(--header-h, 56px) - var(--foot-clear, 60px) - 24px)) !important;
  overflow:auto !important;
  padding:10px 12px !important;
  font-size:12px !important;
  line-height:1.4 !important;
  z-index:125 !important;
  margin:0 !important;
}
#amaador-analytics-panel p{margin:6px 0 !important;font-size:12px !important;}
#amaador-analytics-panel p:nth-of-type(1){
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
#amaador-analytics-panel button{
  font-size:12px !important;
  padding:6px 10px !important;
}

/* —— Learning paths r2 hooks (Content Academy owns the HTML/JS). CSS only. —— */
body[data-lp-version="r2"] #lp-root{
  --lp-text:#0f172a;
  --lp-muted:#475569;
  --lp-line:rgba(15,23,42,.10);
  --lp-chip:rgba(255,255,255,.82);
  --lp-chip-on:#111827;
  --lp-chip-on-fg:#fff;
  --lp-card:rgba(255,255,255,.88);
  --lp-cert:#0f766e;
  --lp-link:#0f766e;
  color:var(--lp-text);
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Noto Sans Arabic", sans-serif;
}
html[data-theme="dark"] body[data-lp-version="r2"] #lp-root{
  --lp-text:#f1f5f9;
  --lp-muted:#94a3b8;
  --lp-line:rgba(255,255,255,.12);
  --lp-chip:rgba(15,18,28,.72);
  --lp-chip-on:#e2e8f0;
  --lp-chip-on-fg:#0f172a;
  --lp-card:rgba(15,18,28,.72);
  --lp-cert:#5eead4;
  --lp-link:#5eead4;
}
body[data-lp-version="r2"] #lp-root button.lp-chip[data-level],
body[data-lp-version="r2"] #lp-root button.lp-chip[data-family]{
  appearance:none;
  font:600 12px/1.2 inherit;
  letter-spacing:.02em;
  padding:6px 12px;
  margin:0 6px 8px 0;
  border-radius:999px;
  border:1px solid var(--lp-line);
  background:var(--lp-chip);
  color:var(--lp-text);
  cursor:pointer;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  box-shadow:0 1px 2px rgba(15,23,42,.06);
}
html[data-theme="dark"] body[data-lp-version="r2"] #lp-root button.lp-chip[data-level],
html[data-theme="dark"] body[data-lp-version="r2"] #lp-root button.lp-chip[data-family]{
  box-shadow:0 1px 2px rgba(0,0,0,.3);
}
body[data-lp-version="r2"] #lp-root button.lp-chip[data-level][aria-pressed="true"],
body[data-lp-version="r2"] #lp-root button.lp-chip[data-family][aria-pressed="true"],
body[data-lp-version="r2"] #lp-root button.lp-chip[data-level].is-active,
body[data-lp-version="r2"] #lp-root button.lp-chip[data-family].is-active{
  background:var(--lp-chip-on);
  color:var(--lp-chip-on-fg);
  border-color:transparent;
}
body[data-lp-version="r2"] #lp-root button.lp-chip[data-level]:focus-visible,
body[data-lp-version="r2"] #lp-root button.lp-chip[data-family]:focus-visible{
  outline:2px solid var(--lp-link);
  outline-offset:2px;
}
body[data-lp-version="r2"] #lp-root section.lp-group[data-level]{
  margin:28px 0;
  padding:0;
  border:0;
}
body[data-lp-version="r2"] #lp-root article.lp-card{
  background:var(--lp-card);
  border:1px solid var(--lp-line);
  border-radius:16px;
  padding:18px 20px;
  box-shadow:0 1px 2px rgba(15,23,42,.05), 0 8px 24px rgba(15,23,42,.05);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
html[data-theme="dark"] body[data-lp-version="r2"] #lp-root article.lp-card{
  box-shadow:0 1px 2px rgba(0,0,0,.25), 0 8px 24px rgba(0,0,0,.22);
}
body[data-lp-version="r2"] #lp-root article.lp-card .lp-title{
  font:600 1.1rem/1.3 inherit;
  letter-spacing:.01em;
  margin:0 0 6px;
  color:var(--lp-text);
}
body[data-lp-version="r2"] #lp-root article.lp-card .lp-meta{
  font:400 13px/1.45 inherit;
  color:var(--lp-muted);
  margin:0 0 12px;
}
body[data-lp-version="r2"] #lp-root article.lp-card ol.lp-steps{
  margin:0;
  padding-inline-start:1.25em;
  color:var(--lp-text);
}
body[data-lp-version="r2"] #lp-root article.lp-card ol.lp-steps li{margin:0 0 8px;}
body[data-lp-version="r2"] #lp-root article.lp-card ol.lp-steps li a{
  color:var(--lp-link);
  text-decoration:none;
  border-bottom:1px solid transparent;
}
body[data-lp-version="r2"] #lp-root article.lp-card ol.lp-steps li a:hover,
body[data-lp-version="r2"] #lp-root article.lp-card ol.lp-steps li a:focus-visible{
  border-bottom-color:currentColor;
}
body[data-lp-version="r2"] #lp-root article.lp-card .lp-cert{
  display:inline-block;
  margin-top:10px;
  font:600 12px/1.3 inherit;
  letter-spacing:.02em;
  color:var(--lp-cert);
}

/* RTL */
html[dir="rtl"] body[data-lp-version="r2"] #lp-root,
body[data-lp-version="r2"][dir="rtl"] #lp-root{
  direction:rtl;
  text-align:start;
}
html[dir="rtl"] body[data-lp-version="r2"] #lp-root button.lp-chip[data-level],
html[dir="rtl"] body[data-lp-version="r2"] #lp-root button.lp-chip[data-family],
body[data-lp-version="r2"][dir="rtl"] #lp-root button.lp-chip[data-level],
body[data-lp-version="r2"][dir="rtl"] #lp-root button.lp-chip[data-family]{
  margin:0 0 8px 6px;
}
html[dir="rtl"] body[data-lp-version="r2"] #lp-root article.lp-card ol.lp-steps,
body[data-lp-version="r2"][dir="rtl"] #lp-root article.lp-card ol.lp-steps{
  padding-inline-start:1.25em;
}

/* —— P0: do not hide field/training hero media (r4 hid .b55-hero-media sitewide,
      leaving .field-hero.b55-photo-hero as a ~360px black block). —— */
html[data-fw="r4"] .field-hero .b55-hero-media,
html[data-fw="r4"] .tr-hero .b55-hero-media,
html[data-fw="r4"] .pd-hero .b55-hero-media,
html[data-fw="r4"] .tool-head .b55-hero-media,
html[data-fw="r4"] .fw-r5-hero-media{
  display:block !important;
  visibility:visible !important;
  pointer-events:none !important;
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  max-height:none !important;
  overflow:visible !important;
  object-fit:cover !important;
  z-index:0 !important;
}
html[data-fw="r4"] .field-hero.b55-photo-hero,
html[data-fw="r4"] .field-hero[data-keep-header]{
  position:relative !important;
  overflow:hidden;
}
html[data-fw="r4"] .field-hero.b55-photo-hero > .mpw-tb,
html[data-fw="r4"] .field-hero.b55-photo-hero > .wrap,
html[data-fw="r4"] .field-hero[data-keep-header] > .mpw-tb,
html[data-fw="r4"] .field-hero[data-keep-header] > .wrap{
  position:relative;
  z-index:2;
}

/* Do not treat static SEO course lists as full photo cards (white text / 160px min-height). */
html[data-fw="r4"] .static-seo-courselist a{
  min-height:0 !important;
  height:auto !important;
  color:inherit !important;
  overflow:visible !important;
  background:none !important;
  box-shadow:none !important;
  border-radius:0 !important;
  display:inline !important;
  position:static !important;
  padding:0 !important;
}
html[data-fw="r4"] .static-seo-courselist a::after{display:none !important;background:none !important;}
html[data-fw="r4"] .static-seo-courselist a .fw-card-art,
html[data-fw="r4"] .static-seo-courselist a .b55-card-media{display:none !important;}

/* Cards + dock: never overlap. Dock height + iOS/iPad safe-area. */
html[data-fw="r4"] body{
  padding-bottom:calc(var(--foot-clear, 60px) + env(safe-area-inset-bottom, 0px) + 16px) !important;
}
html[data-fw="r4"] body.atlas-home,
html[data-fw="r4"] body.home{
  padding-bottom:0 !important;
}
html[data-fw="r4"] .dock{
  padding-bottom:env(safe-area-inset-bottom, 0px);
}
html[data-fw="r4"] #fieldGrid,
html[data-fw="r4"] #fieldOther,
html[data-fw="r4"] .sec.tight,
html[data-fw="r4"] main,
html[data-fw="r4"] .b55-category-content{
  padding-bottom:calc(var(--foot-clear, 60px) + env(safe-area-inset-bottom, 0px) + 16px);
}

/* Campus fallback if engine init fails */
.campus-fallback{position:absolute;inset:0;pointer-events:none;}
.campus-fallback svg{display:block;width:100%;height:100%;}
