/* K2 customer account skin. Presentation only; no global storefront/admin overrides. */
@font-face { font-family: "Roboto"; src: url('../fonts/Roboto-Regular.ttf') format('truetype'); font-style: normal; font-weight: 400; font-display: swap; }
.fm-store .fm-account {
    --account-ink: #171d17;
    --account-muted: #626a60;
    --account-line: #dfe4d9;
    --account-paper: #fff;
    --account-wash: #f5f6f1;
    --account-accent: #d4ed45;
    color: var(--account-ink);
    background: radial-gradient(ellipse at 95% 0, #edf1dc 0, transparent 36%), var(--account-wash);
    padding: 42px 0 64px !important;
    border-top: 1px solid var(--account-line);
    font-size: 15px;
    line-height: 1.65;
}
.fm-store .fm-account-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 34px; }
.fm-store .fm-account-eyebrow { margin: 0 0 8px; color: var(--account-muted); font-size: 12px; font-weight: 600; letter-spacing: .14em; }
.fm-store .fm-account-heading h1 { margin: 0; font-family: var(--fm-display); font-size: clamp(38px, 4.4vw, 58px); font-weight: 800; line-height: 1; letter-spacing: -.025em; text-transform: uppercase; }
.fm-store .fm-account-heading h1 > span { color: #69810f; }
.fm-store .fm-account-intro { margin: 12px 0 0; color: var(--account-muted); font-size: 15px; overflow-wrap: anywhere; }
.fm-store .fm-account-panel { min-width: 0; padding-inline-start: 30px; padding-inline-end: 0; }
.fm-store .fm-account-layout > .fm-account-nav { flex: 0 0 276px; max-width: 276px; border: 1px solid var(--account-line); border-radius: 10px !important; box-shadow: 0 8px 28px #171d1704; }
.fm-store .fm-account-nav .aiz-user-sidenav { padding: 0 16px 20px !important; }
.fm-store .fm-account-identity { padding: 26px 12px 24px !important; margin-bottom: 18px !important; border-color: #e0e4db !important; }
.fm-store .fm-account-identity .avatar,
.fm-store #account_delete_confirm .fm-account-identity-avatar { width: 68px; height: 68px; padding: 4px; background: #fff; border: 1px solid #d9e1c6; box-shadow: 0 0 0 5px #f3f5eb; border-radius: 50%; }
.fm-store .fm-account-identity .avatar img,
.fm-store #account_delete_confirm .fm-account-identity-avatar img { border-radius: 50%; width: 100%; height: 100%; object-fit: cover; }
.fm-store .fm-account-initials { display: grid; place-items: center; width: 100%; height: 100%; background: #d4ed45; color: #171d17; border-radius: 50%; font-family: var(--fm-display); font-size: 36px; font-weight: 800; line-height: 1; }
.fm-store .fm-account-identity h4 { font-size: 15px !important; line-height: 1.5; overflow-wrap: anywhere; }
.fm-store .fm-account-identity .text-truncate { font-size: 13px !important; color: #626a60; opacity: 1; }
.fm-store .fm-account-nav .aiz-side-nav-list { border-color: #e0e4db !important; }
 .fm-store .fm-account-nav .fm-account-new-badge { font-size: 9px; font-weight: bold !important; font-family: "Roboto", sans-serif !important; line-height: 1; height: auto; min-height: 0; padding: 4px 4px 3px 4px; flex: 0 0 auto; margin-inline-start: auto; }
 .fm-store .fm-account-auth-separator { margin-bottom: 32px !important; border-color: #e0e4db !important; }
.fm-store .fm-account-nav .aiz-side-nav-link { position: relative; min-height: 46px; margin-bottom: 5px; padding: 11px 13px; color: #3b4439; font-size: 14px; font-weight: 500; border-radius: 6px; transition: background-color .16s ease, color .16s ease; }
.fm-store .fm-account-nav .aiz-side-nav-link > svg { flex: 0 0 18px; width: 18px; height: 18px; }
.fm-store .fm-account-nav .aiz-side-nav-link svg [fill]:not([fill="none"]) { fill: #65715d; }
.fm-store .fm-account-nav .aiz-side-nav-link:hover { background: #f1f4e8; color: #171d17; }
.fm-store .fm-account-nav .aiz-side-nav-link.active { background: #e9f1c8; color: #171d17; font-weight: 700; box-shadow: inset 3px 0 #8da720; }
.fm-store .fm-account-nav .aiz-side-nav-link.active svg [fill]:not([fill="none"]) { fill: #171d17; }
.fm-store .fm-account-nav .level-2 .aiz-side-nav-link { padding-inline-start: 44px; font-size: 13px; }
.fm-store .fm-account-nav .level-2 .aiz-side-nav-link::after { left: auto; right: auto; inset-inline-start: 26px; inset-inline-end: auto; width: 8px; height: 8px; box-sizing: border-box; border: 1px solid currentColor; background: transparent; transition: none; }
.fm-store .fm-account-nav .fm-account-danger-link { color: #a14039; }
.fm-store .fm-account-nav .fm-account-danger-link:hover { background: #fcf0ee; color: #912c26; }
.fm-store .fm-account-nav .fm-account-danger-link svg [fill]:not([fill="none"]) { fill: #a14039; }
.fm-store .fm-account-signout { min-height: 44px; padding: 11px 16px; border-radius: 6px !important; background: #171d17; border-color: #171d17; color: #fff; font-size: 14px !important; }
.fm-store .fm-account-signout:hover { background: #323d29; border-color: #323d29; }
.fm-store .fm-account :is(a, button, input, textarea, select):focus-visible,
.fm-store .fm-account-nav :is(a, button):focus-visible { outline: 2px solid #73851e; outline-offset: 4px; }

/* Shared type, cards and form controls across every user-panel page. */
.fm-store .fm-account :is(.fs-10, .fs-11, .fs-12, .fs-13, .small, small) { font-size: 13px !important; }
.fm-store .fm-account .fs-14 { font-size: 15px !important; }
.fm-store .fm-account :is(.text-secondary, .text-muted, .text-gray) { color: var(--account-muted) !important; }
.fm-store .fm-account :is(.deep-blue, .light-blue, .product-name-color, .text-blue) { color: var(--account-ink) !important; }
.fm-store .fm-account :is(.border, .border-bottom, .border-top, .border-left, .border-right) { border-color: var(--account-line) !important; }
.fm-store .fm-account-panel > .aiz-titlebar { margin-bottom: 22px !important; }
.fm-store .fm-account-panel > .aiz-titlebar :is(h1, h5, b.fs-20) { display: block; font-family: var(--fm-display); font-weight: 800; font-size: 30px !important; line-height: 1.15; letter-spacing: -.01em; }
.fm-store .fm-account-panel > .aiz-titlebar p { margin-top: 10px; margin-bottom: 0; }
.fm-store .fm-account .card { border: 1px solid var(--account-line); border-radius: 10px !important; background: var(--account-paper); box-shadow: 0 5px 18px #171d1703 !important; margin-bottom: 24px; }
.fm-store .fm-account .card-header { padding: 24px 26px 16px; background: transparent; border-radius: 10px 10px 0 0 !important; border-color: var(--account-line); flex-wrap: wrap; gap: 12px; }
.fm-store .fm-account .card-header :is(h5, .fs-16, .fs-18, .fs-20) { font-size: 19px !important; font-weight: 600 !important; line-height: 1.4; }
.fm-store .fm-account .card-body { padding: 22px 26px 26px; }
.fm-store .fm-account .card-header + .card-body { padding-top: 10px; }
.fm-store .fm-account .card-body .border.p-4 { border-radius: 8px; background: #fcfcf9; }
.fm-store .fm-account :is(.form-control, .input-group-text, .bootstrap-select > .dropdown-toggle) { min-height: 46px; height: auto; border-radius: 6px !important; font-size: 16px; line-height: 1.5; }
.fm-store .fm-account .form-control { background-color: #fff; border-color: #cfd7c7; color: var(--account-ink); box-shadow: none; }
.fm-store .fm-account .form-control::placeholder { color: #767d71; opacity: 1; }
.fm-store .fm-account .form-control:focus:not(.is-invalid) { border-color: #849545; box-shadow: 0 0 0 3px #d4ed452d; }
.fm-store .fm-account .form-control.is-invalid { border-color: #b63030 !important; }
.fm-store .fm-account .form-control:disabled { background: #f1f3ed; color: #767d71; }
.fm-store .fm-account textarea.form-control { min-height: 130px; padding: 14px 16px; }
.fm-store .fm-account :is(.col-form-label, .form-group > label) { font-size: 14px !important; font-weight: 500; line-height: 1.5; }
.fm-store .fm-account .form-group { margin-bottom: 24px; }
.fm-store .fm-account .input-group-text { background: #f2f4ed; border-color: #cfd7c7; color: #45503c; }
.fm-store .fm-account .input-group > .form-control:not(:first-child) { border-start-start-radius: 0 !important; border-end-start-radius: 0 !important; }
.fm-store .fm-account .input-group > .form-control:not(:last-child) { border-start-end-radius: 0 !important; border-end-end-radius: 0 !important; }
.fm-store .fm-account .btn:not(.btn-icon):not(.note-btn):not(.close) { min-height: 44px; padding: 10px 18px; border-radius: 6px !important; font-size: 14px !important; font-weight: 600; line-height: 1.5; white-space: normal; }
.fm-store .fm-account :is(.btn-primary, .btn-dark, .btn-options) { background: var(--account-ink); border-color: var(--account-ink); color: #fff; box-shadow: none; }
.fm-store .fm-account :is(.btn-primary, .btn-dark, .btn-options):hover { background: #34402b; border-color: #34402b; color: #fff; }
.fm-store .fm-account .fm-profile-action { display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 280px; max-width: 100%; }
.fm-store .fm-account .fm-profile-action > span { min-width: 0; overflow-wrap: anywhere; }
.fm-store .fm-account .fm-profile-action > i { flex-shrink: 0; }
.fm-store .fm-account :is(.btn-outline-primary, .btn-soft-primary, .btn-soft-info) { background: #eff3e3; border-color: #d3dcc2; color: #344025; }
.fm-store .fm-account .btn-icon { border-radius: 6px !important; min-width: 38px; min-height: 38px; }
.fm-store .fm-account .btn-link { color: #344025; }
.fm-store .fm-account .dropdown-menu { padding: 6px; border: 1px solid var(--account-line); border-radius: 8px; box-shadow: 0 12px 32px #171d1714; }
.fm-store .fm-account .dropdown-item { padding: 10px 12px; border-radius: 4px; font-size: 14px; }
.fm-store .fm-account .dropdown-item:hover { background: #f0f4e5; }
.fm-store .fm-account .page-link { min-width: 38px; min-height: 38px; border-radius: 5px !important; border-color: var(--account-line); color: #344025; }
.fm-store .fm-account .page-item.active .page-link { background: var(--account-ink); border-color: var(--account-ink); color: #fff; }
.fm-store .fm-account :is(.badge, .btn-paid, .btn-unpaid, .btn-on-the-way):not(.btn) { font-size: 12px !important; font-weight: 600; line-height: 1.4; }

/* Dashboard: one clear account total, three calm metrics, two address cards. */
.fm-store .fm-account-summary-grid { row-gap: 24px; }
.fm-store .fm-account-wallet, .fm-store .fm-account-club-points { border-radius: 10px; overflow: hidden; }
.fm-store .fm-account-points-rate { display: flex; align-items: center; gap: 26px; padding: 30px; background: linear-gradient(120deg, #0b160f, #243b21); }
.fm-store .fm-account-points-rate .fm-club-coin { position: relative; inset: auto; flex: 0 0 86px; width: 86px; }
.fm-store .fm-account-points-rate .fm-club-coin > .fm-icon { width: 36px; height: 36px; }
.fm-store .fm-account-points-rate .fm-club-coin > span { font-size: 8px; }
.fm-store .fm-account-points-rate .fm-club-wallet { position: relative; inset: auto; flex: 1; width: auto; min-width: 0; min-height: 130px; padding: 22px; transform: rotate(2deg); border-radius: 10px; }
.fm-store .fm-account-points-rate .fm-club-wallet > div { width: 100%; overflow-wrap: anywhere; }
.fm-store .fm-account-points-rate .fm-club-wallet > div > span { font-size: 12px; letter-spacing: 0; }
.fm-store .fm-account-points-rate .fm-club-wallet strong { font-size: 24px; }
.fm-store .fm-account-points-rate .fm-club-wallet small { font-size: 16px; }
@media (max-width: 575.98px) {
    .fm-store .fm-account-points-rate { padding: 20px 16px; gap: 16px; }
    .fm-store .fm-account-points-rate .fm-club-coin { flex-basis: 58px; width: 58px; }
    .fm-store .fm-account-points-rate .fm-club-coin > .fm-icon { width: 25px; height: 25px; }
    .fm-store .fm-account-points-rate .fm-club-coin > span { font-size: 6px; letter-spacing: 0; }
    .fm-store .fm-account-points-rate .fm-club-wallet { padding: 16px; min-height: 120px; }
    .fm-store .fm-account-points-rate .fm-club-wallet strong { font-size: 20px; }
    .fm-store .fm-account-points-rate .fm-club-wallet small { font-size: 14px; }
}
.fm-store .fm-account[data-account-page="wallet.index"] .fm-wallet-panel,
.fm-store .fm-account[data-account-page="wallet.index"] .fm-account-panel :is(.btn, .page-link):not(.rounded-circle):not(.close),
.fm-store:has(.fm-account[data-account-page="wallet.index"]) .modal .btn:not(.rounded-circle):not(.close) { border-radius: 10px !important; }
.fm-store .fm-account-spend { position: relative; isolation: isolate; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 24px; min-height: 164px; margin-bottom: 0 !important; padding: 30px !important; border: 1px solid #293323; border-radius: 10px; background: radial-gradient(ellipse at 95% 10%, #39432a, transparent 58%), #171d17 !important; overflow: hidden; }
.fm-store .fm-account-spend::after { content: ''; position: absolute; z-index: -1; inset: -100px -10px -100px auto; width: 200px; border: 1px solid #d4ed4524; transform: rotate(24deg); box-shadow: 34px 0 0 #d4ed450a, 70px 0 0 #d4ed4508; pointer-events: none; }
.fm-store .fm-account-spend > .d-flex { padding-bottom: 0 !important; }
.fm-store .fm-account-spend svg { flex-shrink: 0; }
.fm-store .fm-account-spend svg rect { fill: #d4ed45; }
.fm-store .fm-account-spend svg path { fill: #171d17; }
.fm-store .fm-account-spend .fs-20 { font-size: clamp(28px, 3vw, 40px) !important; font-weight: 500 !important; line-height: 1.2; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.fm-store .fm-account-spend > a { display: inline-flex; align-items: center; gap: 16px; padding: 10px 0; border-bottom: 1px solid #9aa879; color: #e4edcc !important; font-size: 14px !important; }
.fm-store .fm-account-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; padding: 0 !important; border: 0 !important; background: transparent !important; }
.fm-store .fm-account-stats > .d-flex { gap: 0; min-width: 0; padding: 22px 18px !important; border: 1px solid var(--account-line); border-radius: 9px; background: #fff; }
.fm-store .fm-account-stats svg { flex: 0 0 46px; width: 46px; height: 46px; }
.fm-store .fm-account-stats svg :is([fill="#d43533"], [fill="#3490f3"], [fill="#85b567"]) { fill: #edf2d9; }
.fm-store .fm-account-stats svg [fill="#fff"] { fill: #394527; }
.fm-store .fm-account-stats svg [stroke="#fff"] { stroke: #394527; }
.fm-store .fm-account-stats .fs-20 { font-size: 28px !important; font-weight: 500 !important; line-height: 1.1; font-variant-numeric: tabular-nums; }
.fm-store .fm-account-stats .fs-14 { font-size: 13px !important; line-height: 1.5; margin-top: 4px; }
.fm-store .fm-account-shortcut { text-decoration: none; transition: border-color .15s ease, box-shadow .15s ease; }
.fm-store .fm-account-stats > .fm-account-shortcut:hover { border-color: #6b7f45; box-shadow: 0 2px 8px #171d1714; }
.fm-store .fm-account-shortcut:focus-visible, .fm-store .fm-account-shortcut-panel:focus-within { outline: 2px solid #6b7f45; outline-offset: 3px; }
.fm-store .fm-account-shortcut-panel:hover { box-shadow: 0 2px 8px #171d1729; }
.fm-store .fm-account-address { display: flex; flex-direction: column; min-height: 205px; padding: 26px !important; border-radius: 9px; background: #fff; }
.fm-store .fm-account-address h6 { padding-bottom: 16px; border-bottom: 1px solid var(--account-line); font-size: 17px; font-weight: 600 !important; line-height: 1.4; }
.fm-store .fm-account-address ul { margin-bottom: 24px !important; }
.fm-store .fm-account-address li { overflow-wrap: anywhere; }
.fm-store .fm-account-address .btn { width: auto; align-self: flex-start; margin-top: auto; }
.fm-store .fm-account-address-empty { color: var(--account-muted); font-size: 14px; margin: 0 0 24px; }
.fm-store .fm-account-text-link { align-self: flex-start; display: inline-flex; align-items: center; gap: 14px; margin-top: auto; padding: 10px 0; color: #344025; border-bottom: 1px solid #a9b690; font-size: 14px; font-weight: 600; }
.fm-store .fm-account-section-heading { margin-top: 8px !important; margin-bottom: 18px !important; }
.fm-store .fm-account-section-heading h3 { font-family: var(--fm-display); font-size: clamp(28px, 2.4vw, 32px) !important; font-weight: 800 !important; line-height: 1.1; letter-spacing: -.025em; text-transform: uppercase; }
.fm-store .fm-account-section-heading a { font-size: 14px !important; }
.fm-store .fm-account-welcome-coupon { gap: 12px; border-color: #c4d298 !important; background: #edf4d6; border-radius: 8px; padding: 18px 22px; }
.fm-store .fm-account-welcome-coupon > div { color: #344025 !important; }
.fm-store .fm-account-welcome-coupon button { background: #344025 !important; color: #fff !important; }

/* Product collections and small, brand-neutral empty states. */
.fm-store .fm-account-empty { display: flex; align-items: center; justify-content: center; gap: 24px; min-height: 190px; padding: 36px !important; border-radius: 9px; background: radial-gradient(ellipse at 0 100%, #eff3de, transparent 65%), #fff !important; text-align: start !important; }
.fm-store .fm-account-empty-icon { display: grid; place-items: center; flex: 0 0 76px; width: 76px; height: 76px; border: 1px solid #d6dfbd; border-radius: 50%; color: #52622d; background: #f4f7e9; }
.fm-store .fm-account-empty h3 { margin: 0 0 8px; font-family: var(--fm-display); font-size: 30px; font-weight: 800; line-height: 1.1; }
.fm-store .fm-account-empty p { max-width: 440px; margin: 0; color: var(--account-muted); font-size: 15px; line-height: 1.7; }
.fm-store .fm-account .row:has(> .aiz-card-box) { border: 0 !important; row-gap: 16px; }
.fm-store .fm-account .aiz-card-box { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--account-line) !important; border-radius: 7px; box-shadow: none !important; text-align: start !important; }
.fm-store .fm-account .aiz-card-box > div:first-child { background: #f7f8f3; border-radius: 4px; }
.fm-store .fm-account .aiz-card-box .img-fit { object-fit: contain; }
.fm-store .fm-account .aiz-card-box h5 { min-height: 48px; line-height: 1.6; margin-top: 3px; }
.fm-store .fm-account .aiz-card-box > .fs-14 { margin-top: auto; padding-top: 8px; }
.fm-store .fm-account .aiz-card-box > .fs-14 > span { font-size: 19px; font-weight: 600; color: var(--account-ink) !important; }
.fm-store .fm-account .aiz-card-box .absolute-top-right > a { border-radius: 50%; background: #fff; color: #8c3933; }

/* Purchase history, downloads, support tables and order details. */
.fm-store .fm-account .table { color: var(--account-ink); font-size: 14px; }
.fm-store .fm-account .table :is(th, td) { padding: 17px 12px; vertical-align: middle; border-color: #e8ebdf; }
.fm-store .fm-account .table thead th { background: #f5f7f0; color: #606b55; font-size: 12px; font-weight: 600; letter-spacing: .035em; border-bottom: 1px solid var(--account-line); }
.fm-store .fm-account .table:not(.table-borderless) tbody tr:hover { background: #fafbf7; }
.fm-store .fm-account .table a:not(.btn) { color: #344025; }
.fm-store .fm-account .table a:not(.btn):hover { text-decoration: underline; }
.fm-store .fm-account .table-borderless td { padding: 9px 8px; font-size: 14px; overflow-wrap: anywhere; }
.fm-store .fm-account .table-borderless td:first-child { color: #65705b; font-weight: 500 !important; }
.fm-store .fm-account .table-borderless tr:last-child strong { font-size: 19px; color: #171d17; }
.fm-store .fm-account .fm-order-summary .table td { vertical-align: top; }
.fm-store .fm-account .fm-order-summary [data-order-address] { font-size: 14px; font-weight: 400; font-style: normal; line-height: normal; color: var(--account-ink); }
.fm-store .fm-account .fm-order-summary [data-order-address] > strong { font-size: inherit; font-weight: 500; color: #65705b; }
.fm-store .fm-account .fm-order-items .table { width: 100%; table-layout: fixed; height: auto; }
.fm-store .fm-account .fm-order-items .table :is(th, td) { white-space: normal; overflow-wrap: anywhere; vertical-align: top; }
.fm-store .fm-account .fm-order-items .table > thead > tr > th:first-child { width: 40px; }
.fm-store .fm-account .fm-order-items .btn { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.fm-store .fm-account .fm-profile-phone { display: flex; align-items: center; gap: 10px; }
.fm-store .fm-account .fm-profile-phone-input { flex: 0 0 50%; width: 50%; min-width: 0; }
.fm-store .fm-account .fm-profile-phone > .iti { flex: 0 0 50%; width: 50%; min-width: 0; }
.fm-store .fm-account .fm-profile-phone > .iti .fm-profile-phone-input { width: 100%; }
.fm-store .fm-account .fm-profile-phone-country .fm-profile-phone-input::placeholder { color: #a3a8a0; opacity: 1; }
.fm-profile-country-list { width: 315px; height: 300px; max-width: calc(100vw - 32px); max-height: calc(100dvh - 32px); white-space: normal; z-index: 20; }
.fm-profile-country-list .iti__country { display: grid; grid-template-columns: 24px 58px minmax(0, 1fr); align-items: center; gap: 6px; }
.fm-profile-country-list .iti__flag-box, .fm-profile-country-list .iti__country-name { margin: 0; }
.fm-profile-country-list .iti__country-name { overflow-wrap: anywhere; }
.fm-profile-country-list .iti__dial-code { flex-shrink: 0; }
.fm-profile-country-search { position: sticky; top: 0; z-index: 1; padding: 8px; background: #fff; }
.fm-profile-country-search input.form-control { width: 100%; height: 38px; min-width: 0; padding: 8px 10px !important; }
@media (max-width: 575.98px) {
  .fm-store .fm-account .fm-profile-phone-country { flex-wrap: wrap; }
  .fm-store .fm-account .fm-profile-phone-country > .iti { flex-basis: 100%; width: 100%; }
  .fm-store .fm-account .fm-profile-email { flex-wrap: wrap; }
  .fm-store .fm-account .fm-profile-email > .fm-profile-phone-input { flex-basis: 100%; width: 100%; }
}
.fm-store .fm-account .fm-profile-phone-verified { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; }
.fm-store .fm-account .fm-profile-phone-check { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 24px; width: 24px; height: 24px; border-radius: 50%; }
.fm-store .fm-account .fm-profile-phone-check .la-check { -webkit-text-stroke: 0.7px currentColor; }
.fm-store .fm-account .fm-profile-avatar-editor { position: relative; width: 160px; height: 160px; margin: 0 auto 32px; }
.fm-store .fm-account .fm-profile-avatar-frame { width: 100%; height: 100%; padding: 4px; background: #fff; border: 1px solid #d9e1c6; box-shadow: 0 0 0 5px #f3f5eb; border-radius: 50%; }
.fm-store .fm-account .fm-profile-avatar-frame img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.fm-store .fm-account .fm-profile-avatar-camera { position: absolute; right: 0; bottom: 0; display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; padding: 0; border: 3px solid #fff; border-radius: 50%; font-size: 24px; cursor: pointer; }
.fm-store .fm-account .fm-profile-avatar-camera:focus-visible { outline: 2px solid var(--account-ink); outline-offset: 3px; }
.fm-store .fm-account .table :is(.img-fit, .product-history-img) { object-fit: contain; background: #fafbf6; }
.fm-store .fm-account-order-filters { gap: 18px; flex-wrap: wrap; padding-top: 14px; padding-bottom: 20px !important; }
.fm-store .fm-account-order-filters .purchase-history-tab { flex: 1 1 400px; display: flex; flex-wrap: wrap; gap: 6px; margin: 0 !important; }
.fm-store .fm-account-order-filters .nav-link { min-height: 42px; padding: 10px 14px; border: 1px solid transparent; border-radius: 5px; background: transparent; color: #626a60; font-size: 14px; line-height: 1.4; }
.fm-store .fm-account-order-filters .nav-link:hover { background: #f1f4e8; color: #171d17; }
.fm-store .fm-account-order-filters .nav-link.active { background: #171d17; border-color: #171d17; color: #fff; }
.fm-store .fm-account-order-filters > .form-group { flex: 0 1 210px; width: auto !important; margin: 0; }
.fm-store .fm-account #orderTabContent .product-history-img { padding: 3px; }
.fm-store .fm-account #orderTabContent .deep-blue { font-size: 16px !important; }
.fm-store .fm-account #orderTabContent hr { border-color: #e0e5d7; margin-top: 22px; margin-bottom: 22px; }
.fm-store .fm-account #orderTabContent .text-truncate-2 { line-height: 1.65; }
.fm-store .fm-account #orderTabContent .text-center.py-5,
.fm-store .fm-account .fm-account-list-empty { background: #f7f9f0; border-radius: 8px; margin-bottom: 24px; }
.fm-store .fm-account #orderTabContent .text-center.py-5 img { opacity: .75; filter: grayscale(.8); width: 84px; }
.fm-store .fm-account [data-target="#ticket_modal"] { border-style: dashed !important; border-color: #b6c394 !important; border-radius: 9px; background: #eff4e2 !important; color: #435330; }
.fm-store .fm-account [data-target="#ticket_modal"]:hover { background: #e7efd3 !important; }
.fm-store .fm-account .list-group-item { border-color: var(--account-line); background: #fff; overflow-wrap: anywhere; }
.fm-store .fm-account .list-group-item.border { border-radius: 9px; }
.fm-store .fm-account .comment-header { padding-top: 4px; }
.fm-store .fm-account #messages .flex-grow > .border { padding: 14px 18px !important; border: 1px solid var(--account-line); border-radius: 10px !important; background: #f4f6ee; line-height: 1.7; overflow-wrap: anywhere; }
.fm-store .fm-account #messages .flex-row-reverse .flex-grow > .border { background: #edf3d8; border-color: #dbe5be !important; }
.fm-store .fm-account .note-editor { border-color: #cfd7c7; border-radius: 6px; }
.fm-store .fm-account .note-toolbar { background: #f5f7f0; border-color: var(--account-line); }
.fm-store .fm-account .note-editable { font-size: 16px; min-height: 140px; }

/* Compare also belongs to the account journey, but keeps its original public route. */
.fm-store .fm-account-compare { margin: 0 !important; }
.fm-store .fm-account-compare-content { padding: 30px; border: 1px solid var(--account-line); border-radius: 10px !important; box-shadow: none !important; }
.fm-store .fm-account-compare-heading { gap: 20px; flex-wrap: wrap; border-bottom: 1px solid var(--account-line); margin-bottom: 20px; }
.fm-store .fm-account-compare-heading h1 { margin: 0; font-family: var(--fm-display); font-size: clamp(30px, 4vw, 46px) !important; font-weight: 800 !important; line-height: 1.1; }
.fm-store .fm-account-compare .row > div > .border { height: 100%; border-radius: 7px; }
.fm-store .fm-account-compare .row > div > .border > .p-4 { padding: 20px !important; }
.fm-store .fm-account-compare .img-fluid { width: 100%; object-fit: contain; }
.fm-store .fm-account-compare .h-45px { height: auto !important; min-height: 52px; }

/* Existing account modals inherit the finish without changing their controls. */
.fm-store:has(.fm-account) .modal-content { border: 1px solid #dfe4d9; border-radius: 10px; box-shadow: 0 24px 80px #171d172e; }
.fm-store:has(.fm-account) .modal-header { padding: 22px 24px; border-color: #e4e8dc; }
.fm-store:has(.fm-account) .modal-title { font-family: var(--fm-font); font-size: 20px; font-weight: 600; }
.fm-store:has(.fm-account) .modal-body { font-size: 15px; }
.fm-store:has(.fm-account) .modal .form-control { min-height: 44px; font-size: 16px; border-radius: 5px; }
.fm-store:has(.fm-account) .modal :is(.btn-primary, .btn-secondary) { border-radius: 5px !important; min-height: 42px; }
.fm-store:has(.fm-account) .modal label { font-size: 14px !important; }

@media (min-width: 992px) {
    .fm-store .fm-account .fm-order-amount { width: 30%; }
}

@media (min-width: 1200px) {
    .fm-store .fm-account[data-account-page="purchase_history.details"] .fm-account-panel > .row > .col-md-9 { flex: 0 0 65%; max-width: 65%; }
    .fm-store .fm-account[data-account-page="purchase_history.details"] .fm-account-panel > .row > .col-md-3 { flex: 0 0 35%; max-width: 35%; }
}
@media (max-width: 1199px) {
    .fm-store .fm-account-panel { padding-inline-start: 0; width: 100%; }
    .fm-store .aiz-mobile-side-nav .fm-account-nav { border-radius: 0 !important; }
    .fm-store:has(.fm-account) .aiz-mobile-side-nav .aiz-user-sidenav > .d-xl-none { padding-top: 12px; }
    .fm-store .fm-account-spend { min-height: 145px; }
}
@media (max-width: 767px) {
    .fm-store .fm-account { padding: 28px 0 42px !important; }
    .fm-store .fm-account-heading { align-items: flex-start; flex-direction: column; gap: 18px; margin-bottom: 25px; }
    .fm-store .fm-account-intro { font-size: 14px; }
    .fm-store .fm-account-spend { padding: 24px !important; min-height: 156px; gap: 20px; }
    .fm-store .fm-account-stats { gap: 10px; }
    .fm-store .fm-account-stats > .d-flex { padding: 18px 10px !important; flex-direction: column; align-items: flex-start !important; gap: 14px; }
    .fm-store .fm-account-stats .ml-3 { margin-left: 0 !important; margin-right: 0 !important; }
    .fm-store .fm-account-stats svg { flex-basis: 38px; width: 38px; height: 38px; }
    .fm-store .fm-account-stats .fs-20 { font-size: 26px !important; }
    .fm-store .fm-account-stats .fs-14 { font-size: 12px !important; }
    .fm-store .fm-account-address { min-height: 190px; padding: 22px !important; }
    .fm-store .fm-account .card-header { padding: 20px 18px 14px; }
    .fm-store .fm-account .card-body { padding: 18px; }
    .fm-store .fm-account-panel > .card.pl-4 { padding-left: 18px !important; padding-right: 18px !important; }
    .fm-store .fm-account .card-body .border.p-4 { padding: 18px !important; }
    .fm-store .fm-account-empty { padding: 28px 20px !important; gap: 18px; }
    .fm-store .fm-account-empty-icon { flex-basis: 56px; width: 56px; height: 56px; }
    .fm-store .fm-account-empty-icon svg { width: 28px; height: 28px; }
    .fm-store .fm-account-empty h3 { font-size: 26px; }
    .fm-store .fm-account-empty p { font-size: 14px; }
    .fm-store .fm-account .table :is(th, td) { padding: 14px 8px; }
    .fm-store .fm-account .table-borderless td { padding: 8px 4px; font-size: 13px; }
    .fm-store .fm-account .fm-order-summary [data-order-address] { font-size: 13px; }
    .fm-store .fm-account-order-filters > .form-group { flex-basis: 100%; }
    .fm-store .fm-account-order-filters .nav-link { padding: 10px 12px; font-size: 13px; }
    .fm-store .fm-account .table.aiz-table .footable-detail-row td { white-space: normal; overflow-wrap: anywhere; }
    .fm-store .fm-account #messages .flex-grow { margin: 0 !important; padding: 0 !important; min-width: 0; }
    .fm-store .fm-account #messages .avatar { width: 32px; height: 32px; }
    .fm-store .fm-account #messages .block-image .mr-3 { margin-right: 0 !important; }
    .fm-store .fm-account #messages .flex-grow > .border { padding: 12px 14px !important; }
    .fm-store .fm-account-compare-content { padding: 18px; }
}
@media (max-width: 380px) {
    .fm-store .fm-account-stats { grid-template-columns: 1fr; }
    .fm-store .fm-account-stats > .d-flex { flex-direction: row; align-items: center !important; padding: 16px !important; }
    .fm-store .fm-account-empty { flex-direction: column; align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
    .fm-store .fm-account-nav .aiz-side-nav-link { transition: none; }
}
/* Shared shop/account drawer. */
 .fm-store .fm-mobile-menu { display: inline-flex; }
 .fm-store .fm-merged-menu-logo { display: block; width: min(180px, calc(100% - 60px)); }
 .fm-store .fm-merged-menu-logo img { display: block; width: 100%; height: auto; aspect-ratio: 864 / 356; object-fit: contain; }
 .fm-store .fm-merged-menu .fm-account-identity { padding-block: 18px !important; }
 .fm-store .fm-merged-menu .fm-account-identity .avatar img[alt="K2 Fitness Maniacs"] { object-fit: contain; }
 .fm-store .fm-merged-menu .aiz-side-nav-link { display: flex; align-items: center; }
 .fm-store .fm-merged-menu .aiz-side-nav-link > svg.fm-icon * { fill: none; }
 .fm-store .fm-merged-shop-arrow { margin-inline-start: auto; color: #506513; }
 .fm-store :is(.fm-menu-brands-icon, .fm-menu-categories-icon, .fm-menu-tracking-icon) { flex: 0 0 18px; width: 18px; font-size: 18px; line-height: 1; color: #65715d; }
 .fm-store .fm-merged-menu .aiz-side-nav-text { min-width: 0; overflow-wrap: anywhere; }
 .fm-store .fm-merged-category > summary { cursor: pointer; list-style: none; }
 .fm-store .fm-merged-category > summary::-webkit-details-marker { display: none; }
 .fm-store .fm-merged-category-group { margin: 0; padding: 0 13px; list-style: none; background: inherit; }
 .fm-store .fm-merged-shop-links:has(.fm-merged-categories[open]) > .fm-merged-menu-separator { margin-top: 0 !important; }
 .fm-store .fm-merged-category-chevron { margin-inline-start: auto; flex: 0 0 16px; transition: transform .15s; }
 .fm-store .fm-merged-category[open] > summary .fm-merged-category-chevron { transform: rotate(180deg); }
 .fm-store .fm-menu-category-section { padding: 8px 0 14px; border-top: 1px solid #dfe4d5; }
 .fm-store .fm-menu-category-link { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 46px; padding: 10px 0 14px; color: #171d17; font-size: 18px; line-height: 1.5; }
 .fm-store .fm-menu-category-section--leaf { padding-block: 8px; }
 .fm-store .fm-menu-category-section--leaf .fm-menu-category-link { padding-block: 10px; }
 .fm-store .fm-menu-category-link span { min-width: 0; overflow-wrap: anywhere; }
 .fm-store .fm-menu-category-link .fm-icon { width: 18px; height: 18px; color: #7c8870; }
 .fm-store .fm-menu-subcategories { background: #f5f8ed; border: 1px solid #dfe6d3; border-radius: 8px; }
 .fm-store .fm-menu-subcategories .fm-category-tree { margin: 0; padding: 0 13px; list-style: none; }
 .fm-store .fm-menu-subcategories .fm-category-tree .fm-category-tree { padding-inline-start: 14px; padding-inline-end: 0; border-top: 1px solid #e5ebda; }
 .fm-store .fm-menu-subcategories .fm-category-tree .fm-category-tree-item { border-top: 0; border-bottom: 1px solid #e5ebda; }
 .fm-store .fm-menu-subcategories .fm-category-tree-item:last-child { border-bottom: 0; }
 .fm-store .fm-menu-subcategories .fm-category-tree-link { padding: 14px 0; color: #171d17; font-size: 16px; line-height: 1.5; border: 0; border-radius: 0; background: inherit; }
 .fm-store .fm-menu-subcategories .fm-category-tree-link .fm-icon { width: 18px; height: 18px; color: #7a953b; }
 .fm-store .fm-menu-subcategories .fm-category-tree-link:hover { color: #506513; }
body.fm-store.fm-account-menu-open { overflow: hidden; }
.fm-store .fm-account-drawer {
    position: fixed;
    inset: 0 auto 0 0;
    margin: 0;
    padding: 0;
    width: min(360px, calc(100vw - 24px));
    max-width: none;
    height: 100vh;
    height: 100dvh;
    max-height: 100vh;
    max-height: 100dvh;
    border: 0;
    background: #fff;
    color: #171d17;
    box-shadow: 12px 0 48px #171d1729;
}
.fm-store .fm-account-drawer:not([open]) { display: none; }
.fm-store .fm-account-drawer[open] { display: flex; flex-direction: column; }
.fm-store .fm-account-drawer::backdrop { background: #171d1799; }
[dir="rtl"] .fm-store .fm-account-drawer { inset: 0 0 0 auto; }
.fm-store .fm-account-drawer-heading {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 20px;
    border-bottom: 1px solid #dfe4d5;
    background: #f1f5e7;
}
.fm-store .fm-account-drawer-heading h2 { margin: 0; font-family: var(--fm-font); font-size: 18px; font-weight: 600; }
.fm-store .fm-account-drawer-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    border: 1px solid #d4ddc6;
    border-radius: 8px;
    background: #fff;
    color: inherit;
    cursor: pointer;
}
.fm-store .fm-account-drawer-close:hover { background: #e9f0d9; }
.fm-store .fm-account-drawer-close:focus-visible { outline: 2px solid #637d23; outline-offset: 3px; }
.fm-store .fm-account-drawer .fm-account-nav.aiz-user-sidenav-wrap {
    display: block;
    position: relative !important;
    top: auto;
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    max-width: none;
    height: auto;
    overflow-y: auto;
    overscroll-behavior: contain;
    border: 0;
    border-radius: 0 !important;
    background: transparent;
}
.fm-store .fm-account-drawer .aiz-user-sidenav { position: static; width: 100%; height: auto; overflow: visible !important; }
.fm-store .fm-account-drawer .aiz-user-sidenav > .d-xl-none { display: none !important; }

@media print {
    .fm-store .fm-account-drawer { display: none !important; }
    .fm-store .fm-account { background: #fff; padding: 0 !important; }
    .fm-store .fm-account-nav { display: none !important; }
    .fm-store .fm-account-panel { padding: 0 !important; width: 100%; }
    .fm-store .fm-account .card { box-shadow: none !important; }
}
