
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,300;1,400;1,600;1,700&display=swap');

/* Reset Hello Elementor button pink/red #cc3366 */
button:not(.ed-chatbot-toggle-btn):not(.ed-back-to-map-btn), 
[type="button"]:not(.ed-back-to-map-btn), 
[type="submit"]:not(.ed-back-to-map-btn), 
[type="reset"]:not(.ed-back-to-map-btn) {
  background-color: transparent !important;
  color: inherit !important;
  border-color: transparent !important;
}

@font-face {
  font-family: 'MEBEZT';
  src: url('/wp-content/uploads/fonts/MEBEZT.otf') format('opentype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
:root {
  --teal-bg: #072d33;
  --teal-dark: #072d33;
  --teal-deeper: #041419;
  --cyan-main: #1fb2e7;
  --cyan-light: #1fb2e7;
  --orange-main: #f37121;
  --orange-accent: #f37121;
  --text-white: #FFFFFF;
}

html, body {
  overflow-x: hidden !important;
  max-width: 100vw !important;
  margin: 0;
  padding: 0;
}

*, *:before, *:after {
  box-sizing: border-box;
}

/* ========================================================================= */
/* 0. TIPOGRAFÍA OFICIAL UNIVERSAL: MONTSERRAT EN TODA LA PÁGINA             */
/* ========================================================================= */
html, body, p, a, span, li, ul, ol, div, h1, h2, h3, h4, h5, h6, input, button, select, textarea,
.elementor, .elementor *:not(i):not([class*="fa-"]):not([class*="eicon-"]),
.elementor-widget, .elementor-widget *:not(i):not([class*="fa-"]):not([class*="eicon-"]),
.elementor-heading-title, .elementor-button, .elementor-item, .elementor-widget-text-editor,
.elementor-widget-text-editor p, .elementor-widget-text-editor a, .elementor-widget-text-editor span,
.elementor-location-header, .elementor-location-header *:not(i):not([class*="fa-"]):not([class*="eicon-"]),
.elementor-location-footer, .elementor-location-footer *:not(i):not([class*="fa-"]):not([class*="eicon-"]),
.ed-footer-main-section, .ed-footer-main-section *:not(i):not([class*="fa-"]):not([class*="eicon-"]) {
  font-family: 'Montserrat', sans-serif !important;
}

/* Preservar FontAwesome y Eicons en toda la web */
i.fab, [class*="fa-brands"], .elementor-social-icon i {
  font-family: "Font Awesome 5 Brands" !important;
  font-weight: 400 !important;
}
i.fas, i.fa, [class*="fa-solid"] {
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900 !important;
}
i.far, [class*="fa-regular"] {
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 400 !important;
}
[class*="eicon-"] {
  font-family: "eicons" !important;
}

body, .elementor-page {
  font-family: 'Montserrat', sans-serif !important;
  background-color: var(--teal-bg);
  color: var(--text-white);
  margin: 0;
  padding: 0;
}

.mebezt-font, .mebezt-font .elementor-heading-title, .ed-display-title {
  font-family: 'MEBEZT', 'Montserrat', sans-serif !important;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* ================================================= */
/* 1. NAVBAR / HEADER                                */
/* ================================================= */
.ed-nav-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 5%;
  background: rgba(7, 31, 38, 0.95);
  backdrop-filter: blur(12px);
  position: sticky;
  top: 0;
  z-index: 99999;
  border-bottom: 1px solid rgba(0, 166, 206, 0.2);
  width: 100%;
}

.ed-nav-logo img {
  height: 40px;
  width: auto;
  object-fit: contain;
  display: block;
}

.ed-nav-menu {
  display: flex;
  gap: 28px;
  align-items: center;
}

.ed-nav-menu a {
  color: #FFFFFF;
  text-decoration: none;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  transition: color 0.2s ease;
}

.ed-nav-menu a:hover {
  color: var(--cyan-light);
}

.ed-nav-chatbot-btn {
  background: var(--cyan-main);
  color: #FFFFFF;
  font-family: 'Montserrat', sans-serif;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  border: none;
  border-radius: 25px;
  padding: 10px 26px;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(0, 166, 206, 0.4);
}

.ed-nav-chatbot-btn:hover {
  background: var(--cyan-light);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(32, 194, 235, 0.6);
}

.ed-mobile-toggle {
  display: none;
  background: none;
  border: none;
  color: #FFFFFF;
  font-size: 28px;
  cursor: pointer;
}

.ed-mobile-dropdown {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  background: #072d33;
  flex-direction: column;
  padding: 20px;
  gap: 15px;
  border-bottom: 2px solid var(--cyan-main);
  box-shadow: 0 10px 30px rgba(0,0,0,0.5);
}

.ed-mobile-dropdown a {
  color: #FFFFFF;
  text-decoration: none;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* ================================================= */
/* 2. HERO PRINCIPAL NATIVO                          */
/* ================================================= */

/* ================================================= */
/* 2. HERO PRINCIPAL NATIVO                          */
/* ================================================= */
.elementor-10152 > .elementor-section:first-of-type,
.elementor-10152 .ed-hero-section,
.elementor-page-10152 .ed-hero-section {
  position: relative !important;
  width: 100% !important;
  overflow: hidden !important;
}

.ed-hero-section .elementor-column-wrap,
.ed-hero-section .elementor-widget-wrap,
.elementor-element-8b01938 .elementor-column-wrap,
.elementor-element-8b01938 .elementor-widget-wrap {
  background: transparent !important;
}

.ed-hero-grid {
  max-width: 1200px;
  margin: 0 auto;
  align-items: center;
  position: relative;
  z-index: 2;
}

.ed-hero-featured-box img {
  border-radius: 20px !important;
  box-shadow: 0 20px 50px rgba(0,0,0,0.55) !important;
  border: 2px solid rgba(0, 166, 206, 0.45) !important;
  height: 340px !important;
  width: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.ed-hero-heading .elementor-heading-title {
  font-size: clamp(32px, 3.8vw, 48px) !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  color: #FFFFFF !important;
  margin: 0 0 16px 0 !important;
}

.ed-hero-desc p, .ed-hero-desc .elementor-widget-container {
  font-size: 16px !important;
  line-height: 1.6 !important;
  color: #E2E8F0 !important;
  margin: 0 0 24px 0 !important;
}

.ed-btn-cyan {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  display: block !important;
  width: auto !important;
}

.ed-btn-cyan:hover,
.ed-btn-cyan:focus,
.ed-btn-cyan:active {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.ed-btn-cyan .elementor-button,
a.ed-btn-cyan,
button.ed-btn-cyan {
  background: #00A6CE !important;
  color: #FFFFFF !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 30px !important;
  padding: 12px 34px !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 4px 15px rgba(0, 166, 206, 0.4) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  width: auto !important;
  max-width: max-content !important;
}

.ed-btn-cyan .elementor-button:hover,
.ed-btn-cyan .elementor-button:focus,
a.ed-btn-cyan:hover,
button.ed-btn-cyan:hover {
  background: #20C2EB !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(32, 194, 235, 0.6) !important;
  width: auto !important;
  max-width: max-content !important;
}

.ed-hero-title-main .elementor-heading-title {
  font-family: 'MEBEZT', sans-serif !important;
  font-size: clamp(44px, 7vw, 95px) !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  margin: 35px 0 0 0 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  text-align: center !important;
}

.ed-hero-title-main .cyan-part {
  color: var(--cyan-main);
}

.ed-hero-title-main .evidencia-part {
  color: #FFFFFF;
}

.ed-hero-title-main .orange-i {
  color: var(--orange-main);
}

.ed-hero-subtitle-seccionales .elementor-heading-title {
  font-family: 'MEBEZT', sans-serif !important;
  font-size: clamp(24px, 4vw, 52px) !important;
  font-weight: 900 !important;
  letter-spacing: 3px !important;
  color: #FFFFFF !important;
  margin: 6px 0 25px 0 !important;
  text-transform: uppercase !important;
  text-align: center !important;
}

/* ================================================= */
/* 3. MARQUEE TICKER TAPE INFINITO (TOMATE ORANGE)   */
/* ================================================= */
.ed-marquee-wrapper {
  background: #F37121 !important;
  background-color: #F37121 !important;
  padding: 13px 0;
  overflow: hidden;
  border-top: 1px solid rgba(255, 255, 255, 0.35) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.25) !important;
  width: 100%;
  display: flex;
  box-shadow: 0 4px 20px rgba(243, 113, 33, 0.35);
}

.ed-marquee-track {
  display: flex;
  width: max-content;
  animation: edInfiniteMarquee 32s linear infinite;
  will-change: transform;
}

.ed-marquee-content {
  display: flex;
  flex-shrink: 0;
  white-space: nowrap;
  align-items: center;
}

.ed-marquee-content span {
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 3px;
  color: #FFFFFF;
  text-transform: uppercase;
  padding-right: 15px;
}

@keyframes edInfiniteMarquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ================================================= */
/* 4. LOS 4 CUADRANTES                               */
/* ================================================= */
.ed-cards-section {
  padding: 85px 5%;
  background: var(--teal-deeper);
  position: relative;
  width: 100%;
}

.ed-cards-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px;
  max-width: 1120px;
  margin: 0 auto;
  position: relative;
}

.ed-center-sparkle {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 52px;
  height: 52px;
  background: #FFFFFF;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--teal-deeper);
  font-size: 26px;
  box-shadow: 0 0 25px rgba(255, 255, 255, 0.8), 0 0 50px rgba(0, 166, 206, 0.5);
  z-index: 10;
}

.ed-mockup-card {
  background: #1fb2e7;
  border-radius: 36px;
  padding: 42px 38px;
  min-height: 250px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.45);
  transition: all 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
  position: relative;
  overflow: visible;
  text-decoration: none;
  cursor: pointer;
}

.ed-mockup-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 30px 60px rgba(0, 166, 206, 0.4);
}

.ed-card-inner-split {
  display: flex;
  align-items: center;
  gap: 22px;
  margin-bottom: 12px;
}

.ed-card-symbol-box {
  width: 110px;
  height: 110px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.ed-robot-symbol-img {
  width: 120px;
  height: 120px;
  object-fit: contain;
  filter: drop-shadow(0 12px 20px rgba(0,0,0,0.35));
  transition: transform 0.4s ease;
}

.ed-mockup-card:hover .ed-robot-symbol-img {
  transform: scale(1.15) rotate(5deg);
}

.ed-symbol-img {
  width: 100px;
  height: 100px;
  object-fit: contain;
  filter: drop-shadow(0 10px 18px rgba(0,0,0,0.3));
  transition: transform 0.35s ease;
}

.ed-mockup-card:hover .ed-symbol-img {
  transform: scale(1.12);
}

.ed-card-title-lg {
  font-size: 52px;
  font-weight: 900;
  line-height: 0.95;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.ed-card-subheading {
  font-size: 19px;
  font-weight: 800;
  color: #FFFFFF;
  margin: 0 0 8px 0;
  line-height: 1.25;
}

.ed-card-clean-desc {
  font-size: 14.5px;
  line-height: 1.55;
  color: #FFFFFF;
  margin: 0;
  opacity: 0.95;
}

.ed-pill-badge-101 {
  display: inline-block;
  background: #082128;
  border-radius: 40px;
  padding: 4px 34px;
  color: var(--cyan-main);
  font-size: 38px;
  font-weight: 900;
  line-height: 1.1;
  margin-top: 6px;
}

/* ================================================= */
/* 5. SECCIÓN NARANJA NATIVA (MÁS TOMATE)            */
/* ================================================= */
.ed-orange-section,
.elementor-element-9229a3b {
  background: linear-gradient(135deg, #F37121 0%, #E85D26 100%) !important;
  background-color: #F37121 !important;
  padding: 85px 5% !important;
  position: relative !important;
  clip-path: polygon(0 0, 100% 2.2vw, 100% 100%, 0 calc(100% - 2.2vw)) !important;
  margin: 35px 0 !important;
  width: 100% !important;
  overflow: hidden !important;
}

.elementor-element-9229a3b .elementor-container,
.ed-orange-grid {
  max-width: 1200px !important;
  margin: 0 auto !important;
  align-items: center !important;
  width: 100% !important;
}

.elementor-element-9978dd6 img,
.ed-orange-logo-img img {
  height: 62px !important;
  max-height: 62px !important;
  width: auto !important;
  max-width: 250px !important;
  object-fit: contain !important;
  display: block !important;
  filter: drop-shadow(0 4px 12px rgba(0,0,0,0.25)) !important;
  margin-bottom: 22px !important;
}

.elementor-element-2d156c3 p,
.ed-orange-desc p, .ed-orange-desc .elementor-widget-container {
  font-size: 16px !important;
  line-height: 1.65 !important;
  color: #FFFFFF !important;
  margin: 0 0 28px 0 !important;
  opacity: 0.98 !important;
}

.elementor-element-ff22da3 .elementor-button,
.elementor-element-ff22da3 button,
.ed-btn-dark .elementor-button, .ed-btn-dark button {
  background: #071F26 !important;
  color: #FFFFFF !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 30px !important;
  padding: 14px 38px !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 6px 20px rgba(0,0,0,0.35) !important;
  display: inline-flex !important;
  align-items: center !important;
}

.elementor-element-ff22da3 .elementor-button:hover,
.ed-btn-dark .elementor-button:hover, .ed-btn-dark button:hover {
  background: #041419 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 28px rgba(0,0,0,0.55) !important;
}

.ed-orange-right {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.ed-slider-container {
  width: 100%;
  overflow: hidden;
}

.ed-slider-track {
  display: flex;
  gap: 22px;
  transition: transform 0.45s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.ed-slide-card {
  min-width: calc(33.333% - 15px);
  background: rgba(0, 0, 0, 0.22);
  padding: 14px;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,0.15);
}

.ed-slide-img-box {
  height: 165px;
  border-radius: 16px;
  overflow: hidden;
  margin-bottom: 14px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.3);
}

.ed-slide-img-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.ed-slide-card h4 {
  color: #FFFFFF;
  font-size: 18px;
  font-weight: 800;
  margin: 0 0 6px 0;
}

.ed-slide-card p {
  color: #FFFFFF;
  font-size: 13px;
  line-height: 1.5;
  margin: 0;
  opacity: 0.9;
}

.ed-slider-arrows {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-bottom: 14px;
}

.ed-slider-arrow-btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(255,255,255,0.3);
  color: #FFFFFF;
  border: none;
  cursor: pointer;
  font-size: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s ease;
}

.ed-slider-arrow-btn:hover {
  background: #FFFFFF;
  color: var(--orange-main);
}

/* ================================================= */
/* 6. EDICIONES ANTERIORES                           */
/* ================================================= */
.ed-cyan-section {
  background: var(--cyan-main);
  padding: 45px 5%;
  width: 100%;
}

.ed-cyan-grid {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
  gap: 24px;
}

.ed-cyan-title-box h3 {
  color: #FFFFFF;
  font-size: 44px;
  font-weight: 900;
  line-height: 0.95;
  margin: 0;
  letter-spacing: 1px;
}

.ed-cyan-years-row {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.ed-tab-pill {
  background: transparent;
  border: 2px solid transparent;
  padding: 10px 24px;
  border-radius: 20px;
  cursor: pointer;
  text-align: center;
  transition: all 0.25s ease;
}

.ed-tab-pill.active {
  border-color: #FFFFFF;
  background: rgba(255, 255, 255, 0.15);
  transform: scale(1.05);
}

.ed-tab-pill:hover {
  background: rgba(255, 255, 255, 0.1);
}

.ed-tab-pill span.label {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 2px;
  color: #FFFFFF;
  text-transform: uppercase;
  display: block;
}

.ed-tab-pill span.number {
  font-size: 36px;
  font-weight: 900;
  color: #FFFFFF;
  line-height: 1;
  display: block;
}

.ed-cyan-asterisk {
  font-size: 28px;
  color: #FFFFFF;
  font-weight: 900;
}

.ed-white-photo-strip {
  background: #071F26 !important;
  padding: 60px 5% !important;
  width: 100% !important;
  border-bottom: 1px solid rgba(0, 166, 206, 0.2) !important;
}

.ed-interactive-card-box {
  max-width: 960px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 1.15fr 1fr !important;
  gap: 36px !important;
  background: #0C2B33 !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  box-shadow: 0 20px 50px rgba(0,0,0,0.55) !important;
  align-items: center !important;
  border: 1px solid rgba(0, 166, 206, 0.35) !important;
  width: 100% !important;
  padding: 24px !important;
}

.ed-interactive-img {
  height: 280px !important;
}

.ed-interactive-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 16px !important;
}

.ed-interactive-info {
  padding: 10px 15px !important;
}

.ed-interactive-info h4 {
  color: #FFFFFF !important;
  font-family: 'MEBEZT', sans-serif !important;
  font-size: 32px !important;
  font-weight: 900 !important;
  margin: 0 0 12px 0 !important;
  letter-spacing: 1px !important;
}

.ed-interactive-info p {
  color: #CBD5E1 !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  margin: 0 0 22px 0 !important;
}

/* ================================================= */
/* 7. ECUADOR DECIDE Y TU TAMBIÉN NATIVO             */
/* ================================================= */
.ed-tu-tambien-section,
.elementor-element-711ae6e {
  background: #071F26 !important;
  padding: 80px 5% !important;
  width: 100% !important;
}

.elementor-element-711ae6e .elementor-container,
.ed-tu-tambien-grid {
  max-width: 1200px !important;
  margin: 0 auto !important;
  align-items: center !important;
  width: 100% !important;
}

.elementor-element-d48f13e > .elementor-widget-wrap {
  background: linear-gradient(135deg, #00A6CE 0%, #1FB2E7 100%) !important;
  border-radius: 28px !important;
  padding: 48px 36px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  box-shadow: 0 15px 45px rgba(0, 166, 206, 0.4) !important;
}

.elementor-element-c7a63b2 img,
.ed-tu-tambien-logo img {
  height: 64px !important;
  max-height: 64px !important;
  width: auto !important;
  max-width: 260px !important;
  object-fit: contain !important;
  display: block !important;
  margin-bottom: 12px !important;
  filter: brightness(0) invert(1) !important;
}

.elementor-element-71d20e9 .elementor-heading-title,
.ed-tu-tambien-subtitle .elementor-heading-title {
  font-size: clamp(36px, 5vw, 58px) !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  color: #FFFFFF !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  font-family: 'MEBEZT', sans-serif !important;
  margin: 0 !important;
}

.elementor-element-44c9083 img,
.ed-tu-tambien-photo-box img {
  border-radius: 24px !important;
  overflow: hidden !important;
  height: 360px !important;
  width: 100% !important;
  object-fit: cover !important;
  box-shadow: 0 25px 50px rgba(0,0,0,0.55) !important;
  border: 2px solid rgba(0, 166, 206, 0.4) !important;
  display: block !important;
}

/* ================================================= */
/* 8. FOOTER REDES SOCIALES & POWERED BY GRAVITAR     */
/* ================================================= */
.ed-footer-orange-bar {
  background: var(--orange-main);
  padding: 14px 0;
  overflow: hidden;
  width: 100%;
  display: flex;
}

.ed-footer-marquee-track {
  display: flex;
  width: max-content;
  animation: edInfiniteMarqueeOrange 32s linear infinite;
  will-change: transform;
}

.ed-footer-marquee-content {
  display: flex;
  flex-shrink: 0;
  white-space: nowrap;
  align-items: center;
}

.ed-footer-marquee-content span {
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 2.5px;
  color: #FFFFFF;
  text-transform: uppercase;
  padding-right: 15px;
}

@keyframes edInfiniteMarqueeOrange {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.ed-footer-bottom-bar {
  background: #041419 !important;
  padding: 28px 5% !important;
  border-top: 1px solid rgba(0, 166, 206, 0.2);
  width: 100%;
}

.ed-footer-bottom-grid {
  max-width: 1200px;
  margin: 0 auto;
  align-items: center;
  width: 100%;
}

.ed-footer-brand-logo img {
  max-width: 175px !important;
  width: 175px !important;
  height: auto !important;
  display: block !important;
  margin: 0 0 16px 0 !important;
}

.ed-footer-main {
  background: var(--teal-dark) !important;
  padding: 60px 5% 45px 5% !important;
  border-top: 1px solid rgba(0, 166, 206, 0.2);
  width: 100%;
}

.ed-footer-col-title .elementor-heading-title {
  color: var(--cyan-main) !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  margin-bottom: 18px !important;
}

.ed-footer-desc p, .ed-footer-desc .elementor-widget-container {
  color: #94A3B8 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  line-height: 1.7 !important;
  margin-top: 0 !important;
}

.ed-footer-links p, .ed-footer-links .elementor-widget-container {
  color: #94A3B8 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  line-height: 2.1 !important;
}

.ed-footer-links a {
  color: #CBD5E1 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.ed-footer-links a:hover {
  color: var(--cyan-light) !important;
}

.ed-footer-subbar {
  background: var(--teal-deeper) !important;
  padding: 16px 20px 18px 20px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  text-align: center !important;
  width: 100%;
}

.ed-footer-subbar-text, .ed-footer-subbar .elementor-widget-container {
  color: #94A3B8 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12.5px !important;
  line-height: 1.6 !important;
  margin: 0 !important;
  text-align: center !important;
}

.ed-footer-sep {
  color: rgba(255, 255, 255, 0.3) !important;
  margin: 0 10px !important;
  font-size: 10px !important;
  vertical-align: middle !important;
}

.ed-gravitar-link {
  color: var(--cyan-light) !important; /* Azul / Cyan brillante para notar que es web */
  font-weight: 700 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  letter-spacing: 0.5px !important;
  transition: all 0.2s ease !important;
}

.ed-gravitar-link:hover {
  color: #FFFFFF !important;
  text-shadow: 0 0 10px rgba(32, 194, 235, 0.8) !important;
}

/* ================================================= */
/* 9. CHATBOT MODAL INTERACTIVO                      */
/* ================================================= */
#ed-chatbot-modal {
  display: none;
  position: fixed;
  bottom: 95px;
  right: 25px;
  width: 380px;
  max-width: 90vw;
  height: 520px;
  background: #08262E;
  border: 2px solid var(--cyan-main);
  border-radius: 22px;
  box-shadow: 0 20px 50px rgba(0,0,0,0.7);
  z-index: 1000000;
  flex-direction: column;
  overflow: hidden;
}

.ed-chatbot-header {
  background: var(--cyan-main);
  color: #FFFFFF;
  padding: 14px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.ed-chatbot-body {
  flex: 1;
  padding: 18px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.ed-chat-msg-bot {
  background: rgba(0, 166, 206, 0.15);
  border-left: 3px solid var(--cyan-main);
  padding: 12px 14px;
  border-radius: 4px 14px 14px 14px;
  font-size: 13.5px;
  line-height: 1.5;
  color: #FFFFFF;
}

.ed-chat-msg-user {
  background: var(--orange-main);
  color: #FFFFFF;
  padding: 10px 14px;
  border-radius: 14px 4px 14px 14px;
  font-size: 13.5px;
  line-height: 1.4;
  align-self: flex-end;
  max-width: 85%;
}

.ed-chat-prompts {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 10px;
}

.ed-chat-pill {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(0, 166, 206, 0.4);
  color: #E2E8F0;
  padding: 8px 12px;
  border-radius: 12px;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.ed-chat-pill:hover {
  background: var(--cyan-main);
  color: #FFFFFF;
  border-color: var(--cyan-main);
}

.ed-chatbot-input {
  display: flex;
  padding: 12px;
  background: #051A20;
  border-top: 1px solid rgba(0, 166, 206, 0.2);
}

.ed-chatbot-input input {
  flex: 1;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.15);
  color: #FFFFFF;
  padding: 10px 14px;
  border-radius: 20px;
  font-size: 13px;
  outline: none;
}

.ed-chatbot-input button {
  background: var(--cyan-main);
  color: #FFFFFF;
  border: none;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  margin-left: 8px;
  cursor: pointer;
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ed-floating-mascot-btn {
  position: fixed;
  bottom: 25px;
  right: 25px;
  z-index: 999999;
  cursor: pointer;
  transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  display: block;
  text-decoration: none;
}

.ed-floating-mascot-btn:hover {
  transform: scale(1.12);
}

.ed-floating-mascot-btn img {
  width: 90px;
  height: 90px;
  object-fit: contain;
  filter: drop-shadow(0 10px 22px rgba(0, 166, 206, 0.6));
}

.ed-floating-mascot-tooltip {
  position: absolute;
  top: -38px;
  right: 10px;
  background: #FFFFFF;
  color: #082128;
  padding: 5px 12px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
  box-shadow: 0 4px 15px rgba(0,0,0,0.3);
  animation: edPulseTooltip 2.5s infinite;
}

@keyframes edPulseTooltip {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}

/* ================================================= */
/* RESPONSIVE MOBILE - PERFECCIÓN VISUAL SIN BULLETS */
/* ================================================= */
@media (max-width: 991px) {
  .ed-nav-menu, .ed-nav-actions {
    display: none;
  }
  .ed-mobile-toggle {
    display: block;
  }
  .ed-hero-grid {
    text-align: center;
  }
  .ed-hero-featured-box img {
    height: 260px !important;
    margin-bottom: 24px !important;
  }
  .ed-hero-heading .elementor-heading-title {
    font-size: 38px !important;
  }
  .ed-hero-title-main .elementor-heading-title {
    font-size: 52px !important;
  }
  .ed-hero-subtitle-seccionales .elementor-heading-title {
    font-size: 28px !important;
  }
  .ed-cards-section {
    padding: 55px 4% !important;
  }
  .ed-cards-grid {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }
  .ed-center-sparkle {
    display: none !important;
  }
  .ed-mockup-card {
    padding: 26px 20px !important;
  }
  .ed-card-inner-split {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 16px !important;
  }
  .ed-card-symbol-box {
    width: 95px !important;
    height: 95px !important;
  }
  .ed-robot-symbol-img {
    width: 105px !important;
    height: 105px !important;
  }
  .ed-symbol-img {
    width: 90px !important;
    height: 90px !important;
  }
  .ed-card-title-lg {
    font-size: 42px !important;
  }
  .ed-orange-section {
    clip-path: none !important;
    padding: 55px 20px !important;
    margin: 20px 0 !important;
  }
  .ed-orange-grid {
    text-align: center !important;
  }
  .ed-orange-logo-img img {
    height: 52px !important;
    max-height: 52px !important;
    max-width: 220px !important;
    margin: 0 auto 18px auto !important;
  }
  .ed-slider-arrows {
    justify-content: center !important;
  }
  .ed-slide-card {
    min-width: 100% !important;
  }
  
  /* FIX EDICIONES ANTERIORES EN MÓVIL: SIN BULLETS SUELTOS */
  .ed-cyan-grid {
    flex-direction: column !important;
    text-align: center !important;
    gap: 20px !important;
  }
  .ed-cyan-asterisk {
    display: none !important;
  }
  .ed-cyan-years-row {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 360px !important;
    margin: 0 auto !important;
    justify-content: center !important;
  }
  .ed-tab-pill {
    padding: 10px 14px !important;
    width: 100% !important;
    border-radius: 16px !important;
  }
  .ed-tab-pill span.number {
    font-size: 28px !important;
  }

  .ed-interactive-card-box {
    grid-template-columns: 1fr;
  }
  .ed-interactive-img {
    height: 220px;
  }
  .ed-tu-tambien-grid {
    text-align: center;
  }
  .ed-tu-tambien-logo img {
    height: 54px !important;
    max-height: 54px !important;
    max-width: 230px !important;
    margin: 0 auto 12px auto !important;
  }
  .ed-tu-tambien-subtitle .elementor-heading-title {
    font-size: 38px !important;
  }
  .ed-tu-tambien-photo-box img {
    height: 240px !important;
  }
  .ed-footer-subbar {
    padding: 24px 20px 85px 20px !important;
  }
  .ed-footer-copy-centered p, .ed-footer-copy-centered .elementor-widget-container {
    text-align: center !important;
  }
  .ed-footer-powered p, .ed-footer-powered .elementor-widget-container {
    text-align: center !important;
    margin-top: 6px !important;
  }
}
/* ========================================================================= */
/* MESA DE TRABAJO 4 - DISEÑO OFICIAL VIBRANTE 2027                          */
/* ========================================================================= */

/* Reset cabecera Theme Builder */
.elementor-location-header {
  margin: 0 !important;
  background: #00A6CE !important;
}

/* 1. HERO CON BANNER VOTING HAND Y TITULO MEBEZT */
.elementor-10152 > .elementor-section:first-of-type,
.elementor-10152 .ed-hero-section,
.elementor-page-10152 .ed-hero-section {
  position: relative !important;
  background: url("/wp-content/uploads/2026/10/banner-home.png") center top / cover no-repeat !important;
  width: 100% !important;
  min-height: 850px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  padding: 480px 5% 55px 5% !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

@media (max-width: 1200px) {
  .elementor-10152 > .elementor-section:first-of-type,
.elementor-10152 .ed-hero-section,
  .elementor-page-10152 .ed-hero-section {
    min-height: 750px !important;
    padding: 400px 5% 50px 5% !important;
  }
}

@media (max-width: 850px) {
  .elementor-10152 > .elementor-section:first-of-type,
.elementor-10152 .ed-hero-section,
  .elementor-page-10152 .ed-hero-section {
    min-height: 580px !important;
    padding: 280px 5% 40px 5% !important;
  }
}

.ed-hero-lead-box {
  max-width: 820px !important;
  margin: 0 auto !important;
  text-align: center !important;
  position: relative !important;
  z-index: 3 !important;
}

.ed-hero-lead-title {
  font-family: 'Montserrat', sans-serif !important;
  font-size: clamp(28px, 3.5vw, 42px) !important;
  font-weight: 800 !important;
  color: #FFFFFF !important;
  margin: 0 0 12px 0 !important;
  line-height: 1.2 !important;
}

.ed-hero-lead-subtitle {
  font-family: 'Montserrat', sans-serif !important;
  font-size: clamp(15px, 1.8vw, 18px) !important;
  font-weight: 400 !important;
  color: #FFFFFF !important;
  margin: 0 auto 26px auto !important;
  line-height: 1.5 !important;
  opacity: 0.95 !important;
  max-width: 720px !important;
}

.ed-hero-pill-btn,
.elementor-widget-button.ed-hero-pill-btn {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  width: auto !important;
  max-width: 100% !important;
}

.ed-hero-pill-btn .elementor-button,
.ed-hero-pill-btn a {
  background: #00B5EF !important;
  color: #FFFFFF !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 800 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 40px !important;
  padding: 11px 40px !important;
  cursor: pointer !important;
  display: inline-flex !important;
  width: auto !important;
  max-width: 220px !important;
  margin: 0 auto !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 8px 25px rgba(0, 181, 239, 0.4) !important;
  text-decoration: none !important;
  transition: all 0.3s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
}

.ed-hero-pill-btn .elementor-button:hover,
.ed-hero-pill-btn a:hover {
  background: #20C2EB !important;
  transform: translateY(-2px) scale(1.03) !important;
  box-shadow: 0 12px 30px rgba(32, 194, 235, 0.6) !important;
}

/* 2. CINTA MARQUEE TICKER TAPE (BLANCO CON COLORES FARO) */
.ed-marquee-strip-wrap {
  width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  background: #FFFFFF !important;
  border-top: 1px solid #E2E8F0 !important;
  border-bottom: 1px solid #E2E8F0 !important;
  padding: 13px 0 !important;
  overflow: hidden !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.25) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15) !important;
}

.ed-marquee-strip-track {
  display: flex !important;
  width: max-content !important;
  animation: edInfiniteMarquee 26s linear infinite !important;
  will-change: transform !important;
}

.ed-marquee-strip-text {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 800 !important;
  letter-spacing: 2.5px !important;
  color: #FFFFFF !important;
  text-transform: uppercase !important;
  padding-right: 20px !important;
  white-space: nowrap !important;
}

/* 3. SECCIÓN 4 CUADRANTES + EDICIONES ANTERIORES (100% EDITABLE EN ELEMENTOR) */
.ed-orange-hub-section {
  padding: 70px 5% 85px 5% !important;
  width: 100% !important;
  position: relative !important;
}

.ed-orange-hub-container {
  max-width: 1200px !important;
  margin: 0 auto !important;
  position: relative !important;
}

.ed-cards-2x2-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 32px !important;
  position: relative !important;
  margin-bottom: 65px !important;
}

@media (max-width: 850px) {
  .ed-cards-2x2-grid {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
    margin-bottom: 45px !important;
  }
}

.ed-cyan-card-item {
  border-radius: 32px !important;
  padding: 38px 34px !important;
  min-height: 235px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.14) !important;
  transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.3s ease !important;
  text-decoration: none !important;
  position: relative !important;
}

.ed-cyan-card-item:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.22) !important;
}

.ed-card-top-row {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  margin-bottom: 16px !important;
}

.ed-card-robot-img {
  width: 76px !important;
  height: auto !important;
  max-height: 85px !important;
  object-fit: contain !important;
  flex-shrink: 0 !important;
  filter: drop-shadow(0 8px 16px rgba(0,0,0,0.25)) !important;
}

.ed-card-title-stack {
  display: flex !important;
  flex-direction: column !important;
}

.ed-card-mebezt-dark {
  font-family: 'MEBEZT', sans-serif !important;
  font-size: 38px !important;
  line-height: 0.95 !important;
  color: #071F26 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
}

.ed-card-montserrat-white {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  color: #FFFFFF !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
}

.ed-card-mebezt-white {
  font-family: 'MEBEZT', sans-serif !important;
  font-size: 38px !important;
  line-height: 0.95 !important;
  color: #FFFFFF !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
}

.ed-card-montserrat-dark {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  color: #071F26 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
}

.ed-card-badge-101 {
  height: 44px !important;
  width: auto !important;
  object-fit: contain !important;
  display: inline-block !important;
}

.ed-card-eyebrow {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  color: #071F26 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  margin-bottom: 4px !important;
}

.ed-card-evidencia-title {
  font-family: 'MEBEZT', sans-serif !important;
  font-size: 38px !important;
  line-height: 0.95 !important;
  color: #071F26 !important;
  letter-spacing: 0.5px !important;
  display: inline-flex !important;
  align-items: baseline !important;
}

.ed-card-evidencia-ia {
  color: #FFFFFF !important;
  position: relative !important;
  margin-left: 2px !important;
}

.ed-card-evidencia-ia::before {
  content: '' !important;
  position: absolute !important;
  top: -6px !important;
  left: 0 !important;
  width: 100% !important;
  height: 4px !important;
  background: #F37121 !important;
  border-radius: 2px !important;
}

.ed-card-bold-line {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
  margin: 0 0 6px 0 !important;
  line-height: 1.3 !important;
}

.ed-card-body-text {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 400 !important;
  color: #FFFFFF !important;
  margin: 0 !important;
  line-height: 1.5 !important;
  opacity: 0.95 !important;
}

/* Estrella central de los 4 cuadrantes */
.ed-center-star-icon {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  color: #FFFFFF !important;
  font-size: 32px !important;
  line-height: 1 !important;
  z-index: 10 !important;
  pointer-events: none !important;
  text-shadow: 0 2px 12px rgba(0,0,0,0.2) !important;
}

@media (max-width: 850px) {
  .ed-center-star-icon {
    display: none !important;
  }
}

/* Fila de Ediciones Anteriores */
.ed-ediciones-anteriores-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 24px !important;
  padding-top: 15px !important;
}

.ed-ediciones-big-title {
  font-family: 'MEBEZT', sans-serif !important;
  font-size: clamp(34px, 4.5vw, 48px) !important;
  line-height: 0.95 !important;
  color: #FFFFFF !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  margin: 0 !important;
}

.ed-ediciones-years-group {
  display: flex !important;
  align-items: center !important;
  gap: 24px !important;
  flex-wrap: wrap !important;
}

.ed-edicion-year-block {
  text-align: center !important;
}

.ed-edicion-year-block .ed-year-type {
  display: block !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 800 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: #FFFFFF !important;
  margin-bottom: 2px !important;
}

.ed-edicion-year-block .ed-year-number {
  display: block !important;
  font-family: 'MEBEZT', sans-serif !important;
  font-size: clamp(42px, 5vw, 58px) !important;
  line-height: 1 !important;
  color: #FFFFFF !important;
}

.ed-edicion-year-block.is-featured .ed-year-number {
  font-size: clamp(48px, 5.5vw, 66px) !important;
  font-weight: 900 !important;
  text-shadow: 0 4px 15px rgba(0,0,0,0.25) !important;
}

.ed-edicion-year-block:not(.is-featured) {
  opacity: 0.8 !important;
}

.ed-year-divider-star {
  color: #FFFFFF !important;
  font-size: 24px !important;
  opacity: 0.95 !important;
}

/* 4. FRANJA FOTOGRAFICA BLANCA */
.ed-white-photo-strip-section {
  background: #FFFFFF !important;
  padding: 45px 5% !important;
  width: 100% !important;
}

.ed-white-photo-box {
  max-width: 1200px !important;
  margin: 0 auto !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  box-shadow: 0 10px 30px rgba(0,0,0,0.08) !important;
}

.ed-white-photo-box img {
  width: 100% !important;
  height: 380px !important;
  object-fit: cover !important;
  display: block !important;
}

/* 5. SECCIÓN SPLIT: ECUADOR DECIDE Y TU TAMBIÉN (50% / 50%) */
.ed-split-tambien-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

@media (max-width: 850px) {
  .ed-split-tambien-grid {
    grid-template-columns: 1fr !important;
  }
}

.ed-split-graphic-col {
  background: url("/wp-content/uploads/2026/10/banner-cuadrado.png") center/cover no-repeat !important;
  min-height: 500px !important;
  width: 100% !important;
}

.ed-split-photo-col {
  background: #0C2B33 url("/wp-content/uploads/2026/10/hero_voting_ballot.jpg") center/cover no-repeat !important;
  min-height: 500px !important;
  width: 100% !important;
}

/* 6. FOOTER INSTITUCIONAL NARANJA */
.ed-footer-orange-main {
  background: #F37121 !important;
  background-color: #F37121 !important;
  padding: 65px 5% 45px 5% !important;
  width: 100% !important;
}

.ed-footer-orange-grid {
  max-width: 1200px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 1.6fr 1fr 1fr 1fr !important;
  gap: 36px !important;
}

@media (max-width: 900px) {
  .ed-footer-orange-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 28px !important;
  }
}

@media (max-width: 600px) {
  .ed-footer-orange-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
}

.ed-footer-brand-logo-img {
  max-width: 180px !important;
  height: auto !important;
  display: block !important;
  margin-bottom: 16px !important;
  filter: brightness(0) invert(1) !important;
}

.ed-footer-orange-title {
  color: #FFFFFF !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 800 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  margin: 0 0 16px 0 !important;
}

.ed-footer-orange-desc {
  color: #FFFFFF !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13.5px !important;
  line-height: 1.65 !important;
  margin: 0 !important;
  opacity: 0.95 !important;
}

.ed-footer-orange-links {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ed-footer-orange-links li {
  margin-bottom: 10px !important;
}

.ed-footer-orange-links a {
  color: #FFFFFF !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13.5px !important;
  text-decoration: none !important;
  opacity: 0.9 !important;
  transition: all 0.2s ease !important;
}

.ed-footer-orange-links a:hover {
  opacity: 1 !important;
  color: #071F26 !important;
  padding-left: 4px !important;
}

.ed-subfooter-legal-bar {
  background: #041419 !important;
  padding: 18px 5% !important;
  text-align: center !important;
  width: 100% !important;
}

.ed-subfooter-legal-bar p {
  color: #94A3B8 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12.5px !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

/* ========================================================================= */
/* CABECERA CYAN OFICIAL (MESA DE TRABAJO 4)                                 */
/* ========================================================================= */
.ed-nav-cyan-header {
  background: #00B5EF !important;
  width: 100% !important;
  padding: 16px 5% !important;
  box-sizing: border-box !important;
  position: relative !important;
  z-index: 99999 !important;
}

.ed-nav-cyan-container {
  max-width: 1300px !important;
  margin: 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

.ed-nav-brand img {
  height: 40px !important;
  width: auto !important;
  object-fit: contain !important;
  display: block !important;
}

.ed-nav-cyan-menu {
  display: flex !important;
  align-items: center !important;
  gap: 28px !important;
}

.ed-nav-cyan-menu a {
  color: #FFFFFF !important;
  text-decoration: none !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  transition: opacity 0.2s ease !important;
}

.ed-nav-cyan-menu a:hover,
.ed-nav-cyan-menu a.active {
  opacity: 0.8 !important;
}

.ed-nav-cta-box {
  display: flex !important;
  align-items: center !important;
  gap: 15px !important;
}

.ed-nav-cyan-btn {
  background: #00A6CE !important;
  color: #FFFFFF !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  border-radius: 30px !important;
  padding: 10px 28px !important;
  text-decoration: none !important;
  box-shadow: 0 4px 15px rgba(0,0,0,0.15) !important;
  transition: all 0.2s ease !important;
}

.ed-nav-cyan-btn:hover {
  background: #20C2EB !important;
  transform: translateY(-2px) !important;
}

.ed-cyan-menu-toggle {
  display: none !important;
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  padding: 4px !important;
}

@media (max-width: 1024px) {
  .ed-cyan-menu-toggle {
    display: block !important;
  }
  .ed-nav-cyan-menu {
    display: none !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    width: 100% !important;
    background: #00B5EF !important;
    flex-direction: column !important;
    padding: 20px !important;
    gap: 18px !important;
    box-shadow: 0 10px 25px rgba(0,0,0,0.2) !important;
  }
  .ed-nav-cyan-menu.is-open {
    display: flex !important;
  }
}

/* FIX HERO PADDING AND BUTTON SIZE */
.skip-link {
  position: absolute !important;
  top: -9999px !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

html, body {
  margin: 0 !important;
  padding: 0 !important;
}

.elementor-location-header {
  margin-top: 0 !important;
  background: #00A6CE !important;
}

.elementor-location-header .elementor-section {
  padding-top: 14px !important;
  padding-bottom: 14px !important;
  box-sizing: border-box !important;
}

.elementor-location-header .elementor-container {
  display: flex !important;
  align-items: center !important;
}

.elementor-location-header .elementor-column {
  display: flex !important;
  align-items: center !important;
}

@media (max-width: 767px) {
  .elementor-location-header .elementor-section {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }
  .ed-header-btn-col {
    display: none !important;
  }
}

.elementor-10152 > .elementor-section:first-of-type,
.elementor-10152 .ed-hero-section,
.elementor-4307 > .elementor-section:first-of-type,
.elementor-4307 .ed-hero-section {
  position: relative !important;
  background: url("/wp-content/uploads/2026/10/hero-woman1-oficial.jpg") center right / cover no-repeat !important;
  width: 100% !important;
  min-height: 480px !important;
  height: auto !important;
  max-height: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  padding: 80px 20px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

.elementor-10152 .ed-hero-section .elementor-container,
.elementor-page-10152 .ed-hero-section .elementor-container {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

.ed-hero-logo-img {
  text-align: left !important;
  margin-bottom: 12px !important;
}

.ed-hero-logo-img .elementor-widget-container {
  text-align: left !important;
}

.ed-hero-logo-img img {
  max-width: 460px !important;
  width: 100% !important;
  height: auto !important;
  display: block !important;
  filter: drop-shadow(0 3px 12px rgba(4, 20, 25, 0.5)) !important;
}

.ed-hero-seccionales-title {
  text-align: left !important;
}

.ed-hero-seccionales-title .elementor-heading-title {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  color: #FFFFFF !important;
  letter-spacing: 2.8px !important;
  text-transform: uppercase !important;
  text-align: left !important;
  margin: 0 !important;
  line-height: 1.2 !important;
  text-shadow: 0 2px 8px rgba(4, 20, 25, 0.7) !important;
}

@media (max-width: 1024px) {
  .elementor-10152 .ed-hero-section,
  .elementor-page-10152 .ed-hero-section {
    min-height: 420px !important;
    padding: 60px 20px !important;
  }
  .ed-hero-logo-img img {
    max-width: 380px !important;
  }
  .ed-hero-seccionales-title .elementor-heading-title {
    font-size: 18px !important;
    letter-spacing: 2px !important;
  }
}

@media (max-width: 767px) {
  .elementor-10152 .ed-hero-section,
  .elementor-page-10152 .ed-hero-section {
    min-height: 360px !important;
    padding: 45px 15px !important;
    justify-content: center !important;
  }
  .elementor-10152 .ed-hero-section .elementor-container,
  .elementor-page-10152 .ed-hero-section .elementor-container {
    justify-content: center !important;
  }
  .ed-hero-logo-img {
    text-align: center !important;
  }
  .ed-hero-logo-img img {
    max-width: 280px !important;
    margin: 0 auto !important;
  }
  .ed-hero-seccionales-title .elementor-heading-title {
    text-align: center !important;
    font-size: 15px !important;
  }
}
  margin: 10px 0 0 0 !important;
  text-shadow: 0 2px 10px rgba(4, 20, 25, 0.7) !important;
}

/* Chatbot section compacta para caber en pantalla inicial */
.ed-amix-chatbot-section {
  padding: 45px 30px !important;
}

.ed-amix-chatbot-section .elementor-container {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
}

.ed-amix-chatbot-section .ed-floating-bot-widget img {
  max-width: 250px !important;
  height: auto !important;
  display: block !important;
  margin: 0 auto !important;
}

.ed-hero-art-widget {
  max-width: 490px !important;
  width: 100% !important;
  margin: 0 auto 10px auto !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

.ed-hero-art-widget img {
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
  margin: 0 auto !important;
}

.elementor-10152 .ed-hero-section .elementor-widget-heading .elementor-heading-title,
.elementor-4307 .ed-hero-section .elementor-widget-heading .elementor-heading-title {
  color: #FFFFFF !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  font-size: clamp(18px, 2.7vh, 28px) !important;
  line-height: 1.2 !important;
  margin-bottom: 0.4vh !important;
  text-align: center !important;
}

.elementor-10152 .ed-hero-section .elementor-widget-text-editor p,
.elementor-4307 .ed-hero-section .elementor-widget-text-editor p {
  color: #FFFFFF !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: clamp(11.5px, 1.6vh, 14px) !important;
  font-weight: 400 !important;
  max-width: 680px !important;
  margin: 0 auto 1.2vh auto !important;
  line-height: 1.4 !important;
  text-align: center !important;
  opacity: 0.95 !important;
}

/* ==========================================================================
   ECUADOR DECIDE 2027 - FASE 1 NATIVE OVERRIDES & REFINEMENTS
   ========================================================================== */

/* 1. CABECERA & NAVEGACIÓN GLOBAL (100% NATIVE ELEMENTOR & EDITABLE) */
.elementor-location-header {
  position: relative !important;
  z-index: 1000 !important;
  background-color: #00A6CE !important;
}

/* Altura y relleno generoso hacia abajo en Desktop */
.elementor-location-header .elementor-section {
  padding-top: 22px !important;
  padding-bottom: 22px !important;
  background-color: #00A6CE !important;
  box-sizing: border-box !important;
}

.elementor-location-header .elementor-container {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

.elementor-location-header .elementor-column {
  display: flex !important;
  align-items: center !important;
}

/* En Desktop ocultamos el item CHAT del menú horizontal porque tiene su botón dedicado */
@media (min-width: 768px) {
  .ed-menu-item-chat,
  li.ed-menu-item-chat,
  .elementor-nav-menu--main li.ed-menu-item-chat,
  .elementor-location-header .elementor-nav-menu--main li.ed-menu-item-chat {
    display: none !important;
  }
}


/* Tablet refinement (768px - 1024px) para mantener menú en 1 sola línea */
@media (min-width: 768px) and (max-width: 1024px) {
  .elementor-location-header .elementor-section {
    padding-top: 18px !important;
    padding-bottom: 18px !important;
  }
  .elementor-location-header .elementor-container {
    padding: 0 15px !important;
  }
  .elementor-location-header .elementor-nav-menu--main a.elementor-item {
    font-size: 11.5px !important;
    padding: 8px 10px !important;
    letter-spacing: 0.4px !important;
  }
  .elementor-location-header .elementor-container > .elementor-column:nth-child(1) {
    width: 22% !important;
    flex: 0 0 22% !important;
  }
  .elementor-location-header .elementor-container > .elementor-column:nth-child(2) {
    width: 66% !important;
    flex: 0 0 66% !important;
  }
  .elementor-location-header .elementor-container > .elementor-column:nth-child(3) {
    width: 12% !important;
    flex: 0 0 12% !important;
  }
}

/* En Móvil: Header espacioso con aire y Menú Desplegable 100% Nativo & Editable */
@media (max-width: 767px) {
  .elementor-location-header .elementor-section {
    padding-top: 18px !important;
    padding-bottom: 18px !important;
    background-color: #00A6CE !important;
  }

  .elementor-location-header .elementor-container {
    position: static !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
  }

  .elementor-location-header .elementor-column {
    position: static !important;
  }

  .elementor-location-header .elementor-widget-wrap {
    position: static !important;
  }

  .elementor-location-header .elementor-widget-nav-menu {
    position: static !important;
  }

  .elementor-location-header .elementor-container > .elementor-column:nth-child(1) {
    width: 75% !important;
    flex: 0 0 75% !important;
    display: flex !important;
    align-items: center !important;
  }

  .elementor-location-header .elementor-container > .elementor-column:nth-child(2) {
    width: 25% !important;
    flex: 0 0 25% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
  }

  /* Ocultar botón duplicado de la barra superior en móvil */
  .elementor-location-header .ed-header-btn-col,
  .elementor-location-header .elementor-column.ed-header-btn-col,
  .elementor-location-header .elementor-container > .elementor-column:nth-child(3),
  .elementor-location-header .elementor-widget-button {
    display: none !important;
  }

  /* Botón Hamburguesa / X de Elementor */
  .elementor-location-header .elementor-menu-toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    color: #FFFFFF !important;
    font-size: 28px !important;
    cursor: pointer !important;
    padding: 6px !important;
    margin-left: auto !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
  }

  .elementor-location-header .elementor-menu-toggle i,
  .elementor-location-header .elementor-menu-toggle svg {
    color: #FFFFFF !important;
    fill: #FFFFFF !important;
  }

  /* Menú Desplegable Flotante Elegante (100% Nativo de Elementor) */
  .elementor-location-header .elementor-nav-menu--dropdown {
    position: absolute !important;
    top: 100% !important;
    left: 15px !important;
    right: 15px !important;
    width: calc(100vw - 30px) !important;
    max-width: 480px !important;
    margin: 8px auto 0 auto !important;
    background: linear-gradient(180deg, #0C2B33 0%, #071F26 100%) !important;
    border: 1px solid rgba(0, 166, 206, 0.3) !important;
    border-radius: 20px !important;
    padding: 24px 20px !important;
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.6) !important;
    z-index: 999999 !important;
    box-sizing: border-box !important;
  }

  .elementor-location-header .elementor-nav-menu--dropdown ul.elementor-nav-menu {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
  }

  .elementor-location-header .elementor-nav-menu--dropdown ul.elementor-nav-menu li {
    width: 100% !important;
    text-align: center !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .elementor-location-header .elementor-nav-menu--dropdown a.elementor-item {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    color: #FFFFFF !important;
    text-decoration: none !important;
    display: block !important;
    padding: 10px 14px !important;
    border-radius: 10px !important;
    transition: all 0.2s ease !important;
    border: none !important;
  }

  .elementor-location-header .elementor-nav-menu--dropdown a.elementor-item:hover,
  .elementor-location-header .elementor-nav-menu--dropdown a.elementor-item:focus {
    color: #00A6CE !important;
    background: rgba(0, 166, 206, 0.12) !important;
  }

  /* Botón CHAT CTA dentro del menú móvil */
  .elementor-location-header .elementor-nav-menu--dropdown li.ed-menu-item-chat {
    margin-top: 10px !important;
    padding-top: 16px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
  }

  .elementor-location-header .elementor-nav-menu--dropdown li.ed-menu-item-chat a.elementor-item {
    background: #E85D26 !important;
    color: #FFFFFF !important;
    font-weight: 800 !important;
    letter-spacing: 2px !important;
    padding: 13px 32px !important;
    border-radius: 30px !important;
    box-shadow: 0 8px 20px rgba(232, 93, 38, 0.4) !important;
    display: inline-block !important;
    width: auto !important;
  }

  .elementor-location-header .elementor-nav-menu--dropdown li.ed-menu-item-chat a.elementor-item:hover {
    background: #FF5A22 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 12px 25px rgba(255, 90, 34, 0.6) !important;
  }
}

/* 2. HERO SECTION & BOTÓN CHAT CENTRADO (NO ENORME NI ESTIRADO) */
.ed-hero-section .elementor-widget-wrap {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-end !important;
  width: 100% !important;
  text-align: center !important;
}

.ed-hero-pill-btn,
.elementor-widget-button.ed-hero-pill-btn {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  text-align: center !important;
  margin: 0 auto !important;
}

.ed-hero-pill-btn .elementor-button-wrapper {
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
  text-align: center !important;
}

.ed-hero-pill-btn .elementor-button,
.elementor-10152 .ed-hero-section .elementor-button,
.elementor-4307 .ed-hero-section .elementor-button {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  font-size: 13px !important;
  letter-spacing: 1.8px !important;
  text-transform: uppercase !important;
  background-color: #00B5EF !important;
  color: #FFFFFF !important;
  border-radius: 35px !important;
  padding: 12px 38px !important;
  box-shadow: 0 8px 25px rgba(0, 181, 239, 0.4) !important;
  display: inline-flex !important;
  width: auto !important;
  min-width: 180px !important;
  max-width: 240px !important;
  margin: 0 auto !important;
  text-decoration: none !important;
  transition: all 0.3s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
}

.ed-hero-pill-btn .elementor-button:hover,
.elementor-10152 .ed-hero-section .elementor-button:hover,
.elementor-4307 .ed-hero-section .elementor-button:hover {
  background-color: #20C2EB !important;
  color: #FFFFFF !important;
  transform: translateY(-2px) scale(1.03) !important;
  box-shadow: 0 12px 30px rgba(32, 194, 235, 0.6) !important;
}

/* 3. MARQUEE TICKER TAPE (FONDO BLANCO - COLORES DE FARO) */
.ed-marquee-strip-wrap {
  width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  background: #FFFFFF !important;
  border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
  padding: 14px 0 !important;
  overflow: hidden !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04) !important;
}

/* 4. SECCIÓN 3: CUADRANTES DE HERRAMIENTAS (100% EDITABLES EN ELEMENTOR, SEPARADOS, CON MISMA ALTURA) */
.ed-orange-hub-section {
  padding: 70px 24px 85px 24px !important;
  width: 100% !important;
}

.ed-orange-hub-section .elementor-container {
  max-width: 1220px !important;
  margin: 0 auto !important;
}

/* Filas de cuadrantes: separación vertical generosa */
.ed-quadrant-row,
.ed-orange-hub-section .elementor-inner-section {
  margin-bottom: 28px !important;
}
.ed-quadrant-row:last-child,
.ed-orange-hub-section .elementor-inner-section:last-child {
  margin-bottom: 0 !important;
}

.ed-quadrant-row > .elementor-container,
.ed-orange-hub-section .elementor-inner-section > .elementor-container {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  justify-content: space-between !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}

/* Cada tarjeta: caja independiente, 48.5% de ancho para dejar ~3% (36px) de separación limpia (100% Editable) */
.ed-cyan-card-col,
.ed-orange-hub-section .elementor-col-50.elementor-inner-column {
  width: 48.5% !important;
  max-width: 48.5% !important;
  flex: 0 0 48.5% !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 0 !important;
  border: none !important;
  box-sizing: border-box !important;
  background: transparent !important;
}

.ed-cyan-card-col > .elementor-widget-wrap,
.ed-orange-hub-section .elementor-col-50.elementor-inner-column > .elementor-widget-wrap {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  height: 100% !important;
  width: 100% !important;
  padding: 38px 34px !important;
  border-radius: 28px !important;
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.25) !important;
  box-sizing: border-box !important;
  border: none !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.ed-cyan-card-col:hover > .elementor-widget-wrap,
.ed-orange-hub-section .elementor-col-50.elementor-inner-column:hover > .elementor-widget-wrap {
  transform: translateY(-4px) !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.35) !important;
}

/* Alineación de los botones al pie de cada tarjeta */
.ed-cyan-card-col .ed-card-white-btn,
.ed-card-white-btn {
  margin-top: auto !important;
  padding-top: 24px !important;
}

.ed-cyan-card-col .ed-card-white-btn .elementor-button,
.ed-card-white-btn .elementor-button {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  font-size: 11.5px !important;
  letter-spacing: 1.2px !important;
  text-transform: uppercase !important;
  border-radius: 25px !important;
  padding: 12px 28px !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15) !important;
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  transition: all 0.25s ease !important;
  border: none !important;
}

.ed-cyan-card-col .ed-card-white-btn .elementor-button:hover,
.ed-card-white-btn .elementor-button:hover {
  background-color: #071F26 !important;
  color: #FFFFFF !important;
  transform: translateY(-2px) scale(1.03) !important;
  box-shadow: 0 8px 25px rgba(7, 31, 38, 0.4) !important;
}

@media (max-width: 850px) {
  .ed-quadrant-row > .elementor-container,
  .ed-orange-hub-section .elementor-inner-section > .elementor-container {
    flex-direction: column !important;
    gap: 20px !important;
  }
  .ed-cyan-card-col,
  .ed-orange-hub-section .elementor-col-50.elementor-inner-column {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
    min-height: auto !important;
    padding: 0 !important;
    margin-bottom: 20px !important;
  }
  .ed-cyan-card-col > .elementor-widget-wrap,
  .ed-orange-hub-section .elementor-col-50.elementor-inner-column > .elementor-widget-wrap {
    padding: 30px 24px !important;
  }
}

/* 5. SECCIÓN 4: FOTO FULL WIDTH EDGE TO EDGE */
.ed-fullwidth-photo-strip,
.ed-fullwidth-photo-strip .elementor-container,
.ed-fullwidth-photo-strip .elementor-column,
.ed-fullwidth-photo-strip .elementor-widget-wrap,
.ed-fullwidth-photo-strip .elementor-widget-image,
.ed-fullwidth-photo-strip .elementor-widget-container {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.ed-fullwidth-photo-strip img {
  width: 100% !important;
  height: auto !important;
  max-height: 700px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 0 !important;
}

/* 6. SECCIÓN 5: SPLIT 50/50 "ECUADOR DECIDE Y TÚ TAMBIÉN" (MISMO ESPACIO Y MISMA ALTURA EXACTA) */
.ed-split-50-section {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}

.ed-split-50-section .elementor-container {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.ed-split-50-section .elementor-column,
.ed-split-50-col {
  width: 50% !important;
  max-width: 50% !important;
  flex: 0 0 50% !important;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

.ed-split-50-section .elementor-widget-wrap,
.ed-split-50-section .elementor-widget-image,
.ed-split-50-section .elementor-widget-container {
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
}

.ed-split-50-section img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
}

@media (max-width: 767px) {
  .ed-split-50-section .elementor-container {
    flex-direction: column !important;
    width: 100% !important;
  }
  .ed-split-50-section .elementor-column,
  .ed-split-50-col {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }
  .ed-split-50-section img {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: contain !important;
  }
}



/* ==========================================================================
   ECUADOR DECIDE 2027 - FASE 3 SUBPAGES STYLING (VISTOSA & LUMINOSA)
   ========================================================================== */

/* 1. STEP GRID LUMINOSA (Candidaturas) */
.ed-light-step-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .ed-light-step-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}
.ed-light-step-card {
  background: #FFFFFF;
  border: 1.5px solid #E2E8F0;
  border-radius: 14px;
  padding: 28px 24px;
  text-align: left;
  box-shadow: 0 10px 25px rgba(0, 166, 206, 0.06);
  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}
.ed-light-step-card:hover {
  transform: translateY(-5px);
  border-color: #00A6CE;
  box-shadow: 0 14px 30px rgba(0, 166, 206, 0.15);
}
.ed-light-step-num {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  color: #FFFFFF !important;
  font-family: 'MEBEZT', sans-serif !important;
  font-size: 22px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
  font-weight: bold;
}
.ed-light-step-num.cyan {
  background: #00A6CE;
}
.ed-light-step-num.orange {
  background: #E85D26;
}
.ed-light-step-title {
  color: #072D33 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  margin: 0 0 10px 0 !important;
}
.ed-light-step-desc {
  color: #475569 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}
.ed-light-disclaimer-box {
  margin-top: 35px;
  background: #EBF8FC;
  border-left: 5px solid #00A6CE;
  border-radius: 10px;
  padding: 20px 24px;
  text-align: left;
  box-shadow: 0 4px 15px rgba(0, 166, 206, 0.05);
}

/* 2. FLIP CARDS LUMINOSAS CON REVERSO CYAN INSTITUCIONAL */
.ed-flip-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
@media (max-width: 991px) {
  .ed-flip-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 640px) {
  .ed-flip-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}
.ed-flip-card {
  background: transparent;
  perspective: 1000px;
  min-height: 250px;
  cursor: pointer;
  user-select: none;
}
.ed-flip-card-inner {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 250px;
  text-align: left;
  transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
  transform-style: preserve-3d;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
  border-radius: 16px;
}
.ed-flip-card:hover .ed-flip-card-inner,
.ed-flip-card.is-flipped .ed-flip-card-inner {
  transform: rotateY(180deg);
}
.ed-flip-front,
.ed-flip-back {
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  border-radius: 16px;
  padding: 26px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.ed-flip-front.light {
  background: #FFFFFF;
  border: 1.5px solid #E2E8F0;
  box-shadow: 0 8px 20px rgba(0, 166, 206, 0.06);
}
.ed-flip-front.light:hover {
  border-color: #00A6CE;
}
.ed-flip-back.vibrant {
  background: linear-gradient(135deg, #00A6CE 0%, #072D33 100%);
  border: 1.5px solid #00A6CE;
  color: #FFFFFF !important;
  transform: rotateY(180deg);
}
.ed-flip-tag {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  color: #00A6CE !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
}
.ed-flip-icon {
  font-size: 36px;
  margin: 6px 0;
}
.ed-flip-title.light {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  color: #072D33 !important;
  margin: 0 !important;
  line-height: 1.4 !important;
}
.ed-flip-hint.light {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  color: #64748B !important;
  margin-top: 10px;
}
.ed-flip-back-title {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
  margin: 0 0 10px 0 !important;
}
.ed-flip-back-desc {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13.5px !important;
  line-height: 1.55 !important;
  color: #EBF8FC !important;
  margin: 0 0 14px 0 !important;
}
.ed-source-badge-orange {
  display: inline-block !important;
  background: #E85D26 !important;
  color: #FFFFFF !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  padding: 8px 14px !important;
  border-radius: 8px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

/* 3. STAT GRID LUMINOSA (Elecciones 101 & Ediciones Anteriores) */
.ed-light-stat-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
@media (max-width: 991px) {
  .ed-light-stat-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 540px) {
  .ed-light-stat-grid {
    grid-template-columns: 1fr !important;
  }
}
.ed-light-stat-card {
  background: #FFFFFF;
  border: 1.5px solid #E2E8F0;
  border-radius: 16px;
  padding: 30px 22px;
  text-align: center;
  box-shadow: 0 10px 25px rgba(0, 166, 206, 0.06);
  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}
.ed-light-stat-card:hover {
  transform: translateY(-5px);
  border-color: #00A6CE;
  box-shadow: 0 14px 30px rgba(0, 166, 206, 0.15);
}
.ed-light-stat-num {
  font-family: 'MEBEZT', sans-serif !important;
  font-size: 48px !important;
  line-height: 1 !important;
  margin-bottom: 10px !important;
}
.ed-light-stat-num.cyan {
  color: #00A6CE !important;
}
.ed-light-stat-num.orange {
  color: #E85D26 !important;
}
.ed-light-stat-title {
  color: #072D33 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  margin-bottom: 8px !important;
}
.ed-light-stat-desc {
  color: #475569 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13.5px !important;
  line-height: 1.55 !important;
}
.ed-light-callout {
  margin-top: 36px;
  background: #FFFFFF;
  border: 2px solid #00A6CE;
  border-radius: 14px;
  padding: 26px 30px;
  text-align: center;
  box-shadow: 0 10px 30px rgba(0, 166, 206, 0.1);
}

/* 4. PAPELETAS CON FOTOS (Elecciones 101) */
.ed-light-papeletas-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .ed-light-papeletas-grid {
    grid-template-columns: 1fr;
  }
}
.ed-light-papeleta-card {
  background: #FFFFFF;
  border: 1.5px solid #E2E8F0;
  border-radius: 18px;
  overflow: hidden;
  text-align: left;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.06);
  transition: transform 0.3s ease, border-color 0.3s ease;
}
.ed-light-papeleta-card:hover {
  transform: translateY(-4px);
  border-color: #00A6CE;
}
.ed-papeleta-img {
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  display: block !important;
}
.ed-papeleta-card-content {
  padding: 26px;
}
.ed-papeleta-badge {
  display: inline-block;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 1.5px !important;
  padding: 6px 14px !important;
  border-radius: 20px !important;
  margin-bottom: 14px !important;
  color: #FFFFFF !important;
}
.ed-papeleta-badge.cyan {
  background: #00A6CE !important;
}
.ed-papeleta-badge.orange {
  background: #E85D26 !important;
}
.ed-papeleta-title.light {
  color: #072D33 !important;
  font-family: 'MEBEZT', sans-serif !important;
  font-size: 26px !important;
  margin: 0 0 8px 0 !important;
}
.ed-papeleta-desc.light {
  color: #64748B !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  margin: 0 0 18px 0 !important;
}
.ed-light-papeleta-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.ed-light-papeleta-list li {
  color: #334155 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  margin-bottom: 10px !important;
  padding-left: 22px !important;
  position: relative !important;
}
.ed-light-papeleta-list li::before {
  content: '✓';
  position: absolute;
  left: 0;
  color: #00A6CE !important;
  font-weight: bold;
}
.ed-btn-cne {
  display: inline-block;
  background: #00A6CE;
  color: #FFFFFF !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: 1.2px !important;
  padding: 16px 36px !important;
  border-radius: 30px !important;
  text-decoration: none !important;
  transition: all 0.3s ease;
  box-shadow: 0 6px 20px rgba(0, 166, 206, 0.35);
}
.ed-btn-cne:hover {
  background: #20C2EB;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 166, 206, 0.45);
}

/* 5. TIMELINE LUMINOSA (Elecciones 101 & Ediciones Anteriores) */
.ed-light-timeline-container {
  position: relative;
  max-width: 860px;
  margin: 0 auto;
  padding-left: 36px;
  border-left: 3px solid #00A6CE;
  text-align: left;
}
.ed-light-timeline-item {
  position: relative;
  margin-bottom: 36px;
  background: #FFFFFF;
  border: 1.5px solid #E2E8F0;
  border-radius: 14px;
  padding: 22px 26px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.04);
}
.ed-light-timeline-item:last-child {
  margin-bottom: 0;
}
.ed-light-timeline-dot {
  position: absolute;
  left: -48px;
  top: 24px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #00A6CE;
  border: 4px solid #FFFFFF;
  box-shadow: 0 0 10px rgba(0, 166, 206, 0.6);
}
.ed-light-timeline-dot.highlight {
  background: #E85D26;
  box-shadow: 0 0 12px rgba(232, 93, 38, 0.8);
}
.ed-light-timeline-date {
  display: inline-block;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 1.5px !important;
  padding: 4px 12px !important;
  border-radius: 14px !important;
  margin-bottom: 8px !important;
  color: #FFFFFF !important;
}
.ed-light-timeline-date.cyan {
  background: #00A6CE !important;
}
.ed-light-timeline-date.highlight {
  background: #E85D26 !important;
}
.ed-light-timeline-title {
  color: #072D33 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  margin: 0 0 6px 0 !important;
}
.ed-light-timeline-desc {
  color: #475569 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

/* 6. DOCUMENTATION MODULES LUMINOSOS (La Evidencia) */
.ed-light-doc-grid {
  display: flex;
  flex-direction: column;
  gap: 26px;
  max-width: 1000px;
  margin: 0 auto;
  text-align: left;
}
.ed-light-doc-card {
  background: #FFFFFF;
  border-radius: 16px;
  padding: 32px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}
.ed-light-doc-card.cyan-border {
  border-top: 5px solid #00A6CE;
  border-left: 1.5px solid #E2E8F0;
  border-right: 1.5px solid #E2E8F0;
  border-bottom: 1.5px solid #E2E8F0;
}
.ed-light-doc-card.orange-border {
  border-top: 5px solid #E85D26;
  border-left: 1.5px solid #E2E8F0;
  border-right: 1.5px solid #E2E8F0;
  border-bottom: 1.5px solid #E2E8F0;
}
.ed-light-doc-badge {
  display: inline-block;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 1.5px !important;
  padding: 5px 14px !important;
  border-radius: 14px !important;
  margin-bottom: 14px !important;
  color: #FFFFFF !important;
}
.ed-light-doc-badge.cyan {
  background: #00A6CE !important;
}
.ed-light-doc-badge.orange {
  background: #E85D26 !important;
}
.ed-light-doc-title {
  color: #072D33 !important;
  font-family: 'MEBEZT', sans-serif !important;
  font-size: 26px !important;
  margin: 0 0 10px 0 !important;
}
.ed-light-doc-summary {
  color: #64748B !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  margin: 0 0 20px 0 !important;
}
.ed-light-doc-body ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.ed-light-doc-body li {
  color: #334155 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14.5px !important;
  line-height: 1.65 !important;
  margin-bottom: 12px !important;
  padding-left: 24px !important;
  position: relative !important;
}
.ed-light-doc-body li::before {
  content: '▸';
  position: absolute;
  left: 0;
  color: #00A6CE !important;
  font-size: 18px;
}
.ed-btn-orange-pill {
  display: inline-block;
  background: #E85D26;
  color: #FFFFFF !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: 1.2px !important;
  padding: 12px 26px !important;
  border-radius: 25px !important;
  text-decoration: none !important;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(232, 93, 38, 0.35);
}
.ed-btn-orange-pill:hover {
  background: #FF5A22;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(232, 93, 38, 0.45);
}

/* 7. PILARES & ESPACIOS (Quiénes Somos) */
.ed-light-pilares-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: 1200px;
  margin: 0 auto;
}
@media (max-width: 850px) {
  .ed-light-pilares-grid {
    grid-template-columns: 1fr;
  }
}
.ed-light-pilar-card {
  background: #FFFFFF;
  border-radius: 16px;
  padding: 30px 24px;
  text-align: left;
  box-shadow: 0 10px 25px rgba(0, 166, 206, 0.06);
  transition: transform 0.3s ease, border-color 0.3s ease;
}
.ed-light-pilar-card.cyan-border {
  border-top: 5px solid #00A6CE;
  border-left: 1.5px solid #E2E8F0;
  border-right: 1.5px solid #E2E8F0;
  border-bottom: 1.5px solid #E2E8F0;
}
.ed-light-pilar-card.orange-border {
  border-top: 5px solid #E85D26;
  border-left: 1.5px solid #E2E8F0;
  border-right: 1.5px solid #E2E8F0;
  border-bottom: 1.5px solid #E2E8F0;
}
.ed-light-pilar-card:hover {
  transform: translateY(-5px);
}
.ed-light-pilar-icon {
  font-size: 38px;
  margin-bottom: 14px;
}
.ed-light-pilar-title {
  color: #072D33 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  margin: 0 0 10px 0 !important;
}
.ed-light-pilar-desc {
  color: #475569 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}
.ed-light-espacio-item {
  background: #FFFFFF;
  border: 1.5px solid #E2E8F0;
  border-radius: 14px;
  padding: 22px 24px;
  margin-bottom: 18px;
  text-align: left;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.04);
}
.ed-light-espacio-badge {
  display: inline-block;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 10.5px !important;
  font-weight: 800 !important;
  letter-spacing: 1.5px !important;
  padding: 4px 12px !important;
  border-radius: 12px !important;
  margin-bottom: 10px !important;
  color: #FFFFFF !important;
}
.ed-light-espacio-badge.cyan {
  background: #00A6CE !important;
}
.ed-light-espacio-badge.orange {
  background: #E85D26 !important;
}
.ed-light-espacio-title {
  color: #072D33 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  margin: 0 0 6px 0 !important;
}
.ed-light-espacio-desc {
  color: #475569 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13.5px !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

/* ==========================================================================
   NATIVE ELEMENTOR 100% EDITABLE COMPONENT STYLES
   ========================================================================== */

/* 1. Native Badges (Editable Heading Widgets) */
.ed-native-badge .elementor-heading-title {
  display: inline-block !important;
  background: rgba(0, 166, 206, 0.12) !important;
  border: 1.5px solid #00A6CE !important;
  color: #00A6CE !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 2px !important;
  padding: 6px 16px !important;
  border-radius: 20px !important;
  text-transform: uppercase !important;
}
.ed-native-badge-orange .elementor-heading-title {
  display: inline-block !important;
  background: rgba(232, 93, 38, 0.12) !important;
  border: 1.5px solid #E85D26 !important;
  color: #E85D26 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 2px !important;
  padding: 6px 16px !important;
  border-radius: 20px !important;
  text-transform: uppercase !important;
}

/* 2. Step Numbers (Editable Headings) */
.ed-step-num-cyan .elementor-heading-title {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 48px !important;
  height: 48px !important;
  border-radius: 50% !important;
  background: #00A6CE !important;
  color: #FFFFFF !important;
  font-family: 'MEBEZT', sans-serif !important;
  font-size: 26px !important;
  line-height: 1 !important;
  margin: 0 auto 16px auto !important;
}
.ed-step-num-orange .elementor-heading-title {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 48px !important;
  height: 48px !important;
  border-radius: 50% !important;
  background: #E85D26 !important;
  color: #FFFFFF !important;
  font-family: 'MEBEZT', sans-serif !important;
  font-size: 26px !important;
  line-height: 1 !important;
  margin: 0 auto 16px auto !important;
}

/* 3. Native Card Columns Spacing & Styling (Página Candidaturas & Global) */
.elementor-column.ed-native-card {
  padding: 0 12px !important;
  margin-bottom: 24px !important;
  box-sizing: border-box !important;
}

/* =========================================================================
   PÁGINA CANDIDATURAS (POST 10173) - ESTILOS OFICIALES SEGÚN BRANDING Y PDF
   ========================================================================= */

/* Banners de título de las páginas internas */
.elementor .elementor-top-section.ed-candidaturas-hero-banner,
.elementor-10239 .elementor-top-section.elementor-element-125ba9cc,
.elementor-10238 .elementor-top-section.elementor-element-6588637,
.elementor-10375 .elementor-top-section.elementor-element-18b63321 {
  margin-bottom: 0 !important;
  padding: 0 clamp(16px, 5vw, 60px) !important;
}

.elementor .elementor-top-section.ed-candidaturas-hero-banner > .elementor-container,
.elementor-10239 .elementor-top-section.elementor-element-125ba9cc > .elementor-container,
.elementor-10238 .elementor-top-section.elementor-element-6588637 > .elementor-container,
.elementor-10375 .elementor-top-section.elementor-element-18b63321 > .elementor-container {
  min-height: clamp(192px, 31vw, 360px) !important;
  align-items: center;
  padding-block: 24px;
}

.elementor .elementor-top-section.ed-candidaturas-hero-banner .elementor-heading-title,
.elementor-10239 .elementor-top-section.elementor-element-125ba9cc .elementor-heading-title,
.elementor-10238 .elementor-top-section.elementor-element-6588637 h1.elementor-heading-title,
.elementor-10375 .elementor-top-section.elementor-element-18b63321 h1.elementor-heading-title {
  font-size: clamp(1.625rem, 6.5vw, 4.5rem) !important;
  line-height: 1.05 !important;
  letter-spacing: 0.015em !important;
}

/* La Evidencia */
.elementor-10238 .elementor-top-section.elementor-element-6588637 {
  background: linear-gradient(rgba(7, 31, 38, 0.66), rgba(7, 31, 38, 0.66)), #173e50 url("2026/10/foto-jovenes-colaborando.jpg") center 34% / cover no-repeat !important;
}

.elementor-10238 .elementor-top-section.elementor-element-6588637 h1.elementor-heading-title {
  color: #fff !important;
  font-weight: 700 !important;
  text-align: center;
}

:is(.elementor-10238 .elementor-top-section.elementor-element-e9c7a14, .elementor-10375 .elementor-top-section.elementor-element-f71ab06) {
  background: #00a6ce url("2026/11/bg-celeste-brush-candidaturas-e1794316707135.jpg") center / cover no-repeat;
  padding: clamp(28px, 4vw, 48px) clamp(16px, 5vw, 56px);
}

:is(.elementor-10238 .elementor-element-e9c7a14, .elementor-10375 .elementor-element-f71ab06) .elementor-widget {
  text-align: center !important;
  margin-bottom: 0;
}

:is(.elementor-10238 .elementor-element-e9c7a14, .elementor-10375 .elementor-element-f71ab06) .ed-native-badge .elementor-heading-title {
  color: #fff !important;
  background: #07566b !important;
  border-color: #07566b;
}

:is(.elementor-10238 .elementor-element-e9c7a14, .elementor-10375 .elementor-element-f71ab06) h2.elementor-heading-title {
  color: #fff !important;
  font-family: Montserrat, sans-serif !important;
  font-weight: 700 !important;
  font-size: clamp(1.625rem, 4vw, 2.875rem) !important;
  line-height: 1.12;
  text-transform: uppercase;
  text-wrap: balance;
}

:is(.elementor-10238 .elementor-element-e9c7a14, .elementor-10375 .elementor-element-f71ab06) .elementor-widget-text-editor {
  max-width: 850px;
  margin-inline: auto;
  color: #fff !important;
  font-size: clamp(0.9375rem, 1.35vw, 1.125rem);
  line-height: 1.55;
  text-shadow: 0 1px 3px rgba(7, 31, 38, 0.45);
}

/* Bajada del banner de Quiénes Somos */
.elementor-10239 .elementor-top-section.elementor-element-125ba9cc .ed-hero-subtitle .elementor-heading-title {
  font-size: clamp(0.875rem, 2.2vw, 1.5rem) !important;
  line-height: 1.3 !important;
}

.elementor .elementor-top-section.elementor-element-57e1e77e {
  background-position: center 23% !important;
}


/* 1. Guía 3 Pasos: FONDO CELESTE LOS MÓDULOS BLANCOS */
.page-id-10173 .elementor-element-ee39dc8,
.page-id-10173 .elementor-element-e2ad66b,
.page-id-10173 .ed-guia-pasos-cabecera,
.page-id-10173 .ed-guia-pasos-columnas {
  background-color: #00A6CE !important;
  background-position: center center !important;
  background-size: cover !important;
}

.page-id-10173 .elementor-element-ee39dc8 .elementor-heading-title,
.page-id-10173 .ed-guia-pasos-cabecera .elementor-heading-title {
  color: #071F26 !important;
  font-family: 'MEBEZT', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
}

.page-id-10173 .elementor-element-ee39dc8 .elementor-widget-text-editor p,
.page-id-10173 .ed-guia-pasos-cabecera .elementor-widget-text-editor p {
  color: #071F26 !important;
  font-weight: 600 !important;
  font-size: 15px !important;
}

/* Módulos Guía 3 Pasos: Tarjetas Blancas Luminosas */
.page-id-10173 .ed-guia-pasos-columnas .ed-native-card > .elementor-widget-wrap,
.page-id-10173 .elementor-element-e2ad66b .ed-native-card > .elementor-widget-wrap {
  background: #FFFFFF !important;
  border: none !important;
  border-radius: 20px !important;
  padding: 30px 24px !important;
  box-shadow: 0 10px 28px rgba(7, 45, 51, 0.12) !important;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease !important;
  box-sizing: border-box !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
}

.page-id-10173 .ed-guia-pasos-columnas .ed-native-card:hover > .elementor-widget-wrap,
.page-id-10173 .elementor-element-e2ad66b .ed-native-card:hover > .elementor-widget-wrap {
  transform: translateY(-5px) !important;
  box-shadow: 0 16px 36px rgba(7, 45, 51, 0.18) !important;
}

/* Números circulares de paso */
.page-id-10173 .ed-step-num-cyan .elementor-heading-title {
  background: #00A6CE !important;
  color: #FFFFFF !important;
  width: 44px !important;
  height: 44px !important;
  line-height: 44px !important;
  border-radius: 50% !important;
  margin: 0 auto 12px auto !important;
  font-family: 'MEBEZT', sans-serif !important;
  font-size: 20px !important;
  display: block !important;
  text-align: center !important;
}

.page-id-10173 .ed-step-num-orange .elementor-heading-title {
  background: #E85D26 !important;
  color: #FFFFFF !important;
  width: 44px !important;
  height: 44px !important;
  line-height: 44px !important;
  border-radius: 50% !important;
  margin: 0 auto 12px auto !important;
  font-family: 'MEBEZT', sans-serif !important;
  font-size: 20px !important;
  display: block !important;
  text-align: center !important;
}

/* 2. Sección Mapa Electoral Interactivo (Fondo Blanco Limpio) */
.page-id-10173 .elementor-element-9e09939 {
  background: #FFFFFF !important;
}

/* 3. Variables de Consulta Oficial: PROBEMOS UN COLOR DE FONDO COMO NARANJA */
.page-id-10173 .elementor-element-8438f58,
.page-id-10173 .elementor-element-e15aab5,
.page-id-10173 .elementor-element-a231a3e,
.page-id-10173 .elementor-element-c562e43,
.page-id-10173 .ed-variables-orange-bg {
  background-color: #f37121 !important;
}

.page-id-10173 .elementor-element-8438f58 .elementor-heading-title,
.page-id-10173 .ed-variables-orange-bg .elementor-heading-title {
  color: #FFFFFF !important;
  font-family: 'MEBEZT', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
}

.page-id-10173 .elementor-element-8438f58 .elementor-widget-text-editor p,
.page-id-10173 .ed-variables-orange-bg .elementor-widget-text-editor p {
  color: #FFFFFF !important;
  font-weight: 500 !important;
  font-size: 15px !important;
}

/* Tarjetas Blancas de Variables: Cero recuadros duplicados */
.page-id-10173 .ed-var-white-card > .elementor-widget-wrap,
.page-id-10173 .elementor-element-e15aab5 .ed-native-card > .elementor-widget-wrap,
.page-id-10173 .elementor-element-a231a3e .ed-native-card > .elementor-widget-wrap {
  background: #FFFFFF !important;
  border: none !important;
  border-top: none !important;
  border-radius: 20px !important;
  padding: 26px 22px !important;
  box-shadow: 0 10px 30px rgba(7, 45, 51, 0.14) !important;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease !important;
  box-sizing: border-box !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
}

.page-id-10173 .ed-var-white-card:hover > .elementor-widget-wrap,
.page-id-10173 .elementor-element-e15aab5 .ed-native-card:hover > .elementor-widget-wrap,
.page-id-10173 .elementor-element-a231a3e .ed-native-card:hover > .elementor-widget-wrap {
  transform: translateY(-5px) !important;
  box-shadow: 0 18px 38px rgba(7, 45, 51, 0.22) !important;
}

/* Badges e Iconos de Variables: Solo una cápsula limpia sin duplicidad */
.page-id-10173 .ed-var-white-card .ed-native-badge,
.page-id-10173 .ed-native-card .ed-native-badge {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  padding: 0 !important;
  margin: 0 auto 10px auto !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.page-id-10173 .ed-var-white-card .ed-native-badge .elementor-heading-title,
.page-id-10173 .ed-native-card .ed-native-badge .elementor-heading-title {
  display: inline-block !important;
  padding: 5px 16px !important;
  border-radius: 20px !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  background: rgba(0, 166, 206, 0.1) !important;
  border: 1px solid #00A6CE !important;
  color: #00A6CE !important;
}

.page-id-10173 .ed-var-white-card .ed-native-badge-orange .elementor-heading-title,
.page-id-10173 .ed-native-card .ed-native-badge-orange .elementor-heading-title {
  background: rgba(232, 93, 38, 0.1) !important;
  border: 1px solid #E85D26 !important;
  color: #E85D26 !important;
}

.page-id-10173 .ed-var-white-card .elementor-heading-title,
.page-id-10173 .ed-native-card .elementor-heading-title {
  color: #071F26 !important;
}

/* Menor separación entre líneas en la descripción de las variables */
.page-id-10173 .ed-var-desc p,
.page-id-10173 .ed-var-white-card .elementor-widget-text-editor p,
.page-id-10173 .elementor-element-e15aab5 .elementor-widget-text-editor p,
.page-id-10173 .elementor-element-a231a3e .elementor-widget-text-editor p {
  color: #475569 !important;
  font-size: 13.5px !important;
  line-height: 1.42 !important;
  margin-bottom: 12px !important;
}

/* ESTOS NO DEBEN SER BOTON: Metatags informativos limpios y elegantes */
.page-id-10173 .ed-source-meta-wrap {
  margin-top: auto !important;
  padding-top: 8px !important;
}

.page-id-10173 .ed-source-meta-tag {
  display: inline-block !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: #00A6CE !important;
  background: rgba(0, 166, 206, 0.08) !important;
  border: 1px dashed rgba(0, 166, 206, 0.45) !important;
  padding: 5px 14px !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  pointer-events: none !important;
}

.page-id-10173 .ed-source-meta-tag.orange {
  color: #E85D26 !important;
  background: rgba(232, 93, 38, 0.08) !important;
  border-color: rgba(232, 93, 38, 0.45) !important;
}

/* Nota Institucional dentro del bloque de variables */
.page-id-10173 .ed-var-disclaimer-box,
.page-id-10173 .elementor-element-c562e43 .ed-light-disclaimer-box {
  background: #FFFFFF !important;
  border: 1px solid #D5E7ED !important;
  border-radius: 14px !important;
  padding: 16px 22px !important;
  color: #071F26 !important;
  box-shadow: 0 4px 15px rgba(7, 45, 51, 0.08) !important;
}

/* 4. Banner Rectificación con Bot Oficial 3D */
.page-id-10173 .ed-rectificacion-section,
.page-id-10173 .elementor-element-72cce7a {
  background-position: center center !important;
  background-size: cover !important;
  overflow: hidden !important;
}

.page-id-10173 .ed-rectificacion-section > .elementor-container,
.page-id-10173 .elementor-element-72cce7a > .elementor-container {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  gap: 30px !important;
}

.page-id-10173 .ed-rectificacion-orange-box,
.page-id-10173 .elementor-element-6ea1fd3 {
  width: 68% !important;
  flex: 0 0 68% !important;
  max-width: 68% !important;
}

.page-id-10173 .ed-rectificacion-orange-box > .elementor-widget-wrap,
.page-id-10173 .elementor-element-6ea1fd3 > .elementor-widget-wrap {
  background: #E85D26 !important;
  border-radius: 24px !important;
  padding: 42px 36px !important;
  box-shadow: 0 15px 35px rgba(4, 20, 25, 0.3) !important;
}

.page-id-10173 .ed-rectificacion-bot-col,
.page-id-10173 .elementor-element-col_bot_dudas_001 {
  width: 30% !important;
  flex: 0 0 30% !important;
  max-width: 30% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.page-id-10173 .ed-rectificacion-bot-img img {
  max-height: 380px !important;
  width: 100% !important;
  max-width: 320px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 15px 30px rgba(4, 20, 25, 0.5)) !important;
  animation: ed-bot-floating-smooth 4.5s ease-in-out infinite !important;
}

@media (max-width: 767px) {
  .page-id-10173 .ed-rectificacion-section > .elementor-container,
  .page-id-10173 .elementor-element-72cce7a > .elementor-container {
    flex-direction: column !important;
  }
  .page-id-10173 .ed-rectificacion-orange-box,
  .page-id-10173 .elementor-element-6ea1fd3,
  .page-id-10173 .ed-rectificacion-bot-col,
  .page-id-10173 .elementor-element-col_bot_dudas_001 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
  }
}

/* Fallback Global para otras páginas que usen ed-native-card */
.elementor-column.ed-native-card > .elementor-widget-wrap {
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  padding: 26px 22px;
  box-shadow: 0 6px 20px rgba(7, 45, 51, 0.05);
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease, border-color 0.3s ease;
  box-sizing: border-box;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.elementor-column.ed-native-card:hover > .elementor-widget-wrap {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 28px rgba(0, 166, 206, 0.12) !important;
  border-color: #00A6CE !important;
}
.elementor-column.ed-native-card.border-cyan > .elementor-widget-wrap {
  border-top: 4px solid #00A6CE !important;
}
.elementor-column.ed-native-card.border-orange > .elementor-widget-wrap {
  border-top: 4px solid #E85D26 !important;
}

/* 4. Native Papeletas Columns & Image Widget */
.elementor-column.ed-native-papeleta-col {
  padding: 0 12px !important;
  margin-bottom: 24px !important;
  box-sizing: border-box !important;
}
.elementor-column.ed-native-papeleta-col > .elementor-widget-wrap {
  background: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 8px 24px rgba(7, 45, 51, 0.06) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease !important;
  box-sizing: border-box !important;
  padding: 0 24px 24px 24px !important;
  height: 100% !important;
}
.elementor-column.ed-native-papeleta-col:hover > .elementor-widget-wrap {
  transform: translateY(-4px) !important;
  border-color: #00A6CE !important;
  box-shadow: 0 14px 32px rgba(0, 166, 206, 0.14) !important;
}
.ed-papeleta-native-img {
  margin: 0 -24px 20px -24px !important;
  overflow: hidden !important;
}
.ed-papeleta-native-img img {
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.5s ease !important;
}
.elementor-column.ed-native-papeleta-col:hover .ed-papeleta-native-img img {
  transform: scale(1.04) !important;
}

/* 5. Native Timeline Milestone Cards */
.ed-native-timeline-card {
  background: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  border-left: 4px solid #00A6CE !important;
  border-radius: 14px !important;
  padding: 20px 24px !important;
  box-shadow: 0 4px 16px rgba(7, 45, 51, 0.04) !important;
  margin-bottom: 16px !important;
  transition: transform 0.25s ease, border-left-color 0.25s ease !important;
  box-sizing: border-box !important;
}
.ed-native-timeline-card:hover {
  transform: translateX(4px) !important;
  border-left-color: #E85D26 !important;
}
.ed-native-timeline-card.active-year {
  border-left: 4px solid #E85D26 !important;
  background: #FFFDFB !important;
}

/* 6. Native Protocol & Evidence Cards */
.ed-native-protocol-card {
  background: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  border-top: 4px solid #00A6CE !important;
  border-radius: 16px !important;
  padding: 30px 28px !important;
  box-shadow: 0 8px 24px rgba(7, 45, 51, 0.05) !important;
  margin-bottom: 24px !important;
  box-sizing: border-box !important;
}
.ed-native-protocol-card.border-orange {
  border-top: 4px solid #E85D26 !important;
}

/* Mobile Stacking for Native Cards */
@media (max-width: 1024px) {
  .elementor-column.ed-native-card,
  .elementor-column.ed-native-papeleta-col {
    padding: 0 !important;
    width: 100% !important;
    margin-bottom: 20px !important;
  }
}


/* Hero Action Buttons (Chatbot & Mapa de Candidaturas) */
.ed-hero-section .elementor-widget-button {
  margin: 8px 10px !important;
  display: inline-block !important;
}
.ed-hero-section .elementor-widget-wrap {
  text-align: center !important;
}
.ed-hero-section .ed-hero-map-btn a.elementor-button {
  background: #E85D26 !important;
  box-shadow: 0 8px 25px rgba(232, 93, 38, 0.45) !important;
  transition: all 0.3s ease !important;
}
.ed-hero-section .ed-hero-map-btn a.elementor-button:hover {
  background: #FF5A22 !important;
  transform: translateY(-2px) scale(1.03) !important;
  box-shadow: 0 12px 30px rgba(255, 90, 34, 0.6) !important;
}

/* ========================================================================= */
/* 8.0. BOTÓN CHAT CABECERA (EXTREMO DERECHO / NARANJA OFICIAL)              */
/* ========================================================================= */
.elementor-location-header .elementor-widget-button .elementor-button,
.elementor-8267 .elementor-widget-button .elementor-button,
.ed-header-btn-col .elementor-button {
  background-color: #E85D26 !important;
  color: #FFFFFF !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  font-size: 13px !important;
  letter-spacing: 1.2px !important;
  text-transform: uppercase !important;
  padding: 10px 26px !important;
  border-radius: 30px !important;
  box-shadow: 0 4px 14px rgba(232, 93, 38, 0.45) !important;
  transition: all 0.28s cubic-bezier(0.4, 0, 0.2, 1) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  border: none !important;
}

.elementor-location-header .elementor-widget-button .elementor-button:hover,
.elementor-location-header .elementor-widget-button .elementor-button:focus,
.elementor-8267 .elementor-widget-button .elementor-button:hover,
.ed-header-btn-col .elementor-button:hover {
  background-color: #FF5A22 !important;
  color: #FFFFFF !important;
  transform: translateY(-2px) scale(1.04) !important;
  box-shadow: 0 8px 22px rgba(255, 90, 34, 0.6) !important;
}

/* ========================================================================= */
/* 8.1. FOOTER ACORDEÓN MÓVIL (100% COMPATIBLE ELEMENTOR & SAFEGUARD)         */
/* ========================================================================= */

/* Enlace footer hover y accesibilidad */
.elementor-8289 .elementor-widget-text-editor a {
  transition: all 0.25s ease !important;
}
.elementor-8289 .elementor-widget-text-editor a:hover {
  color: #20C2EB !important;
  text-decoration: underline !important;
  padding-left: 2px !important;
}

/* Estilos Oficiales Redes Sociales (Solo Logos y Centradas) */
.elementor-8289 .elementor-widget-social-icons {
  text-align: center !important;
  margin: 0 auto 12px auto !important;
}
.elementor-8289 .elementor-widget-social-icons .elementor-social-icons-wrapper {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  margin: 0 auto 12px auto !important;
  width: 100% !important;
}
.elementor-8289 .ed-footer-col-redes,
.elementor-8289 .elementor-top-column:nth-child(4) {
  text-align: center !important;
}
.elementor-8289 .ed-footer-col-redes .elementor-widget-heading .elementor-heading-title,
.elementor-8289 .elementor-top-column:nth-child(4) .elementor-widget-heading .elementor-heading-title {
  text-align: center !important;
}
.elementor-8289 .ed-footer-col-redes .elementor-widget-text-editor,
.elementor-8289 .elementor-top-column:nth-child(4) .elementor-widget-text-editor,
.elementor-8289 .ed-footer-col-redes .elementor-widget-text-editor p,
.elementor-8289 .elementor-top-column:nth-child(4) .elementor-widget-text-editor p {
  text-align: center !important;
}
.elementor-8289 .elementor-widget-social-icons .elementor-icon.elementor-social-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  background-color: rgba(255, 255, 255, 0.18) !important;
  color: #FFFFFF !important;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
  text-decoration: none !important;
  line-height: 1 !important;
  padding: 0 !important;
}
.elementor-8289 .elementor-widget-social-icons .elementor-icon.elementor-social-icon i {
  color: #FFFFFF !important;
  font-size: 16px !important;
  transition: transform 0.25s ease !important;
}
.elementor-8289 .elementor-widget-social-icons .elementor-icon.elementor-social-icon:hover {
  background-color: #20C2EB !important;
  transform: translateY(-2px) scale(1.08) !important;
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.25) !important;
}
.elementor-8289 .elementor-widget-social-icons .elementor-icon.elementor-social-icon:hover i {
  transform: scale(1.1) !important;
}

/* Reglas Desktop (>= 768px): Asegurar que se vea todo en 4 columnas sin acordeón */
@media (min-width: 768px) {
  .elementor-8289 .elementor-widget-text-editor,
  .elementor-8289 .elementor-widget-social-icons {
    display: block !important;
    max-height: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
  }
  .elementor-8289 .ed-footer-col-acc .elementor-widget-heading .elementor-widget-container::after,
  .elementor-8289 .elementor-top-column:not(:first-child) .elementor-widget-heading .elementor-widget-container::after {
    display: none !important;
  }
  .elementor-8289 .elementor-widget-heading {
    cursor: default !important;
  }
}

/* Safeguard para el editor visual de Elementor */
.elementor-editor-active .elementor-8289 .elementor-widget-text-editor,
.elementor-editor-active .elementor-8289 .elementor-widget-social-icons {
  display: block !important;
  max-height: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  overflow: visible !important;
}

/* Reglas Mobile (< 768px): Acordeón Elegante y Compacto */
@media (max-width: 767px) {
  /* Sección principal con padding equilibrado */
  .elementor-8289 .ed-footer-main-section,
  .elementor-8289 > .elementor-section-wrap > .elementor-section:first-child {
    padding: 36px 20px 24px 20px !important;
  }

  /* Columna Marca (Logo + Descripción) */
  .elementor-8289 .ed-footer-col-brand,
  .elementor-8289 .elementor-section:first-child .elementor-top-column:first-child {
    width: 100% !important;
    margin-bottom: 16px !important;
    padding-bottom: 18px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.18) !important;
  }

  .elementor-8289 .ed-footer-col-brand .elementor-widget-image,
  .elementor-8289 .elementor-section:first-child .elementor-top-column:first-child .elementor-widget-image {
    margin-bottom: 12px !important;
  }

  .elementor-8289 .ed-footer-col-brand .elementor-widget-text-editor p,
  .elementor-8289 .elementor-section:first-child .elementor-top-column:first-child .elementor-widget-text-editor p {
    font-size: 13px !important;
    line-height: 1.6 !important;
    opacity: 0.92 !important;
  }

  /* Columnas Acordeón (SECCIONES, EDICIONES, REDES Y CONTACTO) */
  .elementor-8289 .ed-footer-col-acc,
  .elementor-8289 .elementor-section:first-child .elementor-top-column:not(:first-child) {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.18) !important;
  }

  /* Encabezados como fila interactiva táctil */
  .elementor-8289 .ed-footer-col-acc .elementor-widget-heading,
  .elementor-8289 .elementor-section:first-child .elementor-top-column:not(:first-child) .elementor-widget-heading {
    margin: 0 !important;
    padding: 14px 2px !important;
    cursor: pointer !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  .elementor-8289 .ed-footer-col-acc .elementor-widget-heading .elementor-widget-container,
  .elementor-8289 .elementor-section:first-child .elementor-top-column:not(:first-child) .elementor-widget-heading .elementor-widget-container {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    user-select: none !important;
  }

  .elementor-8289 .ed-footer-col-acc .elementor-heading-title,
  .elementor-8289 .elementor-section:first-child .elementor-top-column:not(:first-child) .elementor-heading-title {
    font-size: 14px !important;
    font-weight: 800 !important;
    letter-spacing: 1.5px !important;
    color: #FFFFFF !important;
    margin: 0 !important;
  }

  /* Indicador Chevron elegante */
  .elementor-8289 .ed-footer-col-acc .elementor-widget-heading .elementor-widget-container::after,
  .elementor-8289 .elementor-section:first-child .elementor-top-column:not(:first-child) .elementor-widget-heading .elementor-widget-container::after {
    content: '' !important;
    display: inline-block !important;
    width: 8px !important;
    height: 8px !important;
    border-right: 2px solid #FFFFFF !important;
    border-bottom: 2px solid #FFFFFF !important;
    transform: rotate(45deg) !important;
    transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1) !important;
    margin-left: 12px !important;
    flex-shrink: 0 !important;
  }

  /* Rotación cuando está abierto */
  .elementor-8289 .ed-footer-col-acc.is-open .elementor-widget-heading .elementor-widget-container::after,
  .elementor-8289 .elementor-section:first-child .elementor-top-column:not(:first-child).is-open .elementor-widget-heading .elementor-widget-container::after {
    transform: rotate(-135deg) !important;
  }

  /* Contenido colapsado por defecto (tanto texto como iconos sociales) */
  .elementor-8289 .ed-footer-col-acc .elementor-widget-text-editor,
  .elementor-8289 .elementor-section:first-child .elementor-top-column:not(:first-child) .elementor-widget-text-editor,
  .elementor-8289 .ed-footer-col-acc .elementor-widget-social-icons,
  .elementor-8289 .elementor-section:first-child .elementor-top-column:not(:first-child) .elementor-widget-social-icons {
    max-height: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    visibility: hidden !important;
    padding: 0 4px !important;
    margin: 0 !important;
    transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.25s ease, padding 0.35s ease, visibility 0.35s !important;
  }

  /* Contenido desplegado cuando .is-open */
  .elementor-8289 .ed-footer-col-acc.is-open .elementor-widget-text-editor,
  .elementor-8289 .elementor-section:first-child .elementor-top-column:not(:first-child).is-open .elementor-widget-text-editor,
  .elementor-8289 .ed-footer-col-acc.is-open .elementor-widget-social-icons,
  .elementor-8289 .elementor-section:first-child .elementor-top-column:not(:first-child).is-open .elementor-widget-social-icons {
    max-height: 380px !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .elementor-8289 .ed-footer-col-acc.is-open .elementor-widget-social-icons,
  .elementor-8289 .elementor-section:first-child .elementor-top-column:not(:first-child).is-open .elementor-widget-social-icons {
    padding: 8px 4px 6px 4px !important;
    margin-bottom: 8px !important;
  }

  .elementor-8289 .ed-footer-col-acc.is-open .elementor-widget-text-editor,
  .elementor-8289 .elementor-section:first-child .elementor-top-column:not(:first-child).is-open .elementor-widget-text-editor {
    padding: 4px 4px 18px 4px !important;
  }

  /* Enlaces con mayor área de toque en móvil */
  .elementor-8289 .ed-footer-col-acc .elementor-widget-text-editor a,
  .elementor-8289 .elementor-section:first-child .elementor-top-column:not(:first-child) .elementor-widget-text-editor a {
    display: inline-block !important;
    padding: 4px 0 !important;
    font-size: 13.5px !important;
  }

  /* Subfooter legal en móvil */
  .elementor-8289 > .elementor-section-wrap > .elementor-section:last-child {
    padding: 20px 16px !important;
  }
}

/* ========================================================================= */
/* MEJORAS FINALES HOME: BOT FLOTANTE, CUADRANTES CENTRADOS & MENÚ REFINADO   */
/* ========================================================================= */

/* 1. Header menú refinado: fuente más compacta y color oficial */
.elementor-location-header .elementor-nav-menu--main a.elementor-item {
  font-size: 13.5px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  color: #FFFFFF !important;
  transition: all 0.2s ease !important;
}

.elementor-location-header .elementor-nav-menu--main a.elementor-item:hover,
.elementor-location-header .elementor-nav-menu--main a.elementor-item.elementor-item-active {
  color: #194154 !important;
  background: rgba(255, 255, 255, 0.22) !important;
  border-radius: 6px !important;
}

/* 2. Cuadrantes: Animación sutil de elevación en tarjetas blancas */
.ed-white-card-centered {
  transition: transform 0.28s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.28s ease !important;
}

.ed-white-card-centered:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 20px 40px rgba(4, 20, 25, 0.18) !important;
}

/* 3. Bot Oficial: Animación de flotación suave requerida ("DEBE ESTAR FLOTANDO") */
@keyframes ed-bot-floating-smooth {
  0%, 100% {
    transform: translateY(0px) rotate(0deg);
  }
  50% {
    transform: translateY(-14px) rotate(1deg);
  }
}

.ed-floating-bot-widget img {
  animation: ed-bot-floating-smooth 4s ease-in-out infinite !important;
  will-change: transform !important;
  filter: drop-shadow(0 18px 30px rgba(4, 20, 25, 0.16)) !important;
}

/* =========================================================================
   CUADRANTES OFICIALES EN ORDEN 2x2 (COLORES Y LOGOS OFICIALES)
   ========================================================================= */
.ed-cuadrantes-fondo-oficial {
  background-color: #FFFFFF !important;
  background-image: none !important;
  background: #FFFFFF !important;
  padding: 85px 25px 95px 25px !important;
}

/* Separación horizontal y vertical de los cuadrantes */
.ed-cuadrantes-fondo-oficial .elementor-inner-section .elementor-container {
  display: flex !important;
  gap: 26px !important;
}

.ed-cuadrantes-fondo-oficial .elementor-inner-section .elementor-column {
  flex: 1 1 calc(50% - 13px) !important;
  max-width: calc(50% - 13px) !important;
  width: calc(50% - 13px) !important;
}

.ed-cuadrantes-fondo-oficial .elementor-inner-section:first-of-type {
  margin-bottom: 26px !important;
}

.ed-brand-card {
  border-radius: 24px !important;
  min-height: 290px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  box-shadow: 0 12px 30px rgba(7, 31, 38, 0.12) !important;
  cursor: pointer !important;
  overflow: hidden !important;
}

.ed-brand-card,
.ed-cuadrantes-fondo-oficial :is(.elementor-element-5e1c7bfa, .elementor-element-2e6713e, .elementor-element-91a36a3) {
  transition: transform 0.35s cubic-bezier(0.2, 0, 0, 1), box-shadow 0.35s ease !important;
}

.ed-brand-card:is(:hover, :has(:focus-visible)),
.ed-cuadrantes-fondo-oficial :is(.elementor-element-5e1c7bfa, .elementor-element-2e6713e, .elementor-element-91a36a3):is(:hover, :has(:focus-visible)) {
  transform: translateY(-8px) scale(1.01) !important;
  box-shadow: 0 20px 45px rgba(7, 31, 38, 0.22) !important;
}

@media (prefers-reduced-motion: reduce) {
  .ed-brand-card,
  .ed-cuadrantes-fondo-oficial :is(.elementor-element-5e1c7bfa, .elementor-element-2e6713e, .elementor-element-91a36a3) {
    transition: none !important;
  }

  .ed-brand-card:is(:hover, :has(:focus-visible)),
  .ed-cuadrantes-fondo-oficial :is(.elementor-element-5e1c7bfa, .elementor-element-2e6713e, .elementor-element-91a36a3):is(:hover, :has(:focus-visible)) {
    transform: none !important;
  }
}

.ed-brand-card.ed-card-teal-dark {
  background-color: #194154 !important;
}

.ed-brand-card.ed-card-orange {
  background-color: #f37121 !important;
}

.ed-brand-card.ed-card-cyan {
  background-color: #00b5ef !important;
}

.ed-brand-card.ed-card-teal-evidencia {
  background-color: #194154 !important;
}

.ed-brand-card .elementor-widget-image {
  margin: 0 auto !important;
  text-align: center !important;
}

.ed-brand-card .elementor-widget-image img {
  display: inline-block !important;
  max-height: 110px !important;
  width: auto !important;
  object-fit: contain !important;
}

.ed-brand-card .elementor-heading-title {
  color: #FFFFFF !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  text-align: center !important;
  margin: 0 auto !important;
}

.ed-brand-card .elementor-widget-text-editor p {
  color: #FFFFFF !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  font-weight: 500 !important;
  text-align: center !important;
  margin: 0 auto !important;
  opacity: 0.95 !important;
}

@media (max-width: 1024px) {
  .ed-cuadrantes-fondo-oficial {
    padding: 60px 20px !important;
  }
  .ed-brand-card {
    min-height: 260px !important;
    padding: 30px 20px !important;
  }
}

@media (max-width: 767px) {
  .ed-cuadrantes-fondo-oficial {
    padding: 50px 15px !important;
  }
  .ed-brand-card {
    min-height: auto !important;
    padding: 35px 20px !important;
    margin-bottom: 20px !important;
  }
  .ed-brand-card .elementor-widget-text-editor p {
    font-size: 13.5px !important;
  }
}

/* 4. Responsive móvil para tarjetas de evidencia y seccionales */
@media (max-width: 767px) {
  .ed-cuadrantes-fondo-oficial {
    padding: 50px 20px !important;
  }
  .ed-quadrant-row > .elementor-container {
    gap: 20px !important;
  }
  .ed-white-card-centered {
    margin-bottom: 20px !important;
  }
  .ed-amix-chatbot-section {
    padding: 60px 20px !important;
  }
  .ed-seccionales-photo-section {
    padding: 60px 20px !important;
  }
  .ed-cards-split-section {
    padding: 60px 20px !important;
  }
}


/* Portada en pantallas estrechas */
@media (max-width: 767px) {
  .elementor-10152 > .elementor-section.elementor-element-232fc2ae {
    min-height: clamp(280px, 82vw, 360px) !important;
    padding: 30px 16px !important;
    background-position: 62% center !important;
  }

  .elementor-10152 > .elementor-section.elementor-element-232fc2ae > .elementor-container {
    min-height: 0 !important;
    width: 100%;
  }

  .elementor-10152 .ed-marquee-strip-wrap {
    width: 100% !important;
    left: auto !important;
    right: auto !important;
    margin-inline: 0 !important;
  }

  .elementor-10152 .elementor-element-36bf7403 .elementor-heading-title {
    font-size: clamp(2.25rem, 12vw, 3.75rem) !important;
    line-height: 1.05 !important;
  }

  .elementor-10152 .elementor-element-d74550d .elementor-heading-title {
    font-size: clamp(1.25rem, 6.8vw, 2rem) !important;
    line-height: 1.15 !important;
    overflow-wrap: break-word;
  }

  .elementor-10152 .ed-cuadrantes-fondo-oficial .elementor-inner-section > .elementor-container {
    gap: 16px !important;
  }

  .elementor-10152 .ed-cuadrantes-fondo-oficial .elementor-inner-section:first-of-type {
    margin-bottom: 16px !important;
  }

  .elementor-10152 .ed-cuadrantes-fondo-oficial .elementor-inner-section > .elementor-container > .elementor-column {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0;
    padding: 0 !important;
    margin-bottom: 0 !important;
  }

  .elementor-10152 .ed-cuadrantes-fondo-oficial .elementor-inner-section .elementor-column > .elementor-widget-wrap {
    padding: 24px 20px !important;
  }

  .elementor-10152 .ed-cuadrantes-fondo-oficial .elementor-heading-title {
    font-size: clamp(1.25rem, 6vw, 1.65rem) !important;
    overflow-wrap: break-word;
  }

  .elementor-10152 .ed-cuadrantes-fondo-oficial .elementor-widget-image img {
    max-width: 100%;
  }
}

/* Sección de Evi en la portada móvil */
@media (max-width: 767px) {
  .elementor-10152 > .elementor-element-2f8a9750 {
    padding: 36px 18px !important;
  }

  .elementor-10152 > .elementor-element-2f8a9750 > .elementor-container {
    gap: 16px;
  }

  .elementor-10152 .elementor-element-2f8a9750 .elementor-top-column > .elementor-widget-wrap {
    padding: 0 !important;
  }

  .elementor-10152 .elementor-element-2f8a9750 .ed-floating-bot-widget img {
    display: block;
    width: min(58vw, 190px) !important;
    height: auto;
    margin-inline: auto;
  }

  .elementor-10152 .elementor-element-2f8a9750 .elementor-element-728fd56 > .elementor-widget-container {
    width: 100%;
    max-width: 34ch;
    padding: 0 !important;
    margin-inline: auto !important;
  }

  .elementor-10152 .elementor-element-2f8a9750 .elementor-element-d74550d {
    margin-bottom: 12px !important;
  }

  .elementor-10152 .elementor-element-2f8a9750 .elementor-element-53374858 {
    margin-top: 12px !important;
  }

  .elementor-10152 .elementor-element-2f8a9750 .elementor-element-728fd56 p {
    font-size: 16px !important;
    line-height: 1.55 !important;
    text-align: center;
    margin: 0 !important;
  }
}

/* Candidaturas: título de la guía en pantallas pequeñas */
@media (max-width: 767px) {
  .elementor-10417 .elementor-element-75fa9784 h2.elementor-heading-title {
    font-size: clamp(1.25rem, 6vw, 2rem) !important;
    line-height: 1.15 !important;
    text-wrap: balance;
    overflow-wrap: anywhere;
  }
}

/* Elecciones 101: layout movil */
@media (max-width: 767px) {
  .elementor-10237 :is(.elementor-element-759536ec, .elementor-element-50e4ff7d) h2.elementor-heading-title {
    font-size: clamp(1.375rem, 6.4vw, 2rem) !important;
    line-height: 1.15 !important;
    text-wrap: balance;
    overflow-wrap: anywhere;
  }

  .elementor-10237 .ed-5q-wrapper .ed-5q-header {
    margin-bottom: 20px;
  }

  .elementor-10237 .ed-5q-wrapper .ed-5q-grid {
    gap: 12px !important;
    margin-bottom: 20px;
  }

  .elementor-10237 .ed-5q-wrapper .ed-5q-card {
    min-height: 0;
    padding: 16px;
  }

  .elementor-10237 .ed-5q-wrapper .ed-5q-num {
    font-size: 32px;
    margin-bottom: 8px;
  }

  .elementor-10237 .ed-5q-wrapper .ed-5q-question {
    margin-bottom: 12px;
  }

  .elementor-10237 .ed-5q-wrapper .ed-5q-status {
    gap: 6px;
    flex-wrap: wrap;
    padding-top: 9px;
  }
}

@media (max-width: 375px) {
  .elementor-10237 .ed-carrusel-pedagogico-wrap > div:nth-child(2),
  .elementor-10237 .elementor-element-3332dc0 div[style*="display: grid"] {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .elementor-10237 .ed-carrusel-pedagogico-wrap > div:nth-child(2) > div {
    min-width: 0;
    padding: 24px 16px !important;
    overflow-wrap: anywhere;
  }

  .elementor-10237 .elementor-element-3332dc0 div:has(> :is(iframe.instagram-media, blockquote.instagram-media)) {
    display: none !important;
  }

  .elementor-10237 .elementor-element-3332dc0 a[href*="instagram.com/p/"] {
    box-sizing: border-box;
    max-width: 100%;
    text-align: center;
    white-space: normal !important;
    overflow-wrap: anywhere;
  }
}

/* Elecciones 101: cierre de la autoevaluacion */
@media (max-width: 767px) {
  .elementor-10237 .ed-5q-footer .ed-5q-footer-text {
    flex: none;
  }
}

/* Quienes somos: titulos y botones en movil */
@media (max-width: 767px) {
  .elementor-10239 :is(.ed-section-title, .ed-timeline-title, .elementor-element-6ce82c80, .ed-hitos-title, .ed-edicion-title) .elementor-heading-title {
    font-size: clamp(1.5rem, 6.75vw, 2.125rem) !important;
    line-height: 1.15 !important;
    text-wrap: balance;
    overflow-wrap: anywhere;
  }

  .elementor-10239 .ed-edicion-card h3.elementor-heading-title {
    font-size: clamp(1.25rem, 5.75vw, 1.75rem) !important;
    line-height: 1.15 !important;
    text-wrap: balance;
    overflow-wrap: anywhere;
  }

  .elementor-10239 .ed-edicion-card > .elementor-widget-wrap {
    padding-inline: 14px !important;
  }

  .elementor-10239 .ed-edicion-card .elementor-widget-button .elementor-widget-container {
    margin-inline: 0 !important;
  }

  .elementor-10239 .ed-edicion-card .elementor-button {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 48px;
    padding: 10px 12px !important;
    line-height: 1.3 !important;
    white-space: normal;
  }

  .elementor-10239 .ed-edicion-card .elementor-button-content-wrapper {
    align-items: center;
  }

  .elementor-10239 .ed-edicion-card .elementor-button-text {
    text-wrap: balance;
    overflow-wrap: anywhere;
  }
}

/* Espacios Ciudadanos: titulos y botones en movil */
@media (max-width: 767px) {
  .elementor-10375 :is(.elementor-element-ff64366, .elementor-element-64b5ecf7, .elementor-element-64098371, .elementor-element-134fd662) h2.elementor-heading-title {
    font-size: clamp(1.5rem, 6.75vw, 2.125rem) !important;
    line-height: 1.15 !important;
    text-wrap: balance;
    overflow-wrap: anywhere;
  }

  .elementor-10375 .elementor-element-56da0af > .elementor-widget-wrap {
    padding-inline-end: 10px !important;
  }

  .elementor-10375 .ed-espacios-cta-section {
    padding-inline: 20px !important;
  }

  .elementor-10375 :is(.elementor-element-6b8fc25, .ed-espacios-cta-section) a.elementor-button {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 48px;
    padding: 10px 12px !important;
    line-height: 1.3 !important;
    white-space: normal;
  }

  .elementor-10375 :is(.elementor-element-6b8fc25, .ed-espacios-cta-section) .elementor-button-content-wrapper {
    align-items: center;
  }

  .elementor-10375 :is(.elementor-element-6b8fc25, .ed-espacios-cta-section) .elementor-button-text {
    text-wrap: balance;
    overflow-wrap: anywhere;
  }
}

/* Portada: foto de la urna en movil */
@media (max-width: 767px) {
  .elementor-10152 .ed-split-50-section .elementor-element-53fc63e8 img {
    aspect-ratio: auto 1025 / 1535 !important;
  }
}

/* Pie de pagina: aliados y contacto en movil */
@media (max-width: 767px) {
  .elementor-8289 .elementor-element-69fba9f4 {
    margin-bottom: 12px !important;
  }

  .elementor-8289 .elementor-element-4f6f145e .elementor-widget-container > div {
    margin-top: 0 !important;
  }

  .elementor-8289 .elementor-element-4f6f145e .elementor-widget-container > div > div {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch !important;
    gap: 10px !important;
  }

  .elementor-8289 .elementor-element-4f6f145e .elementor-widget-container > div > div > div {
    min-width: 0;
    padding: 8px 10px !important;
  }

  .elementor-8289 .elementor-element-4f6f145e img {
    width: 100% !important;
    height: 36px !important;
    max-height: none !important;
    object-fit: contain;
  }


  .elementor-8289 .elementor-section:first-child
    .elementor-top-column:is(.elementor-element-4ef2444b, .elementor-element-1d7ef271, .elementor-element-116c969c) > .elementor-widget-wrap {
    padding-inline: 0 !important;
  }

  .elementor-8289 .elementor-section:first-child
    .elementor-top-column:is(.elementor-element-4ef2444b, .elementor-element-1d7ef271) .elementor-widget-heading {
    width: 100% !important;
    padding: 0 !important;
  }

  .elementor-8289 .elementor-section:first-child
    .elementor-top-column:is(.elementor-element-4ef2444b, .elementor-element-1d7ef271) .elementor-widget-heading .elementor-widget-container {
    min-height: 56px;
    margin: 0 !important;
    padding: 10px 14px !important;
  }

  .elementor-8289 .elementor-section:first-child .elementor-top-column.elementor-element-116c969c .elementor-widget-heading {
    cursor: default !important;
    padding: 16px 14px 10px !important;
  }

  .elementor-8289 .elementor-section:first-child .elementor-top-column.elementor-element-116c969c .elementor-widget-heading .elementor-widget-container::after {
    display: none !important;
  }

  .elementor-8289 .elementor-section:first-child .elementor-top-column.elementor-element-116c969c
    :is(.elementor-widget-social-icons, .elementor-widget-text-editor) {
    max-height: none !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
    padding: 0 14px 10px !important;
    text-align: left !important;
    transition: none !important;
  }

  .elementor-8289 .elementor-section:first-child .elementor-top-column.elementor-element-116c969c .elementor-widget-text-editor p {
    text-align: left !important;
  }

  .elementor-8289 .elementor-element-116c969c .elementor-social-icons-wrapper {
    justify-content: flex-start !important;
    margin: 0 !important;
  }
}

/* Candidaturas: texto de rectificacion en movil */
@media (max-width: 767px) {
  .elementor-10417 .elementor-element-4fdab9f6 .elementor-element-ebce096 h3,
  .elementor-10417 .elementor-element-4fdab9f6 .elementor-element-36c544b0 p {
    text-align: center !important;
    overflow-wrap: anywhere;
  }
}

/* Cabecera: menu en una fila o desplegable */
@media (min-width: 1200px) {
  .elementor-location-header .elementor-element-042e915 .elementor-nav-menu--main > .elementor-nav-menu {
    flex-wrap: nowrap !important;
  }
}

@media (min-width: 1200px) and (max-width: 1439px) {
  .elementor-location-header .elementor-element-042e915 .elementor-nav-menu--main a.elementor-item {
    margin-inline: 0 !important;
    padding-inline: 8px !important;
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  .elementor-location-header .elementor-element-042e915 .elementor-nav-menu--main {
    display: none !important;
  }

  .elementor-location-header .elementor-element-042e915 .elementor-menu-toggle {
    display: flex !important;
    min-width: 44px;
    min-height: 44px;
    margin-inline-start: auto !important;
    background: transparent !important;
    color: #fff !important;
    font-size: 26px !important;
  }

  .elementor-location-header .elementor-element-042e915 .elementor-menu-toggle :is(i, svg) {
    color: inherit !important;
    fill: currentColor !important;
  }

  .elementor-location-header .elementor-element-042e915 nav.elementor-nav-menu--dropdown {
    display: block !important;
    position: absolute !important;
    top: 100% !important;
    right: 0 !important;
    left: auto !important;
    width: 340px !important;
    max-width: calc(100vw - 32px) !important;
    margin: 8px 0 0 !important;
    border-radius: 16px !important;
    background: #0c2b33 !important;
    box-shadow: 0 12px 28px rgb(7 31 38 / 25%);
    z-index: 1000;
  }

  .elementor-location-header .elementor-element-042e915 nav.elementor-nav-menu--dropdown[aria-hidden="true"] {
    visibility: hidden;
  }

  .elementor-location-header .elementor-element-042e915 nav.elementor-nav-menu--dropdown a.elementor-item {
    color: #fff !important;
    padding: 12px 18px !important;
  }

  .elementor-location-header .elementor-element-042e915 nav.elementor-nav-menu--dropdown a.elementor-item:is(:hover, :focus-visible, .elementor-item-active) {
    background: #173e50 !important;
  }
}

/* Cabecera: menu y chat alineados a la derecha */
.elementor-location-header.elementor-8267 .elementor-container:has(> .elementor-element-2662d06) {
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: clamp(8px, 1.25vw, 20px) !important;
}

.elementor-location-header.elementor-8267 .elementor-container > .elementor-column.elementor-element-b53d8c4 {
  flex: 1 1 0 !important;
  width: auto !important;
  min-width: 0;
}

.elementor-location-header.elementor-8267 .elementor-element-b53d8c4 img {
  max-width: 100% !important;
  height: auto;
}

.elementor-location-header.elementor-8267 .elementor-container > .elementor-column:is(.elementor-element-2662d06, .elementor-element-cf458ec) {
  flex: 0 0 auto !important;
  width: auto !important;
}

.elementor-location-header.elementor-8267 .elementor-container > .elementor-column.elementor-element-cf458ec {
  display: flex !important;
}

.elementor-location-header.elementor-8267 .elementor-element-cf458ec .elementor-element-d963b82.elementor-widget-button {
  display: block !important;
}

.elementor-location-header.elementor-8267 .elementor-element-d963b82 a.elementor-button {
  white-space: nowrap;
}

@media (max-width: 1199px) {
  .elementor-location-header.elementor-8267 .elementor-element-042e915 .elementor-menu-toggle {
    box-sizing: border-box;
    min-width: 44px;
    min-height: 44px;
    margin: 0 !important;
  }

  .elementor-location-header.elementor-8267 .elementor-element-042e915 .elementor-menu-toggle:focus-visible {
    outline: 2px solid #fff !important;
    outline-offset: 2px;
  }
}

@media (max-width: 767px) {
  .elementor-location-header.elementor-8267 .elementor-container:has(> .elementor-element-2662d06) {
    padding-inline: 16px !important;
  }

  .elementor-location-header.elementor-8267 .elementor-element-d963b82 a.elementor-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 8px 14px !important;
  }
}

/* Candidaturas: nombres del listado en escritorio */
@media (min-width: 1025px) {
  #ed-mapa-electoral .ed-cand-accordion-header .ed-cand-name {
    font-size: 20px !important;
  }
}

/* Candidaturas: nombres y fichas en movil */
@media (max-width: 767px) {
  #ed-mapa-electoral .ed-map-panel-box {
    padding-inline: clamp(14px, 4.5vw, 22px);
  }

  #ed-mapa-electoral .ed-cand-accordion-header {
    padding: 12px 14px !important;
    gap: 8px !important;
  }

  #ed-mapa-electoral .ed-cand-header-info {
    flex-basis: 100%;
    min-width: 0;
  }

  #ed-mapa-electoral .ed-cand-accordion-header .ed-cand-name {
    font-size: 17px !important;
    line-height: 1.25 !important;
    overflow-wrap: anywhere;
  }

  #ed-mapa-electoral .ed-cand-header-meta {
    width: 100%;
    justify-content: space-between;
    flex-wrap: nowrap;
    margin-top: 0;
  }

  #ed-mapa-electoral .ed-cand-header-meta .ed-cand-party {
    min-width: 0;
  }

  #ed-mapa-electoral .ed-cand-toggle-icon {
    flex: 0 0 auto;
    margin-inline-start: auto;
  }
}

/* Candidaturas: ancho del panel y botones en movil */
@media (max-width: 767px) {
  .elementor-10417 .elementor-element-6860049c {
    padding-inline: 14px !important;
  }

  .elementor-10417 .elementor-element-6860049c .elementor-element-25d4c7fd > .elementor-widget-wrap,
  .elementor-10417 .elementor-element-6860049c #ed-mapa-electoral {
    padding-inline: 0 !important;
  }

  #ed-mapa-electoral .ed-dignidad-tabs {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px;
  }

  #ed-mapa-electoral .ed-dignidad-tab {
    flex-direction: row !important;
    min-height: 54px;
    gap: 12px !important;
    padding: 8px 12px !important;
  }

  #ed-mapa-electoral .ed-dignidad-tab .ed-tab-badge {
    margin-inline-start: auto;
  }
}

/* Sobre la informacion: tarjetas editables de documentacion */
.elementor-10238 .ed-documentation-row > .elementor-container {
  gap: 18px;
  align-items: stretch;
}

.elementor-10238 .ed-documentation-row .ed-native-protocol-card {
  min-width: 0;
  background-color: #fdfdfd !important;
}

.elementor-10238 .ed-documentation-row .ed-native-protocol-card :is(.elementor-widget-text-editor, .elementor-button-text) {
  overflow-wrap: anywhere;
}

@media (min-width: 960px) {
  .elementor-10238 .ed-documentation-row > .elementor-container {
    flex-wrap: nowrap;
  }

  .elementor-10238 .ed-documentation-row .ed-native-protocol-card {
    flex: 1 1 0;
    padding: 22px clamp(12px, 1.4vw, 22px) !important;
  }

  .elementor-10238 .ed-documentation-row .ed-native-protocol-card > .elementor-widget-wrap {
    flex-direction: column;
    flex-wrap: nowrap;
  }

  .elementor-10238 .ed-documentation-row h3.elementor-heading-title {
    font-size: clamp(20px, 1.75vw, 24px) !important;
    line-height: 1.2 !important;
    text-wrap: balance;
  }

  .elementor-10238 .ed-documentation-row .elementor-widget-button {
    margin-top: auto;
  }

  .elementor-10238 .ed-documentation-row .elementor-widget-button > .elementor-widget-container {
    margin-bottom: 0 !important;
  }

  .elementor-10238 .ed-documentation-row .elementor-button {
    max-width: 100%;
    padding-inline: 14px !important;
    white-space: normal;
  }
}

@media (max-width: 959px) {
  .elementor-10238 .ed-documentation-row > .elementor-container {
    flex-wrap: wrap;
  }

  .elementor-10238 .ed-documentation-row .ed-native-protocol-card {
    width: 100% !important;
  }
}
