:root {
    --color-background: #f5f1ea;
    --color-surface: #fffdf9;
    --color-surface-muted: #eee9e1;
    --color-text: #1f1a17;
    --color-text-secondary: #6f655c;
    --color-border: rgba(79, 66, 54, 0.14);
    --color-primary: #28463d;
    --color-primary-hover: #1e382f;
    --color-chrome: #28463d;
    --color-chrome-hover: #1e382f;
    --color-chrome-text: #f7f2ea;
    --color-chrome-muted: rgba(247, 242, 234, 0.78);
    --color-chrome-border: rgba(247, 242, 234, 0.2);
    --color-media-backdrop: #dcd6cb;
    --color-success: #28634c;
    --color-warning: #8a681b;
    --color-danger: #823422;
    --space-1: 4px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-5: 24px;
    --space-6: 32px;
    --space-7: 48px;
    --space-8: 64px;
    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-xl: 16px;
    --shadow-subtle: 0 8px 24px rgba(31, 26, 23, 0.05);
    --container-width: 1320px;
    --mobile-bottom-nav-height: 72px;
    /* Owner-approved buyer application typography roles. */
    --font-page-title: 24px;
    --font-section-title: 20px;
    --font-app-body: 16px;
    --font-meta: 13px;
    --line-height-compact: 1;
    --line-height-wrapped: 1.25;
}
html {
    box-sizing: border-box;
    font-family: Arial, "Helvetica Neue", sans-serif;
    background: var(--color-background);
    color: var(--color-text);
}

*, *::before, *::after {
    box-sizing: inherit;
}

[hidden] {
    display: none !important;
}

body {
    margin: 0;
}

img {
    max-width: 100%;
}

a {
    color: #28463d;
}

.sf-body {
    min-height: 100vh;
    overflow-x: hidden;
    background: var(--color-background);
}

.sf-wrap {
    width: min(100% - 64px, var(--container-width));
    margin: 0 auto;
}

.sf-header,
.sf-footer {
    background: var(--color-chrome);
    border-bottom: 1px solid var(--color-chrome-border);
}

.sf-header__inner {
    display: flex;
    align-items: center;
    min-height: 76px;
    gap: 24px;
}

.sf-header__inner {
    padding: 12px 0;
}

.sf-brand {
    font-family: Georgia, "Times New Roman", serif;
    flex: 0 0 auto;
    color: var(--color-chrome-text);
    font-size: 1.2rem;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

.sf-nav {
    display: flex;
    align-items: center;
    gap: 8px;
}

.sf-nav a,
.sf-nav span,
.sf-text-button {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding: 8px;
    color: var(--color-chrome-muted);
    font-size: 0.95rem;
    text-decoration: none;
}

.sf-nav a:hover,
.sf-nav a:focus-visible,
.sf-nav a.is-current,
.sf-text-button:hover,
.sf-text-button:focus-visible {
    color: var(--color-chrome-text);
}

.sf-nav a:hover,
.sf-nav a:focus-visible,
.sf-nav a.is-current,
.sf-text-button:hover,
.sf-text-button:focus-visible {
    background: rgba(247, 242, 234, 0.1);
    border-radius: var(--radius-sm);
}

.sf-nav--primary {
    flex: 1 1 auto;
}

.sf-nav--account {
    flex: 0 1 auto;
    justify-content: flex-end;
}

.sf-nav__cart {
    gap: 6px;
}

.sf-nav__count {
    min-width: 22px;
    min-height: 22px !important;
    justify-content: center;
    padding: 2px 6px !important;
    border-radius: 999px;
    background: var(--color-primary);
    color: #fff !important;
    font-size: 0.78rem !important;
    font-weight: 700;
}

.sf-context-link {
    max-width: 190px;
    gap: 6px;
    border-left: 1px solid var(--color-chrome-border);
    margin-left: 4px;
    padding-left: 16px !important;
}

.sf-context-link__label {
    display: block !important;
    min-height: 0 !important;
    overflow: hidden;
    padding: 0 !important;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sf-context-link__mode {
    min-height: 0 !important;
    padding: 3px 6px !important;
    border-radius: var(--radius-sm);
    background: rgba(247, 242, 234, 0.14);
    color: var(--color-chrome-text) !important;
    font-size: 0.75rem !important;
    font-weight: 700;
}

.sf-inline-form {
    margin: 0;
}

.sf-text-button {
    border: 0;
    background: transparent;
    cursor: pointer;
    font: inherit;
}

.sf-breadcrumbs {
    padding: 18px 0 0;
}

.sf-breadcrumbs ol {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    padding: 0;
    color: #5b554f;
    font-size: 0.95rem;
}

.sf-breadcrumbs li:not(:last-child)::after {
    content: "/";
    margin-left: 8px;
}

.sf-main {
    padding: 24px 0 56px;
}

.sf-mobile-bottom-nav {
    display: none;
}

.sf-toast-stack {
    position: fixed;
    z-index: 30;
    right: 24px;
    bottom: 24px;
    display: grid;
    gap: 10px;
    width: min(380px, calc(100vw - 48px));
    pointer-events: none;
}

.sf-toast {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid var(--color-border);
    border-left: 3px solid var(--color-primary);
    border-radius: var(--radius-md);
    background: var(--color-surface);
    box-shadow: 0 8px 24px rgba(31, 26, 23, 0.14);
    color: var(--color-text);
    font-size: 0.9rem;
    line-height: 1.4;
    pointer-events: auto;
    opacity: 1;
    transform: translateY(0);
    transition: opacity .18s ease, transform .18s ease;
}
.sf-toast.is-dismissed { opacity: 0; transform: translateY(8px); }
.sf-toast__message { min-width: 0; overflow-wrap: anywhere; }
.sf-toast__close { flex: 0 0 auto; width: 24px; height: 24px; margin: -3px -4px 0 auto; border: 0; background: transparent; color: var(--color-text-secondary); font: inherit; font-size: 1.2rem; line-height: 1; cursor: pointer; }
.sf-toast__close:hover, .sf-toast__close:focus-visible { color: var(--color-text); }
.sf-toast--success { border-left-color: var(--color-success); background: #f1f8f2; }
.sf-toast--warning { border-left-color: var(--color-warning); background: #fff9ec; }
.sf-toast--error { border-left-color: var(--color-danger); background: #fff4f0; }
.sf-toast--info { border-left-color: var(--color-primary); }

.sf-hero,
.sf-card {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-surface);
    box-shadow: var(--shadow-subtle);
}

.sf-hero {
    padding: var(--space-6);
}

.sf-card {
    padding: var(--space-5);
}

.sf-section {
    display: grid;
    gap: 16px;
    margin-top: 0px;
}




.sf-home-section { display: grid; gap: 16px; margin-top: 32px; }
.sf-home-hero { position: relative; min-height: 330px; overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-xl); background: #eef0ea; box-shadow: var(--shadow-subtle); }
.sf-home-hero__slides { display: flex; gap: 16px; width: 100%; transition: transform .24s ease; }
.sf-home-hero__slide { position: relative; flex: 0 0 calc((100% - 16px) / 2); min-height: 330px; overflow: hidden; }
.sf-home-hero__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.sf-home-hero__fade { position: absolute; inset: 0; background: linear-gradient(90deg, #f4efe7 0%, rgba(244,239,231,.98) 28%, rgba(244,239,231,.5) 50%, rgba(244,239,231,0) 72%); }
.sf-home-hero__content { position: relative; z-index: 1; width: 50%; padding: 48px 32px 76px 56px; }
.sf-home-hero__content h1 { max-width: 520px; margin: 0 0 16px; color: #0f4036; font: 500 44px/.98 Georgia, "Times New Roman", serif; }
.sf-home-hero__content p { max-width: 480px; margin: 0 0 22px; color: #234b43; font-size: 16px; line-height: 1.4; }
.sf-home-hero__button { min-height: 44px; gap: 12px; }
.sf-home-hero__arrow { position: absolute; z-index: 2; top: 50%; width: 42px; height: 42px; transform: translateY(-50%); border: 1px solid var(--color-border); border-radius: 50%; background: rgba(255,255,255,.92); color: var(--color-primary); font-size: 24px; cursor: pointer; }
.sf-home-hero__arrow--prev { left: 14px; }
.sf-home-hero__arrow--next { right: 14px; }
.sf-home-hero__dots { position: absolute; z-index: 2; bottom: 18px; left: 56px; display: flex; gap: 8px; }
.sf-home-hero__dots button { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 50%; background: #aaa; cursor: pointer; }
.sf-home-hero__dots button[aria-current="true"] { background: var(--color-primary); }
.sf-home-category-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.sf-home-category-card { min-width: 0; overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-surface); box-shadow: var(--shadow-subtle); text-decoration: none; }
.sf-home-category-card__media { display: grid; aspect-ratio: 1.16; place-items: center; overflow: hidden; background: var(--color-surface-muted); color: var(--color-text-secondary); font-size: 12px; }
.sf-home-category-card__media img { width: 100%; height: 100%; object-fit: cover; }
.sf-home-category-card__title, .sf-home-category-card__link { display: block; padding: 10px 12px 0; }
.sf-home-category-card__title { color: var(--color-text); font: 700 17px/1.1 Georgia, "Times New Roman", serif; }
.sf-home-category-card__link { padding-top: 8px; padding-bottom: 13px; color: var(--color-primary); font-size: 13px; font-weight: 700; }
@media (max-width: 900px) { .sf-home-category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) {
    .sf-home-section { margin-top: 28px; }
    .sf-home-hero, .sf-home-hero__slide { min-height: 390px; }
    .sf-home-hero__slides { gap: 0; }
    .sf-home-hero__slide { flex-basis: 100%; }
    .sf-home-hero__image { inset: 0; width: 100%; opacity: .88; object-position: 66% center; }
    .sf-home-hero__fade { background: linear-gradient(90deg, rgba(246,242,235,.98) 0%, rgba(246,242,235,.92) 42%, rgba(246,242,235,.25) 76%, rgba(246,242,235,.08) 100%); }
    .sf-home-hero__content { width: 100%; padding: 36px 26px 110px; }
    .sf-home-hero__content h1 { max-width: 390px; font-size: 34px; }
    .sf-home-hero__content p { max-width: 340px; font-size: 14px; }
    .sf-home-hero__dots { left: 26px; }
    .sf-home-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .sf-home-category-card__title { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) { .sf-home-hero__slide { transition: none; } }

.sf-section__heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.sf-section__heading h1,
.sf-section__heading h2,
.sf-hero h1 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
}

/* Owner-approved standard buyer page header contract. */
.sf-page-title {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: var(--font-page-title);
    line-height: var(--line-height-wrapped);
    letter-spacing: normal;
}

.sf-page-lead {
    max-width: 70ch;
    margin: 8px 0 0;
    color: var(--color-text-secondary);
    font-family: Arial, "Helvetica Neue", sans-serif;
    font-size: var(--font-app-body);
    line-height: var(--line-height-wrapped);
}

.sf-eyebrow {
    margin: 0 0 8px;
    color: #6f655c;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-size: 0.8rem;
}

.sf-lead,
.sf-copy p,
.sf-card p {
    line-height: 1.6;
}

.sf-button {
    display: inline-flex;
    min-height: 30px;
    align-items: center;
    justify-content: center;
    padding: 5px 16px;
    border-radius: var(--radius-md);
    background: var(--color-primary);
    color: #fff;
    text-decoration: none;
    border: 0;
    font-family: Arial, "Helvetica Neue", sans-serif;
    font-size: var(--font-app-body);
    font-weight: 600;
    line-height: var(--line-height-compact);
        font-size: 13px;
}

.sf-button--ghost {
    background: var(--color-surface-muted);
    color: var(--color-text);
}

.sf-button:hover,
.sf-button:focus-visible,
.sf-text-link:hover,
.sf-text-link:focus-visible,
.sf-text-button:hover,
.sf-text-button:focus-visible,
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.sf-category-list {
    list-style: none;
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    margin: 0;
    padding: 0;
}

.sf-category-list .sf-card a {
    font-size: 1.05rem;
    font-weight: 700;
    text-decoration: none;
}

.sf-category-list .sf-card p {
    margin-bottom: 0;
    color: #5b554f;
}

.sf-product-grid {
    display: grid;
    gap: var(--space-5);
    grid-template-columns: repeat(3, minmax(210px, 240px));
    justify-content: start;
}

.sf-product-card {
    position: relative;
    display: flex;
    min-width: 0;
    flex-direction: column;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    overflow: hidden;
    background: var(--color-surface);
    box-shadow: var(--shadow-subtle);
}

.sf-product-card__media {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    padding: 0;
    background: var(--color-media-backdrop);
}

.sf-product-card__discount-badge {
    position: absolute;
    z-index: 2;
    top: 10px;
    right: 10px;
    padding: 5px 8px;
    border-radius: var(--radius-sm);
    background: var(--color-danger);
    color: #fff;
    font-size: var(--font-meta);
    font-weight: 700;
    line-height: 1;
}

.sf-product-card__overlay {
    position: absolute;
    z-index: 2;
    inset: 0;
    border-radius: inherit;
}

.sf-product-card__body {
    position: relative;
    z-index: 3;
    pointer-events: none;
}

.sf-product-card__body form,
.sf-product-card__body button {
    pointer-events: auto;
}

.sf-product-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
}

.sf-product-card__backdrop {
    position: absolute;
    inset: 0;
    z-index: 0;
    object-fit: cover;
    object-position: center;
    filter: blur(16px);
    opacity: 0.2;
    transform: scale(1.08);
}

.sf-product-card__image {
    position: absolute;
    inset: 0;
    z-index: 1;
    object-fit: contain;
    object-position: center;
}

.sf-product-card__placeholder {
    display: grid;
    height: 100%;
    place-items: center;
    padding: 20px;
    color: #6f655c;
}

.sf-product-card__body {
    display: grid;
    gap: 6px;
    padding: 12px var(--space-4) var(--space-4);
}

.sf-product-card__body h3 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.05rem;
    line-height: 1.35;
    min-height: 45px;
}

.sf-product-card__body h3 a {
    text-decoration: none;
}

.sf-product-card__tenant,
.sf-product-card__sku,
.sf-product-card__availability,
.sf-product-card__price {
    margin: 0;
}

.sf-product-card__category {
    margin: 0;
    color: var(--color-text-secondary);
    font-size: var(--font-meta);
    line-height: var(--line-height-compact);
}

.sf-price {
    display: flex;
    align-items: baseline;
    gap: 8px;
    flex-wrap: wrap;
}

.sf-price__effective {
    font-size: 16px;
}

.sf-price__original {
    color: #6f655c;
    font-size: 0.95rem;
}

.sf-price__discount {
    color: #823422;
    font-size: 0.9rem;
    font-weight: 700;
}

.sf-price__label {
    color: #5b554f;
    font-size: 0.9rem;
    font-weight: 700;
}

.sf-price--wholesale {
    display: grid;
    gap: 2px;
}

.sf-product-card__tenant,
.sf-product-card__sku {
    color: #5b554f;
    font-size: 0.95rem;
}

.sf-product-card__sku code {
    overflow-wrap: break-word;
    word-break: normal;
}

.sf-product-card__price {
    font-size: 1.2rem;
    font-weight: 700;
}

.sf-product-card__availability {
    display: flex;
    align-items: center;
    min-height: 16px;
    color: var(--color-success);
    font-weight: 700;
}

.sf-product-card__availability-dot {
    width: 8px;
    height: 8px;
    flex: 0 0 8px;
    border-radius: 50%;
    background: currentColor;
}

.sf-product-card__action {
    margin-top: var(--space-2);
}

.sf-product-card__cart-button {
    width: 100%;
    min-height: 40px;
    padding: 8px 12px;
    font-size: var(--font-meta);
}

.sf-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    font-size: 13px;
}

.sf-search-form {
    display: grid;
    gap: 12px;
    margin-top: 20px;
}

.sf-search-form--catalog {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    max-width: 760px;
    padding: 0;
}

.sf-search-form--catalog input {
    min-width: 0;
    flex: 1 1 auto;
}

.sf-search-form--catalog .sf-actions {
    flex: 0 0 auto;
    margin: 0;
}

.sf-actions {
    display: flex;
    gap: var(--space-2);
    flex-wrap: wrap;
    align-items: center;
}

.sf-search-form label,
.sf-filter-group legend {
    font-weight: 700;
    font-size: 13px;
}

.sf-filter-group legend {
    padding-bottom: 10px;
}

.sf-search-form input,
.sf-search-form select,
.sf-field input,
.sf-field textarea {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid rgba(79, 66, 54, 0.2);
    border-radius: 12px;
    font: inherit;
    background: #fff;
}

.sf-field {
    display: grid;
    gap: 8px;
}

.sf-field span {
    font-weight: 700;
}

.sf-field small {
    color: #5b554f;
}

.sf-field__error,
.sf-inline-error {
    color: #823422;
}

.sf-auth-layout,
.sf-account-grid,
.sf-card-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.sf-table-wrap {
    overflow-x: auto;
}

.sf-table {
    width: 100%;
    border-collapse: collapse;
}

.sf-table th,
.sf-table td {
    padding: 12px 8px;
    border-bottom: 1px solid rgba(79, 66, 54, 0.12);
    text-align: left;
    vertical-align: top;
}

.sf-table th {
    color: #5b554f;
    font-size: 0.9rem;
}

.sf-list {
    display: grid;
    gap: 8px;
    margin: 0;
    padding-left: 20px;
}

.sf-form-card {
    max-width: 680px;
}

.sf-form {
    display: grid;
    gap: 14px;
}

.sf-actions-row {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    align-items: center;
}

.sf-cart-inline-form,
.sf-checkout-form {
    display: grid;
    gap: 12px;
    margin-top: 16px;
}

.sf-checkout-layout {
    display: grid;
    gap: 20px;
    grid-template-columns: minmax(0, 1.4fr) minmax(320px, 0.9fr);
}

.sf-cart-lines,
.sf-checkout-lines {
    display: grid;
    gap: 14px;
}

.sf-cart-line {
    display: grid;
    gap: 16px;
    grid-template-columns: 140px minmax(0, 1fr);
}

.sf-cart-line--problem {
    border-color: rgba(130, 52, 34, 0.24);
    background: #fff8f5;
}

.sf-cart-line__media {
    aspect-ratio: 4 / 3;
    border-radius: 16px;
    overflow: hidden;
    background: linear-gradient(180deg, #f2ece4 0%, #e7dfd4 100%);
}

.sf-cart-line__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sf-cart-line__body,
.sf-cart-line__meta,
.sf-cart-line__actions {
    display: grid;
    gap: 10px;
}

.sf-cart-line__meta h3,
.sf-checkout-line h3 {
    margin: 0;
}

.sf-cart-line__meta p,
.sf-checkout-line p,
.sf-cart-summary p,
.sf-cart-group-total {
    margin: 0;
}

.sf-cart-quantity-form {
    display: flex;
    gap: 12px;
    align-items: end;
    flex-wrap: wrap;
}

.sf-cart-summary {
    display: grid;
    gap: 12px;
}

.sf-cart-summary__total {
    font-size: 1.25rem;
    font-weight: 700;
}

.sf-empty-state {
    justify-items: start;
}

.sf-cart-warning {
    border-color: rgba(130, 92, 24, 0.2);
    background: #fff8eb;
}

.sf-search-form--hero {
    max-width: 720px;
}

.sf-search-form__row {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.sf-search-form__row input {
    flex: 1 1 280px;
}

/* Branch 19 smart search: one reusable widget for the shared header and Search page. */
.sf-search-widget {
    position: relative;
    z-index: 10;
    flex: 1 1 360px;
    min-width: 220px;
    max-width: 520px;
}

.sf-header .sf-search-widget {
    margin-left: auto;
}

.sf-search-widget__form {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) 32px 86px;
    align-items: center;
    min-height: 44px;
    border: 1px solid rgba(247, 242, 234, 0.28);
    border-radius: var(--radius-md);
    background: rgba(255, 253, 249, 0.98);
}

.sf-search-widget--page {
    max-width: 760px;
    margin-top: 4px;
}

.sf-search-widget--page .sf-search-widget__form {
    border-color: var(--color-border);
    box-shadow: var(--shadow-subtle);
}

.sf-search-widget__icon {
    color: var(--color-text-secondary);
    font-size: 22px;
    line-height: 1;
    text-align: center;
}

.sf-search-widget__form input {
    width: 100%;
    min-width: 0;
    padding: 10px 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--color-text);
    font: inherit;
}

.sf-search-widget__form input[type="search"]::-webkit-search-cancel-button {
    -webkit-appearance: none;
    appearance: none;
}

.sf-search-widget__clear,
.sf-search-widget__submit {
    min-height: 42px;
    border: 0;
    cursor: pointer;
}



.sf-search-widget__clear {
    padding: 0;
    background: transparent;
    color: var(--color-text-secondary);
    font-size: 22px;
}

.sf-search-widget__submit {
    width: 86px;
    min-width: 86px;
    max-width: 86px;
    flex: 0 0 86px;
    justify-self: stretch;
    padding: 0 14px;
    white-space: nowrap;
    border-radius: 0 var(--radius-md) var(--radius-md) 0;
    background: var(--color-primary);
    color: #fff;
    font-size: var(--font-meta);
    font-weight: 700;
}
.sf-search-widget__submit{
    background: transparent;
    color: var(--color-primary);
}
.sf-search-suggestions__section {
    padding: var(--space-3) var(--space-4);
}

.sf-search-suggestions__section + .sf-search-suggestions__section {
    border-top: 1px solid var(--color-border);
}

.sf-search-widget__suggestions {
    position: absolute;
    z-index: 30;
    top: calc(100% + 4px);
    right: 0;
    left: 0;
    overflow: hidden;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-surface);
    box-shadow: 0 16px 36px rgba(31, 26, 23, 0.14);
}

.sf-header {
    position: relative;
    z-index: 20;
}

.sf-search-widget--page .sf-search-widget__suggestions {
    top: calc(100% + 8px);
}

.sf-search-results__meta {
    min-height: 1.5em;
    margin-bottom: var(--space-3);
    color: var(--color-text-secondary);
    font-size: var(--font-meta);
}

.sf-search-suggestions__title {
    margin: 0 0 var(--space-2);
    color: var(--color-primary);
    font-size: var(--font-meta);
}

.sf-search-suggestions__list,
.sf-search-suggestions__categories {
    display: grid;
}

.sf-search-suggestion {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) auto;
    gap: var(--space-3);
    align-items: center;
    min-height: 62px;
    padding: var(--space-2) 0;
    border-top: 1px solid var(--color-border);
    color: var(--color-text);
    text-decoration: none;
}

.sf-search-suggestion:first-child {
    border-top: 0;
}

.sf-search-suggestion__image,
.sf-search-suggestion__fallback {
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    border-radius: var(--radius-md);
    background: var(--color-media-backdrop);
    color: var(--color-text-secondary);
    font-size: 11px;
    object-fit: cover;
}

.sf-search-suggestion__copy {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.sf-search-suggestion__copy strong {
    overflow: hidden;
    font-size: var(--font-meta);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sf-search-suggestion__meta {
    overflow: hidden;
    color: var(--color-text-secondary);
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sf-search-suggestion__price {
    white-space: nowrap;
    font-size: var(--font-meta);
}

.sf-search-suggestions__categories a {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr) auto;
    gap: var(--space-2);
    align-items: center;
    min-height: 42px;
    border-top: 1px solid var(--color-border);
    color: var(--color-text);
    text-decoration: none;
}

.sf-search-suggestion__category-icon {
    display: grid;
    width: 26px;
    height: 26px;
    place-items: center;
    border-radius: 50%;
    background: var(--color-surface-muted);
    color: var(--color-primary);
}

.sf-search-start {
    display: grid;
    gap: var(--space-3);
}

.sf-search-start h2,
.sf-search-start p {
    margin: 0;
}

.sf-search-start__categories {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.sf-search-start__categories a {
    padding: 10px 12px;
    border: 1px solid var(--color-border);
    border-radius: 999px;
    text-decoration: none;
}

.sf-text-link {
    align-self: center;
    color: #28463d;
    font-weight: 700;
}

.sf-result-count,
.sf-muted,
.sf-help-text {
    margin: 0;
    color: #5b554f;
}

.sf-layout,
.sf-product-layout {
    display: grid;
    gap: var(--space-6);
}

.sf-layout__sidebar {
    min-width: 0;
}

.sf-layout__main {
    min-width: 0;
}
.sf-checkout-buyer{
    background: #fff;
    border-radius: 20px;
    padding: 5px 15px 15px;
}

#purchasing-context-title{
    font-size: 18px;
}
.sf-filter-panel {
    margin-top: var(--space-5);
}

.sf-filter-panel > summary {
    cursor: pointer;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.35rem;
    font-weight: 700;
}

.sf-filter-panel > summary::marker {
    color: var(--color-primary);
}

.sf-filter-panel > summary {
    padding: var(--space-3) 0;
}

.sf-filter-panel:not([open]) > form {
    display: grid;
}

.sf-filter-panel > form {
    gap: var(--space-4);
    padding: var(--space-4);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-surface);
    box-shadow: var(--shadow-subtle);
}

.sf-filter-group {
    margin: 0;
    padding: 0;
    border: 0;
    display: grid;
    gap: 12px;
}

.sf-option-list {
    display: grid;
    gap: 1px;
}

.sf-check-row {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-weight: 400;
}

.sf-check-row input {
    width: auto;
    margin-top: 0.2rem;
}

.sf-range-row {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sf-range-row label {
    min-width: 0;
    display: grid;
    gap: 6px;
    font-weight: 400;
}

.sf-range-row input {
    min-width: 0;
}

.sf-price-range {
    display: grid;
    gap: 8px;
}

.sf-price-range__values {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    font-variant-numeric: tabular-nums;
    font-size: 13px;
}

.sf-price-range__track {
    position: relative;
    height: 32px;
    margin: 0 10px;
}

.sf-price-range__base-track,
.sf-price-range__selected-track {
    position: absolute;
    top: 14px;
    right: 0;
    left: 0;
    height: 4px;
    border-radius: 999px;
}

.sf-price-range__base-track {
    background: var(--color-surface-muted);
}

.sf-price-range__selected-track {
    background: var(--color-primary);
}

.sf-price-range__input[type="range"] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 32px;
    margin: 0;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
    background-color: transparent;
    color: transparent;
    -webkit-appearance: none;
    appearance: none;
    pointer-events: none;
}

.sf-price-range__input[type="range"][data-price-range-min] {
    z-index: 2;
}

.sf-price-range__input[type="range"][data-price-range-max] {
    z-index: 1;
}

.sf-price-range__input[type="range"].is-active {
    z-index: 3;
}

.sf-price-range__input[type="range"]::-webkit-slider-runnable-track {
    height: 4px;
    border-radius: 999px;
    background: transparent;
}

.sf-price-range__input[type="range"]::-moz-range-track {
    height: 4px;
    border-radius: 999px;
    background: transparent;
}

.sf-price-range__input[type="range"]::-webkit-slider-thumb {
    width: 20px;
    height: 20px;
    margin-top: -8px;
    border: 2px solid var(--color-primary);
    border-radius: 50%;
    background: var(--color-surface);
    box-shadow: 0 0 0 1px var(--color-primary);
    pointer-events: auto;
    appearance: none;
    cursor: pointer;
}

.sf-price-range__input[type="range"]::-moz-range-thumb {
    width: 20px;
    height: 20px;
    border: 2px solid var(--color-primary);
    border-radius: 50%;
    background: var(--color-surface);
    box-shadow: 0 0 0 1px var(--color-primary);
    pointer-events: auto;
    cursor: pointer;
}

.sf-price-range__input[type="range"]:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 4px;
}

.sf-help-text--error {
    color: var(--color-danger);
}

.sf-product-gallery {
    display: grid;
    gap: 12px;
}

.sf-product-gallery__main {
    aspect-ratio: 1 / 1;
    max-height: min(62vw, 620px);
    padding: 18px;
    border-radius: var(--radius-lg);
    overflow: hidden;
    background: var(--color-surface-muted);
}

.sf-product-gallery__main img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.sf-product-gallery__main-button {
    display: block;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    cursor: zoom-in;
}

.sf-product-gallery__main .sf-product-card__placeholder {
    height: 100%;
}

.sf-product-gallery__main--fallback {
    display: grid;
    place-items: center;
}

.sf-product-gallery__thumbs {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    justify-content: flex-start;
    overflow-x: auto;
}

.sf-product-gallery__thumb {
    display: block;
    flex: 0 0 80px;
    width: 80px;
    height: 80px;
    padding: 0;
    border-radius: 12px;
    overflow: hidden;
    background: #efe6db;
    border: 1px solid transparent;
    color: inherit;
    cursor: pointer;
}

.sf-product-gallery__thumb--selected {
    border-color: var(--color-primary);
}

.sf-product-gallery__thumb--fallback {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    padding: 8px;
    color: var(--color-text-secondary);
    font-size: 0.8rem;
    text-align: center;
}

.sf-product-gallery__thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.sf-product-lightbox {
    width: min(92vw, 1120px);
    max-width: none;
    max-height: 92vh;
    padding: 48px 24px 24px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-surface);
    color: var(--color-text);
}

.sf-product-lightbox::backdrop {
    background: rgba(22, 23, 21, 0.78);
}

.sf-product-lightbox img {
    display: block;
    width: 100%;
    max-height: calc(92vh - 72px);
    object-fit: contain;
}

.sf-product-lightbox__close {
    position: absolute;
    top: 10px;
    right: 12px;
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: var(--radius-md);
    background: var(--color-surface-muted);
    color: var(--color-text);
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}

.sf-product-meta {
    display: grid;
    gap: 4px;
}

.sf-product-meta p {
    margin: 0;
}

.sf-variant-option-list,
.sf-definition-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.sf-variant-option-list {
    display: grid;
    gap: 6px;
}

.sf-variant-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    min-height: 44px;
    padding: 8px 12px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-surface);
    text-decoration: none;
}

.sf-product-purchase__configurations {
    display: grid;
    gap: 8px;
    margin-top: var(--space-4);
}

.sf-product-purchase__configurations h2 {
    margin: 0;
    font-size: var(--font-meta);
    line-height: var(--line-height-compact);
}

.sf-variant-option--selected {
    border-color: var(--color-primary);
    background: rgba(40, 70, 61, 0.08);
    font-weight: 700;
}

.sf-variant-option__sku,
.sf-selected-mark {
    color: #5b554f;
    font-size: 0.92rem;
}

.sf-selected-mark {
    font-weight: 700;
}

/* Buyer Product Detail prototype handoff. Kept local to this surface. */
.sf-product-page {
    gap: var(--space-6);
}

.sf-product-detail-layout {
    display: grid;
    gap: var(--space-6);
    min-width: 0;
}

.sf-product-detail__main {
    display: grid;
    gap: var(--space-5);
    min-width: 0;
}

.sf-product-page__media,
.sf-product-page__purchase {
    min-width: 0;
}

.sf-product-page.is-variant-loading #product-gallery,
.sf-product-page.is-variant-loading #product-variant-state {
    opacity: .62;
    transition: opacity .16s ease;
}

/*.sf-product-page__purchase {*/
/*    max-height: 100vh;*/
/*    overflow: scroll;*/
/*}*/

.sf-product-page__purchase {
    display: grid;
    gap: var(--space-4);
    align-content: start;
}

.sf-product-page__identity {
    display: grid;
    gap: var(--space-2);
}

.sf-product-page__identity .sf-eyebrow {
    margin: 0;
}

.sf-product-page__identity h1 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(28px, 3vw, 40px);
    line-height: 1.08;
}

.sf-product-page__seller,
.sf-product-page__availability,
.sf-product-page__variant-summary {
    margin: 0;
    color: var(--color-text-secondary);
}

.sf-product-page__seller {
    font-size: var(--font-app-body);
}

.sf-product-page__availability {
    color: var(--color-success);
    font-size: var(--font-app-body);
    font-weight: 700;
}

.sf-product-page__price .sf-price {
    display: flex;
    align-items: baseline;
    gap: var(--space-3);
    flex-wrap: wrap;
}

.sf-product-page__price .sf-price__effective {
    font-size: 28px;
    line-height: 1.1;
}

.sf-product-page__price .sf-price__original,
.sf-product-page__price .sf-price__discount {
    font-size: var(--font-meta);
}

.sf-product-page__cart-form {
    grid-template-columns: minmax(112px, 0.35fr) minmax(0, 1fr);
    align-items: end;
    margin-top: var(--space-2);
}

.sf-product-page__quantity {
    min-width: 0;
}

.sf-product-page__quantity input {
    min-height: 44px;
    width: 100%;
}

.sf-product-page__add-button {
    min-height: 48px;
    width: 100%;
}

.sf-product-page__content {
    max-width: 920px;
    min-width: 0;
}

.sf-product-page__content .sf-section__heading h2 {
    font-size: var(--font-section-title);
}

@media (min-width: 1024px) {
    .sf-product-detail-layout {
        grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
        align-items: start;
    }

    .sf-product-detail__main .sf-product-page__content {
        max-width: none;
    }

    .sf-product-detail__main .sf-definition-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: var(--space-6);
        row-gap: var(--space-4);
    }
}

.sf-product-content-tabs {
    display: flex;
    gap: var(--space-5);
    overflow-x: auto;
    border-bottom: 1px solid var(--color-border);
    scrollbar-width: thin;
}

.sf-product-content-tabs__item {
    flex: 0 0 auto;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding: 8px 0;
    border-bottom: 2px solid transparent;
    color: var(--color-text-secondary);
    border-top: 0;
    border-right: 0;
    border-left: 0;
    background: transparent;
    font-size: var(--font-app-body);
    font-family: inherit;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
}

.sf-product-content-tabs__item:hover,
.sf-product-content-tabs__item:focus-visible,
.sf-product-content-tabs__item.is-active {
    color: var(--color-primary);
}

.sf-product-content-tabs__item.is-active {
    border-bottom-color: var(--color-primary);
    font-weight: 700;
}

.sf-product-content-tabs__item.is-disabled {
    color: var(--color-text-secondary);
    cursor: default;
    opacity: 0.58;
}

@media (min-width: 1024px) {
    .sf-product-page__purchase {
        position: sticky;
        top: var(--space-5);
        align-self: start;
    }
}

@media (max-width: 640px) {
    .sf-product-page {
        gap: var(--space-5);
    }

    .sf-product-layout {
        gap: var(--space-4);
    }

    .sf-product-detail__main {
        display: contents;
    }

    .sf-product-page__media {
        order: 1;
    }

    .sf-product-page__purchase {
        order: 2;
        gap: var(--space-3);
    }

    .sf-product-page__content {
        order: 4;
    }

    .sf-product-content-tabs {
        order: 3;
        gap: var(--space-4);
        max-width: 100%;
        min-width: 0;
        margin-inline: -2px;
        padding-inline: 2px;
        scrollbar-width: none;
        white-space: nowrap;
    }

    .sf-product-content-tabs::-webkit-scrollbar {
        display: none;
    }

    .sf-product-content-tabs__item {
        font-size: var(--font-app-body);
    }

    .sf-product-gallery__thumb {
        flex-basis: 64px;
        width: 64px;
        height: 64px;
    }

    .sf-product-gallery__thumbs {
        gap: var(--space-2);
    }

    .sf-product-detail__main .sf-definition-list {
        grid-template-columns: 1fr;
    }

    .sf-product-page__identity h1 {
        font-size: 24px;
    }

    .sf-product-page__price .sf-price__effective {
        font-size: 24px;
    }

    .sf-product-page__cart-form {
        grid-template-columns: 112px minmax(0, 1fr);
        gap: var(--space-3);
    }

    .sf-variant-option {
        flex-direction: row;
        min-height: 48px;
    }
}

.sf-definition-list {
    display: grid;
    gap: 12px;
}

.sf-definition-list div {
    display: grid;
    gap: 4px;
}

.sf-definition-list dt {
    font-weight: 700;
}

.sf-definition-list dd,
.sf-definition-list dt {
    margin: 0;
}

.sf-account-shell,
.sf-account-main,
.sf-account-sidebar {
    min-width: 0;
    max-width: 100%;
}

.sf-account-shell {
    display: grid;
    gap: 32px;
    width: 100%;
}

.sf-account-main {
    width: 100%;
    min-width: 0;
    max-width: 100%;
}

.sf-account-main .sf-section {
    margin-top: 0;
    gap: 22px;
}

/* Account Overview: bounded dashboard composition; shared account shell remains authoritative. */
.sf-account-overview__summary,
.sf-account-overview__grid { display: grid; gap: var(--space-4); }
.sf-account-overview__summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sf-account-overview__header { margin-bottom: 20px; }
.sf-account-overview__summary-card,
.sf-account-overview__panel { border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-surface); box-shadow: var(--shadow-subtle); }
.sf-account-overview__summary-card { min-height: 112px; display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); color: var(--color-text); text-decoration: none; }
.sf-account-overview__summary-card:hover,
.sf-account-overview__summary-card:focus-visible { border-color: var(--color-primary); }
.sf-account-overview__summary-icon,
.sf-account-overview__organization-logo { display: grid; place-items: center; flex: 0 0 auto; color: var(--color-primary); background: var(--color-surface-muted); }
.sf-account-overview__summary-icon { width: 42px; height: 42px; border-radius: var(--radius-lg); font-size: 22px; }
.sf-account-overview__summary-card > span:last-child { display: grid; gap: 5px; }
.sf-account-overview__summary-label,
.sf-account-overview__summary-link,
.sf-account-overview__panel-head p,
.sf-account-overview__order-top span,
.sf-account-overview__order-facts dt,
.sf-account-overview__organization-body span,
.sf-account-overview__empty p,
.sf-account-overview__action-list span,
.sf-account-overview__context span { color: var(--color-text-secondary); font-size: var(--font-meta); line-height: var(--line-height-compact); }
.sf-account-overview__summary-card strong { font-size: var(--font-section-title); line-height: var(--line-height-compact); }
.sf-account-overview__summary-link,
.sf-account-overview__panel-head > a,
.sf-account-overview__panel-link { color: var(--color-primary); text-decoration: underline; }
.sf-account-overview__grid { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(220px, .9fr); align-items: start; margin-top: var(--space-4); }
.sf-account-overview__panel { min-width: 0; padding: var(--space-4); }
.sf-account-overview__panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-3); margin-bottom: var(--space-4); }
.sf-account-overview__panel-head h2 { margin: 0; font-size: var(--font-section-title); line-height: var(--line-height-wrapped); }
.sf-account-overview__panel-head p { margin: 5px 0 0; }
.sf-account-overview__panel-head > a,
.sf-account-overview__panel-link { flex: 0 0 auto; font-size: var(--font-meta); }
.sf-account-overview__order-top { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-3); padding-bottom: var(--space-3); border-bottom: 1px solid var(--color-border); }
.sf-account-overview__order-top > div { display: grid; gap: 5px; min-width: 0; }
.sf-account-overview__order-reference,
.sf-account-overview__organization-body a,
.sf-account-overview__action-list strong { color: var(--color-primary); font-size: var(--font-app-body); font-weight: 700; }
.sf-account-overview__order-facts { display: flex; flex-wrap: wrap; gap: var(--space-4); margin: var(--space-4) 0; }
.sf-account-overview__order-facts div { display: grid; gap: 5px; }
.sf-account-overview__order-facts dd { margin: 0; font-size: var(--font-app-body); }
.sf-account-overview__key-value { font-weight: 700; }
.sf-account-overview__empty { display: grid; gap: var(--space-3); }
.sf-account-overview__empty h3 { margin: 0; font-size: var(--font-app-body); }
.sf-account-overview__empty p { margin: 0; line-height: var(--line-height-wrapped); }
.sf-account-overview__organizations { display: grid; gap: var(--space-3); }
.sf-account-overview__organization { display: grid; grid-template-columns: 46px minmax(0, 1fr) auto; align-items: center; gap: var(--space-3); min-width: 0; }
.sf-account-overview__organization-logo { width: 46px; height: 46px; overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-lg); }
.sf-account-overview__organization-logo img { width: 100%; height: 100%; object-fit: cover; }
.sf-account-overview__organization-body { display: grid; gap: 5px; min-width: 0; }
.sf-account-overview__organization-body a { overflow-wrap: anywhere; }
.sf-account-overview__wholesale { padding: 5px 9px; border-radius: 999px; background: #e3f0ea; color: var(--color-primary); font-size: var(--font-meta); font-weight: 700; white-space: nowrap; }
.sf-account-overview__action-list { display: grid; }
.sf-account-overview__action-list a { display: grid; gap: 5px; padding: var(--space-3) 0; border-top: 1px solid var(--color-border); text-decoration: none; }
.sf-account-overview__action-list a:first-child { padding-top: 0; border-top: 0; }
.sf-account-overview__action-list span { line-height: var(--line-height-wrapped); }
.sf-account-overview__context { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); margin-top: var(--space-4); padding: var(--space-4); border: 1px solid #c7ddd4; border-radius: var(--radius-lg); background: #e3f0ea; }
.sf-account-overview__context > div { display: grid; gap: 5px; }
.sf-account-overview__context strong { font-size: var(--font-app-body); }
.sf-account-overview__context form { display: flex; align-items: center; gap: var(--space-2); flex: 0 1 360px; }
.sf-account-overview__context select { min-width: 0; flex: 1 1 auto; }
.sf-account-overview__context #id_context { display: flex; flex-wrap: wrap; gap: var(--space-2); min-width: 0; }
.sf-account-overview__context #id_context > div { display: flex; align-items: center; }
.sf-account-overview__context #id_context label { color: var(--color-text); font-size: var(--font-meta); line-height: var(--line-height-wrapped); }

@media (max-width: 980px) {
    .sf-account-overview__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sf-account-overview__actions { grid-column: 1 / -1; }
}

@media (max-width: 640px) {
    .sf-account-overview__summary { gap: var(--space-3); }
    .sf-account-overview__summary-card { min-height: 88px; gap: var(--space-3); padding: var(--space-3); }
    .sf-account-overview__summary-icon { width: 36px; height: 36px; font-size: 18px; }
    .sf-account-overview__summary-link { display: none; }
    .sf-account-overview__grid { grid-template-columns: 1fr; gap: var(--space-3); }
    .sf-account-overview__actions { grid-column: auto; }
    .sf-account-overview__panel { padding: var(--space-3); }
    .sf-account-overview__context { display: grid; align-items: stretch; gap: var(--space-3); }
    .sf-account-overview__context form { max-width: none; flex-basis: auto; }
    .sf-account-overview__context .sf-button { flex: 0 0 auto; }
}

.sf-account-page-header {
    gap: 16px;
}

.sf-account-page-eyebrow {
    margin-bottom: 4px;
    font-size: 0.75rem;
    letter-spacing: 0.14em;
}

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

.sf-account-nav {
    display: grid;
    gap: 2px;
    padding: 8px;
    border: 1px solid var(--color-border);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.86);
    box-shadow: var(--shadow-subtle);
}

.sf-account-nav a {
    min-height: 44px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    border-radius: 11px;
    color: var(--color-text);
    font-size: 1rem;
    text-decoration: none;
}

.sf-account-nav a svg {
    width: 21px;
    height: 21px;
    flex: 0 0 21px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.7;
}

.sf-account-nav a:hover,
.sf-account-nav a:focus-visible,
.sf-account-nav a.is-current {
    background: var(--color-surface-muted);
    color: #131a28;
    font-weight: 700;
}

.sf-orders,
.sf-orders__content {
    width: 100%;
    min-width: 0;
    max-width: 100%;
}

.sf-orders__filters {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    min-width: 0;
    max-width: 100%;
    margin-bottom: 16px;
}

.sf-orders__filter {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 20px;
    border: 1px solid transparent;
    border-radius: 999px;
    color: var(--color-text-secondary);
    background: rgba(255, 255, 255, 0.88);
    white-space: nowrap;
    text-decoration: none;
}

.sf-orders__filter:hover,
.sf-orders__filter:focus-visible {
    border-color: var(--color-border);
}

.sf-orders__filter.is-active {
    color: #fff;
    background: var(--color-primary);
    box-shadow: 0 3px 10px rgba(40, 70, 61, 0.16);
}

.sf-orders__table-surface {
    overflow: hidden;
    border: 1px solid var(--color-border);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.93);
    box-shadow: var(--shadow-subtle);
}

.sf-orders__mobile-list {
    display: none;
    min-width: 0;
    max-width: 100%;
}

.sf-orders__table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: 0.95rem;
}

.sf-orders__table th,
.sf-orders__table td {
    height: 58px;
    padding: 10px 16px;
    border-bottom: 1px solid var(--color-border);
    text-align: left;
    vertical-align: middle;
}

.sf-orders__table th {
    height: 52px;
    padding-top: 10px;
    padding-bottom: 8px;
    color: var(--color-text-secondary);
    font-size: 0.875rem;
    font-weight: 500;
}

.sf-orders__table tbody tr:last-child td { border-bottom: 0; }
.sf-orders__table th:nth-child(1), .sf-orders__table td:nth-child(1) { width: 18%; }
.sf-orders__table th:nth-child(2), .sf-orders__table td:nth-child(2) { width: 10%; }
.sf-orders__table th:nth-child(3), .sf-orders__table td:nth-child(3) { width: 14%; }
.sf-orders__table th:nth-child(4), .sf-orders__table td:nth-child(4) { width: 16%; }
.sf-orders__table th:nth-child(5), .sf-orders__table td:nth-child(5) { width: 10%; }
.sf-orders__table th:nth-child(6), .sf-orders__table td:nth-child(6) { width: 14%; }
.sf-orders__table th:nth-child(7), .sf-orders__table td:nth-child(7) { width: 18%; }

.sf-orders__primary-link {
    color: var(--color-text);
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}
.sf-orders__primary-link:hover, .sf-orders__primary-link:focus-visible {
    color: var(--color-primary);
    text-decoration: underline;
}
.sf-orders__seller, .sf-orders__buyer, .sf-orders__date { color: var(--color-text-secondary); }

.sf-orders__status-badge {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 4px 8px;
    border: 0;
    border-radius: 8px;
    background: #e7f0ff;
    color: #1755aa;
    white-space: nowrap;
}
.sf-orders__status-badge--new, .sf-orders__status-badge--accepted,
.sf-orders__status-badge--processing { background: #e7f0ff; color: #1755aa; }
.sf-orders__status-badge--completed { background: #dbf4e3; color: #17633e; }
.sf-orders__status-badge--cancelled { background: #ffe9e9; color: #d93838; }
.sf-orders__total { white-space: nowrap; }
.sf-order-money { white-space: nowrap; }
.sf-orders__status { text-align: center !important; }
.sf-orders__empty {
    padding: var(--space-5);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-surface-muted);
}
.sf-orders__empty h2, .sf-orders__empty p { margin-top: 0; }
.sf-orders__empty p { margin-bottom: var(--space-4); }

.sf-visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.sf-footer {
    border-top: 1px solid var(--color-border);
    border-bottom: 0;
    padding: var(--space-7) 0 var(--space-5);
    color: var(--color-chrome-muted);
}

.sf-footer__inner {
    display: grid;
    gap: var(--space-6);
    grid-template-columns: minmax(240px, 1.5fr) repeat(2, minmax(140px, 1fr));
}

.sf-footer__brand p {
    max-width: 280px;
    margin: var(--space-3) 0 0;
    line-height: 1.5;
}

.sf-footer__group {
    display: grid;
    align-content: start;
    gap: 8px;
}

.sf-footer__group h2 {
    margin: 0 0 4px;
    color: var(--color-chrome-text);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1rem;
}

.sf-footer__group a {
    min-height: 32px;
    color: inherit;
    text-decoration: none;
}

.sf-footer__group a:hover,
.sf-footer__group a:focus-visible {
    color: var(--color-chrome-text);
    text-decoration: underline;
}

.sf-footer__bottom {
    display: flex;
    justify-content: space-between;
    gap: var(--space-4);
    margin-top: var(--space-6);
    padding-top: var(--space-4);
    border-top: 1px solid var(--color-chrome-border);
    color: var(--color-chrome-muted);
    font-size: 0.85rem;
}

@media (min-width: 1024px) {
    .sf-account-shell {
        grid-template-columns: 260px minmax(0, 1fr);
        align-items: start;
    }

    .sf-layout {
        grid-template-columns: 280px minmax(0, 1fr);
        align-items: start;
    }

    .sf-product-layout {
        grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
        align-items: start;
    }

    .sf-filter-dialog {
        max-width: none;
    }
}

@media (min-width: 1280px) {
    .sf-product-grid {
        grid-template-columns: repeat(4, minmax(210px, 240px));
    }
}

@media (max-width: 640px) {
    :root {
        --font-page-title: 20px;
        --font-section-title: 15px;
        --font-app-body: 13px;
    }
    .sf-footer {
        padding-bottom: calc(var(--space-5) + var(--mobile-bottom-nav-height) + env(safe-area-inset-bottom, 0px));
    }

    .sf-main {
        padding-top: 16px;
        padding-bottom: calc(var(--mobile-bottom-nav-height) + 24px + env(safe-area-inset-bottom, 0px));
    }

    .sf-hero,
    .sf-card {
        padding: var(--space-4);
    }

    .sf-wrap {
        width: min(100% - 32px, var(--container-width));
    }

    .sf-header__inner,
    .sf-search-form__row,
    .sf-variant-option,
    .sf-pagination,
    .sf-section__heading {
        align-items: stretch;
    }

    .sf-header__inner {
        min-height: 60px;
        padding: 8px 0;
    }

    .sf-brand {
        align-self: center;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .sf-nav--primary { display: none; }
    .sf-nav--account { margin-left: auto; }
    .sf-header__desktop-only, .sf-context-link { display: none !important; }
    .sf-nav--account .sf-text-button { min-height: 40px; padding: 6px; }

    .sf-mobile-bottom-nav {
        position: fixed;
        z-index: 20;
        right: 0;
        bottom: 0;
        left: 0;
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        height: calc(var(--mobile-bottom-nav-height) + env(safe-area-inset-bottom, 0px));
        min-height: var(--mobile-bottom-nav-height);
        padding: 6px 8px env(safe-area-inset-bottom, 0px);
        border-top: 1px solid var(--color-border);
        background: rgba(255, 253, 249, 0.98);
        box-shadow: 0 -4px 16px rgba(31, 26, 23, 0.08);
    }

    .sf-mobile-bottom-nav__item {
        position: relative;
        display: grid;
        min-width: 44px;
        min-height: 58px;
        align-content: center;
        justify-items: center;
        gap: 4px;
        padding: 5px 2px;
        border-radius: var(--radius-sm);
        color: var(--color-text-secondary);
        font-size: 0.78rem;
        line-height: 1.1;
        text-align: center;
        text-decoration: none;
    }

    .sf-mobile-bottom-nav__item svg {
        width: 25px;
        height: 25px;
        fill: none;
        stroke: currentColor;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 1.8;
    }

    .sf-mobile-bottom-nav__item.is-current {
        color: var(--color-primary);
        font-weight: 700;
        background: rgba(40, 70, 61, 0.12);
    }

    .sf-mobile-bottom-nav__item.is-current::before {
        position: absolute;
        top: 2px;
        width: 4px;
        height: 4px;
        border-radius: 50%;
        background: currentColor;
        content: "";
    }

    .sf-footer__inner {
        grid-template-columns: 1fr;
        gap: var(--space-5);
    }

    .sf-footer__brand {
        grid-column: auto;
    }

    .sf-footer__bottom {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .sf-variant-option {
        flex-direction: column;
    }

    .sf-checkout-layout,
    .sf-cart-line {
        grid-template-columns: 1fr;
    }

    .sf-product-grid {
        gap: var(--space-3);
    }

    .sf-product-card__body {
        padding: var(--space-3);
    }

    .sf-product-card__sku,
    .sf-product-card__tenant {
        font-size: 0.85rem;
    }

    .sf-layout__sidebar {
        order: -1;
    }

    .sf-filter-panel {
        margin-top: var(--space-4);
    }

    .sf-filter-panel:not([open]) > form {
        display: none;
    }

}

/* Checkout owner-review presentation: compact context control and line table. */
.sf-checkout-buyer .sf-purchasing-context__current {
    margin: var(--space-2) 0 0;
}

.sf-purchasing-context__single,
.sf-purchasing-context__meta {
    margin: var(--space-3) 0 0;
    color: var(--color-text-secondary);
    font-size: 0.82rem;
}

.sf-purchasing-context__single {
    color: var(--color-text);
    font-weight: 700;
}

/* Buyer cart prototype handoff. Scoped so the shared buyer chrome and checkout stay unchanged. */
.sf-cart { padding: var(--space-5) 0 var(--space-7); }
.sf-cart__heading { margin-bottom: var(--space-5); }
.sf-cart__layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: var(--space-5); align-items: start; }
.sf-cart__groups { display: grid; gap: var(--space-4); min-width: 0; }
.sf-cart__tenant { overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-surface); box-shadow: var(--shadow-subtle); }
.sf-cart__tenant-heading { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); padding: var(--space-4) var(--space-5); border-bottom: 1px solid var(--color-border); }
.sf-cart__tenant-heading h2 { margin: 0; font-size: 1.08rem; }
.sf-cart__tenant-heading p, .sf-cart__tenant-heading > span { margin: var(--space-1) 0 0; color: var(--color-text-secondary); font-size: .82rem; }
.sf-cart__tenant-heading > span { margin: 0; white-space: nowrap; }
.sf-cart__lines { display: grid; }
.sf-cart-line { display: grid; grid-template-columns: minmax(0, 1fr) 150px 150px 36px; gap: var(--space-4); align-items: center; padding: var(--space-4) var(--space-5); border: 0; border-bottom: 1px solid var(--color-border); border-radius: 0; background: var(--color-surface); }
.sf-cart-line:last-child { border-bottom: 0; }
.sf-cart-line--problem { background: #fff8f5; }
.sf-cart-line__product { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: var(--space-3); align-items: center; min-width: 0; }
.sf-cart-line__media { width: 88px; height: 88px; overflow: hidden; display: grid; place-items: center; border-radius: var(--radius-md); background: linear-gradient(180deg, #f2ece4, #e7dfd4); color: var(--color-text-secondary); font-size: .7rem; text-align: center; }
.sf-cart-line__media img { width: 100%; height: 100%; object-fit: cover; }
.sf-cart-line__identity { min-width: 0; }
.sf-cart-line__identity h3 { margin: 0 0 var(--space-1); font-size: 1rem; line-height: 1.3; }
.sf-cart-line__identity p { margin: 2px 0; color: var(--color-text-secondary); font-size: .8rem; overflow-wrap: anywhere; }
.sf-cart-line__unit-price { color: inherit; font-size: inherit; font-weight: 400; white-space: nowrap; }
.sf-cart-line__availability { display: inline-block; margin-top: var(--space-2); color: var(--color-success); font-size: .75rem; }
.sf-cart-line__quantity { min-width: 0; }
.sf-cart-quantity-form { display: grid; gap: var(--space-2); justify-items: start; margin: 0; }
.sf-cart-line__quantity-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.sf-cart-stepper { display: grid; grid-template-columns: 36px 44px 36px; height: 40px; border: 1px solid var(--color-border); border-radius: var(--radius-md); overflow: hidden; background: var(--color-surface); }
.sf-cart-stepper button { min-width: 36px; border: 0; background: transparent; color: var(--color-primary); font-size: 1.2rem; }
.sf-cart-stepper button:hover, .sf-cart-stepper button:focus-visible { background: var(--color-surface-muted); }
.sf-cart-stepper input { width: 44px; min-width: 0; border: 0; border-inline: 1px solid var(--color-border); background: transparent; color: var(--color-text); text-align: center; }
.sf-cart-stepper input[type="number"] { -moz-appearance: textfield; appearance: textfield; }
.sf-cart-stepper input[type="number"]::-webkit-inner-spin-button,
.sf-cart-stepper input[type="number"]::-webkit-outer-spin-button { margin: 0; -webkit-appearance: none; }
.sf-cart-stepper input:focus-visible { outline: 2px solid var(--color-primary); outline-offset: -2px; }
.sf-cart-quantity-form__submit { margin: 0; padding: 4px 8px; min-height: 32px; font-size: .75rem; }
.sf-cart-line__error { margin: 0; color: var(--color-danger); font-size: .78rem; }
.sf-cart-line__price { display: grid; justify-items: end; gap: var(--space-1); min-width: 0; text-align: right; white-space: nowrap; }
.sf-cart-line__price > strong { font-size: 1.05rem; }
.sf-cart-line__old-price, .sf-cart-line__discount { color: var(--color-text-secondary); font-size: .75rem; }
.sf-cart-line__price > span { color: var(--color-text-secondary); font-size: .75rem; }
.sf-cart-line__remove { margin: 0; }
.sf-cart-line__remove button { width: 36px; height: 36px; border: 0; background: transparent; color: var(--color-text-secondary); font-size: 1.5rem; line-height: 1; }
.sf-cart-line__remove button:hover, .sf-cart-line__remove button:focus-visible { color: var(--color-danger); }
.sf-cart__tenant-subtotal { margin: 0; padding: var(--space-3) var(--space-5); border-top: 1px solid var(--color-border); color: var(--color-text-secondary); font-size: .82rem; text-align: right; }
.sf-cart__tenant-subtotal strong { color: var(--color-text); }
.sf-cart__warning { padding: var(--space-3) var(--space-4); border: 1px solid rgba(138, 104, 27, .25); border-radius: var(--radius-md); background: #fff8eb; color: var(--color-warning); font-size: .88rem; }
.sf-cart-summary { position: sticky; top: var(--space-4); display: grid; gap: var(--space-3); padding: var(--space-5); border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-surface); box-shadow: var(--shadow-subtle); }
.sf-cart-summary h2 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: 1.5rem; }
.sf-cart-summary__row { display: flex; justify-content: space-between; gap: var(--space-3); font-size: .9rem; }
.sf-cart-summary__divider { height: 1px; background: var(--color-border); }
.sf-cart-summary__total { align-items: baseline; font-weight: 700; }
.sf-cart-summary__total strong { font-family: Georgia, "Times New Roman", serif; font-size: 1.65rem; }
.sf-cart-summary__checkout, .sf-cart-summary__continue { width: 100%; justify-content: center; text-align: center; text-decoration: none; }
.sf-cart-summary__notice { margin: 0; color: var(--color-warning); font-size: .82rem; }
.sf-cart__empty { max-width: 560px; }

@media (max-width: 1023px) { .sf-cart__layout { grid-template-columns: 1fr; } .sf-cart-summary { position: static; } }
@media (max-width: 640px) {
    .sf-cart { padding: var(--space-3) 0 var(--space-6); }
    .sf-cart__heading { margin-bottom: var(--space-4); }
    .sf-cart__tenant-heading { padding: var(--space-3) var(--space-4); }
    .sf-cart-line { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "product remove" "quantity price"; gap: var(--space-3); padding: var(--space-3) var(--space-4); }
    .sf-cart-line__product { grid-area: product; grid-template-columns: 88px minmax(0, 1fr); gap: var(--space-3); }
    .sf-cart-line__quantity { grid-area: quantity; }
    .sf-cart-line__price { grid-area: price; align-self: center; }
    .sf-cart-line__remove { grid-area: remove; align-self: start; }
    .sf-cart__tenant-subtotal { padding-inline: var(--space-4); }
    .sf-cart-summary { padding: var(--space-4); }
}

/* Final cart corrections: compact context and intentional mobile line composition. */
.sf-cart-summary__context .sf-purchasing-context {
    display: grid;
    gap: var(--space-2);
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.sf-cart-summary__context .sf-purchasing-context__title h2 { font-family: inherit; font-size: 1rem; }
.sf-cart-summary__context .sf-purchasing-context__current { margin: 0; font-size: .78rem; }
.sf-cart-summary__context .sf-purchasing-context__form { display: grid; gap: var(--space-2); margin: 0; }
.sf-cart-summary__context .sf-purchasing-context__fallback[hidden] { display: none; }
.sf-cart-summary__organization-meta { margin: 0; color: var(--color-text-secondary); font-size: .76rem; }

@media (max-width: 640px) {
    .sf-cart-line { gap: var(--space-2); padding: var(--space-3); }
    .sf-cart-line__product { grid-template-columns: 80px minmax(0, 1fr); gap: var(--space-3); align-items: start; }
    .sf-cart-line__media { width: 80px; height: 80px; }
    .sf-cart-line__identity h3 { font-size: .98rem; line-height: 1.25; }
    .sf-cart-line__identity p { font-size: .76rem; line-height: 1.3; }
    .sf-cart-line__availability { margin-top: var(--space-1); font-size: .74rem; }
    .sf-cart-line__quantity { align-self: center; }
    .sf-cart-stepper { grid-template-columns: 34px 40px 34px; height: 38px; }
    .sf-cart-stepper input { width: 40px; }
    .sf-cart-line__price { display: block; font-size: .95rem; }
    .sf-cart-line__price > strong { display: block; font-size: 1rem; line-height: 1.2; }
    .sf-cart-line__price > span { display: block; margin-top: 2px; font-size: .72rem; }
    .sf-cart-line__remove button { width: 32px; height: 32px; font-size: 1.3rem; }
    .sf-cart-summary__context .sf-purchasing-context__select { width: 100%; }
}

.sf-purchasing-context__single span,
.sf-purchasing-context__meta {
    font-weight: 400;
}

.sf-checkout-buyer .sf-purchasing-context__form {
    display: grid;
    align-items: stretch;
    gap: var(--space-1);
    margin-top: var(--space-3);
}

.sf-purchasing-context__select-label {
    color: var(--color-text-secondary);
    font-size: 0.76rem;
}

.sf-purchasing-context__select,
.sf-checkout-field select {
    width: 100%;
    min-height: 44px;
    padding: 9px 36px 9px 12px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-surface);
    color: var(--color-text);
    font: inherit;
}

.sf-checkout-buyer .sf-purchasing-context__fallback {
    width: max-content;
    min-height: 40px;
    margin-top: var(--space-1);
}

.sf-checkout-buyer .sf-purchasing-context__fallback[hidden] {
    display: none;
}

/* Checkout handoff: scoped to the real checkout inner content. */
.sf-checkout-page {
    gap: var(--space-5);
}

.sf-checkout-page > .sf-checkout-heading {
    margin-bottom: 0;
}

.sf-checkout-heading {
    display: grid;
    gap: var(--space-2);
}

.sf-checkout-layout {
    grid-template-columns: minmax(0, 1.1fr) minmax(360px, 0.9fr);
    gap: var(--space-5);
    align-items: start;
}

.sf-checkout-left {
    display: grid;
    gap: var(--space-4);
    min-width: 0;
}

.sf-checkout-page .sf-card {
    border-radius: var(--radius-lg);
    box-shadow: none;
}

.sf-checkout-buyer .sf-card,
.sf-checkout-buyer-card {
    padding: var(--space-4);
}

.sf-checkout-section-title {
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.sf-purchasing-context__title,
.sf-checkout-merchant h2,
.sf-checkout-order-info h2 {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
}

.sf-checkout-section-title h2,
.sf-checkout-merchant h2,
.sf-checkout-order-info h2 {
    margin: 0;
    font-family: inherit;
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.25;
}

.sf-checkout-heading-icon {
    flex: 0 0 auto;
    width: 21px;
    height: 21px;
    fill: none;
    stroke: var(--color-primary);
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.sf-checkout-section-icon {
    color: var(--color-primary);
    font-size: 1.15rem;
}

.sf-checkout-context-name {
    margin: var(--space-4) 0 0;
    font-weight: 700;
}

.sf-checkout-helper {
    margin: var(--space-2) 0 0;
    color: var(--color-text-secondary);
    font-size: 0.82rem;
    line-height: 1.45;
}

.sf-checkout-buyer .sf-purchasing-context {
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.sf-checkout-buyer .sf-purchasing-context > h2 {
    margin: 0;
    font-family: inherit;
    font-size: 1.1rem;
    font-weight: 700;
}

.sf-checkout-buyer .sf-purchasing-context > p {
    margin: var(--space-2) 0 0;
    color: var(--color-text-secondary);
    font-size: 0.82rem;
}

.sf-checkout-buyer .sf-purchasing-context .sf-form {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-2);
    margin-top: var(--space-4);
}

.sf-checkout-buyer .sf-purchasing-context__option {
    display: flex;
    align-items: flex-start;
    gap: var(--space-2);
    min-height: 44px;
    padding: 9px 12px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-surface);
}

.sf-checkout-buyer .sf-purchasing-context__option:hover,
.sf-checkout-buyer .sf-purchasing-context__option:has(input:checked) {
    border-color: rgba(40, 70, 61, 0.42);
    background: rgba(40, 70, 61, 0.06);
}

.sf-checkout-buyer .sf-purchasing-context__option input {
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    margin: 3px 0 0;
    accent-color: var(--color-primary);
}

.sf-checkout-buyer .sf-purchasing-context__option span {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.sf-checkout-buyer .sf-purchasing-context__option small {
    color: var(--color-text-secondary);
    line-height: 1.35;
}

.sf-checkout-buyer .sf-purchasing-context__option small em {
    display: block;
    font-size: 0.72rem;
    font-style: normal;
}

.sf-checkout-buyer .sf-purchasing-context .sf-button {
    justify-self: start;
    min-height: 40px;
    padding: 9px 14px;
}

.sf-checkout-buyer-details {
    display: grid;
    gap: var(--space-1);
    margin: var(--space-3) var(--space-4) 0;
    padding-left: var(--space-3);
    border-left: 2px solid var(--color-border);
    color: var(--color-text-secondary);
    font-size: 0.78rem;
    line-height: 1.4;
}

.sf-checkout-merchant {
    padding: var(--space-4);
}

.sf-checkout-merchant-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    padding-bottom: var(--space-3);
    border-bottom: 1px solid var(--color-border);
}

.sf-checkout-merchant-head p,
.sf-checkout-merchant-head > span {
    margin: var(--space-1) 0 0;
    color: var(--color-text-secondary);
    font-size: 0.82rem;
}

.sf-checkout-lines {
    gap: 0;
}

.sf-checkout-line {
    display: grid;
    gap: var(--space-3);
    align-items: center;
    padding: var(--space-3) 0;
    border-top: 1px solid var(--color-border);
}

.sf-checkout-line:first-child {
    border-top: 0;
}

.sf-checkout-line--problem {
    background: #fff8f5;
}

.sf-checkout-line__media {
    display: grid;
    place-items: center;
    overflow: hidden;
    border-radius: var(--radius-md);
    background: var(--color-media-backdrop);
}

.sf-checkout-line__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.sf-checkout-line__media .sf-product-card__placeholder {
    padding: var(--space-2);
    color: var(--color-text-secondary);
    font-size: 0.7rem;
    text-align: center;
}

.sf-checkout-line__main {
    min-width: 0;
}

.sf-checkout-line__main h3 {
    margin: 0;
    font-size: 0.98rem;
    line-height: 1.35;
}

.sf-checkout-line__main p {
    margin: var(--space-1) 0 0;
    color: var(--color-text-secondary);
    font-size: 0.82rem;
    line-height: 1.35;
}

.sf-checkout-line__meta {
    overflow-wrap: anywhere;
    font-size: 0.75rem !important;
}

.sf-checkout-merchant-total,
.sf-checkout-summary-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--space-3);
}

.sf-checkout-merchant-total {
    padding-top: var(--space-2);
    border-top: 1px solid var(--color-border);
    color: var(--color-text-secondary);
    font-size: 0.82rem;
}

.sf-checkout-merchant-total strong {
    color: var(--color-text);
}

.sf-checkout-order-info {
    padding: var(--space-4);
}

.sf-checkout-order-info h2 span {
    color: var(--color-text-secondary);
    font-family: Arial, "Helvetica Neue", sans-serif;
    font-size: 0.82rem;
    font-weight: 400;
}

.sf-checkout-order-info .sf-checkout-summary-row > strong {
    white-space: nowrap;
}

.sf-checkout-form-panel {
    position: sticky;
    top: var(--space-4);
    padding: var(--space-4);
}

.sf-checkout-form {
    display: grid;
    gap: var(--space-3);
    margin-top: var(--space-4);
}

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

.sf-checkout-field label {
    font-size: 0.82rem;
    font-weight: 600;
}

.sf-checkout-field input,
.sf-checkout-field textarea {
    width: 100%;
    min-width: 0;
    padding: 10px 12px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-surface);
    font: inherit;
}

.sf-checkout-field input {
    height: 44px;
}

.sf-checkout-field textarea {
    resize: vertical;
    line-height: 1.45;
}

.sf-checkout-field input:focus,
.sf-checkout-field textarea:focus {
    border-color: var(--color-primary);
    outline: 2px solid rgba(40, 70, 61, 0.16);
    outline-offset: 1px;
}

.sf-checkout-field small {
    color: var(--color-text-secondary);
    font-size: 0.78rem;
    line-height: 1.4;
}

.sf-checkout-field .sf-field__error,
.sf-checkout-form-error {
    color: var(--color-danger);
}

.sf-checkout-form-error {
    padding: var(--space-3);
    border: 1px solid rgba(130, 52, 34, 0.24);
    border-radius: var(--radius-md);
    background: #fff3ef;
}

.sf-checkout-total-box {
    display: grid;
    gap: var(--space-2);
    margin-top: var(--space-1);
    padding: var(--space-3) var(--space-4);
    border-radius: var(--radius-md);
    background: var(--color-surface-muted);
    font-size: 0.86rem;
}

.sf-checkout-divider {
    height: 1px;
    background: var(--color-border);
}

.sf-checkout-summary-row--grand {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.05rem;
    font-weight: 700;
}

.sf-checkout-summary-row--grand strong {
    font-size: 1.6rem;
    white-space: nowrap;
}

.sf-checkout-submit {
    width: 100%;
    min-height: 48px;
    font-weight: 700;
}

.sf-checkout-disclaimer {
    margin: 0;
    color: var(--color-text-secondary);
    font-size: 0.75rem;
    line-height: 1.4;
    text-align: center;
}

@media (max-width: 980px) {
    .sf-checkout-layout {
        grid-template-columns: 1fr;
    }

    .sf-checkout-form-panel {
        position: static;
    }
}

@media (max-width: 640px) {
    .sf-checkout-page {
        gap: var(--space-4);
        margin-top: 16px;
    }

    .sf-checkout-heading .sf-eyebrow {
        display: none;
    }

    .sf-checkout-layout,
    .sf-checkout-left {
        gap: var(--space-3);
    }

    .sf-checkout-line {
        gap: var(--space-3);
        align-items: start;
    }

    .sf-checkout-line__media {
        width: 60px;
        height: 60px;
    }

    .sf-checkout-buyer-details {
        margin-right: 0;
        margin-left: var(--space-3);
    }

    .sf-checkout-buyer .sf-purchasing-context .sf-button {
        width: auto;
    }

    .sf-checkout-buyer .sf-purchasing-context__option {
        max-width: 100%;
    }
}

@media (max-width: 420px) {
    .sf-range-row {
        grid-template-columns: 1fr;
    }

    .sf-product-gallery__main {
        max-height: none;
        padding: 12px;
    }
}

@media (max-width: 640px) {
    .sf-account-shell {
        display: block;
    }

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

    .sf-account-tabs {
        display: flex;
        flex-wrap: nowrap;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        min-height: 40px;
        gap: 8px;
        margin-bottom: 20px;
        overflow-x: auto;
        overflow-y: hidden;
        padding: 0 0 2px;
        overscroll-behavior-x: contain;
        scrollbar-width: none;
    }

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

    .sf-account-tabs a {
        flex: 0 0 auto;
        min-width: max-content;
        min-height: 42px;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 8px 12px;
        border-radius: 999px;
        color: var(--color-text-secondary);
        font-size: 0.88rem;
        text-align: center;
        text-decoration: none;
    }

    .sf-account-tabs a.is-current {
        background: var(--color-surface-muted);
        color: var(--color-text);
        font-weight: 700;
    }

    .sf-account-main .sf-section { gap: 18px; }
    .sf-account-page-header { gap: 16px; }
    .sf-account-page-eyebrow { font-size: 0.75rem; }

    .sf-page-title { font-size: var(--font-page-title); }
    .sf-page-lead { font-size: var(--font-app-body); }

    .sf-account-shell,
    .sf-account-main,
    .sf-orders,
    .sf-orders__content,
    .sf-orders__mobile-list,
    .sf-orders__mobile-card {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }

    .sf-orders__filters {
        flex-wrap: nowrap;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        margin-bottom: 12px;
        overflow-x: auto;
        overflow-y: hidden;
        padding-bottom: 2px;
        overscroll-behavior-x: contain;
        scrollbar-width: none;
    }
    .sf-orders__filters::-webkit-scrollbar {
        display: none;
    }
    .sf-orders__filter {
        flex: 0 0 auto;
        min-height: 40px;
        padding-inline: 16px;
    }
    .sf-orders__table-surface { display: none; }
    .sf-orders__mobile-list {
        display: grid;
        gap: 12px;
        width: 100%;
    }
    .sf-orders__mobile-card {
        display: grid;
        width: 100%;
        min-width: 0;
        max-width: 100%;
        gap: 0;
        padding: 12px;
        border: 1px solid var(--color-border);
        border-radius: var(--radius-lg);
        background: var(--color-surface);
        color: var(--color-text);
        text-decoration: none;
        box-shadow: none;
    }
    .sf-orders__mobile-card:hover,
    .sf-orders__mobile-card:focus-visible {
        border-color: var(--color-primary);
        color: var(--color-text);
    }
    .sf-orders__mobile-top {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        min-width: 0;
        gap: 8px;
        align-items: center;
    }
    .sf-orders__mobile-reference {
        min-width: 0;
        overflow: hidden;
        font-size: 0.96rem;
        font-weight: 700;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .sf-orders__mobile-metadata {
        display: grid;
        min-width: 0;
        gap: 4px;
        margin-top: 6px;
        color: var(--color-text-secondary);
        font-size: 0.82rem;
    }
    .sf-orders__mobile-metrics {
        display: flex;
        min-width: 0;
        justify-content: space-between;
        align-items: end;
        gap: 12px;
        margin-top: 9px;
        font-size: 0.92rem;
    }
    .sf-orders__mobile-metrics .sf-order-money {
        font-size: 1rem;
        font-weight: 700;
    }
    .sf-orders__mobile-card .sf-orders__status-badge {
        min-height: 28px;
        padding: 4px 7px;
        font-size: 0.76rem;
    }
    .sf-orders__mobile-card .sf-orders__status-badge { position: relative; z-index: 1; }
    .sf-orders__mobile-card .sf-orders__status-badge { white-space: nowrap; }
    .sf-orders__mobile-card .sf-orders__status-badge,
    .sf-orders__mobile-reference { align-self: center; }
    .sf-orders__mobile-list .sf-orders__mobile-card:focus-visible {
        outline: 3px solid rgba(40, 70, 61, 0.24);
        outline-offset: 2px;
    }
    .sf-orders__mobile-list .sf-orders__mobile-card:active {
        background: var(--color-surface-muted);
    }
    .sf-orders__mobile-card .sf-orders__status-badge--new,
    .sf-orders__mobile-card .sf-orders__status-badge--accepted,
    .sf-orders__mobile-card .sf-orders__status-badge--processing {
        background: #edf4f2;
    }
    .sf-orders__mobile-card .sf-orders__status-badge--completed { background: #e7f3ea; }
    .sf-orders__mobile-card .sf-orders__status-badge--cancelled { background: #fbefeb; }
    .sf-orders__empty { padding: var(--space-4); }
}

/* Checkout table contract: header and every desktop row share these tracks. */
.sf-checkout-merchant {
    --checkout-line-columns: minmax(0, 1fr) 84px 132px 120px;
}

.sf-checkout-table {
    display: grid;
    width: 100%;
    min-width: 0;
}

.sf-checkout-table__header,
.sf-checkout-line {
    display: grid;
    grid-template-columns: var(--checkout-line-columns);
    column-gap: var(--space-3);
    min-width: 0;
}

.sf-checkout-table__header {
    padding: var(--space-2) 0;
    color: var(--color-text-secondary);
    font-size: 0.72rem;
    font-weight: 600;
}

.sf-checkout-table__header > div:nth-child(1),
.sf-checkout-line__product {
    grid-column: 1;
}

.sf-checkout-table__header > div:nth-child(2),
.sf-checkout-line__quantity {
    grid-column: 2;
}

.sf-checkout-table__header > div:nth-child(3),
.sf-checkout-line__unit-price {
    grid-column: 3;
}

.sf-checkout-table__header > div:nth-child(4),
.sf-checkout-line__total {
    grid-column: 4;
}

.sf-checkout-table__header > div:nth-child(2),
.sf-checkout-line__quantity {
    text-align: center;
}

.sf-checkout-table__header > div:nth-child(3),
.sf-checkout-table__header > div:nth-child(4),
.sf-checkout-line__unit-price,
.sf-checkout-line__total {
    text-align: right;
}

.sf-checkout-table__body {
    display: grid;
    min-width: 0;
}

.sf-checkout-line {
    align-items: center;
    padding: var(--space-3) 0;
    border-top: 1px solid var(--color-border);
}

.sf-checkout-line__product {
    display: grid;
    grid-template-columns: 80px minmax(0, 1fr);
    align-items: center;
    gap: var(--space-3);
    min-width: 0;
}

.sf-checkout-line__media {
    width: 80px;
    height: 80px;
}

.sf-checkout-line__main {
    min-width: 0;
}

.sf-checkout-line__main h3 {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.3;
}

.sf-checkout-line__main p {
    margin: var(--space-1) 0 0;
    line-height: 1.35;
}

.sf-checkout-line__meta {
    overflow-wrap: anywhere;
    word-break: normal;
}

.sf-checkout-line__quantity,
.sf-checkout-line__unit-price,
.sf-checkout-line__total {
    min-width: 0;
    color: var(--color-text);
    font-size: 0.9rem;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.sf-checkout-line__unit-price strong,
.sf-checkout-line__total strong {
    color: var(--color-text);
    font-size: 0.98rem;
    font-weight: 600;
}

.sf-checkout-line__unit-price del {
    display: block;
    color: var(--color-text-secondary);
    font-size: 0.75rem;
}

.sf-checkout-line__discount {
    margin-left: 4px;
    color: var(--color-danger);
    font-size: 0.72rem;
    white-space: nowrap;
}

.sf-checkout-line__mobile-label {
    display: none;
}

.sf-checkout-merchant-total {
    display: grid;
    grid-template-columns: var(--checkout-line-columns);
    column-gap: var(--space-3);
    align-items: baseline;
}

.sf-checkout-merchant-total span {
    grid-column: 1 / 4;
}

.sf-checkout-merchant-total strong {
    grid-column: 4;
    text-align: right;
    white-space: nowrap;
}

@media (max-width: 640px) {
    .sf-checkout-table {
        display: block;
    }

    .sf-checkout-table__header {
        display: none;
    }

    .sf-checkout-table__body {
        display: grid;
    }

    .sf-checkout-line {
        grid-template-columns: minmax(48px, 0.55fr) minmax(100px, 1fr) minmax(100px, 1fr);
        column-gap: var(--space-2);
        row-gap: var(--space-2);
        padding: var(--space-3) 0;
    }

    .sf-checkout-line__product {
        grid-column: 1 / -1;
        grid-template-columns: 60px minmax(0, 1fr);
        gap: var(--space-3);
        padding-bottom: var(--space-1);
    }

    .sf-checkout-line__media {
        width: 60px;
        height: 60px;
    }

    .sf-checkout-line__quantity,
    .sf-checkout-line__unit-price,
    .sf-checkout-line__total {
        display: grid;
        min-width: 0;
        justify-items: start;
        gap: 2px;
        text-align: left;
        white-space: nowrap;
        font-size: 0.875rem;
    }

    .sf-checkout-line__quantity {
        grid-column: 1;
        justify-items: center;
        text-align: center;
    }

    .sf-checkout-line__unit-price {
        grid-column: 2;
        justify-items: end;
        text-align: right;
    }

    .sf-checkout-line__total {
        grid-column: 3;
        justify-items: end;
        text-align: right;
    }

    .sf-checkout-line__mobile-label {
        display: block;
        color: var(--color-text-secondary);
        font-size: 0.75rem;
        line-height: 1.2;
        white-space: nowrap;
    }

    .sf-checkout-line__unit-price strong,
    .sf-checkout-line__total strong {
        font-size: 0.9rem;
        white-space: nowrap;
    }

    .sf-checkout-merchant-total {
        display: flex;
        justify-content: space-between;
    }
}
/* Buyer order confirmation: scoped Branch 19 composition. */
.sf-confirmation { max-width: 1170px; margin: 0 auto; padding: var(--space-5) 0 var(--space-8); }
.sf-confirmation__heading { margin-bottom: var(--space-5); }
.sf-confirmation__heading h1, .sf-confirmation__order-header h2, .sf-confirmation__next h2 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-weight: 700; }
.sf-confirmation__heading p { max-width: 600px; }
.sf-confirmation__badge { display: none; }
.sf-confirmation__panel { border: 1px solid var(--color-border); border-radius: var(--radius-xl); background: var(--color-surface); box-shadow: var(--shadow-subtle); }
.sf-confirmation__hero { display: grid; grid-template-columns: minmax(0, 1fr) 230px; gap: var(--space-5); align-items: center; padding: 20px 24px; margin-bottom: var(--space-5); }
.sf-confirmation__hero-summary { display: flex; align-items: center; gap: 18px; min-width: 0; }
.sf-confirmation__hero-icon { display: grid; flex: 0 0 52px; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: #e6f2e7; color: var(--color-success); }
.sf-confirmation__hero-icon svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.sf-confirmation__eyebrow { margin: 0 0 5px; color: var(--color-text-secondary); font-size: .8rem; }
.sf-confirmation__reference, .sf-confirmation__references { margin: 0; color: var(--color-text-secondary); font-family: Arial, "Helvetica Neue", sans-serif; font-size: .9rem; font-weight: 500; overflow-wrap: anywhere; }
.sf-confirmation__references { display: flex; flex-wrap: wrap; gap: 4px 14px; }
.sf-confirmation__note { margin: 5px 0 0; color: var(--color-text-secondary); font-size: .8rem; }
.sf-confirmation__actions { display: grid; gap: 10px; }
.sf-confirmation__actions .sf-button { width: 100%; justify-content: center; text-align: center; }
.sf-confirmation__primary-action { background: var(--color-primary); color: #fff; }
.sf-confirmation__order { overflow: hidden; margin-bottom: var(--space-5); }
.sf-confirmation__order-header { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; padding: 22px 24px 18px; }
.sf-confirmation__order-header h2 { font-size: 1.2rem; }
.sf-confirmation__order-header p { margin: 4px 0 0; color: var(--color-text-secondary); font-size: .82rem; }
.sf-confirmation__status { flex: 0 0 auto; padding: 7px 12px; border-radius: 999px; background: #edf7ee; color: var(--color-success); font-size: .875rem; font-weight: 700; }
.sf-confirmation__status--cancelled { background: #f9ece8; color: var(--color-danger); }
.sf-confirmation__status--accepted, .sf-confirmation__status--processing { background: #f7f0df; color: var(--color-warning); }

/* Buyer order detail: compact historical read model. */
.sf-order-detail { gap: 18px; }
.sf-order-detail__header { align-items: flex-end; }
.sf-order-detail__actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.sf-order-detail__actions form { margin: 0; }
.sf-order-detail__summary {
    display: flex; align-items: center; justify-content: space-between; gap: 16px;
    padding: 16px 20px; border: 1px solid var(--color-border); border-radius: var(--radius-lg);
    background: var(--color-surface); box-shadow: var(--shadow-subtle);
}
.sf-order-detail__summary-main { display: flex; align-items: center; gap: 10px; min-width: 0; flex-wrap: wrap; }
.sf-order-detail__reference { font-weight: 700; overflow-wrap: anywhere; }
.sf-order-detail__summary-meta { color: var(--color-text-secondary); font-size: var(--font-meta); line-height: var(--line-height-compact); }
.sf-order-detail__summary-total { display: grid; gap: 2px; text-align: right; white-space: nowrap; }
.sf-order-detail__summary-total span { color: var(--color-text-secondary); font-size: var(--font-meta); line-height: var(--line-height-compact); }
.sf-order-detail__summary-total strong { font-size: var(--font-section-title); line-height: var(--line-height-compact); }
.sf-order-detail__block { margin: 0; padding: 20px; }
.sf-order-detail__block-head { margin-bottom: 16px; }
.sf-order-detail__block-head h2 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: var(--font-section-title); line-height: var(--line-height-wrapped); }
.sf-order-detail__block-head p { margin: 5px 0 0; color: var(--color-text-secondary); font-size: var(--font-app-body); line-height: var(--line-height-wrapped); }
.sf-order-detail__lines-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: var(--font-app-body); }
.sf-order-detail__lines-table th, .sf-order-detail__lines-table td { padding: 12px 10px; border-bottom: 1px solid var(--color-border); text-align: left; vertical-align: top; }
.sf-order-detail__lines-table th { color: var(--color-text-secondary); font-size: var(--font-meta); font-weight: 600; }
.sf-order-detail__lines-table th:nth-child(1) { width: 34%; }
.sf-order-detail__lines-table th:nth-child(2) { width: 23%; }
.sf-order-detail__lines-table th:nth-child(3) { width: 17%; }
.sf-order-detail__lines-table th:nth-child(4) { width: 12%; }
.sf-order-detail__lines-table th:nth-child(5) { width: 14%; }
.sf-order-detail__lines-table strong { display: block; line-height: 1.35; }
.sf-order-detail__product-cell { display: flex; align-items: center; gap: 10px; min-width: 0; }
.sf-order-detail__product-copy { min-width: 0; }
.sf-order-detail__product-link { display: block; color: var(--color-text); line-height: 1.35; overflow-wrap: anywhere; }
a.sf-order-detail__product-link { color: var(--color-primary); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; }
a.sf-order-detail__product-link:hover, a.sf-order-detail__product-link:focus-visible { color: var(--color-primary-hover); }
.sf-order-detail__thumbnail { display: flex; flex: 0 0 60px; width: 60px; height: 60px; align-items: center; justify-content: center; overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface-muted); color: var(--color-text-secondary); font-size: .68rem; line-height: 1.2; text-align: center; }
.sf-order-detail__thumbnail img { display: block; width: 100%; height: 100%; object-fit: contain; }
.sf-order-detail__thumbnail--mobile { display: none; }
.sf-order-detail__line-meta { display: block; margin-top: 4px; color: var(--color-text-secondary); font-size: var(--font-meta); line-height: var(--line-height-wrapped); overflow-wrap: anywhere; }
.sf-order-detail__money { white-space: nowrap; }
.sf-order-detail__total { display: flex; justify-content: flex-end; align-items: baseline; gap: 18px; padding-top: 14px; font-size: var(--font-section-title); line-height: var(--line-height-compact); }
.sf-order-detail__total strong { font-size: var(--font-section-title); }
.sf-order-detail__lines-mobile { display: none; }
.sf-order-detail__info-list, .sf-order-detail__dialog-list { display: grid; gap: 12px; margin: 0; }
.sf-order-detail__info-list div, .sf-order-detail__dialog-list div { display: grid; gap: 3px; }
.sf-order-detail__info-list dt, .sf-order-detail__dialog-list dt { color: var(--color-text-secondary); font-size: var(--font-meta); line-height: var(--line-height-compact); }
.sf-order-detail__info-list dd, .sf-order-detail__dialog-list dd { margin: 0; font-size: var(--font-app-body); line-height: var(--line-height-wrapped); overflow-wrap: anywhere; }
.sf-order-detail__parties { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.sf-order-detail__party { display: grid; align-content: start; gap: 5px; min-width: 0; padding: 14px; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface-muted); }
.sf-order-detail__party strong { line-height: 1.35; overflow-wrap: anywhere; }
.sf-order-detail__party-label { color: var(--color-text-secondary); font-size: var(--font-meta); font-weight: 700; line-height: var(--line-height-compact); }
.sf-order-detail__party .sf-button { justify-self: start; margin-top: 6px; }
.sf-order-detail__documents { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 8px; }
.sf-order-detail__document { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-width: 0; padding: 10px 12px; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface-muted); }
.sf-order-detail__document-main { display: flex; align-items: flex-start; gap: 9px; min-width: 0; }
.sf-order-detail__document-icon { display: inline-flex; flex: 0 0 24px; width: 24px; height: 24px; align-items: center; justify-content: center; color: var(--color-primary); }
.sf-order-detail__document-icon svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.6; }
.sf-order-detail__document > div { min-width: 0; }
.sf-order-detail__document strong { display: block; overflow-wrap: anywhere; }
.sf-order-detail__document .sf-button { flex: 0 0 auto; }
.sf-order-detail__empty { margin: 0; color: var(--color-text-secondary); font-size: var(--font-app-body); line-height: var(--line-height-compact); }
.sf-order-detail__dialog { width: min(600px, calc(100vw - 32px)); max-height: min(720px, calc(100vh - 32px)); padding: 20px; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-surface); color: var(--color-text); box-shadow: 0 18px 60px rgba(31, 26, 23, .22); }
.sf-order-detail__dialog::backdrop { background: rgba(31, 26, 23, .42); }
.sf-order-detail__dialog-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.sf-order-detail__dialog-head h2 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: 1.2rem; line-height: 1.3; }
.sf-order-detail__dialog-head form { margin: -8px -8px 0 0; }
.sf-order-detail__dialog-close { width: 40px; height: 40px; border: 0; border-radius: 8px; background: transparent; color: var(--color-text-secondary); font-size: 1.6rem; line-height: 1; cursor: pointer; }
.sf-order-detail__dialog-close:hover, .sf-order-detail__dialog-close:focus-visible { background: var(--color-surface-muted); color: var(--color-text); }

@media (max-width: 640px) {
    .sf-order-detail { gap: 16px; }
    .sf-order-detail__header { align-items: flex-start; }
    .sf-order-detail__actions, .sf-order-detail__actions .sf-button, .sf-order-detail__actions form { width: 100%; }
    .sf-order-detail__actions .sf-button { min-height: 42px; }
    .sf-order-detail__summary { align-items: flex-start; padding: 14px 16px; }
    .sf-order-detail__summary-main { display: grid; gap: 6px; }
    .sf-order-detail__block { padding: 16px; }
    .sf-order-detail__lines-desktop { display: none; }
    .sf-order-detail__lines-mobile { display: grid; gap: 8px; }
    .sf-order-detail__line-card { display: grid; gap: 12px; padding: 12px; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface-muted); }
    .sf-order-detail__line-card-top { display: flex; align-items: flex-start; gap: 10px; min-width: 0; }
    .sf-order-detail__thumbnail--mobile { display: flex; flex-basis: 52px; width: 52px; height: 52px; }
    .sf-order-detail__line-card-main { min-width: 0; }
    .sf-order-detail__line-stats { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; margin: 0; }
    .sf-order-detail__line-stats div { display: grid; gap: 3px; min-width: 0; }
    .sf-order-detail__line-stats dt { color: var(--color-text-secondary); font-size: var(--font-meta); line-height: var(--line-height-compact); }
    .sf-order-detail__line-stats dd { margin: 0; font-size: var(--font-section-title); font-weight: 700; white-space: nowrap; }
    .sf-order-detail__total { padding-top: 12px; }
    .sf-order-detail__parties { grid-template-columns: 1fr; gap: 8px; }
    .sf-order-detail__document { align-items: flex-start; flex-direction: column; gap: 10px; }
    .sf-order-detail__document .sf-button { width: 100%; }
    .sf-order-detail__dialog { padding: 16px; }
}

@media (min-width: 641px) {
    .sf-order-detail__info-list { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; row-gap: 12px; }
}

@media (min-width: 1100px) {
    .sf-order-detail__info-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.sf-confirmation__lines { padding: 0 24px; }
.sf-confirmation__line { display: grid; grid-template-columns: 84px minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 0 0 20px; }
.sf-confirmation__line-media { display: grid; place-items: center; width: 84px; height: 84px; border-radius: var(--radius-lg); background: var(--color-media-backdrop); color: var(--color-text-secondary); text-align: center; font-size: .7rem; line-height: 1.25; }
.sf-confirmation__line-main { min-width: 0; }
.sf-confirmation__line-main h3 { margin: 0 0 5px; font-size: 1rem; }
.sf-confirmation__line-main p { margin: 3px 0 0; color: var(--color-text-secondary); font-size: .82rem; line-height: 1.35; }
.sf-confirmation__line-main .sf-confirmation__sku { font-size: .8rem; }
.sf-confirmation__line-price { display: grid; gap: 4px; justify-items: end; text-align: right; white-space: nowrap; }
.sf-confirmation__line-price strong { font-size: 1rem; }
.sf-confirmation__line-price span { color: var(--color-text-secondary); font-size: .82rem; }
.sf-confirmation__order-footer { display: flex; justify-content: space-between; gap: 16px; align-items: center; padding: 14px 24px; border-top: 1px solid var(--color-border); font-size: .9rem; }
.sf-confirmation__order-footer strong { font-size: 1.1rem; }
.sf-confirmation__detail-link { display: inline-block; margin: 0 24px 20px; font-size: .9rem; font-weight: 700; }
.sf-confirmation__next { padding: 20px 24px; background: rgba(255, 253, 249, .7); }
.sf-confirmation__next h2 { margin-bottom: 16px; font-size: 1.35rem; }
.sf-confirmation__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.sf-confirmation__steps article { display: flex; gap: 12px; align-items: flex-start; }
.sf-confirmation__steps article > span { display: grid; flex: 0 0 32px; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--color-surface-muted); color: var(--color-primary); font-weight: 700; }
.sf-confirmation__steps h3 { margin: 1px 0 5px; font-size: .98rem; }
.sf-confirmation__steps p { margin: 0; color: var(--color-text-secondary); font-size: .875rem; line-height: 1.4; }
@media (max-width: 700px) {
    .sf-confirmation { padding: 20px 0 40px; }
    .sf-toast-stack { right: 12px; bottom: calc(var(--mobile-bottom-nav-height) + 14px + env(safe-area-inset-bottom, 0px)); width: calc(100vw - 24px); }
    .sf-confirmation__heading { margin-bottom: 18px; text-align: center; }
    .sf-confirmation__badge { width: 56px; height: 56px; margin: 0 auto 12px; border-radius: 50%; background: #e6f2e7; color: var(--color-success); }
    .sf-confirmation__badge svg { width: 42px; height: 42px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
    .sf-confirmation__heading h1 { text-align: left;}
    .sf-confirmation__heading p { text-align: left;}
    .sf-confirmation__hero { display: block; padding: 16px; }
    .sf-confirmation__hero-summary { gap: 12px; }
    .sf-confirmation__hero-icon { flex-basis: 48px; width: 48px; height: 48px; }
    .sf-confirmation__hero-icon svg { width: 24px; height: 24px; }
    .sf-confirmation__reference, .sf-confirmation__references { font-size: .86rem; }
    .sf-confirmation__actions { margin-top: 18px; }
    .sf-confirmation__order-header { padding: 16px 16px 14px; }
    .sf-confirmation__order-header h2 { font-size: 1.08rem; }
    .sf-confirmation__order-header p { font-size: .8rem; }
    .sf-confirmation__status { padding: 6px 9px; font-size: .75rem; }
    .sf-confirmation__lines { padding: 0 16px; }
    .sf-confirmation__line { grid-template-columns: 58px minmax(0, 1fr); gap: 12px; align-items: start; padding-bottom: 16px; }
    .sf-confirmation__line-media { width: 58px; height: 58px; border-radius: var(--radius-md); font-size: .58rem; }
    .sf-confirmation__line-main h3 { font-size: .98rem; }
    .sf-confirmation__line-main p { font-size: .82rem; }
    .sf-confirmation__line-price { grid-column: 2; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 12px; margin-top: -5px; text-align: left; }
    .sf-confirmation__line-price strong { font-size: 1rem; order: 2; }
    .sf-confirmation__line-price span { font-size: .78rem; order: 1; }
    .sf-confirmation__order-footer { padding: 14px 16px; font-size: .9rem; }
    .sf-confirmation__order-footer strong { font-size: 1.05rem; }
    .sf-confirmation__detail-link { margin: 0 16px 16px; }
    .sf-confirmation__next { padding: 18px 16px; }
    .sf-confirmation__next h2 { font-size: 1.35rem; }
    .sf-confirmation__steps { grid-template-columns: 1fr; gap: 14px; }
}

/*
 * Buyer application typography normalization.
 * Product detail, catalog merchandising, and homepage hero typography deliberately keep their
 * separate visual roles. These rules cover transactional and account surfaces only.
 */
.sf-cart,
.sf-checkout-page,
.sf-confirmation,
.sf-account-shell,
.sf-account-main,
.sf-auth-layout,
.sf-order-detail {
    font-size: var(--font-app-body);
}

.sf-cart__tenant-heading h2,
.sf-cart-summary h2,
.sf-checkout-section-title h2,
.sf-checkout-merchant h2,
.sf-checkout-order-info h2,
.sf-confirmation__order-header h2,
.sf-confirmation__next h2,
.sf-account-main .sf-card > h2,
.sf-auth-layout .sf-card > h2,
.sf-order-detail__block-head h2,
.sf-order-detail__dialog-head h2 {
    font-size: var(--font-section-title);
    line-height: var(--line-height-wrapped);
}

.sf-cart__tenant-heading p,
.sf-cart__tenant-heading > span,
.sf-cart-line__identity p,
.sf-cart-line__availability,
.sf-cart-line__old-price,
.sf-cart-line__discount,
.sf-cart-line__price > span,
.sf-cart__tenant-subtotal,
.sf-cart__warning,
.sf-cart-summary__row,
.sf-cart-summary__notice,
.sf-cart-summary__context .sf-purchasing-context__current,
.sf-cart-summary__organization-meta,
.sf-purchasing-context__single,
.sf-purchasing-context__meta,
.sf-purchasing-context__select-label,
.sf-checkout-helper,
.sf-checkout-buyer .sf-purchasing-context > p,
.sf-checkout-buyer-details,
.sf-checkout-table__header,
.sf-checkout-line__main p,
.sf-checkout-line__quantity,
.sf-checkout-line__unit-price,
.sf-checkout-line__total,
.sf-checkout-line__unit-price del,
.sf-checkout-line__discount,
.sf-checkout-line__mobile-label,
.sf-checkout-field label,
.sf-checkout-field small,
.sf-checkout-total-box,
.sf-checkout-disclaimer,
.sf-confirmation__eyebrow,
.sf-confirmation__reference,
.sf-confirmation__references,
.sf-confirmation__note,
.sf-confirmation__order-header p,
.sf-confirmation__status,
.sf-confirmation__line-main p,
.sf-confirmation__line-main .sf-confirmation__sku,
.sf-confirmation__line-price span,
.sf-confirmation__order-footer,
.sf-confirmation__detail-link,
.sf-confirmation__steps p,
.sf-orders__table,
.sf-orders__table th,
.sf-orders__status-badge,
.sf-orders__mobile-metadata,
.sf-orders__mobile-metrics,
.sf-account-tabs a,
.sf-account-main .sf-card p,
.sf-account-main .sf-field > span,
.sf-account-main .sf-field small,
.sf-definition-list dt,
.sf-definition-list dd,
.sf-auth-layout .sf-card p,
.sf-auth-layout .sf-field > span,
.sf-auth-layout .sf-field small,
.sf-order-detail__summary-meta,
.sf-order-detail__summary-total span,
.sf-order-detail__block-head p,
.sf-order-detail__lines-table,
.sf-order-detail__lines-table th,
.sf-order-detail__line-meta,
.sf-order-detail__info-list dt,
.sf-order-detail__info-list dd,
.sf-order-detail__dialog-list dt,
.sf-order-detail__dialog-list dd,
.sf-order-detail__party-label,
.sf-order-detail__empty {
    font-size: var(--font-app-body);
    line-height: var(--line-height-compact);
}

.sf-cart-line__identity h3,
.sf-checkout-line__main h3,
.sf-confirmation__line-main h3,
.sf-confirmation__steps h3,
.sf-order-detail__product-link,
.sf-order-detail__party strong,
.sf-order-detail__document strong {
    font-size: var(--font-section-title);
    line-height: var(--line-height-wrapped);
}

/* Buyer organizations: compact list/create composition based on the approved prototype. */
.sf-org-list__header,
.sf-org-form__header { margin-bottom: 0; }
.sf-org-list__cards { display: grid; gap: var(--space-4); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sf-org-card { display: flex; min-width: 0; flex-direction: column; gap: 0; padding: 18px; }
.sf-org-card__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding-bottom: 14px; border-bottom: 1px solid var(--color-border); }
.sf-org-card__identity { display: flex; min-width: 0; gap: 12px; }
.sf-org-card__mark,
.sf-org-empty__icon { display: grid; flex: 0 0 auto; place-items: center; border-radius: 50%; background: #e4f0ea; color: var(--color-primary); font-weight: 700; }
.sf-org-card__mark { width: 50px; height: 50px; overflow: hidden; font-size: 18px; }
.sf-org-card__mark .sf-org-logo__image { width: 100%; height: 100%; }
.sf-org-logo { display: grid; width: 50px; height: 50px; place-items: center; overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface-muted); }
.sf-org-logo__image { display: block; width: 100%; height: 100%; object-fit: contain; }
.sf-org-logo__fallback { color: var(--color-primary); font-size: 22px; line-height: 1; }
.sf-org-card__name { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: var(--font-section-title); line-height: var(--line-height-wrapped); }
.sf-org-card__name a { color: var(--color-text); text-decoration: none; }
.sf-org-card__name a:hover, .sf-org-card__name a:focus-visible { color: var(--color-primary); text-decoration: underline; }
.sf-org-card__type { margin: 4px 0 0; color: var(--color-text-secondary); font-size: var(--font-meta); line-height: var(--line-height-compact); }
.sf-org-card__badge { display: inline-flex; min-height: 28px; align-items: center; padding: 4px 9px; border: 1px solid #bfd7ca; border-radius: 999px; background: #e4f0ea; color: var(--color-primary); font-size: var(--font-meta); font-weight: 700; white-space: nowrap; }
.sf-org-card__badge--muted { border-color: var(--color-border); background: var(--color-surface-muted); color: var(--color-text-secondary); }
.sf-org-card__data { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 18px; margin: 0; padding: 15px 0; }
.sf-org-card__data dt { margin: 0 0 5px; color: var(--color-text-secondary); font-size: var(--font-meta); line-height: var(--line-height-compact); }
.sf-org-card__data dd { margin: 0; overflow-wrap: anywhere; font-size: var(--font-app-body); line-height: var(--line-height-wrapped); }
.sf-org-card__actions { display: flex; gap: 10px; margin-top: auto; padding-top: 14px; border-top: 1px solid var(--color-border); }
.sf-org-card__actions .sf-button { flex: 1; }
.sf-org-info { display: flex; align-items: center; gap: 12px; margin-top: var(--space-4); padding: 14px 16px; border: 1px solid #bfd7ca; border-radius: 14px; background: #e4f0ea; }
.sf-org-info__icon { display: grid; flex: 0 0 34px; width: 34px; height: 34px; place-items: center; border-radius: 50%; background: #fff; color: var(--color-primary); font-weight: 700; }
.sf-org-info strong { display: block; font-size: var(--font-app-body); line-height: var(--line-height-wrapped); }
.sf-org-info p { margin: 3px 0 0; color: var(--color-text-secondary); font-size: var(--font-meta); line-height: var(--line-height-wrapped); }
.sf-org-empty { display: grid; min-height: 300px; place-items: center; padding: 32px 20px; text-align: center; }
.sf-org-empty__icon { width: 64px; height: 64px; margin-bottom: 14px; font-size: 28px; }
.sf-org-empty h2 { margin: 0 0 8px; font-family: Georgia, "Times New Roman", serif; font-size: var(--font-section-title); line-height: var(--line-height-wrapped); }
.sf-org-empty p { max-width: 560px; margin: 0 auto 18px; color: var(--color-text-secondary); font-size: var(--font-app-body); line-height: var(--line-height-wrapped); }
.sf-org-form__grid { display: grid; align-items: start; gap: var(--space-4); grid-template-columns: minmax(0, 1.4fr) minmax(260px, .75fr); }
.sf-org-form__stack { min-width: 0; }
.sf-org-form__card { min-width: 0; max-width: none; padding: 18px; }
.sf-org-form__card h2, .sf-org-form__note h2 { margin: 0 0 6px; font-family: Georgia, "Times New Roman", serif; font-size: var(--font-section-title); line-height: var(--line-height-wrapped); }
.sf-org-form__lead { margin: 0 0 16px; color: var(--color-text-secondary); font-size: var(--font-meta); line-height: var(--line-height-wrapped); }
.sf-org-form__fields { display: grid; min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.sf-org-form__field { min-width: 0; }
.sf-org-form__field select { display: block; width: 100%; min-width: 0; max-width: 100%; }
.sf-org-form__field input, .sf-org-form__field select { height: 44px; min-height: 44px; }
.sf-org-form__field textarea { height: 96px; min-height: 96px; resize: none; }
.sf-org-form__readonly { display: flex; min-width: 0; min-height: 44px; align-items: center; padding: 12px 14px; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface-muted); color: var(--color-text); font-size: var(--font-app-body); line-height: var(--line-height-wrapped); }
.sf-org-form__field--invalid input, .sf-org-form__field--invalid select, .sf-org-form__field--invalid textarea { border-color: var(--color-danger); }
.sf-org-form__field span b { color: var(--color-danger); }
.sf-org-form__field textarea { min-height: 76px; }
.sf-org-form__note { position: sticky; top: var(--space-4); padding: 18px; }
.sf-org-form__note p { margin: 0; color: var(--color-text-secondary); font-size: var(--font-meta); line-height: var(--line-height-wrapped); }
.sf-org-form__actions { margin-top: 0; }
.sf-org-form__edit-extra { max-width: 680px; margin-top: var(--space-4); }
.sf-org-form__non-field-error { padding: 10px 12px; border: 1px solid rgba(130, 52, 34, .22); border-radius: var(--radius-md); background: #fff8f5; font-size: var(--font-meta); line-height: var(--line-height-wrapped); }

@media (max-width: 800px) {
    .sf-org-list__cards, .sf-org-form__grid { grid-template-columns: 1fr; }
    .sf-org-form__note { position: static; }
}

@media (max-width: 640px) {
    .sf-org-list__header { align-items: stretch; }
    .sf-org-list__header .sf-button { width: 100%; }
    .sf-org-card { padding: 16px; }
    .sf-org-card__top { gap: 8px; }
    .sf-org-card__name { font-size: var(--font-section-title); }
    .sf-org-card__data { gap: 10px 14px; padding: 13px 0; }
    .sf-org-card__actions { flex-direction: column; }
    .sf-org-card__actions .sf-button { width: 100%; }
    .sf-org-empty { min-height: 270px; padding: 28px 16px; }
    .sf-org-info { align-items: flex-start; padding: 12px; }
    .sf-org-form__card, .sf-org-form__note { padding: 16px; }
    .sf-org-form__fields { grid-template-columns: 1fr; gap: 12px; }
    .sf-org-form__actions { flex-direction: column; align-items: stretch; }
    .sf-org-form__actions .sf-button { width: 100%; }
}

.sf-cart-line__price > strong,
.sf-cart-summary__total strong,
.sf-checkout-line__unit-price strong,
.sf-checkout-line__total strong,
.sf-checkout-summary-row--grand,
.sf-checkout-summary-row--grand strong,
.sf-confirmation__line-price strong,
.sf-confirmation__order-footer strong,
.sf-orders__mobile-metrics .sf-order-money,
.sf-order-detail__summary-total strong,
.sf-order-detail__total,
.sf-order-detail__total strong,
.sf-order-detail__line-stats dd {
    font-size: var(--font-section-title);
    line-height: var(--line-height-compact);
}

.sf-orders__filter,
.sf-orders__primary-link,
.sf-orders__mobile-reference,
.sf-order-detail__reference,
.sf-order-detail__money,
.sf-order-detail__line-stats dt,
.sf-order-detail__party,
.sf-order-detail__document {
    font-size: var(--font-app-body);
    line-height: var(--line-height-compact);
}

.sf-orders__status-badge,
.sf-confirmation__status {
    min-height: 28px;
}

.sf-cart-line__identity p,
.sf-checkout-line__main p,
.sf-confirmation__line-main p,
.sf-confirmation__steps p,
.sf-account-main .sf-card p,
.sf-auth-layout .sf-card p,
.sf-order-detail__block-head p,
.sf-order-detail__line-meta,
.sf-order-detail__info-list dd,
.sf-order-detail__dialog-list dd {
    line-height: var(--line-height-wrapped);
}

@media (max-width: 640px) {
    .sf-button { font-size: var(--font-app-body); }

    .sf-cart-line__identity h3,
    .sf-checkout-line__main h3,
    .sf-confirmation__line-main h3,
    .sf-confirmation__steps h3,
    .sf-order-detail__product-link,
    .sf-order-detail__party strong,
    .sf-order-detail__document strong,
    .sf-cart-line__price > strong,
    .sf-cart-summary__total strong,
    .sf-checkout-line__unit-price strong,
    .sf-checkout-line__total strong,
    .sf-checkout-summary-row--grand,
    .sf-checkout-summary-row--grand strong,
    .sf-confirmation__line-price strong,
    .sf-confirmation__order-footer strong,
    .sf-orders__mobile-metrics .sf-order-money,
    .sf-order-detail__summary-total strong,
    .sf-order-detail__total,
    .sf-order-detail__total strong,
    .sf-order-detail__line-stats dd {
        font-size: var(--font-section-title);
    }
}

/* Shared metadata / field-label role: 13px on every buyer viewport. */
.sf-cart__tenant-heading p,
.sf-cart__tenant-heading > span,
.sf-cart-line__identity p,
.sf-cart-line__availability,
.sf-cart-line__old-price,
.sf-cart-line__discount,
.sf-cart-line__price > span,
.sf-cart__tenant-subtotal,
.sf-cart-summary__notice,
.sf-cart-summary__context .sf-purchasing-context__current,
.sf-cart-summary__organization-meta,
.sf-purchasing-context__meta,
.sf-purchasing-context__select-label,
.sf-checkout-helper,
.sf-checkout-buyer .sf-purchasing-context > p,
.sf-checkout-buyer-details,
.sf-checkout-table__header,
.sf-checkout-line__main p,
.sf-checkout-line__unit-price del,
.sf-checkout-line__discount,
.sf-checkout-line__mobile-label,
.sf-checkout-field label,
.sf-checkout-field small,
.sf-checkout-disclaimer,
.sf-confirmation__eyebrow,
.sf-confirmation__reference,
.sf-confirmation__references,
.sf-confirmation__note,
.sf-confirmation__order-header p,
.sf-confirmation__status,
.sf-confirmation__line-main p,
.sf-confirmation__line-main .sf-confirmation__sku,
.sf-confirmation__line-price span,
.sf-confirmation__steps p,
.sf-orders__table th,
.sf-orders__status-badge,
.sf-orders__mobile-metadata,
.sf-account-main .sf-field > span,
.sf-account-main .sf-field small,
.sf-auth-layout .sf-field > span,
.sf-auth-layout .sf-field small,
.sf-definition-list dt,
.sf-order-detail__summary-meta,
.sf-order-detail__summary-total span,
.sf-order-detail__lines-table th,
.sf-order-detail__line-meta,
.sf-order-detail__info-list dt,
.sf-order-detail__dialog-list dt,
.sf-order-detail__party-label,
.sf-order-detail__line-stats dt {
    color: var(--color-text-secondary);
    font-size: var(--font-meta);
    line-height: var(--line-height-compact);
}

.sf-cart-line__identity p,
.sf-checkout-buyer-details,
.sf-checkout-line__main p,
.sf-confirmation__reference,
.sf-confirmation__references,
.sf-confirmation__line-main p,
.sf-order-detail__line-meta {
    line-height: var(--line-height-wrapped);
}

/* Branch 19 catalog/listing composition. */
.sf-section-title {
    margin: 0;
    font-size: var(--font-section-title);
    line-height: var(--line-height-wrapped);
}

@media (min-width: 641px) {
    .sf-filter-panel > summary {
        display: none;
    }
}

@media (max-width: 640px) {
    .sf-header .sf-search-widget {
        display: none;
    }

    .sf-search-widget {
        max-width: none;
    }

    .sf-search-widget--page {
        margin-top: 0;
    }

    .sf-search-widget__form {
        grid-template-columns: 28px minmax(0, 1fr) 32px;
        min-height: 48px;
    }

    .sf-search-widget__submit {
        display: none;
    }

    .sf-search-widget__clear {
        min-height: 46px;
    }

    .sf-search-widget__suggestions {
        position: static;
        margin-top: var(--space-3);
        box-shadow: none;
    }

    .sf-search-suggestion {
        grid-template-columns: 48px minmax(0, 1fr) auto;
        gap: var(--space-2);
    }

    .sf-search-suggestion__image,
    .sf-search-suggestion__fallback {
        width: 48px;
        height: 48px;
    }

    .sf-search-suggestion__price {
        font-size: 12px;
    }
}

@media (min-width: 641px) {
    .sf-search-widget--page .sf-search-widget__form {
        grid-template-columns: 28px minmax(0, 1fr) 32px 86px;
    }
}

@media (max-width: 640px) {
    .sf-filter-panel:not([open]) > form {
        display: none;
    }

    .sf-filter-panel[open] > form {
        display: grid;
    }

    .sf-search-form--catalog {
        align-items: stretch;
        flex-direction: column;
    }

    .sf-search-form--catalog .sf-actions,
    .sf-search-form--catalog .sf-button {
        width: 100%;
    }

    .sf-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        justify-content: start;
    }

    .sf-product-card__body {
        gap: 6px;
        padding: 10px 12px 12px;
    }

    .sf-product-card__category,
    .sf-product-card__sku {
        font-size: var(--font-meta);
    }

    .sf-product-card__body h3 {
        font-size: 15px;
        line-height: var(--line-height-wrapped);
    }

    .sf-product-card__price,
    .sf-product-card__price .sf-price__effective {
        font-size: var(--font-app-body);
    }

    .sf-product-card__cart-button {
        min-height: 40px;
        padding-inline: 8px;
        font-size: var(--font-meta);
    }
}

/* Catalog controls and the single real filter form. */
.sf-catalog-head__meta {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    flex-wrap: wrap;
}

.sf-catalog-controls {
    display: flex;
    align-items: center;
    gap: 8px;
}

.sf-catalog-head__meta .sf-result-count {
    white-space: nowrap;
}

.sf-sort-control__desktop {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    color: var(--color-text-secondary);
    font-size: var(--font-meta);
}

.sf-sort-control__desktop a {
    padding: 6px 8px;
    border-radius: var(--radius-sm);
    text-decoration: none;
}

.sf-sort-control__desktop a[aria-current="true"] {
    background: var(--color-surface-muted);
    color: var(--color-text);
    font-weight: 700;
}

.sf-sort-menu {
    display: none;
    position: relative;
}

.sf-sort-menu > summary {
    list-style: none;
}

.sf-sort-menu > summary::-webkit-details-marker {
    display: none;
}

.sf-icon-button {
    position: relative;
    display: inline-grid;
    width: 42px;
    height: 42px;
    place-items: center;
    padding: 0;
    border: 1px solid var(--color-border);
    border-radius: 50%;
    background: var(--color-surface);
    color: var(--color-primary);
    cursor: pointer;
    font-size: 22px;
    line-height: 1;
}

.sf-icon-button svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.sf-filter-dot {
    position: absolute;
    top: 5px;
    right: 5px;
    width: 7px;
    height: 7px;
    border: 1px solid var(--color-surface);
    border-radius: 50%;
    background: var(--color-danger);
}

.sf-mobile-only {
    display: none;
}

.sf-filter-dialog {
    display: block;
    position: static;
    width: 100%;
    max-width: 270px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
}

.sf-filter-dialog::backdrop {
    background: rgba(31, 26, 23, 0.42);
}

.sf-filter-dialog__header {
    display: none;
}

.sf-filter-dialog > form {
    display: grid;
}

@media (max-width: 640px) {
    .sf-catalog-head__meta {
        width: 100%;
        justify-content: flex-start;
        gap: var(--space-2);
    }

    .sf-catalog-controls {
        gap: 8px;
    }

    .sf-mobile-only,
    .sf-sort-menu {
        display: inline-grid;
    }

    .sf-sort-control__desktop {
        display: none;
    }

    .sf-sort-menu__popup {
        position: absolute;
        z-index: 10;
        top: calc(100% + 8px);
        right: 0;
        display: grid;
        min-width: 190px;
        padding: var(--space-2);
        border: 1px solid var(--color-border);
        border-radius: var(--radius-md);
        background: var(--color-surface);
        box-shadow: var(--shadow-subtle);
    }

    .sf-sort-menu__popup a {
        padding: 10px;
        border-radius: var(--radius-sm);
        color: var(--color-text);
        font-size: var(--font-meta);
        text-decoration: none;
    }

    .sf-sort-menu__popup a[aria-current="true"] {
        background: var(--color-surface-muted);
        font-weight: 700;
    }

    .sf-filter-dialog {
        display: none;
        position: fixed;
        inset: 0;
        z-index: 40;
        width: min(100% - 32px, 420px);
        max-width: none;
        max-height: calc(100dvh - 32px);
        margin: auto;
        overflow: hidden;
        border: 1px solid var(--color-border);
        border-radius: var(--radius-lg);
        background: var(--color-background);
        box-shadow: 0 18px 48px rgba(31, 26, 23, 0.2);
    }

    .sf-filter-dialog[open] {
        display: grid;
        grid-template-rows: auto minmax(0, 1fr);
    }

    .sf-filter-dialog__header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: var(--space-3);
        padding: var(--space-4);
        border-bottom: 1px solid var(--color-border);
        background: var(--color-surface);
    }

    .sf-filter-dialog__header h2 {
        margin: 0;
        font-size: var(--font-section-title);
    }

    .sf-filter-dialog > form {
        min-height: 0;
        overflow-y: auto;
        padding: var(--space-4);
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }

    .sf-filter-dialog .sf-actions {
        position: sticky;
        bottom: 0;
        padding-top: var(--space-3);
        background: var(--color-background);
    }

    .sf-filter-dialog .sf-actions .sf-button {
        flex: 1 1 140px;
    }
}

@media (min-width: 1024px) {
    .sf-filter-dialog {
        max-width: none;
    }

    .sf-layout__main .sf-product-grid {
        gap: var(--space-4);
    }
}

/* Search keeps catalog card density when only one or two results are present. */
.sf-product-grid--search {
    grid-template-columns: repeat(4, minmax(210px, 240px));
    justify-content: start;
}

@media (min-width: 641px) and (max-width: 1023px) {
    .sf-product-grid--search {
        grid-template-columns: repeat(3, minmax(210px, 240px));
    }
}

@media (max-width: 640px) {
    .sf-product-grid--search {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.sf-category-card-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.sf-category-card { overflow: hidden; min-width: 0; }
.sf-category-card > a { display: block; height: 100%; background: #fffdf9; border: 1px solid #ddd8cf; border-radius: 16px; overflow: hidden; box-shadow: 0 10px 24px rgba(31,38,35,.07); }
.sf-category-card__media { display: grid; place-items: center; aspect-ratio: 4 / 3; background: #f1eee8; overflow: hidden; }
.sf-category-card__media img { width: 100%; height: 100%; object-fit: cover; }
.sf-category-card__fallback { color: #746f67; font-size: 13px; }
.sf-category-card__body { display: flex; justify-content: space-between; gap: 10px; align-items: center; padding: 14px 15px; background: var(--color-surface, #fffdf9); border-top: 1px solid var(--color-border, #ddd8cf); color: var(--color-text-primary, #171c1b); font-weight: 750; }
.sf-category-card__body > :last-child { color: #174f43; font-size: 24px; line-height: 1; }
.sf-subcategory-strip { grid-auto-flow: column; grid-auto-columns: minmax(170px, 1fr); overflow-x: auto; scrollbar-width: none; }
.sf-subcategory-strip::-webkit-scrollbar { display: none; }
.sf-subcategory-card .sf-category-card__media { aspect-ratio: 16 / 8; }
.cm-category-image-preview { display: block; width: 180px; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 10px; }

@media (max-width: 1023px) and (min-width: 641px) { .sf-category-card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) {
    .sf-category-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .sf-category-card__body { padding: 11px 12px; font-size: 14px; }
    .sf-subcategory-strip { display: grid; grid-auto-columns: 145px; margin-inline: -2px; }
    .sf-subcategory-card .sf-category-card__media { aspect-ratio: 16 / 9; }
}

/* Branch 19 visual corrective pass. */
@media (min-width: 641px) {
    .sf-header__inner { width: min(100% - 64px, var(--container-width)); min-width: 0; gap: 16px; }
    .sf-header__inner > .sf-brand, .sf-header__inner > .sf-nav, .sf-header__inner > .sf-search-widget { min-width: 0; }
    .sf-nav--primary, .sf-nav--account { flex: 0 1 auto; min-width: 0; flex-wrap: wrap; }
    .sf-nav--account { justify-content: flex-end; }
    .sf-search-widget { flex: 1 1 260px; min-width: 180px; max-width: 420px; }
    .sf-header .sf-search-widget { margin-left: auto; }
}
.sf-category-card-grid { grid-template-columns: repeat(4, minmax(180px, 240px)); justify-content: start; gap: 14px; }
.sf-category-card__media { aspect-ratio: 16 / 8; }
.sf-category-card__fallback { width: 30px; height: 30px; border: 1px solid #c9d1cb; border-radius: 50%; position: relative; }
.sf-category-card__fallback::before { content: ""; position: absolute; inset: 8px; border: 1px solid #8fa79c; border-radius: 3px; }
.sf-category-card__body { padding: 11px 13px; }
.sf-subcategory-strip { grid-auto-columns: 180px; grid-template-columns: none; }
.sf-subcategory-card .sf-category-card__media { aspect-ratio: 16 / 8; }
.sf-subcategory-heading h2 { font-size: 20px; }
@media (max-width: 1023px) and (min-width: 641px) {
    .sf-category-card-grid { grid-template-columns: repeat(3, minmax(180px, 220px)); }
}
@media (max-width: 640px) {
    .sf-category-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sf-category-card__media { aspect-ratio: 16 / 9; }
    .sf-subcategory-heading h2 { font-size: 16px; }
    .sf-subcategory-strip { grid-auto-columns: 150px; }
    .sf-subcategory-card .sf-category-card__media { aspect-ratio: 16 / 9; }
}



.sf-home-hero__slide{
        box-shadow: 1px 1px 15px #00000063;
}

.sf-home-hero{
    overflow: visible;
}

/* Branch 19 buyer chrome: direct catalog access, without a category overlay. */
.sf-header {
    background: linear-gradient(135deg, #0b4d40, #0a4338);
}

.sf-header__inner {
    min-width: 0;
    gap: var(--space-4);
}

.sf-brand {
    display: inline-flex;
    align-items: center;
    gap: 9px;
}

.sf-header__catalog {
    gap: 8px;
    padding-inline: 14px !important;
    border: 1px solid rgba(247, 242, 234, .18);
    border-radius: var(--radius-md);
    background: rgba(247, 242, 234, .1);
    color: var(--color-chrome-text) !important;
    font-weight: 700;
}

.sf-footer {
    background: linear-gradient(135deg, #0b4d40, #073d34);
}

.sf-footer__inner {
    grid-template-columns: minmax(220px, 1.4fr) repeat(3, minmax(130px, 1fr));
    gap: 28px;
}

.sf-footer__brand .sf-brand {
    font-size: 1.25rem;
}

.sf-footer__group h2 {
    font-size: 1.06rem;
}

@media (min-width: 641px) {
    .sf-header__inner {
        width: min(100% - 64px, var(--container-width));
        min-height: 82px;
    }

    .sf-nav--primary,
    .sf-nav--account {
        flex-wrap: nowrap;
    }

    .sf-nav--primary {
        flex: 0 0 auto;
    }

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

    .sf-header .sf-search-widget {
        flex: 1 1 280px;
        min-width: 220px;
        max-width: none;
    }
}

@media (max-width: 1080px) and (min-width: 641px) {
    .sf-context-link {
        display: none;
    }
}

@media (max-width: 640px) {
    .sf-header__inner {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas: "brand";
        gap: 0;
        min-height: 0;
        padding: 8px 0;
    }

    .sf-header__inner > .sf-brand {
        grid-area: brand;
        min-width: 0;
        justify-self: center;
    }

    .sf-header__inner > .sf-nav--primary {
        display: none;
    }

    .sf-header__inner > .sf-search-widget {
        display: none;
    }

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

    .sf-header__catalog {
        min-height: 46px !important;
        justify-content: center;
        padding-inline: 12px !important;
        font-size: .88rem !important;
    }

    .sf-header .sf-search-widget__form {
        min-height: 46px;
        border-color: var(--color-border);
    }

    .sf-footer {
        padding-top: 32px;
    }

    .sf-footer__inner {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px 20px;
    }

    .sf-footer__brand {
        grid-column: 1 / -1;
    }

    .sf-footer__group h2 {
        font-size: 1rem;
    }
}

/* Managed public storefront assets. Uploaded SVGs are always external image resources. */
.sf-brand--logo {
    display: block;
    width: min(220px, 20vw);
    height: 56px;
}

.sf-brand--logo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: left center;
}

.sf-header__catalog--with-icon,
.sf-nav__cart,
.sf-nav--account a {
    gap: 7px;
}

.sf-header__catalog--with-icon > img,
.sf-header-control-icon,
.sf-search-widget__icon img {
    display: block;
    width: 20px;
    height: 20px;
    object-fit: contain;
}

.sf-search-widget__form {
    grid-template-columns: minmax(0, 1fr) 32px 86px;
}

.sf-search-widget__form--has-icon {
    grid-template-columns: 28px minmax(0, 1fr) 32px 86px;
}

.sf-search-widget__icon {
    display: grid;
    place-items: center;
}

.sf-footer__logo {
    width: min(250px, 100%);
    height: 64px;
}

@media (max-width: 640px) {
    .sf-brand--logo {
        width: min(200px, 62vw);
        height: 38px;
    }

    .sf-search-widget__form {
        grid-template-columns: minmax(0, 1fr) 32px;
    }

    .sf-search-widget__form--has-icon {
        grid-template-columns: 28px minmax(0, 1fr) 32px;
    }

    .sf-footer__logo {
        width: min(220px, 100%);
        height: 56px;
    }
}


.sf-header-control-icon {
    filter: brightness(0) invert(1);
}



.sf-header__catalog--with-icon > img {
        filter: brightness(0) invert(1);
}
