/* EC Theme 0.3.3 — Visual System Integration
 * Course Art + curricular chroma + semantic UI.
 * Public UI displays curricular meaning; compositional family remains an editorial/admin concern.
 */

/* Shared semantic chips */
.ec-semantic-chip{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:5px 9px;border-radius:999px;background:color-mix(in srgb,var(--ec-course-accent,var(--ec-blue-700)) 7%,white);border:1px solid color-mix(in srgb,var(--ec-course-accent,var(--ec-blue-700)) 18%,var(--ec-line));color:color-mix(in srgb,var(--ec-course-accent,var(--ec-blue-800)) 76%,var(--ec-blue-950));font-size:.8rem;font-weight:600;line-height:1.25}.ec-semantic-chip .ec-icon{width:1.05em;height:1.05em}

/* Course card: art leads, area color binds art to UI. */
.ec-course-card{position:relative;border-color:color-mix(in srgb,var(--ec-course-accent) 15%,var(--ec-line));box-shadow:0 10px 30px rgba(2,9,46,.06);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.ec-course-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--ec-course-accent);z-index:4}.ec-course-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--ec-course-accent) 32%,var(--ec-line));box-shadow:0 18px 44px rgba(2,9,46,.11)}
.ec-course-card__media{aspect-ratio:16/9}.ec-course-card__media:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(112deg,color-mix(in srgb,var(--ec-course-accent) 20%,transparent) 0%,transparent 44%,transparent 100%);pointer-events:none}.ec-course-card__media:after{z-index:1;height:50%;background:linear-gradient(transparent,rgba(2,9,46,.68))}.ec-course-card__image-wash{position:absolute;z-index:1;right:-18%;top:-32%;width:58%;aspect-ratio:1;border-radius:50%;background:color-mix(in srgb,var(--ec-course-accent) 28%,transparent);filter:blur(34px);opacity:.32;pointer-events:none}
.ec-course-card__area{left:14px;bottom:13px;display:inline-flex;align-items:center;gap:6px;padding:6px 9px;background:color-mix(in srgb,var(--ec-course-accent) 82%,var(--ec-blue-950));border:1px solid rgba(255,255,255,.2);box-shadow:0 4px 12px rgba(2,9,46,.16);backdrop-filter:blur(8px)}.ec-course-card__area .ec-icon{width:1.05em;height:1.05em}.ec-course-card__body{position:relative;background:linear-gradient(145deg,#fff 0%,color-mix(in srgb,var(--ec-course-accent) 5%,white) 100%)}.ec-course-card__body:after{content:"";position:absolute;left:23px;right:23px;bottom:0;height:2px;border-radius:999px;background:linear-gradient(90deg,var(--ec-course-accent),transparent);opacity:.7}.ec-course-card__body>p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.ec-course-card__meta{gap:7px;margin:16px 0 18px;padding-top:13px}.ec-course-card__meta span+span:before{display:none}.ec-course-card__cta{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:44px;margin-top:auto;padding:0 2px;color:var(--ec-blue-800);font-weight:700;text-decoration:none}.ec-course-card__cta .ec-icon{color:var(--ec-course-accent);transition:transform .18s ease}.ec-course-card__cta:hover .ec-icon{transform:translateX(4px)}

/* Catalog: filters become a true color vocabulary. */
.ec-catalog-shell{background:radial-gradient(circle at 92% 2%,rgba(205,162,44,.08),transparent 24%),linear-gradient(180deg,#fff 0%,var(--ec-bg) 44%,#fff 100%)}.ec-catalog-filters{align-items:center}.ec-filter-chip{position:relative;overflow:hidden}.ec-filter-chip:not(:first-child):before{content:"";width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:7px;background:var(--ec-area-accent,var(--ec-blue-800));vertical-align:.03em}.ec-filter-chip:not(:first-child).is-active{background:color-mix(in srgb,var(--ec-area-accent) 10%,white);color:color-mix(in srgb,var(--ec-area-accent) 84%,var(--ec-blue-950))}

/* Single course: the photography and area chroma behave as one composition. */
.ec-course-hero{position:relative;background:radial-gradient(circle at 82% 16%,color-mix(in srgb,var(--ec-course-accent) 30%,transparent),transparent 31%),radial-gradient(circle at 18% 92%,rgba(205,162,44,.10),transparent 28%),linear-gradient(132deg,var(--ec-blue-950) 0%,#052c52 56%,color-mix(in srgb,var(--ec-course-accent) 36%,#073e68) 100%)}.ec-course-hero:after{content:"";position:absolute;inset:auto -12% -62% auto;width:620px;height:620px;border:1px solid color-mix(in srgb,var(--ec-course-accent) 26%,rgba(255,255,255,.1));border-radius:50%;pointer-events:none}.ec-course-hero .ec-container{position:relative;z-index:1}.ec-course-area-badge{align-items:center;gap:7px;border-radius:999px;background:color-mix(in srgb,var(--ec-course-accent) 76%,var(--ec-blue-950));border:1px solid rgba(255,255,255,.22);box-shadow:0 5px 16px rgba(2,9,46,.14)}.ec-course-area-badge .ec-icon{width:1.1em;height:1.1em}.ec-course-hero__facts{gap:8px;margin:26px 0}.ec-course-fact-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.17);color:#eef6f8;backdrop-filter:blur(8px);font-size:.88rem}.ec-course-hero__media{position:relative;aspect-ratio:16/9;border:1px solid color-mix(in srgb,var(--ec-course-accent) 72%,rgba(255,255,255,.35));box-shadow:0 28px 80px rgba(0,0,0,.29),0 0 0 7px color-mix(in srgb,var(--ec-course-accent) 9%,transparent)}.ec-course-hero__media:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,color-mix(in srgb,var(--ec-course-accent) 12%,transparent),transparent 42%);pointer-events:none}.ec-course-hero__media img{position:relative;z-index:0}.ec-course-tabs a:hover{border-color:var(--ec-course-accent,var(--ec-gold-600))}
.ec-course-body{background:radial-gradient(circle at 8% 4%,color-mix(in srgb,var(--ec-course-accent) 6%,transparent),transparent 20%),var(--ec-bg)}.ec-course-content{box-shadow:0 10px 32px rgba(2,9,46,.045)}.ec-enrollment-card{position:relative;overflow:hidden}.ec-enrollment-card:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--ec-course-accent,var(--ec-gold-600))}.ec-course-taxonomy-card{position:relative;overflow:hidden;background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--ec-course-accent) 8%,white));border-color:color-mix(in srgb,var(--ec-course-accent) 22%,var(--ec-line))}.ec-course-taxonomy-card:before{content:"";position:absolute;right:-54px;top:-54px;width:116px;height:116px;border:1px solid color-mix(in srgb,var(--ec-course-accent) 18%,transparent);border-radius:50%}.ec-course-taxonomy-card dt{display:flex;align-items:center;gap:7px}.ec-course-taxonomy-card dt .ec-icon{width:1.05em;height:1.05em;color:var(--ec-course-accent)}.ec-course-taxonomy-card dd{display:flex;align-items:center;gap:8px}.ec-taxonomy-accent{width:9px;height:9px;border-radius:50%;background:var(--ec-course-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--ec-course-accent) 12%,transparent)}

/* Home: photos, gradients and semantic components work as one system. */
.ec-home-courses{position:relative;background:radial-gradient(circle at 8% 0%,rgba(11,77,122,.08),transparent 25%),radial-gradient(circle at 94% 92%,rgba(205,162,44,.10),transparent 24%),#fff}.ec-home-courses:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(2,53,100,.07) .8px,transparent .8px);background-size:24px 24px;mask-image:linear-gradient(to bottom,transparent,black 18%,black 82%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,black 18%,black 82%,transparent);pointer-events:none}.ec-home-courses>.ec-container{position:relative;z-index:1}
.ec-path-panel{position:relative;overflow:hidden;background:radial-gradient(circle at 94% 14%,color-mix(in srgb,var(--ec-gold-600) 12%,transparent),transparent 28%),linear-gradient(145deg,#fff,var(--ec-ivory));box-shadow:0 12px 36px rgba(2,9,46,.055)}.ec-path-panel:after{content:"";position:absolute;right:-72px;bottom:-86px;width:210px;height:210px;border:1px solid rgba(205,162,44,.18);border-radius:50%}.ec-path-panel__icon{position:relative;z-index:1;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;margin-bottom:20px;background:var(--ec-gold-100);color:var(--ec-warning);border:1px solid rgba(205,162,44,.24)}.ec-path-panel__icon .ec-icon{width:24px;height:24px}.ec-path-panel--dark{background:radial-gradient(circle at 88% 20%,rgba(205,162,44,.17),transparent 26%),linear-gradient(145deg,var(--ec-blue-950),#063b66)}.ec-path-panel--dark .ec-path-panel__icon{background:rgba(255,255,255,.08);color:var(--ec-gold-300);border-color:rgba(255,255,255,.14)}

/* Trail and formation pages: icons carry meaning; color creates family resemblance. */
.ec-path-card{isolation:isolate}.ec-path-card:after{content:"";position:absolute;z-index:-1;right:-54px;top:-54px;width:140px;height:140px;border-radius:50%;background:color-mix(in srgb,var(--ec-card-accent) 10%,transparent)}.ec-path-card__top{display:flex;align-items:center;gap:12px;margin-bottom:12px}.ec-path-card__top .ec-kicker{margin:0}.ec-path-card__icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--ec-card-accent) 14%,white);border:1px solid color-mix(in srgb,var(--ec-card-accent) 24%,var(--ec-line));color:var(--ec-card-accent)}.ec-path-card__icon .ec-icon{width:22px;height:22px}
.ec-formation-principle{position:relative;overflow:hidden;padding-top:28px}.ec-formation-principle__icon{width:46px;height:46px;display:grid;place-items:center;border-radius:13px;margin-bottom:16px;background:linear-gradient(145deg,var(--ec-gold-100),#fff);color:var(--ec-warning);border:1px solid rgba(205,162,44,.22)}.ec-formation-principle__icon .ec-icon{width:23px;height:23px}.ec-feature-band{position:relative;overflow:hidden;background:radial-gradient(circle at 88% 12%,rgba(205,162,44,.21),transparent 25%),linear-gradient(135deg,var(--ec-blue-950),#073D65)}.ec-feature-band:before{content:"";position:absolute;inset:auto -7% -86% auto;width:410px;height:410px;border:1px solid rgba(226,204,141,.18);border-radius:50%}.ec-feature-band>*{position:relative;z-index:1}

/* Responsive discipline */
@media(max-width:800px){.ec-course-card__body{padding:20px}.ec-course-card__body:after{left:20px;right:20px}.ec-course-hero__facts{gap:7px}.ec-course-fact-chip{font-size:.82rem}.ec-path-panel__icon{margin-bottom:16px}}
@media(max-width:520px){.ec-course-card__area{font-size:.69rem;left:12px;bottom:11px}.ec-semantic-chip{font-size:.76rem}.ec-course-hero__media{box-shadow:0 18px 44px rgba(0,0,0,.24),0 0 0 4px color-mix(in srgb,var(--ec-course-accent) 9%,transparent)}.ec-course-area-badge{font-size:.71rem}.ec-course-fact-chip{padding:6px 8px}.ec-path-card__top{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.ec-course-card,.ec-course-card__cta .ec-icon{transition:none!important}}


/* EC Theme 0.3.4 — Public Visual Blend
 * The photography remains natural. Curricular chroma enters as light, shadow,
 * edge and semantic support, matching the Experience System reference board.
 */
.ec-course-card__media img{
  filter:saturate(1.035) contrast(1.015);
}
.ec-course-card__media:before{
  background:
    linear-gradient(106deg,color-mix(in srgb,var(--ec-course-accent) 58%,transparent) 0%,color-mix(in srgb,var(--ec-course-accent) 24%,transparent) 38%,transparent 70%),
    linear-gradient(180deg,transparent 42%,rgba(2,9,46,.10) 68%,rgba(2,9,46,.70) 100%);
  mix-blend-mode:normal;
}
.ec-course-card__image-wash{
  right:-12%;top:-22%;width:64%;
  background:radial-gradient(circle,color-mix(in srgb,var(--ec-course-accent) 68%,transparent),transparent 69%);
  filter:blur(24px);opacity:.48;
}
.ec-course-card__body{
  background:
    radial-gradient(circle at 100% 0,color-mix(in srgb,var(--ec-course-accent) 10%,transparent),transparent 37%),
    linear-gradient(145deg,#fff 0%,color-mix(in srgb,var(--ec-course-accent) 6%,white) 100%);
}
.ec-course-card__area{
  background:linear-gradient(135deg,color-mix(in srgb,var(--ec-course-accent) 88%,var(--ec-blue-950)),color-mix(in srgb,var(--ec-course-accent) 64%,var(--ec-blue-950)));
}

.ec-course-hero__media{isolation:isolate;background:color-mix(in srgb,var(--ec-course-accent) 22%,var(--ec-blue-950))}
.ec-course-hero__media img{position:relative;z-index:0;filter:saturate(1.04) contrast(1.015)}
.ec-course-hero__media:before{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(102deg,color-mix(in srgb,var(--ec-course-accent) 72%,transparent) 0%,color-mix(in srgb,var(--ec-course-accent) 34%,transparent) 34%,transparent 66%),
    linear-gradient(180deg,transparent 62%,rgba(2,9,46,.20));
}
.ec-course-hero__media:after{
  content:"";position:absolute;z-index:1;pointer-events:none;
  width:48%;aspect-ratio:1;border-radius:50%;right:-18%;top:-26%;
  background:radial-gradient(circle,color-mix(in srgb,var(--ec-course-accent) 78%,transparent),transparent 68%);
  filter:blur(32px);opacity:.56;
}
.ec-course-taxonomy-card{
  background:
    radial-gradient(circle at 100% 0,color-mix(in srgb,var(--ec-course-accent) 10%,transparent),transparent 34%),
    linear-gradient(145deg,#fff,color-mix(in srgb,var(--ec-course-accent) 6%,white));
  border-color:color-mix(in srgb,var(--ec-course-accent) 24%,var(--ec-line));
}
.ec-enrollment-card{border-top:3px solid var(--ec-gold-500)}

/* Student Experience bridge: area chroma follows the SAME course art into the
 * authenticated area. State colors remain reserved for academic status. */
.ec-course-cover.ec-course-area-fundamentals{--ec-student-course-accent:#0B4D7A}
.ec-course-cover.ec-course-area-scripture{--ec-student-course-accent:#3C6367}
.ec-course-cover.ec-course-area-spiritual_maturity{--ec-student-course-accent:#6C7853}
.ec-course-cover.ec-course-area-theology{--ec-student-course-accent:#6B3F5C}
.ec-course-cover.ec-course-area-ministry{--ec-student-course-accent:#B65D3A}
.ec-course-cover.ec-course-area-leadership{--ec-student-course-accent:#5A6B9A}
.ec-course-cover.ec-course-area-missions{--ec-student-course-accent:#0A9396}
.ec-course-cover.ec-course-area-unclassified{--ec-student-course-accent:#0B4D7A}
.ec-course-cover.has-image::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(104deg,color-mix(in srgb,var(--ec-student-course-accent) 74%,transparent) 0%,color-mix(in srgb,var(--ec-student-course-accent) 34%,transparent) 42%,transparent 74%);
}
.ec-course-cover.has-image::after{
  background:linear-gradient(180deg,rgba(2,9,46,.02) 20%,rgba(2,9,46,.68) 100%)!important;
}
body.ec-student-dashboard-shell .ec-course-card:has(.ec-course-area-fundamentals){--ec-student-card-accent:#0B4D7A}
body.ec-student-dashboard-shell .ec-course-card:has(.ec-course-area-scripture){--ec-student-card-accent:#3C6367}
body.ec-student-dashboard-shell .ec-course-card:has(.ec-course-area-spiritual_maturity){--ec-student-card-accent:#6C7853}
body.ec-student-dashboard-shell .ec-course-card:has(.ec-course-area-theology){--ec-student-card-accent:#6B3F5C}
body.ec-student-dashboard-shell .ec-course-card:has(.ec-course-area-ministry){--ec-student-card-accent:#B65D3A}
body.ec-student-dashboard-shell .ec-course-card:has(.ec-course-area-leadership){--ec-student-card-accent:#5A6B9A}
body.ec-student-dashboard-shell .ec-course-card:has(.ec-course-area-missions){--ec-student-card-accent:#0A9396}
body.ec-student-dashboard-shell .ec-course-card:has(.ec-course-cover){
  border-color:color-mix(in srgb,var(--ec-student-card-accent,var(--ec-blue-700)) 20%,var(--ec-line));
  background:linear-gradient(155deg,#fff 0%,color-mix(in srgb,var(--ec-student-card-accent,var(--ec-blue-700)) 5%,white) 100%);
}
body.ec-student-dashboard-shell .ec-course-card:has(.ec-course-cover) .ec-course-progress>span{
  background:linear-gradient(90deg,var(--ec-student-card-accent,var(--ec-blue-700)),var(--ec-gold-500));
}
body.ec-student-dashboard-shell .ec-course-card:has(.ec-course-cover)::before{
  background:var(--ec-student-card-accent,var(--ec-blue-700));
}
body.ec-student-dashboard-shell .ec-course-card.ec-state-passed::before{background:#2C9367}
body.ec-student-dashboard-shell .ec-course-card.ec-state-completed_failed::before{background:var(--ec-gold-500)}

@media(max-width:620px){
  .ec-course-card__image-wash{opacity:.30}
  .ec-course-hero__media:after{opacity:.40}
}


/* 0.3.5 — Biblioteca semantic reading layer */
.ec-article-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:14px;color:var(--ec-muted);font-size:.92rem}.ec-article-meta span{display:inline-flex;align-items:center;gap:6px}.ec-answer-box,.ec-related-next,.ec-semantic-sequence{max-width:var(--ec-reading-max);margin:0 auto 28px;padding:20px 22px;border-radius:16px}.ec-answer-box{background:linear-gradient(145deg,color-mix(in srgb,var(--ec-blue-700) 8%,white),#fff);border:1px solid color-mix(in srgb,var(--ec-blue-700) 22%,var(--ec-line));box-shadow:0 8px 24px rgba(2,9,46,.045)}.ec-related-next{margin-top:34px;background:linear-gradient(145deg,var(--ec-ivory),color-mix(in srgb,var(--ec-gold-500) 10%,white));border:1px solid color-mix(in srgb,var(--ec-gold-500) 24%,var(--ec-line))}.ec-semantic-sequence{background:var(--ec-blue-950);color:#fff;border-left:4px solid var(--ec-gold-500)}.ec-content-shell .entry-content h2{margin-top:2.1em}.ec-content-shell .entry-content h3{margin-top:1.55em}.ec-content-shell .entry-content ul,.ec-content-shell .entry-content ol{padding-left:1.35em}.ec-content-shell .entry-content li+li{margin-top:.35em}
