/* Theme-aware request access container */
.request-access-container {
    max-width: 480px;
    margin: 60px auto 0 auto;
    border-radius: 18px;
    box-shadow: 0 8px 32px rgba(102,126,234,0.13);
    padding: 38px 32px 32px 32px;
    text-align: left;
}
.site-light .request-access-container {
    background: rgba(255,255,255,0.98);
    color: var(--bs-body-color, #212121);
}
.site-dark .request-access-container {
    background: rgba(33,33,33,0.98);
    color: var(--bs-body-color, #ECEFF1);
}
/* Title and description theme overrides */
.request-access-title {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 18px;
    text-align: center;
}
.site-light .request-access-title {
    color: var(--bs-primary, #1976D2);
}
.site-dark .request-access-title {
    color: var(--bs-primary, #64B5F6);
}
.request-access-desc {
    font-size: 1.1rem;
    margin-bottom: 28px;
    text-align: center;
}
.site-light .request-access-desc {
    color: #555;
}
.site-dark .request-access-desc {
    color: #A5D6A7;
}
.form-group { margin-bottom: 18px; }
label {
    font-weight: 600;
    margin-bottom: 6px;
    display: block;
}
.site-light label {
    color: #2c3e50;
}
.site-dark label {
    color: #ECEFF1;
}
input, textarea {
    width: 100%;
    padding: 10px 12px;
    border-radius: 7px;
    font-size: 1rem;
    margin-bottom: 6px;
    transition: border 0.2s, background 0.2s;
}
.site-light input, .site-light textarea {
    border: 1px solid #ccc;
    background: #f8f9fa;
    color: #212121;
}
.site-dark input, .site-dark textarea {
    border: 1px solid #555;
    background: #263238;
    color: #ECEFF1;
}
input:focus, textarea:focus {
    outline: none;
}
.site-light input:focus, .site-light textarea:focus {
    border: 1.5px solid #1976D2;
}
.site-dark input:focus, .site-dark textarea:focus {
    border: 1.5px solid #64B5F6;
}
/* Button theme overrides */
.btn-submit {
    border: none;
    border-radius: 50px;
    padding: 12px 32px;
    font-weight: 700;
    font-size: 1.1rem;
    cursor: pointer;
    transition: all 0.2s;
    width: 100%;
    margin-top: 10px;
}
.site-light .btn-submit {
    background: linear-gradient(135deg, #1976D2, #43A047);
    color: #fff;
}
.site-dark .btn-submit {
    background: linear-gradient(135deg, #64B5F6, #A5D6A7);
    color: #212121;
}
.btn-submit:hover {
    transform: translateY(-2px) scale(1.03);
}
.site-light .btn-submit:hover {
    background: linear-gradient(135deg, #43A047, #1976D2);
}
.site-dark .btn-submit:hover {
    background: linear-gradient(135deg, #A5D6A7, #64B5F6);
}
/* Success and error message theme overrides */
.success-message {
    font-weight: 600;
    margin-bottom: 18px;
    text-align: center;
}
.site-light .success-message {
    color: #27ae60;
}
.site-dark .success-message {
    color: #81C784;
}
.error-message {
    font-weight: 600;
    margin-bottom: 18px;
    text-align: center;
}
.site-light .error-message {
    color: #e74c3c;
}
.site-dark .error-message {
    color: #FF8A65;
}
