:root {
    --color-primary: #F1592A;
    --color-primary-80: rgba(241, 89, 42, 0.8);
}

body {
    background-color: var(--color-primary-80);
    background-image: url("../img/profile_pic.5fdc8bbab9ee.svg");
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: auto 50vh;
}

.main {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding-top: 5vh;
}


.main > .container {
    max-width: 640px;
    padding: 0 16px;
}

body.profile-page .main > .container {
    max-width: 1200px;
}

.box {
    border-radius: 28px;
    padding: 48px;
}

.box h1 {
    color: #222;
    font-size: 2em;
    margin-top: 0;
}

.account-details {
    padding: 24px;
    border: 1px solid #ddd;
    border-radius: 12px;
}

.account-details__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.account-details__header h2 {
    margin: 0;
    color: #333;
    font-size: 1.25em;
}

.account-details__header .btn {
    flex-shrink: 0;
    margin: 0;
}

.account-details__fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 24px;
    margin: 24px 0;
}

.account-details__field dt {
    margin-bottom: 4px;
    color: #777;
    font-size: 0.8em;
}

.account-details__field dd {
    margin: 0;
    color: #333;
    font-weight: 600;
    overflow-wrap: anywhere;
}

.account-details__actions {
    display: flex;
    justify-content: center;
}

.account-details__actions .btn {
    margin: 0;
}

.danger-zone {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-top: 3em;
    padding: 24px;
    border: 1px solid #e7a0a5;
    border-radius: 12px;
    background-color: #fff3f3;
}

.danger-zone h2 {
    margin: 0 0 12px;
    color: #b42332;
    font-size: 0.675em;
    font-weight: 750;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.danger-zone__action {
    margin: 0 0 4px;
    color: #333;
    font-size: 0.9em;
    font-weight: 700;
}

.danger-zone__help {
    margin: 0;
    color: #777;
    font-size: 0.8em;
}

.danger-zone .btn--alert {
    flex-shrink: 0;
    margin: 0;
}

@media (max-width: 600px) {
    .account-details {
        padding: 16px;
    }

    .account-details__fields {
        grid-template-columns: 1fr;
    }

    .danger-zone {
        align-items: stretch;
        flex-direction: column;
    }

    .danger-zone .btn--alert {
        align-self: flex-end;
    }
}

.register-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 16px;
}

.register-form > p {
    margin: 0;
}

.register-form > p:nth-of-type(3),
.register-form > p:nth-of-type(4),
.register-form > .horizontal-center {
    grid-column: 1 / -1;
}

.btn--account-primary {
    background-color: #D8471F;
    border-color: #D8471F;
    color: #fff;
    margin-top: 16px;
    transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.btn--account-primary:hover {
    background-color: #BF3D19;
    border-color: #BF3D19;
    color: #fff;
    transform: translateY(-1px);
}

.btn--account-primary:focus-visible {
    outline: 3px solid rgba(216, 71, 31, 0.35);
    outline-offset: 3px;
}

.login-links {
    font-size: small;

    margin: 24px 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.login-divider {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 24px;
    color: #777;
    font-size: 0.875em;
    white-space: nowrap;
}

.login-divider::before,
.login-divider::after {
    content: "";
    flex: 1;
    border-top: 1px solid #ddd;
}

.text-muted {
    color: #999;
    font-size: 0.7em;
    font-weight: 300;
}