:root {
    --jfmb-ink: #232b35;
    --jfmb-muted: #667085;
    --jfmb-border: rgba(49, 58, 70, .1);
    --jfmb-soft: #f5f7fb;
    --jfmb-coral: #fa5c5c;
    --jfmb-indigo: #727cf5;
    --jfmb-shadow: 0 1rem 2.5rem rgba(35, 43, 53, .09);
    --jfmb-control-height: calc(1.5em + .9rem + 2px);
    --jfmb-control-height-sm: calc(1.5em + .56rem + 2px);
}

html {
    max-width: 100%;
    overflow-x: hidden;
}

body {
    background-color: #fafbfe;
    color: var(--jfmb-ink);
    max-width: 100%;
    overflow-x: hidden;
}

.content {
    padding-bottom: 4.5rem;
}

.card {
    border-color: var(--jfmb-border);
    border-radius: .55rem;
}

.card > .card-body {
    min-width: 0;
}

.btn {
    font-weight: 700;
    white-space: nowrap;
}

.form-control,
.form-select,
.input-group-text {
    border-color: rgba(49, 58, 70, .14);
}

.form-control:focus,
.form-select:focus {
    border-color: rgba(114, 124, 245, .58);
    box-shadow: 0 0 0 .18rem rgba(114, 124, 245, .14);
}

.select2-container {
    display: block;
    width: 100% !important;
}

.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
    background-color: #fff;
    border-color: rgba(49, 58, 70, .14);
    border-radius: .25rem;
    min-height: var(--jfmb-control-height);
}

.select2-container--default .select2-selection--single {
    height: var(--jfmb-control-height);
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    align-items: center;
    color: #6c757d;
    display: flex;
    height: 100%;
    line-height: 1.5;
    padding-left: .9rem;
    padding-right: 2rem;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: var(--jfmb-control-height);
    right: .45rem;
}

.select2-container--default .select2-selection--multiple {
    padding: .18rem .45rem;
}

.select2-container--default .select2-selection--multiple .select2-selection__rendered {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .25rem;
    min-height: calc(var(--jfmb-control-height) - .45rem);
    padding: 0;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: #eef2ff;
    border-color: rgba(114, 124, 245, .25);
    border-radius: .25rem;
    color: #536de6;
    line-height: 1.35;
    margin: 0;
    padding: .12rem .5rem .12rem 1.25rem;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    border-right-color: rgba(114, 124, 245, .25);
    color: #536de6;
}

.select2-container--default .select2-search--inline .select2-search__field {
    font-family: inherit;
    margin-top: 0;
}

.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--multiple,
.select2-container--default.select2-container--open .select2-selection--single {
    border-color: rgba(114, 124, 245, .58);
    box-shadow: 0 0 0 .18rem rgba(114, 124, 245, .14);
}

select.is-invalid + .select2-container--default .select2-selection--single,
select.is-invalid + .select2-container--default .select2-selection--multiple,
.was-validated select:invalid + .select2-container--default .select2-selection--single,
.was-validated select:invalid + .select2-container--default .select2-selection--multiple {
    border-color: #fa5c7c;
}

select.is-invalid + .select2-container--default.select2-container--focus .select2-selection--single,
select.is-invalid + .select2-container--default.select2-container--focus .select2-selection--multiple,
.was-validated select:invalid + .select2-container--default.select2-container--focus .select2-selection--single,
.was-validated select:invalid + .select2-container--default.select2-container--focus .select2-selection--multiple {
    box-shadow: 0 0 0 .18rem rgba(250, 92, 124, .14);
}

.select2-container--default.select2-container--disabled .select2-selection--single,
.select2-container--default.select2-container--disabled .select2-selection--multiple {
    background-color: #eef2f7;
    color: #98a6ad;
    cursor: not-allowed;
}

.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__rendered {
    color: #98a6ad;
}

select.form-select-sm + .select2-container--default .select2-selection--single {
    height: var(--jfmb-control-height-sm);
    min-height: var(--jfmb-control-height-sm);
}

select.form-select-sm + .select2-container--default .select2-selection--single .select2-selection__rendered {
    font-size: .875rem;
    padding-left: .5rem;
    padding-right: 1.65rem;
}

select.form-select-sm + .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: var(--jfmb-control-height-sm);
    right: .25rem;
}

select.form-select-sm + .select2-container--default .select2-selection--multiple {
    min-height: var(--jfmb-control-height-sm);
    padding: .12rem .32rem;
}

.input-group > select + .select2-container {
    flex: 1 1 auto;
    min-width: 0;
    width: 1% !important;
}

.select2-dropdown {
    border-color: rgba(49, 58, 70, .14);
}

.select2-container .select2-search--dropdown .select2-search__field {
    border-color: rgba(49, 58, 70, .14);
    border-radius: .25rem;
}

.jfmb-toast-container {
    top: 4.75rem;
}

.jfmb-mobile-menu-button {
    align-items: center;
    background: transparent;
    border: 0;
    color: rgba(255, 255, 255, .72);
    display: inline-flex;
    font-size: 1.45rem;
    height: 2.25rem;
    justify-content: center;
    padding: 0;
    transition: color .16s ease;
    width: 2.25rem;
}

.jfmb-mobile-menu-button:hover,
.jfmb-mobile-menu-button:focus {
    color: #fff;
}

.jfmb-mobile-menu {
    max-width: min(22rem, 86vw);
}

.jfmb-mobile-menu .offcanvas-header {
    border-bottom: 1px solid var(--jfmb-border);
}

.jfmb-mobile-nav {
    display: grid;
    gap: .35rem;
}

.jfmb-mobile-nav a {
    align-items: center;
    border-radius: .45rem;
    color: var(--jfmb-ink);
    display: flex;
    font-weight: 700;
    gap: .75rem;
    padding: .78rem .85rem;
    text-decoration: none;
}

.jfmb-mobile-nav a:hover,
.jfmb-mobile-nav a:focus {
    background: #f3f6ff;
    color: #536de6;
}

.jfmb-mobile-nav i {
    color: #536de6;
    font-size: 1.2rem;
    line-height: 1;
}

.jfmb-mobile-nav .jfmb-mobile-nav-danger {
    color: #fa5c5c;
}

.jfmb-mobile-nav .jfmb-mobile-nav-danger i {
    color: #fa5c5c;
}

.jfmb-product-img {
    aspect-ratio: 4 / 3;
    object-fit: contain;
    background: #f1f3fa;
    padding: .5rem;
}

.jfmb-product-card-img {
    background: #fff;
    object-fit: contain;
    padding: .75rem;
}

.jfmb-home-hero {
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .98) 0%, rgba(255, 255, 255, .93) 46%, rgba(255, 255, 255, .5) 68%, rgba(255, 255, 255, 0) 100%),
        linear-gradient(135deg, #ffffff 0%, #f5f7ff 52%, #eef8f5 100%);
    border-bottom: 1px solid var(--jfmb-border);
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    min-height: clamp(500px, calc(100svh - 270px), 640px);
    padding: clamp(2rem, 4vw, 3.5rem) 0 clamp(2.25rem, 4vw, 3.5rem);
}

.jfmb-home-title {
    color: var(--jfmb-coral);
    font-size: clamp(3.35rem, 8vw, 7rem);
    font-weight: 800;
    letter-spacing: 0;
    line-height: .92;
}

.jfmb-home-subtitle {
    color: var(--jfmb-ink);
    font-size: clamp(1.65rem, 3vw, 2.55rem);
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.08;
    max-width: 36rem;
}

.jfmb-home-lead {
    color: var(--jfmb-muted);
    font-size: clamp(1.08rem, 1.6vw, 1.35rem);
    line-height: 1.55;
    max-width: 40rem;
}

.jfmb-hero-copy-panel {
    background: rgba(255, 255, 255, .7);
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: .85rem;
    box-shadow:
        -1.65rem 2rem 3.5rem rgba(35, 43, 53, .11),
        -.5rem .75rem 1.25rem rgba(35, 43, 53, .06);
    max-width: 620px;
    padding: clamp(1.25rem, 2.4vw, 2rem);
    rotate: -1deg;
    transform-origin: 48% 50%;
    transition: background-color .22s ease, box-shadow .22s ease, translate .22s ease;
}

.jfmb-hero-search {
    border: 1px solid rgba(114, 124, 245, .12);
    border-radius: .55rem;
    box-shadow: var(--jfmb-shadow);
    max-width: 36rem;
    overflow: hidden;
}

.jfmb-hero-search .form-control,
.jfmb-hero-search .input-group-text,
.jfmb-shop-quick-search .form-control,
.jfmb-shop-quick-search .input-group-text {
    min-height: 3.25rem;
}

.jfmb-hero-assurance {
    align-items: center;
    color: var(--jfmb-muted);
    display: flex;
    flex-wrap: wrap;
    font-size: .86rem;
    gap: .7rem 1rem;
}

.jfmb-hero-assurance span {
    align-items: center;
    display: inline-flex;
    gap: .35rem;
}

.jfmb-hero-assurance i {
    color: var(--jfmb-indigo);
    font-size: 1rem;
}

.jfmb-hero-product {
    margin-left: auto;
    max-width: 560px;
    position: relative;
}

.jfmb-hero-product::before {
    background: rgba(255, 255, 255, .78);
    border: 1px solid var(--jfmb-border);
    border-radius: .65rem;
    bottom: 3rem;
    content: "";
    left: 2rem;
    position: absolute;
    right: 0;
    top: 0;
}

.jfmb-hero-product-img {
    aspect-ratio: 1 / 1;
    background: #fff;
    border-radius: .65rem;
    box-shadow: 0 1.5rem 3rem rgba(35, 43, 53, .12);
    display: block;
    margin-left: auto;
    max-height: 480px;
    object-fit: contain;
    padding: 1rem;
    position: relative;
    width: min(88%, 460px);
}

.jfmb-hero-product-meta {
    background: #fff;
    border: 1px solid rgba(49, 58, 70, .08);
    border-radius: .5rem;
    bottom: 0;
    box-shadow: var(--jfmb-shadow);
    left: 0;
    max-width: min(82%, 320px);
    padding: 1rem 1.15rem;
    position: absolute;
}

.jfmb-hero-product-empty {
    align-items: center;
    aspect-ratio: 1 / 1;
    background: rgba(255, 255, 255, .78);
    border: 1px solid rgba(49, 58, 70, .08);
    border-radius: .75rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 2rem;
    position: relative;
    text-align: center;
}

.jfmb-hero-product-empty .mdi {
    color: #727cf5;
    font-size: 3rem;
}

.jfmb-hero-flow {
    background: rgba(255, 255, 255, .82);
    border: 1px solid var(--jfmb-border);
    border-radius: .75rem;
    box-shadow:
        0 2rem 4rem rgba(35, 43, 53, .14),
        0 .75rem 1.5rem rgba(35, 43, 53, .08);
    margin-left: auto;
    max-width: 560px;
    padding: 1.25rem;
    rotate: 1.25deg;
    transform-origin: 52% 48%;
    transition: border-color .22s ease, box-shadow .22s ease, translate .22s ease;
}

.jfmb-hero-flow-header {
    border-bottom: 1px solid var(--jfmb-border);
    margin-bottom: 1rem;
    padding-bottom: 1rem;
}

.jfmb-hero-flow-header h3 {
    color: var(--jfmb-ink);
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: 0;
}

.jfmb-hero-flow-grid {
    display: grid;
    gap: .8rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.jfmb-hero-flow-step {
    background: #fff;
    border: 1px solid rgba(49, 58, 70, .08);
    border-radius: .65rem;
    min-height: 168px;
    padding: 1rem;
    transition: border-color .18s ease, box-shadow .18s ease, translate .18s ease;
}

.jfmb-hero-flow-icon {
    align-items: center;
    background: rgba(114, 124, 245, .12);
    border-radius: 50%;
    color: var(--jfmb-indigo);
    display: inline-flex;
    font-size: 1.45rem;
    height: 44px;
    justify-content: center;
    margin-bottom: .75rem;
    width: 44px;
    transition: background-color .18s ease, color .18s ease, scale .18s ease;
}

.jfmb-hero-copy-panel:hover,
.jfmb-hero-flow:hover {
    border-color: rgba(114, 124, 245, .24);
    box-shadow:
        0 2.2rem 4.4rem rgba(35, 43, 53, .16),
        0 .8rem 1.7rem rgba(35, 43, 53, .09);
    translate: 0 -.35rem;
}

.jfmb-hero-copy-panel:hover {
    background: rgba(255, 255, 255, .86);
}

.jfmb-hero-flow-step:hover {
    border-color: rgba(114, 124, 245, .28);
    box-shadow: 0 .75rem 1.5rem rgba(35, 43, 53, .08);
    translate: 0 -.22rem;
}

.jfmb-hero-flow-step:hover .jfmb-hero-flow-icon {
    background: var(--jfmb-indigo);
    color: #fff;
    scale: 1.06;
}

.jfmb-hero-flow-step h4 {
    color: var(--jfmb-ink);
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0;
    margin: .15rem 0 .35rem;
}

.jfmb-hero-flow-step p {
    color: var(--jfmb-muted);
    font-size: .84rem;
    line-height: 1.4;
    margin-bottom: 0;
}

.jfmb-home-band {
    background: #252c36;
    color: #fff;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: 1.3rem 0;
}

.jfmb-trust-item {
    align-items: center;
    display: flex;
    gap: .75rem;
    justify-content: center;
}

.jfmb-trust-item > i {
    color: #3867ff;
    font-size: 2rem;
}

.jfmb-trust-item strong {
    font-size: clamp(1.5rem, 3vw, 2.25rem);
    line-height: 1;
}

.jfmb-trust-item span {
    color: rgba(255, 255, 255, .72);
    font-size: .9rem;
}

.jfmb-category-link {
    align-items: center;
    background: #fff;
    border: 1px solid var(--jfmb-border);
    border-radius: .45rem;
    color: var(--jfmb-ink);
    display: flex;
    font-weight: 700;
    flex-direction: column;
    gap: .35rem;
    justify-content: center;
    min-height: 6.25rem;
    padding: .85rem;
    text-align: center;
    text-decoration: none;
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
    width: 100%;
}

.jfmb-category-strip > [class*="col"] {
    display: flex;
}

.jfmb-category-link > i {
    color: var(--jfmb-ink);
    font-size: 1.75rem;
    line-height: 1;
}

.jfmb-category-link:hover,
.jfmb-category-link:focus {
    border-color: rgba(114, 124, 245, .5);
    box-shadow: 0 .75rem 1.5rem rgba(49, 58, 70, .08);
    color: #536de6;
    transform: translateY(-1px);
}

.jfmb-shop-tile {
    background: #fff;
    border: 1px solid var(--jfmb-border);
    border-radius: .45rem;
    min-height: 8rem;
    padding: 1rem;
}

.jfmb-shop-header {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .98) 0%, rgba(246, 248, 255, .94) 100%);
    border: 1px solid var(--jfmb-border);
    border-radius: .5rem;
    padding: clamp(1rem, 3vw, 1.75rem);
}

.jfmb-filter-card {
    border-color: var(--jfmb-border);
    box-shadow: 0 .75rem 1.8rem rgba(49, 58, 70, .05);
}

.jfmb-shop-filter-form {
    align-items: end;
    display: grid;
    grid-template-columns: minmax(220px, 1.45fr) minmax(160px, 1fr) minmax(170px, 1fr) 86px 86px minmax(150px, 1fr) 96px 100px;
}

.jfmb-shop-filter-form .form-label {
    display: block;
    line-height: 1.2;
    margin-bottom: .35rem;
}

.jfmb-shop-filter-form .form-control,
.jfmb-shop-filter-form .select2-container .select2-selection--single,
.jfmb-shop-filter-form .btn {
    min-height: calc(1.5em + .9rem + 2px);
}

.jfmb-shop-filter-form .jfmb-filter-check {
    align-items: center;
    display: flex;
    min-height: calc(1.5em + .9rem + 2px);
    padding-top: 0;
}

.jfmb-shop-filter-form > [class*="col-"] {
    flex: none;
    max-width: none;
    width: auto;
}

.jfmb-shop-discovery {
    display: flex;
    gap: .6rem;
    overflow-x: auto;
    padding-bottom: .15rem;
    scrollbar-width: none;
}

.jfmb-shop-discovery::-webkit-scrollbar {
    display: none;
}

.jfmb-shop-discovery-link {
    align-items: center;
    background: #fff;
    border: 1px solid var(--jfmb-border);
    border-radius: 999px;
    color: var(--jfmb-ink);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: .84rem;
    font-weight: 800;
    gap: .4rem;
    line-height: 1;
    padding: .65rem .9rem;
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.jfmb-shop-discovery-link i {
    color: #536de6;
    font-size: 1rem;
}

.jfmb-shop-discovery-link:hover,
.jfmb-shop-discovery-link:focus {
    border-color: rgba(83, 109, 230, .38);
    box-shadow: 0 .75rem 1.5rem rgba(49, 58, 70, .08);
    color: #536de6;
    transform: translateY(-1px);
}

.jfmb-filter-check {
    align-items: center;
    border: 1px solid var(--jfmb-border);
    border-radius: .35rem;
    display: flex;
    min-height: calc(1.5em + .9rem + calc(var(--ct-border-width) * 2));
    padding: .45rem .7rem;
    white-space: nowrap;
}

.jfmb-filter-check .form-check-input {
    margin-left: 0;
    margin-right: .45rem;
    margin-top: 0;
}

.jfmb-shop-proof {
    background: #fff;
    border: 1px solid var(--jfmb-border);
    border-radius: 999px;
    color: var(--jfmb-muted);
    font-size: .82rem;
    padding: .35rem .7rem;
}

.jfmb-product-detail-img {
    aspect-ratio: 1 / 1;
    display: block;
    height: auto;
    max-width: 100%;
    object-fit: contain;
    background: #f1f3fa;
    padding: .75rem;
    width: 100%;
}

.jfmb-product-media-col,
.jfmb-product-summary-col {
    min-width: 0;
}

.jfmb-product-media-frame {
    border: 0;
    margin-left: auto;
    margin-right: auto;
    max-width: min(100%, 420px);
    overflow: hidden;
    position: relative;
    width: 100%;
}

.jfmb-product-media-frame:focus-visible {
    outline: 3px solid rgba(83, 105, 248, .35);
    outline-offset: 4px;
}

.jfmb-product-zoom-hint {
    align-items: center;
    background: rgba(49, 58, 70, .82);
    border-radius: 999px;
    bottom: 1rem;
    color: #fff;
    display: inline-flex;
    font-size: .78rem;
    font-weight: 700;
    left: 50%;
    opacity: 0;
    padding: .45rem .75rem;
    pointer-events: none;
    position: absolute;
    transform: translate(-50%, .35rem);
    transition: opacity .18s ease, transform .18s ease;
}

.jfmb-product-media-frame:hover .jfmb-product-zoom-hint,
.jfmb-product-media-frame:focus-visible .jfmb-product-zoom-hint {
    opacity: 1;
    transform: translate(-50%, 0);
}

.jfmb-product-detail-layout {
    --bs-gutter-x: 2rem;
}

@media (min-width: 1200px) {
    .jfmb-product-detail-layout {
        --bs-gutter-x: 3rem;
    }
}

.jfmb-product-card {
    border-color: var(--jfmb-border);
    border-radius: .5rem;
    overflow: hidden;
    position: relative;
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.jfmb-product-heart {
    align-items: center;
    background: rgba(255, 255, 255, .92);
    border: 1px solid rgba(49, 58, 70, .08);
    border-radius: 999px;
    color: var(--jfmb-muted);
    display: inline-flex;
    height: 2rem;
    justify-content: center;
    position: absolute;
    right: .75rem;
    top: .75rem;
    width: 2rem;
    z-index: 3;
}

.jfmb-product-card:hover {
    border-color: rgba(114, 124, 245, .28);
    box-shadow: var(--jfmb-shadow);
    transform: translateY(-2px);
}

.jfmb-product-card-link {
    cursor: pointer;
}

.jfmb-product-card-link:hover .card-title {
    color: #727cf5;
}

.jfmb-product-card .card-title {
    color: var(--jfmb-ink);
    font-size: .98rem;
    font-weight: 800;
    line-height: 1.25;
}

.jfmb-stock-chip {
    background: #f1f3fa;
    border-radius: 999px;
    color: var(--jfmb-muted);
    flex: 0 0 auto;
    font-size: .72rem;
    font-weight: 700;
    padding: .18rem .5rem;
}

.jfmb-product-sale-badge {
    position: absolute;
    left: .75rem;
    top: .75rem;
    z-index: 2;
}

.jfmb-product-stock {
    font-size: .78rem;
    font-weight: 800;
}

.jfmb-product-trust {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
}

.jfmb-product-trust span {
    align-items: center;
    background: #f6f7fb;
    border-radius: 999px;
    color: var(--jfmb-muted);
    display: inline-flex;
    font-size: .68rem;
    font-weight: 800;
    gap: .2rem;
    line-height: 1;
    padding: .25rem .45rem;
}

.jfmb-product-trust i {
    color: #536de6;
    font-size: .78rem;
}

.jfmb-product-card-actions .btn {
    font-weight: 700;
}

.jfmb-shop-empty {
    background: #fff;
    border: 1px solid var(--jfmb-border);
    border-radius: .5rem;
}

@media (min-width: 1200px) {
    .jfmb-shop-page .jfmb-shop-grid-compact {
        --bs-gutter-x: .9rem;
        --bs-gutter-y: 1rem;
    }

    .jfmb-shop-page .jfmb-shop-grid-compact .jfmb-product-card {
        border-radius: .45rem;
    }

    .jfmb-shop-page .jfmb-shop-grid-compact .jfmb-product-card-img {
        aspect-ratio: 1 / .84;
        padding: .55rem .65rem;
    }

    .jfmb-shop-page .jfmb-shop-grid-compact .jfmb-product-card .card-body {
        padding: .8rem .85rem .45rem;
    }

    .jfmb-shop-page .jfmb-shop-grid-compact .jfmb-product-card .card-title {
        display: -webkit-box;
        font-size: .9rem;
        line-height: 1.22;
        min-height: 2.2em;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .jfmb-shop-page .jfmb-shop-grid-compact .jfmb-product-card .font-13 {
        font-size: .76rem !important;
    }

    .jfmb-shop-page .jfmb-shop-grid-compact .jfmb-product-card .fw-semibold {
        font-size: .9rem;
    }

    .jfmb-shop-page .jfmb-shop-grid-compact .jfmb-product-stock {
        font-size: .72rem;
    }

    .jfmb-shop-page .jfmb-shop-grid-compact .jfmb-product-trust span {
        font-size: .62rem;
        padding: .2rem .36rem;
    }

    .jfmb-shop-page .jfmb-shop-grid-compact .jfmb-stock-chip {
        font-size: .68rem;
        padding: .14rem .42rem;
    }

    .jfmb-shop-page .jfmb-shop-grid-compact .jfmb-product-heart {
        height: 1.75rem;
        right: .55rem;
        top: .55rem;
        width: 1.75rem;
    }

    .jfmb-shop-page .jfmb-shop-grid-compact .jfmb-product-sale-badge {
        font-size: .68rem;
        left: .55rem;
        top: .55rem;
    }

    .jfmb-shop-page .jfmb-shop-grid-compact .jfmb-product-card-actions {
        padding: 0 .85rem .85rem !important;
    }

    .jfmb-shop-page .jfmb-shop-grid-compact .jfmb-product-card-actions .btn {
        font-size: .82rem;
        padding: .42rem .55rem;
    }
}

.jfmb-page-title {
    background: linear-gradient(135deg, #fff 0%, #f5f7ff 100%);
    border: 1px solid var(--jfmb-border);
    border-radius: .55rem;
    margin: 1.5rem 0;
    padding: 1rem 1.15rem;
}

.jfmb-page-title .page-title {
    color: var(--jfmb-ink);
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: 0;
}

.jfmb-page-title .breadcrumb-item,
.jfmb-page-title .breadcrumb-item a {
    color: var(--jfmb-muted);
    font-size: .82rem;
}

.widget-flat {
    border: 1px solid var(--jfmb-border);
    box-shadow: 0 .65rem 1.6rem rgba(35, 43, 53, .045);
}

.widget-flat .widget-icon {
    background: rgba(114, 124, 245, .12);
    color: var(--jfmb-indigo);
}

.table thead.table-light th,
.table > thead th {
    background: #f5f7fb !important;
    color: var(--jfmb-muted);
    font-size: .76rem;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.table-hover tbody tr {
    transition: background-color .14s ease;
}

.table-hover tbody tr:hover {
    background: rgba(114, 124, 245, .045);
}

.leftside-menu {
    border-right: 1px solid var(--jfmb-border);
}

.side-nav .side-nav-title {
    color: var(--jfmb-muted);
    font-size: .72rem;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.side-nav .side-nav-link {
    border-radius: .45rem;
    margin: .08rem .75rem;
}

.side-nav .side-nav-link:hover {
    background: rgba(114, 124, 245, .08);
}

.side-nav .side-nav-link i {
    color: var(--jfmb-indigo);
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .leftside-menu .side-nav {
        padding-left: 0;
        padding-right: 0;
    }

    .leftside-menu .side-nav .side-nav-title {
        text-align: center;
    }

    .leftside-menu .side-nav .side-nav-link {
        align-items: center;
        display: flex;
        height: 44px;
        justify-content: center;
        margin-left: auto;
        margin-right: auto;
        padding: 0;
        width: 44px;
    }

    .leftside-menu .side-nav .side-nav-link i {
        align-items: center;
        display: inline-flex;
        flex: 0 0 1.25rem;
        height: 1.25rem;
        justify-content: center;
        margin: 0 !important;
        min-width: 1.25rem;
        position: static;
        text-align: center;
        transform: none;
        width: 1.25rem !important;
    }

    .leftside-menu .side-nav .side-nav-link span {
        display: none !important;
    }
}

html[data-sidenav-size="condensed"]:not([data-layout="topnav"]) .wrapper .leftside-menu .side-nav .side-nav-item:not(:hover) .side-nav-link,
html[data-sidenav-size="sm-hover"]:not([data-layout="topnav"]) .wrapper .leftside-menu:not(:hover) .side-nav .side-nav-item .side-nav-link {
    align-items: center;
    display: flex;
    height: 44px;
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
    padding: 0;
    width: 44px;
}

html[data-sidenav-size="condensed"]:not([data-layout="topnav"]) .wrapper .leftside-menu .side-nav .side-nav-item:not(:hover) .side-nav-link i,
html[data-sidenav-size="sm-hover"]:not([data-layout="topnav"]) .wrapper .leftside-menu:not(:hover) .side-nav .side-nav-item .side-nav-link i {
    align-items: center;
    display: inline-flex;
    flex: 0 0 1.25rem;
    height: 1.25rem;
    justify-content: center;
    margin: 0 !important;
    min-width: 1.25rem;
    position: static;
    text-align: center;
    transform: none;
    width: 1.25rem !important;
}

html[data-sidenav-size="condensed"]:not([data-layout="topnav"]) .wrapper .leftside-menu .side-nav .side-nav-item:not(:hover) .side-nav-link span,
html[data-sidenav-size="sm-hover"]:not([data-layout="topnav"]) .wrapper .leftside-menu:not(:hover) .side-nav .side-nav-item .side-nav-link span {
    display: none !important;
}

.auth-fluid.jfmb-auth {
    background: #fff;
}

.jfmb-auth-form-box {
    background:
        linear-gradient(180deg, #fff 0%, #fafbfe 100%);
    box-shadow: 1.5rem 0 3rem rgba(35, 43, 53, .08);
}

.jfmb-auth-brand {
    color: var(--jfmb-ink);
    display: inline-flex;
    font-size: 1.35rem;
    font-weight: 900;
}

.jfmb-auth-brand i {
    color: var(--jfmb-coral);
}

.jfmb-auth-panel {
    margin-left: auto;
    margin-right: auto;
    max-width: 420px;
    width: 100%;
}

.jfmb-auth-heading {
    margin-bottom: 1.5rem;
}

.jfmb-auth-heading h2 {
    color: var(--jfmb-ink);
    font-size: clamp(2rem, 4vw, 2.75rem);
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1.02;
}

.jfmb-auth-form .input-group-text {
    background: #fff;
    color: var(--jfmb-muted);
    min-width: 2.75rem;
    justify-content: center;
}

.jfmb-auth-form .form-control,
.jfmb-auth-form .form-select,
.jfmb-auth-form .input-group-text {
    min-height: 3rem;
}

.jfmb-demo-card {
    background: #f5f7fb;
}

.jfmb-demo-card .demo-account-card {
    border-radius: .5rem;
    transition: border-color .14s ease, transform .14s ease, box-shadow .14s ease;
}

.jfmb-demo-card .demo-account-card:hover {
    box-shadow: 0 .6rem 1.4rem rgba(35, 43, 53, .08);
    transform: translateY(-1px);
}

.jfmb-auth-visual {
    background:
        linear-gradient(90deg, rgba(255,255,255,.06), rgba(255,255,255,0)),
        linear-gradient(135deg, #f8fbff 0%, #eef8f5 100%);
    display: flex;
    min-height: 100svh;
    padding: clamp(2rem, 5vw, 4rem);
    text-align: left !important;
}

.jfmb-auth-market-shelf {
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: auto;
    max-width: 680px;
    width: 100%;
}

.jfmb-auth-visual-copy h1 {
    color: var(--jfmb-coral);
    font-size: clamp(4rem, 8vw, 7rem);
    font-weight: 900;
    letter-spacing: 0;
    line-height: .9;
}

.jfmb-auth-visual-copy p {
    color: var(--jfmb-ink);
    font-size: clamp(1.1rem, 2vw, 1.45rem);
    line-height: 1.45;
    max-width: 36rem;
}

.jfmb-auth-product-stack {
    align-items: end;
    display: grid;
    gap: 1rem;
    grid-template-columns: 1.2fr .9fr .9fr;
    margin: 2.25rem 0;
}

.jfmb-auth-product-stack img {
    background: #fff;
    border: 1px solid var(--jfmb-border);
    border-radius: .75rem;
    box-shadow: var(--jfmb-shadow);
    height: auto;
    min-width: 0;
    padding: .75rem;
    width: 100%;
}

.jfmb-auth-product-stack img:first-child {
    transform: translateY(-.75rem);
}

.jfmb-auth-proof {
    align-items: center;
    border-top: 1px solid var(--jfmb-border);
    display: flex;
    flex-wrap: wrap;
    gap: .85rem 1.2rem;
    padding-top: 1.2rem;
}

.jfmb-auth-proof span {
    align-items: center;
    color: var(--jfmb-muted);
    display: inline-flex;
    font-weight: 700;
    gap: .35rem;
}

.jfmb-auth-proof i {
    color: var(--jfmb-indigo);
    font-size: 1.15rem;
}

.jfmb-profile-form .card,
.jfmb-profile-actions + .card {
    box-shadow: 0 .65rem 1.6rem rgba(35, 43, 53, .045);
}

.jfmb-profile-form .form-label {
    color: var(--jfmb-ink);
    font-weight: 800;
}

.jfmb-approved-row {
    border-top: 1px solid var(--jfmb-border);
    border-bottom: 1px solid var(--jfmb-border);
}

.jfmb-buyer-flow {
    align-items: center;
    background:
        linear-gradient(135deg, rgba(114, 124, 245, .1), rgba(250, 92, 92, .08)),
        #fff;
    border: 1px solid rgba(114, 124, 245, .16);
    border-radius: .65rem;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    padding: 1rem;
}

.jfmb-buyer-flow-copy h4 {
    color: var(--jfmb-ink);
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0;
}

.jfmb-buyer-flow-steps {
    display: grid;
    gap: .65rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.jfmb-buyer-flow-steps span {
    align-items: center;
    background: rgba(255, 255, 255, .82);
    border: 1px solid rgba(49, 58, 70, .08);
    border-radius: .5rem;
    color: var(--jfmb-ink);
    display: flex;
    font-size: .78rem;
    font-weight: 800;
    gap: .45rem;
    min-height: 3.2rem;
    padding: .55rem .65rem;
}

.jfmb-buyer-flow-steps i {
    color: var(--jfmb-indigo);
    font-size: 1.1rem;
    line-height: 1;
}

.jfmb-proof-item {
    align-items: flex-start;
    display: grid;
    gap: .1rem .7rem;
    grid-template-columns: auto 1fr;
}

.jfmb-proof-item i {
    color: #3867ff;
    font-size: 1.8rem;
    grid-row: span 2;
    line-height: 1;
}

.jfmb-proof-item strong {
    color: var(--jfmb-ink);
    font-size: .88rem;
}

.jfmb-proof-item span {
    color: var(--jfmb-muted);
    font-size: .78rem;
    line-height: 1.35;
}

.jfmb-location-panel,
.jfmb-nearby-shop {
    background: #fff;
    border: 1px solid var(--jfmb-border);
    border-radius: .5rem;
}

.jfmb-location-panel {
    min-height: 100%;
    padding: 1rem;
}

.jfmb-nearby-shop {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    overflow: hidden;
    width: 100%;
}

.jfmb-shop-banner {
    background:
        linear-gradient(135deg, rgba(35, 43, 53, .2), rgba(35, 43, 53, .04)),
        linear-gradient(90deg, #c8a15b, #475c3f);
    height: 86px;
}

.jfmb-shop-banner-2 {
    background:
        linear-gradient(135deg, rgba(35, 43, 53, .2), rgba(35, 43, 53, .04)),
        linear-gradient(90deg, #d54d4d, #f7ba4d);
}

.jfmb-shop-banner-3 {
    background:
        linear-gradient(135deg, rgba(35, 43, 53, .2), rgba(35, 43, 53, .04)),
        linear-gradient(90deg, #3fa66b, #f2c94c);
}

.jfmb-shop-banner-4 {
    background:
        linear-gradient(135deg, rgba(35, 43, 53, .2), rgba(35, 43, 53, .04)),
        linear-gradient(90deg, #f06292, #f8c04e);
}

.jfmb-nearby-shop-body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 0 1rem 1rem;
    transform: translateY(-1rem);
}

.jfmb-nearby-shop-body .btn {
    margin-top: auto;
}

.jfmb-shop-description {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    line-height: 1.35;
    min-height: calc(1.35em * 2);
    overflow: hidden;
}

.jfmb-seller-cta {
    align-items: center;
    background:
        linear-gradient(135deg, rgba(35, 43, 53, .96), rgba(49, 58, 70, .92)),
        #252c36;
    border-radius: .75rem;
    box-shadow: 0 1.2rem 2.4rem rgba(35, 43, 53, .14);
    color: #fff;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: 1.2rem;
}

.jfmb-seller-cta h3 {
    color: #fff;
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: 0;
}

.jfmb-seller-cta p {
    color: rgba(255, 255, 255, .74);
    max-width: 44rem;
}

.jfmb-product-detail-heading {
    align-items: center;
    display: flex;
    justify-content: space-between;
    padding: 1.5rem 0 .75rem;
}

.jfmb-product-detail-card {
    border-color: var(--jfmb-border);
    border-radius: .65rem;
    box-shadow: 0 1rem 2.5rem rgba(35, 43, 53, .06);
}

.jfmb-product-detail-title {
    color: var(--jfmb-ink);
    font-size: clamp(1.75rem, 3vw, 2.6rem);
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.06;
}

.jfmb-variant-picker {
    display: grid;
    gap: .85rem;
}

.jfmb-variant-choice-row {
    align-items: start;
    display: grid;
    gap: .75rem;
    grid-template-columns: minmax(4.5rem, .24fr) 1fr;
}

.jfmb-variant-choice-label {
    color: #667085;
    font-size: .875rem;
    font-weight: 700;
    padding-top: .35rem;
}

.jfmb-variant-choice-list {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.jfmb-variant-choice {
    font-weight: 700;
    letter-spacing: 0;
    min-width: 6.75rem;
    padding-left: .95rem;
    padding-right: .95rem;
}

.jfmb-variant-choice.is-selected {
    box-shadow: 0 0 0 .15rem rgba(83, 109, 230, .14);
}

.jfmb-variant-choice:disabled {
    cursor: not-allowed;
    opacity: .55;
    text-decoration: line-through;
}

@media (max-width: 575.98px) {
    .jfmb-variant-choice-row {
        grid-template-columns: 1fr;
    }

    .jfmb-variant-choice-label {
        padding-top: 0;
    }

    .jfmb-variant-choice {
        flex: 1 1 calc(50% - .65rem);
        min-width: 0;
    }
}

@media (prefers-reduced-motion: no-preference) {
    .jfmb-home-hero .jfmb-home-title,
    .jfmb-home-hero .jfmb-home-subtitle,
    .jfmb-home-hero .jfmb-home-lead,
    .jfmb-home-hero .btn,
    .jfmb-home-hero .jfmb-hero-search,
    .jfmb-home-hero .jfmb-hero-assurance,
    .jfmb-hero-copy-panel,
    .jfmb-hero-flow {
        animation: jfmb-rise-in .46s ease both;
    }

    .jfmb-home-hero .jfmb-home-lead {
        animation-delay: .04s;
    }

    .jfmb-home-hero .btn {
        animation-delay: .08s;
    }

    .jfmb-home-hero .jfmb-hero-search,
    .jfmb-home-hero .jfmb-hero-assurance {
        animation-delay: .12s;
    }

    .jfmb-hero-flow {
        animation-delay: .16s;
    }
}

@keyframes jfmb-rise-in {
    from {
        opacity: 0;
        transform: translateY(12px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 991.98px) {
    .jfmb-home-hero {
        min-height: auto;
    }

    .jfmb-hero-product,
    .jfmb-hero-copy-panel,
    .jfmb-hero-flow {
        margin-left: 0;
        max-width: 100%;
    }

    .jfmb-hero-copy-panel,
    .jfmb-hero-flow {
        rotate: 0deg;
    }

    .jfmb-buyer-flow {
        grid-template-columns: 1fr;
    }

    .jfmb-buyer-flow-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .jfmb-seller-cta {
        align-items: flex-start;
        flex-direction: column;
    }

    .jfmb-shop-filter-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .jfmb-auth-visual {
        display: none;
    }

    .jfmb-auth-form-box {
        box-shadow: none;
        max-width: 100%;
        width: 100%;
    }
}

@media (max-width: 575.98px) {
    .wrapper,
    .content-page,
    .content,
    .content > .container,
    .content > .container-fluid {
        max-width: 100%;
        min-width: 0;
    }

    .content > .container,
    .content > .container-fluid {
        padding-left: .75rem;
        padding-right: .75rem;
    }

    .content .row {
        --bs-gutter-x: 1rem;
        --ct-gutter-x: 1rem;
    }

    .auth-fluid,
    .auth-fluid-form-box,
    .jfmb-auth-form-box,
    .jfmb-auth-panel {
        max-width: 100%;
        min-width: 0;
        width: 100%;
    }

    .auth-fluid-form-box .card-body {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .jfmb-demo-card .demo-account-card {
        max-width: 100%;
        min-width: 0;
        white-space: normal;
        width: 100%;
    }

    .jfmb-demo-card .demo-account-card > span {
        min-width: 0;
    }

    .jfmb-home-hero {
        margin-left: -.75rem;
        margin-right: -.75rem;
        padding: 2rem 0 3rem;
    }

    .jfmb-approved-row {
        margin-left: -.75rem;
        margin-right: -.75rem;
    }

    .jfmb-home-hero .row {
        margin-left: 0;
        margin-right: 0;
    }

    .jfmb-home-hero .row > [class*="col-"] {
        padding-left: 0;
        padding-right: 0;
    }

    .jfmb-home-title {
        font-size: 3.2rem;
    }

    .jfmb-home-subtitle {
        font-size: 1.55rem;
    }

    .jfmb-hero-search .input-group {
        display: flex;
        flex-wrap: nowrap;
    }

    .jfmb-hero-search .form-control {
        min-width: 0;
    }

    .jfmb-hero-search .btn,
    .jfmb-shop-quick-search .btn {
        padding-left: .8rem;
        padding-right: .8rem;
    }

    .jfmb-hero-product::before {
        bottom: 2rem;
        left: 1rem;
    }

    .jfmb-hero-product-img {
        max-height: none;
        width: 90%;
    }

    .jfmb-hero-product-meta {
        max-width: 88%;
        padding: .85rem;
    }

    .jfmb-hero-flow {
        padding: 1rem;
    }

    .jfmb-hero-flow-grid {
        grid-template-columns: 1fr;
    }

    .jfmb-buyer-flow-steps {
        grid-template-columns: 1fr;
    }

    .jfmb-seller-cta {
        padding: 1rem;
    }

    .jfmb-trust-item {
        align-items: center;
        flex-direction: column;
        gap: .25rem;
        text-align: center;
    }

    .jfmb-trust-item span {
        font-size: .74rem;
    }

    .jfmb-category-link {
        font-size: .82rem;
        min-height: 5.25rem;
        padding: .8rem;
    }

    .jfmb-shop-header {
        padding: 1rem;
    }

    .jfmb-shop-filter-form {
        grid-template-columns: 1fr;
    }

    .jfmb-shop-discovery {
        margin-left: -.15rem;
        margin-right: -.15rem;
        padding-left: .15rem;
        padding-right: .15rem;
    }

    .jfmb-shop-discovery-link {
        font-size: .78rem;
        padding: .58rem .75rem;
    }

    .jfmb-shop-grid .jfmb-product-card {
        border-radius: .375rem;
        min-height: 100%;
    }

    .jfmb-shop-grid .jfmb-product-card .jfmb-product-card-link {
        display: block;
        min-height: 0;
    }

    .jfmb-shop-grid .jfmb-product-card .jfmb-product-card-img {
        aspect-ratio: 1 / 1;
        border-top-left-radius: .375rem;
        border-top-right-radius: .375rem;
        height: auto;
        max-width: 100%;
        min-height: 0;
        object-fit: contain;
        padding: .45rem;
        width: 100%;
    }

    .jfmb-shop-grid .jfmb-product-card .card-body {
        min-width: 0;
        padding: .65rem .65rem .45rem;
    }

    .jfmb-shop-grid .jfmb-product-card .card-title {
        display: -webkit-box;
        font-size: .82rem;
        line-height: 1.25;
        margin-bottom: .2rem !important;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .jfmb-shop-grid .jfmb-product-card .font-13 {
        font-size: .7rem !important;
        margin-bottom: .35rem !important;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .jfmb-shop-grid .jfmb-product-card .badge {
        font-size: .62rem;
        white-space: nowrap;
    }

    .jfmb-shop-grid .jfmb-product-card .fw-semibold {
        font-size: .82rem;
    }

    .jfmb-shop-grid .jfmb-product-trust {
        gap: .25rem;
        margin-bottom: .45rem !important;
    }

    .jfmb-shop-grid .jfmb-product-trust span {
        font-size: .58rem;
        padding: .18rem .32rem;
    }

    .jfmb-shop-grid .jfmb-product-card-actions {
        padding: 0 .65rem .65rem !important;
        position: static;
        width: auto;
    }

    .jfmb-shop-grid .jfmb-product-card-actions .btn {
        font-size: .75rem;
        padding: .35rem .45rem;
        width: 100%;
    }
}

.jfmb-logo-text {
    color: #fff;
    font-weight: 800;
    letter-spacing: 0;
}

.jfmb-logo-text i {
    color: var(--jfmb-coral);
}

.jfmb-category-toggle {
    background: rgba(255, 255, 255, .08);
    border-color: rgba(255, 255, 255, .12);
    color: #fff;
    min-height: 2.45rem;
}

.jfmb-top-search .input-group {
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: .45rem;
    overflow: hidden;
}

.app-search.jfmb-top-search {
    overflow: visible;
}

.jfmb-top-search .input-group-text,
.jfmb-top-search .form-control {
    border: 0;
}

.jfmb-top-search .input-group-text:not(.btn),
.jfmb-top-search .form-control {
    background: rgba(255, 255, 255, .96);
}

.jfmb-top-search-submit {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    min-width: 3rem;
}

.jfmb-top-search-submit i {
    font-size: 24px;
    line-height: 1;
}

@media (max-width: 575.98px) {
    .navbar-custom .topbar {
        gap: .35rem;
        padding-left: .75rem;
        padding-right: .75rem;
    }

    .navbar-custom .topbar-menu {
        gap: .45rem !important;
    }

    .navbar-custom .topbar-menu .jfmb-topbar-mobile-optional {
        display: none !important;
    }

    .navbar-custom .topbar-menu .nav-user {
        padding-left: .25rem !important;
        padding-right: 0 !important;
    }

    .navbar-custom .topbar-menu .jfmb-login-btn,
    .navbar-custom .topbar-menu .jfmb-register-btn {
        align-items: center;
        display: inline-flex;
        font-size: .75rem;
        justify-content: center;
        line-height: 1.1;
        min-height: 2.15rem;
        padding: .35rem .55rem;
    }

    .navbar-custom .topbar-menu .jfmb-register-btn {
        max-width: 6.75rem;
    }
}

.navbar-custom .topbar-menu .nav-icon .noti-icon {
    color: #8391a2;
    font-size: 22px;
    line-height: 33px;
}

html[data-topbar-color="dark"] .navbar-custom .topbar-menu .jfmb-topbar-link {
    color: rgba(255, 255, 255, .86) !important;
    font-weight: 500;
}

html[data-topbar-color="dark"] .navbar-custom .topbar-menu .jfmb-topbar-link:hover,
html[data-topbar-color="dark"] .navbar-custom .topbar-menu .jfmb-topbar-link:focus {
    color: #fff !important;
}

.navbar-custom .topbar-menu .jfmb-topbar-icon-link {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    min-width: 2.25rem;
    padding-left: .5rem;
    padding-right: .5rem;
}

.navbar-custom .topbar-menu .jfmb-topbar-icon-link .noti-icon {
    margin-right: 0;
}

html[data-topbar-color="dark"] .navbar-custom .topbar-menu .jfmb-login-btn {
    border-color: rgba(255, 255, 255, .95) !important;
    color: #fff !important;
    font-weight: 600;
}

html[data-topbar-color="dark"] .navbar-custom .topbar-menu .jfmb-login-btn:hover,
html[data-topbar-color="dark"] .navbar-custom .topbar-menu .jfmb-login-btn:focus {
    background: #fff !important;
    border-color: #fff !important;
    color: #313a46 !important;
}

html[data-topbar-color="dark"] .navbar-custom .topbar-menu .jfmb-register-btn {
    color: #fff;
}

.side-nav .side-nav-link.active {
    color: #727cf5;
}

.avatar-title {
    align-items: center;
    display: flex;
    justify-content: center;
}

@media (max-width: 575.98px) {
    .widget-flat .card-body {
        padding: .85rem;
    }

    .widget-flat .widget-icon {
        font-size: 1.15rem;
        height: 2rem;
        line-height: 2rem;
        width: 2rem;
    }

    .widget-flat h5 {
        font-size: .75rem;
        margin-right: 2.25rem;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .widget-flat h3 {
        font-size: 1.15rem;
        margin-bottom: 0 !important;
        margin-top: .85rem !important;
    }
}

.auth-fluid-form-box {
    max-width: 520px;
}

.app-search .input-group .form-control {
    padding-left: 1rem;
}

.app-search .input-group .btn i {
    line-height: 1;
}

.jfmb-table-product-img {
    height: 48px;
    width: 48px;
    object-fit: contain;
    background: #f1f3fa;
}

.jfmb-upload-zone {
    border: 2px dashed #dee2e6;
    border-radius: .25rem;
    padding: 2rem;
    background: #fff;
}

.jfmb-upload-zone .mdi {
    font-size: 2.75rem;
    line-height: 1;
}

.jfmb-upload-file-list {
    min-height: 1.5rem;
}

.jfmb-upload-preview-img {
    aspect-ratio: 4 / 3;
    object-fit: contain;
    width: 100%;
    background: #fff;
}

.jfmb-payment-proof-img {
    max-height: 320px;
    object-fit: contain;
    width: 100%;
    background: #f1f3fa;
}

.jfmb-ad-shell {
    min-height: 90px;
    overflow: hidden;
}

.jfmb-default-avatar {
    object-fit: cover;
}

.jfmb-default-avatar-sm {
    object-fit: cover;
}

.jfmb-profile-form {
    padding-bottom: 6rem;
}

.jfmb-profile-actions {
    margin-bottom: 3rem;
    padding-bottom: 2rem;
}

.jfmb-product-edit-btn {
    position: absolute;
    right: 1.25rem;
    top: 1.25rem;
    z-index: 2;
}

.jfmb-product-description {
    white-space: normal;
}

.jfmb-product-zoom-modal .modal-content {
    border: 0;
    border-radius: .75rem;
    box-shadow: 0 28px 80px rgba(49, 58, 70, .24);
}

.jfmb-product-zoom-modal .modal-body {
    padding: 1rem 1.5rem 1.5rem;
}

.jfmb-product-zoom-img {
    max-height: 78vh;
    object-fit: contain;
}

.jfmb-notification-menu {
    max-width: min(24rem, 92vw);
    min-width: min(24rem, 92vw);
}

.jfmb-notification-list {
    max-height: 22rem;
    overflow-y: auto;
}

.jfmb-notification-menu .notify-item {
    border-bottom: 1px solid rgba(49, 58, 70, .07);
    white-space: normal;
}

.jfmb-notification-menu .notify-item:last-child {
    border-bottom: 0;
}

.jfmb-notification-menu .unread-noti {
    background: #f4f6ff;
}

.jfmb-notification-page-icon {
    align-items: center;
    background: #eef0ff;
    border-radius: 50%;
    color: #5369f8;
    display: inline-flex;
    flex: 0 0 2.5rem;
    height: 2.5rem;
    justify-content: center;
    width: 2.5rem;
}

.jfmb-notification-unread {
    background: #f7f8ff;
}

.jfmb-notification-toast-host {
    position: fixed;
    right: 1rem;
    top: 5rem;
    width: min(22rem, calc(100vw - 2rem));
    z-index: 1085;
}

.jfmb-live-notification-toast {
    background: #fff;
    border: 0;
    border-radius: .45rem;
    box-shadow: 0 1rem 2.25rem rgba(35, 43, 53, .18);
    margin-bottom: .75rem;
    min-width: min(22rem, calc(100vw - 2rem));
    overflow: hidden;
}

.jfmb-live-notification-toast-header {
    align-items: center;
    display: flex;
    padding: .65rem .85rem;
}

.jfmb-live-notification-toast-body {
    color: #475467;
    padding: .85rem;
}

.jfmb-option-builder {
    display: grid;
    gap: 1rem;
}

.jfmb-option-list {
    display: grid;
    gap: .75rem;
}

.jfmb-option-row {
    align-items: end;
    background: #f8f9fc;
    border: 1px solid rgba(49, 58, 70, .08);
    border-radius: .5rem;
    display: grid;
    gap: .75rem;
    grid-template-columns: minmax(9rem, .45fr) minmax(14rem, 1fr) auto;
    padding: .75rem;
}

.jfmb-variant-matrix {
    border: 1px solid rgba(49, 58, 70, .08);
    border-radius: .5rem;
}

.jfmb-variant-matrix table {
    min-width: 36rem;
}

.jfmb-variant-matrix thead th {
    background: #f4f6fb;
    color: #667085;
    font-size: .75rem;
    letter-spacing: 0;
    text-transform: uppercase;
}

.jfmb-variant-empty {
    border-top: 1px solid rgba(49, 58, 70, .08);
    padding: .85rem 1rem;
}

.jfmb-variant-stock-summary {
    background: #f4f6fb;
    border: 1px solid rgba(49, 58, 70, .08);
    border-radius: .5rem;
    color: #313a46;
    margin: -.25rem 0 1rem;
    padding: .8rem .9rem;
}

.jfmb-variant-stock-summary i {
    color: #536de6;
    font-size: 1.35rem;
    line-height: 1;
}

@media (max-width: 767.98px) {
    .jfmb-option-row {
        grid-template-columns: 1fr;
    }
}

.jfmb-suggest-anchor {
    overflow: visible !important;
    position: relative;
}

.jfmb-search-suggest-menu {
    background: #fff;
    border: 1px solid rgba(49, 58, 70, .12);
    border-radius: .55rem;
    box-shadow: 0 1.25rem 2.5rem rgba(35, 43, 53, .14);
    left: 0;
    margin-top: .35rem;
    max-height: min(28rem, 70vh);
    min-width: min(100%, 22rem);
    overflow-y: auto;
    padding: .4rem;
    position: absolute;
    right: 0;
    top: 100%;
    z-index: 1085;
}

.jfmb-top-search .jfmb-search-suggest-menu {
    max-width: min(30rem, calc(100vw - 2rem));
    min-width: 100%;
    right: auto;
    width: min(30rem, calc(100vw - 2rem));
}

.jfmb-search-suggest-state {
    align-items: center;
    color: #667085;
    display: flex;
    font-size: .88rem;
    justify-content: center;
    min-height: 3.25rem;
    padding: .75rem;
}

.jfmb-search-suggest-item {
    align-items: center;
    border-radius: .45rem;
    color: #263140;
    display: flex;
    gap: .75rem;
    min-height: 4rem;
    padding: .55rem .65rem;
    text-decoration: none;
    transition: background-color .14s ease, color .14s ease;
}

.jfmb-search-suggest-item:hover,
.jfmb-search-suggest-item:focus,
.jfmb-search-suggest-item.is-active {
    background: #f4f6ff;
    color: #263140;
    outline: none;
}

.jfmb-search-suggest-img,
.jfmb-search-suggest-icon {
    align-items: center;
    background: #f5f7fb;
    border: 1px solid rgba(49, 58, 70, .08);
    border-radius: .4rem;
    display: flex;
    flex: 0 0 2.75rem;
    height: 2.75rem;
    justify-content: center;
    object-fit: contain;
    width: 2.75rem;
}

.jfmb-search-suggest-icon i {
    color: #5369f8;
    font-size: 1.25rem;
    line-height: 1;
}

.jfmb-search-suggest-copy {
    display: block;
    flex: 1 1 auto;
    min-width: 0;
}

.jfmb-search-suggest-label,
.jfmb-search-suggest-subtitle {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.jfmb-search-suggest-label {
    font-size: .88rem;
    font-weight: 800;
}

.jfmb-search-suggest-subtitle {
    color: #667085;
    font-size: .74rem;
    margin-top: .1rem;
}

.jfmb-search-suggest-price {
    color: #ff5b5f;
    flex: 0 0 auto;
    font-size: .84rem;
    font-weight: 800;
}

@media (max-width: 575.98px) {
    .jfmb-search-suggest-menu {
        max-height: 65vh;
        min-width: 100%;
    }

    .jfmb-search-suggest-price {
        display: none;
    }
}

.jfmb-commerce-flow {
    --jfmb-flow-border: rgba(49, 58, 70, .1);
    --jfmb-flow-muted: #6c757d;
    color: #263140;
}

.jfmb-commerce-flow .card {
    margin-bottom: 1.35rem;
}

.jfmb-commerce-card,
.jfmb-summary-card,
.jfmb-info-card {
    border: 1px solid rgba(49, 58, 70, .08);
    border-radius: .65rem;
    box-shadow: 0 16px 40px rgba(49, 58, 70, .06);
}

.jfmb-order-info-row .jfmb-info-card {
    height: 100%;
}

.jfmb-order-info-row .jfmb-info-card > .card-body {
    display: flex;
    flex-direction: column;
}

.jfmb-commerce-card > .card-body,
.jfmb-summary-card > .card-body,
.jfmb-info-card > .card-body {
    padding: 1.5rem;
}

.jfmb-section-heading h4,
.jfmb-commerce-flow .header-title {
    color: #1f2937;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: none;
}

.jfmb-section-heading p {
    color: var(--jfmb-flow-muted) !important;
}

.jfmb-commerce-table {
    color: #273142;
}

.jfmb-commerce-flow .table-responsive,
.jfmb-commerce-card .table-responsive {
    max-width: 100%;
    overflow-x: auto;
}

.jfmb-commerce-flow .table-responsive > .table,
.jfmb-commerce-card .table-responsive > .table {
    margin-bottom: 0;
    max-width: none;
}

.jfmb-commerce-table thead th {
    background: #f7f8fb !important;
    border-bottom: 1px solid rgba(49, 58, 70, .08);
    color: #566172;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.jfmb-commerce-table tbody td,
.jfmb-commerce-table tbody th {
    border-color: rgba(49, 58, 70, .07);
    vertical-align: middle;
}

.jfmb-commerce-table a.text-body {
    color: #202938 !important;
    font-weight: 700;
}

.jfmb-line-item-img,
.jfmb-summary-img {
    background: #f5f7fb;
    border: 1px solid rgba(49, 58, 70, .08);
    object-fit: contain;
}

.jfmb-line-item-img {
    height: 4rem;
    width: 4rem;
}

.jfmb-summary-img {
    height: 3rem;
    width: 3rem;
}

.jfmb-summary-panel {
    background: #fff;
    border: 1px solid rgba(49, 58, 70, .08);
    border-radius: .65rem;
    padding: 1.25rem;
}

.jfmb-summary-panel table td,
.jfmb-summary-card table td,
.jfmb-summary-card table th {
    border-color: rgba(49, 58, 70, .07);
}

.jfmb-summary-total th,
.jfmb-summary-total td {
    color: #ff5b5f;
    font-size: 1rem;
    font-weight: 800;
}

.jfmb-checkout-tabs {
    background: #f4f6fa !important;
    border: 1px solid rgba(49, 58, 70, .08);
    border-radius: .65rem;
    gap: .35rem;
    padding: .35rem;
}

.jfmb-checkout-tabs .nav-link {
    border-radius: .45rem !important;
    color: #566172;
    font-weight: 700;
}

.jfmb-checkout-tabs .nav-link.active {
    background: #5369f8;
    box-shadow: 0 10px 24px rgba(83, 105, 248, .22);
    color: #fff;
}

.jfmb-option-tile {
    background: #fff;
    border: 1px solid rgba(49, 58, 70, .1);
    border-radius: .65rem;
    padding: 1rem;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.jfmb-option-tile:hover,
.jfmb-option-tile:focus-within {
    border-color: rgba(83, 105, 248, .42);
    box-shadow: 0 12px 28px rgba(49, 58, 70, .08);
    transform: translateY(-1px);
}

.jfmb-option-tile:has(.form-check-input:checked) {
    border-color: #5369f8;
    box-shadow: inset 0 0 0 1px rgba(83, 105, 248, .18), 0 12px 28px rgba(83, 105, 248, .1);
}

.jfmb-order-steps {
    background: #fff;
    border: 1px solid rgba(49, 58, 70, .08);
    border-radius: .75rem;
    box-shadow: 0 16px 40px rgba(49, 58, 70, .06);
    overflow: hidden;
    padding: 1.35rem 1.5rem 2.1rem;
}

.jfmb-order-steps::before {
    left: 1.5rem;
    right: 1.5rem;
    width: auto;
}

.jfmb-order-steps .step-item span {
    color: #566172;
    font-weight: 700;
}

.jfmb-order-steps .step-item.current span {
    color: #5369f8;
}

.jfmb-order-steps .process-line {
    background-color: #5369f8;
    left: 1.5rem;
    max-width: calc(100% - 3rem);
}

.jfmb-order-steps .horizontal-steps-content .step-item:first-child span {
    left: 0;
    transform: none;
}

.jfmb-order-steps .horizontal-steps-content .step-item:last-child span {
    left: auto;
    right: 0;
    transform: none;
}

.jfmb-order-item {
    min-width: 16rem;
}

.jfmb-info-card .mdi {
    color: #5369f8 !important;
}

.jfmb-cart-flow .btn-danger,
.jfmb-checkout-flow .btn-danger {
    background: #ff5b5f;
    border-color: #ff5b5f;
    box-shadow: 0 10px 22px rgba(255, 91, 95, .18);
}

@media (max-width: 767.98px) {
    .jfmb-commerce-card > .card-body,
    .jfmb-summary-card > .card-body,
    .jfmb-info-card > .card-body {
        padding: 1rem;
    }

    .jfmb-commerce-table {
        min-width: 680px;
    }

    .jfmb-checkout-tabs .nav-link {
        min-height: 3.1rem;
    }

    .jfmb-order-steps {
        overflow-x: auto;
    }
}

.jfmb-support-chat {
    border: 1px solid rgba(49, 58, 70, .08);
    box-shadow: 0 18px 42px rgba(49, 58, 70, .07);
    overflow: hidden;
}

.jfmb-support-chat-list {
    margin-bottom: 0;
    max-height: 58vh;
    min-height: 430px;
    overflow-y: auto;
}

.jfmb-support-chat .conversation-list .chat-avatar .avatar-title {
    box-shadow: 0 10px 22px rgba(49, 58, 70, .12);
}

.jfmb-support-chat .conversation-list .conversation-text {
    max-width: min(680px, 76%);
}

.jfmb-support-chat .conversation-list .conversation-text .ctext-wrap {
    border-radius: .65rem;
    box-shadow: 0 10px 24px rgba(49, 58, 70, .06);
}

.jfmb-support-chat .conversation-list .odd .conversation-text .ctext-wrap {
    background-color: #5369f8;
    color: #fff;
}

.jfmb-support-chat .conversation-list .odd .conversation-text .ctext-wrap i,
.jfmb-support-chat .conversation-list .odd .conversation-text .ctext-wrap p {
    color: #fff;
}

.jfmb-support-chat-note .conversation-text .ctext-wrap {
    background-color: #f1f3f5;
    border: 1px dashed rgba(108, 117, 125, .35);
}

.jfmb-support-chat .chat-input {
    min-height: 48px;
    resize: vertical;
}

.jfmb-support-chat .chat-send {
    min-height: 48px;
    min-width: 52px;
    box-shadow: 0 10px 22px rgba(10, 207, 151, .18);
}

.jfmb-support-side-card {
    border: 1px solid rgba(49, 58, 70, .08);
    box-shadow: 0 18px 42px rgba(49, 58, 70, .06);
}

@media (max-width: 767.98px) {
    .jfmb-support-chat-list {
        max-height: 60vh;
        min-height: 360px;
    }

    .jfmb-support-chat .conversation-list .conversation-text {
        max-width: 82%;
    }
}
