/* ==========================================================================
   Formularios y pie de pagina
   Se carga en todo el sitio (el pie) y en la pagina de contacto (el formulario).
   ========================================================================== */

/* ---- Avisos de resultado ------------------------------------------------ */
.fpy-aviso{border-radius:12px;padding:14px 16px;font-size:14.5px;margin-bottom:20px}
.fpy-aviso-ok{background:#e8f3ec;border:1px solid #bcdcc8;color:#1f5235}
.fpy-aviso-error{background:#fdeceb;border:1px solid #f3c3bf;color:#8a2b22}

/* ---- Formulario de contacto -------------------------------------------- */
.fpy-form-caja{max-width:760px}
.fpy-form label{display:block;font-size:13.5px;font-weight:700;margin-bottom:16px;letter-spacing:.01em}
.fpy-form label .fpy-opcional{font-weight:400;color:#6b726c;font-size:12.5px}
.fpy-form input[type=text],.fpy-form input[type=email],.fpy-form input[type=tel],
.fpy-form select,.fpy-form textarea{
  width:100%;margin-top:6px;padding:13px 15px;font-size:15px;line-height:1.4;font-family:inherit;
  color:#292d2a;background:#fff;border:1px solid #dfe6e1;border-radius:12px;
  transition:border-color .15s,box-shadow .15s}

/* El desplegable necesita altura y line-height propios: si hereda el del contenedor,
   el texto queda recortado por arriba y por abajo. */
.fpy-form select{
  height:auto;
  min-height:52px;
  padding-top:14px;
  padding-bottom:14px;
  line-height:1.5;
  appearance:none;
  -webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23294a38' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 16px center;
  background-size:12px 8px;
  padding-right:44px;
}
.fpy-form select option{padding:8px;line-height:1.5}
.fpy-form input:focus,.fpy-form select:focus,.fpy-form textarea:focus{
  outline:none;border-color:#528d67;box-shadow:0 0 0 3px rgba(82,141,103,.14)}
.fpy-form textarea{min-height:140px;resize:vertical}
.fpy-form-fila{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fpy-consentimiento{display:flex!important;gap:11px;align-items:flex-start;font-size:13.5px;
  font-weight:400!important;color:#6b726c;line-height:1.5;margin:18px 0!important}
.fpy-consentimiento input{margin-top:3px;width:17px;height:17px;flex:none;accent-color:#528d67}
.fpy-consentimiento a{color:#294a38}
.fpy-trampa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.fpy-form-boton{display:inline-flex;align-items:center;justify-content:center;min-height:52px;
  padding:0 28px;border:0;border-radius:999px;background:#294a38;color:#fff;font-family:inherit;
  font-size:15.5px;font-weight:600;cursor:pointer;transition:.2s ease}
.fpy-form-boton:hover{background:#1f392b;transform:translateY(-1px)}
@media(max-width:700px){.fpy-form-fila{grid-template-columns:1fr}}

/* ---- Pie de pagina ----------------------------------------------------- */
.fpy-pie{background:#fff;border-top:1px solid #dfe6e1;padding:64px 0 0;font-size:14.5px}
.fpy-pie h3{font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:#294a38;margin:0 0 18px}
.fpy-pie a{text-decoration:none;color:#6b726c}
.fpy-pie a:hover{color:#528d67}
.fpy-pie-rejilla{display:grid;grid-template-columns:1.1fr .8fr 1.15fr .95fr;gap:46px}

/* --- Boton flotante de WhatsApp, destacado --- */
@media(max-width:640px){
        }

/* --- Alta en el boletin del pie --- */
.fpy-alta-titulo{display:block;font-size:15px;color:#292d2a;margin-bottom:6px}
.fpy-alta-texto{margin:0 0 14px!important;font-size:13px;color:#6b726c;max-width:330px}
.fpy-alta{display:grid;gap:9px}
.fpy-alta input[type=text],.fpy-alta input[type=email]{
  width:100%;padding:11px 14px;border:1px solid #dfe6e1;border-radius:10px;
  font-family:inherit;font-size:14px;color:#292d2a;background:#fff}
.fpy-alta input:focus{outline:none;border-color:#528d67;box-shadow:0 0 0 3px rgba(82,141,103,.13)}
.fpy-alta button{justify-self:start;margin-top:5px;display:inline-flex;align-items:center;
  min-height:44px;padding:0 22px;border:0;border-radius:999px;background:#294a38;color:#fff;
  font-family:inherit;font-size:14.5px;font-weight:600;cursor:pointer}
.fpy-alta button:hover{background:#1f392b}
.fpy-alta-nota{font-size:12px;color:#8a9089;margin:2px 0 0}
.fpy-alta-nota a{color:#528d67}

/* Casilla de consentimiento del boletin (añadida en la revision externa). */
.fpy-alta-consentimiento{display:flex;gap:9px;align-items:flex-start;font-size:12px;color:#6b726c;line-height:1.45;margin:5px 0 0}
.fpy-alta-consentimiento input{margin-top:2px;width:16px;height:16px;flex:none;accent-color:#528d67}
.fpy-alta-consentimiento a{color:#528d67}

.fpy-pie-wa{background:#e7f0ea;border-radius:12px;padding:18px}
.fpy-pie-wa strong{display:block;font-size:13.5px;color:#294a38;margin-bottom:5px}
.fpy-pie-wa p{font-size:13px;color:#6b726c;margin:0 0 12px}

.fpy-pie-blog ul{list-style:none;margin:0;padding:0}
.fpy-pie-blog li{margin-bottom:15px}
.fpy-pie-blog a{display:block;color:#292d2a;font-weight:600;font-size:14px;line-height:1.35}
.fpy-pie-blog a:hover{color:#528d67}
.fpy-pie-blog time{display:block;font-size:12px;color:#8a9089;margin-top:3px}
.fpy-pie-vertodas{display:inline-block;margin-top:4px;font-size:13px;font-weight:700;color:#528d67!important}

.fpy-pie-contacto dl{margin:0}
.fpy-pie-contacto dt{font-size:11.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  color:#528d67;margin-top:16px}
.fpy-pie-contacto dt:first-child{margin-top:0}
.fpy-pie-contacto dd{margin:4px 0 0;color:#6b726c}

.fpy-pie-menu a{font-size:13.5px;font-weight:600;color:#4a554d}

.fpy-pie-credito{background:#f7f8f5;border-top:1px solid #dfe6e1;padding:16px 0;margin-top:22px}
.fpy-pie-credito-in{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;
  font-size:12.5px;color:#8a9089}

@media(max-width:1000px){.fpy-pie-rejilla{grid-template-columns:1fr 1fr;gap:38px}}
@media(max-width:640px){
  .fpy-pie-rejilla{grid-template-columns:1fr;gap:34px}
    }

/* Separador entre las entradas del blog del pie: una linea fina, sin ruido. */
.fpy-pie-blog li{padding-bottom:13px;margin-bottom:13px;border-bottom:1px solid #eef1ef}
.fpy-pie-blog li:last-child{border-bottom:0;padding-bottom:0;margin-bottom:16px}

/* Enlace de GPS integrado en el menu del pie, con su icono de mapa. */

/* ---- PIE: marca, WhatsApp, redes y como llegar ---- */
/* Marca del pie: solo el simbolo circular, con el texto al lado. */
.fpy-pie-marca{display:flex;gap:18px;align-items:flex-start}
.fpy-pie-marca img,.fpy-pie-simbolo{width:72px;height:72px;flex:none;margin:0;
  border-radius:50%;background:rgba(82,121,111,.08)}
.fpy-pie-marca p{color:#6b726c;font-size:14px;margin:2px 0 22px;max-width:none;flex:1}

/* Las ultimas entradas van debajo del logo, ocupando toda la columna. */
.fpy-pie-marca .fpy-pie-blog{flex-basis:100%}
.fpy-pie-marca{flex-wrap:wrap}

/* WhatsApp del pie: solo el simbolo, bien visible. */

/* "Como llegar": boton con icono de mapa, bajo el de WhatsApp. */

/* Redes sociales: mas separadas entre si y de la linea de arriba. */

/* Mas aire en la franja del menu y las redes. */
/* ---- FIN PIE ---- */

/* ---- PIE: ajustes finos ---- */
/* Como llegar: boton bajo la direccion, dentro de Contacto. */
.fpy-pie-comollegar{display:inline-flex;align-items:center;gap:8px;margin-top:12px;
  background:#fff;border:1px solid #dfe6e1;border-radius:999px;padding:9px 17px;
  font-size:13px;font-weight:600;color:#294a38!important;text-decoration:none!important;
  transition:border-color .2s ease,background .2s ease}
.fpy-pie-comollegar:hover{border-color:#52796f;background:#f2f6f3}
.fpy-pie-comollegar .fpy-icono-mapa{width:16px;height:16px;flex:none;stroke:#52796f}

/* Redes del pie: solo texto, sin circulos ni bordes. */

/* WhatsApp del pie: se quita el aro que hacia parecer un disco. */
.fpy-pie-wa-boton{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;
  background:#25d366;color:#fff!important;border:0;box-shadow:0 6px 18px rgba(37,211,102,.32);
  transition:transform .2s ease,box-shadow .2s ease}
.fpy-pie-wa-boton:hover{transform:translateY(-2px);box-shadow:0 9px 22px rgba(37,211,102,.42)}
/* ---- FIN PIE ajustes ---- */

/* ---- BOTONES FLOTANTES Y FRANJA DEL PIE ---- */
/* Los dos botones flotantes van uno encima del otro en la esquina derecha.
   El de WhatsApp se sube a 96 px y el de subir del tema se baja a 20 px: asi
   quedan separados aunque el tema cambie el tamano de su boton. */

/* El boton de subir del tema: se asegura de que quede POR DEBAJO del de WhatsApp. */

/* En pantallas pequenas los dos se reducen un poco y se acercan al borde. */
@media(max-width:640px){
    }

/* --- Franja del pie: menu y redes, cada uno en su sitio --- */

/* Si no caben en una fila, las redes pasan a una segunda. */
@media(max-width:1100px){
  }
/* ---- FIN BOTONES FLOTANTES ---- */

/* ---- FRANJA DEL PIE Y BOTONES ---- */
/* La franja del pie: el menu a la izquierda, las redes a la derecha. */
.fpy-pie-bajo{display:flex;align-items:center;justify-content:space-between;
  gap:20px 34px;flex-wrap:wrap;margin-top:56px;padding:30px 0 34px;
  border-top:1px solid #dfe6e1}
.fpy-pie-menu{display:flex;gap:26px;flex-wrap:wrap;align-items:center}
.fpy-pie-redes{display:flex;gap:20px;align-items:center;margin-left:auto}
.fpy-pie-redes a{display:inline-flex;align-items:center;justify-content:center;
  width:auto;height:auto;border:0;background:none;border-radius:0;padding:0;
  color:#4a554d;text-decoration:none;transition:color .2s ease}
.fpy-pie-redes a:hover{color:#52796f;background:none;border:0}
.fpy-pie-redes svg{width:20px;height:20px;fill:currentColor;display:block}

/* El alta del boletin, ahora en su propia columna, a la derecha. */
.fpy-pie-alta .fpy-alta{width:100%;max-width:360px}

/* Boton de WhatsApp: el logo ocupa casi todo el circulo verde. */
.fpy-wa{position:fixed;right:22px;bottom:96px;z-index:9999;width:50px;height:50px;
  display:grid;place-items:center;border-radius:50%;background:#25d366;color:#fff!important;
  border:0;box-shadow:0 6px 18px rgba(37,211,102,.4);text-decoration:none!important;
  transition:transform .2s ease,box-shadow .2s ease}
.fpy-wa:hover{transform:translateY(-2px);box-shadow:0 9px 24px rgba(37,211,102,.5);color:#fff!important}
.fpy-wa svg{width:44px;height:44px;fill:currentColor;display:block}
.fpy-pie-wa-boton svg{width:42px;height:42px;fill:currentColor;display:block}

/* El boton de subir del tema queda POR DEBAJO del de WhatsApp.
   Ojo: Blocksy no lo coloca con 'bottom', sino con sus propias variables
   (--back-top-bottom-offset:95px), y esa regla gana a la del plugin. Por eso
   aqui se fijan las variables ademas de la posicion: sin esto los dos botones
   se solapan y la flecha del tema queda tapada por el logo de WhatsApp. */
.ct-back-to-top{--back-top-bottom-offset:20px!important;--back-top-side-offset:22px!important;
  position:fixed!important;right:22px!important;bottom:20px!important;z-index:9000}

@media(max-width:640px){
  .fpy-wa{right:14px;bottom:86px;width:48px;height:48px}
  .fpy-wa svg{width:42px;height:42px}
  .ct-back-to-top{--back-top-bottom-offset:16px!important;--back-top-side-offset:14px!important;
    right:14px!important;bottom:16px!important}
  .fpy-pie-redes{gap:18px}
  .fpy-pie-redes svg{width:19px;height:19px}
}
/* ---- FIN FRANJA ---- */
