/* Grid layout for two columns */
.form-grid {
    display: grid;
    /* Fuerza siempre 2 columnas de igual ancho, pero que nunca sean más estrechas de 280px */
    grid-template-columns: repeat(2, minmax(280px, 1fr));
    gap: 15px;
    width: 100%;
    box-sizing: border-box;
}


.form-grid .form-group {
    width: 100%;
}

/* Make the Submit button and About Me full width */
.form-grid button, .form-group[style*="grid-column: span 2"] {
    grid-column: span 2;
}

/* Responsive - One column layout on small screens */
@media (max-width: 768px) {
    .form-grid {
        grid-template-columns: 1fr !important; 
        gap: 15px;
    }

    .form-grid .form-group {
        grid-column: 1 / -1 !important; 
    }

    .form-grid button {
        grid-column: 1 / -1 !important;
    }

    .form-grid input, .form-grid select, .form-grid textarea {
        width: 100% !important;
    }
}

textarea#about_me {
    width: 100%;
    height: 100px;
    resize: none;  
}

button.btn {
    padding: 10px 20px;
    font-size: 16px;
}

.swal2-input {
    font-size: 18px;
    text-align: center;
    width: 100%;
    box-sizing: border-box;
}

.select2-selection {
    min-height: 37px;
    height: auto;  
}

.swal2-popup {
    display: grid !important;
    grid-template-columns: 1fr; 
    justify-items: center; 
}

.swal2-input {
    width: 100% !important; 
    box-sizing: border-box; 
    max-width: 400px;
    text-align: center;
}


#div_title {
    text-align: center;
    display: none;
}
#title {
    color: var(--e-global-color-4a28daa);
    font-family: "Frank Ruhl Libre", Sans-serif;
    font-size: 48px;
    font-weight: 700;
}

#sub-title {
    font-family: "Montserrat", Sans-serif;
    font-size: 16px;
    font-weight: 400;
}
/* Custom SweetAlert button */
.custom-swal-button {
    background-color: #007bff; /* Blue background */
    color: #fff; /* White text */
    border: none; /* Remove borders */
    border-radius: 30px; /* Rounded edges */
    font-size: 14px; /* Adjust font size */
    font-weight: bold;
    padding: 10px 20px; /* Add padding */
    text-transform: none; /* Disable uppercase */
    cursor: pointer;
    transition: all 0.3s ease; /* Smooth transition */
}

/* Hover effect for the button */
.custom-swal-button:hover {
    background-color: #0056b3; /* Darker blue on hover */
    color: #fff; /* Keep text white */
}

.highlight {
    border: 2px solid #dc3545 !important;
    box-shadow: 0 0 10px rgba(220, 53, 69, 0.5) !important;
    background-color: rgba(220, 53, 69, 0.1) !important;
    animation: highlight-animation 0.5s ease-in-out infinite alternate;
}

/* Special highlight for upload button */
#uploadPhotoButton.highlight {
    background-color: #dc3545 !important;
    color: white !important;
    border: 2px solid #dc3545 !important;
    box-shadow: 0 0 15px rgba(220, 53, 69, 0.8) !important;
    transform: scale(1.05);
    transition: all 0.3s ease;
}

@keyframes blink {
    from { background-color: #ffdddd; }
    to { background-color: #ff6666; }
}

/* Validation error message styling */
.validation-error {
    color: #dc3545;
    font-size: 12px;
    margin-top: 5px;
    display: block;
    font-weight: 500;
}

.validation-error::before {
    content: "⚠️ ";
    margin-right: 5px;
}

.btn-submit-custom {
    background-color: #007bff;
    color: #fff;
    border: none;
    border-radius: 30px;
    font-size: 16px;
    padding: 10px 20px;
    transition: all 0.3s ease;
}

.btn-submit-custom:focus {
    outline: none;
}

.btn-submit-custom:active {
    transform: scale(0.98); /* Efecto visual al presionar */
}

#myngly-form .form-group label {
    font-weight: normal;
}

#myngly-form .form-group .select2-selection__rendered {
    font-weight: normal !important;
}

#become-a-member {
  max-width: 960px;      /* ajusta al ancho deseado */
  margin: 0 auto;        /* centra horizontalmente */
  padding: 1rem;         /* espacio interior */
  box-sizing: border-box;
  overflow: hidden;      /* evita cualquier overflow accidental */
}

#myngly-form img,
#myngly-form .dropdown,
#myngly-form .text-center,
#myngly-form button {
  max-width: 100%;
  box-sizing: border-box;
}

