/* ================================================================
   IRIS360 BRAND STYLESHEET (Plataforma SaaS Agnóstica)
   ================================================================ */
:root {
  --font-display: 'Konnect', 'Poppins', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-body: 'Konnect', 'Poppins', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-serif: 'Merriweather', Georgia, serif;
  --heading-weight: 500;
  --tone-physical: linear-gradient(135deg, var(--burgundy), var(--red), var(--deep-violet));
  --font-mono: 'JetBrains Mono', 'Space Mono', monospace;

  /* iris360 Semantic Brand Tokens (los widgets Libelium leen --brand-primary con fallback rojo) */
  --brand-primary: #7D00F4;
  --brand-primary-rgb: 125, 0, 244;
  --brand-primary-hover: #6B00E8;
  --brand-secondary: #150D5F;
  --brand-secondary-rgb: 21, 13, 95;
  --brand-accent: #8B5CF6;

  /* iris360 SaaS Digital Palette */
  --deep-violet: #150D5F;
  --violet-700: #5800C0;
  --violet-600: #6B00E8;
  --violet-500: #7D00F4;
  --violet-400: #9B30FF;
  --magenta: #D946EF;
  --red: #EC4899;
  --burgundy: #2E1065;
  --violet-digital: #7D00F4;
  --lavender: #F5F3FF;
  --bg: #F8FAFC;
  --white: #FFFFFF;
  --ink: #0F172A;
  --ink-soft: #475569;
  --ink-faint: #94A3B8;
  --line: #E2E8F0;

  /* iris360 Digital SaaS Gradient: Deep Indigo -> Violet -> Neon Purple */
  --brand-gradient: linear-gradient(125deg, #150D5F 0%, #5800C0 52%, #7D00F4 100%);
  --brand-gradient-soft: var(--brand-gradient);
}

/* Landings: margen lateral minimo del 1% en secciones de primer nivel */
.elementor .e-con.e-parent {
  padding-left: max(var(--padding-left, 0px), 1%);
  padding-right: max(var(--padding-right, 0px), 1%);
}

/* Origen Libelium: badge (sin cookie) / Back to Libelium (con cookie) */
:root {
  --origin-red: #EF0016;
  --origin-gradient: linear-gradient(120deg, var(--violet-600, #6B00E8) 0%, var(--origin-red) 100%);
}
.lbl-origin-back { display: none !important; }
html.from-libelium .lbl-origin-back { display: block !important; }
html.from-libelium .lbl-origin-badge { display: none !important; }
html.from-libelium .lbl-origin-back .lbl-btn-text {
  background: var(--origin-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  font-weight: var(--fw-semibold, 500);
}
html.from-libelium .lbl-origin-back .lbl-btn .lbl-btn-icon svg,
html.from-libelium .lbl-origin-back .lbl-btn .lbl-btn-icon svg path { fill: var(--origin-red) !important; }
.lbl-origin-badge .lbl-btn {
  background: var(--origin-gradient);
  border: 0;
  border-radius: 999px;
  color: #fff;
  box-shadow: none;
}
.lbl-origin-badge .lbl-btn .lbl-btn-text { color: #fff; }

/* Cabecera: enlaces del menu principal */
.elementor-widget-n-menu .e-n-menu-title-text {
  font-weight: 500;
  letter-spacing: .01em;
  color: var(--ink, #0F172A);
  transition: color .2s ease;
}
.elementor-widget-n-menu .e-n-menu-title:hover .e-n-menu-title-text,
.elementor-widget-n-menu .e-n-menu-title.e-current .e-n-menu-title-text {
  color: var(--violet-500, #7D00F4);
}

/* Cabecera: selector de idioma (TranslatePress) */
.language-switcher .trp-shortcode-switcher__wrapper {
  --bg: var(--white, #FFFFFF) !important;
  --bg-hover: var(--lavender, #F5F3FF) !important;
  --text: var(--ink, #0F172A) !important;
  --text-hover: var(--violet-700, #5800C0) !important;
  --border: 1px solid var(--line, #E2E8F0) !important;
  --border-color: var(--line, #E2E8F0) !important;
  --border-width: 1px !important;
  --border-radius: 999px !important;
  --font-size: 13px !important;
  font-family: var(--font-body);
  font-weight: var(--fw-semibold, 500);
  letter-spacing: .06em;
}
.language-switcher .trp-shortcode-switcher {
  padding: 0;
  border: 0;
  background: transparent;
  border-radius: 999px;
  overflow: visible;
}
.language-switcher .trp-current-language-item__wrapper {
  padding: 6px 4px 6px 6px;
  gap: 4px;
  border: 0;
  background: transparent;
}
.language-switcher .trp-shortcode-switcher__wrapper:hover .trp-language-item-name {
  color: var(--violet-700, #5800C0);
}
.language-switcher .trp-switcher-dropdown-list[hidden] { display: none !important; }
.language-switcher .trp-shortcode-arrow { width: 16px; height: 16px; }
.language-switcher .trp-shortcode-arrow path { stroke: var(--violet-500, #7D00F4); }
.language-switcher .trp-switcher-dropdown-list {
  margin-top: 6px;
  padding: 4px;
  border: 1px solid var(--line, #E2E8F0);
  border-radius: 16px;
  background: var(--white, #FFFFFF);
  box-shadow: none;
}
.language-switcher .trp-switcher-dropdown-list .trp-language-item {
  padding: 8px 12px;
  border-radius: 12px;
  color: var(--ink, #0F172A);
}
.language-switcher .trp-switcher-dropdown-list .trp-language-item:hover {
  background: var(--lavender, #F5F3FF);
  color: var(--violet-700, #5800C0);
}

/* Cabecera escritorio: grupo de botones sin solapes */
.elementor-element-db6d049 { flex-wrap: nowrap; gap: 10px; }
.elementor-element-db6d049 .lbl-btn-wrapper { margin: 0 !important; }
.elementor-element-db6d049 .lbl-btn { white-space: nowrap; }
.elementor-element-db6d049 > .lbl-origin-badge,
.elementor-element-db6d049 > .elementor-widget { flex: 0 0 auto; width: max-content; }

/* Titulares: el color lo hereda del contenedor y h3 va en 500 */
h1, h2, h3, h4, h5, h6 { color: inherit; }
h3 { font-weight: 500; }

/* Vídeo alojado de Elementor: respeta la proporción real del clip en lugar de recortarlo a 16:9 */
.elementor-widget-video .e-hosted-video.elementor-wrapper {
  aspect-ratio: auto;
}

.elementor-widget-video .e-hosted-video.elementor-wrapper video.elementor-video {
  height: auto;
  object-fit: contain;
}

/* Matriz de planes: "incluido" y bandas de grupo en violeta de marca */
.lbl-cm-wrap .lbl-cm {
  --lbl-cm-ok: var(--iris-deep, #5B00B0);
  --lbl-cm-group-bg: var(--lavender, #F3E8FF);
  --lbl-cm-featured-bg: var(--lavender, #F3E8FF);
}
