/* Electric Control — editorial public sectors page. */
body.ec-sectors-editorial {
  --sectors-navy: #0f1c2e;
  --sectors-green: #7dbf2a;
  --sectors-gray: #e6e8eb;
  color: var(--sectors-navy);
  background: #fff;
  background-image: none;
  font-family: "Montserrat", "Open Sans", system-ui, sans-serif;
}

body.ec-sectors-editorial .ec-page-hero--premium {
  min-height: min(760px, 78svh);
  padding: clamp(145px, 16vh, 190px) 0 clamp(76px, 9vw, 124px);
  align-items: flex-end;
  background-image:
    linear-gradient(90deg, rgba(15,28,46,.94) 0%, rgba(15,28,46,.76) 48%, rgba(15,28,46,.24) 100%),
    linear-gradient(0deg, rgba(15,28,46,.36), transparent 50%),
    url('/assets/public/heroes/hero-proyectos.jpg');
  background-position: center, center, center 58%;
  border: 0;
}
body.ec-sectors-editorial .ec-page-hero--premium::before,
body.ec-sectors-editorial .ec-page-hero--premium::after { display: none; }
body.ec-sectors-editorial .ec-page-hero--premium .ec-container { width: min(100% - 96px, 1440px); }
body.ec-sectors-editorial .ec-page-hero--premium .ec-breadcrumb { margin-bottom: 30px; }
body.ec-sectors-editorial .ec-page-hero--premium .ec-heading-xl {
  max-width: 960px;
  margin: 0 0 24px;
  color: #fff;
  font-size: clamp(3.5rem, 8vw, 7.8rem);
  line-height: .96;
  letter-spacing: -.075em;
}
body.ec-sectors-editorial .ec-page-hero--premium .ec-highlight {
  background: none;
  color: var(--sectors-green);
  -webkit-text-fill-color: currentColor;
}
body.ec-sectors-editorial .ec-page-hero--premium .ec-subtitle {
  max-width: 660px;
  color: rgba(255,255,255,.78);
  font-size: clamp(1rem, 1.35vw, 1.18rem);
  line-height: 1.8;
}

body.ec-sectors-editorial .ec-section .ec-container > .ec-text-center {
  display: grid;
  grid-template-columns: minmax(240px,.72fr) minmax(0,1.28fr);
  align-items: end;
  gap: 12px 48px;
  max-width: none !important;
  margin: 0 0 42px !important;
  text-align: left;
}
body.ec-sectors-editorial .ec-section .ec-container > .ec-text-center .ec-label { grid-column: 1; margin: 0; color: #5b941c; }
body.ec-sectors-editorial .ec-section .ec-container > .ec-text-center h2 { grid-column: 1; margin: 0 !important; color: var(--sectors-navy); font-size: clamp(2.1rem,4vw,4rem); line-height: 1.05; letter-spacing: -.06em; }
body.ec-sectors-editorial .ec-section .ec-container > .ec-text-center p { grid-column: 2; grid-row: 1 / span 2; max-width: 620px; margin: 0; color: #68717c !important; font-size: .9rem; line-height: 1.8; }

body.ec-sectors-editorial #sectores-list {
  display: block;
  margin: 0;
  border-top: 1px solid #cfd4d9;
  counter-reset: sector-row;
}
body.ec-sectors-editorial #sectores-list > .ec-sector-card {
  position: relative;
  display: grid;
  grid-template-columns: 58px 56px minmax(190px,.8fr) minmax(0,1.2fr) 28px;
  gap: 20px;
  align-items: center;
  min-height: 116px;
  padding: 22px 0;
  color: var(--sectors-navy);
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid #cfd4d9 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  counter-increment: sector-row;
  transition: padding .25s ease, background-color .25s ease;
}
body.ec-sectors-editorial #sectores-list > .ec-sector-card::before {
  content: counter(sector-row, decimal-leading-zero);
  grid-column: 1;
  grid-row: 1;
  color: var(--sectors-green);
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .1em;
}
body.ec-sectors-editorial #sectores-list > .ec-sector-card::after {
  content: "↗";
  grid-column: 5;
  grid-row: 1;
  color: var(--sectors-green);
  font-size: 1.25rem;
}
body.ec-sectors-editorial #sectores-list .ec-sector-card-bg { display: none !important; }
body.ec-sectors-editorial #sectores-list .ec-sector-card-content { display: contents; }
body.ec-sectors-editorial #sectores-list .ec-sector-card-content > div:first-child {
  grid-column: 2;
  grid-row: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin: 0 !important;
  color: var(--sectors-green) !important;
  background: #f2f6ed;
}
body.ec-sectors-editorial #sectores-list .ec-sector-card-content > div:first-child svg { width: 22px; height: 22px; }
body.ec-sectors-editorial #sectores-list .ec-sector-card-content h3 {
  grid-column: 3;
  grid-row: 1;
  margin: 0;
  color: var(--sectors-navy) !important;
  font-size: clamp(1.08rem,1.7vw,1.45rem);
  font-weight: 700;
  letter-spacing: -.035em;
}
body.ec-sectors-editorial #sectores-list .ec-sector-card-content p {
  grid-column: 4;
  grid-row: 1;
  max-width: 660px;
  margin: 0 !important;
  color: #68717c !important;
  font-size: .79rem !important;
  line-height: 1.7;
}
body.ec-sectors-editorial #sectores-list > .ec-sector-card:hover { padding-left: 10px; background: #f8f9fa !important; }

body.ec-sectors-editorial .ec-section-alt { background: #f4f6f7; }
body.ec-sectors-editorial .ec-section-alt .ec-container > .ec-text-center h2 { grid-column: 1 / -1; }
body.ec-sectors-editorial .ec-section-alt .ec-grid-3 { gap: 0 32px; border-top: 1px solid #cfd4d9; }
body.ec-sectors-editorial .ec-section-alt .ec-card {
  padding: 24px 24px 24px 0 !important;
  text-align: left !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid #cfd4d9 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
body.ec-sectors-editorial .ec-section-alt .ec-card > div { margin: 0 0 10px !important; color: #5b941c !important; font-size: 1.15rem !important; letter-spacing: -.03em; }
body.ec-sectors-editorial .ec-section-alt .ec-card p { margin: 0; color: #68717c !important; font-size: .8rem; line-height: 1.7 !important; }

body.ec-sectors-editorial .ec-page-cta { background: var(--sectors-navy); border-radius: 0; }
body.ec-sectors-editorial .ec-page-cta h2,
body.ec-sectors-editorial .ec-page-cta p { color: #fff; }
body.ec-sectors-editorial .ec-page-cta p { color: rgba(255,255,255,.72); }
body.ec-sectors-editorial .ec-page-cta .ec-btn-outline { color: #fff; border-color: rgba(255,255,255,.42); }

@media (max-width: 900px) {
  body.ec-sectors-editorial .ec-page-hero--premium .ec-container { width: min(100% - 48px, 1440px); }
  body.ec-sectors-editorial .ec-section .ec-container > .ec-text-center { gap: 12px 28px; }
  body.ec-sectors-editorial #sectores-list > .ec-sector-card { grid-template-columns: 48px 48px minmax(170px,.8fr) minmax(0,1.2fr) 24px; gap: 14px; }
  body.ec-sectors-editorial .ec-section-alt .ec-grid-3 { gap: 0 20px; }
}

@media (max-width: 640px) {
  body.ec-sectors-editorial .ec-page-hero--premium { min-height: 72svh; padding: 130px 0 64px; background-position: center, center, 58% center; }
  body.ec-sectors-editorial .ec-page-hero--premium .ec-container { width: min(100% - 40px, 1440px); }
  body.ec-sectors-editorial .ec-page-hero--premium .ec-heading-xl { font-size: clamp(3rem, 14vw, 5rem); }
  body.ec-sectors-editorial .ec-section .ec-container > .ec-text-center { display: block; text-align: left; margin-bottom: 28px !important; }
  body.ec-sectors-editorial .ec-section .ec-container > .ec-text-center h2 { margin: 12px 0 !important; }
  body.ec-sectors-editorial .ec-section .ec-container > .ec-text-center p { margin-top: 16px; }
  body.ec-sectors-editorial #sectores-list > .ec-sector-card { grid-template-columns: 34px 42px minmax(0,1fr) 24px; gap: 10px; min-height: 0; padding: 18px 0; }
  body.ec-sectors-editorial #sectores-list .ec-sector-card-content > div:first-child { grid-column: 2; grid-row: 1; width: 36px; height: 36px; }
  body.ec-sectors-editorial #sectores-list .ec-sector-card-content h3 { grid-column: 3; grid-row: 1; font-size: 1rem; }
  body.ec-sectors-editorial #sectores-list .ec-sector-card-content p { grid-column: 2 / 5; grid-row: 2; padding-top: 8px; font-size: .75rem !important; }
  body.ec-sectors-editorial #sectores-list > .ec-sector-card::after { grid-column: 4; grid-row: 1; }
  body.ec-sectors-editorial .ec-section-alt .ec-grid-3 { grid-template-columns: 1fr; }
  body.ec-sectors-editorial .ec-section-alt .ec-card { padding: 18px 0 !important; }
}

@media (prefers-reduced-motion: reduce) {
  body.ec-sectors-editorial #sectores-list > .ec-sector-card { transition: none; }
}
