/* ============================================================
   San Roque — capa de animación (elegante y sobria)
   Compartida por index / nosotros / servicios / contacto
   ============================================================ */

@media (prefers-reduced-motion: no-preference){

  /* --- Fotos de contenido: "settle zoom" al aparecer + micro-zoom en hover --- */
  .sr-zoom-box{overflow:hidden}
  .sr-zoom{transform:scale(1.09);transition:transform 1.5s cubic-bezier(.16,.74,.28,1)}
  .sr-zoom.is-in{transform:scale(1)}
  .sr-zoom-box:hover .sr-zoom.is-in{transform:scale(1.05)}

  /* --- Subrayado dorado en el nav de texto (páginas internas) --- */
  .sr-underline{position:relative}
  .sr-underline::after{content:"";position:absolute;left:0;bottom:-6px;width:100%;height:2px;
    background:#B79A66;transform:scaleX(0);transform-origin:right;
    transition:transform .4s cubic-bezier(.16,.74,.28,1)}
  .sr-underline:hover::after{transform:scaleX(1);transform-origin:left}

  /* --- Feedback de pulsación en botones/CTA con forma de píldora --- */
  .sr-press{transition:transform .2s cubic-bezier(.16,.74,.28,1),
    box-shadow .3s ease, background-color .3s ease, border-color .3s ease, color .3s ease}
  .sr-press:hover{transform:translateY(-2px)}
  .sr-press:active{transform:translateY(0) scale(.985)}

  /* --- Flecha que se desliza dentro de los botones --- */
  .sr-arrow{transition:transform .35s cubic-bezier(.16,.74,.28,1)}
  .sr-press:hover .sr-arrow{transform:translateX(4px)}

  /* --- Contadores: sin salto de layout --- */
  .sr-count{font-variant-numeric:tabular-nums}

  /* --- Redes sociales: leve elevación al hover --- */
  .sr-social:hover{transform:translateY(-2px)}
}

/* ============================================================
   Tipografía: los controles nativos no heredan la fuente
   (botones del FAQ, menú móvil y campos del formulario).
   ============================================================ */
button,input,textarea,select{font-family:inherit}

/* ============================================================
   Formularios: validación por campo y estados del botón
   ============================================================ */
.sr-invalid{border-color:#C0503F !important}
.sr-invalid-dark{border-color:#E08774 !important}
.sr-hint{display:block;font-size:14.5px;line-height:1.45;margin-top:7px;color:#C0503F}
.sr-hint--dark{color:#E7B0A6}

@keyframes srSpin{to{transform:rotate(360deg)}}
@keyframes srCheck{from{stroke-dashoffset:26}to{stroke-dashoffset:0}}
@keyframes srPop{0%{transform:scale(.94)}58%{transform:scale(1.045)}100%{transform:scale(1)}}
.sr-spin{width:20px;height:20px;border-radius:50%;border:2px solid rgba(255,255,255,.32);
  border-top-color:currentColor;display:inline-block;animation:srSpin .7s linear infinite;flex:none}
.sr-sent{animation:srPop .45s cubic-bezier(.16,.74,.28,1)}
.sr-sent svg path{stroke-dasharray:26;stroke-dashoffset:26;
  animation:srCheck .5s .06s cubic-bezier(.16,.74,.28,1) forwards}
@media (prefers-reduced-motion:reduce){
  .sr-spin{animation:none}
  .sr-sent{animation:none}
  .sr-sent svg path{animation:none;stroke-dashoffset:0}
}

/* ============================================================
   WhatsApp flotante (todas las páginas)
   z-index 80: queda por debajo del menú móvil (90).
   ============================================================ */
.wa-float{position:fixed;right:30px;bottom:30px;z-index:80;display:flex;align-items:center;gap:14px}
.wa-float__label{background:#00091F;color:#F2EEE6;font-size:18px;font-weight:600;letter-spacing:.01em;
  padding:13px 20px;border-radius:999px;white-space:nowrap;border:1px solid rgba(183,154,102,.38);
  box-shadow:0 14px 34px rgba(0,9,24,.32);opacity:0;transform:translateX(10px);pointer-events:none;
  transition:opacity .32s ease,transform .32s cubic-bezier(.16,.74,.28,1)}
.wa-float__btn{width:78px;height:78px;border-radius:50%;background:#25D366;color:#fff;flex:none;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 16px 38px rgba(0,9,24,.32),0 0 0 8px rgba(37,211,102,.14);
  transition:transform .32s cubic-bezier(.16,.74,.28,1),box-shadow .32s ease}
.wa-float:hover .wa-float__label,.wa-float:focus-visible .wa-float__label{opacity:1;transform:none}
.wa-float:hover .wa-float__btn{transform:scale(1.06);
  box-shadow:0 20px 44px rgba(0,9,24,.36),0 0 0 13px rgba(37,211,102,.16)}
.wa-float:focus-visible{outline:none}
.wa-float:focus-visible .wa-float__btn{outline:3px solid #C9AE78;outline-offset:5px}
@media (max-width:900px){
  .wa-float{right:20px;bottom:20px}
  .wa-float__label{display:none}
  .wa-float__btn{width:72px;height:72px}
}

/* ============================================================
   Redes sociales (footer + bloques de contacto)
   ============================================================ */
.sr-social{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;
  border-radius:50%;background:rgba(255,255,255,.05);border:1px solid rgba(233,229,218,.18);
  color:#9197A4;flex:none;
  transition:color .3s ease,background-color .3s ease,border-color .3s ease,
    transform .3s cubic-bezier(.16,.74,.28,1)}
.sr-social:hover{color:#00091F;background:#B79A66;border-color:#B79A66}
.sr-social:focus-visible{outline:2px solid #C9AE78;outline-offset:3px}

/* Enlace de red social en línea (fichas de contacto) */
.sr-social-link{color:inherit;transition:color .3s ease}
.sr-social-link:hover{color:#C9AE78}
.sr-social-link:focus-visible{outline:2px solid #C9AE78;outline-offset:3px;border-radius:4px}
