/* Unified touch feedback across IKREA. Mouse hover stays in existing styles. */
@media(hover:none) and (pointer:coarse){
 :where(.topbar a,.topbar button,.site-header a,.site-header button,#header a,#header button,.mobile-menu a,.mobile-menu button,.hero a,.hero button,main a,main button,main .service-photo-card,footer a,footer button,.to-top){
  -webkit-tap-highlight-color:rgba(255,103,31,.16);
  touch-action:manipulation;
 }
 :where(.topbar a,.topbar button,#header a,#header button,.mobile-menu a,.mobile-menu button,.hero a,.hero button,main a,main button,footer a,footer button,.to-top).is-touch-pressed{
  filter:brightness(1.12)!important;
  transform:scale(.97)!important;
  transition:filter .12s ease,transform .12s ease!important;
 }
 :where(.topbar-social-link,.topbar-contact-link,.mobile-menu a,.mobile-nav-group a,.nav-link,.nav-trigger).is-touch-pressed{
  background-color:rgba(255,103,31,.17)!important;
 }
 :where(.hero-side-arrow,.hero-pagination button,.services-carousel-btn).is-touch-pressed{
  background:#ff681d!important;border-color:#ff9c60!important;color:#fff!important;
 }
 :where(.btn-primary,.services-intro .text-link).is-touch-pressed{
  background:linear-gradient(120deg,#ff8a34,#f65711)!important;color:#fff!important;
  box-shadow:0 5px 20px rgba(255,103,31,.3)!important;
 }
 #servicios .service-photo-card.is-touch-pressed{
  transform:translateY(-4px) scale(.99)!important;
  border-color:#a86bed!important;
  box-shadow:0 15px 30px rgba(64,22,128,.22)!important;
 }
 #servicios .service-photo-card.is-touch-pressed .photo-icon{
  transform:translateY(-6px)!important;
 }
 #servicios .service-photo-card.is-in-view .photo-icon{
  animation:ik-touch-float 2.5s ease-in-out infinite;
 }
 #servicios .service-photo-card.is-in-view .photo-arrow{color:#ff681d!important}
 @keyframes ik-touch-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
 /* Visible touch state for the mobile menu toggle and active language. */
 .menu-button[aria-expanded="true"],.mobile-nav-group [aria-expanded="true"]{
  color:#ff681d!important;
 }
}
@media(prefers-reduced-motion:reduce){
 #servicios .service-photo-card.is-in-view .photo-icon{animation:none!important}
 :where(a,button).is-touch-pressed{transition:none!important}
}

/* Touch-first effects: perceptible feedback without sticky hover. */
@media (hover:none), (pointer:coarse){
 :is(.topbar a,.topbar button,header a,header button,nav a,nav button,.hero a,.hero button,main a,main button,footer a,footer button).is-touch-pressed{
  filter:brightness(1.18)!important;opacity:.85!important;
  transition:filter .16s ease,opacity .16s ease,transform .16s ease!important;
 }
 :is(.topbar a,header a,nav a,main a,footer a).is-touch-pressed{
  text-decoration-color:#ff681d!important;
 }
 :is(.hero-side-arrow,.services-carousel-btn,.hero button).is-touch-pressed{
  background-color:rgba(255,104,29,.85)!important;
  border-color:rgba(255,174,118,.9)!important;color:#fff!important;
 }
 #servicios .service-photo-card.is-touch-pressed{
  transform:translateY(-5px) scale(.985)!important;
  box-shadow:0 18px 32px rgba(92,28,163,.28)!important;
 }
 #servicios .service-photo-card.is-in-view{
  border-color:rgba(113,37,219,.45)!important;
  box-shadow:0 17px 35px rgba(85,36,152,.16)!important;
 }
 #servicios .service-photo-card.is-in-view .photo-icon{
  animation:ik-mobile-icon-float 2.7s ease-in-out infinite!important;
 }
 #servicios .service-photo-card.is-in-view .photo-arrow{
  color:#f76623!important;
 }
 @keyframes ik-mobile-icon-float{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-7px)}
 }
}
@media (prefers-reduced-motion:reduce){
 #servicios .service-photo-card.is-in-view .photo-icon{animation:none!important}
}
