        .form-container {
            max-width: 80%;
            margin: 0 auto;
        }

        .form-floating-custom {
            position: relative;
            margin-bottom: 1.5rem;
        }

        .form-floating-custom input, 
        .form-floating-custom textarea {
            width: 100%;
            padding: 0.75rem 0.75rem;
            font-size: 1rem;
            border: 1px solid #ced4da;
            border-radius: 0.25rem;
        }

        .form-floating-custom label {
            position: absolute;
            top: 0;
            left: 0;
            padding: 0.75rem;
            font-size: 1rem;
            pointer-events: none;
            transition: all 0.3s ease;
            background-color: white;
            transform-origin: 0 0;
        }

        .form-floating-custom input:focus + label,
        .form-floating-custom input:not(:placeholder-shown) + label,
        .form-floating-custom textarea:focus + label,
        .form-floating-custom textarea:not(:placeholder-shown) + label {
            transform: scale(0.85) translateY(-1.5rem);
            color: #495057;
        }

        .form-floating-custom input:focus,
        .form-floating-custom textarea:focus {
            border-color: #80bdff;
            outline: 0;
            box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
        }

        .alert {
            display: none;
        }
		
/* Optional adjustments for better legal style */
h2.title, h3.subtitle {
    
    font-size: 1.75rem; /* Larger font for title */
    color: #000; /* Black color for formal documents */
}
.centered-text {
    position: absolute;    
    top:0%;
	left: 50%;
    transform: translateX(-50%); /* Horizontally center */
    text-align: center;
    width: 100%; /* Full width to ensure content is not cut off */
	margin-top: 35px !important;
}

.centered-text img {
    max-width: 80%; /* Control maximum width of the image */
    height: auto; /* Maintain aspect ratio */
    display: block; /* Block-level element to apply margin auto */
    margin: 0 auto; /* Center the image horizontally */
}


.centered-text h1 {
  font-size: 2rem; /* Larger font size */
  font-weight: 700; /* Bold */
  letter-spacing: 1px; /* Slight letter spacing */
  text-transform: uppercase; /* Uppercase for the title */
  margin-bottom: 20px; /* Space between title and subtitle */
  
}

.centered-text h2 {
  font-size: 1.5rem; /* Smaller subtitle font size */
  font-weight: 500; /* Lighter weight for subtitle */
  letter-spacing: 3px; /* Larger letter spacing */
  text-transform: uppercase; /* Uppercase for subtitle */
  margin-bottom: 0;
}
/* ===== Contacto: dejar de usar el "hero center" absoluto ===== */
.background { position: relative; }          /* contenedor de overlay */
.background .overlay {
  position: absolute; 
  inset: 0;
  z-index: 0;                                /* debajo del contenido */
}
/* En Contacto, el contenido debe fluir normal (no centrado absoluto) */
.background .centered-text {
  position: static;                          /* quita el absolute global */
  transform: none;
  top: auto; 
  left: auto;
  z-index: 1;                                /* sobre el overlay */
  text-align: initial;                       /* que respete el layout */
}



/* Que el overlay NO tape el contenido */
.background { position: relative; }
.background .overlay {
  position: absolute; inset: 0; z-index: 0;
}

/* En “Quiénes somos” NO queremos centrar absoluto */
.background .centered-text {
  position: static !important;
  transform: none !important;
  top: auto; left: auto;
  z-index: 1;            /* encima del overlay */
  text-align: initial;
}

/* Bootstrap 5 no trae .text-justify */
.text-justify { text-align: justify; }