:root {
  --ixsm-blue: #1d2b53;
  --ixsm-green: #5ea33b;
  --ixsm-yellow: #f7c117;
  --ixsm-sky: #29a3ff;
  --ixsm-bg: #eef9e8;
  --ixsm-bg-2: #f7fff2;
  --ixsm-overlay-opacity: 0.18;
  --ixsm-trigger-size: 60px;
  --ixsm-trigger-radius: 22px;
  --ixsm-hamburger-size: 28px;
  --ixsm-line-thickness: 3px;
  --ixsm-line-color: var(--ixsm-blue);
  --ixsm-trigger-shadow: 0 16px 34px rgba(29, 43, 83, 0.14), 0 8px 22px rgba(0, 0, 0, 0.12);
  --ixsm-trigger-shadow-hover: 0 16px 38px rgba(29, 43, 83, 0.16), 0 10px 24px rgba(0, 0, 0, 0.16);
  --ixsm-trigger-border-color: var(--ixsm-green);
  --ixsm-trigger-border-width: 1.5px;
  --ixsm-panel-width: 94vw;
  --ixsm-panel-max-width: 430px;
}

.ixsm-root,
.ixsm-root * {
  box-sizing: border-box;
}

.ixsm-root {
  font-family: inherit;
}

.ixsm-trigger {
  position: fixed !important;
  top: 22px !important;
  right: 22px !important;
  z-index: 999999 !important;
  width: var(--ixsm-trigger-size) !important;
  height: var(--ixsm-trigger-size) !important;
  border: var(--ixsm-trigger-border-width) solid var(--ixsm-trigger-border-color) !important;
  border-radius: var(--ixsm-trigger-radius) !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: calc(var(--ixsm-hamburger-size) * 0.14) !important;
  background: var(--ixsm-bg) !important;
  color: var(--ixsm-blue) !important;
  cursor: pointer !important;
  box-shadow: var(--ixsm-trigger-shadow) !important;
  -webkit-tap-highlight-color: transparent;
}

.ixsm-trigger:hover,
.ixsm-trigger:focus-visible {
  transform: translateY(-1px);
  outline: none !important;
  box-shadow: var(--ixsm-trigger-shadow-hover) !important;
}

.ixsm-line {
  display: block !important;
  height: var(--ixsm-line-thickness) !important;
  background: var(--ixsm-line-color) !important;
  border-radius: 999px !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.24) inset !important;
  transition: width 0.16s ease-out, transform 0.16s ease-out, opacity 0.16s ease-out, background-color 0.16s ease-out !important;
}

.ixsm-line-1,
.ixsm-line-2,
.ixsm-line-3 {
  width: var(--ixsm-hamburger-size) !important;
  transform: translateX(0) !important;
}

.ixsm-trigger:hover .ixsm-line-1,
.ixsm-trigger:focus-visible .ixsm-line-1,
.ixsm-trigger:hover .ixsm-line-2,
.ixsm-trigger:focus-visible .ixsm-line-2,
.ixsm-trigger:hover .ixsm-line-3,
.ixsm-trigger:focus-visible .ixsm-line-3 {
  width: var(--ixsm-hamburger-size) !important;
  transform: translateX(0) !important;
}

.ixsm-overlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 999998 !important;
  background: rgba(29, 43, 83, var(--ixsm-overlay-opacity)) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity 0.18s ease-out, visibility 0.18s ease-out !important;
}

.ixsm-panel {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  z-index: 1000000 !important;
  width: min(var(--ixsm-panel-width), var(--ixsm-panel-max-width)) !important;
  max-width: var(--ixsm-panel-max-width) !important;
  height: 100vh !important;
  height: 100dvh !important;
  overflow: hidden !important;
  background: var(--ixsm-bg) !important;
  box-shadow: -8px 0 24px rgba(0, 0, 0, 0.14) !important;
  transform: translateX(105%) !important;
  transition: transform 0.18s ease-out !important;
  isolation: isolate !important;
}

.ixsm-panel::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background: linear-gradient(135deg, #ffffff 0%, var(--ixsm-bg) 38%, var(--ixsm-bg-2) 100%) !important;
}

.ixsm-panel::after {
  content: none !important;
  display: none !important;
}


.ixsm-panel-content {
  position: relative !important;
  z-index: 2 !important;
  padding: 34px 22px 28px !important;
  height: 100% !important;
  overflow-y: auto !important;
}

.ixsm-menu-head {
  margin: 28px 0 24px !important;
  color: var(--ixsm-blue) !important;
}

.ixsm-menu-head .ixsm-kicker {
  display: block !important;
  color: var(--ixsm-green) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  margin-bottom: 6px !important;
}

.ixsm-menu-head strong {
  display: block !important;
  font-size: 25px !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;
}

.ixsm-close {
  position: fixed !important;
  top: 24px !important;
  right: 24px !important;
  z-index: 1000002 !important;
  width: 34px !important;
  height: 34px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  -webkit-tap-highlight-color: transparent;
}

.ixsm-close::before,
.ixsm-close::after {
  content: "" !important;
  position: absolute !important;
  top: 16px !important;
  left: 5px !important;
  width: 24px !important;
  height: 3px !important;
  background: var(--ixsm-green) !important;
  border-radius: 999px !important;
}

.ixsm-close::before {
  transform: rotate(45deg) !important;
}

.ixsm-close::after {
  transform: rotate(-45deg) !important;
}

.ixsm-nav ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ixsm-nav li {
  margin: 0 0 12px !important;
  padding: 0 !important;
}

.ixsm-nav a {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  padding: 15px 16px !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  color: var(--ixsm-blue) !important;
  text-decoration: none !important;
  font-size: 16px !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
  box-shadow: 0 10px 22px rgba(29, 43, 83, 0.08) !important;
  transition: transform 0.16s ease-out, color 0.16s ease-out, box-shadow 0.16s ease-out !important;
}

.ixsm-nav a::before {
  content: "" !important;
  flex: 0 0 auto !important;
  width: 10px !important;
  height: 10px !important;
  border-radius: 999px !important;
  background: var(--ixsm-green) !important;
  box-shadow: 0 0 0 5px rgba(94, 163, 59, 0.13) !important;
}

.ixsm-nav a:hover,
.ixsm-nav a:focus-visible {
  color: var(--ixsm-green) !important;
  transform: translateX(-2px) !important;
  outline: none !important;
  box-shadow: 0 12px 26px rgba(29, 43, 83, 0.12) !important;
}

body.ixsm-menu-open {
  overflow: hidden !important;
}

body.ixsm-menu-open .ixsm-overlay {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

body.ixsm-menu-open .ixsm-panel {
  transform: translateX(0) !important;
}

body.ixsm-menu-open .ixsm-trigger {
  opacity: 0 !important;
  pointer-events: none !important;
}

.ixsm-anchor {
  display: block !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  line-height: 0 !important;
  font-size: 0 !important;
  overflow: visible !important;
  visibility: visible !important;
  pointer-events: none !important;
  scroll-margin-top: 120px !important;
}

@media (min-width: 769px) {
  .ixsm-mobile-only {
    display: none !important;
  }
}

@media (max-width: 360px) {
  .ixsm-trigger {
    top: 16px !important;
    right: 16px !important;
  }
}

.ixst-title-block[id^="indexsolar-"],
[data-ixsm-target] {
  scroll-margin-top: 120px !important;
}

.ixsm-nav a.ixsm-link-active,
.ixsm-nav a.ixsm-link-active:hover,
.ixsm-nav a.ixsm-link-active:focus-visible {
  background: linear-gradient(135deg, #f7fff2 0%, #eef9e8 100%) !important;
  color: var(--ixsm-green) !important;
  transform: translateX(-2px) !important;
  box-shadow: 0 14px 30px rgba(94, 163, 59, 0.18) !important;
  border: 1.5px solid rgba(94, 163, 59, 0.48) !important;
}

.ixsm-nav a.ixsm-link-active::before {
  background: var(--ixsm-green) !important;
  box-shadow: 0 0 0 5px rgba(94, 163, 59, 0.16) !important;
}

.ixsm-nav a.ixsm-link-active::after {
  content: "Actual" !important;
  margin-left: auto !important;
  padding: 5px 9px !important;
  border-radius: 999px !important;
  background: var(--ixsm-green) !important;
  color: #ffffff !important;
  font-size: 10px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

/* Botones destacados dentro del menú móvil */
.ixsm-panel-content {
  display: flex !important;
  flex-direction: column !important;
}

.ixsm-nav {
  flex: 0 0 auto !important;
}

.ixsm-button-nav {
  margin-top: auto !important;
  padding: 28px 4px 12px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
}

.ixsm-action-button {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: min(100%, 310px) !important;
  min-height: 52px !important;
  padding: 15px 24px !important;
  border: 1.5px solid rgba(94, 163, 59, 0.48) !important;
  border-radius: 18px !important;
  background: #5ea33b !important;
  color: #ffffff !important;
  text-decoration: none !important;
  text-align: center !important;
  font-size: 16px !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;
  letter-spacing: 0.01em !important;
  box-shadow: 0 16px 30px rgba(94, 163, 59, 0.28), 0 8px 18px rgba(29, 43, 83, 0.14) !important;
  transform: translateY(0) scale(1) !important;
  transition: transform 0.16s ease-out, box-shadow 0.16s ease-out, background-color 0.16s ease-out !important;
  -webkit-tap-highlight-color: transparent;
}

.ixsm-action-button span {
  position: relative !important;
  z-index: 2 !important;
}

.ixsm-action-button::after {
  content: "" !important;
  position: absolute !important;
  top: -45% !important;
  left: -42% !important;
  z-index: 1 !important;
  width: 34% !important;
  height: 190% !important;
  pointer-events: none !important;
  transform: skewX(-28deg) !important;
  opacity: 0 !important;
  background: linear-gradient(
    115deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0.04) 30%,
    rgba(255,255,255,0.10) 42%,
    rgba(255,255,255,0.18) 50%,
    rgba(255,255,255,0.10) 58%,
    rgba(255,255,255,0.04) 70%,
    rgba(255,255,255,0) 100%
  ) !important;
  filter: blur(3.5px) !important;
  animation: ixsmLightSweep 5s linear infinite !important;
}

.ixsm-action-button:hover,
.ixsm-action-button:focus-visible,
.ixsm-action-button:active,
.ixsm-action-button.ixsm-button-touching {
  background: #6bb846 !important;
  color: #ffffff !important;
  transform: translateY(-2px) scale(1.025) !important;
  box-shadow: 0 20px 36px rgba(94, 163, 59, 0.34), 0 10px 22px rgba(29, 43, 83, 0.18) !important;
  outline: none !important;
}

.ixsm-action-button:active,
.ixsm-action-button.ixsm-button-touching {
  transform: translateY(-1px) scale(0.99) !important;
}

.ixsm-action-button.ixsm-link-active,
.ixsm-action-button.ixsm-link-active:hover,
.ixsm-action-button.ixsm-link-active:focus-visible {
  background: #5ea33b !important;
  color: #ffffff !important;
  box-shadow: 0 20px 38px rgba(94, 163, 59, 0.38), 0 0 0 3px rgba(94, 163, 59, 0.18) !important;
}

@keyframes ixsmLightSweep {
  0% {
    left: -42%;
    opacity: 0;
  }
  8% {
    opacity: 0.95;
  }
  45% {
    left: 108%;
    opacity: 0.85;
  }
  58%,
  100% {
    left: 108%;
    opacity: 0;
  }
}
