/* Arome — Account pages (profile, orders, change-password) */

/* ── Hide announcement stripe on account pages ────────────── */

body:has([data-hide-stripe]) {
    --theme-stripe-height: 0px;
}

body:has([data-hide-stripe]) .flr-announcement {
    max-height: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    overflow: hidden !important;
}

/* ── Page wrapper ─────────────────────────────────────────── */

.flr-account {
    min-height: 100vh;
    background:
        radial-gradient(ellipse 90% 40% at 50% 0%, color-mix(in srgb, var(--theme-primary, #b98d77) 8%, var(--theme-bg, #fbf6ee)) 0%, var(--theme-bg, #fbf6ee) 55%);
    padding: calc(var(--theme-header-height, 90px) + var(--theme-stripe-height, 0px) + 4rem) var(--theme-gutter, 24px) 5rem;
    box-sizing: border-box;
    width: 100%;
}

/* ── Layout grid ──────────────────────────────────────────── */

.t1-account-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
}

@media (min-width: 900px) {
    .t1-account-grid {
        grid-template-columns: 256px 1fr;
        gap: 2rem;
        align-items: start;
    }
}

/* ── Sidebar ──────────────────────────────────────────────── */

.flr-account-sidebar {
    background: var(--theme-card-bg, #ffffff);
    border-radius: var(--theme-radius-lg, 10px);
    border: 1px solid var(--theme-border, rgba(74, 58, 48, 0.10));
    border-top: 3px solid var(--theme-primary, #b98d77);
    padding: 1.5rem;
    box-shadow:
        0 0 0 1px var(--theme-border, rgba(74, 58, 48, 0.06)),
        0 8px 32px color-mix(in srgb, var(--theme-espresso, #4a3a30) 10%, transparent);
    position: sticky;
    top: calc(var(--theme-header-height, 90px) + var(--theme-stripe-height, 0px) + 1rem);
}

/* ── User block ───────────────────────────────────────────── */

.flr-account-user {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid var(--theme-border, rgba(74, 58, 48, 0.12));
    margin-bottom: 1rem;
}

.flr-account-avatar {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: linear-gradient(135deg,
        color-mix(in srgb, var(--theme-primary, #b98d77) 55%, var(--theme-surface-raised, #f7e9e4)) 0%,
        color-mix(in srgb, var(--theme-coffee, #6f4f3a) 40%, var(--theme-surface-raised, #f7e9e4)) 100%);
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 2px solid color-mix(in srgb, var(--theme-primary, #b98d77) 30%, transparent);
    font-family: var(--theme-font-family);
    font-size: 1.2rem;
    font-weight: 700;
    box-shadow: 0 4px 12px color-mix(in srgb, var(--theme-primary, #b98d77) 28%, transparent);
}

.t1-account-user-info {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.flr-account-name {
    font-family: var(--theme-font-family);
    font-weight: 700;
    font-size: 0.9375rem;
    color: var(--theme-text, #2a2320);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.flr-account-email {
    font-family: var(--theme-font-family);
    font-size: 0.8rem;
    color: var(--theme-text-muted, #726a62);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ── Sidebar nav ──────────────────────────────────────────── */

.flr-account-nav {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.flr-account-nav-link {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.72rem 0.9rem;
    border-radius: var(--theme-radius-lg, 10px);
    font-family: var(--theme-font-family);
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--theme-text, #2a2320);
    text-decoration: none;
    transition: background 0.18s, color 0.18s, box-shadow 0.18s;
    width: 100%;
    border: none;
    background: transparent;
    cursor: pointer;
    text-align: left;
}

.flr-account-nav-link svg {
    flex-shrink: 0;
    color: var(--theme-primary, #b98d77);
    transition: color 0.18s, transform 0.2s;
    opacity: 0.8;
}

.flr-account-nav-link:hover {
    background: color-mix(in srgb, var(--theme-primary) 9%, transparent);
    color: var(--theme-coffee, #6f4f3a);
}

.flr-account-nav-link:hover svg {
    color: var(--theme-coffee, #6f4f3a);
    opacity: 1;
    transform: translateX(2px);
}

.flr-account-nav-link.is-active {
    background: color-mix(in srgb, var(--theme-primary) 13%, transparent);
    color: var(--theme-coffee, #6f4f3a);
    box-shadow: inset 3px 0 0 var(--theme-primary, #b98d77);
    font-weight: 700;
}

.flr-account-nav-link.is-active svg {
    color: var(--theme-primary, #b98d77);
    opacity: 1;
}

/* ── Sidebar footer (logout) ──────────────────────────────── */

.flr-account-nav-footer {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--theme-border, rgba(74, 58, 48, 0.12));
}

.flr-account-logout {
    color: #dc2626 !important;
}

.flr-account-logout svg {
    color: #dc2626 !important;
    opacity: 1 !important;
}

.flr-account-logout:hover {
    background: color-mix(in srgb, #dc2626 10%, transparent) !important;
    color: #dc2626 !important;
    box-shadow: inset 3px 0 0 #dc2626 !important;
}

.flr-account-logout:hover svg {
    transform: translateX(2px) !important;
}

/* ── Content area ─────────────────────────────────────────── */

.t1-account-content { min-width: 0; }

/* ── Content card ─────────────────────────────────────────── */

.flr-account-card {
    background: var(--theme-card-bg, #ffffff);
    border-radius: var(--theme-radius-lg, 10px);
    border: 1px solid var(--theme-border, rgba(74, 58, 48, 0.10));
    border-top: 3px solid var(--theme-primary, #b98d77);
    padding: 2rem 2.25rem;
    box-shadow:
        0 0 0 1px var(--theme-border, rgba(74, 58, 48, 0.06)),
        0 8px 32px color-mix(in srgb, var(--theme-espresso, #4a3a30) 10%, transparent);
}

/* ── Card header ──────────────────────────────────────────── */

.flr-account-card-header {
    margin-bottom: 1.75rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid var(--theme-border, rgba(74, 58, 48, 0.12));
}

.flr-account-card-title {
    font-family: var(--theme-font-display);
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 400;
    color: var(--theme-text, #2a2320);
    margin: 0 0 0.35rem;
    line-height: 1.2;
    letter-spacing: -0.01em;
}

.flr-account-card-subtitle {
    font-family: var(--theme-font-family);
    font-size: 0.9375rem;
    color: var(--theme-text-muted, #726a62);
    margin: 0;
}

/* ── Form ─────────────────────────────────────────────────── */

.flr-account-form {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.flr-account-field {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.flr-account-label {
    font-family: var(--theme-font-family);
    font-size: 0.72rem;
    font-weight: 700;
    color: var(--theme-text, #2a2320);
    text-transform: uppercase;
    letter-spacing: 0.09em;
}

/* ── Inputs ───────────────────────────────────────────────── */

.flr-account .t1-auth-input {
    width: 100%;
    padding: 0.875rem 1rem;
    background: var(--theme-surface-raised, #f7e9e4);
    border: 1.5px solid var(--theme-border, rgba(74, 58, 48, 0.14));
    border-radius: var(--theme-radius-lg, 10px);
    font-size: 0.9375rem;
    color: var(--theme-text, #2a2320);
    font-family: var(--theme-font-family);
    transition: border-color 0.2s, background 0.2s, box-shadow 0.2s;
    appearance: none;
}

.flr-account .t1-auth-input:hover:not(:focus):not(:disabled):not([readonly]) {
    border-color: color-mix(in srgb, var(--theme-primary) 45%, transparent);
    background: color-mix(in srgb, var(--theme-surface-raised, #f7e9e4) 80%, var(--theme-surface, #fff9f2));
}

.flr-account .t1-auth-input:focus {
    outline: none;
    border-color: var(--theme-primary, #b98d77);
    background: var(--theme-surface, #fff9f2);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--theme-primary) 16%, transparent);
}

.flr-account .t1-auth-input::placeholder {
    color: var(--theme-text-faint, #c6b8ac);
}

/* ── Autofill override ────────────────────────────────────── */

.flr-account .t1-auth-input:-webkit-autofill,
.flr-account .t1-auth-input:-webkit-autofill:hover,
.flr-account .t1-auth-input:-webkit-autofill:focus,
.flr-account .t1-auth-input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 1000px var(--theme-surface-raised, #f7e9e4) inset !important;
    box-shadow: 0 0 0 1000px var(--theme-surface-raised, #f7e9e4) inset !important;
    -webkit-text-fill-color: var(--theme-text, #2a2320) !important;
    caret-color: var(--theme-text, #2a2320);
    border-color: var(--theme-border, rgba(74, 58, 48, 0.14)) !important;
    transition: background-color 0s 600000s, color 0s 600000s;
}

/* ── Readonly input ───────────────────────────────────────── */

.flr-account .t1-profile-input-readonly {
    background: var(--theme-surface-raised, #f7e9e4) !important;
    color: var(--theme-text-muted, #726a62) !important;
    cursor: not-allowed;
    border-color: transparent !important;
    box-shadow: none !important;
    opacity: 0.8;
}

/* ── Password toggle ──────────────────────────────────────── */

.flr-account .novo-auth-password-wrap { position: relative; }

.flr-account .novo-auth-password-toggle {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    padding: 0.35rem 0.75rem;
    font-family: var(--theme-font-family);
    font-size: 0.68rem;
    font-weight: 700;
    color: var(--theme-primary, #b98d77);
    border-radius: 999px;
    background: color-mix(in srgb, var(--theme-primary) 10%, var(--theme-surface-raised, #f7e9e4));
    border: 1px solid color-mix(in srgb, var(--theme-primary) 22%, transparent);
    cursor: pointer;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    line-height: 1;
    transition: background 0.18s, color 0.18s, border-color 0.18s, transform 0.12s;
}

.flr-account .novo-auth-password-toggle:hover {
    background: color-mix(in srgb, var(--theme-primary) 20%, var(--theme-surface-raised, #f7e9e4));
    border-color: color-mix(in srgb, var(--theme-primary) 42%, transparent);
    color: var(--theme-coffee, #6f4f3a);
}

.flr-account .novo-auth-password-toggle:active {
    transform: translateY(-50%) scale(0.94);
}

/* ── Divider ──────────────────────────────────────────────── */

.flr-account-divider {
    height: 1px;
    background: var(--theme-border, rgba(74, 58, 48, 0.14));
    margin: 0.25rem 0;
}

/* ── Submit button ────────────────────────────────────────── */

.flr-account .t1-auth-btn,
.flr-account-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.875rem 2rem;
    background: var(--theme-primary, #b98d77);
    color: #ffffff;
    font-family: var(--theme-font-family);
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    border-radius: 999px;
    border: none;
    cursor: pointer;
    transition: background 0.2s, transform 0.15s, box-shadow 0.2s, opacity 0.2s;
    box-shadow:
        0 2px 6px color-mix(in srgb, var(--theme-primary) 28%, transparent),
        0 6px 20px color-mix(in srgb, var(--theme-primary) 24%, transparent);
    align-self: flex-start;
    width: auto !important;
    position: relative;
    overflow: hidden;
}

.flr-account .t1-auth-btn::after,
.flr-account-btn::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(255,255,255,0.10) 0%, transparent 55%);
    border-radius: inherit;
    pointer-events: none;
}

.flr-account .t1-auth-btn:hover:not(:disabled),
.flr-account-btn:hover:not(:disabled) {
    background: var(--theme-primary-hover, #8a6450);
    transform: translateY(-2px);
    box-shadow:
        0 4px 10px color-mix(in srgb, var(--theme-primary) 28%, transparent),
        0 12px 28px color-mix(in srgb, var(--theme-primary) 32%, transparent);
}

.flr-account .t1-auth-btn:active:not(:disabled),
.flr-account-btn:active:not(:disabled) {
    transform: translateY(0);
    box-shadow: 0 2px 10px color-mix(in srgb, var(--theme-primary) 22%, transparent);
}

.flr-account .t1-auth-btn:disabled,
.flr-account-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
    transform: none !important;
    box-shadow: none !important;
}

/* ── Error / success banners ──────────────────────────────── */

.flr-account-error,
.flr-account .t1-auth-error,
.flr-account .sf-auth__alert {
    display: none;
    background: color-mix(in srgb, #dc2626 8%, transparent);
    border: 1px solid color-mix(in srgb, #dc2626 25%, transparent);
    color: #b91c1c;
    padding: 0.8rem 1rem;
    border-radius: var(--theme-radius-lg, 10px);
    font-size: 0.875rem;
    font-family: var(--theme-font-family);
    line-height: 1.5;
}

.flr-account .t1-auth-error.is-visible,
.flr-account .sf-auth__alert.is-visible,
.flr-account .sf-auth__alert:not(:empty) {
    display: block;
}

.flr-account .sf-auth__alert--success {
    background: color-mix(in srgb, #16a34a 8%, transparent);
    border-color: color-mix(in srgb, #16a34a 28%, transparent);
    color: #15803d;
}

.flr-account-message,
.flr-account .t1-auth-message {
    background: color-mix(in srgb, var(--theme-primary) 8%, var(--theme-surface, #fff9f2));
    border: 1px solid color-mix(in srgb, var(--theme-primary) 22%, transparent);
    color: color-mix(in srgb, var(--theme-primary) 80%, var(--theme-text, #2a2320));
    padding: 0.8rem 1rem;
    border-radius: var(--theme-radius-lg, 10px);
    font-size: 0.875rem;
    font-family: var(--theme-font-family);
    line-height: 1.5;
}

/* ── Password match indicator ─────────────────────────────── */

.flr-account .sf-auth__match {
    margin: 0.2rem 0 0;
    font-size: 0.8rem;
    font-family: var(--theme-font-family);
    font-weight: 500;
}

.flr-account .sf-auth__match.is-ok    { color: #16a34a; }
.flr-account .sf-auth__match.is-error { color: #dc2626; }

/* ── Password strength ────────────────────────────────────── */

.flr-account .sf-auth__strength {
    display: none;
    margin-top: 0.4rem;
}

.flr-account .sf-auth__strength.is-visible { display: block; }

.flr-account .sf-auth__strength-bar {
    height: 4px;
    border-radius: 999px;
    background: var(--theme-surface-raised, #f7e9e4);
    overflow: hidden;
}

.flr-account .sf-auth__strength-bar > span {
    display: block;
    height: 100%;
    width: 0;
    border-radius: inherit;
    background: var(--theme-primary);
    transition: width 0.25s ease, background 0.25s ease;
}

.flr-account .sf-auth__strength[data-level="weak"]   .sf-auth__strength-bar > span { width: 25%; background: #ef4444; }
.flr-account .sf-auth__strength[data-level="fair"]   .sf-auth__strength-bar > span { width: 50%; background: #f97316; }
.flr-account .sf-auth__strength[data-level="good"]   .sf-auth__strength-bar > span { width: 75%; background: #eab308; }
.flr-account .sf-auth__strength[data-level="strong"] .sf-auth__strength-bar > span { width: 100%; background: #16a34a; }

.flr-account .sf-auth__strength-label {
    margin: 0.35rem 0 0;
    font-size: 0.78rem;
    color: var(--theme-text-muted, #726a62);
    font-family: var(--theme-font-family);
}

/* ── Orders table ─────────────────────────────────────────── */

.flr-orders-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.flr-orders-table {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--theme-font-family);
    font-size: 0.875rem;
}

.flr-orders-table thead tr {
    border-bottom: 2px solid var(--theme-border, rgba(74, 58, 48, 0.14));
}

.flr-orders-table th {
    text-align: left;
    padding: 0.75rem 1rem;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.09em;
    color: var(--theme-text-muted, #726a62);
    white-space: nowrap;
}

.flr-orders-table td {
    padding: 0.95rem 1rem;
    color: var(--theme-text, #2a2320);
    border-bottom: 1px solid var(--theme-border, rgba(74, 58, 48, 0.08));
    vertical-align: middle;
}

.flr-orders-table tbody tr:last-child td { border-bottom: none; }

.flr-orders-table tbody tr {
    transition: background 0.15s;
}

.flr-orders-table tbody tr:hover td {
    background: color-mix(in srgb, var(--theme-primary) 5%, transparent);
}

/* ── Order status pill ────────────────────────────────────── */

.flr-order-status {
    display: inline-block;
    padding: 0.28rem 0.75rem;
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    white-space: nowrap;
    background: color-mix(in srgb, var(--theme-primary) 12%, transparent);
    color: var(--theme-coffee, #6f4f3a);
    border: 1px solid color-mix(in srgb, var(--theme-primary) 22%, transparent);
}

/* Semantic status colors */
.flr-order-status[data-status="paid"],
.flr-order-status[data-status="completed"],
.flr-order-status[data-status="delivered"],
.t1-order-status-pill[class*="paid"],
.t1-order-status-pill[class*="complet"],
.t1-order-status-pill[class*="deliver"] {
    background: color-mix(in srgb, #16a34a 10%, transparent);
    color: #15803d;
    border-color: color-mix(in srgb, #16a34a 24%, transparent);
}

.flr-order-status[data-status="pending"],
.flr-order-status[data-status="processing"] {
    background: color-mix(in srgb, #d97706 10%, transparent);
    color: #b45309;
    border-color: color-mix(in srgb, #d97706 24%, transparent);
}

.flr-order-status[data-status="cancelled"],
.flr-order-status[data-status="refunded"],
.flr-order-status[data-status="failed"] {
    background: color-mix(in srgb, #dc2626 10%, transparent);
    color: #b91c1c;
    border-color: color-mix(in srgb, #dc2626 22%, transparent);
}

/* ── Order view link ──────────────────────────────────────── */

.flr-order-view {
    font-family: var(--theme-font-family);
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--theme-primary, #b98d77);
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    transition: color 0.18s;
}

.flr-order-view:hover {
    color: var(--theme-coffee, #6f4f3a);
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* ── Orders empty state ───────────────────────────────────── */

.flr-orders-empty {
    text-align: center;
    padding: 3.5rem 1.5rem;
    font-family: var(--theme-font-family);
}

.flr-orders-empty-icon {
    color: var(--theme-text-faint, #c6b8ac);
    margin-bottom: 1.25rem;
    display: flex;
    justify-content: center;
}

.flr-orders-empty-icon svg {
    width: 56px;
    height: 56px;
    opacity: 0.5;
}

.flr-orders-empty p {
    font-size: 1rem;
    color: var(--theme-text-muted, #726a62);
    margin: 0 0 1.25rem;
}

.flr-orders-empty-cta {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.7rem 1.5rem;
    background: #e3900e;
    color: #ffffff;
    font-size: 0.8125rem;
    font-weight: 700;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    border-radius: 999px;
    transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
    box-shadow: 0 4px 14px color-mix(in srgb, var(--theme-primary) 28%, transparent);
}

.flr-orders-empty-cta:hover {
    background: var(--theme-primary-hover, #8a6450);
    transform: translateY(-2px);
    box-shadow: 0 8px 22px color-mix(in srgb, var(--theme-primary) 32%, transparent);
}

/* ── Orders pagination ────────────────────────────────────── */

.flr-orders-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin-top: 1.75rem;
}

.flr-orders-pagination[hidden] { display: none !important; }

.flr-orders-page-btn {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: 1.5px solid var(--theme-border, rgba(74, 58, 48, 0.14));
    background: var(--theme-surface, #fff9f2);
    color: var(--theme-text, #2a2320);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s, color 0.15s, transform 0.15s;
}

.flr-orders-page-btn:hover:not(:disabled) {
    background: var(--theme-primary);
    border-color: var(--theme-primary);
    color: #ffffff;
    transform: translateY(-1px);
}

.flr-orders-page-btn:disabled {
    opacity: 0.35;
    cursor: not-allowed;
}

.flr-orders-page-info {
    font-family: var(--theme-font-family);
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--theme-text-muted, #726a62);
}

/* ── Order detail modal ───────────────────────────────────── */

.flr-order-modal {
    position: fixed;
    inset: 0;
    z-index: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

.flr-order-modal[hidden] { display: none; }

.t1-order-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(42, 35, 32, 0.55);
    backdrop-filter: blur(4px);
}

.flr-order-modal-panel {
    position: relative;
    background: var(--theme-card-bg, #ffffff);
    border-radius: var(--theme-radius-lg, 10px);
    border: 1px solid var(--theme-border, rgba(74, 58, 48, 0.12));
    border-top: 3px solid var(--theme-primary, #b98d77);
    padding: 2rem;
    width: 100%;
    max-width: 580px;
    max-height: 85vh;
    overflow-y: auto;
    box-shadow:
        0 8px 32px rgba(42, 35, 32, 0.10),
        0 24px 64px rgba(42, 35, 32, 0.16);
    animation: flr-modal-rise 0.28s cubic-bezier(0.22, 0.61, 0.36, 1) both;
}

@keyframes flr-modal-rise {
    from { opacity: 0; transform: translateY(12px) scale(0.98); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
}

.flr-order-modal-close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1.5px solid var(--theme-border, rgba(74, 58, 48, 0.14));
    background: var(--theme-surface-raised, #f7e9e4);
    color: var(--theme-text, #2a2320);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
}

.flr-order-modal-close:hover {
    background: var(--theme-primary);
    color: #ffffff;
    border-color: var(--theme-primary);
}

.flr-order-modal-title {
    font-family: var(--theme-font-display);
    font-size: 1.4rem;
    font-weight: 400;
    color: var(--theme-text, #2a2320);
    margin: 0 0 1.25rem;
    padding-right: 2.5rem;
    letter-spacing: -0.01em;
}

.flr-order-modal-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem 1.5rem;
    margin-bottom: 1.5rem;
    font-family: var(--theme-font-family);
    font-size: 0.875rem;
}

.flr-order-modal-grid > div {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.flr-order-modal-grid strong {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.09em;
    color: var(--theme-text-muted, #726a62);
}

.flr-order-modal-grid span {
    color: var(--theme-text, #2a2320);
    font-weight: 500;
}

.t1-order-modal__section {
    border-top: 1px solid var(--theme-border, rgba(74, 58, 48, 0.12));
    padding-top: 1rem;
    margin-top: 0.5rem;
}

.t1-order-modal__section h4 {
    font-family: var(--theme-font-family);
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.09em;
    color: var(--theme-text-muted, #726a62);
    margin: 0 0 0.75rem;
}

.t1-order-modal__list {
    font-family: var(--theme-font-family);
    font-size: 0.875rem;
    color: var(--theme-text, #2a2320);
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

/* ── Responsive ───────────────────────────────────────────── */

@media (max-width: 899px) {
    .flr-account-sidebar {
        position: static;
    }
}

@media (max-width: 599px) {
    .flr-account {
        padding-top: calc(var(--theme-header-height, 90px) + var(--theme-stripe-height, 40px) + 2rem);
        padding-left: 1rem;
        padding-right: 1rem;
        padding-bottom: 3rem;
    }

    .flr-account-card {
        padding: 1.5rem 1.25rem;
    }

    .flr-order-modal-panel {
        padding: 1.5rem 1.25rem;
    }

    .flr-order-modal-grid {
        grid-template-columns: 1fr;
    }

    .flr-orders-table th,
    .flr-orders-table td {
        padding: 0.65rem 0.6rem;
    }
}

/* ── Aromè account — same black theme as auth ── */

body:has(.arm-account) {
    background: #0b0b0b;
}

body:has(.arm-account) .flr-footer,
body:has(.arm-account) #footer {
    display: none !important;
}

.arm-account {
    --arm-gold: #ffa10c;
    --arm-gold-soft: #ffa10ce0;
    --arm-ink: #ffffff;
    --arm-paper: #171717;
    --arm-muted: rgba(255, 255, 255, 0.58);
    --arm-line: rgba(255, 255, 255, 0.14);
    background:
        radial-gradient(ellipse 50% 42% at 8% 12%, rgba(255, 161, 12, 0.1), transparent 58%),
        radial-gradient(ellipse 42% 36% at 96% 8%, rgba(255, 45, 154, 0.06), transparent 55%),
        #0b0b0b;
    color: #fff;
}

.arm-account .arm-account__kicker {
    margin: 0 0 8px;
    font-family: Jost, sans-serif;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--arm-gold);
}

.arm-account .flr-account-sidebar,
.arm-account .flr-account-card {
    background: var(--arm-paper);
    border: 1px solid var(--arm-line);
    border-top: 3px solid var(--arm-gold);
    border-radius: 18px;
    box-shadow: 0 24px 56px rgba(0, 0, 0, 0.55);
    color: #fff;
}

.arm-account .flr-account-user,
.arm-account .flr-account-nav-footer,
.arm-account .flr-account-card-header,
.arm-account .flr-account-divider {
    border-color: var(--arm-line);
}

.arm-account .flr-account-avatar {
    background: var(--arm-gold-soft);
    color: #111;
    border-color: rgba(255, 161, 12, 0.45);
    box-shadow: 0 6px 16px rgba(255, 161, 12, 0.28);
}

.arm-account .flr-account-name,
.arm-account .flr-account-card-title {
    font-family: 'Playfair Display', Georgia, serif;
    color: #fff;
}

.arm-account .flr-account-card-title {
    font-weight: 700;
    letter-spacing: -0.03em;
}

.arm-account .flr-account-email,
.arm-account .flr-account-card-subtitle,
.arm-account .flr-account-label {
    color: var(--arm-muted);
    font-family: Jost, sans-serif;
}

.arm-account .flr-account-nav-link {
    color: rgba(255, 255, 255, 0.86);
    font-family: Jost, sans-serif;
}

.arm-account .flr-account-nav-link svg {
    color: var(--arm-gold);
}

.arm-account .flr-account-nav-link:hover {
    background: rgba(255, 255, 255, 0.06);
    color: #fff;
}

.arm-account .flr-account-nav-link:hover svg {
    color: var(--arm-gold);
}

.arm-account .flr-account-nav-link.is-active {
    background: rgb(255 161 12 / 21%);
    color: #fff;
    box-shadow: inset 3px 0 0 var(--arm-gold);
}

.arm-account .flr-account-nav-link.is-active svg {
    color: var(--arm-gold);
}

.arm-account .t1-auth-input,
.arm-account .t1-profile-input {
    background: #101010;
    border: 1.5px solid var(--arm-line);
    border-radius: 12px;
    color: #fff;
    font-family: Jost, sans-serif;
}

.arm-account .t1-auth-input::placeholder,
.arm-account .t1-profile-input::placeholder {
    color: rgba(255, 255, 255, 0.38);
}

.arm-account .t1-auth-input:hover:not(:focus):not(:disabled):not([readonly]),
.arm-account .t1-profile-input:hover:not(:focus):not(:disabled):not([readonly]) {
    border-color: rgba(255, 255, 255, 0.28);
    background: #101010;
}

.arm-account .t1-auth-input:focus,
.arm-account .t1-profile-input:focus {
    outline: none;
    border-color: var(--arm-gold);
    background: #101010;
    box-shadow: 0 0 0 3px rgba(255, 161, 12, 0.18);
}

.arm-account .t1-profile-input-readonly,
.arm-account .t1-profile-input[readonly] {
    background: #101010;
    color: var(--arm-muted);
    border-color: var(--arm-line);
}

.arm-account .t1-auth-input:-webkit-autofill,
.arm-account .t1-auth-input:-webkit-autofill:hover,
.arm-account .t1-auth-input:-webkit-autofill:focus,
.arm-account .t1-profile-input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px #101010 inset !important;
    box-shadow: 0 0 0 1000px #101010 inset !important;
    -webkit-text-fill-color: #fff !important;
    caret-color: #fff;
}

.arm-account .t1-auth-btn,
.arm-account .flr-account-btn,
.arm-account .t1-profile-submit {
    background: var(--arm-gold-soft);
    color: #111;
    border-radius: 10px;
    box-shadow: 0 8px 22px rgba(255, 161, 12, 0.28);
}

.arm-account .t1-auth-btn::after,
.arm-account .flr-account-btn::after {
    display: none;
}

.arm-account .t1-auth-btn:hover:not(:disabled),
.arm-account .flr-account-btn:hover:not(:disabled),
.arm-account .t1-profile-submit:hover:not(:disabled) {
    background: #2a2a2a;
    color: #fff;
    transform: none;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(255, 255, 255, 0.1);
}

.arm-account .t1-auth-btn:active:not(:disabled),
.arm-account .flr-account-btn:active:not(:disabled) {
    background: #1f1f1f;
    color: #fff;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.5);
}

.arm-account .novo-auth-password-toggle {
    color: #fff;
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.16);
}

.arm-account .novo-auth-password-toggle:hover {
    background: #2a2a2a;
    color: #fff;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.35);
}

.arm-account .flr-orders-table th {
    color: var(--arm-muted);
    font-family: Jost, sans-serif;
    border-color: var(--arm-line);
}

.arm-account .flr-orders-table td {
    color: #fff;
    font-family: Jost, sans-serif;
    border-color: var(--arm-line);
}

.arm-account .flr-order-status,
.arm-account .t1-order-status-pill {
    background: rgba(255, 161, 12, 0.16);
    color: var(--arm-gold);
}