/* Product-focused Elementor widgets: EGLMS promo and latest addons. */
.eg-eglms-promo {
  --egep-bg: #08090b;
  --egep-accent: #f8d608;
  --egep-title: #fff;
  --egep-text: #b8bbc2;
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(320px, .78fr) minmax(480px, 1.22fr);
  align-items: center;
  gap: clamp(42px, 6vw, 96px);
  min-height: 570px;
  overflow: hidden;
  padding: 64px;
  border: 1px solid rgba(255, 255, 255, .11);
  border-radius: 24px;
  background-color: var(--egep-bg);
  background:
    radial-gradient(circle at 92% 8%, color-mix(in srgb, var(--egep-accent) 21%, transparent), transparent 31%),
    linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px),
    var(--egep-bg);
  background-size: auto, 62px 62px, 62px 62px, auto;
  color: var(--egep-text);
  text-decoration: none;
  box-shadow: 0 28px 70px rgba(8, 9, 11, .16);
}
.eg-eglms-promo::before {
  position: absolute;
  z-index: -1;
  top: -170px;
  right: -110px;
  width: 430px;
  height: 430px;
  border: 1px solid rgba(248, 214, 8, .16);
  border-radius: 50%;
  content: "";
}
.eg-eglms-promo--image-left .eg-eglms-promo__content { order: 2; }
.eg-eglms-promo--image-left .eg-eglms-promo__visual { order: 1; }
.eg-eglms-promo__content { position: relative; z-index: 2; min-width: 0; }
.eg-eglms-promo__eyebrow,
.eg-latest-addons__eyebrow {
  display: flex;
  align-items: center;
  gap: 13px;
  margin: 0 0 24px;
  color: var(--egep-accent, var(--eg-yellow));
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .16em;
  line-height: 1.3;
  text-transform: uppercase;
}
.eg-eglms-promo__eyebrow::before,
.eg-latest-addons__eyebrow::before { width: 32px; height: 3px; background: currentColor; content: ""; }
.eg-eglms-promo h2 {
  max-width: 640px;
  margin: 0;
  color: var(--egep-title);
  font: 300 clamp(49px, 5vw, 82px)/.94 var(--eg-heading-font);
  letter-spacing: -.025em;
  text-transform: uppercase;
}
.eg-eglms-promo__description {
  max-width: 620px;
  margin-top: 30px;
  color: var(--egep-text);
  font-size: clamp(16px, 1.45vw, 20px);
  line-height: 1.7;
}
.eg-eglms-promo__description p { margin: 0 0 .8em; }
.eg-eglms-promo__description p:last-child { margin-bottom: 0; }
.eg-eglms-promo__button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  min-width: 230px;
  margin-top: 38px;
  padding: 17px 22px;
  border-radius: 999px;
  background: var(--egep-accent);
  color: #08090b;
  font-family: var(--eg-heading-font);
  font-size: 14px;
  line-height: 1;
  text-decoration: none;
  transition: transform .25s ease, box-shadow .25s ease;
}
.eg-eglms-promo__button b { font-family: var(--eg-body-font); font-size: 17px; }
.eg-eglms-promo__button:hover,
.eg-eglms-promo--linked:hover .eg-eglms-promo__button { transform: translateY(-3px); box-shadow: 0 14px 28px color-mix(in srgb, var(--egep-accent) 27%, transparent); }
.eg-eglms-promo__visual {
  position: relative;
  z-index: 1;
  min-width: 0;
  padding-top: 34px;
  transform: perspective(1500px) rotateY(-3deg) rotateX(1deg);
  transition: transform .45s ease;
}
.eg-eglms-promo--image-left .eg-eglms-promo__visual { transform: perspective(1500px) rotateY(3deg) rotateX(1deg); }
.eg-eglms-promo:hover .eg-eglms-promo__visual { transform: perspective(1500px) rotateY(0) rotateX(0) translateY(-5px); }
.eg-eglms-promo__visual > span {
  position: absolute;
  z-index: 3;
  top: 0;
  right: 24px;
  padding: 10px 14px;
  border-radius: 999px;
  background: var(--egep-accent);
  color: #08090b;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .13em;
}
.eg-eglms-promo__visual > img {
  display: block;
  width: 100%;
  aspect-ratio: 1.56;
  object-fit: cover;
  object-position: top left;
  border: 1px solid rgba(255, 255, 255, .15);
  border-radius: 0 0 15px 15px;
  background: #f4f7fb;
  box-shadow: 0 34px 75px rgba(0, 0, 0, .42);
}
.eg-eglms-promo__browser {
  display: flex;
  align-items: center;
  gap: 7px;
  height: 35px;
  padding: 0 15px;
  border: 1px solid rgba(255, 255, 255, .15);
  border-bottom: 0;
  border-radius: 15px 15px 0 0;
  background: #171a20;
}
.eg-eglms-promo__browser i { width: 8px; height: 8px; border-radius: 50%; background: #565c67; }
.eg-eglms-promo__browser i:nth-child(2) { background: var(--egep-accent); }

.eg-latest-addons { --egla-accent: #f8d608; --egla-heading: #08090b; }
.eg-latest-addons__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 35px;
  margin-bottom: clamp(34px, 5vw, 58px);
}
.eg-latest-addons__eyebrow { margin-bottom: 16px; color: #927c00; }
.eg-latest-addons__eyebrow::before { background: var(--egla-accent); }
.eg-latest-addons__header h2 {
  margin: 0;
  color: var(--egla-heading);
  font: 300 clamp(46px, 6vw, 74px)/.98 var(--eg-heading-font);
  letter-spacing: -.02em;
}
.eg-latest-addons__description { max-width: 720px; margin-top: 18px; color: #696d72; font-size: 16px; line-height: 1.75; }
.eg-latest-addons__description p { margin: 0 0 .7em; }
.eg-latest-addons__description p:last-child { margin-bottom: 0; }
.eg-latest-addons__archive-link {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  padding: 14px 0 10px;
  border-bottom: 2px solid var(--egla-accent);
  color: var(--egla-heading);
  font-family: var(--eg-heading-font);
  font-size: 13px;
  text-decoration: none;
  white-space: nowrap;
}
.eg-latest-addons__archive-link span { color: #927c00; font-family: var(--eg-body-font); transition: transform .2s ease; }
.eg-latest-addons__archive-link:hover span { transform: translate(3px, -3px); }
.eg-latest-addons__grid { grid-template-columns: repeat(var(--egla-columns, 3), minmax(0, 1fr)); }
.eg-latest-addons__empty { padding: 42px; border: 1px dashed #ccc9be; border-radius: 15px; background: #fff; color: #666b70; text-align: center; }

/* Customizer-driven front-page versions of the same product blocks. */
.eg-front-eglms { padding: clamp(80px, 9vw, 138px) 0; overflow: hidden; background: #111318; }
.eg-front-eglms__inner,
.eg-front-addons__inner { width: var(--eg-container); margin-inline: auto; }
.eg-front-addons { padding: clamp(90px, 10vw, 150px) 0; overflow: hidden; background: var(--eg-paper); }
.eg-front-addons .eg-addon-card { background: #fff; }

@media (max-width: 1024px) {
  .eg-eglms-promo { grid-template-columns: 1fr; }
  .eg-eglms-promo--image-left .eg-eglms-promo__content,
  .eg-eglms-promo--image-left .eg-eglms-promo__visual { order: initial; }
  .eg-eglms-promo__visual,
  .eg-eglms-promo--image-left .eg-eglms-promo__visual { transform: none; }
  .eg-latest-addons__grid { grid-template-columns: repeat(var(--egla-columns, 2), minmax(0, 1fr)); }
  .eg-front-addons .eg-latest-addons__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .eg-front-addons--cols-1 .eg-latest-addons__grid { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  .eg-front-eglms,
  .eg-front-addons { padding: 80px 0; }
  .eg-eglms-promo { gap: 38px; padding: 38px 24px; background-size: auto, 40px 40px, 40px 40px, auto; }
  .eg-eglms-promo h2 { font-size: clamp(43px, 15vw, 61px); }
  .eg-eglms-promo__description { margin-top: 23px; }
  .eg-eglms-promo__button { width: 100%; }
  .eg-eglms-promo__visual { padding-top: 29px; }
  .eg-eglms-promo__visual > span { right: 10px; }
  .eg-latest-addons__header { grid-template-columns: 1fr; align-items: start; gap: 12px; }
  .eg-latest-addons__archive-link { justify-self: start; }
  .eg-latest-addons__grid { grid-template-columns: repeat(var(--egla-columns, 1), minmax(0, 1fr)); }
  .eg-front-addons .eg-latest-addons__grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .eg-eglms-promo__button,
  .eg-eglms-promo__visual,
  .eg-latest-addons__archive-link span { transition: none; }
}
