/* Bauhaus styling shared by the Account area pages (dashboard, parents, students, courses) */

.cms-bauhaus .account-form {
    max-width: 56rem;
}

/* Notice shown when checkout requires a form */
.cms-bauhaus .account-form__notice {
    background: var(--bauhaus-yellow);
    border: 3px solid var(--bauhaus-black);
    box-shadow: 4px 4px 0 var(--bauhaus-black);
    padding: 1rem 1.25rem;
    margin-bottom: 1.5rem;
    font-weight: 500;
    max-width: 56rem;
}

.cms-bauhaus .account-form__notice strong {
    display: block;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

/* Alerts */
.cms-bauhaus .account-form__alert {
    border: 3px solid var(--bauhaus-black);
    border-radius: 0;
    padding: 0.85rem 1.25rem;
    margin-bottom: 1.25rem;
    font-weight: 500;
    background: var(--bauhaus-white);
}

.cms-bauhaus .account-form__alert--success {
    border-left: 10px solid var(--bauhaus-green);
}

.cms-bauhaus .account-form__section-title {
    font-size: 1.1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin: 0 0 1rem;
}

/* Cards */
.cms-bauhaus .account-form__card {
    background: var(--bauhaus-white);
    border: 3px solid var(--bauhaus-black);
    border-radius: 0;
    margin-bottom: 1.5rem;
}

.cms-bauhaus .account-form__card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    border-bottom: 3px solid var(--bauhaus-black);
    padding: 0.85rem 1.25rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-size: 0.95rem;
    color: var(--bauhaus-white);
}

.cms-bauhaus .account-form__card-header--red {
    background: var(--bauhaus-red);
}

.cms-bauhaus .account-form__card-header--blue {
    background: var(--bauhaus-blue);
}

.cms-bauhaus .account-form__card-header--yellow {
    background: var(--bauhaus-yellow);
    color: var(--bauhaus-black);
}

.cms-bauhaus .account-form__card-header--black {
    background: var(--bauhaus-black);
}

.cms-bauhaus .account-form__card-body {
    padding: 1.25rem;
}

.cms-bauhaus .account-form__card-footer {
    background: var(--bauhaus-cream);
    border-top: 3px solid var(--bauhaus-black);
    padding: 0.85rem 1.25rem;
}

/* Form controls */
.cms-bauhaus .account-form .form-label {
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 0.8rem;
    margin-bottom: 0.35rem;
}

.cms-bauhaus .account-form .form-control,
.cms-bauhaus .account-form .form-select,
.cms-bauhaus .account-form .input-group-text {
    border: 2px solid var(--bauhaus-black);
    border-radius: 0;
    font-family: inherit;
}

.cms-bauhaus .account-form .form-control:focus,
.cms-bauhaus .account-form .form-select:focus {
    border-color: var(--bauhaus-blue);
    box-shadow: 3px 3px 0 var(--bauhaus-blue);
}

.cms-bauhaus .account-form .form-control:disabled {
    background: var(--bauhaus-gray);
}

.cms-bauhaus .account-form .form-text {
    color: #555;
}

.cms-bauhaus .account-form .form-check-input {
    border: 2px solid var(--bauhaus-black);
    border-radius: 0;
}

.cms-bauhaus .account-form .form-check-input:checked {
    background-color: var(--bauhaus-blue);
    border-color: var(--bauhaus-black);
}

.cms-bauhaus .account-form .form-check-label {
    font-weight: 500;
}

/* Buttons */
.cms-bauhaus .account-form__btn {
    display: inline-block;
    border: 3px solid var(--bauhaus-black);
    border-radius: 0;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-size: 0.85rem;
    padding: 0.6rem 1.5rem;
    box-shadow: 3px 3px 0 var(--bauhaus-black);
    text-decoration: none;
    transition: transform 0.12s ease, box-shadow 0.12s ease, background 0.12s ease, color 0.12s ease;
}

.cms-bauhaus .account-form__btn:hover:not(:disabled) {
    transform: translate(-2px, -2px);
    box-shadow: 5px 5px 0 var(--bauhaus-black);
}

.cms-bauhaus .account-form__btn:active:not(:disabled) {
    transform: translate(1px, 1px);
    box-shadow: 1px 1px 0 var(--bauhaus-black);
}

.cms-bauhaus .account-form__btn:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

.cms-bauhaus .account-form__btn--primary {
    background: var(--bauhaus-blue);
    color: var(--bauhaus-white);
}

.cms-bauhaus .account-form__btn--primary:hover:not(:disabled) {
    background: var(--bauhaus-blue);
    color: var(--bauhaus-white);
}

.cms-bauhaus .account-form__btn--outline {
    background: var(--bauhaus-white);
    color: var(--bauhaus-black);
}

.cms-bauhaus .account-form__btn--outline:hover:not(:disabled) {
    background: var(--bauhaus-yellow);
    color: var(--bauhaus-black);
}

.cms-bauhaus .account-form__btn--sm {
    font-size: 0.7rem;
    padding: 0.3rem 0.75rem;
    box-shadow: 2px 2px 0 var(--bauhaus-black);
}

.cms-bauhaus .account-form__btn--remove {
    background: var(--bauhaus-white);
    color: var(--bauhaus-red);
}

.cms-bauhaus .account-form__btn--remove:hover:not(:disabled) {
    background: var(--bauhaus-red);
    color: var(--bauhaus-white);
}

/* Email list */
.cms-bauhaus .account-form__email-list {
    list-style: none;
    padding: 0;
    margin: 0 0 1rem;
}

.cms-bauhaus .account-form__email-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    border: 2px solid var(--bauhaus-black);
    background: var(--bauhaus-cream);
    padding: 0.5rem 0.85rem;
    margin-bottom: 0.5rem;
    font-weight: 500;
}

/* Divider inside cards */
.cms-bauhaus .account-form__divider {
    border: none;
    border-top: 2px solid var(--bauhaus-black);
    opacity: 1;
    margin: 0.25rem 0;
}

/* ------------------------------------------------------------------ */
/* Card grids (dashboard, students list, ongoing courses)              */
/* ------------------------------------------------------------------ */

.cms-bauhaus .account-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: var(--bauhaus-white);
    border: 3px solid var(--bauhaus-black);
    border-radius: 0;
    color: var(--bauhaus-black);
    text-decoration: none;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

a.account-card:hover,
.cms-bauhaus a.account-card:hover {
    transform: translate(-4px, -4px);
    box-shadow: 4px 4px 0 var(--bauhaus-black);
    color: var(--bauhaus-black);
    text-decoration: none;
}

.cms-bauhaus .account-card__header {
    border-bottom: 3px solid var(--bauhaus-black);
    padding: 0.85rem 1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-size: 0.95rem;
    color: var(--bauhaus-white);
    background: var(--bauhaus-blue);
}

.cms-bauhaus .account-card__header--red {
    background: var(--bauhaus-red);
}

.cms-bauhaus .account-card__header--yellow {
    background: var(--bauhaus-yellow);
    color: var(--bauhaus-black);
}

.cms-bauhaus .account-card__header--black {
    background: var(--bauhaus-black);
}

/* Rotate header colors within a grid, matching the CMS card treatment */
.cms-bauhaus .account-card-grid .col:nth-child(3n+1) .account-card__header {
    background: var(--bauhaus-red);
}

.cms-bauhaus .account-card-grid .col:nth-child(3n+2) .account-card__header {
    background: var(--bauhaus-blue);
}

.cms-bauhaus .account-card-grid .col:nth-child(3n) .account-card__header {
    background: var(--bauhaus-yellow);
    color: var(--bauhaus-black);
}

.cms-bauhaus .account-card__body {
    padding: 1rem;
    flex: 1;
}

.cms-bauhaus .account-card__footer {
    background: var(--bauhaus-cream);
    border-top: 3px solid var(--bauhaus-black);
    padding: 0.75rem 1rem;
}

/* Muted/disabled placeholder cards (features not yet available) */
.cms-bauhaus .account-card--disabled {
    opacity: 0.55;
    background: var(--bauhaus-gray);
}

.cms-bauhaus .account-card--attention {
    box-shadow: 6px 6px 0 var(--bauhaus-red);
}

/* Dashed "add" card (students, parents) */
.cms-bauhaus .account-add-card {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    min-height: 8rem;
    border: 2px dashed var(--bauhaus-black);
    border-radius: 0;
    background: var(--bauhaus-white);
    color: var(--bauhaus-blue);
    text-decoration: none;
    font-weight: 600;
    padding: 0.75rem 1rem;
}

.cms-bauhaus .account-add-card:hover,
.cms-bauhaus .account-add-card:focus {
    color: var(--bauhaus-blue);
    text-decoration: none;
    background: rgba(29, 80, 162, 0.06);
}
