/*
Theme Name: MuseoPath
Theme URI: https://mycourses.srnlimbe.org/
Author: MuseoPath
Description: Independent, accessible museum education theme for Tutor LMS and WooCommerce. Focused on curator-led online learning; not a museum collection catalogue.
Version: 1.0.16
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.1
Text Domain: expertlearner
Domain Path: /languages
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Tags: education, custom-logo, custom-menu, featured-images, wide-blocks, accessibility-ready, translation-ready, blog
*/

/* Brand tokens and layout primitives — small screens first. */
:root {
  --el-navy:#182630; --el-ink:#2B3A45; --el-slate:#5C6B73;
  --el-sage:#48665B; --el-deep-green:#17663E; --el-green-hover:#0F4D2D;
  --el-gold:#B58A52; --el-sand:#E9E8DA; --el-ivory:#F5F0E8;
  --el-white:#FFFFFF; --el-alert:#B82105; --el-info:#1159AF;
  --el-border:#D1D9D2; --el-line:#DDE2DC;
  --el-serif:Georgia,'Times New Roman',serif;
  --el-sans:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --el-header-height:64px; --el-radius:12px;
  --el-shadow:0 16px 44px rgba(24,38,48,.07);
  --el-gutter:clamp(15px,4vw,30px);
}
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:calc(var(--el-header-height) + 16px); }
[id] { scroll-margin-top:calc(var(--el-header-height) + 16px); }
body { margin:0; background:var(--el-ivory); color:var(--el-ink); font:400 16px/1.65 var(--el-sans); -webkit-font-smoothing:antialiased; overflow-wrap:break-word; }
body.el-menu-open { overflow:hidden; }
img,video,iframe,svg { max-width:100%; }
img { height:auto; }
figure { margin:0; }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
a { color:var(--el-deep-green); text-underline-offset:.17em; }
a:hover { color:var(--el-green-hover); }
:focus-visible { outline:3px solid var(--el-info)!important; outline-offset:3px; }
::selection { background:#CCE3D2; color:var(--el-navy); }
h1,h2,h3,h4,h5,h6 { margin:0 0 .65em; font-family:var(--el-serif); line-height:1.2; letter-spacing:-.018em; color:var(--el-navy); overflow-wrap:anywhere; hyphens:auto; }
h1 { font-size:clamp(2rem,7vw,4.2rem); }
h2 { font-size:clamp(1.55rem,4.6vw,2.8rem); }
h3 { font-size:clamp(1.18rem,3vw,1.55rem); }
h4 { font-size:1.1rem; }
p { margin:0 0 1.25rem; }
ul,ol { padding-inline-start:1.4rem; }
li { margin-block:.25rem; }
hr { border:0; border-top:1px solid var(--el-line); margin:2rem 0; }
table { border-collapse:collapse; width:100%; max-width:100%; }
th,td { border-bottom:1px solid var(--el-line); padding:.65rem; text-align:start; overflow-wrap:anywhere; }
blockquote { border-inline-start:4px solid var(--el-sage); margin:2rem 0; padding:.35rem 1.25rem; }
pre { max-width:100%; overflow:auto; padding:1rem; background:#F0F2EC; border-radius:8px; }
label { font-weight:650; color:var(--el-navy); }
input,textarea,select { max-width:100%; min-width:0; min-height:44px; padding:.7rem .8rem; background:#fff; border:1px solid #8F9C95; border-radius:7px; color:var(--el-ink); }
button,input[type=submit],.button,.wp-element-button { min-height:44px; }
button:disabled,.button:disabled { opacity:.6; cursor:not-allowed; }
.screen-reader-text,.el-sr-only { position:absolute!important; width:1px;height:1px; padding:0;margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap;border:0; }
.screen-reader-text:focus { position:fixed!important; top:1rem;left:1rem; width:auto;height:auto; clip:auto; padding:1rem; margin:0; background:#fff; z-index:310; }
.el-wrap,.el-reading-width { width:calc(100% - 2 * var(--el-gutter)); max-width:760px; margin-inline:auto; min-width:0; }
.el-wrap-wide { width:calc(100% - 2 * var(--el-gutter)); max-width:1220px; margin-inline:auto; min-width:0; }
.el-main { min-width:0; min-height:45vh; padding-block:clamp(25px,5vw,48px) clamp(46px,7vw,80px); }
.el-front-page { padding:0; }
.el-skip-link { position:fixed; inset-inline-start:16px; top:-200px; padding:12px 20px; background:var(--el-navy); color:#fff; z-index:300; }
.el-skip-link:focus { top:12px; color:#fff; }
/* Responsive media, embedded content and block alignments must not force a wide body. */
:where(.el-prose,.el-page-content,.el-article,.el-archive-results,.wp-block-group,.wp-block-columns,.el-card-grid,.el-article-grid,.el-pathway-grid) { min-width:0; }
:where(.el-prose,.el-page-content,.el-article,.el-archive-results) :where(img,iframe,video) { max-inline-size:100%; }
:where(.el-prose,.el-page-content) .alignfull { max-inline-size:100%; width:100%; margin-inline:auto; position:static; transform:none; }
:where(.el-prose,.el-page-content) .alignwide { max-inline-size:100%; width:100%; position:static; transform:none; }
/* Header: 64px compact bar by default. No absolute-positioned branding. */
/* Respect the native WordPress admin bar without taking the header out of flow. */
.el-site-header { position:sticky; top:0; z-index:80; min-height:var(--el-header-height); background:#fff; border-bottom:1px solid var(--el-line); overflow:visible; isolation:isolate; }
body.admin-bar { --el-admin-bar-offset:32px; }
body.admin-bar .el-site-header { top:32px; }
html:has(body.admin-bar) { scroll-padding-top:calc(var(--el-header-height) + 32px + 16px); }
body.admin-bar [id] { scroll-margin-top:calc(var(--el-header-height) + 32px + 16px); }
body.admin-bar .el-mobile-panel:not([hidden]) {
  top:calc(var(--el-header-height) + 32px);
  height:calc(100dvh - var(--el-header-height) - 32px);
}
body.admin-bar .el-skip-link:focus { top:44px; }
@media (max-width:782px) {
  body.admin-bar { --el-admin-bar-offset:46px; }
  body.admin-bar .el-site-header { top:46px; }
  html:has(body.admin-bar) { scroll-padding-top:calc(var(--el-header-height) + 46px + 16px); }
  body.admin-bar [id] { scroll-margin-top:calc(var(--el-header-height) + 46px + 16px); }
  body.admin-bar .el-mobile-panel:not([hidden]) {
    top:calc(var(--el-header-height) + 46px);
    height:calc(100dvh - var(--el-header-height) - 46px);
  }
  body.admin-bar .el-skip-link:focus { top:58px; }
}
.el-header-inner { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:clamp(8px,2vw,18px); min-height:var(--el-header-height); padding-block:8px; overflow:visible; }
.el-brand { display:flex; align-items:center; min-width:0; }
.el-brand .custom-logo-link { display:inline-flex; align-items:center; min-width:0; min-height:44px; }
.el-brand .custom-logo { position:static; display:block; inline-size:auto; block-size:auto; width:auto; height:auto; max-height:40px; max-width:min(45vw,180px); object-fit:contain; }
.el-brand-name { color:var(--el-navy); text-decoration:none; font:700 clamp(1.15rem,4vw,1.55rem)/1.1 var(--el-serif); letter-spacing:-.03em; }
/* SVG attachment #127 has no intrinsic pixel metadata; give it reliable box dimensions.
   Keep the text brand visible independently of the logo across all breakpoints. */
.el-brand { display:flex; align-items:center; visibility:visible; opacity:1; position:relative; overflow:visible; }
.el-brand-home { display:inline-flex; align-items:center; gap:9px; max-width:100%; text-decoration:none; white-space:nowrap; }
.el-brand .el-brand-home .custom-logo {
  display:block; flex:0 0 42px; width:42px; height:42px;
  inline-size:42px; block-size:42px; max-width:42px; max-height:42px;
  opacity:1; visibility:visible; position:static; object-fit:contain;
}
.el-brand .el-brand-name {
  display:inline-block; flex:0 0 auto; color:var(--el-navy); white-space:nowrap;
  visibility:visible; opacity:1; font-size:clamp(1.03rem,1.4vw,1.35rem);
}
.el-brand-home:hover .el-brand-name { color:var(--el-deep-green); }
@media (max-width:399px) {
  .el-brand-home { gap:6px; }
  .el-brand .el-brand-home .custom-logo { width:34px; height:34px; inline-size:34px; block-size:34px; flex-basis:34px; }
  .el-brand .el-brand-name { font-size:1.02rem; }
}
.el-header-actions { display:flex; justify-content:flex-end; align-items:center; gap:4px; min-width:0; }
.el-icon-button { display:inline-flex; align-items:center; justify-content:center; border:0; background:transparent; color:var(--el-navy); padding:10px; min-width:44px; min-height:44px; border-radius:8px; }
.el-icon-button:hover,.el-icon-button[aria-expanded=true] { background:#EAF0EA; }
.el-menu-toggle { gap:6px; }
.el-menu-label { font-size:.77rem; font-weight:700; }
.el-primary-nav,.el-account-links,.el-header-teach { display:none; }
.el-header-search-panel[hidden],.el-mobile-panel[hidden],.sub-menu[hidden] { display:none!important; }
.el-header-search-panel { position:absolute; inset-inline:0; top:100%; background:#fff; border-top:1px solid var(--el-line); border-bottom:1px solid var(--el-line); box-shadow:var(--el-shadow); z-index:84; }
.el-header-search-panel-inner { display:flex; align-items:flex-end; gap:10px; padding-block:12px; }
.el-header-search-panel .el-course-search { flex:1; min-width:0; }
.el-header-search-panel .el-search-row { display:flex; flex-wrap:wrap; }
.el-header-search-panel .el-search-row input { flex:1 1 160px; }
.el-mobile-panel:not([hidden]) { display:block; position:fixed; top:var(--el-header-height); bottom:0; inset-inline:0; z-index:83; height:calc(100dvh - var(--el-header-height)); overflow-y:auto; overscroll-behavior:contain; background:#fff; border-top:1px solid var(--el-line); }
.el-mobile-panel-inner { display:flex; flex-direction:column; gap:18px; min-height:100%; padding:16px max(var(--el-gutter),env(safe-area-inset-left)) calc(20px + env(safe-area-inset-bottom)) max(var(--el-gutter),env(safe-area-inset-right)); }
.el-mobile-panel-top { display:flex; align-items:center; justify-content:space-between; color:var(--el-navy); }
.el-mobile-panel-top strong { font-family:var(--el-serif); font-size:1.18rem; }
.el-mobile-nav-list,.el-nav-list,.el-footer-links { margin:0; padding:0; list-style:none; }
.el-mobile-nav-list > li { margin:0; border-bottom:1px solid var(--el-line); }
.el-mobile-nav-list > li > :is(a,button) { width:100%; min-height:48px; display:flex; align-items:center; justify-content:space-between; gap:8px; padding:10px 2px; background:transparent; border:0; color:var(--el-ink); text-decoration:none; text-align:start; font-weight:750; }
.el-nav-parent-button { font:inherit; cursor:pointer; }
.el-chevron { width:8px; height:8px; display:inline-block; flex:none; border-inline-end:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); margin-inline:6px; margin-block:-5px 0; transition:transform .15s; }
.el-nav-parent-button[aria-expanded=true] .el-chevron { transform:rotate(225deg); margin-block:3px 0; }
.el-mobile-nav-list .sub-menu { list-style:none; margin:0 0 8px; padding:0 0 0 14px; border-inline-start:2px solid var(--el-line); }
.el-mobile-nav-list .sub-menu li { margin:0; }
.el-mobile-nav-list .sub-menu a { display:flex; min-height:44px; align-items:center; padding:8px 12px; color:var(--el-ink); text-decoration:none; }
.el-mobile-nav-list .sub-menu a:hover { background:var(--el-ivory); }
.el-mobile-search .el-search-row { flex-wrap:wrap; }
.el-mobile-search .el-search-row input { flex:1 1 165px; }
.el-mobile-teach { width:100%; }
.el-mobile-account { display:flex; justify-content:space-between; gap:12px; border-top:1px solid var(--el-line); margin-top:auto; padding-top:15px; }
.el-mobile-account a { display:inline-flex; align-items:center; min-height:44px; font-weight:750; }
/* Site footer: one column by default; no accordion or inaccessible collapsing. */
.el-site-footer { background:var(--el-navy); color:#E4EDE9; }
.el-footer-top { display:grid; grid-template-columns:minmax(0,1fr); gap:clamp(18px,4vw,35px); padding-block:clamp(35px,6vw,64px) 35px; }
.el-footer-top > * { min-width:0; }
.el-footer-brand { color:#fff; font:700 1.6rem/1.2 var(--el-serif); text-decoration:none; }
.el-footer-intro p { margin-top:15px; max-width:28rem; color:#DAE4DF; font-size:.94rem; line-height:1.8; }
.el-footer-heading { font:700 1.05rem/1.3 var(--el-serif); color:#fff; margin:0 0 12px; }
.el-footer-links { display:grid; gap:0; }
.el-footer-links li { margin:0; }
.el-footer-links a { display:inline-flex; align-items:center; min-height:44px; color:#DAE4DF; text-decoration:none; padding:7px 0; }
.el-footer-links a:hover,.el-site-footer a:focus-visible { color:#fff; text-decoration:underline; }
.el-footer-required { border-top:1px solid #46535B; padding-top:10px; margin-top:10px; }
.el-footer-bottom { display:flex; flex-direction:column; align-items:flex-start; gap:7px; border-top:1px solid #46535B; padding-block:18px 25px; color:#CAD8D1; font-size:.82rem; }
.el-footer-bottom p { margin:0; }
.el-footer-widget { margin-top:15px; }
.el-footer-widget a { color:#E4EDE9; }
/* Breadcrumbs: uniform line height prevents link baselines from drifting. */
.el-breadcrumbs { color:var(--el-slate); font-size:.86rem; line-height:1.5; margin-block:0 clamp(18px,3vw,28px); }
.el-breadcrumbs ol { display:flex; align-items:center; flex-wrap:wrap; gap:4px 8px; margin:0; padding:0; list-style:none; min-width:0; }
.el-breadcrumbs li { display:inline-flex; align-items:baseline; min-width:0; margin:0; line-height:1.5; }
.el-breadcrumbs a,.el-breadcrumbs span { display:inline; padding:0; line-height:inherit; min-height:0; }
.el-breadcrumbs li+li::before { content:'/'; display:inline-block; margin-inline-end:8px; color:#687A70; line-height:inherit; }
.el-breadcrumb-current { max-inline-size:min(55vw,32rem); }
.el-breadcrumb-current span { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; display:inline-block; max-inline-size:100%; vertical-align:bottom; }

/* Reusable cards, forms, course metadata and editorial components. */
.el-button,.el-course-search button,.el-topic-form button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 48px;
  border: 1px solid var(--el-deep-green);
  border-radius: 7px;
  padding: 12px 22px;
  background: var(--el-deep-green);
  color: #fff;
  text-decoration: none;
  font-weight: 750;
  font-size: .93rem;
  line-height: 1.2;
  transition: background-color .15s ease,border-color .15s ease;
}
.el-button:hover,.el-course-search button:hover {
  background: var(--el-green-hover);
  border-color: var(--el-green-hover);
  color: #fff;
}
.el-button-outline {
  background: transparent;
  border-color: var(--el-deep-green);
  color: var(--el-deep-green);
}
.el-button-outline:hover {
  color: #fff;
}
.el-button-light {
  background: #fff;
  color: var(--el-navy);
  border-color: #fff;
}
.el-button-light:hover {
  background: var(--el-sand);
  color: var(--el-navy);
  border-color: var(--el-sand);
}
.el-button-ghost {
  background: transparent;
  border: 1px solid #AEC8B7;
  color: #fff;
}
.el-button-ghost:hover {
  background: #264D3A;
  border-color: white;
  color: white;
}
.el-eyebrow {
  display: inline-block;
  text-transform: uppercase;
  letter-spacing: .13em;
  font-size: .76rem;
  line-height: 1.4;
  font-weight: 850;
  color: var(--el-sage);
  margin: 0 0 18px;
}
.el-text-link {
  min-height: 44px;
  font-weight: 750;
  text-decoration: none;
  display: inline-flex;
  gap: 6px;
  align-items: center;
}
.el-text-link:hover {
  text-decoration: underline;
}
.el-section {
  padding-block: clamp(62px,7vw,100px);
}
.el-section-heading {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 26px;
  margin-bottom: 30px;
}
.el-section-heading h2 {
  margin: 0 0 .3em;
}
.el-section-description {
  max-width: 680px;
  margin: 0;
  color: var(--el-slate);
  font-size: 1.05rem;
}
.el-section-heading>.el-text-link {
  flex: 0 0 auto;
  margin-bottom: 8px;
}
.el-muted {
  color: var(--el-slate);
}
.el-prose {
  max-width: 760px;
}
.el-prose>:first-child {
  margin-top: 0;
}
.el-prose h2 {
  margin-top: 2rem;
  font-size: 1.8rem;
}
.el-prose h3 {
  margin-top: 1.6rem;
}
.el-prose p,.el-prose li {
  line-height: 1.8;
}
.el-prose iframe,.el-prose video {
  max-width: 100%;
}
.el-prose .alignwide {
  width: 100%;
  max-width: none;
}
.el-prose .alignfull {
  width: 100%;
  max-width: none;
}
.el-prose .wp-block-columns {
  max-width: 100%;
}
.el-home-hero {
  background: #F0F0E7;
  overflow: hidden;
  border-bottom: 1px solid #E2E5DA;
}
.el-hero-grid {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: clamp(28px,5vw,72px);
  align-items: center;
  min-height: 590px;
  padding-block: 70px;
}
.el-hero-copy h1 {
  font-size: clamp(2.8rem,5.4vw,5.05rem);
  max-width: 680px;
  letter-spacing: -.04em;
  margin: 0 0 22px;
}
.el-hero-intro {
  max-width: 585px;
  font-size: clamp(1.06rem,1.3vw,1.23rem);
  color: var(--el-ink);
  line-height: 1.8;
}
.el-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}
.el-hero-visual {
  border-radius: 18px;
  background: #E8E8DB;
  overflow: hidden;
  position: relative;
  box-shadow: 0 24px 58px rgba(24,38,48,.1);
}
.el-hero-photo {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3/2;
  object-fit: cover;
}
.el-hero-visual figcaption {
  font-size: .74rem;
  color: var(--el-ink);
  background: rgba(255,255,255,.94);
  padding: 5px 12px;
  position: absolute;
  bottom: 12px;
  right: 12px;
  border-radius: 4px;
}
.el-pathway-grid {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: 20px;
}
.el-pathway-card {
  position: relative;
  background: white;
  border: 1px solid var(--el-line);
  border-radius: 12px;
  padding: clamp(22px,3vw,35px);
  min-width: 0;
}
.el-pathway-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 29px;
  width: 46px;
  height: 3px;
  background: var(--el-gold);
}
.el-pathway-index {
  font-size: .75rem;
  font-weight: 850;
  letter-spacing: .15em;
  color: var(--el-sage);
}
.el-pathway-card h3 {
  font-size: 1.6rem;
  margin: 12px 0;
}
.el-pathway-card p {
  color: var(--el-slate);
  line-height: 1.68;
  max-width: 435px;
}
.el-pathway-topics {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0;
  margin: 22px 0 0;
}
.el-pathway-topics li {
  margin: 0;
}
.el-pathway-topics a {
  display: inline-block;
  color: var(--el-ink);
  font-size: .82rem;
  border: 1px solid var(--el-border);
  background: #F9FAF7;
  border-radius: 5px;
  padding: 10px 12px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}
.el-pathway-topics a:hover {
  background: #E5ECE4;
  border-color: #9FAFA4;
  color: var(--el-deep-green);
}
.el-section-featured {
  background: #FFF;
}
.el-section-educators {
  background: #F4F4ED;
}
.el-section-respect {
  background: #F5F0E8;
  padding-block: 36px 66px;
}
.el-respect {
  display: flex;
  gap: 24px;
  background: #EBEEE7;
  padding: 26px 32px;
  border-radius: 9px;
}
.el-respect .el-decoration {
  width: 4px;
  background: var(--el-gold);
  flex: 0 0 auto;
}
.el-respect h2 {
  font: 700 1.3rem/1.35 var(--el-serif);
  margin: 0 0 8px;
}
.el-respect p {
  margin: 0;
  max-width: 850px;
  line-height: 1.7;
}
.el-invite-band {
  background: var(--el-navy);
  color: white;
  border-radius: 14px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 32px;
  padding: clamp(28px,5vw,55px);
}
.el-invite-band .el-eyebrow {
  color: #C9D8CD;
}
.el-invite-band h2 {
  color: white;
}
.el-invite-band p {
  max-width: 640px;
  color: #E1EAE3;
  margin: 0;
}
.el-invite-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 0 0 auto;
}
.el-home-editor {
  border-top: 1px solid var(--el-line);
}
.el-card-grid,.el-article-grid {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: 23px;
}
.el-course-card,.el-post-card {
  overflow: hidden;
  border: 1px solid var(--el-line);
  border-radius: 11px;
  background: white;
  display: flex;
  flex-direction: column;
  min-width: 0;
  transition: box-shadow .15s;
}
.el-course-card:hover,.el-post-card:hover {
  box-shadow: var(--el-shadow);
}
.el-course-card-image,.el-post-card-media {
  aspect-ratio: 16/9;
  display: block;
  background: var(--el-sand);
  overflow: hidden;
}
.el-course-image,.el-post-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.el-course-card-content,.el-post-card-copy {
  padding: 20px 22px 23px;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.el-course-category,.el-post-date {
  font-size: .75rem;
  text-transform: uppercase;
  letter-spacing: .09em;
  font-weight: 800;
  color: var(--el-sage);
  margin: 0 0 9px;
}
.el-course-card h3 {
  font-size: 1.27rem;
  line-height: 1.35;
  margin: 0 0 12px;
}
.el-course-card h3 a,.el-post-card h2 a {
  color: var(--el-navy);
  text-decoration: none;
}
.el-course-card h3 a:hover,.el-post-card h2 a:hover {
  color: var(--el-deep-green);
  text-decoration: underline;
}
.el-course-excerpt {
  color: var(--el-slate);
  font-size: .91rem;
}
.el-course-author {
  color: var(--el-ink);
  font-size: .84rem;
  margin-top: auto;
  margin-bottom: 12px;
}
.el-course-card-meta {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  border-top: 1px solid var(--el-line);
  padding-top: 13px;
  margin-top: auto;
  font-size: .78rem;
  color: var(--el-slate);
}
.el-course-card-meta span:not(:first-child)::before {
  content: "·";
  margin-right: 8px;
  color: var(--el-sage);
}
.el-verified-badge {
  color: var(--el-deep-green);
  font-size: .75rem;
  display: inline-block;
  font-weight: 750;
  background: #E6EEE7;
  border-radius: 4px;
  padding: 2px 6px;
  margin-left: 4px;
}
.el-post-card h2 {
  font-size: 1.35rem;
  margin-bottom: 10px;
}
.el-post-card p {
  color: var(--el-slate);
  font-size: .92rem;
}
.el-post-card .el-text-link {
  margin-top: auto;
}
.el-post-card-media {
  max-height: 225px;
}
.el-empty-state {
  border: 1px dashed #AEBDB2;
  background: #F7F8F4;
  border-radius: 11px;
  padding: clamp(26px,4vw,52px);
  grid-column: 1/-1;
  text-align: center;
}
.el-empty-state h3 {
  font-size: 1.4rem;
}
.el-empty-state p {
  margin: 0;
  color: var(--el-slate);
}
.el-page-heading {
  margin-bottom: 38px;
  border-bottom: 1px solid var(--el-line);
  padding-bottom: 26px;
}
.el-page-heading h1 {
  font-size: clamp(2.3rem,4.8vw,3.9rem);
  margin: 0 0 14px;
}
.el-page-heading p {
  font-size: 1.05rem;
  color: var(--el-slate);
  max-width: 730px;
}
.el-page-content {
  max-width: 980px;
}
.el-content-wide {
  max-width: 1220px;
}
.el-page-article {
  min-height: 35vh;
}
.el-full-page .el-page-content {
  max-width: 100%;
}
.el-article {
  padding-bottom: 40px;
}
.el-article-header h1 {
  font-size: clamp(2.35rem,4vw,3.7rem);
}
.el-byline {
  font-size: .84rem;
  color: var(--el-slate);
}
.el-article-featured {
  margin: 26px 0 40px;
}
.el-article-featured img {
  width: 100%;
  height: auto;
  border-radius: 10px;
}
.el-journal-intro {
  margin-bottom: 32px;
}
.el-archive-description {
  color: var(--el-slate);
  max-width: 760px;
}
.el-legal-toc {
  margin: 0 0 32px;
  border-left: 3px solid var(--el-sage);
  background: white;
  padding: 20px 22px;
}
.el-legal-toc h2 {
  font: 700 1.15rem/1.3 var(--el-serif);
  margin: 0 0 10px;
}
.el-legal-toc ol {
  margin: 0;
  padding-left: 1.4rem;
}
.el-legal-toc a {
  display: inline-block;
  padding: 2px 0;
}
.el-legal-content h2 {
  scroll-margin-top: 26px;
}
.el-page-links,.el-pagination {
  margin-top: 35px;
}
.el-pagination .page-numbers {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0;
  list-style: none;
}
.el-pagination a,.el-pagination span {
  min-width: 44px;
  min-height: 44px;
  padding: 10px 15px;
  display: inline-grid;
  place-items: center;
  background: white;
  border: 1px solid var(--el-border);
  color: var(--el-ink);
  text-decoration: none;
  border-radius: 6px;
}
.el-pagination .current {
  background: var(--el-deep-green);
  color: white;
}
.el-search-results-form {
  max-width: 650px;
  margin-bottom: 30px;
}
.el-course-search label {
  display: block;
  margin-bottom: 9px;
  font-size: .85rem;
}
.el-search-row {
  display: flex;
  gap: 8px;
}
.el-search-row input {
  width: 100%;
  flex: 1;
  min-width: 0;
}
.el-search-row button {
  flex: 0 0 auto;
}
.el-not-found {
  text-align: center;
  padding-block: 110px;
}
.el-not-found h1 {
  font-size: 3.3rem;
}
.el-not-found .el-hero-actions {
  justify-content: center;
}
.el-404-search {
  max-width: 450px;
  margin: 40px auto 0;
}
.el-archive-layout {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: 32px;
  align-items: start;
}
.el-archive-filters {
  border-radius: 10px;
  border: 1px solid var(--el-line);
  padding: 20px;
  background: white;
}
.el-archive-filters h2 {
  font-size: 1.2rem;
  margin: 24px 0 14px;
}
.el-filter-list {
  list-style: none;
  padding: 0;
}
.el-filter-list li {
  border-top: 1px solid var(--el-line);
  margin: 0;
}
.el-filter-list a {
  display: block;
  padding: 11px 1px;
  text-decoration: none;
  font-size: .9rem;
}
.el-card-grid-archive {
  grid-template-columns: minmax(0,1fr);
}
.el-topics-page .el-pathway-grid {
  margin: 32px 0;
}
.el-topics-editor {
  max-width: 860px;
}
.el-course-extra {
  margin: 35px 0;
  padding: 24px;
  border: 1px solid var(--el-line);
  background: #FFF;
  border-radius: 10px;
}
.el-course-extra h2 {
  font-size: 1.5rem;
  margin-top: 22px;
}
.el-course-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 22px;
  margin: 0;
}
.el-course-facts>div {
  min-width: 150px;
}
.el-course-facts dt {
  font-weight: 750;
  color: var(--el-ink);
}
.el-course-facts dd {
  margin: 3px 0 0;
  color: var(--el-slate);
}
.el-comments {
  margin-top: 60px;
  padding-top: 35px;
  border-top: 1px solid var(--el-border);
}
.el-comment-list {
  list-style: none;
  padding: 0;
}
.el-comment-list li {
  border-bottom: 1px solid var(--el-line);
  padding: 18px 0;
}
.el-comments .comment-reply-title {
  font-size: 1.5rem;
}
.el-comments form label {
  display: block;
}
.el-comments textarea {
  width: 100%;
}
.el-comments input[type=submit] {
  background: var(--el-deep-green);
  color: white;
  border: none;
  border-radius: 7px;
  padding: 10px 25px;
}
.el-comments .comment-form-cookies-consent label {
  display: inline;
  font-weight: 400;
}
.el-comments .comment-form-cookies-consent input {
  min-height: auto;
}
.wp-block-button__link {
  background: var(--el-deep-green);
  color: white;
  text-decoration: none;
  border-radius: 7px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}
.wp-block-button__link:hover {
  background: var(--el-green-hover);
  color: white;
}
.wp-block-image figcaption,.wp-caption-text {
  font-size: .84rem;
  color: var(--el-slate);
}
.wp-block-search__button {
  background: var(--el-deep-green);
  color: white;
  border: 0;
  border-radius: 6px;
}
.wp-block-search__input {
  background: white;
}
.wp-block-table {
  overflow-x: auto;
}
.wp-block-table table {
  min-width: 450px;
}
.wp-block-quote {
  border-color: var(--el-sage);
}
.forminator-ui,.forminator-custom-form {
  max-width: 100%;
  color: var(--el-ink);
}
.forminator-ui label,.forminator-custom-form label {
  color: var(--el-ink);
  font-weight: 650;
}
.forminator-ui input:not([type=checkbox]):not([type=radio]),.forminator-ui select,.forminator-ui textarea,.forminator-custom-form input:not([type=checkbox]):not([type=radio]),.forminator-custom-form select,.forminator-custom-form textarea {
  background: white;
  border: 1px solid #89988D;
  min-height: 44px;
  border-radius: 6px;
  max-width: 100%;
}
.forminator-ui .forminator-button,.forminator-custom-form .forminator-button {
  background: var(--el-deep-green) !important;
  color: white !important;
  min-height: 44px;
  border-radius: 6px;
  font-weight: 750;
}
.forminator-ui .forminator-error-message,.forminator-custom-form .forminator-error-message {
  color: var(--el-alert);
  font-weight: 650;
}
.forminator-ui .forminator-success,.forminator-custom-form .forminator-success {
  background: #E7F0E8;
  color: var(--el-deep-green);
  border-left: 4px solid var(--el-deep-green);
  padding: 15px;
}
.el-topic-form {
  display: grid;
  gap: 14px;
  max-width: 730px;
  margin-block: 25px;
}
.el-topic-form label {
  font-weight: 750;
}
.el-topic-form input,.el-topic-form textarea {
  width: 100%;
  max-width: 100%;
}
.el-info {
  background: #EBF1EA;
  border-left: 4px solid var(--el-sage);
  padding: 18px 22px;
  border-radius: 6px;
}
.el-expert-grid {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: 18px;
}
.el-expert-card {
  background: white;
  border: 1px solid var(--el-line);
  border-radius: 10px;
  display: flex;
  gap: 16px;
  padding: 20px;
}
.el-expert-avatar {
  flex: 0 0 80px;
  border-radius: 50%;
  width: 80px;
  height: 80px;
  object-fit: cover;
}
.el-expert-card h3 {
  font-size: 1.25rem;
}
.el-expert-card p {
  font-size: .88rem;
  color: var(--el-slate);
}
.el-educator-feature {
  background: #fff;
  border: 1px solid var(--el-line);
  padding: clamp(24px,5vw,50px);
  border-radius: 12px;
}
.el-educator-feature h1 {
  margin-bottom: 14px;
}


/* Small-screen component corrections that apply before the first breakpoint. */
.el-hero-grid,.el-pathway-grid,.el-card-grid,.el-article-grid,.el-expert-grid,.el-archive-layout,.el-card-grid-archive { display:grid; grid-template-columns:minmax(0,1fr); }
.el-hero-grid { gap:clamp(22px,5vw,50px); padding-block:clamp(35px,7vw,75px); }
.el-hero-visual { min-width:0; }
.el-hero-actions,.el-invite-actions { display:flex; flex-direction:column; gap:10px; align-items:stretch; }
.el-hero-actions .el-button,.el-invite-actions .el-button { width:100%; }
.el-section { padding-block:clamp(44px,6vw,95px); }
.el-section-heading { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.el-invite-band { display:flex; flex-direction:column; align-items:flex-start; }
.el-pathway-card,.el-course-card,.el-post-card,.el-expert-card,.el-archive-results,.el-archive-filters { min-width:0; }
.el-course-card-image,.el-post-card-media { aspect-ratio:16/9; }
.el-course-image,.el-post-image { inline-size:100%;block-size:100%;object-fit:cover; }
.el-archive-layout { gap:20px; }
.el-search-row { display:flex; flex-wrap:wrap; }
.el-search-row input { flex:1 1 170px; min-width:0; }
.el-search-row button { flex:0 0 auto; }
.el-not-found { padding-block:clamp(65px,8vw,110px); }
.el-not-found h1 { font-size:clamp(2rem,6vw,3.3rem); }
.el-expert-card { flex-direction:column; }
.el-educator-facts { display:grid; grid-template-columns:minmax(0,1fr); }
.el-prose :where(table,.wp-block-table) { max-inline-size:100%; }
.el-prose .wp-block-table,.el-content-wide .wp-block-table { overflow-x:auto; }
.el-form-fields,.forminator-ui,.forminator-custom-form { max-width:100%; min-width:0; }
.forminator-ui :is(input,select,textarea),.forminator-custom-form :is(input,select,textarea) { max-width:100%; }
.forminator-ui :is(.forminator-label,.forminator-error-message),.forminator-custom-form :is(.forminator-label,.forminator-error-message) { display:block; }
/* 600px: two-column discovery and footer. */
@media (min-width:600px) {
  .el-footer-top { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .el-card-grid,.el-article-grid,.el-pathway-grid,.el-expert-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .el-hero-actions,.el-invite-actions { flex-direction:row; align-items:center; flex-wrap:wrap; }
  .el-hero-actions .el-button,.el-invite-actions .el-button { width:auto; }
  .el-expert-card { flex-direction:row; }
  .el-educator-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
/* 900px: richer editorial grids, and the larger (still compact) brand. */
@media (min-width:900px) {
  .el-brand .custom-logo { max-height:48px; max-width:clamp(150px,16vw,190px); }
  .el-footer-top { grid-template-columns:1.4fr repeat(3,minmax(0,1fr)); }
  .el-card-grid,.el-article-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .el-pathway-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .el-hero-grid { grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr); align-items:center; }
  .el-section-heading { flex-direction:row; align-items:flex-end; }
  .el-archive-layout { grid-template-columns:minmax(0,245px) minmax(0,1fr); gap:25px; }
  .el-card-grid-archive { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .el-invite-band { flex-direction:row; align-items:center; }
  .el-invite-actions { flex-direction:column; align-items:stretch; }
  .el-footer-bottom { flex-direction:row; justify-content:space-between; align-items:center; }
  .el-breadcrumb-current { max-inline-size:40rem; }
  .el-expert-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
/* 1100px: horizontal primary navigation ONLY when the available space fits. */
@media (min-width:1100px) {
  :root { --el-header-height:76px; }
  .el-header-inner { grid-template-columns:auto minmax(0,1fr) auto; gap:clamp(8px,1vw,16px); }
  .el-primary-nav { display:block; min-width:0; }
  .el-nav-list { display:flex; flex-wrap:nowrap; align-items:center; justify-content:center; gap:clamp(2px,.35vw,8px); min-width:0; }
  .el-nav-list > li { display:flex; position:relative; align-items:center; min-width:0; margin:0; }
  .el-nav-list > li > :is(a,button) { display:inline-flex; align-items:center; justify-content:center; gap:4px; white-space:nowrap; min-height:44px; padding:8px clamp(4px,.5vw,9px); background:transparent; border:0; color:var(--el-ink); text-decoration:none; font-size:clamp(.72rem,.75vw,.88rem); font-weight:700; }
  .el-nav-list > li > :is(a,button):hover,.el-nav-list > .current-menu-item > a { color:var(--el-deep-green); }
  /* Remove decorative top rules; active pages use a 2px deep-green underline. */
  .el-site-header .el-primary-nav .el-nav-list > li { border-top:0; }
  .el-site-header .el-primary-nav .el-nav-list > li::before,
  .el-site-header .el-primary-nav .el-nav-list > li::after,
  .el-site-header .el-primary-nav .el-nav-list > li > :is(a,button)::before,
  .el-site-header .el-primary-nav .el-nav-list > li > :is(a,button)::after { content:none; }
  .el-site-header .el-primary-nav .el-nav-list > li > :is(a,button) { border-top:0; background-image:none; }
  .el-site-header .el-primary-nav .el-nav-list > :is(.current-menu-item,.current_page_item,.current-menu-ancestor,.current_page_ancestor) > :is(a,button),
  .el-site-header .el-primary-nav .el-nav-list > li > :is(a,button)[aria-current="page"] {
    color:#17663E;
    box-shadow:inset 0 -2px 0 #17663E;
  }
  .el-nav-list .sub-menu:not([hidden]) { display:block; position:absolute; inset-block-start:100%; inset-inline-start:0; z-index:90; inline-size:max-content; min-inline-size:205px; max-inline-size:min(310px,calc(100vw - 30px)); padding:7px; margin:0; list-style:none; border-radius:8px; border:1px solid var(--el-line); background:#fff; box-shadow:var(--el-shadow); }
  .el-nav-list .sub-menu li { margin:0; }
  .el-nav-list .sub-menu a { display:flex; min-height:44px; align-items:center; padding:10px 13px; border-radius:6px; white-space:normal; text-decoration:none; color:var(--el-ink); font-size:.88rem; }
  .el-nav-list .sub-menu a:hover { background:var(--el-ivory); }
  .el-header-teach { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:8px 11px; border-radius:7px; background:var(--el-deep-green); color:#fff; font-size:.78rem; font-weight:750; text-decoration:none; white-space:nowrap; }
  .el-header-teach:hover { background:var(--el-green-hover); color:#fff; }
  .el-account-links { display:flex; align-items:center; gap:clamp(4px,.5vw,10px); white-space:nowrap; }
  .el-account-links > a,.el-user-menu > summary { display:inline-flex; align-items:center; gap:5px; min-height:44px; padding:8px 4px; font-size:.79rem; font-weight:700; text-decoration:none; color:var(--el-ink); cursor:pointer; }
  .el-account-links .el-header-join { padding:8px 10px; color:var(--el-deep-green); border:1px solid var(--el-deep-green); border-radius:7px; }
  .el-user-menu { position:relative; }
  .el-user-menu > summary { list-style:none; }
  .el-user-menu > summary::-webkit-details-marker { display:none; }
  .el-user-menu > ul { position:absolute; right:0; top:100%; z-index:95; margin:0; padding:7px; min-width:150px; background:#fff; border:1px solid var(--el-line); border-radius:8px; list-style:none; box-shadow:var(--el-shadow); }
  .el-user-menu a { display:flex; align-items:center; min-height:44px; padding:6px 10px; }
  .el-menu-toggle { display:none; }
  .el-mobile-panel:not([hidden]) { display:none; }
  .el-force-compact .el-primary-nav,.el-force-compact .el-header-teach,.el-force-compact .el-account-links { display:none; }
  .el-force-compact .el-header-inner { grid-template-columns:minmax(0,1fr) auto; }
  .el-force-compact .el-menu-toggle { display:inline-flex; }
  .el-force-compact .el-mobile-panel:not([hidden]) { display:block; }
}
/* 1360px: more comfortable desktop menu rhythm. */
@media (min-width:1360px) {
  .el-header-inner { gap:clamp(12px,1.5vw,22px); }
  .el-nav-list { gap:8px; }
  .el-nav-list > li > :is(a,button) { padding-inline:9px; font-size:.875rem; }
  .el-header-teach,.el-account-links > a,.el-user-menu > summary { font-size:.86rem; }
  .el-header-teach { padding-inline:14px; }
  .el-brand .custom-logo { max-width:190px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { transition-duration:.01ms!important; animation-duration:.01ms!important; animation-iteration-count:1!important; }
}
/* Forminator mobile grids: keep the form inside the viewport without clipping errors. */
.forminator-ui .forminator-row,.forminator-custom-form .forminator-row { display:flex; flex-wrap:wrap; }
.forminator-ui .forminator-col,.forminator-custom-form .forminator-col { flex:1 1 100%; min-width:0; max-width:100%; }
.forminator-ui :is(.forminator-error-message,.forminator-label),.forminator-custom-form :is(.forminator-error-message,.forminator-label) { overflow-wrap:anywhere; }
@media (min-width:900px) {
  .forminator-ui .forminator-col:not(:only-child),.forminator-custom-form .forminator-col:not(:only-child) { flex-basis:0; }
}
/* Native wp-login.php presentation: never alters authentication or redirects. */
body.login{background:#F5F0E8;color:#2B3A45;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;min-height:100vh}
body.login #login{width:min(100% - 32px,440px);padding:clamp(32px,8vh,76px) 0 28px}
body.login #login h1 a{background-position:center;background-repeat:no-repeat;margin:0 auto 24px}
body.login #loginform,body.login #registerform,body.login #lostpasswordform,body.login #resetpassform{border:1px solid #E9E8DA;border-radius:12px;background:#fff;box-shadow:0 12px 36px rgba(24,38,48,.07);padding:clamp(20px,5vw,36px);margin:0 0 20px}
body.login form label{color:#182630;font-size:16px;font-weight:650}
body.login form :is(input[type="text"],input[type="password"],input[type="email"]){height:48px;min-height:48px;width:100%;border:1px solid #879A90;border-radius:8px;background:#fff;color:#2B3A45;font-size:16px;padding:9px 12px;box-shadow:none}
body.login form :is(input,button,a):focus-visible,body.login #nav a:focus-visible,body.login #backtoblog a:focus-visible{outline:3px solid #17663E;outline-offset:3px;box-shadow:none}
body.login .button.button-primary{background:#17663E;border:1px solid #17663E;color:#fff;min-height:48px;border-radius:8px;padding:8px 20px;font-size:16px;font-weight:750;box-shadow:none;text-shadow:none}
body.login .button.button-primary:hover{background:#0F4D2D;border-color:#0F4D2D}
body.login .wp-pwd button{color:#17663E;min-height:44px}
body.login #nav,body.login #backtoblog{margin:16px 0 0;padding:0 10px}
body.login :is(#nav a,#backtoblog a){color:#17663E;text-decoration:underline;text-underline-offset:3px;font-size:15px}
body.login :is(#login_error,.message,.success){border-left:4px solid #B82105;background:#fff;border-radius:7px;box-shadow:none;color:#2B3A45}
body.login :is(.message,.success){border-left-color:#17663E}
body.login .forgetmenot{margin:8px 0}
body.login .forgetmenot label{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:500}
body.login input[type="checkbox"]{width:20px;height:20px}
@media(max-width:480px){body.login #login{padding-top:28px}body.login form .submit{float:none;clear:both}body.login .button.button-primary{width:100%}body.login .forgetmenot{float:none}}


/* EL logo_one wide lockup 2026-10-20 */
.el-brand .el-brand-home .custom-logo{width:clamp(145px,15vw,205px);height:auto;max-width:205px;max-height:70px;inline-size:auto;block-size:auto;flex:0 1 auto;object-fit:contain}
@media(max-width:600px){.el-brand .el-brand-home .custom-logo{width:clamp(130px,39vw,175px);max-width:175px;height:auto;flex:0 1 auto}}
.el-footer-brand .el-footer-logo{display:block;width:min(220px,65vw);height:auto;max-width:100%;object-fit:contain}

/* MuseoPath dashboard/account polish — 2026-10-20. */
.woocommerce-account .elcd-student-picture{box-sizing:border-box;max-width:760px;width:100%;background:var(--el-ivory,#f5f0e8);border:1px solid var(--el-line,#d9e1d8);border-radius:12px;padding:clamp(18px,3vw,30px);margin:24px 0}
.woocommerce-account .elcd-student-picture h2{font-size:clamp(1.35rem,2vw,1.8rem);margin:0 0 10px;line-height:1.3}
.woocommerce-account .elcd-student-picture p{margin:0 0 15px;line-height:1.6}
.woocommerce-account .elcd-student-picture form{display:flex;gap:12px;align-items:flex-start;flex-direction:column;margin:14px 0}
.woocommerce-account .elcd-student-picture label{display:block;font-weight:700}
.woocommerce-account .elcd-student-picture input[type=file]{display:block;width:100%;max-width:100%;font:inherit}
.woocommerce-account .elcd-student-picture button{background:var(--el-deep-green,#17663e);color:#fff;border:0;border-radius:7px;padding:11px 18px;min-height:44px;font:700 .95rem/1.2 inherit;cursor:pointer}
.woocommerce-account .elcd-student-picture button:focus-visible{outline:3px solid #b58a52;outline-offset:3px}
.woocommerce-account .elcd-photo-preview{height:84px;width:84px;object-fit:cover;border-radius:50%}
.el-dashboard-account-panel,.el-continue-learning{box-sizing:border-box;width:100%;max-width:100%;margin-inline:0}
.el-dashboard-account-panel nav ul{display:flex;flex-wrap:wrap;gap:10px}
.el-dashboard-account-panel nav li{min-width:0}
@media(max-width:500px){.el-dashboard-account-panel nav ul{flex-direction:column}.el-dashboard-account-panel nav li,.el-dashboard-account-panel nav a{width:100%}}

/* ELCD photo reminder v1.1.24 */
.elcd-dashboard-photo-prompt{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;padding:20px 24px;margin:0 0 18px;border:1px solid var(--el-line,#d9e1d8);border-radius:12px;background:var(--el-ivory,#f5f0e8)}
.elcd-dashboard-photo-prompt h2{font:700 clamp(1.3rem,2vw,1.7rem)/1.25 Georgia,serif;color:var(--el-navy,#182630);margin:0 0 7px}
.elcd-dashboard-photo-prompt p{color:var(--el-ink,#2b3a45);line-height:1.6;margin:0;font-size:.95rem}
.elcd-dashboard-photo-link{display:inline-flex;justify-content:center;align-items:center;min-height:44px;padding:10px 17px;border-radius:7px;background:var(--el-deep-green,#17663e);color:white!important;font-weight:700;text-decoration:none;white-space:nowrap}
.elcd-dashboard-photo-link:focus-visible{outline:3px solid #b58a52;outline-offset:3px}
@media(max-width:600px){.elcd-dashboard-photo-prompt{flex-direction:column;align-items:stretch;padding:18px}.elcd-dashboard-photo-link{width:100%;white-space:normal;text-align:center}}

/* elcd-dashboard-photo-inline-v1 */
.elcd-dashboard-photo-inline{box-sizing:border-box;width:100%;margin:0 0 18px}
.elcd-dashboard-photo-inline .elcd-student-picture{box-sizing:border-box;width:100%;max-width:none!important;margin:0!important;padding:clamp(18px,3vw,26px)!important;background:var(--el-ivory,#f5f0e8);border-radius:12px}
.elcd-dashboard-photo-inline h2{font-size:clamp(1.35rem,2.5vw,1.8rem);margin:0 0 8px}
.elcd-dashboard-photo-inline p{margin:0 0 12px;line-height:1.55}
.elcd-dashboard-photo-inline label{display:block;font-weight:700;margin-bottom:8px}
.elcd-dashboard-photo-inline input[type=file]{width:100%;max-width:100%;font:inherit}
.elcd-dashboard-photo-inline form{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.elcd-dashboard-photo-inline button{padding:11px 20px;min-height:44px;border:0;border-radius:7px;background:var(--el-deep-green,#17663e);color:#fff;font-weight:700;cursor:pointer}
.elcd-dashboard-photo-inline button:focus-visible{outline:3px solid #b58a52;outline-offset:3px}
@media(max-width:600px){.elcd-dashboard-photo-inline form{align-items:stretch;flex-direction:column}.elcd-dashboard-photo-inline input[type=file],.elcd-dashboard-photo-inline button{width:100%}}
/* elcd-dashboard-photo-fix-v1: contain the portrait preview and keep text readable on the ivory card inside the dark Tutor dashboard */
.elcd-student-picture .elcd-photo-preview{display:block;width:96px!important;height:96px!important;max-width:96px!important;max-height:96px!important;object-fit:cover;object-position:center top;border-radius:50%;border:2px solid rgba(23,102,62,.25);box-sizing:border-box}
.elcd-dashboard-photo-inline .elcd-student-picture,.elcd-dashboard-photo-inline .elcd-student-picture p,.elcd-dashboard-photo-inline .elcd-student-picture label,.elcd-dashboard-photo-inline .elcd-student-picture span,.elcd-dashboard-photo-inline .elcd-student-picture li{color:#1f2a24!important}
.elcd-dashboard-photo-inline .elcd-student-picture h2,.elcd-dashboard-photo-inline .elcd-student-picture h3{color:#14202b!important}
.elcd-dashboard-photo-inline .elcd-student-picture p:has(>.elcd-photo-preview){margin:0 0 12px}
.elcd-dashboard-photo-inline .elcd-student-picture form{margin:10px 0}
.elcd-dashboard-photo-inline .elcd-student-picture .elcd-public-consent{display:flex;gap:8px;align-items:flex-start;font-weight:600}
.elcd-dashboard-photo-inline .elcd-student-picture .elcd-public-consent input{margin-top:3px;flex:0 0 auto}

/* MuseoPath faculty kicker is uppercase visually; text storage retains MuseoPath spelling. */
.el-curators-eyebrow{text-transform:uppercase}

/* MuseoPath Prompt 3: real-data course cards (sitewide). */
.mp-enhanced-course-card{border-radius:12px;background:#fff;box-shadow:0 5px 16px rgba(24,38,48,.055);transition:transform .2s ease,box-shadow .2s ease}
.mp-enhanced-course-card:hover{transform:translateY(-4px);box-shadow:0 15px 30px rgba(24,38,48,.12)}
.mp-enhanced-course-card .el-course-card-image{aspect-ratio:16/9}
.mp-enhanced-course-card .el-course-card-image img{display:block;width:100%;height:100%;aspect-ratio:16/9;object-fit:cover}
.mp-enhanced-course-card .el-course-card-image img[src$=".svg"]{object-fit:contain;padding:14px}
.mp-enhanced-course-card .el-course-card-content h2,.mp-enhanced-course-card .el-course-card-content h3{font-size:clamp(1.12rem,1.8vw,1.35rem);line-height:1.28}
.mp-course-metadata{display:flex;flex-wrap:wrap;gap:6px;margin:3px 0 13px}
.mp-course-metadata-tag{display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;border-radius:99px;background:#eff4ef;color:#375b48;font:600 .76rem/1.3 system-ui,-apple-system,'Segoe UI',sans-serif}
.mp-course-card-cta{display:flex;gap:9px;align-items:center;justify-content:space-between;margin:12px 0 16px;min-height:44px;padding:10px 14px;border-radius:8px;background:#17663e;color:white!important;text-decoration:none!important;font:700 .91rem/1.3 system-ui,sans-serif}
.mp-course-card-cta:hover,.mp-course-card-cta:focus-visible{background:#0f4d2d;color:white!important}
.mp-course-card-footer{display:flex;align-items:center;gap:9px;border-top:1px solid #e2e7e2;padding-top:13px;margin-top:auto;min-width:0}
.mp-course-card-avatar{display:block;flex:0 0 36px;width:36px;height:36px;border-radius:50%;overflow:hidden;background:#e9e8da}
.mp-course-card-avatar img{width:36px!important;height:36px!important;max-width:36px!important;aspect-ratio:1!important;border-radius:50%;object-fit:cover}
.mp-course-card-author-name{min-width:0;flex:1;font-size:.81rem;line-height:1.3;overflow-wrap:anywhere;color:#2b3a45;font-weight:650}
.mp-course-card-author-name small{display:block;color:#5c6b73;font-weight:400;font-size:.72rem;margin-bottom:2px}
.mp-course-free{flex:0 0 auto;color:#17663e;font-size:.8rem;font-weight:700}
@media(prefers-reduced-motion:reduce){.mp-enhanced-course-card{transition:none}.mp-enhanced-course-card:hover{transform:none}}

/* MuseoPath course commerce */
.mp-course-card-author{display:flex;align-items:center;gap:.6rem;min-width:0;color:inherit;text-decoration:none}
a.mp-course-card-author:hover .mp-course-card-author-name,a.mp-course-card-author:focus-visible .mp-course-card-author-name{text-decoration:underline}
.mp-course-price{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:.1rem;text-align:right;font-size:1rem}
.mp-course-price del{opacity:.6;font-size:.85em}
.mp-course-price small{font-size:.75em;opacity:.75}
