
/* Educadora Canina Chile · Look & feel v2.0. 
   Las paginas y la composicion permanecen editables en Elementor.
   Este CSS agrega acabado editorial sin manipular cursos ni el tema. */
.ecch-hero{isolation:isolate;position:relative;}
.ecch-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(1,11,21,.34),transparent 70%);pointer-events:none;z-index:0}
.ecch-hero .elementor-widget-heading h1{max-width:820px;text-wrap:balance;text-transform:uppercase;font-style:italic;font-weight:900!important;line-height:.99;letter-spacing:-.05em;text-shadow:0 2px 25px rgba(0,0,0,.26)}
.ecch-hero .elementor-widget-text-editor p{max-width:620px;line-height:1.65}
.ecch-hero .elementor-widget-button .elementor-button{border-radius:0!important;letter-spacing:.055em;text-transform:uppercase;transition:transform .2s ease,background-color .2s ease}
.ecch-hero .elementor-widget-button .elementor-button:hover{transform:translateY(-2px)}
.ecch-trust{border-bottom:1px solid #eee2d8}
.ecch-trust .elementor-widget-heading{text-align:center}
.ecch-story .elementor-widget-heading h2,.ecch-services .elementor-widget-heading h2,.ecch-academy .elementor-widget-heading h2,.ecch-topics .elementor-widget-heading h2,.ecch-big-cta .elementor-widget-heading h2{font-style:italic;text-transform:uppercase;letter-spacing:-.045em}
.ecch-story .ecch-photo img{width:100%;height:520px;object-fit:cover;border-radius:0!important}
.ecch-service-card{border:1px solid rgba(255,255,255,.07);position:relative;overflow:hidden}
.ecch-service-card::before{content:"";position:absolute;height:5px;left:0;top:0;right:0;background:#FABE8C;transition:height .25s ease}
.ecch-service-card:hover::before{height:9px}
.ecch-service-card .elementor-widget-heading h3{font-style:italic;line-height:1.08;letter-spacing:-.045em}
.ecch-service-card .elementor-widget-button .elementor-button{border:1px solid rgba(255,255,255,.42);border-radius:0!important;text-align:left}
.ecch-topic{border-top:4px solid #FABE8C;border-bottom:1px solid #dfd3dd;min-height:190px}
.ecch-big-cta .elementor-widget-heading h2{max-width:950px}
.ecch-form label{font-weight:700;color:#010B15;font-size:14px}
.ecch-form input,.ecch-form select,.ecch-form textarea{border-radius:0!important;border:1px solid #dfd7de!important;background:#fff!important;min-height:46px}
.ecch-form .elementor-button{border-radius:0!important;padding:17px 34px!important;font-weight:800}
.ecch-blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;font-family:Figtree,Arial,sans-serif}
.ecch-blog-card{overflow:hidden;border:1px solid #ece5e9;background:#fff}
.ecch-blog-card__image{width:100%;height:240px;object-fit:cover;display:block}
.ecch-blog-card__body{padding:25px}
.ecch-blog-card__title{color:#010B15;font-size:23px;font-weight:850;line-height:1.2;margin:0 0 12px}
.ecch-blog-card__body p{color:#52616A;line-height:1.7;margin:0 0 20px}
.ecch-blog-card__link{color:#663459;font-weight:800;text-decoration:none}
.ecch-blog-empty{padding:25px;background:#F6F2F5}
@media(max-width:1024px){
 .ecch-hero .elementor-widget-heading h1{font-size:clamp(42px,7vw,72px)!important}
 .ecch-story .ecch-photo img{height:430px}
 .ecch-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767px){
 .ecch-hero{background-position:64% center!important}
 .ecch-hero::before{background:rgba(1,11,21,.30)}
 .ecch-hero .elementor-widget-heading h1{font-size:clamp(35px,9vw,56px)!important;letter-spacing:-.035em}
 .ecch-hero .elementor-widget-text-editor p{font-size:16px;max-width:480px}
 .ecch-story .ecch-photo img{height:370px}
 .ecch-trust .elementor-widget-heading h6{font-size:10px!important}
 .ecch-blog-grid{grid-template-columns:1fr}
 .ecch-service-card{min-height:290px!important}
}


/* v5 — tarjetas fotográficas, temas con iconos y franja centrada. */
.ecch-v5-services{font-family:Figtree,Arial,sans-serif}
.ecch-v5-services .ecch-v5-service-row{display:flex;gap:22px!important;width:100%;align-items:stretch}
.ecch-v5-service-card{position:relative;isolation:isolate;overflow:hidden;box-shadow:0 20px 40px rgba(19,27,38,.12);transition:transform .25s ease,box-shadow .25s ease;border:0!important;background-size:cover!important;background-position:center center!important}

.ecch-v5-service-card > .e-con-inner,.ecch-v5-service-card > .elementor-element,.ecch-v5-service-card > .elementor-widget-heading,.ecch-v5-service-card > .ecch-v5-service-card__body{position:relative;z-index:2}
.ecch-v5-service-card:hover{transform:translateY(-4px);box-shadow:0 28px 54px rgba(19,27,38,.2)}
.ecch-v5-service-card .elementor-widget-heading h3{font-style:normal!important;letter-spacing:-.035em;line-height:1.08!important;margin:0}
.ecch-v5-service-card .elementor-widget-heading h6{font-style:normal!important;letter-spacing:.16em!important;line-height:1.4!important}
.ecch-v5-service-card__body{display:flex;flex-direction:column;gap:12px}
.ecch-v5-service-card .elementor-widget-text-editor p{margin:0!important;line-height:1.55}
.ecch-v5-service-card .elementor-widget-button .elementor-button{background-color:transparent!important;color:#fff!important;border:1px solid rgba(255,255,255,.75)!important;border-radius:8px!important;letter-spacing:.025em}
.ecch-v5-service-card .elementor-widget-button .elementor-button:hover{background-color:#fff!important;color:#17293A!important}
.ecch-v5-trust{border-bottom:1px solid #ebdfd1}
.ecch-v5-trust .ecch-v5-service-row{display:flex;justify-content:center;align-items:center;gap:8px!important}
.ecch-v5-trust-card{display:flex;align-items:center!important;justify-content:center!important;gap:11px!important;text-align:center!important}
.ecch-v5-trust-card .elementor-widget-heading h6{text-align:center!important;font-size:13px!important;letter-spacing:.09em!important;line-height:1.4!important;margin:0}
.ecch-v5-fa-icon{text-align:center!important;line-height:1}
.ecch-v5-fa-icon .elementor-icon{display:inline-flex!important;align-items:center;justify-content:center;font-size:inherit;line-height:1}
.ecch-v5-fa-icon i{font-style:normal;font-size:inherit}
.ecch-v5-trust-card .ecch-v5-fa-icon .elementor-icon{font-size:25px}
.ecch-v5-topic-grid{display:flex;gap:18px!important;align-items:stretch;flex-wrap:nowrap}
.ecch-v5-topic-card{box-shadow:0 10px 30px rgba(35,25,45,.05);border:1px solid #e7dfe9;display:flex;align-items:center!important;text-align:center!important;transition:transform .2s ease,box-shadow .2s ease}
.ecch-v5-topic-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(35,25,45,.10)}
.ecch-v5-topic-card .elementor-widget-heading h3{font-style:normal!important;letter-spacing:-.02em!important;text-align:center!important;line-height:1.18!important}
.ecch-v5-topic-card .elementor-widget-text-editor p{text-align:center!important;margin:0!important;line-height:1.55!important}
.ecch-v5-topic-icon-wrap{display:flex;justify-content:center;align-items:center}
.ecch-v5-topic-icon-wrap .elementor-icon{display:inline-flex!important;align-items:center;justify-content:center;width:64px;height:64px;background:#f5edf5;border-radius:18px}
.ecch-v5-topic-icon-wrap .elementor-icon i{font-size:26px}
@media(max-width:1024px){.ecch-v5-topic-grid{flex-wrap:wrap!important}.ecch-v5-topic-card{width:calc(50% - 9px)!important}}
@media(max-width:767px){.ecch-v5-services .ecch-v5-service-row{flex-direction:column!important;gap:18px!important}.ecch-v5-service-card{width:100%!important;min-height:390px!important}.ecch-v5-topic-grid{flex-direction:column!important}.ecch-v5-topic-card{width:100%!important;min-height:0!important}.ecch-v5-trust .ecch-v5-service-row{flex-direction:row!important;flex-wrap:wrap!important;justify-content:center}.ecch-v5-trust-card{width:100%!important;padding:12px 4px!important}.ecch-v5-trust-card .elementor-widget-heading h6{font-size:12px!important}}

/* v5 final: rejilla uniforme sin desbordamiento de las filas 2 + 3. */
.ecch-v5-services .ecch-v5-service-row{display:grid!important;align-items:stretch!important;width:100%!important}
.ecch-v5-services .ecch-v5-two{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.ecch-v5-services .ecch-v5-three{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.ecch-v5-services .ecch-v5-service-row>.ecch-v5-service-card{width:100%!important;min-width:0!important}
@media(max-width:900px){.ecch-v5-services .ecch-v5-three{grid-template-columns:repeat(2,minmax(0,1fr))!important}.ecch-v5-services .ecch-v5-three>.ecch-v5-service-card:last-child{grid-column:1/-1}}
@media(max-width:767px){.ecch-v5-services .ecch-v5-service-row{grid-template-columns:minmax(0,1fr)!important}.ecch-v5-services .ecch-v5-three>.ecch-v5-service-card:last-child{grid-column:auto!important}}


/* v6 — refinamientos visuales solicitados por Daniel */
.ecch-hero:before{background:linear-gradient(90deg,rgba(1,11,21,.52),rgba(1,11,21,.36) 52%,rgba(1,11,21,.18) 100%)!important}
.ecch-hero .ecch-hero-copy>.e-con:last-child,.ecch-hero .ecch-hero-copy>.elementor-element:last-child{display:flex;flex-wrap:wrap;gap:14px!important;align-items:flex-start!important;justify-content:flex-start!important}
.ecch-hero .ecch-hero-copy>.e-con:last-child>.e-con,.ecch-hero .ecch-hero-copy>.elementor-element:last-child>.e-con{width:auto!important;min-width:220px;max-width:max-content;flex:0 0 auto!important}

.ecch-academy>.elementor-widget-button,.ecch-academy>.elementor-element.elementor-widget-button{align-self:center!important;text-align:center!important}
.ecch-academy>.elementor-widget-button .elementor-button,.ecch-academy>.elementor-element.elementor-widget-button .elementor-button{justify-content:center!important}

.ecch-v5-service-card{min-height:390px!important;padding:32px 24px 26px!important}


.ecch-v5-service-card .ecch-v5-service-card__body{margin-top:auto!important;display:flex!important;justify-content:flex-end!important;min-height:100%}
.ecch-v5-service-card .ecch-v5-service-card__body>.elementor-widget-heading h3{color:#fff!important;font-size:clamp(28px,2.3vw,40px)!important}
.ecch-v5-service-card .ecch-v5-service-card__body>.elementor-widget-text-editor p{color:rgba(255,255,255,.94)!important;max-width:95%}
.ecch-v5-service-card .elementor-widget-button .elementor-button{backdrop-filter:blur(2px);background:rgba(255,255,255,.08)!important}

.ecch-v5-topic-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important;align-items:stretch!important}
.ecch-v5-topic-grid>.ecch-v5-topic-card{width:auto!important;min-width:0!important;min-height:285px!important}
.ecch-v5-topic-card .elementor-widget-heading h3{font-size:23px!important}

.ecch-cta-banner{position:relative;overflow:hidden;isolation:isolate}
.ecch-cta-banner:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,15,24,.72) 0%,rgba(22,18,30,.60) 100%);z-index:0;pointer-events:none}
.ecch-cta-banner>.elementor-element,.ecch-cta-banner>.e-con,.ecch-cta-banner .elementor-widget{position:relative;z-index:2}
.ecch-cta-banner .elementor-widget-heading h2{color:#fff!important;max-width:860px}
.ecch-cta-banner .elementor-widget-heading h6,.ecch-cta-banner .elementor-widget-text-editor p{color:rgba(255,255,255,.92)!important}
.ecch-cta-banner .elementor-button{background:#FABE8C!important;color:#010B15!important;border:none!important;border-radius:10px!important;font-weight:800!important}

@media(max-width:1024px){
  .ecch-v5-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:767px){
  .ecch-hero .ecch-hero-copy>.e-con:last-child>.e-con,.ecch-hero .ecch-hero-copy>.elementor-element:last-child>.e-con{width:100%!important;min-width:0;max-width:none}
  .ecch-v5-topic-grid{grid-template-columns:minmax(0,1fr)!important}
  .ecch-v5-service-card{min-height:360px!important}
}

/* v7.0 — CORRECCIÓN VISUAL: títulos, oscurecido realmente visible y texto legible.
 * Elementor sigue controlando cada imagen y también tiene overlay nativo configurable.
 * Esta capa extra es un respaldo visual para temas donde el overlay nativo resulta tenue. */

/* Servicios: el nombre es un título principal, nunca una etiqueta. */
.ecch-v5-service-card .ecch-v5-service-card__body>.elementor-widget-heading,
.ecch-v5-service-card .ecch-v5-service-card__body .elementor-widget-heading{
  display:block!important;visibility:visible!important;opacity:1!important;
}
.ecch-v5-service-card .ecch-v5-service-card__body>.elementor-widget-heading h3,
.ecch-v5-service-card .ecch-v5-service-card__body .elementor-heading-title{
  color:#fff!important;opacity:1!important;visibility:visible!important;
  text-shadow:0 2px 14px rgba(0,0,0,.45);
}
.ecch-v5-service-card .ecch-v5-service-card__body .elementor-widget-text-editor p{
  color:#f9fafc!important;text-shadow:0 1px 8px rgba(0,0,0,.45);
}

/* Oscurecido perceptible en todas las tarjetas de servicios. */
.ecch-v7-service-card{position:relative!important;isolation:isolate!important;overflow:hidden!important}
.ecch-v7-service-card::after{
  content:""!important;display:block!important;position:absolute!important;inset:0!important;
  background:linear-gradient(180deg,rgba(3,8,16,.22) 0%,rgba(3,8,16,.28) 34%,rgba(3,8,16,.70) 65%,rgba(3,8,16,.78) 100%)!important;
  opacity:1!important;z-index:1!important;pointer-events:none!important;
}
.ecch-v7-service-card>.e-con-inner,
.ecch-v7-service-card>.elementor-element,
.ecch-v7-service-card>.e-con{
  position:relative!important;z-index:3!important;
}
.ecch-v7-service-card .ecch-v5-service-card__body{
  position:relative!important;z-index:4!important;
}

/* Oscurecido para el hero de Inicio y de TODAS las páginas interiores. */
.ecch-hero{position:relative!important;isolation:isolate!important;overflow:hidden!important}
.ecch-hero::after{
  content:""!important;display:block!important;position:absolute!important;inset:0!important;
  background:linear-gradient(90deg,rgba(2,7,17,.49) 0%,rgba(2,7,17,.35) 58%,rgba(2,7,17,.29) 100%)!important;
  opacity:1!important;z-index:1!important;pointer-events:none!important;
}
.ecch-hero>.e-con-inner,.ecch-hero>.elementor-element,.ecch-hero>.e-con{
  position:relative!important;z-index:3!important;
}
.ecch-hero .elementor-widget-heading,.ecch-hero .elementor-widget-text-editor,.ecch-hero .elementor-widget-button{
  position:relative!important;z-index:4!important;
}

/* También se preserva el oscurecido de las franjas con llamado a la acción. */
.ecch-cta-banner::after{
  content:""!important;display:block!important;position:absolute!important;inset:0!important;
  background:linear-gradient(90deg,rgba(2,7,17,.38),rgba(2,7,17,.30))!important;
  opacity:1!important;z-index:1!important;pointer-events:none!important;
}
.ecch-cta-banner>.e-con-inner,.ecch-cta-banner>.e-con,.ecch-cta-banner>.elementor-element{
  position:relative!important;z-index:3!important;
}


/* v8: CTA final de borde recto y sin contorno, incluido el boton. */
.ecch-big-cta{
  border:0!important;
  outline:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.ecch-big-cta .elementor-button{
  border:0!important;
}
