.elementor-kit-14{--e-global-color-primary:#0497A7;--e-global-color-secondary:#54595F;--e-global-color-text:#BBECEF;--e-global-color-accent:#D7E2E2;--e-global-color-25cfcfd:#034A52;--e-global-typography-primary-font-family:"Noto Serif Display";--e-global-typography-primary-font-size:29px;--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Montserrat";--e-global-typography-secondary-font-size:19px;--e-global-typography-secondary-font-weight:500;--e-global-typography-text-font-family:"Montserrat";--e-global-typography-text-font-size:21px;--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Montserrat";--e-global-typography-accent-font-weight:600;--e-global-typography-14904d7-font-family:"Noto Serif Display";--e-global-typography-14904d7-font-size:20px;--e-global-typography-14904d7-font-weight:700;}.elementor-kit-14 e-page-transition{background-color:#FFBC7D;}.elementor-kit-14 a{color:#0497A7;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */html {
  scroll-behavior: smooth;
}
/* Contenedor principal */
.post-password-form {
  text-align: center;
  padding: 30px;
  background: #f3f7f7;
  border-radius: 15px;
  max-width: 500px;
  margin: 60px auto;
  font-family: 'Montserrat', sans-serif;
}

/* Label arriba */
.post-password-form label {
  font-weight: bold;
  display: block;
  margin-bottom: 12px;
}

/* Forzar que el párrafo con input+botón se comporte como flex */
.post-password-form p {
  display: flex !important;
  justify-content: center;
  align-items: center;
  gap: 10px; /* espacio entre campo y botón */
  margin: 0;
}

/* Campo contraseña */
.post-password-form input[type="password"] {
  flex: 1;
  padding: 12px;
  border: 1px solid #ccc;
  border-radius: 8px;
  box-sizing: border-box;
}

/* Botón enviar */
.post-password-form input[type="submit"] {
  background-color: #00a4a7;
  color: #fff;
  border: none;
  padding: 12px 20px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s ease;
  white-space: nowrap;
}

.post-password-form input[type="submit"]:hover {
  background-color: #00858a;
}

/* Responsivo: en móviles se apilan */
@media (max-width: 480px) {
  .post-password-form p {
    flex-direction: column;
  }

  .post-password-form input[type="password"],
  .post-password-form input[type="submit"] {
    width: 100%;
  }
}

/* Opción B: si no tiene clase, forzamos al primer párrafo */
.post-password-form p {
  text-align: left !important;  /* cambia a left, right o justify */
  font-size: 16px;
  color: #333;
  margin-bottom: 20px;
}
/* Estilo universal para los botones sticky en todas las vistas */
.sticky-buttons {
  position: fixed;
  bottom: 50px; /* distancia desde abajo */
  right: 20px;  /* ajusta si quieres que estén a la derecha */
  z-index: 9999;
  pointer-events: none; /* evita que bloqueen clics */
}

.sticky-buttons a,
.sticky-buttons button {
  pointer-events: auto; /* los botones dentro sí son clicables */
}

/* Ajuste para pantallas pequeñas */
@media (max-width: 768px) {
  .sticky-buttons {
    bottom: 30px;
    right: 15px;
  }
}

@media (max-width: 480px) {
  .sticky-buttons {
    bottom: 30px;
    right: 10px;
  }
}





/* Evitar scroll horizontal solo para contenido principal */
body {
  margin: 0;
  padding: 0;
  width: 100%;
  overflow-x: hidden; /* Oculta scroll horizontal */
}

/* Contenedores principales */
.main-content, section, .container {
  max-width: 100%;
  box-sizing: border-box;
  overflow-x: hidden;
}

/* Imágenes, videos y iframes responsivos */
img, video, iframe {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Header y menú hamburguesa: permitir overflow para desplegar */
header, .hamburger-menu, nav {
  overflow: visible; /* Permite que el menú lateral salga de la pantalla */
}

/* Ajustes opcionales para móviles */
@media (max-width: 768px) {
  .main-content {
    overflow-x: hidden;
  }
}/* End custom CSS */