body {
    display: flex;
    align-items: center;
    justify-content: center;
}

#page_content {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 410px;
}

#page-content_wrapper {
    width: 95%;
    flex-direction: column;
    display: flex;
    gap: 18px;
}

#title-area {
    display: flex;
    /* 垂直 */
    align-items: center;
    /*  */
    justify-content: center;

    div {
        width: fit-content;
    }

}

h1 {
    font-style: normal;
    font-weight: bold;
    font-size: 18px;
    color: var(--color-text);
    line-height: 1.9;
}

h2 {
    font-style: normal;
    font-weight: bold;
    font-size: 15px;
    color: var(--color-text);
}

#payment-form {
    width: 100%;
}

#cart-summary-empty {
    text-align: center;
    color: var(--color-text-hint);
    padding: 20px 0;
    font-size: 14px;
}

/* ===== Page Overrides ===== */
.form-section {
    gap: 24px;
}

.form-fields {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* ===== Page-specific layout overrides ===== */
.form-group--zip {
    flex: 0 0 52%;
}

.form-group--pref {
    flex: 1;
    min-width: 0;
}

/* ===== Responsive: narrow phones ===== */
@media (max-width: 360px) {
    .form-row {
        flex-direction: column;
        gap: 0;
    }
    .form-row .form-group {
        padding-bottom: 16px;
    }
    .form-row .form-group:last-child {
        padding-bottom: 0;
    }
    .form-group--zip {
        flex: none;
        width: 60%;
    }
    .form-group--pref {
        flex: none;
        width: 55%;
    }
}

.mail_attention {
    padding-bottom: 50px;
}

@view-transition {
    navigation: auto;
}