/* ===== RESET Y FONDO GENERAL ===== */
html, body {
    height: 100%;
    margin: 0;
    padding: 0;
    font-family: Arial, sans-serif;
    background: url('../img/Prevent_JJOO_InicioSesion_Fondo.png') no-repeat center center fixed;
    background-size: cover;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

/* ===== HEADER FIJO ARRIBA IZQUIERDA ===== */
header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    padding: 10px;
    z-index: 1000;
    background: transparent;
}

.header-contenedor {
    position: relative;
}

.btn-icono {
    background: none;
    border: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin: 0;
}

/* Ajusta libremente la posición del botón */
#btn-correo {
    position: absolute;
    top: 20px;
    left: 60px;
    width: 80px;
    height: auto;
}

/* ===== CONTENEDOR ESCALABLE ===== */
.container {
    width: 1400px;
    height: 800px;
    position: relative;
    background: url('../img/Prevent_JJOO_InicioSesion_Fondo_Recuadro.png') no-repeat center center;
    background-size: contain;

    transform: scale(calc(100vw / 1400));
    transform-origin: top left;

    background-size: 75% auto;
    background-position: center center;
    margin-top: -70px;
}

.scalable {
    width: 1400px;
    height: 800px;
    position: relative;
}

/* ===== PERSONAJES LATERALES ===== */
.character_left, .character_right {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.character_left {
    left: 230px;
    top: 500px;
}
.character_right {
    right: 230px;
    top: 500px;
}

.character_left img, .character_right img {
    width: 200px;
    height: auto;
}

/* ===== CONTENIDO CENTRAL ===== */
.content {
    position: absolute;
    top: 45%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
}

.logos-inline {
    display: flex;
    justify-content: center;
    gap: 180px;
    margin-bottom: 20px;
}

.logos-inline img {
    height: 110px;
    width: auto;
}

.content h1 {
    font-size: 52pt;
    color: #59a03b;
    font-family: 'SuezOne';
    margin: 0;
}

.content h2 {
    font-size: 33pt;
    color: #59a03b;
    font-family: 'Montserrat';
    font-weight: 500;
    margin-top: 10px;
    margin-bottom: 30px;
}

/* ===== FORMULARIO ===== */
form {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
    width: 450px;
    margin: 0 auto;
}

form label {
    font-size: 18pt;
    font-family: 'Montserrat';
    font-weight: 900;
    color: #5a1e00;
}

input[type="text"], input[type="password"] {
    width: 100%;
    padding: 10px;
    border-radius: 20px;
    border: none;
    outline: none;
    background: url('../img/Prevent_JJOO_InicioSesion_Imagen_CampoTexto.png') no-repeat center center;
    background-size: cover;
    font-size: 1rem;
}

form button {
    width: 70%;
    height: 60px;
    padding: 10px;
    border-radius: 60px;
    background-color: #5a1e00;
    color: white;
    font-family: 'Montserrat';
    font-weight: 600;
    font-size: 20pt;
    border: none;
    cursor: pointer;
    margin-top: 50px;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

form button:hover {
    background-color: #7b2d00;
}

/* ===== LOGOS INFERIORES ===== */
.logos {
    position: absolute;
    bottom: -100px;
    left: 50%;
    transform: translateX(-50%);
}

.logos img {
    width: 900px;
    height: auto;
}

/* ===== VERSIÓN AL FINAL DE LA WEB ===== */
.footer-version {
    position: absolute;
    right: 30px;
    bottom: 20px;
    width: auto;
    z-index: 10;
}

.web-version {
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #661800;
    background: rgba(255, 255, 255, 0.88);
    padding: 6px 10px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

/* ===== OVERLAY ===== */
#overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.7);
  z-index: 100000;
  display: none;
}

#overlay.open {
  display: grid;
  place-items: center;
}

.overlay-content {
  position: relative;
  max-width: 95vw;
  max-height: 95vh;
}

.overlay-box {
  position: relative;
  display: inline-block;
}

.overlay-img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
}

.overlay-inner {
  position: absolute;
  top: 8%;
  left: 50%;
  transform: translateX(-50%);
  width: 80%;
  text-align: center;
  color: #fff;
  font-family: 'Montserrat', sans-serif;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.overlay-title {
  font-family: 'SuezOne';
  font-size: 72px;
  font-weight: 400;
  color: #59a03b;
  text-align: center;
  margin: 0;
}

.overlay-subtitle {
  font-family: 'Montserrat';
  font-size: 50px;
  font-weight: 500;
  color: #59a03b;
  text-align: center;
  margin-top: 5px;
  margin-bottom: 0;
}

.overlay-input-group {
  width: 100%;
  margin: 12px 0;
  text-align: left;
}

.label-assumpte, .label-missatge {
  font-family: 'Montserrat';
  font-size: 26px;
  color: #661800 !important;
  display: block;
  margin-bottom: 6px;
  text-align: left;
  font-weight: 700;
  margin-left: 55px;
}

.input-skin {
  position: relative;
  width: 100%;
  max-width: 90%;
  margin: 0 auto; 
  display: block;
  box-sizing: border-box;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
}

.input-skin--assumpte {
  background-image: url("../img/Prevent_JJOO_Ayuda_Imagen_CampoTexto_Asunto.png");
  min-height: 60px;
}

.input-skin--missatge {
  background-image: url("../img/Prevent_JJOO_Ayuda_Imagen_CampoTexto_Mensaje.png");
  min-height: 220px;
}

.input-skin__field {
  width: 100%;
  height: 100%;
  background: transparent !important;
  border: none;
  outline: none;
  box-shadow: none !important;
  font-size: 20px;
  font-family: 'Montserrat', sans-serif;
  color: #000;
  line-height: 1.4;
  resize: none;
}

.input-skin--assumpte .input-skin__field { padding: 18px 18px; }
.input-skin--missatge .input-skin__field { padding: 8px 18px; }

.overlay-btn {
  margin-top: 30px;
  padding: 12px 24px;
  font-size: 16px;
  font-weight: bold;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  background: url("../img/Prevent_JJOO_InicioSesion_Boton_Aceptar.png") no-repeat center/cover;
  color: #fff;
  min-width: 180px;
  min-height: 50px;
  transition: transform 0.2s ease, filter 0.2s ease;
}

.overlay-btn:hover {
  transform: scale(1.05);
  filter: brightness(0.9);
}

/* ===== FUENTES PERSONALIZADAS ===== */
@font-face {
    font-family: 'Montserrat';
    src: url('../assets/fonts/Montserrat-Regular.ttf') format('truetype');
    font-weight: 400;
}
@font-face {
    font-family: 'Montserrat';
    src: url('../assets/fonts/Montserrat-Medium.ttf') format('truetype');
    font-weight: 500;
}
@font-face {
    font-family: 'Montserrat';
    src: url('../assets/fonts/Montserrat-SemiBold.ttf') format('truetype');
    font-weight: 600;
}
@font-face {
    font-family: 'Montserrat';
    src: url('../assets/fonts/Montserrat-Bold.ttf') format('truetype');
    font-weight: 700;
}
@font-face {
    font-family: 'SuezOne';
    src: url('../assets/fonts/SuezOne-Regular.ttf') format('truetype');
    font-weight: 400;
}