/* Energy Ecuador · Responsive Hardening 1.12.7
 * Objetivo: móvil/tablet compacto, legible y sin superposiciones.
 * Capa aditiva/reversible: no cambia datos ni lógica de negocio.
 */

html.ee-responsive-ready,
html.ee-responsive-ready body{
  max-width:100%;
  overflow-x:clip;
}
@supports not (overflow:clip){
  html.ee-responsive-ready,
  html.ee-responsive-ready body{overflow-x:hidden;}
}

html.ee-responsive-ready img,
html.ee-responsive-ready video,
html.ee-responsive-ready iframe,
html.ee-responsive-ready svg{
  max-width:100%;
}

/* Evitar que wrappers de constructores empujen el viewport en móvil. */
@media (max-width:980px), (hover:none) and (pointer:coarse){
  html.ee-responsive-ready .elementor,
  html.ee-responsive-ready .elementor-section,
  html.ee-responsive-ready .elementor-container,
  html.ee-responsive-ready .elementor-column,
  html.ee-responsive-ready .elementor-widget-wrap,
  html.ee-responsive-ready .e-con,
  html.ee-responsive-ready .e-con-inner,
  html.ee-responsive-ready .wp-site-blocks,
  html.ee-responsive-ready .wp-block-group{
    min-width:0;
    max-width:100%;
  }
}

/* =========================================================
 * HEADER / MENÚ MÓVIL
 * - logo siempre visible
 * - barra compacta
 * - mejor contraste sobre fotografías
 * =======================================================*/
.amb-main-menu__brand--mobile-only{display:none;}

@media (max-width:980px), (hover:none) and (pointer:coarse){
  .amb-main-menu{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 12px !important;
    background:linear-gradient(135deg,rgba(4,71,91,.94),rgba(8,49,73,.90)) !important;
    border-bottom:1px solid rgba(255,255,255,.16) !important;
    box-shadow:0 8px 26px rgba(2,24,38,.18) !important;
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
  }
  .amb-main-menu__inner{
    min-height:64px !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:10px !important;
  }
  .amb-main-menu__brand--mobile-only{
    display:flex !important;
    min-width:0;
    align-items:center;
    justify-content:flex-start;
  }
  .amb-main-menu__brand{
    min-width:0;
    overflow:visible;
  }
  .amb-main-menu .amb-sticky-logo,
  .amb-main-menu .amb-sticky-logo--mobile-fallback{
    display:inline-flex !important;
    align-items:center;
    max-width:min(68vw,250px) !important;
    min-width:0;
    opacity:1 !important;
    visibility:visible !important;
  }
  .amb-main-menu .amb-sticky-logo img,
  .amb-main-menu .amb-sticky-logo--mobile-fallback img{
    display:block !important;
    width:auto !important;
    height:46px !important;
    max-height:46px !important;
    max-width:min(68vw,240px) !important;
    object-fit:contain !important;
    object-position:left center !important;
    filter:drop-shadow(0 2px 6px rgba(0,0,0,.18));
  }
  .amb-main-menu__nav{
    gap:8px !important;
    justify-content:flex-end !important;
  }
  .amb-main-menu .amb-hamburger-button{
    display:inline-flex !important;
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    min-height:44px !important;
    margin:0 !important;
    border-radius:14px !important;
    background:rgba(255,255,255,.14) !important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.18) !important;
    color:#fff !important;
  }
  .amb-main-menu .amb-burger-icon-wrap{
    transform:scale(.90);
    color:#fff !important;
  }
  .amb-sticky-enabled.amb-is-stuck{
    padding:0 12px !important;
    background:linear-gradient(135deg,rgba(4,71,91,.97),rgba(8,49,73,.95)) !important;
  }
  .amb-sticky-enabled.amb-is-stuck .amb-main-menu__inner{min-height:60px !important;}
  .amb-mobile-panel{
    color:#fff;
  }
  .amb-responsive-enabled.amb-mobile-mode-offcanvas .amb-mobile-panel,
  .amb-responsive-enabled.amb-mobile-mode-dropdown .amb-mobile-panel{
    background:linear-gradient(180deg,rgba(5,55,76,.98),rgba(5,33,52,.98)) !important;
    color:#fff !important;
  }
  .amb-mobile-panel .amb-menu-item > a,
  .amb-mobile-panel .amb-submenu .amb-menu-item > a{
    color:#fff !important;
  }
  .amb-mobile-panel-top{
    border-bottom-color:rgba(255,255,255,.12) !important;
  }
  .amb-mobile-logo-wrap .amb-sticky-logo img{
    height:38px !important;
    max-height:38px !important;
    max-width:190px !important;
  }
}

/* =========================================================
 * SLIDER / HERO MÓVIL
 * El problema principal era usar 100vh y apilar contenido grande.
 * Ahora el hero es compacto y la jerarquía se mantiene legible.
 * =======================================================*/
@media (max-width:767px){
  .slider-show-wrap{
    height:clamp(430px, calc(var(--ee-mobile-vh, 1vh) * 68), 560px) !important;
    min-height:430px !important;
    max-height:560px !important;
    padding-top:0 !important;
    padding-bottom:max(12px, env(safe-area-inset-bottom,0px)) !important;
    overflow:hidden !important;
  }
  .slider-show-wrap .slider-slide{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    gap:6px !important;
    padding:68px 48px 34px !important;
    min-height:430px !important;
  }
  .slider-show-wrap .ssp-bg{
    background-position:center center !important;
    background-size:cover !important;
  }
  .slider-show-wrap .ssp-bg::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(3,22,34,.18),rgba(3,22,34,.24) 48%,rgba(3,22,34,.36));
    pointer-events:none;
  }
  .slider-show-wrap .ssp-media-pane{display:none !important;}
  .slider-show-wrap .ssp-text-area,
  .slider-show-wrap .ssp-media-area{
    position:static !important;
    inset:auto !important;
    width:100% !important;
    height:auto !important;
    min-width:0 !important;
  }
  .slider-show-wrap .ssp-text-area{
    order:1 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:0 !important;
    flex:0 1 auto;
  }
  .slider-show-wrap .slider-text{
    width:100% !important;
    text-align:center !important;
  }
  .slider-show-wrap .slider-content,
  .slider-show-wrap[data-skin="tech5"] .slider-content,
  .slider-show-wrap[data-skin="tech8"] .slider-content{
    width:100% !important;
    max-width:390px !important;
    margin:0 auto !important;
    padding:11px 13px !important;
    border-radius:16px !important;
    background:linear-gradient(180deg,rgba(3,25,38,.58),rgba(3,25,38,.38)) !important;
    border:1px solid rgba(255,255,255,.12) !important;
    box-shadow:0 10px 24px rgba(0,0,0,.16) !important;
    backdrop-filter:blur(8px) !important;
    -webkit-backdrop-filter:blur(8px) !important;
  }
  .slider-show-wrap .slider-title{
    margin:0 0 4px !important;
    font-size:clamp(19px,6.2vw,27px) !important;
    line-height:1.06 !important;
    letter-spacing:-.02em !important;
    text-wrap:balance;
  }
  .slider-show-wrap .slider-subtitle{
    margin:0 0 5px !important;
    font-size:clamp(12px,3.8vw,15px) !important;
    line-height:1.25 !important;
  }
  .slider-show-wrap .slider-desc,
  .slider-show-wrap .slider-desc *{
    font-size:clamp(11px,3.4vw,14px) !important;
    line-height:1.32 !important;
  }
  .slider-show-wrap .slider-desc p{margin:0 0 .45em !important;}
  .slider-show-wrap .slider-btn{
    min-height:40px !important;
    margin-top:8px !important;
    padding:9px 14px !important;
    border-radius:999px !important;
    font-size:12px !important;
    line-height:1.1 !important;
  }
  .slider-show-wrap .ssp-media-area{
    order:2 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex:0 1 auto;
    padding:0 !important;
  }
  .slider-show-wrap .ssp-media-float,
  .slider-show-wrap[data-skin="tech5"] .ssp-media-float,
  .slider-show-wrap[data-skin="tech8"] .ssp-media-float{
    width:100% !important;
    max-width:360px !important;
    margin:0 auto !important;
    padding:4px 8px !important;
    border-radius:14px !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    transform:none !important;
    overflow:visible !important;
  }
  .slider-show-wrap .ssp-media-img{
    width:min(var(--media-w,300px),150px) !important;
    max-width:150px !important;
    height:auto !important;
    max-height:96px !important;
    margin:0 auto !important;
    border-radius:0 !important;
    animation:none !important;
    object-fit:contain !important;
  }
  .slider-show-wrap .ssp-media-lottie{
    width:min(var(--media-w,300px),140px) !important;
    height:min(var(--media-h,240px),100px) !important;
    max-height:100px !important;
    margin:0 auto !important;
    animation:none !important;
  }
  .slider-show-wrap .ssp-media-video-box{
    width:min(100%,250px) !important;
    height:140px !important;
    margin:0 auto !important;
    border-radius:12px !important;
  }
  .slider-show-wrap .ssp-media-shortcode{
    width:100% !important;
    max-width:100% !important;
    margin:0 auto !important;
  }

  /* Si el slide contiene contador, se reserva más ancho para el contador horizontal. */
  .slider-show-wrap .slider-slide.ee-has-countdown{
    justify-content:center !important;
    gap:7px !important;
    padding-left:38px !important;
    padding-right:38px !important;
  }
  .slider-show-wrap .slider-slide.ee-has-countdown .ssp-media-float{
    max-width:390px !important;
    padding:0 !important;
  }

  /* Flechas pequeñas, táctiles y fuera del bloque de texto. */
  .slider-show-wrap .ssp-nav{
    display:flex !important;
    top:54% !important;
    width:38px !important;
    height:44px !important;
    min-width:38px !important;
    min-height:44px !important;
    border-radius:10px !important;
    clip-path:none !important;
    background:rgba(4,87,111,.84) !important;
    box-shadow:0 6px 18px rgba(0,0,0,.18) !important;
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
  }
  .slider-show-wrap .ssp-nav::before{display:none !important;}
  .slider-show-wrap .ssp-nav.prev{left:6px !important;}
  .slider-show-wrap .ssp-nav.next{right:6px !important;}
  .slider-show-wrap .ssp-nav .ssp-arrow-inner{
    width:24px !important;
    height:24px !important;
  }
  .slider-show-wrap .ssp-nav.prev[data-type="classic"] .ssp-arrow-inner::after,
  .slider-show-wrap .ssp-nav.next[data-type="classic"] .ssp-arrow-inner::after{
    font-size:20px !important;
  }
  .slider-show-wrap .ssp-nav[data-type="icon"] .dashicons{font-size:20px !important;}
  .slider-show-wrap .ssp-nav[data-type="image"] img,
  .slider-show-wrap .ssp-nav[data-type="lottie"] .ssp-lottie{
    width:20px !important;
    height:20px !important;
  }
  .slider-show-wrap .ssp-dots{
    bottom:10px !important;
    gap:6px !important;
  }
  .slider-show-wrap .ssp-dots button{
    width:7px !important;
    height:7px !important;
  }
  .slider-show-wrap .ssp-progress{height:2px !important;}
}

@media (max-width:380px){
  .slider-show-wrap{
    height:clamp(420px, calc(var(--ee-mobile-vh, 1vh) * 66), 520px) !important;
    min-height:420px !important;
  }
  .slider-show-wrap .slider-slide{
    min-height:420px !important;
    padding:64px 40px 30px !important;
  }
  .slider-show-wrap .slider-title{font-size:clamp(18px,5.8vw,23px) !important;}
  .slider-show-wrap .slider-desc,
  .slider-show-wrap .slider-desc *{font-size:11.5px !important;}
}

/* =========================================================
 * CONTADOR: SIEMPRE HORIZONTAL EN MÓVIL
 * =======================================================*/
@media (max-width:560px){
  .as-countdown-wrap{
    width:100% !important;
    max-width:100% !important;
    padding:9px !important;
    border-radius:14px !important;
    box-shadow:0 8px 22px rgba(0,0,0,.14) !important;
  }
  .as-countdown-head{
    margin-bottom:7px !important;
  }
  .as-countdown-title{
    margin:0 0 3px !important;
    font-size:14px !important;
    line-height:1.1 !important;
  }
  .as-countdown-subtitle{
    font-size:10px !important;
    line-height:1.2 !important;
  }
  .as-countdown-status{
    margin-top:5px !important;
    padding:4px 7px !important;
    font-size:9px !important;
    line-height:1.1 !important;
  }
  .as-countdown-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:5px !important;
  }
  .as-countdown-box{
    min-width:0 !important;
    min-height:66px !important;
    padding:7px 2px !important;
    border-radius:11px !important;
    box-shadow:0 5px 14px rgba(0,0,0,.13) !important;
  }
  .as-countdown-box:hover{transform:none !important;}
  .as-countdown-box::after{
    width:54px !important;
    height:54px !important;
    opacity:.44 !important;
  }
  .as-count-val{
    font-size:clamp(20px,7vw,26px) !important;
    line-height:1 !important;
  }
  .as-count-label{
    margin-top:4px !important;
    font-size:8px !important;
    line-height:1.05 !important;
    letter-spacing:.015em !important;
    white-space:nowrap;
  }
  .as-countdown-expired{
    padding:10px 12px !important;
    font-size:14px !important;
  }
}

/* =========================================================
 * BOTONES FLOTANTES: MENOS INVASIVOS EN MÓVIL
 * =======================================================*/
@media (max-width:767px){
  .energy-asesor-wa{
    left:8px !important;
    bottom:max(var(--energy-asesor-mobile-bottom,var(--energy-asesor-bottom,82px)), calc(env(safe-area-inset-bottom,0px) + 78px)) !important;
    gap:6px !important;
  }
  .energy-asesor-wa__btn{
    min-height:44px !important;
    padding:5px 10px 5px 5px !important;
    gap:6px !important;
    box-shadow:0 8px 22px rgba(0,0,0,.20) !important;
  }
  .energy-asesor-wa__iconWrap{
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
  }
  .energy-asesor-wa__iconWrap svg{width:18px !important;height:18px !important;}
  .energy-asesor-wa__label strong{
    font-size:14px !important;
    line-height:1 !important;
  }
  .energy-asesor-wa__label span{
    margin-top:2px !important;
    font-size:7px !important;
    letter-spacing:.09em !important;
  }
  .energy-asesor-wa__ring{inset:-4px !important;animation-duration:3.2s !important;}
  .energy-asesor-wa__card{
    width:min(300px,calc(100vw - 16px)) !important;
    bottom:54px !important;
    border-radius:15px !important;
  }

  .energy-wa-float{
    right:8px !important;
    bottom:max(12px, env(safe-area-inset-bottom,0px)) !important;
    --energy-wa-size:48px !important;
  }
  .energy-wa-float .energy-wa-btn{
    width:48px !important;
    height:48px !important;
    box-shadow:0 8px 22px rgba(0,0,0,.20) !important;
  }
  .energy-wa-float .energy-wa-icon{
    width:34px !important;
    height:34px !important;
  }
  .energy-wa-float .energy-wa-ring{
    animation-duration:3.4s !important;
  }
  .energy-wa-float .energy-wa-card{
    right:0 !important;
    bottom:56px !important;
    width:min(320px,calc(100vw - 16px)) !important;
  }

  .as-intruder-float.is-left{left:8px !important;}
  .as-intruder-float.is-right{right:8px !important;}
  .as-intruder-media{
    width:48px !important;
    height:48px !important;
  }
  .as-intruder-bubble{
    max-width:132px !important;
    padding:8px 9px !important;
    font-size:10px !important;
  }
}

/* =========================================================
 * AGENDAS / CONFERENCIAS EN IMAGEN
 * =======================================================*/
@media (max-width:767px){
  .eeconf-page--image-agenda .eeconf-shell{
    width:100% !important;
    padding-left:10px !important;
    padding-right:10px !important;
  }
  .eeconf-page--image-agenda .eeconf-agenda-tabs,
  .eeconf-page--image-agenda .eeconf-tabs{
    gap:6px !important;
    overflow-x:auto;
    flex-wrap:nowrap !important;
    justify-content:flex-start !important;
    padding-bottom:4px;
    scrollbar-width:thin;
  }
  .eeconf-page--image-agenda .eeconf-agenda-tab,
  .eeconf-page--image-agenda .eeconf-tab{
    flex:0 0 auto;
    min-height:40px;
    padding:8px 12px !important;
    font-size:12px !important;
    white-space:nowrap;
  }
  .eeconf-page--image-agenda img{
    display:block;
    width:100% !important;
    height:auto !important;
    max-height:none !important;
  }
  .eeconf-page--image-agenda .eeconf-image-actions,
  .eeconf-page--image-agenda .eeconf-agenda-actions{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px !important;
  }
  .eeconf-page--image-agenda .eeconf-btn{
    min-width:0 !important;
    width:100% !important;
    min-height:40px !important;
    padding:8px 9px !important;
    font-size:11px !important;
  }
}

/* Landscape móvil: hero más horizontal y menos alto. */
@media (max-width:980px) and (orientation:landscape){
  .slider-show-wrap{
    height:min(86vh,470px) !important;
    min-height:360px !important;
    max-height:470px !important;
  }
  .slider-show-wrap .slider-slide{
    min-height:360px !important;
    padding-top:54px !important;
    padding-bottom:24px !important;
  }
  .slider-show-wrap .slider-content{max-width:520px !important;}
  .as-countdown-wrap{max-width:520px !important;}
}

/* =========================================================
 * 1.12.7 · Ajustes finales de branding y CTA embebido
 * =======================================================*/
.as-site-logo-link{display:inline-flex;align-items:center;justify-content:center;max-width:100%;text-decoration:none!important}
.as-site-logo{display:block;width:auto;height:auto;max-width:100%;object-fit:contain}

@media (max-width:980px), (hover:none) and (pointer:coarse){
  header .as-site-logo-link--primary,
  .site-header .as-site-logo-link--primary,
  .elementor-location-header .as-site-logo-link--primary{
    padding:6px 9px;
    border-radius:12px;
    background:rgba(3,48,69,.22);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
  }
  .as-site-logo--primary{
    width:clamp(142px,42vw,210px)!important;
    height:auto!important;
    max-height:68px!important;
    object-fit:contain!important;
    filter:drop-shadow(0 2px 5px rgba(0,0,0,.28));
  }
}

@media (max-width:767px){
  .slider-show-wrap .tesla-registro-wrap{
    width:100%!important;
    display:flex!important;
    justify-content:center!important;
    margin:7px auto 0!important;
  }
  .slider-show-wrap .tesla-registro-trigger{
    width:auto!important;
    max-width:min(230px,76vw)!important;
    min-height:40px!important;
    padding:8px 14px!important;
    gap:7px!important;
    border-radius:999px!important;
    font-size:12px!important;
    line-height:1.12!important;
    white-space:normal!important;
    text-align:center!important;
    justify-content:center!important;
    box-shadow:0 8px 20px rgba(10,36,62,.18)!important;
  }
  .slider-show-wrap .tesla-registro-trigger .dashicons{
    width:16px!important;
    height:16px!important;
    flex:0 0 16px!important;
    font-size:16px!important;
  }
  .slider-show-wrap .ssp-media-area.media-shortcode{
    max-height:none!important;
  }
  .slider-show-wrap .ssp-media-float.media-shortcode{
    max-height:none!important;
  }
}

@media (max-width:380px){
  .as-site-logo--primary{width:clamp(136px,46vw,180px)!important;max-height:58px!important}
  .slider-show-wrap .tesla-registro-trigger{max-width:205px!important;font-size:11.5px!important}
}

/* =========================================================
 * CONTENIDO GENERAL: tipografía fluida, grids y modales
 * =======================================================*/
@media (max-width:767px){
  .as-dyn-sec{max-width:100%!important;padding-left:12px!important;padding-right:12px!important;min-width:0!important}
  .as-dyn-title{font-size:min(var(--ts,28px),clamp(20px,6vw,27px))!important;line-height:1.14!important;overflow-wrap:anywhere}
  .as-dyn-subtitle{font-size:min(var(--ss,18px),clamp(14px,4.4vw,18px))!important;line-height:1.28!important;overflow-wrap:anywhere}
  .as-dyn-desc,
  .as-dyn-sec .as-dyn-desc *{font-size:min(var(--ps,16px),clamp(13px,3.8vw,16px))!important;line-height:1.55!important;overflow-wrap:anywhere}

  .as-about{max-width:100%!important;min-width:0!important}
  .as-about-title{font-size:clamp(21px,6vw,28px)!important;line-height:1.15!important;overflow-wrap:anywhere}
  .as-about-subtitle{font-size:clamp(16px,4.6vw,21px)!important;line-height:1.25!important;overflow-wrap:anywhere}
  .as-about-text{font-size:clamp(13px,3.8vw,16px)!important;line-height:1.6!important;text-align:left!important;overflow-wrap:anywhere}

  .as-contacts{width:100%!important;min-width:0!important}
  .as-contact-item{min-width:0!important;align-items:flex-start!important}
  .as-contact-text{min-width:0!important;flex-wrap:wrap!important;line-height:1.35!important}
  .as-contact-value{white-space:normal!important;overflow-wrap:anywhere!important}

  .as-values,
  .as-vc,
  .mhc-wrap,
  .tesla-registro-wrap{max-width:100%!important;min-width:0!important}
  .as-values .as-acc-btn{padding:11px 12px!important;gap:9px!important}
  .as-values .as-val-title{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.25!important}
  .as-vc-track{padding-left:38px!important;padding-right:38px!important;gap:12px!important}
  .as-vc-item{padding:10px 6px!important;min-height:130px!important}
  .as-vc-title{font-size:min(var(--ts),20px)!important;line-height:1.2!important;margin:10px 0 7px!important}
  .as-vc-text{font-size:min(var(--ps),14px)!important;line-height:1.5!important}

  .tesla-modal{padding:8px!important}
  .tesla-modal-card{width:100%!important;max-width:100%!important;max-height:calc(100dvh - 16px)!important;border-radius:16px!important}
  .tesla-modal-bd{padding:14px!important;overflow:auto!important}
  .tesla-grid{grid-template-columns:1fr!important;gap:10px!important}
  .tesla-grid .span-2{grid-column:auto!important}
  .tesla-input{min-width:0!important;width:100%!important;font-size:16px!important}

  .as-company-docs{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .as-doc-btn{width:100%!important;min-width:0!important;white-space:normal!important;padding:9px 10px!important;font-size:12px!important}
  .as-doc-modal{padding:8px!important}
  .as-doc-modal-dialog{max-height:calc(100dvh - 16px)!important;border-radius:12px!important}
  .as-doc-frame-wrap{height:68dvh!important}
}

@media (max-width:380px){
  .as-company-docs{grid-template-columns:1fr!important}
}

/* Logo principal renderizado mediante [site_logo_link]: prioridad visual y tamaño móvil controlado. */
@media (max-width:767px){
  .as-site-logo-link--primary{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    width:auto !important;
    max-width:min(68vw,240px) !important;
    text-decoration:none !important;
  }
  .as-site-logo--primary{
    display:block !important;
    width:auto !important;
    height:auto !important;
    max-width:min(68vw,240px) !important;
    max-height:52px !important;
    object-fit:contain !important;
    filter:drop-shadow(0 2px 7px rgba(1,28,42,.36));
  }
}
