/**
 * Nefin Beauty — Application Styles
 * Rebuilt and consolidated by Collective People
 * Build date: 27 July 2026
 *
 */

/* ===== Core ===== */
:root {

    --nefin-primary: #67645e;
    --nefin-secondary: #f1f0ed;
    --nefin-accent: #d4a574;
    --nefin-black: #1d1d1f;
    --nefin-white: #ffffff;

    --body-font-size: 0.875rem;
    --body-color: #67645e;
    --body-bg: #fff;
    --nefin-font-primary: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --nefin-font-serif: "EB Garamond", Georgia, "Times New Roman", serif;

    --transition-base: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    --transition-fast: all 0.15s ease;

    --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.08);
    --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.12);
    --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.16);

    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-xl: 16px;
    --radius-full: 9999px;
}

html {
    scrollbar-width: auto;
    scroll-behavior: smooth;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

body {
    font-size: var(--body-font-size);
    font-weight: 400;
    font-style: normal;
    color: var(--body-color);
    font-family: var(--nefin-font-primary);
    overflow-x: hidden;
    line-height: 1.6;
    background: var(--body-bg);
    scrollbar-gutter: stable;
}

.container {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}

a {
    transition: var(--transition-base);
    color: var(--body-color);
    text-decoration: none;
    outline: none;
}

a:hover, a:focus, a:active {
    text-decoration: none;
    outline: none;
    opacity: 0.8;
}

button {
    transition: var(--transition-base);
    outline: none;
    cursor: pointer;
    border: none;
    background: transparent;
}

button:disabled {
    cursor: not-allowed;
    opacity: 0.6;
}

.lazyload {
    opacity: 0;
}

img.lazyload:not([src]) {
    visibility: hidden;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

section {
    margin: 10px 0;
    clear: both;
    position: relative;
}

.btn {
    font-size: var(--body-font-size);
    color: var(--body-color);
    border-radius: 8px;
    padding: 0.5rem 1rem;
    font-weight: 500;
    transition: var(--transition-base);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

.btn:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}

.btn:active {
    transform: translateY(0);
}

.dropdown-menu {
    font-size: var(--body-font-size);
    border-radius: 12px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    box-shadow: var(--shadow-lg);
    padding: 0.5rem;
}

.dropdown-item {
    color: var(--body-color);
    border-radius: 8px;
    padding: 0.5rem 1rem;
    transition: var(--transition-fast);
}

.dropdown-item:hover {
    background: rgba(0, 0, 0, 0.04);
}

.mds-svg-icon {
    width: 1em;
    height: 1em;
    display: inline-block;
    vertical-align: middle;
    position: relative;
    margin-right: 5px;
    top: -.063rem !important
}

.col-10 {
    padding-right: 10px;
    padding-left: 10px
}

.btn {
    box-shadow: none;
    outline: none;
    border-radius: 2px
}

.btn i {
    margin-right: 8px
}

.btn-sm {
    padding: 6px 14px;
    font-size: .8125rem;
    line-height: 20px
}

.btn-md {
    padding: 10px 20px;
    line-height: 20px
}

.btn-lg {
    padding: 10px 24px;
    line-height: 20px
}

.btn-custom {
    color: #fff ;
    font-weight: 400;
    outline: 0 !important
}

.btn-custom:hover, .btn-custom:focus, .btn-custom:active {
    opacity: .9
}

.btn-slider {
    padding: 10px 24px;
    line-height: 20px;
    border-radius: 2px;
    font-weight: 400;
    outline: 0 !important;
    color: #fff;
    background-color: #22222270;
    border-radius: 25px;
}

.btn-custom:hover, .btn-custom:focus, .btn-custom:active {
    color: #fff !important
}

.btn-custom .disabled, .btn-custom:disabled {
    color: #fff !important;
    opacity: .9
}

.btn-gray {
    color: #333 !important;
    font-weight: 400;
    outline: 0 !important;
    background-color: #e6e6e6
}

.btn-gray:hover, .btn-gray:focus, .btn-gray:active {
    background-color: #d1d1d1 !important;
    border-color: #d1d1d1 !important;
    color: #222 !important
}

.btn-block {
    padding: .625rem 1.5rem;
    line-height: 1.5rem;
    border-radius: 2px;
    color: #fff !important
}

.btn-block:hover {
    opacity: .9
}

.btn-table-info {
    display: inline-flex;
    align-items: center;
    color: #434658 !important;
    background-color: #e6e8f1;
    border: 1px solid #dddfe8 !important
}

.btn-table-info:hover {
    background-color: #D9DBE4
}

.btn-outline {
    background-color: transparent !important;
    font-size: 13px;
    border-radius: .1875rem;
    font-weight: 400;
    outline: 0 !important;
    border-color: #999
}

.btn-outline:hover {
    color: #fff !important
}

.btn-contact-seller {
    padding: .5rem 1.1rem;
    border-radius: .1875rem;
    border: 1px solid #e4e4e4;
    background-color: transparent !important;
    float: right;
    font-size: 12px;
    font-weight: 500;
}

.btn-contact-seller:hover {
    border-color: #bcbcbc !important
}

.btn-contact-seller i {
    color: #666;
    margin-right: 4px
}

.btn-outline-gray {
    background-color: transparent !important;
    font-size: 13px;
    font-weight: 400;
    outline: 0 !important;
    border: 1px solid #e4e4e4;
    color: #444 !important
}

.btn-outline-gray i {
    color: #666
}

.btn-outline-gray:hover {
    border-color: #bcbcbc !important
}

.color-white {
    color: #fff !important
}

.color-link {
    color: #2d65fe !important
}

.badge {
    font-weight: 600
}

.btn-filter-products-mobile {
    display: none;
    float: left;
    text-align: left;
    border-radius: .1875rem;
    color: #222 !important;
    background-color: transparent !important;
    border: 1px solid #ededed !important
}

.btn-filter-products-mobile i {
    color: #444
}

.btn-variation {
    color: #fff !important;
    padding: .3rem .6rem
}

.alert {
    display: flex;
    align-items: center;
    border: 0;
    border-radius: 2px;
    padding: 16px 20px
}

.alert-dismissible .close {
    padding: 10px 20px
}

.alert-success {
    color: #146c43;
    background-color: #d1e7dd;
    border-color: #2F875E
}

.alert-danger {
    background-color: #f8d7da;
    border-color: #b02a37;
    color: #b02a37
}

.alert-info {
    color: #0c5460;
    background-color: #d1ecf1;
    border-color: #82a9af
}

.alert ul {
    padding-left: 10px !important;
    margin: 0 !important
}

.alert ul li {
    margin-bottom: 0
}

.alert svg {
    flex-shrink: 0 !important;
    margin-right: 10px
}

.badge-lg {
    padding: .3rem .6rem
}

.form-input {
    border: 1px solid #dfe0e6;
    outline: none !important;
    color: #494949;
    height: 46px;
    font-size: .875rem;
    line-height: 24px;
    padding: 10px 20px;
    box-shadow: none;
    border-radius: 2px
}

.custom-select {
    height: 42px;
    font-size: 14px !important;
    border-radius: 2px;
    box-shadow: none !important;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg width='1em' height='1em' viewBox='0 0 16 16' fill='%23444' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.247 11.14L2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat;
    background-size: 10px 10px !important
}

.select2 {
    outline: none !important
}

.select2-container--default .select2-selection--single, .select2-selection .select2-selection--single {
    border: 1px solid #d2d6de;
    border-radius: 2px !important;
    padding: 10px 16px !important;
    height: 46px !important;
    outline: none !important
}

.select2-container .select2-selection--single .select2-selection__rendered {
    margin-top: -2px !important
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 3px !important
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
    margin-left: -8px !important;
    margin-top: 4px !important
}

.select2-container {
    display: block !important
}

.select2-container--default .select2-selection--single, .select2-selection .select2-selection--single {
    border: 1px solid #dfe0e6 !important
}

.select2-container--default.select2-container--focus .select2-selection--multiple, .select2-container--default .select2-search--dropdown .select2-search__field {
    outline: none !important
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: #F0F1F2;
    color: #393A3B
}

.select2-container--default .select2-results__option--selected {
    background-color: #F0F1F2
}

.select2-selection.error {
    border: 1px solid rgba(220, 53, 69, .40) !important
}

.form-textarea {
    min-height: 120px;
    border-radius: 2px;
    padding: 12px 15px;
    resize: vertical
}

.form-control {
    font-size: .875rem
}

.form-control:focus {
    color: #495057;
    outline: 0;
    box-shadow: none !important
}

.form-group {
}

.form-group .control-label {
    font-weight: 600
}

.form-group .control-label-small {
    font-weight: 400;
    font-size: 14px
}

.form-inline {
    display: inline-block
}

.row-custom {
    display: block;
    width: 100%;
    max-width: 100%;
    float: left;
    position: relative
}

.hidden {
    display: none !important
}

.visibility-hidden {
    visibility: hidden !important
}

.visibility-visible {
    visibility: visible !important
}

.no-wrap {
    white-space: nowrap !important
}

.nefin-breadcrumb {
    padding-bottom: 30px
}

.breadcrumb {
    background-color: transparent;
    font-size: 13px;
    padding: 0;
    margin: 0;
    height: 18px;
    line-height: 18px
}

.breadcrumb a {
    color: #999;
    text-transform: uppercase;
}

.breadcrumb-item+.breadcrumb-item {
    padding-left: 4px;
    color: #999
}

.breadcrumb-item+.breadcrumb-item::before {
    padding-right: 4px;
    color: #999
}

.breadcrumb .active {
    color: #666
}

.breadcrumb-products li:last-child a {
    color: #666
}

.display-block {
    display: block !important
}

.display-inline-block {
    display: inline-block !important
}

.display-flex {
    display: flex !important
}

.display-inline-flex {
    display: inline-flex !important
}

.align-items-center {
    align-items: center !important
}

.justify-content-center {
    justify-content: center !important
}

.flex-shrink-0 {
    flex-shrink: 0 !important
}

.p-0 {
    padding: 0 !important
}

.m-0 {
    margin: 0 !important
}

.m-t-0 {
    margin-top: 0 !important
}

.m-t-5 {
    margin-top: 5px !important
}

.m-t-10 {
    margin-top: 10px !important
}

.m-t-15 {
    margin-top: 15px !important
}

.m-t-20 {
    margin-top: 20px !important
}

.m-t-30 {
    margin-top: 30px !important
}

.m-t-45 {
    margin-top: 45px !important
}

.m-b-5 {
    margin-bottom: 5px !important
}

.m-b-10 {
    margin-bottom: 10px !important
}

.m-b-15 {
    margin-bottom: 15px !important
}

.m-b-20 {
    margin-bottom: 20px !important
}

.m-b-30 {
    margin-bottom: 30px !important
}

.m-r-3 {
    margin-right: 3px
}

.m-r-5 {
    margin-right: 5px
}

.m-r-10 {
    margin-right: 10px
}

.m-l-5 {
    margin-left: 5px
}

.m-l-15 {
    margin-left: 15px
}

.font-600 {
    font-weight: 600 !important
}

.font-700 {
    font-weight: 700 !important
}

.rating {
    float: left
}

.rating i {
    float: left;
    color: #fbc12a;
    font-size: 12px;
    line-height: 18px;
    margin-right: 2px
}

.rating .icon-star-o {
    color: #67645e;
}

.rating .icon-star {
    color: #fbc12a
}

.error-message {
    margin-left: 15px
}

.error-message p {
    position: relative;
    color: #d43f3a;
    margin-bottom: 5px;
    font-size: .875rem;
    text-align: left;
    display: list-item !important;
    list-style: disc !important
}

.success-message p {
    position: relative;
    color: #28a745;
    margin-bottom: 5px
}

.custom-checkbox input:invalid .custom-checkbox label {
    color: #0f74a8
}

.link-underlined {
    text-decoration: underline !important
}

.link-underlined:hover {
    color: #222
}

.link-terms {
    color: #222 !important;
    font-weight: 600 !important
}

.link-terms strong {
    color: #222 !important;
    font-weight: 600 !important;
    text-decoration: underline
}

.product-item-horizontal .col-mds-5 {
    max-width: 20% !important;
    min-width: 254px !important
}

.a-hover-underline:hover {
    text-decoration: underline !important
}

#header {
    z-index: 100;
    max-width: 100%;
    position: relative;
    width: 100%;
    clear: both;
}

.top-bar .col-left .navbar-nav {
    float: left
}

.top-bar .col-right .navbar-nav {
    float: right
}

.top-bar .navbar-nav {
    display: block;
    padding: 8px 0
}

.top-bar .navbar-nav .nav-item {
    display: flex;
    align-items: center;
    float: left;
    margin-right: 15px
}

.top-bar .navbar-nav .nav-item .nav-link {
    float: left;
    line-height: 26px;
    font-size: 14px;
    padding: 0;
    position: relative;
    color: #fff;
}

.top-bar .navbar-nav .nav-item .nav-link i {
    color: #fff;
    margin-right: 5px
}

.top-bar .navbar-nav .nav-item .auth-sep {
    float: left;
    line-height: 20px;
    color: #333e48;
    font-size: 13px;
    margin: 0 8px
}

.top-bar .col-right .navbar-nav .nav-item {
    min-height: 22px;
    float: left;
    margin-right: 10px;
    padding-right: 10px;
    color: #fff;
}

.top-bar .col-right .navbar-nav .nav-item a {
    color: #fff;
}

.top-bar .col-right .navbar-nav .nav-item:last-child {
    margin-right: 0;
    border-right: 0
}

.top-bar .mds-svg-icon {
    width: 1.1em;
    height: 1.1em;
    fill: #888
}

.top-bar .btn-modal-location {
    display: inline-block;
    text-overflow: ellipsis;
    overflow: hidden;
    max-width: 250px;
    white-space: nowrap
}

.top-bar .btn-modal-location .mds-svg-icon {
    margin-right: 0
}

.nefin-header.section-header.no-slider.inner_header {
    background: #f1f0ed!important;
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
}

.navbar-light .navbar-nav .nav-link {
    color: #000;
    font-size: 11pt;
    font-weight: 600;
}

.profile-dropdown .dropdown-menu {
    border: 1px solid #e6e6e6;
    min-width: 180px;
    padding: 0;
    left: -20px !important;
    z-index: 999999
}

.profile-dropdown .dropdown-menu li {
    margin: 0 !important
}

.profile-dropdown .dropdown-menu li:last-child {
    border-top: 1px solid #e6e6e6;
    margin-top: 0 !important
}

.profile-dropdown .dropdown-menu li a {
    display: flex;
    align-items: center;
    margin: 2px 4px;
    padding: 4px 15px;
    line-height: 24px;
    color: #606060 !important;
    white-space: nowrap
}

.profile-dropdown .dropdown-menu li a:hover {
    background-color: #f5f5f5
}

.profile-dropdown .dropdown-menu li a i {
    display: inline-block;
    width: 22px
}

.profile-dropdown .dropdown-menu .isvg {
    width: 22px
}

.profile-dropdown .dropdown-menu li a svg {
    width: 14px;
    height: 14px;
    margin-right: 4px
}

.profile-dropdown .dropdown-menu li a .icon-admin {
    font-size: .9375rem
}

.profile-dropdown .a-profile {
    position: relative
}

.profile-dropdown .a-profile img {
    float: left;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    margin-right: 8px;
    position: relative
}

.message-notification {
    position: absolute;
    left: 15px;
    top: -5px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    background-color: #28a745;
    border-radius: 50%;
    width: 18px;
    height: 18px;
    color: #fff
}

.message-notification-mobile {
    width: 20px;
    height: 20px;
    line-height: 20px;
    top: 5px !important;
    font-size: 11px;
    left: 32px !important
}

.profile-dropdown .a-profile::after {
    display: none
}

.profile-dropdown .username {
    display: inline-block;
    position: relative;
    line-height: 22px;
    top: 2px
}

.currency-dropdown .dropdown-menu {
    min-width: 112px
}

.top-menu-dropdown .dropdown-menu {
    border: 1px solid #e6e6e6;
    min-width: 108px;
    padding: 0;
    left: -20px !important;
    padding-top: 4px
}

.top-menu-dropdown .dropdown-menu li {
    padding: 4px !important;
    padding-top: 0 !important
}

.top-menu-dropdown .dropdown-menu li button, .top-menu-dropdown .dropdown-menu li a {
    box-shadow: none !important;
    border: 0 !important;
    background-color: transparent;
    display: block;
    width: 100%;
    margin-right: 0 !important;
    margin-bottom: 0;
    padding: 4px 20px;
    line-height: 24px;
    color: #777 !important;
    text-align: left
}

.top-menu-dropdown .dropdown-menu li button:hover, .top-menu-dropdown .dropdown-menu li a:hover {
    background-color: #f5f5f5 !important
}

.top-menu-dropdown>a>i {
    margin: 0 !important
}

.top-menu-dropdown>a::after {
    display: none
}

.top-menu-dropdown .flag {
    width: 18px;
    max-height: 14px;
    margin-right: 5px;
    display: inline-block;
    margin-top: -1px
}

.top-menu-dropdown .dropdown-menu-lang {
    min-width: 130px;
    list-style: none;
}

.nav-top .nav-top-left .logo {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    -webkit-box-align: center !important;
    align-items: center !important;
    width: 20%;
}

.nav-top .nav-top-left .logo a {
    width: 100%;
    height: auto;
    display: block
}

.nav-top .nav-top-left .logo a img {
    height: 80px;
    width: 100%;
    object-fit: contain;
    transition: var(--transition-base);
}

.nav-top .nav-top-left .logo a:hover img {
    opacity: 0.8;
}

.top-search-bar {
    width: calc(100% - 300px);
    display: block;
    position: relative;
    border: 1px solid #efefef !important;
    border-radius: 4px;
    background-color: #f6f6f6;
    margin: auto;
}

.top-search-bar .left {
    display: table-cell;
    vertical-align: top;
    min-width: 95px
}

.top-search-bar .right {
    position: relative;
    display: table-cell;
    vertical-align: top;
    width: 100%
}

.top-search-bar .input-search {
    background-color: #f6f6f6;
    border: 0 !important;
    border-left: 1px solid #efefef !important;
    border-left: 0;
    box-shadow: none !important;
    outline: none !important;
    color: #555;
    padding: 8px;
    padding-right: 40px;
    padding-left: 15px;
    box-shadow: none;
    border-radius: 0 4px 4px 0;
    font-size: .8125rem;
    line-height: 21px;
    min-height: 39px
}

.top-search-bar-single-vendor .input-search {
    border-radius: 25px
}

.top-search-bar .was-validated .form-control:invalid {
    border: 1px solid #e6e6e6 !important;
    -webkit-box-shadow: inset 0 0 2px rgba(0, 0, 0, .3) !important;
    box-shadow: inset 0 0 2px rgba(0, 0, 0, .3) !important
}

.top-search-bar .btn-search {
    position: absolute;
    top: 0;
    right: 0;
    background-color: transparent !important;
    border: 0 !important;
    color: #888;
    font-size: 17px;
    line-height: 26px
}

.top-search-bar .btn-search i {
    margin: 0 ;
    color: #444 !important
}

.search-select {
    min-width: 105px;
    z-index: 9999
}

.search-select button {
    width: 160px;
    position: relative;
    text-align: left;
    line-height: 19px;
    padding: 6px 15px;
    padding-right: 20px;
    background-color: transparent !important;
    border: 0 !important;
    color: #747474;
    border-right: 0;
    font-size: .8125rem;
    top: 4px;
    overflow: hidden;
    text-overflow: ellipsis;
    background-color: transparent
}

.search-select button::after {
    display: none !important
}

.search-select-caret {
    position: absolute;
    right: 5px;
    top: 10px;
    pointer-events: none !important
}

.search-select .dropdown-menu {
    border-top: 0;
    min-width: 95px;
    padding: 0;
    margin: 0;
    border-radius: 0 0 2px 2px;
    left: 0 !important;
    top: 5px !important
}

.search-select .dropdown-menu .dropdown-item {
    padding: 6px 15px;
    color: #646464 !important;
    font-size: .875rem
}

.search-select .dropdown-menu .dropdown-item:hover {
    color: #333 !important
}

.search-select .dropdown-item:focus, .search-select .dropdown-item:hover {
    background-color: #f1f0ed;
    color: #1d1d1f;
    text-decoration: none
}

.search-select .search-categories {
    max-height: 400px;
    min-width: 160px
}

.search-results-ajax {
    position: absolute;
    width: 100%;
    background-color: #fff;
    border: 1px solid rgba(103, 100, 94, 0.12);
    z-index: 9999;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
    border-radius: 12px;
    margin-top: 8px;
    overflow: hidden;
}

.search-results-ajax .search-results-product {
    max-height: 400px;
    overflow-y: auto;
}

.search-results-ajax ul {
    padding: 8px;
    margin: 0;
    list-style: none;
}

.search-results-ajax ul li {
    list-style: none;
    margin: 0;
}

.search-results-ajax ul li a {
    display: flex;
    align-items: center;
    gap: 14px;
    width: 100%;
    padding: 12px;
    color: #1d1d1f;
    text-decoration: none;
    border-radius: 8px;
    transition: background 0.2s ease;
}

.search-results-ajax ul li a:hover {
    background-color: #f1f0ed;
    text-decoration: none;
}

.search-results-ajax ul li a .left {
    flex-shrink: 0;
    width: 56px;
    height: 56px;
}

.search-results-ajax ul li a .left .search-image {
    display: flex;
    width: 56px;
    height: 56px;
    justify-content: center;
    align-items: center;
    background-color: #f1f0ed;
    border-radius: 10px;
    overflow: hidden;
}

.search-results-ajax ul li a .search-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.search-results-ajax ul li a .search-product {
    flex: 1;
    min-width: 0;
}

.search-results-ajax ul li a .search-product p {
    color: #1d1d1f;
    font-family: var(--font-primary, "Montserrat", sans-serif);
    font-size: 14px;
    font-weight: 500;
    margin: 0 0 4px 0;
    line-height: 1.4;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.search-results-ajax ul li a .search-product .price {
    color: #67645e;
    font-size: 13px;
    font-weight: 600;
    font-family: var(--font-primary, "Montserrat", sans-serif);
}

.search-results-location {
    width: 100%;
    height: auto;
    display: block;
    position: relative;
    max-height: 300px;
    overflow: hidden !important
}

.search-results-location ul li a {
    display: block;
    width: 100%;
    padding: 10px 12px;
    border-radius: 8px;
}

.search-results-ajax ul li a strong {
    font-weight: 600;
    color: #1d1d1f;
}

.search-results-ajax ul li a i {
    color: #67645e;
    margin-right: 10px
}

.nav-top .nav-top-right .nav {
    float: right
}

.nav-top .nav-top-right .nav li {
    margin-right: 8px;
    float: left
}

.nav-top .nav-top-right .nav>li>a {
    padding: 8px;
    display: block;
    color: #606060;
    float: left
}

.nav-top .nav-top-right .nav>li>a:hover {
    color: #666 !important
}

.nav-top .nav-top-right .nav>li>.btn-sell-now {
    padding: .48rem .9rem !important;
    border-radius: 2px !important;
    line-height: 1.5 ;
    margin: 0 8px;
    color: #fff !important
}

.nav-top .nav-top-right .nav>li>.btn-sell-now:hover {
    color: #fff !important
}

.nav-main .navbar {
    background-color: #fff;
    padding: 0;
    margin: 10px 0 0 0;
    border-top: 2px solid;
    border-image: linear-gradient(to right, #fed330 0%, #fed330 20%, #e63841 20%, #e63841 20%, #e63841 40%, #5ed6fd 40%, #5ed6fd 40%, #e63841 40%, #5ed6fd 40%, #5ed6fd 40%, #5ed6fd 60%, #45c33b 60%, #45c33b 80%, #1172c0 80%, #1172c0 80%, #1172c0 100%) 1 stretch repeat;
}

.nav-main .navbar ul .nav-item:first-child {
    padding-left: 0
}

.nav-main .navbar ul .nav-item:last-child {
    padding-right: 0
}

.nav-main .navbar ul .nav-item .nav-link {
    color: #222;
    font-weight: 600;
    padding: 14px 10px;
    margin-right: 8px;
    font-size: 15px;
    position: relative
}

.nav-main .navbar>.navbar-nav>.nav-item:hover .nav-link:before {
    content: "";
    height: 2px;
    left: 0;
    position: absolute;
    right: 0;
    bottom: -1px
}

.nav-item-cart a .notification {
    position: absolute !important;
    top: 0;
    left: 29px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    background-color: #f6465d;
    border-radius: 50%;
    height: 18px;
    width: 18px;
    line-height: 18px;
    text-align: center;
    color: #fff
}

.mega-menu {
    display: flex;
    justify-content: space-evenly;
    width: 100%;
}

.mega-menu .col-category-links {
    flex: 0 0 63.666667%;
    max-width: 63.666667%
}

.mega-menu .col-category-images {
    flex: 0 0 36.333333%;
    max-width: 36.333333%;
    padding-left: 0
}

.mega-menu .dropdown-toggle::after {
    display: none !important
}

.mega-menu .nav-item {
    position: inherit
}

.mega-menu .menu-li-more {
    position: relative
}

.mega-menu .menu-li-more:hover>.dropdown-menu {
    display: block
}

.mega-menu .dropdown .dropdown-menu {
    -webkit-transition: all .3s;
    transition: all .3s;
    width: 1240px;
    max-width: 100%;
    display: none;
    overflow: hidden;
    border-radius: 0 !important;
    margin: 0;
    border: 0;
    padding: 30px 30px 22px;
    border-radius: 0 !important;
    border-top: 1px solid rgba(0, 0, 0, .10);
    -webkit-box-shadow: 0 4px 6px rgba(0, 0, 0, .12) !important;
    box-shadow: 0 4px 6px rgba(0, 0, 0, .12) !important
}

.mega-menu .dropdown-menu-more-items {
    position: absolute;
    width: auto !important;
    max-width: none !important;
    z-index: 1000;
    display: none;
    float: left;
    min-width: 10rem !important;
    padding: .5rem 0 !important;
    margin: .125rem 0 0 !important;
    border: 1px solid #e6e6e6;
    border-radius: .25rem !important;
    margin-top: 0 !important;
    border-top: 0
}

.mega-menu .dropdown-menu-more-items a {
    width: auto;
    display: block;
    margin: 4px;
    padding: 4px 15px;
    line-height: 24px
}

.mega-menu .dropdown-menu-more-items a:hover, .mega-menu .dropdown-menu-more-items a:focus, .mega-menu .dropdown-menu-more-items a:active {
    background-color: #f5f5f5 ;
    color: #222 !important
}

.mega-menu .menu-subcategories {
    text-align: left;
    min-height: 262px
}

.mega-menu .subcategory-item {
    width: 25%;
    float: left
}

.mega-menu .col-level-two {
    margin-bottom: 10px
}

.mega-menu .menu-subcategories .second-category {
    font-size: 14px;
    line-height: 24px;
    color: #222;
    font-weight: 600;
    border-bottom: .09375rem solid transparent;
    -webkit-transition: all .1s ease-in-out;
    transition: all .1s ease-in-out;
    white-space: pre-wrap
}

.mega-menu .menu-subcategories .second-category:hover {
    border-color: #666
}

.mega-menu .menu-subcategories .card-columns .card {
    border: 0 !important
}

.mega-menu .menu-subcategories ul {
    padding: 0;
    margin: 0;
    margin-top: 5px
}

.mega-menu .menu-subcategories ul li {
    list-style: none;
    margin-bottom: 2px
}

.mega-menu .menu-subcategories ul li a {
    font-size: 13px;
    line-height: 22px;
    color: #666;
    border-bottom: .0625rem solid transparent
}

.mega-menu .menu-subcategories ul li a:hover {
    border-color: #666
}

.mega-menu .nav-category-image {
    position: relative;
    width: 194px;
    height: 120px;
    overflow: hidden;
    float: left;
    margin-bottom: 11px
}

.mega-menu .nav-category-image:nth-child(odd) {
    margin-right: 11px
}

.mega-menu .nav-category-image img {
    display: block;
    width: 100%;
    position: relative;
    transform: translateY(-10%)
}

.mega-menu .nav-category-image a span {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    font-size: 13px;
    font-weight: 600;
    color: #fff;
    z-index: 999;
    padding: 5px 10px
}

.mega-menu .nav-category-image a::after {
    background: rgba(0, 0, 0, 0) linear-gradient(to bottom, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, .30) 50%, rgba(0, 0, 0, .60) 100%);
    bottom: 0;
    content: "";
    height: 50%;
    opacity: .6;
    position: absolute;
    transition: all .3s ease-in 0;
    width: 100%;
    will-change: opacity;
    display: block
}

.mega-menu .link-view-all {
    font-size: 12px !important
}

.navbar .mega-menu .dropdown-menu-large {
    padding: 0
}

.navbar .mega-menu .dropdown-menu-large .left {
    border-right: 1px solid #eee;
    padding: 15px 0 30px 15px;
    flex: 0 0 28%;
    max-width: 28%
}

.dropdown-menu-large .left .large-menu-item {
    width: 100%;
    display: block;
    float: left;
    font-size: 14px;
    line-height: 24px;
    color: #222
}

.dropdown-menu-large .left .active a {
    background-color: #f2f2f2;
    color: #222
}

.dropdown-menu-large .left .large-menu-item a {
    display: block;
    width: 100%;
    position: relative;
    padding: 8px 20px
}

.dropdown-menu-large .left .large-menu-item a:hover {
    background-color: #f2f2f2;
    color: #222
}

.dropdown-menu-large .left .large-menu-item a i {
    width: 10px;
    height: 26px;
    position: absolute;
    right: 15px;
    top: 0;
    bottom: 0;
    margin: auto
}

.dropdown-menu-large .right {
    flex: 0 0 72%;
    max-width: 72%;
    padding: 15px 15px 30px 20px
}

.dropdown-menu-large .right .large-menu-content {
    display: none;
    width: 100%
}

.dropdown-menu-large .right .active {
    display: block
}

.dropdown-menu-large .right .large-menu-content .item-large-menu-content {
    padding-left: 15px;
    padding-right: 15px;
    line-height: 22px;
    padding-bottom: 5px;
    border: 0 !important
}

.dropdown-menu-large .right .large-menu-content .item-large-menu-content>a {
    line-height: 22px;
    border-bottom: .0625rem solid transparent;
    font-weight: 500
}

.dropdown-menu-large .right .large-menu-content .item-large-menu-content>a:hover {
    border-color: #666
}

.dropdown-menu-large .right .large-menu-content .item-large-menu-content ul {
    padding: 0;
    margin: 0
}

.dropdown-menu-large .right .large-menu-content .item-large-menu-content ul li {
    list-style: none !important
}

.mega-menu-content-no-image .col-category-images {
    display: none !important
}

.mega-menu-content-no-image .col-category-links {
    flex: 0 0 100% !important;
    max-width: 100% !important
}

.mega-menu-content-no-image .card-columns {
    -webkit-column-count: 5;
    column-count: 5
}

.overlay-bg {
    position: fixed;
    width: 100%;
    height: 100%;
    display: none;
    overflow: hidden;
    background-color: rgba(0, 0, 0, .6);
    top: 0;
    left: 0;
    z-index: 99;
    animation-name: fadeIn
}

.mobile-nav-container {
    display: none;
    width: 100%;
    position: relative;
    min-height: 66px;
    z-index: 10010
}

.nav-mobile-header {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 900;
    display: none;
    background-color: #fff;
    box-shadow: 0 1px 1px 0 rgba(0, 0, 0, .08);
    padding: 4px
}

.nav-mobile-header-container {
    width: 100%;
    position: relative;
    overflow: hidden
}

.nav-mobile-header-container .flex-item {
    display: flex;
    align-items: center;
    width: 33.33%;
    height: 58px
}

.nav-mobile-header-container .item-menu-icon a {
    position: relative;
    display: inline-block;
    font-size: 24px;
    line-height: 24px;
    padding: 12px;
    color: #222 !important
}

.nav-mobile-header-container .mobile-logo {
    display: block;
    width: 100%;
    text-align: center
}

.nav-mobile-header-container .mobile-logo .logo {
    max-width: 150px;
    max-height: 52px
}

.nav-mobile-header-container .mobile-logo .logo a {
    width: 100%;
    height: auto;
    display: block
}

.nav-mobile-header-container .a-search-icon {
    position: relative;
    display: inline-block;
    font-size: 22px !important;
    line-height: 24px;
    padding: 12px;
    color: #222 !important;
    cursor: pointer
}

.nav-mobile-header-container .icon-close {
    font-size: 24px !important
}

.nav-mobile-header-container .a-mobile-cart {
    position: relative;
    display: inline-block;
    font-size: 24px !important;
    line-height: 24px;
    padding: 12px 10px;
    color: #222 !important;
    margin-right: 5px
}

.nav-mobile-header-container .a-mobile-cart .notification {
    position: absolute !important;
    display: inline-block;
    font-size: 12px;
    background-color: #f6465d;
    border-radius: 50%;
    top: 4px;
    right: 0;
    height: 18px;
    width: 18px;
    line-height: 18px;
    text-align: center;
    color: #fff;
    font-weight: 600
}

.nav-mobile {
    width: 0;
    height: 100%;
    position: fixed;
    z-index: 9999;
    top: 60px;
    left: 0;
    text-align: center;
    -webkit-transition: all 250ms ease;
    transition: all 250ms ease;
    background-color: #fff;
    overflow-x: hidden
}

.nav-mobile .nav-mobile-sc {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    overflow-y: auto;
    overflow-x: hidden
}

.nav-mobile .nav-mobile-inner {
    display: block;
    position: relative;
    width: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 130px;
    padding: 20px;
    padding-bottom: 100px
}

#navbar_mobile_categories {
    padding-bottom: 0 !important;
    border-bottom: 1px solid rgba(0, 0, 0, .05)
}

.nav-mobile .nav-tabs-mobile-menu {
    border: 0 !important
}

.nav-mobile .nav-tabs-mobile-menu .nav-link {
    border: 0;
    border-radius: 3px;
    width: 50%;
    font-size: 15px;
    font-weight: 600;
    padding: .6rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #222 !important;
    flex-shrink: 0;
    background-color: #fff
}

.nav-mobile .nav-tabs-mobile-menu .active {
    background-color: #f6f7f8;
    color: #111
}

.nav-mobile .tab-content-mobile-menu {
    padding-top: 20px
}

.nav-mobile .mobile-flex-dropdowns, .nav-mobile .mobile-flex-dropdowns .dropdown {
    border: 0 !important;
    list-style: none;
}

.nav-mobile .mobile-flex-dropdowns .dropdown-menu {
    left: -15px !important;
    display: none;
    list-style: none;
}

.mobile-nav-buttons {
    width: 310px;
    display: block;
    position: relative;
    margin-top: 5px;
    margin-bottom: 15px
}

.mobile-nav-buttons .btn-mobile-nav {
    display: inline-block;
    width: 133px;
    padding: 10px 12px;
    font-size: 15px;
    border-radius: 5px
}

.mobile-nav-buttons .btn-mobile-nav i {
    margin-right: 8px;
    opacity: .9
}

.mobile-nav-buttons .btn-mobile-nav-add {
    width: 100%
}

.nav-mobile .navbar-nav {
    float: none !important;
    padding: 0;
    margin: 0;
    display: block;
    position: relative;
    width: 270px;
    padding-bottom: 80px
}

.nav-mobile .navbar-nav .nav-item {
    width: 100%;
    display: block;
    position: relative;
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: left;
    word-break: break-word;
    border-bottom: 1px solid rgba(0, 0, 0, .05)
}

.nav-mobile .navbar-nav .nav-item-hidden {
    display: none
}

.nav-mobile .navbar-nav .nav-item:last-child {
    border-bottom: 0 !important
}

.nav-mobile .navbar-nav .nav-item .nav-link {
    font-size: 15px;
    line-height: 20px;
    padding: 12px 0;
    text-transform: none;
    font-weight: 600;
    display: block;
    width: 100%;
    color: #434343;
    background-color: transparent !important
}

.nav-mobile .navbar-nav .nav-item .nav-link i {
    font-size: 16px;
    line-height: 24px ;
    color: #555
}

.nav-mobile .navbar-nav .nav-item .nav-link .icon-map-marker {
    color: #777 !important;
    position: relative;
    top: -2px
}

.nav-mobile .navbar-nav .open .dropdown-menu>li {
    display: block;
    width: 100% !important;
    position: relative;
    border: 0 !important
}

.nav-mobile .navbar-nav .open .dropdown-menu>li>a {
    color: #222;
    line-height: 22px ;
    font-size: 15px !important;
    padding: 8px 15px !important;
    max-width: 100%;
    width: 100% !important;
    word-break: break-word !important;
    white-space: normal !important
}

#navbar_mobile_back_button i {
    margin-right: 6px
}

.nav-mobile .navbar-mobile-categories .nav-link i {
    float: right
}

.nav-mobile .navbar-nav>.nav-item>.dropdown-menu {
    position: relative !important;
    width: 100%;
    transform: none !important;
    background-color: transparent !important;
    border: 0 !important;
    padding-top: 0;
    margin-left: 0;
    padding-left: 0;
    display: none;
    list-style: none;
}

.nav-mobile .navbar-nav>.nav-item>.dropdown-menu>.dropdown-item {
    color: #222;
    background-color: transparent !important;
    font-size: 15px;
    line-height: 24px
}

.nav-mobile .navbar-nav .dropdown-toggle::after {
    display: none !important
}

.nav-mobile .profile-dropdown {
    display: block;
    width: 100%;
    text-align: left
}

.nav-mobile .profile-dropdown .image-profile-drop {
    display: inline-block;
    font-weight: 600;
    font-size: 16px;
    color: #222 !important;
    position: relative
}

.nav-mobile .profile-dropdown .image-profile-drop img {
    display: inline-block;
    width: 42px;
    height: 42px;
    border-radius: 6px;
    margin-right: 8px
}

.nav-mobile .profile-dropdown .dropdown-menu {
    background-color: transparent !important;
    position: relative !important;
    box-shadow: none !important;
    border: 0 !important;
    left: 34px !important;
    top: -15px !important
}

.nav-mobile .profile-dropdown .dropdown-menu>li {
    border: 0 !important
}

.nav-mobile .profile-dropdown .dropdown-menu>li>a {
    color: #222 !important;
    font-size: 14px !important;
    background-color: transparent !important;
    padding: 8px 15px;
    border: 0 !important
}

.nav-mobile .profile-dropdown .dropdown-menu>li>a>i {
    font-size: 16px !important;
    width: 24px
}

.nav-mobile-open {
    width: 310px
}

.nav-mobile-open .nav-mobile-inner {
    width: 310px
}

.mobile-search-form {
    display: none;
    position: relative !important;
    width: 100%;
    background-color: #fff;
    padding: 5px;
    float: none !important
}

.mobile-search-form .btn-search {
    width: 48px;
    height: 48px;
    top: -5px
}

#navbar_mobile_back_button {
    width: 100%;
    display: block;
    position: relative;
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: left;
    word-break: break-word
}

#navbar_mobile_back_button .nav-link {
    font-size: 15px;
    line-height: 15px;
    padding: 13px 0;
    text-transform: none;
    font-weight: 400;
    display: block;
    width: 100%;
    color: #434343;
    background-color: transparent !important;
    text-align: left;
    border-bottom: 1px solid rgba(0, 0, 0, .05)
}

#navbar_mobile_back_button .nav-link strong {
    font-weight: 600;
    position: relative;
    left: -5px
}

.nav-mobile .btn-logout-mobile {
    color: #222 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    background-color: transparent !important
}

.nav-mobile .btn-logout-mobile:hover {
    background-color: transparent !important
}

.nav-mobile .btn-logout-mobile i {
    font-size: 16px !important
}

#wrapper {
    padding-bottom: 60px;
}

#content {
    width: 100%;
    display: block;
    position: relative;
    float: left
}

.section {
    width: 100%;
    display: block;
    position: relative;
    margin-bottom: 30px;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.section .section-header {
    width: 100%;
    height: 40px;
    display: flex;
    align-items: center;
    position: relative;
    margin-bottom: 15px
}

.section .title {
    font-size: 28px;
    margin-bottom: 15px;
}

.section .title-exp {
    text-align: left;
    margin-bottom: 15px;
    color: #969696;
    font-size: 14px
}

.section .section-header-slider {
    display: flex;
    justify-content: space-between;
    align-items: center
}

.section .section-header-slider .section-slider-nav {
    display: flex
}

.section .section-slider-nav button {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background-color: transparent !important;
    border: 1px solid #ebebeb;
    color: #777;
    font-size: 18px;
    margin-left: 4px
}

.section .section-slider-nav button:hover {
    background-color: var(--vr-color-main) !important;
    color: #fff
}

.page-text-content {
    font-size: 15px;
    line-height: 28px
}

.page-text-content img {
    display: block;
    max-width: 100% !important;
    height: auto !important
}

.section-blog .blog-item {
    width: 100%;
    max-width: 100%;
    display: block;
    float: left;
    outline: none !important
}

.section-blog .blog-post-meta .icon-folder {
    margin-left: 1px
}

.row-product {
    margin-right: -10px;
    margin-left: -10px
}

.col-product {
    padding-right: 10px;
    padding-left: 10px;
    outline: none !important;
    width: calc(100% / 3 - 30px);
    display: inline-block;
}

.slider-container {
    width: 100%;
    height: 600px;
    display: block;
    position: relative;
    overflow: hidden
}

.main-slider {
    border-radius: 0;
    overflow: hidden;
}

.main-slider .item {
    position: relative;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    overflow: hidden
}

.main-slider .item .row-slider-caption {
    position: absolute;
    bottom: 30px;
    left: 30px;
}

.main-slider .item .caption {
    width: 100%;
    height: auto;
    text-align: left
}

.main-slider .item .caption .title {
    font-size: 2.5rem;
    font-weight: 400;
    text-align: left;
    margin-bottom: 1rem;
    word-break: break-word
}

.main-slider .item .caption .description {
    font-size: 18px;
    margin-bottom: 2rem
}

.main-slider-nav {
    position: absolute;
    height: 2.75rem;
    width: 100%;
    max-width: 100%;
    top: 0;
    bottom: 0;
    margin: auto;
    pointer-events: none;
    z-index: 2;
    opacity: 0;
    -webkit-transition: all .24s ease-in-out;
    transition: all .24s ease-in-out
}

.section-slider:hover .main-slider-nav {
    opacity: 1
}

.main-slider-nav .prev, .main-slider-nav .next {
    position: relative;
    height: 2.75rem;
    width: 2.75rem;
    line-height: 2.75rem;
    background-color: #fff;
    font-size: 1.125rem;
    text-align: center;
    opacity: .5;
    z-index: 2;
    border: none !important;
    box-shadow: none !important;
    padding: 0;
    pointer-events: auto;
    border-radius: .125rem;
    -webkit-transition: all .24s ease-in-out;
    transition: all .24s ease-in-out
}

.main-slider-nav .prev {
    float: left;
    margin-left: 5rem
}

.main-slider-nav .next {
    float: right;
    margin-right: 5rem
}

.main-slider-nav .prev i:before, .main-slider-nav .next i:before {
    display: block;
    width: 100% !important;
    height: 2.125rem !important;
    line-height: 2.125rem !important
}

.main-slider-nav .prev:hover, .main-slider-nav .next:hover {
    font-size: 1.5rem;
    opacity: .7
}

.container-boxed-slider .slider-container {
    height: 400px;
    display: block;
    overflow: hidden
}

.container-boxed-slider .main-slider {
    padding: 0 15px
}

.container-boxed-slider .main-slider .item {
    height: 400px
}

.container-boxed-slider .main-slider .item .row-slider-caption {
    height: 400px
}

.container-boxed-slider .main-slider .item .caption {
    width: 500px;
    margin-left: 90px
}

.container-boxed-slider .main-slider .item .caption .title {
    font-size: 38px
}

.container-boxed-slider .main-slider .item .caption .description {
    font-size: 16px
}

.container-boxed-slider .main-slider-nav .prev {
    margin-left: 2.8125rem
}

.container-boxed-slider .main-slider-nav .next {
    margin-right: 2.8125rem
}

.index-mobile-slider {
    display: none
}

.featured-categories .card-columns {
    -webkit-column-gap: 20px;
    column-gap: 20px
}

.featured-categories .card-columns .card {
    position: relative;
    background-color: #fafafa;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    overflow: hidden;
    border-radius: 0 !important;
    height: 200px;
    border: 0 !important;
    margin-bottom: 15px
}

.featured-categories .card-columns .card a {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto
}

.featured-categories .card-columns .card:nth-child(6n-5) {
    height: 380px
}

.featured-categories .card-columns .card:nth-child(6n-4) {
    height: 190px
}

.featured-categories .card-columns .card:nth-child(6n-3) {
    height: 285px
}

.featured-categories .card-columns .card:nth-child(6n-2) {
    height: 285px
}

.featured-categories .card-columns .card:nth-child(6n-1) {
    height: 200px
}

.featured-categories .card-columns .card:nth-child(6n) {
    height: 370px
}

.featured-categories .card .caption {
    width: auto;
    padding: 8px 20px;
    position: absolute;
    bottom: 0;
    background-color: rgba(17, 17, 17, .5)
}

.featured-categories .card .caption span {
    cursor: pointer;
    color: #fff !important;
    font-size: 15px;
    letter-spacing: .01rem
}

.link-see-more {
    line-height: 24px;
    font-weight: 600
}

.link-see-more i {
    display: inline-block;
    position: relative;
    bottom: -1px
}

.section-index-bn .row {
    margin-right: -10px;
    margin-left: -10px
}

.section-category-products .slider-container {
    height: 408px !important;
    display: block;
    width: 100%;
    max-width: 100%;
    position: relative;
    float: left
}

.product-item {
    display: block;
    width: 100%;
    max-width: 100%;
    float: left;
    position: relative;
    margin-bottom: 30px
}

.product-item .img-product-container {
    display: flex;
    width: 100%;
    justify-content: center;
    text-align: center;
    background-color: #f8f8f8;
}

.product-item .img-product {
    display: block;

    width: auto;
    margin: 0 auto;
    object-fit: cover
}

.col-content-products .img-product-container {
    height: 260px
}

.col-content-products .product-item .img-product {
    height: 260px
}

.product-item .item-details {
    padding: 0;
    padding-top: 10px;
    display: block;
    width: 100%;
    float: left;
    position: relative;
    overflow: hidden
}

.product-item-rating {
    float: left;
    display: block;
    width: 100%;
    position: relative
}

.product-item-rating .rating {
    float: left
}

.product-item-rating .item-wishlist {
    float: right;
    font-weight: 400;
    font-size: .875rem;
    line-height: 24px;
    color: #9a9a9a;
    display: none;
}

.product-item-rating .item-wishlist i {
    margin-right: 5px
}

.product-item-horizontal .item-wishlist {
    float: left;
    font-weight: 400;
    font-size: .875rem;
    line-height: 24px;
    color: #9a9a9a;
    margin-left: 15px
}

.product-item .rating i {
    display: inline-block;
    font-size: 15px;
    line-height: 22px
}

.product-item .item-details .product-title {
    font-size: 15pt;
    text-transform: none;
}

.product-item .item-details .product-title a {
    text-decoration: none;
    line-height: 1.5;
    font-size: 1rem;
    font-family: "Montserrat";
    font-weight: 600;
    color: #333;
}

.product-item-horizontal .item-details .product-title a {
    display: block;
    overflow: hidden;
    text-overflow: initial !important;
    white-space: normal !important
}

.product-item-horizontal .btn-profile-option {
    float: left;
    margin-bottom: 5px;
    margin-right: 5px
}

.product-item .item-details .product-user {
    width: 100%;
    margin: 0
}

.product-item .item-details .product-user a {
    color: #888;
    line-height: 24px
}

.product-item .item-meta, .product-item-horizontal .item-meta {
    display: block;
    width: 100%;
    float: left;
    position: relative;
    margin-top: 2px
}

.product-item .item-meta .price, .product-item-horizontal .item-meta .price {
    display: inline-block;
    width: auto;
    position: relative;
    font-size: 14pt;
    font-weight: 700
}

.discount-original-price {
    font-size: 15px;
    font-weight: 700;
    color: #919191;
    position: relative;
    margin-right: 5px
}

.product-item .item-meta .price-free {
    width: auto;
    float: left;
    position: relative;
    font-weight: 600;
    line-height: 1.5rem
}

.product-item .item-meta .price-free, .product-item .item-meta .a-meta-request-quote {
    font-size: 14px
}

.product-item .item-meta .a-meta-request-quote {
    line-height: 1.5rem;
    font-weight: 600;
    float: left
}

.product-item .product-multiple-image .img-second {
    visibility: hidden;
    position: absolute;
    top: 0;
    opacity: 0;
    -webkit-transition: visibility 0 .3s, opacity .3s linear;
    transition: visibility 0 .3s, opacity .3s linear
}

.product-item-options {
    width: auto;
    height: auto;
    position: absolute;
    top: 10px;
    right: 0;
    text-align: center
}

.product-item-options .item-option {
    display: block;
    position: relative;
    right: 10px;
    width: 40px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    background-color: rgba(255, 255, 255, .7);
    color: #222;
    border-radius: 100%;
    font-size: 20px;
    margin-bottom: 10px;
    opacity: 0;
    -webkit-transition: all .2s ease-out;
    transition: all .2s ease-out;
    box-shadow: 0 0 6px 0 rgba(0, 0, 0, .1)
}

.product-item-options .item-option .icon-heart {
    color: #f6465d !important
}

.btn-wishlist .icon-heart {
    color: #f6465d !important
}

.tooltip {
    font-size: 11px !important;
    color: #222
}

.tooltip-inner {
    background-color: #f9f9f9 !important;
    color: #222
}

.tooltip.bs-tooltip-right .arrow:before {
    border-right-color: #f9f9f9 !important
}

.tooltip.bs-tooltip-left .arrow:before {
    border-left-color: #f9f9f9 !important
}

.tooltip.bs-tooltip-bottom .arrow:before {
    border-bottom-color: #f9f9f9 !important
}

.tooltip.bs-tooltip-top .arrow:before {
    border-top-color: #f9f9f9 !important
}

.btn-item-add-to-cart svg {
    width: 28px;
    height: 28px;
    color: #fff
}

.btn-product-cart:disabled {
    opacity: .65 !important
}

.btn-product-cart .btn-cart-icon {
    width: 20px;
    margin-right: 5px;
    display: inline-block;
    text-align: left
}

.btn-product-cart .btn-cart-icon i {
    margin: 0 !important
}

.spinner-border-add-cart {
    width: 1.1rem;
    height: 1.1rem;
    border-width: .14em;
    position: relative
}

.spinner-border-add-cart-list {
    width: 1.4rem;
    height: 1.4rem;
    border: 0.08em solid rgba(0, 0, 0, 0.15);
    border-top: 0.1em solid #000000;

    border-radius: 50%;
    position: relative;
    left: 50%;
    display: inline-block;
    animation: spinner-add-cart 0.6s linear infinite;
}

@keyframes spinner-add-cart {
    0% {
        transform: translateX(-50%) rotate(0deg);
    }

    100% {
        transform: translateX(-50%) rotate(360deg);
    }
}

.product-item-horizontal {
    border-bottom: 1px solid #eee;
    padding-bottom: 20px;
    margin-top: 20px;
    margin-bottom: 0
}

.product-item-horizontal:first-child {
    margin-top: 0
}

.product-item-horizontal:last-child {
    border-bottom: 0
}

.product-item-horizontal .item-image {
    position: relative;
    display: block
}

.product-item-horizontal .item-details .product-title {
    margin-bottom: 5px
}

.product-item-horizontal .item-details .product-title a {
    display: inline-block
}

.product-item-horizontal .item-details .product-user {
    margin-top: 5px;
    margin-bottom: 5px
}

.product-item-horizontal .item-meta {
    margin-top: 15px
}

.product-item-horizontal .item-meta .item-favorites {
    float: left
}

.product-item-horizontal .item-meta .price-product-item-horizontal {
    float: left;
    margin-right: 15px
}

.product-item-horizontal .item-meta .item-comments {
    float: left;
    margin-left: 30px
}

.product-item .badge-promoted {
    position: absolute;
    left: 8px;
    top: 8px;
    font-weight: 400;
    font-size: 12px;
    border-radius: .1rem;
    padding: .3em .6em;
    background-color: #46AF4A
}

.product-item-horizontal .badge-promoted {
    position: relative;
    font-size: 12px;
    font-weight: 400;
    border-radius: .1rem;
    padding: .3em .6em;
    background-color: #46AF4A;
    margin-top: 5px 0;
    top: 0;
    left: 0
}

.product-item-horizontal .item-purchase-code {
    font-weight: 600
}

.product-item-horizontal .item-purchase-code span {
    float: left;
    margin-right: 5px
}

.product-item .badge-discount {
    position: absolute;
    text-align: center;
    top: 8px;
    left: 8px;
    padding: 6px 10px !important;
    border-radius: 2px;
    font-weight: 400;
    font-size: 12px;
    background-color: #f6465d;
    color: #fff
}

.product-details-container {
    display: block;
    position: relative;
    min-height: 540px;
    margin-bottom: 30px
}

.product-slider-container {
    width: 100%;
    max-width: 100%;
    position: relative;
    display: table;
    table-layout: fixed;
    float: left;
    overflow: hidden
}

.product-slider-container .left {
    display: table-cell;
    vertical-align: top;
    position: relative;
    width: 80px;
    padding-right: 5px
}

.product-slider-container .product-slider-content {
    height: 500px;
    overflow: hidden;
    position: relative
}

.product-slider-content {
    direction: ltr !important
}

.product-slider-container .right {
    display: table-cell;
    vertical-align: top;
    position: relative
}

.product-slider {
    position: relative
}

.product-thumbnails-slider .item {
    position: relative;
    outline: none !important;
    overflow: hidden;
    cursor: pointer;
    opacity: .7;
    margin-bottom: 5px;
    border: 1px solid #dbdbdb !important
}

.product-thumbnails-slider .item-inner {
    width: 74px;
    height: 70px;
    position: relative;
    outline: none !important;
    overflow: hidden;
    cursor: pointer;
    border-radius: 1px
}

.product-thumbnails-slider .item .img-thumbnail {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    min-height: 100%;
    min-width: 100%;
    max-height: 100%;
    max-width: 100%;
    margin: 0 auto;
    max-width: none;
    object-fit: cover;
    margin-left: 50%;
    transform: translateX(-50%);
    padding: 0 !important;
    border: 0 !important
}

.product-thumbnails-slider .slick-current {
    opacity: 1;
    border: 1px solid #222 !important
}

.product-slider .img-bg {
    position: relative;
    width: 100%;
    height: auto;
    max-width: 100%;
    display: block
}

.product-slider .img-product-slider {
    position: absolute;
    width: auto !important;
    height: 100% !important;
    z-index: 100;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    margin-left: 50%;
    transform: translateX(-50%)
}

.product-slider-nav {
    position: absolute;
    height: 32px;
    width: 100%;
    max-width: 100%;
    top: 0;
    bottom: 0;
    margin: auto;
    pointer-events: none;
    z-index: 10;
    -webkit-transition: all .24s ease-in-out;
    transition: all .24s ease-in-out
}

.product-slider-nav .prev, .product-slider-nav .next {
    position: relative;
    height: 32px;
    width: 32px;
    line-height: 30px;
    background-color: #fff;
    font-size: 22px;
    text-align: center;
    z-index: 10;
    border: none !important;
    padding: 0;
    opacity: .75;
    pointer-events: auto;
    border-radius: 100%;
    color: #6e6e6e;
    box-shadow: 0 0 10px rgba(0, 0, 0, .1);
    -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, .1);
    -webkit-transition: all .24s ease-in-out;
    transition: all .24s ease-in-out
}

.product-slider-nav .prev {
    float: left;
    margin-left: .9375rem
}

.product-slider-nav .next {
    float: right;
    margin-right: .9375rem
}

.product-slider-nav .prev i:before, .product-slider-nav .next i:before {
    display: block;
    width: 100% !important;
    height: 2.125rem !important;
    line-height: 2.125rem !important
}

.product-slider-nav .prev:hover, .product-slider-nav .next:hover {
    opacity: 1
}

.product-thumbnails-slider-nav {
    opacity: 0
}

.product-thumbnails-slider-nav .prev, .product-thumbnails-slider-nav .next {
    position: relative;
    height: 24px;
    width: 24px;
    line-height: 22px;
    font-size: 22px;
    text-align: center;
    background-color: transparent;
    z-index: 10;
    border: none !important;
    padding: 0;
    pointer-events: auto;
    color: #fff;
    -webkit-transition: all .24s ease-in-out;
    transition: all .24s ease-in-out
}

.product-thumbnails-slider-nav .prev {
    position: absolute;
    top: 10px;
    right: 0;
    left: 0;
    margin: auto
}

.product-thumbnails-slider-nav .next {
    position: absolute;
    bottom: 20px;
    right: 0;
    left: 0;
    margin: auto
}

.product-slider-container .left:hover .product-thumbnails-slider-nav {
    opacity: 1
}

#baguetteBox-overlay {
    background-color: rgba(0, 0, 0, .6) !important
}

.btn-video-preview {
    display: inline-block;
    border-radius: 2px;
    padding: .54rem;
    font-weight: 600;
    margin: 0 15px
}

.btn-video-preview i {
    display: inline-block;
    font-size: 16px;
    width: 44px;
    height: 44px;
    line-height: 44px;
    text-align: center;
    margin-right: 10px;
    color: #555;
    background-color: #f9f9f9;
    border-radius: 50%
}

.modal-product-video .close {
    position: absolute;
    top: -40px;
    right: -6px;
    color: #fff;
    font-size: 30px;
    width: auto !important
}

.modal-product-video {
    width: auto !important;
    min-width: 0 !important
}

.modal-product-video .modal-content {
    background-color: transparent !important
}

.modal-product-video .product-audio-preview {
    padding: 0 !important;
    margin: 0 !important;
    width: auto !important
}

.modal-product-video #single-song-player {
    padding: 0 !important;
    margin: 0 !important
}

.label-instant-download {
    position: relative;
    display: inline-block;
    color: #fff;
    font-size: 14px;
    padding: 6px 12px;
    border-radius: 2px;
    margin-bottom: 10px
}

.label-instant-download i {
    margin-right: 10px
}

.btn-instant-download {
    position: relative;
    display: inline-block;
    color: #fff !important;
    font-size: 14px;
    padding: 6px 12px;
    border-radius: 2px;
    margin-bottom: 10px
}

.product-video-preview {
    width: 100%;
    position: relative;
    float: left;
    display: block;
    margin-bottom: 30px;
    opacity: 0
}

.plyr--video .plyr__control.plyr__tab-focus, .plyr--video .plyr__control:hover, .plyr--video .plyr__control[aria-expanded="true"] {
    background: rgba(0, 0, 0, .9) !important
}

.plyr--full-ui input[type="range"] {
    color: #a19fa4 !important
}

.product-audio-preview {
    width: 100%;
    position: relative;
    float: left;
    display: block;
    padding-bottom: 30px;
    margin-bottom: 30px;
    opacity: 0
}

#single-song-player {
    max-width: 600px !important;
    margin-top: 0 !important;
    position: relative;
    box-shadow: 0 2px 6px 0 rgba(0, 0, 0, .2) !important;
    min-height: 300px
}

#single-song-player img {
    border-radius: .1875rem !important;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    user-select: none
}

.player-control-container {
    width: 100%;
    display: block;
    position: relative;
    text-align: center;
    margin-top: 10px
}

.player-control-container button {
    color: #eee;
    margin-bottom: 5px
}

#single-song-player .control-container .amplitude-play-pause {
    margin: 0 !important
}

#single-song-player progress.amplitude-song-played-progress {
    height: 24px;
    border-radius: 0 0 .1875rem .1875rem !important;
    background-color: #313250 !important
}

#single-song-player progress[value]::-moz-progress-bar {
    background-image: linear-gradient(to right, #02AAB0 0%, #00CDAC 51%, #02AAB0 100%)
}

#single-song-player progress[value]::-webkit-progress-value {
    background-image: linear-gradient(to right, #02AAB0 0%, #00CDAC 51%, #02AAB0 100%)
}

#single-song-player .bottom-container {
    position: absolute;
    bottom: 0;
    width: 100%;
    border-radius: 0 0 .1875rem .1875rem !important;
    overflow: hidden
}

#single-song-player .time-container {
    position: absolute;
    bottom: 0;
    height: 24px;
    line-height: 24px;
    width: 100%;
    pointer-events: none
}

#single-song-player .time-container span {
    font-size: 14px;
    font-weight: 600
}

.product-share {
    position: relative;
    margin-top: 15px
}

.product-share ul {
    width: auto;
    position: relative;
    margin: 0;
    padding: 0;
    float: left;
    text-align: left
}

.product-share ul li {
    list-style: none;
    display: inline-block;
    margin-right: 14px
}

.product-share ul li a {
    text-align: center;
    display: block;
    color: #6e6e6e;
    font-size: 16px
}

.product-share label {
    float: left;
    margin-right: 20px;
    margin-bottom: 0
}

.product-variations {
    margin-bottom: 15px
}

.product-variations .form-group {
    margin-bottom: 5px
}

.product-variations .form-group .control-label, .label-product-variation {
    font-weight: 400;
    margin-bottom: 5px
}

.product-variations .form-group .form-input {
    height: 40px;
    font-size: 14px;
    line-height: 18px;
    padding: 4px 10px;
    border-radius: .125rem;
    border-color: #e4e4e4
}

.custom-control-variation {
    float: left;
    padding: 0;
    margin: 0 10px 15px 0;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    user-select: none
}

.custom-control-variation .custom-control-label {
    border: 2px solid #e4e4e4;
    color: #444 !important;
    border-radius: .1875rem;
    padding: .438rem .58rem;
    float: left;
    min-width: 20px;
    min-height: 20px;
    line-height: 18px;
    text-align: center;
    position: relative
}

.custom-control-variation .custom-control-label-image {
    overflow: hidden;
    border: 2px solid #e4e4e4;
    padding: 3px
}

.custom-control-variation .custom-control-label-image .img-cnt {
    display: block;
    width: 56px;
    height: 56px;
    overflow: hidden
}

.custom-control-variation .label-variation-color {
    display: block;
    position: relative;
    padding: 2px !important
}

.custom-control-variation .label-variation-color span {
    display: block;
    width: 31px;
    height: 31px;
    border: 1px solid #eee
}

.custom-control-variation .option-out-of-stock {
    opacity: .7 !important;
    color: #919191 !important;
    text-decoration: line-through
}

.product-variation-checkbox .option-out-of-stock {
    pointer-events: none !important
}

.custom-control-variation .custom-control-label-image .img-variation-option {
    display: block;
    width: auto;
    height: auto;
    min-width: 100%;
    min-height: 100%;
    max-width: 120%;
    max-height: 120%;
    object-fit: cover;
    margin-left: 50%;
    transform: translateX(-50%)
}

.custom-control-variation .custom-control-label:before, .custom-control-variation .custom-control-label:after {
    display: none
}

.row-product-variation {
    margin-right: -5px;
    margin-left: -5px
}

.col-product-variation {
    padding-right: 5px;
    padding-left: 5px
}

.form-control.is-valid, .was-validated .form-control:valid {
    background-image: none !important
}

.product-description {
    width: 100%;
    position: relative;
    display: block;
    float: left;
}

.nav-tabs-horizontal {
    border-bottom: 1px solid #e4e4e4
}

.nav-tabs-horizontal .nav-item .nav-link {
    padding: .6rem 2.4rem;
    background-color: #f9f9f9;
    margin-right: 5px;
    border: 1px solid rgba(0, 0, 0, .06) !important;
    border-bottom: 0 !important;
    border-radius: 1px 1px 0 0
}

.nav-tabs-horizontal .nav-item .active {
    background-color: #fff
}

.product-description .tab-content .card-header {
    width: 100%;
    display: block;
    padding: 0;
    border-radius: 0;
    background-color: #f9f9f9;
    border: 1px solid rgba(0, 0, 0, .08) !important;
    border-bottom-width: 2px
}

.product-description .tab-content .card {
    width: 100%;
    float: left;
    border: 0 !important
}

.product-description .tab-content .card .card-header {
    width: 100%;
    float: left;
    margin-bottom: 15px;
    display: none
}

.product-description .tab-content .card-header .card-link {
    display: block;
    width: 100%;
    padding: .7rem 1rem
}

.product-description .tab-content .card-header .card-link i {
    float: right;
    font-size: 18px;
    color: #777
}

.product-description .tab-content .card-header .card-link .icon-arrow-down {
    display: none
}

.product-description .tab-content .card-header .card-link .icon-arrow-up {
    display: block
}

.product-description .tab-content .card-header .collapsed .icon-arrow-up {
    display: none
}

.product-description .tab-content .card-header .collapsed .icon-arrow-down {
    display: block
}

.product-description .tab-content {
    width: 100%;
    position: relative;
    float: left
}

.product-description .tab-content .tab-pane {
    width: 100%;
    position: relative;
    float: left;
    padding-top: 45px
}

.product-description .description {
    width: 100%;
    position: relative;
    display: block;
    float: left;
    overflow-wrap: break-word;
    font-size: 14px;
    line-height: 26px;
    padding-bottom: 30px
}

.product-description .description img {
    max-width: 100% !important;
    height: auto !important
}

.product-description .description p {
    overflow-wrap: break-word
}

.table-product-specification .td-left {
    width: 40%;
    font-weight: 600
}

.table-product-specification .td-right {
    width: 60%
}

.table-product-shipping td, .table-product-shipping th {
    border: 1px solid rgba(0, 0, 0, .04);
    padding-left: 20px
}

.table-product-shipping .td-left {
    width: 30%;
    font-weight: 600;
    background-color: rgba(0, 0, 0, .02)
}

.table-product-shipping .td-right {
    width: 70%
}

.product-shipping-methods {
    display: block;
    float: left
}

.product-shipping-methods p {
    margin-bottom: 10px;
    min-height: 22px
}

.product-shipping-methods p strong {
    font-weight: 600
}

.product-shipping-methods p .method-name {
    display: inline-block;
    min-width: 100px
}

.product-shipping-loader {
    display: none;
    min-height: 22px;
    margin-bottom: 10px
}

.product-shipping-loader .spinner {
    float: left;
    margin-top: 0;
    padding-top: 0;
    margin-bottom: 0;
    padding-bottom: 0
}

.product-shipping-loader .spinner>div {
    background-color: #aaa
}

.product-location-map {
    width: 100%;
    height: 380px;
    display: block;
    position: relative;
    margin-top: 30px
}

.product-location-map iframe {
    width: 100%;
    height: 380px !important;
    display: block;
    position: relative
}

.reviews-container {
    display: block;
    width: 100%;
    position: relative
}

.reviews-container .list-reviews .media {
    margin-bottom: 30px;
    padding-bottom: 30px;
    border-bottom: 1px solid rgba(0, 0, 0, .08)
}

.reviews-container .list-reviews .media .rating {
    margin-bottom: 5px
}

.reviews-container .list-reviews .media .rating i {
    font-size: 16px;
    line-height: 16px
}

.reviews-container .list-reviews .media img {
    margin-right: 20px
}

.reviews-container .list-reviews .username {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 5px
}

.reviews-container .list-reviews .review {
    color: #555;
    margin-bottom: 2px
}

.reviews-container .list-reviews .media .date {
    font-size: 12px;
    color: #999
}

.reviews-container .list-reviews a {
    display: inline-block
}

.reviews-container .list-reviews .media:last-child {
    border: 0 !important
}

.reviews-container .list-reviews .media img {
    width: 58px;
    height: 58px;
    border-radius: 50%
}

.reviews-container .review-total {
    display: flex;
    align-items: center;
    width: 100%;
    margin-bottom: 30px
}

.reviews-container .review-total .label-review {
    font-weight: 600;
    font-size: 15px;
    margin-bottom: 0
}

.reviews-container .review-total .rating {
    margin-left: 10px
}

.rate-product {
    border: none;
    display: block;
    width: 100%;
    float: left;
    position: relative;
    margin-bottom: 10px
}

.rate-product span {
    float: left;
    margin-right: 15px;
    line-height: 30px
}

.rate-product .p-rate-product {
    float: left;
    display: block;
    width: 100%;
    margin-bottom: 0;
    font-weight: 600
}

.rate-product .rating-stars {
    float: left;
    height: 30px;
    line-height: 30px
}

.rate-product input {
    display: none
}

.rate-product label {
    color: #ddd;
    float: right;
    margin-bottom: 0 !important;
    font-size: 22px;
    cursor: pointer
}

.rate-product label i {
    margin-right: 4px
}

.rate-product .icon-star {
    color: #fbc12a
}

.rate-product input:checked~label, .rate-product:not(:checked) label:hover, .rate-product:not(:checked) label:hover~label {
    color: #fbc12a
}

.rate-product input:checked+label:hover, .rate-product input:checked~label:hover, .rate-product label:hover~input:checked~label, .rate-product input:checked~label:hover~label {
    color: #FFD700
}

.reviews-container .invalid-rating label {
    color: #dc3545
}

.comments {
    float: left;
    display: block;
    width: 100%
}

.col-comments-inner {
    float: left;
    display: block;
    width: 100%;
    padding-left: 30px;
    border-left: 1px solid rgba(0, 0, 0, .08)
}

.comments .comment-list {
    padding: 0;
    margin: 0;
    float: left;
    display: block;
    width: 100%
}

.comments .comment-list li {
    width: 100%;
    list-style: none;
    display: table;
    margin-bottom: 10px
}

.comments .comment-list li .left {
    display: table-cell;
    width: 65px;
    height: auto;
    vertical-align: top;
    text-align: left
}

.comments .comment-list li .left img {
    width: 50px;
    height: 50px;
    border-radius: 50%
}

.comments .comment-list li .right {
    display: table-cell;
    vertical-align: top
}

.comments .comment-list li .right .row-custom {
    margin-bottom: 5px
}

.comments .comment-list li .right .username {
    font-weight: 600;
    float: left;
    display: block;
    margin-bottom: 0 !important
}

.comments .comment-list li .right .username a {
    font-size: .875rem !important
}

.comments .comment-list li .right a {
    font-size: 12px
}

.comments .comment-list li .right .date {
    font-size: 12px;
    color: #999
}

.comments .comment-list li .right .btn-reply {
    margin-left: 15px;
    color: #999 !important
}

.comments-container .row-comment-label {
    margin-bottom: 30px
}

.comments-container .label-comment {
    font-size: 14px;
    font-weight: 600;
    display: block;
    float: left;
    margin-right: 10px;
    margin-bottom: 0;
    line-height: 25px
}

.message-comment-result {
    margin: 0;
    margin-top: 10px;
    min-height: 22px
}

.row-sub-comment {
    margin: 0 !important;
    padding: 0 !important;
    margin-top: 10px !important
}

.row-sub-comment form {
    margin-bottom: 15px
}

.row-sub-comment .form-group {
    margin-bottom: 10px
}

.row-sub-comment .form-textarea {
    min-height: 60px
}

.row-sub-comment .comment-list li {
    margin-bottom: 15px !important
}

.no-comments-found {
    color: #888
}

.modal-send-message .modal-header {
    padding-bottom: 0;
    border: 0 !important
}

.modal-send-message .modal-footer {
    border: 0 !important;
    padding-top: 0
}

.modal-send-message .modal-content {
    padding: 10px
}

.modal-send-message .modal-header .title {
    width: 100%;
    display: block;
    font-size: 24px;
    font-weight: 600;
    text-align: center;
    margin-bottom: 10px
}

.modal-send-message .modal-header .close {
    position: absolute;
    top: 15px;
    right: 15px
}

.modal-send-message .modal-content .form-textarea {
    min-height: 100px;
    resize: none;
    padding: 12px 15px
}

.modal-send-message .user-contact-modal {
    display: table
}

.modal-send-message .left {
    display: table-cell;
    vertical-align: top;
    padding-right: 10px
}

.modal-send-message .user-contact-modal .right {
    display: table-cell;
    vertical-align: top
}

.modal-send-message .user-contact-modal img {
    width: 80px;
    height: 80px;
    border-radius: 4px;
    float: left
}

.modal-send-message .user-contact-modal .right strong {
    float: left;
    display: block;
    width: 100%;
    margin-bottom: 10px
}

.modal-send-message .user-contact-modal .right p {
    float: left;
    display: block;
    width: 100%;
    color: #555;
    margin-bottom: 5px
}

.modal-send-message .user-contact-modal .right .info a {
    color: #555 !important
}

.modal-send-message .user-contact-modal .right .info i {
    margin-right: 8px !important
}

.modal-send-message .success-message, .modal-send-message .error-message {
    text-align: center
}

.product-content-details {
    width: 100%;
    height: 100%;
    display: block;
    float: left;
    position: relative
}

.product-content-details .product-title {
    margin-top: 0;
    margin-bottom: 10px;
    font-size: 24px;
    line-height: 32px;
    font-weight: 600
}

.product-content-details .badge-product-status {
    padding: .6em 1.2em;
    font-size: 12px;
    color: #fff;
    font-weight: 600;
    border-radius: .1875rem
}

.product-content-details .meta {
    margin-bottom: 15px
}

.product-content-details .meta .product-details-user {
    float: left;
    font-size: .875rem;
    line-height: 18px
}

.product-content-details .meta .product-details-user a {
    font-size: .875rem;
    line-height: 18px;
    color: #4f4f4f;
    font-weight: 600
}

.product-content-details .meta span {
    font-size: 13px;
    line-height: 18px;
    color: #9a9a9a;
    float: right;
    margin-left: 15px
}

.product-content-details .meta span i {
    margin-right: 5px
}

.product-content-details .meta span .icon-comment {
    font-size: 12px
}

.product-content-details .product-details-review {
    display: inline-block;
}

.product-content-details .product-details-review .rating {
    height: 20px;
    line-height: 20px;
    float: left
}

.product-content-details .product-details-review span {
    margin-left: 5px
}

.product-content-details .product-details-review .rating i {
    font-size: 16px;
    line-height: 16px
}

.product-content-details .price {
    margin-bottom: 15px;
    min-height: 36px
}

.product-content-details .price .lbl-price {
    position: relative;
    display: block;
    float: left;
    font-size: 24px;
    line-height: 30px
}

.product-content-details .price .price-line {
    display: block;
    height: 1px;
    width: 100%;
    background-color: #9a9a9a;
    position: absolute;
    top: 2px;
    bottom: 0;
    left: 0;
    margin: auto
}

.product-content-details .price .discount-original-price {
    font-size: 22px;
    line-height: 30px;
    font-weight: 600
}

.product-content-details .price .discount-rate {
    display: block;
    float: left;
    width: auto;
    height: auto;
    color: #fff;
    font-size: 13px;
    line-height: 13px;
    font-weight: 400;
    background-color: #f6465d;
    padding: 6px 10px;
    margin-left: 10px;
    margin-top: 2px;
    border-radius: 1px
}

.product-content-details .lbl-sold {
    position: relative;
    display: block;
    float: left;
    font-size: 24px;
    line-height: 30px
}

.product-content-details .lbl-price-sold {
    position: relative;
    display: block;
    float: left;
    font-size: 24px;
    line-height: 30px;
    color: #919191;
    margin-right: 10px;
    font-weight: 600
}

.product-content-details .lbl-free {
    color: #444;
    font-weight: 700
}

.product-content-details .details {
    margin-bottom: 12px
}

.product-content-details .details .item-details {
    width: 100%;
    display: table;
    float: left;
    margin-bottom: 8px
}

.product-content-details .details .item-details .left {
    display: table-cell;
    vertical-align: top;
    width: 120px;
    text-align: left
}

.product-content-details .details .item-details .right {
    display: table-cell;
    vertical-align: top;
    text-align: left
}

.product-content-details .details label {
    float: left;
    min-width: 120px;
    margin-bottom: 0
}

.product-content-details .details span {
    float: left
}

.product-add-to-cart-container .number-spinner {
    width: 122px;
    margin-right: 15px;
    float: left;
    position: relative;
    margin-bottom: 10px
}

.product-add-to-cart-container .button-container {
    min-width: 218px;
    margin-right: 15px;
    float: left;
    position: relative;
    line-height: 44px;
    margin-bottom: 10px;
    white-space: nowrap;
    display: flex;
}

.product-add-to-cart-container .button-container-wishlist {
    width: auto !important;
    min-width: 0 !important
}

.btn-wishlist {
    display: inline-block;
    text-align: left;
    color: #4e4e4e;
    border-radius: .1875rem;
    line-height: 44px !important
}

.btn-wishlist i {
    color: #4e4e4e;
    font-size: 26px;
    margin-right: 8px
}

.btn-wishlist span {
    position: relative;
    display: inline-block;
    top: -5px
}

.product-add-to-cart-container .button-container:last-child {
    margin-right: 0
}

.product-add-to-cart-container .button-container a {
    line-height: 1.5
}

.btn-live-preview {
    padding: .656rem 1.5rem;
    border-radius: .1875rem;
    width: 100%;
    border: 1px solid #e4e4e4;
    background-color: transparent !important
}

.product-already-purchased {
    display: flex;
    align-items: center;
    color: #7fb13d !important
}

.product-already-purchased button, .product-already-purchased a {
    font-weight: 700;
    color: #7fb13d !important;
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding-left: 0 !important
}

.product-already-purchased button:hover, .product-already-purchased button:focus, .product-already-purchased button:active, .product-already-purchased a:hover, .product-already-purchased a:focus, .product-already-purchased a:active {
    color: #4D7F0B !important
}

.product-already-purchased svg {
    flex-shrink: 0 !important
}

.number-spinner {
    width: 122px;
    height: 44px;
    border: 1px solid #e4e4e4;
    border-radius: .1875rem
}

.number-spinner input {
    height: 42px;
    line-height: 18px;
    padding: 12px 8px !important;
    border: 0 !important
}

.number-spinner button {
    width: 36px;
    font-size: 18px;
    border-radius: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center
}

.number-spinner .btn-spinner-minus {
    border-right: 1px solid #e4e4e4
}

.number-spinner .btn-spinner-plus {
    border-left: 1px solid #e4e4e4
}

.section-related-products {
    margin-bottom: 45px !important
}

.section-related-products .title {
    font-size: 20px;
    margin-bottom: 20px;
    text-align: left
}

.label-instant-download {
    background-color: rgba(34, 34, 34, .6)
}

.btn-instant-download {
    padding: 6px 20px;
    background-color: #1abc9c
}

.btn-instant-download:hover {
    background-position: right center
}

.product-details-message {
    margin: 0 !important
}

.product-details-message p {
    font-size: 13px;
    list-style: none !important;
    margin: 0 !important
}

.membership-plans-container {
    max-height: 400px;
    overflow-y: auto
}

.membership-plans-container .feature {
    position: relative
}

.membership-plans-container .feature .btn-danger {
    font-size: 10px;
    padding: 1px 4px
}

.input-group .input-group-addon {
    background-color: #eee;
    border-radius: 3px 0 0 3px
}

.modal-pricing-table .modal-dialog {
    width: 720px !important
}

.modal-pricing-table .modal-header {
    padding: 15px;
    border: 0 !important
}

.modal-pricing-table .modal-header .modal-title {
    font-weight: 500;
    font-size: 20px;
    text-align: center
}

.modal-pricing-table .modal-content {
    background-color: #F8F9FA !important;
    padding: 20px
}

.price-box-container {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    position: relative;
    float: left;
    text-align: center;
    margin-bottom: 100px;
    margin-top: 30px;
    justify-content: center
}

.price-box-container .price-box {
    flex: 0 0 310px;
    max-width: 310px;
    width: 310px;
    padding: 40px 30px;
    background-color: #fff;
    box-shadow: 0 5px 14px 0 #e9eef1;
    border: 1px solid #f0f0f0;
    border-radius: 6px;
    border-top: 3px solid transparent;
    margin-left: 20px;
    margin-bottom: 20px;
    position: relative
}

.modal-pricing-table .price-box {
    width: 100%
}

.modal-pricing-table .selected-plan {
    border-top: 3px solid #e45267
}

.price-box .pricing-name .name {
    font-size: 24px;
    font-weight: 500
}

.price-box .plan-price {
    margin: 45px 0
}

.price-box .plan-price .price {
    font-size: 40px;
    color: #f6576e
}

.price-box .plan-price .time {
    font-size: 14px
}

.price-features {
    padding-bottom: 90px;
    min-height: 130px
}

.price-features p {
    font-size: 14px;
    line-height: 22px;
    text-align: center
}

.price-features p svg {
    font-size: 22px;
    position: relative;
    top: 5px;
    right: -2px;
    color: #414456
}

.btn-plan-pricing-container {
    position: absolute;
    bottom: 45px;
    left: 0;
    right: 0;
    margin: 0 auto
}

.ribbon {
    width: 115px;
    height: 115px;
    overflow: hidden;
    position: absolute
}

.ribbon::before, .ribbon::after {
    position: absolute;
    z-index: -1;
    content: "";
    display: block;
    border: 5px solid #19bb9b
}

.ribbon span {
    position: absolute;
    display: block;
    width: 190px;
    padding: 6px 0;
    background-color: #19bb9b;
    color: #fff;
    text-align: center;
    font-size: 13px;
    font-weight: 600
}

.ribbon-top-right {
    top: -3px;
    right: 0
}

.ribbon-top-right::before, .ribbon-top-right::after {
    border-top-color: transparent;
    border-right-color: transparent
}

.ribbon-top-right::before {
    top: 0;
    left: 0
}

.ribbon-top-right::after {
    bottom: 0;
    right: 0
}

.ribbon-top-right span {
    left: -20px;
    top: 25px;
    transform: rotate(45deg)
}

.btn-pricing-table-disabled {
    opacity: .5 !important
}

.container-pricing-plan {
    display: none;
    text-align: right;
    font-size: 14px;
    margin-top: 20px
}

.container-pricing-plan label {
    width: 100%;
    display: block;
    text-align: right;
    min-height: 24px
}

.container-pricing-plan .price-input {
    width: 300px;
    display: inline-block
}

.warning-pricing-table-plan {
    display: block;
    width: 100%;
    padding: 0 4px;
    min-height: 40px;
    font-size: 11px;
    line-height: 14px;
    position: absolute;
    bottom: -45px;
    text-align: center
}

.title-start-selling-box {
    font-size: 16px !important
}

.input-group-text {
    border-radius: .1875rem 0 0 .1875rem !important
}

.calculated-price {
    line-height: 32px;
    margin: 0
}

.calculated-price strong {
    font-weight: 600 !important;
    display: inline-block;
    min-width: 150px
}

.calculated-price i {
    font-weight: 700 !important
}

.earned-price {
    font-style: normal !important
}

.img-profile-cover {
    display: block;
    position: relative;
    width: 100%;
    height: 400px;
    object-fit: cover
}

.profile-page-top {
    width: 100%;
    display: block;
    position: relative;
    float: left;
    margin-bottom: 45px
}

.profile-details {
    width: 100%;
    display: table;
    position: relative;
    float: left
}

.profile-details .left {
    display: table-cell;
    vertical-align: top;
    text-align: left;
    width: 180px;
    padding-right: 30px
}

.profile-details .right {
    display: table-cell;
    vertical-align: top
}

.profile-details .img-profile {
    width: 180px;
    height: 180px;
    border-radius: .1875rem
}

.profile-details .p-last-seen {
    margin: 0;
    text-align: left;
    margin-bottom: 8px;
    color: #888
}

.edit-profile-cover {
    display: block;
    width: 100%;
    height: 240px;
    position: relative;
    margin-bottom: 45px;
    background-size: cover;
    background-position: center center;
    background-color: #fbfbfb;
    border: 1px solid #ebebeb
}

.edit-profile-cover .edit-avatar {
    position: absolute;
    bottom: -40px;
    left: 15px;
    border-radius: 50%
}

.edit-profile-cover .edit-avatar img {
    border-radius: 50%;
    width: 180px;
    height: 180px;
    object-fit: cover
}

.edit-profile-cover .btn-container {
    position: absolute;
    top: 10px;
    right: 10px
}

.edit-profile-cover .btn-edit-cover {
    border-radius: 0;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    margin: 0 !important;
    margin-bottom: 5px !important;
    border-radius: 2px
}

.edit-profile-cover .edit-avatar .btn {
    border-radius: 50%;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    bottom: 0;
    right: 15px;
    padding: 0 !important;
    margin: 0 !important
}

.edit-profile-cover .btn:hover {
    opacity: 1 !important
}

.last-seen {
    font-size: 12px;
    color: #888
}

.last-seen i {
    width: 10px;
    height: 10px;
    margin-right: 5px;
    color: #CFCFCF
}

.last-seen-online i {
    color: #85cc84
}

.row-profile-username {
    line-height: 23px;
    margin-bottom: 5px
}

.profile-details .username {
    font-size: 26px;
    line-height: 26px;
    font-weight: 600;
    margin: 0 !important;
    width: auto;
    float: left
}

.icon-verified-member {
    float: left;
    color: #09b1ba;
    font-size: 24px;
    line-height: 26px;
    margin-left: 5px
}

.profile-rating {
    float: left;
    height: 20px;
    line-height: 20px
}

.profile-rating .rating {
    float: left;
    position: relative
}

.profile-rating span {
    line-height: 20px;
    color: #595959;
    position: relative
}

.profile-details .description {
    line-height: 24px;
    color: #555;
    margin-bottom: 8px
}

.profile-details .user-contact {
    margin-bottom: 8px
}

.profile-details .user-contact .info {
    color: #777;
    margin-right: 15px;
    padding-right: 15px;
    border-right: 1px solid #E1E3DF
}

.profile-details .user-contact a {
    color: #777
}

.profile-details .user-contact .info:last-child {
    border: 0
}

.profile-details .user-contact .info i {
    margin-right: 10px
}

#confirmation-result-profile div {
    margin: 0 !important
}

.shipping-address-box {
    width: 100%;
    height: 100%;
    background-color: #fbfbfb;
    border: 1px solid #f7f7f7;
    border-bottom: 2px solid #eee;
    border-radius: 6px;
    padding: 30px;
    position: relative
}

.shipping-address-box .badge-shipping-address {
    display: inline-flex;
    align-items: center;
    border-radius: 2px;
    padding: .24rem .56rem;
    font-size: 11px;
    font-weight: 400
}

.shipping-address-box strong {
    display: block;
    margin-bottom: 10px
}

.shipping-address-box p {
    margin-bottom: 5px
}

.shipping-address-box p a {
    float: right
}

.shipping-address-box p .btn-edit {
    margin-right: 5px
}

.shipping-address-box .add-new {
    text-align: center
}

.shipping-address-box .add-new i {
    display: block
}

.shipping-address-box-cart .custom-control-label {
    display: block;
    width: 100%;
    padding-left: 5px;
    position: relative
}

.profile-actions-shipping {
    display: flex;
    position: absolute !important;
    padding: 0 !important;
    bottom: 30px;
    right: 30px
}

.profile-actions-shipping a {
    display: flex;
    align-items: center;
    font-size: 16px;
    font-weight: 600;
    padding: 5px
}

.profile-actions-shipping a:hover {
    color: var(--vr-color-main) !important
}

.text-shipping-address {
    font-weight: 600;
    font-size: 15px;
    line-height: 22px
}

.cart-shipping-loader {
    text-align: left;
    margin-top: 45px;
    margin-bottom: 45px;
    float: left;
    display: none
}

.cart-shipping-loader .spinner {
    float: left
}

.cart-shipping-loader .spinner>div {
    background-color: #aaa
}

.dropdown-item.active, .dropdown-item:active, .dropdown-item:hover, .dropdown-item:focus {
    color: #777 !important;
    text-decoration: none;
    background-color: #f5f5f5 !important
}

.profile-buttons {
    margin-top: 15px;
    text-align: right;
    line-height: 34px
}

.profile-buttons .buttons {
    float: left;
    margin-right: 30px
}

.profile-buttons .buttons button {
    margin: 0;
    margin-right: 10px
}

.profile-buttons .social {
    float: left
}

.profile-buttons .social label {
    float: left;
    margin: 0;
    margin-right: 10px;
    font-weight: 700
}

.profile-buttons .social ul {
    float: left;
    margin: 0;
    padding: 0
}

.profile-buttons .social ul li {
    display: inline-block;
    margin-right: 5px
}

.profile-buttons .social ul li:first-child {
    margin-left: 0
}

.profile-buttons .social ul li a {
    display: block;
    width: 36px;
    height: 36px;
    line-height: 32px;
    text-align: center;
    color: #777;
    font-size: 16px;
    border: 1px solid #e4e4e4;
    border-radius: 100%
}

.profile-buttons .social ul li a:hover {
    color: #fff
}

.profile-tabs .nav .nav-item {
    width: 100%;
    text-align: left;
    margin-bottom: 2px
}

.profile-tabs .nav .nav-item .nav-link {
    padding: 12px;
    border-radius: 2px;
    color: #222
}

.profile-tabs .nav .nav-item .nav-link i {
    margin-right: 8px
}

.profile-tabs .nav .nav-item .nav-link .count {
    float: right
}

.profile-tabs .nav .nav-link:hover {
    background-color: #f2f2f2
}

.profile-tabs .nav .active .nav-link {
    background-color: #f2f2f2
}

.nav-tabs-profile {
    margin-bottom: 45px
}

.nav-tabs-profile .count {
    margin-left: 5px;
    color: #777
}

.link-abuse-report {
    font-size: 13px;
    text-decoration: underline !important
}

.modal-report-abuse .modal-title {
    color: #222 !important
}

.modal-report-abuse .form-group label {
    color: #222 !important;
    font-weight: 600 !important
}

.modal-report-abuse textarea {
    box-shadow: none !important
}

.profile-tab-content {
    min-height: 340px
}

.profile-tab-content .select2 .select2-selection {
    padding: 10px 16px !important;
    height: 46px !important
}

.profile-tab-content .select2 .select2-selection__rendered {
    padding-left: 4px !important
}

.profile-search input {
    background-color: #fafafa !important;
    border: 1px solid #eaeaea !important;
    color: #555;
    height: 40px
}

.profile-search button {
    position: absolute;
    top: 1px;
    right: 0;
    background-color: transparent !important;
    border: 0 !important;
    color: #888;
    font-size: 16px
}

.profile-search button i {
    margin-right: 0 !important
}

.edit-profile-cover-image .icon-image {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 54px;
    height: 54px;
    text-align: center;
    color: #dcdcdc;
    font-size: 52px;
    line-height: 52px
}

.follower-item {
    display: block;
    width: 100%;
    float: left;
    position: relative;
    margin-bottom: 30px
}

.follower-item .img-profile {
    display: block;
    width: 100%;
    float: left;
    position: relative;
    border-radius: 100%
}

.follower-item .username {
    display: block;
    width: 100%;
    float: left;
    position: relative;
    text-align: center;
    font-weight: 600;
    margin-top: 5px;
    word-wrap: break-word
}

.btn-group-download .dropdown-item:active {
    color: #222 !important;
    text-decoration: none !important;
    background-color: #f8f9fa !important
}

.btn-group-download .btn-custom:after {
    display: none !important
}

.btn-group-download .dropdown-menu {
    margin-top: 0 !important;
    border-radius: 0 0 2px 2px !important
}

.btn-group-download-digital .dropdown-menu button {
    color: #222 !important
}

.filter-profile-categories .active {
    font-weight: 600 !important
}

.profile-tab-content .filter-reset-tag-container {
    display: inline-block !important;
    width: auto !important
}

.chat {
    width: 100%;
    color: #273244;
    transition: box-shadow 300ms cubic-bezier(.4, 0, .2, 1) 0;
    border-radius: 7px;
    box-shadow: rgba(145, 158, 171, .3) 0 0 2px 0, rgba(145, 158, 171, .12) 0 12px 24px -4px;
    overflow: hidden;
    margin: 0 !important;
    margin-bottom: 100px !important
}

.chat-left {
    flex: 0 0 auto;
    width: 320px;
    padding: 0 !important
}

.chat-right {
    flex-grow: 1;
    padding: 0 !important
}

.chat-left-inner {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    color: #273244;
    transition: box-shadow 300ms cubic-bezier(.4, 0, .2, 1) 0;
    top: 0;
    outline: 0;
    left: 0;
    border-right: 1px solid #e5eaef;
    border-color: #e5eaef
}

.chat .chat-user {
    display: flex;
    align-items: center;
    padding: 24px
}

.chat .chat-user .flex-item {
    position: relative;
    font-size: 14px;
    font-weight: 600
}

.chat .chat-user .user-img {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    overflow: hidden;
    position: relative;
    margin-right: 10px
}

.chat .chat-user .user-img img {
    width: 54px;
    height: 54px;
    border-radius: 50%
}

.chat .chat-badge-online {
    display: block;
    width: 12px;
    height: 12px;
    background-color: #85cc84;
    border-radius: 50%
}

.chat .chat-user .chat-badge-online {
    position: absolute;
    right: 10px;
    bottom: 5px
}

.chat-left .chat-search {
    padding: 8px 24px;
    border-radius: 7px;
    position: relative
}

.chat-left .chat-search input {
    padding: 8px 14px;
    border-radius: 6px;
    height: 38px;
    color: #273244;
    border-color: #dee4ee
}

.chat-left .chat-search i {
    position: absolute;
    right: 10px;
    top: 8px;
    color: #273244;
    pointer-events: none
}

.chat-left .text-recent-chats {
    padding: 8px 24px;
    font-size: 13px
}

.chat-left .chat-contacts-container {
    position: relative;
    height: 500px;
    overflow-x: hidden
}

.chat-left .chat-contacts {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0
}

.chat-left .chat-contacts .item {
    max-width: 100%;
    overflow: hidden
}

.chat-left .chat-contacts .item .chat-contact {
    padding: 8px 24px;
    display: flex;
    user-select: none;
    justify-content: flex-start;
    align-items: start;
    cursor: pointer;
    margin-bottom: 4px
}

.chat-left .chat-contacts .item .chat-contact:hover {
    background-color: #F4F7FA
}

.chat-left .chat-contacts .item .chat-contact.active {
    background-color: #F4F7FA
}

.chat-left .chat-contacts .item .flex-item {
    position: relative;
    flex-shrink: 0
}

.chat-left .chat-contacts .item .flex-item-center {
    flex: 1 1 auto;
    min-width: 0
}

.chat-left .chat-contacts .item .item-img {
    width: 48px;
    height: 48px;
    margin-right: 15px;
    overflow: hidden
}

.chat-left .chat-contacts .item img {
    width: 48px;
    height: 48px;
    border-radius: 50%
}

.chat-left .chat-contacts .item .username {
    font-size: 14px;
    color: #273244;
    margin-bottom: 5px;
    font-weight: 600
}

.chat-left .chat-contacts .item .subject {
    font-size: 12px;
    color: #273244;
    margin-bottom: 0;
    font-weight: 400;
    letter-spacing: 0;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden
}

.chat-left .chat-contacts .item .time {
    color: #758092;
    font-size: 10px;
    letter-spacing: 0
}

.chat-left .chat-contacts .item .badge {
    padding: .4em .6em;
    margin-bottom: 0;
    min-width: 22px;
    min-height: 22px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%
}

.chat-left .chat-contacts .item .active .badge {
    display: none
}

.chat-right .chat-header {
    display: block;
    padding: 24px;
    border-bottom: 1px solid #e5eaef
}

.chat-right .chat-header .chat-user {
    align-items: center;
    padding: 0
}

.chat-right .chat-header .chat-user .flex-item-center {
    flex: 1 1 auto;
    min-width: 0
}

.chat-right .chat-header .chat-user .p-last-seen {
    margin-bottom: 0
}

.chat-right .chat-header .chat-user .p-last-seen .last-seen {
    color: #273244;
    font-weight: 400
}

.chat-right .chat-header .chat-user .p-last-seen .last-seen i {
    font-size: 11px;
    margin-right: 2px
}

.chat-right .chat-header .chat-user .btn-chat-delete {
    background-color: #F4F7FA;
    border-radius: 6px
}

.chat-header .topic {
    display: flex;
    align-items: center;
    margin-bottom: 0 !important;
    margin-left: 64px
}

.chat-header .topic a:hover {
    text-decoration: underline
}

.chat .chat-content {
    display: flex;
    position: relative;
    width: 100%;
    height: 600px;
    padding-bottom: 94px
}

.chat .chat-content .messages {
    display: flex;
    width: 100%;
    height: 100%;
    padding: 15px 0
}

.chat .chat-content .messages-inner {
    display: block;
    width: 100%;
    height: 100%;
    padding: 0 24px;
    overflow-x: hidden
}

.chat .chat-content .messages .message {
    display: flex;
    justify-content: start;
    margin-bottom: 20px
}

.chat .chat-content .messages .message .item-user {
    width: 55px;
    flex-shrink: 0 !important
}

.chat .chat-content .messages .message .user-img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    overflow: hidden
}

.chat .chat-content .messages .message .user-img img {
    width: 40px;
    height: 40px;
    border-radius: 50%
}

.chat .chat-content .messages .message .message-text {
    padding: 10px;
    max-width: 400px;
    border-radius: 6px 6px 6px 0;
    font-size: 14px;
    font-weight: 400;
    background-color: #F0F4F8
}

.chat .chat-content .messages .message .time {
    height: 22px;
    min-width: 50px;
    position: relative
}

.chat .chat-content .messages .message .time span {
    position: absolute;
    white-space: nowrap;
    bottom: 0;
    left: 0;
    color: #758092;
    font-size: 12px;
    letter-spacing: 0
}

.chat .chat-content .messages .message-right {
    justify-content: end;
    text-align: right
}

.chat .chat-content .messages .message-right .message-text {
    background-color: #4361ee;
    color: #fff;
    border-radius: 6px 6px 0 6px
}

.chat .chat-content .messages .message-right .item-user {
    display: flex;
    justify-content: end
}

.chat .chat-content .messages .message-right .time span {
    left: auto;
    right: 0
}

.chat .chat-content .chat-input {
    width: 100%;
    height: 94px;
    padding: 24px;
    position: absolute;
    bottom: 0;
    border-top: 1px solid #e5eaef
}

.chat .chat-content .chat-input input {
    border-radius: 20px;
    padding: 10px 48px 10px 24px;
    height: 46px;
    background-color: #F4F7FA;
    border: 0 !important;
    background-image: none !important
}

.chat .chat-content .chat-input .btn {
    background-color: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    padding: 10px 12px;
    position: absolute;
    right: 30px;
    top: 25px
}

.chat-empty .chat-header {
    min-height: 124px;
    border-bottom: 0
}

.select-chat-container {
    display: block;
    position: absolute;
    width: 100%;
    text-align: center;
    padding-top: 60px
}

.select-chat-container label {
    padding: 18px 40px;
    font-size: 16px;
    font-weight: 400;
    border-radius: 30px;
    background-color: #F4F7FA;
    color: #545F71
}

.btn-open-chat-contacts {
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 5px;
    display: flex;
    align-items: center;
    position: absolute;
    left: 0;
    display: none
}

.btn-open-chat-contacts svg {
    width: 28px;
    height: 28px
}

.chat input::placeholder {
    color: #a5a9b1 !important
}

.chat input::-webkit-input-placeholder {
    color: #a5a9b1 !important
}

.chat input::-moz-placeholder {
    color: #a5a9b1 !important
}

.chat input:-ms-input-placeholder {
    color: #a5a9b1 !important
}

.brand-slider .brand-item .item {
    display: flex;
    width: 100%;
    height: 100%;
    overflow: hidden
}

.blog-post-title {
    display: block;
    width: 100%;
    float: left;
    position: relative;
    font-size: 18px;
    line-height: 26px;
    text-align: left;
    font-weight: 600;
    margin-top: 15px;
    margin-bottom: 10px
}

.blog-item-small .blog-post-title {
    display: block;
    width: 100%;
    float: left;
    position: relative;
    font-size: 15px;
    line-height: 24px;
    text-align: left;
    font-weight: 600;
    margin-top: 10px;
    margin-bottom: 5px
}

.blog-post-meta {
    display: block;
    width: 100%;
    float: left;
    position: relative;
    margin-bottom: 10px
}

.blog-post-meta span, .blog-post-meta a {
    font-size: 12px;
    line-height: 24px;
    color: #999;
    margin-right: 10px;
    display: inline-block !important
}

.blog-post-meta span i, .blog-post-meta a i {
    margin-right: 8px
}

.blog-post-description {
    display: block;
    width: 100%;
    float: left;
    position: relative;
    line-height: 24px;
    color: #888
}

.blog-slider-container .slick-initialized {
    opacity: 1 !important
}

.blog-slider-container .blog-slider .blog-item {
    outline: none !important;
    padding: 10px;
    padding-top: 0 !important
}

.blog-content {
    width: 100%;
    display: block;
    float: left;
    position: relative
}

.blog-content .blog-item {
    display: block;
    float: left;
    position: relative;
    width: 100%;
    margin-bottom: 60px
}

.blog-content .blog-item-small {
    margin-bottom: 15px
}

.blog-item .blog-item-img a {
    display: block
}

.blog-content .blog-item-small .blog-item-img a img {
    width: 100%
}

.blog-content .blog-item a {
    display: block
}

.blog-sidebar .blog-sidebar-widget .title {
    width: 100%;
    font-size: 18px;
    font-weight: 600;
    position: relative;
    border-bottom: 2px solid #222;
    display: block;
    padding-bottom: 15px
}

.blog-content .blog-categories {
    margin: 0;
    padding: 0;
    margin-top: 15px;
    float: left;
    display: block;
    width: 100%;
    text-align: center;
    margin-bottom: 30px
}

.blog-content .blog-categories li {
    list-style: none;
    display: inline-block;
    margin-right: 15px;
    margin-bottom: 15px
}

.blog-content .blog-categories li a {
    display: inline-block;
    padding: 8px 14px;
    color: #898989;
    background-color: #f3f3f3;
    border-radius: .1875rem
}

.blog-content .blog-categories .active a {
    color: #fff
}

.blog-content .post-content {
    width: 100%;
    display: block;
    float: left;
    position: relative
}

.blog-content .post-content .title {
    font-size: 32px;
    line-height: 42px;
    font-weight: 600;
    margin-bottom: 15px
}

.blog-content .post-content .blog-post-meta {
    margin-bottom: 0
}

.blog-content .post-content .post-image {
    position: relative;
    width: 100%;
    margin: 15px 0;
    text-align: center;
    aspect-ratio: 16 / 5;
    overflow: hidden;
    border-radius: 12px;
    background-color: #f5f5f5;

}

.blog-content .post-content .post-image img, .blog-content .post-content .post-image video {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
}

@supports not (aspect-ratio: 1 / 1) {
    .blog-content .post-content .post-image {
        height: 0;
        padding-top: 56.25%;

    }

    .blog-content .post-content .post-image img, .blog-content .post-content .post-image video {
        position: absolute;
        top: 0;
        left: 0;
    }
}

@media (max-width: 768px) {
    .blog-content .post-content .post-image {
        margin: 12px 0;
        border-radius: 10px;
    }
}

@media (max-width: 480px) {
    .blog-content .post-content .post-image {
        margin: 10px 0;
        border-radius: 8px;
    }
}

.blog-content .post-content .post-text {
    line-height: 28px;
    font-size: 15px
}

.blog-content .post-content .post-text img {
    display: block;
    max-width: 100% !important;
    height: auto !important
}

.post-content .post-share {
    width: 100%;
    margin-top: 20px;
    margin-bottom: 20px
}

.post-content .post-share .title {
    font-size: 16px;
    line-height: 40px;
    font-weight: 600;
    margin-bottom: 15px;
    text-align: left;
    text-transform: uppercase;
    position: relative;
    margin-right: 15px;
}

.post-content .post-share .btn-share {
    color: #fff;
    border-radius: .1875rem;
    font-size: 13px;
    margin-right: 5px;
    margin-bottom: 7px
}

.post-content .post-share .btn-share i {
    font-size: .875rem;
    margin-right: 10px
}

.post-content .post-share .facebook {
    background-color: #3b5998
}

.post-content .post-share .gplus {
    background-color: #dd4b39
}

.post-content .post-share .twitter {
    background-color: #000
}

.post-content .post-share .pinterest {
    background-color: #cc2127
}

.post-content .post-share .linkedin {
    background-color: #0077b5
}

.post-content .post-share .whatsapp {
    background: #2CB742
}

.post-content .related-posts {
    margin-bottom: 30px
}

.blog-section-title {
    font-size: 15px;
    line-height: 24px;
    font-weight: 600;
    margin-bottom: 25px;
    text-align: left;
    text-transform: uppercase;
    position: relative;
    padding-bottom: 10px
}

.blog-section-title::after {
    background: #222;
    bottom: 0;
    content: "";
    height: 2px;
    left: 0;
    position: absolute;
    width: 80px
}

.blog-content .post-content .related-posts .blog-post-meta {
    text-align: left;
    margin-bottom: 10px
}

.blog-content .latest-posts {
    width: 100%;
    display: block;
    float: left;
    margin-bottom: 45px
}

.blog-content .blog-tags {
    width: 100%;
    display: block;
    float: left
}

.blog-content .blog-tags ul {
    margin: 0;
    padding: 0
}

.blog-content .blog-tags ul li {
    list-style: none;
    float: left;
    margin-right: 8px;
    margin-bottom: 8px
}

.blog-content .blog-tags ul li a {
    padding: 6px 12px;
    background-color: #f2f2f2;
    border-radius: .1875rem;
    color: #999;
    display: block
}

.blog-content .blog-tags ul li a:hover {
    background-color: #e3e3e3
}

.blog-content .post-tags ul {
    float: left;
    margin: 0;
    padding: 0
}

.blog-content .post-tags ul li {
    list-style: none;
    float: left;
    margin-right: 8px;
    margin-bottom: 8px
}

.blog-content .post-tags ul li a {
    padding: 6px 12px;
    background-color: #f2f2f2;
    border-radius: .1875rem;
    color: #999;
    display: block
}

.blog-comments-section {
    clear: both;
    border-radius: 10px;
    background: #faf9f7;
    padding: 20px 30px;
}

.blog-comments-section .nav-tabs {
    border-bottom: 2px solid #dee2e6;
    list-style: none;
    padding: 0;
}

.blog-comments-section .nav-tabs .nav-item .nav-link {
    border: 0;
    line-height: 24px;
    font-weight: 600;
    text-align: left;
    text-transform: uppercase;
    position: relative;
    border-bottom: 2px solid transparent;

    list-style: none;
}

.blog-comments-section .nav-tabs .nav-item .show .nav-link, .blog-comments-section .nav-tabs .nav-link.active {
    border: 0;
}

.blog-comments-section .tab-content .tab-pane {
    padding: 30px 0
}

.blog-comments {
    padding: 0;
    margin: 0;
    margin-top: 30px
}

.blog-comments li {
    width: 100%;
    list-style: none;
    display: table;
    margin-bottom: 15px
}

.blog-comments li .left {
    display: table-cell;
    width: 65px;
    height: auto;
    vertical-align: top;
    text-align: left
}

.blog-comments li .left img {
    width: 50px;
    height: 50px;
    border-radius: 100%
}

.blog-comments li .right {
    display: table-cell;
    vertical-align: top
}

.blog-comments li .right p {
    margin-bottom: 5px
}

.blog-comments li .right .username {
    font-weight: 600
}

.blog-comments li .right .date {
    font-size: 12px;
    color: #999
}

.btn-load-more {
    background: #fff;
    border: 1px solid #e5e5e5;
    display: block;
    font-size: 13px;
    line-height: 20px;
    margin: 0 auto;
    padding: 14px 10px;
    text-align: center;
    transition: all .25s ease 0;
    color: #222;
    border-radius: .1875rem;
    width: 100%;
    max-width: 100%;
    font-weight: 600;
    cursor: pointer
}

.btn-delete-comment {
    font-size: 12px;
    color: #d43f3a !important;
    margin-left: 15px
}

.page-contact {
    min-height: 550px
}

.page-contact .contact-text {
    line-height: 24px
}

.page-contact .contact-item {
    display: block;
    margin-bottom: 10px
}

.page-contact .contact-item i {
    color: #777;
    display: inline-block;
    text-align: left;
    width: 40px
}

.page-contact .ctd {
    display: none !important
}

.support {
    min-height: 800px
}

.support .page-title {
    font-weight: 600;
    text-align: center;
    margin-bottom: 40px
}

.support .main-title {
    font-size: 32px
}

.support .page-title strong {
    font-weight: 600
}

.a-box-support {
    display: block;
    text-align: center
}

.box-support {
    width: 100%;
    padding: 30px;
    border: 1px solid #e0e0e0;
    text-align: center;
    margin-bottom: 30px;
    -webkit-transition: all .1s ease-in-out;
    transition: all .1s ease-in-out
}

.box-support .title {
    font-size: 18px;
    line-height: 28px;
    font-weight: 600;
    margin-bottom: 5px
}

.box-support span {
    display: block;
    width: 100%;
    font-size: 14px;
    color: #aaa
}

.box-support:hover {
    box-shadow: 0 .2rem 1rem rgba(0, 0, 0, .1) !important
}

.support .need-more-help {
    margin-top: 150px;
    text-align: center
}

.support .need-more-help .title {
    display: block;
    font-size: 22px;
    font-weight: 700
}

.support .need-more-help span {
    display: block;
    font-size: 14px
}

.support .need-more-help a {
    margin-top: 30px
}

.support .title-category {
    font-size: 26px;
    margin-bottom: 30px;
    font-weight: 600
}

.ul-support-articles {
    padding: 0 !important;
    margin: 0 !important;
    border-right: 1px solid #eee;
    padding-right: 10px !important
}

.ul-support-articles li {
    list-style: none;
    display: block;
    margin-bottom: 5px
}

.ul-support-articles li a {
    display: block;
    font-size: 14px;
    border-bottom: 2px solid transparent;
    padding: 10px 15px
}

.ul-support-articles .active a {
    background-color: #222;
    color: #fff;
    border-radius: 2px
}

.support .article-title {
    font-size: 28px;
    line-height: 40px;
    margin-bottom: 30px;
    font-weight: 600
}

.support .article-content {
    font-size: 15px;
    line-height: 30px
}

.support .article-content img {
    max-width: 100%;
    height: auto
}

.all-help-topics {
    display: block;
    width: 100%;
    margin-bottom: 15px
}

.all-help-topics i {
    margin-right: 3px
}

.help-center-collapse {
    display: none;
    margin-bottom: 30px;
    border: 0 !important
}

.help-center-collapse .collapse-title {
    display: block;
    width: 100%;
    padding: 15px;
    border: 1px solid rgba(0, 0, 0, .08)
}

.help-center-collapse .ul-support-articles {
    padding: 0 !important;
    border: 0 !important
}

.help-center-collapse .ul-support-articles li a {
    margin-top: 8px;
    border-radius: 3px
}

.need-more-help-article {
    text-align: left !important;
    border-top: 1px solid #eee;
    padding: 60px 0
}

.ticket-container {
    background-color: #fff;
    padding: 30px;
    border: 1px solid #f9f9f9
}

.ticket-container .ticket-header {
    margin-bottom: 60px
}

.ticket-container .ticket-header p {
    margin-bottom: 4px;
    font-size: 15px;
    line-height: 24px
}

.row-ticket-details {
    margin-top: 15px;
    padding-bottom: 15px;
    border-bottom: 2px solid #eee
}

.row-ticket-details strong {
    display: block;
    width: 100%;
    margin-bottom: 5px
}

.ticket-content {
    padding-top: 0
}

.ticket-content .media {
    position: relative;
    margin-top: 60px
}

.ticket-content .media .media-body {
    border: 1px solid #f1f2f2;
    padding: 15px;
    position: relative;
    border-radius: 4px;
    background-color: #f9fbfc !important
}

.ticket-content .media .refund-media-body {
    border: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background-color: transparent !important
}

.ticket-content .media .media-body .title {
    font-weight: 700
}

.ticket-content-reset .media .media-body * {
    background-color: #f9fbfc !important
}

.ticket-content .media .media-body .message {
    font-size: 14px;
    line-height: 26px;
    font-family: "Montserrat", sans-serif
}

.ticket-content .media .media-body .message p {
    line-height: 26px !important
}

.ticket-content .media .img-profile {
    width: 48px;
    height: 48px;
    margin-right: 15px;
    border-radius: 50%
}

.ticket-content .media .title {
    font-size: 14px !important
}

.ticket-content .media .date {
    position: absolute;
    right: 20px;
    top: 20px;
    font-size: 12px
}

.ticket-content .ticket-body p {
    margin-bottom: 0 !important
}

.new-ticket-content-reply {
    padding-bottom: 0 !important
}

.reply-editor {
    margin-top: 30px;
    padding-bottom: 30px
}

.btn-file-upload {
    position: relative;
    color: #fff !important;
    font-size: 13px !important;
    padding: 4px 16px !important;
    overflow: hidden !important
}

.support .search-container {
    margin-bottom: 120px
}

.support .search {
    width: 800px;
    max-width: 100%;
    margin: 0 auto;
    position: relative
}

.support .search input {
    border-radius: 30px;
    min-height: 50px
}

.support .search button {
    position: absolute;
    right: 14px;
    top: 10px;
    font-size: 18px;
    background-color: transparent !important;
    border: 0 !important;
    margin: 0 !important;
    padding: 0 !important
}

.support .page-title-ticket {
    float: left;
    margin-bottom: 0 !important
}

.support .dm-btn-select-files {
    position: absolute !important;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0
}

.support .btn-file-upload {
    position: relative;
    color: #fff !important;
    font-size: 13px !important;
    padding: 4px 16px !important;
    overflow: hidden !important
}

.support .dm-uploader input[type="file"] {
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important
}

.support .dm-btn-select-files input {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    filter: alpha(opacity=0);
    opacity: 0;
    background-color: transparent;
    color: transparent;
    cursor: pointer
}

.support .dm-upload-text {
    color: #555 ;
    font-size: 14px;
    margin-bottom: 0 !important
}

.support .dm-uploader {
    border: 1px dashed #d8d9db
}

.support .dm-uploaded-files {
    display: block;
    position: relative;
    float: left;
    padding: 0;
    margin: 0;
    padding-bottom: 15px;
    width: 100%
}

.support .dm-uploaded-files .media {
    height: 20px !important;
    width: 100% !important
}

.support .uploaded-files .item {
    display: block;
    width: 100%;
    margin-bottom: 4px
}

.support .uploaded-files .item .item-inner {
    display: inline-block;
    background-color: #f0f0f0;
    padding: 4px 12px;
    line-height: 20px;
    border-radius: 3px
}

.support .uploaded-files .item .item-inner a {
    font-weight: 500 !important;
    position: relative;
    color: #999 !important;
    margin-left: 10px
}

.support .uploaded-files .item .item-inner a:hover i {
    color: #333 !important
}

.support .uploaded-files .item .item-inner a i {
    position: relative
}

.support .dm-uploaded-files li .media-body .progress {
    height: 4px;
    margin-bottom: 0 !important;
    background-color: transparent;
    font-weight: 600;
    font-size: 11px !important;
    border-radius: 0 !important;
    color: transparent !important
}

.support .dm-progress-waiting {
    display: none
}

.support .dm-uploaded-files li .media-body .progress .progress-bar {
    color: transparent !important
}

.support .ticket-content .ticket-attachments {
    display: block;
    float: left;
    width: 100%;
    margin-top: 30px
}

.support .ticket-content .ticket-attachments p {
    margin-bottom: 5px !important
}

.support .ticket-content .ticket-attachments p button {
    color: #107ef4;
    border: 0 !important;
    background-color: transparent !important;
    box-shadow: none !important;
    padding: 0 !important
}

.support .ticket-content .ticket-attachments p button:hover span {
    text-decoration: underline
}

.support-search-results {
    display: block;
    padding: 0;
    margin: 0
}

.support-search-results li {
    list-style: none;
    border-bottom: 1px solid #eee;
    padding: 30px 0
}

.support-search-results li .title {
    margin-bottom: 5px;
    font-size: 18px;
    font-weight: 600
}

.support-search-results li .category a {
    font-weight: 600;
    font-size: 13px;
    color: #6c757d !important
}

.support .number-of-results {
    display: block;
    margin-top: 5px;
    font-weight: 400 !important;
    font-size: 13px;
    color: #888
}

.product-list-header {
    vertical-align: middle;
    padding-bottom: 30px
}

.product-sort-by {
    float: right
}

.product-sort-by .span-sort-by {
    display: inline-block
}

.product-sort-by .sort-select {
    display: inline-block;
    margin-left: 15px
}

.product-sort-by .sort-select .custom-select {
    height: 36px;
    border: 1px solid #e2e2e2
}

.product-filters {
    display: block;
    float: left;
    width: 100%;
    position: relative
}

.product-filters .filter-item {
    display: block;
    float: left;
    width: 100%;
    position: relative;
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid #ececec
}

.product-filters .filter-item:last-child {
    border-bottom: 0
}

.product-filters .filter-item .title {
    margin-bottom: 15px;
    font-size: .875rem;
    font-weight: 600;
    float: left;
    width: 100%
}

.product-filters .filter-item .filter-list-container {
    position: relative;
    float: left;
    width: 100%
}

.product-filters .filter-item .filter-search-input {
    display: block;
    width: 100%;
    height: 32px;
    float: left;
    margin-bottom: 15px;
    padding: 5px 10px;
    border-radius: 2px;
    font-size: 12px;
    border: 1px solid #e2e2e2
}

.product-filters .filter-item .filter-list {
    padding: 0;
    margin: 0;
    float: left;
    width: 100%;
    max-height: 200px;
    padding-bottom: 10px
}

.product-filters .filter-item .filter-list-subcategories {
    padding-left: 21px
}

.product-filters .filter-item .filter-list-categories-parent {
    display: block;
    float: left;
    width: 100%;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 8px
}

.product-filters .filter-item .filter-list-categories-parent svg {
    font-size: 18px;
    width: 18px;
    height: 18px;
    position: relative;
    top: -1px
}

.product-filters .filter-item .filter-list li {
    list-style: none;
    display: block;
    float: left;
    width: 100%;
    margin-bottom: 2px
}

.product-filters .filter-item .filter-list li a {
    display: block;
    float: left;
    width: 100%
}

.product-filters .filter-item .filter-list li a:hover {
    text-decoration: underline
}

.product-filters .filter-item .filter-list-categories li, .product-filters .filter-item .filter-list-subcategories li {
    margin-bottom: 10px
}

.product-filters .filter-item .filter-list-categories li a, .product-filters .filter-item .filter-list-subcategories li a {
    font-size: 14px;
    line-height: 20px
}

.product-filters .filter-item .filter-list-subcategories li a:hover {
    text-decoration: underline
}

.product-filters .filter-item .filter-list-subcategories li .active {
    font-weight: 600
}

.product-filters .filter-item .filter-list li a label {
    cursor: pointer;
    margin: 0 !important
}

.product-filters .filter-item .filter-list li a .custom-checkbox label {
    font-size: 13px
}

.product-filters .filter-item .filter-list li a .checkbox-list-item-label {
    line-height: 26px;
    -webkit-user-select: none;
    user-select: none
}

.product-filters .filter-item .filter-custom-scrollbar {
    max-height: 280px;
    overflow: hidden
}

.product-filters .filter-item .subcategory-link {
    display: block;
    position: relative;
    margin-bottom: 10px;
    float: left
}

.product-filters .filter-item .price-filter-inputs {
    display: block;
    float: left;
    position: relative;
    width: 100%
}

.row-price-inputs {
    margin-right: -5px;
    margin-left: -5px
}

.row-price-inputs .col-price-inputs {
    padding-right: 5px;
    padding-left: 5px
}

.filter-item .price-filter-inputs .price-filter-input {
    width: 100%;
    float: left;
    border-radius: 2px;
    border: 1px solid #e2e2e2;
    font-size: 13px
}

.filter-item .price-filter-inputs .price-filter-input:focus {
    border-color: #bbb !important
}

.product-filters .filter-item .price-filter-inputs input {
    margin: 0;
    height: 36px
}

.filter-item .price-filter-inputs span {
    float: left;
    line-height: 34px
}

.filter-item .price-filter-inputs .input-seperator {
    margin: 0 5px !important
}

.input-group-location .icon-map-marker {
    color: #999;
    position: absolute;
    left: 14px;
    top: 10px;
    z-index: 10;
    font-size: 16px
}

.btn-filter-price {
    text-transform: none;
    background-color: #f1f0ed;
    font-size: 16px;
    text-align: center;
    padding: .4rem .8rem;
    color: #67645e;
    height: 38px;
    border-radius: 8px;
    border: 1px solid transparent;
    transition: all 0.25s ease;
}

.btn-filter-price:hover {
    border-color: #67645e;
    background-color: #fff;
}

.btn-filter-price i {
    margin: 0 !important
}

.product-list-content {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px 24px;
    position: relative;
    padding: 40px 0;
}

.category-layout-single-product-item {
    width: 100%;
}

.single-product-item {
    display: block;
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.single-product-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08);
}

.product-list-content .no-records-found {
    grid-column: 1 / -1;
    text-align: center;
    padding: 60px 20px;
    font-family: var(--font-primary, "Montserrat", sans-serif);
    font-size: 16px;
    color: #67645e;
}

@media (max-width: 1024px) {
    .product-list-content {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px 20px;
    }
}

@media (max-width: 640px) {
    .product-list-content {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px 12px;
        padding: 24px 0;
    }
}

.filter-reset-tag-container {
    display: block;
    width: 100%;
    position: relative;
    float: left
}

.filter-reset-tag {
    display: table;
    border-radius: 16px;
    float: left;
    margin-right: 10px;
    margin-bottom: 15px;
    background-color: #eee;
    min-height: 38px
}

.filter-reset-tag .right {
    display: table-cell;
    padding: 5px 12px;
    padding-left: 0;
    vertical-align: middle;
    max-width: 250px;
    min-width: 60px
}

.filter-reset-tag .right span {
    display: block;
    width: 100%;
    font-size: 12px;
    line-height: 14px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis
}

.filter-reset-tag .right .reset-tag-title {
    color: #777;
    margin-bottom: 2px
}

.filter-reset-tag .left {
    display: table-cell;
    position: relative;
    font-size: .875rem;
    vertical-align: middle
}

.filter-reset-tag .left a {
    width: 24px;
    height: 24px;
    line-height: 24px;
    text-align: center;
    display: block;
    position: relative;
    border-radius: 100%;
    padding: 0 !important;
    color: #222;
    float: left;
    background-color: #fff !important;
    border: 0 !important;
    margin: 0 6px
}

.filter-reset-tag .left a i {
    margin: 0 !important
}

.filter-reset-tag .left a:hover {
    color: #000 !important
}

.link-reset-filters {
    display: inline-block;
    font-size: 12px;
    font-weight: 600;
    line-height: 35px;
    white-space: nowrap
}

.page-downloads .product-title {
    font-weight: 600
}

.member-list-item {
    display: table;
    width: 100%;
    margin-bottom: 60px
}

.member-list-item .left {
    display: table-cell;
    width: 120px;
    text-align: left;
    vertical-align: top
}

.member-list-item .left img {
    width: 100px;
    height: 100px;
    border-radius: 100%
}

.member-list-item .right {
    display: table-cell;
    text-align: left;
    vertical-align: top
}

.member-list-item .right p {
    margin-bottom: 5px
}

.member-list-item .right .username {
    display: block;
    width: 100%;
    font-weight: 600
}

.shops-search-container {
    width: 300px;
    max-width: 100%;
    float: right
}

.shops-search-container .search button {
    position: absolute;
    right: 22px;
    top: 8px;
    font-size: 18px;
    background-color: transparent !important;
    border: 0 !important;
    margin: 0 !important;
    padding: 0 !important
}

.coupon-item {
    width: 100%;
    border-radius: 3px;
    padding: 15px;
    position: relative;
    margin-bottom: 30px;
    border: 1px dashed #e3e3e3
}

.coupon-item .coupon-inner {
    display: flex;
    justify-content: space-between;
    padding: 5px 0;
    margin-bottom: 10px
}

.coupon-item .coupon-img {
    width: 130px;
    min-height: 110px;
    padding-right: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-right: 3px dotted #c1c1c1
}

.coupon-item .coupon-img img {
    width: 92px;
    height: 92px;
    border-radius: 50%
}

.coupon-item .content {
    min-height: 110px;
    display: flex;
    align-items: center;
    flex-grow: 1;
    padding-left: 24px
}

.coupon-item .content .shop-name {
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase
}

.coupon-item .content .discount {
    font-size: 26px;
    font-weight: 700;
    display: block;
    margin-top: 2px;
    margin-bottom: 5px
}

.coupon-item .content .discount span {
    font-size: 18px;
    font-weight: 600
}

.coupon-item .content .date {
    display: flex;
    align-items: center;
    font-size: 12px;
    margin-bottom: 8px;
    color: #28a745
}

.coupon-item .content .date-expired {
    color: #dc3545 !important
}

.coupon-item .coupon-code {
    display: flex;
    align-items: center;
    width: 100%
}

.coupon-item .coupon-code .code {
    display: block;
    height: 38px;
    border: 1px dashed #888;
    padding: 7px 20px;
    border-right: 0;
    flex-grow: 1
}

.coupon-item .coupon-code button {
    height: 38px;
    cursor: pointer;
    text-transform: uppercase;
    font-size: 13px;
    border-radius: 0 2px 2px 0
}

.coupon-item .coupon-link {
    display: block;
    height: 21px
}

.coupon-item .coupon-link a {
    font-size: 13px;
    font-weight: 600
}

.coupon-item .coupon-link a:hover {
    border-bottom: 1px solid #222;
    -webkit-transition: all .1s ease-in-out;
    transition: all .1s ease-in-out
}

.auth-container {
    justify-content: center;
    padding-top: 30px;
    width: 100%;
    min-height: 720px
}

.auth-box {
    background: #fff;
    padding: 30px;
    width: 450px;
    max-width: 100%;
    border-radius: 6px;
    margin: 0 auto;
    margin-top: 30px
}

.auth-box .form-group {
    margin-bottom: 8px
}

.auth-form-input {
    box-shadow: none !important;
    border: 0;
    outline: none !important;
    color: #494949;
    height: 46px;
    font-size: .875rem;
    line-height: 18px;
    padding: 10px 20px;
    box-shadow: none;
    border-radius: 2px;
    border: 1px solid #e6e6e6
}

.auth-box .title {
    font-size: 26px;
    font-weight: 600;
    text-align: center;
    margin-bottom: 30px
}

.btn-social {
    width: 100%;
    display: flex;
    align-items: center;
    position: relative;
    font-size: .875rem;
    outline: 0 !important;
    box-shadow: none !important;
    padding: 10px 20px;
    border-radius: 2px;
    text-align: left;
    margin-bottom: 5px;
    color: #fff !important;
    font-weight: 600 !important;
    line-height: 1.5
}

.btn-social svg {
    margin-right: 15px
}

.btn-social-facebook {
    background-color: #1877f2
}

.btn-social-facebook:hover {
    background-color: #0665e0
}

.btn-social-google {
    background-color: transparent;
    color: #4A4A4A !important;
    border: 1px solid #dfdee2
}

.btn-social-google:hover {
    background-color: #f1f0f4
}

.btn-social-vk {
    background-color: #5c81b5
}

.btn-social-vk:hover {
    background-color: #39679b
}

.p-social-media {
    text-align: center;
    color: #777;
    margin-top: 10px;
    margin-bottom: 10px
}

.p-social-media a {
    color: #666
}

.modal-content {
    border-radius: 1px !important
}

.login-modal .auth-box {
    width: auto;
    padding: 25px 30px;
    border: 0 !important;
    margin: 0 !important
}

.login-modal .auth-box .form-group {
    margin-bottom: 8px
}

.login-modal .close {
    position: absolute;
    top: 15px;
    right: 15px
}

.login-modal .alert {
    flex-wrap: wrap !important
}

.login-modal .alert svg {
    display: none
}

.btn-reset-location-input {
    position: absolute;
    display: block;
    right: 14px;
    z-index: 10;
    font-size: 16px;
    color: #999;
    background-color: #f1f1f1;
    text-align: center;
    line-height: 26px;
    border-radius: 50%;
    height: 26px;
    width: 26px;
    top: 0;
    bottom: 0;
    margin: auto
}

.custom-select.is-valid, .form-control.is-valid, .was-validated .custom-select:valid, .was-validated .form-control:valid {
    border-color: #d8dade
}

.recaptcha-cnt .g-recaptcha {
    height: 74px;
    margin: 0 auto;
    max-width: 100%;
    width: 300px
}

.shopping-cart {
    margin-top: 45px;
    min-height: 600px
}

.shopping-cart .left {
    border-bottom: 1px solid #e4e4e4;
    float: left;
    display: block;
    width: 100%
}

.shopping-cart .right {
    background-color: #f9f9f9;
    padding: 30px;
    margin-top: 30px;
    border-radius: .1875rem
}

.shopping-cart .right .line-seperator {
    height: 1px;
    width: 100%;
    background-color: #999;
    margin: 1.5rem 0
}

.cart-section-title {
    font-size: 18px;
    line-height: 18px;
    font-weight: 700;
    border-bottom: 1px solid #e4e4e4;
    margin: 0;
    padding-bottom: 15px;
    margin-bottom: 30px
}

.shopping-cart .item {
    margin-bottom: 30px;
    display: table;
    width: 100%;
    float: left
}

.shopping-cart .item .cart-item-image {
    display: table-cell;
    vertical-align: top;
    width: 160px
}

.shopping-cart .item .cart-item-details {
    display: table-cell;
    vertical-align: top
}

.shopping-cart .item .cart-item-quantity {
    display: table-cell;
    vertical-align: top;
    width: 100px;
    padding-left: 10px
}

.shopping-cart .item .img-cart-product {
    width: 100px;
    height: 100px;
    float: left;
    margin: 0 30px;
    overflow: hidden
}

.shopping-cart .item .img-cart-product img {
    display: block;
    height: 100px;
    width: auto;
    margin: 0 auto;
    max-width: none;
    object-fit: cover;
    margin-left: 50%;
    transform: translateX(-50%)
}

.shopping-cart .item .list-item {
    margin-bottom: 5px
}

.shopping-cart .item .list-item label {
    min-width: 125px;
    margin: 0;
    margin-right: 5px
}

.shopping-cart .item .seller {
    color: #5d5d5d;
    margin-top: 5px
}

.shopping-cart .item .seller a {
    color: #5d5d5d;
    font-weight: 600
}

.shopping-cart .btn-cart-remove {
    position: relative;
    margin-top: 10px
}

.shopping-cart-shipping .left {
    border-bottom: 0;
    display: block;
    float: left;
    position: relative;
    width: 100%
}

.shopping-cart-shipping .right {
    margin-top: 0;
    float: left;
    display: block;
    width: 100%
}

.cart-form-billing-address {
    display: none;
    margin-top: 10px
}

.cart-order-details {
    float: left;
    display: block;
    width: 100%
}

.cart-order-details .item {
    display: table;
    width: 100%
}

.cart-order-details .item .item-left {
    display: table-cell;
    vertical-align: top;
    width: 80px
}

.cart-order-details .item .item-left .img-cart-product {
    margin: 0;
    width: 60px;
    height: 60px
}

.cart-order-details .item .item-left .img-cart-product img {
    height: 60px
}

.cart-order-details .item .item-right {
    display: table-cell;
    vertical-align: top
}

.cart-order-details .item .item-right .list-item a {
    font-weight: 600
}

.cart-shipping-method .custom-control-label {
    display: inline-block
}

.cart-shipping-method .custom-control-label .method-name {
    display: inline-block;
    min-width: 200px;
    font-weight: 400
}

.cart-shipping-method .custom-control-label .exp-free-shipping {
    font-weight: 400
}

.shipping-methods-container {
    display: block;
    width: 100%;
    position: relative
}

.order-address-box {
    padding: 30px;
    border-radius: 2px;
    line-height: 26px;
    background-color: #f9f9f9
}

.order-address-box .block-title {
    margin-bottom: 15px
}

.tab-checkout {
    display: block;
    float: left;
    position: relative;
    width: 100%
}

.tab-checkout .title {
    font-size: 18px;
    line-height: 18px;
    margin-bottom: 30px;
    font-weight: 700
}

.tab-checkout-open {
    margin-top: 30px;
    margin-bottom: 45px;
    padding: 0 15px
}

.tab-checkout-closed .title {
    margin-right: 20px;
    margin-bottom: 0;
    height: 80px;
    line-height: 80px
}

.tab-checkout-closed-bordered {
    padding: 35px 20px;
    border-bottom: 1px solid #e4e4e4;
    border-top: 1px solid #e4e4e4
}

.tab-checkout-closed-bordered .title {
    margin: 0
}

.cart-seller-shipping-options {
    margin-bottom: 30px
}

.cart-discount-coupon .btn {
    min-height: 38px;
    white-space: nowrap
}

.cart-coupon-error .form-group p {
    list-style: none !important
}

.page-confirm {
    width: 450px;
    height: auto;
    margin: 0 auto;
    text-align: center;
    padding-top: 120px;
    max-width: 100%
}

.page-confirm .p-order-number {
    font-weight: 700;
    font-size: 18px
}

.page-confirm .p-complete-payment {
    margin-top: 60px;
    text-align: center
}

.page-confirm .bank-account-container {
    text-align: center
}

.page-confirm .title {
    font-size: 18px;
    line-height: 24px
}

.p-transaction-number {
    text-align: center;
    font-weight: 700;
    margin-bottom: 30px;
    margin-top: 30px
}

.p-transaction-number span {
    padding: 15px 25px;
    border: 1px solid #e4e4e4
}

.p-complete-payment {
    font-size: 13px
}

.payment-button-cnt {
    text-align: center;
    width: 620px !important;
    max-width: 100% !important;
    margin: 0 auto
}

#payment-button-container {
    text-align: center;
    visibility: hidden;
    padding-top: 30px
}

.bank-account-container {
    text-align: left
}

.stripe-checkout input {
    position: relative;
    width: 100%;
    height: 46px;
    padding: 4px 12px !important;
    line-height: 1.5;
    border: 0;
    background: #fff;
    border: 1px solid #e0e6ec !important;
    color: #32325d !important
}

.stripe-checkout .input-card-element {
    height: 46px;
    padding: 4px 12px !important;
    border: 1px solid #e0e6ec !important
}

.stripe-checkout .btn {
    display: block;
    background: #666ee8;
    color: #fff;
    box-shadow: 0 4px 6px rgba(50, 50, 93, .11), 0 1px 3px rgba(0, 0, 0, .08);
    border-radius: 4px;
    border: 0;
    font-weight: 600;
    width: 100%;
    outline: none;
    cursor: pointer;
    transition: all .15s ease;
    padding: 11px
}

.stripe-checkout .payment-icons img {
    margin-right: 8px
}

.stripe-checkout .btn .spinner-border {
    display: none;
    position: relative;
    top: -1px
}

.stripe-checkout input::placeholder {
    color: #9191a8 !important
}

.stripe-checkout input::-webkit-input-placeholder {
    color: #9191a8 !important
}

.stripe-checkout input::-moz-placeholder {
    color: #9191a8 !important
}

.stripe-checkout input:-ms-input-placeholder {
    color: #9191a8 !important
}

.payment-icons-container {
    margin-bottom: 10px;
    text-align: center
}

.payment-icons-container .payment-icons img {
    margin-right: 15px;
    margin-bottom: 5px
}

.btn-payment {
    padding: 15px 40px;
    width: 430px;
    max-width: 100%;
    border-radius: 2px;
    color: #fff !important;
    font-weight: 600;
    font-size: 15px
}

.btn-flutterwave {
    color: #fff;
    background-color: #f5a623;
    border-color: #f5a623
}

.btn-midtrans {
    color: #fff;
    background-color: #054fbf;
    border-color: #054fbf
}

.btn-paystack {
    color: #fff;
    background-color: #70c487;
    border-color: #70c487
}

.btn-razorpay {
    color: #fff;
    background-color: #528ff0;
    border-color: #528ff0
}

.btn-paytabs {
    color: #fff;
    background-color: #61b1f7;
    border-color: #61b1f7
}

.table-orders td, .table-orders th {
    padding: .75rem
}

.table-orders thead th {
    border-bottom: 1px solid #dee2e6;
    font-weight: 600;
    border-top: 1px solid #f2f6f6
}

.span-product-dtl-table {
    display: block;
    min-width: 110px;
    float: left
}

.order-details-container .order-head {
    border-bottom: 1px solid #e4e4e4;
    padding-bottom: 10px;
    margin-bottom: 30px
}

.order-details-container .order-head .row-title {
    margin-bottom: 0 !important
}

.order-details-container .order-head .title {
    font-weight: 600;
    font-size: 22px;
    border-bottom: 1px solid #e4e4e4;
    padding-bottom: 10px;
    margin-bottom: 30px
}

.order-details-container .order-row-item {
    margin-bottom: 10px
}

.order-details-container .table-orders-container {
    margin-top: 60px
}

.order-details-container .table-orders {
    border-bottom: 1px solid #dee2e6
}

.order-details-container .table-orders td {
    padding: 1.2rem .75rem
}

.order-details-container .order-total {
    width: 400px;
    max-width: 100%;
    background-color: #f9f9f9;
    float: right;
    padding: 20px
}

.order-details-container .row {
    margin-bottom: 15px
}

.order-details-container .row-seperator {
    border-top: 1px solid #dee2e6
}

.order-details-container .order-total .col-left {
    font-weight: 600
}

.order-details-container .order-total .col-right {
    text-align: right
}

.order-details-container .shipping-container {
    margin-top: 30px
}

.order-details-container .block-title {
    font-size: 18px;
    line-height: 18px;
    font-weight: 600;
    margin-bottom: 15px
}

.order-details-container .shipping-container .shipping-row-item {
    font-size: 13px;
    margin-bottom: 3px
}

.order-details-container .tr-shipping td {
    padding-top: 15px !important;
    padding-bottom: 15px !important
}

.btn-sale-options {
    display: block;
    width: 100%;
    color: #fff !important;
    white-space: nowrap;
    padding: .3rem .5rem
}

.col-table-orders {
    line-height: 45px
}

.col-table-orders .block-title {
    line-height: 45px;
    margin-bottom: 0
}

.btn-view-invoice {
    display: inline-block;
    width: auto;
    position: absolute;
    right: 15px;
    top: 0;
    padding: .3rem .8rem
}

.tracking-number-container {
    margin-top: 25px
}

.tracking-number-container .title {
    text-align: center;
    width: 100%;
    display: block;
    margin-top: 10px;
    font-weight: 600;
    font-size: 20px
}

.tr-shipping {
    background-color: #f9f9f9 !important;
    font-size: 13px;
    border: 0 !important
}

.tr-shipping td {
    border: 0 !important
}

.tr-shipping-seperator td {
    height: 30px;
    border: 0 !important
}

.order-shipping-tracking-number p {
    margin-bottom: 4px
}

.order-shipping-tracking-number strong {
    margin-bottom: 5px
}

.earnings-boxes .earnings-box .price {
    text-align: center;
    font-size: 34px;
    line-height: 34px;
    font-weight: 700
}

.earnings-boxes .earnings-box .title {
    text-align: center;
    font-weight: 600;
    margin-bottom: 10px
}

.earnings-boxes .earnings-box .description {
    text-align: center;
    margin: 0;
    font-size: 13px
}

.text-confirm-order {
    color: #777;
    margin-top: 60px
}

.text-confirm-order-table {
    display: block;
    width: 100%;
    color: #777;
    max-width: 160px;
    margin-top: 5px
}

.modal-custom {
    border-radius: .1875rem
}

.modal-custom .modal-header {
    display: block;
    width: 100%;
    float: left;
    border-bottom: 0;
    border-top-left-radius: .1875rem;
    border-top-right-radius: .1875rem;
    padding: 30px;
    padding-bottom: 0
}

.modal-custom .modal-header .modal-title {
    display: block;
    width: 100%;
    margin: 0;
    font-size: 22px;
    font-weight: 700;
    text-align: center
}

.modal-custom .modal-header .modal-title-exp {
    display: block;
    width: 100%;
    margin: 0;
    font-weight: 400;
    font-size: 13px
}

.modal-custom .modal-header .close {
    position: absolute;
    right: 15px;
    top: 15px;
    color: #777;
    opacity: 1
}

.modal-custom .modal-header .close:hover {
    color: #333 !important;
    opacity: 1 !important
}

.modal-custom .modal-body {
    display: block;
    width: 100%;
    float: left;
    padding: 30px
}

.modal-custom .modal-footer {
    border-top: 0;
    padding: 15px 30px 30px;
    padding-top: 0;
    display: block;
    width: 100%;
    float: left
}

.modal-custom textarea {
    resize: none !important;
    min-height: 120px;
    padding: 15px;
    border-radius: 2px
}

.modal-refund textarea {
    resize: vertical !important;
    min-height: 140px;
    border-radius: 2px !important
}

.dropdown-order-options .dropdown {
    position: absolute;
    left: 0;
    top: 0
}

.dropdown-order-options .dropdown .dropdown-item {
    padding: .4rem 1.5rem;
    font-weight: 400
}

.dropdown-order-options .dropdown .dropdown-item:focus, .dropdown-order-options .dropdown .dropdown-item:hover {
    color: #212529 !important;
    background-color: #f8f9fa !important
}

.dropdown-order-options .dropdown .active, .dropdown-order-options .dropdown .dropdown-item:active {
    color: #212529 !important;
    background-color: #f8f9fa !important
}

.table-custom-modal tr th {
    padding: 5px !important;
    font-weight: 600 !important
}

.table-custom-modal tr td {
    padding: 5px !important;
    vertical-align: center
}

.table-custom-modal tr td .btn-option {
    padding: 2px 5px;
    font-weight: 300;
    font-size: 12px
}

.table-item-product {
    display: table
}

.table-item-product .left {
    display: table-cell;
    vertical-align: top
}

.table-item-product .left .img-table {
    height: 70px;
    width: 70px;
    overflow: hidden !important
}

.table-item-product .right {
    display: table-cell;
    vertical-align: top;
    padding-left: 15px
}

.table-item-product .left img {
    display: block;
    height: 70px;
    width: auto;
    margin: 0 auto;
    max-width: none;
    object-fit: cover;
    margin-left: 50%;
    transform: translateX(-50%);
    float: left
}

.table-item-product p {
    margin-bottom: 5px
}

.table-product-title {
    margin: 0 !important;
    font-size: 14px;
    line-height: 20px;
    display: inline-block
}

.table-striped tbody tr:nth-of-type(2n/**/+1) {
    background-color: rgba(0, 0, 0, .02)
}

.table-striped td, .table-striped th {
    border-top: 1px solid #f2f6f6
}

.btn-table-option {
    width: 100%;
    display: block;
    color: #fff !important;
    margin-bottom: 5px;
    white-space: nowrap
}

.btn-delete-quote {
    background-color: #d9534f;
    border-color: #d43f3a
}

.btn-delete-quote:hover, .btn-delete-quote:focus, .btn-delete-quote:active {
    background-color: #c9302c;
    border-color: #ac2925
}

.table-seller-bid {
    background-color: #EDEFF1;
    padding: 10px;
    display: block;
    border-radius: .1875rem;
    text-align: center
}

.table-seller-bid p {
    display: block;
    width: 100%;
    margin-bottom: 0;
    white-space: nowrap !important
}

.number-of-entries {
    float: left;
    margin: 20px 0;
    line-height: 32px
}

.table-pagination {
    float: right;
    margin: 18px 0 10px
}

.nav-pills .nav-link.active, .nav-pills .show>.nav-link {
    color: #fff !important;
    background-color: #73b943
}

.form-checkout .input-group-text {
    border-radius: 0 .25rem .25rem 0 !important
}

.payment-icons {
    text-align: center
}

.payment-icons img {
    height: 26px;
    max-width: 100%;
    margin-right: 6px
}

#footer .footer-bottom {
    width: 100%;
    display: block;
    position: relative;
    float: left;
    background-color: #000;
    padding: 25px 0
}

#footer .footer-bottom .copyright {
    float: left;
    text-align: left
}

#footer .footer-bottom .footer-payment-icons {
    float: right;
    text-align: right
}

#footer .footer-bottom .footer-payment-icons img {
    height: 22px;
    float: left;
    margin-right: 6px
}

#footer .footer-bottom .footer-payment-icons img:last-child {
    margin: 0
}

#footer .footer-title {
    color: #333;
    font-size: 12pt;
    font-weight: 600;
    line-height: 24px;
    margin-bottom: 15px;
    position: relative
}

.modal-newsletter .modal-dialog {
    max-width: 720px
}

.modal-newsletter .modal-body {
    padding: 0
}

.modal-newsletter .modal-body .close {
    display: inline-block;
    padding: 6px;
    color: #777;
    opacity: 1 !important;
    position: absolute;
    top: 5px;
    right: 15px;
    font-size: 18px;
    width: 34px;
    height: 34px;
    z-index: 2
}

.modal-newsletter .modal-title {
    text-align: center;
    text-transform: uppercase;
    font-size: 22px;
    font-weight: 600;
    letter-spacing: 2px;
    margin: 0 0 15px
}

.modal-newsletter .newsletter-form {
    display: block;
    position: relative;
    overflow: hidden;
    padding: 15px 30px 15px 0;
    min-height: 250px
}

.modal-newsletter .form-input {
    height: 42px;
    line-height: 42px;
    border-radius: 0 !important
}

.modal-newsletter .has-error {
    border: 1px solid rgba(220, 53, 69, .40) !important
}

.modal-newsletter .form-input:focus {
    border-color: #cfcfcf
}

.modal-newsletter .btn {
    padding: 10px 30px !important;
    display: block;
    width: 100%;
    line-height: 22px;
    border-radius: 0 !important;
    color: #fff !important;
    border: 0 !important;
    white-space: nowrap;
    margin-top: 10px
}

.modal-newsletter .btn:hover {
    opacity: .9
}

.modal-newsletter .modal-content {
    border-radius: 0
}

.form-logout {
    display: block;
    margin: 4px
}

.btn-logout {
    display: block;
    width: 100%;
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 4px 15px;
    line-height: 24px;
    color: #606060 !important;
    white-space: nowrap;
    text-align: left
}

.btn-logout:hover {
    background-color: #f5f5f5 !important
}

:-ms-input-placeholder {
    color: #9AA2AA !important
}

::-ms-input-placeholder {
    color: #9AA2AA !important
}

::placeholder {
    color: #9AA2AA !important
}

input:-ms-input-placeholder, textarea:-ms-input-placeholder {
    color: #9AA2AA !important
}

input::-ms-input-placeholder, textarea::-ms-input-placeholder {
    color: #9AA2AA !important
}

.pagination {
    width: 100%;
    display: block;
    position: relative;
    float: left;
    text-align: center
}

.pagination li {
    display: inline-block
}

.pagination li a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    min-width: 40px;
    border: 1px solid #eaeaf1;
    color: #63636a;
    text-align: center;
    -webkit-transition: all .2s ease-in-out 0;
    transition: all .2s ease-in-out 0;
    width: auto;
    border-radius: 2px !important;
    margin-bottom: 3px
}

.pagination .active a {
    color: #fff !important
}

.pagination .prev a {
    line-height: 34px
}

.pagination .next a {
    line-height: 34px
}

.pagination .page-first a {
    line-height: 34px
}

.pagination .page-last a {
    line-height: 34px
}

.pagination li a:hover, .pagination li a:focus, .pagination li a:active {
    color: #fff
}

.cursor-pointer {
    cursor: pointer
}

.no-records-found {
    text-align: center;
    padding: 20px 0;
    color: #888
}

.rss-item {
    display: table;
    width: 100%
}

.rss-item .left {
    display: table-cell;
    width: 250px
}

.rss-item .right {
    display: table-cell
}

.rss-item .right p {
    word-break: break-all
}

.btn-file-upload {
    position: relative;
    color: #fff !important;
    font-size: 13px !important;
    padding: 4px 16px !important;
    overflow: hidden !important;
    margin-right: 15px
}

.btn-file-upload input {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    filter: alpha(opacity=0);
    opacity: 0;
    background-color: transparent;
    color: transparent;
    cursor: pointer
}

.btn-file-upload-start-selling {
    padding: 10px 26px !important
}

.bn-container {
    display: flex;
    width: 100%;
    justify-content: center
}

.scrollup {
    display: none;
    position: fixed;
    bottom: 20px;
    right: 15px;
    color: #fff !important;
    z-index: 999999
}

.scrollup i {
    width: 40px;
    height: 40px;
    line-height: 40px;
    display: block;
    text-align: center;
    background-color: #222;
    border-radius: .1875rem;
    z-index: 999999
}

.error-404 {
    min-height: 600px;
    width: 100%;
    text-align: center;
    padding-top: 100px
}

.error-404 h1 {
    font-size: 60px;
    margin-bottom: 10px;
    font-weight: 600
}

.error-404 h2 {
    margin-top: 10px;
    font-size: 24px;
    font-weight: 600
}

.error-404 p {
    color: #888
}

.error-404 .btn {
    margin-top: 30px
}

.cookies-warning {
    position: fixed;
    left: 20px;
    bottom: 20px;
    width: 375px;
    max-width: 100%;
    padding: 35px 25px;
    background-color: #fff;
    border-radius: 2px;
    box-shadow: 0 0 12px #000;
    z-index: 9999999
}

.cookies-warning .text {
    width: 100%;
    margin-bottom: 20px;
    line-height: 26px;
    color: #333
}

.cookies-warning .close {
    position: absolute;
    top: 10px;
    right: 10px;
    font-size: 18px
}

.cookies-warning p {
    margin-bottom: 0
}

.load-more-spinner {
    display: none
}

.spinner {
    margin: 0 auto;
    width: 70px;
    text-align: center;
    padding: 10px 0;
    margin-bottom: 15px;
    margin-top: 15px
}

.spinner>div {
    width: 12px;
    height: 12px;
    border-radius: 100%;
    display: inline-block;
    -webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both;
    animation: sk-bouncedelay 1.4s infinite ease-in-out both
}

.spinner .bounce1 {
    -webkit-animation-delay: -.32s;
    animation-delay: -.32s
}

.spinner .bounce2 {
    -webkit-animation-delay: -.16s;
    animation-delay: -.16s
}

@-webkit-keyframes sk-bouncedelay {
    0%, 80%, 100% {
        -webkit-transform: scale(0)
    }

    40% {
        -webkit-transform: scale(1.0)
    }
}

@keyframes sk-bouncedelay {
    0%, 80%, 100% {
        -webkit-transform: scale(0);
        transform: scale(0)
    }

    40% {
        -webkit-transform: scale(1.0);
        transform: scale(1.0)
    }
}

::selection {
    color: #fff
}

::-moz-selection {
    color: #fff
}

.is-invalid {
    border: 1px solid rgba(220, 53, 69, .40) !important
}

.is-recaptcha-invalid>div {
    border: 1px solid rgba(220, 53, 69, .40) !important
}

.custom-select.is-invalid, .form-control.is-invalid, .was-validated .custom-select:invalid, .was-validated .form-control:invalid {
    border: 1px solid rgba(220, 53, 69, .40) !important
}

.product-variations .is-invalid {
    border: 2px solid rgba(220, 53, 69, .40) !important
}

.product-variations .is-recaptcha-invalid>div {
    border: .1rem solid rgba(220, 53, 69, .40) !important
}

.product-variations .custom-select.is-invalid, .form-control.is-invalid, .was-validated .custom-select:invalid, .was-validated .form-control:invalid {
    border: .1rem solid rgba(220, 53, 69, .40) !important
}

.was-validated .form-control:valid, .form-control.is-valid {
    background-image: none !important
}

form label.error {
    color: #d43f3a;
    display: none !important
}

form input.error {
    border: 1px solid rgba(220, 53, 69, .40) !important
}

form textarea.error {
    border: 1px solid rgba(220, 53, 69, .40) !important
}

form select.error {
    border: 1px solid rgba(220, 53, 69, .40) !important
}

.select2.error {
    border: 1px solid rgba(220, 53, 69, .40) !important
}

.display-none {
    display: none
}

.custom-control .custom-control-label {
    cursor: pointer ;
    outline: none !important;
    box-shadow: none !important
}

.custom-control-label::before, .custom-control-label::after {
    width: 1.125rem;
    height: 1.125rem;
    top: .1rem;
    cursor: pointer ;
    outline: none !important;
    box-shadow: none !important
}

.custom-radio {
    padding-left: 28px !important
}

.custom-radio .custom-control-label::before, .custom-radio .custom-control-label::after {
    width: 20px !important;
    height: 20px !important;
    top: .1rem;
    left: -28px !important
}

.custom-checkbox {
    padding-left: 1.6rem
}

.custom-checkbox .custom-control-label::before {
    border-color: #d7dbdf;
    border: .09375rem solid #d6d6d6;
    border-radius: .125rem !important;
    left: -1.6rem
}

.custom-checkbox .custom-control-label::after {
    left: -1.6rem;
    background-size: 10px 10px
}

.custom-checkbox-with-label .custom-control-label::before, .custom-checkbox-with-label .custom-control-label::after {
    top: 2px !important
}

.custom-radio .custom-control-label::before {
    border: .09375rem solid #d6d6d6
}

.custom-control-input:focus:not(:checked)~.custom-control-label::before {
    border-color: #d7dbdf !important
}

.custom-control-input:not(:disabled):active~.custom-control-label::before {
    background-color: #dee2e6 !important;
    border-color: #d7dbdf !important
}

.custom-radio .custom-control-input:checked~.custom-control-label::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e")
}

.custom-control-validate-error .custom-control-label::before {
    border-width: .09375rem;
    border-color: rgba(220, 53, 69, .60) !important
}

.custom-control-validate-error .custom-control-input:focus~.custom-control-label::before {
    border-width: .09375rem;
    border-color: rgba(220, 53, 69, .60) !important
}

.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after {
    background-image: none !important
}

.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before {
    background-color: transparent;
    border-color: #d7dbdf
}

.slide-in-150s {
    animation-duration: .15s;
    animation-name: slidein
}

.circle-loader {
    margin-bottom: 3.5em;
    border: 1px solid rgba(0, 0, 0, .2);
    border-left-color: #5cb85c;
    animation: loader-spin 1.2s infinite linear;
    position: relative;
    display: inline-block;
    vertical-align: top;
    border-radius: 50%;
    width: 7em;
    height: 7em
}

.checkmark {
    display: none
}

.checkmark.draw:after {
    animation-duration: 800ms;
    animation-timing-function: ease;
    animation-name: checkmark;
    transform: scaleX(-1) rotate(135deg)
}

.checkmark:after {
    opacity: 1;
    height: 3.5em;
    width: 1.75em;
    transform-origin: left top;
    border-right: 3px solid #5cb85c;
    border-top: 3px solid #5cb85c;
    content: "";
    left: 1.75em;
    top: 3.5em;
    position: absolute
}

@keyframes loader-spin {
    0% {
        transform: rotate(0deg)
    }

    100% {
        transform: rotate(360deg)
    }
}

@keyframes checkmark {
    0% {
        height: 0;
        width: 0;
        opacity: 1
    }

    20% {
        height: 0;
        width: 1.75em;
        opacity: 1
    }

    40% {
        height: 3.5em;
        width: 1.75em;
        opacity: 1
    }

    100% {
        height: 3.5em;
        width: 1.75em;
        opacity: 1
    }
}

.error-circle {
    margin-bottom: 3.5em;
    border: 1px solid #dc3545;
    position: relative;
    display: inline-block;
    vertical-align: top;
    border-radius: 50%;
    width: 7em;
    height: 7em;
    line-height: 7em;
    color: #dc3545
}

.error-circle i {
    font-size: 30px
}

@keyframes slidein {
    from {
        margin-left: 100%;
        width: 300%
    }

    to {
        margin-left: 0;
        width: 100%
    }
}

a:active, a:focus, a:hover {
    color: var(--vr-color-main)
}

.btn-custom, .modal-newsletter .btn {
    background-color: var(--vr-color-main);
    border-color: var(--vr-color-main)
}

.btn-block {
    background-color: var(--vr-color-main)
}

.btn-outline {
    border: 1px solidvar(--vr-color-main);
    color: var(--vr-color-main)
}

.btn-outline:hover {
    background-color: var(--vr-color-main) !important
}

.btn-filter-products-mobile {
    border: 1px solidvar(--vr-color-main);
    background-color: var(--vr-color-main)
}

.form-control:focus {
    border-color: var(--vr-color-main)
}

.link {
    color: var(--vr-color-main) !important
}

.top-search-bar .btn-search {
    background-color: var(--vr-color-main)
}

.nav-top .nav-top-right .nav li a:active, .nav-top .nav-top-right .nav li a:focus, .nav-top .nav-top-right .nav li a:hover {
    color: var(--vr-color-main)
}

.nav-top .nav-top-right .nav li .btn-sell-now {
    background-color: var(--vr-color-main) !important
}

.nav-main .navbar>.navbar-nav>.nav-item:hover .nav-link:before {
    background-color: var(--vr-color-main)
}

.product-share ul li a:hover {
    color: var(--vr-color-main)
}

.profile-buttons .social ul li a:hover {
    background-color: var(--vr-color-main);
    border-color: var(--vr-color-main)
}

.p-social-media a:hover {
    color: var(--vr-color-main)
}

.blog-content .blog-categories .active a {
    background-color: var(--vr-color-main)
}

.nav-payout-accounts .active, .nav-payout-accounts .show>.nav-link {
    background-color: var(--vr-color-main) !important
}

.pagination .active a {
    border: 1px solid var(--vr-color-main) !important;
    background-color: var(--vr-color-main) !important
}

.pagination li a:active, .pagination li a:focus, .pagination li a:hover {
    background-color: var(--vr-color-main);
    border: 1px solidvar(--vr-color-main)
}

.spinner>div {
    background-color: var(--vr-color-main)
}

::selection {
    background: var(--vr-color-main) !important
}

::-moz-selection {
    background: var(--vr-color-main) !important
}

.cookies-warning a {
    color: var(--vr-color-main)
}

.custom-checkbox .custom-control-input:checked~.custom-control-label::before {
    background-color: var(--vr-color-main)
}

.custom-control-input:checked~.custom-control-label::before {
    border-color: var(--vr-color-main);
    background-color: var(--vr-color-main)
}

.custom-control-variation .custom-control-input:checked~.custom-control-label {
    border-color: var(--vr-color-main) !important
}

.btn-wishlist .icon-heart {
    color: var(--vr-color-main)
}

.product-item-options .item-option .icon-heart {
    color: var(--vr-color-main)
}

.mega-menu .menu-subcategories ul li .link-view-all:hover {
    border-color: var(--vr-color-main) !important
}

.custom-select:focus {
    border-color: var(--vr-color-main)
}

.all-help-topics a {
    color: var(--vr-color-main)
}

.mds-scrollbar {
    overflow-y: scroll;
    scrollbar-color: #d6dce6 #fff;
    scrollbar-width: thin
}

.mds-scrollbar::-webkit-scrollbar {
    width: 6px
}

.mds-scrollbar::-webkit-scrollbar-track {
    background: #fff
}

.mds-scrollbar::-webkit-scrollbar-thumb {
    background: #d6dce6;
    border-radius: 5px
}

.mds-scrollbar::-webkit-scrollbar-thumb:hover {
    background: #d6dce6
}

.form-control:disabled, .form-control[readonly] {
    background-color: #fcfcfc
}

#baguetteBox-overlay .full-image img {
    background: #fcfcfc;
}

.product-short-description {
    line-height: 150%;
    letter-spacing: .02em;
    font-size: max(.8rem, 1.125vw);
    margin: 0;
}

.add-to-cart-block {
    display: block;
    text-align: center;
    padding: 5px;
    border: 1px solid #dedede;
    font-size: 11pt;
    font-weight: 500;
    transition: ease all .5s;
}

.add-to-cart-block:hover {
    border: 2px solid #000;
}

.main-slider .item.slick-slide:before {

    width: 60%;
    height: 100%;
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1
}

.main-slider .item.slick-slide a {
    position: relative;
    z-index: 2
}

.btn-whatsapp {
    background: #07a74e !important;
    color: #fff;
    padding: 10px 20px;
    font-size: 11pt;
}

.btn-whatsapp i {
    color: #fff;
}

.col-12.footer-contact-item {
    color: #595959;
    margin-bottom: 15px;
    font-size: 11pt;
    font-weight: 500;
}

.slider-bg {
    position: relative;
    width: 100%;
    height: 100%;
    border-radius: 0;
    background-size: cover;
    background-repeat: no-repeat;
    aspect-ratio: 16 / 5;
}

.main-slider .item {
    position: relative;
    overflow: hidden;
}

.row-slider-caption {
    position: relative;
    z-index: 2;
}

#main-slider .slider-video {
    position: absolute;
    width: 100%;
    top: -1px;
    height: 100%;
    object-fit: cover;
    border-radius: 0;
    height: 90vh;
}

.swiper {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1;
}

.Product-card {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    height: 100%;
    max-height: 95vh;
    min-height: 27.5rem;
    outline: none;
    z-index: unset;
}

.Product-card .okeReviews {
    background-color: transparent !important;
}

.Product-card > a > div {
    transition: all 0.7s cubic-bezier(0.76, 0, 0.24, 1);
}

.Product-card-alt {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
}

.Product-card-initial {
    height: 100%;
}

.Product-card-content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-flow: column;
    justify-content: space-between;
    padding: 1rem 0.75rem;
    z-index: 2;
    text-decoration: none !important;
    pointer-events: none;
}

.Product-card-content-alt .Product-card-cta {
    display: block;
}

.Product-card-content-title-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    gap: 0.6rem;
}

.Product-card-content-title-wrapper h2 {
    opacity: 0.99;
}

.Product-card-content-badges {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.5625rem;
    height: 100%;
}

.Product-card-details {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    flex-flow: column;
    justify-content: space-between;
    z-index: 10;
    pointer-events: all;
}

.Product-card-details > div {
    transition: all 0.7s cubic-bezier(0.76, 0, 0.24, 1);
}

.Product-card-title {
    justify-content: space-between;
    display: flex;
    text-transform: uppercase;
}

.Product-card-cta {
    margin-top: 1rem;
    transition: all 0.7s cubic-bezier(0.76, 0, 0.24, 1);
}

.Product-card .Product-card-option-header {
    display: flex;
    align-items: center;
    text-transform: uppercase;
    margin-right: 2.1875rem;
}

.Product-card .Product-card-option-image {
    width: 100%;
    max-width: max(75px, 25%);
    border-radius: 12px;
    margin-right: 1rem;
}

.Product-card .Product-card-option-link {
    padding: 0.75rem 0 0.55rem;
    margin-bottom: 0.75rem;
    border-bottom: 1px solid rgba(103, 100, 94, 0.2);
}

.Product-card .Product-card-option-link.no-border {
    border-bottom: none;
}

.Product-card .Product-card-option-variants {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 0.5rem;
}

.Product-card .Product-card-option-variant {
    width: 1.875rem;
    height: 1.875rem;
    border-radius: 50%;
    cursor: pointer;
    position: relative;
    background-size: cover;
    background-position: center;
    border: 0.5px solid;
}

.Product-card .Product-card-option-variant[data-size=Large] {
    width: 3.75rem;
    min-width: 3.75rem;
    height: 3.75rem;
}

.Product-card .Product-card-option-variant[data-size=Large]:after {
    display: none;
}

.Product-card .Product-card-option-variant__selected[data-size=Large] {
    border-width: 2px;
}

.Product-card .Product-card-option-variant__selected:after {
    content: "";
    position: absolute;
    width: 125%;
    height: 125%;
    left: 50%;
    border: 1px solid #67645e;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    top: 50%;
}

.Product-card .Product-card-with-variants-select {
    display: inline-flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid rgba(103, 100, 94, 0.2);
    cursor: pointer;
    width: 100%;
}

.Product-card .Product-card-with-variants-label {
    width: 100%;
    display: flex;
    align-items: center;
}

.ContentBadge {
    position: relative;
    margin: calc(clamp(1.3125rem, 2.7083333333vw, 2.4375rem) - clamp(1rem, 1.9444444444vw, 1.75rem)) calc(clamp(1rem, 1.4583333333vw, 1.3125rem) - clamp(0.75rem, 1.9444444444vw, 1.75rem)) auto auto;
    text-align: center;
    border-radius: 0.625rem;
    font-size: clamp(0.625rem, 0.7638888889vw, 0.8125rem);
    font-style: normal;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.14px;
    text-transform: lowercase;
    padding: 0.25rem 0.5rem;
    display: inline-block;
    width: max-content;
}

.swiper-pagination-bullet {
    cursor: pointer;
    background-color: #fff;
    display: inline-block;
    width: 0.5rem;
    height: 0.5rem;
    z-index: 100;
    border-radius: 50%;
    margin-right: 1rem;
    opacity: 0.5;
    transition: all 0.7s cubic-bezier(0.76, 0, 0.24, 1);
}

.swiper-pagination-bullet.active {
    opacity: 1;
    height: 0.75rem;
    width: 0.75rem;
}

.swiper .swiper-button-next, .swiper .swiper-button-prev {
    top: 0;
    margin-top: 0;
    transition: all 0.7s cubic-bezier(0.76, 0, 0.24, 1);
}

.swiper .swiper-button-next:after, .swiper .swiper-button-prev:after {
    font-size: 16px;
    font-weight: 700;
    color: #67645e;
}

.swiper .swiper-button-next.swiper-button-disabled, .swiper .swiper-button-prev.swiper-button-disabled {
    opacity: 0;
}

.swiper .swiper-button-next {
    top: 45%;
    right: 10px;
    width: 50px;
    height: 50px;
    background: rgba(255, 255, 255, 0.5);
    border-radius: 50%;
    mix-blend-mode: normal;
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
}

.swiper .swiper-button-next:hover {
    background: #67645e;
    mix-blend-mode: normal;
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
}

.swiper .swiper-button-next:hover:after {
    color: #fff;
}

.swiper .swiper-button-prev {
    display: flex;
    left: 10px;
    top: 45%;
    border-top-left-radius: 12px;
    border-bottom-left-radius: 12px;
    width: 50px;
    height: 50px;
    background: rgba(255, 255, 255, 0.5);
    border-radius: 50%;
    mix-blend-mode: normal;
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
}

.swiper .swiper-button-prev:disabled {
    display: none;
}

.swiper .swiper-button-prev:hover {
    background: #67645e;
    mix-blend-mode: normal;
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
}

.swiper .swiper-button-prev:hover:after {
    color: #fff;
}

.featured-swiper {
    position: relative;
    height: 60vh;
}

.swipe-hint {
    pointer-events: none;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    z-index: 100;
    opacity: 0;
    background: #ffffff80;
    border-radius: 50%;
    justify-content: center;
    align-items: center;
    width: 120px;
    height: 120px;
    transition: opacity .5s, visibility .5s, transform .5s;
    display: flex;
    position: absolute;
    transform: translate(-60px, -60px);
    box-shadow: 0 0 100px #00000040;
    text-transform: lowercase;
    font-family: Rektorat Heavy, Swiss Regular, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Open Sans, Helvetica Neue, sans-serif;
    letter-spacing: -.04em ;
    font-weight: 400 !important;
}

.single-product-item {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    height: 100%;
    outline: none;
    background: #f5f5f5;
    aspect-ratio: 2 / 3;
}

@media screen and (max-width:768px) {
    .single-product-item {
        min-height: auto;
        height: auto;
        padding: 15px;
    }
}

.product-face {
    position: relative;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

.product-image {
    position: relative;
    width: 100%;
    height: 100%;
}

.single-product-item .img-product, .single-product-item .product-image img {
    width: 100%;
    height: 100%;
    object-fit: scale-down;
    display: block;
    aspect-ratio: 9 / 16;
    overflow: hidden;
    padding-bottom: 120px;
    background: #fff;
}

.product-metas {
    display: grid;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 10px;
    z-index: 2;
    background: linear-gradient(to top, rgb(245 245 245), rgb(245 245 245));
    grid-template-columns: 70% 1fr;
    align-items: center;
    height: 120px;
}

.product-front-meta {display: grid;}

.product-front-price {
    display: flex;
    justify-content: center;
    align-items: flex-start;
}

.product-front {
    opacity: 1;
    visibility: visible;
    transition: opacity .25s ease, visibility .25s ease;
    z-index: 1;
}

.product-back {

    transition: opacity .25s ease, visibility .25s ease;
    z-index: 0;
    position: absolute;
}

.single-product-item:hover .product-front {
    opacity: 0;
    visibility: hidden;
}

.single-product-item:hover .product-back {
    opacity: 1;
    visibility: visible;
    z-index: 1;
}

.product-back-metas {
    justify-content: center;
    text-align: center;
    display: flex;
}

.product-buy-button {
    width: 100%;
    display: block;
    position: relative;
}

.product-back-meta .product-buy-button a {
    background: #b88544;
    color: #f8f6f2;
    box-shadow: inset 0 0 0 1px var(--base-color);
    font-size: 11pt;
    text-transform: uppercase;
    display: inline-block;
    padding: 15px 22px;
    border-radius: 30px;
    transition: linear all .25s;
    font-weight: 700;
}

.product-flip-card-back-title{
    display:-webkit-box;
    text-transform: uppercase;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.product-back-meta .product-buy-button:hover a {
    background: #67645e;
    color: #fff;
}

.product-back-meta .product-buy-button .price {
    font-weight: 700!important;
}

.product-metas .product-title a, .product-metas .product-front-price span {
    font-size: 14pt;
    margin: 0;
    font-weight: 700;
    line-height: 150%;
    letter-spacing: .02em;
    justify-content: space-between;
    display: -webkit-box;
    text-transform: uppercase;
    -webkit-line-clamp: 1;

    -webkit-box-orient: vertical;
    overflow: hidden;
}

.product-metas .product-title, .product-metas .product-front-price {
    justify-content: space-between;
    display: flex;
    text-transform: uppercase;
    margin: 5px 0;
    flex-direction: column;
}

.product-ratings {
    display: flex;
}

.banner-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 24px;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.banner-link-wrapper {
    display: block;
    text-decoration: none;
    border-radius: 8px;
    overflow: hidden;
}

.homepage-banner-container .banner-container {
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    height: 60vh;
}
.homepage-banner-item .col-index-bn{
    margin-bottom: 15px;
}

@media screen and (max-width:768px) {
  .homepage-banner-container .banner-container {
    height: auto;
}  
}

.banner-media {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.4s ease;
}

.banner-link-wrapper:hover .banner-media {
    transform: scale(1.05);
}

.banner-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    transition: background 0.3s ease;
}

.banner-subtitle {
    display: block;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 6px;
    opacity: 0.9;
}

.banner-title {
    white-space: break-spaces;
    width: 100%;
    margin: 0;
    font-family: inherit;
    font-weight: 700;
    font-size: max(1.5rem, 1.66667vw);
}

.banner-btn.btn-outline {
    border-radius: 40px;
    z-index: 1;
    box-shadow: inset 0 0 0 1px var(--base-color);
    border: 1px solid #fff;
    padding: 10px 35px;
    font-size: 13px;
}

.banner-link-wrapper:hover .banner-btn.btn-filled {
    background: #333;
}

.banner-link-wrapper:hover .banner-btn.btn-outline {
    background: rgba(255,255,255,0.1);
}

.banner-link-wrapper:hover .banner-btn i {
    transform: translateX(3px);
}

.banner-body {
    white-space: break-spaces;
    width: 100%;
    margin: 0;
    font-family: inherit;
    font-weight: 400;
    font-size: max(.8rem, 1.125vw);
    line-height: 150%;
    letter-spacing: .02em;
    text-rendering: optimizeLegibility;
    margin: 40px 0;
}

.dual-swipers {
    display: flex;
    gap: 16px;
    align-items: stretch;
    height: 70vh;
}

.left-swiper {
    width: 75%;
    border-radius: 12px;
    overflow: hidden;
    position: relative;
}

.right-swiper {
    width: 25%;
    border-radius: 12px;
    overflow: hidden;
    position: relative;
}

.left-swiper .swiper-wrapper, .right-swiper .swiper-wrapper {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
}

.left-swiper .swiper-slide, .right-swiper .swiper-slide {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.banner-media {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.left-swiper .swiper-pagination {
    bottom: 12px !important;
}

.left-swiper .swiper-pagination-bullet {
    opacity: .6;
}

.left-swiper .swiper-pagination-bullet-active {
    opacity: 1;
}

.right-swiper .swiper-button-prev, .right-swiper .swiper-button-next {
    width: 44px;
    height: 44px;
    border-radius: 999px;
    background: rgba(255,255,255,0.9);
    box-shadow: 0 6px 20px rgba(0,0,0,0.15);
}

.right-swiper .swiper-button-prev:after, .right-swiper .swiper-button-next:after {
    font-size: 18px;
}

.right-counter {
    z-index: 1;
    color: #67645e;
    text-align: end;
    width: auto;
    padding: max(1.25rem, 1.80556vw) max(.75rem, 2.43056vw);
    font-size: max(3.125rem, 3.47222vw);
    font-weight: 700;
    bottom: 0;
    left: auto;
    right: 0;
    position: absolute
}

.swiper-pagination-bullet-active {
    background: #fff!important;
    width: 16px!important;
    height: 16px!important;
    box-shadow: 0 0 10px 2px #fff!important;
}

.swiper-pagination-bullet {
    background: #fff!important;
    width: 12px!important;
    height: 12px!important;
}

.cta-container {
    display: flex;
    border-radius: 12px;
    background: #f1f0ed;
    overflow: hidden;
    align-items: stretch;
    min-height: 280px;
}

.cta-text-container {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: clamp(20px, 3vw, 50px);
    width: 50%;
    gap: 14px;
}

.cta-title {
    font-weight: 700;
    color: #67645e;
    line-height: 120%;
    font-size: clamp(20px, 2.5vw, 44px);
    margin: 0;
}

.cta-body {
    font-size: clamp(14px, 1.125vw, 18px);
    line-height: 150%;
    letter-spacing: .02em;
    text-rendering: optimizeLegibility;
}

.cta-button-container {
    margin-top: 10px;
}

.btn-rounded-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13pt;
    text-transform: uppercase;
    border: 1px solid #67645e;
    color: #67645e;
    padding: 10px 30px;
    border-radius: 30px;
    text-decoration: none;
    transition: all .2s ease;
}

.btn-rounded-cta:hover {
    background: #67645e;
    color: #fff;
}

.product-cta-banners .cta-image-container {
    width: 50%;
    position: relative;
}

.cta-media-link {
    display: block;
    width: 100%;
    height: 100%;
}

.cta-media {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.if-container {
    background: #f1f0ed;
    border-radius: 12px;
    padding: 60px 30px;
}

.if-header-left h3 {
    font-weight: 700;
    color: #67645e;
    line-height: 120%;
    font-size: clamp(20px, 2.5vw, 44px);
    margin: 0;
}

.instagram-feed-header {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.instagram-carousel-wrapper {
    position: relative;
    margin: 0 -15px;
    padding: 0 15px;
}

.instagram-swiper {
    overflow: hidden!important;
    padding: 10px 0 24px!important;

}

.instagram-slide {
    border-radius: 8px;
    overflow: hidden;
}

.instagram-scrollbar {
    height: 2px!important;
    border-radius: 999px;
    background: rgba(0,0,0,0.08);
    width: 85vw!important;
}

.instagram-scrollbar .swiper-scrollbar-drag {
    border-radius: 999px;
    background: rgba(0,0,0,0.35);
}

.instagram-carousel-nav {
    position: absolute;
    bottom: -5%;
    width: 40px;
    height: 40px;
    border: none;
    border-radius: 50%;
    background: rgba(255,255,255,0.9);
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    cursor: pointer;
    z-index: 10;
    transition: all 0.2s ease;
}

.instagram-carousel-nav:hover {
    background: #fff;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

.instagram-carousel-prev {
    right: 90px;
}

.instagram-carousel-next {
    right: 30px;
}

.instagram-post-image {
    aspect-ratio: 4 / 5;
    overflow: hidden;
}

.instagram-post-image.media-type-video img {
    margin-top: -25%;
    position: relative;
}

:root {
    --hap-content-max-height: 320px;

    --hap-content-min-height: 320px;

    --hap-bg: #f1f0ed;
    --hap-text: #67645e;
    --hap-border: rgba(103,100,94,0.25);
}

.home-accordion-pages {
    padding: 24px 0;
}

.hap-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;

    gap: 24px;
    align-items: stretch;
}

.hap-left {
    background: var(--hap-bg);
    border-radius: 16px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-height: 520px;
}

.hap-content {
    padding: 28px 28px 18px;
    flex: 1 1 auto;
}

.hap-content-inner {
    max-height: var(--hap-content-max-height);
    min-height: var(--hap-content-min-height);
    overflow-y: auto;
    padding-right: 10px;
    font-size: clamp(18px, 1.6vw, 34px);
    line-height: 1.25;
    color: var(--hap-text);
    scroll-behavior: smooth;
    transition: opacity .25s ease, transform .25s ease;
    will-change: opacity, transform;
}

.hap-content-inner::-webkit-scrollbar {
    width: 8px;
}

.hap-content-inner::-webkit-scrollbar-track {
    background: rgba(0,0,0,0.06);
    border-radius: 999px;
}

.hap-content-inner::-webkit-scrollbar-thumb {
    background: rgba(0,0,0,0.25);
    border-radius: 999px;
}

.hap-page-link {
    margin-top: 18px;
}

.hap-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(103,100,94,0.55);
    color: var(--hap-text);
    background: transparent;
    border-radius: 999px;
    padding: 10px 18px;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: .06em;
    text-decoration: none;
    transition: all .2s ease;
}

.hap-btn:hover {
    background: rgba(103,100,94,0.10);
}

.hap-links {
    border-top: 1px solid var(--hap-border);
    padding: 12px 0;
}

.hap-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.hap-item + .hap-item {
    border-top: 1px solid rgba(103,100,94,0.18);
}

.hap-link {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 16px 22px;
    background: transparent;
    border: 0;
    cursor: pointer;
    font-size: clamp(18px, 1.6vw, 34px);
    font-weight: 700;
    color: rgba(103,100,94,0.55);
    text-align: left;
    transition: color .25s ease, background-color .25s ease, transform .25s ease;
}

.hap-link:hover {
    background: rgba(0,0,0,0.03);
    color: rgba(103,100,94,0.9);
    transform: translateX(2px);
}

.hap-link.is-active {
    color: var(--hap-text);
    background: rgba(0,0,0,0.02);
}

.hap-right {
    border-radius: 16px;
    overflow: hidden;
    background: #e8ecea;
    min-height: 520px;
}

.hap-image {
    width: 100%;
    height: 100%;
}

.hap-image-item {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: fill;
    transition: opacity .25s ease, transform .25s ease;
    will-change: opacity, transform;
    aspect-ratio: 1 / 1;
}

.hap-image-item.is-preview {
    transform: scale(1.01);
}

.hap-fade-out {
    opacity: 0;
    transform: translateY(4px);
}

.hap-fade-in {
    opacity: 1;
    transform: translateY(0);
}

.site-footer {
    --footer-bg: #faf9f7;
    --footer-text: #1d1d1f;
    --footer-text-secondary: #67645e;
    --footer-text-muted: #8a8680;
    --footer-border: rgba(103, 100, 94, 0.12);
    --footer-accent: #d4a574;
    --footer-accent-dark: #c49464;
    --footer-hover: rgba(212, 165, 116, 0.08);
    --footer-radius: 16px;
    --footer-radius-sm: 10px;
    --footer-transition: 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    --footer-font: "Montserrat", -apple-system, BlinkMacSystemFont, sans-serif;
}

.site-footer {
    background: var(--footer-bg);
    padding: 0;
    border-top: none;
}

.site-footer-inner {
    margin: 0 auto;
    padding: 60px 40px 0;
}

.footer-grid {
    display: grid;
    grid-template-columns: 380px 1fr;
    gap: 60px;
    align-items: start;
    border-radius: 0;
    overflow: visible;
}

.footer-newsletter {
    padding: 0;
    background: transparent;
    border-right: none;
    min-height: auto;
}

.footer-lead {
    font-family: var(--footer-font);
    font-size: 24px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--footer-text);
    margin: 0 0 12px;
    letter-spacing: -0.02em;
}

.footer-desc {
    font-family: var(--footer-font);
    font-size: 15px;
    line-height: 1.6;
    color: var(--footer-text-secondary);
    margin: 0 0 24px;
    max-width: 340px;
}

.footer-form {
    display: flex;
    gap: 0;
    border: 1px solid var(--footer-border);
    border-radius: var(--footer-radius-sm);
    overflow: hidden;
    background: #fff;
    max-width: 100%;
    transition: all var(--footer-transition);
}

.footer-form:focus-within {
    border-color: var(--footer-accent);
    box-shadow: 0 0 0 3px rgba(212, 165, 116, 0.1);
}

.footer-input {
    flex: 1 1 auto;
    border: 0;
    padding: 16px 18px;
    font-family: var(--footer-font);
    font-size: 14px;
    outline: none;
    background: transparent;
    color: var(--footer-text);
}

.footer-input::placeholder {
    color: var(--footer-text-muted);
}

.footer-submit {
    border: 0;
    padding: 16px 24px;
    font-family: var(--footer-font);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    background: var(--footer-accent);
    color: #fff;
    cursor: pointer;
    transition: all var(--footer-transition);
}

.footer-submit:hover {
    background: var(--footer-accent-dark);
}

.footer-form-response {
    margin-top: 12px;
    font-family: var(--footer-font);
    font-size: 13px;
    color: var(--footer-text-secondary);
}

.footer-privacy {
    margin-top: 16px;
    font-family: var(--footer-font);
    font-size: 13px;
    color: var(--footer-text-muted);
    line-height: 1.5;
}

.footer-privacy a {
    color: var(--footer-text-secondary);
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-color: var(--footer-border);
    transition: all var(--footer-transition);
}

.footer-privacy a:hover {
    color: var(--footer-accent-dark);
    text-decoration-color: var(--footer-accent);
}

.footer-columns {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
    background: transparent;
}

.footer-col {
    padding: 0;
    border-right: none;
}

.footer-col:last-child {
    border-right: 0;
}

.footer-title {
    margin: 0 0 20px;
    font-family: var(--footer-font);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--footer-text-muted);
}

.footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-links li {
    margin: 0 0 12px;
}

.footer-links a {
    font-family: var(--footer-font);
    color: var(--footer-text-secondary);
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
    transition: all var(--footer-transition);
    display: inline-block;
}

.footer-links a:hover {
    color: var(--footer-accent-dark);
    transform: translateX(3px);
}

.footer-links-icons a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.fi {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: rgba(103, 100, 94, 0.08);
    color: var(--footer-text-secondary);
    transition: all var(--footer-transition);
}

.footer-links a:hover .fi {
    background: var(--footer-accent);
    color: #fff;
}

.footer-bottom {
    margin-top: 48px;
    padding: 24px 0;
    border-top: 1px solid var(--footer-border);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
    color: var(--footer-text-secondary);
}

.footer-locale {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    font-family: var(--footer-font);
    font-size: 13px;
}

.footer-flag {
    width: 20px;
    height: 14px;
    object-fit: cover;
    border-radius: 3px;
    display: block;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.footer-selectors {
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

.footer-dropdown {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.footer-dropdown-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid var(--footer-border);
    background: #fff;
    color: var(--footer-text-secondary);
    padding: 10px 14px;
    border-radius: var(--footer-radius-sm);
    font-family: var(--footer-font);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: all var(--footer-transition);
}

.footer-dropdown-btn:hover {
    border-color: var(--footer-accent);
}

.footer-dropdown-menu {
    position: absolute;
    left: 0;
    top: auto;
    bottom: calc(100% + 8px);
    transform-origin: bottom;
    min-width: 160px;
    background: #fff;
    border: 1px solid var(--footer-border);
    border-radius: var(--footer-radius-sm);
    padding: 6px;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
    display: none;
    z-index: 50;
    animation: footerDropdownUp 0.15s ease-out;
}

.footer-dropdown:hover .footer-dropdown-menu, .footer-dropdown:focus-within .footer-dropdown-menu {
    display: block;
}

.footer-dropdown-menu a, .footer-dropdown-menu button {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 8px;
    text-decoration: none;
    font-family: var(--footer-font);
    color: var(--footer-text-secondary);
    background: transparent;
    border: 0;
    cursor: pointer;
    font-size: 13px;
    font-weight: 500;
    text-align: left;
    transition: all var(--footer-transition);
}

.footer-dropdown-menu a:hover, .footer-dropdown-menu button:hover {
    background: var(--footer-hover);
    color: var(--footer-accent-dark);
}

.footer-dropdown-menu .active {
    font-weight: 600;
    background: var(--footer-hover);
    color: var(--footer-accent-dark);
}

.footer-currency-form {
    margin: 0;
    padding: 0;
}

@keyframes footerDropdownUp {
    from {
        opacity: 0;
        transform: translateY(6px) scale(0.98);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.footer-copy {
    font-family: var(--footer-font);
    font-size: 13px;
    color: var(--footer-text-muted);
    order: 2;
}

.footer-payments {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    order: 3;
}

.footer-payments img {
    height: 20px;
    width: auto;
    display: block;
    opacity: 0.7;
    transition: opacity var(--footer-transition);
}

.footer-payments img:hover {
    opacity: 1;
}

.footer-logo-section {
    margin-top: 40px;
    background: var(--footer-bg);
    border-bottom: none;
    border-top: 1px solid var(--footer-border);
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    overflow: hidden;
}

h2.footer-big-logo {
    font-family: var(--nefin-font-serif);
    font-size: clamp(120px, 28vw, 320px);
    line-height: 0.8;
    padding: 40px 0;
    margin: 0 auto;
    text-align: center;
    letter-spacing: 0.05em;
    color: var(--footer-text);
    opacity: 0.06;
}

.nf-reviews-section {
    --review-bg: #ffffff;
    --review-card-bg: #faf9f7;
    --review-text: #1d1d1f;
    --review-text-secondary: #67645e;
    --review-text-muted: #8a8680;
    --review-border: rgba(103, 100, 94, 0.1);
    --review-accent: #d4a574;
    --review-accent-dark: #c49464;
    --review-star: #d4a574;
    --review-star-empty: #e0ddd8;
    --review-positive: #10b981;
    --review-radius: 16px;
    --review-radius-sm: 10px;
    --review-transition: 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    --review-font: "Montserrat", -apple-system, BlinkMacSystemFont, sans-serif;
}

.nf-reviews-section {
    background: var(--review-bg);
    padding: 0;
}

.nf-reviews-container {
    max-width: 100%;
}

.nf-reviews-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 32px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--review-border);
}

.nf-reviews-header-left {
    display: flex;
    align-items: baseline;
    gap: 12px;
}

.nf-reviews-title {
    font-family: var(--review-font);
    font-size: 24px;
    font-weight: 700;
    color: var(--review-text);
    margin: 0;
    letter-spacing: -0.02em;
}

.nf-reviews-count {
    font-family: var(--review-font);
    font-size: 14px;
    color: var(--review-text-muted);
}

.nf-btn-add-review {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    background: var(--review-accent);
    color: #fff;
    border: none;
    border-radius: var(--review-radius-sm);
    font-family: var(--review-font);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all var(--review-transition);
}

.nf-btn-add-review:hover {
    background: var(--review-accent-dark);
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(212, 165, 116, 0.3);
}

.nf-btn-add-review svg {
    flex-shrink: 0;
}

.nf-reviews-stats {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 40px;
    padding: 28px 32px;
    background: var(--review-card-bg);
    border-radius: var(--review-radius);
    margin-bottom: 28px;
}

.nf-reviews-stats-summary {
    display: flex;
    align-items: center;
}

.nf-reviews-avg-rating {
    display: flex;
    align-items: center;
    gap: 16px;
}

.nf-reviews-avg-number {
    font-family: var(--review-font);
    font-size: 56px;
    font-weight: 700;
    color: var(--review-text);
    line-height: 1;
    letter-spacing: -0.03em;
}

.nf-reviews-avg-details {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.nf-reviews-avg-stars {
    display: flex;
    gap: 3px;
}

.nf-reviews-total-label {
    font-family: var(--review-font);
    font-size: 13px;
    color: var(--review-text-muted);
}

.nf-star {
    fill: var(--review-star-empty);
    stroke: none;
    transition: fill var(--review-transition);
}

.nf-star.filled {
    fill: var(--review-star);
}

.nf-star-mini {
    fill: var(--review-star-empty);
    stroke: none;
}

.nf-star-mini.filled {
    fill: var(--review-star);
}

.nf-reviews-stats-bars {
    display: flex;
    flex-direction: column;
    gap: 10px;
    justify-content: center;
}

.nf-rating-bar-row {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    padding: 4px 8px;
    margin: -4px -8px;
    border-radius: 8px;
    transition: all var(--review-transition);
}

.nf-rating-bar-row:hover {
    background: rgba(212, 165, 116, 0.08);
}

.nf-rating-bar-row.active {
    background: rgba(212, 165, 116, 0.15);
}

.nf-rating-bar-label {
    display: flex;
    align-items: center;
    gap: 4px;
    font-family: var(--review-font);
    font-size: 13px;
    font-weight: 600;
    color: var(--review-text-secondary);
    min-width: 36px;
}

.nf-rating-bar-track {
    flex: 1;
    height: 8px;
    background: rgba(103, 100, 94, 0.1);
    border-radius: 4px;
    overflow: hidden;
}

.nf-rating-bar-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--review-accent) 0%, var(--review-accent-dark) 100%);
    border-radius: 4px;
    transition: width 0.5s ease;
}

.nf-rating-bar-count {
    font-family: var(--review-font);
    font-size: 13px;
    font-weight: 500;
    color: var(--review-text-muted);
    min-width: 28px;
    text-align: right;
}

.nf-reviews-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--review-border);
}

.nf-reviews-sort {
    display: flex;
    align-items: center;
    gap: 10px;
}

.nf-reviews-sort label {
    font-family: var(--review-font);
    font-size: 13px;
    color: var(--review-text-muted);
    margin: 0;
}

.nf-reviews-sort-select {
    padding: 10px 36px 10px 14px;
    background: var(--review-card-bg);
    border: 1px solid var(--review-border);
    border-radius: var(--review-radius-sm);
    font-family: var(--review-font);
    font-size: 13px;
    font-weight: 500;
    color: var(--review-text);
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%2367645e' stroke-width='2' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    transition: all var(--review-transition);
}

.nf-reviews-sort-select:hover, .nf-reviews-sort-select:focus {
    border-color: var(--review-accent);
    outline: none;
}

.nf-reviews-filter-clear {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    background: transparent;
    border: 1px solid var(--review-border);
    border-radius: var(--review-radius-sm);
    font-family: var(--review-font);
    font-size: 12px;
    font-weight: 500;
    color: var(--review-text-secondary);
    cursor: pointer;
    transition: all var(--review-transition);
}

.nf-reviews-filter-clear:hover {
    background: var(--review-card-bg);
    color: var(--review-accent-dark);
}

.nf-reviews-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.nf-review-card {
    padding: 24px 28px;
    background: var(--review-card-bg);
    border-radius: var(--review-radius);
    transition: all var(--review-transition);
}

.nf-review-card:hover {
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.06);
}

.nf-review-card.nf-review-highlight {
    animation: reviewHighlight 0.5s ease;
}

@keyframes reviewHighlight {
    0%, 100% {
        background: var(--review-card-bg);
    }

    50% {
        background: rgba(212, 165, 116, 0.1);
    }
}

.nf-review-card-header {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 16px;
}

.nf-review-avatar {
    flex-shrink: 0;
}

.nf-review-avatar img {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #fff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.nf-review-meta {
    flex: 1;
    min-width: 0;
}

.nf-review-author {
    display: block;
    font-family: var(--review-font);
    font-size: 15px;
    font-weight: 600;
    color: var(--review-text);
    text-decoration: none;
    margin-bottom: 6px;
    transition: color var(--review-transition);
}

.nf-review-author:hover {
    color: var(--review-accent-dark);
}

.nf-review-meta-row {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

.nf-review-rating {
    display: flex;
    gap: 2px;
}

.nf-review-date {
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: var(--review-font);
    font-size: 12px;
    color: var(--review-text-muted);
}

.nf-review-date svg {
    opacity: 0.6;
}

.nf-review-badge {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 20px;
    font-family: var(--review-font);
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.nf-review-badge-positive {
    background: rgba(16, 185, 129, 0.1);
    color: var(--review-positive);
}

.nf-review-content {
}

.nf-review-content p {
    font-family: var(--review-font);
    font-size: 14px;
    line-height: 1.7;
    color: var(--review-text-secondary);
    margin: 0;
}

.nf-review-card-footer {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 16px;
    padding-top: 16px;
    padding-left: 68px;
    border-top: 1px solid var(--review-border);
}

.nf-review-action {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background: transparent;
    border: none;
    border-radius: 6px;
    font-family: var(--review-font);
    font-size: 12px;
    font-weight: 500;
    color: var(--review-text-muted);
    cursor: pointer;
    transition: all var(--review-transition);
}

.nf-review-action:hover {
    background: var(--review-card-bg);
    color: var(--review-text-secondary);
}

.nf-review-report:hover {
    color: #dc2626;
}

.nf-reviews-empty {
    text-align: center;
    padding: 60px 20px;
    background: var(--review-card-bg);
    border-radius: var(--review-radius);
}

.nf-reviews-empty-icon {
    margin-bottom: 20px;
}

.nf-reviews-empty-icon svg {
    color: var(--review-text-muted);
    opacity: 0.4;
}

.nf-reviews-empty h3 {
    font-family: var(--review-font);
    font-size: 18px;
    font-weight: 600;
    color: var(--review-text);
    margin: 0 0 8px;
}

.nf-reviews-empty p {
    font-family: var(--review-font);
    font-size: 14px;
    color: var(--review-text-muted);
    margin: 0 0 24px;
}

.nf-modal-content {
    border: none;
    border-radius: var(--review-radius);
    box-shadow: 0 25px 80px rgba(0, 0, 0, 0.2);
}

.nf-modal-header {
    padding: 20px 24px;
    border-bottom: 1px solid var(--review-border);
}

.nf-modal-header .modal-title {
    font-family: var(--review-font);
    font-size: 18px;
    font-weight: 600;
    color: var(--review-text);
}

.nf-modal-close {
    background: none;
    border: none;
    padding: 4px;
    cursor: pointer;
    color: var(--review-text-muted);
    transition: color var(--review-transition);
}

.nf-modal-close:hover {
    color: var(--review-text);
}

.nf-modal-footer {
    padding: 16px 24px;
    border-top: 1px solid var(--review-border);
    display: flex;
    gap: 12px;
    justify-content: flex-end;
}

.nf-form-group {
    margin-bottom: 0;
}

.nf-form-label {
    display: block;
    font-family: var(--review-font);
    font-size: 13px;
    font-weight: 600;
    color: var(--review-text);
    margin-bottom: 8px;
}

.nf-form-textarea {
    width: 100%;
    padding: 14px 16px;
    background: var(--review-card-bg);
    border: 1px solid var(--review-border);
    border-radius: var(--review-radius-sm);
    font-family: var(--review-font);
    font-size: 14px;
    color: var(--review-text);
    resize: vertical;
    transition: all var(--review-transition);
}

.nf-form-textarea:focus {
    outline: none;
    border-color: var(--review-accent);
    box-shadow: 0 0 0 3px rgba(212, 165, 116, 0.1);
}

.nf-btn-primary {
    padding: 12px 24px;
    background: var(--review-accent);
    color: #fff;
    border: none;
    border-radius: var(--review-radius-sm);
    font-family: var(--review-font);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all var(--review-transition);
}

.nf-btn-primary:hover {
    background: var(--review-accent-dark);
}

.nf-btn-secondary {
    padding: 12px 24px;
    background: transparent;
    color: var(--review-text-secondary);
    border: 1px solid var(--review-border);
    border-radius: var(--review-radius-sm);
    font-family: var(--review-font);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all var(--review-transition);
}

.nf-btn-secondary:hover {
    background: var(--review-card-bg);
}

@media (max-width: 768px) {
    .nf-reviews-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }

    .nf-reviews-stats {
        grid-template-columns: 1fr;
        gap: 24px;
        padding: 20px 24px;
    }

    .nf-reviews-avg-number {
        font-size: 42px;
    }

    .nf-reviews-toolbar {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .nf-review-card {
        padding: 20px;
    }

    .nf-review-card-header {
        flex-wrap: wrap;
    }

    .nf-review-badge {
        margin-left: 0;
        margin-top: 8px;
        order: 3;
        width: 100%;
        justify-content: center;
    }

    .nf-review-content, .nf-review-card-footer {
        padding-left: 0;
    }

    .nf-review-avatar img {
        width: 44px;
        height: 44px;
    }
}

@media (max-width: 480px) {
    .nf-reviews-title {
        font-size: 20px;
    }

    .nf-btn-add-review {
        width: 100%;
        justify-content: center;
    }

    .nf-reviews-stats {
        padding: 16px 20px;
    }

    .nf-reviews-avg-number {
        font-size: 36px;
    }

    .nf-rating-bar-row {
        gap: 8px;
    }

    .nf-review-meta-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
}

@media (max-width: 1200px) {
    .footer-grid {
        grid-template-columns: 320px 1fr;
        gap: 48px;
    }

    .footer-columns {
        gap: 24px;
    }
}

@media (max-width: 1024px) {
    .site-footer-inner {
        padding: 48px 32px 0;
    }

    .footer-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .footer-newsletter {
        max-width: 480px;
    }

    .footer-columns {
        grid-template-columns: repeat(4, 1fr);
        gap: 20px;
    }
}

@media (max-width: 768px) {
    .site-footer-inner {
        padding: 40px 24px 0;
    }

    .footer-columns {
        grid-template-columns: repeat(2, 1fr);
        gap: 32px 24px;
    }

    .footer-lead {
        font-size: 20px;
    }

    .footer-bottom {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 16px;
    }

    .footer-locale {
        order: 1;
    }

    .footer-copy {
        order: 2;
    }

    .footer-payments {
        order: 3;
    }

    h2.footer-big-logo {
        font-size: clamp(80px, 22vw, 200px);
        padding: 24px 0;
    }
}

@media (max-width: 480px) {
    .site-footer-inner {
        padding: 32px 16px 0;
    }

    .footer-columns {
        grid-template-columns: 1fr 1fr;
        gap: 24px 16px;
    }

    .footer-form {
        flex-direction: column;
    }

    .footer-input {
        padding: 14px 16px;
        border-bottom: 1px solid var(--footer-border);
    }

    .footer-submit {
        padding: 14px 16px;
    }

    .footer-title {
        font-size: 10px;
    }

    .footer-links a {
        font-size: 13px;
    }

    h2.footer-big-logo {
        font-size: clamp(60px, 18vw, 140px);
        letter-spacing: 0.02em;
    }
}

.nf-megamenu {
    --mega-bg: #ffffff;
    --mega-sidebar-bg: #faf9f7;
    --mega-border: rgba(103, 100, 94, 0.1);
    --mega-text: #1d1d1f;
    --mega-text-secondary: #67645e;
    --mega-text-muted: #8a8680;
    --mega-accent: #d4a574;
    --mega-accent-dark: #c49464;
    --mega-hover: rgba(212, 165, 116, 0.08);
    --mega-shadow: 0 25px 80px rgba(0, 0, 0, 0.15), 0 10px 30px rgba(0, 0, 0, 0.1);
    --mega-radius: 20px;
    --mega-radius-sm: 12px;
    --mega-transition: 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    --mega-font: "Montserrat", -apple-system, BlinkMacSystemFont, sans-serif;
}

.nf-megamenu {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    margin-top: 10px;
    width: auto;

    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(10px);
    transition: opacity var(--mega-transition), transform var(--mega-transition), visibility var(--mega-transition);
}

.nf-megamenu.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

.nf-megamenu-backdrop {
    position: absolute;
    inset: -10px;
    background: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-radius: calc(var(--mega-radius) + 10px);
    z-index: -1;
}

.nf-megamenu-container {
    display: grid;
    grid-template-columns: 280px 1fr;
    background: var(--mega-bg);
    border-radius: var(--mega-radius);
    box-shadow: var(--mega-shadow);
    border: 1px solid var(--mega-border);
    overflow: hidden;
    max-height: calc(100vh - 120px);
}

.nf-megamenu-sidebar {
    background: var(--mega-sidebar-bg);
    border-right: 1px solid var(--mega-border);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.nf-megamenu-sidebar-header {
    padding: 20px 24px 16px;
    border-bottom: 1px solid var(--mega-border);
}

.nf-megamenu-sidebar-title {
    font-family: var(--mega-font);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--mega-text-muted);
}

.nf-megamenu-nav {
    flex: 1;
    overflow-y: auto;
    padding: 12px 0;
    scrollbar-width: thin;
    scrollbar-color: rgba(0,0,0,0.1) transparent;
}

.nf-megamenu-nav::-webkit-scrollbar {
    width: 4px;
}

.nf-megamenu-nav::-webkit-scrollbar-thumb {
    background: rgba(0,0,0,0.1);
    border-radius: 4px;
}

.nf-megamenu-nav-item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 24px;
    text-decoration: none;
    color: var(--mega-text);
    font-family: var(--mega-font);
    font-size: 14px;
    font-weight: 500;
    transition: all var(--mega-transition);
    position: relative;
    cursor: pointer;
}

.nf-megamenu-nav-item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    bottom: 8px;
    width: 3px;
    background: var(--mega-accent);
    border-radius: 0 3px 3px 0;
    opacity: 0;
    transform: scaleY(0);
    transition: all var(--mega-transition);
}

.nf-megamenu-nav-item:hover {
    background: var(--mega-hover);
}

.nf-megamenu-nav-item.is-active {
    background: var(--mega-hover);
    color: var(--mega-accent-dark);
}

.nf-megamenu-nav-item.is-active::before {
    opacity: 1;
    transform: scaleY(1);
}

.nf-megamenu-nav-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: #fff;
    border: 1px solid var(--mega-border);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex-shrink: 0;
    transition: all var(--mega-transition);
}

.nf-megamenu-nav-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.nf-megamenu-nav-icon-placeholder {
    background: linear-gradient(135deg, #f5f4f2 0%, #e8e6e3 100%);
}

.nf-megamenu-nav-icon-placeholder svg {
    width: 20px;
    height: 20px;
    color: var(--mega-text-muted);
}

.nf-megamenu-nav-item.is-active .nf-megamenu-nav-icon {
    border-color: var(--mega-accent);
    box-shadow: 0 4px 12px rgba(212, 165, 116, 0.2);
}

.nf-megamenu-nav-text {
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.nf-megamenu-nav-arrow {
    width: 20px;
    height: 20px;
    opacity: 0;
    transform: translateX(-4px);
    transition: all var(--mega-transition);
}

.nf-megamenu-nav-arrow svg {
    width: 16px;
    height: 16px;
    color: var(--mega-accent);
}

.nf-megamenu-nav-item:hover .nf-megamenu-nav-arrow, .nf-megamenu-nav-item.is-active .nf-megamenu-nav-arrow {
    opacity: 1;
    transform: translateX(0);
}

.nf-megamenu-sidebar-footer {
    padding: 16px 20px;
    border-top: 1px solid var(--mega-border);
}

.nf-megamenu-all-link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 16px;
    background: var(--mega-accent);
    color: #fff;
    border-radius: var(--mega-radius-sm);
    text-decoration: none;
    font-family: var(--mega-font);
    font-size: 13px;
    font-weight: 600;
    transition: all var(--mega-transition);
}

.nf-megamenu-all-link svg {
    width: 16px;
    height: 16px;
    transition: transform var(--mega-transition);
}

.nf-megamenu-all-link:hover {
    background: var(--mega-accent-dark);
    color: #fff;
}

.nf-megamenu-all-link:hover svg {
    transform: translateX(4px);
}

.nf-megamenu-content {
    padding: 24px 28px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.nf-megamenu-content-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--mega-border);
}

.nf-megamenu-category-title {
    font-family: var(--mega-font);
    font-size: 20px;
    font-weight: 700;
    color: var(--mega-text);
    margin: 0;
    letter-spacing: -0.02em;
}

.nf-megamenu-see-all {
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: var(--mega-font);
    font-size: 13px;
    font-weight: 600;
    color: var(--mega-accent-dark);
    text-decoration: none;
    transition: all var(--mega-transition);
}

.nf-megamenu-see-all svg {
    width: 16px;
    height: 16px;
    transition: transform var(--mega-transition);
}

.nf-megamenu-see-all:hover {
    color: var(--mega-text);
}

.nf-megamenu-see-all:hover svg {
    transform: translateX(4px);
}

.nf-megamenu-products {
    flex: 1;
    position: relative;
    margin: 0 -8px;
    padding: 0 40px;
}

.nf-megamenu-swiper {
    overflow: hidden;
}

.nf-megamenu-swiper .swiper-wrapper {
    align-items: stretch;
}

.nf-megamenu-swiper .swiper-slide {
    height: auto;
}

.nf-megamenu-product {
    display: flex;
    flex-direction: column;
    background: var(--mega-sidebar-bg);
    border-radius: var(--mega-radius-sm);
    overflow: hidden;
    text-decoration: none;
    color: var(--mega-text);
    transition: all var(--mega-transition);
    border: 1px solid transparent;
}

.nf-megamenu-product:hover {
    background: #fff;
    border-color: var(--mega-border);
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.1);
}

.nf-megamenu-product-image {
    position: relative;
    aspect-ratio: 1 / 1;
    flex-shrink: 0;
    background: #fff;
    overflow: hidden;
}

.nf-megamenu-product-image img {
    width: 100%;
    height: 100%;
    object-fit: scale-down;
    transition: transform 0.4s ease;
}

.nf-megamenu-product:hover .nf-megamenu-product-image img {
    transform: scale(1.05);
}

.nf-megamenu-product-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    padding: 4px 10px;
    background: #e74c3c;
    color: #fff;
    font-family: var(--mega-font);
    font-size: 11px;
    font-weight: 700;
    border-radius: 6px;
    z-index: 2;
}

.nf-megamenu-product-info {
    padding: 10px 12px;
    display: flex;
    flex-direction: column;
}

.nf-megamenu-product-title {
    font-family: var(--mega-font);
    font-size: 13px;
    font-weight: 600;
    color: var(--mega-text);
    margin: 0 0 8px;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.nf-megamenu-product-price {
    margin-top: auto;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.nf-megamenu-price-old {
    font-family: var(--mega-font);
    font-size: 12px;
    color: var(--mega-text-muted);
    text-decoration: line-through;
}

.nf-megamenu-price-current {
    font-family: var(--mega-font);
    font-size: 14px;
    font-weight: 700;
    color: var(--mega-text);
}

.nf-megamenu-nav-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--mega-accent);
    border: none;
    box-shadow: 0 4px 16px rgba(212, 165, 116, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    transition: all var(--mega-transition);
}

.nf-megamenu-nav-btn svg {
    width: 18px;
    height: 18px;
    color: #fff;
}

.nf-megamenu-nav-btn:hover {
    background: var(--mega-accent-dark);
    transform: translateY(-50%) scale(1.1);
}

.nf-megamenu-nav-btn:hover svg {
    color: #fff;
}

.nf-megamenu-nav-btn:disabled, .nf-megamenu-nav-btn.swiper-button-disabled {
    opacity: 0.3;
    cursor: not-allowed;
    pointer-events: none;
}

.nf-megamenu-prev {
    left: 0;
}

.nf-megamenu-next {
    right: 0;
}

.nf-megamenu-promo {
    display: flex;
    gap: 12px;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid var(--mega-border);
}

.nf-megamenu-promo-card {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    background: var(--mega-sidebar-bg);
    border-radius: var(--mega-radius-sm);
    text-decoration: none;
    color: var(--mega-text);
    transition: all var(--mega-transition);
    border: 1px solid transparent;
}

.nf-megamenu-promo-card:hover {
    background: #fff;
    border-color: var(--mega-border);
    transform: translateY(-2px);
}

.nf-megamenu-promo-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.nf-megamenu-promo-icon svg {
    width: 18px;
    height: 18px;
    color: var(--mega-text-secondary);
}

.nf-megamenu-promo-card:hover .nf-megamenu-promo-icon svg {
    color: var(--mega-accent);
}

.nf-megamenu-promo-sale .nf-megamenu-promo-icon {
    background: linear-gradient(135deg, #fee2e2 0%, #fecaca 100%);
}

.nf-megamenu-promo-sale .nf-megamenu-promo-icon svg {
    color: #dc2626;
}

.nf-megamenu-promo-text {
    font-family: var(--mega-font);
    font-size: 13px;
    font-weight: 600;
}

.nf-megamenu-templates {
    display: none !important;
}

@media (max-width: 1024px) {
    .nf-megamenu {
        width: min(960px, calc(100vw - 32px));
    }

    .nf-megamenu-container {
        grid-template-columns: 240px 1fr;
        height: 420px;
    }

    .nf-megamenu-nav-item {
        padding: 12px 20px;
        gap: 12px;
    }

    .nf-megamenu-nav-icon {
        width: 36px;
        height: 36px;
    }

    .nf-megamenu-content {
        padding: 20px 24px;
    }

    .nf-megamenu-category-title {
        font-size: 18px;
    }
}

@media (max-width: 768px) {
    .nf-megamenu {
        width: calc(100vw - 16px);
        left: 50%;
        transform: translateX(-50%) translateY(10px);
        max-height: calc(100vh - 80px);
    }

    .nf-megamenu.is-open {
        transform: translateX(-50%) translateY(0);
    }

    .nf-megamenu-container {
        grid-template-columns: 1fr;
        grid-template-rows: auto 1fr;
        height: auto;
        max-height: calc(100vh - 100px);
        overflow: hidden;
    }

    .nf-megamenu-sidebar {
        border-right: none;
        border-bottom: 1px solid var(--mega-border);
        max-height: none;
    }

    .nf-megamenu-sidebar-header {
        display: none;
    }

    .nf-megamenu-nav {
        display: flex;
        overflow-x: auto;
        overflow-y: hidden;
        padding: 12px 16px;
        gap: 8px;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

    .nf-megamenu-nav::-webkit-scrollbar {
        display: none;
    }

    .nf-megamenu-nav-item {
        flex-shrink: 0;
        padding: 10px 16px;
        border-radius: 999px;
        background: var(--mega-sidebar-bg);
        border: 1px solid var(--mega-border);
    }

    .nf-megamenu-nav-item::before {
        display: none;
    }

    .nf-megamenu-nav-item.is-active {
        background: var(--mega-text);
        color: #fff;
        border-color: var(--mega-text);
    }

    .nf-megamenu-nav-icon, .nf-megamenu-nav-arrow {
        display: none;
    }

    .nf-megamenu-sidebar-footer {
        display: none;
    }

    .nf-megamenu-content {
        padding: 16px;
        overflow-y: auto;
    }

    .nf-megamenu-content-header {
        margin-bottom: 16px;
        padding-bottom: 12px;
    }

    .nf-megamenu-category-title {
        font-size: 16px;
    }

    .nf-megamenu-products {
        padding: 0 36px;
    }

    .nf-megamenu-promo {
        flex-wrap: wrap;
        gap: 8px;
        margin-top: 16px;
        padding-top: 16px;
    }

    .nf-megamenu-promo-card {
        flex: 1 1 calc(50% - 4px);
        min-width: 140px;
        padding: 10px 12px;
    }

    .nf-megamenu-promo-icon {
        width: 32px;
        height: 32px;
    }

    .nf-megamenu-promo-text {
        font-size: 12px;
    }
}

@media (max-width: 480px) {
    .nf-megamenu {
        width: 100%;
        left: 0;
        right: 0;
        top: 56px;
        transform: translateY(12px);
        border-radius: 0;
    }

    .nf-megamenu.is-open {
        transform: translateY(0);
    }

    .nf-megamenu-backdrop {
        border-radius: 0;
    }

    .nf-megamenu-container {
        border-radius: 0;
        border-left: none;
        border-right: none;
    }

    .nf-megamenu-nav {
        padding: 10px 12px;
    }

    .nf-megamenu-nav-item {
        padding: 8px 14px;
        font-size: 13px;
    }

    .nf-megamenu-content {
        padding: 12px;
    }

    .nf-megamenu-products {
        padding: 0 32px;
    }

    .nf-megamenu-nav-btn {
        width: 30px;
        height: 30px;
    }

    .nf-megamenu-nav-btn svg {
        width: 14px;
        height: 14px;
    }

    .nf-megamenu-promo-card {
        flex: 1 1 100%;
    }
}

#categoryShowcase.category-showcase {
    display: none !important;
}

.cover-small {
    padding-top: .9375rem !important;
}

.cover {
    display: flex;
    flex-flow: column nowrap;
    justify-content: stretch;
    align-items: stretch;
    min-height: 100vh;
    padding: 0;
    padding: 1rem;
}

html {
    font-family: sans-serif;

    line-height: 1.15;

    -ms-text-size-adjust: 100%;

    -webkit-text-size-adjust: 100%;

}

body {
    margin: 0;
    padding: 0;
    background: #fff;
    font-weight: 400;
    line-height: 1.5;
    color: #67645e;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1 {
    font-size: 2em;
    margin: 0.67em 0;
}

:root {
    --topbar-h: 46px;
    --nav-h: 62px;
    --topbar-gap: 30px;
    --hero-offset: calc(var(--topbar-h) + var(--topbar-gap) + var(--nav-h));
    --page-inset: 2.25vw;
    --header-radius: 20px;
    --nav-radius: 16px;
}

#header {
    position: relative;
    z-index: 100;
}

#header.with-slider {
    height: var(--hero-offset);
    pointer-events: none;
}

#header.with-slider > * {
    pointer-events: auto;
}

#header.no-slider {
    min-height: var(--hero-offset);
}

.nefin-topbar {
    position: relative;
    z-index: 12;
    height: var(--topbar-h);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    color: rgba(255, 255, 255, 0.92);
    border-radius: var(--header-radius);
    transition: height 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.35s ease;
}

#header.with-slider .nefin-topbar {
    background: rgba(0, 0, 0, 0.45);
    backdrop-filter: blur(20px) saturate(140%);
    -webkit-backdrop-filter: blur(20px) saturate(140%);
}

#header.no-slider .nefin-topbar {
    background: var(--nefin-black, #1d1d1f);
}

.nefin-topbar.is-hidden {
    height: 0;
    opacity: 0;
    pointer-events: none;
    overflow: hidden;
    margin-bottom: 0 !important;
}

.nefin-topbar {
    margin-bottom: var(--topbar-gap);
}

.nefin-topbar-track {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 48px;
}

.nefin-topbar-slider {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.nefin-topbar-slide {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transform: translateY(6px);
    transition: opacity 0.5s ease, transform 0.5s ease;
    pointer-events: none;
    height: var(--topbar-h);
}

.nefin-topbar-slide.is-active {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
    position: relative;
}

.nefin-topbar-msg {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--nefin-font-primary);
    font-size: 11.5px;
    font-weight: 500;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: inherit;
    text-decoration: none;
    white-space: nowrap;
    transition: opacity 0.2s ease;
}

a.nefin-topbar-msg:hover {
    opacity: 0.7;
    text-decoration: none;
    color: inherit;
}

.nefin-topbar-icon {
    font-size: 13px;
    opacity: 0.75;
}

.nefin-topbar-cta {
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
    margin-left: 4px;
}

.nefin-topbar-controls {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    gap: 2px;
}

.nefin-topbar-arrow {
    background: none;
    border: none;
    color: rgba(255, 255, 255, 0.45);
    cursor: pointer;
    padding: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
    border-radius: 4px;
}

.nefin-topbar-arrow:hover {
    color: #fff;
}

.nefin-header {
    position: relative;
    z-index: 11;
    border-radius: var(--nav-radius);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.nefin-header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 32px;
    position: relative;
    transition: padding 0.3s ease;
}

.nefin-header.with-slider {
    background: rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(20px) saturate(150%);
    -webkit-backdrop-filter: blur(20px) saturate(150%);
    border: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.06);
}

.nefin-header.with-slider .nefin-nav-link, .nefin-header.with-slider .nefin-action-link, .nefin-header.with-slider .nefin-action-label, .nefin-header.with-slider .nefin-nav-chevron, .nefin-header.with-slider .nefin-account-chevron {
    color: #fff;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
}

.nefin-header.with-slider .nefin-logo-text {
    color: #fff;
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}

.nefin-header.with-slider .nefin-logo-img {
    filter: brightness(0) invert(1) drop-shadow(0 1px 3px rgba(0,0,0,0.2));
}

.nefin-header.with-slider .nefin-cart-badge {
    background: #fff;
    color: var(--nefin-black);
}

.nefin-header.no-slider {
    background: var(--nefin-secondary, #f1f0ed);
    border: 1px solid rgba(0, 0, 0, 0.04);
}

.nefin-header.no-slider .nefin-nav-link, .nefin-header.no-slider .nefin-action-link, .nefin-header.no-slider .nefin-action-label {
    color: var(--nefin-black, #1d1d1f);
    text-shadow: none;
}

.nefin-header.no-slider .nefin-logo-text {
    color: var(--nefin-black, #1d1d1f);
    text-shadow: none;
}

.nefin-header.no-slider .nefin-logo-img {
    filter: none;
}

.nefin-header.is-sticky {
    position: fixed !important;
    top: 12px;
    left: var(--page-inset);
    right: var(--page-inset);
    z-index: 1040;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.88);
    backdrop-filter: blur(28px) saturate(180%);
    -webkit-backdrop-filter: blur(28px) saturate(180%);
    box-shadow: 0 8px 40px rgba(0, 0, 0, 0.08), 0 1px 3px rgba(0, 0, 0, 0.06), inset 0 0 0 0.5px rgba(255, 255, 255, 0.7);
    animation: nefinHeaderFloat 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes nefinHeaderFloat {
    from {
        opacity: 0;
        transform: translateY(-20px) scale(0.97);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.nefin-header.is-sticky .nefin-header-inner {
    padding: 10px 28px;
}

.nefin-header.is-sticky .nefin-nav-link, .nefin-header.is-sticky .nefin-action-link, .nefin-header.is-sticky .nefin-action-label, .nefin-header.is-sticky .nefin-nav-chevron, .nefin-header.is-sticky .nefin-account-chevron {
    color: var(--nefin-black, #1d1d1f) !important;
    text-shadow: none !important;
}

.nefin-header.is-sticky .nefin-logo-text {
    color: var(--nefin-black, #1d1d1f) !important;
    text-shadow: none !important;
}

.nefin-header.is-sticky .nefin-logo-img {
    filter: none !important;
    height: 36px !important;
}

.nefin-header.is-sticky .nefin-cart-badge {
    background: var(--nefin-black, #1d1d1f);
    color: #fff;
}

.nefin-nav-left {
    display: flex;
    align-items: center;
    flex: 1;
    min-width: 0;
}

.nefin-left-menu {
    position: static;
}

.nefin-nav-list {
    display: flex;
    align-items: center;
    gap: 2px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.nefin-nav-item {
    position: relative;
}

.nefin-nav-item--mega {
    position: static;
}

.nefin-nav-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-family: var(--nefin-font-primary);
    font-size: 12pt;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--nefin-primary, #67645e);
    text-decoration: none;
    padding: 8px 14px;
    border-radius: 8px;
    transition: color 0.2s ease, background 0.2s ease;
    position: relative;
    white-space: nowrap;
}

.nefin-nav-link::after {
    content: "";
    position: absolute;
    bottom: 4px;
    left: 14px;
    right: 14px;
    height: 1.5px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    opacity: 0.6;
}

.nefin-nav-link:hover::after, .nefin-nav-link:focus-visible::after, .nefin-nav-item:hover > .nefin-nav-link::after {
    transform: scaleX(1);
    transform-origin: left;
}

.nefin-nav-link:hover {
    color: inherit;
    text-decoration: none;
}

.nefin-nav-chevron {
    transition: transform 0.3s ease;
    opacity: 0.5;
    flex-shrink: 0;
}

.nefin-nav-item:hover .nefin-nav-chevron {
    transform: rotate(180deg);
    opacity: 1;
}

.nefin-logo {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    flex-shrink: 0;
}

.nefin-logo a {
    display: block;
    text-decoration: none;
}

.nefin-logo-text {
    font-family: var(--nefin-font-primary);
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: lowercase;
    transition: all 0.3s ease;
}

.nefin-logo-img {
    height: 48px;
    width: auto;
    object-fit: contain;
    transition: height 0.3s ease, filter 0.3s ease;
}

.nefin-nav-right {
    display: flex;
    align-items: center;
    gap: 4px;
    flex: 1;
    justify-content: flex-end;
}

.nefin-action-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--nefin-font-primary);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--nefin-primary, #67645e);
    text-decoration: none;
    padding: 8px 10px;
    border-radius: 8px;
    transition: color 0.2s ease, background 0.2s ease, opacity 0.2s ease;
    position: relative;
    white-space: nowrap;
    cursor: pointer;
}

.nefin-action-link:hover {
    text-decoration: none;
    color: inherit;
    background: rgba(0, 0, 0, 0.04);
}

.nefin-header.with-slider .nefin-action-link:hover {
    background: rgba(255, 255, 255, 0.12);
}

.nefin-header.is-sticky .nefin-action-link:hover {
    background: rgba(0, 0, 0, 0.05);
}

.nefin-action-link svg {
    flex-shrink: 0;
    stroke-width: 1.8;
}

.nefin-action-label {
    font-size: 12pt;
    letter-spacing: 0.04em;
}

.nefin-action-cart {
    position: relative;
}

.nefin-cart-badge {
    position: absolute;
    top: -5px;
    right: -8px;
    min-width: 17px;
    height: 17px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--nefin-font-primary);
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    background: var(--nefin-black, #1d1d1f);
    color: #fff;
    border-radius: var(--radius-full, 9999px);
    padding: 0 4px;
    pointer-events: none;
}

.nefin-action-wishlist {
    padding: 8px;
}

.nefin-account-dropdown {
    position: relative;
}

.nefin-account-trigger {
    cursor: pointer;
}

.nefin-account-chevron {
    transition: transform 0.3s ease;
    opacity: 0.5;
}

.nefin-account-dropdown:hover .nefin-account-chevron {
    transform: rotate(180deg);
    opacity: 1;
}

.nefin-header-points {
    display: inline-flex;
    align-items: center;
    background: linear-gradient(135deg, #ffd700, #f5a623);
    color: #000;
    font-size: 10px;
    font-weight: 700;
    padding: 2px 7px;
    border-radius: var(--radius-full, 9999px);
    line-height: 1.2;
}

.nefin-dropdown-menu {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    min-width: 280px;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.06);
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.14), 0 2px 8px rgba(0, 0, 0, 0.04);
    border-radius: 16px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px) scale(0.97);
    transition: opacity 0.25s ease, visibility 0.25s ease, transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    z-index: 1060;
    overflow: hidden;
}

.nefin-account-dropdown:hover .nefin-dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
}

.nefin-dropdown-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
    background: var(--nefin-secondary, #f1f0ed);
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.nefin-user-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    overflow: hidden;
    background: var(--nefin-primary, #67645e);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.nefin-user-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.nefin-user-avatar span {
    color: #fff;
    font-size: 15px;
    font-weight: 600;
}

.nefin-user-info {
    flex: 1;
    min-width: 0;
}

.nefin-user-info strong {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: var(--nefin-black, #1d1d1f);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.nefin-user-info small {
    display: block;
    font-size: 12px;
    color: var(--nefin-primary, #67645e);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-top: 1px;
}

.nefin-dropdown-points {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    background: linear-gradient(135deg, #fffbeb, #fff8e1);
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    font-size: 13px;
}

.nefin-dropdown-points i {
    color: #f59e0b;
    font-size: 14px;
}

.nefin-dropdown-points span {
    font-weight: 600;
    color: #92400e;
}

.nefin-dropdown-points a {
    margin-left: auto;
    font-size: 12px;
    color: var(--nefin-primary) !important;
    text-decoration: none;
    padding: 0 !important;
    font-weight: 500;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.nefin-dropdown-points a:hover {
    text-decoration: underline;
    background: transparent !important;
}

.nefin-dropdown-body {
    padding: 8px 0;
}

.nefin-dropdown-body a, .nefin-dropdown-menu > a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 20px;
    font-size: 13px;
    font-weight: 500;
    color: var(--nefin-black, #1d1d1f) !important;
    text-decoration: none;
    text-transform: none;
    letter-spacing: 0.01em;
    transition: background 0.15s ease;
    text-shadow: none !important;
}

.nefin-dropdown-body a:hover, .nefin-dropdown-menu > a:hover {
    background: var(--nefin-secondary, #f1f0ed);
    opacity: 1 !important;
}

.nefin-dropdown-body a i, .nefin-dropdown-menu > a i {
    font-size: 14px;
    width: 18px;
    text-align: center;
    color: var(--nefin-primary, #67645e);
    flex-shrink: 0;
}

.nefin-dropdown-divider {
    height: 1px;
    background: rgba(0, 0, 0, 0.06);
    margin: 4px 0;
}

.nefin-dropdown-footer {
    border-top: 1px solid rgba(0, 0, 0, 0.06);
    padding: 4px 0;
}

.nefin-logout-form {
    margin: 0;
    padding: 0;
}

.nefin-logout-btn {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 10px 20px;
    font-family: var(--nefin-font-primary);
    font-size: 13px;
    font-weight: 500;
    color: #c0392b;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
    transition: background 0.15s ease;
}

.nefin-logout-btn:hover {
    background: #fdf2f2;
}

.nefin-logout-btn i {
    font-size: 14px;
    width: 18px;
    text-align: center;
}

.nefin-nav-item:hover > .nf-megamenu, .nefin-nav-item--mega:hover > .nf-megamenu {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
}

.section-slider.index-slider {
    margin-top: -70px;
    position: relative;
    z-index: 1;
    border-radius: var(--header-radius);
    overflow: hidden;
}

.nefin-header-mobile {
    display: none;
    position: relative;
    z-index: 1040;
    transition: background 0.35s ease, box-shadow 0.35s ease;
}

.nefin-mobile-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 16px;
    gap: 12px;
}

.nefin-mobile-left, .nefin-mobile-right {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
}

.nefin-mobile-center {
    flex: 1;
    display: flex;
    justify-content: center;
    min-width: 0;
}

.nefin-mobile-logo {
    display: block;
    text-decoration: none;
}

.nefin-mobile-logo img {
    height: 32px;
    width: auto;
    object-fit: contain;
    transition: filter 0.3s ease;
}

.nefin-mobile-menu-btn, .nefin-mobile-action {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 10px;
    color: #fff;
    text-decoration: none;
    transition: color 0.2s ease, background 0.2s ease;
    cursor: pointer;
    position: relative;
}

.nefin-mobile-menu-btn:hover, .nefin-mobile-action:hover {
    background: rgba(255, 255, 255, 0.1);
}

.nefin-header-mobile.with-slider {
    background: rgba(0, 0, 0, 0.25);
    backdrop-filter: blur(12px) saturate(140%);
    -webkit-backdrop-filter: blur(12px) saturate(140%);
}

.nefin-header-mobile.with-slider .nefin-mobile-menu-btn, .nefin-header-mobile.with-slider .nefin-mobile-action {
    color: #fff;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

.nefin-header-mobile.with-slider .nefin-mobile-logo img {
    filter: brightness(0) invert(1);
}

.nefin-header-mobile.with-slider .nefin-mobile-logo .nefin-logo-text {
    color: #fff;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

.nefin-header-mobile.no-slider {
    background: #fff;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.nefin-header-mobile.no-slider .nefin-mobile-menu-btn, .nefin-header-mobile.no-slider .nefin-mobile-action {
    color: var(--nefin-black, #1d1d1f);
    text-shadow: none;
}

.nefin-header-mobile.no-slider .nefin-mobile-logo img {
    filter: none;
}

.nefin-header-mobile.no-slider .nefin-mobile-logo .nefin-logo-text {
    color: var(--nefin-black, #1d1d1f);
    text-shadow: none;
}

.nefin-header-mobile.is-sticky {
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    border-radius: 0;
    background: rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: blur(24px) saturate(180%);
    -webkit-backdrop-filter: blur(24px) saturate(180%);
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06), 0 4px 16px rgba(0, 0, 0, 0.04);
    border-bottom: none !important;
    z-index: 1040;
}

.nefin-header-mobile.is-sticky .nefin-mobile-menu-btn, .nefin-header-mobile.is-sticky .nefin-mobile-action {
    color: var(--nefin-black, #1d1d1f) !important;
    text-shadow: none !important;
}

.nefin-header-mobile.is-sticky .nefin-mobile-menu-btn:hover, .nefin-header-mobile.is-sticky .nefin-mobile-action:hover {
    background: rgba(0, 0, 0, 0.05);
}

.nefin-header-mobile.is-sticky .nefin-mobile-logo img {
    filter: none !important;
}

.nefin-header-mobile.is-sticky .nefin-mobile-logo .nefin-logo-text {
    color: var(--nefin-black, #1d1d1f) !important;
    text-shadow: none !important;
}

.nefin-mobile-cart {
    position: relative;
}

.nefin-mobile-cart .nefin-cart-badge {
    position: absolute;
    top: 4px;
    right: 2px;
    min-width: 15px;
    height: 15px;
    font-size: 9px;
}

.top-bar:not(.nefin-topbar) {
    display: none !important;
}

.mobile-nav-container, .nav-mobile-header {
    display: none !important;
}

.nefin-auth-section {
    min-height: 100vh;
    padding-top: 109px;

}

.nefin-auth-container {
    display: flex;
    min-height: calc(100vh - 109px);
}

.nefin-auth-visual {
    flex: 0 0 45%;
    background: linear-gradient(135deg, var(--nefin-primary, #67645e) 0%, #4a4843 100%);
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.nefin-auth-visual::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 100 100\"><defs><pattern id=\"grain\" width=\"100\" height=\"100\" patternUnits=\"userSpaceOnUse\"><circle cx=\"25\" cy=\"25\" r=\"1\" fill=\"rgba(212,165,116,0.08)\"/><circle cx=\"75\" cy=\"75\" r=\"1\" fill=\"rgba(212,165,116,0.08)\"/><circle cx=\"50\" cy=\"10\" r=\"0.5\" fill=\"rgba(255,255,255,0.03)\"/></pattern></defs><rect width=\"100\" height=\"100\" fill=\"url(%23grain)\"/></svg>");
    opacity: 0.6;
}

.nefin-auth-visual-content {
    position: relative;
    z-index: 2;
    text-align: center;
    padding: 60px;
    max-width: 400px;
}

.nefin-auth-brand {
    margin-bottom: 40px;
}

.nefin-auth-brand img {
    height: 50px;
    filter: brightness(0) invert(1);
}

.nefin-auth-logo-text {
    font-family: "Montserrat", sans-serif;
    font-size: 32px;
    font-weight: 300;
    letter-spacing: 0.3em;
    color: #fff;
    text-transform: lowercase;
}

.nefin-auth-tagline {
    font-family: "Montserrat", sans-serif;
    font-size: 28px;
    font-weight: 300;
    color: #fff;
    margin-bottom: 16px;
    letter-spacing: 0.05em;
}

.nefin-auth-subtitle {
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    color: rgba(255,255,255,0.6);
    line-height: 1.6;
    letter-spacing: 0.03em;
}

.nefin-auth-features {
    margin-top: 50px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.nefin-auth-feature {
    display: flex;
    align-items: center;
    gap: 12px;
    color: rgba(255,255,255,0.7);
    font-size: 13px;
    letter-spacing: 0.05em;
}

.nefin-auth-feature i {
    width: 36px;
    height: 36px;
    border: 1px solid var(--nefin-accent, #d4a574);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    color: var(--nefin-accent, #d4a574);
}

.nefin-auth-form-wrapper {
    flex: 0 0 55%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 60px;
    background: #fff;
}

.nefin-auth-form-inner {
    width: 100%;
    max-width: 420px;
}

.nefin-auth-mobile-logo {
    display: none;
    text-align: center;
    margin-bottom: 30px;
}

.nefin-auth-mobile-logo img {
    height: 40px;
}

.nefin-auth-mobile-logo span {
    font-family: "Montserrat", sans-serif;
    font-size: 24px;
    font-weight: 300;
    letter-spacing: 0.3em;
    color: #1a1a1a;
}

.nefin-auth-header {
    margin-bottom: 36px;
}

.nefin-auth-header h1 {
    font-family: "Montserrat", sans-serif;
    font-size: 32px;
    font-weight: 300;
    color: var(--nefin-primary, #67645e);
    margin-bottom: 12px;
    letter-spacing: 0.02em;
}

.nefin-auth-header p {
    font-size: 15px;
    color: #888;
    letter-spacing: 0.01em;
    line-height: 1.5;
}

.nefin-social-login {
    margin-bottom: 28px;
}

.nefin-social-login .social-login {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.nefin-social-login .btn-social {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    width: 100% !important;
    padding: 16px 24px !important;
    border-radius: 12px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 0.03em;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    height: 52px;
    box-sizing: border-box;
}

.nefin-social-login .btn-social-facebook {
    background: #1877f2 !important;
    color: #fff !important;
    border: none !important;
    box-shadow: 0 2px 8px rgba(24,119,242,0.3);
}

.nefin-social-login .btn-social-facebook:hover {
    background: #166fe5 !important;
    box-shadow: 0 4px 15px rgba(24,119,242,0.4);
}

.nefin-social-login .btn-social-google {
    background: #fff !important;
    color: #333 !important;
    border: 1px solid #e5e5e5 !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}

.nefin-social-login .btn-social-google:hover {
    background: #fafafa !important;
    border-color: #d0d0d0 !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.nefin-social-login .btn-social:hover {
    transform: translateY(-2px);
}

.nefin-social-login .social-or {
    text-align: center;
    margin: 24px 0;
    position: relative;
}

.nefin-social-login .social-or span {
    background: #fff;
    padding: 0 18px;
    color: #aaa;
    font-size: 11px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.nefin-social-login .social-or::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 1px;
    background: #e5e5e5;
    z-index: -1;
}

.nefin-auth-section .nefin-form-group {
    margin-bottom: 24px;
}

.nefin-auth-section .nefin-form-group label {
    display: block;
    font-size: 11px;
    font-weight: 500;
    color: #666;
    margin-bottom: 10px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    transition: color 0.2s ease;
}

.nefin-auth-section .nefin-form-group:focus-within label {
    color: var(--nefin-primary, #67645e);
}

.nefin-input-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

.nefin-input-wrapper > i {
    position: absolute;
    left: 18px;
    color: #bbb;
    font-size: 15px;
    z-index: 1;
    transition: all 0.2s ease;
}

.nefin-input-wrapper:focus-within > i {
    color: var(--nefin-primary, #67645e);
    transform: scale(1.05);
}

.nefin-form-input {
    width: 100%;
    padding: 16px 50px 16px 48px;
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    color: #1a1a1a;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    height: 52px;
    box-sizing: border-box;
}

.nefin-input-wrapper:not(:has(.nefin-password-toggle)) .nefin-form-input {
    padding-right: 18px;
}

.nefin-form-input:hover {
    border-color: #ccc;
    box-shadow: 0 4px 12px rgba(0,0,0,0.06);
}

.nefin-form-input:focus {
    outline: none;
    background: #fff;
    border-color: var(--nefin-primary, #67645e);
    box-shadow: 0 0 0 4px rgba(103, 100, 94, 0.1), 0 4px 12px rgba(0,0,0,0.08);
}

.nefin-form-input::placeholder {
    color: #bbb;
    font-weight: 400;
}

.nefin-password-toggle {
    position: absolute;
    right: 16px;
    background: none;
    border: none;
    color: #bbb;
    cursor: pointer;
    padding: 8px;
    border-radius: 8px;
    transition: all 0.2s ease;
}

.nefin-password-toggle:hover {
    color: #1a1a1a;
    background: rgba(0,0,0,0.05);
}

.nefin-form-row {
    display: flex;
    gap: 16px;
    margin-bottom: 0;
}

.nefin-form-row .nefin-form-group {
    margin-bottom: 24px;
}

.nefin-form-half {
    flex: 1;
    min-width: 0;
}

.nefin-form-options {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
}

.nefin-forgot-link {
    font-size: 13px;
    color: var(--nefin-primary, #67645e);
    text-decoration: none;
    transition: color 0.2s ease;
}

.nefin-forgot-link:hover {
    color: var(--nefin-accent, #d4a574);
    text-decoration: underline;
}

.nefin-checkbox {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    color: #444;
    cursor: pointer;
    line-height: 1.4;
}

.nefin-checkbox input {
    display: none;
}

.nefin-checkbox-mark, .nefin-checkmark {
    width: 20px;
    height: 20px;
    min-width: 20px;
    flex-shrink: 0;
    border: 1.5px solid #d0d0d0;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    box-shadow: 0 2px 4px rgba(0,0,0,0.04);
    transition: all 0.2s ease;
}

.nefin-checkbox:hover .nefin-checkmark, .nefin-checkbox:hover .nefin-checkbox-mark {
    border-color: #999;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

.nefin-checkbox input:checked + .nefin-checkmark, .nefin-checkbox input:checked + .nefin-checkbox-mark {
    background: var(--nefin-primary, #67645e);
    border-color: var(--nefin-primary, #67645e);
    box-shadow: 0 2px 8px rgba(103, 100, 94, 0.3);
}

.nefin-checkbox input:checked + .nefin-checkmark::after, .nefin-checkbox input:checked + .nefin-checkbox-mark::after {
    content: "✓";
    color: #fff;
    font-size: 12px;
    font-weight: 600;
}

.nefin-terms-link {
    color: var(--nefin-accent, #d4a574);
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px solid currentColor;
    transition: all 0.2s ease;
}

.nefin-terms-link:hover {
    color: var(--nefin-primary, #67645e);
}

.nefin-auth-btn {
    width: 100%;
    padding: 16px 28px;
    margin-top: 8px;
    background: linear-gradient(135deg, var(--nefin-primary, #67645e) 0%, #4a4843 100%);
    color: #fff;
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    border: none;
    border-radius: 12px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    box-shadow: 0 4px 15px rgba(103, 100, 94, 0.3);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
    height: 52px;
    box-sizing: border-box;
}

.nefin-auth-btn::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.1), transparent);
    transition: left 0.5s ease;
}

.nefin-auth-btn:hover::before {
    left: 100%;
}

.nefin-auth-btn:hover {
    background: linear-gradient(135deg, var(--nefin-accent, #d4a574) 0%, #c4956a 100%);
    transform: translateY(-3px);
    box-shadow: 0 8px 30px rgba(212, 165, 116, 0.4);
}

.nefin-auth-btn:active {
    transform: translateY(-1px);
    box-shadow: 0 4px 15px rgba(212, 165, 116, 0.3);
}

.nefin-auth-btn i {
    font-size: 11px;
    transition: transform 0.3s ease;
}

.nefin-auth-btn:hover i {
    transform: translateX(5px);
}

.nefin-auth-footer {
    margin-top: 36px;
    text-align: center;
    padding-top: 28px;
    border-top: 1px solid #eee;
}

.nefin-auth-footer p {
    font-size: 14px;
    color: #888;
    margin-bottom: 10px;
}

.nefin-auth-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 600;
    color: var(--nefin-primary, #67645e);
    text-decoration: none;
    padding: 8px 16px;
    border-radius: 8px;
    transition: all 0.2s ease;
}

.nefin-auth-link:hover {
    background: rgba(212, 165, 116, 0.1);
    color: var(--nefin-accent, #d4a574);
}

.nefin-auth-link i {
    font-size: 10px;
    transition: transform 0.2s ease;
}

.nefin-auth-link:hover i {
    transform: translateX(3px);
}

.nefin-auth-messages {
    margin-bottom: 20px;
}

.nefin-auth-messages .alert {
    padding: 14px 18px;
    border-radius: 12px;
    font-size: 13px;
    border: none;
}

.nefin-auth-section-centered {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #f8f9fa 0%, #fff 100%);
}

.nefin-auth-form-wrapper-centered {
    flex: none;
    max-width: 480px;
    width: 100%;
    padding: 50px;
    background: #fff;
    border-radius: 24px;
    box-shadow: 0 10px 60px rgba(0,0,0,0.08);
    margin: 30px;
}

.nefin-auth-logo-always {
    display: block !important;
}

.nefin-auth-status {
    text-align: center;
    margin-bottom: 32px;
}

.nefin-auth-status .nefin-status-icon {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 24px;
    font-size: 32px;
}

.nefin-auth-status-success .nefin-status-icon {
    background: linear-gradient(135deg, #d4edda 0%, #c3e6cb 100%);
    color: #155724;
    box-shadow: 0 8px 30px rgba(40,167,69,0.2);
}

.nefin-auth-status-error .nefin-status-icon {
    background: linear-gradient(135deg, #f8d7da 0%, #f5c6cb 100%);
    color: #721c24;
    box-shadow: 0 8px 30px rgba(220,53,69,0.2);
}

.nefin-auth-status h1 {
    font-family: "Montserrat", sans-serif;
    font-size: 22px;
    font-weight: 400;
    color: #1a1a1a;
    margin-bottom: 12px;
    letter-spacing: 0.02em;
}

.nefin-auth-status p {
    font-size: 14px;
    color: #666;
    line-height: 1.6;
}

.nefin-auth-btn-outline {
    background: transparent !important;
    border: 2px solid var(--nefin-primary, #67645e) !important;
    color: var(--nefin-primary, #67645e) !important;
    box-shadow: none !important;
}

.nefin-auth-btn-outline:hover {
    background: var(--nefin-primary, #67645e) !important;
    color: #fff !important;
}

.nefin-auth-confirm .nefin-auth-footer {
    border-top: none;
    margin-top: 24px;
    padding-top: 0;
}

.nefin-recaptcha {
    display: flex;
    justify-content: center;
}

@media (max-width: 991px) {
    .nefin-auth-section {
        padding-top: 70px;
    }

    .nefin-auth-container {
        min-height: calc(100vh - 70px);
    }

    .nefin-auth-visual {
        flex: 0 0 40%;
    }

    .nefin-auth-form-wrapper {
        flex: 0 0 60%;
        padding: 40px 30px;
    }

    .nefin-auth-visual-content {
        padding: 40px;
    }

    .nefin-auth-tagline {
        font-size: 24px;
    }

    .nefin-auth-features {
        margin-top: 30px;
    }
}

@media (max-width: 768px) {
    .main-slider .item {
        height: 60vh;
    }

    .nefin-auth-visual {
        flex: none;
        width: 100%;
        min-height: 200px;
        display: none;

    }

    .nefin-auth-form-wrapper {
        flex: none;
        width: 100%;
        padding: 30px 20px;
        min-height: calc(100vh - 60px);
    }

    .nefin-auth-form-inner {
        max-width: 100%;
    }

    .nefin-auth-header {
        text-align: center;
        margin-bottom: 28px;
    }

    .nefin-auth-header h1 {
        font-size: 26px;
    }

    .nefin-auth-header p {
        font-size: 14px;
    }

    .nefin-form-half {
        flex: none;
        width: 100%;
    }

    .nefin-auth-form-wrapper-centered {
        padding: 30px 20px;
        margin: 15px;
        border-radius: 16px;
    }

    .nefin-form-options {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .nefin-forgot-link {
        align-self: flex-end;
    }

    .nefin-auth-btn {
        padding: 16px 24px;
    }

    .nefin-auth-footer {
        margin-top: 28px;
        padding-top: 24px;
    }
}

@media (max-width: 480px) {
    .nefin-auth-form-wrapper {
        padding: 25px 16px;
    }

    .nefin-auth-header h1 {
        font-size: 22px;
    }

    .nefin-auth-section .nefin-form-group {
        margin-bottom: 18px;
    }

    .nefin-auth-section .nefin-form-group label {
        font-size: 10px;
        margin-bottom: 8px;
    }

    .nefin-form-input {
        padding: 14px 16px 14px 44px;
        font-size: 16px;

        border-radius: 10px;
    }

    .nefin-input-wrapper > i {
        left: 14px;
        font-size: 14px;
    }

    .nefin-social-login .btn-social {
        padding: 12px 20px !important;
        font-size: 12px !important;
        border-radius: 10px !important;
    }

    .nefin-auth-btn {
        padding: 14px 20px;
        font-size: 11px;
        border-radius: 10px;
    }

    .nefin-checkbox {
        font-size: 12px;
    }

    .nefin-checkmark {
        width: 18px;
        height: 18px;
        min-width: 18px;
        border-radius: 5px;
    }

    .nefin-auth-form-wrapper-centered {
        padding: 25px 16px;
        margin: 10px;
    }

    .nefin-auth-status .nefin-status-icon {
        width: 64px;
        height: 64px;
        font-size: 26px;
    }

    .nefin-auth-status h1 {
        font-size: 18px;
    }
}

.be-container {
    width: 100%;
}

.be-row {
    position: relative;
}

.be-row-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    z-index: 1;
}

.be-row > .container, .be-row > .container-fluid {
    position: relative;
    z-index: 2;
}

.be-block {
    margin-bottom: 0;
}

.be-block-video-cta {
    position: relative;
    overflow: hidden;
}

.be-block-video-cta video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    transform: translate(-50%, -50%);
    object-fit: cover;
}

.product-card {
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    transition: all 0.3s ease;
}

.product-card:hover {
    box-shadow: 0 8px 24px rgba(0,0,0,0.12);
    transform: translateY(-4px);
}

.product-card .product-image {
    position: relative;
    overflow: hidden;
    padding-top: 100%;

}

.product-card .product-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.product-card:hover .product-image img {
    transform: scale(1.05);
}

.product-card .product-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
    z-index: 2;
}

.product-card .product-badge.badge-sale {
    background: #dc3545;
    color: #fff;
}

.product-card .product-badge.badge-new {
    background: #28a745;
    color: #fff;
}

.product-card .product-actions {
    position: absolute;
    top: 10px;
    right: 10px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    opacity: 0;
    transform: translateX(10px);
    transition: all 0.3s ease;
    z-index: 2;
}

.product-card:hover .product-actions {
    opacity: 1;
    transform: translateX(0);
}

.product-card .btn-action {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #fff;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    transition: all 0.2s ease;
}

.product-card .btn-action:hover {
    background: var(--primary-color, #0d6efd);
    color: #fff;
}

.product-card .product-info {
    padding: 15px;
}

.product-card .product-title {
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 8px;
    line-height: 1.4;
}

.product-card .product-title a {
    color: #333;
    text-decoration: none;
}

.product-card .product-title a:hover {
    color: var(--primary-color, #0d6efd);
}

.product-card .product-rating {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-bottom: 8px;
}

.product-card .product-rating .rating-count {
    font-size: 12px;
    color: #999;
}

.product-card .product-price {
    display: flex;
    align-items: center;
    gap: 8px;
}

.product-card .price-current {
    font-size: 18px;
    font-weight: 700;
    color: var(--primary-color, #0d6efd);
}

.product-card .price-old {
    font-size: 14px;
    color: #999;
    text-decoration: line-through;
}

.product-card .btn-add-to-cart {
    font-size: 13px;
    padding: 8px 16px;
}

.be-block-product-slider .be-slider-header {
    margin-bottom: 30px;
}

.be-block-product-slider .be-slider-title {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 5px;
}

.be-block-product-slider .be-slider-subtitle {
    font-size: 16px;
    margin-bottom: 0;
}

.be-block-product-slider .swiper-button-prev, .be-block-product-slider .swiper-button-next {
    background: #fff;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.be-block-product-slider .swiper-button-prev:after, .be-block-product-slider .swiper-button-next:after {
    font-size: 18px;
    color: #333;
}

.be-block-accordion {
    margin: 20px 0;
}

.be-block-accordion .be-accordion-section-title {
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 20px;
}

.be-block-accordion .accordion-button {
    font-weight: 500;
}

.be-block-accordion .accordion-body {
    line-height: 1.7;
}

.be-block-image-slider {
    position: relative;
}

.be-block-image-slider .swiper-button-prev, .be-block-image-slider .swiper-button-next {
    color: #fff;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3);
}

.be-block-image-slider .swiper-pagination-bullet {
    background: rgba(255,255,255,0.8);
    opacity: 0.6;
}

.be-block-image-slider .swiper-pagination-bullet-active {
    opacity: 1;
    background: #fff;
}

.be-block-linked-slider .be-linked-slide {
    position: relative;
}

.be-block-linked-slider .be-thumb-item {
    border: 2px solid transparent;
    border-radius: 4px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.be-block-linked-slider .swiper-slide-thumb-active .be-thumb-item {
    border-color: var(--primary-color, #0d6efd);
}

.be-block-testimonials .testimonial-item {
    text-align: center;
    padding: 40px 30px;
}

.be-block-testimonials .testimonial-author {
    font-weight: 600;
}

.be-block-countdown .countdown-item {
    text-align: center;
    min-width: 80px;
}

.be-block-countdown .countdown-value {
    font-size: 48px;
    font-weight: 700;
    line-height: 1;
    color: var(--primary-color, #0d6efd);
}

.be-block-countdown .countdown-label {
    font-size: 14px;
    text-transform: uppercase;
    color: #666;
    margin-top: 5px;
}

.be-block-newsletter .newsletter-form {
    display: flex;
    gap: 10px;
    max-width: 500px;
    margin: 0 auto;
}

.be-block-newsletter .newsletter-form input {
    flex: 1;
}

:root {
    --footer-black: #1d1d1f;
    --footer-dark: #0d0d0d;
    --footer-white: #fff;
    --footer-gray-100: #f5f5f7;
    --footer-gray-200: #e8e8ed;
    --footer-gray-300: #d2d2d7;
    --footer-gray-400: #86868b;
    --footer-gray-500: #6e6e73;
    --footer-blue: #67645e;
    --footer-blue-hover: #5a5752;
    --footer-green: #34c759;
    --footer-transition: all 0.25s cubic-bezier(0.25, 0.1, 0.25, 1);
    --footer-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.nefin-features-bar {
    background: linear-gradient(180deg, #fafafa 0%, #f5f5f7 100%);
    padding: 56px 0;
    border-top: 1px solid var(--footer-gray-200);
}

.nefin-features-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

.nefin-features-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
}

.nefin-feature-item {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 0 12px;
}

.nefin-feature-icon {
    width: 56px;
    height: 56px;
    background: var(--footer-white);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
    transition: var(--footer-transition);
}

.nefin-feature-icon svg {
    color: var(--footer-black);
}

.nefin-feature-item:hover .nefin-feature-icon {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);
}

.nefin-feature-content h4 {
    font-size: 15px;
    font-weight: 600;
    color: var(--footer-black);
    margin: 0 0 4px 0;
    font-family: var(--footer-font);
    letter-spacing: -0.01em;
}

.nefin-feature-content span {
    font-size: 13px;
    color: var(--footer-gray-400);
    font-family: var(--footer-font);
}

.nefin-newsletter-section {
    background: linear-gradient(135deg, var(--footer-black) 0%, #2d2d2f 100%);
    padding: 64px 0;
    position: relative;
    overflow: hidden;
}

.nefin-newsletter-section::before {
    content: "";
    position: absolute;
    top: -50%;
    right: -10%;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(0, 113, 227, 0.15) 0%, transparent 70%);
    pointer-events: none;
}

.nefin-newsletter-container {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 24px;
    position: relative;
    z-index: 1;
}

.nefin-newsletter-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 48px;
}

.nefin-newsletter-text h3 {
    font-size: 28px;
    font-weight: 600;
    color: var(--footer-white);
    margin: 0 0 8px 0;
    font-family: var(--footer-font);
    letter-spacing: -0.02em;
}

.nefin-newsletter-text p {
    font-size: 15px;
    color: rgba(255, 255, 255, 0.6);
    margin: 0;
    font-family: var(--footer-font);
}

.nefin-newsletter-form-inline {
    flex: 1;
    max-width: 420px;
}

.nefin-newsletter-input-group {
    display: flex;
    gap: 12px;
    position: relative;
}

.nefin-newsletter-input {
    flex: 1;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 12px;
    padding: 16px 20px;
    font-size: 15px;
    color: var(--footer-white);
    font-family: var(--footer-font);
    transition: var(--footer-transition);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.nefin-newsletter-input::placeholder {
    color: rgba(255, 255, 255, 0.4);
}

.nefin-newsletter-input:focus {
    outline: none;
    background: rgba(255, 255, 255, 0.15);
    border-color: rgba(255, 255, 255, 0.3);
}

.nefin-newsletter-submit {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--footer-blue);
    color: var(--footer-white);
    border: none;
    border-radius: 12px;
    padding: 16px 28px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: var(--footer-transition);
    font-family: var(--footer-font);
    white-space: nowrap;
}

.nefin-newsletter-submit:hover {
    background: var(--footer-blue-hover);
    transform: scale(1.02);
}

.nefin-newsletter-submit svg {
    transition: transform 0.2s ease;
}

.nefin-newsletter-submit:hover svg {
    transform: translateX(3px);
}

.nefin-newsletter-response {
    margin-top: 12px;
    font-size: 14px;
    color: var(--footer-green);
    font-family: var(--footer-font);
}

.nefin-footer {
    background: var(--footer-black);
    color: var(--footer-white);
}

.nefin-footer-main {
    padding: 64px 0;
}

.nefin-footer-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

.nefin-footer-grid {
    display: grid;
    grid-template-columns: 1.5fr repeat(4, 1fr);
    gap: 48px;
}

.nefin-footer-brand {
    padding-right: 24px;
}

.nefin-footer-logo {
    margin-bottom: 20px;
}

.nefin-footer-logo img {
    max-width: 140px;
    height: auto;
    filter: brightness(0) invert(1);
    opacity: 0.95;
    transition: opacity 0.2s ease;
}

.nefin-footer-logo a:hover img {
    opacity: 1;
}

.nefin-footer-desc {
    font-size: 14px;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.55);
    margin-bottom: 24px;
    font-family: var(--footer-font);
}

.nefin-footer-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 24px;
}

.nefin-badge-item {
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.05);
    padding: 8px 14px;
    border-radius: 8px;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.7);
    font-family: var(--footer-font);
    transition: var(--footer-transition);
}

.nefin-badge-item svg {
    color: var(--footer-green);
}

.nefin-badge-item:hover {
    background: rgba(255, 255, 255, 0.08);
}

.nefin-footer-social {
    display: flex;
    gap: 12px;
}

.nefin-footer-social a {
    width: 42px;
    height: 42px;
    background: rgba(255, 255, 255, 0.06);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.7);
    transition: var(--footer-transition);
    text-decoration: none;
}

.nefin-footer-social a:hover {
    background: rgba(255, 255, 255, 0.12);
    color: var(--footer-white);
    transform: translateY(-3px);
}

.nefin-footer-column {
    padding: 0;
}

.nefin-footer-title {
    font-size: 12px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.45);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 20px;
    font-family: var(--footer-font);
}

.nefin-footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.nefin-footer-links li {
    margin-bottom: 14px;
}

.nefin-footer-links a {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
    transition: var(--footer-transition);
    font-family: var(--footer-font);
    display: inline-block;
    position: relative;
}

.nefin-footer-links a::after {
    content: "";
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 1px;
    background: var(--footer-white);
    transition: width 0.2s ease;
}

.nefin-footer-links a:hover {
    color: var(--footer-white);
}

.nefin-footer-links a:hover::after {
    width: 100%;
}

.nefin-footer-contact {
    list-style: none;
    padding: 0;
    margin: 0;
}

.nefin-footer-contact li {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 20px;
}

.nefin-contact-icon {
    width: 36px;
    height: 36px;
    background: rgba(255, 255, 255, 0.06);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.nefin-contact-icon svg {
    color: rgba(255, 255, 255, 0.6);
}

.nefin-contact-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.nefin-contact-label {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.4);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-family: var(--footer-font);
}

.nefin-contact-info a, .nefin-contact-info span {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.75);
    text-decoration: none;
    font-family: var(--footer-font);
    transition: color 0.2s ease;
    line-height: 1.5;
}

.nefin-contact-info a:hover {
    color: var(--footer-white);
}

.nefin-footer-bottom {
    background: rgba(0, 0, 0, 0.3);
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.nefin-footer-bottom-grid {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
    padding: 24px 0;
}

.nefin-copyright p {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.45);
    margin: 0;
    font-family: var(--footer-font);
}

.nefin-footer-legal {
    display: flex;
    align-items: center;
    gap: 16px;
}

.nefin-footer-legal a {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.5);
    text-decoration: none;
    transition: color 0.2s ease;
    font-family: var(--footer-font);
}

.nefin-footer-legal a:hover {
    color: rgba(255, 255, 255, 0.8);
}

.nefin-legal-divider {
    color: rgba(255, 255, 255, 0.2);
    font-size: 12px;
}

.nefin-payment-methods {
    display: flex;
    align-items: center;
    gap: 16px;
}

.nefin-payment-label {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.4);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-family: var(--footer-font);
}

.nefin-payment-icons {
    display: flex;
    align-items: center;
    gap: 10px;
}

.nefin-payment-icons img {
    height: 24px;
    opacity: 0.55;

    transition: opacity 0.2s ease;
}

.nefin-payment-icons img:hover {
    opacity: 0.9;
}

.nefin-cookies-warning {
    position: fixed;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%);
    width: calc(100% - 48px);
    max-width: 680px;
    background: var(--footer-white);
    border-radius: 20px;
    padding: 24px;
    z-index: 9997;
    box-shadow: 0 12px 48px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.05);
    animation: slideUpCookies 0.5s cubic-bezier(0.25, 0.1, 0.25, 1);
    display: flex;
    align-items: center;
    gap: 20px;
}

@keyframes slideUpCookies {
    from {
        opacity: 0;
        transform: translateX(-50%) translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateX(-50%) translateY(0);
    }
}

.nefin-cookies-content {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    flex: 1;
}

.nefin-cookies-icon {
    width: 44px;
    height: 44px;
    background: var(--footer-gray-100);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.nefin-cookies-icon svg {
    color: var(--footer-black);
}

.nefin-cookies-text {
    flex: 1;
}

.nefin-cookies-text p {
    font-size: 14px;
    line-height: 1.6;
    color: var(--footer-gray-500);
    margin: 0;
    font-family: var(--footer-font);
}

.nefin-cookies-actions {
    display: flex;
    gap: 10px;
    flex-shrink: 0;
}

.nefin-btn-cookie-settings {
    background: var(--footer-gray-100);
    color: var(--footer-black);
    border: none;
    border-radius: 980px;
    padding: 12px 20px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: var(--footer-transition);
    font-family: var(--footer-font);
}

.nefin-btn-cookie-settings:hover {
    background: var(--footer-gray-200);
}

.nefin-btn-cookie-accept {
    background: var(--footer-blue);
    color: var(--footer-white);
    border: none;
    border-radius: 980px;
    padding: 12px 24px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: var(--footer-transition);
    font-family: var(--footer-font);
}

.nefin-btn-cookie-accept:hover {
    background: var(--footer-blue-hover);
}

.nefin-cookies-close {
    position: absolute;
    top: 12px;
    right: 12px;
    background: transparent;
    border: none;
    color: var(--footer-gray-400);
    width: 28px;
    height: 28px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--footer-transition);
}

.nefin-cookies-close:hover {
    background: var(--footer-gray-100);
    color: var(--footer-black);
}

.nefin-scrollup {
    position: fixed;
    bottom: 32px;
    right: 32px;
    width: 50px;
    height: 50px;
    background: var(--footer-black);
    color: var(--footer-white);
    border: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: var(--footer-transition);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
    z-index: 999;
    text-decoration: none;
}

.nefin-scrollup.visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.nefin-scrollup:hover {
    background: #000;
    color: var(--footer-white);
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
    text-decoration: none;
}

.nefin-nav .container, .top-bar .container, .top-bar .container-fluid {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

.top-bar .col-left, .top-bar .col-right, .top-bar .navbar-nav, .top-bar .row {
    all: unset;
}

.promo-item.active {
    display: flex;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.top-bar-dropdown.open .top-bar-dropdown-btn {
    color: #fff;
}

.top-bar-dropdown.open .top-bar-dropdown-btn svg:last-child {
    transform: rotate(180deg);
}

.top-bar-dropdown.open .top-bar-dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
}

.top-bar-dropdown-menu .dropdown-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    color: #1d1d1f;
    font-size: 13px;
    font-weight: 400;
    text-decoration: none;
    border-radius: 8px;
    transition: background 0.15s ease;
    border: none;
    background: transparent;
    width: 100%;
    text-align: left;
    cursor: pointer;
}

.top-bar-dropdown-menu .dropdown-item:hover {
    background: rgba(0, 0, 0, 0.04);
}

.top-bar-dropdown-menu .dropdown-item.active {
    background: #1d1d1f;
    color: #fff;
}

.top-bar-dropdown-menu .dropdown-item.active:hover {
    background: #333;
}

.account-menu-body .dropdown-item svg {
    flex-shrink: 0;
    opacity: 0.5;
}

.account-menu-body .dropdown-item:hover svg {
    opacity: 0.8;
}

.account-menu-footer .btn-logout {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 8px 12px;
    background: transparent;
    border: none;
    border-radius: 8px;
    color: #ff3b30;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.15s ease;
}

.account-menu-footer .btn-logout:hover {
    background: rgba(255, 59, 48, 0.08);
}

.top-bar-dropdown-menu .dropdown-item:focus {
    outline: 2px solid #1d1d1f;
    outline-offset: -2px;
}

.search-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10000;
    visibility: hidden;
    pointer-events: none;
}

.search-overlay.active {
    visibility: visible;
    pointer-events: auto;
}

.search-overlay::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(29, 29, 31, 0.4);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    opacity: 0;
    transition: opacity 0.35s ease;
}

.search-overlay.active::before {
    opacity: 1;
}

.search-overlay-container {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    max-width: 480px;
    height: 100%;
    background: #fff;
    transform: translateX(100%);
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    display: flex;
    flex-direction: column;
    box-shadow: -8px 0 32px rgba(0, 0, 0, 0.12);
}

.search-overlay.active .search-overlay-container {
    transform: translateX(0);
}

.search-panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px;
    border-bottom: 1px solid rgba(103, 100, 94, 0.1);
    background: #fff;
    flex-shrink: 0;
}

.search-panel-title {
    font-family: var(--font-primary, "Montserrat", sans-serif);
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #67645e;
    margin: 0;
}

.search-overlay-close {
    width: 40px;
    height: 40px;
    background: #f1f0ed;
    border: none;
    border-radius: 50%;
    color: #67645e;
    font-size: 14px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.25s ease;
}

.search-overlay-close:hover {
    background: #67645e;
    color: #fff;
}

.search-overlay-close i {
    font-size: 12px;
}

.search-overlay-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 24px;
    opacity: 0;
    transform: translateY(12px);
    transition: all 0.35s ease;
    transition-delay: 0.15s;
}

.search-overlay.active .search-overlay-content {
    opacity: 1;
    transform: translateY(0);
}

.search-overlay-title {
    display: none;
}

.search-overlay-form {
    position: relative;
    flex-shrink: 0;
}

.search-overlay-input-group {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.search-overlay-input-wrapper {
    display: flex;
    align-items: center;
    background: #f1f0ed;
    border: 1px solid transparent;
    border-radius: 12px;
    padding: 0 16px;
    gap: 12px;
    transition: all 0.25s ease;
}

.search-overlay-input-wrapper:focus-within {
    background: #fff;
    border-color: #67645e;
    box-shadow: 0 0 0 3px rgba(103, 100, 94, 0.1);
}

.search-overlay-icon {
    color: #67645e;
    font-size: 18px;
    flex-shrink: 0;
    opacity: 0.6;
}

.search-overlay-input-wrapper:focus-within .search-overlay-icon {
    opacity: 1;
}

.search-overlay-input {
    flex: 1;
    background: transparent;
    border: none;
    padding: 16px 0;
    font-size: 15px;
    font-weight: 400;
    color: #1d1d1f;
    font-family: var(--font-primary, "Montserrat", sans-serif);
}

.search-overlay-input:focus {
    outline: none;
}

.search-overlay-input::placeholder {
    color: rgba(103, 100, 94, 0.5);
}

.search-overlay-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: #67645e;
    color: #fff;
    border: none;
    border-radius: 30px;
    padding: 14px 24px;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    cursor: pointer;
    transition: all 0.25s ease;
    font-family: var(--font-primary, "Montserrat", sans-serif);
}

.search-overlay-btn:hover {
    background: #1d1d1f;
    transform: translateY(-1px);
}

.search-overlay-btn i {
    font-size: 14px;
}

.search-overlay .search-results-ajax {
    margin-top: 16px;
    background: #fff;
    border: 1px solid rgba(103, 100, 94, 0.1);
    border-radius: 12px;
    max-height: 280px;
    overflow-y: auto;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
}

.search-overlay .search-results-ajax ul {
    padding: 8px;
    margin: 0;
    list-style: none;
}

.search-overlay .search-results-ajax ul li {
    margin: 0;
}

.search-overlay .search-results-ajax ul li a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    border-radius: 8px;
    color: #1d1d1f;
    text-decoration: none;
    transition: background 0.2s ease;
    font-family: var(--font-primary, "Montserrat", sans-serif);
    font-size: 14px;
}

.search-overlay .search-results-ajax ul li a:hover {
    background: #f1f0ed;
}

.search-overlay .search-results-ajax ul li a img {
    width: 48px;
    height: 48px;
    object-fit: cover;
    border-radius: 8px;
    flex-shrink: 0;
}

.search-overlay-quick {
    margin-top: 32px;
    padding-top: 24px;
    border-top: 1px solid rgba(103, 100, 94, 0.1);
}

.search-quick-title {
    font-family: var(--font-primary, "Montserrat", sans-serif);
    color: #67645e;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 16px;
}

.search-quick-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.search-quick-link {
    display: inline-flex;
    align-items: center;
    padding: 10px 16px;
    background: #f1f0ed;
    color: #67645e;
    font-size: 13px;
    font-weight: 500;
    border-radius: 30px;
    text-decoration: none;
    transition: all 0.25s ease;
    font-family: var(--font-primary, "Montserrat", sans-serif);
}

.search-quick-link:hover {
    background: #67645e;
    color: #fff;
    text-decoration: none;
}

body.search-overlay-open {
    overflow: hidden;
}

@media (max-width: 520px) {
    .search-overlay-container {
        max-width: 100%;
    }

    .search-overlay-content {
        padding: 20px 16px;
    }

    .search-panel-header {
        padding: 16px;
    }
}

.nefin-nav-menu .mega-menu {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.nefin-nav-menu .mega-menu > .nav-item > .nav-link {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 8px 12px;
    color: #1d1d1f;
    font-size: 12px;
    font-weight: 400;
    text-decoration: none;
    border-radius: 0;
    transition: color 0.15s ease;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    background: transparent;
}

.nefin-nav-menu .mega-menu > .nav-item > .nav-link:hover {
    color: #06c;
    background: transparent;
    text-decoration: none;
}

.nefin-nav-menu .top-navbar-inline > ul > li.active > a, .nefin-nav-menu .nav-main > ul > li.active > a {
    color: #1d1d1f;
    font-weight: 500;
}

.nefin-nav-menu .dropdown-menu {
    background: #fff;
    border: none;
    border-radius: 12px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.12), 0 0 0 1px rgba(0, 0, 0, 0.05);
    padding: 8px;
    margin-top: 8px;
    min-width: 200px;
}

.nefin-nav-menu .dropdown-menu .dropdown-item {
    padding: 10px 14px;
    color: #1d1d1f;
    font-size: 13px;
    font-weight: 400;
    border-radius: 8px;
    transition: background 0.15s ease;
}

.nefin-nav-menu .dropdown-menu .dropdown-item:hover {
    background: #f5f5f7;
    color: #1d1d1f;
}

.nefin-nav-menu .mega-menu {
    display: flex;
    justify-content: center;
    width: 100%;
    gap: 0;
}

.nefin-nav-menu .mega-menu .nav-item {
    position: static;
}

.nefin-nav-menu .mega-menu > .nav-item > .nav-link {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 8px 12px;
    color: #1d1d1f;
    font-size: 12px;
    font-weight: 400;
    text-decoration: none;
    border-radius: 0;
    transition: color 0.15s ease;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    background: transparent;
    border: none;
}

.nefin-nav-menu .mega-menu > .nav-item > .nav-link:hover {
    color: #06c;
    background: transparent;
}

.nefin-nav-menu .mega-menu > .nav-item > .nav-link::before, .nefin-nav-menu .mega-menu > .nav-item > .nav-link::after {
    display: none !important;
}

.nefin-nav-menu .mega-menu .dropdown .dropdown-menu, .nefin-nav-menu .mega-menu .mega-menu-content {
    position: fixed;
    left: 0;
    right: 0;
    top: 48px;

    width: 100%;
    max-width: 100%;
    background: rgba(251, 251, 253, 0.98);
    backdrop-filter: saturate(180%) blur(20px);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    border: none;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 0;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
    padding: 28px 40px;
    margin: 0;
    display: none;
    animation: nefinMenuFadeIn 0.2s ease;
}

@keyframes nefinMenuFadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.page-hero-content .nefin-breadcrumb {
    padding: 0;
    margin-bottom: 12px;
}

.page-hero-content .breadcrumb-hero .breadcrumb-item, .page-hero-content .breadcrumb-hero .breadcrumb-item a {
    color: rgba(255, 255, 255, 0.8);
    font-size: 13px;
    font-weight: 400;
}

.page-hero-content .breadcrumb-hero .breadcrumb-item a:hover {
    color: #fff;
    text-decoration: none;
}

.page-hero-content .breadcrumb-hero .breadcrumb-item.active {
    color: rgba(255, 255, 255, 0.6);
}

.page-hero-content .breadcrumb-hero .breadcrumb-item + .breadcrumb-item::before {
    color: rgba(255, 255, 255, 0.4);
    content: ">";
    font-size: 14px;
    padding: 0 8px;
}

.page-content-wrapper .page-text-content {
    font-size: 17px;
    line-height: 1.7;
    color: #1d1d1f;
}

.page-content-wrapper .page-text-content h2 {
    font-size: 32px;
    font-weight: 600;
    margin-top: 48px;
    margin-bottom: 16px;
    color: #1d1d1f;
}

.page-content-wrapper .page-text-content h3 {
    font-size: 24px;
    font-weight: 600;
    margin-top: 36px;
    margin-bottom: 12px;
    color: #1d1d1f;
}

.page-content-wrapper .page-text-content p {
    margin-bottom: 20px;
}

.page-content-wrapper .page-text-content img {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    margin: 24px 0;
}

.page-content-wrapper .page-text-content a {
    color: #06c;
    text-decoration: none;
}

.page-content-wrapper .page-text-content a:hover {
    text-decoration: underline;
}

.product-details .shell {
    margin: 0 auto;
    display: flex;
    gap: 22px;
    align-items: stretch;
    padding: 16px;
}

.page.product-details {
    background: #fff;
}

.product-details .gallery {
    max-width: 50%;
    position: relative;
    border-radius: 26px;
    overflow: hidden;
    box-shadow: 0 8px 26px rgba(0,0,0,.08);
    background: #eee;
    max-height: 70vh;
}

.product-details .gallery .main-swiper, .product-details .gallery .main-swiper .swiper-wrapper, .product-details .gallery .main-swiper .swiper-slide {
    height: 100%;
}

.product-details .gallery img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    transform: translateZ(0);
}

.product-details .thumbs-rail {
    position: absolute;
    left: 18px;
    top: 50%;
    transform: translateY(-50%);
    width: 64px;
    z-index: 5;
    pointer-events: none;
}

.product-details .thumbs-rail .thumbs-swiper {
    pointer-events: auto;
    width: 64px;
    height: 320px;
}

.product-details .thumbs-rail .swiper-slide {
    height: 64px;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.55);
    box-shadow: 0 10px 20px rgba(0,0,0,.12);
    opacity: .7;
    transform: scale(.98);
    transition: .18s ease;
    background: #fff;
}

.product-details .thumbs-rail .swiper-slide-thumb-active {
    opacity: 1;
    transform: scale(1);
    border-color: rgba(255,255,255,.95);
}

.product-details .thumbs-rail .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product-details .gallery-ui {
    position: absolute;
    left: 18px;
    bottom: 18px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    z-index: 6;
}

.product-details .ui-btn {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,.6);
    background: rgba(255,255,255,.22);
    backdrop-filter: blur(8px);
    display: grid;
    place-items: center;
    box-shadow: 0 10px 20px rgba(0,0,0,.12);
    cursor: pointer;
}

.product-details .ui-btn svg {
    opacity: .9
}

.product-details .panel {
    flex: 1;
    background: #f5f3ef;
    border-radius: 26px;
    box-shadow: 0 8px 26px rgba(0,0,0,.08);
    padding: 34px 34px 28px;
    display: flex;
    flex-direction: column;
    gap: 18px;
    overflow-y: auto;
    max-width: 50%;
    padding-top: 1.75rem;
    max-height: 70vh;
    justify-content: flex-start;
    scrollbar-color: #67645e transparent;
}

.product-details .title-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.product-details h1 {
    margin: 0;
    font-size: 64px;
    letter-spacing: -1.4px;
    line-height: 0.95;
    font-weight: 700;
    color: #5a5a5a;
    text-transform: lowercase;
}

.product-details .meta-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 6px;
}

.product-details .subtitle {
    font-weight: 700;
    letter-spacing: .8px;
    color: #6a6a6a;
    text-transform: uppercase;
    font-size: 16px;
}

.product-details .rating {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #5f5f5f;
    font-weight: 600;
    font-size: 14px;
    white-space: nowrap;
}

.product-details .stars {
    display: flex;
    gap: 2px;
}

.product-details .stars svg {
    width: 16px;
    height: 16px;
    opacity: .85
}

.product-details .desc {
    margin: 0;
    color: #5e5e5e;
    font-size: 16px;
    line-height: 1.6;
    max-width: 560px;
}

.product-details .cta {
    margin-top: 6px;
    background: #cfe7dc;
    /* color: #1f2a26; */
    border: 1px solid rgba(31,42,38,.18);
    height: 54px;
    border-radius: 999px;
    font-weight: 200;
    letter-spacing: .6px;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: .15s ease;
    font-size: 18pt;
    padding: 5px 20px;
    font-weight: 600;
    white-space: nowrap;
}

.product-details .cta .price {
    font-weight: 500;
    margin-left: 10px;
}

.product-details .cta:hover {
    filter: brightness(.98)
}

.product-details .cta:active {
    transform: translateY(1px)
}

.product-details .divider {
    height: 1px;
    background: #d7d1c8;
    margin: 14px 0 6px;
    opacity: .95;
}

.product-details .section-title {
    font-weight: 800;
    letter-spacing: .8px;
    text-transform: uppercase;
    color: #6b6b6b;
    font-size: 16px;
    margin: 0;
}

.product-details .addon {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 0 6px;
}

.product-details .tube {
    width: 34px;
    height: 78px;
    border-radius: 14px;
    background: linear-gradient(180deg,#e9e7e2,#cfc8be);
    border: 1px solid rgba(0,0,0,.08);
    position: relative;
    flex: 0 0 auto;
}

.product-details .tube:after {
    content: "";
    position: absolute;
    left: 8px;
    right: 8px;
    top: 10px;
    height: 10px;
    border-radius: 10px;
    background: rgba(255,255,255,.45);
}

.product-details .addon-mid {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

.product-details .addon-name {
    font-weight: 800;
    letter-spacing: .6px;
    text-transform: uppercase;
    color: #6b6b6b;
    font-size: 14px;
    margin: 0;
}

.product-details .select-row {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    flex-wrap: wrap;
}

.product-details .select-row label {
    color: #6b6b6b;
    font-weight: 600;
    font-size: 14px;
}

.product-details select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background: #fff;
    border: 1px solid rgba(0,0,0,.14);
    border-radius: 10px;
    padding: 10px 36px 10px 12px;
    font-weight: 700;
    color: #4a4a4a;
    min-width: 220px;
    background-image: linear-gradient(45deg, transparent 50%, #666 50%), linear-gradient(135deg, #666 50%, transparent 50%), linear-gradient(to right, transparent, transparent);
    background-position: calc(100% - 18px) calc(1em + 2px), calc(100% - 13px) calc(1em + 2px), 0 0;
    background-size: 5px 5px, 5px 5px, 100% 100%;
    background-repeat: no-repeat;
    outline: none;
}

.product-details .addon-btn {
    flex: 0 0 auto;
    border-radius: 999px;
    height: 44px;
    padding: 0 18px;
    border: 1px solid rgba(0,0,0,.18);
    background: rgba(255,255,255,.35);
    font-weight: 800;
    letter-spacing: .5px;
    text-transform: uppercase;
    color: #6b6b6b;
    cursor: pointer;
    white-space: nowrap;
}

.product-details .acc {
    margin-top: 6px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.product-details .acc-item {
    border-top: 1px solid #d7d1c8;
    padding-top: 14px;
}

.product-details .acc-btn {
    width: 100%;
    border: 0;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 0;
    cursor: pointer;
    text-align: left;
}

.product-details .acc-btn span {
    font-weight: 900;
    letter-spacing: .8px;
    text-transform: uppercase;
    color: #6b6b6b;
    font-size: 16px;
}

.product-details .acc-icon {
    width: 28px;
    height: 28px;
    border-radius: 999px;
    border: 1px solid rgba(0,0,0,.16);
    display: grid;
    place-items: center;
    color: #6b6b6b;
    font-weight: 900;
    flex: 0 0 auto;
    background: rgba(255,255,255,.25);
}

.product-details .acc-panel {
    max-height: 0;
    overflow: hidden;
    transition: max-height .22s ease;
}

.product-details .acc-panel-inner {
    padding: 12px 0 2px;
    color: #5e5e5e;
    line-height: 1.65;
    font-size: 15px;
    text-align: justify;
}

.product-details .acc-item.open .acc-icon {
    background: #fff
}

.product-details .acc-item.open .acc-icon::before {
    content: "-";
}

.product-details .acc-icon::before {
    content: "+";
}

@media (max-width: 1100px) {
    .product-details .shell {
        flex-direction:column
    }

    .product-details .gallery {
        min-width: unset;
        height: 520px
    }

    .product-details .panel {
        min-width: unset
    }

    .product-details h1 {
        font-size: 52px
    }
}

@media (max-width: 520px) {
    .product-details .page {
        padding:14px
    }

    .product-details .panel {
        padding: 22px
    }

    .product-details h1 {
        font-size: 44px
    }

    .product-details .thumbs-rail {
        left: 12px
    }
}

#wrapper > .container > .row > .col-12 > .nav-breadcrumb, #wrapper > .container > .row > .col-12 > .nefin-breadcrumb {
    padding: 15px 0;
}

#wrapper .breadcrumb-products {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 13px;
    height: auto !important;
    line-height: 1.5;
}

#wrapper .breadcrumb-products .breadcrumb-item a {
    color: var(--nefin-link, #06c);
    text-decoration: none;
    text-transform: none;
}

#wrapper .breadcrumb-products .breadcrumb-item a:hover {
    text-decoration: underline;
}

#wrapper .breadcrumb-products .breadcrumb-item.active {
    color: var(--nefin-charcoal, #424245);
}

.product-slider-container {
    display: flex;
    flex-direction: column-reverse;
    gap: 15px;
    margin-bottom: 20px;
}

.product-slider-container .left {
    width: 100%;
    display: block;
    float: none;
}

.product-slider-container .right {
    width: 100%;
    display: block;
    float: none;
}

.product-slider-content {
    position: relative;
    background: var(--nefin-light-gray, #f5f5f7);
    border-radius: 16px;
    overflow: hidden;
}

.product-slider .item {
    display: flex !important;
    align-items: center;
    justify-content: center;
    background: var(--nefin-light-gray, #f5f5f7);
    min-height: 300px;
}

.product-slider .item a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.product-slider .img-product-slider {
    max-height: 400px;
    width: auto !important;
    max-width: 100%;
    object-fit: contain;
    padding: 20px;
}

.product-slider .img-bg {
    display: none !important;
}

.product-thumbnails-slider {
    display: flex;
    gap: 10px;
    padding: 10px 0;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.product-thumbnails-slider::-webkit-scrollbar {
    display: none;
}

.product-thumbnails-slider .item {
    flex: 0 0 70px;
    scroll-snap-align: start;
}

.product-thumbnails-slider .item .item-inner {
    width: 70px;
    height: 70px;
    border-radius: 10px;
    overflow: hidden;
    border: 2px solid transparent;
    cursor: pointer;
    transition: all 0.2s ease;
    background: var(--nefin-white, #fff);
}

.product-thumbnails-slider .item.slick-current .item-inner, .product-thumbnails-slider .item:hover .item-inner {
    border-color: var(--nefin-black, #1d1d1f);
}

.product-thumbnails-slider .item .img-thumbnail {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border: none !important;
    border-radius: 8px;
    padding: 5px;
    background: var(--nefin-light-gray, #f5f5f7);
}

.product-slider-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    display: flex;
    justify-content: space-between;
    padding: 0 10px;
    pointer-events: none;
    z-index: 10;
}

.product-slider-nav button {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: none;
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    color: var(--nefin-black, #1d1d1f);
    cursor: pointer;
    pointer-events: auto;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.product-slider-nav button:hover {
    background: var(--nefin-white, #fff);
    transform: scale(1.05);
}

.product-thumbnails-slider-nav {
    display: none;
}

.product-slider .slick-dots {
    position: absolute;
    bottom: 15px;
    left: 0;
    right: 0;
    display: flex !important;
    justify-content: center;
    gap: 8px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.product-slider .slick-dots li {
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
}

.product-slider .slick-dots li button {
    width: 8px;
    height: 8px;
    padding: 0;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.25);
    border: none;
    cursor: pointer;
    transition: all 0.2s ease;
}

.product-slider .slick-dots li button::before {
    display: none;
}

.product-slider .slick-dots li.slick-active button {
    background: var(--nefin-black, #1d1d1f);
    width: 24px;
    border-radius: 4px;
}

.btn-video-preview {
    background: var(--nefin-black, #1d1d1f) !important;
    color: var(--nefin-white, #fff) !important;
    border: none !important;
    border-radius: 25px !important;
    padding: 12px 24px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    margin: 15px 5px 0 !important;
    transition: all 0.2s ease !important;
}

.btn-video-preview:hover {
    background: var(--nefin-charcoal, #424245) !important;
    transform: translateY(-2px);
}

.btn-video-preview i {
    margin-right: 8px;
}

.product-content-details {
    padding: 0;
}

.product-content-details .product-title {
    font-size: 24px !important;
    font-weight: 600 !important;
    line-height: 1.2 ;
    color: var(--nefin-black, #1d1d1f) !important;
    margin: 0 0 12px 0 !important;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    letter-spacing: -0.02em;
}

.product-content-details .product-short-description {
    font-size: 15px;
    color: var(--nefin-dark-gray, #86868b);
    line-height: 1.5;
    margin-bottom: 16px;
}

.product-content-details .meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--nefin-medium-gray, #e8e8ed);
}

.product-content-details .meta span {
    display: inline-flex;
    align-items: center;
    font-size: 13px;
    color: var(--nefin-dark-gray, #86868b);
    float: none;
    margin: 0;
}

.product-content-details .meta span i {
    margin-right: 6px;
    font-size: 14px;
}

.product-content-details .product-details-review {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
}

.product-content-details .product-details-review .rating {
    float: none;
    height: auto;
    line-height: 1;
}

.product-content-details .product-details-review .rating i {
    font-size: 14px !important;
}

.product-content-details .price {
    margin-bottom: 24px;
    min-height: auto;
}

#product_details_price_container {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 12px;
}

.product-content-details .price .lbl-price {
    font-size: 28px !important;
    font-weight: 700 !important;
    color: var(--nefin-black, #1d1d1f) !important;
    line-height: 1 ;
    float: none;
    display: inline-block;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.product-content-details .price .discount-original-price {
    font-size: 18px !important;
    color: var(--nefin-dark-gray, #86868b) !important;
    text-decoration: line-through;
    font-weight: 400 !important;
}

.product-content-details .price .discount-rate {
    background: var(--nefin-red, #ff3b30) !important;
    padding: 5px 10px !important;
    border-radius: 6px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    margin: 0 !important;
    float: none !important;
}

.product-content-details .lbl-sold {
    color: var(--nefin-red, #ff3b30) !important;
    font-size: 16px !important;
    font-weight: 600 !important;
}

.product-content-details .lbl-free {
    font-size: 28px !important;
    font-weight: 700 !important;
    color: var(--nefin-success, #34c759) !important;
}

.product-content-details .details {
    background: var(--nefin-snow, #fbfbfd);
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 24px;
}

.product-content-details .details .item-details {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 10px 0;
    border-bottom: 1px solid var(--nefin-medium-gray, #e8e8ed);
    margin: 0;
    float: none;
}

.product-content-details .details .item-details:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.product-content-details .details .item-details:first-child {
    padding-top: 0;
}

.product-content-details .details .item-details .left {
    display: block;
    width: auto;
}

.product-content-details .details .item-details .left label {
    font-size: 13px;
    color: var(--nefin-dark-gray, #86868b);
    font-weight: 500;
    margin: 0;
    min-width: auto;
    float: none;
}

.product-content-details .details .item-details .right {
    display: block;
    text-align: right;
}

.product-content-details .details .item-details .right span {
    font-size: 14px;
    color: var(--nefin-black, #1d1d1f);
    font-weight: 500;
    float: none;
}

.status-in-stock.text-success {
    color: var(--nefin-success, #34c759) !important;
    font-weight: 600;
}

.status-in-stock.text-danger {
    color: var(--nefin-red, #ff3b30) !important;
    font-weight: 600;
}

.product-variations {
    margin-bottom: 20px;
}

.row-product-variation {
    gap: 0;
}

.col-product-variation {
    margin-bottom: 20px;
}

.label-product-variation {
    font-size: 14px;
    font-weight: 600;
    color: var(--nefin-black, #1d1d1f);
    margin-bottom: 10px;
    display: block;
}

.custom-control-variation {
    display: inline-flex;
    padding: 0;
    margin-right: 8px;
    margin-bottom: 8px;
}

.custom-control-variation .custom-control-input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.custom-control-variation .custom-control-label {
    position: relative;
    padding: 10px 16px;
    border: 2px solid var(--nefin-gray, #d2d2d7);
    border-radius: 10px;
    background: var(--nefin-white, #fff);
    color: var(--nefin-black, #1d1d1f);
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    min-width: 50px;
    text-align: center;
}

.custom-control-variation .custom-control-label::before, .custom-control-variation .custom-control-label::after {
    display: none;
}

.custom-control-variation .custom-control-label:hover {
    border-color: var(--nefin-dark-gray, #86868b);
}

.custom-control-variation .custom-control-input:checked + .custom-control-label {
    border-color: var(--nefin-black, #1d1d1f);
    background: var(--nefin-black, #1d1d1f);
    color: var(--nefin-white, #fff);
}

.custom-control-variation .custom-control-label-image {
    padding: 5px;
    border-radius: 12px;
}

.custom-control-variation .custom-control-label-image .img-cnt {
    display: block;
    width: 50px;
    height: 50px;
    overflow: hidden;
    border-radius: 8px;
}

.custom-control-variation .custom-control-label-image .img-variation-option {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.custom-control-variation .label-variation-color {
    padding: 4px;
    border-radius: 50%;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.custom-control-variation .label-variation-color .variation-color-box {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: block;
    border: 1px solid rgba(0, 0, 0, 0.1);
}

.custom-control-variation .custom-control-input:checked + .label-variation-color {
    background: transparent;
    box-shadow: 0 0 0 2px var(--nefin-white, #fff), 0 0 0 4px var(--nefin-black, #1d1d1f);
}

.custom-control-variation .option-out-of-stock {
    opacity: 0.5;
    cursor: not-allowed;
    position: relative;
}

.custom-control-variation .option-out-of-stock::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 5px;
    right: 5px;
    height: 2px;
    background: var(--nefin-dark-gray, #86868b);
    transform: rotate(-45deg);
}

.variation-option-container .variation-options .btn-variation {
    min-width: 50px;
    padding: 10px 16px;
    border: 2px solid var(--nefin-gray, #d2d2d7);
    border-radius: 10px;
    background: var(--nefin-white, #fff);
    color: var(--nefin-black, #1d1d1f);
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
}

.variation-option-container .variation-options .btn-variation:hover {
    border-color: var(--nefin-dark-gray, #86868b);
}

.variation-option-container .variation-options .btn-variation.active, .variation-option-container .variation-options .btn-variation.btn-variation-selected {
    border-color: var(--nefin-black, #1d1d1f);
    background: var(--nefin-black, #1d1d1f);
    color: var(--nefin-white, #fff);
}

.variation-options .color-option.active {
    box-shadow: 0 0 0 2px var(--nefin-white, #fff), 0 0 0 4px var(--nefin-black, #1d1d1f);
}

.variation-option-container .select2-container {
    width: 100% !important;
}

.variation-option-container .select2-container--default .select2-selection--single {
    height: 48px;
    border: 2px solid var(--nefin-gray, #d2d2d7);
    border-radius: 12px;
    background: var(--nefin-white, #fff);
    padding: 10px 16px;
    transition: all 0.2s ease;
}

.variation-option-container .select2-container--default .select2-selection--single:hover {
    border-color: var(--nefin-dark-gray, #86868b);
}

.variation-option-container .select2-container--default .select2-selection--single:focus {
    border-color: var(--nefin-black, #1d1d1f);
    outline: none;
}

.variation-option-container .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 26px;
    padding-left: 0;
    color: var(--nefin-black, #1d1d1f);
    font-size: 14px;
}

.variation-option-container .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 46px;
    right: 12px;
}

.select2-dropdown {
    border: 1px solid var(--nefin-gray, #d2d2d7);
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

.select2-results__option {
    padding: 12px 16px;
    font-size: 14px;
    transition: background 0.15s ease;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background: var(--nefin-light-gray, #f5f5f7);
    color: var(--nefin-black, #1d1d1f);
}

.select2-container--default .select2-results__option[aria-selected=true] {
    background: var(--nefin-black, #1d1d1f);
    color: var(--nefin-white, #fff);
}

.col-product-variation .form-group {
    margin-bottom: 0;
}

.col-product-variation .form-group .control-label {
    font-size: 14px;
    font-weight: 600;
    color: var(--nefin-black, #1d1d1f);
    margin-bottom: 10px;
    display: block;
}

.col-product-variation .form-group .custom-select, .col-product-variation .form-group .form-control {
    height: 48px;
    border: 2px solid var(--nefin-gray, #d2d2d7);
    border-radius: 12px;
    background: var(--nefin-white, #fff);
    padding: 10px 40px 10px 16px;
    font-size: 14px;
    color: var(--nefin-black, #1d1d1f);
    transition: all 0.2s ease;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%231d1d1f' d='M6 8.825L1.175 4 2.238 2.938 6 6.7l3.763-3.762L10.825 4z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
}

.col-product-variation .form-group .custom-select:hover, .col-product-variation .form-group .form-control:hover {
    border-color: var(--nefin-dark-gray, #86868b);
}

.col-product-variation .form-group .custom-select:focus, .col-product-variation .form-group .form-control:focus {
    border-color: var(--nefin-black, #1d1d1f);
    box-shadow: none;
    outline: none;
}

.product-add-to-cart-container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-bottom: 24px;
}

.number-spinner {
    width: auto !important;
    flex-shrink: 0;
    margin: 0 !important;
}

.number-spinner .input-group {
    border: 2px solid var(--nefin-gray, #d2d2d7);
    border-radius: 12px;
    overflow: hidden;
    display: flex;
    align-items: stretch;
}

.number-spinner .btn-default {
    background: var(--nefin-light-gray, #f5f5f7);
    border: none;
    color: var(--nefin-black, #1d1d1f);
    font-size: 18px;
    font-weight: 600;
    width: 44px;
    height: 44px;
    padding: 0;
    transition: background 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.number-spinner .btn-default:hover {
    background: var(--nefin-medium-gray, #e8e8ed);
}

.number-spinner .form-control {
    border: none;
    text-align: center;
    font-size: 16px;
    font-weight: 600;
    color: var(--nefin-black, #1d1d1f);
    height: 44px;
    width: 50px;
    padding: 0 5px;
}

.number-spinner .form-control:focus {
    box-shadow: none;
}

.product-add-to-cart-container .button-container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    flex: 1;
    min-width: 0;
    margin: 0;
    float: none;
}

.btn-product-cart {
    flex: 1;
    min-width: 160px;
    padding: 14px 20px !important;
    background: var(--nefin-black, #1d1d1f) !important;
    color: var(--nefin-white, #fff) !important;
    border: none !important;
    border-radius: 12px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    transition: all 0.2s ease !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    white-space: nowrap;
    height: 48px;
}

.btn-product-cart:hover {
    background: var(--nefin-charcoal, #424245) !important;
    transform: translateY(-2px);
}

.btn-product-cart:disabled {
    background: var(--nefin-gray, #d2d2d7) !important;
    cursor: not-allowed;
    transform: none !important;
}

.btn-whatsapp {
    flex: 0 0 auto;
    padding: 14px 20px !important;
    background: #25D366 !important;
    color: var(--nefin-white, #fff) !important;
    border: none !important;
    border-radius: 12px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    transition: all 0.2s ease !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-decoration: none !important;
    white-space: nowrap;
    height: 48px;
}

.btn-whatsapp:hover {
    background: #128C7E !important;
    color: var(--nefin-white, #fff) !important;
}

.btn-whatsapp i {
    font-size: 18px;
}

.btn-live-preview {
    width: 100%;
    padding: 14px 24px !important;
    background: transparent !important;
    color: var(--nefin-black, #1d1d1f) !important;
    border: 2px solid var(--nefin-black, #1d1d1f) !important;
    border-radius: 12px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    transition: all 0.2s ease !important;
}

.btn-live-preview:hover {
    background: var(--nefin-black, #1d1d1f) !important;
    color: var(--nefin-white, #fff) !important;
}

.label-instant-download, .btn-instant-download {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--nefin-success, #34c759);
    color: var(--nefin-white, #fff) !important;
    padding: 10px 20px;
    border-radius: 25px;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 16px;
    border: none;
    text-decoration: none;
}

.btn-instant-download:hover {
    background: #2da44e;
    color: var(--nefin-white, #fff);
}

.product-already-purchased {
    background: rgba(52, 199, 89, 0.1);
    border-radius: 12px;
    padding: 16px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px;
}

.product-share {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-top: 20px;
    border-top: 1px solid var(--nefin-medium-gray, #e8e8ed);
    margin-top: 20px;
}

.product-share label {
    font-size: 13px;
    color: var(--nefin-dark-gray, #86868b);
    font-weight: 500;
    margin: 0;
}

.product-share ul {
    display: flex;
    align-items: center;
    gap: 8px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.product-share ul li a {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--nefin-light-gray, #f5f5f7);
    border-radius: 50%;
    color: var(--nefin-charcoal, #424245);
    transition: all 0.2s ease;
    text-decoration: none;
}

.product-share ul li a:hover {
    background: var(--nefin-black, #1d1d1f);
    color: var(--nefin-white, #fff);
}

.product-share ul li a i {
    font-size: 14px;
}

.product-description ul {
    margin: 0;
    padding: 0;
}

.product-description ul li {
    margin: 10px 0px;
}

.nav-tabs-horizontal {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    border-bottom: 1px solid var(--nefin-medium-gray, #e8e8ed);
    gap: 0;
    padding-bottom: 0;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}

.nav-tabs-horizontal::-webkit-scrollbar {
    display: none;
}

.nav-tabs-horizontal .nav-item {
    flex-shrink: 0;
}

.nav-tabs-horizontal .nav-link {
    padding: 15px 20px;
    font-size: 14px;
    font-weight: 600;
    color: var(--nefin-dark-gray, #86868b);
    border: none;
    border-bottom: 3px solid transparent;
    background: transparent;
    white-space: nowrap;
    transition: all 0.2s ease;
}

.nav-tabs-horizontal .nav-link:hover {
    color: var(--nefin-black, #1d1d1f);
}

.nav-tabs-horizontal .nav-link.active {
    color: var(--nefin-black, #1d1d1f);
    border-bottom-color: var(--nefin-black, #1d1d1f);
    background: transparent;
}

.product-description .tab-content {
    padding-top: 24px;
}

.product-description .tab-pane .card {
    border: none;
    box-shadow: none;
    background: transparent;
}

.product-description .tab-pane .card-header {
    display: none;
}

.product-description .collapse-description-content {
    display: block !important;
    height: auto !important;
}

.product-description .description {
    font-size: 15px;
    line-height: 1.7;
    color: var(--nefin-charcoal, #424245);
}

.product-description .description p {
    margin-bottom: 16px;
}

.product-description .description img {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    margin: 16px 0;
}

.table-product-additional-information, .table-product-shipping {
    margin: 0;
}

.table-product-additional-information tbody tr, .table-product-shipping tbody tr {
    border-bottom: 1px solid var(--nefin-medium-gray, #e8e8ed);
}

.table-product-additional-information tbody tr:last-child, .table-product-shipping tbody tr:last-child {
    border-bottom: none;
}

.table-product-additional-information td, .table-product-shipping td {
    padding: 14px 0;
    border: none;
    vertical-align: top;
}

.table-product-additional-information .td-left, .table-product-shipping .td-left {
    font-size: 14px;
    font-weight: 500;
    color: var(--nefin-dark-gray, #86868b);
    width: 40%;
}

.table-product-additional-information .td-right, .table-product-shipping .td-right {
    font-size: 14px;
    color: var(--nefin-black, #1d1d1f);
}

.link-abuse-report {
    font-size: 13px;
    color: var(--nefin-dark-gray, #86868b) !important;
    text-decoration: none;
}

.link-abuse-report:hover {
    color: var(--nefin-red, #ff3b30) !important;
}

.review-total {
    text-align: center;
    padding: 30px;
    background: var(--nefin-snow, #fbfbfd);
    border-radius: 16px;
    margin-bottom: 30px;
}

.review-total .label-total {
    font-size: 48px;
    font-weight: 700;
    color: var(--nefin-black, #1d1d1f);
    display: block;
    line-height: 1;
    margin-bottom: 10px;
}

.review-total .rating {
    margin-bottom: 10px;
}

.review-total .total-reviews {
    font-size: 14px;
    color: var(--nefin-dark-gray, #86868b);
}

.review-item .username {
    font-weight: 600;
    color: var(--nefin-black, #1d1d1f);
    font-size: 14px;
}

.review-form-container .form-control {
    border: 1px solid var(--nefin-gray, #d2d2d7);
    border-radius: 10px;
    padding: 12px 16px;
    font-size: 14px;
}

.review-form-container .form-control:focus {
    border-color: var(--nefin-link, #06c);
    box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.1);
}

.section-related-products {
    margin-top: 50px;
    padding-top: 40px;
    border-top: 1px solid var(--nefin-medium-gray, #e8e8ed);
}

.section-related-products .title {
    font-size: 22px;
    font-weight: 600;
    color: var(--nefin-black, #1d1d1f);
    margin-bottom: 24px;
}

.section-related-products .title a {
    color: var(--nefin-link, #06c);
}

.link-see-more {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--nefin-link, #06c);
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    margin-top: 20px;
}

.link-see-more:hover {
    text-decoration: underline;
}

.comments-container {
    padding: 20px 0;
}

.col-comments-inner {
    background: var(--nefin-snow, #fbfbfd);
    border-radius: 16px;
    padding: 24px;
}

.label-comment {
    font-size: 16px;
    font-weight: 600;
    color: var(--nefin-black, #1d1d1f);
    margin-bottom: 16px;
}

#form_add_comment .form-control {
    border: 1px solid var(--nefin-gray, #d2d2d7);
    border-radius: 10px;
    padding: 12px 16px;
    font-size: 14px;
}

#form_add_comment .form-control:focus {
    border-color: var(--nefin-link, #06c);
    box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.1);
}

#form_add_comment .btn-custom {
    background: var(--nefin-black, #1d1d1f);
    color: var(--nefin-white, #fff);
    border: none;
    border-radius: 10px;
    padding: 12px 24px;
    font-weight: 600;
}

.modal-product-video .modal-content {
    background: var(--nefin-black, #1d1d1f);
    border: none;
    border-radius: 16px;
    overflow: hidden;
}

.modal-product-video .close {
    position: absolute;
    top: 15px;
    right: 15px;
    background: rgba(255, 255, 255, 0.2);
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    opacity: 1;
    color: #fff;
}

.product-video-preview {
    border-radius: 16px;
    overflow: hidden;
}

.product-video-preview video {
    width: 100%;
    display: block;
}

.btn-wishlist-product.active {
    color: var(--nefin-red, #ff3b30);
}

.mobile-sticky-cart {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    padding: 12px 16px;
    padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px));
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.1);
    z-index: 9999;
    display: none;
    align-items: center;
    gap: 12px;
    border-top: 1px solid rgba(0, 0, 0, 0.05);
}

.mobile-sticky-cart.visible {
    display: flex;
}

.mobile-sticky-cart .price-container {
    flex: 1;
    min-width: 0;
}

.mobile-sticky-cart .sticky-price {
    font-size: 18px;
    font-weight: 700;
    color: var(--nefin-black, #1d1d1f);
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mobile-sticky-cart .sticky-original-price {
    font-size: 13px;
    color: var(--nefin-dark-gray, #86868b);
    text-decoration: line-through;
}

.mobile-sticky-cart .btn-sticky-cart {
    flex-shrink: 0;
    padding: 12px 24px;
    background: var(--nefin-black, #1d1d1f);
    color: var(--nefin-white, #fff);
    border: none;
    border-radius: 25px;
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
    transition: all 0.2s ease;
}

.mobile-sticky-cart .btn-sticky-cart:active {
    transform: scale(0.95);
}

.mobile-sticky-cart.visible ~ .scrollup, body:has(.mobile-sticky-cart.visible) .scrollup {
    bottom: 85px !important;
    transition: bottom 0.3s ease;
}

body:has(.mobile-sticky-cart.visible) #wrapper {
    padding-bottom: 80px;
}

.product-badges-container {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
}

.product-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 12px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
}

.product-badge svg {
    flex-shrink: 0;
}

.badge-video {
    background: #5856d6;
    color: #fff;
}

.badge-fast-shipping {
    background: #34c759;
    color: #fff;
}

.badge-lowest-price {
    background: #ff3b30;
    color: #fff;
}

.meta-sales {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #86868b;
    font-weight: 500;
}

.meta-sales svg {
    fill: currentColor;
}

.delivery-info-box {
    background: #f5f5f7;
    border: 1px solid #e8e8ed;
    border-radius: 12px;
    padding: 16px;
    margin: 16px 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.delivery-info-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.delivery-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: #1d1d1f;
    border-radius: 10px;
    flex-shrink: 0;
}

.delivery-icon svg {
    stroke: #fff;
}

.delivery-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.delivery-label {
    font-size: 12px;
    color: #86868b;
    font-weight: 500;
}

.delivery-value {
    font-size: 14px;
    color: #1d1d1f;
    font-weight: 600;
}

.delivery-value.highlight {
    color: #1d1d1f;
    font-size: 15px;
    font-weight: 700;
}

.delivery-info-item.delivery-date .delivery-icon {
    background: #0071e3;
}

.delivery-info-item.fast-shipping-badge .delivery-icon {
    background: #34c759;
}

.delivery-info-item.fast-shipping-badge .delivery-value {
    color: #34c759;
}

.product-item-badges {
    position: absolute;
    top: 10px;
    left: 10px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    z-index: 10;
}

.product-item-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 10px;
    font-weight: 600;
}

.product-item-badge.badge-video {
    background: #5856d6;
    color: #fff;
}

.product-item-badge.badge-fast-shipping {
    background: #34c759;
    color: #fff;
}

.product-item-badge.badge-discount {
    background: #ff3b30;
    color: #fff;
}

.product-item-sales {
    font-size: 11px;
    color: #86868b;
    font-weight: 500;
    margin-top: 4px;
    display: flex;
    align-items: center;
    gap: 4px;
}

.product-item-sales svg {
    width: 12px;
    height: 12px;
    fill: currentColor;
}

.product-item-delivery {
    font-size: 11px;
    color: #34c759;
    font-weight: 500;
    margin-top: 4px;
    display: flex;
    align-items: center;
    gap: 4px;
}

.product-item-delivery svg {
    width: 12px;
    height: 12px;
    stroke: currentColor;
    fill: none;
}

.badge-fast-shipping {

}

.live-viewers-container {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    background: #f5f5f7;
    border: 1px solid #e8e8ed;
    border-radius: 10px;
    margin: 12px 0;
}

.live-indicator {
    width: 8px;
    height: 8px;
    background: #ff3b30;
    border-radius: 50%;
    animation: live-pulse 1.5s ease-in-out infinite;
}

@keyframes live-pulse {
    0%, 100% {
        opacity: 1;
    }

    50% {
        opacity: 0.4;
    }
}

.viewers-text {
    font-size: 13px;
    color: #86868b;
}

.viewers-text strong {
    color: #1d1d1f;
    font-weight: 600;
}

.trust-badges-container {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 16px 0;
    padding: 16px;
    background: var(--nefin-light-gray, #f5f5f7);
    border-radius: 12px;
}

.trust-badge {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #86868b;
    font-weight: 500;
}

.trust-badge svg {
    stroke: #34c759;
    flex-shrink: 0;
}

.stock-alert-container {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    background: #f5f5f7;
    border: 1px solid #e8e8ed;
    border-radius: 10px;
    margin: 12px 0;
}

.stock-alert-icon {
    width: 20px;
    height: 20px;
    color: #ff9500;
}

.stock-alert-text {
    font-size: 13px;
    color: #1d1d1f;
    font-weight: 500;
}

:root {
    --nefin-white: #fff;
    --nefin-snow: #fbfbfd;
    --nefin-light-gray: #f5f5f7;
    --nefin-medium-gray: #e8e8ed;
    --nefin-gray: #d2d2d7;
    --nefin-dark-gray: #86868b;
    --nefin-charcoal: #424245;
    --nefin-black: #1d1d1f;
    --nefin-link: #06c;
    --nefin-link-hover: #0077ed;
    --nefin-success: #34c759;
    --nefin-red: #ff3b30;
    --nefin-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.04);
    --nefin-shadow-md: 0 4px 16px rgba(0, 0, 0, 0.08);
    --nefin-shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.12);
    --nefin-shadow-hover: 0 12px 40px rgba(0, 0, 0, 0.16);
    --nefin-transition: all 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);
    --nefin-transition-fast: all 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);
    --nefin-radius-sm: 8px;
    --nefin-radius-md: 12px;
    --nefin-radius-lg: 18px;
    --nefin-radius-xl: 22px;
}

.category-hero {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.category-hero-media {
    position: relative;
    width: 100%;
    height: clamp(240px, 36vw, 420px);
}

.category-hero-image, .category-hero-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.category-hero-video {
    z-index: 1;
}

.category-hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient( to bottom, rgba(29, 29, 31, 0.1) 0%, rgba(29, 29, 31, 0.35) 60%, rgba(29, 29, 31, 0.65) 100% );
    z-index: 2;
}

.category-hero-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 40px;
    z-index: 3;
    max-width: 1400px;
    margin: 0 auto;
}

.category-hero-content .nav-breadcrumb, .category-hero-content .nefin-breadcrumb {
    padding: 0;
    margin-bottom: 12px;
}

.category-hero-content .breadcrumb-hero {
    background: transparent !important;
}

.category-hero-content .breadcrumb-hero .breadcrumb-item, .category-hero-content .breadcrumb-hero .breadcrumb-item a {
    color: rgba(255, 255, 255, 0.8) !important;
    font-size: 13px;
    text-transform: none;
    font-family: var(--font-primary, "Montserrat", sans-serif);
}

.category-hero-content .breadcrumb-hero .breadcrumb-item a:hover {
    color: var(--nefin-white) !important;
    text-decoration: underline;
}

.category-hero-content .breadcrumb-hero .breadcrumb-item.active {
    color: var(--nefin-white) !important;
}

.category-hero-content .breadcrumb-hero .breadcrumb-item + .breadcrumb-item::before {
    color: rgba(255, 255, 255, 0.5);
}

.category-hero-title {
    font-size: 42px;
    font-weight: 600;
    color: var(--nefin-white);
    margin: 0 0 12px 0;
    letter-spacing: -0.02em;
    font-family: var(--font-primary, "Montserrat", sans-serif);
    text-shadow: 0 2px 20px rgba(0, 0, 0, 0.3);
}

.category-hero-subtitle {
    font-size: 16px;
    font-weight: 400;
    color: rgba(255, 255, 255, 0.85);
    max-width: 600px;
    line-height: 1.6;
    font-family: var(--font-primary, "Montserrat", sans-serif);
}

.category-nav-wrap {
    padding: 20px 0;
    border-bottom: 1px solid rgba(103, 100, 94, 0.1);
    background: #fff;
}

.category-nav {
    display: flex;
    gap: 30px;
    flex-wrap: wrap;
    align-items: center;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    justify-content: center;
    margin: 40px 0px;
}

.category-nav::-webkit-scrollbar {
    display: none;
}

.category-chip {
    display: inline-flex;
    align-items: center;
    padding: 10px 20px;
    border: 1px solid rgba(103, 100, 94, 0.2);
    border-radius: 30px;
    text-decoration: none;
    color: #67645e;
    background: #fff;
    font-family: var(--font-primary, "Montserrat", sans-serif);
    font-size: 16pt;
    font-weight: 400;
    white-space: nowrap;
    transition: all 0.25s ease;
    text-transform: uppercase;
}

.category-chip:hover {
    border-color: #67645e;
    background: #f1f0ed;
    color: #1d1d1f;
    text-decoration: none;
}

.category-chip.is-active {
    background: #67645e;
    color: #fff;
    border-color: #67645e;
}

.category-chip.is-active:hover {
    background: #1d1d1f;
    border-color: #1d1d1f;
}

.col-content-products-v2 .product-list-header, .product-list-content + .product-list-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    padding: 20px 0;
    margin-bottom: 10px;
    border-bottom: 1px solid var(--nefin-medium-gray);
}

.breadcrumb-products {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 13px;
    height: auto !important;
    line-height: 1.5 ;
}

.breadcrumb-products .breadcrumb-item {
    color: var(--nefin-dark-gray);
}

.breadcrumb-products .breadcrumb-item a {
    color: var(--nefin-link);
    text-decoration: none;
    transition: var(--nefin-transition-fast);
    text-transform: none;
}

.breadcrumb-products .breadcrumb-item a:hover {
    color: var(--nefin-link-hover);
    text-decoration: underline;
}

.breadcrumb-products .breadcrumb-item.active {
    color: var(--nefin-charcoal);
}

.col-content-products-v2 .product-sort-by, .product-list-header .product-sort-by {
    display: flex;
    align-items: center;
    gap: 12px;
    float: none;
}

.product-sort-by .span-sort-by {
    color: var(--nefin-dark-gray);
    font-size: 14px;
    font-weight: 500;
}

.product-sort-by .sort-select .custom-select {
    border: 1px solid var(--nefin-gray);
    border-radius: var(--nefin-radius-sm);
    padding: 8px 36px 8px 14px;
    font-size: 14px;
    color: var(--nefin-black);
    background-color: var(--nefin-white);
    cursor: pointer;
    transition: var(--nefin-transition-fast);
    min-width: 160px;
    height: auto;
}

.product-sort-by .sort-select .custom-select:focus {
    border-color: var(--nefin-link);
    box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.15);
    outline: none;
}

.product-sort-by .sort-select .custom-select:hover {
    border-color: var(--nefin-dark-gray);
}

.btn-filter-products-mobile {
    background-color: var(--nefin-white);
    border: 1px solid var(--nefin-gray);
    border-radius: var(--nefin-radius-sm);
    padding: 10px 16px;
    font-size: 14px;
    font-weight: 500;
    color: var(--nefin-black);
    transition: var(--nefin-transition-fast);
    display: none;
}

.btn-filter-products-mobile:hover {
    background-color: var(--nefin-light-gray);
    border-color: var(--nefin-dark-gray);
}

.btn-filter-products-mobile i {
    margin-right: 6px;
}

.col-sidebar-products {
    display: none;
}

.col-content-products-v2 {
    flex: 0 0 100%;
    max-width: 100%;
}

.nefin-sort-btn i.fa-chevron-down {
    font-size: 10px;
    margin-left: 4px;
    transition: transform 0.2s ease;
}

.nefin-sort-btn[aria-expanded="true"] i.fa-chevron-down {
    transform: rotate(180deg);
}

.nefin-filter-btn.active {
    background: var(--nefin-black);
    border-color: var(--nefin-black);
    color: var(--nefin-white);
}

.nefin-filter-btn[aria-expanded="true"] i.fa-chevron-down {
    transform: rotate(180deg);
}

.nefin-filter-dropdown .dropdown-menu.nefin-filter-panel {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 260px;
    max-width: 320px;
    background: var(--nefin-white);
    border-radius: var(--nefin-radius-lg);
    box-shadow: var(--nefin-shadow-lg);
    border: 1px solid var(--nefin-medium-gray);
    padding: 12px 0;
    margin-top: 8px;
    z-index: 1000;
    animation: filterPanelFade 0.2s ease;
}

.nefin-filter-option.selected {
    background: rgba(0, 102, 204, 0.08);
    color: var(--nefin-link);
    font-weight: 500;
}

.nefin-filter-option i.fa-check {
    font-size: 12px;
    color: var(--nefin-link);
}

.nefin-price-filter .price-input-group .form-control {
    width: 100%;
    height: 42px;
    padding: 0 12px;
    font-size: 15px;
    font-weight: 500;
    color: var(--nefin-black);
    background: var(--nefin-light-gray);
    border: 1px solid transparent;
    border-radius: var(--nefin-radius-sm);
    transition: var(--nefin-transition-fast);
}

.nefin-price-filter .price-input-group .form-control:focus {
    background: var(--nefin-white);
    border-color: var(--nefin-link);
    box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.1);
    outline: none;
}

@keyframes filterPanelFade {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.product-filters {
    background: var(--nefin-white);
    border-radius: var(--nefin-radius-lg);
    padding: 20px;
    position: relative;
    top: 0;
    max-height: none;
    overflow: visible;
    box-shadow: none;
    border: none;
}

.product-filters::before {
    display: none;
}

.filter-item {
    margin-bottom: 0;
    padding: 16px 0;
    border-bottom: 1px solid var(--nefin-medium-gray);
    background: transparent;
    transition: none;
}

.filter-item:first-child {
    padding-top: 0;
}

.filter-item:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.filter-item:hover {
    background: transparent;
}

.filter-item .title {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--nefin-dark-gray) !important;
    text-transform: uppercase ;
    letter-spacing: 0.05em;
    margin-bottom: 12px !important;
    display: block;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.filter-list-categories-parent {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--nefin-link);
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    margin-bottom: 12px;
    padding: 6px 12px;
    background: rgba(0, 102, 204, 0.08);
    border-radius: 16px;
    transition: var(--nefin-transition-fast);
}

.filter-list-categories-parent:hover {
    color: var(--nefin-link-hover);
    background: rgba(0, 102, 204, 0.12);
    text-decoration: none;
}

.filter-list-categories-parent svg {
    width: 14px;
    height: 14px;
}

.filter-list-container {
    max-height: 220px;
    overflow-y: auto;
    margin: 0;
    padding: 0;
}

.filter-list-container::-webkit-scrollbar {
    width: 3px;
}

.filter-list-container::-webkit-scrollbar-track {
    background: transparent;
}

.filter-list-container::-webkit-scrollbar-thumb {
    background: var(--nefin-gray);
    border-radius: 2px;
}

.filter-list {
    list-style: none;
    padding: 0;
    margin: 0;
    max-height: none;
    overflow: visible;
}

.filter-list-categories li a.active, .filter-list-subcategories li a.active {
    background-color: var(--nefin-black);
    color: var(--nefin-white);
    font-weight: 500;
}

.filter-list-categories li a.active::before, .filter-list-subcategories li a.active::before {
    height: 60%;
    background: var(--nefin-white);
}

.filter-list li {
    margin-bottom: 2px;
}

.filter-list li a {
    display: block;
    padding: 8px 12px;
    border-radius: var(--nefin-radius-sm);
    color: var(--nefin-black);
    font-size: 14px;
    text-decoration: none;
    transition: var(--nefin-transition-fast);
}

.filter-list li a:hover {
    background-color: var(--nefin-light-gray);
}

.filter-list .custom-control {
    padding-left: 0;
    min-height: auto;
    display: flex;
    align-items: center;
}

.filter-list .custom-control-input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.filter-list .custom-control-label {
    cursor: pointer;
    padding-left: 30px;
    position: relative;
    margin-bottom: 0;
    font-weight: 400;
    color: var(--nefin-charcoal);
    font-size: 14px;
    line-height: 1.4;
    transition: color 0.2s ease;
}

.filter-list li a:hover .custom-control-label {
    color: var(--nefin-black);
}

.filter-list .custom-control-label::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    border: 2px solid var(--nefin-gray);
    border-radius: 6px;
    background: var(--nefin-white);
    transition: all 0.2s ease;
}

.filter-list .custom-control-label::after {
    content: "";
    position: absolute;
    left: 6px;
    top: 50%;
    width: 8px;
    height: 8px;
    transform: translateY(-50%) scale(0);
    transition: transform 0.2s ease;
}

.filter-list .custom-control-input:checked + .custom-control-label {
    color: var(--nefin-black);
    font-weight: 500;
}

.filter-list .custom-control-input:checked + .custom-control-label::before {
    background: var(--nefin-link);
    border-color: var(--nefin-link);
}

.filter-list .custom-control-input:checked + .custom-control-label::after {
    transform: translateY(-50%) scale(1);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='m6.564.75-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-color: transparent;
}

.price-filter-inputs {
    margin-top: 0;
}

.row-price-inputs {
    display: flex;
    align-items: flex-end;
    gap: 12px;
    margin: 0;
}

.col-price-inputs {
    flex: 1;
    padding: 0 !important;
}

.col-price-inputs:last-child {
    flex: 0 0 auto;
}

.col-price-inputs span {
    display: block;
    font-size: 11px;
    color: var(--nefin-dark-gray);
    margin-bottom: 6px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 500;
}

.price-filter-input {
    border: 1px solid var(--nefin-medium-gray);
    border-radius: var(--nefin-radius-md);
    padding: 12px 14px;
    font-size: 14px;
    background-color: var(--nefin-snow);
    transition: var(--nefin-transition-fast);
    width: 100%;
}

.price-filter-input:focus {
    border-color: var(--nefin-link);
    background-color: var(--nefin-white);
    box-shadow: 0 0 0 4px rgba(0, 102, 204, 0.1);
    outline: none;
}

.btn-filter-price {
    width: 44px;
    height: 44px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--nefin-black);
    color: var(--nefin-white);
    border: none;
    border-radius: var(--nefin-radius-md);
    transition: var(--nefin-transition-fast);
    flex-shrink: 0;
}

.btn-filter-price:hover {
    background-color: var(--nefin-charcoal);
    transform: scale(1.02);
}

.btn-filter-price i {
    font-size: 14px;
}

.filter-reset-tag-container {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 20px;
    align-items: center;
}

.filter-reset-tag {
    display: flex;
    align-items: center;
    background-color: var(--nefin-light-gray);
    border-radius: 20px;
    padding: 6px 14px;
    font-size: 13px;
}

.filter-reset-tag .left {
    margin-right: 8px;
}

.filter-reset-tag .left a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    background-color: var(--nefin-dark-gray);
    border-radius: 50%;
    color: var(--nefin-white);
    transition: var(--nefin-transition-fast);
}

.filter-reset-tag .left a:hover {
    background-color: var(--nefin-red);
}

.filter-reset-tag .left a i {
    font-size: 10px;
}

.filter-reset-tag .right {
    display: flex;
    flex-direction: column;
}

.filter-reset-tag .reset-tag-title {
    font-size: 10px;
    color: var(--nefin-dark-gray);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    line-height: 1;
}

.filter-reset-tag .right span:last-child {
    color: var(--nefin-black);
    font-weight: 500;
}

.link-reset-filters {
    color: var(--nefin-link);
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    transition: var(--nefin-transition-fast);
    margin-left: 10px;
}

.link-reset-filters:hover {
    color: var(--nefin-link-hover);
    text-decoration: underline;
}

.col-content-products-v2 {
    flex: 1;
}

.row-product {
    margin: 0 -10px;
}

.col-product {
    padding: 10px;
    margin-bottom: 10px;
}

.product-item {
    background: var(--nefin-white);
    border-radius: var(--nefin-radius-lg);
    overflow: hidden;
    transition: var(--nefin-transition);
    height: 100%;
    display: flex;
    flex-direction: column;
    border: 1px solid var(--nefin-medium-gray);
    margin-bottom: 0 !important;
}

.product-item:hover {
    box-shadow: var(--nefin-shadow-hover);
    transform: translateY(-4px);
    border-color: transparent;
}

.product-item .img-product-container {
    background-color: var(--nefin-light-gray) !important;
    position: relative;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    height: auto !important;
}

.product-item .img-product {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain;
    transition: transform 0.5s cubic-bezier(0.25, 0.1, 0.25, 1);
    padding: 20px;
}

.product-item:hover .img-product {
    transform: scale(1.05);
}

.product-item-options {
    position: absolute;
    top: 12px;
    right: 12px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    opacity: 0;
    transform: translateX(10px);
    transition: var(--nefin-transition);
    z-index: 10;
}

.product-item:hover .product-item-options {
    opacity: 1;
    transform: translateX(0);
}

.product-item-options .item-option {
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--nefin-white);
    border-radius: 50%;
    color: var(--nefin-charcoal);
    font-size: 16px;
    box-shadow: var(--nefin-shadow-md);
    transition: var(--nefin-transition-fast);
    opacity: 1 !important;
    position: relative !important;
    right: 0 !important;
    margin-bottom: 0 !important;
}

.product-item-options .item-option:hover {
    background-color: var(--nefin-black);
    color: var(--nefin-white);
    transform: scale(1.1);
}

.product-item-options .item-option .icon-heart {
    color: var(--nefin-red) !important;
}

.product-item .badge-discount {
    position: absolute;
    top: 12px;
    left: 12px;
    padding: 6px 10px !important;
    border-radius: 20px;
    font-weight: 600;
    font-size: 11px;
    background-color: var(--nefin-red);
    color: var(--nefin-white);
    letter-spacing: 0.02em;
}

.product-item .badge-promoted {
    position: absolute;
    left: 12px;
    top: auto;
    bottom: 12px;
    font-weight: 500;
    font-size: 11px;
    border-radius: 20px;
    padding: 5px 10px;
    background-color: var(--nefin-black);
    color: var(--nefin-white);
}

.product-item .item-details {
    padding: 16px !important;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.product-item .item-details .product-title {
    font-size: 14px !important;
    margin-bottom: 6px !important;
}

.product-item .item-details .product-title a {
    color: var(--nefin-black) !important;
    font-weight: 500 !important;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-size: 14px !important;
    line-height: 1.4 ;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: var(--nefin-transition-fast);
}

.product-item .item-details .product-title a:hover {
    color: var(--nefin-link) !important;
}

.product-short-description {
    font-size: 12px !important;
    color: var(--nefin-dark-gray) !important;
    margin-bottom: 10px !important;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-weight: 400 !important;
}

.product-item-rating {
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.product-item .rating i {
    font-size: 12px !important;
    color: var(--nefin-gray);
}

.product-item .rating i.icon-star {
    color: #ffc107;
}

.product-item-rating .item-wishlist {
    color: var(--nefin-dark-gray) !important;
    font-size: 12px !important;
    display: flex !important;
    align-items: center;
    gap: 4px;
}

.product-item-rating .item-wishlist i {
    font-size: 12px;
    color: var(--nefin-red);
}

.product-item .item-meta {
    margin-top: auto;
    padding-top: 12px;
    border-top: 1px solid var(--nefin-medium-gray);
}

.product-item .item-meta .price {
    font-size: 18px !important;
    font-weight: 600 !important;
    color: var(--nefin-black) !important;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.discount-original-price {
    font-size: 13px !important;
    color: var(--nefin-dark-gray) !important;
    text-decoration: line-through;
    font-weight: 400 !important;
    display: block;
}

.product-item .item-meta .price-free {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: var(--nefin-success) !important;
}

.add-to-cart-buttons {
    margin-top: 12px;
}

.add-to-cart-block {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 12px 16px;
    background-color: var(--nefin-black);
    color: var(--nefin-white) !important;
    border-radius: var(--nefin-radius-sm);
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    transition: var(--nefin-transition-fast);
    border: none;
    cursor: pointer;
}

.add-to-cart-block:hover {
    background-color: var(--nefin-charcoal);
    color: var(--nefin-white) !important;
    transform: translateY(-1px);
}

.add-to-cart-block:active {
    transform: translateY(0);
}

.no-records-found {
    text-align: center;
    padding: 60px 20px;
    color: var(--nefin-dark-gray);
    font-size: 16px;
    background-color: var(--nefin-light-gray);
    border-radius: var(--nefin-radius-lg);
}

.col-content-products-v2 .pagination {
    display: flex;
    justify-content: center;
    gap: 6px;
    margin-top: 40px;
}

.col-content-products-v2 .pagination .page-item .page-link {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--nefin-medium-gray);
    border-radius: var(--nefin-radius-sm);
    color: var(--nefin-charcoal);
    font-size: 14px;
    font-weight: 500;
    background-color: var(--nefin-white);
    transition: var(--nefin-transition-fast);
    text-decoration: none;
    padding: 0;
}

.col-content-products-v2 .pagination .page-item .page-link:hover {
    background-color: var(--nefin-light-gray);
    border-color: var(--nefin-gray);
}

.col-content-products-v2 .pagination .page-item.active .page-link {
    background-color: var(--nefin-black);
    border-color: var(--nefin-black);
    color: var(--nefin-white);
}

.col-content-products-v2 .pagination .page-item.disabled .page-link {
    background-color: var(--nefin-light-gray);
    color: var(--nefin-gray);
    cursor: not-allowed;
}

@keyframes productCardShimmer {
    0% {
        background-position: -200% 0;
    }

    100% {
        background-position: 200% 0;
    }
}

.product-item.loading {
    background: linear-gradient( 90deg, var(--nefin-light-gray) 25%, var(--nefin-medium-gray) 50%, var(--nefin-light-gray) 75% );
    background-size: 200% 100%;
    animation: productCardShimmer 1.5s ease-in-out infinite;
}

.product-item .product-multiple-image .img-second {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease, visibility 0.4s ease;
}

.product-item:hover .product-multiple-image .img-second {
    opacity: 1;
    visibility: visible;
}

.product-item:hover .product-multiple-image .img-product:not(.img-second) {
    opacity: 0;
}

.product-item .product-item-badges {
    position: absolute;
    top: 10px;
    left: 10px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    z-index: 10;
}

.product-item .product-item-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 10px;
    font-weight: 600;
    text-transform: none;
    letter-spacing: 0;
}

.product-item .product-item-badge.badge-video {
    background: #5856d6;
    color: #fff;
}

.product-item .product-item-badge.badge-fast-shipping {
    background: #34c759;
    color: #fff;
}

.product-item .product-item-badge.badge-discount {
    background: #ff3b30;
    color: #fff;
}

.product-item .product-item-sales {
    font-size: 11px;
    color: #86868b;
    font-weight: 500;
    margin-top: 6px;
    display: flex;
    align-items: center;
    gap: 4px;
}

.product-item .product-item-sales svg {
    width: 12px;
    height: 12px;
    fill: currentColor;
}

.product-item .product-item-delivery {
    font-size: 11px;
    color: #34c759;
    font-weight: 500;
    margin-top: 4px;
    display: flex;
    align-items: center;
    gap: 4px;
}

.product-item .product-item-delivery svg {
    width: 12px;
    height: 12px;
    stroke: currentColor;
    fill: none;
}

.product-item .product-item-badge.badge-fast-shipping {

}

.form-section .dm-uploader:hover, .form-section .dm-uploader.active {
    border-color: #667eea;
    background: #f8f9ff;
}

.form-section .dm-uploaded-files li .btn-is-image-main {
    position: absolute;
    bottom: 6px;
    left: 50%;
    transform: translateX(-50%);
    padding: 3px 10px;
    font-size: 10px;
    border-radius: 12px;
    z-index: 10;
}

@keyframes fadeInProduct {

}

.side-cart-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(29, 29, 31, 0.4);
    z-index: 101;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s ease, visibility 0.35s ease;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

.side-cart-overlay.active {
    opacity: 1;
    visibility: visible;
}

.side-cart {
    position: fixed;
    top: 0;
    right: -480px;
    width: 460px;
    max-width: 100%;
    height: 100%;
    background-color: #fff;
    z-index: 10099;
    display: flex;
    flex-direction: column;
    box-shadow: -8px 0 32px rgba(0, 0, 0, 0.12);
    transition: right 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.side-cart.active {
    right: 0;
}

.side-cart-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px;
    background: #fff;
    border-bottom: 1px solid rgba(103, 100, 94, 0.12);
}

.side-cart-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #67645e;
    font-family: var(--font-primary, "Montserrat", sans-serif);
}

.side-cart-title i {
    font-size: 18px;
    opacity: 0.8;
}

.side-cart-count {
    font-weight: 500;
    opacity: 0.6;
    font-size: 13px;
    text-transform: none;
    letter-spacing: 0;
}

.side-cart-close {
    background: #f1f0ed;
    border: none;
    color: #67645e;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.25s ease;
}

.side-cart-close:hover {
    background: #67645e;
    color: #fff;
}

.side-cart-close i {
    font-size: 12px;
}

.side-cart-body {
    flex: 1;
    overflow-y: auto;
    padding: 0;
    background-color: #faf9f7;
}

.side-cart-body::-webkit-scrollbar {
    width: 4px;
}

.side-cart-body::-webkit-scrollbar-track {
    background: transparent;
}

.side-cart-body::-webkit-scrollbar-thumb {
    background: rgba(103, 100, 94, 0.2);
    border-radius: 2px;
}

.side-cart-body::-webkit-scrollbar-thumb:hover {
    background: rgba(103, 100, 94, 0.4);
}

.side-cart-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 200px;
}

.side-cart-loading .spinner-border {
    color: #67645e;
    width: 32px;
    height: 32px;
}

.side-cart-item {
    display: flex;
    padding: 20px 24px;
    background: #fff;
    border-bottom: 1px solid rgba(103, 100, 94, 0.08);
    transition: background-color 0.2s ease;
    position: relative;
}

.side-cart-item:hover {
    background-color: #faf9f7;
}

.side-cart-item:hover .side-cart-item-image img {
    transform: scale(1.03);
}

.side-cart-item:hover .side-cart-item-remove {
    opacity: 1;
}

.side-cart-item-image {
    width: 72px;
    height: 72px;
    flex-shrink: 0;
    border-radius: 10px;
    overflow: hidden;
    background: #f1f0ed;
}

.side-cart-item-image a {
    display: block;
    width: 100%;
    height: 100%;
}

.side-cart-item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.side-cart-item-details {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 0 12px;
}

.side-cart-item-title {
    font-size: 14px;
    font-weight: 500;
    color: #1d1d1f;
    text-decoration: none;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-family: var(--font-primary, "Montserrat", sans-serif);
}

.side-cart-item-title:hover {
    color: #67645e;
}

.side-cart-digital-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #67645e;
    background: #f1f0ed;
    padding: 3px 8px;
    border-radius: 4px;
    width: fit-content;
}

.side-cart-out-of-stock {
    font-size: 11px;
    color: #c45c5c;
    font-weight: 500;
}

.side-cart-item-price {
    font-size: 15px;
    font-weight: 600;
    color: #1d1d1f;
    font-family: var(--font-primary, "Montserrat", sans-serif);
}

.side-cart-item-quantity {
    display: inline-flex;
    align-items: center;
    background: #f1f0ed;
    border-radius: 8px;
    overflow: hidden;
    height: 32px;
    width: fit-content;
}

.side-cart-qty-minus, .side-cart-qty-plus {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    color: #67645e;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
}

.side-cart-qty-minus:hover, .side-cart-qty-plus:hover {
    background: #e5e4e1;
    color: #1d1d1f;
}

.side-cart-item-quantity input {
    width: 36px;
    height: 32px;
    text-align: center;
    border: none;
    background: transparent;
    font-size: 14px;
    font-weight: 600;
    color: #1d1d1f;
    font-family: var(--font-primary, "Montserrat", sans-serif);
}

.side-cart-item-qty-text {
    font-size: 12px;
    color: #67645e;
}

.side-cart-item-remove {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f1f0ed;
    border: none;
    border-radius: 50%;
    color: #67645e;
    font-size: 10px;
    cursor: pointer;
    opacity: 0;
    transition: all 0.2s ease;
}

.side-cart-item-remove:hover {
    background: #c45c5c;
    color: #fff;
}

.side-cart-footer {
    padding: 24px;
    background: #fff;
    border-top: 1px solid rgba(103, 100, 94, 0.12);
}

.side-cart-subtotal {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
    font-size: 14px;
}

.side-cart-subtotal span:first-child {
    font-weight: 500;
    color: #67645e;
    font-family: var(--font-primary, "Montserrat", sans-serif);
}

.side-cart-price {
    font-weight: 600;
    color: #1d1d1f;
    font-size: 22px;
    font-family: var(--font-primary, "Montserrat", sans-serif);
}

.side-cart-shipping-note {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: #f1f0ed;
    color: #67645e;
    padding: 14px 16px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 500;
    margin-bottom: 20px;
    border: none;
    font-family: var(--font-primary, "Montserrat", sans-serif);
}

.side-cart-shipping-note i {
    font-size: 16px;
    color: #5a8a5a;
}

.side-cart-buttons {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 12px;
}

.btn-side-cart-view, .btn-side-cart-checkout {
    flex: 1;
    padding: 16px 24px;
    border-radius: 30px;
    font-size: 13px;
    font-weight: 600;
    text-align: center;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: all 0.25s ease;
    font-family: var(--font-primary, "Montserrat", sans-serif);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.btn-side-cart-view {
    background: #fff;
    color: #67645e;
    border: 1px solid #67645e;
}

.btn-side-cart-view:hover {
    background: #67645e;
    color: #fff;
    text-decoration: none;
}

.btn-side-cart-checkout {
    background: #67645e;
    color: #fff;
    border: none;
}

.btn-side-cart-checkout:hover {
    background: #1d1d1f;
    color: #fff;
    text-decoration: none;
    transform: translateY(-1px);
}

.side-cart-continue {
    display: block;
    text-align: center;
    color: #67645e;
    font-size: 13px;
    text-decoration: none;
    padding: 10px;
    transition: all 0.2s ease;
    font-weight: 500;
    font-family: var(--font-primary, "Montserrat", sans-serif);
}

.side-cart-continue:hover {
    color: #1d1d1f;
    text-decoration: underline;
}

.side-cart-continue i {
    margin-right: 6px;
    transition: transform 0.2s ease;
}

.side-cart-continue:hover i {
    transform: translateX(-3px);
}

.side-cart-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: calc(100% - 80px);
    padding: 48px 32px;
    text-align: center;
    background: #faf9f7;
}

.side-cart-empty-icon {
    width: 88px;
    height: 88px;
    background: #f1f0ed;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 24px;
}

.side-cart-empty-icon i {
    font-size: 32px;
    color: #67645e;
}

.side-cart-empty-text {
    font-size: 16px;
    font-weight: 500;
    color: #67645e;
    margin-bottom: 24px;
    font-family: var(--font-primary, "Montserrat", sans-serif);
}

.btn-side-cart-shop {
    background: #67645e;
    color: #fff;
    padding: 16px 32px;
    border-radius: 30px;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    transition: all 0.25s ease;
    font-family: var(--font-primary, "Montserrat", sans-serif);
}

.btn-side-cart-shop:hover {
    background: #1d1d1f;
    color: #fff;
    text-decoration: none;
    transform: translateY(-1px);
}

.side-cart-progress-container {
    padding: 16px 24px;
    background: #fff;
    border-bottom: 1px solid rgba(103, 100, 94, 0.1);
}

.side-cart-progress-text {
    font-size: 13px;
    color: #67645e;
    margin-bottom: 12px;
    text-align: center;
    font-family: var(--font-primary, "Montserrat", sans-serif);
}

.side-cart-progress-text strong {
    color: #1d1d1f;
    font-weight: 600;
}

.side-cart-progress-bar {
    height: 3px;
    background: #e5e4e1;
    border-radius: 2px;
    overflow: hidden;
}

.side-cart-progress-fill {
    height: 100%;
    background: #5a8a5a;
    border-radius: 2px;
    transition: width 0.5s ease;
}

.side-cart-progress-complete {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #1d1d1f;
    font-weight: 500;
    font-size: 13px;
    font-family: var(--font-primary, "Montserrat", sans-serif);
}

.side-cart-progress-complete i {
    color: #5a8a5a;
}

@keyframes cartPulse {
    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.15);
    }

    100% {
        transform: scale(1);
    }
}

.cart-icon-pulse {
    animation: cartPulse 0.4s ease;
}

@keyframes slideInItem {
    from {
        opacity: 0;
        transform: translateX(20px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.side-cart-item.new-item {
    animation: slideInItem 0.3s ease;
}

@media (max-width: 480px) {

    .side-cart-title {
        font-size: 12px;
    }

    .side-cart-item {
        padding: 16px 20px;
    }

    .side-cart-item-title {
        font-size: 13px;
    }

    .side-cart-item-price {
        font-size: 14px;
    }

    .side-cart-footer {
        padding: 20px;
    }

    .side-cart-price {
        font-size: 20px;
    }

    .btn-side-cart-view, .btn-side-cart-checkout {
        padding: 14px 20px;
        font-size: 12px;
    }

    .side-cart-progress-container {
        padding: 14px 20px;
    }

    .side-cart-progress-text {
        font-size: 12px;
    }
}

body.side-cart-open {
    overflow: hidden;
}

:root {
    --page-white: #fff;
    --page-snow: #faf9f7;
    --page-light-gray: #f1f0ed;
    --page-medium-gray: #e5e4e1;
    --page-gray: #c9c7c3;
    --page-dark-gray: #8a8780;
    --page-charcoal: #67645e;
    --page-black: #1d1d1f;
    --page-link: #67645e;
    --page-link-hover: #4a4843;
    --page-success: #5a8a5a;
    --page-red: #c45c5c;
    --page-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.04);
    --page-shadow-md: 0 4px 16px rgba(0, 0, 0, 0.08);
    --page-shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.12);
    --page-shadow-xl: 0 16px 48px rgba(0, 0, 0, 0.16);
    --page-transition: all 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);
    --page-transition-fast: all 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);
    --page-radius-sm: 8px;
    --page-radius-md: 12px;
    --page-radius-lg: 18px;
    --page-radius-xl: 24px;
}

.nefin-page-header {
    background: var(--page-white);
    padding: 40px 0 48px;
    border-bottom: 1px solid var(--page-medium-gray);
}

.nefin-page-header .container {

    margin: 0 auto;
    padding: 0 24px;
}

.nefin-page-header .nefin-breadcrumb {
    margin-bottom: 12px;
}

.nefin-page-header .nefin-breadcrumb .breadcrumb {
    background: transparent;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0;
    justify-content: flex-start;
}

.nefin-page-header .nefin-breadcrumb .breadcrumb-item {
    font-size: 13px;
    color: var(--page-dark-gray);
}

.nefin-page-header .nefin-breadcrumb .breadcrumb-item a {
    color: var(--page-link);
    text-decoration: none;
    transition: var(--page-transition-fast);
}

.nefin-page-header .nefin-breadcrumb .breadcrumb-item a:hover {
    color: var(--page-link-hover);
    text-decoration: underline;
}

.nefin-page-header .nefin-breadcrumb .breadcrumb-item.active {
    color: var(--page-charcoal);
}

.nefin-page-header .nefin-page-title {
    font-size: 48px;
    font-weight: 600;
    color: var(--page-black);
    letter-spacing: -0.025em;
    margin: 0;
    line-height: 1.1;
}

.nefin-page-header .nefin-page-subtitle {
    font-size: 18px;
    color: var(--page-dark-gray);
    margin: 12px 0 0 0;
    font-weight: 400;
}

.nefin-page-header.nefin-header-gray {
    background: var(--page-light-gray);
}

.nefin-page-header .nefin-page-title-sm {
    font-size: 32px;
}

.nefin-breadcrumb .breadcrumb {
    background: transparent;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0;
}

.nefin-breadcrumb .breadcrumb-item {
    font-size: 13px;
    color: var(--page-dark-gray);
}

.nefin-breadcrumb .breadcrumb-item a {
    color: var(--page-link);
    text-decoration: none;
    transition: var(--page-transition-fast);
    text-transform: none;
}

.nefin-breadcrumb .breadcrumb-item a:hover {
    color: var(--page-link-hover);
    text-decoration: underline;
}

.nefin-breadcrumb .breadcrumb-item.active {
    color: var(--page-charcoal);
}

.nefin-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
    content: ">";
    color: var(--page-gray);
    padding: 0 8px;
    font-size: 14px;
}

.nefin-page-title {
    font-size: 48px;
    font-weight: 600;
    color: var(--page-black);
    letter-spacing: -0.025em;
    margin: 0;
    line-height: 1.1;
}

.nefin-page-subtitle {
    font-size: 18px;
    color: var(--page-dark-gray);
    margin: 12px 0 0 0;
    font-weight: 400;
}

.nefin-page-wrapper {
    background: var(--page-white);
    min-height: 100vh;
}

.nefin-page-hero-split {
    background: var(--page-light-gray);
    padding: 40px 0 80px;
}

.nefin-page-hero-split .container {
    max-width: 1200px;
}

.nefin-page-hero-split .nefin-breadcrumb {
    margin-bottom: 32px;
}

.nefin-page-hero-split .nefin-breadcrumb .breadcrumb {
    background: transparent;
    padding: 0;
    margin: 0;
}

.nefin-page-hero-split .nefin-breadcrumb .breadcrumb-item, .nefin-page-hero-split .nefin-breadcrumb .breadcrumb-item a {
    color: var(--page-dark-gray);
    font-size: 13px;
    font-weight: 400;
    text-decoration: none;
}

.nefin-page-hero-split .nefin-breadcrumb .breadcrumb-item a:hover {
    color: var(--page-link);
}

.nefin-page-hero-split .nefin-breadcrumb .breadcrumb-item.active {
    color: var(--page-dark-gray);
}

.nefin-page-hero-split .nefin-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
    content: ">";
    color: var(--page-gray);
    padding: 0 8px;
    font-size: 14px;
}

.nefin-hero-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}

.nefin-hero-content {
    padding-right: 20px;
}

.nefin-hero-title {
    font-size: 52px;
    font-weight: 700;
    color: var(--page-black);
    line-height: 1.08;
    letter-spacing: -0.03em;
    margin: 0 0 20px 0;
}

.nefin-hero-subtitle {
    font-size: 21px;
    font-weight: 400;
    color: var(--page-dark-gray);
    line-height: 1.5;
    margin: 0;
}

.nefin-hero-image {
    display: flex;
    justify-content: center;
    align-items: center;
}

.nefin-hero-image-wrapper {
    position: relative;
    width: 100%;
    max-width: 500px;
    aspect-ratio: 1;
    border-radius: var(--page-radius-xl);
    overflow: hidden;
    background: var(--page-white);
    box-shadow: var(--page-shadow-lg);
}

.nefin-hero-image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.nefin-hero-image-wrapper:hover img {
    transform: scale(1.03);
}

.nefin-page-hero .nefin-breadcrumb {
    margin-bottom: 20px;
}

.nefin-page-hero .nefin-breadcrumb .breadcrumb {
    background: transparent;
    padding: 0;
    margin: 0;
}

.nefin-page-hero .nefin-breadcrumb .breadcrumb-item, .nefin-page-hero .nefin-breadcrumb .breadcrumb-item a {
    color: rgba(255, 255, 255, 0.7);
    font-size: 14px;
    font-weight: 400;
    text-decoration: none;
}

.nefin-page-hero .nefin-breadcrumb .breadcrumb-item a:hover {
    color: var(--page-white);
}

.nefin-page-hero .nefin-breadcrumb .breadcrumb-item.active {
    color: rgba(255, 255, 255, 0.5);
}

.nefin-page-hero .nefin-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
    content: ">";
    color: rgba(255, 255, 255, 0.4);
    padding: 0 10px;
    font-size: 16px;
}

.nefin-page-header {
    background: var(--page-light-gray);
    padding: 60px 0 50px;
    border-bottom: 1px solid var(--page-medium-gray);
}

.nefin-page-header .container {

}

.nefin-page-header .nefin-breadcrumb {
    margin-bottom: 16px;
}

.nefin-page-header .nefin-breadcrumb .breadcrumb {
    background: transparent;
    padding: 0;
    margin: 0;
}

.nefin-page-header .nefin-breadcrumb .breadcrumb-item, .nefin-page-header .nefin-breadcrumb .breadcrumb-item a {
    color: var(--page-dark-gray);
    font-size: 13px;
    font-weight: 400;
    text-decoration: none;
}

.nefin-page-header .nefin-breadcrumb .breadcrumb-item a:hover {
    color: var(--page-link);
}

.nefin-page-header .nefin-breadcrumb .breadcrumb-item.active {
    color: var(--page-dark-gray);
}

.nefin-page-header .nefin-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
    content: ">";
    color: var(--page-gray);
    padding: 0 8px;
    font-size: 14px;
}

.nefin-page-title {
    font-size: 48px;
    font-weight: 700;
    color: var(--page-black);
    line-height: 1.1;
    letter-spacing: -0.025em;
    margin: 0 0 12px 0;
}

.nefin-page-subtitle {
    font-size: 19px;
    font-weight: 400;
    color: var(--page-dark-gray);
    line-height: 1.5;
    margin: 0;
    max-width: 700px;
}

.nefin-page-content {
    padding: 80px;
    background: #f1f0ed;
    margin: 40px 0;
    border-radius: 12px;
}

.nefin-page-content .container {
    max-width: 1200px;
}

.nefin-content-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
}

.nefin-content-main {
    margin: 0 auto;
}

.nefin-content-main {
    font-size: 17px;
    line-height: 1.7;
    color: var(--page-charcoal);
}

.nefin-content-main h2 {
    font-size: 32px;
    font-weight: 600;
    color: var(--page-black);
    margin: 48px 0 20px;
    line-height: 1.2;
    letter-spacing: -0.02em;
}

.nefin-content-main h2:first-child {
    margin-top: 0;
}

.nefin-content-main h3 {
    font-size: 24px;
    font-weight: 600;
    color: var(--page-black);
    margin: 36px 0 16px;
    line-height: 1.3;
}

.nefin-content-main h4 {
    font-size: 20px;
    font-weight: 600;
    color: var(--page-black);
    margin: 28px 0 12px;
    line-height: 1.4;
}

.nefin-content-main p {
    margin: 0 0 20px;
}

.nefin-content-main p:last-child {
    margin-bottom: 0;
}

.nefin-content-main a {
    color: var(--page-link);
    text-decoration: none;
    transition: var(--page-transition-fast);
}

.nefin-content-main a:hover {
    color: var(--page-link-hover);
    text-decoration: underline;
}

.nefin-content-main img {
    max-width: 100%;
    height: auto;
    border-radius: var(--page-radius-lg);
    margin: 32px 0;
    box-shadow: var(--page-shadow-md);
}

.nefin-content-main ul, .nefin-content-main ol {
    margin: 20px 0;
    padding-left: 24px;
}

.nefin-content-main li {
    margin-bottom: 10px;
}

.nefin-content-main blockquote {
    margin: 32px 0;
    padding: 24px 32px;
    background: var(--page-light-gray);
    border-left: 4px solid var(--page-link);
    border-radius: 0 var(--page-radius-md) var(--page-radius-md) 0;
    font-style: italic;
    color: var(--page-charcoal);
}

.nefin-content-main table {
    width: 100%;
    border-collapse: collapse;
    margin: 32px 0;
    font-size: 15px;
}

.nefin-content-main th, .nefin-content-main td {
    padding: 14px 16px;
    text-align: left;
    border-bottom: 1px solid var(--page-medium-gray);
}

.nefin-content-main th {
    font-weight: 600;
    color: var(--page-black);
    background: var(--page-light-gray);
}

.nefin-content-main code {
    background: var(--page-light-gray);
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 0.9em;
    color: var(--page-charcoal);
}

.nefin-content-main pre {
    background: var(--page-black);
    color: var(--page-white);
    padding: 24px;
    border-radius: var(--page-radius-md);
    overflow-x: auto;
    margin: 32px 0;
}

.nefin-content-main pre code {
    background: transparent;
    padding: 0;
    color: inherit;
}

.nefin-page-products {
    padding: 80px 0;
    background: var(--page-light-gray);
}

.nefin-page-products .container {
    max-width: 1200px;
}

.nefin-section-header {
    text-align: left;
    margin-bottom: 48px;
}

.nefin-section-title {
    font-size: 40px;
    font-weight: 700;
    color: var(--page-black);
    margin: 0 0 12px;
    letter-spacing: -0.02em;
}

.nefin-section-subtitle {
    font-size: 19px;
    font-weight: 400;
    color: var(--page-dark-gray);
    margin: 0;
}

.nefin-products-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.nefin-product-card {
    background: var(--page-white);
    border-radius: var(--page-radius-xl);
    overflow: hidden;
    transition: var(--page-transition);
    box-shadow: var(--page-shadow-sm);
}

.nefin-product-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--page-shadow-lg);
}

.nefin-product-link {
    display: block;
    text-decoration: none;
}

.nefin-product-link:hover {
    text-decoration: none;
}

.nefin-product-image {
    position: relative;
    aspect-ratio: 1;
    background: var(--page-light-gray);
    overflow: hidden;
}

.nefin-product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.nefin-product-card:hover .nefin-product-image img {
    transform: scale(1.05);
}

.nefin-product-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    padding: 6px 12px;
    font-size: 12px;
    font-weight: 600;
    border-radius: 20px;
    z-index: 2;
}

.nefin-badge-sale {
    background: var(--page-red);
    color: var(--page-white);
}

.nefin-product-info {
    padding: 20px;
}

.nefin-product-title {
    font-size: 16px;
    font-weight: 600;
    color: var(--page-black);
    margin: 0 0 8px;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.nefin-product-desc {
    font-size: 14px;
    color: var(--page-dark-gray);
    margin: 0 0 12px;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.nefin-product-price {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.nefin-price-current {
    font-size: 18px;
    font-weight: 700;
    color: var(--page-black);
}

.nefin-price-old {
    font-size: 14px;
    font-weight: 500;
    color: var(--page-dark-gray);
    text-decoration: line-through;
}

.nefin-product-actions {
    padding: 0 20px 20px;
}

.nefin-btn-add-cart {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 20px;
    background: var(--page-black);
    color: var(--page-white);
    border: none;
    border-radius: var(--page-radius-md);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: var(--page-transition-fast);
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.nefin-btn-add-cart:hover {
    background: var(--page-charcoal);
    transform: scale(1.02);
}

.nefin-btn-add-cart i {
    font-size: 16px;
}

.nefin-btn-add-cart .spinner-border-add-cart-list {
    width: 18px;
    height: 18px;
    border-width: 2px;
}

.nefin-btn-add-cart svg {
    width: 18px;
    height: 18px;
}

.nefin-products-footer {
    text-align: center;
    margin-top: 48px;
}

.nefin-btn-secondary {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 16px 32px;
    background: transparent;
    color: var(--page-link);
    border: 2px solid var(--page-link);
    border-radius: 30px;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    transition: var(--page-transition-fast);
}

.nefin-btn-secondary:hover {
    background: var(--page-link);
    color: var(--page-white);
    text-decoration: none;
}

.nefin-btn-secondary i {
    transition: transform 0.2s ease;
}

.nefin-btn-secondary:hover i {
    transform: translateX(4px);
}

.nefin-page-cta {
    padding: 100px 0;
    background: linear-gradient(180deg, var(--page-light-gray) 0%, var(--page-white) 100%);
}

.nefin-cta-content {
    text-align: center;
    max-width: 600px;
    margin: 0 auto;
}

.nefin-cta-title {
    font-size: 36px;
    font-weight: 700;
    color: var(--page-black);
    margin: 0 0 16px;
    letter-spacing: -0.02em;
}

.nefin-cta-text {
    font-size: 19px;
    color: var(--page-dark-gray);
    margin: 0 0 32px;
    line-height: 1.5;
}

.nefin-btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 18px 36px;
    background: #0071e3;
    color: var(--page-white);
    border: none;
    border-radius: 30px;
    font-size: 17px;
    font-weight: 600;
    text-decoration: none;
    transition: var(--page-transition-fast);
}

.nefin-btn-primary:hover {
    background: #0077ed;
    color: var(--page-white);
    text-decoration: none;
    transform: scale(1.02);
}

.nefin-btn-primary i {
    transition: transform 0.2s ease;
}

.nefin-btn-primary:hover i {
    transform: translateX(4px);
}

.nefin-contact-grid {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 48px;
    align-items: start;
    margin: 0 auto;
}

.nefin-contact-info {
    position: sticky;
    top: 120px;
}

.nefin-info-cards {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 32px;
}

.nefin-info-card {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px 24px;
    background: var(--page-white);
    border: 1px solid var(--page-medium-gray);
    border-radius: 12px;
    text-decoration: none;
    transition: var(--page-transition);
}

.nefin-info-card:hover {
    background: var(--page-snow);
    border-color: var(--page-charcoal);
    text-decoration: none;
    transform: translateY(-2px);
    box-shadow: var(--page-shadow-sm);
}

.nefin-info-card-static {
    cursor: default;
}

.nefin-info-card-static:hover {
    transform: none;
    box-shadow: none;
}

.nefin-info-icon {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--page-light-gray);
    border-radius: 50%;
    flex-shrink: 0;
}

.nefin-info-icon i {
    font-size: 18px;
    color: var(--page-charcoal);
}

.nefin-info-details h3 {
    font-size: 11px;
    font-weight: 500;
    color: var(--page-dark-gray);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin: 0 0 4px 0;
    font-family: var(--nefin-font-primary);
}

.nefin-info-details p {
    font-size: 15px;
    font-weight: 500;
    color: var(--page-charcoal);
    margin: 0;
    line-height: 1.4;
    font-family: var(--nefin-font-primary);
}

.nefin-info-arrow {
    color: var(--page-gray);
    transition: var(--page-transition-fast);
    opacity: 0.5;
    display: flex;
}

.nefin-info-card:hover .nefin-info-arrow {
    color: var(--page-charcoal);
    opacity: 1;
    transform: translateX(3px);
}

.nefin-contact-social {
    padding-top: 24px;
    border-top: 1px solid var(--page-medium-gray);
}

.nefin-contact-social h4 {
    font-size: 11px;
    font-weight: 500;
    color: var(--page-dark-gray);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin: 0 0 16px 0;
    font-family: var(--nefin-font-primary);
}

.nefin-social-icons {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.nefin-social-icons a {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--page-white);
    border: 1px solid var(--page-medium-gray);
    border-radius: 50%;
    color: var(--page-charcoal) !important;
    text-decoration: none;
    transition: var(--page-transition-fast);
}

.nefin-social-icons a:hover {
    background: var(--page-charcoal);
    border-color: var(--page-charcoal);
    color: var(--page-white) !important;
    transform: translateY(-2px);
}

.nefin-social-icons a i {
    font-size: 16px;
    color: inherit !important;
}

.nefin-contact-form-wrapper {
    width: 100%;
}

.nefin-form-card {
    background: var(--page-white);
    border: 1px solid var(--page-medium-gray);
    border-radius: 12px;
    padding: 40px;
}

.nefin-form-header {
    margin-bottom: 28px;
    text-align: center;
}

.nefin-form-header h2 {
    font-size: 24px;
    font-weight: 600;
    color: var(--page-charcoal);
    margin: 0 0 8px 0;
    letter-spacing: -0.02em;
    font-family: var(--nefin-font-primary);
}

.nefin-form-header p {
    font-size: 14px;
    color: var(--page-dark-gray);
    margin: 0;
    font-family: var(--nefin-font-primary);
}

.nefin-contact-form .ctd {
    display: none !important;
}

.nefin-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.nefin-form-group {
    margin-bottom: 16px;
}

.nefin-form-group label {
    font-size: 11px;
    font-weight: 500;
    color: var(--page-dark-gray);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 8px;
    font-family: var(--nefin-font-primary);
}

.nefin-form-input {
    width: 100%;
    padding: 14px 16px;
    font-size: 15px;
    color: var(--page-charcoal);
    background: var(--page-white);
    border: 1px solid var(--page-medium-gray);
    border-radius: 8px;
    transition: var(--page-transition-fast);
    font-family: var(--nefin-font-primary);
}

.nefin-form-input::placeholder {
    color: var(--page-gray);
}

.nefin-form-input:focus {
    outline: none;
    border-color: var(--page-charcoal);
    box-shadow: 0 0 0 3px rgba(103, 100, 94, 0.1);
}

.nefin-form-textarea {
    min-height: 120px;
    resize: vertical;
    line-height: 1.6;
}

.nefin-checkbox-wrapper {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.nefin-checkbox {
    width: 18px;
    height: 18px;
    margin-top: 2px;
    flex-shrink: 0;
    accent-color: var(--page-charcoal);
    cursor: pointer;
}

.nefin-checkbox-label {
    font-size: 13px;
    color: var(--page-dark-gray);
    line-height: 1.5;
    cursor: pointer;
    font-family: var(--nefin-font-primary);
}

.nefin-checkbox-label .nefin-link {
    color: var(--page-charcoal);
    text-decoration: underline;
    font-weight: 500;
}

.nefin-checkbox-label .nefin-link:hover {
    color: var(--page-black);
}

.nefin-btn-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 14px 28px;
    background: var(--page-charcoal);
    color: var(--page-white);
    border: none;
    border-radius: 30px;
    font-size: 13px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    cursor: pointer;
    transition: var(--page-transition);
    font-family: var(--nefin-font-primary);
}

.nefin-btn-submit:hover {
    background: var(--page-black);
    transform: translateY(-2px);
    box-shadow: var(--page-shadow-md);
}

.nefin-btn-submit i {
    font-size: 12px;
    transition: transform 0.2s ease;
}

.nefin-btn-submit:hover i {
    transform: translateX(3px);
}

.nefin-contact-map {
    position: relative;
    width: 100%;
    border-radius: 12px;
    overflow: hidden;
}

.nefin-map-container {
    position: relative;
    width: 100%;
    height: 400px;
    overflow: hidden;
}

.nefin-map-container iframe {
    width: 100%;
    height: 100%;
    filter: grayscale(30%) contrast(0.95);
    transition: filter 0.3s ease;
}

.nefin-map-container:hover iframe {
    filter: grayscale(0%) contrast(1);
}

.nefin-map-overlay {
    display: none;
}

@media (max-width: 991px) {
    .nefin-contact-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .nefin-contact-info {
        position: relative;
        top: 0;
    }

    .nefin-form-card {
        padding: 32px 24px;
    }
}

@media (max-width: 767px) {
    .nefin-form-row {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .nefin-info-card {
        padding: 16px 20px;
    }

    .nefin-map-container {
        height: 300px;
    }
}

.nefin-cart-wrapper {
    background: var(--page-white);
    min-height: 100vh;
    padding-bottom: 80px;
}

.nefin-cart-header {
    background: linear-gradient(180deg, #faf9f7 0%, #f5f4f2 100%);
    padding: 48px 0 60px;
    position: relative;
}

.nefin-cart-header::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(103, 100, 94, 0.15), transparent);
}

.nefin-cart-header .container {
    max-width: 1200px;
}

.nefin-cart-header .nefin-breadcrumb .breadcrumb {
    background: transparent;
    padding: 0;
    margin: 0 0 16px 0;
}

.nefin-cart-header .nefin-breadcrumb .breadcrumb-item, .nefin-cart-header .nefin-breadcrumb .breadcrumb-item a {
    color: var(--page-dark-gray);
    font-size: 13px;
    font-weight: 400;
    text-decoration: none;
}

.nefin-cart-header .nefin-breadcrumb .breadcrumb-item a:hover {
    color: var(--page-link);
}

.nefin-cart-header .nefin-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
    content: ">";
    color: var(--page-gray);
    padding: 0 8px;
}

.nefin-cart-title {
    font-size: 48px;
    font-weight: 600;
    color: var(--page-black);
    line-height: 1.1;
    letter-spacing: -0.03em;
    margin: 0;
    font-family: var(--font-primary, "Montserrat", sans-serif);
}

.nefin-cart-count {
    font-size: 16px;
    color: #67645e;
    margin: 12px 0 0 0;
    font-family: var(--font-primary, "Montserrat", sans-serif);
    font-weight: 400;
}

.nefin-free-shipping-banner {
    background: #fff;
    padding: 20px 0;
}

.nefin-free-shipping-banner .container {
    max-width: 1200px;
}

.nefin-shipping-progress-wrapper {
    padding: 20px 28px;
    background: linear-gradient(135deg, #faf9f7 0%, #f5f4f2 100%);
    border-radius: 16px;
    margin: -40px 0 0 0;
    position: relative;
    z-index: 1;
    box-shadow: 0 4px 20px rgba(0,0,0,0.06);
    border: 1px solid rgba(103, 100, 94, 0.08);
}

.nefin-shipping-progress-wrapper.achieved {
    background: linear-gradient(135deg, rgba(90, 138, 90, 0.12) 0%, rgba(90, 138, 90, 0.06) 100%);
    border: 1px solid rgba(90, 138, 90, 0.25);
}

.nefin-shipping-progress-message {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    font-size: 15px;
    color: #67645e;
    font-family: var(--font-primary, "Montserrat", sans-serif);
}

.nefin-shipping-progress-message i {
    font-size: 20px;
    color: #5a8a5a;
}

.nefin-shipping-progress-message strong {
    color: #1d1d1f;
    font-weight: 700;
}

.nefin-shipping-progress-wrapper.achieved .nefin-shipping-progress-message {
    color: #3d6b3d;
    font-weight: 600;
}

.nefin-shipping-progress-wrapper.achieved .nefin-shipping-progress-message i {
    font-size: 22px;
    color: #5a8a5a;
}

.nefin-shipping-progress-bar {
    height: 6px;
    background: rgba(103, 100, 94, 0.12);
    border-radius: 3px;
    overflow: hidden;
    margin-top: 16px;
}

.nefin-shipping-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, #5a8a5a 0%, #7cb07c 100%);
    border-radius: 3px;
    transition: width 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.nefin-cart-content {
    padding: 48px 0 100px;
    background: linear-gradient(180deg, #ffffff 0%, #faf9f7 100%);
}

.nefin-cart-content .container {
    max-width: 1200px;
}

.nefin-cart-grid {
    display: grid;
    grid-template-columns: 1fr 400px;
    gap: 48px;
    align-items: start;
}

.nefin-cart-items {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.nefin-cart-item {
    display: grid;
    grid-template-columns: 120px 1fr 140px 120px 50px;
    gap: 24px;
    align-items: center;
    padding: 24px;
    background: var(--page-white);
    border-radius: var(--page-radius-lg);
    margin-bottom: 12px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04);
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.nefin-cart-item:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

.nefin-cart-item:first-child {
    margin-top: 0;
}

.nefin-cart-item-image {
    position: relative;
    width: 120px;
    height: 120px;
    border-radius: var(--page-radius-lg);
    overflow: hidden;
    background: var(--page-light-gray);
}

.nefin-cart-item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.nefin-cart-item-image a {
    display: block;
    width: 100%;
    height: 100%;
}

.nefin-badge-digital {
    position: absolute;
    bottom: 8px;
    right: 8px;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--page-link);
    border-radius: 50%;
    color: var(--page-white);
    font-size: 12px;
}

.nefin-cart-item-details {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.nefin-cart-item-header {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    flex-wrap: wrap;
}

.nefin-cart-item-title {
    font-size: 17px;
    font-weight: 600;
    color: var(--page-black);
    margin: 0;
    line-height: 1.4;
}

.nefin-cart-item-title a {
    color: inherit;
    text-decoration: none;
}

.nefin-cart-item-title a:hover {
    color: var(--page-link);
}

.nefin-badge-outofstock {
    display: inline-block;
    padding: 4px 10px;
    background: var(--page-red);
    color: var(--page-white);
    font-size: 11px;
    font-weight: 600;
    border-radius: 20px;
    text-transform: uppercase;
}

.nefin-cart-item-price {
    display: flex;
    align-items: center;
    gap: 8px;
}

.nefin-price-label {
    font-size: 14px;
    color: var(--page-dark-gray);
}

.nefin-price-value {
    font-size: 15px;
    font-weight: 500;
    color: var(--page-charcoal);
}

.nefin-discount-badge {
    display: inline-block;
    padding: 2px 8px;
    background: var(--page-success);
    color: var(--page-white);
    font-size: 11px;
    font-weight: 600;
    border-radius: 10px;
    margin-left: 6px;
}

.nefin-cart-item-mobile-actions {
    display: none;
}

.nefin-cart-item-quantity {
    display: flex;
    justify-content: center;
}

.nefin-qty-control {
    display: inline-flex;
    align-items: center;
    background: var(--page-light-gray);
    border-radius: 10px;
    overflow: hidden;
}

.nefin-qty-btn {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    color: var(--page-charcoal);
    cursor: pointer;
    transition: var(--page-transition-fast);
}

.nefin-qty-btn:hover {
    background: var(--page-medium-gray);
    color: var(--page-black);
}

.nefin-qty-btn i {
    font-size: 12px;
}

.nefin-qty-input {
    width: 50px;
    height: 40px;
    text-align: center;
    border: none;
    background: transparent;
    font-size: 16px;
    font-weight: 600;
    color: var(--page-black);
}

.nefin-qty-static {
    font-size: 14px;
    color: var(--page-dark-gray);
}

.nefin-cart-item-total {
    text-align: right;
}

.nefin-total-value {
    font-size: 18px;
    font-weight: 700;
    color: var(--page-black);
}

.nefin-cart-item-remove {
    display: flex;
    justify-content: flex-end;
}

.nefin-remove-btn {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    color: var(--page-dark-gray);
    border-radius: 50%;
    cursor: pointer;
    transition: var(--page-transition-fast);
}

.nefin-remove-btn:hover {
    background: var(--page-red);
    color: var(--page-white);
}

.nefin-remove-btn i {
    font-size: 14px;
}

.nefin-cart-continue {
    margin-top: 32px;
}

.nefin-btn-continue {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 24px;
    background: transparent;
    color: var(--page-link);
    border: 2px solid var(--page-link);
    border-radius: 30px;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    transition: var(--page-transition-fast);
}

.nefin-btn-continue:hover {
    background: var(--page-link);
    color: var(--page-white);
    text-decoration: none;
}

.nefin-cart-summary {
    position: sticky;
    top: 100px;
}

.nefin-summary-card {
    background: var(--page-white);
    border-radius: var(--page-radius-xl);
    padding: 28px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
    border: 1px solid rgba(103, 100, 94, 0.08);
}

.nefin-summary-title {
    font-size: 22px;
    font-weight: 700;
    color: var(--page-black);
    margin: 0 0 24px 0;
    letter-spacing: -0.02em;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--page-medium-gray);
}

.nefin-summary-rows {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.nefin-summary-label {
    font-size: 15px;
    color: var(--page-charcoal);
    display: flex;
    align-items: center;
    gap: 8px;
}

.nefin-summary-value {
    font-size: 15px;
    font-weight: 500;
    color: var(--page-black);
}

.nefin-coupon-code {
    display: inline-block;
    padding: 2px 8px;
    background: var(--page-medium-gray);
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
    color: var(--page-charcoal);
}

.nefin-coupon-remove {
    width: 20px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    color: var(--page-dark-gray);
    cursor: pointer;
    transition: var(--page-transition-fast);
}

.nefin-coupon-remove:hover {
    color: var(--page-red);
}

.nefin-value-discount {
    color: var(--page-success);
}

.nefin-summary-divider {
    height: 1px;
    background: var(--page-gray);
    margin: 20px 0;
}

.nefin-summary-total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}

.nefin-total-label {
    font-size: 17px;
    font-weight: 600;
    color: var(--page-black);
}

.nefin-total-amount {
    font-size: 24px;
    font-weight: 700;
    color: var(--page-black);
}

.nefin-summary-note {
    font-size: 13px;
    color: var(--page-dark-gray);
    margin: 0 0 24px 0;
}

.nefin-checkout-btn-wrapper {
    margin-bottom: 20px;
}

.nefin-btn-checkout {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 18px 24px;
    background: linear-gradient(135deg, #67645e 0%, #4a4843 100%);
    color: var(--page-white);
    border: none;
    border-radius: 30px;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    font-family: var(--font-primary, "Montserrat", sans-serif);
    box-sizing: border-box;
    max-width: 100%;
    overflow: hidden;
    white-space: nowrap;
    box-shadow: 0 4px 15px rgba(103, 100, 94, 0.3);
}

.nefin-btn-checkout:hover {
    background: linear-gradient(135deg, #d4a574 0%, #c4956a 100%);
    color: var(--page-white);
    text-decoration: none;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(212, 165, 116, 0.4);
}

.nefin-btn-checkout:active {
    transform: translateY(0);
}

.nefin-btn-checkout i {
    font-size: 14px;
    transition: transform 0.3s ease;
}

.nefin-btn-checkout:hover i {
    transform: translateX(4px);
}

.nefin-btn-disabled {
    background: var(--page-gray);
    cursor: not-allowed;
}

.nefin-btn-disabled:hover {
    background: var(--page-gray);
}

.nefin-checkout-error {
    font-size: 13px;
    color: var(--page-red);
    margin-top: 8px;
    text-align: center;
}

.nefin-payment-icons {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-bottom: 24px;
    padding: 16px 0;
    border-top: 1px solid var(--page-gray);
    border-bottom: 1px solid var(--page-gray);
}

.nefin-payment-icons img {
    height: 24px;
    opacity: 0.7;
    transition: opacity 0.2s ease;
}

.nefin-payment-icons img:hover {
    opacity: 1;
}

.nefin-coupon-section {
    margin-bottom: 20px;
}

.nefin-coupon-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 0;
    color: var(--page-charcoal);
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: var(--page-transition-fast);
}

.nefin-coupon-header:hover {
    color: var(--page-black);
}

.nefin-coupon-header i:first-child {
    font-size: 16px;
}

.nefin-coupon-arrow {
    margin-left: auto;
    font-size: 12px;
    transition: transform 0.3s ease;
}

.nefin-coupon-arrow.rotated {
    transform: rotate(180deg);
}

.nefin-coupon-form-wrapper {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

.nefin-coupon-form-wrapper.active {
    max-height: 150px;
}

.nefin-coupon-form {
    display: flex;
    gap: 10px;
    padding-top: 12px;
}

.nefin-coupon-input {
    flex: 1;
    padding: 12px 16px;
    font-size: 14px;
    color: var(--page-black);
    background: var(--page-white);
    border: 1px solid var(--page-gray);
    border-radius: var(--page-radius-sm);
    transition: var(--page-transition-fast);
}

.nefin-coupon-input:focus {
    outline: none;
    border-color: var(--page-link);
}

.nefin-coupon-btn {
    padding: 12px 20px;
    background: var(--page-charcoal);
    color: var(--page-white);
    border: none;
    border-radius: var(--page-radius-sm);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: var(--page-transition-fast);
}

.nefin-coupon-btn:hover {
    background: var(--page-black);
}

.nefin-coupon-error {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 10px;
    padding: 10px 12px;
    background: rgba(255, 59, 48, 0.1);
    border-radius: var(--page-radius-sm);
    font-size: 13px;
    color: var(--page-red);
}

.nefin-security-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px;
    color: var(--page-dark-gray);
    font-size: 13px;
}

.nefin-security-badge i {
    color: var(--page-success);
}

.nefin-cart-empty {
    padding: 120px 0;
    text-align: center;
}

.nefin-empty-content {
    max-width: 400px;
    margin: 0 auto;
}

.nefin-empty-icon {
    width: 100px;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--page-light-gray);
    border-radius: 50%;
    margin: 0 auto 32px;
}

.nefin-empty-icon i {
    font-size: 40px;
    color: var(--page-dark-gray);
}

.nefin-empty-title {
    font-size: 32px;
    font-weight: 700;
    color: var(--page-black);
    margin: 0 0 12px 0;
    letter-spacing: -0.02em;
}

.nefin-empty-text {
    font-size: 17px;
    color: var(--page-dark-gray);
    margin: 0 0 32px 0;
    line-height: 1.5;
}

.nefin-btn-shop {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 18px 36px;
    background: var(--page-charcoal);
    color: var(--page-white);
    border: none;
    border-radius: 30px;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    text-decoration: none;
    transition: var(--page-transition-fast);
    font-family: var(--font-primary, "Montserrat", sans-serif);
}

.nefin-btn-shop:hover {
    background: var(--page-black);
    color: var(--page-white);
    text-decoration: none;
    transform: translateY(-1px);
}

.nefin-btn-shop i {
    transition: transform 0.2s ease;
}

.nefin-btn-shop:hover i {
    transform: translateX(4px);
}

@media (max-width: 1024px) {
    .nefin-cart-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .nefin-cart-summary {
        position: relative;
        top: 0;
    }

    .nefin-cart-item {
        grid-template-columns: 100px 1fr auto;
        gap: 16px;
    }

    .nefin-cart-item-quantity {
        display: none;
    }

    .nefin-cart-item-mobile-actions {
        display: flex;
        align-items: center;
        gap: 12px;
        margin-top: 8px;
    }

    .nefin-cart-item-total {
        display: none;
    }

    .nefin-cart-item-remove {
        position: absolute;
        top: 24px;
        right: 0;
    }

    .nefin-cart-item {
        position: relative;
        padding-right: 50px;
    }
}

@media (max-width: 768px) {
    .nefin-cart-header {
        padding: 24px 0 32px;
    }

    .nefin-cart-title {
        font-size: 28px;
    }

    .nefin-cart-content {
        padding: 32px 0 60px;
    }

    .nefin-cart-item {
        grid-template-columns: 80px 1fr;
        gap: 12px;
        padding: 16px 0;
    }

    .nefin-cart-item-image {
        width: 80px;
        height: 80px;
    }

    .nefin-cart-item-title {
        font-size: 15px;
    }

    .nefin-summary-card {
        padding: 20px;
    }

    .nefin-summary-title {
        font-size: 18px;
    }

    .nefin-total-amount {
        font-size: 20px;
    }

    .nefin-shipping-progress-wrapper {
        margin: -20px 0 0 0;
        padding: 14px 16px;
    }

    .nefin-shipping-progress-message {
        font-size: 13px;
        flex-wrap: wrap;
        text-align: center;
    }
}

@media (max-width: 480px) {
    .nefin-cart-header {
        padding: 20px 0 28px;
    }

    .nefin-cart-title {
        font-size: 24px;
    }

    .nefin-cart-count {
        font-size: 13px;
    }

    .nefin-btn-checkout {
        padding: 14px 16px;
        font-size: 12px;
    }

    .nefin-coupon-form {
        flex-direction: column;
    }

    .nefin-coupon-btn {
        width: 100%;
    }
}

.nefin-checkout-wrapper {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    background: linear-gradient(180deg, #ffffff 0%, #f8f7f5 100%);
    min-height: 100vh;
    padding-bottom: 100px;
    position: relative;
    z-index: 1;
    overflow: visible;
}

.nefin-checkout-header {
    display: block;
    background: linear-gradient(180deg, #faf9f7 0%, #f5f4f2 100%);
    padding: 20px 0 24px;
    position: relative;
}

.nefin-checkout-header::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(103, 100, 94, 0.12), transparent);
}

.nefin-checkout-header .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 16px;
}

.nefin-checkout-title {
    font-size: 28px;
    font-weight: 700;
    color: var(--page-black);
    letter-spacing: -0.03em;
    margin: 0;
    font-family: var(--font-primary, "Montserrat", sans-serif);
    text-align: center;
}

.nefin-breadcrumb {
    background: transparent;
    padding: 0;
    margin: 0 0 8px 0;
    text-align: center;
}

.nefin-breadcrumb .breadcrumb {
    background: transparent;
    padding: 0;
    margin: 0;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    justify-content: center;
}

.nefin-breadcrumb .breadcrumb-item {
    font-size: 12px;
    color: var(--page-dark-gray);
}

.nefin-breadcrumb .breadcrumb-item a {
    color: #67645e;
    text-decoration: none;
    transition: var(--page-transition-fast);
}

.nefin-breadcrumb .breadcrumb-item a:hover {
    color: #d4a574;
    text-decoration: underline;
}

.nefin-breadcrumb .breadcrumb-item.active {
    color: var(--page-charcoal);
    font-weight: 500;
}

.nefin-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
    content: "/";
    color: var(--page-gray);
    padding: 0 2px;
    font-size: 10px;
}

.nefin-checkout-content {
    padding: 20px 0 40px;
}

.nefin-checkout-content .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 16px;
}

.nefin-checkout-grid {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.nefin-checkout-main {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.nefin-guest-notice {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #f1f0ed;
    border-radius: var(--page-radius-md);
    padding: 16px 20px;
}

.nefin-guest-info {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--page-charcoal);
    font-size: 14px;
}

.nefin-guest-info i {
    font-size: 18px;
    color: var(--page-link);
}

.nefin-guest-login {
    font-size: 14px;
    font-weight: 500;
    color: var(--page-link);
    text-decoration: none;
    transition: var(--page-transition-fast);
}

.nefin-guest-login:hover {
    color: var(--page-link-hover);
    text-decoration: underline;
}

.nefin-checkout-progress {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #faf9f7 0%, #f5f4f2 100%);
    border-radius: 16px;
    padding: 16px;
    gap: 0;
    position: relative;
    box-shadow: 0 2px 12px rgba(0,0,0,0.04);
    border: 1px solid rgba(103, 100, 94, 0.06);
    margin-bottom: 8px;
}

.nefin-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    flex: 1;
    position: relative;
    padding: 8px 4px;
    border-bottom: none;
    transition: all 0.3s ease;
}

.nefin-step:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 24px;
    left: 50%;
    width: 100%;
    height: 2px;
    background: var(--page-medium-gray);
    z-index: 0;
}

.nefin-step.completed:not(:last-child)::after {
    background: linear-gradient(90deg, #5a8a5a, #5a8a5a);
}

.nefin-step.active:not(:last-child)::after {
    background: linear-gradient(90deg, #67645e 50%, var(--page-medium-gray) 50%);
}

.nefin-step:last-child {
    border-bottom: none;
}

.nefin-step.completed {
    background: transparent;
}

.nefin-step.active {
    background: transparent;
}

.nefin-step-number {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 700;
    flex-shrink: 0;
    z-index: 1;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border: 3px solid transparent;
}

.nefin-step.completed .nefin-step-number {
    background: linear-gradient(135deg, #5a8a5a 0%, #4a7a4a 100%);
    color: white;
    box-shadow: 0 4px 12px rgba(90, 138, 90, 0.35);
}

.nefin-step.completed .nefin-step-number::before {
    content: "✓";
}

.nefin-step.completed .nefin-step-number span {
    display: none;
}

.nefin-step.active .nefin-step-number {
    background: linear-gradient(135deg, #67645e 0%, #4a4843 100%);
    color: white;
    box-shadow: 0 4px 16px rgba(103, 100, 94, 0.4);
    transform: scale(1.05);
    border-color: rgba(255,255,255,0.3);
}

.nefin-step.pending .nefin-step-number {
    background: var(--page-white);
    color: var(--page-dark-gray);
    border: 2px solid var(--page-medium-gray);
}

.nefin-step-info {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    text-align: center;
}

.nefin-step-label {
    display: none;
}

.nefin-step-title {
    font-size: 11px;
    font-weight: 600;
    color: var(--page-charcoal);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100px;
}

.nefin-step.completed .nefin-step-title {
    color: #5a8a5a;
}

.nefin-step.active .nefin-step-title {
    color: #67645e;
    font-weight: 700;
}

.nefin-step.pending .nefin-step-title {
    color: var(--page-dark-gray);
}

.nefin-step-edit {
    font-size: 11px;
    color: var(--page-link);
    text-decoration: none;
    transition: var(--page-transition-fast);
}

.nefin-step-edit:hover {
    color: var(--page-link-hover);
    text-decoration: underline;
}

.nefin-checkout-card {
    background: var(--page-white);
    border-radius: 20px;
    box-shadow: 0 4px 24px rgba(0,0,0,0.06);
    padding: 20px;
    border: 1px solid rgba(103, 100, 94, 0.06);
}

.nefin-card-header {
    margin-bottom: 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--page-medium-gray);
    text-align: center;
}

.nefin-card-header h2 {
    font-size: 22px;
    font-weight: 700;
    color: var(--page-black);
    margin: 0 0 8px 0;
    letter-spacing: -0.02em;
}

.nefin-card-header p {
    font-size: 14px;
    color: var(--page-dark-gray);
    margin: 0;
    line-height: 1.5;
}

.nefin-payment-methods {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    margin-bottom: 24px;
}

@media (max-width: 768px) {
    .nefin-payment-methods {
        grid-template-columns: 1fr;
    }
}

.nefin-payment-option {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px;
    background: var(--page-snow);
    border: 2px solid var(--page-medium-gray);
    border-radius: var(--page-radius-md);
    cursor: pointer;
    transition: var(--page-transition);
}

.nefin-payment-option:hover {
    border-color: var(--page-gray);
    background: var(--page-light-gray);
}

.nefin-payment-option.selected {
    border-color: var(--page-link);
    background: rgba(103, 100, 94, 0.06);
}

.nefin-payment-radio {
    width: 22px;
    height: 22px;
    border: 2px solid var(--page-gray);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: var(--page-transition);
}

.nefin-payment-option.selected .nefin-payment-radio {
    border-color: var(--page-link);
    background: var(--page-link);
}

.nefin-payment-radio::after {
    content: "";
    width: 8px;
    height: 8px;
    background: white;
    border-radius: 50%;
    opacity: 0;
    transform: scale(0);
    transition: var(--page-transition);
}

.nefin-payment-option.selected .nefin-payment-radio::after {
    opacity: 1;
    transform: scale(1);
}

.nefin-payment-radio input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.nefin-payment-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.nefin-payment-name {
    font-size: 15px;
    font-weight: 500;
    color: var(--page-black);
}

.nefin-payment-desc {
    font-size: 13px;
    color: var(--page-dark-gray);
}

.nefin-payment-logos {
    display: flex;
    gap: 8px;
    align-items: center;
}

.nefin-payment-logos img {
    height: 24px;
    max-width: 60px;
    object-fit: contain;
}

.nefin-terms-wrapper {
    margin: 28px 0;
    padding-top: 20px;
    border-top: 1px solid var(--page-medium-gray);
}

.nefin-checkout-actions {
    display: flex;
    flex-direction: column-reverse;
    align-items: stretch;
    gap: 12px;
    padding-top: 20px;
    margin-top: 20px;
    border-top: 1px solid rgba(103, 100, 94, 0.10);
}

.nefin-btn-back {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 14px;
    color: var(--page-charcoal);
    text-decoration: none;
    padding: 14px 20px;
    background: var(--page-light-gray);
    border-radius: 14px;
    transition: all 0.25s ease;
    font-weight: 500;
}

.nefin-btn-back:hover {
    background: var(--page-medium-gray);
    color: var(--page-black);
}

.nefin-btn-back i {
    font-size: 12px;
}

.nefin-btn-continue {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 18px 32px;
    background: linear-gradient(135deg, #67645e 0%, #4a4843 100%);
    color: white;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    border: none;
    border-radius: 14px;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    font-family: var(--font-primary, "Montserrat", sans-serif);
    box-shadow: 0 4px 16px rgba(103, 100, 94, 0.25);
    width: 100%;
    min-height: 56px;
}

.nefin-btn-continue:hover {
    background: linear-gradient(135deg, #d4a574 0%, #c4956a 100%);
    color: white;
    text-decoration: none;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(212, 165, 116, 0.35);
}

.nefin-btn-continue:active {
    transform: translateY(0);
    box-shadow: 0 4px 12px rgba(103, 100, 94, 0.2);
}

.nefin-btn-continue i {
    font-size: 12px;
    transition: transform 0.3s ease;
}

.nefin-btn-continue:hover i {
    transform: translateX(4px);
}

.nefin-mobile-action-bar {
    display: none;
}

@media (max-width: 768px) {
    .nefin-mobile-action-bar {
        display: block;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        background: var(--page-white);
        padding: 16px 20px;
        padding-bottom: calc(16px + env(safe-area-inset-bottom, 0));
        box-shadow: 0 -4px 20px rgba(0,0,0,0.1);
        z-index: 1000;
        border-top: 1px solid rgba(103, 100, 94, 0.08);
    }

    .nefin-mobile-action-bar .nefin-btn-continue {
        width: 100%;
        margin: 0;
    }

    .nefin-checkout-actions {
        display: none;
    }

    .nefin-checkout-wrapper {
        padding-bottom: 120px;
    }
}

.nefin-security-features {
    display: flex;
    justify-content: center;
    gap: 32px;
    padding: 24px 0;
}

.nefin-security-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--page-dark-gray);
}

.nefin-security-item i {
    font-size: 16px;
    color: var(--page-success);
}

.nefin-payment-gateway {
    padding: 4px 0;
}

.nefin-payment-gateway .form-group {
    margin-bottom: 20px;
}

.nefin-payment-gateway .form-control {
    border: 2px solid var(--page-medium-gray);
    border-radius: var(--page-radius-sm);
    padding: 14px 16px;
    font-size: 15px;
    transition: var(--page-transition);
}

.nefin-payment-gateway .form-control:focus {
    border-color: var(--page-link);
    box-shadow: 0 0 0 3px rgba(103, 100, 94, 0.12);
}

.nefin-payment-gateway label {
    font-size: 14px;
    font-weight: 500;
    color: var(--page-charcoal);
    margin-bottom: 8px;
}

.nefin-payment-gateway .btn-payment {
    width: 100%;
    padding: 18px 24px;
    background: var(--page-charcoal);
    color: white;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    border: none;
    border-radius: 30px;
    cursor: pointer;
    transition: var(--page-transition);
    font-family: var(--font-primary, "Montserrat", sans-serif);
}

.nefin-payment-gateway .btn-payment:hover {
    background: var(--page-black);
    transform: translateY(-1px);
}

.nefin-checkout-sidebar {
    position: relative;
    top: 0;
}

.nefin-order-summary-sticky {
    position: relative;
    top: 0;
}

.nefin-order-summary {
    background: var(--page-white);
    border-radius: 20px;
    box-shadow: 0 4px 24px rgba(0,0,0,0.06);
    padding: 20px;
    border: 1px solid rgba(103, 100, 94, 0.06);
}

.nefin-summary-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 16px;
    margin-bottom: 16px;
    border-bottom: 1px solid rgba(103, 100, 94, 0.10);
    cursor: pointer;
}

.nefin-summary-header h3 {
    font-size: 18px;
    font-weight: 700;
    color: var(--page-black);
    margin: 0;
    letter-spacing: -0.02em;
}

.nefin-summary-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: var(--page-light-gray);
    border-radius: 8px;
    transition: all 0.3s ease;
}

.nefin-summary-toggle i {
    font-size: 12px;
    color: var(--page-charcoal);
    transition: transform 0.3s ease;
}

.nefin-summary-header.collapsed .nefin-summary-toggle i {
    transform: rotate(180deg);
}

.nefin-item-count {
    font-size: 12px;
    color: #67645e;
    background: linear-gradient(135deg, #f5f4f2 0%, #eceae6 100%);
    padding: 6px 12px;
    border-radius: 20px;
    font-weight: 600;
}

.nefin-summary-products {
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-height: 200px;
    overflow-y: auto;
    padding-bottom: 16px;
    margin-bottom: 16px;
    border-bottom: 1px solid rgba(103, 100, 94, 0.10);
}

.nefin-summary-products::-webkit-scrollbar {
    width: 3px;
}

.nefin-summary-products::-webkit-scrollbar-track {
    background: transparent;
}

.nefin-summary-products::-webkit-scrollbar-thumb {
    background: var(--page-gray);
    border-radius: 3px;
}

.nefin-summary-item {
    display: flex;
    align-items: center;
    gap: 12px;
}

.nefin-summary-item-image {
    position: relative;
    width: 52px;
    height: 52px;
    flex-shrink: 0;
}

.nefin-summary-item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
    background: var(--page-light-gray);
}

.nefin-summary-item-qty {
    position: absolute;
    top: -5px;
    right: -5px;
    width: 18px;
    height: 18px;
    background: linear-gradient(135deg, #67645e 0%, #4a4843 100%);
    color: white;
    font-size: 10px;
    font-weight: 700;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 6px rgba(103, 100, 94, 0.3);
}

.nefin-summary-item-details {
    flex: 1;
    min-width: 0;
}

.nefin-summary-item-title {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--page-black);
    text-decoration: none;
    line-height: 1.4;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.nefin-summary-item-title:hover {
    color: #67645e;
}

.nefin-summary-item-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 9px;
    padding: 2px 6px;
    border-radius: 4px;
    margin-top: 4px;
}

.nefin-summary-item-badge.digital {
    background: rgba(103, 100, 94, 0.1);
    color: #67645e;
}

.nefin-summary-item-price {
    font-size: 13px;
    font-weight: 700;
    color: var(--page-black);
    text-align: right;
    flex-shrink: 0;
}

.nefin-summary-vat {
    display: block;
    font-size: 10px;
    font-weight: 400;
    color: var(--page-dark-gray);
}

.nefin-summary-calculations {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding-bottom: 14px;
    margin-bottom: 14px;
    border-bottom: 1px solid rgba(103, 100, 94, 0.10);
}

.nefin-summary-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.nefin-summary-label {
    font-size: 13px;
    color: var(--page-charcoal);
    display: flex;
    align-items: center;
    gap: 6px;
}

.nefin-summary-value {
    font-size: 13px;
    font-weight: 600;
    color: var(--page-black);
}

.nefin-summary-row.nefin-discount .nefin-summary-label {
    color: #5a8a5a;
}

.nefin-discount-value {
    color: #5a8a5a !important;
}

.nefin-coupon-code {
    font-size: 11px;
    background: var(--page-light-gray);
    padding: 2px 6px;
    border-radius: 4px;
    font-family: monospace;
}

.nefin-remove-coupon {
    font-size: 10px;
    color: var(--page-red);
    margin-left: 4px;
}

.nefin-summary-row.nefin-free-shipping-row .nefin-summary-label {
    color: #5a8a5a;
}

.nefin-summary-row.nefin-free-shipping-row .nefin-free-shipping-icon {
    color: #5a8a5a;
    font-size: 12px;
}

.nefin-summary-row .nefin-free-value {
    color: #5a8a5a !important;
    font-weight: 600;
}

.nefin-summary-total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 0 4px;
    background: linear-gradient(135deg, rgba(103, 100, 94, 0.04) 0%, rgba(103, 100, 94, 0.01) 100%);
    margin: 0 -20px;
    padding: 16px 20px;
    border-radius: 12px;
}

.nefin-total-label {
    font-size: 15px;
    font-weight: 700;
    color: var(--page-black);
}

.nefin-total-value {
    font-size: 22px;
    font-weight: 800;
    color: var(--page-black);
    letter-spacing: -0.02em;
}

.nefin-trust-badges {
    display: flex;
    justify-content: center;
    gap: 16px;
    padding-top: 20px;
    border-top: 1px solid var(--page-medium-gray);
}

.nefin-trust-badge {
    width: 40px;
    height: 40px;
    background: var(--page-light-gray);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.nefin-trust-badge i {
    font-size: 16px;
    color: #5a8a5a;
}

@media (min-width: 768px) {
    .nefin-checkout-wrapper {
        padding-bottom: 80px;
    }

    .nefin-checkout-header {
        padding: 40px 0 48px;
    }

    .nefin-checkout-title {
        font-size: 40px;
    }

    .nefin-checkout-content {
        padding: 40px 0 60px;
    }

    .nefin-checkout-card {
        padding: 28px;
    }

    .nefin-card-header {
        text-align: left;
        margin-bottom: 24px;
        padding-bottom: 20px;
    }

    .nefin-card-header h2 {
        font-size: 24px;
    }

    .nefin-checkout-progress {
        padding: 20px 32px;
    }

    .nefin-step-number {
        width: 52px;
        height: 52px;
        font-size: 18px;
    }

    .nefin-step-title {
        font-size: 12px;
        max-width: none;
    }

    .nefin-checkout-actions {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        padding-top: 24px;
    }

    .nefin-btn-back {
        width: auto;
        background: transparent;
        padding: 0;
        border-radius: 0;
    }

    .nefin-btn-continue {
        width: auto;
        padding: 18px 36px;
    }

    .nefin-mobile-action-bar {
        display: none;
    }

    .nefin-order-summary {
        padding: 24px;
    }

    .nefin-summary-header h3 {
        font-size: 20px;
    }

    .nefin-summary-products {
        max-height: 280px;
    }

    .nefin-summary-total {
        padding: 18px 24px;
        margin: 0 -24px;
    }

    .nefin-total-value {
        font-size: 24px;
    }

    .nefin-address-content {
        padding: 20px;
    }
}

@media (min-width: 1024px) {
    .nefin-checkout-grid {
        display: grid;
        grid-template-columns: 1fr 380px;
        gap: 40px;
        align-items: start;
    }

    .nefin-checkout-sidebar {
        position: sticky;
        top: 24px;
    }

    .nefin-order-summary-sticky {
        position: sticky;
        top: 24px;
    }

    .nefin-checkout-header {
        padding: 48px 0 56px;
    }

    .nefin-checkout-title {
        font-size: 48px;
    }

    .nefin-checkout-progress {
        padding: 24px 40px;
    }

    .nefin-step-number {
        width: 56px;
        height: 56px;
    }

    .nefin-checkout-card {
        padding: 32px;
    }

    .nefin-card-header h2 {
        font-size: 26px;
    }

    .nefin-summary-products {
        max-height: 320px;
    }
}

@media (min-width: 1200px) {
    .nefin-checkout-grid {
        grid-template-columns: 1fr 420px;
        gap: 48px;
    }
}

@media (max-width: 480px) {
    .nefin-checkout-progress {
        padding: 12px 8px;
        gap: 0;
    }

    .nefin-step {
        padding: 6px 2px;
    }

    .nefin-step-number {
        width: 40px;
        height: 40px;
        font-size: 14px;
    }

    .nefin-step:not(:last-child)::after {
        top: 20px;
    }

    .nefin-step-title {
        font-size: 9px;
        max-width: 70px;
    }

    .nefin-address-content {
        flex-direction: column;
        gap: 12px;
        align-items: flex-start;
    }

    .nefin-address-actions {
        align-self: flex-end;
        margin-top: -40px;
    }

    .nefin-form-row {
        grid-template-columns: 1fr;
    }

    .nefin-form-group {
        grid-column: auto;
    }

    .nefin-summary-toggle {
        display: flex;
    }
}

.nefin-add-address {
    margin-bottom: 20px;
}

.nefin-add-address-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 16px 20px;
    width: 100%;
    background: linear-gradient(135deg, #faf9f7 0%, #f5f4f2 100%);
    border: 2px dashed rgba(103, 100, 94, 0.3);
    border-radius: 14px;
    color: #67645e;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.25s ease;
}

.nefin-add-address-btn:hover {
    background: linear-gradient(135deg, rgba(103, 100, 94, 0.08) 0%, rgba(103, 100, 94, 0.04) 100%);
    border-color: #67645e;
    color: #67645e;
    transform: translateY(-1px);
}

.nefin-add-address-btn i {
    font-size: 18px;
}

@media (min-width: 768px) {
    .nefin-add-address-btn {
        width: auto;
        display: inline-flex;
    }
}

.nefin-empty-state {
    text-align: center;
    padding: 40px 20px;
    background: linear-gradient(135deg, #faf9f7 0%, #f0efec 100%);
    border-radius: 16px;
    border: 1px solid rgba(103, 100, 94, 0.08);
}

.nefin-empty-state i {
    font-size: 48px;
    color: var(--page-gray);
    margin-bottom: 16px;
}

.nefin-empty-state p {
    font-size: 14px;
    color: var(--page-dark-gray);
    margin: 0;
    line-height: 1.5;
}

.nefin-section-subtitle {
    font-size: 14px;
    font-weight: 700;
    color: var(--page-black);
    margin: 0 0 14px 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.nefin-section-subtitle::before {
    content: "";
    width: 4px;
    height: 16px;
    background: linear-gradient(180deg, #67645e 0%, #d4a574 100%);
    border-radius: 2px;
}

.nefin-address-section {
    margin-bottom: 24px;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(103, 100, 94, 0.10);
}

.nefin-address-section:last-of-type {
    border-bottom: none;
}

.nefin-address-grid {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.nefin-address-card {
    display: block;
    cursor: pointer;
}

.nefin-address-card input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.nefin-address-content {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 16px;
    background: var(--page-snow);
    border: 2px solid var(--page-medium-gray);
    border-radius: 16px;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    min-height: 80px;
}

.nefin-address-card:hover .nefin-address-content {
    border-color: var(--page-gray);
    background: linear-gradient(135deg, #faf9f7 0%, #f5f4f2 100%);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.06);
}

.nefin-address-card.selected .nefin-address-content {
    border-color: #67645e;
    background: linear-gradient(135deg, rgba(103, 100, 94, 0.06) 0%, rgba(103, 100, 94, 0.02) 100%);
    box-shadow: 0 4px 16px rgba(103, 100, 94, 0.15);
}

.nefin-address-radio {
    width: 24px;
    height: 24px;
    border: 2px solid var(--page-gray);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 2px;
    transition: all 0.25s ease;
}

.nefin-address-card.selected .nefin-address-radio {
    border-color: #67645e;
    background: linear-gradient(135deg, #67645e 0%, #4a4843 100%);
    box-shadow: 0 2px 8px rgba(103, 100, 94, 0.3);
}

.nefin-address-radio::after {
    content: "";
    width: 8px;
    height: 8px;
    background: white;
    border-radius: 50%;
    opacity: 0;
    transform: scale(0);
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.nefin-address-card.selected .nefin-address-radio::after {
    opacity: 1;
    transform: scale(1);
}

.nefin-address-info {
    flex: 1;
    min-width: 0;
}

.nefin-address-title {
    display: block;
    font-size: 15px;
    font-weight: 700;
    color: var(--page-black);
    margin-bottom: 6px;
}

.nefin-address-text {
    font-size: 13px;
    color: var(--page-charcoal);
    line-height: 1.5;
    margin: 0;
}

.nefin-address-actions {
    display: flex;
    gap: 8px;
    flex-shrink: 0;
}

.nefin-address-actions a {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--page-white);
    border: 1px solid var(--page-medium-gray);
    border-radius: 10px;
    color: var(--page-dark-gray);
    transition: all 0.2s ease;
}

.nefin-address-actions a:hover {
    background: #f5f4f2;
    color: #67645e;
    border-color: #67645e;
    transform: scale(1.05);
}

.nefin-address-actions a i {
    font-size: 14px;
}

.nefin-same-address {
    margin: 20px 0;
    padding: 16px;
    background: linear-gradient(135deg, #faf9f7 0%, #f5f4f2 100%);
    border-radius: 14px;
    border: 1px solid rgba(103, 100, 94, 0.08);
}

.nefin-checkbox-wrapper {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    cursor: pointer;
}

.nefin-checkbox {
    width: auto;
    height: 22px;
    accent-color: #67645e;
    cursor: pointer;
    flex-shrink: 0;
    margin-top: 1px;
}

.nefin-checkbox-label {
    font-size: 14px;
    color: var(--page-charcoal);
    line-height: 1.5;
}

.nefin-billing-section {
    margin-top: 20px;
}

.nefin-shipping-methods-wrapper {
    margin-top: 20px;
}

.nefin-shipping-methods-section {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid rgba(103, 100, 94, 0.10);
    border-bottom: none;
}

.nefin-shipping-note {
    font-size: 13px;
    color: var(--page-dark-gray);
    margin-bottom: 16px;
    padding: 12px 16px;
    background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);
    border-radius: 12px;
    border-left: 3px solid #f59e0b;
    line-height: 1.5;
}

.nefin-seller-shipping {
    margin-bottom: 16px;
    padding: 16px;
    background: linear-gradient(135deg, #faf9f7 0%, #f5f4f2 100%);
    border-radius: 16px;
    border: 1px solid rgba(103, 100, 94, 0.08);
}

.nefin-seller-info {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(103, 100, 94, 0.10);
}

.nefin-seller-info i {
    font-size: 16px;
    color: #67645e;
}

.nefin-seller-info strong {
    font-size: 14px;
    color: var(--page-black);
    font-weight: 600;
}

.nefin-shipping-options {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.nefin-shipping-option {
    display: block;
    cursor: pointer;
}

.nefin-shipping-option input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.nefin-shipping-option-content {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px;
    background: var(--page-white);
    border: 2px solid var(--page-medium-gray);
    border-radius: 14px;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.nefin-shipping-option:hover .nefin-shipping-option-content {
    border-color: var(--page-gray);
    background: linear-gradient(135deg, #faf9f7 0%, #f5f4f2 100%);
}

.nefin-shipping-option.selected .nefin-shipping-option-content {
    border-color: #67645e;
    background: linear-gradient(135deg, rgba(103, 100, 94, 0.06) 0%, rgba(103, 100, 94, 0.02) 100%);
    box-shadow: 0 4px 12px rgba(103, 100, 94, 0.12);
    display: flex;
    align-items: center;
}

.nefin-shipping-radio {
    width: 26px;
    height: 26px;
    border: 2px solid var(--page-gray);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.25s ease;
}

.nefin-shipping-option.selected .nefin-shipping-radio {
    border-color: #67645e;
    background: linear-gradient(135deg, #67645e 0%, #4a4843 100%);
    box-shadow: 0 2px 8px rgba(103, 100, 94, 0.3);
}

.nefin-shipping-radio::after {
    content: "";
    width: 6px;
    height: 6px;
    background: white;
    border-radius: 50%;
    opacity: 0;
    transform: scale(0);
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.nefin-shipping-option.selected .nefin-shipping-radio::after {
    opacity: 1;
    transform: scale(1);
}

.nefin-shipping-info {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.nefin-shipping-name {
    font-size: 14px;
    font-weight: 600;
    color: var(--page-black);
}

.nefin-shipping-price {
    font-size: 14px;
    font-weight: 700;
    color: var(--page-black);
}

.nefin-shipping-price.free span {
    color: #5a8a5a;
}

.nefin-shipping-option.nefin-free-shipping-option .nefin-shipping-option-content {
    background: linear-gradient(135deg, rgba(90, 138, 90, 0.08) 0%, rgba(90, 138, 90, 0.03) 100%);
    border-color: #5a8a5a;
}

.nefin-shipping-option.nefin-free-shipping-option .nefin-shipping-radio {
    border-color: #5a8a5a;
    background: #5a8a5a;
}

.nefin-shipping-option.nefin-free-shipping-option .nefin-shipping-info {
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: flex-start;
}

.nefin-free-shipping-icon {
    color: #5a8a5a !important;
    font-size: 14px;
}

.nefin-shipping-option.nefin-free-shipping-option .nefin-shipping-name {
    color: #5a8a5a;
}

.nefin-shipping-option.nefin-free-shipping-option .nefin-shipping-price.free span {
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.nefin-alert {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px;
    border-radius: 14px;
    font-size: 13px;
    margin-bottom: 14px;
    line-height: 1.5;
}

.nefin-alert i {
    font-size: 18px;
    flex-shrink: 0;
    margin-top: 1px;
}

.nefin-alert-danger {
    background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);
    color: #b91c1c;
    border: 1px solid #fecaca;
}

.nefin-alert-warning {
    background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);
    color: #b45309;
    border: 1px solid #fed7aa;
}

.nefin-alert-info {
    background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);
    color: #0369a1;
    border: 1px solid #bae6fd;
}

.nefin-alert-success {
    background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);
    color: #15803d;
    border: 1px solid #bbf7d0;
}

.nefin-shipping-loader {
    display: flex;
    justify-content: center;
    padding: 32px;
}

.nefin-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1050;
    display: none;
    align-items: flex-end;
    justify-content: center;
    padding: 0;
}

.nefin-modal.show {
    display: flex;
}

.nefin-modal-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.5);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

.nefin-modal-dialog {
    position: relative;
    width: 100%;
    max-height: 90vh;
    overflow-y: auto;
    z-index: 1;
}

.nefin-modal-content {
    border-radius: 24px 24px 0 0;
    border: none;
    box-shadow: 0 -8px 40px rgba(0,0,0,0.15);
    background: var(--page-white);
}

.nefin-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px;
    border-bottom: 1px solid rgba(103, 100, 94, 0.10);
    position: sticky;
    top: 0;
    background: var(--page-white);
    border-radius: 24px 24px 0 0;
    z-index: 10;
}

.nefin-modal-header::before {
    content: "";
    position: absolute;
    top: 8px;
    left: 50%;
    transform: translateX(-50%);
    width: 36px;
    height: 4px;
    background: var(--page-medium-gray);
    border-radius: 2px;
}

.nefin-modal-header .modal-title, .nefin-modal-title {
    font-size: 18px;
    font-weight: 700;
    color: var(--page-black);
    margin: 0;
    padding-top: 8px;
}

.nefin-modal-close {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--page-light-gray);
    border: none;
    border-radius: 50%;
    color: var(--page-charcoal);
    cursor: pointer;
    transition: all 0.2s ease;
    opacity: 1;
    padding: 0;
    font-size: 20px;
    line-height: 1;
}

.nefin-modal-close:hover {
    background: var(--page-medium-gray);
    transform: scale(1.05);
}

.nefin-modal-body {
    padding: 20px;
    max-height: calc(90vh - 160px);
    overflow-y: auto;
}

.nefin-modal-footer {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 16px 20px;
    padding-bottom: calc(16px + env(safe-area-inset-bottom, 0));
    border-top: 1px solid rgba(103, 100, 94, 0.10);
    position: sticky;
    bottom: 0;
    background: var(--page-white);
}

.nefin-modal-footer .nefin-btn-primary {
    width: 100%;
}

.nefin-modal-footer .nefin-btn-secondary {
    width: 100%;
}

@media (min-width: 768px) {
    .nefin-modal {
        align-items: center;
        padding: 24px;
    }

    .nefin-modal-dialog {
        max-width: 560px;
        max-height: 85vh;
    }

    .nefin-modal-content {
        border-radius: 20px;
        box-shadow: 0 20px 60px rgba(0,0,0,0.2);
    }

    .nefin-modal-header {
        padding: 24px 28px;
        border-radius: 20px 20px 0 0;
    }

    .nefin-modal-header::before {
        display: none;
    }

    .nefin-modal-header .modal-title, .nefin-modal-title {
        font-size: 20px;
        padding-top: 0;
    }

    .nefin-modal-body {
        padding: 28px;
    }

    .nefin-modal-footer {
        flex-direction: row;
        justify-content: flex-end;
        padding: 20px 28px;
    }

    .nefin-modal-footer .nefin-btn-primary, .nefin-modal-footer .nefin-btn-secondary {
        width: auto;
    }
}

.nefin-form-row {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-bottom: 14px;
}

.nefin-form-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.nefin-form-group.nefin-form-full {
    grid-column: auto;
}

.nefin-form-group label {
    font-size: 13px;
    font-weight: 600;
    color: var(--page-charcoal);
}

.nefin-input, .nefin-select {
    width: 100%;
    padding: 14px 16px;
    font-size: 16px;
    color: var(--page-black);
    background: var(--page-white);
    border: 2px solid var(--page-medium-gray);
    border-radius: 12px;
    transition: all 0.2s ease;
    -webkit-appearance: none;
    appearance: none;
}

.nefin-input:focus, .nefin-select:focus {
    outline: none;
    border-color: #67645e;
    box-shadow: 0 0 0 3px rgba(103, 100, 94, 0.1);
}

.nefin-input::placeholder {
    color: var(--page-gray);
}

.nefin-select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2367645e' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    padding-right: 44px;
}

@media (min-width: 768px) {
    .nefin-form-row {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 16px;
        margin-bottom: 16px;
    }

    .nefin-form-group.nefin-form-full {
        grid-column: 1 / -1;
    }

    .nefin-input, .nefin-select {
        font-size: 15px;
        padding: 12px 16px;
    }
}

.nefin-btn-primary {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 16px 28px;
    background: linear-gradient(135deg, #67645e 0%, #4a4843 100%);
    color: white;
    font-size: 14px;
    font-weight: 600;
    border: none;
    border-radius: 14px;
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 12px rgba(103, 100, 94, 0.25);
}

.nefin-btn-primary:hover {
    background: linear-gradient(135deg, #d4a574 0%, #c4956a 100%);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(212, 165, 116, 0.35);
}

.nefin-btn-primary:active {
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(103, 100, 94, 0.2);
}

.nefin-btn-secondary {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 24px;
    background: var(--page-light-gray);
    color: var(--page-charcoal);
    font-size: 14px;
    font-weight: 600;
    border: none;
    border-radius: 14px;
    cursor: pointer;
    transition: all 0.25s ease;
}

.nefin-btn-secondary:hover {
    background: var(--page-medium-gray);
    transform: translateY(-1px);
}

.nefin-security-features {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
    padding: 20px 0;
}

.nefin-security-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--page-dark-gray);
}

.nefin-security-item i {
    font-size: 14px;
    color: #5a8a5a;
}

.feedback-widget {
    position: fixed;
    bottom: 24px;
    right: 24px;
    width: 320px;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.12), 0 1px 3px rgba(0, 0, 0, 0.08);
    z-index: 9999;
    padding: 20px;
    opacity: 0;
    transform: translateY(20px) scale(0.95);
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.feedback-widget.feedback-widget-show {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.feedback-widget-close {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 24px;
    height: 24px;
    border: none;
    background: #f5f5f7;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #86868b;
    transition: all 0.2s ease;
    padding: 0;
}

.feedback-widget-close:hover {
    background: #e8e8ed;
    color: #1d1d1f;
}

.feedback-question {
    font-size: 16px;
    font-weight: 600;
    color: #1d1d1f;
    margin-bottom: 16px;
    line-height: 1.4;
    padding-right: 20px;
}

.feedback-rating {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-bottom: 8px;
}

.feedback-star {
    background: none;
    border: none;
    padding: 4px;
    cursor: pointer;
    color: #d1d1d6;
    transition: all 0.15s ease;
    border-radius: 4px;
}

.feedback-star:hover, .feedback-star.active {
    color: #ff9f0a;
    transform: scale(1.1);
}

.feedback-star.selected {
    color: #ff9f0a;
}

.feedback-labels {
    display: flex;
    justify-content: space-between;
    font-size: 11px;
    color: #86868b;
    margin-bottom: 16px;
    padding: 0 4px;
}

.feedback-comment-section {
    animation: fadeInUp 0.3s ease;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.feedback-comment {
    width: 100%;
    min-height: 70px;
    padding: 12px;
    border: 1px solid #d1d1d6;
    border-radius: 10px;
    font-size: 14px;
    font-family: inherit;
    resize: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    box-sizing: border-box;
}

.feedback-comment:focus {
    outline: none;
    border-color: #007aff;
    box-shadow: 0 0 0 3px rgba(0, 122, 255, 0.1);
}

.feedback-comment::placeholder {
    color: #86868b;
}

.feedback-submit {
    width: 100%;
    margin-top: 12px;
    padding: 12px 20px;
    background: #007aff;
    color: #fff;
    border: none;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.feedback-submit:hover:not(:disabled) {
    background: #0056d2;
}

.feedback-submit:disabled {
    background: #86868b;
    cursor: not-allowed;
}

.feedback-success {
    text-align: center;
    padding: 20px 0;
    animation: fadeInUp 0.3s ease;
}

.feedback-success-icon {
    color: #34c759;
    margin-bottom: 12px;
}

.feedback-success-text {
    font-size: 18px;
    font-weight: 600;
    color: #1d1d1f;
    margin-bottom: 4px;
}

.feedback-success-subtext {
    font-size: 14px;
    color: #86868b;
}

.category-hero-content.container {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.featured-swiper .swiper-slide {
    width: calc(100vw / 4 - 36px)!important;
}

.in-page-hero-media {
    position: relative;
    height: 40vh;
    top: -20px;
}

.in-page-hero-image, .in-page-hero-video {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.in-page-hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.4) 60%, rgba(0, 0, 0, 0.7) 100%);
    z-index: 2;
}

.in-page-hero-content.container {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
}

.in-page-hero-title {
    font-size: 42px;
    font-weight: 700;
    color: var(--nefin-white);
    margin: 0 0 12px 0;
    letter-spacing: -0.03em;
    font-family: var(--nefin-font-primary);
    text-shadow: 0 2px 20px rgba(0, 0, 0, 0.3);
}

.nefin-account-wrapper {
    padding: 40px 0 80px;
    min-height: 60vh;
}

.profile-tabs {
    background: var(--nefin-white, #fff);
    border-radius: 16px;
    padding: 8px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
    border: 1px solid var(--nefin-light-gray, #f5f5f7);
}

.profile-tabs .nav {
    flex-direction: column;
    gap: 2px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.profile-tabs .nav .nav-item {
    width: 100%;
    text-align: left;
    margin-bottom: 0;
}

.profile-tabs .nav .nav-item .nav-link {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 14px 16px;
    border-radius: 10px;
    color: var(--nefin-black, #1d1d1f);
    font-size: 14px;
    font-weight: 500;
    font-family: var(--nefin-font-primary);
    transition: all 0.2s ease;
    background: transparent;
    border: none;
    gap: 15px;
}

.profile-tabs .nav .nav-item .nav-link i {
    margin-right: 12px;
    font-size: 16px;
    color: var(--nefin-dark-gray, #86868b);
    transition: color 0.2s ease;
}

.profile-tabs .nav .nav-item .nav-link .count {
    float: none;
    margin-left: auto;
    background: var(--nefin-light-gray, #f5f5f7);
    padding: 2px 10px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    color: var(--nefin-dark-gray, #86868b);
}

.profile-tabs .nav .nav-link:hover {
    background: var(--nefin-light-gray, #f5f5f7);
    color: var(--nefin-black, #1d1d1f);
}

.profile-tabs .nav .nav-link:hover i {
    color: var(--nefin-black, #1d1d1f);
}

.profile-tabs .nav .active .nav-link, .profile-tabs .nav .nav-item.active .nav-link {
    background: var(--page-charcoal, #67645e);
    color: var(--nefin-white, #fff);
}

.profile-tabs .nav .active .nav-link i, .profile-tabs .nav .nav-item.active .nav-link i {
    color: var(--nefin-white, #fff);
}

.profile-tabs .nav .active .nav-link .count, .profile-tabs .nav .nav-item.active .nav-link .count {
    background: rgba(255, 255, 255, 0.2);
    color: var(--nefin-white, #fff);
}

.profile-tab-content {
    background: var(--nefin-white, #fff);
    border-radius: 16px;
    padding: 32px;
    min-height: 400px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
    border: 1px solid var(--nefin-light-gray, #f5f5f7);
}

.nav-tabs-profile {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    border-bottom: 1px solid var(--nefin-medium-gray, #e8e8ed);
    padding-bottom: 0;
    margin-bottom: 32px;
    overflow-x: auto;
    scrollbar-width: none;
}

.nav-tabs-profile::-webkit-scrollbar {
    display: none;
}

.nav-tabs-profile .nav-item {
    flex-shrink: 0;
}

.nav-tabs-profile .nav-item .nav-link {
    display: inline-flex;
    align-items: center;
    padding: 12px 20px;
    font-size: 14px;
    font-weight: 500;
    color: var(--nefin-dark-gray, #86868b);
    border: none;
    border-bottom: 2px solid transparent;
    background: transparent;
    white-space: nowrap;
    transition: all 0.2s ease;
    font-family: var(--nefin-font-primary);
}

.nav-tabs-profile .nav-item .nav-link:hover {
    color: var(--nefin-black, #1d1d1f);
}

.nav-tabs-profile .nav-item .nav-link.active {
    color: var(--nefin-black, #1d1d1f);
    border-bottom-color: var(--page-charcoal, #67645e);
}

.nav-tabs-profile .count {
    margin-left: 6px;
    background: var(--nefin-light-gray, #f5f5f7);
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 600;
    color: var(--nefin-dark-gray, #86868b);
}

.profile-page-top {
    width: 100%;
    display: flex;
    flex-direction: column;
    margin-bottom: 32px;
    background: var(--nefin-white, #fff);
    border-radius: 16px;
    padding: 32px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
    border: 1px solid var(--nefin-light-gray, #f5f5f7);
}

.profile-details {
    width: 100%;
    display: flex;
    gap: 24px;
    align-items: flex-start;
}

.profile-details .left {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: auto;
    padding-right: 0;
}

.profile-details .right {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.profile-details .img-profile {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid var(--nefin-light-gray, #f5f5f7);
}

.profile-details .username {
    font-size: 24px;
    font-weight: 600;
    color: var(--nefin-black, #1d1d1f);
    font-family: var(--nefin-font-primary);
    margin: 0 0 8px 0;
    line-height: 1.3;
}

.profile-details .description {
    font-size: 14px;
    line-height: 1.6;
    color: var(--nefin-dark-gray, #86868b);
    margin-bottom: 12px;
}

.profile-details .user-contact {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 0;
}

.profile-details .user-contact .info {
    color: var(--nefin-dark-gray, #86868b);
    font-size: 13px;
    margin-right: 0;
    padding-right: 0;
    border-right: none;
}

.profile-details .user-contact .info i {
    margin-right: 6px;
    color: var(--page-charcoal, #67645e);
}

.edit-profile-cover {
    display: block;
    width: 100%;
    min-height: 200px;
    height: 200px;
    position: relative;
    margin-bottom: 60px;
    background-size: cover;
    background-position: center center;
    background-color: var(--nefin-light-gray, #f5f5f7);
    border: none;
    border-radius: 16px;
    overflow: visible;
    contain: layout;
}

.edit-cover-no-image {
    background-color: var(--page-light-gray, #f1f0ed);
    background-image: linear-gradient(135deg, var(--page-light-gray, #f1f0ed) 0%, #e8e6e1 100%);
}

.edit-profile-cover .edit-avatar {
    position: absolute;
    bottom: -50px;
    left: 32px;
    border-radius: 50%;
    z-index: 5;
}

.edit-profile-cover .edit-avatar img {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid var(--nefin-white, #fff);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.edit-profile-cover .edit-avatar .btn {
    position: absolute;
    bottom: 4px;
    right: 4px;
    width: 36px;
    height: 36px;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--page-charcoal, #67645e);
    color: var(--nefin-white, #fff);
    border: 2px solid var(--nefin-white, #fff);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    transition: all 0.2s ease;
}

.edit-profile-cover .edit-avatar .btn:hover {
    background: var(--nefin-black, #1d1d1f);
    transform: scale(1.05);
}

.edit-profile-cover .btn-container {
    position: absolute;
    top: 16px;
    right: 16px;
    display: flex;
    gap: 8px;
}

.edit-profile-cover .btn-edit-cover {
    width: 40px;
    height: 40px;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(10px);
    color: var(--nefin-black, #1d1d1f);
    border: none;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    transition: all 0.2s ease;
}

.edit-profile-cover .btn-edit-cover:hover {
    background: var(--nefin-white, #fff);
    transform: scale(1.05);
}

.shipping-address-box {
    width: 100%;
    height: 100%;
    background: var(--nefin-white, #fff);
    border: 1px solid var(--nefin-light-gray, #f5f5f7);
    border-radius: 16px;
    padding: 24px;
    position: relative;
    transition: all 0.2s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02);
}

.shipping-address-box:hover {
    border-color: var(--page-charcoal, #67645e);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
}

.shipping-address-box .badge-shipping-address {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-radius: 20px;
    padding: 6px 12px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 16px;
}

.shipping-address-box .badge-info {
    background: var(--page-light-gray, #f1f0ed);
    color: var(--page-charcoal, #67645e);
}

.shipping-address-box .badge-secondary {
    background: var(--nefin-light-gray, #f5f5f7);
    color: var(--nefin-dark-gray, #86868b);
}

.shipping-address-box strong {
    display: block;
    font-size: 16px;
    font-weight: 600;
    color: var(--nefin-black, #1d1d1f);
    margin-bottom: 12px;
}

.shipping-address-box p {
    font-size: 14px;
    color: var(--nefin-dark-gray, #86868b);
    line-height: 1.6;
    margin-bottom: 6px;
}

.shipping-address-box .profile-actions-shipping {
    display: flex;
    gap: 8px;
    position: absolute;
    bottom: 24px;
    right: 24px;
    padding: 0;
}

.shipping-address-box .profile-actions-shipping a {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: var(--nefin-light-gray, #f5f5f7);
    color: var(--nefin-dark-gray, #86868b);
    transition: all 0.2s ease;
    padding: 0;
}

.shipping-address-box .profile-actions-shipping a:hover {
    background: var(--page-charcoal, #67645e);
    color: var(--nefin-white, #fff);
}

.shipping-address-box .profile-actions-shipping a svg {
    fill: currentColor;
}

.shipping-address-box .add-new {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    min-height: 180px;
    text-align: center;
    color: var(--nefin-dark-gray, #86868b);
}

.shipping-address-box .add-new i {
    font-size: 32px;
    margin-bottom: 12px;
    color: var(--page-charcoal, #67645e);
}

.profile-tab-content .table {
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
    margin-bottom: 0;
}

.profile-tab-content .table thead th {
    background: var(--nefin-light-gray, #f5f5f7);
    border: none;
    padding: 14px 16px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--nefin-dark-gray, #86868b);
    font-family: var(--nefin-font-primary);
}

.profile-tab-content .table thead th:first-child {
    border-radius: 10px 0 0 10px;
}

.profile-tab-content .table thead th:last-child {
    border-radius: 0 10px 10px 0;
}

.profile-tab-content .table tbody td {
    padding: 16px;
    border: none;
    border-bottom: 1px solid var(--nefin-light-gray, #f5f5f7);
    font-size: 14px;
    color: var(--nefin-black, #1d1d1f);
    vertical-align: middle;
}

.profile-tab-content .table tbody tr:last-child td {
    border-bottom: none;
}

.profile-tab-content .table tbody tr:hover td {
    background: var(--page-light-gray, #f1f0ed);
}

.profile-tab-content .table-striped tbody tr:nth-of-type(odd) {
    background: transparent;
}

.profile-tab-content .table-striped tbody tr:nth-of-type(even) {
    background: transparent;
}

.btn-table-info {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    font-size: 12px;
    font-weight: 600;
    background: var(--page-charcoal, #67645e);
    color: var(--nefin-white, #fff);
    border-radius: 20px;
    border: none;
    transition: all 0.2s ease;
}

.btn-table-info:hover {
    background: var(--nefin-black, #1d1d1f);
    color: var(--nefin-white, #fff);
    transform: translateY(-1px);
}

.btn-table-info svg {
    fill: currentColor;
}

.profile-tab-content .form-group {
    margin-bottom: 24px;
}

.profile-tab-content .form-group label, .profile-tab-content .control-label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--nefin-black, #1d1d1f);
    margin-bottom: 8px;
    font-family: var(--nefin-font-primary);
}

.profile-tab-content .form-control, .profile-tab-content .form-input {
    width: 100%;
    padding: 14px 16px;
    font-size: 14px;
    color: var(--nefin-black, #1d1d1f);
    background: var(--nefin-white, #fff);
    border: 1px solid var(--nefin-medium-gray, #e8e8ed);
    border-radius: 10px;
    transition: all 0.2s ease;
    font-family: var(--nefin-font-primary);
}

.profile-tab-content .form-control:focus, .profile-tab-content .form-input:focus {
    outline: none;
    border-color: var(--page-charcoal, #67645e);
    box-shadow: 0 0 0 3px rgba(103, 100, 94, 0.1);
}

.profile-tab-content .form-control::placeholder, .profile-tab-content .form-input::placeholder {
    color: var(--nefin-dark-gray, #86868b);
}

.profile-tab-content textarea.form-control, .profile-tab-content textarea.form-input, .profile-tab-content .form-textarea {
    min-height: 120px;
    resize: vertical;
}

.profile-tab-content .btn-custom, .profile-tab-content .btn-md {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 32px;
    font-size: 14px;
    font-weight: 600;
    background: var(--page-charcoal, #67645e);
    color: var(--nefin-white, #fff);
    border: none;
    border-radius: 30px;
    cursor: pointer;
    transition: all 0.2s ease;
    font-family: var(--nefin-font-primary);
}

.profile-tab-content .btn-custom:hover, .profile-tab-content .btn-md:hover {
    background: var(--nefin-black, #1d1d1f);
    transform: translateY(-1px);
}

.profile-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 20px;
    text-align: left;
    line-height: normal;
}

.profile-buttons .buttons {
    display: flex;
    gap: 8px;
    float: none;
    margin-right: 0;
}

.profile-buttons .buttons button {
    margin: 0;
}

.profile-buttons .social {
    display: flex;
    align-items: center;
    gap: 12px;
    float: none;
}

.profile-buttons .social label {
    float: none;
    margin: 0;
    font-size: 13px;
    font-weight: 500;
    color: var(--nefin-dark-gray, #86868b);
}

.profile-buttons .social ul {
    display: flex;
    gap: 8px;
    margin: 0;
    padding: 0;
}

.profile-buttons .social ul li {
    display: inline-flex;
    margin: 0;
}

.profile-buttons .social ul li a {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--nefin-light-gray, #f5f5f7);
    color: var(--nefin-dark-gray, #86868b);
    font-size: 14px;
    border: none;
    transition: all 0.2s ease;
}

.profile-buttons .social ul li a:hover {
    background: var(--page-charcoal, #67645e);
    color: var(--nefin-white, #fff);
}

.icon-verified-member {
    display: inline-flex;
    align-items: center;
    color: var(--page-charcoal, #67645e);
    font-size: 20px;
    margin-left: 8px;
}

.profile-rating {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
}

.profile-rating .rating {
    display: flex;
    align-items: center;
}

.profile-rating span {
    font-size: 13px;
    color: var(--nefin-dark-gray, #86868b);
}

.last-seen {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--nefin-dark-gray, #86868b);
}

.last-seen i {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--nefin-medium-gray, #e8e8ed);
    margin-right: 0;
}

.last-seen-online i {
    background: #34c759;
}

.follower-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 20px;
    background: var(--nefin-white, #fff);
    border-radius: 16px;
    border: 1px solid var(--nefin-light-gray, #f5f5f7);
    transition: all 0.2s ease;
    margin-bottom: 16px;
}

.follower-item:hover {
    border-color: var(--page-charcoal, #67645e);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
}

.follower-item .img-profile {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    margin-bottom: 12px;
}

.follower-item .username {
    font-size: 14px;
    font-weight: 600;
    color: var(--nefin-black, #1d1d1f);
    margin: 0;
}

.profile-search {
    display: block;
    position: relative;
}

.profile-search input {
    width: 100%;
    padding: 12px 16px;
    padding-right: 48px;
    background: var(--nefin-white, #fff) !important;
    border: 1px solid var(--nefin-medium-gray, #e8e8ed) !important;
    border-radius: 10px;
    font-size: 14px;
    color: var(--nefin-black, #1d1d1f);
    transition: all 0.2s ease;
    height: auto;
}

.profile-search input:focus {
    border-color: var(--page-charcoal, #67645e) !important;
    box-shadow: 0 0 0 3px rgba(103, 100, 94, 0.1);
}

.profile-search button {
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--page-charcoal, #67645e) !important;
    border: none !important;
    border-radius: 8px;
    color: var(--nefin-white, #fff);
    font-size: 14px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.profile-search button:hover {
    background: var(--nefin-black, #1d1d1f) !important;
}

.btn-group-download .dropdown-toggle {
    background: var(--page-charcoal, #67645e);
    color: var(--nefin-white, #fff);
    border-radius: 20px;
    padding: 8px 16px;
    font-size: 13px;
    font-weight: 600;
    border: none;
}

.btn-group-download .dropdown-menu {
    border-radius: 12px;
    border: 1px solid var(--nefin-light-gray, #f5f5f7);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
    padding: 8px;
}

.btn-group-download .dropdown-item {
    padding: 10px 16px;
    border-radius: 8px;
    font-size: 14px;
    color: var(--nefin-black, #1d1d1f);
    transition: all 0.2s ease;
}

.btn-group-download .dropdown-item:hover {
    background: var(--nefin-light-gray, #f5f5f7);
}

.link-abuse-report {
    font-size: 13px;
    color: var(--nefin-dark-gray, #86868b);
    text-decoration: none !important;
    transition: color 0.2s ease;
}

.link-abuse-report:hover {
    color: var(--page-charcoal, #67645e);
    text-decoration: underline !important;
}

.profile-tab-content .select2-container {
    width: 100% !important;
}

.profile-tab-content .select2-container--default .select2-selection--single {
    height: 48px !important;
    padding: 10px 16px !important;
    border: 1px solid var(--nefin-medium-gray, #e8e8ed);
    border-radius: 10px;
    background: var(--nefin-white, #fff);
}

.profile-tab-content .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 26px;
    padding-left: 0;
    color: var(--nefin-black, #1d1d1f);
}

.profile-tab-content .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 46px;
    right: 12px;
}

@media (max-width: 991px) {
    .profile-tabs {
        margin-bottom: 24px;
    }

    .profile-tabs .nav {
        flex-direction: row;
        flex-wrap: nowrap;
        overflow-x: auto;
        gap: 4px;
        padding-bottom: 8px;
    }

    .profile-tabs .nav .nav-item {
        width: auto;
        flex-shrink: 0;
    }

    .profile-tabs .nav .nav-item .nav-link {
        padding: 10px 14px;
        white-space: nowrap;
        font-size: 13px;
    }

    .profile-tabs .nav .nav-item .nav-link .count {
        display: none;
    }

    .profile-tab-content {
        padding: 20px;
    }

    .profile-page-top {
        padding: 20px;
    }

    .profile-details {
        flex-direction: column;
        text-align: center;
    }

    .profile-details .left {
        margin-bottom: 16px;
    }

    .profile-details .img-profile {
        width: 100px;
        height: 100px;
    }

    .profile-details .username {
        font-size: 20px;
    }

    .profile-details .user-contact {
        justify-content: center;
    }

    .edit-profile-cover {
        height: 160px;
        margin-bottom: 70px;
    }

    .edit-profile-cover .edit-avatar {
        left: 50%;
        transform: translateX(-50%);
    }

    .edit-profile-cover .edit-avatar img {
        width: 100px;
        height: 100px;
    }
}

@media (max-width: 767px) {
    .nav-tabs-profile {
        margin-bottom: 24px;
    }

    .nav-tabs-profile .nav-item .nav-link {
        padding: 10px 14px;
        font-size: 13px;
    }

    .shipping-address-box {
        padding: 20px;
        padding-bottom: 70px;
    }

    .shipping-address-box .profile-actions-shipping {
        bottom: 20px;
        right: 20px;
    }

    .profile-tab-content .table thead {
        display: none;
    }

    .profile-tab-content .table tbody tr {
        display: block;
        margin-bottom: 16px;
        border: 1px solid var(--nefin-light-gray, #f5f5f7);
        border-radius: 12px;
        padding: 16px;
    }

    .profile-tab-content .table tbody td {
        display: flex;
        justify-content: space-between;
        padding: 8px 0;
        border-bottom: 1px solid var(--nefin-light-gray, #f5f5f7);
    }

    .profile-tab-content .table tbody td:last-child {
        border-bottom: none;
        justify-content: flex-end;
        padding-top: 12px;
    }

    .profile-tab-content .table tbody td::before {
        content: attr(data-label);
        font-weight: 600;
        color: var(--nefin-dark-gray, #86868b);
        font-size: 12px;
        text-transform: uppercase;
    }
}

.loyalty-points-card {
    background: linear-gradient(135deg, var(--page-charcoal, #67645e) 0%, #4a4844 100%) !important;
    border-radius: 20px !important;
    padding: 32px !important;
    color: var(--nefin-white, #fff) !important;
    margin-bottom: 32px !important;
    position: relative;
    overflow: hidden;
}

.loyalty-points-card::before {
    content: "";
    position: absolute;
    top: -50%;
    right: -30%;
    width: 60%;
    height: 200%;
    background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%);
    pointer-events: none;
}

.loyalty-points-card h4, .loyalty-points-card h2, .loyalty-points-card p {
    color: var(--nefin-white, #fff) !important;
}

.loyalty-points-card h4 {
    font-size: 14px !important;
    opacity: 0.8 !important;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 500 !important;
}

.loyalty-points-card h2 {
    font-size: 48px !important;
    font-weight: 700 !important;
    font-family: var(--nefin-font-primary);
}

.loyalty-points-card h2 span {
    font-size: 18px !important;
    font-weight: 400 !important;
    opacity: 0.7;
}

.stat-card {
    background: var(--nefin-white, #fff) !important;
    border-radius: 16px !important;
    padding: 24px !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04) !important;
    border: 1px solid var(--nefin-light-gray, #f5f5f7) !important;
    text-align: center;
    transition: all 0.2s ease;
}

.stat-card:hover {
    border-color: var(--page-charcoal, #67645e) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
}

.stat-card > div:first-child {
    font-size: 32px !important;
    font-weight: 700 !important;
    font-family: var(--nefin-font-primary);
    color: var(--page-charcoal, #67645e) !important;
}

.stat-card > div:last-child {
    color: var(--nefin-dark-gray, #86868b) !important;
    font-size: 13px !important;
    margin-top: 4px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.profile-tab-content .card {
    border-radius: 16px !important;
    border: 1px solid var(--nefin-light-gray, #f5f5f7) !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04) !important;
    overflow: hidden;
}

.profile-tab-content .card-header {
    background: var(--nefin-light-gray, #f5f5f7) !important;
    border-bottom: none !important;
    padding: 20px 24px !important;
}

.profile-tab-content .card-header h5 {
    margin: 0 !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: var(--nefin-black, #1d1d1f) !important;
    font-family: var(--nefin-font-primary);
}

.profile-tab-content .card-header h5 i {
    margin-right: 10px;
    color: var(--page-charcoal, #67645e);
}

.profile-tab-content .card-body {
    padding: 24px !important;
}

.profile-tab-content .d-flex > div:first-child {
    width: 56px !important;
    height: 56px !important;
    min-width: 56px;
    background: var(--page-light-gray, #f1f0ed) !important;
    border-radius: 14px !important;
    margin-right: 16px !important;
}

.profile-tab-content .d-flex > div:first-child i {
    color: var(--page-charcoal, #67645e) !important;
    font-size: 22px !important;
}

.profile-tab-content .d-flex h6 {
    font-size: 15px !important;
    font-weight: 600 !important;
    color: var(--nefin-black, #1d1d1f) !important;
    margin-bottom: 4px !important;
}

.profile-tab-content .d-flex p {
    color: var(--nefin-dark-gray, #86868b) !important;
    font-size: 13px !important;
    margin: 0 !important;
}

.profile-tab-content .input-group {
    border-radius: 12px;
    overflow: hidden;
}

.profile-tab-content .input-group .form-control {
    border-radius: 12px 0 0 12px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    letter-spacing: 3px !important;
    color: var(--page-charcoal, #67645e) !important;
    background: var(--page-light-gray, #f1f0ed) !important;
    border: none !important;
    padding: 16px 20px !important;
}

.profile-tab-content .input-group-append .btn {
    border-radius: 0 12px 12px 0 !important;
    padding: 16px 24px !important;
}

.loyalty-points-card .level-badge {
    display: inline-flex;
    align-items: center;
    background: rgba(255,255,255,0.2);
    border-radius: 50px;
    padding: 12px 24px;
}

.profile-tab-content .text-center.p-5 {
    padding: 60px 40px !important;
}

.profile-tab-content .text-center.p-5 i {
    font-size: 56px !important;
    color: var(--nefin-medium-gray, #e8e8ed) !important;
}

.profile-tab-content .text-center.p-5 p {
    color: var(--nefin-dark-gray, #86868b) !important;
    font-size: 15px !important;
    margin: 20px 0 24px !important;
}

.profile-tab-content .alert {
    border-radius: 12px;
    border: none;
    padding: 16px 20px;
    font-size: 14px;
}

.profile-tab-content .alert-success {
    background: #d4edda;
    color: #155724;
}

.profile-tab-content .alert-danger {
    background: #f8d7da;
    color: #721c24;
}

.profile-tab-content .alert-warning {
    background: var(--page-light-gray, #f1f0ed);
    color: var(--page-charcoal, #67645e);
}

.profile-tab-content .text-success {
    color: #28a745 !important;
}

.profile-tab-content .text-danger {
    color: #dc3545 !important;
}

.profile-tab-content .text-muted {
    color: var(--nefin-dark-gray, #86868b) !important;
}

.btn-outline-gray {
    background: transparent;
    border: 1px solid var(--nefin-medium-gray, #e8e8ed);
    color: var(--nefin-black, #1d1d1f);
    padding: 10px 20px;
    border-radius: 30px;
    font-size: 14px;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.2s ease;
}

.btn-outline-gray:hover {
    background: var(--page-charcoal, #67645e);
    border-color: var(--page-charcoal, #67645e);
    color: var(--nefin-white, #fff);
}

.btn-outline-gray i {
    font-size: 16px;
}

.profile-tab-content .custom-control-input:checked ~ .custom-control-label::before {
    background-color: var(--page-charcoal, #67645e);
    border-color: var(--page-charcoal, #67645e);
}

.profile-tab-content .custom-control-label {
    padding-left: 8px;
    cursor: pointer;
}

.modal-custom {
    border-radius: 20px;
    overflow: hidden;
}

.modal-custom .modal-header {
    background: var(--nefin-light-gray, #f5f5f7);
    border-bottom: none;
    padding: 20px 24px;
}

.modal-custom .modal-title {
    font-size: 18px;
    font-weight: 600;
    color: var(--nefin-black, #1d1d1f);
    font-family: var(--nefin-font-primary);
}

.modal-custom .modal-body {
    padding: 24px;
}

.modal-custom .modal-footer {
    border-top: none;
    padding: 16px 24px 24px;
}

.modal-custom .close {
    opacity: 0.5;
    transition: opacity 0.2s ease;
}

.modal-custom .close:hover {
    opacity: 1;
}

.coupon-card {
    background: var(--nefin-white, #fff);
    border: 1px dashed var(--page-charcoal, #67645e);
    border-radius: 16px;
    padding: 24px;
    position: relative;
    overflow: hidden;
}

.coupon-card::before {
    content: "";
    position: absolute;
    left: -10px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    background: var(--page-light-gray, #f1f0ed);
    border-radius: 50%;
}

.coupon-card::after {
    content: "";
    position: absolute;
    right: -10px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    background: var(--page-light-gray, #f1f0ed);
    border-radius: 50%;
}

.coupon-code {
    font-size: 24px;
    font-weight: 700;
    color: var(--page-charcoal, #67645e);
    letter-spacing: 2px;
    font-family: var(--nefin-font-primary);
}

.coupon-discount {
    font-size: 32px;
    font-weight: 700;
    color: var(--nefin-black, #1d1d1f);
}

.review-item {
    background: var(--nefin-white, #fff);
    border: 1px solid var(--nefin-light-gray, #f5f5f7);
    border-radius: 16px;
    padding: 24px;
    margin-bottom: 16px;
}

.review-item:hover {
    border-color: var(--page-charcoal, #67645e);
}

.review-item .review-user {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.review-item .review-user img {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
}

.review-item .review-user-name {
    font-weight: 600;
    color: var(--nefin-black, #1d1d1f);
}

.review-item .review-date {
    font-size: 13px;
    color: var(--nefin-dark-gray, #86868b);
}

.review-item .review-text {
    color: var(--nefin-black, #1d1d1f);
    line-height: 1.6;
}

.download-item {
    background: var(--nefin-white, #fff);
    border: 1px solid var(--nefin-light-gray, #f5f5f7);
    border-radius: 16px;
    padding: 20px;
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 12px;
    transition: all 0.2s ease;
}

.download-item:hover {
    border-color: var(--page-charcoal, #67645e);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
}

.download-item img {
    width: 80px;
    height: 80px;
    border-radius: 12px;
    object-fit: cover;
}

.download-item .download-info {
    flex: 1;
}

.download-item .download-title {
    font-weight: 600;
    color: var(--nefin-black, #1d1d1f);
    margin-bottom: 4px;
}

.download-item .download-meta {
    font-size: 13px;
    color: var(--nefin-dark-gray, #86868b);
}

.order-details-card {
    background: var(--nefin-white, #fff);
    border-radius: 16px;
    border: 1px solid var(--nefin-light-gray, #f5f5f7);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
    overflow: hidden;
    margin-bottom: 24px;
}

.order-details-header {
    background: var(--nefin-light-gray, #f5f5f7);
    padding: 20px 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.order-details-header h5 {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: var(--nefin-black, #1d1d1f);
}

.order-status-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border-radius: 30px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.order-status-completed {
    background: #d4edda;
    color: #155724;
}

.order-status-processing {
    background: var(--page-light-gray, #f1f0ed);
    color: var(--page-charcoal, #67645e);
}

.order-status-cancelled {
    background: #f8d7da;
    color: #721c24;
}

.order-details-body {
    padding: 24px;
}

.order-product-item {
    display: flex;
    gap: 16px;
    padding: 16px 0;
    border-bottom: 1px solid var(--nefin-light-gray, #f5f5f7);
}

.order-product-item:last-child {
    border-bottom: none;
}

.order-product-item img {
    width: 80px;
    height: 80px;
    border-radius: 12px;
    object-fit: cover;
}

.order-product-info {
    flex: 1;
}

.order-product-title {
    font-weight: 600;
    color: var(--nefin-black, #1d1d1f);
    margin-bottom: 4px;
}

.order-product-variant {
    font-size: 13px;
    color: var(--nefin-dark-gray, #86868b);
}

.order-product-price {
    font-weight: 600;
    color: var(--nefin-black, #1d1d1f);
    text-align: right;
}

.order-summary-row {
    display: flex;
    justify-content: space-between;
    padding: 12px 0;
    font-size: 14px;
}

.order-summary-row.total {
    border-top: 2px solid var(--nefin-light-gray, #f5f5f7);
    margin-top: 12px;
    padding-top: 16px;
    font-size: 18px;
    font-weight: 700;
}

.address-info-card {
    background: var(--page-light-gray, #f1f0ed);
    border-radius: 12px;
    padding: 20px;
}

.address-info-card h6 {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--nefin-dark-gray, #86868b);
    margin-bottom: 12px;
}

.address-info-card p {
    margin: 0;
    color: var(--nefin-black, #1d1d1f);
    line-height: 1.6;
}

.order-details-container {
    background: var(--nefin-white, #fff);
    border-radius: 16px;
    padding: 32px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
    border: 1px solid var(--nefin-light-gray, #f5f5f7);
}

.order-details-container .order-head {
    border-bottom: 1px solid var(--nefin-light-gray, #f5f5f7);
    padding-bottom: 20px;
    margin-bottom: 24px;
}

.order-details-container .order-head .btn-custom {
    background: var(--page-charcoal, #67645e);
    border-radius: 30px;
    padding: 10px 20px;
    font-size: 13px;
    font-weight: 600;
}

.order-details-container .order-head .btn-custom:hover {
    background: var(--nefin-black, #1d1d1f);
}

.order-details-container .order-row-item {
    margin-bottom: 16px;
    padding: 12px 0;
    border-bottom: 1px solid var(--nefin-light-gray, #f5f5f7);
}

.order-details-container .order-row-item:last-child {
    border-bottom: none;
}

.order-details-container .order-row-item b, .order-details-container .order-row-item .font-600 {
    font-weight: 600;
    color: var(--nefin-dark-gray, #86868b);
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.order-details-container .order-row-item strong {
    color: var(--nefin-black, #1d1d1f);
    font-weight: 600;
}

.order-details-container .table-orders-container {
    margin-top: 32px;
}

.order-details-container .table-orders {
    border: none;
    border-radius: 12px;
    overflow: hidden;
}

.order-details-container .table-orders thead th {
    background: var(--nefin-light-gray, #f5f5f7);
    border: none;
    padding: 14px 16px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--nefin-dark-gray, #86868b);
}

.order-details-container .table-orders tbody td {
    padding: 16px;
    border: none;
    border-bottom: 1px solid var(--nefin-light-gray, #f5f5f7);
    vertical-align: middle;
}

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

.order-details-container .order-total {
    width: 100%;
    max-width: 400px;
    background: var(--page-light-gray, #f1f0ed);
    border-radius: 16px;
    float: right;
    padding: 24px;
    margin-top: 24px;
}

.order-details-container .order-total .row {
    margin-bottom: 12px;
}

.order-details-container .order-total .col-left {
    font-weight: 500;
    color: var(--nefin-dark-gray, #86868b);
}

.order-details-container .order-total .col-right {
    text-align: right;
    font-weight: 600;
    color: var(--nefin-black, #1d1d1f);
}

.order-details-container .order-total .row-seperator {
    border-top: 1px solid var(--nefin-medium-gray, #e8e8ed);
    margin: 16px 0;
    padding-top: 16px;
}

.order-details-container .order-total .row-seperator .col-left, .order-details-container .order-total .row-seperator .col-right {
    font-size: 18px;
    font-weight: 700;
    color: var(--nefin-black, #1d1d1f);
}

.order-details-container .shipping-container {
    margin-top: 32px;
    background: var(--page-light-gray, #f1f0ed);
    border-radius: 16px;
    padding: 24px;
}

.order-details-container .block-title {
    font-size: 16px;
    font-weight: 600;
    color: var(--nefin-black, #1d1d1f);
    margin-bottom: 16px;
    font-family: var(--nefin-font-primary);
}

.order-details-container .shipping-container .shipping-row-item {
    font-size: 14px;
    color: var(--nefin-black, #1d1d1f);
    margin-bottom: 6px;
    line-height: 1.6;
}

.order-details-container .img-order-product {
    width: 80px;
    height: 80px;
    border-radius: 12px;
    object-fit: cover;
}

.order-details-container .badge-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
}

.order-details-container .btn-gray {
    background: var(--nefin-light-gray, #f5f5f7);
    color: var(--nefin-black, #1d1d1f);
    border: none;
    border-radius: 30px;
    padding: 10px 20px;
    font-size: 13px;
    font-weight: 600;
    transition: all 0.2s ease;
}

.order-details-container .btn-gray:hover {
    background: var(--nefin-medium-gray, #e8e8ed);
}

.order-details-container .btn-info {
    background: var(--page-charcoal, #67645e);
    border: none;
    border-radius: 30px;
    padding: 10px 20px;
    font-size: 13px;
    font-weight: 600;
}

.order-details-container .btn-info:hover {
    background: var(--nefin-black, #1d1d1f);
}

@media (max-width: 767px) {
    .order-details-container {
        padding: 20px;
    }

    .order-details-container .order-total {
        max-width: 100%;
        float: none;
    }

    .order-details-container .shipping-container {
        padding: 20px;
    }

    .order-details-container .table-orders {
        font-size: 13px;
    }

    .order-details-container .img-order-product {
        width: 60px;
        height: 60px;
    }
}

.nefin-account-layout {
    display: flex;
    gap: 40px;
    margin: 0 auto;
    padding: 40px 24px;
}

.nefin-account-sidebar {
    width: 260px;
    flex-shrink: 0;
}

.nefin-account-content {
    flex: 1;
    min-width: 0;
}

.nefin-content-card {
    background: var(--nefin-white, #fff);
    border-radius: 16px;
    padding: 32px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
    border: 1px solid var(--nefin-light-gray, #f5f5f7);
}

.nefin-container {
    margin: 0 auto;
    padding: 0 24px;
}

.nefin-address-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 24px;
    margin-bottom: 24px;
}

.nefin-address-card {
    background: var(--page-light-gray, #f1f0ed);
    border-radius: 16px;
    padding: 24px;
    position: relative;
}

.nefin-address-card .nefin-address-title {
    display: block;
    font-size: 16px;
    font-weight: 600;
    color: var(--nefin-black, #1d1d1f);
    margin: 12px 0 8px;
}

.nefin-address-card p {
    font-size: 14px;
    color: var(--nefin-dark-gray, #86868b);
    margin: 0 0 4px;
    line-height: 1.5;
}

.nefin-address-actions {
    display: flex;
    gap: 8px;
    margin-top: 16px;
}

.nefin-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
}

.nefin-badge-info {
    background: rgba(103, 100, 94, 0.15);
    color: var(--page-charcoal, #67645e);
}

.nefin-badge-secondary {
    background: rgba(134, 134, 139, 0.15);
    color: var(--nefin-dark-gray, #86868b);
}

.nefin-btn-icon {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 8px;
    background: var(--nefin-white, #fff);
    color: var(--nefin-dark-gray, #86868b);
    cursor: pointer;
    transition: all 0.2s ease;
}

.nefin-btn-icon:hover {
    background: var(--nefin-medium-gray, #e8e8ed);
    color: var(--nefin-black, #1d1d1f);
}

.nefin-btn-icon-danger:hover {
    background: #fef2f2;
    color: #dc2626;
}

.nefin-btn-icon-text {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.nefin-btn-icon-text svg {
    flex-shrink: 0;
}

.nefin-text-muted {
    color: var(--nefin-dark-gray, #86868b);
    font-size: 14px;
}

.nefin-form-hint {
    font-size: 12px;
    color: var(--nefin-dark-gray, #86868b);
    margin-top: 8px;
}

.nefin-badge-success {
    display: inline-block;
    padding: 2px 8px;
    font-size: 11px;
    font-weight: 600;
    border-radius: 12px;
    background: #dcfce7;
    color: #059669;
    margin-left: 8px;
}

.nefin-badge-danger {
    display: inline-block;
    padding: 2px 8px;
    font-size: 11px;
    font-weight: 600;
    border-radius: 12px;
    background: #fef2f2;
    color: #dc2626;
    margin-left: 8px;
}

.nefin-link {
    color: var(--page-charcoal, #67645e);
    text-decoration: underline;
    font-size: 12px;
    margin-left: 8px;
}

.nefin-link:hover {
    color: var(--nefin-black, #1d1d1f);
}

.nefin-form-group {
    margin-bottom: 20px;
}

.nefin-form-row {
    display: flex;
    gap: 16px;
    margin-bottom: 20px;
}

.nefin-form-row .nefin-form-group {
    flex: 1;
    margin-bottom: 0;
}

.nefin-location-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.nefin-location-select {
    width: 100%;
}

@media (max-width: 767px) {
    .nefin-location-grid {
        grid-template-columns: 1fr;
    }
}

.nefin-label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--nefin-black, #1d1d1f);
    margin-bottom: 8px;
    font-family: var(--nefin-font-primary);
}

.nefin-input, .nefin-select, .nefin-textarea {
    width: 100%;
    padding: 14px 16px;
    font-size: 14px;
    font-family: var(--nefin-font-primary);
    color: var(--nefin-black, #1d1d1f);
    background: var(--page-light-gray, #f1f0ed);
    border: 2px solid transparent;
    border-radius: 12px;
    outline: none;
    transition: all 0.2s ease;
}

.nefin-input:focus, .nefin-select:focus, .nefin-textarea:focus {
    background: var(--nefin-white, #fff);
    border-color: var(--page-charcoal, #67645e);
}

.nefin-input::placeholder {
    color: var(--nefin-dark-gray, #86868b);
}

.nefin-select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2386868b' d='M6 8.825L1.175 4l.825-.825L6 7.175l4-4 .825.825z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    padding-right: 40px;
    cursor: pointer;
}

.nefin-textarea {
    min-height: 120px;
    resize: vertical;
}

.nefin-file-upload {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.nefin-file-upload input[type="file"] {
    display: none;
}

.nefin-file-upload .nefin-btn {
    cursor: pointer;
    width: auto;
}

.nefin-file-name {
    font-size: 13px;
    color: var(--page-charcoal, #67645e);
    word-break: break-all;
}

.nefin-modal .nefin-form-group {
    margin-bottom: 20px;
}

.nefin-modal .nefin-form-group:last-child {
    margin-bottom: 0;
}

.nefin-modal .nefin-label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--nefin-black, #1d1d1f);
    margin-bottom: 10px;
}

.nefin-modal .nefin-label small {
    font-weight: 400;
    color: var(--nefin-dark-gray, #86868b);
}

.nefin-modal .nefin-textarea, .nefin-modal .nefin-input {
    display: block;
    width: 100%;
    padding: 14px 16px;
    font-size: 14px;
    color: var(--nefin-black, #1d1d1f);
    background: var(--page-light-gray, #f1f0ed);
    border: 2px solid transparent;
    border-radius: 12px;
    transition: all 0.2s ease;
    box-sizing: border-box;
}

.nefin-modal .nefin-textarea:focus, .nefin-modal .nefin-input:focus {
    background: #fff;
    border-color: var(--page-charcoal, #67645e);
    outline: none;
}

.nefin-modal .nefin-textarea {
    min-height: 100px;
    resize: vertical;
}

.nefin-bank-accounts {
    background: var(--page-light-gray, #f1f0ed);
    border-radius: 12px;
    padding: 16px;
    font-size: 14px;
    line-height: 1.7;
}

.nefin-bank-accounts p {
    margin: 0 0 8px;
}

.nefin-bank-accounts p:last-child {
    margin-bottom: 0;
}

.nefin-rate-product-form {
    margin-bottom: 20px;
}

.nefin-rate-product-form .rate-product {
    margin-top: 8px;
}

.nefin-rate-product-form .rating-stars {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    gap: 4px;
}

.nefin-rate-product-form .rating-stars .label-star {
    cursor: pointer;
    font-size: 24px;
    color: #ddd;
    transition: color 0.2s ease;
}

.nefin-rate-product-form .rating-stars .label-star:hover, .nefin-rate-product-form .rating-stars .label-star:hover ~ .label-star {
    color: #ffc107;
}

.nefin-rate-product-form .rating-stars .label-star.active, .nefin-rate-product-form .rating-stars .label-star.active ~ .label-star {
    color: #ffc107;
}

.nefin-checkbox, .nefin-radio {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    font-size: 14px;
    color: var(--nefin-black, #1d1d1f);
    margin-bottom: 12px;
}

.nefin-checkbox input, .nefin-radio input {
    width: 18px;
    height: 18px;
    margin: 0;
    flex-shrink: 0;
    accent-color: var(--page-charcoal, #67645e);
}

.nefin-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 28px;
    font-size: 14px;
    font-weight: 600;
    font-family: var(--nefin-font-primary);
    border: none;
    border-radius: 30px;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
}

.nefin-btn-primary {
    background: var(--page-charcoal, #67645e);
    color: var(--nefin-white, #fff);
}

.nefin-btn-primary:hover {
    background: var(--nefin-black, #1d1d1f);
    color: var(--nefin-white, #fff);
}

.nefin-btn-outline {
    background: transparent;
    border: 2px solid var(--page-charcoal, #67645e);
    color: var(--page-charcoal, #67645e);
}

.nefin-btn-outline:hover {
    background: var(--page-charcoal, #67645e);
    color: var(--nefin-white, #fff);
}

.nefin-modal {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 99999 !important;
    overflow-y: auto !important;
    padding: 24px !important;
    box-sizing: border-box !important;
    pointer-events: none !important;
}

.nefin-modal.show, #modalAddAddress.nefin-modal.show, [id^="modalAddress"].nefin-modal.show {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    align-items: center !important;
    justify-content: center !important;
    pointer-events: auto !important;
}

.nefin-modal-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(4px);
    z-index: -1;
}

.nefin-modal-dialog {
    position: relative;
    width: 100%;
    max-width: 560px;
    margin: 0 auto;
    z-index: 1;
}

.nefin-modal-content {
    background: var(--nefin-white, #fff);
    border-radius: 20px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    overflow: hidden;
}

.nefin-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px;
    border-bottom: 1px solid var(--nefin-light-gray, #f5f5f7);
}

.nefin-modal-title {
    font-size: 18px;
    font-weight: 600;
    color: var(--nefin-black, #1d1d1f);
    margin: 0;
    font-family: var(--nefin-font-primary);
}

.nefin-modal-close {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--nefin-light-gray, #f5f5f7);
    border: none;
    border-radius: 8px;
    font-size: 24px;
    color: var(--nefin-dark-gray, #86868b);
    cursor: pointer;
    transition: all 0.2s ease;
    line-height: 1;
}

.nefin-modal-close:hover {
    background: var(--nefin-medium-gray, #e8e8ed);
    color: var(--nefin-black, #1d1d1f);
}

.nefin-modal-body {
    padding: 24px;
    max-height: 60vh;
    overflow-y: auto;
}

.nefin-modal-footer {
    padding: 16px 24px;
    border-top: 1px solid var(--nefin-light-gray, #f5f5f7);
    display: flex;
    justify-content: flex-end;
    gap: 12px;
}

.nefin-orders-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.nefin-order-item {
    background: var(--page-light-gray, #f1f0ed);
    border-radius: 16px;
    overflow: hidden;
    transition: all 0.2s ease;
}

.nefin-order-item:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.nefin-order-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
    background: rgba(255, 255, 255, 0.5);
    border-bottom: 1px solid rgba(103, 100, 94, 0.1);
}

.nefin-order-number .label {
    font-size: 12px;
    color: var(--nefin-dark-gray, #86868b);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.nefin-order-number .value {
    font-size: 15px;
    font-weight: 600;
    color: var(--nefin-black, #1d1d1f);
    margin-left: 8px;
}

.nefin-order-date {
    font-size: 13px;
    color: var(--nefin-dark-gray, #86868b);
}

.nefin-order-body {
    padding: 20px;
}

.nefin-order-info {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
}

.nefin-order-detail {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 120px;
}

.nefin-order-detail .label {
    font-size: 12px;
    color: var(--nefin-dark-gray, #86868b);
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.nefin-order-detail .value {
    font-size: 14px;
    font-weight: 500;
    color: var(--nefin-black, #1d1d1f);
}

.nefin-order-price {
    font-size: 16px !important;
    font-weight: 600 !important;
}

.nefin-order-status {
    display: inline-block;
    padding: 4px 10px;
    font-size: 12px;
    font-weight: 600;
    border-radius: 20px;
}

.nefin-order-status.completed {
    background: #dcfce7;
    color: #059669;
}

.nefin-order-status.processing {
    background: #fef3c7;
    color: #d97706;
}

.nefin-order-status.pending {
    background: #e0e7ff;
    color: #4f46e5;
}

.nefin-order-status.cancelled {
    background: #fef2f2;
    color: #dc2626;
}

.nefin-order-footer {
    padding: 12px 20px;
    border-top: 1px solid rgba(103, 100, 94, 0.1);
    display: flex;
    justify-content: flex-end;
}

.nefin-btn-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 500;
    color: var(--page-charcoal, #67645e);
    text-decoration: none;
    transition: all 0.2s ease;
}

.nefin-btn-link:hover {
    color: var(--nefin-black, #1d1d1f);
}

.nefin-btn-link svg {
    transition: transform 0.2s ease;
}

.nefin-btn-link:hover svg {
    transform: translateX(3px);
}

.nefin-empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
    text-align: center;
}

.nefin-empty-state svg {
    color: var(--nefin-medium-gray, #e8e8ed);
    margin-bottom: 16px;
}

.nefin-empty-state p {
    font-size: 15px;
    color: var(--nefin-dark-gray, #86868b);
    margin: 0;
}

.nefin-pagination {
    margin-top: 24px;
    display: flex;
    justify-content: center;
}

.nefin-card-header {
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(103, 100, 94, 0.1);
}

.nefin-card-title {
    font-size: 20px;
    font-weight: 600;
    color: var(--nefin-black, #1d1d1f);
    margin: 0;
}

.nefin-order-detail-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 32px;
    padding-bottom: 24px;
    border-bottom: 1px solid rgba(103, 100, 94, 0.1);
    flex-wrap: wrap;
}

.nefin-order-detail-title h2 {
    font-size: 24px;
    font-weight: 600;
    color: var(--nefin-black, #1d1d1f);
    margin: 0 0 4px 0;
}

.nefin-order-detail-date {
    font-size: 14px;
    color: var(--nefin-dark-gray, #86868b);
}

.nefin-order-detail-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.nefin-order-status-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 20px;
    padding: 24px;
    background: var(--page-light-gray, #f1f0ed);
    border-radius: 16px;
    margin-bottom: 32px;
}

.nefin-status-item {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.nefin-status-item .label {
    font-size: 12px;
    color: var(--nefin-dark-gray, #86868b);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.nefin-status-item .value {
    font-size: 14px;
    font-weight: 500;
    color: var(--nefin-black, #1d1d1f);
}

.nefin-status-actions {
    flex-direction: row !important;
    align-items: center;
    gap: 8px !important;
}

.nefin-address-section {
    margin-bottom: 32px;
}

.nefin-address-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 24px;
}

.nefin-address-block {
    background: var(--page-light-gray, #f1f0ed);
    border-radius: 16px;
    padding: 24px;
}

.nefin-section-title {
    font-size: 16px;
    font-weight: 600;
    color: var(--nefin-black, #1d1d1f);
    margin: 0 0 16px 0;
}

.nefin-address-content {
    display: flex;
    flex-direction: column;
}

.nefin-address-content p {
    margin: 0 0 4px 0;
    font-size: 14px;
    color: var(--nefin-dark-gray, #86868b);
    line-height: 1.6;
    display: block;
    width: 100%;
}

.nefin-address-name {
    font-weight: 600;
    color: var(--nefin-black, #1d1d1f) !important;
    margin-bottom: 8px !important;
}

.nefin-address-phone, .nefin-address-email {
    margin-top: 8px !important;
}

.nefin-products-section {
    margin-bottom: 32px;
}

.nefin-products-section .nefin-section-title {
    margin-bottom: 20px;
}

.nefin-order-products-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.nefin-order-product-item {
    display: grid;
    grid-template-columns: 80px 1fr auto auto;
    gap: 16px;
    align-items: start;
    padding: 20px;
    background: var(--page-light-gray, #f1f0ed);
    border-radius: 16px;
}

.nefin-product-image {
    width: 80px;
    height: 80px;
    border-radius: 12px;
    overflow: hidden;
    flex-shrink: 0;
}

.nefin-product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.nefin-product-info {
    min-width: 0;
}

.nefin-product-title {
    font-size: 15px;
    font-weight: 600;
    color: var(--nefin-black, #1d1d1f);
    text-decoration: none;
    display: block;
    margin-bottom: 8px;
}

.nefin-product-title:hover {
    color: var(--page-charcoal, #67645e);
}

.nefin-product-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    font-size: 13px;
    color: var(--nefin-dark-gray, #86868b);
    margin-bottom: 8px;
}

.nefin-product-meta strong {
    color: var(--nefin-black, #1d1d1f);
}

.nefin-product-total {
    font-size: 14px;
    color: var(--nefin-dark-gray, #86868b);
}

.nefin-product-total strong {
    font-size: 16px;
    color: var(--nefin-black, #1d1d1f);
}

.nefin-product-status {
    text-align: center;
}

.nefin-shipping-info {
    font-size: 32px;
    color: var(--nefin-dark-gray, #86868b);
}

.nefin-product-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-end;
}

.nefin-download-form {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.nefin-rate-product {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
}

.nefin-rate-label {
    font-size: 12px;
    color: var(--nefin-dark-gray, #86868b);
}

.nefin-order-summary {
    background: var(--page-light-gray, #f1f0ed);
    border-radius: 16px;
    padding: 24px;
    margin-bottom: 24px;
}

.nefin-order-summary .nefin-section-title {
    margin-bottom: 20px;
}

.nefin-summary-rows {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.nefin-summary-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 14px;
    color: var(--nefin-dark-gray, #86868b);
}

.nefin-summary-row strong {
    color: var(--nefin-black, #1d1d1f);
}

.nefin-summary-row.nefin-discount strong {
    color: #059669;
}

.nefin-summary-row.nefin-total {
    padding-top: 16px;
    margin-top: 8px;
    border-top: 1px solid rgba(103, 100, 94, 0.2);
    font-size: 16px;
    font-weight: 600;
    color: var(--nefin-black, #1d1d1f);
}

.nefin-summary-row.nefin-total strong {
    font-size: 20px;
}

.nefin-summary-row.nefin-total small {
    display: block;
    font-size: 12px;
    font-weight: 400;
    color: var(--nefin-dark-gray, #86868b);
    margin-top: 4px;
}

.nefin-order-note {
    font-size: 13px;
    color: var(--nefin-dark-gray, #86868b);
    margin: 0;
    padding: 12px 16px;
    background: rgba(103, 100, 94, 0.05);
    border-radius: 8px;
}

.nefin-order-note.nefin-danger {
    background: #fef2f2;
    color: #dc2626;
}

.nefin-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    font-size: 14px;
    font-weight: 500;
    font-family: var(--nefin-font-primary);
    text-decoration: none;
    border-radius: 10px;
    border: none;
    cursor: pointer;
    transition: all 0.2s ease;
}

.nefin-btn-sm {
    padding: 8px 14px;
    font-size: 13px;
}

.nefin-btn-primary {
    background: var(--page-charcoal, #67645e);
    color: #fff;
}

.nefin-btn-primary:hover {
    background: var(--nefin-black, #1d1d1f);
    color: #fff;
}

.nefin-btn-secondary {
    background: var(--page-light-gray, #f1f0ed);
    color: var(--nefin-black, #1d1d1f);
}

.nefin-btn-secondary:hover {
    background: var(--nefin-medium-gray, #e8e8ed);
}

.nefin-btn-outline {
    background: transparent;
    border: 1px solid var(--page-charcoal, #67645e);
    color: var(--page-charcoal, #67645e);
}

.nefin-btn-outline:hover {
    background: var(--page-charcoal, #67645e);
    color: #fff;
}

.nefin-btn-danger {
    background: #fef2f2;
    color: #dc2626;
}

.nefin-btn-danger:hover {
    background: #dc2626;
    color: #fff;
}

@media (max-width: 991px) {
    .nefin-account-layout {
        flex-direction: column;
        gap: 24px;
        padding: 24px 16px;
    }

    .nefin-account-sidebar {
        width: 100%;
    }

    .nefin-content-card {
        padding: 24px;
    }

    .nefin-form-row {
        flex-direction: column;
        gap: 0;
    }

    .nefin-form-row .nefin-form-group {
        margin-bottom: 20px;
    }

    .nefin-address-grid {
        grid-template-columns: 1fr;
    }

    .nefin-order-header {
        flex-wrap: wrap;
        gap: 12px;
    }

    .nefin-order-status-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .nefin-order-detail-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }

    .nefin-order-detail-actions {
        width: 100%;
        justify-content: flex-start;
    }

    .nefin-order-product-item {
        grid-template-columns: 80px 1fr auto;
        gap: 16px;
    }

    .nefin-product-actions {
        grid-column: 1 / -1;
        justify-content: flex-start;
        padding-top: 12px;
        border-top: 1px solid var(--nefin-border-color, #e5e5e5);
    }
}

@media (max-width: 767px) {
    .nefin-account-layout {
        padding: 16px;
    }

    .nefin-content-card {
        padding: 20px;
        border-radius: 12px;
    }

    .nefin-address-card {
        padding: 20px;
    }

    .nefin-modal-dialog {
        margin: 16px;
    }

    .nefin-modal-body {
        max-height: 50vh;
    }

    .nefin-btn {
        padding: 12px 24px;
        width: 100%;
    }

    .nefin-order-item {
        padding: 16px;
    }

    .nefin-order-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .nefin-order-header > span {
        font-size: 13px;
    }

    .nefin-order-footer {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .nefin-order-total {
        font-size: 16px;
    }

    .nefin-order-status-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .nefin-address-section .nefin-address-grid {
        grid-template-columns: 1fr;
    }

    .nefin-order-product-item {
        grid-template-columns: 70px 1fr;
        gap: 12px;
    }

    .nefin-product-image {
        width: 70px;
        height: 70px;
    }

    .nefin-product-info h4 {
        font-size: 14px;
    }

    .nefin-product-price {
        grid-column: 1 / -1;
        text-align: left;
        padding-top: 8px;
    }

    .nefin-product-actions {
        grid-column: 1 / -1;
    }

    .nefin-order-summary {
        padding: 16px;
    }

    .nefin-summary-total {
        font-size: 18px;
    }

    .nefin-order-detail-actions .nefin-btn {
        width: auto;
        flex: 1;
    }
}

.nefin-loyalty-card {
    background: linear-gradient(135deg, var(--page-charcoal, #67645e) 0%, #4a4742 100%);
    border-radius: 20px;
    padding: 32px;
    margin-bottom: 24px;
    color: var(--nefin-white, #fff);
}

.nefin-loyalty-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 24px;
}

.nefin-loyalty-points h4 {
    font-size: 14px;
    font-weight: 500;
    opacity: 0.9;
    margin: 0 0 8px;
}

.nefin-loyalty-points h2 {
    font-size: 40px;
    font-weight: 700;
    margin: 0;
    line-height: 1.2;
}

.nefin-loyalty-points h2 span {
    font-size: 18px;
    font-weight: 400;
    opacity: 0.8;
}

.nefin-points-value {
    margin-top: 12px;
    opacity: 0.8;
    font-size: 14px;
}

.nefin-loyalty-level {
    text-align: right;
}

.nefin-level-badge {
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: flex-end;
}

.nefin-level-icon {
    font-size: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.nefin-level-icon svg {
    width: 28px;
    height: 28px;
    color: #d4a574;
}

.nefin-level-name {
    font-size: 18px;
    font-weight: 600;
}

.nefin-multiplier {
    margin-top: 12px;
    opacity: 0.9;
    font-size: 14px;
}

.nefin-stats-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-bottom: 24px;
}

.nefin-stat-card {
    background: var(--page-light-gray, #f1f0ed);
    border-radius: 16px;
    padding: 24px;
    text-align: center;
}

.nefin-stat-value {
    font-size: 28px;
    font-weight: 700;
    color: var(--nefin-black, #1d1d1f);
    margin-bottom: 4px;
}

.nefin-stat-label {
    font-size: 13px;
    color: var(--nefin-dark-gray, #86868b);
}

.nefin-info-card {
    background: var(--page-light-gray, #f1f0ed);
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 24px;
}

.nefin-info-header {
    padding: 20px 24px;
    background: rgba(0, 0, 0, 0.03);
}

.nefin-info-header h5 {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: var(--nefin-black, #1d1d1f);
}

.nefin-info-header h5 i {
    margin-right: 10px;
    color: var(--page-charcoal, #67645e);
}

.nefin-info-body {
    padding: 24px;
    background: var(--nefin-white, #fff);
}

.nefin-earn-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.nefin-earn-item {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.nefin-earn-icon {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--page-light-gray, #f1f0ed);
    border-radius: 12px;
    flex-shrink: 0;
}

.nefin-earn-icon i {
    font-size: 18px;
    color: var(--page-charcoal, #67645e);
}

.nefin-earn-content h6 {
    font-size: 14px;
    font-weight: 600;
    color: var(--nefin-black, #1d1d1f);
    margin: 0 0 4px;
}

.nefin-earn-content p {
    font-size: 13px;
    color: var(--nefin-dark-gray, #86868b);
    margin: 0;
}

.nefin-referral-group {
    display: flex;
    gap: 12px;
}

.nefin-referral-group .nefin-input {
    flex: 1;
}

.nefin-referral-group .nefin-btn {
    flex-shrink: 0;
}

.nefin-table-responsive {
    overflow-x: auto;
}

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

.nefin-table thead th {
    padding: 14px 20px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--nefin-dark-gray, #86868b);
    background: var(--page-light-gray, #f1f0ed);
    border-bottom: 1px solid var(--nefin-medium-gray, #e8e8ed);
}

.nefin-table tbody td {
    padding: 16px 20px;
    font-size: 14px;
    color: var(--nefin-black, #1d1d1f);
    border-bottom: 1px solid var(--nefin-light-gray, #f5f5f7);
}

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

.nefin-points-positive {
    color: #059669;
    font-weight: 600;
}

.nefin-points-negative {
    color: #dc2626;
    font-weight: 600;
}

.nefin-empty-state {
    text-align: center;
    padding: 48px 24px;
}

.nefin-empty-state i {
    font-size: 48px;
    color: var(--nefin-medium-gray, #e8e8ed);
    margin-bottom: 16px;
}

.nefin-empty-state p {
    color: var(--nefin-dark-gray, #86868b);
    margin-bottom: 20px;
}

@media (max-width: 991px) {
    .nefin-loyalty-row {
        flex-direction: column;
        gap: 20px;
    }

    .nefin-loyalty-level {
        text-align: left;
    }

    .nefin-level-badge {
        justify-content: flex-start;
    }

    .nefin-earn-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .nefin-stats-grid {
        grid-template-columns: 1fr;
    }

    .nefin-stat-card {
        padding: 20px;
    }

    .nefin-loyalty-card {
        padding: 24px;
    }

    .nefin-loyalty-points h2 {
        font-size: 32px;
    }

    .nefin-referral-group {
        flex-direction: column;
    }

    .nefin-referral-group .nefin-btn {
        width: 100%;
    }
}

.nefin-product-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.nefin-product-grid .product-item {
    margin-bottom: 0;
}

.nefin-profile-layout {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

.nefin-profile-header {
    padding: 24px 0;
}

.nefin-profile-content {
    padding-bottom: 60px;
}

.nefin-empty-state {
    text-align: center;
    padding: 60px 24px;
    color: var(--nefin-dark-gray, #86868b);
}

.nefin-empty-state i {
    font-size: 48px;
    margin-bottom: 16px;
    color: var(--nefin-medium-gray, #e8e8ed);
}

.nefin-empty-state p {
    font-size: 16px;
    margin: 0;
}

.nefin-pagination {
    display: flex;
    justify-content: center;
    padding: 32px 0;
}

@media (max-width: 991px) {
    .nefin-product-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 16px;
    }

    .nefin-profile-layout {
        padding: 0 16px;
    }
}

@media (max-width: 767px) {
    .nefin-product-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .nefin-empty-state {
        padding: 40px 16px;
    }

    .nefin-empty-state i {
        font-size: 36px;
    }
}

@media (max-width: 480px) {
    .nefin-product-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
}

.nefin-follower-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 24px;
}

.nefin-follower-item {
    text-align: center;
}

.nefin-follower-item a {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
}

.nefin-follower-item img {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    margin-bottom: 12px;
    transition: transform 0.2s ease;
}

.nefin-follower-item:hover img {
    transform: scale(1.05);
}

.nefin-follower-item .username {
    font-size: 14px;
    font-weight: 500;
    color: var(--nefin-black, #1d1d1f);
    transition: color 0.2s ease;
}

.nefin-follower-item:hover .username {
    color: var(--page-charcoal, #67645e);
}

@media (max-width: 991px) {
    .nefin-follower-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 20px;
    }
}

@media (max-width: 767px) {
    .nefin-follower-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 16px;
    }

    .nefin-follower-item img {
        width: 64px;
        height: 64px;
        margin-bottom: 8px;
    }

    .nefin-follower-item .username {
        font-size: 13px;
    }
}

@media (max-width: 480px) {
    .nefin-follower-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }
}

.nefin-reviews-header {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--nefin-medium-gray, #e8e8ed);
}

.nefin-reviews-header .label-review {
    font-size: 18px;
    font-weight: 600;
    color: var(--nefin-black, #1d1d1f);
    margin: 0;
}

.nefin-review-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.nefin-review-item {
    display: flex;
    gap: 16px;
    padding: 24px 0;
    border-bottom: 1px solid var(--nefin-light-gray, #f5f5f7);
}

.nefin-review-item:last-child {
    border-bottom: none;
}

.nefin-review-avatar {
    flex-shrink: 0;
}

.nefin-review-avatar img {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
}

.nefin-review-content {
    flex: 1;
    min-width: 0;
}

.nefin-review-product {
    margin-bottom: 8px;
}

.nefin-review-product a {
    font-size: 14px;
    color: var(--page-charcoal, #67645e);
    text-decoration: none;
}

.nefin-review-product a:hover {
    text-decoration: underline;
}

.nefin-review-stars {
    margin-bottom: 8px;
}

.nefin-review-username {
    font-size: 15px;
    font-weight: 600;
    color: var(--nefin-black, #1d1d1f);
    margin: 0 0 8px;
}

.nefin-review-username a {
    color: inherit;
    text-decoration: none;
}

.nefin-review-username a:hover {
    color: var(--page-charcoal, #67645e);
}

.nefin-review-text {
    font-size: 14px;
    color: var(--nefin-dark-gray, #86868b);
    line-height: 1.6;
    margin-bottom: 8px;
}

.nefin-review-date {
    font-size: 13px;
    color: var(--nefin-medium-gray, #e8e8ed);
}

.nefin-review-report {
    flex-shrink: 0;
    align-self: flex-start;
}

.nefin-review-report a {
    font-size: 13px;
    color: var(--nefin-dark-gray, #86868b);
    text-decoration: none;
}

.nefin-review-report a:hover {
    color: var(--nefin-black, #1d1d1f);
}

@media (max-width: 767px) {
    .nefin-review-item {
        flex-direction: column;
        padding: 20px 0;
    }

    .nefin-review-avatar img {
        width: 40px;
        height: 40px;
    }

    .nefin-review-report {
        align-self: flex-end;
        margin-top: 8px;
    }
}

.nefin-coupon-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    padding: 32px 0;
}

@media (max-width: 991px) {
    .nefin-coupon-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}

@media (max-width: 767px) {
    .nefin-coupon-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}

@media screen and (max-width: 768px) {
    .nav-mobile-header-container .d-flex {
        display: flex;
        justify-content: space-around;
    }

    .featured-swiper .swiper-slide {
        width: 100vw!important;
    }
}

:root {
    --checkout-primary: #1d1d1f;
    --checkout-secondary: #67645e;
    --checkout-accent: #d4a574;
    --checkout-success: #34c759;
    --checkout-success-rgb: 52, 199, 89;
    --checkout-error: #ff3b30;
    --checkout-warning: #ff9500;
    --checkout-bg: #faf9f7;
    --checkout-bg-alt: #f5f4f2;
    --checkout-card: #ffffff;
    --checkout-border: #e5e5e7;
    --checkout-border-focus: #67645e;
    --checkout-text: #1d1d1f;
    --checkout-text-secondary: #86868b;
    --checkout-text-muted: #aeaeb2;
    --checkout-radius-sm: 8px;
    --checkout-radius-md: 12px;
    --checkout-radius-lg: 16px;
    --checkout-radius-xl: 20px;
    --checkout-shadow-sm: 0 1px 3px rgba(0,0,0,0.08);
    --checkout-shadow-md: 0 4px 12px rgba(0,0,0,0.1);
    --checkout-shadow-lg: 0 8px 30px rgba(0,0,0,0.12);
    --checkout-shadow-hover: 0 12px 40px rgba(0,0,0,0.15);
    --checkout-transition: 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    --checkout-font: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.checkout-2026 *, .checkout-2026 *::before, .checkout-2026 *::after {
    box-sizing: border-box;
}

.checkout-section-header, .checkout-section-header p {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-content: center;
    align-items: center;
    gap: 18px;
}

.checkout-2026 {

    font-family: var(--checkout-font);
    background: var(--checkout-bg);
    min-height: 100vh;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;

    --nf-primary: #67645e;
    --nf-accent: #d4a574;
    --nf-black: #1d1d1f;
    --nf-white: #ffffff;
    --nf-bg: #faf9f7;
    --nf-bg-alt: #f5f4f2;
    --nf-border: #e0ddd8;
    --nf-border-dark: #c5c2bc;
    --nf-text: #67645e;
    --nf-text-light: #8a8680;
    --nf-success: #5a8a5a;
    --nf-error: #c45050;
    --nf-font: "Montserrat", -apple-system, BlinkMacSystemFont, sans-serif;
    --nf-radius: 8px;
    --nf-radius-lg: 12px;
    --nf-shadow: 0 2px 12px rgba(103, 100, 94, 0.1);
    --nf-shadow-lg: 0 8px 30px rgba(103, 100, 94, 0.15);
    --nf-transition: 0.25s ease;
}

.checkout-header-2026 {
    background: var(--checkout-card);
    border-bottom: 1px solid var(--checkout-border);
    position: sticky;
    top: 0;

    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    background: rgba(255, 255, 255, 0.9);
}

.checkout-header-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 16px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.checkout-logo a {
    display: flex;
    align-items: center;
    text-decoration: none;
}

.checkout-logo img {
    max-height: 36px;
    width: auto;
}

.checkout-logo-text {
    font-size: 20px;
    font-weight: 700;
    color: var(--checkout-primary);
    letter-spacing: -0.02em;
}

.checkout-secure-badge {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--checkout-text-secondary);
    background: var(--checkout-bg);
    padding: 6px 12px;
    border-radius: 20px;
}

.checkout-secure-badge i {
    color: var(--checkout-success);
}

.checkout-stepper {
    background: var(--checkout-card);
    border-bottom: 1px solid var(--checkout-border);
    padding: 0;
}

.checkout-stepper-inner {
    max-width: 700px;
    margin: 0 auto;
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.checkout-step {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 16px;
    text-decoration: none;
    border-radius: var(--checkout-radius-md);
    transition: var(--checkout-transition);
    position: relative;
}

.checkout-step:not(.step-disabled):hover {
    background: var(--checkout-bg);
}

.checkout-step-number {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 600;
    background: var(--checkout-bg-alt);
    color: var(--checkout-text-secondary);
    transition: var(--checkout-transition);
    flex-shrink: 0;
}

.checkout-step.step-completed .checkout-step-number {
    background: var(--checkout-success);
    color: white;
}

.checkout-step.step-active .checkout-step-number {
    background: var(--checkout-primary);
    color: white;
    box-shadow: 0 0 0 4px rgba(29, 29, 31, 0.15);
}

.checkout-step-label {
    font-size: 13px;
    font-weight: 500;
    color: var(--checkout-text-secondary);
    white-space: nowrap;
}

.checkout-step.step-completed .checkout-step-label, .checkout-step.step-active .checkout-step-label {
    color: var(--checkout-text);
    font-weight: 600;
}

.step-disabled {
    cursor: default;
    opacity: 0.6;
}

.checkout-step-connector {
    width: 40px;
    height: 2px;
    background: var(--checkout-border);
    margin: 0 4px;
    border-radius: 1px;
    position: relative;
    overflow: hidden;
}

.checkout-step-connector.completed::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--checkout-success);
    animation: connectorFill 0.4s ease forwards;
}

@keyframes connectorFill {
    from {
        width: 0;
    }

    to {
        width: 100%;
    }
}

@media (max-width: 768px) {
    .checkout-stepper-inner {
        padding: 16px;
        justify-content: space-between;
    }

    .checkout-step {
        padding: 6px 10px;
        flex-direction: column;
        gap: 4px;
    }

    .checkout-step-number {
        width: 28px;
        height: 28px;
        font-size: 12px;
    }

    .checkout-step-label {
        font-size: 10px;
        text-align: center;
    }

    .checkout-step-connector {
        width: 20px;
        flex: 1;
        max-width: 50px;
    }
}

.checkout-main {
    max-width: 1200px;
    margin: 0 auto;
    padding: 30px 20px 60px;
    display: grid;
    grid-template-columns: 1fr 400px;
    gap: 40px;
    align-items: start;
}

.checkout-content {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.checkout-sidebar {
    position: sticky;
    top: 100px;
}

@media (max-width: 1024px) {
    .checkout-main {
        grid-template-columns: 1fr;
        gap: 30px;
        padding: 20px 16px 40px;
    }

    .checkout-sidebar {
        position: relative;
        top: 0;
        order: -1;
    }
}

.checkout-card {
    background: var(--checkout-card);
    border-radius: var(--checkout-radius-lg);
    box-shadow: var(--checkout-shadow-sm);
    overflow: hidden;
}

.checkout-card > form {
    padding: 24px;
}

.checkout-card-header {
    padding: 20px 24px;
    border-bottom: 1px solid var(--checkout-border);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.checkout-card-title {
    font-size: 17px;
    font-weight: 600;
    color: var(--checkout-text);
    display: flex;
    align-items: center;
    gap: 10px;
}

.checkout-card-title i {
    color: var(--checkout-accent);
}

.checkout-card-body {
    padding: 24px;
}

.checkout-card-footer {
    padding: 16px 24px;
    background: var(--checkout-bg);
    border-top: 1px solid var(--checkout-border);
}

.cart-items-list {
    display: flex;
    flex-direction: column;
}

.cart-item-2026 {
    display: grid;
    grid-template-columns: 100px 1fr auto auto;
    gap: 16px;
    padding: 20px 24px;
    border-bottom: 1px solid var(--checkout-border);
    align-items: center;
    transition: var(--checkout-transition);
}

.cart-item-2026:last-child {
    border-bottom: none;
}

.cart-item-2026:hover {
    background: var(--checkout-bg);
}

.cart-item-image {
    position: relative;
    width: 100px;
    height: 100px;
    border-radius: var(--checkout-radius-md);
    overflow: hidden;
    background: var(--checkout-bg);
    flex-shrink: 0;
}

.cart-item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--checkout-transition);
}

.cart-item-image:hover img {
    transform: scale(1.05);
}

.cart-item-badge {
    position: absolute;
    top: 6px;
    left: 6px;
    font-size: 9px;
    font-weight: 600;
    padding: 3px 6px;
    border-radius: 4px;
    background: var(--checkout-primary);
    color: white;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.cart-item-badge.digital {
    background: linear-gradient(135deg, #5856d6, #af52de);
}

.cart-item-title {
    font-size: 15px;
    font-weight: 600;
    color: var(--checkout-text);
    margin-bottom: 4px;
    line-height: 1.4;
}

.cart-item-title a {
    color: inherit;
    text-decoration: none;
    transition: var(--checkout-transition);
}

.cart-item-meta {
    font-size: 13px;
    color: var(--checkout-text-secondary);
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 4px;
}

.cart-item-variant {
    background: var(--checkout-bg);
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 12px;
}

.cart-item-price {
    font-size: 14px;
    color: var(--checkout-text-secondary);
    margin-top: 6px;
}

.cart-item-price-discount {
    color: var(--checkout-error);
    font-weight: 600;
}

.cart-item-original-price {
    text-decoration: line-through;
    color: var(--checkout-text-muted);
    margin-right: 6px;
}

.cart-qty-control {
    display: flex;
    align-items: center;
    background: var(--checkout-bg);
    border-radius: var(--checkout-radius-md);
    overflow: hidden;
}

.cart-qty-btn {
    width: 36px;
    height: 36px;
    border: none;
    background: transparent;
    color: var(--checkout-text-secondary);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--checkout-transition);
    font-size: 14px;
}

.cart-qty-btn:hover:not(:disabled) {
    background: var(--checkout-border);
    color: var(--checkout-text);
}

.cart-qty-btn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.cart-qty-input {
    width: 40px;
    height: 36px;
    border: none;
    background: transparent;
    text-align: center;
    font-size: 14px;
    font-weight: 600;
    color: var(--checkout-text);
    font-family: var(--checkout-font);
}

.cart-item-total {
    text-align: right;
    min-width: 100px;
}

.cart-item-remove {
    opacity: 0;
    transition: var(--checkout-transition);
}

.cart-item-2026:hover .cart-item-remove {
    opacity: 1;
}

.cart-remove-btn {
    width: 36px;
    height: 36px;
    border: none;
    background: transparent;
    color: var(--checkout-text-muted);
    cursor: pointer;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--checkout-transition);
}

.cart-remove-btn:hover {
    background: rgba(255, 59, 48, 0.1);
    color: var(--checkout-error);
}

@media (max-width: 768px) {

    .cart-qty-control {
        grid-column: 2;
        justify-self: start;
    }

    .cart-item-total {
        position: absolute;
        top: 16px;
        right: 16px;
    }

    .cart-item-remove {
        opacity: 1;
        position: absolute;
        bottom: 16px;
        right: 16px;
    }

    .cart-item-2026 {
        position: relative;
    }
}

.order-summary-2026 {
    background: linear-gradient(180deg, #ffffff 0%, #faf9f7 100%);
    border-radius: 16px;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.04), 0 4px 20px rgba(103, 100, 94, 0.08), 0 12px 40px rgba(103, 100, 94, 0.04);
    padding: 24px;
    position: relative;
    overflow: hidden;
}

.order-summary-2026::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--checkout-accent) 0%, #e8c9a8 50%, var(--checkout-accent) 100%);
    background-size: 200% 100%;
}

.order-summary-title {
    font-size: 18px;
    font-weight: 700;
    color: var(--checkout-text);
    margin-bottom: 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    display: flex;
    align-items: center;
    gap: 8px;
}

.order-item-count {
    font-size: 13px;
    font-weight: 500;
    color: var(--checkout-text-muted);
    margin-left: auto;
}

.order-summary-items {
    display: flex;
    flex-direction: column;
    gap: 14px;
    max-height: 320px;
    overflow-y: auto;
    margin-bottom: 20px;
    padding-right: 4px;
    scrollbar-width: thin;
    scrollbar-color: rgba(103, 100, 94, 0.2) transparent;
}

.order-summary-items::-webkit-scrollbar {
    width: 4px;
}

.order-summary-items::-webkit-scrollbar-track {
    background: transparent;
}

.order-summary-items::-webkit-scrollbar-thumb {
    background: rgba(103, 100, 94, 0.2);
    border-radius: 4px;
}

.order-summary-items::-webkit-scrollbar-thumb:hover {
    background: rgba(103, 100, 94, 0.3);
}

.order-item {
    display: flex;
    gap: 14px;
    padding: 12px;
    background: rgba(255, 255, 255, 0.8);
    border-radius: 12px;
    border: 1px solid rgba(0, 0, 0, 0.04);
    transition: all 0.2s ease;
}

.order-item:hover {
    background: #ffffff;
    border-color: rgba(0, 0, 0, 0.08);
    box-shadow: 0 2px 8px rgba(103, 100, 94, 0.06);
}

.order-item-image {
    position: relative;
    width: 60px;
    height: 60px;
    border-radius: 10px;
    overflow: hidden;
    background: linear-gradient(135deg, #f8f7f5 0%, #f0efed 100%);
    flex-shrink: 0;
    border: 1px solid rgba(0, 0, 0, 0.06);
}

.order-item-image a {
    display: block;
    width: 100%;
    height: 100%;
}

.order-item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.order-item:hover .order-item-image img {
    transform: scale(1.05);
}

.order-item-qty {
    position: absolute;
    top: -6px;
    right: -6px;
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    background: linear-gradient(135deg, var(--checkout-secondary) 0%, #57544e 100%);
    color: white;
    font-size: 11px;
    font-weight: 700;
    border-radius: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #ffffff;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

.order-item-details {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.order-item-title {
    font-size: 13px;
    font-weight: 600;
    color: var(--checkout-text);
    text-decoration: none;
    display: block;
    line-height: 1.4;
    margin-bottom: 2px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.order-item-title:hover {
    color: var(--checkout-accent);
}

.order-item-variant {
    font-size: 11px;
    color: var(--checkout-text-muted);
    margin-top: 2px;
}

.order-item-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 9px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    padding: 3px 8px;
    border-radius: 6px;
    margin-top: 6px;
    width: fit-content;
}

.order-item-badge.badge-digital {
    background: linear-gradient(135deg, #5856d6 0%, #af52de 100%);
    color: white;
}

.order-item-price {
    font-size: 14px;
    font-weight: 700;
    color: var(--checkout-text);
    text-align: right;
    white-space: nowrap;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
}

.order-item-vat {
    display: block;
    font-size: 10px;
    font-weight: 500;
    color: var(--checkout-text-muted);
    margin-top: 2px;
}

.order-summary-divider {
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, 0.08) 50%, transparent 100%);
    margin: 16px 0;
}

.order-summary-rows {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.order-summary-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 14px;
    padding: 4px 0;
}

.order-row-label {
    color: var(--checkout-text-secondary);
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 8px;
}

.order-row-value {
    color: var(--checkout-text);
    font-weight: 600;
}

.order-row-discount .order-row-label, .order-row-discount .order-row-value {
    color: #22c55e;
}

.order-value-discount {
    color: #22c55e;
    font-weight: 700;
}

.order-row-free-shipping .order-row-value {
    color: #22c55e;
    font-weight: 600;
}

.order-free-icon {
    color: #22c55e;
    font-size: 12px;
}

.order-value-free {
    color: #22c55e;
    font-weight: 600;
}

.coupon-applied-badge {
    font-size: 11px;
    font-weight: 600;
    background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%);
    color: #16a34a;
    padding: 3px 8px;
    border-radius: 6px;
    border: 1px solid rgba(22, 163, 74, 0.2);
}

.coupon-remove-btn {
    background: none;
    border: none;
    color: var(--checkout-text-muted);
    cursor: pointer;
    padding: 4px;
    font-size: 12px;
    line-height: 1;
    border-radius: 4px;
    transition: all 0.2s ease;
}

.coupon-remove-btn:hover {
    background: rgba(239, 68, 68, 0.1);
    color: #ef4444;
}

.order-summary-total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 0;
    margin-top: 8px;
    border-top: 2px solid var(--checkout-secondary);
}

.order-total-label {
    font-size: 16px;
    font-weight: 700;
    color: var(--checkout-text);
}

.order-total-amount {
    font-size: 22px;
    font-weight: 800;
    color: var(--checkout-secondary);
    letter-spacing: -0.02em;
}

.order-total-vat-info {
    font-size: 11px;
    color: var(--checkout-text-muted);
    font-weight: 500;
}

.order-summary-note {
    font-size: 12px;
    color: var(--checkout-text-muted);
    text-align: center;
    margin: 12px 0 16px;
    padding: 10px;
    background: rgba(103, 100, 94, 0.04);
    border-radius: 8px;
}

.order-summary-footer {
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
}

.checkout-trust-badges {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
}

.trust-badge {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 500;
    color: var(--checkout-text-muted);
}

.trust-badge i {
    font-size: 14px;
    color: #22c55e;
}

.checkout-secure-footer {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
    font-size: 12px;
    font-weight: 500;
    color: var(--checkout-text-muted);
}

.checkout-secure-footer i {
    color: #22c55e;
    font-size: 14px;
}

.checkout-payment-icons {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
}

.checkout-payment-icons img {
    height: 24px;
    width: auto;
    opacity: 0.7;
    transition: opacity 0.2s ease;
}

.checkout-payment-icons img:hover {
    opacity: 1;
}

.checkout-collapsible {
    background: rgba(103, 100, 94, 0.03);
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 12px;
    margin-top: 16px;
    overflow: hidden;
}

.collapsible-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 16px;
    cursor: pointer;
    transition: background 0.2s ease;
    font-size: 13px;
    font-weight: 600;
    color: var(--checkout-text);
}

.collapsible-header:hover {
    background: rgba(103, 100, 94, 0.04);
}

.collapsible-icon {
    width: 28px;
    height: 28px;
    background: var(--checkout-accent);
    color: white;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
}

.collapsible-arrow {
    margin-left: auto;
    font-size: 12px;
    color: var(--checkout-text-muted);
    transition: transform 0.3s ease;
}

.checkout-collapsible-open .collapsible-arrow {
    transform: rotate(180deg);
}

.collapsible-content {
    display: none;
    padding: 0 16px 16px;
}

.checkout-collapsible-open .collapsible-content {
    display: block;
}

.checkout-coupon-form {
    display: flex;
    gap: 8px;
}

.checkout-coupon-form .checkout-input {
    flex: 1;
    height: 42px;
    font-size: 13px;
}

.checkout-coupon-form .checkout-btn-secondary {
    height: 42px;
    padding: 0 16px;
    font-size: 13px;
    white-space: nowrap;
}

@media (max-width: 1024px) {
    .order-summary-2026 {
        padding: 20px;
    }

    .order-summary-items {
        max-height: none;
    }
}

@media (max-width: 768px) {
    .order-summary-2026 {
        padding: 16px;
        border-radius: 12px;
    }

    .order-summary-title {
        font-size: 16px;
    }

    .order-item {
        padding: 10px;
    }

    .order-item-image {
        width: 50px;
        height: 50px;
    }

    .order-item-qty {
        width: 20px;
        height: 20px;
        font-size: 10px;
    }

    .order-total-amount {
        font-size: 20px;
    }
}

.order-summary-header, .order-summary-count, .order-summary-products, .summary-product, .summary-product-image, .summary-product-qty, .summary-product-info, .summary-product-title, .summary-product-meta, .summary-product-price, .order-summary-calculations, .summary-row, .summary-row-label, .summary-row-value, .summary-coupon-tag, .summary-remove-coupon, .summary-free-shipping, .summary-free-icon, .order-summary-trust, .summary-total-row, .summary-total-label, .summary-total-value {
    display: none;
}

.free-shipping-banner {
    background: linear-gradient(135deg, #fef7f0 0%, #fff9f5 100%);
    border: 1px solid var(--checkout-accent);
    border-radius: var(--checkout-radius-lg);
    padding: 16px 20px;
    margin-bottom: 24px;
}

.free-shipping-achieved {
    background: linear-gradient(135deg, #ecfdf5 0%, #f0fdf4 100%);
    border-color: var(--checkout-success);
}

.free-shipping-content {
    display: flex;
    align-items: center;
    gap: 12px;
}

.free-shipping-icon {
    width: 40px;
    height: 40px;
    background: linear-gradient(135deg, var(--checkout-accent), #e8b98a);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 18px;
}

.free-shipping-achieved .free-shipping-icon {
    background: linear-gradient(135deg, var(--checkout-success), #5cd685);
    animation: celebrate 0.6s ease;
}

@keyframes celebrate {
    0%, 100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.1);
    }
}

.free-shipping-message {
    font-size: 14px;
    font-weight: 600;
    color: var(--checkout-text);
    margin-bottom: 4px;
}

.free-shipping-progress-bar {
    height: 6px;
    background: rgba(0,0,0,0.08);
    border-radius: 3px;
    overflow: hidden;
    margin-top: 8px;
}

.free-shipping-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--checkout-accent), #e8b98a);
    border-radius: 3px;
    transition: width 0.6s ease;
}

.checkout-form-group {
    margin-bottom: 16px;
}

.checkout-form-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.checkout-form-row.single {
    grid-template-columns: 1fr;
}

@media (max-width: 576px) {
    .checkout-form-row {
        grid-template-columns: 1fr;
    }
}

.checkout-label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--checkout-text);
    margin-bottom: 6px;
}

.checkout-label .required {
    color: var(--checkout-error);
}

.checkout-input, .checkout-select, .checkout-textarea {
    width: 100%;
    height: 48px;
    padding: 0 16px;
    font-size: 15px;
    font-family: var(--checkout-font);
    color: var(--checkout-text);
    background: var(--checkout-card);
    border: 1.5px solid var(--checkout-border);
    border-radius: var(--checkout-radius-md);
    transition: var(--checkout-transition);
    appearance: none;
    -webkit-appearance: none;
}

.checkout-textarea {
    height: auto;
    min-height: 100px;
    padding: 12px 16px;
    resize: vertical;
}

.checkout-input:focus, .checkout-select:focus, .checkout-textarea:focus {
    outline: none;
    border-color: var(--checkout-border-focus);
    box-shadow: 0 0 0 4px rgba(103, 100, 94, 0.1);
}

.checkout-input::placeholder {
    color: var(--checkout-text-muted);
}

.checkout-select {
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2386868b' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 40px;
}

.checkout-floating {
    position: relative;
}

.checkout-floating .checkout-input, .checkout-floating .checkout-select {
    padding-top: 20px;
    padding-bottom: 4px;
}

.checkout-floating .checkout-label {
    position: absolute;
    top: 50%;
    left: 16px;
    transform: translateY(-50%);
    font-size: 14px;
    font-weight: 400;
    color: var(--checkout-text-muted);
    pointer-events: none;
    transition: var(--checkout-transition);
    background: var(--checkout-card);
    padding: 0 4px;
    margin: 0;
}

.checkout-floating .checkout-input:focus + .checkout-label, .checkout-floating .checkout-input:not(:placeholder-shown) + .checkout-label, .checkout-floating .checkout-select + .checkout-label {
    top: 10px;
    transform: translateY(0);
    font-size: 11px;
    font-weight: 600;
    color: var(--checkout-secondary);
}

.checkout-checkbox, .checkout-radio {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    cursor: pointer;
    padding: 12px 0;
}

.checkout-checkbox input, .checkout-radio input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.checkout-checkbox-box, .checkout-radio-box {
    width: 22px;
    height: 22px;
    border: 2px solid var(--checkout-border);
    border-radius: 6px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--checkout-transition);
}

.checkout-radio-box {
    border-radius: 50%;
}

.checkout-checkbox input:checked + .checkout-checkbox-box, .checkout-radio input:checked + .checkout-radio-box {
    background: var(--checkout-primary);
    border-color: var(--checkout-primary);
}

.checkout-checkbox input:checked + .checkout-checkbox-box::after {
    content: "✓";
}

.checkout-radio input:checked + .checkout-radio-box::after {
    content: "";
    width: 8px;
    height: 8px;
    background: white;
    border-radius: 50%;
}

.checkout-checkbox-text, .checkout-radio-text {
    font-size: 14px;
    color: var(--checkout-text);
    line-height: 1.5;
}

.checkout-checkbox-text a, .checkout-radio-text a {
    color: var(--checkout-secondary);
    font-weight: 600;
}

.address-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 16px;
}

.address-card {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 16px;
    background: var(--checkout-card);
    border: 2px solid var(--checkout-border);
    border-radius: var(--checkout-radius-md);
    cursor: pointer;
    transition: var(--checkout-transition);
}

.address-card:hover {
    border-color: var(--checkout-text-secondary);
    box-shadow: var(--checkout-shadow-sm);
}

.address-card.selected {
    border-color: var(--checkout-primary);
    background: linear-gradient(180deg, var(--checkout-card) 0%, var(--checkout-bg) 100%);
}

.address-card input {
    display: none;
}

.address-radio {
    width: 20px;
    height: 20px;
    border: 2px solid var(--checkout-border);
    border-radius: 50%;
    flex-shrink: 0;
    position: relative;
    transition: var(--checkout-transition);
}

.address-card.selected .address-radio {
    border-color: var(--checkout-primary);
}

.address-card.selected .address-radio::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 10px;
    height: 10px;
    background: var(--checkout-primary);
    border-radius: 50%;
}

.address-content {
    flex: 1;
    min-width: 0;
}

.address-name {
    font-size: 14px;
    font-weight: 600;
    color: var(--checkout-text);
    margin-bottom: 4px;
}

.address-detail {
    font-size: 13px;
    color: var(--checkout-text-secondary);
    line-height: 1.5;
}

.address-actions {
    display: flex;
    gap: 8px;
    opacity: 0;
    transition: var(--checkout-transition);
}

.address-card:hover .address-actions {
    opacity: 1;
}

.address-action-btn {
    width: 32px;
    height: 32px;
    border: none;
    background: var(--checkout-bg);
    border-radius: 6px;
    cursor: pointer;
    color: var(--checkout-text-secondary);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--checkout-transition);
}

.address-action-btn:hover {
    background: var(--checkout-border);
    color: var(--checkout-text);
}

.add-new-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: none;
    border: none;
    font-size: 14px;
    font-weight: 600;
    color: var(--checkout-secondary);
    cursor: pointer;
    padding: 8px 0;
    font-family: var(--checkout-font);
    transition: var(--checkout-transition);
}

.add-new-btn:hover {
    color: var(--checkout-accent);
}

.add-new-btn i {
    font-size: 16px;
}

.shipping-methods-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.shipping-method-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px;
    background: var(--checkout-card);
    border: 2px solid var(--checkout-border);
    border-radius: var(--checkout-radius-md);
    cursor: pointer;
    transition: var(--checkout-transition);
}

.shipping-method-card:hover {
    border-color: var(--checkout-text-secondary);
}

.shipping-method-card.selected {
    border-color: var(--checkout-primary);
    background: linear-gradient(180deg, var(--checkout-card) 0%, var(--checkout-bg) 100%);
}

.shipping-method-card input {
    display: none;
}

.shipping-method-radio {
    width: 20px;
    height: 20px;
    border: 2px solid var(--checkout-border);
    border-radius: 50%;
    flex-shrink: 0;
    position: relative;
    transition: var(--checkout-transition);
}

.shipping-method-card.selected .shipping-method-radio {
    border-color: var(--checkout-primary);
}

.shipping-method-card.selected .shipping-method-radio::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 10px;
    height: 10px;
    background: var(--checkout-primary);
    border-radius: 50%;
}

.shipping-method-icon {
    width: 44px;
    height: 44px;
    background: var(--checkout-bg);
    border-radius: var(--checkout-radius-sm);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: var(--checkout-secondary);
}

.shipping-method-card.selected .shipping-method-icon {
    background: rgba(103, 100, 94, 0.1);
}

.shipping-method-info {
    flex: 1;
}

.shipping-method-name {
    font-size: 14px;
    font-weight: 600;
    color: var(--checkout-text);
}

.shipping-method-desc {
    font-size: 12px;
    color: var(--checkout-text-secondary);
    margin-top: 2px;
}

.shipping-method-price {
    font-size: 15px;
    font-weight: 700;
    color: var(--checkout-text);
}

.shipping-method-price.free {
    color: var(--checkout-success);
}

.payment-methods-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 12px;
}

.payment-method-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px 16px;
    background: var(--checkout-card);
    border: 2px solid var(--checkout-border);
    border-radius: var(--checkout-radius-md);
    cursor: pointer;
    transition: var(--checkout-transition);
    text-align: center;
}

.payment-method-card:hover {
    border-color: var(--checkout-text-secondary);
    box-shadow: var(--checkout-shadow-sm);
}

.payment-method-card.selected {
    border-color: var(--checkout-primary);
    background: linear-gradient(180deg, var(--checkout-card) 0%, var(--checkout-bg) 100%);
}

.payment-method-icon {
    width: 56px;
    height: 40px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.payment-method-icon img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.payment-method-icon i {
    font-size: 28px;
    color: var(--checkout-secondary);
}

.payment-method-name {
    font-size: 13px;
    font-weight: 600;
    color: var(--checkout-text);
}

.payment-method-desc {
    font-size: 11px;
    color: var(--checkout-text-secondary);
    margin-top: 4px;
}

.checkout-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    height: 52px;
    padding: 0 32px;
    font-size: 15px;
    font-weight: 600;
    font-family: var(--checkout-font);
    border-radius: var(--checkout-radius-md);
    cursor: pointer;
    transition: var(--checkout-transition);
    text-decoration: none;
    border: none;
    outline: none;
}

.checkout-btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    height: 52px;
    padding: 0 32px;
    font-size: 15px;
    font-weight: 600;
    font-family: var(--checkout-font);
    border-radius: var(--checkout-radius-md);
    cursor: pointer;
    transition: var(--checkout-transition);
    text-decoration: none;
    border: none;
    outline: none;
    background: var(--checkout-primary);
    color: white;
}

.checkout-btn-primary:hover {
    background: #2d2d2f;
    transform: translateY(-1px);
    box-shadow: var(--checkout-shadow-lg);
}

.checkout-btn-primary:active {
    transform: translateY(0);
}

.checkout-btn-secondary {
    background: var(--checkout-card);
    color: var(--checkout-text);
    border: 1.5px solid var(--checkout-border);
}

.checkout-btn-secondary:hover {
    background: var(--checkout-bg);
    border-color: var(--checkout-text-secondary);
}

.checkout-btn-accent {
    background: var(--checkout-accent);
    color: var(--checkout-primary);
}

.checkout-btn-accent:hover {
    background: #c99664;
}

.checkout-btn-full {
    width: 100%;
}

.checkout-btn-lg {
    height: 56px;
    font-size: 16px;
}

.checkout-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none !important;
}

.coupon-section {
    border-top: 1px solid var(--checkout-border);
    margin-top: 16px;
    padding-top: 16px;
}

.coupon-toggle {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 500;
    color: var(--checkout-text-secondary);
    cursor: pointer;
    padding: 8px 0;
    transition: var(--checkout-transition);
}

.coupon-toggle:hover {
    color: var(--checkout-text);
}

.coupon-toggle i {
    font-size: 16px;
}

.coupon-toggle-arrow {
    margin-left: auto;
    transition: var(--checkout-transition);
}

.coupon-toggle.active .coupon-toggle-arrow {
    transform: rotate(180deg);
}

.coupon-form-wrapper {
    display: none;
    padding-top: 12px;
}

.coupon-form-wrapper.active {
    display: block;
}

.coupon-form {
    display: flex;
    gap: 10px;
}

.coupon-input {
    flex: 1;
    height: 44px;
    padding: 0 14px;
    border: 1.5px solid var(--checkout-border);
    border-radius: var(--checkout-radius-sm);
    font-size: 14px;
    font-family: var(--checkout-font);
    transition: var(--checkout-transition);
}

.coupon-input:focus {
    outline: none;
    border-color: var(--checkout-border-focus);
}

.coupon-btn {
    height: 44px;
    padding: 0 20px;
    background: var(--checkout-primary);
    color: white;
    border: none;
    border-radius: var(--checkout-radius-sm);
    font-size: 13px;
    font-weight: 600;
    font-family: var(--checkout-font);
    cursor: pointer;
    transition: var(--checkout-transition);
}

.coupon-btn:hover {
    background: #2d2d2f;
}

.coupon-error {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 10px;
    padding: 10px 12px;
    background: rgba(255, 59, 48, 0.1);
    border-radius: var(--checkout-radius-sm);
    font-size: 13px;
    color: var(--checkout-error);
}

.checkout-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 32px;
    padding-top: 24px;
    border-top: 1px solid var(--checkout-border);
}

.checkout-back-link {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 500;
    color: var(--checkout-text-secondary);
    text-decoration: none;
    transition: var(--checkout-transition);
}

.checkout-back-link:hover {
    color: var(--checkout-text);
}

.empty-cart-2026 {
    text-align: center;
    padding: 80px 20px;
}

.empty-cart-icon {
    width: 100px;
    height: 100px;
    margin: 0 auto 24px;
    background: var(--checkout-bg);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.empty-cart-icon i {
    font-size: 48px;
    color: var(--checkout-text-muted);
}

.empty-cart-title {
    font-size: 24px;
    font-weight: 700;
    color: var(--checkout-text);
    margin-bottom: 8px;
}

.empty-cart-text {
    font-size: 15px;
    color: var(--checkout-text-secondary);
    margin-bottom: 24px;
}

.checkout-alert {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px;
    border-radius: var(--checkout-radius-md);
    margin-bottom: 16px;
}

.checkout-alert-icon {
    flex-shrink: 0;
    font-size: 18px;
}

.checkout-alert-content {
    flex: 1;
}

.checkout-alert-title {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 2px;
}

.checkout-alert-text {
    font-size: 13px;
}

.checkout-alert-success {
    background: rgba(52, 199, 89, 0.1);
    border: 1px solid rgba(52, 199, 89, 0.2);
}

.checkout-alert-success .checkout-alert-icon, .checkout-alert-success .checkout-alert-title {
    color: var(--checkout-success);
}

.checkout-alert-error {
    background: rgba(255, 59, 48, 0.1);
    border: 1px solid rgba(255, 59, 48, 0.2);
}

.checkout-alert-error .checkout-alert-icon, .checkout-alert-error .checkout-alert-title {
    color: var(--checkout-error);
}

.checkout-alert-warning {
    background: rgba(255, 149, 0, 0.1);
    border: 1px solid rgba(255, 149, 0, 0.2);
}

.checkout-alert-warning .checkout-alert-icon, .checkout-alert-warning .checkout-alert-title {
    color: var(--checkout-warning);
}

.checkout-alert-info {
    background: rgba(103, 100, 94, 0.1);
    border: 1px solid rgba(103, 100, 94, 0.2);
}

.checkout-alert-info .checkout-alert-icon {
    color: var(--checkout-secondary);
}

.checkout-security-footer {
    display: flex;
    justify-content: center;
    gap: 32px;
    padding: 24px 20px;
    margin-top: 40px;
    border-top: 1px solid var(--checkout-border);
}

.security-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: var(--checkout-text-secondary);
}

.security-item i {
    color: var(--checkout-success);
    font-size: 16px;
}

@media (max-width: 576px) {
    .checkout-security-footer {
        flex-wrap: wrap;
        gap: 16px;
    }
}

.invoice-toggle {
    display: flex;
    background: var(--checkout-bg);
    border-radius: var(--checkout-radius-md);
    padding: 4px;
    margin-bottom: 20px;
}

.invoice-toggle-option {
    flex: 1;
    padding: 12px 16px;
    font-size: 13px;
    font-weight: 500;
    text-align: center;
    border-radius: calc(var(--checkout-radius-md) - 4px);
    cursor: pointer;
    transition: var(--checkout-transition);
    color: var(--checkout-text-secondary);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.invoice-toggle-option input {
    display: none;
}

.invoice-toggle-option.active {
    background: var(--checkout-card);
    color: var(--checkout-text);
    box-shadow: var(--checkout-shadow-sm);
}

.invoice-toggle-option i {
    font-size: 16px;
}

.corporate-fields {
    display: none;
    padding: 20px;
    background: var(--checkout-bg);
    border-radius: var(--checkout-radius-md);
    margin-bottom: 20px;
}

.corporate-fields.active {
    display: block;
}

.checkout-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px;
}

.checkout-spinner {
    width: 32px;
    height: 32px;
    border: 3px solid var(--checkout-border);
    border-top-color: var(--checkout-primary);
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

.order-completed-2026 {
    text-align: center;
    padding: 60px 20px;
    max-width: 600px;
    margin: 0 auto;
}

.order-completed-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 24px;
    background: linear-gradient(135deg, var(--checkout-success), #5cd685);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: successPop 0.5s ease;
}

@keyframes successPop {
    0% {
        transform: scale(0);
    }

    50% {
        transform: scale(1.1);
    }

    100% {
        transform: scale(1);
    }
}

.order-completed-icon i {
    font-size: 40px;
    color: white;
}

.order-completed-title {
    font-size: 28px;
    font-weight: 700;
    color: var(--checkout-text);
    margin-bottom: 8px;
}

.order-completed-subtitle {
    font-size: 16px;
    color: var(--checkout-text-secondary);
    margin-bottom: 24px;
}

.order-number-box {
    display: inline-block;
    padding: 12px 24px;
    background: var(--checkout-bg);
    border-radius: var(--checkout-radius-md);
    margin-bottom: 24px;
}

.order-number-label {
    font-size: 12px;
    color: var(--checkout-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.order-number-value {
    font-size: 20px;
    font-weight: 700;
    color: var(--checkout-text);
}

@media (max-width: 768px) {
    .checkout-header-inner {
        flex-wrap: wrap;
    }

    .checkout-secure-badge {
        display: none;
    }

    .checkout-card-body {
        padding: 16px;
    }

    .checkout-actions {
        flex-direction: column-reverse;
        gap: 16px;
    }

    .checkout-actions .checkout-btn {
        width: 100%;
    }

    .checkout-actions .checkout-back-link {
        margin-top: 8px;
    }
}

.user-info-box {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px;
    background: var(--checkout-bg);
    border-radius: var(--checkout-radius-md);
    margin-bottom: 20px;
}

.user-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--checkout-secondary), var(--checkout-accent));
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
}

.user-details {
    flex: 1;
}

.user-name {
    font-size: 14px;
    font-weight: 600;
    color: var(--checkout-text);
}

.user-email {
    font-size: 13px;
    color: var(--checkout-text-secondary);
}

.user-logout {
    font-size: 13px;
    color: var(--checkout-secondary);
    text-decoration: none;
    font-weight: 500;
}

.user-logout:hover {
    color: var(--checkout-accent);
}

.guest-notice {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px;
    background: rgba(103, 100, 94, 0.08);
    border-radius: var(--checkout-radius-md);
    margin-bottom: 20px;
}

.guest-info {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    color: var(--checkout-text-secondary);
}

.guest-login {
    font-size: 14px;
    font-weight: 600;
    color: var(--checkout-secondary);
    text-decoration: none;
}

.guest-login:hover {
    color: var(--checkout-accent);
}

@media print {
    .checkout-header-2026, .checkout-stepper, .checkout-back-link, .checkout-btn, .coupon-section {
        display: none !important;
    }

    .checkout-2026 {
        background: white;
    }

    .checkout-card {
        box-shadow: none;
        border: 1px solid #ddd;
    }
}

.cart-items-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.cart-item-2026 {
    display: grid;
    grid-template-columns: 100px 1fr auto auto auto;
    gap: 20px;
    align-items: center;
    padding: 20px;
    background: var(--checkout-card);
    border-radius: var(--checkout-radius-md);
    border: 1px solid var(--checkout-border);
    transition: all var(--checkout-transition);
}

.cart-item-2026:hover {
    box-shadow: var(--checkout-shadow-md);
}

.cart-item-image {
    position: relative;
    width: 100px;
    height: 100px;
    border-radius: var(--checkout-radius-sm);
    overflow: hidden;
    background: var(--checkout-bg-alt);
}

.cart-item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cart-item-badge {
    position: absolute;
    bottom: 6px;
    left: 6px;
    font-size: 10px;
    padding: 2px 6px;
    border-radius: 4px;
    font-weight: 600;
}

.cart-item-badge.badge-digital {
    background: var(--checkout-accent);
    color: white;
}

.cart-item-badge.badge-outofstock {
    background: var(--checkout-error);
    color: white;
}

.cart-item-info {
    min-width: 0;
}

.cart-item-title {
    font-size: 15px;
    font-weight: 600;
    margin: 0 0 6px;
    color: var(--checkout-text);
}

.cart-item-title a {
    color: inherit;
    text-decoration: none;
}

.cart-item-title a:hover {
    color: var(--checkout-accent);
}

.cart-item-meta {
    font-size: 14px;
    color: var(--checkout-text-secondary);
}

.cart-item-unit-price {
    display: flex;
    align-items: center;
    gap: 8px;
}

.cart-item-discount {
    background: var(--checkout-success);
    color: white;
    font-size: 11px;
    padding: 2px 6px;
    border-radius: 4px;
    font-weight: 600;
}

.cart-item-quantity {
    display: flex;
    align-items: center;
}

.cart-qty-control {
    display: flex;
    align-items: center;
    border: 1px solid var(--checkout-border);
    border-radius: var(--checkout-radius-sm);
    overflow: hidden;
    background: var(--checkout-card);
}

.cart-qty-btn {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: transparent;
    color: var(--checkout-text-secondary);
    cursor: pointer;
    transition: all var(--checkout-transition);
}

.cart-qty-btn:hover {
    background: var(--checkout-bg-alt);
    color: var(--checkout-primary);
}

.cart-qty-input {
    width: 50px;
    text-align: center;
    border: none;
    background: transparent;
    font-size: 14px;
    font-weight: 600;
    color: var(--checkout-text);
    font-family: var(--checkout-font);
}

.cart-qty-static {
    font-size: 14px;
    color: var(--checkout-text-secondary);
}

.cart-item-total {
    min-width: 100px;
    text-align: right;
}

.cart-item-total-price {
    font-size: 16px;
    font-weight: 700;
    color: var(--checkout-text);
}

.cart-item-remove {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: transparent;
    color: var(--checkout-text-muted);
    cursor: pointer;
    border-radius: var(--checkout-radius-sm);
    transition: all var(--checkout-transition);
}

.cart-item-remove:hover {
    background: rgba(255, 59, 48, 0.1);
    color: var(--checkout-error);
}

.cart-actions {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid var(--checkout-border);
}

.cart-continue-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: var(--checkout-secondary);
    text-decoration: none;
    font-weight: 500;
    transition: all var(--checkout-transition);
}

.cart-continue-link:hover {
    color: var(--checkout-accent);
}

.payment-methods-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.payment-method-card {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px;
    background: var(--checkout-card);
    border: 2px solid var(--checkout-border);
    border-radius: var(--checkout-radius-md);
    cursor: pointer;
    transition: all var(--checkout-transition);
}

.payment-method-card:hover {
    border-color: var(--checkout-border-focus);
}

.payment-method-card.selected {
    border-color: var(--checkout-accent);
    background: linear-gradient(180deg, rgba(212, 165, 116, 0.05) 0%, var(--checkout-card) 100%);
}

.payment-method-card input {
    display: none;
}

.payment-method-radio {
    width: 20px;
    height: 20px;
    border: 2px solid var(--checkout-border);
    border-radius: 50%;
    flex-shrink: 0;
    position: relative;
    transition: all var(--checkout-transition);
}

.payment-method-card.selected .payment-method-radio {
    border-color: var(--checkout-accent);
}

.payment-method-card.selected .payment-method-radio::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 10px;
    height: 10px;
    background: var(--checkout-accent);
    border-radius: 50%;
}

.payment-method-content {
    flex: 1;
    min-width: 0;
}

.payment-method-name {
    display: block;
    font-size: 15px;
    font-weight: 600;
    color: var(--checkout-text);
}

.payment-method-desc {
    display: block;
    font-size: 13px;
    color: var(--checkout-text-secondary);
    margin-top: 2px;
}

.payment-method-logos {
    display: flex;
    align-items: center;
    gap: 8px;
}

.payment-method-logos img {
    height: 24px;
    width: auto;
}

.payment-method-logos i {
    font-size: 24px;
    color: var(--checkout-text-secondary);
}

.checkout-collapsible {
    border: 1px solid var(--checkout-border);
    border-radius: var(--checkout-radius-md);
    margin-top: 16px;
    overflow: hidden;
}

.collapsible-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px;
    background: var(--checkout-bg-alt);
    cursor: pointer;
    transition: all var(--checkout-transition);
}

.collapsible-header:hover {
    background: var(--checkout-border);
}

.collapsible-icon {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--checkout-card);
    border-radius: 8px;
    color: var(--checkout-accent);
}

.collapsible-header span {
    flex: 1;
    font-weight: 600;
    color: var(--checkout-text);
}

.collapsible-arrow {
    color: var(--checkout-text-secondary);
    transition: transform 0.3s ease;
}

.collapsible-arrow.rotated {
    transform: rotate(180deg);
}

.collapsible-content {
    display: none;
    padding: 16px;
    background: var(--checkout-card);
}

.collapsible-content.show {
    display: block;
}

.checkout-coupon-form {
    display: flex;
    gap: 10px;
}

.checkout-coupon-form .checkout-input {
    flex: 1;
}

.loyalty-points-loading {
    padding: 12px 0;
    font-size: 13px;
    color: var(--checkout-text-secondary);
}

.loyalty-available-info {
    margin-bottom: 12px;
    font-size: 13px;
    color: var(--checkout-text-secondary);
}

.loyalty-available-info strong {
    color: var(--checkout-text);
}

.loyalty-hint {
    margin-top: 8px;
    font-size: 12px;
    color: var(--checkout-text-muted);
}

.free-shipping-banner {
    background: linear-gradient(135deg, var(--checkout-bg-alt) 0%, var(--checkout-card) 100%);
    border: 1px solid var(--checkout-border);
    border-radius: var(--checkout-radius-md);
    padding: 16px 20px;
    margin-bottom: 24px;
}

.free-shipping-banner.free-shipping-achieved {
    background: linear-gradient(135deg, rgba(52, 199, 89, 0.1) 0%, var(--checkout-card) 100%);
    border-color: var(--checkout-success);
}

.free-shipping-content {
    display: flex;
    align-items: center;
    gap: 16px;
}

.free-shipping-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--checkout-accent);
    color: white;
    border-radius: 50%;
    font-size: 16px;
}

.free-shipping-achieved .free-shipping-icon {
    background: var(--checkout-success);
}

.free-shipping-text {
    flex: 1;
}

.free-shipping-message {
    font-size: 14px;
    color: var(--checkout-text);
}

.free-shipping-message strong {
    color: var(--checkout-accent);
}

.free-shipping-achieved .free-shipping-message strong {
    color: var(--checkout-success);
}

.free-shipping-progress-bar {
    height: 6px;
    background: var(--checkout-border);
    border-radius: 3px;
    margin-top: 10px;
    overflow: hidden;
}

.free-shipping-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--checkout-accent) 0%, #e8c4a0 100%);
    border-radius: 3px;
    transition: width 0.5s ease;
}

.payment-gateway-wrapper {
    padding: 20px 0;
}

.checkout-terms {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid var(--checkout-border);
}

.checkout-checkbox-label {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    cursor: pointer;
}

.checkout-checkbox {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.checkout-checkbox-box {
    width: 20px;
    height: 20px;
    border: 2px solid var(--checkout-border);
    border-radius: 4px;
    flex-shrink: 0;
    position: relative;
    transition: all var(--checkout-transition);
}

.checkout-checkbox:checked + .checkout-checkbox-box {
    background: var(--checkout-accent);
    border-color: var(--checkout-accent);
}

.checkout-checkbox:checked + .checkout-checkbox-box::after {
    content: "";
    position: absolute;
    left: 6px;
    top: 2px;
    width: 5px;
    height: 10px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.checkout-checkbox-text {
    font-size: 14px;
    color: var(--checkout-text-secondary);
    line-height: 1.5;
}

.custom-control-validate-input.custom-control-validate-error .checkout-checkbox-box {
    border-color: var(--checkout-error, #dc3545);
    animation: shake 0.3s ease-in-out;
}

.custom-control-validate-input.custom-control-validate-error .checkout-checkbox-text {
    color: var(--checkout-error, #dc3545);
}

.custom-control-validate-input p.text-danger {
    margin-top: 8px;
    margin-left: 32px;
    font-size: 13px;
    color: var(--checkout-error, #dc3545);
}

@keyframes shake {
    0%, 100% {
        transform: translateX(0);
    }

    25% {
        transform: translateX(-4px);
    }

    75% {
        transform: translateX(4px);
    }
}

.checkout-link {
    color: var(--checkout-accent);
    text-decoration: none;
    font-weight: 500;
}

.checkout-link:hover {
    text-decoration: underline;
}

.checkout-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid var(--checkout-border);
    gap: 16px;
}

.checkout-btn-back {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: var(--checkout-secondary);
    text-decoration: none;
    font-weight: 500;
    transition: all var(--checkout-transition);
}

.checkout-btn-back:hover {
    color: var(--checkout-accent);
}

.checkout-main-empty {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 60vh;
}

.checkout-empty-state {
    text-align: center;
    padding: 60px 40px;
    max-width: 400px;
}

.empty-state-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--checkout-bg-alt);
    border-radius: 50%;
    font-size: 32px;
    color: var(--checkout-text-muted);
}

.empty-state-title {
    font-size: 24px;
    font-weight: 700;
    color: var(--checkout-text);
    margin: 0 0 12px;
}

.empty-state-text {
    font-size: 15px;
    color: var(--checkout-text-secondary);
    margin: 0 0 24px;
    line-height: 1.5;
}

.checkout-trust-badges {
    display: flex;
    justify-content: center;
    gap: 24px;
    padding: 24px 0;
    margin-top: 32px;
    border-top: 1px solid var(--checkout-border);
}

.trust-badge {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--checkout-text-secondary);
}

.trust-badge i {
    color: var(--checkout-success);
}

@media (max-width: 768px) {
    .cart-item-2026 {
        grid-template-columns: 80px 1fr;
        grid-template-rows: auto auto;
        gap: 12px;
        padding: 16px;
    }

    .cart-item-image {
        width: 80px;
        height: 80px;
        grid-row: span 2;
    }

    .cart-item-info {
        grid-column: 2;
    }

    .cart-item-quantity, .cart-item-total, .cart-item-remove {
        grid-column: 2;
        justify-self: start;
    }

    .cart-item-total {
        margin-left: auto;
        margin-right: 8px;
    }

    .checkout-actions {
        flex-direction: column-reverse;
    }

    .checkout-btn-primary {
        width: 100%;
        justify-content: center;
    }

    .checkout-trust-badges {
        flex-wrap: wrap;
        gap: 16px;
    }
}

.nf-checkout *, .nf-checkout *::before, .nf-checkout *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

.nf-checkout {
    --nf-primary: #67645e;
    --nf-accent: #d4a574;
    --nf-black: #1d1d1f;
    --nf-white: #ffffff;
    --nf-bg: #faf9f7;
    --nf-bg-alt: #f5f4f2;
    --nf-border: #e0ddd8;
    --nf-border-dark: #c5c2bc;
    --nf-text: #67645e;
    --nf-text-light: #8a8680;
    --nf-success: #5a8a5a;
    --nf-error: #c45050;
    --nf-font: "Montserrat", -apple-system, BlinkMacSystemFont, sans-serif;
    --nf-radius: 8px;
    --nf-radius-lg: 12px;
    --nf-shadow: 0 2px 12px rgba(103, 100, 94, 0.1);
    --nf-shadow-lg: 0 8px 30px rgba(103, 100, 94, 0.15);
    --nf-transition: 0.25s ease;
    font-family: var(--nf-font);
    font-size: 14px;
    line-height: 1.5;
    color: var(--nf-text);
    background: var(--nf-white);
    min-height: 100vh;
}

.nf-checkout-header {
    background: linear-gradient(180deg, var(--nf-bg) 0%, var(--nf-white) 100%);
    border-bottom: 1px solid var(--nf-border);
    padding: 20px 0;
}

.nf-checkout-header-inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.nf-checkout-logo img {
    max-height: 40px;
    width: auto;
}

.nf-checkout-logo span {
    font-size: 22px;
    font-weight: 700;
    color: var(--nf-black);
}

.nf-checkout-steps {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 500;
}

.nf-checkout-steps a {
    color: var(--nf-primary);
    text-decoration: none;
}

.nf-checkout-steps a:hover {
    color: var(--nf-accent);
}

.nf-checkout-steps .nf-step-current {
    color: var(--nf-black);
    font-weight: 600;
}

.nf-checkout-steps .nf-step-next {
    color: var(--nf-text-light);
}

.nf-checkout-steps .nf-step-sep {
    color: var(--nf-border-dark);
}

.nf-checkout-main {
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 380px;
    min-height: calc(100vh - 100px);
}

.nf-checkout-form-area {
    padding: 40px 50px 40px 20px;
    border-right: 1px solid var(--nf-border);
}

.nf-checkout-main .checkout-sidebar {
    padding: 40px 30px;
    background: linear-gradient(180deg, var(--nf-bg) 0%, rgba(250, 249, 247, 0.5) 100%);
    position: relative;
    top: 0;
}

.nf-checkout-main .checkout-sidebar .order-summary-2026 {
    position: sticky;
    top: 30px;
}

.nf-checkout-sidebar {
    padding: 40px 30px;
    background: linear-gradient(180deg, var(--nf-bg) 0%, rgba(250, 249, 247, 0.5) 100%);
}

.nf-messages {
    margin-bottom: 24px;
}

.nf-alert {
    padding: 14px 18px;
    border-radius: var(--nf-radius);
    font-size: 13px;
    margin-bottom: 12px;
}

.nf-alert-error {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: var(--nf-error);
}

.nf-alert-success {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    color: var(--nf-success);
}

.nf-section {
    margin-bottom: 32px;
    padding-bottom: 32px;
    border-bottom: 1px solid var(--nf-border);
}

.nf-section:last-of-type {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.nf-section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 18px;
}

.nf-section-title {
    font-size: 18px;
    font-weight: 600;
    color: var(--nf-black);
    letter-spacing: -0.01em;
}

.nf-section-subtitle {
    font-size: 13px;
    color: var(--nf-text-light);
    margin-top: 4px;
}

.nf-login-link {
    font-size: 13px;
    color: var(--nf-text-light);
}

.nf-login-link a {
    color: var(--nf-primary);
    font-weight: 500;
    text-decoration: none;
}

.nf-login-link a:hover {
    color: var(--nf-accent);
    text-decoration: underline;
}

.nf-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-bottom: 14px;
}

.nf-form-row.nf-single {
    grid-template-columns: 1fr;
}

.nf-form-group {
    position: relative;
}

.nf-form-group.nf-full {
    grid-column: 1 / -1;
}

.nf-input {
    width: 100%;
    height: 52px;
    padding: 24px 14px 8px;
    font-size: 15px;
    font-family: var(--nf-font);
    color: var(--nf-black);
    background: var(--nf-white);
    border: 1px solid var(--nf-border-dark);
    border-radius: var(--nf-radius);
    outline: none;
    transition: border-color var(--nf-transition), box-shadow var(--nf-transition);
    appearance: none;
    -webkit-appearance: none;
}

.nf-input:focus {
    border-color: var(--nf-primary);
    box-shadow: 0 0 0 3px rgba(103, 100, 94, 0.12);
}

.nf-input::placeholder {
    color: transparent;
}

.nf-textarea {
    height: auto;
    min-height: 80px;
    padding-top: 28px;
    resize: vertical;
}

.nf-select {
    cursor: pointer;
    padding-right: 40px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2367645e' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
}

.nf-label {
    position: absolute;
    top: 50%;
    left: 14px;
    transform: translateY(-50%);
    font-size: 14px;
    color: var(--nf-text-light);
    pointer-events: none;
    transition: all 0.2s ease;
    background: var(--nf-white);
    padding: 0 4px;
}

.nf-textarea + .nf-label {
    top: 20px;
}

.nf-input:focus + .nf-label, .nf-input:not(:placeholder-shown) + .nf-label, .nf-select + .nf-label {
    top: 10px;
    transform: translateY(0);
    font-size: 11px;
    color: var(--nf-primary);
    font-weight: 600;
}

.nf-checkbox-wrap {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 0;
    cursor: pointer;
}

.nf-checkbox-wrap input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.nf-checkbox-box {
    width: 20px;
    height: 20px;
    border: 2px solid var(--nf-border-dark);
    border-radius: 4px;
    flex-shrink: 0;
    position: relative;
    transition: all var(--nf-transition);
}

.nf-checkbox-wrap input:checked + .nf-checkbox-box {
    background: var(--nf-primary);
    border-color: var(--nf-primary);
}

.nf-checkbox-wrap input:checked + .nf-checkbox-box::after {
    content: "";
    position: absolute;
    left: 6px;
    top: 2px;
    width: 5px;
    height: 10px;
    border: solid var(--nf-white);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.nf-checkbox-text {
    font-size: 14px;
    color: var(--nf-black);
    line-height: 1.4;
}

.nf-user-box {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px;
    background: var(--nf-bg);
    border-radius: var(--nf-radius-lg);
    border: 1px solid var(--nf-border);
}

.nf-user-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--nf-primary) 0%, var(--nf-accent) 100%);
    color: var(--nf-white);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
}

.nf-user-info {
    flex: 1;
}

.nf-user-name {
    font-weight: 600;
    color: var(--nf-black);
    font-size: 14px;
}

.nf-user-email {
    font-size: 13px;
    color: var(--nf-text-light);
}

.nf-user-logout {
    font-size: 13px;
    color: var(--nf-primary);
    text-decoration: none;
    font-weight: 500;
}

.nf-user-logout:hover {
    color: var(--nf-accent);
}

.nf-address-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.nf-address-card {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 16px;
    background: var(--nf-white);
    border: 2px solid var(--nf-border);
    border-radius: var(--nf-radius-lg);
    cursor: pointer;
    transition: all var(--nf-transition);
}

.nf-address-card:hover {
    border-color: var(--nf-border-dark);
    box-shadow: var(--nf-shadow);
}

.nf-address-card.nf-selected {
    border-color: var(--nf-primary);
    background: linear-gradient(180deg, var(--nf-white) 0%, var(--nf-bg) 100%);
}

.nf-address-card input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.nf-radio-circle {
    width: 20px;
    height: 20px;
    border: 2px solid var(--nf-border-dark);
    border-radius: 50%;
    flex-shrink: 0;
    position: relative;
    transition: all var(--nf-transition);
}

.nf-address-card.nf-selected .nf-radio-circle {
    border-color: var(--nf-primary);
}

.nf-address-card.nf-selected .nf-radio-circle::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 10px;
    height: 10px;
    background: var(--nf-primary);
    border-radius: 50%;
}

.nf-address-content {
    flex: 1;
    min-width: 0;
}

.nf-address-title {
    font-weight: 600;
    color: var(--nf-black);
    font-size: 14px;
    margin-bottom: 4px;
}

.nf-address-name {
    font-size: 13px;
    color: var(--nf-black);
}

.nf-address-detail {
    font-size: 13px;
    color: var(--nf-text-light);
    line-height: 1.5;
}

.nf-address-edit {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--nf-text-light);
    border-radius: 6px;
    text-decoration: none;
    opacity: 0;
    transition: all var(--nf-transition);
}

.nf-address-card:hover .nf-address-edit {
    opacity: 1;
}

.nf-address-edit:hover {
    background: var(--nf-bg-alt);
    color: var(--nf-black);
}

.nf-add-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: none;
    border: none;
    color: var(--nf-primary);
    font-size: 14px;
    font-weight: 600;
    font-family: var(--nf-font);
    cursor: pointer;
    padding: 0;
    transition: color var(--nf-transition);
}

.nf-add-btn:hover {
    color: var(--nf-accent);
}

.nf-add-btn svg {
    width: 18px;
    height: 18px;
}

.nf-empty-state {
    text-align: center;
    padding: 40px 20px;
    background: var(--nf-bg);
    border-radius: var(--nf-radius-lg);
    border: 2px dashed var(--nf-border);
}

.nf-empty-state svg {
    width: 48px;
    height: 48px;
    color: var(--nf-border-dark);
    margin-bottom: 12px;
}

.nf-empty-state p {
    color: var(--nf-text-light);
    margin-bottom: 16px;
}

.nf-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 50px;
    padding: 0 28px;
    font-size: 14px;
    font-weight: 600;
    font-family: var(--nf-font);
    border-radius: var(--nf-radius);
    cursor: pointer;
    transition: all var(--nf-transition);
    text-decoration: none;
    border: none;
}

.nf-btn-primary {
    background: var(--nf-black);
    color: var(--nf-white);
}

.nf-btn-primary:hover {
    background: var(--nf-primary);
    transform: translateY(-1px);
    box-shadow: var(--nf-shadow-lg);
}

.nf-btn-secondary {
    background: var(--nf-white);
    color: var(--nf-black);
    border: 1px solid var(--nf-border-dark);
}

.nf-btn-secondary:hover {
    background: var(--nf-bg);
    border-color: var(--nf-primary);
}

.nf-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 32px;
    padding-top: 24px;
}

.nf-back-link {
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--nf-primary);
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: color var(--nf-transition);
}

.nf-back-link:hover {
    color: var(--nf-accent);
}

.nf-back-link svg {
    width: 14px;
    height: 14px;
}

.nf-checkout-footer {
    margin-top: 40px;
    padding-top: 20px;
    border-top: 1px solid var(--nf-border);
    display: flex;
    gap: 16px;
}

.nf-checkout-footer a {
    font-size: 12px;
    color: var(--nf-text-light);
    text-decoration: none;
}

.nf-checkout-footer a:hover {
    color: var(--nf-primary);
}

.nf-invoice-toggle {
    display: flex;
    background: var(--nf-bg);
    border-radius: var(--nf-radius);
    padding: 4px;
    margin-bottom: 20px;
}

.nf-invoice-toggle label {
    flex: 1;
    position: relative;
    cursor: pointer;
}

.nf-invoice-toggle input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.nf-invoice-toggle span {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 16px;
    font-size: 14px;
    font-weight: 500;
    color: var(--nf-text-light);
    border-radius: 6px;
    transition: all var(--nf-transition);
}

.nf-invoice-toggle input:checked + span {
    background: var(--nf-white);
    color: var(--nf-black);
    box-shadow: var(--nf-shadow);
}

.nf-invoice-toggle svg {
    width: 18px;
    height: 18px;
}

.nf-corporate-fields {
    display: none;
    padding: 16px;
    background: var(--nf-bg);
    border-radius: var(--nf-radius);
    margin-bottom: 16px;
}

.nf-corporate-fields.nf-show {
    display: block;
}

.nf-corporate-fields .nf-section-subtitle {
    font-size: 13px;
    font-weight: 600;
    color: var(--nf-black);
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.nf-corporate-fields .nf-section-subtitle svg {
    width: 16px;
    height: 16px;
    color: var(--nf-accent);
}

.nf-discount-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    background: linear-gradient(135deg, #5a8a5a 0%, #6ba36b 100%);
    color: var(--nf-white);
    border-radius: var(--nf-radius);
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 16px;
}

.nf-discount-badge svg {
    width: 16px;
    height: 16px;
}

.nf-sidebar-inner {
    position: sticky;
    top: 30px;
    background: var(--nf-white);
    border-radius: 16px;
    box-shadow: 0 4px 24px rgba(103, 100, 94, 0.08), 0 1px 3px rgba(0, 0, 0, 0.04);
    overflow: hidden;
}

.nf-summary-toggle {
    display: none;
}

.nf-sidebar-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px;
    background: linear-gradient(180deg, var(--nf-bg) 0%, transparent 100%);
    border-bottom: 1px solid var(--nf-border);
}

.nf-sidebar-title {
    font-size: 16px;
    font-weight: 700;
    color: var(--nf-black);
    letter-spacing: -0.02em;
    margin: 0;
}

.nf-sidebar-count {
    font-size: 13px;
    color: var(--nf-text-light);
    font-weight: 500;
}

.nf-summary-content {
    padding: 0;
    display: block;
}

.nf-summary-items {
    padding: 20px 24px;
    max-height: 320px;
    overflow-y: auto;
    margin: 0;
    border-bottom: none;
    background: var(--nf-white);
}

.nf-summary-items::-webkit-scrollbar {
    width: 4px;
}

.nf-summary-items::-webkit-scrollbar-track {
    background: transparent;
}

.nf-summary-items::-webkit-scrollbar-thumb {
    background: var(--nf-border);
    border-radius: 4px;
}

.nf-summary-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 16px 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.04);
    margin-bottom: 0;
}

.nf-summary-item:first-child {
    padding-top: 0;
}

.nf-summary-item:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.nf-item-img {
    position: relative;
    width: 72px;
    height: 72px;
    border-radius: 12px;
    overflow: hidden;
    background: var(--nf-bg);
    flex-shrink: 0;
    border: 1px solid var(--nf-border);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.nf-item-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.nf-item-img:hover img {
    transform: scale(1.05);
}

.nf-item-qty {
    position: absolute;
    top: -8px;
    right: -8px;
    min-width: 24px;
    height: 24px;
    padding: 0 6px;
    background: linear-gradient(135deg, var(--nf-accent) 0%, #c99861 100%);
    color: var(--nf-white);
    font-size: 12px;
    font-weight: 700;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 8px rgba(212, 165, 116, 0.4);
    border: 2px solid var(--nf-white);
}

.nf-item-info {
    flex: 1;
    min-width: 0;
    padding-top: 4px;
}

.nf-item-title {
    font-size: 14px;
    color: var(--nf-black);
    font-weight: 600;
    line-height: 1.4;
    margin-bottom: 4px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.nf-item-variant {
    font-size: 12px;
    color: var(--nf-text-light);
    background: var(--nf-bg);
    display: inline-block;
    padding: 2px 8px;
    border-radius: 4px;
    margin-top: 4px;
}

.nf-item-price {
    font-size: 15px;
    font-weight: 700;
    color: var(--nf-black);
    white-space: nowrap;
    padding-top: 4px;
}

.nf-coupon-row {
    display: flex;
    gap: 10px;
    padding: 20px 24px;
    background: linear-gradient(180deg, rgba(250, 249, 247, 0.5) 0%, var(--nf-white) 100%);
    border-top: 1px solid var(--nf-border);
    border-bottom: 1px solid var(--nf-border);
}

.nf-coupon-input {
    flex: 1;
    height: 48px;
    padding: 0 16px;
    font-size: 14px;
    font-family: var(--nf-font);
    color: var(--nf-black);
    background: var(--nf-white);
    border: 2px solid var(--nf-border);
    border-radius: 10px;
    outline: none;
    transition: all 0.25s ease;
}

.nf-coupon-input::placeholder {
    color: var(--nf-text-light);
}

.nf-coupon-input:focus {
    border-color: var(--nf-accent);
    box-shadow: 0 0 0 4px rgba(212, 165, 116, 0.15);
}

.nf-coupon-btn {
    height: 48px;
    padding: 0 20px;
    font-size: 14px;
    font-weight: 600;
    font-family: var(--nf-font);
    color: var(--nf-white);
    background: linear-gradient(135deg, var(--nf-primary) 0%, #4d4b47 100%);
    border: none;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.25s ease;
    white-space: nowrap;
}

.nf-coupon-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(103, 100, 94, 0.25);
}

.nf-coupon-btn:active {
    transform: translateY(0);
}

.nf-totals {
    padding: 24px;
    background: var(--nf-white);
}

.nf-total-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    font-size: 14px;
    color: var(--nf-text);
    border-bottom: 1px solid rgba(0, 0, 0, 0.04);
}

.nf-total-row:last-of-type:not(.nf-grand) {
    border-bottom: none;
}

.nf-total-row span:first-child {
    color: var(--nf-text-light);
}

.nf-total-row span:last-child {
    font-weight: 600;
    color: var(--nf-black);
}

.nf-total-row.nf-discount {
    background: linear-gradient(90deg, rgba(90, 138, 90, 0.08) 0%, transparent 100%);
    margin: 0 -24px;
    padding: 12px 24px;
    border-radius: 0;
}

.nf-total-row.nf-discount span:first-child {
    color: var(--nf-success);
    display: flex;
    align-items: center;
    gap: 6px;
}

.nf-total-row.nf-discount span:first-child::before {
    content: "";
    width: 6px;
    height: 6px;
    background: var(--nf-success);
    border-radius: 50%;
}

.nf-total-row.nf-discount span:last-child {
    color: var(--nf-success);
    font-weight: 700;
}

.nf-total-row.nf-grand {
    padding: 20px 0 0;
    margin-top: 16px;
    border-top: 2px solid var(--nf-border);
    border-bottom: none;
    font-size: 16px;
    color: var(--nf-black);
}

.nf-total-row.nf-grand span:first-child {
    font-weight: 700;
    color: var(--nf-black);
    font-size: 16px;
}

.nf-grand-amount {
    font-size: 28px;
    font-weight: 800;
    color: var(--nf-black);
    letter-spacing: -0.02em;
}

.nf-grand-currency {
    font-size: 14px;
    font-weight: 500;
    color: var(--nf-text-light);
    margin-right: 2px;
}

.nf-sidebar-trust {
    display: flex;
    justify-content: center;
    gap: 20px;
    padding: 20px 24px;
    background: var(--nf-bg);
    border-top: 1px solid var(--nf-border);
}

.nf-sidebar-trust span {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    color: var(--nf-text-light);
}

.nf-sidebar-trust svg {
    width: 14px;
    height: 14px;
    color: var(--nf-success);
}

.nf-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    padding: 20px;

    --nf-white: #ffffff;
    --nf-bg: #faf9f7;
    --nf-bg-alt: #f5f4f2;
    --nf-border: #e0ddd8;
    --nf-black: #1d1d1f;
    --nf-text-light: #8a8680;
    --nf-radius-lg: 12px;
    --nf-shadow-lg: 0 8px 30px rgba(103, 100, 94, 0.15);
    --nf-transition: 0.25s ease;
}

.nf-modal-overlay.nf-show {
    display: flex;
}

.nf-modal {
    background: var(--nf-white);
    border-radius: var(--nf-radius-lg);
    width: 100%;
    max-width: 520px;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: var(--nf-shadow-lg);
}

.nf-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 24px;
    border-bottom: 1px solid var(--nf-border);
    background: var(--nf-bg);
}

.nf-modal-title {
    font-size: 18px;
    font-weight: 600;
    color: var(--nf-black);
}

.nf-modal-close {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    color: var(--nf-text-light);
    cursor: pointer;
    border-radius: 6px;
    transition: all var(--nf-transition);
}

.nf-modal-close:hover {
    background: var(--nf-bg-alt);
    color: var(--nf-black);
}

.nf-modal-body {
    padding: 24px;
}

.nf-modal-footer {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    padding: 16px 24px;
    border-top: 1px solid var(--nf-border);
    background: var(--nf-bg);
}

.nf-btn-danger {
    background: var(--nf-white);
    color: var(--nf-error);
    border: 1px solid var(--nf-error);
}

.nf-btn-danger:hover {
    background: var(--nf-error);
    color: var(--nf-white);
}

@media (max-width: 900px) {
    .nf-checkout-main {
        grid-template-columns: 1fr;
    }

    .nf-checkout-sidebar {
        order: -1;
        border-bottom: none;
        padding: 0;
        background: var(--nf-white);
    }

    .nf-checkout-main .checkout-sidebar {
        order: -1;
        border-bottom: none;
        padding: 20px;
        background: var(--nf-white);
    }

    .nf-checkout-main .checkout-sidebar .order-summary-2026 {
        position: relative;
        top: 0;
    }

    .nf-checkout-form-area {
        padding: 30px 20px;
        border-right: none;
    }

    .nf-sidebar-inner {
        position: static;
        border-radius: 0;
        box-shadow: none;
        border-bottom: 1px solid var(--nf-border);
    }

    .nf-sidebar-header {
        display: none;
    }

    .nf-summary-toggle {
        display: flex;
        width: 100%;
        padding: 18px 20px;
        background: linear-gradient(180deg, var(--nf-bg) 0%, var(--nf-white) 100%);
        border: none;
        border-bottom: 1px solid var(--nf-border);
        cursor: pointer;
        align-items: center;
        justify-content: space-between;
    }

    .nf-toggle-left {
        display: flex;
        align-items: center;
        gap: 10px;
        color: var(--nf-primary);
        font-size: 15px;
        font-weight: 600;
        font-family: var(--nf-font);
    }

    .nf-toggle-left svg {
        width: 20px;
        height: 20px;
        color: var(--nf-accent);
    }

    .nf-toggle-price {
        font-size: 20px;
        font-weight: 800;
        color: var(--nf-black);
        letter-spacing: -0.02em;
    }

    .nf-toggle-arrow {
        width: 16px;
        height: 16px;
        color: var(--nf-text-light);
        transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        margin-left: 8px;
    }

    .nf-summary-toggle.nf-open .nf-toggle-arrow {
        transform: rotate(180deg);
    }

    .nf-summary-content {
        display: none;
        padding: 0;
        background: var(--nf-white);
        animation: slideDown 0.3s ease;
    }

    @keyframes slideDown {
        from {
            opacity: 0;
            transform: translateY(-10px);
        }

        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    .nf-summary-content.nf-show {
        display: block;
    }

    .nf-summary-items {
        max-height: 200px;
        padding: 16px 20px;
    }

    .nf-item-img {
        width: 60px;
        height: 60px;
        border-radius: 10px;
    }

    .nf-coupon-row {
        padding: 16px 20px;
        margin: 0;
    }

    .nf-totals {
        padding: 20px;
    }

    .nf-total-row.nf-discount {
        margin: 0 -20px;
        padding: 12px 20px;
    }

    .nf-grand-amount {
        font-size: 24px;
    }

    .nf-actions {
        flex-direction: column-reverse;
        gap: 16px;
    }

    .nf-btn-primary {
        width: 100%;
    }
}

@media (max-width: 600px) {
    .nf-form-row {
        grid-template-columns: 1fr;
    }

    .nf-checkout-footer {
        flex-direction: column;
        gap: 8px;
    }

    .nf-modal-footer {
        flex-direction: column;
    }

    .nf-modal-footer .nf-btn {
        width: 100%;
    }
}

.floating-atc {
    display: none;
}

div#copyright-image {
    clear: both;
    text-align: center;
}

.cp-logos {
    position: relative;
    display: inline-block;
    width: 175px;
    height: 40px;
    margin: auto;
    text-align: center;
}

.cp-logos, .cp-logos * {
    box-sizing: border-box;
}

.cp-logos-link {
    position: relative;
    display: block;
    width: 175px;
    height: 40px;
    color: inherit;
    text-decoration: none;
}

.cp-logos-link:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
}

.cp-logos-card {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    perspective: 400px;
}

.cp-logos-card .front, .cp-logos-card .back {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    transform-style: preserve-3d;
    transition: transform 0.4s ease;
}

.cp-logos-card .front > span, .cp-logos-card .back > span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.cp-logos-card img {
    display: block;
    max-width: 50px;
    height: auto;
}

.cp-logos-card .front {
    transform: rotateY(0deg);
}

.cp-logos-card .back {
    transform: rotateY(180deg);
}

.cp-logos-card .back > span {
    font-size: 12px;
    line-height: 1.2;
    color: inherit;
}

.cp-logos:hover .cp-logos-card .front, .cp-logos:focus-within .cp-logos-card .front {
    transform: rotateY(180deg);
}

.cp-logos:hover .cp-logos-card .back, .cp-logos:focus-within .cp-logos-card .back {
    transform: rotateY(360deg);
}

.tooltip-cp-logos {
    position: relative;
    z-index: 20;
    display: block;
    pointer-events: none;
}

.tooltip-cp-logos-content {
    position: absolute;
    bottom: 100%;
    left: 0;
    z-index: 9999;
    width: 175px;
    margin-bottom: 8px;
    font-size: 13px;
    font-weight: 400;
    color: #fff;
    text-align: center;
    background: transparent;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease 0.3s;
}

.cp-logos:hover .tooltip-cp-logos-content, .cp-logos:focus-within .tooltip-cp-logos-content {
    opacity: 1;
    transition-delay: 0s;
}

.tooltip-cp-logos-content span {
    display: block;
}

.tooltip-cp-logos-text {
    overflow: hidden;
    border-bottom: 2px solid #fffaf0;
    transform: scale3d(0, 1, 1);
    transition: transform 0.3s ease 0.3s;
}

.cp-logos:hover .tooltip-cp-logos-text, .cp-logos:focus-within .tooltip-cp-logos-text {
    transform: scale3d(1, 1, 1);
    transition-delay: 0s;
}

.tooltip-cp-logos-text-inner {
    padding: 7px 10px;
    font-weight: 700;
    background: rgba(0, 0, 0, 0.7);
    transform: translate3d(0, 100%, 0);
    transition: transform 0.3s ease;
}

.cp-logos:hover .tooltip-cp-logos-text-inner, .cp-logos:focus-within .tooltip-cp-logos-text-inner {
    transform: translate3d(0, 0, 0);
    transition-delay: 0.3s;
}

.tooltip-cp-logos-content::after {
    position: absolute;
    bottom: -14px;
    left: 50%;
    width: 0;
    height: 0;
    margin-left: -7px;
    content: "";
    pointer-events: none;
    border: solid transparent;
    border-width: 7px;
    border-top-color: #fffaf0;
}

@media (prefers-reduced-motion: reduce) {
    .cp-logos-card .front, .cp-logos-card .back, .tooltip-cp-logos-content, .tooltip-cp-logos-text, .tooltip-cp-logos-text-inner {
        transition: none;
    }
}

.product-card-price {
    display: flex;
    margin: 0px 10px;
    flex-direction: column;
    align-items: center;
    width: 100%!important;
    text-align: center;
}

.product-card-price .price {
    font-size: 14pt;
}

.product-card-price .discount-original-price {
    color: var(--nefin-red)!important;
    font-size: 10pt!important;
}

a:focus-visible, button:focus-visible, [role="button"]:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
    outline: 2px solid var(--nefin-accent) !important;
    outline-offset: 2px;
}

.dropdown-menu.show, .dropdown.show > .dropdown-menu, .nav-item.show > .dropdown-menu, .open > .dropdown-menu {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

#header, .top-bar, .nav-top, .nav-main, .nav-main .navbar, .nav-main .navbar-nav, .nav-main .nav-item, .mega-menu, .profile-dropdown, .top-menu-dropdown, .search-select {
    overflow: visible;
}

.dropdown, .nav-item.dropdown, .profile-dropdown, .top-menu-dropdown, .search-select {
    position: relative;
}

.dropdown-menu {
    z-index: 10050;
    max-width: min(420px, calc(100vw - 24px));
    overflow-y: auto;
    overscroll-behavior: contain;
}

@media (min-width: 992px) {
    .nav-main .dropdown:hover > .dropdown-menu, .nav-main .dropdown:focus-within > .dropdown-menu, .mega-menu .dropdown:hover > .dropdown-menu, .mega-menu .dropdown:focus-within > .dropdown-menu {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .nav-main .dropdown-menu {
        top: 100%;
    }

    .profile-dropdown .dropdown-menu, .top-menu-dropdown .dropdown-menu {
        top: calc(100% + 6px) !important;
    }
}

@media (max-width: 991.98px) {
    html, body {
        max-width: 100%;
        overflow-x: hidden;
    }

    .mobile-nav-container, .nav-mobile-header {
        display: block;
    }

    .nav-mobile {
        top: 66px;
        max-width: min(88vw, 340px);
        overflow: hidden;
    }

    .nav-mobile-open {
        width: min(88vw, 340px);
    }

    .nav-mobile-open .nav-mobile-inner {
        width: 100%;
    }

    .nav-mobile .nav-mobile-sc {
        height: 100%;
        overflow-y: auto;
        overflow-x: hidden;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
    }

    .nav-mobile .nav-mobile-inner {
        width: 100%;
        padding: 16px;
        padding-bottom: max(96px, env(safe-area-inset-bottom));
    }

    .nav-mobile .navbar-nav, .mobile-nav-buttons {
        width: 100%;
        max-width: 100%;
    }

    .nav-mobile .navbar-nav .nav-item {
        overflow: visible;
    }

    .nav-mobile .navbar-nav .nav-item > .nav-link, .nav-mobile .navbar-nav .dropdown-toggle, .nav-mobile .profile-dropdown > a, .nav-mobile .profile-dropdown > button {
        min-height: 44px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 11px 4px;
        touch-action: manipulation;
    }

    .nav-mobile .dropdown.show > .dropdown-menu, .nav-mobile .nav-item.show > .dropdown-menu, .nav-mobile .dropdown.open > .dropdown-menu, .nav-mobile .nav-item.open > .dropdown-menu, .nav-mobile [aria-expanded="true"] + .dropdown-menu, .nav-mobile .dropdown-menu.show, .nav-mobile .mobile-flex-dropdowns .dropdown.show > .dropdown-menu, .nav-mobile .mobile-flex-dropdowns .dropdown.open > .dropdown-menu {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        height: auto !important;
        pointer-events: auto !important;
    }

    .nav-mobile .navbar-nav > .nav-item > .dropdown-menu, .nav-mobile .mobile-flex-dropdowns .dropdown-menu, .nav-mobile .profile-dropdown .dropdown-menu {
        position: static !important;
        inset: auto !important;
        transform: none !important;
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 0 0 15px;
        padding: 4px 0 8px 12px !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        overflow: visible !important;
    }

    .nav-mobile .profile-dropdown .dropdown-menu {
        left: auto !important;
        top: auto !important;
    }

    .nav-mobile .dropdown-menu li, .nav-mobile .dropdown-menu .dropdown-item {
        width: 100%;
        max-width: 100%;
    }

    .nav-mobile .dropdown-menu a, .nav-mobile .dropdown-menu button, .nav-mobile .dropdown-menu .dropdown-item {
        display: flex !important;
        align-items: center;
        min-height: 42px;
        width: 100%;
        padding: 9px 12px !important;
        white-space: normal !important;
        overflow-wrap: anywhere;
        text-align: left;
    }

    .nav-mobile .dropdown-toggle::after {
        display: inline-block !important;
        width: 8px;
        height: 8px;
        margin-left: auto;
        border: 0 !important;
        border-right: 2px solid currentColor !important;
        border-bottom: 2px solid currentColor !important;
        transform: rotate(45deg);
        transition: transform .2s ease;
        flex: 0 0 auto;
    }

    .nav-mobile .dropdown.show > .dropdown-toggle::after, .nav-mobile .dropdown.open > .dropdown-toggle::after, .nav-mobile .dropdown-toggle[aria-expanded="true"]::after {
        transform: rotate(225deg);
    }

    .search-select .dropdown-menu.show, .top-menu-dropdown .dropdown-menu.show, .profile-dropdown .dropdown-menu.show {
        display: block !important;
    }

    .top-search-bar {
        width: 100%;
        min-width: 0;
    }

    .search-select button {
        width: auto;
        max-width: 145px;
    }

    .search-results-ajax {
        max-width: calc(100vw - 24px);
        max-height: min(65dvh, 520px);
    }
}

@media (max-width: 575.98px) {
    .container {
        padding-right: 12px;
        padding-left: 12px;
    }

    .nav-mobile {
        max-width: 92vw;
    }

    .nav-mobile-open {
        width: 92vw;
    }

    .nav-mobile-header-container .flex-item {
        height: 56px;
    }

    .nav-mobile-header-container .mobile-logo .logo {
        max-width: 124px;
        max-height: 44px;
    }

    .dropdown-menu {
        max-width: calc(100vw - 16px);
    }

    .btn {
        min-height: 40px;
    }

    .form-input, .form-control, .custom-select {
        font-size: 16px !important;

    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
}

.btn-item-add-to-cart .product-card-price {
    width: 20%;
}

:root {
    --account-bg: #faf9f7;
    --account-surface: #ffffff;
    --account-surface-soft: #f5f3f0;
    --account-border: #e7e4df;
    --account-border-strong: #d8d3cc;
    --account-text: #1d1d1f;
    --account-muted: #77736d;
    --account-primary: #67645e;
    --account-primary-dark: #45433f;
    --account-accent: #d4a574;
    --account-success: #427a57;
    --account-danger: #b34f4f;
    --account-radius-sm: 10px;
    --account-radius-md: 16px;
    --account-radius-lg: 22px;
    --account-shadow: 0 10px 32px rgba(38, 35, 31, 0.06);
    --account-shadow-hover: 0 16px 40px rgba(38, 35, 31, 0.10);
}

#wrapper:has(.nefin-account-layout) {
    background: var(--account-bg);
    padding-bottom: 88px;
}

#wrapper > .nefin-page-header {
    background: var(--account-surface-soft);
    border: 0;
    padding: 34px 0 38px;
}

#wrapper > .nefin-page-header .nefin-container,
.nefin-account-layout {
    width: min(100% - 48px, 1400px);
    margin-inline: auto;
    padding-inline: 0;
}

#wrapper > .nefin-page-header .nefin-breadcrumb {
    padding: 0;
    margin: 0 0 13px;
}

#wrapper > .nefin-page-header .breadcrumb,
#wrapper > .nefin-page-header .breadcrumb-item,
#wrapper > .nefin-page-header .breadcrumb-item a {
    font-size: 12px;
    line-height: 1.4;
    letter-spacing: .02em;
    text-transform: none;
}

#wrapper > .nefin-page-header .nefin-page-title {
    margin: 0;
    color: var(--account-text);
    font-size: clamp(32px, 3vw, 46px);
    font-weight: 600;
    line-height: 1.08;
    letter-spacing: -.035em;
}

.nefin-account-layout {
    display: grid;
    grid-template-columns: 248px minmax(0, 1fr);
    align-items: start;
    gap: 32px;
    padding-top: 42px;
    padding-bottom: 0;
}

.nefin-account-sidebar {
    width: auto;
    min-width: 0;
    position: sticky;
    top: 96px;
}

.nefin-account-content {
    width: 100%;
    min-width: 0;
}

.nefin-account-sidebar .profile-tabs {
    padding: 10px;
    border: 1px solid var(--account-border);
    border-radius: var(--account-radius-md);
    background: rgba(255,255,255,.94);
    box-shadow: 0 8px 26px rgba(38,35,31,.045);
}

.nefin-account-sidebar .profile-tabs .nav {
    gap: 4px;
}

.nefin-account-sidebar .profile-tabs .nav .nav-item .nav-link {
    min-height: 46px;
    padding: 11px 13px;
    gap: 11px;
    border-radius: 10px;
    color: #514f4b;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.25;
}

.nefin-account-sidebar .profile-tabs .nav .nav-item .nav-link i,
.nefin-account-sidebar .profile-tabs .nav .nav-item .nav-link svg {
    width: 17px;
    min-width: 17px;
    height: 17px;
    margin: 0;
    color: #7e7a74;
}

.nefin-account-sidebar .profile-tabs .nav .nav-link:hover {
    background: var(--account-surface-soft);
    color: var(--account-text);
    opacity: 1;
}

.nefin-account-sidebar .profile-tabs .nav .active .nav-link,
.nefin-account-sidebar .profile-tabs .nav .nav-item.active .nav-link,
.nefin-account-sidebar .profile-tabs .nav .nav-link.active {
    background: var(--account-primary);
    color: #fff;
    box-shadow: 0 6px 16px rgba(103,100,94,.20);
}

.nefin-account-sidebar .profile-tabs .nav .active .nav-link i,
.nefin-account-sidebar .profile-tabs .nav .active .nav-link svg,
.nefin-account-sidebar .profile-tabs .nav .nav-item.active .nav-link i,
.nefin-account-sidebar .profile-tabs .nav .nav-item.active .nav-link svg,
.nefin-account-sidebar .profile-tabs .nav .nav-link.active i,
.nefin-account-sidebar .profile-tabs .nav .nav-link.active svg {
    color: #fff;
}

.nefin-content-card {
    width: 100%;
    max-width: 1050px;
    padding: clamp(28px, 3.5vw, 52px);
    border: 1px solid var(--account-border);
    border-radius: var(--account-radius-lg);
    background: var(--account-surface);
    box-shadow: var(--account-shadow);
}

.nefin-content-card > .nefin-section-header {
    margin: 0 0 34px;
    padding: 0 0 28px;
    border-bottom: 1px solid var(--account-border);
    text-align: left;
}

.nefin-section-title-group {
    display: flex;
    align-items: center;
    gap: 16px;
}

.nefin-section-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    border-radius: 14px;
    background: var(--account-surface-soft);
    color: var(--account-primary);
}

.nefin-section-icon svg {
    width: 21px;
    height: 21px;
}

.nefin-content-title {
    margin: 0 0 5px;
    color: var(--account-text);
    font-size: clamp(21px, 2vw, 27px);
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -.02em;
}

.nefin-content-subtitle {
    margin: 0;
    color: var(--account-muted);
    font-size: 13px;
    line-height: 1.6;
}

.nefin-content-card form {
    width: 100%;
}

.nefin-form-section {
    padding: 0 0 32px;
    margin: 0 0 32px;
    border-bottom: 1px solid var(--account-border);
}

.nefin-form-section:last-of-type {
    margin-bottom: 26px;
}

.nefin-form-section-title {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 20px;
    color: var(--account-text);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: -.01em;
}

.nefin-form-section-title::before {
    content: "";
    width: 3px;
    height: 16px;
    border-radius: 999px;
    background: var(--account-accent);
}

.nefin-form-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin: 0;
}

.nefin-form-row .nefin-form-group,
.nefin-form-group {
    min-width: 0;
    margin: 0 0 18px;
}

.nefin-label {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
    margin: 0 0 8px;
    color: #46433f;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.nefin-input,
.nefin-select,
.nefin-textarea {
    display: block;
    width: 100%;
    min-height: 48px;
    padding: 12px 15px;
    border: 1px solid transparent;
    border-radius: var(--account-radius-sm);
    background: var(--account-surface-soft);
    color: var(--account-text);
    font-size: 14px;
    line-height: 1.45;
    box-shadow: inset 0 0 0 1px rgba(0,0,0,0);
    transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.nefin-input:hover,
.nefin-select:hover,
.nefin-textarea:hover {
    border-color: var(--account-border-strong);
}

.nefin-input:focus,
.nefin-select:focus,
.nefin-textarea:focus {
    border-color: var(--account-primary);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(103,100,94,.10);
    outline: none;
}

.nefin-input::placeholder,
.nefin-textarea::placeholder {
    color: #aaa6a0;
    opacity: 1;
}

.nefin-select {
    padding-right: 42px;
    background-position: right 15px center;
}

.nefin-textarea {
    min-height: 126px;
    resize: vertical;
}

.nefin-avatar-upload {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 22px;
    border: 1px solid var(--account-border);
    border-radius: var(--account-radius-md);
    background: var(--account-surface-soft);
}

.nefin-avatar-preview {
    position: relative;
    width: 112px;
    height: 112px;
    flex: 0 0 112px;
    border-radius: 50%;
    background: #e7e5e1;
    box-shadow: 0 0 0 5px #fff, 0 8px 22px rgba(38,35,31,.10);
}

.nefin-avatar-preview > img {
    width: 100%;
    height: 100%;
    border-radius: inherit;
    object-fit: cover;
}

.nefin-avatar-edit {
    position: absolute;
    right: -2px;
    bottom: 2px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    margin: 0;
    border: 3px solid #fff;
    border-radius: 50%;
    background: var(--account-primary);
    color: #fff;
    cursor: pointer;
    box-shadow: 0 6px 14px rgba(38,35,31,.20);
    transition: transform .2s ease, background-color .2s ease;
}

.nefin-avatar-edit:hover {
    background: var(--account-primary-dark);
    transform: translateY(-1px);
}

.nefin-avatar-edit input[type="file"] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

.nefin-avatar-info h4 {
    margin: 0 0 7px;
    color: var(--account-text);
    font-size: 15px;
    font-weight: 600;
}

.nefin-avatar-info p {
    max-width: 520px;
    margin: 0;
    color: var(--account-muted);
    font-size: 12px;
    line-height: 1.65;
}

.nefin-label .nefin-badge-success,
.nefin-label .nefin-badge-danger {
    margin: 0;
    padding: 3px 8px;
    font-size: 10px;
    letter-spacing: 0;
    text-transform: none;
}

.nefin-label .nefin-link {
    margin: 0;
    font-size: 11px;
    letter-spacing: 0;
    text-transform: none;
}

.nefin-form-section .nefin-checkbox {
    position: relative;
    align-items: flex-start;
    gap: 12px;
    margin: 0;
    padding: 13px 14px;
    border: 1px solid var(--account-border);
    border-radius: 11px;
    background: #fff;
    color: #4d4a46;
    font-size: 13px;
    line-height: 1.5;
    transition: background-color .2s ease, border-color .2s ease;
}

.nefin-form-section .nefin-checkbox:hover {
    border-color: var(--account-border-strong);
    background: var(--account-surface-soft);
}

.nefin-form-section .nefin-checkbox input {
    width: 18px;
    height: 18px;
    margin-top: 1px;
    accent-color: var(--account-primary);
}

.nefin-form-section .nefin-checkbox-mark {
    display: none;
}

.nefin-content-card .nefin-btn-primary {
    min-height: 48px;
    padding: 13px 22px;
    gap: 9px;
    border-radius: 12px;
    background: var(--account-primary);
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    box-shadow: 0 8px 18px rgba(103,100,94,.18);
}

.nefin-content-card .nefin-btn-primary:hover,
.nefin-content-card .nefin-btn-primary:focus {
    background: var(--account-primary-dark);
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 11px 24px rgba(69,67,63,.22);
    opacity: 1;
}

.nefin-content-card .nefin-btn-primary:active {
    transform: translateY(0);
}

.nefin-content-card .alert {
    margin-bottom: 26px;
    border-radius: 12px;
    font-size: 13px;
}

.nefin-input.error,
.nefin-select.error,
.nefin-textarea.error,
.nefin-input.is-invalid,
.nefin-select.is-invalid,
.nefin-textarea.is-invalid {
    border-color: var(--account-danger);
    background: #fffafa;
}

@media (max-width: 1100px) {
    .nefin-account-layout {
        grid-template-columns: 220px minmax(0, 1fr);
        gap: 24px;
    }

    .nefin-content-card {
        padding: 32px;
    }
}

@media (max-width: 991.98px) {
    #wrapper > .nefin-page-header .nefin-container,
    .nefin-account-layout {
        width: min(100% - 32px, 900px);
    }

    .nefin-account-layout {
        display: flex;
        flex-direction: column;
        gap: 20px;
        padding-top: 26px;
    }

    .nefin-account-sidebar {
        position: static;
        width: 100%;
    }

    .nefin-account-sidebar .profile-tabs .nav {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .nefin-account-sidebar .profile-tabs .nav .nav-item .nav-link {
        justify-content: center;
        text-align: center;
    }

    .nefin-content-card {
        max-width: none;
    }
}

@media (max-width: 767.98px) {
    #wrapper:has(.nefin-account-layout) {
        padding-bottom: 52px;
    }

    #wrapper > .nefin-page-header {
        padding: 26px 0 29px;
    }

    #wrapper > .nefin-page-header .nefin-container,
    .nefin-account-layout {
        width: min(100% - 24px, 680px);
    }

    #wrapper > .nefin-page-header .nefin-page-title {
        font-size: 32px;
    }

    .nefin-account-sidebar .profile-tabs {
        overflow-x: auto;
        scrollbar-width: none;
    }

    .nefin-account-sidebar .profile-tabs::-webkit-scrollbar {
        display: none;
    }

    .nefin-account-sidebar .profile-tabs .nav {
        display: flex;
        flex-direction: row;
        width: max-content;
        min-width: 100%;
    }

    .nefin-account-sidebar .profile-tabs .nav .nav-item {
        width: auto;
        flex: 0 0 auto;
    }

    .nefin-account-sidebar .profile-tabs .nav .nav-item .nav-link {
        min-height: 42px;
        padding: 10px 13px;
        white-space: nowrap;
    }

    .nefin-content-card {
        padding: 22px 18px;
        border-radius: 18px;
    }

    .nefin-content-card > .nefin-section-header {
        margin-bottom: 26px;
        padding-bottom: 22px;
    }

    .nefin-section-icon {
        width: 42px;
        height: 42px;
        flex-basis: 42px;
    }

    .nefin-form-section {
        padding-bottom: 26px;
        margin-bottom: 26px;
    }

    .nefin-form-row {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .nefin-avatar-upload {
        align-items: flex-start;
        padding: 18px;
    }

    .nefin-avatar-preview {
        width: 88px;
        height: 88px;
        flex-basis: 88px;
    }

    .nefin-content-card .nefin-btn-primary {
        width: 100%;
    }
}

@media (max-width: 479.98px) {
    .nefin-avatar-upload {
        flex-direction: column;
    }

    .nefin-avatar-info {
        padding-top: 4px;
    }

    .nefin-label {
        align-items: flex-start;
    }
}

@media (prefers-reduced-motion: reduce) {
    .nefin-avatar-edit,
    .nefin-content-card .nefin-btn-primary,
    .nefin-input,
    .nefin-select,
    .nefin-textarea {
        transition: none;
    }
}

.nefin-account-content .nefin-loyalty-card,
.nefin-account-content .nefin-stats-grid,
.nefin-account-content .nefin-info-card {
    width: 100%;
    max-width: 100%;
}

.nefin-account-content .nefin-loyalty-card {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 206px;
    display: flex;
    align-items: stretch;
    padding: 34px 36px;
    margin-bottom: 20px;
    color: #fff;
    background: #56534e;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 22px;
    box-shadow: 0 16px 42px rgba(29, 29, 31, .12);
}

.nefin-account-content .nefin-loyalty-card::before {
    content: "";
    position: absolute;
    z-index: -1;
    right: -72px;
    bottom: -110px;
    width: 280px;
    height: 280px;
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 50%;
}

.nefin-account-content .nefin-loyalty-card::after {
    content: "";
    position: absolute;
    z-index: -1;
    right: 58px;
    bottom: -132px;
    width: 220px;
    height: 220px;
    border: 1px solid rgba(255, 255, 255, .05);
    border-radius: 50%;
}

.nefin-account-content .nefin-loyalty-row {
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 32px;
}

.nefin-account-content .nefin-loyalty-points {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.nefin-account-content .nefin-loyalty-points h4 {
    margin: 0 0 14px;
    color: rgba(255, 255, 255, .78);
    font-size: 13px;
    line-height: 1.4;
    font-weight: 500;
    letter-spacing: .02em;
}

.nefin-account-content .nefin-loyalty-points h2 {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin: 0;
    color: #fff;
    font-size: clamp(42px, 5vw, 58px);
    line-height: .95;
    font-weight: 650;
    letter-spacing: -.055em;
}

.nefin-account-content .nefin-loyalty-points h2 span {
    color: rgba(255, 255, 255, .72);
    font-size: 17px;
    font-weight: 400;
    letter-spacing: 0;
}

.nefin-account-content .nefin-points-value {
    margin: 18px 0 0;
    color: rgba(255, 255, 255, .66);
    font-size: 13px;
}

.nefin-account-content .nefin-loyalty-level {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 10px;
    text-align: right;
}

.nefin-account-content .nefin-level-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 42px;
    padding: 9px 14px;
    color: #fff;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .11);
    border-radius: 999px;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.nefin-account-content .nefin-level-icon {
    width: 20px;
    height: 20px;
    color: #ddb17f;
}

.nefin-account-content .nefin-level-icon svg {
    width: 20px;
    height: 20px;
    color: currentColor;
}

.nefin-account-content .nefin-level-name {
    font-size: 14px;
    line-height: 1;
    font-weight: 600;
}

.nefin-account-content .nefin-multiplier {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    color: rgba(255, 255, 255, .74);
    font-size: 12px;
}

.nefin-account-content .nefin-stats-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 20px;
}

.nefin-account-content .nefin-stat-card {
    min-height: 116px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: 22px 24px;
    text-align: left;
    background: var(--account-surface-soft, #f5f3f0);
    border: 1px solid var(--account-border, #e7e4df);
    border-radius: 16px;
    box-shadow: none;
    transition: border-color .2s ease, transform .2s ease, background-color .2s ease;
}

.nefin-account-content .nefin-stat-card:hover {
    transform: translateY(-2px);
    background: #fff;
    border-color: var(--account-border-strong, #d8d3cc);
}

.nefin-account-content .nefin-stat-value {
    margin: 0 0 8px;
    color: var(--account-text, #1d1d1f);
    font-size: 30px;
    line-height: 1;
    font-weight: 650;
    letter-spacing: -.04em;
}

.nefin-account-content .nefin-stat-label {
    color: var(--account-muted, #77736d);
    font-size: 12px;
    line-height: 1.4;
    font-weight: 500;
}

.nefin-account-content .nefin-info-card {
    display: block;
    overflow: hidden;
    margin: 0 0 20px;
    padding: 0;
    background: var(--account-surface, #fff);
    border: 1px solid var(--account-border, #e7e4df);
    border-radius: 18px;
    box-shadow: 0 8px 26px rgba(29, 29, 31, .035);
    transform: none;
}

.nefin-account-content .nefin-info-card:hover {
    transform: none;
    box-shadow: 0 8px 26px rgba(29, 29, 31, .035);
}

.nefin-account-content .nefin-info-header {
    display: flex;
    align-items: center;
    min-height: 62px;
    padding: 18px 22px;
    background: var(--account-surface-soft, #f5f3f0);
    border-bottom: 1px solid var(--account-border, #e7e4df);
}

.nefin-account-content .nefin-info-header h5 {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    color: var(--account-text, #1d1d1f);
    font-size: 14px;
    line-height: 1.4;
    font-weight: 650;
    letter-spacing: -.01em;
}

.nefin-account-content .nefin-info-header h5 svg {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    color: var(--account-primary, #67645e);
}

.nefin-account-content .nefin-info-body {
    display: block;
    padding: 24px;
    background: #fff;
}

.nefin-account-content .nefin-earn-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.nefin-account-content .nefin-earn-item {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px;
    background: #fff;
    border: 1px solid var(--account-border, #e7e4df);
    border-radius: 14px;
}

.nefin-account-content .nefin-earn-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--account-primary, #67645e);
    background: var(--account-surface-soft, #f5f3f0);
    border-radius: 12px;
}

.nefin-account-content .nefin-earn-icon svg {
    width: 20px;
    height: 20px;
}

.nefin-account-content .nefin-earn-content {
    min-width: 0;
}

.nefin-account-content .nefin-earn-content h6 {
    margin: 0 0 4px;
    color: var(--account-text, #1d1d1f);
    font-size: 13px;
    line-height: 1.4;
    font-weight: 650;
}

.nefin-account-content .nefin-earn-content p {
    margin: 0;
    color: var(--account-muted, #77736d);
    font-size: 12px;
    line-height: 1.55;
}

.nefin-account-content .nefin-referral-group {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
}

.nefin-account-content .nefin-referral-group .nefin-input {
    min-width: 0;
}

.nefin-account-content .nefin-table-responsive {
    width: 100%;
    overflow-x: auto;
}

.nefin-account-content .nefin-table thead th {
    padding: 13px 20px;
    background: var(--account-surface-soft, #f5f3f0);
    color: var(--account-muted, #77736d);
    border-bottom: 1px solid var(--account-border, #e7e4df);
    font-size: 11px;
    font-weight: 650;
    letter-spacing: .06em;
}

.nefin-account-content .nefin-table tbody td {
    padding: 16px 20px;
    color: var(--account-text, #1d1d1f);
    border-bottom: 1px solid var(--account-border, #e7e4df);
    font-size: 13px;
}

.nefin-account-content .nefin-empty-state {
    width: 100%;
    max-width: none;
    min-height: 300px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 48px 24px !important;
    margin: 0;
    text-align: center;
    background: #fff;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.nefin-account-content .nefin-empty-icon {
    width: 68px;
    height: 68px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0 0 18px;
    color: var(--account-border-strong, #d8d3cc);
    background: var(--account-surface-soft, #f5f3f0);
    border-radius: 50%;
}

.nefin-account-content .nefin-empty-icon svg {
    width: 30px;
    height: 30px;
}

.nefin-account-content .nefin-empty-state h4 {
    margin: 0 0 8px;
    color: var(--account-text, #1d1d1f);
    font-size: 15px;
    line-height: 1.4;
    font-weight: 650;
}

.nefin-account-content .nefin-empty-state p {
    margin: 0 0 22px;
    color: var(--account-muted, #77736d);
    font-size: 13px;
    line-height: 1.6;
}

.nefin-account-content .nefin-empty-state .nefin-btn {
    min-height: 44px;
    padding: 11px 18px;
    border-radius: 10px;
}

@media (max-width: 991.98px) {
    .nefin-account-content .nefin-loyalty-card {
        min-height: 190px;
        padding: 30px;
    }

    .nefin-account-content .nefin-earn-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .nefin-account-content .nefin-loyalty-card {
        min-height: 0;
        padding: 26px 22px;
        border-radius: 18px;
    }

    .nefin-account-content .nefin-loyalty-row {
        flex-direction: column;
        gap: 26px;
    }

    .nefin-account-content .nefin-loyalty-level {
        align-items: flex-start;
        text-align: left;
    }

    .nefin-account-content .nefin-stats-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .nefin-account-content .nefin-stat-card {
        min-height: 92px;
        padding: 18px 20px;
    }

    .nefin-account-content .nefin-info-header {
        min-height: 56px;
        padding: 16px 18px;
    }

    .nefin-account-content .nefin-info-body {
        padding: 18px;
    }

    .nefin-account-content .nefin-referral-group {
        grid-template-columns: 1fr;
    }

    .nefin-account-content .nefin-referral-group .nefin-btn {
        width: 100%;
    }

    .nefin-account-content .nefin-empty-state {
        min-height: 270px;
        padding: 38px 18px !important;
    }
}

@media (max-width: 479.98px) {
    .nefin-account-content .nefin-loyalty-points h2 {
        font-size: 42px;
    }

    .nefin-account-content .nefin-earn-item {
        align-items: flex-start;
        padding: 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .nefin-account-content .nefin-stat-card {
        transition: none;
    }
}

.nf-auth {
    --nf-auth-ink: #242321;
    --nf-auth-muted: #8a8781;
    --nf-auth-line: rgba(36, 35, 33, 0.10);
    --nf-auth-surface: rgba(255, 255, 255, 0.86);
    --nf-auth-primary: #65615b;
    --nf-auth-primary-hover: #514e49;
    --nf-auth-accent: #d6a977;
    position: relative;
    isolation: isolate;
    min-height: 100svh;
    overflow: hidden;
    background: #f8f6f2;
    color: var(--nf-auth-ink);
}

.nf-auth *,
.nf-auth *::before,
.nf-auth *::after {
    box-sizing: border-box;
}

.nf-auth-bg,
.nf-auth-gradient,
.nf-auth-noise,
.nf-auth-orbs {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.nf-auth-bg {
    z-index: -1;
    overflow: hidden;
}

.nf-auth-gradient {
    background:
    radial-gradient(circle at 14% 22%, rgba(225, 202, 173, 0.28), transparent 30%),
    radial-gradient(circle at 84% 77%, rgba(103, 100, 94, 0.15), transparent 34%),
    linear-gradient(120deg, #fbf9f5 0%, #f7f5f1 52%, #f0efec 100%);
}

.nf-auth-noise {
    opacity: 0.035;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");
}

.nf-auth-orbs {
    filter: blur(1px);
}

.nf-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(70px);
    opacity: 0.25;
    animation: nfAuthFloat 16s ease-in-out infinite alternate;
}

.nf-orb-1 {
    width: 320px;
    height: 320px;
    left: -90px;
    top: 8%;
    background: #ead4b8;
}

.nf-orb-2 {
    width: 420px;
    height: 420px;
    right: -120px;
    bottom: -90px;
    background: #aaa59d;
    animation-delay: -5s;
}

.nf-orb-3 {
    width: 260px;
    height: 260px;
    left: 45%;
    top: 28%;
    background: #f1e5d5;
    animation-delay: -10s;
}

@keyframes nfAuthFloat {
    from { transform: translate3d(0, 0, 0) scale(1); }
    to { transform: translate3d(28px, -22px, 0) scale(1.06); }
}

.nf-auth-container {
    width: min(1480px, calc(100% - 64px));
    min-height: 100svh;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(390px, 480px);
    align-items: center;
    gap: clamp(64px, 9vw, 160px);
    padding: clamp(48px, 7vh, 88px) 0;
}

.nf-auth-brand-panel {
    min-height: min(760px, calc(100svh - 96px));
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: clamp(16px, 2vw, 32px) 0;
}

.nf-auth-brand-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex: 1;
    max-width: 680px;
}

.nf-auth-logo {
    margin-bottom: clamp(48px, 8vh, 96px);
}

.nf-auth-logo img {
    width: auto;
    height: clamp(40px, 4vw, 58px);
    max-width: 200px;
    object-fit: contain;
    object-position: left center;
}

.nf-auth-logo-text,
.nf-auth-mobile-logo-text {
    font-family: var(--nefin-font-serif, Georgia, serif);
    font-size: 36px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.nf-auth-welcome-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 30px;
    padding: 6px 14px;
    margin-bottom: 22px;
    border: 1px solid rgba(212, 165, 116, 0.35);
    border-radius: 999px;
    background: rgba(255, 250, 244, 0.66);
    color: #b47c44;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.nf-auth-welcome h1 {
    max-width: 620px;
    margin: 0;
    color: var(--nf-auth-ink);
    font-family: var(--nefin-font-serif, Georgia, serif);
    font-size: clamp(42px, 5vw, 72px);
    font-weight: 400;
    line-height: 1.02;
    letter-spacing: -0.025em;
}

.nf-auth-welcome p {
    max-width: 510px;
    margin: 24px 0 0;
    color: var(--nf-auth-muted);
    font-size: clamp(15px, 1.2vw, 18px);
    line-height: 1.75;
}

.nf-auth-trust {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 22px;
    margin-top: 48px;
}

.nf-auth-trust-item {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    color: #4f4d49;
    font-size: 13px;
    font-weight: 500;
}

.nf-auth-trust-icon {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    flex: 0 0 40px;
    border: 1px solid rgba(255, 255, 255, 0.88);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.74);
    box-shadow: 0 8px 24px rgba(58, 54, 48, 0.07);
    color: var(--nf-auth-primary);
}

.nf-auth-brand-footer {
    max-width: 680px;
    padding-top: 26px;
    border-top: 1px solid var(--nf-auth-line);
}

.nf-auth-brand-footer p {
    margin: 0 0 8px;
    color: #aaa6a0;
    font-size: 13px;
}

.nf-auth-switch-link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: #56534e;
    font-size: 14px;
    font-weight: 600;
}

.nf-auth-switch-link:hover {
    color: var(--nf-auth-ink);
    opacity: 1;
}

.nf-auth-switch-link svg {
    transition: transform 0.25s ease;
}

.nf-auth-form-panel {
    width: 100%;
    display: flex;
    justify-content: flex-end;
}

.nf-auth-form-card {
    width: 100%;
    padding: clamp(34px, 4vw, 52px);
    border: 1px solid rgba(255, 255, 255, 0.78);
    border-radius: 26px;
    background: var(--nf-auth-surface);
    box-shadow:
    0 34px 80px rgba(48, 45, 40, 0.13),
    0 8px 24px rgba(48, 45, 40, 0.07),
    inset 0 1px 0 rgba(255, 255, 255, 0.82);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.nf-auth-mobile-header,
.nf-auth-mobile-footer {
    display: none;
}

.nf-auth-form-header {
    text-align: center;
    margin-bottom: 30px;
}

.nf-auth-form-header h2 {
    margin: 0;
    color: var(--nf-auth-ink);
    font-family: var(--nefin-font-serif, Georgia, serif);
    font-size: clamp(30px, 3vw, 38px);
    font-weight: 500;
    line-height: 1.2;
}

.nf-auth-form-header p {
    margin: 10px 0 0;
    color: #9a9690;
    font-size: 13px;
}

.nf-auth-social {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.nf-auth-social-btn {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 10px 15px;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 600;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.nf-auth-social-btn:hover {
    transform: translateY(-1px);
    opacity: 1;
}

.nf-auth-social-google {
    border: 1px solid rgba(36, 35, 33, 0.12);
    background: rgba(255, 255, 255, 0.86);
    color: #3d3b38;
}

.nf-auth-social-google:hover {
    border-color: rgba(36, 35, 33, 0.22);
    box-shadow: 0 8px 22px rgba(35, 33, 30, 0.08);
}

.nf-auth-social-facebook {
    background: #1877f2;
    color: #fff;
    box-shadow: 0 8px 20px rgba(24, 119, 242, 0.20);
}

.nf-auth-social-facebook:hover {
    color: #fff;
    background: #1269dc;
}

.nf-auth-divider {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 24px 0;
    color: #aaa6a0;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.nf-auth-divider::before,
.nf-auth-divider::after {
    content: "";
    height: 1px;
    flex: 1;
    background: var(--nf-auth-line);
}

.nf-auth-divider span {
    padding: 0 14px;
}

.nf-auth-messages:empty,
#confirmation-result-login-page:empty {
    display: none;
}

.nf-auth .alert {
    margin: 0 0 18px;
    border-radius: 12px;
    padding: 12px 14px;
    font-size: 13px;
}

.nf-auth-form {
    display: grid;
    gap: 16px;
}

.nf-auth-input-group {
    position: relative;
}

.nf-auth-input {
    width: 100%;
    height: 60px;
    padding: 23px 48px 9px 48px;
    border: 1px solid rgba(36, 35, 33, 0.12);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.70);
    color: var(--nf-auth-ink);
    font-family: inherit;
    font-size: 14px;
    outline: none;
    box-shadow: none;
    transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.nf-auth-input:hover {
    border-color: rgba(36, 35, 33, 0.22);
}

.nf-auth-input:focus {
    border-color: var(--nf-auth-primary);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(103, 100, 94, 0.09);
}

.nf-auth-label {
    position: absolute;
    left: 48px;
    top: 50%;
    transform: translateY(-50%);
    margin: 0;
    color: #aaa6a0;
    font-size: 13px;
    pointer-events: none;
    transition: top 0.18s ease, transform 0.18s ease, font-size 0.18s ease, color 0.18s ease;
}

.nf-auth-input:focus + .nf-auth-label,
.nf-auth-input:not(:placeholder-shown) + .nf-auth-label,
.nf-auth-input-group.has-value .nf-auth-label {
    top: 12px;
    transform: none;
    color: #77736d;
    font-size: 10px;
}

.nf-auth-input-icon {
    position: absolute;
    left: 17px;
    top: 50%;
    transform: translateY(-50%);
    display: grid;
    place-items: center;
    color: #aaa6a0;
    pointer-events: none;
    transition: color 0.2s ease;
}

.nf-auth-input-group:focus-within .nf-auth-input-icon {
    color: var(--nf-auth-primary);
}

.nf-auth-password-toggle {
    position: absolute;
    top: 50%;
    right: 13px;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    transform: translateY(-50%);
    border-radius: 10px;
    color: #aaa6a0;
}

.nf-auth-password-toggle:hover {
    background: rgba(103, 100, 94, 0.08);
    color: var(--nf-auth-primary);
}

.nf-eye-closed,
.nf-auth-password-toggle.nf-visible .nf-eye-open {
    display: none;
}

.nf-auth-form.was-validated .nf-auth-input:invalid {
    border-color: rgba(176, 42, 55, 0.55);
    box-shadow: 0 0 0 4px rgba(176, 42, 55, 0.07);
}

.nf-auth-options {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 2px 0 4px;
}

.nf-auth-checkbox {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin: 0;
    cursor: pointer;
    user-select: none;
}

.nf-auth-checkbox input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.nf-auth-checkbox-box {
    width: 20px;
    height: 20px;
    display: grid;
    place-items: center;
    flex: 0 0 20px;
    border: 1px solid rgba(36, 35, 33, 0.19);
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.78);
    color: #fff;
    transition: background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.nf-auth-checkbox-box svg {
    opacity: 0;
    transform: scale(0.7);
    transition: opacity 0.15s ease, transform 0.15s ease;
}

.nf-auth-checkbox input:checked + .nf-auth-checkbox-box {
    border-color: var(--nf-auth-primary);
    background: var(--nf-auth-primary);
}

.nf-auth-checkbox input:focus-visible + .nf-auth-checkbox-box {
    box-shadow: 0 0 0 4px rgba(103, 100, 94, 0.12);
}

.nf-auth-checkbox-label,
.nf-auth-forgot {
    color: #817d77;
    font-size: 12px;
}

.nf-auth-forgot:hover {
    color: var(--nf-auth-ink);
    opacity: 1;
}

.nf-auth-submit {
    width: 100%;
    min-height: 52px;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 4px;
    padding: 12px 20px;
    border-radius: 13px;
    background: var(--nf-auth-primary);
    color: #fff;
    box-shadow: 0 12px 26px rgba(74, 70, 65, 0.22);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    overflow: hidden;
    transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.nf-auth-submit:hover {
    transform: translateY(-1px);
    background: var(--nf-auth-primary-hover);
    box-shadow: 0 15px 30px rgba(74, 70, 65, 0.27);
}

.nf-auth-submit:active {
    transform: translateY(0);
}

.nf-auth-submit:focus-visible {
    outline: 3px solid rgba(103, 100, 94, 0.22);
    outline-offset: 3px;
}

.nf-spinner {
    width: 22px;
    height: 22px;
    animation: nfAuthSpin 0.9s linear infinite;
}

.nf-spinner circle {
    stroke: currentColor;
    stroke-linecap: round;
    stroke-dasharray: 90, 150;
    stroke-dashoffset: 0;
}

.nf-auth-submit.nf-loading .nf-auth-submit-loader {
    display: block;
}

.nf-auth-submit.nf-success {
    background: #2f875e;
}

@keyframes nfAuthSpin {
    to { transform: rotate(360deg); }
}

@media (max-width: 1199.98px) {
    .nf-auth-container {
        width: min(1120px, calc(100% - 48px));
        grid-template-columns: minmax(0, 1fr) minmax(370px, 440px);
        gap: 64px;
    }

    .nf-auth-welcome h1 {
        font-size: clamp(40px, 5vw, 58px);
    }
}

@media (max-width: 991.98px) {
    .nf-auth {
        overflow-y: auto;
    }

    .nf-auth-container {
        width: min(620px, calc(100% - 36px));
        min-height: 100svh;
        grid-template-columns: 1fr;
        gap: 0;
        padding: 34px 0;
    }

    .nf-auth-brand-panel {
        display: none;
    }

    .nf-auth-form-panel {
        justify-content: center;
    }

    .nf-auth-form-card {
        padding: 38px;
    }

    .nf-auth-mobile-header {
        display: flex;
        justify-content: center;
        margin-bottom: 34px;
    }

    .nf-auth-mobile-logo {
        width: auto;
        height: 44px;
        max-width: 170px;
        object-fit: contain;
    }

    .nf-auth-mobile-footer {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        margin-top: 26px;
        padding-top: 24px;
        border-top: 1px solid var(--nf-auth-line);
        color: #918d87;
        font-size: 13px;
    }

    .nf-auth-mobile-footer p {
        margin: 0;
    }

    .nf-auth-mobile-footer a {
        color: var(--nf-auth-ink);
        font-weight: 600;
    }
}

@media (max-width: 575.98px) {
    .nf-auth-container {
        width: min(100% - 24px, 520px);
        padding: 18px 0;
    }

    .nf-auth-form-card {
        padding: 28px 20px;
        border-radius: 20px;
    }

    .nf-auth-form-header {
        margin-bottom: 24px;
    }

    .nf-auth-form-header h2 {
        font-size: 31px;
    }

    .nf-auth-social {
        grid-template-columns: 1fr;
    }

    .nf-auth-input {
        height: 58px;
    }

    .nf-auth-options {
        align-items: flex-start;
    }

    .nf-auth-mobile-footer {
        flex-wrap: wrap;
    }
}

@media (max-height: 760px) and (min-width: 992px) {
    .nf-auth-container {
        padding-top: 30px;
        padding-bottom: 30px;
    }

    .nf-auth-brand-panel {
        min-height: calc(100svh - 60px);
    }

    .nf-auth-logo {
        margin-bottom: 42px;
    }

    .nf-auth-trust {
        margin-top: 32px;
    }

    .nf-auth-form-card {
        padding-top: 34px;
        padding-bottom: 34px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .nf-orb,
    .nf-spinner {
        animation: none;
    }

    .nf-auth *,
    .nf-auth *::before,
    .nf-auth *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}

/* ===== Responsive ===== */
@media (min-width: 992px) {
    .col-mds-5 {
        flex: 0 0 20%;
        max-width: 20%
    }
}

@media (max-width: 767px) {
    .features-bar {
        padding: 15px 20px;
    }

    .feature-box {
        margin-bottom: 20px;
    }
}

@media (min-width: 1260px) {
    .blog-item-img {
        width: 100%;
        display: block;
        float: left;
        background-color: #f8f8f8
    }

    .blog-slider .blog-item-img {
        height: 265px
    }

    .img-product-container {
        display: block;
        position: relative;
        width: 100%;
    }

    .col-image-input {
        flex: 0 0 20% !important;
        max-width: 20% !important
    }

    .image-input-boxes .image-input-box .top {
        width: 182px;
        height: 182px
    }

    .image-input-boxes .image-input-box .input-uploaded-image {
        width: 182px;
        height: 182px
    }
}

@media (min-width: 992px) {
    .nav-mobile {
        display: none !important
    }

    .overlay-bg {
        display: none !important
    }

    .product-item:hover .product-multiple-image img {
        visibility: hidden;
        opacity: 0;
        -webkit-transition: visibility 0 .3s, opacity .3s linear;
        transition: visibility 0 .3s, opacity .3s linear
    }

    .product-item:hover .product-multiple-image .img-second {
        visibility: visible;
        opacity: 1;
        -webkit-transition: opacity .3s linear;
        transition: opacity .3s linear
    }

    .product-item:hover .product-item-options .item-option {
        opacity: 1
    }

    .product-slider .img-product-slider {
        max-height: 500px !important
    }

    .col-sidebar-products {
        flex: 0 0 20%;
        max-width: 20%
    }

    .col-content-products {

    }

    .row-follower .col-sm-2 {
        flex: 0 0 10%;
        max-width: 10%
    }
}

@media (min-width: 769px) {
    .product-sort-by .sort-select .custom-select {
        width: 200px
    }

    .product-description .tab-content>.show .collapse {
        display: block !important
    }

    .modal-product-video {
        min-width: 500px !important
    }

    .modal-dialog-shipping-address {
        min-width: 650px
    }
}

@media (min-width: 576px) {
    .modal-dialog {
        max-width: 600px
    }
}

@media (max-width: 1400px) {
    .img-profile-cover {
        height: 320px
    }
}

@media (max-width: 1300px) {
    .mega-menu .nav-category-image {
        width: 180.6px
    }
}

@media (max-width: 1260px) {
    .img-product-container {
        display: block;
        position: relative;
        width: 100%;
        height: 270px;
        overflow: hidden
    }

    .img-product-container img {
        max-width: none
    }

    .nav-main .navbar ul .nav-item .nav-link {
        padding: 15px 12px
    }
}

@media (max-width: 1200px) {
    .product-slider-container {
        display: block
    }

    .product-slider-container .left {
        display: none !important
    }

    .product-slider-container .right {
        display: block !important
    }

    .product-thumbnails-slider {
        display: none !important
    }

    .product-slider-container .product-slider-content {
        height: auto !important;
        margin-bottom: 30px
    }

    .mega-menu .nav-category-image {
        width: 170.6px
    }
}

@media (max-width: 1100px) {
    .nav-main .navbar ul .nav-item .nav-link {
        padding: 15px 7px
    }

    .mega-menu .nav-category-image {
        width: 154.6px
    }
}

@media (max-width: 992px) {
    .top-search-bar {
        border: 0 !important;
        background-color: #f6f6f6 !important;
        border-radius: 4px !important;
        padding: 2px 0 !important;
        margin: 4px !important
    }

    .top-search-bar .right {
        padding-right: 10px
    }

    .top-search-bar .input-search {
        border-radius: 0 4px 4px 0;
        font-size: .875rem
    }

    .top-search-bar .btn-search {
        font-size: 18px;
        line-height: 28px;
        padding-right: 10px !important;
        right: -5px !important
    }

    .search-select button {
        border-radius: 4px 0 0 4px;
        padding: 8px 10px;
        padding-right: 18px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        width: 130px !important;
        min-width: 130px !important;
        font-size: .875rem;
        top: 2px !important
    }

    .search-select button::after {
        position: absolute;
        right: 5px;
        top: 17px
    }

    .search-select .dropdown-menu {
        left: 0 !important
    }

    .top-search-bar-single-vendor .input-search {
        border-radius: 4px !important
    }

    #header .top-bar {
        display: none
    }

    #header .main-menu {
        display: none
    }

    .mobile-nav-container {
        display: block
    }

    .nav-mobile-header {
        display: block
    }

    .profile-dropdown .dropdown-menu li a svg {
        width: 16px;
        height: 16px
    }

    .section {
        margin-bottom: 20px
    }

    #header {
        box-shadow: none !important
    }

    .main-slider .item .caption {
        width: 400px;
        margin: 0 auto;
        text-align: center
    }

    .main-slider .item .caption .title {
        font-size: 42px;
        text-align: center
    }

    .main-slider .item .caption .description {
        font-size: 16px
    }

    .container-boxed-slider .main-slider {
        padding: 0 !important
    }

    .container-boxed-slider .main-slider-nav .prev {
        margin-left: .9375rem
    }

    .container-boxed-slider .main-slider-nav .next {
        margin-right: .9375rem
    }

    .container-boxed-slider {
        margin-top: 0 !important
    }

    .container-boxed-slider .main-slider .item .caption {
        margin-left: auto
    }

    .page-title {
        margin-bottom: 25px
    }

    .g-recaptcha {
        transform: scale(.77) !important;
        transform-origin: 0 0 !important
    }

    .recaptcha-cnt .g-recaptcha {
        height: 74px;
        margin: 0 auto;
        max-width: 100%;
        width: 224px
    }

    .product-content-details {
        height: auto !important;
        margin-bottom: 20px;
        min-height: 0 !important
    }

    .profile-details {
        width: 100%;
        display: block
    }

    .profile-details .left {
        width: 100%;
        display: block;
        float: left;
        padding: 0
    }

    .profile-details .right {
        width: 100%;
        display: block;
        float: left
    }

    .row-profile-username {
        margin-top: 15px
    }

    .rss-item {
        display: block;
        width: 100%
    }

    .rss-item .left {
        display: block;
        width: 100%
    }

    .rss-item .right {
        display: block;
        width: 100%
    }

    .shopping-cart .right {
        margin-top: 30px
    }

    .btn-video-preview {
        margin-top: -15px;
        margin-bottom: 15px
    }

    .img-profile-cover {
        height: 280px
    }

    .hide-mobile {
        display: none !important
    }

    .support .article-title {
        font-size: 24px;
        line-height: 36px;
        margin-bottom: 15px
    }

    .support .need-more-help {
        margin-top: 50px
    }

    .ticket-container {
        padding: 15px
    }

    .help-center-collapse {
        display: block !important
    }

    .bn-container-mb {
        display: flex
    }

    .bn-container-ds {
        display: none
    }

    .chat .chat-left {
        width: 100% !important;
        padding-bottom: 22px !important
    }

    .chat .chat-right {
        display: none
    }

    .chat .chat-right .chat-header {
        padding: 15px
    }

    .chat-left .chat-contacts-container {
        height: 470px
    }

    .chat .chat-left .chat-user {
        display: none
    }

    .chat .chat-left .chat-search {
        padding: 24px
    }

    .chat-mobile-open .chat-left {
        display: none
    }

    .chat-mobile-open .chat-right {
        display: block
    }

    .chat .chat-content {
        height: 490px
    }

    .chat .chat-content .messages-inner {
        padding: 0 15px
    }

    .chat .chat-content .messages {
        padding: 10px 0
    }

    .chat .chat-content .messages .message .item-user {
        width: 50px
    }

    .chat .chat-content .messages .message .message-text {
        font-size: 13px
    }

    .chat .chat-user .user-img {
        width: 42px;
        height: 42px;
        margin-right: 10px
    }

    .chat .chat-user .user-img img {
        width: 42px;
        height: 42px
    }

    .chat-left .text-recent-chats {
        padding-top: 0
    }

    .chat-right .chat-header .chat-user {
        padding-left: 23px
    }

    .chat-header .topic {
        margin-left: 0;
        margin-top: 10px
    }

    .btn-open-chat-contacts {
        display: block
    }

    .auth-box {
        margin-top: 0;
        padding: 30px 15px;
        padding-top: 0
    }

    .auth-container {
        padding-top: 15px
    }

    .modal-newsletter .text-close {
        display: none
    }
}

@media (max-width: 768px) {
    #wrapper {
        padding-top: 20px
    }

    .m-b-sm-15 {
        margin-bottom: 15px
    }

    .m-b-sm-0 {
        margin-bottom: 0
    }

    .index-main-slider {
        display: none !important
    }

    .index-mobile-slider {
        display: block !important
    }

    .index-mobile-slider .slider-container {
        height: 400px !important
    }

    .index-mobile-slider .item {
        height: 400px !important
    }

    .index-mobile-slider .row-slider-caption {
        height: 400px !important
    }

    .main-slider-nav .prev {
        margin-left: .9375rem
    }

    .main-slider-nav .next {
        margin-right: .9375rem
    }

    .main-slider .item .caption .title {
        font-size: 36px
    }

    .main-slider .item .caption .description {
        font-size: 13px;
    }

    .section .title-exp {
        margin-bottom: 25px
    }

    .product-item {
        margin-bottom: 25px
    }

    #footer .footer-top {
        padding: 30px 0
    }

    #footer .nav-footer {
        padding-left: 0
    }

    .footer-widget {
        margin-bottom: 15px
    }

    .image-upload-box .uploaded-image {
        width: 120px;
        height: 120px
    }

    .image-upload-box {
        margin-bottom: 5px
    }

    .btn-filter-products-mobile {
        display: block;
        margin-left: 10px
    }

    .product-sort-by {
        float: left
    }

    .product-list-title {
        display: block;
        margin-bottom: 15px
    }

    .product-filters {
        display: none
    }

    .nav-tabs-profile {
        margin-bottom: 30px !important
    }

    .col-sidebar-products .collapsing {
        display: block !important
    }

    .col-sidebar-products .show {
        display: block !important
    }

    .profile-details .user-contact .info {
        display: block;
        width: 100%;
        text-align: left;
        border: 0;
        margin-right: 0;
        margin-bottom: 10px
    }

    .profile-buttons .buttons {
        float: left;
        display: block;
        width: 100%;
        margin-bottom: 10px;
        text-align: left
    }

    .profile-buttons .social {
        float: left;
        display: block;
        width: 100%;
        margin-top: 10px;
        text-align: left
    }

    .login-model .auth-box {
        padding: 15px
    }

    .contact-right {
        margin-bottom: 30px
    }

    .page-contact .contact-item {
        padding: 0
    }

    .contact-social {
        padding: 0
    }

    .contact-social ul li {
        margin-bottom: 8px
    }

    .contact-map-container iframe {
        height: 400px
    }

    .blog-content .blog-categories li {
        margin-right: 10px;
        margin-bottom: 10px
    }

    .blog-content .blog-categories li a {
        padding: 8px;
        font-size: 13px
    }

    .blog-content .blog-item {
        margin-bottom: 30px
    }

    .blog-content .post-content .title {
        font-size: 26px;
        line-height: 34px;
        margin-bottom: 15px
    }

    .post-content .post-share .title {
        display: block;
        width: 100%
    }

    .span-sort-by {
        display: none !important
    }

    .product-sort-by .sort-select {
        margin: 0
    }

    .order-summary-container {
        margin-top: 60px
    }

    .shopping-cart {
        margin-top: 15px
    }

    .shopping-cart .right {
        padding: 20px
    }

    .tab-checkout-closed .title {
        margin-right: 0
    }

    .payment-options-list li label img {
        height: auto !important;
        max-height: 26px
    }

    .order-details-container {
        margin-top: 30px
    }

    .earnings-boxes {
        margin-top: 30px
    }

    .earnings-boxes .earnings-box {
        padding: 20px
    }

    .calculated-price {
        line-height: 20px
    }

    .product-content-details .product-title {
        font-size: 20px;
        line-height: 24px
    }

    .shopping-cart .item .cart-item-image {
        padding-right: 10px
    }

    .shopping-cart .item .cart-item-details {
        width: 100%
    }

    .product-item-horizontal .item-details {
        margin-top: 10px
    }

    .card-input-logos {
        display: none
    }

    .cvv-code-container {
        margin-left: -100px
    }

    .payment-options-list li .list-left {
        display: block;
        width: 100%
    }

    .payment-options-list li .list-right {
        display: block;
        width: 100%
    }

    .table-item-product .left {
        min-width: 200px;
        display: block
    }

    .table-item-product .right {
        display: block;
        width: 100%;
        padding: 0;
        padding-top: 10px
    }

    .span-product-dtl-table {
        min-width: 0;
        display: inline-block
    }

    .product-item .badge-promoted {
        font-size: 12px !important
    }

    .cookies-warning {
        width: 90%
    }

    #single-song-player {
        min-height: 0 !important
    }

    .variation-options-container ul li strong {
        min-width: 0
    }

    .product-sort-by {
        width: 49% !important;
        min-width: 0 !important;
        position: relative
    }

    .product-sort-by .sort-select .dropdown-toggle {
        min-width: 0 !important
    }

    .product-sort-by .sort-select .dropdown-menu {
        min-width: 0 !important
    }

    .product-sort-by .sort-select,
    .product-sort-by .sort-select button,
    .product-sort-by .sort-select .dropdown-menu {
        display: block
    }

    .btn-filter-products-mobile {
        width: 49% !important;
        height: 36px;
        margin-left: 2%;
        border: 1px solid #e2e2e2
    }

    .product-content-details .product-details-review {
        margin-left: 15px
    }

    .product-content-details .meta span {
        margin-left: 5px
    }

    .product-description .nav-tabs {
        display: none !important
    }

    .product-description .tab-content>.tab-pane {
        display: block !important;
        opacity: 1 !important;
        padding: 0 !important
    }

    .col-comments-inner {
        padding: 0 !important;
        border: 0 !important;
        margin-top: 30px
    }

    .col-comments-inner .row-comment-label {
        margin-bottom: 10px !important
    }

    .product-description .tab-content .card .card-header {
        display: block !important
    }

    .product-item-options .item-option {
        opacity: 1 !important
    }

    .img-profile-cover {
        height: 240px
    }

    .profile-image-table .left {
        display: block;
        width: 180px;
        display: block;
        padding-right: 0
    }

    .profile-image-table .right {
        width: 100%;
        display: block
    }

    .btn-submit-request {
        display: block;
        width: 100%;
        padding: .5rem .75rem;
        margin-top: 30px
    }

    .modal-newsletter .col-left {
        display: none
    }

    .modal-newsletter .col-right {
        flex: 0 0 100%;
        max-width: 100%
    }

    .modal-newsletter .newsletter-form {
        padding: 30px !important;
        padding-top: 45px;
        min-height: 0 !important
    }

    .modal-newsletter .modal-title {
        font-size: 20px
    }

    .modal-newsletter .modal-newsletter-inputs {
        display: block
    }

    .modal-newsletter .modal-newsletter-inputs input {
        display: block;
        width: 100%
    }

    .modal-newsletter .modal-newsletter-inputs button {
        display: block;
        width: 100%;
        margin-top: 10px
    }

    .nav-breadcrumb,
    .apple-breadcrumb {
        padding-bottom: 20px
    }

    .breadcrumb {
        font-size: 12px;
        height: auto
    }

    .product-already-purchased {
        align-items: start
    }
    .product-cta-banners .cta-image-container {
        width: 100%;
        position: relative;
        height: auto;
    }
    .instagram-feed-header {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        margin-bottom: 20px;
    }
    .if-header-left h3 {
        white-space: nowrap;
    }
    .btn-rounded-cta {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 10pt;
        text-transform: uppercase;
        border: 1px solid #67645e;
        color: #67645e;
        padding: 5px 10px;
        border-radius: 30px;
        text-decoration: none;
        transition: all .2s ease;
    }
    .hap-right {
        display: none;
    }
    .nav-mobile {
        z-index: 9999 !important;
        top: 0;
    }
    .product-list-content {
        grid-template-columns: repeat(1, 1fr);
        gap: 20px 12px;
        padding: 24px 0;
    }
    .product-details .gallery {
        max-width: unset;
        width: 100%;
        height: auto;
    }
    .product-details .panel {
        max-width: unset;
    }
    .product-details .acc-panel-inner {
        padding: 12px 0 2px;
        color: #5e5e5e;
        line-height: 1.65;
        font-size: 12px;
        text-align: justify;
    }
    .floating-atc {
        background: #cfe7dc;
        padding: 20px 0px;
        box-sizing: border-box;
        position: fixed;
        z-index: 100;
        display: block;
        bottom: 10px;
        width: 90vw;
        margin: auto;
        text-align: center;
        font-size: 16pt;
        font-weight: 600;
        border-radius: 50px;
        border: 1px solid #1f2a26;
    }

    .floating-atc a {
        color: #1f2a26;
        text-align: center;
        display: flex;
        flex-direction: column;
        align-content: center;
        align-items: center;
    }
    .nefin-scrollup {
        display: none;
    }
    .chatbot-widget {
        display: none;
    }

}

@media (max-width: 767px) {
    .shopping-cart .item .img-cart-product {
        width: 60px;
        height: 60px;
        margin: 0
    }

    .shopping-cart .item .img-cart-product img {
        height: 60px
    }

    .shopping-cart .btn-cart-remove {
        position: relative;
        right: 0;
        top: 5px
    }

    .row-product {
        margin-right: -7.5px;
        margin-left: -7.5px
    }

    .col-product {
        padding-right: 7.5px;
        padding-left: 7.5px;
        outline: none !important
    }

    .featured-categories .card-columns {
        -webkit-column-count: 2;
        column-count: 2;
        -webkit-column-gap: 15px;
        column-gap: 15px
    }

    .featured-categories .card-columns .card {
        height: 280px !important
    }

    .featured-categories .card .caption span {
        font-size: 14px
    }

    .featured-categories .card .caption {
        padding: 5px 10px;
        width: 100%
    }
}

@media (max-width: 600px) {
    .product-add-to-cart-container .button-container {
        min-width: 0 !important;
        width: 100% !important;
        height: auto !important
    }

    .section-index-bn .col-index-bn {
        flex: 0 0 100%;
        max-width: 100%
    }
}

@media (max-width: 576px) {
    .index-mobile-slider .slider-container {
        height: 320px !important
    }

    .index-mobile-slider .item {
        height: 320px !important
    }

    .index-mobile-slider .row-slider-caption {
        height: 320px !important
    }

    .main-slider .item .caption .title {
        font-size: 19px;
        margin-bottom: .7rem
    }

    .main-slider .item .caption .description {
        margin-bottom: 1.2rem
    }

    .container-boxed-slider .main-slider .item .caption .title {
        font-size: 24px
    }

    .container-boxed-slider .main-slider .item .caption .description {
        font-size: 15px
    }

    .product-item .img-product-container {
        height: auto
    }

    .product-item .img-product {
        width: 100%;
        height: 220px
    }

    .col-content-products .product-item .img-product {
        height: 220px
    }

    .product-item-horizontal .img-product {
        height: 270px !important
    }

    .product-item-horizontal .img-product-container {
        max-width: 300px
    }

    .modal {
        padding-right: 15px !important;
        padding-left: 15px !important
    }

    #footer {
        margin-top: 45px
    }

    .product-sort-by {
        display: block;
        width: 100%;
        margin-bottom: 10px
    }

    .copyright {
        margin-bottom: 10px
    }

    .product-item-horizontal .item-purchase-code span {
        display: block;
        width: 100%;
        font-size: 13px
    }

    .featured-categories .card-columns .card {
        height: 240px !important
    }

    .nav-tabs-profile .nav-item {
        width: 100%;
        margin-bottom: 5px
    }

    .nav-tabs-profile {
        border-bottom: 0
    }

    .nav-tabs-profile .nav-item .nav-link {
        border: 1px solid rgba(0, 0, 0, .06) !important;
        margin-right: 0 !important
    }

    .blog-content .blog-item-small .blog-item-img {
        height: auto
    }

    .blog-content .blog-item-small .blog-item-img img {
        width: 100%;
        height: auto
    }

    .section .title {
        font-size: 18px
    }
}

@media (max-width: 480px) {
    .index-mobile-slider .slider-container {
        height: 280px !important
    }

    .index-mobile-slider .item {
        height: 280px !important
    }

    .index-mobile-slider .row-slider-caption {
        height: 280px !important
    }

    .contact-map-container iframe {
        height: 260px
    }

    .featured-categories .card-columns .card {
        height: 165px !important
    }
}

@media (max-width: 410px) {
    .product-item .img-product {
        height: 180px
    }

    .col-content-products .product-item .img-product {
        height: 180px
    }

    .product-item .item-meta .a-meta-request-quote {
        width: 100%
    }
}

@media screen and (min-width:768px) {
    div#collapse_description_content .description img {
        max-width: 750px !important;
        margin: auto;
    }
}

@media screen and (max-width:768px) {
    .btn-slider {
        padding: 5px 12px;
    }

    .main-slider .item.slick-slide:before {
        display: none !important;
    }
}

@media (min-width: 576px) {
    .container {
        max-width: 540px;
    }
}

@media (min-width: 768px) {
    .container {
        max-width: 720px;
    }
}

@media (min-width: 992px) {
    .container {
        max-width: 960px;
    }
}

@media (min-width: 1200px) {
    .container {
        max-width: 1140px;
    }
}

@media (min-width: 1400px) {
    .container {
        max-width: 1320px;
    }
}

@media (min-width: 1620px) {
    .container {
        max-width: 1600px;
    }
}

@media (min-width: 1920px) {
    .container {
        max-width: 1800px;
    }
}

@media (min-width: 2560px) {
    .container {
        max-width: 2400px;
    }
}

@media (min-width: 1024px) {
    .ampliance_layout.layout6.concerns {

    }
}

@media (max-width: 1023.98px) {
    .ampliance_layout.layout6.concerns .title-text {
        padding-top:40px
    }
}

@media (min-width: 768px) {
    .ampliance_layout.layout6.concerns .grid-group .inner {
        grid-template-columns:repeat(6,minmax(0,1fr))
    }
}

@media (min-width: 1024px) {
    .ampliance_layout.layout6.concerns .grid-group .inner {
        gap:40px
    }
}

@media (min-width: 375px) {
    .ampliance_layout.layout6.concerns .grid-group .grid-tile .shop-arrow-link {
        font-size:14px;
        padding-top: 10px;
        padding-right: 50px
    }
}

@media (min-width: 544px) {
    .ampliance_layout.layout6.concerns .grid-group .grid-tile .shop-arrow-link {
        font-size:13px;
        padding-top: 7px;
        padding-right: 50px
    }
}

@media (min-width: 1024px) {
    .ampliance_layout.layout6.concerns .grid-group .grid-tile .shop-arrow-link {
        font-size:18px;
        padding-top: 7px;
        padding-right: 50px
    }
}

@media (min-width: 1024px) {
    .evensplitmodule_layout.module-content {
        padding:0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        max-width: 1920px
    }
}

@media (min-width: 1024px) {
    .evensplitmodule_layout.module-content .evensplitmodule_left_panel {
        padding-top:90px;
        -webkit-box-flex: 0;
        -ms-flex: 0 0 52%;
        flex: 0 0 52%
    }
}

@media (min-width: 1024px) {
    .evensplitmodule_layout.module-content .evensplitmodule_left_panel .content-body {
        border-top:1px solid #e1ded9
    }
}

@media (min-width: 1024px) {
    .evensplitmodule_layout.module-content .evensplitmodule_left_panel .content-title {
        padding-top:40px;
        padding-bottom: 24px;
        font-size: 28px;
        line-height: 33.6px;
        padding-left: 190px;
        max-width: 550px
    }
}

@media (min-width: 1024px) {
    .evensplitmodule_layout.module-content .evensplitmodule_left_panel .content-msg {
        font-size:16px;
        line-height: 24px;
        padding-left: 190px;
        padding-bottom: 32px;
        max-width: 550px
    }
}

@media (min-width: 1024px) {
    .evensplitmodule_layout.module-content .evensplitmodule_left_panel .general-cta {
        padding-left:190px
    }
}

@media (min-width: 1024px) {
    .evensplitmodule_layout.module-content .evensplitmodule_right_panel {
        margin-right:80px
    }
}

@media (min-width: 1024px) {
    .evensplitmodule_layout.module-content .evensplitmodule_right_panel .quick-filter_banner {
        padding:60px 36px
    }
}

@media (min-width: 1280px) {
    .evensplitmodule_layout.module-content .evensplitmodule_right_panel .quick-filter_banner {
        padding:80px
    }
}

@media (min-width: 768px) {
    .evensplitmodule_layout.module-content .evensplitmodule_right_panel .product-concern-label {
        font-size:30px;
        line-height: 43.2px
    }
}

@media (min-width: 768px) {
    .evensplitmodule_layout.module-content .evensplitmodule_right_panel .custom-select {
        line-height:43.2px;
        height: 58px;
        font-size: 30px
    }
}

@media (min-width: 1024px) {
    .evensplitmodule_layout.module-content .evensplitmodule_right_panel .custom-select option {
        font-size:20px
    }
}

@media (min-width: 768px) {
    .evensplitmodule_layout.module-content .evensplitmodule_right_panel .quick-filter_product-type .custom-select {
        width:260px
    }
}

@media (min-width: 1280px) {
    .evensplitmodule_layout.module-content .evensplitmodule_right_panel .quick-filter_product-type .custom-select {
        width:267px
    }
}

@media (min-width: 1024px) {
    .evensplitmodule_layout.module-content .evensplitmodule_right_panel .quick-filter_concern .custom-select {
        width:426px
    }
}

@media (min-width: 1280px) {
    .evensplitmodule_layout.module-content .evensplitmodule_right_panel .quick-filter_concern .custom-select {
        width:412px
    }
}

@media (min-width: 768px) {
    .evensplitmodule_layout.module-content .evensplitmodule_right_panel .quick-filter-btn {
        margin-top:39px
    }
}

@media (min-width: 1024px) {
    .evensplitmodule_layout.module-content.module-reverse .evensplitmodule_left_panel {
        -webkit-box-ordinal-group:2;
        -ms-flex-order: 1;
        order: 1
    }

    .evensplitmodule_layout.module-content.module-reverse .evensplitmodule_left_panel .content-msg,.evensplitmodule_layout.module-content.module-reverse .evensplitmodule_left_panel .content-title,.evensplitmodule_layout.module-content.module-reverse .evensplitmodule_left_panel .general-cta {
        padding-left: 150px
    }
}

@media (min-width: 1024px) {
    .evensplitmodule_layout.module-content.module-reverse .evensplitmodule_right_panel {
        margin-left:80px;
        margin-right: 0
    }
}

@media only screen and (min-width: 760px) {
    .Product-card {
        min-height: 0;
    }
}

@media (max-width: 768px) {
    .section-index-bn .col-index-bn {
        padding: 4px;
    }

    .banner-content {
        padding: 16px;
    }

    .banner-subtitle {
        font-size: 10px;
    }

    .banner-title {
        font-size: 16px;
        margin-bottom: 8px;
    }

    .banner-btn {
        font-size: 11px;
        padding: 8px 14px;
    }
}

@media (max-width: 991px){
  .dual-swipers{ flex-direction:column; }
  .left-swiper, .right-swiper{ width:100%; }
}

@media (max-width: 991px){
  .cta-container{
    flex-direction:column;
}
.cta-text-container,
.cta-image-container{
    width:100%;
}
.cta-image-container{
    min-height: 220px;
}
}

@media (max-width: 992px){
  .hap-wrap{
    grid-template-columns: 1fr;
}
.hap-right{
    min-height: 320px;
}
.hap-left{
    min-height: auto;
}
}

@media (max-width: 1200px){
  .footer-grid{
    grid-template-columns: 1fr;
}
.footer-newsletter{
    border-right: 0;
    border-bottom: 1px solid rgba(0,0,0,0.18);
}
.footer-columns{
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.footer-col{
    border-right: 1px solid rgba(0,0,0,0.18);
}
.footer-col:nth-child(2){
    border-right: 0;
}
.footer-col:nth-child(3),
.footer-col:nth-child(4){
    border-top: 1px solid rgba(0,0,0,0.18);
}
}

@media (max-width: 576px){
  .footer-columns{
    grid-template-columns: 1fr;
}
.footer-col{
    border-right: 0;
    border-top: 1px solid rgba(0,0,0,0.18);
}
.footer-col:first-child{
    border-top: 0;
}
.footer-newsletter{
    padding: 26px 18px 22px;
}
.footer-col{
    padding: 22px 18px;
}
.footer-desc,
.footer-form{
    max-width: 100%;
}
}

@media (max-width: 992px){
  .cs-tab{ font-size: 14px; }
  .cs-cards{ padding: 6px 0 0; }
  .cs-nav{ display:none; }
}

@media only screen and (min-width: 760px) {

}

@media only screen and (min-width: 760px) {
    .cover {
        padding: 2.25vw;
    }
}

@media (max-width: 992px) {

    .nefin-header {
        display: none !important;
    }

    .nefin-header-mobile {
        display: block !important;
    }

    .nefin-topbar {
        height: 32px;
        border-radius: 12px !important;
        margin-bottom: 16px !important;
    }

    .nefin-topbar-msg {
        font-size: 10.5px;
        letter-spacing: 0.04em;
    }

    .nefin-topbar-controls {
        display: none;
    }

    .nefin-topbar-track {
        padding: 0 16px;
    }

    .nf-megamenu {
        display: none !important;
    }

    #header.no-slider {
        min-height: calc(32px + 16px + 58px);
    }

    .section-slider.index-slider {
        margin-top: calc(-32px - 16px - 58px);
        border-radius: 0 0 12px 12px !important;
    }

    .nefin-footer-grid {
        grid-template-columns: 1fr 1fr !important;
    }

    .nefin-footer-newsletter {
        grid-column: 1 / -1 !important;
        padding-right: 0 !important;
        margin-bottom: 30px !important;
    }
}

@media (max-width: 1200px) {
    .nefin-megamenu-inner {
        grid-template-columns: 220px 1fr !important;
        padding: 30px 40px !important;
    }

    .nefin-megamenu-promo {
        display: none !important;
    }

    .nefin-megamenu-grid {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

@media (max-width: 576px) {
    .nefin-topbar {
        height: 28px;
        margin-bottom: 12px !important;
    }

    .nefin-topbar-msg {
        font-size: 9.5px !important;
        letter-spacing: 0.03em !important;
    }

    .nefin-topbar-cta {
        display: none;
    }

    .nefin-topbar-icon {
        font-size: 10px;
    }

    .section-slider.index-slider {
        margin-top: calc(-28px - 12px - 54px);
        display: none;
    }

    .nefin-footer-grid {
        grid-template-columns: 1fr !important;
    }

    .nefin-footer-column {
        margin-bottom: 30px !important;
    }

    .nefin-footer-bottom {
        flex-direction: column !important;
        gap: 15px !important;
        text-align: center !important;
    }

    .nefin-footer-big-logo {
        font-size: 60px !important;
    }

    .nefin-footer-container {
        padding: 0 20px !important;
    }
}

@media (max-width: 1024px) {
    .nefin-auth-visual {
        flex: 0 0 40%;
    }

    .nefin-auth-form-wrapper {
        flex: 0 0 60%;
        padding: 40px;
    }
}

@media (max-width: 768px) {
    .nefin-auth-section {
        padding-top: 60px;
    }

    .nefin-auth-container {
        flex-direction: column;
        min-height: auto;
    }

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

    .nefin-auth-form-wrapper {
        flex: 1;
        padding: 30px 20px 50px;
    }

    .nefin-auth-mobile-logo {
        display: block;
    }

    .nefin-auth-header {
        text-align: center;
    }

    .nefin-form-row {
        flex-direction: column;
        gap: 0;
    }

    .nefin-form-options {
        flex-direction: column;
        gap: 12px;
        align-items: flex-start;
    }

    .nefin-auth-form-wrapper-centered {
        margin: 15px;
        padding: 30px 24px;
        border-radius: 16px;
    }

    .nefin-auth-status .nefin-status-icon {
        width: 70px;
        height: 70px;
        font-size: 28px;
    }

    .nefin-auth-status h1 {
        font-size: 18px;
    }
}

@media (max-width: 991px) {
    .be-block-product-slider .be-slider-title {
        font-size: 24px;
    }

    .be-block-countdown .countdown-value {
        font-size: 36px;
    }
}

@media (max-width: 767px) {
    .be-row-full-width {
        width: 100%;
        left: 0;
        right: 0;
        margin-left: 0;
        margin-right: 0;
    }

    .be-block-product-slider .be-slider-header {
        flex-direction: column;
        align-items: flex-start !important;
        gap: 15px;
    }

    .be-block-countdown .countdown-value {
        font-size: 28px;
    }

    .be-block-countdown .countdown-item {
        min-width: 60px;
    }

    .be-block-newsletter .newsletter-form {
        flex-direction: column;
    }
}

@media (max-width: 1200px) {
    .apple-footer-grid {
        grid-template-columns: 1.3fr repeat(4, 1fr);
        gap: 36px;
    }
}

@media (max-width: 1024px) {
    .apple-features-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 32px;
    }

    .apple-newsletter-content {
        flex-direction: column;
        text-align: center;
        gap: 32px;
    }

    .apple-newsletter-text {
        max-width: 400px;
    }

    .apple-newsletter-form-inline {
        width: 100%;
        max-width: 480px;
    }

    .apple-footer-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 40px;
    }

    .apple-footer-brand {
        grid-column: span 3;
        max-width: 500px;
        padding-right: 0;
        margin-bottom: 16px;
    }

    .apple-footer-badges {
        justify-content: flex-start;
    }

    .apple-footer-contact-col {
        grid-column: span 1;
    }
}

@media (max-width: 768px) {
    .apple-features-bar {
        padding: 40px 0;
    }

    .apple-features-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .apple-feature-item {
        padding: 0;
    }

    .apple-newsletter-section {
        padding: 48px 0;
    }

    .apple-newsletter-text h3 {
        font-size: 24px;
    }

    .apple-newsletter-input-group {
        flex-direction: column;
    }

    .apple-newsletter-submit {
        justify-content: center;
    }

    .apple-footer-main {
        padding: 48px 0;
    }

    .apple-footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 32px;
    }

    .apple-footer-brand {
        grid-column: span 2;
        text-align: center;
    }

    .apple-footer-logo {
        display: flex;
        justify-content: center;
    }

    .apple-footer-desc {
        max-width: 400px;
        margin-left: auto;
        margin-right: auto;
    }

    .apple-footer-badges {
        justify-content: center;
    }

    .apple-footer-social {
        justify-content: center;
    }

    .apple-footer-column {
        text-align: center;
    }

    .apple-footer-contact li {
        justify-content: center;
    }

    .apple-contact-info {
        text-align: left;
    }

    .apple-footer-contact-col {
        grid-column: span 2;
    }

    .apple-footer-bottom-grid {
        flex-direction: column;
        text-align: center;
        gap: 16px;
    }

    .apple-footer-legal {
        flex-wrap: wrap;
        justify-content: center;
    }

    .apple-payment-methods {
        flex-direction: column;
        gap: 12px;
    }

    .apple-cookies-warning {
        flex-direction: column;
        padding: 20px;
        gap: 16px;
        bottom: 16px;
        width: calc(100% - 32px);
    }

    .apple-cookies-content {
        text-align: center;
        flex-direction: column;
        align-items: center;
    }

    .apple-cookies-actions {
        width: 100%;
        justify-content: center;
    }

    .apple-scrollup {
        bottom: 20px;
        right: 20px;
        width: 46px;
        height: 46px;
    }
}

@media (max-width: 480px) {
    .apple-footer-container {
        padding: 0 16px;
    }

    .apple-footer-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .apple-footer-brand {
        grid-column: span 1;
    }

    .apple-footer-contact-col {
        grid-column: span 1;
    }

    .apple-footer-title {
        font-size: 11px;
    }

    .apple-badge-item {
        font-size: 11px;
        padding: 6px 10px;
    }

    .apple-footer-bottom-grid {
        padding: 20px 0;
    }

    .apple-cookies-warning {
        left: 12px;
        right: 12px;
        width: auto;
        transform: none;
    }

    @keyframes slideUpCookies {
        from {
            opacity: 0;
            transform: translateY(30px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
}

@media (prefers-reduced-motion: reduce) {
    .apple-scrollup,
    .apple-cookies-warning,
    .apple-footer-social a,
    .apple-footer-links a,
    .apple-newsletter-submit,
    .apple-feature-icon {
        transition: none;
    }

    @keyframes slideUpCookies {
        from, to {
            opacity: 1;
            transform: translateX(-50%) translateY(0);
        }
    }
}

@media (min-width: 768px) {
    .top-bar .container-fluid {
        padding: 0 22px;
    }

    .promo-item {
        font-size: 12px;
    }

    .top-bar-right {
        gap: 4px;
    }
}

@media (min-width: 992px) {
    .top-bar .container-fluid {
        padding: 0 40px;
    }

    .top-bar-divider {
        margin: 0 10px;
    }
}

@media (min-width: 1200px) {
    .top-bar .container-fluid {
        max-width: 1400px;
        margin: 0 auto;
    }
}

@media (max-width: 767.98px) {
    .top-bar-inner {
        min-height: 34px;
    }

    .promo-item {
        font-size: 11px;
    }

    .promo-item svg {
        width: 14px;
        height: 14px;
    }

    .top-bar-dropdown-btn {
        padding: 5px 8px;
    }

    .top-bar-dropdown-menu {
        position: fixed;
        top: auto;
        bottom: 0;
        left: 0;
        right: 0;
        width: 100%;
        max-width: 100%;
        border-radius: 16px 16px 0 0;
        padding: 12px;
        transform: translateY(100%);
    }

    .top-bar-dropdown.open .top-bar-dropdown-menu {
        transform: translateY(0);
    }

    .account-menu {
        min-width: 100%;
        max-height: 75vh;
        overflow-y: auto;
    }

    .account-menu-body {
        max-height: none;
    }

    .top-bar-link {
        padding: 5px 8px;
    }

    .flag-icon {
        width: 14px;
        height: 11px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .promo-item {
        animation: none;
    }

    .top-bar-dropdown-menu,
    .top-bar-dropdown-btn svg,
    .top-bar-dropdown-btn,
    .top-bar-link,
    .dropdown-item {
        transition: none;
    }
}

@media (max-width: 768px) {
    .search-overlay {
        padding-top: 10vh;
    }

    .search-overlay-title {
        font-size: 32px;
        margin-bottom: 24px;
    }

    .search-overlay-input-group {
        flex-direction: column;
    }

    .search-overlay-input-wrapper {
        width: 100%;
    }

    .search-overlay-btn {
        width: 100%;
    }

    .search-overlay-close {
        top: 16px;
        right: 16px;
        width: 40px;
        height: 40px;
    }

    .search-overlay-quick {
        margin-top: 32px;
    }
}

@media (max-width: 991.98px) {
    .apple-nav,
    .search-overlay {
        display: none;
    }
}

@media (min-width: 992px) {
    .apple-nav-logo img {
        height: 40px;
    }

    .apple-nav-inner {
        height: 52px;
    }
}

@media (min-width: 1200px) {
    .apple-nav-menu .mega-menu > .nav-item > .nav-link,
    .apple-nav-menu .top-navbar-inline > ul > li > a {
        padding: 8px 14px;
        font-size: 13px;
    }
}

@media (max-width: 991px) {
    .page-hero-banner {
        height: 320px;
    }

    .page-hero-title {
        font-size: 36px;
    }

    .page-hero-content {
        padding: 30px 0;
    }

    .page-content-wrapper {
        padding: 40px 20px;
    }
}

@media (max-width: 767px) {
    .page-hero-banner {
        height: 280px;
    }

    .page-hero-title {
        font-size: 28px;
    }

    .page-hero-content {
        padding: 24px 0;
    }

    .page-content-wrapper {
        padding: 30px 15px;
    }

    .page-content-wrapper .page-text-content {
        font-size: 16px;
    }

    .page-content-wrapper .page-text-content h2 {
        font-size: 24px;
        margin-top: 32px;
    }

    .page-content-wrapper .page-text-content h3 {
        font-size: 20px;
        margin-top: 24px;
    }
}

@media (min-width: 768px) {
    .product-description .tab-pane .card-header {
        display: none !important;
    }

    .product-description .collapse-description-content {
        display: block !important;
        height: auto !important;
    }
}

@media (min-width: 768px) {
    .product-slider-container {
        flex-direction: row;
        gap: 20px;
    }

    .product-slider-container .left {
        width: 80px;
        order: -1;
    }

    .product-slider-container .right {
        flex: 1;
    }

    .product-thumbnails-slider {
        flex-direction: column;
        overflow-y: auto;
        overflow-x: hidden;
        max-height: 450px;
        scroll-snap-type: y mandatory;
    }

    .product-slider .item {
        min-height: 400px;
    }

    .product-slider .img-product-slider {
        max-height: 500px;
    }

    .product-add-to-cart-container {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
    }

    .product-add-to-cart-container .number-spinner {
        width: auto !important;
    }

    .product-add-to-cart-container .button-container {
        flex-direction: row;
        flex: 1;
        flex-wrap: wrap;
    }

    .btn-product-cart,
    .btn-add-cart {
        width: auto !important;
        min-width: 180px;
        flex: 1;
    }

    .btn-whatsapp {
        width: auto !important;
        flex: 0 0 auto;
    }
}

@media (min-width: 992px) {
    .product-content-details .product-title {
        font-size: 32px !important;
    }

    .product-slider .item {
        min-height: 500px;
    }

    .product-slider .img-product-slider {
        max-height: 600px;
        padding: 30px;
    }

    .product-slider-container .left {
        width: 100px;
    }

    .product-thumbnails-slider .item {
        flex: 0 0 90px;
    }

    .product-thumbnails-slider .item .item-inner {
        width: 90px;
        height: 90px;
    }
}

@media (min-width: 1200px) {
    .product-content-details .product-title {
        font-size: 36px !important;
    }

    .product-content-details .price .lbl-price {
        font-size: 32px !important;
    }
}

@media (max-width: 767px) {

    .product-slider-container::after {
        content: "";
        position: absolute;
        bottom: 10px;
        left: 50%;
        transform: translateX(-50%);
        width: 50px;
        height: 4px;
        background: rgba(0, 0, 0, 0.2);
        border-radius: 2px;
        display: none;
    }

    .product-slider-container.has-multiple-images::after {
        display: block;
    }

    .product-slider .slick-dots {
        bottom: 15px;
        display: flex !important;
        justify-content: center;
        gap: 8px;
        padding: 0;
        margin: 0;
        list-style: none;
    }

    .product-slider .slick-dots li {
        width: 8px;
        height: 8px;
        margin: 0;
    }

    .product-slider .slick-dots li button {
        width: 8px;
        height: 8px;
        padding: 0;
        border-radius: 50%;
        background: rgba(0, 0, 0, 0.3);
        border: none;
    }

    .product-slider .slick-dots li button::before {
        display: none;
    }

    .product-slider .slick-dots li.slick-active button {
        background: var(--apple-black, #1d1d1f);
    }

    .product-slider-nav {
        display: none;
    }

    .product-content-details .meta {
        gap: 10px;
        padding-bottom: 15px;
        margin-bottom: 15px;
    }

    .product-content-details .meta span {
        font-size: 12px;
    }

    .product-content-details .price .lbl-price {
        font-size: 24px !important;
    }

    .product-content-details .details {
        padding: 12px;
        margin-bottom: 20px;
    }

    .product-content-details .details .item-details {
        padding: 8px 0;
    }

    .product-add-to-cart-container {
        flex-direction: column;
        align-items: stretch;
    }

    .product-add-to-cart-container .number-spinner {
        width: 100% !important;
        max-width: none;
    }

    .product-add-to-cart-container .number-spinner .input-group {
        justify-content: center;
    }

    .product-add-to-cart-container .number-spinner .form-control {
        flex: 1;
        max-width: 80px;
    }

    .product-add-to-cart-container .button-container {
        width: 100%;
        flex-direction: column;
    }

    .btn-product-cart,
    .btn-add-cart {
        width: 100% !important;
        min-width: unset !important;
        flex: unset !important;
    }

    .btn-whatsapp {
        width: 100% !important;
        flex: unset !important;
    }

    .btn-live-preview {
        width: 100% !important;
    }

    .nav-tabs-horizontal {
        margin: 0 -15px;
        padding: 0 15px;
    }

    .nav-tabs-horizontal .nav-link {
        padding: 12px 15px;
        font-size: 13px;
    }

    .product-description .tab-pane .card-header {
        display: block !important;
        background: var(--apple-light-gray, #f5f5f7);
        padding: 16px;
        margin: -1px;
        border-radius: 12px;
        margin-bottom: 8px;
    }

    .product-description .tab-pane .card-header a {
        display: flex;
        justify-content: space-between;
        align-items: center;
        color: var(--apple-black, #1d1d1f);
        text-decoration: none;
        font-weight: 600;
        font-size: 14px;
    }

    .product-description .tab-pane .card-header a i {
        font-size: 12px;
    }

    .product-description .tab-pane .card-header a i.icon-arrow-up {
        display: none;
    }

    .product-description .tab-pane .card-header a[aria-expanded="true"] i.icon-arrow-down {
        display: none;
    }

    .product-description .tab-pane .card-header a[aria-expanded="true"] i.icon-arrow-up {
        display: inline;
    }

    .product-description .collapse-description-content {
        display: none !important;
    }

    .product-description .collapse-description-content.show {
        display: block !important;
        padding: 16px 0;
    }

    .section-related-products {
        margin-top: 30px;
        padding-top: 30px;
    }

    .section-related-products .title {
        font-size: 18px;
        margin-bottom: 16px;
    }

    .comments-container .row {
        flex-direction: column-reverse;
    }

    .col-comments-inner {
        margin-bottom: 20px;
    }
}

@media (hover: none) and (pointer: coarse) {

    .product-thumbnails-slider .item .item-inner {
        min-height: 70px;
    }

    .variation-option-container .variation-options .btn-variation {
        min-height: 48px;
        min-width: 48px;
    }

    .number-spinner .btn-default {
        min-width: 48px;
        min-height: 48px;
    }

    .btn-product-cart:hover,
    .btn-add-cart:hover,
    .btn-whatsapp:hover {
        transform: none;
    }
}

@media (min-width: 992px) {
    .product-slider .item a {
        cursor: zoom-in;
    }

    .product-slider-content {
        position: relative;
        overflow: hidden;
    }

    .product-slider .img-product-slider {
        transition: transform 0.3s ease;
    }
}

@media print {
    .mobile-sticky-cart,
    .product-slider-nav,
    .product-thumbnails-slider-nav,
    .btn-video-preview,
    .btn-whatsapp,
    .product-share-container,
    .nav-tabs-horizontal,
    .section-related-products {
        display: none !important;
    }

    .product-content-details .product-title {
        font-size: 24px !important;
    }
}

@media (min-width: 768px) {
    .delivery-info-box {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: flex-start;
        padding: 20px;
        gap: 24px;
    }

    .delivery-info-item {
        flex: 0 0 auto;
    }

    .delivery-info-item:not(:last-child)::after {
        content: "";
        position: absolute;
        right: -12px;
        top: 50%;
        transform: translateY(-50%);
        width: 1px;
        height: 40px;
        background: #e8e8e8;
    }

    .delivery-info-item {
        position: relative;
        padding-right: 24px;
    }

    .delivery-info-item:last-child {
        padding-right: 0;
    }

    .delivery-info-item:last-child::after {
        display: none;
    }
}

@media (max-width: 575.98px) {
    .product-badges-container {
        margin-bottom: 12px;
    }

    .product-badge {
        padding: 5px 10px;
        font-size: 11px;
    }

    .delivery-info-box {
        padding: 12px;
        margin: 12px 0;
        gap: 10px;
    }

    .delivery-icon {
        width: 32px;
        height: 32px;
    }

    .delivery-icon svg {
        width: 16px;
        height: 16px;
    }

    .delivery-label {
        font-size: 11px;
    }

    .delivery-value {
        font-size: 13px;
    }

    .delivery-value.highlight {
        font-size: 14px;
    }
}

@media (prefers-color-scheme: dark) {
    .delivery-info-box {
        background: #1d1d1f;
        border-color: #424245;
    }

    .delivery-label {
        color: #86868b;
    }

    .delivery-value {
        color: #f5f5f7;
    }

    .delivery-info-item:not(:last-child)::after {
        background: #424245;
    }
}

@media (max-width: 575.98px) {
    .live-viewers-container {
        padding: 8px 12px;
        margin: 10px 0;
    }

    .live-indicator {
        width: 6px;
        height: 6px;
    }

    .viewers-text {
        font-size: 12px;
    }

    .trust-badges-container {
        padding: 12px;
        gap: 10px;
    }

    .trust-badge {
        font-size: 11px;
        flex: 0 0 100%;
    }

    .trust-badge svg {
        width: 14px;
        height: 14px;
    }
}

@media (min-width: 576px) {
    .trust-badge {
        flex: 0 0 auto;
    }
}

@media (max-width: 991px) {
    .category-hero-banner {
        height: 280px;
    }

    .category-hero-content {
        padding: 30px;
    }

    .category-hero-title {
        font-size: 32px;
    }

    .category-hero-description {
        font-size: 14px;
    }
}

@media (max-width: 767px) {
    .category-hero-banner {
        height: 240px;
    }

    .category-hero-content {
        padding: 20px;
    }

    .category-hero-title {
        font-size: 26px;
    }

    .category-hero-description {
        display: none;
    }

    .product-list-toolbar {
        justify-content: space-between;
    }
}

@media (max-width: 575px) {
    .category-hero-banner {
        height: 200px;
    }

    .category-hero-title {
        font-size: 22px;
    }
}

@media (max-width: 767px) {
    .btn-filter-products-mobile {
        display: inline-flex;
        align-items: center;
    }
}

@media (max-width: 767px) {
    .col-sidebar-products {
        padding-right: 15px;
        margin-bottom: 20px;
    }

    .product-filters {
        position: relative;
        top: 0;
        max-height: none;
        border-radius: var(--apple-radius-lg);
    }

    .product-filters::before {
        display: none;
    }

    #collapseFilters {
        display: none;
    }

    #collapseFilters.show {
        display: block;
    }
}

@media (max-width: 1199px) {
    .col-sidebar-products {
        padding-right: 20px;
    }
}

@media (max-width: 991px) {
    .product-list-header {
        gap: 15px;
    }

    .product-list-title {
        font-size: 26px !important;
        width: 100%;
    }
}

@media (max-width: 767px) {
    .col-sidebar-products {
        display: none !important;
    }

    .col-sidebar-products.show-filters {
        display: block !important;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: var(--apple-white);
        z-index: 1050;
        padding: 20px;
        overflow-y: auto;
    }

    .product-filters {
        position: static;
        max-height: none;
        border: none;
        box-shadow: none;
        padding: 0;
    }

    .product-list-title {
        font-size: 22px !important;
    }

    .product-item .item-details .product-title a {
        font-size: 13px !important;
    }

    .product-item .item-meta .price {
        font-size: 16px !important;
    }

    .col-product {
        padding: 8px;
    }

    .product-item .img-product {
        padding: 15px;
    }

    .product-item .item-details {
        padding: 12px !important;
    }

    .add-to-cart-block {
        padding: 10px 12px;
        font-size: 12px;
    }

    .apple-filter-bar {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding: 12px 0;
        margin: 0 -15px;
        padding-left: 15px;
        padding-right: 15px;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

    .apple-filter-bar::-webkit-scrollbar {
        display: none;
    }

    .apple-filter-bar .filter-label {
        display: none;
    }

    .apple-filter-btn {
        padding: 8px 14px;
        font-size: 13px;
        white-space: nowrap;
        flex-shrink: 0;
    }

    .apple-filter-dropdown .dropdown-menu.apple-filter-panel {
        position: fixed !important;
        top: auto !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
        max-height: 60vh;
        border-radius: var(--apple-radius-xl) var(--apple-radius-xl) 0 0;
        margin: 0;
        transform: none !important;
    }

    .apple-filter-list {
        max-height: 45vh;
    }

    .apple-price-panel {
        padding: 20px !important;
    }

    .apple-price-filter {
        flex-wrap: wrap;
        gap: 12px;
    }

    .apple-price-filter .price-input-group {
        flex: 1 1 40%;
    }

    .apple-price-filter .price-separator {
        display: none;
    }

    .apple-price-btn {
        flex: 0 0 100%;
        width: 100%;
        height: 44px;
        margin-top: 4px;
    }

    .apple-filter-sort {
        order: -1;
        margin-left: 0;
        margin-right: auto;
    }

    .apple-sort-btn {
        padding: 8px 12px;
        font-size: 13px;
    }

    .apple-sort-btn .sort-label {
        display: none;
    }

    .apple-sort-btn .sort-value {
        max-width: 100px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}

@media (max-width: 575px) {
    .col-6.col-product {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .product-item .item-details .product-title a {
        font-size: 12px !important;
    }

    .product-short-description {
        display: none !important;
    }

    .product-item-rating {
        margin-bottom: 6px;
    }

    .product-item .rating i {
        font-size: 10px !important;
    }
}

@media (max-width: 575.98px) {
    .product-item .product-item-badges {
        top: 6px;
        left: 6px;
        gap: 4px;
    }

    .product-item .product-item-badge {
        padding: 3px 6px;
        font-size: 9px;
    }

    .product-item .product-item-badge svg {
        width: 8px;
        height: 8px;
    }

    .product-item .product-item-sales,
    .product-item .product-item-delivery {
        font-size: 10px;
    }
}

@media (max-width: 768px) {
    .product-tabs {
        flex-wrap: nowrap;
    }

    .product-tab .tab-text {
        display: none;
    }

    .product-tab {
        min-width: 70px;
        padding: 14px 10px;
    }

    .form-actions {
        flex-direction: column;
    }

    .form-actions .btn {
        width: 100%;
    }

    .form-section {
        padding: 16px;
    }

    .tab-content-container {
        padding: 20px;
    }

    .type-selection-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    .side-cart {
        width: 100%;
        right: -100%;
    }

    .side-cart-header {
        padding: 16px 20px;
    }

    .side-cart-title {
        font-size: 16px;
    }

    .side-cart-item {
        padding: 14px 16px;
    }

    .side-cart-item-image {
        width: 64px;
        height: 64px;
    }

    .side-cart-footer {
        padding: 16px 20px;
    }

    .side-cart-buttons {
        flex-direction: column;
    }

    .btn-side-cart-view,
    .btn-side-cart-checkout {
        width: 100%;
        box-sizing: border-box;
    }
}

@media (prefers-reduced-motion: reduce) {
    .side-cart,
    .side-cart-overlay,
    .side-cart-item,
    .side-cart-item-image img,
    .side-cart-item-remove,
    .btn-side-cart-view,
    .btn-side-cart-checkout,
    .side-cart-progress-fill {
        transition: none;
    }

    .cart-icon-pulse,
    .side-cart-item.new-item {
        animation: none;
    }
}

@media (max-width: 768px) {
    .apple-page-header {
        padding: 24px 0 32px;
    }

    .apple-page-header .apple-page-title {
        font-size: 32px;
    }

    .apple-page-header .apple-page-title-sm {
        font-size: 26px;
    }

    .apple-page-header .apple-page-subtitle {
        font-size: 16px;
    }
}

@media (max-width: 480px) {
    .apple-page-header .apple-page-title {
        font-size: 28px;
    }

    .apple-page-header .apple-page-title-sm {
        font-size: 22px;
    }
}

@media (max-width: 768px) {
    .apple-page-title {
        font-size: 32px;
    }

    .apple-page-subtitle {
        font-size: 16px;
    }
}

@media (max-width: 480px) {
    .apple-page-title {
        font-size: 28px;
    }
}

@media (max-width: 1199px) {
    .apple-products-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .apple-hero-grid {
        gap: 40px;
    }

    .apple-hero-title {
        font-size: 44px;
    }
}

@media (max-width: 991px) {

    .apple-page-hero-split {
        padding: 30px 0 60px;
    }

    .apple-hero-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .apple-hero-content {
        padding-right: 0;
        text-align: center;
        order: 2;
    }

    .apple-hero-image {
        order: 1;
    }

    .apple-hero-image-wrapper {
        max-width: 400px;
        margin: 0 auto;
    }

    .apple-hero-title {
        font-size: 40px;
    }

    .apple-hero-subtitle {
        font-size: 18px;
    }

    .apple-page-title {
        font-size: 36px;
    }

    .apple-page-subtitle {
        font-size: 17px;
    }

    .apple-page-content {
        padding: 60px 0;
    }

    .apple-page-products {
        padding: 60px 0;
    }

    .apple-section-title {
        font-size: 32px;
    }

    .apple-products-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    .apple-content-main h2 {
        font-size: 28px;
    }

    .apple-content-main h3 {
        font-size: 22px;
    }
}

@media (max-width: 767px) {

    .apple-page-hero-split {
        padding: 24px 0 50px;
    }

    .apple-page-hero-split .apple-breadcrumb {
        margin-bottom: 24px;
    }

    .apple-hero-grid {
        gap: 32px;
    }

    .apple-hero-image-wrapper {
        max-width: 300px;
        border-radius: var(--page-radius-lg);
    }

    .apple-hero-title {
        font-size: 32px;
    }

    .apple-hero-subtitle {
        font-size: 16px;
    }

    .apple-page-header {
        padding: 40px 0 30px;
    }

    .apple-page-title {
        font-size: 28px;
    }

    .apple-page-subtitle {
        font-size: 15px;
    }

    .apple-page-content {
        padding: 40px 0;
    }

    .apple-content-main {
        font-size: 16px;
    }

    .apple-content-main h2 {
        font-size: 24px;
        margin: 36px 0 16px;
    }

    .apple-content-main h3 {
        font-size: 20px;
        margin: 28px 0 12px;
    }

    .apple-content-main img {
        margin: 24px 0;
        border-radius: var(--page-radius-md);
    }

    .apple-page-products {
        padding: 50px 0;
    }

    .apple-section-header {
        margin-bottom: 32px;
    }

    .apple-section-title {
        font-size: 28px;
    }

    .apple-section-subtitle {
        font-size: 16px;
    }

    .apple-product-info {
        padding: 16px;
    }

    .apple-product-title {
        font-size: 14px;
    }

    .apple-product-desc {
        display: none;
    }

    .apple-price-current {
        font-size: 16px;
    }

    .apple-product-actions {
        padding: 0 16px 16px;
    }

    .apple-btn-add-cart {
        padding: 12px 16px;
        font-size: 13px;
    }

    .apple-page-cta {
        padding: 60px 0;
    }

    .apple-cta-title {
        font-size: 28px;
    }

    .apple-cta-text {
        font-size: 16px;
    }

    .apple-btn-primary {
        padding: 16px 28px;
        font-size: 15px;
    }
}

@media (max-width: 575px) {

    .apple-page-hero-split {
        padding: 20px 0 40px;
    }

    .apple-hero-image-wrapper {
        max-width: 260px;
        border-radius: var(--page-radius-md);
    }

    .apple-hero-title {
        font-size: 26px;
    }

    .apple-hero-subtitle {
        font-size: 15px;
    }

    .apple-products-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .apple-product-card {
        border-radius: var(--page-radius-lg);
    }

    .apple-product-info {
        padding: 12px;
    }

    .apple-product-title {
        font-size: 13px;
        margin-bottom: 6px;
    }

    .apple-price-current {
        font-size: 15px;
    }

    .apple-price-old {
        font-size: 12px;
    }

    .apple-product-actions {
        padding: 0 12px 12px;
    }

    .apple-btn-add-cart span {
        display: none;
    }

    .apple-btn-add-cart {
        padding: 12px;
    }

    .apple-btn-add-cart i {
        margin: 0;
    }
}

@media (max-width: 991px) {
    .apple-contact-hero {
        padding: 30px 0 50px;
    }

    .apple-contact-title {
        font-size: 40px;
    }

    .apple-contact-subtitle {
        font-size: 18px;
    }

    .apple-contact-content {
        padding: 60px 0;
    }

    .apple-contact-grid {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .apple-contact-info {
        position: static;
    }

    .apple-info-cards {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 16px;
    }

    .apple-info-card {
        flex-direction: column;
        text-align: center;
        padding: 24px 16px;
    }

    .apple-info-arrow {
        display: none;
    }

    .apple-contact-social {
        text-align: center;
    }

    .apple-social-icons {
        justify-content: center;
    }

    .apple-form-card {
        padding: 36px;
    }
}

@media (max-width: 767px) {
    .apple-contact-hero {
        padding: 24px 0 40px;
    }

    .apple-contact-title {
        font-size: 32px;
    }

    .apple-contact-subtitle {
        font-size: 16px;
    }

    .apple-contact-content {
        padding: 40px 0;
    }

    .apple-info-cards {
        grid-template-columns: 1fr;
    }

    .apple-info-card {
        flex-direction: row;
        text-align: left;
        padding: 20px;
    }

    .apple-info-icon {
        width: 44px;
        height: 44px;
    }

    .apple-info-icon i {
        font-size: 18px;
    }

    .apple-form-card {
        padding: 28px 20px;
        border-radius: var(--page-radius-lg);
    }

    .apple-form-header h2 {
        font-size: 24px;
    }

    .apple-form-row {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .apple-form-input {
        padding: 14px 16px;
        font-size: 16px;
    }

    .apple-map-container {
        height: 350px;
    }
}

@media (max-width: 575px) {
    .apple-contact-title {
        font-size: 28px;
    }

    .apple-info-card {
        gap: 14px;
        padding: 16px;
    }

    .apple-info-icon {
        width: 40px;
        height: 40px;
    }

    .apple-info-details h3 {
        font-size: 11px;
    }

    .apple-info-details p {
        font-size: 14px;
    }

    .apple-form-card {
        padding: 24px 16px;
    }

    .apple-btn-submit {
        padding: 16px 24px;
        font-size: 15px;
    }

    .apple-map-container {
        height: 300px;
    }
}

@media (max-width: 1199px) {
    .apple-cart-grid {
        grid-template-columns: 1fr 340px;
        gap: 40px;
    }

    .apple-cart-item {
        grid-template-columns: 100px 1fr 120px 100px 40px;
        gap: 20px;
    }

    .apple-cart-item-image {
        width: 100px;
        height: 100px;
    }
}

@media (max-width: 991px) {
    .apple-cart-header {
        padding: 30px 0 40px;
    }

    .apple-cart-title {
        font-size: 36px;
    }

    .apple-cart-content {
        padding: 40px 0 80px;
    }

    .apple-cart-grid {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .apple-cart-summary {
        position: static;
    }

    .apple-cart-item {
        grid-template-columns: 90px 1fr 40px;
        gap: 16px;
    }

    .apple-cart-item-quantity,
    .apple-cart-item-total {
        display: none;
    }

    .apple-cart-item-mobile-actions {
        display: flex;
        align-items: center;
        gap: 16px;
        margin-top: 8px;
    }

    .apple-cart-item-details {
        gap: 6px;
    }

    .apple-cart-item-title {
        font-size: 15px;
    }

    .apple-qty-mobile {
        transform: scale(0.9);
        transform-origin: left center;
    }
}

@media (max-width: 767px) {
    .apple-cart-header {
        padding: 24px 0 32px;
    }

    .apple-cart-title {
        font-size: 28px;
    }

    .apple-cart-count {
        font-size: 15px;
    }

    .apple-cart-content {
        padding: 32px 0 60px;
    }

    .apple-cart-item {
        grid-template-columns: 80px 1fr 36px;
        gap: 14px;
        padding: 20px 0;
    }

    .apple-cart-item-image {
        width: 80px;
        height: 80px;
        border-radius: var(--page-radius-md);
    }

    .apple-badge-digital {
        width: 24px;
        height: 24px;
        font-size: 10px;
        bottom: 6px;
        right: 6px;
    }

    .apple-cart-item-title {
        font-size: 14px;
    }

    .apple-cart-item-price {
        flex-wrap: wrap;
    }

    .apple-price-label,
    .apple-price-value {
        font-size: 13px;
    }

    .apple-remove-btn {
        width: 32px;
        height: 32px;
    }

    .apple-summary-card {
        padding: 24px;
        border-radius: var(--page-radius-lg);
    }

    .apple-summary-title {
        font-size: 20px;
    }

    .apple-total-amount {
        font-size: 22px;
    }

    .apple-btn-checkout {
        padding: 16px 20px;
        font-size: 15px;
    }

    .apple-btn-continue {
        padding: 12px 20px;
        font-size: 14px;
    }

    .apple-cart-empty {
        padding: 80px 0;
    }

    .apple-empty-icon {
        width: 80px;
        height: 80px;
    }

    .apple-empty-icon i {
        font-size: 32px;
    }

    .apple-empty-title {
        font-size: 26px;
    }

    .apple-empty-text {
        font-size: 15px;
    }

    .apple-btn-shop {
        padding: 16px 28px;
        font-size: 15px;
    }
}

@media (max-width: 575px) {
    .apple-cart-title {
        font-size: 24px;
    }

    .apple-cart-item {
        grid-template-columns: 70px 1fr 32px;
        gap: 12px;
    }

    .apple-cart-item-image {
        width: 70px;
        height: 70px;
    }

    .apple-cart-item-title {
        font-size: 13px;
    }

    .apple-summary-card {
        padding: 20px 16px;
    }

    .apple-coupon-form {
        flex-direction: column;
    }

    .apple-coupon-btn {
        width: 100%;
    }
}

@media (max-width: 1024px) {
    .apple-checkout-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .apple-checkout-sidebar {
        position: relative;
        top: 0;
        order: -1;
    }

    .apple-order-summary-sticky {
        position: relative;
        top: 0;
    }
}

@media (max-width: 768px) {
    .apple-checkout-header {
        padding: 24px 0 32px;
    }

    .apple-checkout-title {
        font-size: 32px;
    }

    .apple-checkout-content {
        padding: 24px 0 48px;
    }

    .apple-checkout-card {
        padding: 24px 20px;
    }

    .apple-card-header h2 {
        font-size: 20px;
    }

    .apple-payment-option {
        padding: 16px;
    }

    .apple-payment-logos img {
        height: 20px;
    }

    .apple-checkout-actions {
        flex-direction: column-reverse;
        gap: 16px;
    }

    .apple-btn-continue {
        width: 100%;
        justify-content: center;
    }

    .apple-btn-back {
        width: 100%;
        justify-content: center;
    }

    .apple-security-features {
        flex-wrap: wrap;
        gap: 16px;
    }

    .apple-step {
        padding: 16px;
        gap: 12px;
    }

    .apple-step-number {
        width: 32px;
        height: 32px;
        font-size: 12px;
    }
}

@media (max-width: 480px) {
    .apple-checkout-title {
        font-size: 28px;
    }

    .apple-checkout-card {
        padding: 20px 16px;
    }

    .apple-guest-notice {
        flex-direction: column;
        gap: 12px;
        text-align: center;
    }

    .apple-payment-option {
        flex-wrap: wrap;
    }

    .apple-payment-logos {
        width: 100%;
        margin-top: 8px;
        padding-left: 38px;
    }

    .apple-order-summary {
        padding: 20px 16px;
    }

    .apple-summary-header h3 {
        font-size: 18px;
    }

    .apple-summary-item-image {
        width: 48px;
        height: 48px;
    }

    .apple-total-value {
        font-size: 20px;
    }
}

@media (max-width: 768px) {
    .apple-form-row {
        grid-template-columns: 1fr;
    }

    .apple-address-content {
        flex-wrap: wrap;
    }

    .apple-address-actions {
        width: 100%;
        justify-content: flex-end;
        margin-top: 12px;
        padding-top: 12px;
        border-top: 1px solid var(--page-medium-gray);
    }

    .apple-modal-header,
    .apple-modal-body,
    .apple-modal-footer {
        padding-left: 20px;
        padding-right: 20px;
    }
}

@media (max-width: 480px) {
    .apple-seller-shipping {
        padding: 16px;
    }

    .apple-shipping-option-content {
        padding: 14px;
    }
}

@media (prefers-color-scheme: dark) {
    .feedback-widget {
        background: #1c1c1e;
        box-shadow: 0 4px 24px rgba(0, 0, 0, 0.4);
    }

    .feedback-widget-close {
        background: #2c2c2e;
        color: #98989d;
    }

    .feedback-widget-close:hover {
        background: #3a3a3c;
        color: #ffffff;
    }

    .feedback-question {
        color: #ffffff;
    }

    .feedback-star {
        color: #48484a;
    }

    .feedback-labels {
        color: #98989d;
    }

    .feedback-comment {
        background: #2c2c2e;
        border-color: #3a3a3c;
        color: #ffffff;
    }

    .feedback-comment:focus {
        border-color: #0a84ff;
        box-shadow: 0 0 0 3px rgba(10, 132, 255, 0.2);
    }

    .feedback-comment::placeholder {
        color: #98989d;
    }

    .feedback-success-text {
        color: #ffffff;
    }

    .feedback-success-subtext {
        color: #98989d;
    }
}

@media (max-width: 480px) {
    .feedback-widget {
        bottom: 16px;
        right: 16px;
        left: 16px;
        width: auto;
    }
}

@media (max-width: 767px) {
    .swiper-slide {
        padding: 0 5px;
        box-sizing: border-box;
    }

    .swiper {
        padding: 0 !important;
        margin: 0 -5px !important;
    }

    .product-item {
        margin-bottom: 15px !important;
    }

    .product-item .img-product-container {
        height: auto !important;
    }

    .product-item .img-product {
        height: auto !important;
        aspect-ratio: 1;
        object-fit: cover;
    }

    .product-card {
        margin-bottom: 10px;
    }

    .product-card .product-image img {
        border-radius: 8px;
    }

    .product-card .product-title {
        font-size: 12px !important;
        line-height: 1.3 !important;
    }

    .product-card .product-price {
        font-size: 13px !important;
    }

    .product-card .price-old {
        font-size: 11px !important;
    }
}

@media (max-width: 992px) {

    .mobile-nav-container {
        display: none !important;
    }
}

@media (max-width: 992px) {
    .nav-mobile {
        z-index: 9999 !important;
    }

    .nav-mobile-inner {
        padding-top: 16px !important;
    }

    .nav-mobile-links .nav-item .nav-link {
        padding: 14px 20px !important;
        font-family: var(--nefin-font-primary) !important;
        font-size: 15px !important;
        font-weight: 500 !important;
        color: var(--nefin-black, #1d1d1f) !important;
        border-bottom: 1px solid rgba(0, 0, 0, 0.05) !important;
        transition: background 0.15s ease !important;
    }

    .nav-mobile-links .nav-item .nav-link:hover,
    .nav-mobile-links .nav-item .nav-link:active {
        background: var(--nefin-secondary, #f1f0ed) !important;
    }

    .overlay-bg {
        z-index: 9998 !important;
        background: rgba(0, 0, 0, 0.4) !important;
        backdrop-filter: blur(4px) !important;
        -webkit-backdrop-filter: blur(4px) !important;
    }

    .nav-mobile-sc {
        background: #fff !important;
    }

    .mobile-loyalty-points-banner {
        margin: 8px 16px !important;
        padding: 12px 16px !important;
        background: linear-gradient(135deg, #fffbeb, #fff8e1) !important;
        border-radius: var(--radius-md, 8px) !important;
        border: 1px solid rgba(245, 158, 11, 0.15) !important;
    }

    .mobile-loyalty-link {
        color: #92400e !important;
        font-weight: 600 !important;
        font-size: 13px !important;
    }

    .nav-tabs-mobile-menu {
        border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
        padding: 0 16px !important;
    }

    .nav-tabs-mobile-menu .nav-link {
        font-family: var(--nefin-font-primary) !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.04em !important;
        color: var(--nefin-primary, #67645e) !important;
        padding: 14px 16px !important;
        border: none !important;
        border-bottom: 2px solid transparent !important;
        border-radius: 0 !important;
    }

    .nav-tabs-mobile-menu .nav-link.active {
        color: var(--nefin-black, #1d1d1f) !important;
        border-bottom-color: var(--nefin-black, #1d1d1f) !important;
        background: transparent !important;
    }
}

@media (max-width: 767px) {
    .section .title h2,
    .be-slider-title {
        font-size: 18px !important;
        margin-bottom: 15px !important;
    }

    .section .title-exp {
        font-size: 13px !important;
    }

    .be-slider-header {
        padding: 15px 0 !important;
    }

    .be-slider-header .container {
        padding: 0 15px !important;
    }
}

@media (max-width: 576px) {
    .container {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    .section {
        padding: 15px 0 !important;
        margin-bottom: 15px !important;
    }

    .instagram-swiper .swiper-slide {
        padding: 0 3px !important;
    }

    .row-product-items .col-6 {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }
}

@media (max-width: 576px) {
    .nf-form-row {
        grid-template-columns: 1fr !important;
        gap: 12px;
    }
    .nf-form-row .nf-form-group,
    .nf-form-row .col-12,
    .nf-form-row > div {
        width: 100%;
    }

    .nf-payment-form,
    .nf-shipping-form,
    .nf-cart-summary {
        width: 100% !important;
        max-width: 100% !important;
    }

    .nf-form-input,
    .nf-form-select,
    select.form-control,
    input.form-control {
        height: 44px !important;
        font-size: 15px !important;
    }
    textarea.form-control {
        font-size: 15px !important;
    }
}
@media (min-width: 577px) and (max-width: 768px) {
    .nf-form-row {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }
}

/* ===== Authentication and global login modal ===== */
:root {
    --nf-auth-primary: #67645e;
    --nf-auth-secondary: #f1f0ed;
    --nf-auth-accent: #d4a574;
    --nf-auth-dark: #1d1d1f;
    --nf-auth-white: #ffffff;
    --nf-auth-glass: rgba(255, 255, 255, 0.85);
    --nf-auth-glass-border: rgba(255, 255, 255, 0.2);
    --nf-auth-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    --nf-auth-radius: 24px;
    --nf-auth-ease: cubic-bezier(0.4, 0, 0.2, 1);
    --nf-auth-bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.nf-auth {
    min-height: calc(100vh - 100px);
    display: flex;
    position: relative;
    overflow: hidden;
    background: var(--nf-auth-secondary);
    padding-bottom: 60px;
}

.nf-auth-bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 0;
    pointer-events: none;
}

.nf-auth-gradient {
    position: absolute;
    inset: 0;
    background:
    radial-gradient(ellipse 80% 50% at 20% 40%, rgba(212, 165, 116, 0.15) 0%, transparent 50%),
    radial-gradient(ellipse 60% 80% at 80% 60%, rgba(103, 100, 94, 0.12) 0%, transparent 50%),
    radial-gradient(ellipse 100% 100% at 50% 100%, rgba(241, 240, 237, 1) 0%, rgba(255, 255, 255, 0.9) 100%);
    animation: gradientShift 20s ease-in-out infinite;
}

@keyframes gradientShift {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.8; transform: scale(1.1); }
}

.nf-auth-noise {
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%' height='100%' filter='url(%23noise)'/%3E%3C/svg%3E");
    opacity: 0.03;
}

.nf-auth-orbs {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

.nf-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(60px);
    animation: orbFloat 15s ease-in-out infinite;
}

.nf-orb-1 {
    width: 400px;
    height: 400px;
    background: linear-gradient(135deg, rgba(212, 165, 116, 0.3), rgba(212, 165, 116, 0.1));
    top: -100px;
    left: -100px;
    animation-delay: 0s;
}

.nf-orb-2 {
    width: 300px;
    height: 300px;
    background: linear-gradient(135deg, rgba(103, 100, 94, 0.2), rgba(103, 100, 94, 0.05));
    bottom: -50px;
    right: -50px;
    animation-delay: -5s;
}

.nf-orb-3 {
    width: 200px;
    height: 200px;
    background: linear-gradient(135deg, rgba(212, 165, 116, 0.2), rgba(255, 255, 255, 0.1));
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    animation-delay: -10s;
}

@keyframes orbFloat {
    0%, 100% { transform: translate(0, 0) scale(1); }
    25% { transform: translate(30px, -30px) scale(1.05); }
    50% { transform: translate(-20px, 20px) scale(0.95); }
    75% { transform: translate(20px, 30px) scale(1.02); }
}

.nf-auth-container {
    width: 100%;
    min-height: 600px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    position: relative;
    z-index: 1;
    padding-top: 100px;
}

.nf-auth-brand-panel {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 60px 80px;
    position: relative;
}

.nf-auth-brand-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.nf-auth-logo {
    margin-bottom: 60px;
}

.nf-auth-logo img {
    height: 48px;
    transition: transform 0.3s var(--nf-auth-ease);
}

.nf-auth-logo:hover img {
    transform: scale(1.02);
}

.nf-auth-logo-text {
    font-family: "Montserrat", sans-serif;
    font-size: 32px;
    font-weight: 300;
    letter-spacing: 0.3em;
    color: var(--nf-auth-primary);
    text-transform: lowercase;
}

.nf-auth-welcome {
    max-width: 480px;
}

.nf-auth-welcome-badge {
    display: inline-flex;
    align-items: center;
    padding: 8px 16px;
    background: linear-gradient(135deg, rgba(212, 165, 116, 0.15), rgba(212, 165, 116, 0.05));
    border: 1px solid rgba(212, 165, 116, 0.2);
    border-radius: 100px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--nf-auth-accent);
    margin-bottom: 24px;
}

.nf-auth-welcome h1 {
    font-family: "EB Garamond", Georgia, serif;
    font-size: clamp(32px, 4vw, 48px);
    font-weight: 400;
    line-height: 1.2;
    color: var(--nf-auth-dark);
    margin: 0 0 20px;
    letter-spacing: -0.02em;
}

.nf-auth-welcome p {
    font-size: 16px;
    line-height: 1.7;
    color: #6b6b6b;
    margin: 0;
}

.nf-auth-trust {
    display: flex;
    gap: 32px;
    margin-top: 60px;
}

.nf-auth-trust-item {
    display: flex;
    align-items: center;
    gap: 12px;
}

.nf-auth-trust-icon {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--nf-auth-white);
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
    color: var(--nf-auth-primary);
    transition: all 0.3s var(--nf-auth-ease);
}

.nf-auth-trust-item:hover .nf-auth-trust-icon {
    transform: translateY(-2px);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1);
    color: var(--nf-auth-accent);
}

.nf-auth-trust-item span {
    font-size: 13px;
    font-weight: 500;
    color: var(--nf-auth-dark);
}

.nf-auth-benefits {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-top: 50px;
}

.nf-auth-benefit {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 20px 24px;
    background: var(--nf-auth-white);
    border-radius: 16px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
    transition: all 0.3s var(--nf-auth-ease);
}

.nf-auth-benefit:hover {
    transform: translateX(8px);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
}

.nf-auth-benefit-icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(212, 165, 116, 0.1), rgba(212, 165, 116, 0.05));
    border-radius: 12px;
    color: var(--nf-auth-accent);
    flex-shrink: 0;
}

.nf-auth-benefit-text {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.nf-auth-benefit-text strong {
    font-size: 14px;
    font-weight: 600;
    color: var(--nf-auth-dark);
}

.nf-auth-benefit-text span {
    font-size: 13px;
    color: #888;
}

.nf-auth-brand-footer {
    padding-top: 40px;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
    margin-top: auto;
}

.nf-auth-brand-footer p {
    font-size: 14px;
    color: #888;
    margin: 0 0 12px;
}

.nf-auth-switch-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 600;
    color: var(--nf-auth-primary);
    text-decoration: none;
    transition: all 0.3s var(--nf-auth-ease);
}

.nf-auth-switch-link:hover {
    color: var(--nf-auth-accent);
    gap: 12px;
}

.nf-auth-switch-link svg {
    transition: transform 0.3s var(--nf-auth-ease);
}

.nf-auth-switch-link:hover svg {
    transform: translateX(4px);
}

.nf-auth-form-panel {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 60px;
}

.nf-auth-form-card {
    width: 100%;
    max-width: 440px;
    padding: 48px;
    background: var(--nf-auth-glass);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid var(--nf-auth-glass-border);
    border-radius: var(--nf-auth-radius);
    box-shadow: var(--nf-auth-shadow);
}

.nf-auth-mobile-header {
    display: none;
    text-align: center;
    margin-bottom: 32px;
}

.nf-auth-mobile-logo {
    height: 40px;
}

.nf-auth-mobile-logo-text {
    font-family: "Montserrat", sans-serif;
    font-size: 24px;
    font-weight: 300;
    letter-spacing: 0.3em;
    color: var(--nf-auth-primary);
}

.nf-auth-form-header {
    text-align: center;
    margin-bottom: 32px;
}

.nf-auth-form-header h2 {
    font-family: "Montserrat", sans-serif;
    font-size: 28px;
    font-weight: 500;
    color: var(--nf-auth-dark);
    margin: 0 0 8px;
    letter-spacing: -0.01em;
}

.nf-auth-form-header p {
    font-size: 14px;
    color: #888;
    margin: 0;
    line-height: 1.5;
}

.nf-auth-social {
    display: flex;
    gap: 12px;
    margin-bottom: 24px;
}

.nf-auth-social-btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 20px;
    border-radius: 14px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s var(--nf-auth-ease);
}

.nf-auth-social-google {
    background: var(--nf-auth-white);
    border: 1px solid #e5e5e5;
    color: var(--nf-auth-dark);
}

.nf-auth-social-google:hover {
    background: #fafafa;
    border-color: #d0d0d0;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
    color: var(--nf-auth-dark);
    text-decoration: none;
}

.nf-auth-social-facebook {
    background: #1877f2;
    border: 1px solid #1877f2;
    color: #fff;
}

.nf-auth-social-facebook:hover {
    background: #166fe5;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(24, 119, 242, 0.3);
    color: #fff;
    text-decoration: none;
}

.nf-auth-divider {
    display: flex;
    align-items: center;
    margin-bottom: 24px;
}

.nf-auth-divider::before,
.nf-auth-divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, transparent, #e0e0e0, transparent);
}

.nf-auth-divider span {
    padding: 0 16px;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #aaa;
}

.nf-auth-messages {
    margin-bottom: 20px;
}

.nf-auth-messages:empty {
    display: none;
}

.nf-auth-messages .alert {
    padding: 14px 18px;
    border-radius: 12px;
    font-size: 13px;
    border: none;
    display: flex;
    align-items: center;
    gap: 10px;
}

.nf-auth-messages .alert-danger {
    background: linear-gradient(135deg, #fef2f2, #fee2e2);
    color: #991b1b;
}

.nf-auth-messages .alert-success {
    background: linear-gradient(135deg, #f0fdf4, #dcfce7);
    color: #166534;
}

.nf-auth-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.nf-auth-field {
    position: relative;
}

.nf-auth-field-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.nf-auth-input-group {
    position: relative;
    display: flex;
    align-items: center;
}

.nf-auth-input {
    width: 100%;
    height: 56px;
    padding: 20px 48px 8px 48px;
    font-family: "Montserrat", sans-serif;
    font-size: 15px;
    color: var(--nf-auth-dark);
    background: var(--nf-auth-white);
    border: 2px solid #e8e8e8;
    border-radius: 14px;
    outline: none;
    transition: all 0.3s var(--nf-auth-ease);
}

.nf-auth-input:hover {
    border-color: #d0d0d0;
}

.nf-auth-input:focus {
    border-color: var(--nf-auth-primary);
    box-shadow: 0 0 0 4px rgba(103, 100, 94, 0.08);
}

.nf-auth-label {
    position: absolute;
    left: 48px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 14px;
    color: #999;
    pointer-events: none;
    transition: all 0.2s var(--nf-auth-ease);
    background: transparent;
    padding: 0;
}

.nf-auth-input:focus ~ .nf-auth-label,
.nf-auth-input:not(:placeholder-shown) ~ .nf-auth-label,
.nf-auth-input-group.has-value .nf-auth-label {
    top: 12px;
    transform: translateY(0);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--nf-auth-primary);
}

.nf-auth-input-icon {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: #bbb;
    transition: color 0.3s var(--nf-auth-ease);
    display: flex;
    align-items: center;
    justify-content: center;
}

.nf-auth-input:focus ~ .nf-auth-input-icon {
    color: var(--nf-auth-primary);
}

.nf-auth-password-toggle {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    border-radius: 10px;
    color: #bbb;
    cursor: pointer;
    transition: all 0.2s var(--nf-auth-ease);
}

.nf-auth-password-toggle:hover {
    background: rgba(0, 0, 0, 0.04);
    color: var(--nf-auth-dark);
}

.nf-auth-password-toggle .nf-eye-closed {
    display: none;
}

.nf-auth-password-toggle.nf-visible .nf-eye-open {
    display: none;
}

.nf-auth-password-toggle.nf-visible .nf-eye-closed {
    display: block;
}

.nf-auth-input-group:has(.nf-auth-password-toggle) .nf-auth-input {
    padding-right: 56px;
}

.nf-auth-options {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: -4px;
}

.nf-auth-checkbox {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    user-select: none;
}

.nf-auth-checkbox input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.nf-auth-checkbox-box {
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--nf-auth-white);
    border: 2px solid #d0d0d0;
    border-radius: 6px;
    transition: all 0.2s var(--nf-auth-ease);
    flex-shrink: 0;
}

.nf-auth-checkbox-box svg {
    opacity: 0;
    transform: scale(0.5);
    transition: all 0.2s var(--nf-auth-bounce);
    color: #fff;
}

.nf-auth-checkbox:hover .nf-auth-checkbox-box {
    border-color: var(--nf-auth-primary);
}

.nf-auth-checkbox input:checked + .nf-auth-checkbox-box {
    background: var(--nf-auth-primary);
    border-color: var(--nf-auth-primary);
}

.nf-auth-checkbox input:checked + .nf-auth-checkbox-box svg {
    opacity: 1;
    transform: scale(1);
}

.nf-auth-checkbox-label {
    font-size: 13px;
    color: #666;
}

.nf-auth-forgot {
    font-size: 13px;
    font-weight: 500;
    color: var(--nf-auth-primary);
    text-decoration: none;
    transition: color 0.2s var(--nf-auth-ease);
}

.nf-auth-forgot:hover {
    color: var(--nf-auth-accent);
}

.nf-auth-terms {
    margin-top: -4px;
}

.nf-auth-terms .nf-auth-checkbox {
    align-items: flex-start;
}

.nf-auth-terms .nf-auth-checkbox-box {
    margin-top: 2px;
}

.nf-auth-terms .nf-auth-checkbox-label {
    line-height: 1.5;
}

.nf-auth-terms-link {
    color: var(--nf-auth-accent);
    font-weight: 600;
    text-decoration: none;
    transition: color 0.2s var(--nf-auth-ease);
}

.nf-auth-terms-link:hover {
    color: var(--nf-auth-primary);
    text-decoration: underline;
}

.nf-auth-recaptcha {
    display: flex;
    justify-content: center;
    margin-top: -4px;
}

.nf-auth-submit {
    width: 100%;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: linear-gradient(135deg, var(--nf-auth-primary) 0%, #4a4843 100%);
    color: #fff;
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    border: none;
    border-radius: 14px;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: all 0.4s var(--nf-auth-ease);
    box-shadow: 0 4px 20px rgba(103, 100, 94, 0.3);
    margin-top: 8px;
}

.nf-auth-submit::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.15), transparent);
    transition: left 0.6s var(--nf-auth-ease);
}

.nf-auth-submit:hover::before {
    left: 100%;
}

.nf-auth-submit:hover {
    background: linear-gradient(135deg, var(--nf-auth-accent) 0%, #c4956a 100%);
    box-shadow: 0 8px 30px rgba(212, 165, 116, 0.4);
    transform: translateY(-2px);
}

.nf-auth-submit:active {
    transform: translateY(0);
    box-shadow: 0 4px 15px rgba(212, 165, 116, 0.3);
}

.nf-auth-submit-arrow {
    transition: transform 0.3s var(--nf-auth-ease);
}

.nf-auth-submit:hover .nf-auth-submit-arrow {
    transform: translateX(4px);
}

.nf-auth-submit-loader {
    display: none;
}

.nf-auth-submit.nf-loading .nf-auth-submit-text,
.nf-auth-submit.nf-loading .nf-auth-submit-arrow {
    display: none;
}

.nf-auth-submit.nf-loading .nf-auth-submit-loader {
    display: flex;
}

.nf-auth-submit.nf-loading {
    pointer-events: none;
}

.nf-spinner {
    width: 24px;
    height: 24px;
    animation: spinnerRotate 1s linear infinite;
}

.nf-spinner circle {
    stroke: #fff;
    stroke-linecap: round;
    stroke-dasharray: 100;
    stroke-dashoffset: 75;
    animation: spinnerDash 1.5s ease-in-out infinite;
}

@keyframes spinnerRotate {
    100% { transform: rotate(360deg); }
}

@keyframes spinnerDash {
    0% { stroke-dasharray: 1, 150; stroke-dashoffset: 0; }
    50% { stroke-dasharray: 90, 150; stroke-dashoffset: -35; }
    100% { stroke-dasharray: 90, 150; stroke-dashoffset: -125; }
}

.nf-auth-submit.nf-success {
    background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%);
    box-shadow: 0 8px 30px rgba(34, 197, 94, 0.4);
}

.nf-auth-mobile-footer {
    display: none;
    text-align: center;
    margin-top: 32px;
    padding-top: 24px;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
}

.nf-auth-mobile-footer p {
    font-size: 14px;
    color: #888;
    margin: 0 0 8px;
}

.nf-auth-mobile-footer a {
    font-size: 14px;
    font-weight: 600;
    color: var(--nf-auth-primary);
    text-decoration: none;
}

.nf-auth-mobile-footer a:hover {
    color: var(--nf-auth-accent);
}

@media (min-width: 1400px) {
    .nf-auth-brand-panel {
        padding: 80px 120px;
    }

    .nf-auth-form-card {
        max-width: 480px;
        padding: 56px;
    }
}

@media (max-width: 1200px) {
    .nf-auth-container {
        grid-template-columns: 45% 55%;
    }

    .nf-auth-brand-panel {
        padding: 40px 50px;
    }

    .nf-auth-form-panel {
        padding: 40px;
    }

    .nf-auth-form-card {
        padding: 40px;
    }

    .nf-auth-welcome h1 {
        font-size: 36px;
    }

    .nf-auth-trust {
        flex-direction: column;
        gap: 20px;
    }
}

@media (max-width: 991px) {
    .nf-auth {
        padding-bottom: 50px;
    }

    .nf-auth-container {
        grid-template-columns: 1fr;
        padding-top: 80px;
    }

    .nf-auth-brand-panel {
        display: none;
    }

    .nf-auth-form-panel {
        padding: 30px 20px;
        min-height: auto;
    }

    .nf-auth-form-card {
        max-width: 100%;
        padding: 32px 24px;
        background: var(--nf-auth-white);
        backdrop-filter: none;
        border: none;
        box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
    }

    .nf-auth-mobile-header {
        display: block;
    }

    .nf-auth-mobile-footer {
        display: block;
    }

    .nf-auth-form-header {
        margin-bottom: 28px;
    }

    .nf-auth-form-header h2 {
        font-size: 24px;
    }
}

@media (max-width: 576px) {
    .nf-auth {
        min-height: auto;
        padding-bottom: 40px;
    }

    .nf-auth-container {
        padding-top: 70px;
    }

    .nf-auth-form-panel {
        padding: 20px 16px;
        min-height: auto;
        align-items: flex-start;
        padding-top: 30px;
    }

    .nf-auth-form-card {
        padding: 28px 20px;
        border-radius: 20px;
    }

    .nf-auth-form-header h2 {
        font-size: 22px;
    }

    .nf-auth-social-btn {
        padding: 14px;
    }

    .nf-auth-field-row {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .nf-auth-input {
        height: 54px;
        font-size: 16px;
    }

    .nf-auth-submit {
        height: 54px;
    }

    .nf-auth-options {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .nf-auth-forgot {
        align-self: flex-end;
    }

    .nf-auth-orbs {
        display: none;
    }
}

@media (max-width: 360px) {
    .nf-auth-form-card {
        padding: 24px 16px;
    }

    .nf-auth-form-header h2 {
        font-size: 20px;
    }

    .nf-auth-checkbox-label {
        font-size: 12px;
    }
}

@media (prefers-color-scheme: dark) {

}

@media (prefers-reduced-motion: reduce) {
    .nf-auth-gradient,
    .nf-orb,
    .nf-auth-submit::before {
        animation: none;
    }

    * {
        transition-duration: 0.01ms !important;
    }
}

@media print {
    .nf-auth-bg,
    .nf-auth-brand-panel {
        display: none;
    }

    .nf-auth-form-panel {
        padding: 0;
    }

    .nf-auth-form-card {
        box-shadow: none;
        border: 1px solid #ddd;
    }
}

.nf-auth-modal-content {
    border: none;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}
.nf-auth-modal-header {
    background: linear-gradient(135deg, #67645e 0%, #d4a574 100%);
    color: #fff;
    padding: 16px 20px;
    border: none;
    align-items: center;
}
.nf-auth-modal-header .modal-title {
    color: #fff;
    font-weight: 600;
    font-size: 16px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.nf-auth-modal-header .modal-title i {
    font-size: 16px;
}
.nf-auth-modal-header .close {
    color: #fff;
    opacity: 0.85;
    text-shadow: none;
    padding: 0;
    margin: 0;
    line-height: 1;
}
.nf-auth-modal-header .close:hover { opacity: 1; }
.nf-auth-modal-body {
    padding: 24px;
    background: #fff;
}
.nf-auth-modal-body .nf-auth-messages {
    margin-bottom: 12px;
}
.nf-auth-modal-body .nf-auth-form {
    margin-bottom: 0;
}
.nf-auth-submit-modal {
    width: 100%;
    margin-top: 8px;
}
.nf-auth-modal-footer {
    text-align: center;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid #eee;
    color: #777;
    font-size: 13px;
}
.nf-auth-modal-footer p { margin: 0; }
.nf-auth-modal-footer a {
    color: #d4a574;
    font-weight: 600;
    text-decoration: none;
    margin-left: 4px;
}
.nf-auth-modal-footer a:hover { text-decoration: underline; }

@media (max-width: 576px) {
    #loginModal .modal-dialog {
        margin: 0;
        min-height: 100vh;
        display: flex;
        align-items: stretch;
    }
    #loginModal .modal-content {
        border-radius: 0;
        width: 100%;
    }
    #loginModal .modal-body {
        padding: 20px 16px;
        max-height: calc(100vh - 60px);
        overflow-y: auto;
    }
    #loginModal .nf-auth-input {
        height: 50px;
        font-size: 16px;
    }
    #loginModal .nf-auth-submit {
        height: 50px;
    }
}

.modal-backdrop.show { z-index: 1040; }
#loginModal {z-index: 1050;display: none;}
#loginModal + .modal-backdrop { z-index: 1049; }

:root {
    --nf-auth-primary: #625f59;
    --nf-auth-primary-dark: #4d4a45;
    --nf-auth-secondary: #f5f3ef;
    --nf-auth-accent: #cfa273;
    --nf-auth-dark: #22211f;
    --nf-auth-muted: #8a8782;
    --nf-auth-line: rgba(34, 33, 31, 0.10);
    --nf-auth-white: #fff;
    --nf-auth-glass: rgba(255, 255, 255, 0.78);
    --nf-auth-glass-border: rgba(255, 255, 255, 0.66);
    --nf-auth-shadow: 0 24px 70px rgba(53, 49, 43, 0.16);
    --nf-auth-radius: 22px;
}

.nf-auth {
    min-height: 100vh;
    padding: 0;
    background: #f7f5f1;
    isolation: isolate;
}

.nf-auth-container {
    width: min(1600px, 100%);
    min-height: 100vh;
    margin: 0 auto;
    padding: clamp(32px, 5vw, 76px);
    grid-template-columns: minmax(0, 1.05fr) minmax(420px, 0.95fr);
    gap: clamp(48px, 7vw, 120px);
    align-items: center;
}

.nf-auth-brand-panel,
.nf-auth-form-panel {
    min-width: 0;
}

.nf-auth-brand-panel {
    min-height: 720px;
    padding: 0;
    justify-content: space-between;
}

.nf-auth-brand-content {
    justify-content: center;
}

.nf-auth-form-panel {
    padding: 0;
}

.nf-auth-gradient {
    background:
    radial-gradient(circle at 8% 22%, rgba(207, 162, 115, 0.18), transparent 30%),
    radial-gradient(circle at 88% 68%, rgba(98, 95, 89, 0.13), transparent 34%),
    linear-gradient(135deg, #fbfaf8 0%, #f4f1ec 52%, #efede8 100%);
    animation-duration: 28s;
}

.nf-auth-noise {
    opacity: 0.018;
}

.nf-orb {
    filter: blur(90px);
    opacity: 0.58;
}

.nf-orb-1 {
    width: 420px;
    height: 420px;
    top: -140px;
    left: -120px;
}

.nf-orb-2 {
    width: 360px;
    height: 360px;
    right: -110px;
    bottom: -120px;
}

.nf-orb-3 {
    width: 220px;
    height: 220px;
    opacity: 0.28;
}

.nf-auth-logo {
    margin-bottom: clamp(52px, 8vh, 88px);
}

.nf-auth-logo img {
    width: auto;
    height: clamp(40px, 4vw, 54px);
    max-width: 220px;
    object-fit: contain;
}

.nf-auth-welcome {
    max-width: 580px;
}

.nf-auth-welcome-badge {
    padding: 7px 14px;
    background: rgba(207, 162, 115, 0.10);
    border-color: rgba(207, 162, 115, 0.24);
    color: #b58455;
    margin-bottom: 22px;
}

.nf-auth-welcome h1 {
    max-width: 640px;
    font-size: clamp(40px, 4.4vw, 66px);
    line-height: 1.02;
    margin-bottom: 20px;
    letter-spacing: -0.035em;
}

.nf-auth-welcome p {
    max-width: 520px;
    font-size: 16px;
    color: #77736d;
}

.nf-auth-trust {
    gap: 22px;
    margin-top: 42px;
    flex-wrap: wrap;
}

.nf-auth-trust-item {
    gap: 10px;
}

.nf-auth-trust-icon {
    width: 40px;
    height: 40px;
    border-radius: 11px;
    border: 1px solid rgba(34, 33, 31, 0.06);
    box-shadow: 0 8px 24px rgba(45, 42, 37, 0.06);
}

.nf-auth-brand-footer {
    max-width: 720px;
    padding-top: 28px;
    margin-top: 56px;
    border-color: rgba(34, 33, 31, 0.08);
}

.nf-auth-form-card {
    max-width: 500px;
    padding: clamp(34px, 4vw, 52px);
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(255, 255, 255, 0.82);
    border-radius: 24px;
    box-shadow:
    0 30px 80px rgba(49, 46, 41, 0.14),
    0 2px 10px rgba(49, 46, 41, 0.05);
    backdrop-filter: blur(28px) saturate(125%);
    -webkit-backdrop-filter: blur(28px) saturate(125%);
}

.nf-auth-form-header {
    margin-bottom: 28px;
}

.nf-auth-form-header h2 {
    font-size: 30px;
    font-weight: 500;
    color: var(--nf-auth-dark);
}

.nf-auth-form-header p {
    color: #96928c;
}

.nf-auth-social {
    gap: 10px;
    margin-bottom: 22px;
}

.nf-auth-social-btn {
    min-height: 48px;
    padding: 12px 16px;
    border-radius: 12px;
    box-shadow: none;
}

.nf-auth-social-google {
    border-color: rgba(34, 33, 31, 0.11);
}

.nf-auth-social-google:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 22px rgba(34, 33, 31, 0.08);
}

.nf-auth-social-facebook {
    background: #1877f2;
}

.nf-auth-divider {
    margin-bottom: 22px;
}

.nf-auth-divider span {
    color: #aaa6a0;
}

.nf-auth-form {
    gap: 16px;
}

.nf-auth-input {
    height: 60px;
    padding: 22px 52px 8px 48px;
    border: 1px solid rgba(34, 33, 31, 0.12);
    border-radius: 13px;
    background: rgba(255,255,255,0.92);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.85);
}

.nf-auth-input:hover {
    border-color: rgba(34, 33, 31, 0.22);
}

.nf-auth-input:focus {
    border-color: var(--nf-auth-primary);
    box-shadow: 0 0 0 4px rgba(98, 95, 89, 0.08);
}

.nf-auth-label {
    color: #aaa6a0;
}

.nf-auth-input-icon,
.nf-auth-password-toggle {
    color: #b5b1ab;
}

.nf-auth-options {
    margin-top: 0;
}

.nf-auth-checkbox-box {
    width: 20px;
    height: 20px;
    border-width: 1px;
    border-color: rgba(34, 33, 31, 0.2);
}

.nf-auth-checkbox-label,
.nf-auth-forgot {
    font-size: 12.5px;
}

.nf-auth-submit {
    height: 56px;
    margin-top: 4px;
    border-radius: 12px;
    background: var(--nf-auth-primary);
    box-shadow: 0 10px 28px rgba(98, 95, 89, 0.22);
}

.nf-auth-submit:hover {
    background: var(--nf-auth-primary-dark);
    box-shadow: 0 14px 34px rgba(77, 74, 69, 0.28);
    transform: translateY(-1px);
}

.nf-auth-submit:focus-visible,
.nf-auth-social-btn:focus-visible,
.nf-auth-forgot:focus-visible,
.nf-auth-switch-link:focus-visible,
.nf-auth-password-toggle:focus-visible {
    outline: 3px solid rgba(207, 162, 115, 0.32);
    outline-offset: 3px;
}

.nf-auth-form.was-validated .nf-auth-input:invalid {
    border-color: #c85b5b;
    box-shadow: 0 0 0 4px rgba(200, 91, 91, 0.08);
}

.nf-auth-form.was-validated .nf-auth-input:valid {
    border-color: #6f8f74;
}

.nf-auth-modal-content {
    border-radius: 18px;
}

.nf-auth-modal-header {
    background: var(--nf-auth-primary);
    padding: 18px 22px;
}

.nf-auth-modal-body {
    padding: 26px;
}

@media (max-height: 820px) and (min-width: 992px) {
    .nf-auth-container {
        padding-top: 26px;
        padding-bottom: 26px;
    }

    .nf-auth-brand-panel {
        min-height: 620px;
    }

    .nf-auth-logo {
        margin-bottom: 36px;
    }

    .nf-auth-trust {
        margin-top: 30px;
    }

    .nf-auth-form-card {
        padding-top: 36px;
        padding-bottom: 36px;
    }
}

@media (max-width: 1100px) {
    .nf-auth-container {
        grid-template-columns: 0.9fr 1.1fr;
        gap: 44px;
        padding: 42px;
    }

    .nf-auth-welcome h1 {
        font-size: clamp(38px, 5vw, 52px);
    }
}

@media (max-width: 991px) {
    .nf-auth {
        min-height: 100dvh;
        padding: 0;
    }

    .nf-auth-container {
        min-height: 100dvh;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 32px 20px;
    }

    .nf-auth-form-panel {
        width: 100%;
    }

    .nf-auth-form-card {
        max-width: 520px;
        margin: 0 auto;
        padding: 34px 28px;
        border: 1px solid rgba(34, 33, 31, 0.07);
        border-radius: 22px;
        box-shadow: 0 24px 60px rgba(49, 46, 41, 0.12);
    }

    .nf-auth-mobile-header {
        margin-bottom: 26px;
    }

    .nf-auth-mobile-logo {
        height: 42px;
        max-width: 190px;
        object-fit: contain;
    }
}

@media (max-width: 576px) {
    .nf-auth-container {
        padding: 18px 12px;
        align-items: flex-start;
    }

    .nf-auth-form-panel {
        padding: 18px 0;
    }

    .nf-auth-form-card {
        padding: 28px 20px;
        border-radius: 18px;
    }

    .nf-auth-form-header {
        margin-bottom: 24px;
    }

    .nf-auth-form-header h2 {
        font-size: 24px;
    }

    .nf-auth-social {
        flex-direction: column;
    }

    .nf-auth-social-btn {
        min-height: 50px;
    }

    .nf-auth-options {
        flex-direction: row;
        align-items: center;
        gap: 12px;
    }

    .nf-auth-forgot {
        margin-left: auto;
        text-align: right;
    }

    .nf-auth-input {
        height: 56px;
        font-size: 16px;
    }

    .nf-auth-mobile-footer {
        margin-top: 26px;
    }
}

@media (max-width: 380px) {
    .nf-auth-options {
        align-items: flex-start;
        flex-direction: column;
    }

    .nf-auth-forgot {
        margin-left: 0;
        align-self: flex-start;
    }
}

.nf-auth-register-prompt {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 4px 0 0;
    color: #96928c;
    font-size: 12px;
    text-align: center;
}

.nf-auth-register-prompt::before,
.nf-auth-register-prompt::after {
    content: "";
    flex: 1;
    height: 1px;
    background: rgba(34, 33, 31, 0.09);
}

.nf-auth-register-prompt span {
    flex: 0 0 auto;
}

.nf-auth-register-button {
    width: 100%;
    min-height: 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 20px;
    color: var(--nf-auth-primary-dark);
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(98, 95, 89, 0.26);
    border-radius: 12px;
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.045em;
    text-decoration: none;
    box-shadow: 0 5px 18px rgba(49, 46, 41, 0.06);
    transition:
    transform 0.22s var(--nf-auth-ease),
    border-color 0.22s var(--nf-auth-ease),
    background 0.22s var(--nf-auth-ease),
    box-shadow 0.22s var(--nf-auth-ease),
    color 0.22s var(--nf-auth-ease);
}

.nf-auth-register-button svg {
    transition: transform 0.22s var(--nf-auth-ease);
}

.nf-auth-register-button:hover {
    color: #fff;
    background: var(--nf-auth-primary);
    border-color: var(--nf-auth-primary);
    box-shadow: 0 12px 28px rgba(98, 95, 89, 0.20);
    transform: translateY(-1px);
    text-decoration: none;
}

.nf-auth-register-button:hover svg {
    transform: translateX(4px);
}

.nf-auth-register-button:active {
    transform: translateY(0);
}

.nf-auth-register-button:focus-visible {
    outline: 3px solid rgba(207, 162, 115, 0.32);
    outline-offset: 3px;
}

.nf-auth-mobile-footer {
    display: none !important;
}

@media (max-width: 576px) {
    .nf-auth-register-prompt {
        font-size: 11.5px;
    }

    .nf-auth-register-button {
        min-height: 54px;
    }
}

/* =========================================================
   Final stability and accessibility safeguards
   ========================================================= */
   *,
   *::before,
   *::after {
    box-sizing: border-box;
}

:where(a, button, input, select, textarea, summary, [role="button"], [tabindex]):focus-visible {
    outline: 2px solid var(--nefin-accent, #d4a574);
    outline-offset: 3px;
}

@media (max-width: 575.98px) {
    input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
    select,
    textarea {
        font-size: 16px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
}
