/* Standard course promotion banner. Kept completely separate from the AI banner. */
.banner-spring.banner-spring--course {
  --course-emerald: #0aa77d;
  --course-indigo: #4d5fd0;
  --course-height: 9.2rem;
  position: relative;
  isolation: isolate;
  display: flex;
  width: 100%;
  min-height: var(--course-height);
  overflow: hidden;
  border-block: 1px solid rgba(40,132,153,.18) !important;
  background: radial-gradient(circle at 8% 15%,rgba(77,95,208,.11),transparent 25%),radial-gradient(circle at 91% 88%,rgba(10,167,125,.13),transparent 29%),linear-gradient(112deg,#f9fcff 0%,#eef9f7 48%,#f3f3ff 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.92),0 .7rem 2.5rem rgba(36,76,112,.1) !important;
}

.banner-spring.banner-spring--course::before {
  position: absolute;
  z-index: 0;
  top: -11rem;
  right: 4%;
  width: 42rem;
  height: 27rem;
  border-radius: 50%;
  background: radial-gradient(ellipse,rgba(10,167,125,.14),transparent 68%) !important;
  content: "";
  filter: blur(2rem);
  pointer-events: none;
}

.banner-spring.banner-spring--course::after {
  position: absolute;
  z-index: 1;
  inset: 0;
  background-image: linear-gradient(rgba(24,111,125,.042) 1px,transparent 1px),linear-gradient(90deg,rgba(24,111,125,.042) 1px,transparent 1px);
  background-size: 3.4rem 3.4rem;
  content: "";
  opacity: .7;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent);
  mask-image: linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent);
}

.banner-spring--course .aurora-left {
  position: absolute;
  z-index: 0;
  top: -9rem;
  left: 2%;
  width: 36rem;
  height: 24rem;
  border-radius: 50%;
  background: radial-gradient(ellipse,rgba(77,95,208,.11),transparent 68%) !important;
  filter: blur(2.2rem);
  pointer-events: none;
}

.banner-spring--course #spring-elements { position: absolute; z-index: 2; inset: 0; overflow: hidden; opacity: .2; pointer-events: none; }
.banner-spring--course .spring-item { color: #168768; text-shadow: none; filter: none; }

html[data-theme] .banner-spring--course .banner-spring-content {
  position: relative;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: min(100%,132rem);
  min-height: var(--course-height);
  margin-inline: auto;
  padding: 1.15rem 2.8rem !important;
  gap: clamp(1.2rem,2vw,2.5rem) !important;
  box-sizing: border-box;
}

html[data-theme] .banner-spring--course .banner-text { display: flex; flex: 1 1 42rem; align-items: center; min-width: 0; gap: 1.25rem; }

html[data-theme] .banner-spring--course .banner-icon-wrap {
  position: relative;
  display: grid;
  flex: 0 0 4.6rem;
  width: 4.6rem;
  height: 4.6rem;
  overflow: hidden;
  place-items: center;
  border: 1px solid rgba(22,133,111,.24) !important;
  border-radius: 1.4rem;
  background: linear-gradient(145deg,rgba(255,255,255,.96),rgba(213,243,235,.78)) !important;
  box-shadow: inset 0 1px 0 #fff,0 .5rem 1.35rem rgba(25,100,91,.11) !important;
  animation: none;
}

html[data-theme] .banner-spring--course .banner-icon-wrap::before { position: absolute; inset: 0; background: linear-gradient(135deg,rgba(10,167,125,.13),transparent 58%,rgba(77,95,208,.12)); content: ""; }
html[data-theme] .banner-spring--course .banner-icon-wrap i { position: relative; color: #078365 !important; font-size: 1.7rem; text-shadow: none; }
html[data-theme] .banner-spring--course .banner-text-content { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; gap: .35rem; }

html[data-theme] .banner-spring--course .spring-title {
  position: relative;
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  padding-inline-start: 1.15rem;
  color: #123753 !important;
  background: none !important;
  font-family: Peyda,iransansweb,sans-serif;
  font-size: clamp(1.55rem,1.35vw,1.85rem) !important;
  font-weight: 900;
  line-height: 1.35;
  letter-spacing: -.025em;
  text-shadow: none;
  -webkit-text-fill-color: currentColor;
}

html[data-theme] .banner-spring--course .spring-title::before { position: absolute; inset-block: .15em; inset-inline-start: 0; width: .35rem; border-radius: 999px; background: linear-gradient(180deg,var(--course-emerald),var(--course-indigo)); box-shadow: 0 .25rem .7rem rgba(30,128,130,.18); content: ""; }
html[data-theme] .banner-spring--course .spring-message { margin-top: 0 !important; color: #50677a !important; font-size: 1.1rem; font-weight: 650; line-height: 1.55; }

html[data-theme] .banner-spring--course .discount {
  display: inline-flex;
  align-items: center;
  min-height: 2.2rem;
  margin-inline: .25rem;
  padding: .12rem .7rem;
  border: 1px solid rgba(7,139,103,.22);
  border-radius: 999px;
  color: #08795f !important;
  background: rgba(255,255,255,.72);
  box-shadow: inset 0 1px 0 #fff;
  font-size: .95em;
  font-weight: 900;
  line-height: 1.4;
  text-shadow: none;
}

html[data-theme] .banner-spring--course .banner-divider { flex: 0 0 1px; width: 1px; height: 4.3rem; background: linear-gradient(transparent,rgba(25,125,123,.3),transparent); box-shadow: none; }

html[data-theme] .banner-spring--course .timer-group {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: .4rem;
  padding: .4rem;
  border: 1px solid rgba(24,120,130,.12);
  border-radius: 1.35rem;
  direction: ltr;
  background: rgba(255,255,255,.55);
  box-shadow: 0 .45rem 1.4rem rgba(31,83,104,.08);
  backdrop-filter: blur(1rem);
}

html[data-theme] .banner-spring--course .timer-box {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 4.8rem;
  height: 4.7rem;
  overflow: hidden;
  border: 1px solid rgba(22,126,122,.18) !important;
  border-radius: 1rem;
  background: linear-gradient(155deg,rgba(255,255,255,.98),rgba(220,243,238,.82)) !important;
  box-shadow: inset 0 1px 0 #fff,0 .25rem .8rem rgba(24,91,95,.08) !important;
  transition: transform 180ms ease,border-color 180ms ease;
}

html[data-theme] .banner-spring--course .timer-box::before { position: absolute; inset: 0 18% auto; height: 2px; border-radius: 0 0 999px 999px; background: linear-gradient(90deg,var(--course-emerald),var(--course-indigo)); box-shadow: none; content: ""; }
html[data-theme] .banner-spring--course .timer-box::after { display: none; content: none; }
html[data-theme] .banner-spring--course .timer-box:hover { border-color: rgba(12,142,121,.36) !important; transform: translateY(-1px); }
html[data-theme] .banner-spring--course .timer-box div { color: #164b62 !important; font-size: 1.58rem !important; font-weight: 900; font-variant-numeric: tabular-nums; line-height: 1; text-shadow: none; }
html[data-theme] .banner-spring--course .timer-box small { margin-top: .3rem; color: #647b84 !important; font-size: .82rem; font-weight: 700; line-height: 1; }
html[data-theme] .banner-spring--course .timer-sep { margin: 0 0 1.1rem; color: #4a8987 !important; font-size: 1.35rem; font-weight: 800; line-height: 1; text-shadow: none; }

html[data-theme] .banner-spring--course .banner-cta {
  position: relative;
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  min-height: 4.5rem;
  overflow: hidden;
  gap: 1rem;
  padding: .75rem 1.45rem;
  border: 1px solid rgba(28,120,128,.42) !important;
  border-radius: 1.15rem;
  color: #fff !important;
  background: linear-gradient(118deg,#0b6458 0%,#087e70 56%,#3e58ad 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18),0 .65rem 1.5rem rgba(15,86,82,.18) !important;
  font-size: 1.14rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.01em;
  text-shadow: none;
  white-space: nowrap;
  transition: transform 180ms ease,box-shadow 180ms ease;
}

html[data-theme] .banner-spring--course .banner-cta::before { display: none; content: none; animation: none; }
html[data-theme] .banner-spring--course .banner-cta::after { position: absolute; inset: auto 1.2rem 0; height: 1px; border-radius: 999px; background: linear-gradient(90deg,transparent,rgba(175,255,229,.9),transparent); content: ""; opacity: .7; }
html[data-theme] .banner-spring--course .banner-cta i { display: inline-flex; width: auto; height: 1.8rem; align-items: center; padding-inline-start: 1rem; border: 0; border-inline-start: 1px solid rgba(255,255,255,.28); border-radius: 0; color: #c4fbed !important; background: transparent; box-shadow: none; font-size: .9rem; transition: transform 180ms ease; }
html[data-theme] .banner-spring--course .banner-cta:hover,html[data-theme] .banner-spring--course .banner-cta:focus-visible { color: #fff !important; background: linear-gradient(118deg,#087467 0%,#07917f 56%,#4c65c2 100%) !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.22),0 .9rem 2rem rgba(15,92,88,.24) !important; filter: none; transform: translateY(-2px); }
html[data-theme] .banner-spring--course .banner-cta:hover i { transform: translateX(-3px); }
html[data-theme] .banner-spring--course .banner-cta:focus-visible { outline: 3px solid rgba(10,167,125,.25); outline-offset: 3px; }

/* Dark palette; dimensions remain inherited from the shared rules. */
html[data-theme="dark"] .banner-spring.banner-spring--course { border-block-color: rgba(57,166,159,.2) !important; background: radial-gradient(circle at 8% 15%,rgba(73,83,188,.12),transparent 25%),radial-gradient(circle at 91% 88%,rgba(8,137,105,.12),transparent 29%),linear-gradient(112deg,#071712 0%,#0b2523 48%,#15172e 100%) !important; box-shadow: inset 0 1px 0 rgba(142,226,211,.07),0 .7rem 2.5rem rgba(0,8,11,.25) !important; }
html[data-theme="dark"] .banner-spring--course #spring-elements { opacity: .18; }
html[data-theme="dark"] .banner-spring--course .spring-item { color: #53c5a8; text-shadow: 0 0 .45rem rgba(57,191,157,.14); }
html[data-theme="dark"] .banner-spring--course .banner-icon-wrap { border-color: rgba(86,190,164,.2) !important; background: linear-gradient(145deg,rgba(25,82,68,.56),rgba(29,31,72,.66)) !important; box-shadow: inset 0 1px 0 rgba(193,243,229,.08),0 .45rem 1.15rem rgba(0,8,12,.24) !important; }
html[data-theme="dark"] .banner-spring--course .banner-icon-wrap i { color: #7cddc2 !important; text-shadow: 0 0 .5rem rgba(79,204,172,.14); }
html[data-theme="dark"] .banner-spring--course .spring-title { color: #f0faf7 !important; }
html[data-theme="dark"] .banner-spring--course .spring-message { color: #aec4bf !important; }
html[data-theme="dark"] .banner-spring--course .discount { border-color: rgba(74,188,158,.2); color: #83dfc5 !important; background: rgba(22,79,65,.38); box-shadow: inset 0 1px 0 rgba(192,239,227,.05); }
html[data-theme="dark"] .banner-spring--course .banner-divider { background: linear-gradient(transparent,rgba(78,178,157,.24),transparent); }
html[data-theme="dark"] .banner-spring--course .timer-group { border-color: rgba(69,164,148,.12); background: rgba(2,18,16,.3); box-shadow: inset 0 1px 0 rgba(186,230,218,.04),0 .45rem 1.4rem rgba(0,7,10,.18); }
html[data-theme="dark"] .banner-spring--course .timer-box { border-color: rgba(70,170,150,.19) !important; background: linear-gradient(155deg,rgba(23,75,65,.58),rgba(18,23,49,.74)) !important; box-shadow: inset 0 1px 0 rgba(188,236,223,.06),0 .2rem .7rem rgba(0,6,9,.2) !important; }
html[data-theme="dark"] .banner-spring--course .timer-box div { color: #effbf8 !important; }
html[data-theme="dark"] .banner-spring--course .timer-box small { color: #8ba69f !important; }
html[data-theme="dark"] .banner-spring--course .timer-sep { color: #638f85 !important; }
html[data-theme="dark"] .banner-spring--course .banner-cta { border-color: rgba(91,198,177,.34) !important; color: #f4fffc !important; background: linear-gradient(118deg,#0d5b51 0%,#0b7165 56%,#394b9b 100%) !important; box-shadow: inset 0 1px 0 rgba(202,246,235,.11),0 .65rem 1.5rem rgba(0,7,10,.28) !important; }

@media (min-width: 1100.02px) {
  html[data-theme] .banner-spring.banner-spring--course,html[data-theme] .banner-spring--course .banner-spring-content { box-sizing: border-box; height: var(--course-height) !important; min-height: var(--course-height) !important; }
}

@media (max-width: 1100px) {
  html[data-theme] .banner-spring.banner-spring--course,html[data-theme] .banner-spring--course .banner-spring-content { height: auto !important; min-height: 0 !important; }
  html[data-theme] .banner-spring--course .banner-spring-content { flex-wrap: wrap; justify-content: center; padding: 1.35rem 2.8rem !important; gap: 1rem !important; }
  html[data-theme] .banner-spring--course .banner-text { flex-basis: 100%; justify-content: center; text-align: center; }
  html[data-theme] .banner-spring--course .banner-text-content { align-items: center; }
  html[data-theme] .banner-spring--course .banner-divider { display: none; }
}

@media (max-width: 575.98px) {
  html[data-theme] .banner-spring--course .banner-spring-content { padding: 1.2rem 1rem 1.35rem !important; gap: 1rem !important; }
  html[data-theme] .banner-spring--course .banner-icon-wrap { flex-basis: 4rem; width: 4rem; height: 4rem; border-radius: 1.2rem; }
  html[data-theme] .banner-spring--course .spring-title { font-size: 1.42rem !important; }
  html[data-theme] .banner-spring--course .spring-message { max-width: 34rem; font-size: 1rem; }
  html[data-theme] .banner-spring--course .timer-group { gap: .3rem; padding: .3rem; }
  html[data-theme] .banner-spring--course .timer-box { width: 4.35rem; height: 4.25rem; }
  html[data-theme] .banner-spring--course .timer-box div { font-size: 1.42rem !important; }
  html[data-theme] .banner-spring--course .timer-sep { margin-inline: -.05rem; }
  html[data-theme] .banner-spring--course .banner-cta { min-height: 4.2rem; padding: .7rem 1.35rem; }
}

@media (max-width: 390px) {
  html[data-theme] .banner-spring--course .banner-icon-wrap { display: none; }
  html[data-theme] .banner-spring--course .timer-box { width: 4rem; }
}

@media (prefers-reduced-motion: reduce) {
  .banner-spring--course .spring-item { display: none !important; }
  html[data-theme] .banner-spring--course .banner-cta,html[data-theme] .banner-spring--course .banner-cta i,html[data-theme] .banner-spring--course .timer-box { transition: none !important; }
}
