/* =========================================================
🎨 CUSTOM CSS PERSONALIZADO – Technoxuntura
Tema: Blocksy Child + Spectra
Autor: Franco Mereles
Paleta: Neutra (grises, blanco, negro, azul grisáceo)
Ubicación: /wp-content/themes/blocksy-child/css/custom-technoxuntura.css
Propósito: Mantener estilos modulares por página con estructura clara
========================================================= */
/*FONDO CONTENIDO APLICADO A TODAS LAS PÁGINAS */ 
/* ===========================================================
   TECHNOXUNTURA – Hoja de estilos personalizada
   Autor: Franco Mereles Pena
   Proyecto: Technoxuntura (Sitio corporativo WordPress)
   Tema base: Blocksy + Tema hijo (blocksy-child)
   Archivo: /css/custom-technoxuntura.css
   ===========================================================

   📘 ESTRUCTURA DEL ARCHIVO
   -----------------------------------------------------------
   1️⃣ Tipografía global (Roboto)
       - Importación de fuentes
       - Escala tipográfica base (desktop y móvil)

   2️⃣ Estilos generales del sitio
       - Colores corporativos
       - Botones, enlaces, listas, etc.

   3️⃣ Estilos por página
       - Inicio (page-id-120)
       - Sistemas (page-id-20)
       - Desarrollo (page-id-22)
       - Blog (page-id-26)
       - Contacto (page-id-24)
       - Páginas legales (page-id-3, 4, 5)

   4️⃣ Estilos responsive personalizados
       - Ajustes móviles específicos por sección
       - Adaptaciones para tablets (≤ 1024 px)
       - Ajustes de espaciado y tipografía

   🧠 NOTAS:
   - Todas las medidas de fuente se expresan en rem.
   - El color corporativo principal es #253447.
   - El color de acento es #1ce5e5 (enlaces y detalles).
   - Mantener la coherencia visual entre secciones.
   - Revisar en dispositivos móviles tras cada actualización.

   Última actualización: noviembre de 2025
   =========================================================== */

   /* ==== 🔤 IMPORTACIÓN DE FUENTE GOOGLE ==== */
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap');

/* ==== ⚙️ BASE GLOBAL ==== */
html {
  font-size: 16px; /* tamaño base estándar */
  scroll-behavior: smooth;
}

body {
  font-family: 'Roboto', sans-serif;
  color: #333;
  line-height: 1.7;
  font-weight: 400;
  background-color: #fff;
}

/* ==== TITULARES ==== */
h1, h2, h3, h4, h5, h6 {
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  color: #253447; /* tono corporativo */
  line-height: 1.3;
  margin: 1.2em 0 0.5em;
}

/* H1 – Encabezado principal */
h1 {
  font-size: 2.2rem; /* ≈ 35px */
  letter-spacing: -0.3px;
}

/* H2 – Subtítulos */
h2 {
  font-size: 1.6rem; /* ≈ 26px */
  font-weight: 500;
}

/* H3 – Títulos de tarjetas o apartados */
h3 {
  font-size: 1.3rem; /* ≈ 21px */
  font-weight: 500;
  color: #4b0000; /* acento secundario */
}

/* ==== TEXTO BASE ==== */
p {
  font-size: 1rem; /* ≈ 16px */
  margin-bottom: 1em;
  /*text-align: center;*/
}

/* Texto secundario o notas */
small,
.text-small {
  font-size: 0.875rem; /* ≈ 14px */
  color: #555;
}

/* ==== BOTONES ==== */
button, 
.wp-block-button__link {
  font-family: 'Roboto', sans-serif;
  font-weight: 500;
  font-size: 0.9rem;
  letter-spacing: 0.3px;
}

/* ==== ENLACES ==== */
a {
  color: #1ce5e5;
  text-decoration: none;
  transition: color 0.3s ease;
}

a:hover {
  color: #4b0000;
}

/* ==== 📱 VERSIÓN MÓVIL ==== */
@media (max-width: 768px) {
  html {
    font-size: 15px; /* escala global ligeramente reducida */
  }

  h1 {
    font-size: 1.8rem; /* ≈ 27px */
  }

  h2 {
    font-size: 1.4rem; /* ≈ 22px */
  }

  h3 {
    font-size: 1.2rem; /* ≈ 19px */
  }

  p {
    font-size: 1.1rem; /* ≈ 15px */
    line-height: 1.7;
  }

  small,
  .text-small {
    font-size: 0.85rem;
  }
}


.site-main,
.ct-container-full,
.entry-content {
  background-color: #fff;
  max-width: 1260px;
  width: 100%;
  margin: 0 auto; /* ✅ centra horizontalmente */
}
/* Evita romper estructura de entradas */
body.single-post .site-main,
body.single-post .ct-container-full {
  display: flex !important;
  flex-direction: column !important;
  min-height: auto !important;
  height: auto !important;
}


/* =========================================================
🏠 INICIO (.page-id-120)
-----------------------------------------------------------
Descripción:
- Ajustes de la portada principal
- Bloque Media Text (imagen + texto)
========================================================= */
/* ===== Fade-In Intro Página Inicio ===== */
.page-id-120 .wp-block-media-text__content {
  opacity: 0;
  transform: translateY(25px);
  transition: opacity 1s ease-out, transform 1s ease-out;
  will-change: opacity, transform;
}

.page-id-120 .wp-block-media-text__content.reveal {
  opacity: 1;
  transform: translateY(0);
}

.page-id-120 .wp-block-media-text__media img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 4px;

}
.page-id-120 .wp-block-media-text__content p {
  font-size: 1.15rem;
  line-height: 1.8;
  color: #333;
  margin: 0;
  padding-left: 20px;
  padding-right: 80px;

}
/* Fondo blanco y márgenes consistentes solo para la página de INICIO */
.page-id-120 .entry-content {
  background-color: #ffffff;
  padding-top: 130px;
  padding-bottom: 40px;
	margin-left: 40px;
}
/* Fade-in bloque intro Página Inicio */
.page-id-120 .wp-block-media-text__content {
  opacity: 0;
  transform: translateY(25px);
  transition: opacity 1s ease-out, transform 1s ease-out;
}

.page-id-120 .wp-block-media-text__content.reveal {
  opacity: 1;
  transform: translateY(0);
}
/* ===== INICIO (solo móvil): mostrar texto y ocultar imagen ===== */


@media (max-width: 1440px) {
.site-main, .ct-container-full, .entry-content{
  width: 1008px !important;
  max-width: 100% !important;

}
.post-24 {
  padding-left: 10px !important;
  padding-right: 10px !important;
  padding-top: 60px !important;
}

}


@media (max-width: 768px) {
/* Centrar el contenedor del logo */
  .site-branding[data-id="logo"] {
    text-align: center !important;
    width: 100%;
  }

  /* Centrar la imagen del logo */
  .site-branding[data-id="logo"] img {
    display: block !important;
    margin: 0 auto !important;
    max-width: 180px !important;
    height: auto !important;
  }
/* Contenedor del botón hamburguesa */
  .ct-header .ct-toggle,
  .ct-header-mobile .ct-toggle {
    display: block !important;
    margin: 0px auto 0 auto !important; /* centrado horizontal */
    text-align: center;
    padding-bottom: 0px !important;
  }

  /* Ocultar imagen en móvil */
  .page-id-120 .wp-block-media-text__media {
    display: none !important;
  }
  /* Quita el ancho limitado y cualquier padding */
  .page-id-120 #post-120 > .entry-content.is-layout-constrained {
    max-width: none !important;
    width: 100% !important;
    padding: 25px 0 !important;
    margin: 0 !important;
  }

  /* Si el interior debe mantener un ancho de lectura agradable (opcional) */
  .page-id-120 #post-120 > .entry-content.is-layout-constrained > * {
    width: 90% !important;
    margin: 0 auto !important;
  }
    .page-id-120 article#post-120 {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: none !important;
    background: none !important;
    box-shadow: none !important; /* por si el tema añade sombreado */
  }

  .page-id-120 .wp-block-media-text.is-stacked-on-mobile.is-vertically-aligned-top {
    margin: 0 !important;
    padding: 0 !important;
    grid-template-columns: 100% !important; /* elimina el 15% auto */
    width: 100% !important;
    max-width: none !important;
    display: block !important; /* asegura comportamiento normal */
  }

  /* Por si el interior aún tiene relleno */
  .page-id-120 .wp-block-media-text__content {
    margin: 0 auto !important;
    padding: 0 !important;
    width: 90% !important; /* centrado visual */
  }
  .page-id-120 .wp-block-media-text__content.reveal {
    margin: 0 !important;
    padding: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;        /* mantiene el texto legible y centrado */
    max-width: none !important;
    transform: none !important;   /* anula animaciones o desplazamientos */
    opacity: 1 !important;        /* asegura que el texto sea visible */
    display: block !important;
  }

  .page-id-120 .wp-block-media-text__content.reveal p {
    padding: 0 !important;
    margin: 0 !important;       /* elimina también márgenes extra */
    line-height: 1.7;
    text-align: left;
    font-size: 1.1rem;
    font-weight: 300;
  }

}
/* =========================================================
💻 SISTEMAS (.page-id-20)
-----------------------------------------------------------
Descripción:
- Página de servicios o sistemas
- Bloques InfoBox (Spectra)
========================================================= */
p.intro-sistemas {
  max-width: 850px;
  margin: 60px auto 50px auto;
  padding: 0 25px;
  text-align: center;
  font-size: 1.15rem;
  line-height: 1.9;
  color: #333;
}
.tarjeta-servicio {
  background: #f2f5f7; /* gris claro */
  border-radius: 12px;
  /*box-shadow: 0 3px 6px rgba(0,0,0,0.08);*/
  overflow: hidden;
  transition: all 0.3s ease;
  height: 100%;
  display: flex;
  flex-direction: column;
  padding: 0 !important; /* elimina padding global del bloque */
}
/* Delay progresivo */
.tarjeta-servicio:nth-child(1) {
  transition-delay: 0.1s;
}

.tarjeta-servicio:nth-child(2){
  transition-delay: 0.25s;
}

.tarjeta-servicio:nth-child(3){
  transition-delay: 0.4s;
}
/* Espaciado vertical cómodo */
.tarjeta-servicio .uagb-ifb-title-wrap {
  margin-top: 16px;
  margin-bottom: 8px;
}
/* Tipografía */
.tarjeta-servicio .uagb-ifb-title {
  font-weight: 600;
  color: #333;
  margin: 0;
}
.tarjeta-servicio .uagb-ifb-desc p {
  margin: 0;
  line-height: 1.6;
  color: #444;
  font-size: 0.95rem;
}

.tarjeta-servicio { opacity:0; transform: translateY(40px); transition: opacity .7s ease-out, transform .7s ease-out; }
.tarjeta-servicio.reveal { opacity:1; transform: translateY(0); }


/* Hover sutil */
.tarjeta-servicio:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 14px rgba(0,0,0,0.12);
  background: #f2f5f7; /* tono ligeramente más claro */
}
@media (max-width: 768px) {
  .page-id-20 .entry-content.is-layout-constrained p.intro-sistemas {
    display: none !important;
  }
  .page-id-20 article#post-20 {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
    padding: 0 20px !important; /* 🔹 añade espacio lateral */
    width: 100% !important;
    max-width: none !important;
    background: none !important;
    box-shadow: none !important;
  }
    /* 🔹 Reduce proporcionalmente el tamaño de todo el texto dentro del artículo */
  .page-id-20 article#post-20 {
    font-size: 0.9rem !important;
    line-height: 1.6 !important;
  }

  /* 🔹 Mantiene jerarquía visual en los títulos */
  .page-id-20 article#post-20 h2,
  .page-id-20 article#post-20 h3 {
    font-size: 1rem !important;
    line-height: 1.4 !important;
  }

  /* 🔹 Asegura legibilidad de párrafos dentro de tarjetas */
  .page-id-20 article#post-20 p {
    font-size: 1.1rem !important;
    line-height: 1.6 !important;
    text-align: center;
  }
}


/* =========================================================
🧠 DESARROLLO (.page-id-22)
-----------------------------------------------------------
Descripción:
- Página de desarrollo de proyectos
- Columnas, botones y bloques informativos
========================================================= */
p.intro-desarrollo {
  max-width: 850px;
  margin: 60px auto 50px auto;
  padding: 0 25px;
  text-align: center;
  font-size: 1.15rem;
  line-height: 1.9;
  color: #333;
}
.tarjeta-desarrollo {
  background: #f2f5f7; /* gris claro */
  border-radius: 12px;
  /*box-shadow: 0 3px 6px rgba(0,0,0,0.08);*/
  overflow: hidden;
  transition: all 0.3s ease;
  height: 100%;
  display: flex;
  flex-direction: column;
  padding: 0 !important; /* elimina padding global del bloque */
}
/* Delay progresivo */
.tarjeta-desarrollo:nth-child(1) {
  transition-delay: 0.1s;
}

.tarjeta-desarrollo:nth-child(2) {
  transition-delay: 0.25s;
}

.tarjeta-desarrollo:nth-child(3) {
  transition-delay: 0.4s;
}

/* Espaciado vertical cómodo */
.tarjeta-desarrollo .uagb-ifb-title-wrap {
  margin-top: 16px;
  margin-bottom: 8px;
}
/* Tipografía */
.tarjeta-desarrollo .uagb-ifb-title {
  font-weight: 600;
  color: #333;
  margin: 0;
}
.tarjeta-desarrollo .uagb-ifb-desc p {
  margin: 0;
  line-height: 1.6;
  color: #444;
  font-size: 0.95rem;
}

.tarjeta-desarrollo { opacity:0; transform: translateY(40px); transition: opacity .7s ease-out, transform .7s ease-out; }
.tarjeta-desarrollo.reveal { opacity:1; transform: translateY(0); }
/* Hover sutil */
.tarjeta-desarrollo:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 14px rgba(0,0,0,0.12);
  background: #f2f5f7; /* tono ligeramente más claro */
}
@media (max-width: 768px) {
  .page-id-22 .entry-content.is-layout-constrained p.intro-desarrollo {
    display: none !important;
  }
    .page-id-22 article#post-22 {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
    padding: 0 20px !important; /* 🔹 añade espacio lateral */
    width: 100% !important;
    max-width: none !important;
    background: none !important;
    box-shadow: none !important;
  }
    /* 🔹 Reduce proporcionalmente el tamaño de todo el texto dentro del artículo */
  .page-id-22 article#post-22 {
    font-size: 1.1rem !important;
    line-height: 1.6 !important;
  }

  /* 🔹 Mantiene jerarquía visual en los títulos */
  .page-id-22 article#post-22 h2,
  .page-id-22 article#post-22 h3 {
    font-size: 1rem !important;
    line-height: 1.4 !important;
  }

  /* 🔹 Asegura legibilidad de párrafos dentro de tarjetas */
  .page-id-22 article#post-22 p {
    font-size: 1.1rem !important;
    line-height: 1.6 !important;
    text-align: center;
  }
}

/* =========================================================
📞 CONTACTO (.page-id-24)
-----------------------------------------------------------
/* =========================================================
📞 FORMULARIO DE CONTACTO (shortcode [formulario_contacto])
-----------------------------------------------------------
Versión integrada con mensajes dentro del contenido
========================================================= */
.page-id-24 .ct-container-full {
  width: 1260px;
  max-width: 90% !important;
}

.page-id-24 .contacto-form {
  max-width: 100%;
  margin: 0 auto;
  padding: 30px ;
  background-color: #f2f5f7;
  border-radius: 10px;
  border: 1px solid #e0e0e0;
  /*box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);*/
}

/* Campos y etiquetas */
.page-id-24 .contacto-form label {
  display: block;
  margin-bottom: 8px;
  font-weight: 500;
  color: #333;
}

.page-id-24 .contacto-form input,
.page-id-24 .contacto-form textarea {

  background-color: #ffffff
}



.page-id-24 .contacto-form input:focus,
.page-id-24 .contacto-form textarea:focus {
  border-color: #5a6d7a;
  box-shadow: 0 0 0 3px rgba(90, 109, 122, 0.15);
  outline: none;
  background-color: #ffffff
}

/* Botón */
.page-id-24 .contacto-form button {
  background-color: #C8CCCF;
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 12px 25px;
  cursor: pointer;
  font-size: 1rem;
  transition: background-color 0.3s ease, transform 0.1s ease;
}

.page-id-24 .contacto-form button:hover {
  background-color: #A8A8A8;
  transform: translateY(-1px);
}



.page-id-24 .privacidad-box a:hover {
  color: #3d4a52;
}

.page-id-24 .privacidad-info {
  font-size: 0.85rem;
  color: #666;
  margin-top: 10px;
  line-height: 1.4;
}

/* Mensajes de éxito y error */
.page-id-24 .mensaje-exito,
.page-id-24 .mensaje-error {
  max-width: 800px;
  margin: 25px auto auto;
  padding: 15px 25px;
  border-radius: 8px;
  text-align: center;
  font-weight: 500;
  line-height: 1.5;
}

/* Éxito */
.page-id-24 .mensaje-exito {
  background-color: #e8f5e9;
  color: #2e7d32;
  border: 1px solid #c8e6c9;
}

/* Error */
.page-id-24 .mensaje-error {
  background-color: #fff3e0;
  color: #e65100;
  border: 1px solid #ffe0b2;
}

/* Mensajes del formulario: fade-out + colapso del espacio, sin JS */
.contacto-form .mensaje-exito,
.contacto-form .mensaje-error {
  margin-top: 20px;
  padding: 15px;
  border-radius: 6px;
  text-align: center;
  font-weight: 500;
  opacity: 1;
  overflow: hidden;         /* para poder colapsar */
  max-height: 200px;        /* suficiente para el contenido */
  animation: fadeAndCollapse 1s ease-out 6s forwards;
}

/* Colores */
.contacto-form .mensaje-exito {
  background-color: #e6ffe6;
  border: 1px solid #6cc66c;
  color: #2d662d;
}
.contacto-form .mensaje-error {
  background-color: #ffe6e6;
  border: 1px solid #d55;
  color: #661b1b;
}

/* Animación: primero se desvanece, luego colapsa */
@keyframes fadeAndCollapse {
  0%   { opacity: 1; }
  90%  { opacity: 0; }
  100% {
    opacity: 0;
    max-height: 0;
    margin-top: 0;
    padding-top: 0;
    padding-bottom: 0;
    border-width: 0;
  }
}
/* Animación de entrada del mensaje */
.contacto-form .mensaje-exito,
.contacto-form .mensaje-error {
  animation: fadeSlideIn 0.8s ease-out, fadeAndCollapse 1s ease-out 6s forwards;
}

/* 👇 Ya tenías esta animación de salida */
@keyframes fadeAndCollapse {
  0%   { opacity: 1; }
  90%  { opacity: 0; }
  100% {
    opacity: 0;
    max-height: 0;
    margin-top: 0;
    padding-top: 0;
    padding-bottom: 0;
    border-width: 0;
  }
}

/* ✨ Nueva animación de entrada */
@keyframes fadeSlideIn {
  0% {
    opacity: 0;
    transform: translateY(15px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 768px) {
  .page-id-24 .ct-container-full[data-content="normal"] {
    /* lo volvemos un contenedor normal */
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;

  }
  .page-id-24 .contacto-form label {
  display: block;
  margin-bottom: 2px;
  font-weight: 400;
  font-size: 1rem;
  padding-bottom: 0px ;
  padding-top: 5px ;
  color: #333;
}
/* Botón */
.page-id-24 .contacto-form button {
  padding-left: 20px;
  padding-right: 20px;*/
  font-size: 1rem;
  min-height: 40px;
}
.page-id-24 .privacidad-info {
  font-size: 0.70rem;
  margin-top: 10px;
  line-height: 1.4;
}

  /* por si dentro hay otro envoltorio */
  .page-id-24 .ct-container-full[data-content="normal"] > * {
    width: 100% !important;
    max-width: 100% !important;
 
  }
  article#post-24 {
    padding-left: 10px !important;
    padding-right: 10px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box;
  }

  /* opcional: centramos el formulario por si acaso */
  article#post-24 .contacto-form {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 15px !important;
    line-height: 1.4 !important;

   }
    body.page-id-24 main.site-main.hfeed {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    
  }


  /* garantizamos que el fondo se extienda de borde a borde */
  body.page-id-24 main.site-main.hfeed .entry-content {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;

  }

  /* Mensajes de éxito y error */
.page-id-24 .mensaje-exito,
.page-id-24 .mensaje-error {
  max-width: 100%;
  margin: 13px auto auto;
  padding: 8px 13px;
  border-radius: 6px;
  text-align: center;
  font-weight: 400;
  line-height: 1.5;
  font-size: 0.85rem;
}
}



/* =========================================================
📰 BLOG (.page-id-26 / .blog)
-----------------------------------------------------------
Descripción:
- Estilos para la sección de artículos o noticias
========================================================= */

/* Contenedor centrado y fondo en la página de Blog (listado) */
.blog .site-main {
  background: #fff;
  max-width: 1260px;
  padding: 40px 40px;
}

.extracto-card {
  font-size: 0.95rem;
  color: #444;
  line-height: 1.6;
  text-align: left;
  margin: 0 15px 10px;
  font-weight: 400;
}
/* Estado normal: sin sombra */
.entry-card {
  box-shadow: none !important;
  transition: box-shadow 0.2s ease;
}

/* Hover sutil */
.entry-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 8px 14px rgba(0, 0, 0, 0.12) !important;
  transition: all 0.2s ease;
  
}

@media (max-width: 768px){
.blog .site-main {
  max-width: 100% !important;
  padding: 20px !important;
}
.ct-container{
  width: 100% !important;
}
.entry-card .entry-title {
  font-size: 1.1rem !important;
}
.entry-button {
 font-size: 0.80rem !important;
}

.entry-title{
  padding-left: 10px;
  padding-right: 10px;
}
.extracto-card {
  font-size: 1.1rem;
  line-height: 1.6;
  text-align: left;
  margin: 0 10px 10px;
  font-weight: 400;
}
  .page-id-26 .extracto-card h2,
  .page-id-26 .extracto-card h3 {
    font-size: 1rem !important;
    line-height: 1.4 !important;
  }
}


/* =========================================================
📝 ENTRADAS DEL BLOG - ESTILO ESTÉTICO (single post)
========================================================= */
/* 🧱 Contenedor general de Blocksy */
  body.single-post .ct-container-full {
  width: 1260px;
  background-color: #ffffff !important;
  padding-top: 60px;
  padding-bottom: 60px;
  padding-left: 10px;
}
/*.single-post .entry-content {
 background-color: #f2f5f7;
}*/

.single-post .entry-content h2 {
  font-size: 1.2rem; /* antes heredaba un tamaño mayor */
  line-height: 1,1;
  margin-top: 5px;
  margin-bottom: 5px;
  color: #082a3c;
  font-weight: 700;
}
.single-post .entry-content p {
  margin-bottom: 0.2em; /* Ajusta este valor según el efecto que busques */
  margin-top: 0.2em;
  line-height: 1.7; /* Mejora la legibilidad */
}

/* Botón CTA dentro de las entradas */
.single-post .entry-content a.cta-boton {
  display: inline-block;
  background-color: #740202; /* rojo tecnoxuntura */
  color: #fff;
  padding: 12px 28px;
  border-radius: 6px;
  text-decoration: none;
  font-weight: 600;
  margin-top: 35px;
  transition: background-color 0.3s ease;
}

.single-post .entry-content a.cta-boton:hover {
  background-color: #5e0000;

}

/* ==== Enlace Volver al Blog en Single Post ==== */

.single-post .volver-blog {
  display: block;
  text-align: center;
  font-size: 1rem;
  margin-top: 40px;
  color: #740202; /* color coherente con tu menú */
  text-decoration: none;
  font-weight: 600;
  transition: color 0.3s ease;
}

.single-post .volver-blog:hover {
  color: #4b0000;
}

@media (max-width: 768px){
body.single-post .ct-container-full {
  width: 100% !important;
  padding-top: 15px;
  padding-left: 0px;
  padding-right: 0px;
  font-size: 1.1rem;
  line-height: 1.4 !important;

}
.single-post .entry-content p {
  margin-bottom: 1.2em; /* Ajusta este valor según el efecto que busques */
  line-height: 1.7; /* Mejora la legibilidad */
}
.entry-header .page-title {
  font-size: 1.1rem !important;
}
.ct-container-full h1,
.ct-container-full h2,
.ct-container-full h3 {
    font-size: 1rem !important;
  
}

.single-post .entry-content h2 {
  margin-top: 0%;
  margin-bottom: 2%;
}
.alignleft {
  margin-bottom: .9em !important;
}

.contenido-extra {
  width: 90% !important;
}
.hero-section[data-type=type-1]{
  margin-bottom: 0px !important;
}
.is-width-constrained {
  width: 0%;
}
}


/*==== PÁGINAS LEGALES =====*/
/* ===== Estilo de contenido en páginas legales ===== */
.page-id-1069 .entry-content,
.page-id-1067 .entry-content,
.page-id-3 .entry-content
 {
  
  background: #fff;
  max: 1260px;
  max-width: 80%; /* 👈 Ajusta si quieres más estrecho (800-950px) */
  margin: 0 auto;
  padding: 0 20px; /* margen lateral para pantallas pequeñas */
}

/* Encabezados H2 en páginas legales */
.page-id-1069 h2,
.page-id-1067 h2,
.page-id-3 h2 {
  font-size: 1.35rem;
  font-weight: 600;
  line-height: 1.4;
  margin-top: 1.6em;
  margin-bottom: 0.6em;
  color: #4b0000;
}

/* Texto de párrafos en páginas legales */
.page-id-1069 p,
.page-id-1067 p,
.page-id-3 p {
  font-size: 1rem;
  line-height: 1.75;
  color: #444;
}

/* ✔️ Ajustes responsive */
@media (max-width: 768px) {
  .page-id-1069 .entry-content,
  .page-id-1067 .entry-content,
  .page-id-3 .entry-content {
    max-width: 100%;
    padding: 0 15px;
  }
}
/*===WHATSAPP===*/
/* ===== Botón flotante WhatsApp ===== */
.whatsapp-floating-btn {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 9999;
}

.whatsapp-floating-btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #25D366;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  box-shadow: 0px 4px 12px rgba(0,0,0,0.25);
  transition: transform 0.25s ease, background-color 0.25s ease;
}

.whatsapp-floating-btn a:hover {
  transform: translateY(-3px);
  background-color: #1ebe5d;
}

.whatsapp-floating-btn img {
  width: 32px;
  height: 32px;
  filter: brightness(0) invert(1);
}

/* Móvil: un poco más grande para accesibilidad */
@media (max-width: 480px) {
  .whatsapp-floating-btn a {
    width: 65px;
    height: 65px;
  }

  .whatsapp-floating-btn img {
    width: 34px;
    height: 34px;
  }
}
/* ===== Tooltip WhatsApp ===== */
.whatsapp-floating-btn a::after {
  content: "¿Hablamos por WhatsApp?";
  position: absolute;
  right: 70px;
  bottom: 18px;
  background-color: #1ebe5d;
  color: #fff;
  font-size: 0.85rem;
  padding: 6px 10px;
  border-radius: 6px;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transform: translateX(10px);
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.whatsapp-floating-btn a:hover::after {
  opacity: 1;
  transform: translateX(0);
}

/* ===== Animación periódica ===== */
@keyframes wa-pulse {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-3px) scale(1.05); }
}

.whatsapp-floating-btn.shake {
  animation: wa-pulse 1s ease;
}
/* ===== FOOTER ESCRITORIO GLOBAL (todas las páginas) ===== */
/* Separador tipo "|" entre ítems */
  footer nav#footer-menu ul li:not(:last-child)::after {
    content: "|";
    margin-left: 8px;          /* espacio antes del separador */
    color: #808080;            /* color corporativo */
    opacity: 0.7;
  }
  
 /* Enlaces */
    footer nav#footer-menu ul li a {
    padding: 0px 2px 0px 10px!important;  /* menos espacio lateral */
    text-decoration: none !important;
  }
      /* Párrafos y textos */
  footer#footer p,
  .ct-footer p,
  .site-footer p {
    font-size: 0.9rem !important;
    line-height: 1.5 !important;
    margin: 4px 0 !important;
    text-align: center !important;
    color: #ffffff !important;
  }
    footer .ct-footer-copyright[data-id="copyright"] p {
    text-align: right !important;
  }

/* ===== FOOTER MÓVIL GLOBAL (todas las páginas) ===== */
@media (max-width: 768px) {
  footer#footer.ct-footer.ct-container {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: none !important;
    border: none !important;
  }
  /* Enlaces */
  footer nav#footer-menu ul li a {
    display: inline-block !important;
    text-decoration: none !important;
    font-size: 0.85rem !important;
    color: #ffffff !important;
    padding: 4px 4px 0px 0px!important;  /* menos espacio lateral */
  }
   footer nav#footer-menu ul li a:hover {
    text-decoration: underline;
  }
 /* Separador tipo "|" entre ítems */
  footer nav#footer-menu ul li:not(:last-child)::after {
    content: "|";
    margin-left: 8px;          /* espacio antes del separador */
    color: #808080;            /* color corporativo */
    opacity: 0.7;
  }
    /* Lista del menú (Blocksy suele usar .menu) */
  footer #footer-menu .menu {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-wrap: wrap !important;         /* permite salto de línea si hay muchos enlaces */
    gap: 8px 14px !important;            /* separación entre enlaces */
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
  }

  /* Contenedor general automático */
  footer .ct-container-auto {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    gap: 5px !important; /* si el tema usa gap interno */
    align-items: center;
  }

    footer nav#footer-menu.footer-menu-inline.menu-container {
    display: flex !important;
    justify-content: center !important;   /* centra horizontalmente */
    align-items: center !important;       /* centra verticalmente */
    flex-wrap: wrap !important;           /* permite que los enlaces bajen a otra línea si no caben */
    text-align: center !important;
    gap: 10px 16px !important;            /* espacio entre enlaces (vertical y horizontal) */
    margin: 0 auto !important;
    padding: 0 !important;
    width: 100% !important;
  }

   /* Lista del menú para evitar rellenos adicionales */
  footer .ct-container-auto [data-column="menu"] ul,
  footer .ct-container-auto [data-column="menu"] nav {
    margin: 0 !important;
    padding: 0 !important;

  }
    /* Párrafos y textos */
  footer#footer p,
  .ct-footer p,
  .site-footer p {
    font-size: 0.85rem !important;
    line-height: 1.5 !important;
    margin: 4px 0 !important;
    text-align: center !important;
    color: #ffffff !important;
  }

  
  /* Contenedor del copyright */
  footer .ct-footer-copyright[data-id="copyright"] {
    width: 100% !important;
    text-align: center !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Párrafo interno */
  footer .ct-footer-copyright[data-id="copyright"] p {
    font-size: 0.85rem !important;
    line-height: 1.4 !important;
    color: #f2f5f7 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

/* ===== POLÍTICA DE PRIVACIDAD ===== */
.page-id-3 .entry-content.is-layout-constrained {
  max-width: 1260px;
  width: 80%;
  margin: 60px auto;
  padding: 0 40px;
  line-height: 1.8;
  color: #333;
  font-size: 1.1rem;
}

/* Neutraliza posibles márgenes automáticos */
.page-id-3 .entry-content > * {
  margin-top: 0 !important;
  margin-bottom: 1.2em;
}

/* Título principal */
.page-id-3 h1.wp-block-heading {
  text-align: center;
  font-size: 2rem;
  margin-bottom: 40px;
  color: #253447;
}

/* Subtítulos */
.page-id-3 h2.wp-block-heading {
  font-size: 1.4rem;
  margin-top: 40px;
  margin-bottom: 20px;
  color: #4b0000;
}

/* Párrafos */
.page-id-3 p {
  text-align: justify;
  margin-bottom: 16px;
}
/* ===== 📱 Versión móvil ===== */

@media (max-width: 768px) {
/* ==== 🔧 ESTRUCTURA GENERAL ==== */

.page-id-1069 #post-1069 > .entry-content.is-layout-constrained,
.page-id-1067 #post-1067 > .entry-content.is-layout-constrained,
.page-id-3 #post-3 > .entry-content.is-layout-constrained {
  max-width: none !important;
  width: 100% !important;
  padding: 25px 0 !important;
  margin: 0 !important;
}

/* Interior con ancho de lectura equilibrado */
.page-id-1069 #post-1069 > .entry-content.is-layout-constrained > *,
.page-id-1067 #post-1067 > .entry-content.is-layout-constrained > *,
.page-id-3 #post-3 > .entry-content.is-layout-constrained > * {
  width: 90% !important;
  margin: 0 auto !important;
}

/* Neutraliza márgenes/padding del artículo */
.page-id-1069 article#post-1069,
.page-id-1067 article#post-1067,
.page-id-3 article#post-3 {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: none !important;
  background: none !important;
  box-shadow: none !important;
}

/* ===== Ajuste global del texto ===== */
.page-id-1069 article.post-1069.page.type-page.status-publish.hentry,
.page-id-1067 article.post-1067.page.type-page.status-publish.hentry,
.page-id-3 article.post-3.page.type-page.status-publish.hentry,
.page-id-1069 article.post-1069.page.type-page.status-publish.hentry *,
.page-id-1067 article.post-1067.page.type-page.status-publish.hentry *,
.page-id-3 article.post-3.page.type-page.status-publish.hentry * {
  font-size: 1.1rem !important;
  line-height: 1.7 !important;
  text-align: left;
}

/* ===== Excepción: H1 más grande y centrado ===== */
.page-id-1069 article#post-1069 h1,
.page-id-1067 article#post-1067 h1,
.page-id-3 article#post-3 h1 {
  font-size: 1.2rem !important;
  line-height: 1.3 !important;
  text-align: center !important;
  margin-bottom: 25px !important;
  color: #253447 !important; /* tono corporativo */
  padding-bottom: 5%;
}

}
