:root {
    --aaf-primary-color: #0d6efd; /* A more vibrant blue */
    --aaf-secondary-color: #0a58ca;
    --aaf-success-color: #198754;
    --aaf-error-color: #dc3545;
    --aaf-light-bg: #f8f9fa;
    --aaf-medium-gray: #ced4da;
    --aaf-dark-gray: #495057;
    --aaf-font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --aaf-border-radius: 12px;
    --aaf-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    --aaf-transition: all 0.3s ease-in-out;
}

/* --- Global & Smooth Scroll --- */
html {
    scroll-behavior: smooth;
}
* {
    box-sizing: border-box;
}

/* --- Hero Section Styles --- */
/* --- Hero Section Styles --- */
/* --- Hero Section Styles --- */
.aaf-hero-section {
    background: linear-gradient(45deg, rgba(2, 27, 70, 0.8), rgba(13, 110, 253, 0.7)), url('https://placehold.co/1600x600/021B46/FFFFFF?text=Admission Mall') no-repeat center center;
    background-size: cover;
    background-attachment: fixed; /* This makes the background fixed on all devices */
    color: #fff;
    text-align: center;
    padding: 7rem 2rem;
    border-radius: 0 0 16px 16px; 
    margin: 0;
    width: 100%;
    overflow: hidden;
}

/* --- Responsive Adjustments --- */
@media (max-width: 768px) {
  .aaf-hero-section {
    /* We only change the background image for smaller screens */
    background-image: linear-gradient(45deg, rgba(2, 27, 70, 0.8), rgba(13, 110, 253, 0.7)), url('https://placehold.co/500x600/021B46/FFFFFF?text=Admission Mall');
    
    /* The background-attachment: scroll; line has been REMOVED */
    /* Now it will use the 'fixed' property from the main rule above */
  }
}

.aaf-hero-content {
    animation: fadeInSlideUp 1s ease-out forwards;
}

@keyframes fadeInSlideUp {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}
.aaf-hero-content h1 { 
    font-size: clamp(2.5rem, 5vw, 4rem); /* Responsive font size */
    font-weight: 700; 
    margin-bottom: 1rem;
    text-shadow: 2px 2px 10px rgba(0,0,0,0.4);
}
.aaf-hero-content p { 
    font-size: clamp(1.1rem, 2.5vw, 1.3rem);
    margin-bottom: 2.5rem; 
    max-width: 650px; 
    margin-left: auto; 
    margin-right: auto;
    text-shadow: 1px 1px 5px rgba(0,0,0,0.4);
}
.aaf-hero-button { 
    background-color: #fff; 
    color: var(--aaf-primary-color); 
    padding: 1rem 2.5rem; 
    border-radius: 50px; 
    text-decoration: none; 
    font-weight: 700; 
    transition: var(--aaf-transition);
    display: inline-block;
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}
.aaf-hero-button:hover { 
    background-color: var(--aaf-light-bg); 
    color: var(--aaf-secondary-color);
    transform: translateY(-5px) scale(1.05);
    box-shadow: 0 8px 25px rgba(0,0,0,0.3);
}

/* --- Form Styles --- */
.aaf-form-container { 
    font-family: var(--aaf-font-family); 
    background-color: #fff; 
    border: 1px solid #e9ecef; 
    border-radius: var(--aaf-border-radius); 
    padding: 3rem; 
    max-width: 800px; 
    margin: 3rem auto; 
    box-shadow: var(--aaf-shadow);
    transition: var(--aaf-transition);
}
.aaf-form-container:focus-within {
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
    transform: translateY(-5px);
}
.aaf-form-header { text-align: center; margin-bottom: 2.5rem; }
.aaf-form-header h2 { color: var(--aaf-secondary-color); font-size: clamp(1.8rem, 4vw, 2.2rem); font-weight: 700; margin: 0 0 0.5rem 0; }
.aaf-form-header p { color: var(--aaf-dark-gray); font-size: 1.1rem; line-height: 1.6; }
.aaf-form-row { margin-bottom: 1.75rem; }
.aaf-form-group { display: flex; flex-direction: column; position: relative; }
.aaf-form-group label { font-weight: 500; margin-bottom: 0.6rem; color: var(--aaf-dark-gray); font-size: 0.95rem; }
.aaf-required { color: var(--aaf-error-color); margin-left: 2px; }
.aaf-form-group input, .aaf-form-group textarea { 
    width: 100%; 
    padding: 1rem; 
    border: 1px solid var(--aaf-medium-gray); 
    border-radius: 8px; 
    font-size: 1rem; 
    font-family: var(--aaf-font-family); 
    transition: var(--aaf-transition); 
    background-color: var(--aaf-light-bg);
}
.aaf-form-group input:focus, .aaf-form-group textarea:focus { 
    outline: none; 
    border-color: var(--aaf-primary-color); 
    box-shadow: 0 0 0 4px rgba(13, 110, 253, 0.15); 
    background-color: #fff;
}
.aaf-split { display: grid; grid-template-columns: 1fr 1fr; gap: 1.75rem; }

/* --- Validation Styles --- */
.aaf-form-group.is-valid input, .aaf-form-group.is-valid textarea { border-color: var(--aaf-success-color); background-color: #e8f5e9; }
.aaf-form-group.is-invalid input, .aaf-form-group.is-invalid textarea { border-color: var(--aaf-error-color); background-color: #fce8e6; }
.aaf-form-group::after {
    content: '';
    position: absolute;
    right: 15px;
    top: calc(50% + 10px);
    width: 22px;
    height: 22px;
    background-size: contain;
    background-repeat: no-repeat;
    opacity: 0;
    transform: translateY(-50%) scale(0.5);
    transition: var(--aaf-transition);
}
.aaf-form-group.is-valid::after {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 8 8"><path fill="%23198754" d="M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8L3 5.2l3.7-3.7c.6-.6 1.5-.2 1.2.7L3.8 7.4c-.13.4-.6.4-.8-.1z"/></svg>');
    opacity: 1;
    transform: translateY(-50%) scale(1);
}
.aaf-form-group.is-invalid::after {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 8 8"><path fill="%23dc3545" d="M4.8 4L7.5 1.3c.2-.2.2-.5 0-.7s-.5-.2-.7 0L4.1 3.2 1.3.5c-.2-.2-.5-.2-.7 0s-.2.5 0 .7L3.3 4 .5 6.7c-.2.2-.2.5 0 .7.1.1.2.1.4.1s.3-.1.4-.2L4 4.7l2.7 2.7c.1.1.2.1.4.1s.3-.1.4-.2c.2-.2.2-.5 0-.7L4.8 4z"/></svg>');
    opacity: 1;
    transform: translateY(-50%) scale(1);
}

/* --- reCAPTCHA & Submit Button --- */
.g-recaptcha { margin: 0 auto 1.5rem auto; width: fit-content; }
#aaf-submit-button { 
    width: 100%; 
    background-image: linear-gradient(45deg, var(--aaf-primary-color) 0%, var(--aaf-secondary-color) 100%);
    color: #fff; 
    border: none; 
    padding: 1rem; 
    font-size: 1.1rem; 
    font-weight: 700; 
    border-radius: 8px; 
    cursor: pointer; 
    transition: var(--aaf-transition);
    box-shadow: 0 4px 15px rgba(13, 110, 253, 0.3);
}
#aaf-submit-button:hover { 
    transform: translateY(-3px); 
    box-shadow: 0 8px 25px rgba(13, 110, 253, 0.4);
}
#aaf-submit-button:active { transform: translateY(0); box-shadow: 0 4px 15px rgba(13, 110, 253, 0.3); }
#aaf-submit-button:disabled { background-image: none; background-color: #999; cursor: not-allowed; box-shadow: none; }

/* --- SweetAlert Custom Styles --- */
.aaf-swal-button {
    background-color: var(--aaf-primary-color) !important;
    border-radius: 6px !important;
    padding: 0.7rem 1.8rem !important;
    transition: var(--aaf-transition) !important;
}
.aaf-swal-button:hover {
    transform: scale(1.05) !important;
}
.swal2-html-container ul { margin: 0 !important; padding: 0 !important; }
.swal2-html-container li { margin-bottom: 0.5rem; }

/* --- Responsive Design --- */
@media (max-width: 992px) {
    .aaf-hero-section { padding: 5rem 1.5rem; }
}

@media (max-width: 768px) {
    .aaf-hero-content h1 { font-size: 2.5rem; }
    .aaf-hero-content p { font-size: 1.1rem; }
    .aaf-form-container { padding: 2rem; }
    .aaf-split { grid-template-columns: 1fr; gap: 1.5rem; }
    .aaf-form-header h2 { font-size: 1.8rem; }
}

@media (max-width: 480px) {
    .aaf-hero-section { padding: 4rem 1rem; }
    .aaf-form-container { padding: 1.5rem; margin: 2rem auto; }
    .aaf-form-group::after { top: calc(50% + 8px); }
}
