/* ======= Estilos Generales ======= */
html {
    font-size: var(--font-size-base);
    /* scroll-behavior: smooth; */ /* Deshabilitado para manejar el scroll con JS */
}

body {
    font-family: var(--font-primary);
    background-color: var(--color-background);
    color: var(--color-text);
    line-height: 1.6;
    overflow-x: hidden;
}

.container {
    width: 100%;
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 var(--container-padding);
}

.section {
    padding: var(--spacing-lg) 0;
}

.section-title {
    font-size: var(--font-size-xlarge);
    font-weight: 700;
    margin-bottom: var(--spacing-md);
    text-align: center;
    position: relative;
}

.section-title::after {
    content: '';
    display: block;
    width: 50px;
    height: 3px;
    background-color: var(--color-accent);
    margin: var(--spacing-xs) auto 0;
}

.btn-submit {
    background-color: var(--color-accent);
    color: var(--color-text);
    border: none;
    padding: var(--spacing-xs) var(--spacing-md);
    font-size: var(--font-size-medium);
    font-weight: 600;
    cursor: pointer;
    transition: background-color var(--transition-fast);
}

.btn-submit:hover {
    background-color: #c8323e;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

/* --- GLightbox por encima de todo y clicable --- */
.glightbox-container {
  position: fixed; /* garantía de capa superior */
  inset: 0;
  z-index: 2147483647 !important; /* máximo práctico */
}

.glightbox-container .gclose,
.glightbox-clean .gclose {
  pointer-events: auto !important; /* asegura que la X recibe el click */
}

/* Oculta elementos flotantes mientras el lightbox está abierto */
html.glightbox-open #scrollToTopBtn,
body.glightbox-open #scrollToTopBtn {
  opacity: 0;
  pointer-events: none;
}

/* Si tienes cabeceras/menus fijos muy altos, desactiva clicks debajo del overlay */
html.glightbox-open .main-nav,
body.glightbox-open .main-nav {
  pointer-events: none;
}

/* (Opcional) Evita scroll del fondo mientras está abierto */
html.glightbox-open,
body.glightbox-open {
  overflow: hidden;
}

/* --- GLightbox: eliminar banda blanca inferior en desktop --- */

/* Fondo siempre negro y overlay a pantalla completa */
.glightbox-container,
.glightbox-overlay {
  background: #000 !important;
}
.glightbox-container {
  position: fixed;
  inset: 0;
  z-index: 2147483647 !important;
}

/* Usa toda la altura del viewport y centra verticalmente */
.glightbox-container .gcontainer { height: 100vh; }
.glightbox-container .ginner-container {
  height: 100%;
  display: flex;
  align-items: center;
  padding-bottom: 0 !important;  /* evita padding de algunos temas */
}

/* El media no debe dejar huecos */
.glightbox-container .gslide,
.glightbox-container .gslide-media {
  margin: 0 !important;
  padding: 0 !important;
  max-height: 100vh;
}

/* Imagen como bloque, sin baseline-gap, contenida al viewport */
.glightbox-container .gslide-image,
.glightbox-container .gslide-image img {
  line-height: 0;           /* elimina el gap por línea base */
}
.glightbox-container .gslide-image img {
  display: block;           /* evita espacio inline */
  width: auto;
  height: auto;
  max-width: calc(100vw - 80px);   /* deja margen para controles */
  max-height: calc(100vh - 80px);  /* idem */
  object-fit: contain;      /* que nunca estire */
  margin: 0 auto;
  aspect-ratio: auto;       /* por si algún estilo global forzaba ratio */
}

/* Por si alguna clase de "tema clean" añade rellenos */
.glightbox-clean .ginner-container { padding-bottom: 0 !important; }

.privacy-text { font-size: .9rem; opacity: .85; margin-top: .5rem; }

.recaptcha-disclaimer { font-size: .9rem; opacity: .85; margin-top: .5rem; }

.grecaptcha-badge { visibility: hidden !important; }
