/**
 * FIX13 ? precision visual + typography correction on top of FIX12.
 *
 * This file is intentionally component-scoped. It does not change Elementor
 * container geometry and does not target global page-builder containers.
 */

/* ==========================================================================
   ICM source typography tokens
   Source mapping: Tailwind text-xs/sm/base/lg/xl + medium/semibold weights.
   Persian UI uses the locally bundled Vazirmatn variable font.
   ========================================================================== */
:root {
  --icm-font-family: var(--icm-font-primary, "Vazirmatn", sans-serif);
  --icm-font-family-fa: var(--icm-font-primary, "Vazirmatn", sans-serif);
  --icm-text-xs: .75rem;      /* 12px */
  --icm-text-sm: .875rem;     /* 14px */
  --icm-text-base: 1rem;      /* 16px */
  --icm-text-lg: 1.125rem;    /* 18px */
  --icm-text-xl: 1.25rem;     /* 20px */
  --icm-text-2xl: 1.5rem;     /* 24px */
  --icm-text-3xl: 1.875rem;   /* 30px */
  --icm-text-4xl: 2.25rem;    /* 36px */
  --icm-text-5xl: 3rem;       /* 48px */
  --icm-text-6xl: 3.75rem;    /* 60px */
  --icm-weight-medium: 500;
  --icm-weight-semibold: 600;
  --icm-leading-normal: 1.5;
  --icm-leading-relaxed: 1.625;
  --icm-tracking-tight: -.025em;
  --icm-ui-navy: color-mix(in srgb, var(--icm-navy, #0D4778) 72%, #000);
  --icm-ui-navy-soft: color-mix(in srgb, var(--icm-navy, #0D4778) 58%, #000);
  --icm-ui-gold: var(--icm-gold, #8C845E);
}
html body :where(h1,h2,h3,h4,h5,h6,p,a,span,strong,small,label,button,input,textarea,select,option,li,td,th,blockquote,time):not(.dashicons):not([class^="eicon-"]):not([class*=" eicon-"]) {
  font-family: var(--icm-font-primary,"Vazirmatn",sans-serif) !important;
  font-synthesis: none;
}

:where(.icm-site-header,.icm-academy-hero,.icm-filterbar,.icm-section,.icm-articles-head,.icm-single-head,.icm-single-body,.icm-site-footer) {
  font-family: var(--icm-font-family);
}
html[dir="rtl"] :where(.icm-site-header,.icm-academy-hero,.icm-filterbar,.icm-section,.icm-articles-head,.icm-single-head,.icm-single-body,.icm-site-footer) {
  font-family: var(--icm-font-family-fa);
}

/* Source navigation / buttons / badges. Explicit Elementor typography remains
   able to win because these selectors are scoped and deliberately low-depth. */
.icm-main-nav a { font-size: var(--icm-text-sm); font-weight: var(--icm-weight-medium); }
.icm-header-btn { min-height: 36px; padding-inline: 16px; border-radius: 8px; font-size: var(--icm-text-sm); font-weight: var(--icm-weight-medium); }
.icm-btn { min-height: 44px; padding: 0 24px; border-radius: 8px; font-size: var(--icm-text-sm); font-weight: var(--icm-weight-medium); }
.icm-badge { min-height: 24px; padding: 4px 12px; border-radius: 999px; font-size: var(--icm-text-xs); font-weight: var(--icm-weight-medium); line-height: 1.25; }
.icm-section-title h2 { font-size: var(--icm-text-2xl); line-height: 1.35; font-weight: var(--icm-weight-semibold); letter-spacing: var(--icm-tracking-tight); }
.icm-section-title a { font-size: var(--icm-text-sm); font-weight: var(--icm-weight-medium); }

/* Academy hero uses source-responsive heading scale without changing layout. */
.icm-academy-copy h1 { font-size: var(--icm-text-4xl); line-height: 1.12; font-weight: var(--icm-weight-semibold); letter-spacing: var(--icm-tracking-tight); }
.icm-academy-copy h2 { font-size: var(--icm-text-xl); line-height: var(--icm-leading-normal); font-weight: var(--icm-weight-semibold); }
.icm-academy-copy > p { font-size: var(--icm-text-sm); line-height: var(--icm-leading-relaxed); }
.icm-search input { font-size: var(--icm-text-sm); }
.icm-stats strong { font-size: var(--icm-text-lg); font-weight: var(--icm-weight-semibold); }
.icm-stats span { font-size: var(--icm-text-xs); }

@media (min-width: 768px) {
  .icm-academy-copy h1 { font-size: var(--icm-text-5xl); }
}
@media (min-width: 1440px) {
  .icm-academy-copy h1 { font-size: var(--icm-text-6xl); }
}

/* ==========================================================================
   Sticky header ? FIX10 geometry stays locked; only shadow changes on scroll.
   ========================================================================== */
.icm-site-header.is-sticky { transition: box-shadow .18s ease; }
.icm-site-header.is-sticky.is-scrolled { box-shadow: 0 7px 20px rgba(0,27,48,.12); }
.icm-site-header.is-sticky.is-scrolled .icm-header-inner,
.icm-site-header.is-sticky.is-scrolled .icm-logo-image,
.icm-site-header.is-sticky.is-scrolled .custom-logo,
.icm-site-header.is-sticky.is-scrolled .icm-main-nav a {
  transform: none;
}

/* ==========================================================================
   Academy selected articles ? FIX14 reference-locked compact cards.
   Fade is MEDIA-ONLY: no decorative layer is allowed above title/metadata.
   ========================================================================== */
.icm-section--selected .icm-section-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
.icm-section--selected .icm-selected-row {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.icm-section--selected .icm-selected-row::-webkit-scrollbar { display: none; }
.icm-section--selected .icm-selected-card {
  flex: 0 0 calc((100% - (var(--icm-selected-columns, 3) - 1) * var(--icm-selected-gap, 16px)) / var(--icm-selected-columns, 3));
  min-width: 0;
  height: 152px;
  scroll-snap-align: start;
  border: 1px solid #dfe6eb;
  border-radius: 10px;
  background: var(--icm-selected-card-bg, #fff);
  overflow: hidden;
  box-shadow: none;
}
.icm-section--selected .icm-selected-card__link {
  --icm-selected-text-width: 57fr;
  --icm-selected-image-width: 43fr;
  --icm-selected-fade-width: 48px;
  --icm-selected-fade-opacity: 1;
  --icm-selected-fade-color: var(--icm-selected-card-bg, #fff);
  --icm-selected-fade-into: 25%;
  --icm-selected-fade-soft: 58;
  --icm-selected-fade-direction: 90deg;
  position: relative;
  display: grid;
  grid-template-columns: minmax(0,var(--icm-selected-text-width,57fr)) minmax(0,var(--icm-selected-image-width,43fr));
  width: 100%;
  height: 100%;
  direction: ltr;
  isolation: isolate;
  color: inherit;
  text-decoration: none;
}
/* Explicitly remove all legacy link/text fades that crossed into the content. */
.icm-section--selected .icm-selected-card__link::before,
.icm-section--selected .icm-selected-card__link::after,
.icm-section--selected .icm-selected-card__text::before,
.icm-section--selected .icm-selected-card__text::after {
  content: none;
  display: none;
}
.icm-section--selected .icm-selected-card__text {
  position: relative;
  z-index: 4;
  direction: rtl;
  min-width: 0;
  padding: 13px 14px 11px;
  background: var(--icm-selected-card-bg, #fff);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  overflow: hidden;
}
.icm-section--selected .icm-selected-card__image {
  position: relative;
  z-index: 1;
  min-width: 0;
  height: 100%;
  overflow: hidden;
  background: var(--icm-selected-card-bg, #fff);
}
.icm-section--selected .icm-selected-card__image img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  object-position: center;
}
/* The white transition lives only inside the image box, at its content-facing edge. */
.icm-section--selected .icm-selected-card__image::before {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0 auto 0 0;
  width: min(var(--icm-selected-fade-width), var(--icm-selected-fade-into, 58%));
  background: linear-gradient(90deg,#fff 0%,rgba(255,255,255,.92) 18%,rgba(255,255,255,.58) 52%,rgba(255,255,255,0) 100%);
  background: linear-gradient(
    var(--icm-selected-fade-direction, 90deg),
    var(--icm-selected-fade-color, #fff) 0%,
    color-mix(in srgb, var(--icm-selected-fade-color, #fff) 92%, transparent) 18%,
    color-mix(in srgb, var(--icm-selected-fade-color, #fff) calc(var(--icm-selected-fade-soft, 58) * 1%), transparent) 52%,
    transparent 100%
  );
  opacity: var(--icm-selected-fade-opacity, 1);
  pointer-events: none;
}
.icm-section--selected .icm-selected-card__image::after { content: none; display: none; }
.icm-section--selected .icm-selected-card h3 {
  min-height: 0;
  margin: 8px 0 5px;
  color: #0b3153;
  font-size: var(--icm-text-sm);
  line-height: 1.62;
  font-weight: var(--icm-weight-semibold);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
}
.icm-section--selected .icm-card-meta {
  width: 100%;
  margin-top: auto;
  padding-top: 7px;
  border-top: 1px solid #edf1f4;
  display: flex;
  justify-content: space-between;
  gap: 8px;
  color: #708393;
  font-size: var(--icm-text-xs);
  line-height: 1.35;
  white-space: nowrap;
}
.icm-section--selected .icm-badge {
  align-self: flex-start;
  padding: 4px 10px;
  border-radius: 5px;
  background: #0d4778;
  color: #fff;
  font-size: var(--icm-text-xs);
  line-height: 1.2;
}
.icm-section--selected .icm-selected-card__arrow { display: none; }

/* ==========================================================================
   Popular guides ? reference geometry + Elementor-controlled variables.
   Horizontal rail preserves the eight-card desktop density and supports
   responsive cards-per-view without changing unrelated Elementor containers.
   ========================================================================== */
.icm-section--guides {
  --icm-guide-gap: 12px;
  background: transparent;
  padding-top: 8px;
  padding-bottom: 14px;
}
.icm-section--guides .icm-section-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 10px;
}
.icm-guide-slider {
  position: relative;
  min-width: 0;
}
.icm-guide-row {
  --icm-guide-columns: 8;
  display: flex;
  gap: var(--icm-guide-gap);
  width: 100%;
  min-width: 0;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding: 0;
}
.icm-guide-row::-webkit-scrollbar { display: none; }
.icm-guide-card {
  --icm-guide-icon-size: 44px;
  flex: 0 0 calc((100% - (var(--icm-guide-columns) - 1) * var(--icm-guide-gap)) / var(--icm-guide-columns));
  min-width: 0;
  height: 104px;
  min-height: 104px;
  border: 1px solid #e1e7ec;
  border-radius: 8px;
  background: #fff;
  padding: 8px 6px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #173a58;
  text-decoration: none;
  scroll-snap-align: start;
  transition: transform .18s ease,border-color .18s ease,background-color .18s ease,box-shadow .18s ease;
}
.icm-guide-card:hover {
  transform: translateY(-2px);
  border-color: #c9b26b;
  background: #fff;
  box-shadow: 0 6px 16px rgba(13,71,120,.055);
}
.icm-guide-card__icon {
  width: var(--icm-guide-icon-size);
  height: var(--icm-guide-icon-size);
  flex: 0 0 var(--icm-guide-icon-size);
  display: grid;
  place-items: center;
  margin: 0 auto 5px;
  color: #0d3155;
}
.icm-guide-card__icon img,
.icm-guide-card__icon svg {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.icm-guide-card__icon i { font-size: var(--icm-guide-icon-size); line-height: 1; }
.icm-guide-card strong {
  display: block;
  color: #173a58;
  font-size: var(--icm-text-xs);
  line-height: 1.45;
  font-weight: var(--icm-weight-medium);
}
.icm-guide-card small {
  display: block;
  margin-top: 1px;
  color: #667b8c;
  font-size: 10px;
  line-height: 1.35;
}
.icm-guide-nav {
  position: absolute;
  top: 50%;
  z-index: 8;
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid #d9e1e7;
  border-radius: 50%;
  background: #fff;
  color: #0b3153;
  box-shadow: 0 4px 12px rgba(13,71,120,.08);
  transform: translateY(-50%);
  cursor: pointer;
}
.icm-guide-nav[disabled] { opacity: .35; cursor: default; }
.icm-guide-nav svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.icm-guide-slider--nav-outside .icm-guide-nav--right { right: -17px; left: auto; }
.icm-guide-slider--nav-outside .icm-guide-nav--left { left: -17px; right: auto; }
.icm-guide-slider--nav-inside .icm-guide-nav--right { right: 7px; left: auto; }
.icm-guide-slider--nav-inside .icm-guide-nav--left { left: 7px; right: auto; }

/* ==========================================================================
   Archive/article cards ? dynamic WP content, source typography, reference UI.
   ========================================================================== */
.icm-section--articles-grid .icm-article-card {
  min-height: 0;
  border: 1px solid #dfe6eb;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 3px 12px rgba(13,71,120,.035);
}
.icm-section--articles-grid .icm-article-card__image { height: auto; flex: 0 0 auto; aspect-ratio: 16/9; background: #eef2f5; }
.icm-section--articles-grid .icm-article-card__image::after { display: none; }
.icm-section--articles-grid .icm-article-card__image img { width: 100%; height: 100%; object-fit: contain; object-position: center; }
.icm-section--articles-grid .icm-article-card__badge {
  top: 10px;
  inset-inline-end: 10px;
  padding: 4px 12px;
  border-radius: 999px;
  background: var(--icm-ui-gold);
  color: #fff;
  font-size: var(--icm-text-xs);
  font-weight: var(--icm-weight-medium);
}
.icm-section--articles-grid .icm-article-card__body { margin-top: 0; padding: 14px 16px 14px; background: #fff; }
.icm-section--articles-grid .icm-article-card__body h3 { margin: 0 0 7px; color: #0b3153; font-size: var(--icm-text-lg); font-weight: var(--icm-weight-semibold); line-height: 1.45; }
.icm-section--articles-grid .icm-article-card__body p { margin: 0 0 10px; color: #5e7181; font-size: var(--icm-text-sm); line-height: var(--icm-leading-relaxed); }
.icm-section--articles-grid .icm-article-card__footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; margin-top: auto; padding-top: 10px; border-top: 1px solid #edf1f4; }
.icm-section--articles-grid .icm-article-card__footer .icm-card-meta { width: auto; margin: 0; padding: 0; border: 0; color: #758694; font-size: var(--icm-text-xs); white-space: nowrap; }
.icm-article-card__arrow { display: grid; place-items: center; flex: 0 0 30px; width: 30px; height: 30px; border-radius: 50%; background: #002b4d; color: #fff; font-size: var(--icm-text-lg); transition: transform .18s ease,background-color .18s ease; }
.icm-article-card:hover .icm-article-card__arrow { transform: translateX(-2px); background: #0d4778; }

/* ==========================================================================
   Shared premium Featured Banner visual system.
   Academy banner + archive featured + single article featured slider share it.
   ========================================================================== */
.icm-featured-banner {
  --icm-featured-content-bg: #001f39;
  --icm-featured-fade-color: var(--icm-featured-content-bg);
  --icm-featured-fade-width: 180px;
  --icm-featured-fade-strength: 1;
  --icm-featured-banner-height: 240px;
  overflow: hidden;
  border-radius: 10px;
  background: var(--icm-featured-content-bg);
  color: #fff;
}
.icm-featured-banner__media { position: relative; overflow: hidden; min-width: 0; background: var(--icm-featured-content-bg); }
.icm-featured-banner__media img { width: 100%; height: 100%; object-fit: contain; object-position: center; display: block; }
.icm-featured-banner__media::after {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  bottom: 0;
  width: min(var(--icm-featured-fade-width),72%);
  opacity: var(--icm-featured-fade-strength);
  pointer-events: none;
}
.icm-featured-banner__content {
  position: relative;
  z-index: 3;
  min-width: 0;
  background: var(--icm-featured-content-bg);
  color: #fff;
}
.icm-featured-banner__content h2,
.icm-featured-banner__content h3 { color: #fff; font-weight: var(--icm-weight-semibold); letter-spacing: var(--icm-tracking-tight); }
.icm-featured-banner__content p { color: rgba(255,255,255,.84); font-size: var(--icm-text-sm); line-height: var(--icm-leading-relaxed); }

/* Academy featured: reference default is IMAGE LEFT + CONTENT RIGHT.
   The gradient exists only inside the media edge; content stays 100% solid. */
.icm-featured-banner--academy {
  --icm-feature-banner-height: 270px;
  --icm-feature-image-width: 50%;
  display: grid;
  grid-template-columns: 50% 50%;
  min-height: 270px;
  height: auto;
  direction: ltr;
  background: #001D36;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 29, 54, 0.15);
}
.icm-featured-banner--academy .icm-featured-banner__media {
  order: 1;
  min-height: 270px;
  height: 100%;
  width: 100%;
  max-width: 100%;
  min-width: 100%;
  position: relative;
  overflow: hidden;
  background: #001D36;
}
.icm-featured-banner--academy .icm-featured-banner__media img {
  width: 100%;
  height: 100%;
  object-fit: cover !important;
  object-position: center;
  display: block;
}
.icm-featured-banner--academy .icm-featured-banner__media::before {
  content: none;
  display: none;
}
.icm-featured-banner--academy .icm-featured-banner__media::after {
  content: "";
  display: block;
  position: absolute;
  z-index: 2;
  inset: 0;
  top: 0;
  bottom: 0;
  left: 0;
  right: -4px;
  width: calc(100% + 4px);
  height: 100%;
  background: linear-gradient(270deg, #001D36 0%, #001D36 2%, rgba(0, 29, 54, 0.98) 4%, rgba(0, 29, 54, 0.90) 7%, rgba(0, 29, 54, 0.76) 10%, rgba(0, 29, 54, 0.56) 13%, rgba(0, 29, 54, 0.35) 16%, rgba(0, 29, 54, 0.16) 18%, rgba(0, 29, 54, 0.04) 20%, transparent 22%, transparent 100%);
  pointer-events: none;
}
.icm-featured-banner--academy .icm-featured-banner__content {
  order: 2;
  min-width: 0;
  width: 100%;
  max-width: 100%;
  flex: 1 1 auto;
  height: 100%;
  min-height: 270px;
  padding: 40px 48px;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  gap: 12px !important;
  background: #001D36;
  direction: rtl;
  text-align: right;
  box-sizing: border-box;
}
.icm-featured-banner--academy .icm-featured-banner__text-wrap {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  text-align: right !important;
  direction: rtl !important;
  width: 100% !important;
  gap: 8px !important;
  margin: 0 !important;
}
.icm-featured-banner--academy .icm-badge {
  margin: 0 0 4px 0 !important;
  font-size: 12px !important;
  padding: 4px 14px !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
  display: inline-block !important;
  width: fit-content !important;
  background-color: #8c7a4b !important;
  color: #ffffff !important;
}
.icm-featured-banner--academy .icm-featured-banner__content h2,
.icm-featured-banner--academy .icm-feature-banner__title {
  margin: 0 !important;
  font-size: 24px !important;
  font-weight: 800 !important;
  line-height: 1.4 !important;
  color: #fff !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  max-width: 100% !important;
  text-align: right !important;
  direction: rtl !important;
  width: 100% !important;
}
.icm-featured-banner--academy .icm-featured-banner__content p,
.icm-featured-banner--academy .icm-feature-banner__description {
  margin: 0 !important;
  font-size: 13.5px !important;
  color: rgba(255,255,255,.85) !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  max-width: 520px !important;
  width: 100% !important;
  line-height: 1.7 !important;
  text-align: right !important;
  direction: rtl !important;
}
.icm-featured-banner--academy .icm-featured-banner__action {
  display: flex !important;
  align-items: center !important;
  align-self: flex-start !important;
  margin-top: 8px !important;
  flex-shrink: 0 !important;
  z-index: 4 !important;
}
.icm-featured-banner--academy .icm-btn {
  white-space: nowrap !important;
  padding: 10px 26px !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  border-radius: 8px !important;
  background-color: #8c7a4b !important;
  color: #ffffff !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 42px !important;
  box-sizing: border-box !important;
  transition: background 0.2s ease, transform 0.2s ease !important;
}
.icm-featured-banner--academy .icm-btn:hover {
  background-color: #a38f58 !important;
  transform: translateY(-1px) !important;
}
.icm-featured-banner--academy.icm-featured-banner--content-left {
  grid-template-columns: minmax(0,calc(100% - var(--icm-feature-image-width))) minmax(0,var(--icm-feature-image-width));
}
.icm-featured-banner--academy.icm-featured-banner--content-left .icm-featured-banner__media { order: 2; }
.icm-featured-banner--academy.icm-featured-banner--content-left .icm-featured-banner__content { order: 1; }
.icm-featured-banner--academy.icm-featured-banner--content-left .icm-featured-banner__media::after {
  inset: 0 auto 0 0;
  background: linear-gradient(
    to left,
    transparent 0%,
    color-mix(in srgb,var(--icm-featured-fade-color) 35%,transparent) 40%,
    color-mix(in srgb,var(--icm-featured-fade-color) 80%,transparent) 75%,
    var(--icm-featured-fade-color) 100%
  );
}

/* LTR Support for Feature Banner */
html[dir="ltr"] .icm-featured-banner--academy,
body.ltr .icm-featured-banner--academy,
[dir="ltr"] .icm-featured-banner--academy {
  direction: ltr !important;
  grid-template-columns: minmax(0,calc(100% - var(--icm-feature-image-width))) minmax(0,var(--icm-feature-image-width)) !important;
}
html[dir="ltr"] .icm-featured-banner--academy .icm-featured-banner__content,
body.ltr .icm-featured-banner--academy .icm-featured-banner__content,
[dir="ltr"] .icm-featured-banner--academy .icm-featured-banner__content {
  order: 1 !important;
  direction: ltr !important;
  text-align: left !important;
}
html[dir="ltr"] .icm-featured-banner--academy .icm-featured-banner__media,
body.ltr .icm-featured-banner--academy .icm-featured-banner__media,
[dir="ltr"] .icm-featured-banner--academy .icm-featured-banner__media {
  order: 2 !important;
}
html[dir="ltr"] .icm-featured-banner--academy .icm-featured-banner__text-wrap,
body.ltr .icm-featured-banner--academy .icm-featured-banner__text-wrap,
[dir="ltr"] .icm-featured-banner--academy .icm-featured-banner__text-wrap {
  align-items: flex-start !important;
  text-align: left !important;
  direction: ltr !important;
}
html[dir="ltr"] .icm-featured-banner--academy .icm-featured-banner__content h2,
html[dir="ltr"] .icm-featured-banner--academy .icm-feature-banner__title,
body.ltr .icm-featured-banner--academy .icm-feature-banner__title {
  text-align: left !important;
  direction: ltr !important;
}
html[dir="ltr"] .icm-featured-banner--academy .icm-featured-banner__content p,
html[dir="ltr"] .icm-featured-banner--academy .icm-feature-banner__description,
body.ltr .icm-featured-banner--academy .icm-feature-banner__description {
  text-align: left !important;
  direction: ltr !important;
}
html[dir="ltr"] .icm-featured-banner--academy .icm-featured-banner__media::after,
body.ltr .icm-featured-banner--academy .icm-featured-banner__media::after,
[dir="ltr"] .icm-featured-banner--academy .icm-featured-banner__media::after {
  inset: 0 auto 0 0 !important;
  background: linear-gradient(
    to left,
    transparent 0%,
    color-mix(in srgb,var(--icm-featured-fade-color) 35%,transparent) 40%,
    color-mix(in srgb,var(--icm-featured-fade-color) 80%,transparent) 75%,
    var(--icm-featured-fade-color) 100%
  ) !important;
}

/* Articles-page featured banner: content left, image right. */
.icm-featured-banner--archive .icm-archive-feature__link {
  display: grid;
  grid-template-columns: minmax(0,48%) minmax(0,52%);
  min-height: 330px;
  direction: ltr;
  background: var(--icm-featured-content-bg);
}
.icm-featured-banner--archive .icm-featured-banner__content { order: 1; direction: rtl; padding: 30px 28px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
.icm-featured-banner--archive .icm-featured-banner__media { order: 2; direction: rtl; min-height: 330px; }
.icm-featured-banner--archive .icm-featured-banner__media::before { display: none; }
.icm-featured-banner--archive .icm-featured-banner__media::after { left: 0; right: auto; background: linear-gradient(90deg,var(--icm-featured-fade-color) 0%,color-mix(in srgb,var(--icm-featured-fade-color) 55%,transparent) 42%,transparent 100%); }
.icm-featured-banner--archive .icm-archive-feature__copy h2 { margin: 12px 0 8px; font-size: var(--icm-text-3xl); line-height: 1.35; }
.icm-featured-banner--archive .icm-archive-feature__copy p { font-size: var(--icm-text-sm); line-height: var(--icm-leading-relaxed); }

/* Single-article selected/featured slider: responsive cards per viewport. */
.icm-featured-articles-slider .icm-related-rail { display: flex; gap: var(--icm-related-gap,14px); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.icm-featured-articles-slider .icm-related-rail::-webkit-scrollbar { display: none; }
.icm-featured-articles-slider .icm-related-item { flex: 0 0 calc((100% - (var(--icm-related-visible,3) - 1)*var(--icm-related-gap,14px))/var(--icm-related-visible,3)); min-width: 0; scroll-snap-align: start; }
@media (max-width: 1023px) {
  .icm-featured-articles-slider .icm-related-rail { --icm-related-visible: var(--icm-related-visible-tablet, 2); }
}
@media (max-width: 767px) {
  .icm-featured-articles-slider .icm-related-rail { --icm-related-visible: var(--icm-related-visible-mobile, 1); }
}
.icm-featured-banner--article-slider { height: var(--icm-featured-banner-height); min-height: 220px; }
.icm-featured-banner--article-slider .icm-featured-banner__link { display: grid; grid-template-columns: minmax(0,56%) minmax(0,44%); height: 100%; min-height: inherit; direction: ltr; }
.icm-featured-banner--article-slider .icm-featured-banner__media { order: 1; direction: rtl; min-height: 100%; }
.icm-featured-banner--article-slider .icm-featured-banner__content { order: 2; direction: rtl; padding: 24px 30px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.icm-featured-banner--article-slider .icm-featured-banner__media::before {
  content: "";
  display: block;
  position: absolute;
  z-index: 2;
  inset: 0 auto 0 0;
  left: 0;
  right: auto;
  width: min(var(--icm-featured-fade-width),42%);
  opacity: var(--icm-featured-fade-strength);
  background: linear-gradient(90deg,var(--icm-featured-fade-color) 0%,color-mix(in srgb,var(--icm-featured-fade-color) 28%,transparent) 58%,transparent 100%);
  pointer-events: none;
}
.icm-featured-banner--article-slider .icm-featured-banner__media::after { right: 0; background: linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--icm-featured-fade-color) 28%,transparent) 42%,var(--icm-featured-fade-color) 100%); }
.icm-featured-banner--article-slider h3 { margin: 9px 0 6px; font-size: var(--icm-text-2xl); line-height: 1.4; }
.icm-featured-banner--article-slider p { margin: 0 0 10px; }
.icm-featured-banner__meta { display: flex; flex-wrap: wrap; gap: 8px 14px; margin-top: 3px; color: rgba(255,255,255,.72); font-size: var(--icm-text-xs); }
.icm-featured-banner__cta { display: inline-flex; align-items: center; gap: 7px; margin-top: 12px; color: #fff; font-size: var(--icm-text-sm); font-weight: var(--icm-weight-medium); }
.icm-related-controls { display: flex; gap: 7px; }
.icm-related-controls button { width: 36px; height: 36px; border: 1px solid #d9e1e7; border-radius: 50%; background: #fff; color: #002b4d; display: grid; place-items: center; font-size: var(--icm-text-xl); cursor: pointer; }

/* ==========================================================================
   Wide bottom CTA ? component-only width correction, no Elementor container reset.
   ========================================================================== */
.icm-final-cta > .icm-container,
.icm-single-final-cta .icm-final-cta > .icm-container {
  width: min(var(--icm-container,1200px),calc(100% - 64px));
  max-width: var(--icm-container,1200px);
}
.icm-final-cta__inner { min-height: 88px; border-radius: 10px; }
.icm-final-cta h2 { font-size: var(--icm-text-2xl); font-weight: var(--icm-weight-semibold); line-height: 1.35; }
.icm-final-cta p { font-size: var(--icm-text-sm); line-height: var(--icm-leading-relaxed); }

/* ==========================================================================
   Webinar image blending ? FIX14 TRUE TWO-SIDED edge fade.
   Presentation only: no Webinar data/query/status logic is touched.
   ========================================================================== */
.icm-section--webinar-upcoming .icm-webinar-slide,
.icm-section--webinar-replays .icm-webinar-slide,
.icm-fix12-past-webinars .icm-webinar-slide--past {
  --icm-webinar-fade-left: 94px;
  --icm-webinar-fade-right: 94px;
  --icm-webinar-fade-color: #002b4d;
}
.icm-section--webinar-upcoming .icm-webinar-slide__image,
.icm-section--webinar-replays .icm-webinar-slide__image,
.icm-fix12-past-webinars .icm-webinar-slide__image {
  position: relative;
  overflow: hidden;
  background: var(--icm-webinar-fade-color);
  isolation: isolate;
}
.icm-section--webinar-upcoming .icm-webinar-slide__image img,
.icm-section--webinar-replays .icm-webinar-slide__image img,
.icm-fix12-past-webinars .icm-webinar-slide__image img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.icm-section--webinar-upcoming .icm-webinar-slide__image::before,
.icm-section--webinar-replays .icm-webinar-slide__image::before,
.icm-fix12-past-webinars .icm-webinar-slide__image::before {
  content: "";
  display: block;
  position: absolute;
  z-index: 2;
  inset: 0 auto 0 0;
  width: min(var(--icm-webinar-fade-left),42%);
  background: linear-gradient(90deg,var(--icm-webinar-fade-color) 0%,color-mix(in srgb,var(--icm-webinar-fade-color) 62%,transparent) 36%,transparent 100%);
  pointer-events: none;
}
.icm-section--webinar-upcoming .icm-webinar-slide__image::after,
.icm-section--webinar-replays .icm-webinar-slide__image::after,
.icm-fix12-past-webinars .icm-webinar-slide__image::after {
  content: "";
  display: block;
  position: absolute;
  z-index: 2;
  inset: 0 0 0 auto;
  width: min(var(--icm-webinar-fade-right),42%);
  background: linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--icm-webinar-fade-color) 62%,transparent) 64%,var(--icm-webinar-fade-color) 100%);
  pointer-events: none;
}
.icm-section--webinar-upcoming .icm-webinar-slide__image .icm-live,
.icm-section--webinar-replays .icm-webinar-slide__image .icm-live,
.icm-fix12-past-webinars .icm-webinar-slide__image .icm-live { z-index: 4; }
.icm-webinar-slide__main h3 { font-size: var(--icm-text-lg); font-weight: var(--icm-weight-semibold); line-height: 1.45; }
.icm-webinar-slide__excerpt,.icm-instructor,.icm-webinar-slide__time { font-size: var(--icm-text-xs); line-height: var(--icm-leading-relaxed); }
.icm-webinar-nav { font-family: var(--icm-font-family); }
.icm-slider-arrow--right { right: -20px; left: auto; }
.icm-slider-arrow--left { left: -20px; right: auto; }
.icm-slider-arrow--right svg,
.icm-slider-arrow--left svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
  transform: none ;
}

/* Physical navigation remains physical in RTL; no logical next/prev CSS mapping. */
.icm-section--webinar-upcoming .icm-slider-arrow--right,
.icm-section--webinar-replays .icm-slider-arrow--right,
.icm-fix12-past-webinars .icm-slider-arrow--right { right: -20px; left: auto; }
.icm-section--webinar-upcoming .icm-slider-arrow--left,
.icm-section--webinar-replays .icm-slider-arrow--left,
.icm-fix12-past-webinars .icm-slider-arrow--left { left: -20px; right: auto; }


/* Direction cue for the native Webinar slider. It is intentionally subtle:
   RIGHT control enters from left -> visible movement right; LEFT is opposite. */
@keyframes icmWebinarEnterFromLeft {
  from { opacity: 0; transform: translateX(-16px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes icmWebinarEnterFromRight {
  from { opacity: 0; transform: translateX(16px); }
  to { opacity: 1; transform: translateX(0); }
}
.icm-webinar-slide.icm-webinar-slide--enter-left { animation: icmWebinarEnterFromLeft .28s ease both; }
.icm-webinar-slide.icm-webinar-slide--enter-right { animation: icmWebinarEnterFromRight .28s ease both; }

/* Past webinars preserve FIX12 server-first / progressive enhancement behavior. */
.icm-completed-webinars.icm-fix12-past-webinars,
.icm-fix12-past-webinars {
  padding: 10px 0 14px !important;
  background: transparent;
}
.icm-fix12-past-webinars .icm-completed-webinars__heading { margin-bottom: 10px; }
.icm-past-webinars-shell { position: relative; overflow: visible; padding-bottom: 0 !important; margin-bottom: 0 !important; }
.icm-past-webinars-swiper { border-radius: 10px; height: auto !important; min-height: 0 !important; margin: 0 !important; }
@media (min-width: 1025px) {
  .icm-fix12-past-webinars .icm-past-webinars-swiper { overflow: hidden; }
}
@media (max-width: 1024px) {
  .icm-fix12-past-webinars .icm-past-webinars-swiper,
  .elementor-widget-icm_academy_completed_webinar_banners .icm-past-webinars-swiper {
    overflow-x: hidden !important;
    overflow-y: visible !important;
  }
  .icm-fix12-past-webinars .icm-past-webinars-swiper .swiper-wrapper,
  .elementor-widget-icm_academy_completed_webinar_banners .icm-past-webinars-swiper .swiper-wrapper {
    align-items: flex-start !important;
    height: auto !important;
    min-height: 0 !important;
  }
  .icm-fix12-past-webinars .icm-past-webinars-swiper .swiper-slide,
  .elementor-widget-icm_academy_completed_webinar_banners .icm-past-webinars-swiper .swiper-slide {
    height: auto !important;
    min-height: 0 !important;
    align-self: flex-start !important;
  }
}
.icm-past-webinars-swiper .swiper-wrapper { height: auto !important; min-height: 0 !important; align-items: stretch; }
/* Until JS enhances: show ONLY the first slide so mobile/tablet never grows a tall blank stack. */
.icm-past-webinars-swiper:not(.is-icm-ready):not(.swiper-initialized) .swiper-wrapper {
  display: block !important;
  gap: 0 !important;
  transform: none !important;
}
.icm-past-webinars-swiper:not(.is-icm-ready):not(.swiper-initialized) .swiper-slide {
  width: 100% !important;
  margin: 0 !important;
  height: auto !important;
}
.icm-past-webinars-swiper:not(.is-icm-ready):not(.swiper-initialized) .swiper-slide:not(:first-child) {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
  position: absolute !important;
  pointer-events: none !important;
}
.icm-fix12-past-webinars .swiper-slide { height: auto !important; min-height: 0 !important; }
.icm-past-webinars-static { display: grid; gap: 12px; margin: 0; padding: 0; }
.icm-fix12-past-webinars .icm-past-webinar-card,
.icm-fix12-past-webinars .icm-webinar-slide--past {
  --icm-webinar-image-width: 31%;
  --icm-webinar-fade-width: 140px;
  --icm-webinar-fade-color: #002b4d;
  position: relative !important;
  inset: auto !important;
  color: #fff;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
}
@media (min-width: 1025px) {
  .icm-fix12-past-webinars .icm-past-webinar-card,
  .icm-fix12-past-webinars .icm-webinar-slide--past {
    display: grid;
    grid-template-columns: minmax(250px,var(--icm-webinar-image-width)) minmax(260px,1fr) 150px auto;
    align-items: center;
    gap: 16px;
    min-height: 112px;
    height: auto;
    padding: 0 16px;
    border-radius: 10px;
    background: var(--icm-webinar-fade-color);
    direction: ltr;
  }
  .icm-fix12-past-webinars .icm-past-webinar-card > *,
  .icm-fix12-past-webinars .icm-webinar-slide--past > * { direction: rtl; }
  .icm-fix12-past-webinars .icm-past-webinar-card .icm-webinar-slide__image,
  .icm-fix12-past-webinars .icm-webinar-slide--past .icm-webinar-slide__image { height: 112px; min-height: 112px; margin-inline: -16px 0; }
}
.icm-fix12-past-webinars .icm-webinar-slide__main { min-width: 0; padding: 10px 4px; }
.icm-fix12-past-webinars .icm-webinar-slide__main h3 { margin: 0 0 6px; color: #fff; font-size: var(--icm-text-lg); line-height: 1.45; font-weight: var(--icm-weight-semibold); }
.icm-fix12-past-webinars .icm-webinar-slide__excerpt { margin: 0 0 6px; color: rgba(255,255,255,.78); font-size: var(--icm-text-xs); line-height: var(--icm-leading-relaxed); }
.icm-fix12-past-webinars .icm-webinar-slide__past-meta { display: grid; gap: 5px; padding-inline: 16px; border-inline: 1px solid rgba(255,255,255,.17); color: rgba(255,255,255,.82); font-size: var(--icm-text-xs); line-height: var(--icm-leading-relaxed); text-align: center; }
.icm-fix12-past-webinars .icm-webinar-slide__past-meta strong { color: #fff; font-size: var(--icm-text-sm); font-weight: var(--icm-weight-medium); }
.icm-fix12-past-webinars .icm-webinar-slide__past-cta { justify-self: end; min-width: 126px; margin: 0; white-space: nowrap; }
.icm-fix12-past-webinars .icm-webinar-slide--past .icm-countdown,
.icm-fix12-past-webinars .icm-webinar-slide--past .icm-webinar-slide__time { display: none ; }
.icm-fix12-past-webinars .icm-live--completed { background: var(--icm-ui-gold); color: #fff; }
.icm-fix12-past-webinars .icm-past-webinars__right,
.icm-fix12-past-webinars .icm-past-webinars__left { width: 42px; height: 42px; border: 1px solid #d9e1e7; background: #fff; color: #002b4d; box-shadow: 0 6px 18px rgba(13,71,120,.10); }
.icm-fix12-past-webinars .icm-past-webinars__pagination { position: static; display: flex; justify-content: center; gap: 7px; margin-top: 9px; }
.icm-fix12-past-webinars .icm-past-webinars__pagination .swiper-pagination-bullet { width: 7px; height: 7px; margin: 0 ; background: #d5d9de; opacity: 1; }
.icm-fix12-past-webinars .icm-past-webinars__pagination .swiper-pagination-bullet-active { background: var(--icm-ui-gold); }
.icm-completed-webinars__empty { display: grid; gap: 4px; padding: 18px 20px; border: 1px dashed #d7e0e6; border-radius: 10px; background: #fff; color: #5b7082; font-size: var(--icm-text-sm); }
.icm-completed-webinars__empty strong { color: #0b3153; font-size: var(--icm-text-base); font-weight: var(--icm-weight-semibold); }

/* Single article typography: source-token values, screenshot structure unchanged. */
.icm-single-hero__copy h1 { font-size: var(--icm-text-3xl); font-weight: var(--icm-weight-semibold); line-height: 1.45; letter-spacing: var(--icm-tracking-tight); }
.icm-single-excerpt { font-size: var(--icm-text-sm); line-height: var(--icm-leading-relaxed); }
.icm-single-meta,.icm-author { font-size: var(--icm-text-xs); }
.icm-prose { font-size: var(--icm-text-base); line-height: 1.9; }
.icm-prose h2 { font-size: var(--icm-text-2xl); font-weight: var(--icm-weight-semibold); line-height: 1.45; }
.icm-prose h3 { font-size: var(--icm-text-xl); font-weight: var(--icm-weight-semibold); line-height: 1.5; }
.icm-toc a,.icm-author-card p,.icm-sidebar-post small { font-size: var(--icm-text-xs); }
.icm-sidebar h3,.icm-widget-title { font-size: var(--icm-text-base); font-weight: var(--icm-weight-semibold); }

/* Footer typography only; visual structure is locked. */
.icm-site-footer { font-size: var(--icm-text-sm); line-height: var(--icm-leading-relaxed); }
.icm-site-footer h3,.icm-site-footer h4 { font-size: var(--icm-text-sm); font-weight: var(--icm-weight-semibold); }

/* ==========================================================================
   Responsive verification targets ? component geometry only.
   ========================================================================== */
@media (max-width: 1024px) {
  .icm-guide-row { --icm-guide-columns: 4; }
}
@media (max-width: 768px) {
  .icm-guide-row { --icm-guide-columns: 3; }
}
@media (max-width: 430px) {
  .icm-guide-row { --icm-guide-columns: 2; }
}
@media (max-width: 1024px) {
  .icm-featured-banner--archive .icm-archive-feature__link { min-height: 280px; }
  .icm-featured-banner--archive .icm-featured-banner__media { min-height: 280px; }

  /* Past webinars: stacked card — image top, details below (tablet + mobile). */
  .icm-fix12-past-webinars .icm-past-webinar-card,
  .icm-fix12-past-webinars .icm-webinar-slide--past {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    gap: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
    direction: rtl !important;
    background: #021a30 !important;
    border-radius: 16px !important;
    overflow: hidden !important;
  }
  .icm-fix12-past-webinars .icm-past-webinar-card > *,
  .icm-fix12-past-webinars .icm-webinar-slide--past > * { direction: rtl; }
  .icm-fix12-past-webinars .icm-past-webinar-card__image,
  .icm-fix12-past-webinars .icm-past-webinar-card .icm-webinar-slide__image,
  .icm-fix12-past-webinars .icm-webinar-slide--past .icm-webinar-slide__image {
    order: 1 !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: 190px !important;
    min-height: 190px !important;
    max-height: 190px !important;
    margin: 0 !important;
    position: relative !important;
    display: block !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
  }
  .icm-fix12-past-webinars .icm-past-webinar-card__image img,
  .icm-fix12-past-webinars .icm-past-webinar-card .icm-webinar-slide__image img,
  .icm-fix12-past-webinars .icm-webinar-slide--past .icm-webinar-slide__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
  }
  .icm-fix12-past-webinars .icm-past-webinar-card__image::after,
  .icm-fix12-past-webinars .icm-past-webinar-card .icm-webinar-slide__image::after,
  .icm-fix12-past-webinars .icm-webinar-slide--past .icm-webinar-slide__image::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(0deg, #021a30 0%, rgba(2, 26, 48, 0.85) 28%, rgba(2, 26, 48, 0.4) 55%, transparent 100%) !important;
    pointer-events: none !important;
    display: block !important;
    z-index: 2 !important;
  }
  .icm-fix12-past-webinars .icm-webinar-slide__past-meta,
  .icm-fix12-past-webinars .icm-past-webinar-card__meta {
    order: 2 !important;
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    padding: 14px 20px 0 !important;
    border: 0 !important;
    text-align: right !important;
    box-sizing: border-box !important;
  }
  .icm-fix12-past-webinars .icm-past-webinar-card__meta strong {
    color: #d4af37 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
  }
  .icm-fix12-past-webinars .icm-past-webinar-card__meta span {
    font-size: 12px !important;
    opacity: 0.85 !important;
    color: rgba(255, 255, 255, 0.8) !important;
    direction: ltr !important;
    unicode-bidi: isolate !important;
  }
  .icm-fix12-past-webinars .icm-past-webinar-card__main,
  .icm-fix12-past-webinars .icm-webinar-slide__main {
    order: 3 !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 10px 20px !important;
    box-sizing: border-box !important;
  }
  .icm-fix12-past-webinars .icm-past-webinar-card__title,
  .icm-fix12-past-webinars .icm-webinar-slide__main h3 {
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.5 !important;
    color: #fff !important;
    margin: 0 0 12px !important;
    white-space: normal !important;
  }
  .icm-fix12-past-webinars .icm-webinar-slide__past-cta,
  .icm-fix12-past-webinars .icm-past-webinar-card__cta {
    order: 4 !important;
    position: static !important;
    justify-self: unset !important;
    margin: 0 20px 20px !important;
    width: calc(100% - 40px) !important;
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 900px) {
  .icm-section--webinar-upcoming .icm-slider-arrow--right,
  .icm-section--webinar-replays .icm-slider-arrow--right,
  .icm-fix12-past-webinars .icm-slider-arrow--right { right: 6px; }
  .icm-section--webinar-upcoming .icm-slider-arrow--left,
  .icm-section--webinar-replays .icm-slider-arrow--left,
  .icm-fix12-past-webinars .icm-slider-arrow--left { left: 6px; }
}

@media (max-width: 768px) {
  .icm-section-title h2 { font-size: var(--icm-text-xl); }
  .icm-featured-banner--academy { grid-template-columns: 1fr; height: auto; min-height: 0; }
  .icm-featured-banner--academy .icm-featured-banner__media { order: 1; height: 210px; min-height: 210px; }
  .icm-featured-banner--academy .icm-featured-banner__content { order: 2; height: auto; margin-top: -46px; padding: 60px 20px 22px; }
  .icm-featured-banner--academy .icm-featured-banner__media::after { inset: auto 0 0; width: 100%; height: 110px; background: linear-gradient(180deg,transparent 0%,var(--icm-featured-fade-color) 100%); }

  .icm-featured-banner--archive .icm-archive-feature__link { grid-template-columns: 1fr; min-height: 0; }
  .icm-featured-banner--archive .icm-featured-banner__media { order: 1; height: 240px; min-height: 240px; }
  .icm-featured-banner--archive .icm-featured-banner__content { order: 2; margin-top: -58px; padding: 72px 20px 24px; }
  .icm-featured-banner--archive .icm-featured-banner__media::after { inset: auto 0 0; width: 100%; height: 130px; background: linear-gradient(180deg,transparent 0%,var(--icm-featured-fade-color) 100%); }

  .icm-featured-banner--article-slider { height: auto; min-height: 0; }
  .icm-featured-banner--article-slider .icm-featured-banner__link { grid-template-columns: 1fr; }
  .icm-featured-banner--article-slider .icm-featured-banner__media { order: 1; height: 210px; min-height: 210px; }
  .icm-featured-banner--article-slider .icm-featured-banner__content { order: 2; margin-top: -48px; padding: 62px 20px 22px; }
  .icm-featured-banner--article-slider .icm-featured-banner__media::after { inset: auto 0 0; width: 100%; height: 110px; background: linear-gradient(180deg,transparent 0%,var(--icm-featured-fade-color) 100%); }
  .icm-featured-banner--article-slider h3 { font-size: var(--icm-text-xl); }

  .icm-final-cta > .icm-container,
  .icm-single-final-cta .icm-final-cta > .icm-container { width: calc(100% - 28px); }

  /* Stacked mobile card: bottom edge fade into navy (not left/right desktop fades). */
  .icm-section--webinar-upcoming .icm-webinar-slide__image::before,
  .icm-section--webinar-replays .icm-webinar-slide__image::before,
  .icm-fix12-past-webinars .icm-webinar-slide__image::before {
    inset: 0 0 auto 0;
    width: 100%;
    height: 32%;
    background: linear-gradient(180deg, var(--icm-webinar-fade-color, #002b4d) 0%, color-mix(in srgb, var(--icm-webinar-fade-color, #002b4d) 35%, transparent) 55%, transparent 100%);
  }
  .icm-section--webinar-upcoming .icm-webinar-slide__image::after,
  .icm-section--webinar-replays .icm-webinar-slide__image::after,
  .icm-fix12-past-webinars .icm-webinar-slide__image::after {
    inset: auto 0 0 0;
    width: 100%;
    height: min(120px, 72%);
    background: linear-gradient(180deg, transparent 0%, color-mix(in srgb, var(--icm-webinar-fade-color, #002b4d) 45%, transparent) 42%, var(--icm-webinar-fade-color, #002b4d) 100%);
  }
  .icm-webinar-slide__image::before {
    content: "";
    display: block;
    position: absolute;
    z-index: 2;
    inset: 0 0 auto 0;
    width: 100%;
    height: 32%;
    pointer-events: none;
    background: linear-gradient(180deg, var(--icm-webinar-fade-color, #002b4d) 0%, transparent 100%);
  }
  .icm-webinar-slide__image::after,
  .icm-webinar-slide__image:after {
    content: "";
    display: block;
    position: absolute;
    z-index: 2;
    inset: auto 0 0 0;
    width: 100%;
    height: min(120px, 72%);
    pointer-events: none;
    background: linear-gradient(180deg, transparent 0%, color-mix(in srgb, var(--icm-webinar-fade-color, #002b4d) 45%, transparent) 42%, var(--icm-webinar-fade-color, #002b4d) 100%);
  }

}

@media (max-width: 430px) {
  .icm-academy-copy h1 { font-size: var(--icm-text-4xl); }
  .icm-section--selected .icm-selected-card { min-width: 0; height: 154px; }
  .icm-section--selected .icm-selected-card__link { grid-template-columns: 56% 44%; }
  .icm-section--selected .icm-selected-card h3 { font-size: var(--icm-text-sm); }
  .icm-section--articles-grid .icm-article-card__body h3 { font-size: var(--icm-text-base); }
  .icm-single-hero__copy h1 { font-size: var(--icm-text-2xl); }
  .icm-prose { font-size: var(--icm-text-sm); }
  .icm-prose h2 { font-size: var(--icm-text-xl); }
  .icm-prose h3 { font-size: var(--icm-text-lg); }
}

@media (prefers-reduced-motion: reduce) {
  .icm-site-header.is-sticky,.icm-article-card__arrow { transition: none; }
}

/* FIX14: legacy in-card selected-article arrow removed; row/card geometry follows reference. */
.icm-featured-banner--archive.icm-featured-banner--image-left .icm-featured-banner__media { order: 1; }
.icm-featured-banner--archive.icm-featured-banner--image-left .icm-featured-banner__content { order: 2; }
.icm-featured-banner--archive.icm-featured-banner--image-left .icm-featured-banner__media::after {
  right: 0;
  left: auto;
  background: linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--icm-featured-fade-color) 55%,transparent) 58%,var(--icm-featured-fade-color) 100%);
}

/* Selected articles: Elementor columns, gradient variables, optional carousel.
   Defaults keep the current white 3-up Website card. */
.icm-selected-row {
  --icm-selected-columns: 3;
  --icm-selected-columns-desktop: 3;
  --icm-selected-columns-tablet: 2;
  --icm-selected-columns-mobile: 1;
  --icm-selected-scroll: 1;
  --icm-selected-scroll-desktop: 1;
  --icm-selected-scroll-tablet: 1;
  --icm-selected-scroll-mobile: 1;
  --icm-selected-gap: 16px;
}
.icm-section--selected .icm-selected-row {
  display: grid;
  grid-template-columns: repeat(var(--icm-selected-columns), minmax(0, 1fr));
  gap: var(--icm-selected-gap);
  overflow: visible;
  scroll-snap-type: none;
}
.icm-section--selected .icm-selected-card {
  flex: none;
  width: auto;
  min-width: 0;
  max-width: none;
  height: var(--icm-selected-card-height, 152px);
  background: var(--icm-selected-card-bg, #fff);
  border-color: var(--icm-selected-border, #dfe6eb);
  border-radius: var(--icm-selected-radius, 10px);
}
.icm-section--selected .icm-selected-card__text,
.icm-section--selected .icm-selected-card__image {
  background: var(--icm-selected-card-bg, #fff);
}
.icm-section--selected .icm-selected-slider {
  position: relative;
  overflow: hidden;
}
.icm-section--selected .icm-selected-row--carousel {
  display: flex;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
}
.icm-section--selected .icm-selected-row--carousel::-webkit-scrollbar { display: none; }
.icm-section--selected .icm-selected-row--carousel .icm-selected-card {
  flex: 0 0 calc((100% - (var(--icm-selected-columns) - 1) * var(--icm-selected-gap)) / var(--icm-selected-columns));
  width: calc((100% - (var(--icm-selected-columns) - 1) * var(--icm-selected-gap)) / var(--icm-selected-columns));
  min-width: 0;
  scroll-snap-align: start;
}
.icm-section--selected .icm-selected-title-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}
.icm-section--selected .icm-selected-controls {
  display: flex;
  gap: 7px;
  direction: ltr;
  flex-shrink: 0;
}
.icm-section--selected .icm-selected-controls button {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1px solid var(--icm-border-global, #d9e1e7);
  background: var(--icm-card-bg, #fff);
  color: var(--icm-heading, #0a3154);
  font-size: 24px;
  line-height: 1;
  display: grid;
  place-items: center;
  cursor: pointer;
  padding: 0;
}
.icm-section--selected .icm-selected-dots {
  display: flex;
  justify-content: var(--icm-carousel-dots-justify, center);
  gap: 6px;
  margin-top: var(--icm-carousel-dots-margin-top, 9px);
}
.icm-section--selected .icm-selected-dots button {
  width: 7px;
  height: 7px;
  border: 0;
  border-radius: 50%;
  padding: 0;
  background: #cfd7de;
  cursor: pointer;
}
.icm-section--selected .icm-selected-dots button.is-active {
  background: var(--icm-gold, #8C845E);
  width: 18px;
  border-radius: 999px;
}
@media (max-width: 1024px) {
  .icm-selected-row { --icm-selected-columns: var(--icm-selected-columns-tablet, 2); }
}
@media (max-width: 767px) {
  .icm-selected-row { --icm-selected-columns: var(--icm-selected-columns-mobile, 1); }
  .icm-section--selected .icm-selected-row {
    display: grid;
    grid-template-columns: repeat(var(--icm-selected-columns, 1), minmax(0, 1fr));
    overflow: visible;
    scroll-snap-type: none;
  }
  .icm-section--selected .icm-selected-row--carousel {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
  }
  .icm-section--selected .icm-selected-card {
    min-width: 0;
    max-width: none;
  }
  .icm-section--selected .icm-selected-controls button {
    width: 32px;
    height: 32px;
  }
}

/* Semantic text-tag classes preserve presentation when Elementor changes tags. */
.icm-academy-title { margin: 0 0 5px; color: #082e52; font-size: 45px; line-height: 1.13; font-weight: 800; }
.icm-academy-subtitle { margin: 0 0 5px; color: var(--icm-gold); font-size: 21px; line-height: 1.6; font-weight: 700; }
.icm-academy-intro { margin: 0 0 15px; max-width: 520px; color: #314e67; font-size: 13px; line-height: 2; }
.icm-slide__title { margin: 12px 0 2px; color: #fff; font-size: 19px; line-height: 1.55; font-weight: 700; }
.icm-slide__excerpt { margin: 0; color: rgba(255,255,255,.82); font-size: 10px; line-height: 1.9; }
.icm-section-title__text { margin: 0; color: var(--icm-heading,#0d4778); font-size: var(--icm-text-2xl,20px); line-height: 1.5; font-weight: 700; }
.icm-topic-card__title { margin: 4px 0 6px; color: #0b3153; font-size: 14px; line-height: 1.5; font-weight: 700; }
.icm-topic-card__description { margin: 0; color: #4c6277; font-size: 9px; line-height: 1.85; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.icm-selected-card__title { width: 100%; margin: 7px 0 0; color: #0d2f4d; font-size: 12px; line-height: 1.75; font-weight: 700; text-align: right; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.icm-feature-banner__title { margin: 7px 0 4px; color: #fff; font-size: 24px; line-height: 1.45; font-weight: 700; }
.icm-feature-banner__description { max-width: 360px; margin: 0 0 10px; color: rgba(255,255,255,.82); font-size: 10px; line-height: 1.9; }
.icm-guide-card__title { margin: 0; color: #173a58; font-size: 9px; line-height: 1.55; font-weight: 600; }
.icm-guide-card__subtitle { display: block; margin: 2px 0 0; color: #64788a; font-size: 7.5px; line-height: 1.5; }
.icm-webinar-slide__title { margin: 0 0 8px; color: #fff; font-size: 15px; line-height: 1.5; font-weight: 700; }
.icm-webinar-slide__title a { color: inherit; }
.icm-final-cta__title { margin: 0; color: #fff; font-size: 19px; line-height: 1.35; font-weight: 700; }
.icm-final-cta__description { margin: 2px 0 0; color: rgba(255,255,255,.82); font-size: 9px; line-height: 1.7; }
@media (max-width: 767px) {
  .icm-academy-title { font-size: 34px; }
  .icm-academy-subtitle { font-size: 16px; }
  .icm-academy-intro { font-size: 11px; }
  .icm-slide__title { font-size: 19px; }
  .icm-section-title__text { font-size: 18px; }
}
@media (max-width: 430px) {
  .icm-section--selected .icm-selected-card__link {
    grid-template-columns: minmax(0,var(--icm-selected-text-width,57fr)) minmax(0,var(--icm-selected-image-width,43fr));
  }
}

/* Default Selected Academy composition ? matches the approved three-card rail. */
.icm-section--selected {
  background: #fff;
  padding-block: 22px 28px;
}
.icm-section--selected .icm-container {
  position: relative;
}
.icm-section--selected .icm-section-title {
  margin-bottom: 13px;
}
.icm-section--selected .icm-section-title h2 {
  font-size: 17px;
  line-height: 1.5;
  font-weight: 700;
  color: #0d2f4d;
}
.icm-section--selected .icm-selected-title-actions > a {
  font-size: 10px;
  font-weight: 600;
  color: #0d4778;
  text-decoration: none;
}
.icm-section--selected .icm-selected-slider {
  overflow: visible;
}
.icm-section--selected .icm-selected-row--carousel {
  --icm-selected-gap: 14px;
  overflow-x: auto;
  padding: 1px;
}
.icm-section--selected .icm-selected-row--carousel .icm-selected-card {
  height: var(--icm-selected-card-height,153px);
  border-radius: var(--icm-selected-radius,7px);
  border-color: var(--icm-selected-border,#dbe3e9);
  box-shadow: 0 2px 7px rgba(13,71,120,.04);
}
.icm-section--selected .icm-selected-card .icm-badge {
  align-self: flex-end;
  margin-inline: 0 auto;
  min-height: 17px;
  padding: 2px 7px;
  border-radius: 4px;
  background: #0d4778;
  color: #fff;
  font-size: 8px;
  line-height: 1.45;
}
.icm-section--selected .icm-selected-card h3 {
  width: 100%;
  text-align: right;
  margin: 7px 0 0;
  margin-inline: 0 auto;
  font-size: 12px;
  line-height: 1.75;
  font-weight: 700;
  color: #0d2f4d;
  -webkit-line-clamp: 2;
}
.icm-section--selected .icm-card-meta {
  margin-top: auto;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #7c8993;
  font-size: 7.5px;
  white-space: nowrap;
}
.icm-section--selected .icm-selected-controls {
  position: absolute;
  z-index: 8;
  inset: 0;
  display: block;
  pointer-events: none;
}
.icm-section--selected .icm-selected-controls button {
  position: absolute;
  inset-block-start: 50%;
  width: 26px;
  height: 26px;
  min-width: 26px;
  min-height: 26px;
  background: #fff;
  border-color: #d7dfe5;
  color: #8a98a3;
  font-size: 17px;
  box-shadow: 0 2px 8px rgba(13,47,77,.09);
  transform: translateY(-50%);
  pointer-events: auto;
}
.icm-section--selected .icm-selected-prev { left: -13px; right: auto; }
.icm-section--selected .icm-selected-next { right: -13px; left: auto; }
.icm-section--selected:not(.has-selected-overflow) .icm-selected-controls {
  display: none;
}
@media (max-width: 1024px) {
  .icm-section--selected .icm-selected-row--carousel { --icm-selected-columns: var(--icm-selected-columns-tablet, 2); }
  .icm-section--selected .icm-selected-controls button { transform: translateY(-50%); }
}
@media (max-width: 767px) {
  .icm-section--selected { padding-block: 18px 22px; }
  .icm-section--selected .icm-selected-row--carousel { --icm-selected-columns: var(--icm-selected-columns-mobile, 1); }
  .icm-section--selected .icm-selected-row--carousel .icm-selected-card { height: var(--icm-selected-card-height,148px); min-width: 0; flex-basis: calc((100% - (var(--icm-selected-columns, 1) - 1) * var(--icm-selected-gap, 14px)) / var(--icm-selected-columns, 1)); width: calc((100% - (var(--icm-selected-columns, 1) - 1) * var(--icm-selected-gap, 14px)) / var(--icm-selected-columns, 1)); }
  .icm-section--selected .icm-selected-controls { display: none; }
}

/* Canonical responsive header menu ? native and Elementor headers. */
@media (max-width: 1099px) {
  /*
   * Do NOT force sticky on every .icm-header here.
   * Elementor headers stick on .icm-global-builder--header; sticky on the inner
   * <header> nests sticky and leaves an empty gap above the bar on tablet/mobile.
   */
  .icm-site-header,
  .icm-header {
    position: relative;
    top: auto;
    inset-block-start: auto;
    z-index: 10000;
    overflow: visible;
  }
  /* Native theme header (direct child of body) may stick when marked. */
  body > .icm-site-header.is-sticky,
  body > .icm-header.is-sticky {
    position: sticky;
    top: 0;
    inset-block-start: 0;
  }
  .icm-site-header .icm-header-inner,
  .icm-header .icm-header-inner,
  .icm-header .icm-header__inner {
    position: static;
    display: flex;
    align-items: center;
    justify-content: space-between;
    direction: rtl;
    min-height: 64px;
    gap: 12px;
  }
  .icm-site-header .icm-logo,
  .icm-header .icm-logo {
    order: 1;
    margin: 0;
    flex: 0 0 auto;
  }
  .icm-site-header .icm-header-actions,
  .icm-header .icm-header-actions,
  .icm-header .icm-header__actions {
    display: none;
  }
  .icm-site-header .icm-menu-toggle,
  .icm-header .icm-menu-toggle {
    order: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    min-width: 44px;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #fff;
    font-size: 27px;
    cursor: pointer;
  }
  .icm-site-header .icm-main-nav,
  .icm-header .icm-main-nav,
  .icm-header .icm-nav {
    display: none;
    position: absolute;
    z-index: 10001;
    inset-block-start: 100%;
    inset-inline: 0;
    width: 100%;
    max-width: none;
    max-height: calc(100dvh - 64px);
    overflow-y: auto;
    padding: 10px 14px 16px;
    margin: 0;
    border: 0;
    border-radius: 0 0 14px 14px;
    background: var(--icm-header-bg, var(--icm-surface-navy, #001D36));
    box-shadow: 0 18px 34px rgba(0,0,0,.24);
    direction: rtl;
  }
  .icm-site-header .icm-main-nav.is-open,
  .icm-header .icm-main-nav.is-open,
  .icm-header .icm-nav.is-open {
    display: block;
  }
  .icm-site-header .icm-main-nav > ul,
  .icm-site-header .icm-main-nav > .icm-fallback-menu,
  .icm-header .icm-main-nav > ul,
  .icm-header .icm-nav > ul {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    gap: 4px;
    padding: 0;
    margin: 0;
    list-style: none;
  }
  .icm-site-header .icm-main-nav > ul > li,
  .icm-header .icm-main-nav > ul > li,
  .icm-header .icm-nav > ul > li {
    width: 100%;
    margin: 0;
  }
  .icm-site-header .icm-main-nav a,
  .icm-header .icm-main-nav a,
  .icm-header .icm-nav a {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    min-height: 46px;
    padding: 8px 14px;
    border: 0;
    border-radius: 9px;
    color: #fff;
    text-align: right;
    white-space: normal;
  }
  .icm-site-header .icm-main-nav .sub-menu,
  .icm-header .icm-main-nav .sub-menu,
  .icm-header .icm-nav .sub-menu {
    position: static;
    display: grid;
    width: 100%;
    min-width: 0;
    gap: 2px;
    padding: 4px 14px 6px 0;
    margin: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
  }
  body.admin-bar .icm-site-header,
  body.admin-bar .icm-header {
    inset-block-start: 0;
  }
}

/* Final canonical Selected Academy card contract. */
.icm-section--selected .icm-selected-card__link {
  --icm-selected-text-width: 57fr;
  --icm-selected-image-width: 43fr;
  --icm-selected-card-bg: #fff;
  --icm-selected-fade-color: var(--icm-selected-card-bg);
  --icm-selected-fade-width: 48px;
  --icm-selected-fade-into: 25%;
  --icm-selected-fade-soft: 58%;
  --icm-selected-text-start-gap: 0px;
  display: grid;
  grid-template-columns: minmax(0,var(--icm-selected-text-width)) minmax(0,var(--icm-selected-image-width));
  grid-template-areas: "copy image";
  direction: ltr;
  width: 100%;
  height: 100%;
  overflow: hidden;
  isolation: isolate;
}
.icm-section--selected .icm-selected-card__text {
  grid-area: copy;
  position: relative;
  z-index: 4;
  box-sizing: border-box;
  min-width: 0;
  width: 100%;
  max-width: none;
  height: 100%;
  padding: 12px 0 10px 13px;
  padding-right: var(--icm-selected-text-start-gap);
  background: var(--icm-selected-card-bg);
  direction: rtl;
  text-align: right;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  overflow: hidden;
}
.icm-section--selected .icm-selected-card__image {
  grid-area: image;
  position: relative;
  z-index: 1;
  min-width: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: var(--icm-selected-card-bg);
  aspect-ratio: auto;
}
.icm-section--selected .icm-selected-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.icm-section--selected .icm-selected-card__link::before,
.icm-section--selected .icm-selected-card__link::after,
.icm-section--selected .icm-selected-card__text::before,
.icm-section--selected .icm-selected-card__text::after {
  content: none;
  display: none;
}
.icm-section--selected .icm-selected-card__image::before {
  content: "";
  display: block;
  position: absolute;
  z-index: 3;
  inset: 0 auto 0 0;
  width: min(var(--icm-selected-fade-width),var(--icm-selected-fade-into));
  background: linear-gradient(
    var(--icm-selected-fade-direction,90deg),
    var(--icm-selected-fade-color) 0%,
    var(--icm-selected-fade-color) 18%,
    transparent 100%
  );
  background: linear-gradient(
    var(--icm-selected-fade-direction,90deg),
    var(--icm-selected-fade-color) 0%,
    var(--icm-selected-fade-color) 18%,
    color-mix(in srgb,var(--icm-selected-fade-color) 92%,transparent) 34%,
    color-mix(in srgb,var(--icm-selected-fade-color) 58%,transparent) var(--icm-selected-fade-soft),
    transparent 100%
  );
  opacity: var(--icm-selected-fade-opacity,1);
  pointer-events: none;
}
.icm-section--selected .icm-selected-card .icm-badge {
  align-self: flex-end;
  margin-inline: 0 auto;
}
.icm-section--selected .icm-selected-card h3,
.icm-section--selected .icm-selected-card__excerpt {
  width: 100%;
  margin-inline: 0 auto;
  text-align: right;
}

/* Sitewide responsive safety layer.
   Clip horizontal bleed on the document edge without trapping nested
   rail/carousel scrollports (those live inside clipped header/content). */
html {
  max-width: 100%;
  overflow-x: clip;
  scrollbar-gutter: stable;
}
@media (max-width: 1099px) {
  html {
    scrollbar-gutter: auto;
  }
}
body,
#main-content {
  max-width: 100%;
  /* Prefer visible so nested overflow-x:auto rails keep touch scrolling.
     Header containment (FIX78) still blocks the RTL side gutter. */
  overflow-x: visible;
}
@media (min-width: 783px) {
  /* Only native body-level sticky header ? not Elementor inner .icm-header (relative + offset = empty gap). */
  body.admin-bar > .icm-site-header.is-sticky,
  body.admin-bar > .icm-header.is-sticky {
    inset-block-start: 32px;
  }
}
@media (max-width: 1099px) {
  .icm-site-header .icm-main-nav,
  .icm-header .icm-main-nav,
  .icm-header .icm-nav {
    max-height: calc(100dvh - var(--icm-header-height,64px));
  }
}
@media (max-width: 767px) {
  html body .icm-container {
    width: calc(100% - 28px);
    max-width: 100%;
  }
  :is(
    .icm-selected-card,
    .icm-topic-card,
    .icm-article-card,
    .icm-guide-card,
    .icm-webinar-card,
    .icm-related-item,
    .icm-side-card
  ) {
    min-width: 0 !important;
    max-width: 100%;
  }
  :is(
    .icm-article-grid,
    .icm-webinar-grid,
    .icm-topic-grid,
    .icm-collections-grid,
    .icm-content-layout,
    .icm-single-webinar__content-grid,
    .icm-single-layout
  ) {
    grid-template-columns: minmax(0,1fr) !important;
  }
  .icm-single-webinar__aside,
  .icm-sidebar,
  .icm-single-sidebar {
    width: 100%;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .icm-webinar__image {
    width: 100%;
    max-width: 100%;
    margin-inline: 0;
  }
  .icm-stats {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    overflow: visible;
  }
  .icm-stats > div {
    min-width: 0;
  }
  .icm-section--selected .icm-selected-card .icm-card-meta {
    white-space: normal;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  :is(.icm-article-grid,.icm-webinar-grid,.icm-topic-grid,.icm-collections-grid) {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}

/* Shared professional carousel track and navigation contract. */
.icm-slider--professional {
  --icm-slider-per-view: 1;
  --icm-slider-gap: 14px;
}
.icm-slider--professional .icm-slider__track {
  display: flex;
  width: 100%;
  height: 100%;
  gap: var(--icm-slider-gap);
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  overscroll-behavior-inline: contain;
}
.icm-slider--professional .icm-slider__track::-webkit-scrollbar {
  display: none;
}
.icm-slider--professional .icm-slider__track > [data-slide] {
  position: relative !important;
  inset: auto !important;
  flex: 0 0 calc((100% - (var(--icm-slider-per-view) - 1)*var(--icm-slider-gap))/var(--icm-slider-per-view));
  width: auto !important;
  min-width: 0;
  height: 100%;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  scroll-snap-align: start;
  pointer-events: auto !important;
}
.icm-webinar-slider--professional {
  --icm-webinar-per-view: 1;
  --icm-webinar-slider-gap: 14px;
}
.icm-webinar-slider--professional .icm-webinar-slider__viewport {
  display: flex;
  gap: var(--icm-webinar-slider-gap);
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  overscroll-behavior-inline: contain;
}
.icm-webinar-slider--professional .icm-webinar-slider__viewport::-webkit-scrollbar {
  display: none;
}
.icm-webinar-slider--professional .icm-webinar-slide {
  position: relative !important;
  inset: auto !important;
  flex: 0 0 calc((100% - (var(--icm-webinar-per-view) - 1)*var(--icm-webinar-slider-gap))/var(--icm-webinar-per-view));
  width: auto;
  min-width: 0;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  scroll-snap-align: start;
  pointer-events: auto !important;
}
.icm-webinar-slider--professional.is-multi-view .icm-webinar-slide {
  grid-template-columns: minmax(110px,38%) minmax(0,1fr);
  grid-template-areas: "image main" "image button";
  gap: 8px;
  padding-inline-end: 12px;
}
.icm-webinar-slider--professional.is-multi-view .icm-webinar-slide__image {
  grid-area: image;
  min-width: 0;
}
.icm-webinar-slider--professional.is-multi-view .icm-webinar-slide__main {
  grid-area: main;
  min-width: 0;
}
.icm-webinar-slider--professional.is-multi-view .icm-webinar-slide > .icm-btn {
  grid-area: button;
  justify-self: start;
}
.icm-webinar-slider--professional.is-multi-view :is(.icm-webinar-slide__time,.icm-countdown) {
  display: none;
}
:is(
  .icm-slider,
  .icm-archive-feature-slider,
  .icm-section--selected,
  .icm-section--popular,
  .icm-related-section,
  .icm-guide-slider,
  .icm-webinar-slider,
  .icm-past-webinars-shell
) {
  --icm-carousel-nav-size: 38px;
  --icm-carousel-icon-size: 16px;
  --icm-carousel-icon-weight: 2px;
  --icm-carousel-nav-radius: 50%;
  --icm-carousel-nav-offset: -12px;
  --icm-carousel-nav-top: 50%;
  --icm-carousel-nav-border-width: 1px;
  --icm-carousel-nav-bg: #ffffff;
  --icm-carousel-nav-color: #0d4778;
  --icm-carousel-nav-border: #d7e0e7;
  --icm-carousel-nav-hover-bg: #0d4778;
  --icm-carousel-nav-hover-color: #ffffff;
  --icm-carousel-nav-hover-border: #0d4778;
  --icm-carousel-nav-shadow: 0 4px 14px rgba(13, 47, 77, .12);
  position: relative;
}
/* Unified default: white circle + navy chevron. Widget Style overrides via CSS vars. */
:is(
  .icm-slider__prev,.icm-slider__next,
  .icm-archive-feature-prev,.icm-archive-feature-next,
  .icm-selected-prev,.icm-selected-next,
  .icm-popular-prev,.icm-popular-next,
  .icm-related-prev,.icm-related-next,
  .icm-guide-nav,
  .icm-webinar-nav
) {
  position: absolute;
  z-index: 12;
  top: var(--icm-carousel-nav-top, 50%);
  display: grid;
  place-items: center;
  width: var(--icm-carousel-nav-size) !important;
  height: var(--icm-carousel-nav-size) !important;
  min-width: var(--icm-carousel-nav-size);
  padding: 0 !important;
  margin: 0 !important;
  border: var(--icm-carousel-nav-border-width, 1px) solid var(--icm-carousel-nav-border) !important;
  border-radius: var(--icm-carousel-nav-radius) !important;
  background: var(--icm-carousel-nav-bg) !important;
  color: var(--icm-carousel-nav-color) !important;
  font-size: 0 !important;
  line-height: 0;
  text-indent: 0 !important;
  overflow: visible !important;
  box-shadow: var(--icm-carousel-nav-shadow);
  transform: translateY(calc(-50% + var(--icm-carousel-nav-y-adjust, 0px)));
  transition: color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;
  cursor: pointer;
}
:is(
  .icm-slider__prev,.icm-slider__next,
  .icm-archive-feature-prev,.icm-archive-feature-next,
  .icm-selected-prev,.icm-selected-next,
  .icm-popular-prev,.icm-popular-next,
  .icm-related-prev,.icm-related-next,
  .icm-guide-nav,
  .icm-webinar-nav
) > :is(svg,span,i) {
  display: none !important;
}
:is(
  .icm-slider__prev,.icm-slider__next,
  .icm-archive-feature-prev,.icm-archive-feature-next,
  .icm-selected-prev,.icm-selected-next,
  .icm-popular-prev,.icm-popular-next,
  .icm-related-prev,.icm-related-next,
  .icm-guide-nav,
  .icm-webinar-nav
)::after {
  content: "";
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  display: block !important;
  box-sizing: border-box;
  width: calc(var(--icm-carousel-icon-size) * .7);
  height: calc(var(--icm-carousel-icon-size) * .7);
  margin: 0 !important;
  border: 0 !important;
  border-top: var(--icm-carousel-icon-weight) solid currentColor !important;
  border-left: var(--icm-carousel-icon-weight) solid currentColor !important;
  background: none !important;
  transform-origin: 50% 50%;
}
/* Physical LEFT = ? ; Physical RIGHT = ? (ignore old RTL-swapped positions). */
:is(
  .icm-slider__prev,.icm-archive-feature-prev,
  .icm-selected-prev,.icm-popular-prev,.icm-related-prev,
  .icm-guide-nav--left,.icm-slider-arrow--left
) {
  left: var(--icm-carousel-nav-offset) !important;
  right: auto !important;
  inset-inline-start: auto !important;
  inset-inline-end: auto !important;
}
:is(
  .icm-slider__next,.icm-archive-feature-next,
  .icm-selected-next,.icm-popular-next,.icm-related-next,
  .icm-guide-nav--right,.icm-slider-arrow--right
) {
  right: var(--icm-carousel-nav-offset) !important;
  left: auto !important;
  inset-inline-start: auto !important;
  inset-inline-end: auto !important;
}
:is(
  .icm-slider__prev,.icm-archive-feature-prev,
  .icm-selected-prev,.icm-popular-prev,.icm-related-prev,
  .icm-guide-nav--left,.icm-slider-arrow--left
)::after {
  transform: translate(calc(-50% + 16%), -50%) rotate(-45deg) !important;
}
:is(
  .icm-slider__next,.icm-archive-feature-next,
  .icm-selected-next,.icm-popular-next,.icm-related-next,
  .icm-guide-nav--right,.icm-slider-arrow--right
)::after {
  transform: translate(calc(-50% - 16%), -50%) rotate(135deg) !important;
}
:is(
  .icm-slider__prev,.icm-slider__next,
  .icm-archive-feature-prev,.icm-archive-feature-next,
  .icm-selected-prev,.icm-selected-next,
  .icm-popular-prev,.icm-popular-next,
  .icm-related-prev,.icm-related-next,
  .icm-guide-nav,
  .icm-webinar-nav
):is(:hover,:focus-visible) {
  border-color: var(--icm-carousel-nav-hover-border) !important;
  background: var(--icm-carousel-nav-hover-bg) !important;
  color: var(--icm-carousel-nav-hover-color) !important;
  box-shadow: 0 7px 20px rgba(13,47,77,.18);
  transform: translateY(calc(-50% + var(--icm-carousel-nav-y-adjust, 0px))) scale(1.06);
  outline: 2px solid transparent;
}
:is(
  .icm-slider__prev,.icm-slider__next,
  .icm-archive-feature-prev,.icm-archive-feature-next,
  .icm-selected-prev,.icm-selected-next,
  .icm-popular-prev,.icm-popular-next,
  .icm-related-prev,.icm-related-next,
  .icm-guide-nav,
  .icm-webinar-nav
):disabled {
  opacity: .35;
  cursor: not-allowed;
  transform: translateY(calc(-50% + var(--icm-carousel-nav-y-adjust, 0px)));
}
@media (max-width: 767px) {
  .icm-section--selected .icm-selected-controls {
    display: block;
  }
}

/* Final lock: left side always ? , right side always ? (beats legacy RTL swaps). */
html body :is(.icm-slider__prev,.icm-archive-feature-prev,.icm-selected-prev,.icm-popular-prev,.icm-related-prev,.icm-guide-nav--left,.icm-slider-arrow--left) {
  left: var(--icm-carousel-nav-offset, -12px) !important;
  right: auto !important;
}
html body :is(.icm-slider__next,.icm-archive-feature-next,.icm-selected-next,.icm-popular-next,.icm-related-next,.icm-guide-nav--right,.icm-slider-arrow--right) {
  right: var(--icm-carousel-nav-offset, -12px) !important;
  left: auto !important;
}
html body :is(.icm-slider__prev,.icm-archive-feature-prev,.icm-selected-prev,.icm-popular-prev,.icm-related-prev,.icm-guide-nav--left,.icm-slider-arrow--left)::after {
  transform: translate(-50%, -50%) rotate(-45deg) !important;
}
html body :is(.icm-slider__next,.icm-archive-feature-next,.icm-selected-next,.icm-popular-next,.icm-related-next,.icm-guide-nav--right,.icm-slider-arrow--right)::after {
  transform: translate(-50%, -50%) rotate(135deg) !important;
}

/* FIX61 ? site-wide: center round/card arrows; keep meta fully visible beside arrow buttons. */
.icm-round-arrow,
.icm-article-card__arrow,
.icm-selected-card__arrow,
.icm-single-related-card__arrow {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  line-height: 0 !important;
  font-size: 0 !important;
  overflow: hidden;
  flex-shrink: 0;
}
.icm-round-arrow::before {
  content: "";
  width: 7px;
  height: 7px;
  border-left: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  display: block;
  box-sizing: border-box;
  flex-shrink: 0;
}
.icm-article-card__arrow svg {
  display: block;
  width: 14px;
  height: 14px;
  margin: 0;
  flex-shrink: 0;
}
.icm-selected-card .icm-card-meta,
.icm-section--selected .icm-selected-card .icm-card-meta,
body.single-post .icm-related-section .icm-single-related-card .icm-card-meta {
  padding-inline-end: 34px;
  box-sizing: border-box;
}
.icm-section--articles-grid .icm-article-card__footer .icm-card-meta {
  white-space: normal;
  flex-wrap: wrap;
}

/* FIX75 ? Global breadcrumb home icon (first item in RTL trails). */
html body .icm-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  justify-content: flex-start;
}
html body .icm-breadcrumb__home {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: inherit;
  text-decoration: none;
}
html body .icm-breadcrumb__home-icon {
  display: block;
  flex: 0 0 auto;
  width: 14px;
  height: 14px;
  padding: 0;
  background: none;
  border-radius: 0;
  color: var(--icm-gold, #8C845E);
}
html body .icm-breadcrumb__sep {
  opacity: 0.72;
}

/* ==========================================================================
   Mobile carousel lock ? beats legacy theme min-width / flex hardcodes.
   Column count comes from --*-columns / --*-visible (Elementor + emit CSS).
   ========================================================================== */
html body .icm-section--selected .icm-selected-row--carousel,
html body .icm-section--selected .icm-selected-row.icm-scroll-rail,
html body .elementor-widget-icm_academy_selected .icm-selected-row--carousel {
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  scroll-snap-type: x mandatory !important;
  grid-template-columns: none !important;
}
html body .icm-section--collections .icm-topic-row.icm-scroll-rail,
html body .icm-section--collections .icm-topic-row--carousel,
html body .elementor-widget-icm_academy_collections .icm-topic-row.icm-scroll-rail,
html body .elementor-widget-icm_academy_collections .icm-topic-row--carousel {
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  scroll-snap-type: x mandatory !important;
  grid-template-columns: none !important;
}
html body .icm-section--collections .icm-topic-row.icm-scroll-rail > .icm-topic-card,
html body .icm-section--collections .icm-topic-row--carousel > .icm-topic-card,
html body .elementor-widget-icm_academy_collections .icm-topic-row.icm-scroll-rail > .icm-topic-card,
html body .elementor-widget-icm_academy_collections .icm-topic-row--carousel > .icm-topic-card {
  /* flex-basis sizes cards in slider mode; width:100% fills Elementor grid cells
     (do NOT reuse the columns calc for width ? 100% is the cell, not the rail). */
  flex: 0 0 calc((100% - (var(--icm-topic-columns, 3) - 1) * var(--icm-topic-gap, 14px)) / var(--icm-topic-columns, 3)) !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  scroll-snap-align: start !important;
}
html body .icm-section--selected .icm-selected-row--carousel > .icm-selected-card,
html body .icm-section--selected .icm-selected-row.icm-scroll-rail > .icm-selected-card,
html body .elementor-widget-icm_academy_selected .icm-selected-row--carousel > .icm-selected-card {
  flex: 0 0 calc((100% - (var(--icm-selected-columns, 3) - 1) * var(--icm-selected-gap, 14px)) / var(--icm-selected-columns, 3)) !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  scroll-snap-align: start !important;
}
@media (max-width: 1024px) {
  html body .icm-section--selected .icm-selected-row,
  html body .elementor-widget-icm_academy_selected .icm-selected-row {
    --icm-selected-columns: var(--icm-selected-columns-tablet, 2) !important;
    --icm-selected-scroll: var(--icm-selected-scroll-tablet, 1) !important;
  }
}
@media (max-width: 767px) {
  html body .icm-section--selected .icm-selected-row,
  html body .elementor-widget-icm_academy_selected .icm-selected-row {
    --icm-selected-columns: var(--icm-selected-columns-mobile, 1) !important;
    --icm-selected-scroll: var(--icm-selected-scroll-mobile, 1) !important;
  }
  html body .icm-section--selected .icm-selected-row--carousel > .icm-selected-card,
  html body .icm-section--selected .icm-selected-row.icm-scroll-rail > .icm-selected-card,
  html body .elementor-widget-icm_academy_selected .icm-selected-row--carousel > .icm-selected-card {
    flex: 0 0 calc((100% - (var(--icm-selected-columns, 1) - 1) * var(--icm-selected-gap, 14px)) / var(--icm-selected-columns, 1)) !important;
    width: calc((100% - (var(--icm-selected-columns, 1) - 1) * var(--icm-selected-gap, 14px)) / var(--icm-selected-columns, 1)) !important;
    min-width: 0 !important;
  }
}

/* Elementor editor device mode (preview width often stays desktop ? media queries won't fire). */
body.elementor-device-mobile .icm-selected-row,
body[data-elementor-device-mode="mobile"] .icm-selected-row,
body[data-icm-el-device="mobile"] .icm-selected-row,
.elementor-device-mobile .icm-selected-row,
html.elementor-device-mobile .icm-selected-row,
html[data-icm-el-device="mobile"] .icm-selected-row {
  --icm-selected-columns: var(--icm-selected-columns-mobile, 1) !important;
  --icm-selected-scroll: var(--icm-selected-scroll-mobile, 1) !important;
}
body.elementor-device-mobile .icm-selected-row > .icm-selected-card,
body[data-elementor-device-mode="mobile"] .icm-selected-row > .icm-selected-card,
body[data-icm-el-device="mobile"] .icm-selected-row > .icm-selected-card,
html.elementor-device-mobile .icm-selected-row > .icm-selected-card,
html[data-icm-el-device="mobile"] .icm-selected-row > .icm-selected-card {
  flex: 0 0 calc((100% - (var(--icm-selected-columns, 1) - 1) * var(--icm-selected-gap, 14px)) / var(--icm-selected-columns, 1)) !important;
  width: calc((100% - (var(--icm-selected-columns, 1) - 1) * var(--icm-selected-gap, 14px)) / var(--icm-selected-columns, 1)) !important;
  min-width: 0 !important;
  max-width: none !important;
}
body.elementor-device-tablet .icm-selected-row,
body[data-elementor-device-mode="tablet"] .icm-selected-row,
body[data-icm-el-device="tablet"] .icm-selected-row,
.elementor-device-tablet .icm-selected-row,
html.elementor-device-tablet .icm-selected-row,
html[data-icm-el-device="tablet"] .icm-selected-row {
  --icm-selected-columns: var(--icm-selected-columns-tablet, 2) !important;
  --icm-selected-scroll: var(--icm-selected-scroll-tablet, 1) !important;
}
body.elementor-device-tablet .icm-selected-row > .icm-selected-card,
body[data-elementor-device-mode="tablet"] .icm-selected-row > .icm-selected-card,
body[data-icm-el-device="tablet"] .icm-selected-row > .icm-selected-card,
html.elementor-device-tablet .icm-selected-row > .icm-selected-card,
html[data-icm-el-device="tablet"] .icm-selected-row > .icm-selected-card {
  flex: 0 0 calc((100% - (var(--icm-selected-columns, 2) - 1) * var(--icm-selected-gap, 14px)) / var(--icm-selected-columns, 2)) !important;
  width: calc((100% - (var(--icm-selected-columns, 2) - 1) * var(--icm-selected-gap, 14px)) / var(--icm-selected-columns, 2)) !important;
  min-width: 0 !important;
  max-width: none !important;
}
body.elementor-device-mobile .icm-past-webinars-swiper,
body[data-elementor-device-mode="mobile"] .icm-past-webinars-swiper,
body[data-icm-el-device="mobile"] .icm-past-webinars-swiper,
.elementor-device-mobile .icm-past-webinars-swiper {
  --icm-past-visible: var(--icm-past-visible-mobile, 1) !important;
  --icm-past-scroll: var(--icm-past-scroll-mobile, 1) !important;
}
body.elementor-device-tablet .icm-past-webinars-swiper,
body[data-elementor-device-mode="tablet"] .icm-past-webinars-swiper,
body[data-icm-el-device="tablet"] .icm-past-webinars-swiper,
.elementor-device-tablet .icm-past-webinars-swiper {
  --icm-past-visible: var(--icm-past-visible-tablet, 1) !important;
  --icm-past-scroll: var(--icm-past-scroll-tablet, 1) !important;
}

/* Past / completed webinars ? slides sized by --icm-past-visible */
html body .icm-past-webinars-swiper,
html body .elementor-widget-icm_academy_completed_webinar_banners .icm-past-webinars-swiper {
  --icm-past-visible: 1;
  --icm-past-visible-desktop: 1;
  --icm-past-visible-tablet: 1;
  --icm-past-visible-mobile: 1;
  --icm-past-scroll: 1;
  --icm-past-gap: 14px;
  overflow: hidden;
}
html body .icm-past-webinars-swiper.is-icm-ready .swiper-wrapper,
html body .icm-past-webinars-swiper.swiper-initialized .swiper-wrapper,
html body .elementor-widget-icm_academy_completed_webinar_banners .icm-past-webinars-swiper.is-icm-ready .swiper-wrapper {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: var(--icm-past-gap, 14px) !important;
  overflow-x: auto !important;
  scroll-snap-type: x mandatory !important;
  scrollbar-width: none;
  transform: none !important;
}
html body .icm-past-webinars-swiper.is-icm-ready .swiper-wrapper::-webkit-scrollbar,
html body .icm-past-webinars-swiper.swiper-initialized .swiper-wrapper::-webkit-scrollbar {
  display: none;
}
html body .icm-past-webinars-swiper.is-icm-ready .swiper-slide,
html body .icm-past-webinars-swiper.swiper-initialized .swiper-slide,
html body .elementor-widget-icm_academy_completed_webinar_banners .icm-past-webinars-swiper.is-icm-ready .swiper-slide,
html body .elementor-widget-icm_academy_completed_webinar_banners .icm-past-webinars-swiper.swiper-initialized .swiper-slide {
  flex: 0 0 calc((100% - (var(--icm-past-visible, 1) - 1) * var(--icm-past-gap, 14px)) / var(--icm-past-visible, 1)) !important;
  width: calc((100% - (var(--icm-past-visible, 1) - 1) * var(--icm-past-gap, 14px)) / var(--icm-past-visible, 1)) !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  height: auto !important;
  scroll-snap-align: start !important;
}
@media (max-width: 1024px) {
  html body .icm-past-webinars-swiper,
  html body .elementor-widget-icm_academy_completed_webinar_banners .icm-past-webinars-swiper {
    --icm-past-visible: var(--icm-past-visible-tablet, 1) !important;
    --icm-past-scroll: var(--icm-past-scroll-tablet, 1) !important;
  }
}
@media (max-width: 767px) {
  html body .icm-past-webinars-swiper,
  html body .elementor-widget-icm_academy_completed_webinar_banners .icm-past-webinars-swiper {
    --icm-past-visible: var(--icm-past-visible-mobile, 1) !important;
    --icm-past-scroll: var(--icm-past-scroll-mobile, 1) !important;
  }
  html body .icm-past-webinars-swiper.is-icm-ready .swiper-slide,
  html body .icm-past-webinars-swiper.swiper-initialized .swiper-slide,
  html body .elementor-widget-icm_academy_completed_webinar_banners .icm-past-webinars-swiper.is-icm-ready .swiper-slide,
  html body .elementor-widget-icm_academy_completed_webinar_banners .icm-past-webinars-swiper.swiper-initialized .swiper-slide {
    flex: 0 0 calc((100% - (var(--icm-past-visible, 1) - 1) * var(--icm-past-gap, 14px)) / var(--icm-past-visible, 1)) !important;
    width: calc((100% - (var(--icm-past-visible, 1) - 1) * var(--icm-past-gap, 14px)) / var(--icm-past-visible, 1)) !important;
  }
  html body .icm-fix12-past-webinars .icm-past-webinar-card {
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
  }
}

/* Kill leftover blank gap under past webinars on tablet/mobile (Elementor + front). */
html body .elementor-widget-icm_academy_completed_webinar_banners,
html body .elementor-widget-icm_academy_completed_webinar_banners > .elementor-widget-container,
html body .elementor-widget-icm_academy_completed_webinar_banners .icm-completed-webinars,
html body .elementor-widget-icm_academy_completed_webinar_banners .icm-fix12-past-webinars,
html body .elementor-widget-icm_academy_completed_webinar_banners .icm-container,
html body .elementor-widget-icm_academy_completed_webinar_banners .icm-past-webinars-shell,
html body .elementor-widget-icm_academy_completed_webinar_banners .icm-past-webinars-swiper {
  min-height: 0 !important;
  height: auto !important;
  margin-bottom: 0 !important;
}
html body .elementor-widget-icm_academy_completed_webinar_banners .icm-completed-webinars.icm-fix12-past-webinars {
  padding: 10px 0 8px !important;
}
@media (max-width: 1024px) {
  html body .elementor-widget-icm_academy_completed_webinar_banners,
  html body .elementor-widget-icm_academy_completed_webinar_banners > .elementor-widget-container {
    min-height: 0 !important;
    height: auto !important;
    overflow: visible !important;
  }
  html body .icm-past-webinars-swiper:not(.is-icm-ready):not(.swiper-initialized) .swiper-slide:not(:first-child) {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
  }
  html body .icm-fix12-past-webinars .icm-past-webinar-card,
  html body .elementor-widget-icm_academy_completed_webinar_banners .icm-past-webinar-card {
    grid-template-rows: auto !important;
    min-height: 0 !important;
    height: auto !important;
    margin-bottom: 0 !important;
  }
}
body.elementor-device-mobile .elementor-widget-icm_academy_completed_webinar_banners,
body.elementor-device-tablet .elementor-widget-icm_academy_completed_webinar_banners,
body[data-elementor-device-mode="mobile"] .elementor-widget-icm_academy_completed_webinar_banners,
body[data-elementor-device-mode="tablet"] .elementor-widget-icm_academy_completed_webinar_banners,
body[data-icm-el-device="mobile"] .elementor-widget-icm_academy_completed_webinar_banners,
body[data-icm-el-device="tablet"] .elementor-widget-icm_academy_completed_webinar_banners {
  min-height: 0 !important;
  height: auto !important;
}

html body .icm-past-webinar-card,
html body .icm-webinar-slide.icm-webinar-slide--past,
html body .icm-fix12-past-webinars .icm-past-webinar-card,
html body .icm-fix12-past-webinars .icm-webinar-slide--past,
html body .elementor-widget-icm_academy_completed_webinar_banners .icm-past-webinar-card,
html body .elementor-widget-icm_academy_completed_webinar_banners .icm-webinar-slide--past {
  position: relative !important;
  inset: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
}
/* Editor flag on the section itself (works even if iframe body lacks elementor-editor-active). */
.icm-fix12-past-webinars.is-icm-editor {
  position: relative !important;
  min-height: 112px !important;
  height: auto !important;
  overflow: visible !important;
}
.icm-fix12-past-webinars.is-icm-editor .icm-past-webinar-card,
.icm-fix12-past-webinars.is-icm-editor .icm-webinar-slide--past,
.icm-fix12-past-webinars.is-icm-editor .icm-past-webinars-static {
  position: relative !important;
  inset: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  min-height: 112px !important;
  height: auto !important;
}
.icm-fix12-past-webinars.is-icm-editor .icm-webinar-nav {
  display: none !important;
}
.elementor-widget-icm_academy_completed_webinar_banners:has(.is-icm-editor) {
  position: relative !important;
  min-height: 140px !important;
  height: auto !important;
  overflow: visible !important;
  pointer-events: auto !important;
  z-index: 3 !important;
}
.elementor-widget-icm_academy_completed_webinar_banners:has(.is-icm-editor) > .elementor-widget-container {
  pointer-events: auto !important;
  min-height: 140px !important;
}
.elementor-widget-icm_academy_completed_webinar_banners:has(.is-icm-editor) > .elementor-widget-container * {
  pointer-events: none !important;
}

/* Elementor editor: real hit box + clicks must reach Elementor (not inner links/cards). */
html body.elementor-editor-active .elementor-widget-icm_academy_completed_webinar_banners,
html body.elementor-edit-area-active .elementor-widget-icm_academy_completed_webinar_banners {
  position: relative !important;
  z-index: 3 !important;
  min-height: 140px !important;
  height: auto !important;
  overflow: visible !important;
  pointer-events: auto !important;
  scroll-snap-align: none !important;
  scroll-margin: 0 !important;
}
html body.elementor-editor-active .elementor-widget-icm_academy_completed_webinar_banners > .elementor-widget-container,
html body.elementor-edit-area-active .elementor-widget-icm_academy_completed_webinar_banners > .elementor-widget-container {
  position: relative !important;
  min-height: 140px !important;
  height: auto !important;
  overflow: visible !important;
  pointer-events: auto !important;
}
html body.elementor-editor-active .elementor-widget-icm_academy_completed_webinar_banners > .elementor-widget-container *,
html body.elementor-edit-area-active .elementor-widget-icm_academy_completed_webinar_banners > .elementor-widget-container * {
  pointer-events: none !important;
  scroll-snap-align: none !important;
}
html body.elementor-editor-active .elementor-widget-icm_academy_completed_webinar_banners .icm-past-webinar-card,
html body.elementor-edit-area-active .elementor-widget-icm_academy_completed_webinar_banners .icm-past-webinar-card,
html body.elementor-editor-active .elementor-widget-icm_academy_completed_webinar_banners .icm-webinar-slide--past,
html body.elementor-edit-area-active .elementor-widget-icm_academy_completed_webinar_banners .icm-webinar-slide--past,
html body.elementor-editor-active .elementor-widget-icm_academy_completed_webinar_banners .icm-past-webinars-static,
html body.elementor-edit-area-active .elementor-widget-icm_academy_completed_webinar_banners .icm-past-webinars-static,
html body.elementor-editor-active .elementor-widget-icm_academy_completed_webinar_banners .icm-fix12-past-webinars.is-icm-editor,
html body.elementor-edit-area-active .elementor-widget-icm_academy_completed_webinar_banners .icm-fix12-past-webinars.is-icm-editor {
  position: relative !important;
  inset: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  min-height: 112px !important;
  height: auto !important;
}
html body.elementor-editor-active .elementor-widget-icm_academy_completed_webinar_banners .icm-past-webinars-swiper,
html body.elementor-edit-area-active .elementor-widget-icm_academy_completed_webinar_banners .icm-past-webinars-swiper,
html body.elementor-editor-active .elementor-widget-icm_academy_completed_webinar_banners .icm-past-webinars-swiper .swiper-wrapper,
html body.elementor-edit-area-active .elementor-widget-icm_academy_completed_webinar_banners .icm-past-webinars-swiper .swiper-wrapper {
  scroll-snap-type: none !important;
  overflow: visible !important;
  transform: none !important;
}
html body.elementor-editor-active .elementor-widget-icm_academy_completed_webinar_banners .icm-webinar-nav,
html body.elementor-edit-area-active .elementor-widget-icm_academy_completed_webinar_banners .icm-webinar-nav {
  display: none !important;
}
html body.elementor-editor-active .elementor-widget-icm_academy_webinars_upcoming .icm-webinar-nav,
html body.elementor-edit-area-active .elementor-widget-icm_academy_webinars_upcoming .icm-webinar-nav {
  z-index: 2 !important;
}
html body.elementor-editor-active,
html body.elementor-edit-area-active {
  scroll-behavior: auto !important;
}
/* Elementor device preview (iframe width often stays desktop ? pair with body device class). */
body.elementor-device-mobile .icm-fix12-past-webinars .icm-past-webinar-card,
body[data-elementor-device-mode="mobile"] .icm-fix12-past-webinars .icm-past-webinar-card,
body[data-icm-el-device="mobile"] .icm-fix12-past-webinars .icm-past-webinar-card,
.elementor-device-mobile .icm-fix12-past-webinars .icm-past-webinar-card {
  display: flex !important;
  flex-direction: column !important;
  grid-template-columns: none !important;
  grid-template-rows: none !important;
  gap: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
}
body.elementor-device-mobile .icm-past-webinars-swiper:not(.is-icm-ready):not(.swiper-initialized) .swiper-slide:not(:first-child),
body[data-elementor-device-mode="mobile"] .icm-past-webinars-swiper:not(.is-icm-ready):not(.swiper-initialized) .swiper-slide:not(:first-child),
body[data-icm-el-device="mobile"] .icm-past-webinars-swiper:not(.is-icm-ready):not(.swiper-initialized) .swiper-slide:not(:first-child),
body.elementor-device-tablet .icm-past-webinars-swiper:not(.is-icm-ready):not(.swiper-initialized) .swiper-slide:not(:first-child),
body[data-elementor-device-mode="tablet"] .icm-past-webinars-swiper:not(.is-icm-ready):not(.swiper-initialized) .swiper-slide:not(:first-child),
body[data-icm-el-device="tablet"] .icm-past-webinars-swiper:not(.is-icm-ready):not(.swiper-initialized) .swiper-slide:not(:first-child) {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
}
body.elementor-device-mobile .icm-fix12-past-webinars .icm-past-webinar-card__image,
body[data-elementor-device-mode="mobile"] .icm-fix12-past-webinars .icm-past-webinar-card__image,
body[data-icm-el-device="mobile"] .icm-fix12-past-webinars .icm-past-webinar-card__image,
.elementor-device-mobile .icm-fix12-past-webinars .icm-past-webinar-card__image,
body.elementor-device-mobile .icm-fix12-past-webinars .icm-past-webinar-card .icm-webinar-slide__image,
body[data-elementor-device-mode="mobile"] .icm-fix12-past-webinars .icm-past-webinar-card .icm-webinar-slide__image,
body[data-icm-el-device="mobile"] .icm-fix12-past-webinars .icm-past-webinar-card .icm-webinar-slide__image,
.elementor-device-mobile .icm-fix12-past-webinars .icm-past-webinar-card .icm-webinar-slide__image {
  order: 1 !important;
  width: 100% !important;
  height: 190px !important;
  min-height: 190px !important;
  margin: 0 !important;
}
body.elementor-device-mobile .icm-fix12-past-webinars .icm-past-webinar-card__meta,
body[data-elementor-device-mode="mobile"] .icm-fix12-past-webinars .icm-past-webinar-card__meta,
body[data-icm-el-device="mobile"] .icm-fix12-past-webinars .icm-past-webinar-card__meta,
.elementor-device-mobile .icm-fix12-past-webinars .icm-past-webinar-card__meta {
  order: 2 !important;
  display: flex !important;
}
body.elementor-device-tablet .icm-fix12-past-webinars .icm-past-webinar-card,
body[data-elementor-device-mode="tablet"] .icm-fix12-past-webinars .icm-past-webinar-card,
body[data-icm-el-device="tablet"] .icm-fix12-past-webinars .icm-past-webinar-card,
.elementor-device-tablet .icm-fix12-past-webinars .icm-past-webinar-card {
  display: flex !important;
  flex-direction: column !important;
  grid-template-columns: none !important;
  grid-template-rows: none !important;
  padding: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
}
body.elementor-device-tablet .icm-fix12-past-webinars .icm-past-webinar-card__meta,
body[data-elementor-device-mode="tablet"] .icm-fix12-past-webinars .icm-past-webinar-card__meta,
body[data-icm-el-device="tablet"] .icm-fix12-past-webinars .icm-past-webinar-card__meta,
.elementor-device-tablet .icm-fix12-past-webinars .icm-past-webinar-card__meta {
  display: flex !important;
}

/* ==========================================================================
   FIX77 ? All rails: flex must use ACTIVE vars (not *-desktop locks).
   Elementor mobile/tablet preview keeps iframe wide; media queries alone fail.
   ========================================================================== */

/* Guides: per-breakpoint vars + device mode */
.icm-guide-row {
  --icm-guide-columns-desktop: var(--icm-guide-columns, 8);
  --icm-guide-columns-tablet: 4;
  --icm-guide-columns-mobile: 2;
  --icm-guide-scroll: 1;
  --icm-guide-scroll-desktop: 1;
  --icm-guide-scroll-tablet: 1;
  --icm-guide-scroll-mobile: 1;
}
.icm-guide-row .icm-guide-card,
.icm-guide-row > .icm-guide-card {
  flex: 0 0 calc((100% - (var(--icm-guide-columns, 8) - 1) * var(--icm-guide-gap, 12px)) / var(--icm-guide-columns, 8)) !important;
  width: calc((100% - (var(--icm-guide-columns, 8) - 1) * var(--icm-guide-gap, 12px)) / var(--icm-guide-columns, 8)) !important;
  min-width: 0 !important;
  max-width: none !important;
}
@media (max-width: 1024px) {
  .icm-guide-row {
    --icm-guide-columns: var(--icm-guide-columns-tablet, 4) !important;
    --icm-guide-scroll: var(--icm-guide-scroll-tablet, 1) !important;
  }
}
@media (max-width: 767px) {
  .icm-guide-row {
    --icm-guide-columns: var(--icm-guide-columns-mobile, 2) !important;
    --icm-guide-scroll: var(--icm-guide-scroll-mobile, 1) !important;
  }
}
body.elementor-device-mobile .icm-guide-row,
body[data-elementor-device-mode="mobile"] .icm-guide-row,
body[data-icm-el-device="mobile"] .icm-guide-row,
html.elementor-device-mobile .icm-guide-row,
html[data-icm-el-device="mobile"] .icm-guide-row {
  --icm-guide-columns: var(--icm-guide-columns-mobile, 2) !important;
  --icm-guide-scroll: var(--icm-guide-scroll-mobile, 1) !important;
}
body.elementor-device-tablet .icm-guide-row,
body[data-elementor-device-mode="tablet"] .icm-guide-row,
body[data-icm-el-device="tablet"] .icm-guide-row,
html.elementor-device-tablet .icm-guide-row,
html[data-icm-el-device="tablet"] .icm-guide-row {
  --icm-guide-columns: var(--icm-guide-columns-tablet, 4) !important;
  --icm-guide-scroll: var(--icm-guide-scroll-tablet, 1) !important;
}

/* Popular: size from --icm-pop-visible (JS/device/media flip this) */
.icm-popular-row,
.icm-popular-slider .icm-popular-row,
.elementor-widget-icm_articles_popular .icm-popular-row {
  --icm-pop-visible: var(--icm-pop-visible-desktop, 4);
}
.icm-popular-row .icm-popular,
.icm-popular-slider .icm-popular,
.elementor-widget-icm_articles_popular .icm-popular {
  flex: 0 0 calc((100% - (var(--icm-pop-visible, 4) - 1) * var(--icm-pop-gap, 10px)) / var(--icm-pop-visible, 4)) !important;
  width: calc((100% - (var(--icm-pop-visible, 4) - 1) * var(--icm-pop-gap, 10px)) / var(--icm-pop-visible, 4)) !important;
  min-width: 0 !important;
  max-width: none !important;
  scroll-snap-align: start !important;
}
@media (max-width: 1024px) {
  .icm-popular-row,
  .icm-popular-slider .icm-popular-row,
  .elementor-widget-icm_articles_popular .icm-popular-row {
    --icm-pop-visible: var(--icm-pop-visible-tablet, 2) !important;
    --icm-pop-scroll: var(--icm-pop-scroll-tablet, 1) !important;
  }
}
@media (max-width: 767px) {
  .icm-popular-row,
  .icm-popular-slider .icm-popular-row,
  .elementor-widget-icm_articles_popular .icm-popular-row {
    --icm-pop-visible: var(--icm-pop-visible-mobile, 1) !important;
    --icm-pop-scroll: var(--icm-pop-scroll-mobile, 1) !important;
  }
}
body.elementor-device-mobile .icm-popular-row,
body[data-elementor-device-mode="mobile"] .icm-popular-row,
body[data-icm-el-device="mobile"] .icm-popular-row,
html.elementor-device-mobile .icm-popular-row,
html[data-icm-el-device="mobile"] .icm-popular-row,
.elementor-device-mobile .icm-popular-row {
  --icm-pop-visible: var(--icm-pop-visible-mobile, 1) !important;
  --icm-pop-scroll: var(--icm-pop-scroll-mobile, 1) !important;
}
body.elementor-device-tablet .icm-popular-row,
body[data-elementor-device-mode="tablet"] .icm-popular-row,
body[data-icm-el-device="tablet"] .icm-popular-row,
html.elementor-device-tablet .icm-popular-row,
html[data-icm-el-device="tablet"] .icm-popular-row,
.elementor-device-tablet .icm-popular-row {
  --icm-pop-visible: var(--icm-pop-visible-tablet, 2) !important;
  --icm-pop-scroll: var(--icm-pop-scroll-tablet, 1) !important;
}

/* Related (single + featured): size from --icm-related-visible */
.icm-related-rail,
.icm-related-section .icm-related-rail,
.icm-featured-articles-slider .icm-related-rail,
body.single-post .icm-related-section .icm-related-rail {
  --icm-related-visible: var(--icm-related-visible-desktop, 3);
}
.icm-related-rail .icm-related-item,
.icm-related-section .icm-related-item,
.icm-featured-articles-slider .icm-related-item,
body.single-post .icm-related-section .icm-related-item {
  flex: 0 0 calc((100% - (var(--icm-related-visible, 3) - 1) * var(--icm-related-gap, 14px)) / var(--icm-related-visible, 3)) !important;
  width: calc((100% - (var(--icm-related-visible, 3) - 1) * var(--icm-related-gap, 14px)) / var(--icm-related-visible, 3)) !important;
  min-width: 0 !important;
  max-width: none !important;
  scroll-snap-align: start !important;
}
@media (max-width: 1024px) {
  .icm-related-rail,
  .icm-related-section .icm-related-rail,
  .icm-featured-articles-slider .icm-related-rail,
  body.single-post .icm-related-section .icm-related-rail {
    --icm-related-visible: var(--icm-related-visible-tablet, 2) !important;
    --icm-related-scroll: var(--icm-related-scroll-tablet, 1) !important;
  }
}
@media (max-width: 767px) {
  .icm-related-rail,
  .icm-related-section .icm-related-rail,
  .icm-featured-articles-slider .icm-related-rail,
  body.single-post .icm-related-section .icm-related-rail {
    --icm-related-visible: var(--icm-related-visible-mobile, 1) !important;
    --icm-related-scroll: var(--icm-related-scroll-mobile, 1) !important;
  }
}
body.elementor-device-mobile .icm-related-rail,
body[data-elementor-device-mode="mobile"] .icm-related-rail,
body[data-icm-el-device="mobile"] .icm-related-rail,
html.elementor-device-mobile .icm-related-rail,
html[data-icm-el-device="mobile"] .icm-related-rail,
.elementor-device-mobile .icm-related-rail,
body.elementor-device-mobile .icm-related-section .icm-related-rail,
body[data-icm-el-device="mobile"] .icm-related-section .icm-related-rail {
  --icm-related-visible: var(--icm-related-visible-mobile, 1) !important;
  --icm-related-scroll: var(--icm-related-scroll-mobile, 1) !important;
}
body.elementor-device-tablet .icm-related-rail,
body[data-elementor-device-mode="tablet"] .icm-related-rail,
body[data-icm-el-device="tablet"] .icm-related-rail,
html.elementor-device-tablet .icm-related-rail,
html[data-icm-el-device="tablet"] .icm-related-rail,
.elementor-device-tablet .icm-related-rail,
body.elementor-device-tablet .icm-related-section .icm-related-rail,
body[data-icm-el-device="tablet"] .icm-related-section .icm-related-rail {
  --icm-related-visible: var(--icm-related-visible-tablet, 2) !important;
  --icm-related-scroll: var(--icm-related-scroll-tablet, 1) !important;
}

/* Topic cards must not borrow --icm-selected-columns from legacy shared rules */
@media (max-width: 720px) {
  .icm-topic-row > .icm-topic-card,
  .elementor-widget-icm_academy_collections .icm-topic-card {
    flex: 0 0 calc((100% - (var(--icm-topic-columns, 1) - 1) * var(--icm-topic-gap, 14px)) / var(--icm-topic-columns, 1)) !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}
body.elementor-device-mobile .icm-topic-row,
body[data-elementor-device-mode="mobile"] .icm-topic-row,
body[data-icm-el-device="mobile"] .icm-topic-row,
html.elementor-device-mobile .icm-topic-row,
html[data-icm-el-device="mobile"] .icm-topic-row {
  --icm-topic-columns: var(--icm-topic-columns-mobile, 1) !important;
  --icm-topic-scroll: var(--icm-topic-scroll-mobile, 1) !important;
}
body.elementor-device-tablet .icm-topic-row,
body[data-elementor-device-mode="tablet"] .icm-topic-row,
body[data-icm-el-device="tablet"] .icm-topic-row,
html.elementor-device-tablet .icm-topic-row,
html[data-icm-el-device="tablet"] .icm-topic-row {
  --icm-topic-columns: var(--icm-topic-columns-tablet, 2) !important;
  --icm-topic-scroll: var(--icm-topic-scroll-tablet, 1) !important;
}
body.elementor-device-mobile .icm-filterbar__rail,
body[data-elementor-device-mode="mobile"] .icm-filterbar__rail,
body[data-icm-el-device="mobile"] .icm-filterbar__rail,
html.elementor-device-mobile .icm-filterbar__rail,
html[data-icm-el-device="mobile"] .icm-filterbar__rail {
  --icm-filter-columns: var(--icm-filter-columns-mobile, 1) !important;
  --icm-filter-scroll: var(--icm-filter-scroll-mobile, 1) !important;
}
body.elementor-device-tablet .icm-filterbar__rail,
body[data-elementor-device-mode="tablet"] .icm-filterbar__rail,
body[data-icm-el-device="tablet"] .icm-filterbar__rail,
html.elementor-device-tablet .icm-filterbar__rail,
html[data-icm-el-device="tablet"] .icm-filterbar__rail {
  --icm-filter-columns: var(--icm-filter-columns-tablet, 3) !important;
  --icm-filter-scroll: var(--icm-filter-scroll-tablet, 1) !important;
}


/* Fixed-frame card media: never crop. Fit the whole photo inside the slot (contain). */
.icm-article-card__image img,
.icm-section--articles-grid .icm-article-card__image img,
.icm-selected-card__image img,
.icm-section--selected .icm-selected-card__image img,
.icm-topic-card__image img,
.icm-collection-card__visual img,
.icm-sidebar-post img,
.icm-popular img,
.icm-related-item .icm-article-card__image img,
.icm-webinar__image img,
.icm-webinar-slide__image img,
.icm-section--webinar-upcoming .icm-webinar-slide__image img,
.icm-section--webinar-replays .icm-webinar-slide__image img,
.icm-fix12-past-webinars .icm-webinar-slide__image img {
  object-fit: contain;
  object-position: center center;
}

/* Elementor mobile preview + narrow viewports: force bottom fade on stacked webinar images. */
@media (max-width: 768px) {
  .icm-section--webinar-upcoming .icm-webinar-slide__image::before,
  .icm-section--webinar-replays .icm-webinar-slide__image::before,
  .icm-fix12-past-webinars .icm-webinar-slide__image::before,
  .icm-webinar-slide__image::before {
    inset: 0 0 auto 0 !important;
    width: 100% !important;
    height: 32% !important;
    background: linear-gradient(180deg, var(--icm-webinar-fade-color, #002b4d) 0%, transparent 100%) !important;
  }
  .icm-section--webinar-upcoming .icm-webinar-slide__image::after,
  .icm-section--webinar-replays .icm-webinar-slide__image::after,
  .icm-fix12-past-webinars .icm-webinar-slide__image::after,
  .icm-webinar-slide__image::after,
  .icm-webinar-slide__image:after {
    inset: auto 0 0 0 !important;
    width: 100% !important;
    height: min(120px, 72%) !important;
    background: linear-gradient(180deg, transparent 0%, color-mix(in srgb, var(--icm-webinar-fade-color, #002b4d) 45%, transparent) 42%, var(--icm-webinar-fade-color, #002b4d) 100%) !important;
  }
}
body.elementor-device-mobile .icm-webinar-slide__image::before,
body[data-elementor-device-mode="mobile"] .icm-webinar-slide__image::before,
body[data-icm-el-device="mobile"] .icm-webinar-slide__image::before,
.elementor-device-mobile .icm-webinar-slide__image::before,
body.elementor-device-mobile .icm-section--webinar-upcoming .icm-webinar-slide__image::before,
body.elementor-device-mobile .icm-section--webinar-replays .icm-webinar-slide__image::before,
body.elementor-device-mobile .icm-fix12-past-webinars .icm-webinar-slide__image::before {
  inset: 0 0 auto 0 !important;
  width: 100% !important;
  height: 32% !important;
  background: linear-gradient(180deg, var(--icm-webinar-fade-color, #002b4d) 0%, transparent 100%) !important;
}
body.elementor-device-mobile .icm-webinar-slide__image::after,
body.elementor-device-mobile .icm-webinar-slide__image:after,
body[data-elementor-device-mode="mobile"] .icm-webinar-slide__image::after,
body[data-icm-el-device="mobile"] .icm-webinar-slide__image::after,
.elementor-device-mobile .icm-webinar-slide__image::after,
body.elementor-device-mobile .icm-section--webinar-upcoming .icm-webinar-slide__image::after,
body.elementor-device-mobile .icm-section--webinar-replays .icm-webinar-slide__image::after,
body.elementor-device-mobile .icm-fix12-past-webinars .icm-webinar-slide__image::after {
  inset: auto 0 0 0 !important;
  width: 100% !important;
  height: min(120px, 72%) !important;
  background: linear-gradient(180deg, transparent 0%, color-mix(in srgb, var(--icm-webinar-fade-color, #002b4d) 45%, transparent) 42%, var(--icm-webinar-fade-color, #002b4d) 100%) !important;
}

/* ========================================================================
   FIX81 ? (1) Mobile/tablet header flush to viewport top
            (2) Mobile menu bg = header bg (--icm-header-bg)
            (3) Instructor avatar stays seated in its ring
   Surgical only ? do not alter other layout contracts.
   ======================================================================== */

/*
 * Shell must share header surface color so any residual strip cannot show
 * page/hero content. Do NOT !important the inner bar background ? scroll
 * solid/semi/transparent modes in theme.css must keep winning.
 */
html body .icm-global-builder--header {
  background-color: var(--icm-header-bg, var(--icm-surface-navy, #001D36));
  margin-block-start: 0 !important;
}
html body .icm-site-header,
html body .icm-header.icm-site-header {
  margin-block-start: 0 !important;
}
html body .icm-global-builder--header,
html body .icm-global-builder--header > .elementor,
html body .icm-global-builder--header .elementor-section,
html body .icm-global-builder--header .e-con,
html body .icm-global-builder--header .elementor-widget-icm_site_header,
html body .icm-global-builder--header .elementor-widget-container {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/*
 * CRITICAL: never leave a non-zero top/inset-block-start on a relative header.
 * Legacy admin-bar rules (theme.css L7/L37) set top:32/46 while later rules
 * force position:relative ? empty strip above the bar; page content shows through.
 * Sticky offset belongs ONLY on the sticky subject (shell or body-level header).
 */
html body .icm-site-header,
html body .icm-header,
html body .icm-header.icm-site-header,
html body .icm-global-builder--header .icm-header,
html body .icm-global-builder--header .icm-site-header {
  top: auto !important;
  inset-block-start: auto !important;
}

/* Inner Elementor <header> must stay in-flow relative ? sticky lives on the shell. */
html body .icm-global-builder--header .icm-header,
html body .icm-global-builder--header .icm-site-header {
  position: relative !important;
}

@media (min-width: 1100px) {
  html body > .icm-site-header.is-sticky.icm-sticky-desktop,
  html body > .icm-header.icm-site-header.is-sticky.icm-sticky-desktop,
  html body .icm-global-builder--header:has(.icm-site-header.is-sticky.icm-sticky-desktop) {
    top: 0 !important;
    inset-block-start: 0 !important;
  }
  html body.admin-bar > .icm-site-header.is-sticky.icm-sticky-desktop,
  html body.admin-bar > .icm-header.icm-site-header.is-sticky.icm-sticky-desktop,
  html body.admin-bar .icm-global-builder--header:has(.icm-site-header.is-sticky.icm-sticky-desktop) {
    top: 32px !important;
    inset-block-start: 32px !important;
  }
}

@media (min-width: 768px) and (max-width: 1099px) {
  html body > .icm-site-header.is-sticky.icm-sticky-tablet,
  html body > .icm-header.icm-site-header.is-sticky.icm-sticky-tablet,
  html body .icm-global-builder--header:has(.icm-site-header.is-sticky.icm-sticky-tablet) {
    top: 0 !important;
    inset-block-start: 0 !important;
  }
  /* Native body-level only under admin-bar (WP already pads html for Elementor shell). */
  html body.admin-bar > .icm-site-header.is-sticky.icm-sticky-tablet,
  html body.admin-bar > .icm-header.icm-site-header.is-sticky.icm-sticky-tablet {
    top: 32px !important;
    inset-block-start: 32px !important;
  }
}

@media (max-width: 767px) {
  html body > .icm-site-header.is-sticky.icm-sticky-mobile,
  html body > .icm-header.icm-site-header.is-sticky.icm-sticky-mobile,
  html body .icm-global-builder--header:has(.icm-site-header.is-sticky.icm-sticky-mobile) {
    top: 0 !important;
    inset-block-start: 0 !important;
  }
  html body.admin-bar > .icm-site-header.is-sticky.icm-sticky-mobile,
  html body.admin-bar > .icm-header.icm-site-header.is-sticky.icm-sticky-mobile {
    top: 46px !important;
    inset-block-start: 46px !important;
  }
}

/* Mobile/tablet dropdown menu: always header surface color (editable via surface_navy). */
@media (max-width: 1099px) {
  html body .icm-site-header .icm-main-nav,
  html body .icm-header .icm-main-nav,
  html body .icm-header .icm-nav,
  html body .icm-header.icm-site-header .icm-main-nav {
    background: var(--icm-header-bg, var(--icm-surface-navy, #001D36)) !important;
    background-color: var(--icm-header-bg, var(--icm-surface-navy, #001D36)) !important;
  }
}

/* Instructor row: keep photo seated beside the name in all viewports. */
html body .icm-instructor {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
}
html body .icm-instructor > .icm-avatar,
html body .icm-instructor .icm-avatar {
  position: relative !important;
  flex: 0 0 var(--icm-avatar-size, 40px) !important;
  width: var(--icm-avatar-size, 40px) !important;
  height: var(--icm-avatar-size, 40px) !important;
  min-width: var(--icm-avatar-size, 40px) !important;
  min-height: var(--icm-avatar-size, 40px) !important;
  margin: 0 !important;
  overflow: hidden !important;
  align-self: center !important;
}

/* FIX82 ? Elementor ICM Header Style paints the bar; shell stays clear so widget bg shows. */
html body .icm-global-builder--header:has(.elementor-widget-icm_site_header) {
  background-color: transparent;
}

/* ========================================================================
   FIX83  Elementor Color Sampler (?????????): sample + hover swatches
   Theme editor hit-box rules set pointer-events:none on widget children so
   Color Sampler never gets e.target=img, and swatch mouseenter (live preview
   onto the active color control, e.g. background) can fail. Restore sampling
   UX only in the Elementor editor  front-end untouched.
   ======================================================================== */

/* Swatch palette must sit above ICM overlays and receive hover/click. */
html body.elementor-editor-active .e-element-color-picker,
html body.elementor-edit-area-active .e-element-color-picker,
html body.elementor-editor-active .e-element-color-picker *,
html body.elementor-edit-area-active .e-element-color-picker * {
  pointer-events: auto !important;
  z-index: 2147483000 !important;
}
html body.elementor-editor-active .elementor-element:has(> .e-element-color-picker),
html body.elementor-edit-area-active .elementor-element:has(> .e-element-color-picker),
html body.elementor-editor-active .elementor-element:has(> .e-element-color-picker) > .elementor-widget-container,
html body.elementor-edit-area-active .elementor-element:has(> .e-element-color-picker) > .elementor-widget-container {
  overflow: visible !important;
}

/* ColorThief path: Sampler needs the real <img> as event.target (docs: images work best). */
html body.elementor-editor-active .elementor-element img,
html body.elementor-edit-area-active .elementor-element img,
html body.elementor-editor-active .elementor-widget-icm_academy_completed_webinar_banners > .elementor-widget-container img,
html body.elementor-edit-area-active .elementor-widget-icm_academy_completed_webinar_banners > .elementor-widget-container img,
html body.elementor-editor-active .elementor-widget-icm_academy_completed_webinar_banners:has(.is-icm-editor) > .elementor-widget-container img {
  pointer-events: auto !important;
}

/* While swatches are open, allow hover-preview on the active control (background etc.). */
html body.elementor-editor-active .elementor-element:has(> .e-element-color-picker) > .elementor-widget-container *,
html body.elementor-edit-area-active .elementor-element:has(> .e-element-color-picker) > .elementor-widget-container * {
  pointer-events: auto !important;
}
