.elementor-2806 .elementor-element.elementor-element-3973edba{--display:flex;--background-transition:0.3s;}.elementor-2806 .elementor-element.elementor-element-aebdab5{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--background-transition:0.3s;}/* Start custom CSS for html, class: .elementor-element-89eeaad */.ec-wrap {
  font-family: Arial, Helvetica, sans-serif !important;
  max-width: 960px !important;
  margin: 0 auto !important;
  padding: 0 0 40px !important;
  box-sizing: border-box !important;
}

/* ══ ENCABEZADO ══ */
.ec-header {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 20px !important;
  margin-bottom: 28px !important;
  padding-bottom: 20px !important;
  border-bottom: 3px solid #FFCD00 !important;
  flex-wrap: wrap !important;
}
.ec-tag {
  font-size: .65rem !important;
  font-weight: 800 !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  color: #888 !important;
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  margin-bottom: 6px !important;
}
.ec-tag::before {
  content: '' !important;
  width: 14px !important; height: 2px !important;
  background: #888 !important; display: block !important;
}
.ec-title {
  font-size: clamp(1.4rem, 2.6vw, 2rem) !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  color: #1A1A1A !important;
  line-height: 1 !important;
  margin: 0 !important;
}
.ec-title span { color: #FFCD00 !important; }

/* Badges de tipo en header */
.ec-header-badges {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  align-items: center !important;
  padding-top: 4px !important;
}

/* ══ BADGES DE TIPO ══ */
.ec-badge {
  font-size: .58rem !important;
  font-weight: 800 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  padding: 3px 10px !important;
  border-radius: 10px !important;
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
}
.ec-badge--fiscal   { background: rgba(220,53,69,.1)  !important; color: #C0392B !important; border: 1px solid rgba(220,53,69,.25)  !important; }
.ec-badge--disc     { background: rgba(52,152,219,.1) !important; color: #1A6FA8 !important; border: 1px solid rgba(52,152,219,.25) !important; }
.ec-badge--norm     { background: rgba(155,89,182,.1) !important; color: #7D3C98 !important; border: 1px solid rgba(155,89,182,.25) !important; }
.ec-badge--soc      { background: rgba(39,174,96,.1)  !important; color: #1E8449 !important; border: 1px solid rgba(39,174,96,.25)  !important; }
.ec-badge--cal      { background: rgba(255,205,0,.15) !important; color: #9A7800 !important; border: 1px solid rgba(255,205,0,.3)   !important; }

/* ══ GRID ══ */
.ec-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 14px !important;
}
.ec-card--wide { grid-column: 2 !important; }

/* ══ TARJETA ══ */
.ec-card {
  display: flex !important;
  flex-direction: column !important;
  background: #FFFFFF !important;
  border: 1px solid #E8E6E0 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  text-decoration: none !important;
  color: inherit !important;
  box-shadow: 0 2px 10px rgba(0,0,0,.06) !important;
  transition: transform .28s cubic-bezier(.4,0,.2,1), box-shadow .28s, border-color .22s !important;
  position: relative !important;
}
.ec-card::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  height: 3px !important;
  background: #E8E6E0 !important;
  transition: background .22s !important;
  z-index: 1 !important;
}
.ec-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 14px 36px rgba(0,0,0,.12) !important;
  border-color: rgba(255,205,0,.4) !important;
}
.ec-card:hover::before { background: #FFCD00 !important; }

/* Top: logo + badge */
.ec-card-top {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 16px 16px 10px !important;
  border-bottom: 1px solid #F4F2EE !important;
  gap: 8px !important;
}
.ec-card-logo {
  height: 38px !important;
  display: flex !important;
  align-items: center !important;
  max-width: 130px !important;
}
.ec-card-logo img {
  max-height: 38px !important;
  max-width: 130px !important;
  width: auto !important;
  object-fit: contain !important;
  display: block !important;
}
.ec-logo-txt {
  font-size: .75rem !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  color: #9A7800 !important;
  background: rgba(255,205,0,.12) !important;
  padding: 4px 10px !important;
  border-radius: 6px !important;
  border: 1px solid rgba(255,205,0,.25) !important;
}

/* Body: nombre + datos */
.ec-card-body {
  padding: 14px 16px !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}
.ec-card-name {
  font-size: .875rem !important;
  font-weight: 800 !important;
  color: #1A1A1A !important;
  line-height: 1.3 !important;
  transition: color .22s !important;
}
.ec-card:hover .ec-card-name { color: #9A7800 !important; }

.ec-card-data {
  display: flex !important;
  flex-direction: column !important;
  gap: 5px !important;
}
.ec-card-row {
  display: flex !important;
  align-items: flex-start !important;
  gap: 7px !important;
  font-size: .75rem !important;
  color: #666 !important;
  line-height: 1.45 !important;
}
.ec-card-row svg {
  width: 13px !important; height: 13px !important;
  stroke: #FFCD00 !important; fill: none !important;
  stroke-width: 1.8 !important; stroke-linecap: round !important;
  flex-shrink: 0 !important; margin-top: 2px !important;
}

/* Footer: URL + flecha */
.ec-card-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 9px 16px !important;
  background: #F7F5F0 !important;
  border-top: 1px solid #F0EEE8 !important;
  font-size: .68rem !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  color: #AAA !important;
  transition: background .22s, color .22s !important;
}
.ec-card:hover .ec-card-footer {
  background: rgba(255,205,0,.08) !important;
  color: #9A7800 !important;
}
.ec-card-footer svg {
  width: 14px !important; height: 14px !important;
  stroke: #CCC !important; fill: none !important;
  stroke-width: 2 !important; stroke-linecap: round !important;
  transition: stroke .22s, transform .22s !important;
}
.ec-card:hover .ec-card-footer svg {
  stroke: #FFCD00 !important;
  transform: translate(2px, -2px) !important;
}

/* ══ RESPONSIVE ══ */
@media (max-width: 768px) {
  .ec-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .ec-card--wide { grid-column: auto !important; }
}
@media (max-width: 480px) {
  .ec-grid { grid-template-columns: 1fr !important; }
  .ec-header { flex-direction: column !important; }
}/* End custom CSS */