body.sf-account-page {
    color-scheme: light;
    --sf-color-canvas: #f4eee6;
    --sf-color-surface: #f6f2ed;
    --sf-color-surface-raised: #fff;
    --sf-color-ink: #171513;
    --sf-color-ink-muted: #68615a;
    --sf-color-border: #d8d0c7;
    --sf-color-action: #171513;
    --sf-color-action-hover: #302d29;
    --sf-color-on-action: #fff;
    background: #f4eee6;
}

body.sf-account-page .sf-contact-bubbles {
    display: none;
}

.sf-shell--compact {
    min-height: 100dvh;
}

.sf-header--compact {
    position: relative;
    background: rgb(255 253 250 / 0.96);
}

.sf-header__inner--compact {
    min-height: 3.5rem;
    padding-block: var(--sf-space-2);
}

.sf-header__inner--compact .sf-header__brand img {
    width: 7.5rem;
}

.sf-header__inner--compact .sf-header__actions {
    align-items: center;
}

.sf-header__back {
    display: none;
    white-space: nowrap;
}

.sf-header-profile-menu { position: relative; }
.sf-header-profile-menu summary {
    display: grid;
    width: var(--sf-touch-target);
    height: var(--sf-touch-target);
    border-radius: 50%;
    place-items: center;
    background: #25211e;
    color: #fff;
    cursor: pointer;
    font-family: Georgia, "Times New Roman", serif;
    font-size: .78rem;
    list-style: none;
}
.sf-header-profile-menu summary .sf-header-avatar { width: 100%; height: 100%; border: 0; }
.sf-header-profile-menu summary::-webkit-details-marker { display: none; }
.sf-header-profile-menu > nav {
    position: absolute;
    z-index: 30;
    top: calc(100% + .45rem);
    right: 0;
    display: grid;
    width: 12.5rem;
    overflow: hidden;
    border: 1px solid #d8d0c7;
    border-radius: .65rem;
    box-shadow: 0 .8rem 2rem rgb(52 42 33 / .15);
    background: #fff;
}
.sf-header-profile-menu > nav :is(a, button) {
    width: 100%;
    min-height: 2.7rem;
    align-content: center;
    border: 0;
    border-bottom: 1px solid #eee8e2;
    padding: .55rem .8rem;
    background: #fff;
    color: #292622;
    font: inherit;
    font-size: .8rem;
    font-weight: 700;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
}
.sf-header-profile-menu > nav :is(a, button):hover { background: #f4efe9; }

.sf-profile-photo-heading { display: flex; align-items: center; gap: 1rem; }
.sf-profile-photo-preview { display: block; width: 5rem; height: 5rem; flex: 0 0 auto; border-radius: 50%; object-fit: cover; }
.sf-profile-photo-preview--initials { align-content: center; background: #25211e; color: #fff; font: 700 1.25rem Georgia, "Times New Roman", serif; text-align: center; }
.sf-file-field { display: grid; gap: .45rem; font-weight: 700; }
.sf-file-field input { min-height: var(--sf-control-lg); border: 1px solid var(--sf-color-border); border-radius: var(--sf-radius-control); padding: .55rem; background: #fff; font: inherit; }

.sf-shell__main--compact {
    width: 100%;
    max-width: none;
    padding: 0;
}

.sf-account-access {
    min-width: 0;
}

.sf-account-access > .sf-alert {
    width: min(calc(100% - 2rem), 38rem);
    margin: 1rem auto;
}

.sf-account-stage {
    display: grid;
    min-height: calc(100dvh - 3.5rem);
    background: #f4eee6;
}

.sf-account-editorial {
    position: relative;
    display: grid;
    min-height: 9rem;
    overflow: hidden;
    color: #fff;
}

.sf-account-editorial__media,
.sf-account-editorial__media img,
.sf-account-editorial__shade {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.sf-account-editorial__media img {
    object-fit: cover;
    object-position: center 38%;
}

.sf-account-editorial__shade {
    background: linear-gradient(90deg, rgb(20 17 14 / .8), rgb(20 17 14 / .12));
}

.sf-account-editorial__copy {
    position: relative;
    z-index: 1;
    display: grid;
    width: min(100%, 36rem);
    align-content: center;
    padding: var(--sf-space-5);
    gap: var(--sf-space-2);
}

.sf-account-editorial__copy p {
    margin: 0;
    text-shadow: 0 1px 1rem rgb(0 0 0 / .45);
}

.sf-account-editorial__title {
    max-width: 19rem;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.65rem, 6vw, 3.7rem);
    line-height: .98;
    letter-spacing: -.035em;
}

.sf-account-editorial__title em {
    font-weight: 400;
}

.sf-account-editorial__back {
    display: none;
    width: fit-content;
    margin-top: 1rem;
    font-weight: 650;
}

.sf-account-card {
    width: min(100%, 38rem);
    margin: 0 auto;
    background: rgb(255 255 255 / .96);
}

.sf-account-tabs {
    display: grid;
    border-bottom: 1px solid #e2ddd7;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sf-account-tab {
    position: relative;
    display: grid;
    min-height: var(--sf-row-compact);
    place-items: center;
    color: #6c6660;
    font-size: 1rem;
    font-weight: 700;
    text-decoration: none;
}

.sf-account-tab[aria-selected="true"] {
    color: #171513;
}

.sf-account-tab[aria-selected="true"]::after {
    position: absolute;
    right: 25%;
    bottom: -1px;
    left: 25%;
    height: 2px;
    background: #171513;
    content: "";
}

.sf-account-card__content {
    padding: var(--sf-space-5);
    gap: var(--sf-space-4);
}

.sf-account-card__logo {
    width: min(11rem, 54%);
    height: auto;
    margin: 0 auto .25rem;
}

.sf-account-card__heading {
    justify-items: center;
    gap: .3rem;
    text-align: center;
}

.sf-account-card__heading :is(h1, p) {
    margin: 0;
}

.sf-account-card__heading h1 {
    font-size: clamp(1.55rem, 5vw, 2rem);
}

.sf-social-access {
    display: grid;
    gap: var(--sf-space-2);
}

.sf-social-button {
    display: flex;
    min-height: var(--sf-touch-target);
    align-items: center;
    justify-content: center;
    border: 1px solid #cec8c1;
    border-radius: .45rem;
    padding: var(--sf-space-2) var(--sf-space-4);
    gap: var(--sf-space-3);
    background: #fff;
    color: #24211e;
    font-size: 1rem;
    font-weight: 550;
    text-decoration: none;
    transition: border-color var(--sf-motion-fast) var(--sf-ease), background var(--sf-motion-fast) var(--sf-ease);
}

.sf-social-button:hover {
    border-color: #8c857e;
    background: #faf8f5;
}

.sf-social-button__icon,
.sf-social-button__icon svg {
    width: 1.45rem;
    height: 1.45rem;
    flex: 0 0 auto;
}

.sf-account-divider {
    display: grid;
    align-items: center;
    color: #756e67;
    font-size: .9rem;
    grid-template-columns: 1fr auto 1fr;
    gap: var(--sf-space-3);
}

.sf-account-divider::before,
.sf-account-divider::after {
    height: 1px;
    background: #ddd6ce;
    content: "";
}

.sf-account-form {
    gap: var(--sf-space-4);
}

.sf-account-form .sf-field {
    display: grid;
    gap: var(--sf-space-1);
}

.sf-account-form .sf-field__label {
    font-size: .92rem;
}

.sf-account-form .sf-field__control {
    min-height: var(--sf-touch-target);
    border-color: #cbc5be;
    border-radius: .45rem;
    background: #fff;
    padding: var(--sf-space-2) var(--sf-space-4);
}

.sf-field__input-wrap--password {
    position: relative;
}

.sf-field__input-wrap--password .sf-field__control {
    width: 100%;
    padding-right: 3.4rem;
}

.sf-password-toggle {
    position: absolute;
    top: 50%;
    right: .35rem;
    display: grid;
    width: 2.75rem;
    height: 2.75rem;
    translate: 0 -50%;
    border: 0;
    border-radius: 50%;
    place-items: center;
    background: transparent;
    color: #171513;
    cursor: pointer;
}

.sf-password-toggle:hover {
    background: #f3efea;
}

.sf-password-toggle svg {
    width: 1.35rem;
    height: 1.35rem;
}

.sf-login-options {
    display: flex;
    min-height: 2.75rem;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .65rem 1rem;
    font-size: .9rem;
}

.sf-remember-option {
    display: inline-flex;
    min-height: 2.75rem;
    align-items: center;
    gap: .6rem;
    cursor: pointer;
}

.sf-remember-option input,
.sf-consent-option--legal input {
    width: 1.25rem;
    height: 1.25rem;
    accent-color: #171513;
}

.sf-account-form > .sf-button--primary {
    width: 100%;
    min-height: var(--sf-control-lg);
    border-radius: .4rem;
    font-size: 1rem;
}

.sf-account-switch,
.sf-account-guest,
.sf-help-text {
    font-size: .9rem;
    text-align: center;
}

.sf-account-switch {
    margin: var(--sf-space-3) 0 0;
}

.sf-account-switch a {
    font-weight: 700;
}

.sf-account-guest {
    width: fit-content;
    min-height: 2.75rem;
    align-content: center;
    justify-self: center;
    margin-top: .15rem;
    color: #4f4944;
}

.sf-consent-option--legal {
    font-size: .88rem;
}

.sf-password-requirements {
    display: grid;
    margin: -.2rem 0 .15rem;
    padding: 0;
    color: #706a64;
    font-size: .78rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .25rem .75rem;
    list-style: none;
}

.sf-password-requirements li::before {
    display: inline-block;
    width: 1.15rem;
    content: "○";
}

.sf-password-requirements li[data-met="true"] {
    color: #146c43;
}

.sf-password-requirements li[data-met="true"]::before {
    content: "✓";
    font-weight: 800;
}

.sf-account-authenticated {
    width: min(calc(100% - 2rem), 50rem);
    margin: 0 auto;
    padding: var(--sf-space-6) 0 var(--sf-space-7);
}

.sf-account-authenticated > header :is(h1, p) {
    margin: 0;
}

.sf-account-authenticated .sf-detail-section {
    border: 1px solid var(--sf-color-border);
    border-radius: var(--sf-radius-card);
    background: var(--sf-color-surface-raised);
    padding: var(--sf-space-5);
}

/* Authenticated customer space */
.sf-account-access--authenticated {
    min-height: calc(100dvh - 3.5rem);
    background:
        radial-gradient(circle at 88% 5%, rgb(197 168 132 / .16), transparent 24rem),
        #f6f2ed;
}

.sf-account-shell {
    width: min(calc(100% - 1.5rem), 88rem);
    margin: 0 auto;
    padding: 1rem 0 3.5rem;
}

.sf-account-mobile-nav {
    display: flex;
    overflow-x: auto;
    margin: 0 -.75rem 1rem;
    padding: 0 .75rem .5rem;
    gap: .45rem;
    scrollbar-width: none;
}

.sf-account-mobile-nav::-webkit-scrollbar { display: none; }

.sf-account-mobile-nav a {
    min-height: 2.5rem;
    align-content: center;
    flex: 0 0 auto;
    border: 1px solid #d9d1c8;
    border-radius: 999px;
    padding: .45rem .85rem;
    background: rgb(255 255 255 / .72);
    color: #554f49;
    font-size: .8rem;
    font-weight: 700;
    text-decoration: none;
}

.sf-account-mobile-nav a.is-active {
    border-color: #171513;
    background: #171513;
    color: #fff;
}

.sf-account-sidebar { display: none; }

.sf-account-shell__content { min-width: 0; }

.sf-account-dashboard {
    display: grid;
    min-width: 0;
    gap: 1.1rem;
}

.sf-account-profile {
    display: grid;
    align-items: center;
    border-bottom: 1px solid #d9d1c8;
    padding: .25rem 0 1rem;
    grid-template-columns: auto minmax(0, 1fr);
    gap: .8rem;
}

.sf-account-avatar {
    display: grid;
    width: 3.35rem;
    height: 3.35rem;
    border: 1px solid #c9bdae;
    border-radius: 50%;
    place-items: center;
    background: #27231f;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.05rem;
    letter-spacing: .04em;
}
.sf-account-avatar:is(img) { object-fit: cover; }

.sf-account-profile__identity { min-width: 0; }
.sf-account-profile__identity :is(p, h1) { margin: 0; }
.sf-account-profile__identity h1 { margin-top: .12rem; font-size: clamp(1.5rem, 5vw, 2rem); letter-spacing: -.025em; }
.sf-account-profile__email { overflow: hidden; color: #635c55; font-size: .86rem; text-overflow: ellipsis; white-space: nowrap; }
.sf-account-profile__meta { display: flex; flex-wrap: wrap; margin-top: .3rem !important; gap: .2rem .65rem; color: #716961; font-size: .75rem; }
.sf-account-profile__meta span + span::before { margin-right: .65rem; content: "•"; }
.sf-account-profile__edit { grid-column: 2; width: fit-content; color: #292622; font-size: .82rem; font-weight: 750; }

.sf-account-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .5rem;
}

.sf-account-metrics a {
    display: grid;
    min-width: 0;
    min-height: 5.25rem;
    border: 1px solid #ded6cd;
    border-radius: .7rem;
    padding: .75rem;
    background: rgb(255 255 255 / .82);
    color: #27231f;
    grid-template-columns: 1fr auto;
    text-decoration: none;
}

.sf-account-metrics strong { font-family: Georgia, "Times New Roman", serif; font-size: 1.6rem; font-weight: 500; line-height: 1; }
.sf-account-metrics span:nth-child(2) { align-self: end; overflow-wrap: anywhere; color: #5f5851; font-size: .78rem; }
.sf-account-metrics span:last-child { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
.sf-account-metrics small { align-self: end; color: #82786e; font-size: .67rem; }
.sf-account-metrics .is-pending strong { color: #8f857b; }

.sf-account-dashboard__grid { display: grid; gap: .75rem; }
.sf-account-primary,
.sf-account-benefits,
.sf-account-favorites,
.sf-account-shortcuts,
.sf-account-area {
    border: 1px solid #ddd5cc;
    border-radius: .85rem;
    background: rgb(255 255 255 / .88);
}
.sf-account-primary,
.sf-account-favorites,
.sf-account-shortcuts,
.sf-account-area { padding: .95rem; }

.sf-account-section-heading { display: flex; align-items: end; justify-content: space-between; margin-bottom: .75rem; gap: 1rem; }
.sf-account-section-heading :is(p, h2) { margin: 0; }
.sf-account-section-heading h2 { font-size: 1.08rem; }
.sf-account-section-heading > a { flex: 0 0 auto; color: #423d38; font-size: .78rem; font-weight: 750; }

.sf-account-order-card { display: grid; gap: .85rem; }
.sf-account-order-card__count { margin: 0; font-size: .78rem; font-weight: 750; }
.sf-account-order-card__summary { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }
.sf-account-order-card__summary div { display: grid; min-width: 0; }
.sf-account-order-card__summary div > strong { font-size: 1rem; overflow-wrap: anywhere; }
.sf-account-order-card__summary span { color: #716960; font-size: .76rem; }
.sf-account-order-card__summary > strong { flex: 0 0 auto; font-size: .92rem; }
.sf-account-order-card__status { display: flex; flex-wrap: wrap; margin: 0; gap: .35rem .6rem; color: #5f5851; font-size: .8rem; }
.sf-account-order-card__status span { border-radius: 999px; padding: .2rem .55rem; background: #f0e1c7; color: #664a18; font-weight: 800; }
.sf-account-order-card__items { display: grid; overflow: hidden; margin: 0; padding: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .4rem; list-style: none; }
.sf-account-order-card__items li { min-width: 0; }
.sf-account-order-card__items a { display: grid; min-width: 0; grid-template-columns: 2.1rem minmax(0, 1fr); align-items: center; border: 1px solid #e2dbd3; border-radius: .45rem; color: #3d3732; font-size: .7rem; text-decoration: none; }
.sf-account-order-card__media { display: grid; width: 2.1rem; height: 2.65rem; place-items: stretch; overflow: hidden; border-radius: .4rem 0 0 .4rem; background: #27231f; }
.sf-account-order-card__media > * { grid-area: 1 / 1; }
.sf-account-order-card__media img { width: 100%; height: 100%; object-fit: cover; }
.sf-account-order-card__media > span { display: grid; place-items: center; color: #fff; font: 700 .62rem Georgia, serif; }
.sf-account-order-card__media > [hidden] { display: none; }
.sf-account-order-card__items strong { overflow: hidden; padding: .35rem; text-overflow: ellipsis; white-space: nowrap; }

.sf-account-order-progress { display: grid; margin: .2rem 0 0; padding: 0; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; }
.sf-account-order-progress li { position: relative; display: grid; justify-items: center; color: #8b8279; font-size: .62rem; text-align: center; gap: .3rem; }
.sf-account-order-progress li::before { position: absolute; top: .29rem; right: 50%; left: -50%; height: 1px; background: #d8d0c7; content: ""; }
.sf-account-order-progress li:first-child::before { display: none; }
.sf-account-order-progress span { z-index: 1; width: .65rem; height: .65rem; border: 2px solid #cfc6bc; border-radius: 50%; background: #fff; }
.sf-account-order-progress .is-done,
.sf-account-order-progress .is-current { color: #27231f; font-weight: 750; }
.sf-account-order-progress .is-done::before,
.sf-account-order-progress .is-current::before { background: #27231f; }
.sf-account-order-progress .is-done span,
.sf-account-order-progress .is-current span { border-color: #27231f; background: #27231f; }
.sf-account-order-progress .is-current span { box-shadow: 0 0 0 3px #e9dfd4; }
.sf-account-order-card__footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .65rem; }
.sf-account-order-card__footer > span { color: #625b54; font-size: .75rem; }
.sf-account-order-card__footer .sf-button { min-height: 2.5rem; padding: .45rem .8rem; font-size: .78rem; }

@media (max-width: 31.24rem) {
    .sf-account-order-card__items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sf-account-order-card__items li:nth-child(3) { display: none; }
}

.sf-account-benefits { padding: 1rem; background: #26221f; color: #fff; }
.sf-account-benefits :is(p, h2) { margin: 0; }
.sf-account-benefits .sf-eyebrow { color: #f3ece4; }
.sf-account-benefits h2 { margin-top: .25rem; font-family: Georgia, "Times New Roman", serif; font-size: 1.22rem; font-weight: 500; line-height: 1.15; }
.sf-account-benefits > p:not(.sf-eyebrow) { margin-top: .65rem; color: #ddd5cc; font-size: .8rem; }
.sf-account-benefits a { display: inline-block; margin-top: .8rem; color: #fff; font-size: .78rem; font-weight: 750; }

.sf-account-inline-empty { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; border-top: 1px solid #e3dcd4; padding-top: .75rem; gap: .55rem; }
.sf-account-inline-empty p { margin: 0; color: #655e57; font-size: .82rem; }
.sf-account-inline-empty a { font-size: .8rem; font-weight: 750; }

.sf-account-favorite-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
.sf-account-favorite-card { display: grid; min-width: 0; color: #27231f; gap: .45rem; text-decoration: none; }
.sf-account-favorite-card__media { position: relative; display: grid; aspect-ratio: 4 / 5; overflow: hidden; border-radius: .55rem; place-items: center; background: #eee7df; color: #81766c; font-size: 1.5rem; }
.sf-account-favorite-card__media img { width: 100%; height: 100%; object-fit: cover; }
.sf-account-favorite-card__media small { position: absolute; right: .35rem; bottom: .35rem; border-radius: 999px; padding: .18rem .4rem; background: rgb(255 255 255 / .9); color: #4b453f; font-size: .58rem; font-weight: 800; }
.sf-account-favorite-card > span:last-child { display: grid; min-width: 0; gap: .05rem; }
.sf-account-favorite-card strong { overflow: hidden; font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.sf-account-favorite-card small { color: #776f67; font-size: .66rem; }
.sf-account-favorite-card b { margin-top: .15rem; font-size: .75rem; }

.sf-account-shortcuts > div:last-child { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sf-account-shortcuts > div:last-child a { display: grid; min-height: 4.5rem; align-content: center; border-top: 1px solid #e2dbd3; padding: .7rem .35rem; color: #292622; text-decoration: none; }
.sf-account-shortcuts > div:last-child a:nth-child(odd) { border-right: 1px solid #e2dbd3; padding-right: .7rem; }
.sf-account-shortcuts > div:last-child a:nth-child(even) { padding-left: .7rem; }
.sf-account-shortcuts strong { font-size: .8rem; }
.sf-account-shortcuts span { color: #766e66; font-size: .68rem; }

.sf-account-area { min-height: 28rem; }
.sf-account-area > header { max-width: 43rem; border-bottom: 1px solid #dfd7cf; padding-bottom: 1rem; }
.sf-account-area > header :is(p, h1) { margin: 0; }
.sf-account-area > header h1 { margin: .2rem 0 .35rem; font-size: clamp(1.55rem, 5vw, 2rem); }
.sf-account-area > header > p:last-child { color: #665f58; }
.sf-account-area__state { display: grid; max-width: 45rem; align-items: start; margin-top: 1.25rem; grid-template-columns: auto 1fr; gap: .75rem; }
.sf-account-area__mark { display: grid; width: 2rem; height: 2rem; border-radius: 50%; place-items: center; background: #ede5db; font-weight: 850; }
.sf-account-area__state :is(h2, p) { margin: 0; }
.sf-account-area__state h2 { font-size: 1rem; }
.sf-account-area__state p { margin-top: .3rem; color: #655e57; font-size: .86rem; }
.sf-account-area__actions { display: grid; max-width: 45rem; margin-top: 1.2rem; border-top: 1px solid #e1dad2; }
.sf-account-area__actions a { display: flex; min-height: 3.2rem; align-items: center; justify-content: space-between; border-bottom: 1px solid #e1dad2; color: #282521; font-size: .86rem; font-weight: 750; text-decoration: none; }
.sf-account-connected,
.sf-account-safe-actions,
.sf-account-danger { max-width: 45rem; margin-top: 1.5rem; }
.sf-account-connected h2,
.sf-account-safe-actions h2 { font-size: 1rem; }
.sf-account-connected ul { margin: 0; padding: 0; border-top: 1px solid #e1dad2; list-style: none; }
.sf-account-connected li { display: flex; min-height: 3.5rem; align-items: center; justify-content: space-between; border-bottom: 1px solid #e1dad2; gap: 1rem; }
.sf-account-connected li div { display: grid; }
.sf-account-connected li span { color: #756d65; font-size: .75rem; }
.sf-account-connected li a { font-size: .8rem; font-weight: 750; }
.sf-account-safe-actions p { color: #665f58; font-size: .85rem; }
.sf-account-danger { border-top: 1px solid #d7cfc6; padding-top: 1rem; }
.sf-account-danger summary { min-height: 2.75rem; align-content: center; color: #6c2f2f; cursor: pointer; font-size: .82rem; font-weight: 750; }
.sf-account-danger > div { display: grid; max-width: 32rem; padding: .5rem 0 1rem; gap: .8rem; }
.sf-account-danger p { margin: 0; color: #665f58; font-size: .82rem; }
.sf-account-danger form { display: grid; gap: .75rem; }

.sf-account-addresses { max-width: 52rem; }
.sf-address-feedback { max-width: 45rem; margin: 1rem 0 0; border-left: 3px solid #8a725e; padding: .7rem .85rem; background: #f4eee7; color: #4e4740; font-size: .85rem; }
.sf-address-summary { display: flex; max-width: 45rem; align-items: center; justify-content: space-between; margin-top: 1.2rem; border: 1px solid #ded5cc; border-radius: .7rem; padding: .85rem 1rem; background: #fbf8f4; gap: 1rem; }
.sf-address-summary :is(p, h2, h3) { margin: 0; }
.sf-address-summary :is(h2, h3) { margin-top: .15rem; font-size: 1rem; }
.sf-address-summary > span { display: grid; width: 2rem; height: 2rem; flex: 0 0 auto; border-radius: 50%; place-items: center; background: #25211e; color: #fff; font-weight: 800; }
.sf-address-form { display: grid; max-width: 45rem; margin-top: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; }
.sf-address-form .sf-field { display: grid; align-content: start; gap: .3rem; }
.sf-address-form .sf-field:nth-child(2),
.sf-address-form .sf-field:nth-child(4) { grid-column: 1 / -1; }
.sf-address-form .sf-field__label { font-size: .8rem; font-weight: 750; }
.sf-address-form .sf-field__control { width: 100%; min-height: 2.8rem; border: 1px solid #cfc5bb; border-radius: .45rem; padding: .55rem .7rem; background: #fff; font: inherit; }
.sf-address-form .sf-field__error { margin: 0; color: #8a2727; font-size: .75rem; }
.sf-address-form__actions { display: flex; align-items: center; grid-column: 1 / -1; gap: .8rem; }
.sf-address-form__actions span { color: #6d655e; font-size: .8rem; }
.sf-address-confirm { display: flex; align-items: flex-start; gap: .55rem; color: #3e3934; font-size: .82rem; }
.sf-address-confirm input { width: 1.15rem; height: 1.15rem; flex: 0 0 auto; }
.sf-address-inline-action { display: flex; max-width: 45rem; flex-wrap: wrap; align-items: center; justify-content: space-between; margin-top: .75rem; gap: .65rem; }
.sf-address-inline-action p { max-width: 34rem; margin: 0; color: #665f58; font-size: .8rem; }

@media (max-width: 35rem) {
    .sf-address-form { grid-template-columns: 1fr; }
    .sf-address-form .sf-field { grid-column: 1; }
    .sf-address-form__actions { align-items: stretch; flex-direction: column; }
    .sf-address-form__actions .sf-button { width: 100%; }
}

@media (hover: hover) {
    .sf-account-metrics a:hover,
    .sf-account-favorite-card:hover,
    .sf-account-shortcuts a:hover { translate: 0 -1px; }
    .sf-account-metrics a:hover { border-color: #bfb4a8; }
}

@media (min-width: 48rem) {
    .sf-header__back {
        display: inline-flex;
        align-items: center;
        gap: .45rem;
    }

    .sf-account-stage {
        grid-template-columns: minmax(22rem, 1fr) minmax(28rem, 1fr);
    }

    .sf-account-editorial {
        min-height: calc(100dvh - 3.5rem);
    }

    .sf-account-editorial__shade {
        background: linear-gradient(90deg, rgb(20 17 14 / .56), transparent 75%);
    }

    .sf-account-editorial__copy {
        align-content: center;
        padding: clamp(var(--sf-space-7), 4vw, var(--sf-space-8));
    }

    .sf-account-editorial__copy > p:not(.sf-account-editorial__title) {
        max-width: 23rem;
        font-size: 1rem;
    }

    .sf-account-editorial__back {
        display: inline-flex;
        align-items: center;
        gap: .55rem;
    }

    .sf-account-card {
        align-self: center;
        margin-block: var(--sf-space-6);
        border: 1px solid rgb(206 198 188 / .72);
        border-radius: 1rem;
        box-shadow: 0 1rem 3.2rem rgb(83 65 45 / .1);
    }

    .sf-account-card__content {
        padding: var(--sf-space-6) var(--sf-content-padding-desktop) var(--sf-space-7);
    }

    .sf-account-shell { padding-top: 1.5rem; }
    .sf-account-profile { grid-template-columns: auto minmax(0, 1fr) auto; }
    .sf-account-profile__edit { grid-column: 3; grid-row: 1; }
    .sf-account-metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .sf-account-metrics a { min-height: 5.8rem; }
    .sf-account-dashboard__grid { grid-template-columns: minmax(0, 1.75fr) minmax(14rem, .8fr); }
    .sf-account-benefits { display: grid; align-content: center; }
    .sf-account-favorite-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .sf-account-shortcuts > div:last-child { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .sf-account-shortcuts > div:last-child a { border-right: 1px solid #e2dbd3; padding: .75rem; }
    .sf-account-shortcuts > div:last-child a:last-child { border-right: 0; }
}

@media (min-width: 70rem) {
    .sf-account-stage {
        grid-template-columns: 1fr 1fr;
    }

    .sf-account-card {
        width: min(calc(100% - 5rem), 38rem);
    }

    .sf-account-shell {
        display: grid;
        padding-top: 1.75rem;
        grid-template-columns: 13.25rem minmax(0, 1fr);
        gap: 1.5rem;
    }

    .sf-account-mobile-nav { display: none; }
    .sf-account-sidebar { position: sticky; top: 1rem; display: block; height: fit-content; border-right: 1px solid #dbd3ca; padding-right: 1rem; }
    .sf-account-sidebar__title { display: block; margin-bottom: 1rem; color: #1e1b18; font-family: Georgia, "Times New Roman", serif; font-size: 1.2rem; font-weight: 700; text-decoration: none; }
    .sf-account-sidebar__group + .sf-account-sidebar__group { margin-top: .3rem; }
    .sf-account-sidebar__group summary { min-height: 2rem; align-content: center; color: #776f67; cursor: pointer; font-size: .68rem; font-weight: 800; letter-spacing: .08em; list-style-position: inside; text-transform: uppercase; }
    .sf-account-sidebar ul { display: grid; margin: 0; padding: 0; gap: .08rem; list-style: none; }
    .sf-account-sidebar a:not(.sf-account-sidebar__title) { display: block; border-radius: .4rem; padding: .42rem .55rem; color: #5f5851; font-size: .78rem; text-decoration: none; }
    .sf-account-sidebar a.is-active { background: #e9e0d6; color: #211e1b; font-weight: 800; }
    .sf-account-primary,
    .sf-account-favorites,
    .sf-account-shortcuts,
    .sf-account-area { padding: 1.15rem; }
}

/* Compact profile and preferences */
.sf-account-preferences { display: grid; min-width: 0; gap: .85rem; }
.sf-preferences-page-heading :is(p, h1),
.sf-preferences-profile :is(p, h1),
.sf-preference-panel :is(p, h2) { margin: 0; }

.sf-preferences-profile {
    position: relative;
    display: grid;
    overflow: hidden;
    align-items: center;
    min-height: 10rem;
    border: 1px solid #d8cfc5;
    border-radius: .7rem;
    padding: 1rem;
    gap: .85rem;
    background: linear-gradient(90deg, rgb(255 252 247 / .98) 0 54%, rgb(255 252 247 / .5)), url("/assets/storefront/account/preferences-textile.webp") right center / auto 100% no-repeat;
}
.sf-preferences-profile__identity { display: flex; min-width: 0; align-items: center; gap: 1rem; }
.sf-preferences-profile__identity > div { min-width: 0; }
.sf-preferences-profile__identity h1 { margin-top: .08rem; font-size: clamp(1.3rem, 4vw, 1.8rem); line-height: 1.08; letter-spacing: -.025em; overflow-wrap: anywhere; }
.sf-preferences-profile__name { overflow: hidden; margin-top: .18rem !important; font-family: Georgia, "Times New Roman", serif; font-size: 1rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.sf-preferences-profile__email { overflow: hidden; color: #5f5851; font-size: .86rem; text-overflow: ellipsis; white-space: nowrap; }
.sf-preferences-profile__meta { display: flex; flex-wrap: wrap; margin-top: .3rem !important; gap: .2rem .65rem; color: #756d64; font-size: .72rem; }
.sf-preferences-profile__meta span + span::before { margin-right: .65rem; content: "•"; }
.sf-profile-photo-control { position: relative; display: block; flex: 0 0 auto; border-radius: 50%; cursor: pointer; }
.sf-profile-photo-control .sf-profile-photo-preview { width: 4.8rem; height: 4.8rem; border: 3px solid rgb(255 255 255 / .9); box-shadow: 0 .2rem .8rem rgb(60 43 27 / .12); }
.sf-profile-photo-control__action { position: absolute; right: -.4rem; bottom: -.25rem; border: 1px solid #c8bdb2; border-radius: 999px; padding: .22rem .45rem; background: #fff; color: #292521; font-size: .62rem; font-weight: 800; white-space: nowrap; }
.sf-profile-photo-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; }
.sf-profile-photo-actions .sf-muted { width: 100%; font-size: .7rem; }
.sf-profile-photo-actions .sf-button { min-height: 2.75rem; padding: .45rem .75rem; font-size: .78rem; }

.sf-preferences-sections { display: flex; overflow-x: auto; padding-bottom: .25rem; gap: .35rem; scrollbar-width: none; }
.sf-preferences-sections::-webkit-scrollbar { display: none; }
.sf-preferences-sections a { min-height: 2.5rem; align-content: center; flex: 0 0 auto; border-radius: 999px; padding: .4rem .72rem; color: #514b45; font-size: .76rem; font-weight: 750; text-decoration: none; }
.sf-preferences-sections a:hover { background: #eae1d8; }

.sf-preferences-form { display: grid; gap: .75rem; }
.sf-preferences-grid { display: grid; gap: .75rem; }
.sf-preference-panel { scroll-margin-top: 1rem; border: 1px solid #ded6cd; border-radius: .6rem; padding: 1rem; background: rgb(255 255 255 / .82); }
.sf-preference-panel__heading { display: flex; align-items: start; justify-content: space-between; margin-bottom: .75rem; gap: .75rem; }
.sf-preference-panel__heading h2 { margin-top: .08rem; font-size: 1.08rem; }
.sf-preference-panel__status,
.sf-autosave-label { flex: 0 0 auto; border-radius: 999px; padding: .2rem .45rem; background: #eee7de; color: #665e56; font-size: .63rem; font-weight: 750; }
.sf-preference-panel__intro { margin: -.25rem 0 .75rem !important; color: #686058; font-size: .79rem; }
.sf-preference-fields { display: grid; gap: .7rem; }
.sf-preference-panel .sf-field { gap: .25rem; }
.sf-preference-panel .sf-field__label { font-size: .78rem; }
.sf-preference-panel .sf-field__control { min-height: 2.75rem; border-radius: .4rem; padding-block: .45rem; }
.sf-compact-check { display: flex; min-height: 2.75rem; align-items: center; margin-top: .55rem; gap: .55rem; color: #5f5851; font-size: .75rem; }
.sf-compact-check input { width: 1.1rem; height: 1.1rem; accent-color: #24211e; }
.sf-inline-notice { margin-top: .45rem !important; border-left: 2px solid #af7824; padding-left: .55rem; color: #6d4c18; font-size: .75rem; }
.sf-social-field,
.sf-phone-field { position: relative; min-width: 0; }
.sf-social-field > span,
.sf-phone-field__prefix { position: absolute; z-index: 1; left: .7rem; bottom: .8rem; color: #716960; font-size: .78rem; font-weight: 750; }
.sf-social-field .sf-field__control { padding-left: 1.65rem; }
.sf-phone-field .sf-field__control { padding-left: 4rem; }

.sf-preferences-savebar { position: sticky; z-index: 8; bottom: calc(.5rem + env(safe-area-inset-bottom)); display: flex; align-items: center; justify-content: space-between; border: 1px solid #cfc5ba; border-radius: .65rem; box-shadow: 0 .5rem 1.5rem rgb(55 43 31 / .12); padding: .55rem; gap: .65rem; background: rgb(255 253 250 / .96); backdrop-filter: blur(12px); }
.sf-preferences-savebar p { display: grid; margin: 0; color: #716960; font-size: .7rem; }
.sf-preferences-savebar strong { color: #7c4f13; }
.sf-preferences-savebar .sf-button { min-height: 2.75rem; flex: 0 0 auto; padding: .5rem .8rem; font-size: .8rem; }

.sf-preferences-grid--secondary { margin-top: .1rem; }
.sf-preference-panel--address { scroll-margin-top: 1rem; }
.sf-preference-panel--address > header { margin-bottom: .6rem; }
.sf-preference-panel--address > header > div > p:last-child { max-width: 42rem; margin-top: .2rem; color: #686058; font-size: .78rem; }
.sf-preference-panel--address .sf-address-feedback { max-width: none; margin-top: 0; }
.sf-preference-panel--address .sf-address-summary { max-width: none; margin-top: 0; padding: .65rem .75rem; }
.sf-preference-panel--address .sf-address-summary > span { width: 1.75rem; height: 1.75rem; }
.sf-preference-panel--address .sf-address-form { max-width: none; margin-top: .7rem; gap: .65rem; }
.sf-preference-panel--address .sf-account-danger { max-width: none; margin-top: .75rem; }
.sf-account-danger--compact { padding-top: .45rem; }
.sf-account-danger--compact summary { min-height: 2.5rem; }
.sf-switch-row { display: flex; min-height: 3.55rem; align-items: center; justify-content: space-between; border-top: 1px solid #e6dfd7; gap: 1rem; cursor: pointer; }
.sf-switch-row > span { display: grid; gap: .08rem; }
.sf-switch-row strong { font-size: .8rem; }
.sf-switch-row small { color: #716960; font-size: .68rem; }
.sf-switch-row input { width: 2.65rem; height: 1.45rem; flex: 0 0 auto; appearance: none; border: 1px solid #bdb4aa; border-radius: 999px; background: #d9d2ca; cursor: pointer; transition: background .15s ease; }
.sf-switch-row input::before { display: block; width: 1.05rem; height: 1.05rem; margin: .14rem; border-radius: 50%; box-shadow: 0 1px 3px rgb(0 0 0 / .22); background: #fff; content: ""; transition: translate .15s ease; }
.sf-switch-row input:checked { border-color: #292521; background: #292521; }
.sf-switch-row input:checked::before { translate: 1.18rem 0; }
.sf-switch-row input:focus-visible { outline: 3px solid rgb(113 76 28 / .28); outline-offset: 2px; }
.sf-inline-link { display: flex; min-height: 2.75rem; align-items: center; justify-content: space-between; margin-top: .55rem; border-top: 1px solid #e6dfd7; color: #35312d; font-size: .78rem; font-weight: 750; text-decoration: none; }
.sf-style-summary { display: grid; margin-top: .75rem; border-block: 1px solid #e6dfd7; padding: .55rem 0; grid-template-columns: 1fr auto; gap: .3rem 1rem; font-size: .74rem; }
.sf-style-summary span { color: #716960; }
.sf-style-summary strong { font-size: .72rem; }
.sf-privacy-shortcut { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .8rem; }
.sf-privacy-shortcut > div { max-width: 43rem; }
.sf-privacy-shortcut h2 { margin: .08rem 0 .25rem; font-size: 1.08rem; }
.sf-privacy-shortcut p:last-child { color: #686058; font-size: .78rem; }
.sf-privacy-shortcut .sf-button { min-height: 2.75rem; flex: 0 0 auto; }

@media (min-width: 48rem) {
    .sf-preferences-profile { min-height: 9.25rem; padding: 1rem 1.15rem; grid-template-columns: minmax(0, 1fr) auto; }
    .sf-profile-photo-actions { max-width: 15rem; justify-content: flex-end; }
    .sf-profile-photo-actions .sf-muted { text-align: right; }
    .sf-preferences-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sf-preference-panel--wide { grid-column: 1 / -1; }
    .sf-preference-fields--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sf-preference-fields--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .sf-preferences-savebar { justify-self: end; width: min(100%, 31rem); }
}

@media (max-width: 35rem) {
    .sf-preferences-profile { background: linear-gradient(90deg, rgb(255 252 247 / .98), rgb(255 252 247 / .82)), url("/assets/storefront/account/preferences-textile.webp") right center / auto 100% no-repeat; }
    .sf-profile-photo-actions { box-sizing: border-box; width: 100%; padding-left: 5.8rem; }
    .sf-profile-photo-actions .sf-button { flex: 1 1 auto; }
    .sf-preference-panel__status { display: none; }
    .sf-preference-panel--address .sf-address-summary { padding: .6rem .65rem; }
}

@media (prefers-reduced-motion: reduce) {
    .sf-social-button,
    .sf-account-metrics a,
    .sf-account-favorite-card,
    .sf-account-shortcuts a,
    .sf-switch-row input,
    .sf-switch-row input::before {
        transition: none;
        translate: none;
    }
}
