﻿/* ---------------------------------
   Button Grow Hover (Global)
   Applies a subtle enlarge animation
   to button-like controls across views.
---------------------------------- */
:root {
  --echos-btn-grow-scale: 1.04;
  --echos-btn-grow-duration: 180ms;
  --echos-btn-grow-easing: cubic-bezier(0.22, 0.61, 0.36, 1);
}

:is(
  .btn,
  .cta,
  .pill,
  .tab,
  .dot,
  .icon-btn,
  .proj-card__go,
  .service-item,
  .contacto-pill,
  .contacto-tab,
  .contacto-submit,
  .productos-filters__btn,
  .destacados__arrow,
  .destacados__link,
  .ultimos-proyectos__filter,
  .up-card__link,
  .proyectos-pagination__item .page-numbers,
  .nosotros-historia__arrow,
  .btn-ficha-download,
  .prod-recomendados__arrow,
  .prod-recomendados__btn,
  .btn-cta-dark,
  .proy-ind-detalle__cta,
  .proy-ind-video__play,
  .proy-ind-productos__card-link,
  .proy-ind-otros__arrow,
  .servicios-band__btn,
  .servicios-impact__btn,
  .srv-hero__btn,
  .srv-ficha__btn,
  .srv-products__cta,
  .srv-featured__arrow,
  .srv-featured__card-link,
  .srv-featured__cta,
  .srv-additional__card-btn,
  .srv-additional__arrow,
  .srv-additional-modal__close,
  .echos-hamburger,
  .echos-sidebar__close,
  .echos-submenu-toggle,
  .echos-sidebar__cta,
  .epopup__btn,
  .epopup__close,
  a[class*="btn"],
  a[class*="cta"],
  button[class*="btn"],
  button[class*="cta"],
  input[type="submit"],
  input[type="button"]
) {
  transform-origin: center;
  transition:
    transform var(--echos-btn-grow-duration) var(--echos-btn-grow-easing),
    scale var(--echos-btn-grow-duration) var(--echos-btn-grow-easing),
    filter var(--echos-btn-grow-duration) var(--echos-btn-grow-easing),
    background-color var(--echos-btn-grow-duration) var(--echos-btn-grow-easing),
    color var(--echos-btn-grow-duration) var(--echos-btn-grow-easing),
    border-color var(--echos-btn-grow-duration) var(--echos-btn-grow-easing),
    box-shadow var(--echos-btn-grow-duration) var(--echos-btn-grow-easing),
    opacity var(--echos-btn-grow-duration) var(--echos-btn-grow-easing);
}

@media (hover: hover) and (pointer: fine) {
  :is(
    .btn,
    .cta,
    .pill,
    .tab,
    .dot,
    .icon-btn,
    .proj-card__go,
    .service-item,
    .contacto-pill,
    .contacto-tab,
    .contacto-submit,
    .productos-filters__btn,
    .destacados__arrow,
    .destacados__link,
    .ultimos-proyectos__filter,
    .up-card__link,
    .proyectos-pagination__item .page-numbers,
    .nosotros-historia__arrow,
    .btn-ficha-download,
    .prod-recomendados__arrow,
    .prod-recomendados__btn,
    .btn-cta-dark,
    .proy-ind-detalle__cta,
    .proy-ind-video__play,
    .proy-ind-productos__card-link,
    .proy-ind-otros__arrow,
    .servicios-band__btn,
    .servicios-impact__btn,
    .srv-hero__btn,
    .srv-ficha__btn,
    .srv-products__cta,
    .srv-featured__arrow,
    .srv-featured__card-link,
    .srv-featured__cta,
    .srv-additional__card-btn,
    .srv-additional__arrow,
    .srv-additional-modal__close,
    .echos-hamburger,
    .echos-sidebar__close,
    .echos-submenu-toggle,
    .echos-sidebar__cta,
    .epopup__btn,
    .epopup__close,
    a[class*="btn"],
    a[class*="cta"],
    button[class*="btn"],
    button[class*="cta"],
    input[type="submit"],
    input[type="button"]
  ):is(:hover, :focus-visible) {
    scale: var(--echos-btn-grow-scale);
  }
}

:is(
  .btn,
  .cta,
  .pill,
  .tab,
  .dot,
  .icon-btn,
  .proj-card__go,
  .service-item,
  .contacto-pill,
  .contacto-tab,
  .contacto-submit,
  .productos-filters__btn,
  .destacados__arrow,
  .destacados__link,
  .ultimos-proyectos__filter,
  .up-card__link,
  .proyectos-pagination__item .page-numbers,
  .nosotros-historia__arrow,
  .btn-ficha-download,
  .prod-recomendados__arrow,
  .prod-recomendados__btn,
  .btn-cta-dark,
  .proy-ind-detalle__cta,
  .proy-ind-video__play,
  .proy-ind-productos__card-link,
  .proy-ind-otros__arrow,
  .servicios-band__btn,
  .servicios-impact__btn,
  .srv-hero__btn,
  .srv-ficha__btn,
  .srv-products__cta,
  .srv-featured__arrow,
  .srv-featured__card-link,
  .srv-featured__cta,
  .srv-additional__card-btn,
  .srv-additional__arrow,
  .srv-additional-modal__close,
  .echos-hamburger,
  .echos-sidebar__close,
  .echos-submenu-toggle,
  .echos-sidebar__cta,
  .epopup__btn,
  .epopup__close,
  a[class*="btn"],
  a[class*="cta"],
  button[class*="btn"],
  button[class*="cta"],
  input[type="submit"],
  input[type="button"]
):active {
  scale: 1.01;
}

@media (prefers-reduced-motion: reduce) {
  :is(
    .btn,
    .cta,
    .pill,
    .tab,
    .dot,
    .icon-btn,
    .proj-card__go,
    .service-item,
    .contacto-pill,
    .contacto-tab,
    .contacto-submit,
    .productos-filters__btn,
    .destacados__arrow,
    .destacados__link,
    .ultimos-proyectos__filter,
    .up-card__link,
    .proyectos-pagination__item .page-numbers,
    .nosotros-historia__arrow,
    .btn-ficha-download,
    .prod-recomendados__arrow,
    .prod-recomendados__btn,
    .btn-cta-dark,
    .proy-ind-detalle__cta,
    .proy-ind-video__play,
    .proy-ind-productos__card-link,
    .proy-ind-otros__arrow,
    .servicios-band__btn,
    .servicios-impact__btn,
    .srv-hero__btn,
    .srv-ficha__btn,
    .srv-products__cta,
    .srv-featured__arrow,
    .srv-featured__card-link,
    .srv-featured__cta,
    .srv-additional__card-btn,
    .srv-additional__arrow,
    .srv-additional-modal__close,
    .echos-hamburger,
    .echos-sidebar__close,
    .echos-submenu-toggle,
    .echos-sidebar__cta,
    .epopup__btn,
    .epopup__close,
    a[class*="btn"],
    a[class*="cta"],
    button[class*="btn"],
    button[class*="cta"],
    input[type="submit"],
    input[type="button"]
  ) {
    transition: none;
  }

  :is(
    .btn,
    .cta,
    .pill,
    .tab,
    .dot,
    .icon-btn,
    .proj-card__go,
    .service-item,
    .contacto-pill,
    .contacto-tab,
    .contacto-submit,
    .productos-filters__btn,
    .destacados__arrow,
    .destacados__link,
    .ultimos-proyectos__filter,
    .up-card__link,
    .proyectos-pagination__item .page-numbers,
    .nosotros-historia__arrow,
    .btn-ficha-download,
    .prod-recomendados__arrow,
    .prod-recomendados__btn,
    .btn-cta-dark,
    .proy-ind-detalle__cta,
    .proy-ind-video__play,
    .proy-ind-productos__card-link,
    .proy-ind-otros__arrow,
    .servicios-band__btn,
    .servicios-impact__btn,
    .srv-hero__btn,
    .srv-ficha__btn,
    .srv-products__cta,
    .srv-featured__arrow,
    .srv-featured__card-link,
    .srv-featured__cta,
    .srv-additional__card-btn,
    .srv-additional__arrow,
    .srv-additional-modal__close,
    .echos-hamburger,
    .echos-sidebar__close,
    .echos-submenu-toggle,
    .echos-sidebar__cta,
    .epopup__btn,
    .epopup__close,
    a[class*="btn"],
    a[class*="cta"],
    button[class*="btn"],
    button[class*="cta"],
    input[type="submit"],
    input[type="button"]
  ):is(:hover, :focus-visible, :active) {
    scale: 1;
  }
}
