/* ============================================
   FURNITUUR — redesign styles
   ============================================ */

:root {
    --fu-red: #F30309;
    --fu-red-dark: #c41a20;
    --fu-black: #111111;
    --fu-dark: #1a1a1a;
    --fu-gray-100: #f9f9f9;
    --fu-gray-200: #dadada;
    --fu-gray-300: #d9d9d9;
    --fu-gray-500: #8a8a8a;
    --fu-gray-700: #555555;
    --fu-text: #111;
    --fu-muted: #6c6c6c;
}

body.fu-body {
    font-family: 'Inter', 'Fellix', system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    color: var(--fu-text);
    background: #fff;
    font-size: 14px;
    line-height: 1.5;
}

.fu-body * {
    box-sizing: border-box;
}

.fu-body a {
    text-decoration: none;
    color: inherit;
}

.fu-body img {
    max-width: 100%;
    display: block;
}

header {
    box-shadow: 4px 8px 16px 0px #4E4E4E0A;
}

/* ---------- Mobile header ---------- */
.fu-header-mobile {
    background: #fff;
    border-bottom: 1px solid var(--fu-gray-200);
    position: sticky;
    top: 0;
    z-index: 1000;
}

.fu-mob-topbar {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
}

.fu-mob-left {
    display: flex;
    align-items: center;
    border-right: 1px solid var(--fu-gray-200);
}

.fu-mob-right {
    display: flex;
    align-items: center;
    border-left: 1px solid var(--fu-gray-200);
}

.fu-mob-sep {
    width: 1px;
    background: var(--fu-gray-200);
    align-self: stretch;
}

.fu-mob-hamburger {
    background: none;
    border: none;
    padding: 12px 14px;
    color: var(--fu-black);
    font-size: 22px;
    cursor: pointer;
    line-height: 1;
    display: flex;
    align-items: center;
}

.fu-mob-hamburger .fu-mob-close-icon {
    display: none;
}

.fu-mob-hamburger.active .fu-mob-ham-icon {
    display: none;
}

.fu-mob-hamburger.active .fu-mob-close-icon {
    display: block;
}

.fu-mob-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
    padding: 10px 16px;
}

.fu-mob-logo img {
    height: 22px;
    width: auto;
}

.fu-mob-icon-btn {
    background: none;
    border: none;
    padding: 12px 14px;
    font-size: 20px;
    color: var(--fu-black);
    cursor: pointer;
    position: relative;
    line-height: 1;
    display: flex;
    align-items: center;
}

.fu-mob-cart-badge {
    position: absolute;
    top: 6px;
    right: 6px;
    background: var(--fu-red);
    color: #fff;
    font-size: 9px;
    font-weight: 700;
    min-width: 16px;
    height: 16px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.fu-mob-nav {
    border-top: 1px solid var(--fu-gray-200);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.fu-mob-nav::-webkit-scrollbar {
    display: none;
}

.fu-mob-nav ul {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    white-space: nowrap;
}

.fu-mob-nav ul li a {
    display: block;
    padding: 0 16px;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 300;
    line-height: 28px;
    letter-spacing: 0;
    color: var(--fu-black);
}

.fu-mob-nav ul li a:hover {
    color: var(--fu-red);
}

/* ---------- Mobile category drawer ---------- */
.fu-mob-drawer-topbar {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 16px 0;
    border-bottom: 1px solid var(--fu-gray-200);
    margin-bottom: 4px;
}

.fu-mob-drawer-topbar .icon-div {
    width: 36px;
    height: 36px;
}

.fu-mob-drawer-topbar .fu-top-action {
    gap: 10px;
}

.fu-mob-catmenu-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.fu-mob-catmenu-list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--fu-gray-200);
}

.fu-mob-catmenu-list li a {
    flex: 1;
    padding: 14px 0;
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    font-weight: 500;
    color: var(--fu-black);
    text-decoration: none;
}

.fu-mob-catmenu-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    background: none;
    border: none;
    padding: 14px 0;
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    font-weight: 500;
    color: var(--fu-black);
    text-align: left;
    cursor: pointer;
}

/* ---------- Top bar ---------- */
.fu-topbar {
    background: #fff;
    border-bottom: 1px solid var(--fu-gray-200);
    padding: 14px 0;
}

.fu-topbar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.fu-logo {
    font-family: 'Inter', sans-serif;
    font-weight: 900;
    font-size: 26px;
    letter-spacing: 1px;
    color: var(--fu-red);
    line-height: 1;
}

.fu-search {
    flex: 1;
    position: relative;
    max-width: 520px;
}

.fu-search input {
    width: 100%;
    height: 40px;
    border: 1px solid #F1F1F1;
    background: #F1F1F1;
    border-radius: 4px;
    padding: 0 40px 0 14px;
    font-size: 13px;
    color: var(--fu-text);
    outline: none;
    transition: border-color .2s;
    font-family: 'Inter';
    font-weight: 400;
    font-size: 12px;
    line-height: 100%;
    letter-spacing: 0px;
    vertical-align: middle;
    height: 44px;

}

.fu-search input:focus {
    border-color: var(--fu-red);
}

/* ---------- Search autocomplete dropdown ---------- */
.fu-search-suggest {
    display: none;
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #E7E7E7;
    border-radius: 4px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
    z-index: 1050;
    max-height: 420px;
    overflow-y: auto;
}
.fu-search-suggest.is-open { display: block; }

.fu-search-suggest-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    text-decoration: none;
    color: var(--fu-text);
    border-bottom: 1px solid #F1F1F1;
    transition: background .15s;
}
.fu-search-suggest-item:last-of-type { border-bottom: none; }
.fu-search-suggest-item:hover,
.fu-search-suggest-item.is-active { background: #F9F9F9; }

.fu-search-suggest-item img {
    width: 44px;
    height: 44px;
    object-fit: cover;
    flex-shrink: 0;
    border-radius: 2px;
}

.fu-search-suggest-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    flex: 1;
}
.fu-search-suggest-name {
    font-family: Inter, sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #111;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.fu-search-suggest-sku {
    font-family: Inter, sans-serif;
    font-size: 12px;
    color: #8a8a8a;
}
.fu-search-suggest-price {
    font-family: Inter, sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #111;
    white-space: nowrap;
    flex-shrink: 0;
}

.fu-search-suggest-empty {
    padding: 16px 14px;
    font-family: Inter, sans-serif;
    font-size: 13px;
    color: #8a8a8a;
    text-align: center;
}

.fu-search-suggest-viewall {
    display: block;
    padding: 12px 14px;
    text-align: center;
    font-family: Inter, sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: var(--fu-red);
    text-decoration: none;
    background: #F9F9F9;
}
.fu-search-suggest-viewall:hover { background: #F1F1F1; }

.fu-mob-search-bar {
    padding: 12px 16px;
    border-top: 1px solid var(--fu-gray-200);
}

.fu-mob-search-bar form {
    position: relative;
}

.fu-mob-search-bar input[type="search"] {
    width: 100%;
    height: 44px;
    border: 1px solid var(--fu-gray-200);
    background: #F1F1F1;
    border-radius: 4px;
    padding: 0 40px 0 14px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: var(--fu-text);
    outline: none;
    box-sizing: border-box;
    -webkit-appearance: none;
    appearance: none;
}

.fu-mob-search-bar input[type="search"]:focus {
    border-color: var(--fu-red);
}

.fu-mob-search-bar input[type="search"]::placeholder {
    color: #98938F;
}

.fu-mob-search-bar button[type="submit"] {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    padding: 0;
    color: var(--fu-text);
    display: flex;
    align-items: center;
}

.fu-search .bi-search {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--fu-gray-500);
    font-size: 14px;
}

.fu-top-actions {
    display: flex;
    align-items: center;
    gap: 24px;
}

.fu-top-actions .icon-div {
    width: 50px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #0000001A;
    border-radius: 2px;
}

.fu-top-action {
    display: flex;
    align-items: center;
    gap: 16px;
    color: var(--fu-text);
    font-size: 12px;
    line-height: 1.2;
    cursor: pointer;
    white-space: nowrap;
}

.fu-top-action .ic {
    font-size: 19px;
    color: var(--fu-text);
}

.fu-top-action .label-small {
    color: #111111;
    display: block;
    font-family: 'Inter';
    font-weight: 400;
    font-style: Medium;
    font-size: 13px;
    line-height: 22px;
    letter-spacing: 0%;

}

.fu-top-action .label-main {
    color: #111111;
    display: block;
    font-family: 'Inter';
    font-weight: 500;
    font-style: Medium;
    font-size: 16px;
    line-height: 22px;
    letter-spacing: 0%;
    display: block;
}

/* ─── LANGUAGE SWITCHER DROPDOWN ────────────────────────────────────────────── */
.fu-lang-switcher {
    position: relative;
}
.fu-lang-toggle {
    display: flex;
    align-items: center;
    gap: 16px;
    background: none;
    border: none;
    padding: 0;
    font: inherit;
    text-align: left;
    cursor: pointer;
}
.fu-lang-dropdown {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    min-width: 160px;
    margin: 0;
    padding: 8px 0;
    list-style: none;
    background: #fff;
    border: 1px solid rgba(0,0,0,.1);
    box-shadow: 4px 8px 16px rgba(0,0,0,.08);
    border-radius: 2px;
    z-index: 500;
    opacity: 0;
    pointer-events: none;
    transform: translateY(6px);
    transition: opacity .2s ease, transform .2s ease;
}
.fu-lang-switcher.is-open .fu-lang-dropdown {
    opacity: 1;
    pointer-events: all;
    transform: translateY(0);
}
.fu-lang-dropdown li a {
    display: block;
    padding: 8px 16px;
    color: #444444;
    font-family: 'Inter';
    font-size: 14px;
    text-decoration: none;
    white-space: nowrap;
}
.fu-lang-dropdown li a:hover {
    color: #000000;
    background-color: #eeeeee;
}
.fu-lang-dropdown li.is-current a {
    font-weight: 600;
    color: #111111;
    pointer-events: none;
}

.fu-cart-icon {
    position: relative;
}

.fu-cart-badge {
    position: absolute;
    top: -6px;
    right: -6px;
    background: var(--fu-red);
    color: #fff;
    font-size: 9px;
    font-weight: 700;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ---------- Nav bar ---------- */
.fu-navbar {
    background: #fff;

    padding: 10px 0;
}

.fu-nav-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
}

.fu-browse {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #fff;
    border: none;
    color: var(--fu-text);
    font-weight: 600;
    font-size: 13px;
    padding: 0;
    border-radius: 4px;
    cursor: pointer;
    font-family: 'Inter';
    font-weight: 500;
    font-size: 16px;
    line-height: 28px;
    letter-spacing: 0%;
    color: #111111;

}

.fu-browse i {
    font-size: 19px;
    color: #111111;
}

.fu-nav-links {
    display: flex;
    align-items: center;
    gap: 28px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.fu-nav-links a {
    font-family: 'Inter';
    font-weight: 500;
    font-style: Medium;
    font-size: 16px;
    line-height: 28px;
    letter-spacing: 0%;

    color: var(--fu-text);
    transition: color .2s;
}

.fu-nav-links-2 a {
    font-family: 'Inter';
    font-weight: 400;
    font-size: 14px;
    line-height: 28px;
    letter-spacing: 0%;
    text-align: right;

}

.fu-nav-links a:hover {
    color: var(--fu-red);
}

.fu-nav-left {
    display: flex;
    align-items: center;
    gap: 28px;
}

/* ---------- Hero ---------- */
.fu-hero {
    position: relative;
    background: #0d0d0d;
    color: #fff;
    overflow: hidden;
    min-height: 460px;
}

.fu-hero-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.fu-hero-bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 75% 50%, rgba(255, 255, 255, 0.05) 0%, transparent 60%);
}

.fu-hero-inner {
    position: relative;
    z-index: 2;
    padding: 70px 0;
    max-width: 600px;
}

.fu-pill {
    display: inline-block;
    background: linear-gradient(90.64deg, #FFFFFF 0%, #D7D7D7 100%);
    color: var(--fu-text);
    font-weight: 700;
    font-size: 10px;
    letter-spacing: 1px;
    padding: 8px;
    border-radius: 4px;
    margin-bottom: 24px;
    text-transform: uppercase;
    font-family: Inter;
    font-weight: 700;
    font-style: Bold;
    font-size: 12px;
    line-height: 16px;
    letter-spacing: 2.4px;
    vertical-align: middle;
    text-transform: uppercase;
    color: #BE0003;

}

.fu-hero h1 {
    font-family: 'Inter', sans-serif;
    font-weight: 900;
    font-size: 56px;
    line-height: 1.05;
    letter-spacing: -1px;
    margin-bottom: 20px;
    text-transform: uppercase;
    font-family: Inter;
    font-weight: 900;
    font-size: 70px;
    line-height: 88px;
    letter-spacing: -3.6px;
    vertical-align: middle;
    color: #fff;
}

.fu-hero h1 .accent {
    display: block;
    background: linear-gradient(99.25deg, #BE0003 0%, #E62117 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.fu-hero p {
    font-size: 14px;
    color: #fff;
    margin-bottom: 28px;
    line-height: 1.6;
    font-family: Inter;
    font-weight: 400;
    font-style: Regular;
    font-size: 18px;
    leading-trim: NONE;
    line-height: 29.25px;
    letter-spacing: 0px;
    vertical-align: middle;
    max-width: 560px;
}

.fu-btn-red {
    display: inline-block;
    background: var(--fu-red);
    color: #fff !important;
    font-weight: 700;
    font-size: 12px;
    padding: 14px 28px;
    letter-spacing: 1.5px;
    border-radius: 2px;
    border: none;
    text-transform: uppercase;
    cursor: pointer;
    transition: background .2s;
    font-family: Inter;
    font-weight: 700;
    font-style: Bold;
    font-size: 12px;
    leading-trim: NONE;
    line-height: 16px;
    letter-spacing: 1.2px;
    text-align: center;
    vertical-align: middle;
    text-transform: uppercase;
    min-width: 311px;
    height: 50px;
    padding: 16px 40px;
    background: #F30309;
}

.fu-btn-red:hover {
    background: #7C7C7C;
    color: #fff;
}

.fu-hero .swiper-slide {
    position: relative;
        height: auto;
}

.fu-hero-pagination {
    bottom: 28px !important;
    display: flex;
    justify-content: center;
    align-items: center;
}

.fu-hero-pagination .swiper-pagination-bullet {
    width: 4px;
    height: 4px;
    opacity: 1;
    transition: background .2s;
    border: 2px solid transparent;
    position: relative;
    width: 20px;
    height: 20px;
    background: transparent;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
}

.fu-hero-pagination .swiper-pagination-bullet::before {
    content: '';
    width: 4px;
    height: 4px;
    background-color: #fff;
}

.fu-hero-pagination .swiper-pagination-bullet-active {

    position: relative;
    width: 20px;
    height: 20px;
    background: transparent;
    display: flex;
    justify-content: center;
    align-items: center;
}

.fu-hero-pagination .swiper-pagination-bullet-active::before {
    content: '';
    width: 20px;
    height: 20px;
    border: 2px solid #fff;
    background-color: transparent;
    min-width: 20px;
    border-radius: 100px;
}

.fu-hero-pagination .swiper-pagination-bullet-active::after {
    content: '';
    width: 4px;
    height: 4px;
    background-color: #fff;
    border-radius: 100px;
    position: absolute;
}

/* ---------- Features bar ---------- */
.fu-features {
    background: linear-gradient(90.22deg, #E52C36 0%, #CD000B 99.84%);
    color: #fff;
    padding: 26px 0;
}

.fu-features-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
}

.fu-feature {
    display: flex;
    align-items: center;
    gap: 14px;
    flex: 1;
    min-width: 200px;
}

.fu-feature .ic {}

.fu-feature .ic i {
    font-size: 35px;
}

.fu-feature h6 {
    margin: 0;
    font-weight: 700;
    font-size: 13px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    line-height: 1.2;
    font-family: Inter;
    font-weight: 700;
    font-style: Bold;
    font-size: 18px;
    leading-trim: NONE;
    line-height: 28px;
    letter-spacing: 0%;
    text-transform: uppercase;

}

.fu-feature p {
    margin: 4px 0 0;
    font-family: Inter;
    font-weight: 400;
    font-style: Regular;
    font-size: 16px;
    leading-trim: NONE;
    line-height: 22px;
    letter-spacing: 0%;

}

/* ---------- Brand strip ---------- */
.fu-brands {
    background: var(--fu-gray-100);
    padding: 28px 0;
}

.fu-brands-row {
    display: flex;
    align-items: center;
    justify-content: space-around;
    flex-wrap: wrap;
    gap: 24px;
}

.fu-brands-row img {
    opacity: 0.5;
}

.fu-brand {
    font-family: 'Inter', sans-serif;
    font-weight: 800;
    color: var(--fu-gray-700);
    opacity: 0.7;
    font-size: 18px;
    letter-spacing: 2px;
    text-transform: uppercase;
    transition: opacity .2s;
}

.fu-brand:hover {
    opacity: 1;
}

.fu-brand small {
    display: block;
    font-size: 8px;
    font-weight: 600;
    letter-spacing: 1px;
    color: var(--fu-gray-500);
    margin-top: 2px;
}

/* ---------- Section heading ---------- */
.fu-section {
    padding: 64px 0 50px;
}

.fu-section-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 32px;
    flex-wrap: wrap;
}

.fu-section-head h2 {
    font-family: 'Inter';
    font-weight: 900;
    font-size: 36px;
    leading-trim: NONE;
    line-height: 40px;
    letter-spacing: -1.8px;
    vertical-align: middle;
    color: var(--fu-text);

    text-transform: uppercase;
}

.fu-section-head h2 .accent {
    color: var(--fu-red);
}

.fu-section-head p {
    font-family: Inter;
    font-weight: 400;
    font-style: Regular;
    font-size: 18px;
    leading-trim: NONE;
    line-height: 28px;
    letter-spacing: 0px;
    vertical-align: middle;
    color: var(--fu-text);
    opacity: 0.6;
}

.fu-arrows {
    display: flex;
    gap: 8px;
}

.fu-arrow {
    width: 48px;
    height: 48px;
    border: 1px solid #E7BDB633;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--fu-text);
    transition: all .2s;
    font-size: 12px;
}

.fu-arrow:hover {
    background: #7C7C7C;
    color: #fff;
    border-color: #7C7C7C;
}

/* ---------- Main Categories grid ---------- */
.fu-cat-grid {
    min-height: 540px;
}

.fu-cat {
    position: relative;
    overflow: hidden;
    border-radius: 2px;
    background: #1a1a1a center/cover no-repeat;
    color: #fff;
    cursor: pointer;
    display: flex;
    align-items: flex-end;
    transition: transform .25s;
}

.fu-cat:hover {
    transform: translateY(-2px);
}

.fu-cat::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(26, 28, 28, 0.4);
    z-index: 1;
}

.fu-cat img.cat-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

.fu-cat--empty {
    background-color: #3a3a3a;
}

.fu-cat-label {
    position: relative;
    z-index: 2;
    padding: 24px;
    width: 100%;
    background: rgba(65, 65, 65, 0.4);
    backdrop-filter: blur(8px);
    font-family: 'Inter';
    font-weight: 700;
    font-style: Bold;
    font-size: 20px;
    leading-trim: NONE;
    line-height: 28px;
    letter-spacing: -0.5px;
    vertical-align: middle;
    text-transform: uppercase;

    color: #FFFFFF;

}

.fu-cat-big {
    min-height: 540px;
}

.fu-cat-big .fu-cat-label {
    font-family: Inter;
    font-weight: 900;
    font-size: 36px;
    leading-trim: NONE;
    line-height: 40px;
    letter-spacing: -1.8px;
    vertical-align: middle;
    text-transform: uppercase;
    padding: 24px 40px;
}

.fu-view-all-cats {
    text-align: center;
    margin-top: 28px;
}

.fu-view-all-cats a {
    font-family: Inter;
    font-weight: 700;
    font-style: Bold;
    font-size: 12px;
    leading-trim: NONE;
    line-height: 16px;
    letter-spacing: 1.2px;
    vertical-align: middle;
    text-transform: uppercase;
    text-decoration: none;
    text-decoration-style: solid;
    text-decoration-offset: 0%;
    text-decoration-thickness: 0%;
    color: var(--fu-red);
    border-bottom: 1px solid var(--fu-red);
    padding-bottom: 2px;
}

/* ---------- Product card ---------- */
.fu-products {
    background: var(--fu-gray-100);
    padding: 100px 0 60px;
}

.fu-product-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.fu-product-swiper {
    overflow: hidden;
}

.fu-product-swiper .swiper-slide {
    height: auto;
}

.fu-product-swiper .fu-product {
    height: auto;
}

.fu-product {
    background: transparent;
    border-radius: 4px;
    overflow: hidden;
    position: relative;
    transition: box-shadow .25s, transform .25s;
    display: flex;
    flex-direction: column;
    border: 1px solid transparent
}

.fu-product:hover {
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    background-color: #fff;
    border: 1px solid #DBDBDB
}

.fu-product-img {
    aspect-ratio: 1/1;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    position: relative;
}

.fu-product-img img {
    max-height: 100%;
    width: auto;
    object-fit: contain;
}

.fu-tag {
    position: absolute;
    top: 12px;
    left: 12px;
    background: var(--fu-black);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    padding: 4px 8px;
    letter-spacing: 1px;
    text-transform: uppercase;
    border-radius: 4px;
    z-index: 2;
    font-family: Inter;
    font-weight: 700;
    font-style: Bold;
    font-size: 14px;
    leading-trim: NONE;
    line-height: 15px;
    letter-spacing: 0px;
    vertical-align: middle;

}

.fu-tag.discount {
    background: var(--fu-red);
}

.fu-product-body {
    padding: 16px 12px;

    display: flex;
    flex-direction: column;
    gap: 4px;
}

.fu-product-sku {
    font-family: 'Inter';
    font-weight: 700;
    font-style: Bold;
    font-size: 12px;
    leading-trim: NONE;
    line-height: 15px;
    letter-spacing: 1px;
    vertical-align: middle;
    text-transform: uppercase;
    color: #5F5E5E;
    word-break: break-word;

}

.fu-product-title {
    font-family: 'Inter';
    font-weight: 700;
    font-style: Bold;
    font-size: 18px;
    leading-trim: NONE;
    line-height: 22.5px;
    letter-spacing: 0px;
    vertical-align: middle;
    color: #111111;
}

.fu-product-sub {
    font-family: 'Inter';
    font-weight: 400;
    font-style: Regular;
    font-size: 14px;
    leading-trim: NONE;
    line-height: 20px;
    letter-spacing: 0px;
    vertical-align: middle;
    color: #5F5E5E;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.fu-product-row {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 6px;
}

.fu-price {
    font-family: Inter;
    font-weight: 900;
    font-style: Black;
    font-size: 20px;
    leading-trim: NONE;
    line-height: 28px;
    letter-spacing: 0px;
    vertical-align: middle;
    color: var(--fu-text);
}

.fu-price .old {
    color: var(--fu-muted);
    text-decoration: line-through;
    font-weight: 500;
    font-size: 11px;
    display: block;
    margin-top: 2px;
}

.fu-product-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 0 18px;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height .3s ease, opacity .25s, padding .3s ease;
}

.fu-product:hover .fu-product-actions {
    max-height: 120px;
    opacity: 1;
    padding: 0 12px 16px;
}

.fu-add-cart-btn,
.fu-select-btn {
    width: 100%;
    height: 40px;
    border-radius: 2px;
    text-transform: uppercase;
    cursor: pointer;
    transition: background .2s, color .2s;
}

.fu-add-cart-btn {
    background: var(--fu-black);
    color: #fff;
    border: none;
    font-family: Inter;
    font-weight: 600;
    font-style: Semi Bold;
    font-size: 16px;
    leading-trim: NONE;
    line-height: 130%;
    letter-spacing: 0%;
    text-align: center;
    vertical-align: middle;
    text-transform: uppercase;

}

.fu-select-btn {
    font-family: Inter;
    font-weight: 400;
    font-style: Regular;
    font-size: 16px;
    leading-trim: NONE;
    line-height: 130%;
    letter-spacing: 0%;
    text-align: center;
    vertical-align: middle;
    text-transform: uppercase;

}

.fu-add-cart-btn:hover {
    background: #7C7C7C;
}

.fu-add-cart-btn:disabled {
    background: #c8c8c8;
    color: #6b6b6b;
    cursor: not-allowed;
}

.fu-add-to-fast-disabled {
    opacity: .4;
    cursor: not-allowed;
}

.fu-select-btn {
    background: #fff;
    color: var(--fu-black);
    border: 1.5px solid var(--fu-black);
}

.fu-select-btn:hover {
    background: #7C7C7C;
    border-color: #7C7C7C;
    color: #fff;
}

/* Fix for <a> tag buttons — overrides .fu-body a { color: inherit } */
a.fu-add-cart-btn,
.fu-product-actions a.fu-add-cart-btn {
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}
a.fu-add-cart-btn:hover {
    color: #fff;
}
a.fu-select-btn,
.fu-product-actions a.fu-select-btn {
    color: var(--fu-black);
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}
a.fu-select-btn:hover {
    color: #fff;
}

a.fu-cd-btn-cart {
    color: #fff;
}

.fu-view-all {
    text-align: center;
    margin-top: 28px;
}

/* ---------- Filter sidebar ---------- */
.fu-filter-sidebar {
    position: sticky;
    top: 80px;
}

.fu-filter-title {
    font-family: Inter;
    font-weight: 900;
    font-style: Black;
    font-size: 18px;
    leading-trim: NONE;
    line-height: 28px;
    letter-spacing: -0.45px;
    vertical-align: middle;

    color: var(--fu-text);
}

.fu-filter-group {
    border-bottom: 1px solid var(--fu-gray-200);
    padding: 40px 0 14px;
}

.fu-filter-group-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.fu-filter-group-label {
    font-family: Inter;
    font-weight: 700;
    font-style: Bold;
    font-size: 14px;
    leading-trim: NONE;
    line-height: 15px;
    letter-spacing: 1px;
    vertical-align: middle;
    text-transform: uppercase;

    color: var(--fu-text);
}

.fu-filter-toggle {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    font-size: 16px;
    color: var(--fu-black);
    line-height: 1;
}

.fu-filter-group-body {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 12px;
}

.fu-filter-check {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    font-family: Inter;
    font-weight: 400;
    font-style: Thin;
    font-size: 14px;
    leading-trim: NONE;
    line-height: 20px;
    letter-spacing: 0px;
    vertical-align: middle;

    margin: 0;
}

.fu-filter-check input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: var(--fu-black);
    cursor: pointer;
    flex-shrink: 0;
}

.fu-filter-check em {
    font-style: normal;
    color: var(--fu-muted);
}

.fu-filter-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.fu-filter-pill {
    background: #fff;
    color: var(--fu-text);
    font-family: Inter;
    font-weight: 700;
    font-style: Thin;
    font-size: 10px;
    leading-trim: NONE;
    line-height: 15px;
    letter-spacing: -0.25px;
    text-align: center;
    vertical-align: middle;
    text-transform: uppercase;
    border: none;
    background: #E5E2E1;

    padding: 6px 12px;
    cursor: pointer;
    transition: background .2s, border-color .2s, color .2s;
}

.fu-filter-pill.active {
    background: var(--fu-text);
    color: #fff;
}

.fu-filter-pill:hover:not(.active) {
    border-color: var(--fu-black);
}

.fu-price-range-wrap {
    position: relative;
    height: 16px;
    display: flex;
    align-items: center;
    margin: 10px 0 4px;
}

.fu-price-track {
    position: absolute;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--fu-gray-200);
    border-radius: 2px;
    pointer-events: none;
}

.fu-price-fill {
    position: absolute;
    height: 100%;
    background: var(--fu-red);
    border-radius: 2px;
}

.fu-price-range {
    position: absolute;
    width: 100%;
    height: 4px;
    -webkit-appearance: none;
    appearance: none;
    background: transparent;
    outline: none;
    cursor: pointer;
    pointer-events: none;
}

.fu-price-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 16px;
    height: 16px;
    background: #F30309;
    border: 4px solid #ffffff;
    border-radius: 2px;
    box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.05);
    pointer-events: all;
    cursor: pointer;
}

.fu-price-range::-moz-range-thumb {
    width: 16px;
    height: 16px;
    background: #F30309;
    border: 4px solid #ffffff;
    border-radius: 2px;
    box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.05);
    pointer-events: all;
    cursor: pointer;
}

.fu-price-range-labels {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    color: var(--fu-muted);
    margin-top: 6px;
}

.fu-filter-tech-card {
    background: #E8E8E8;
    color: var(--fu-text);
    padding: 20px;
    margin-top: 20px;
    border-left: 2px solid #F30309
}

.fu-filter-tech-label {
    display: block;
    font-family: Inter;
    font-weight: 600;
    font-style: Semi Bold;
    font-size: 12px;
    leading-trim: NONE;
    line-height: 16px;
    letter-spacing: 0px;
    vertical-align: middle;
    text-transform: uppercase;
    color: var(--fu-text);
    margin-bottom: 10px;
}

.fu-filter-tech-quote {
    font-family: Inter;
    font-weight: 400;
    font-style: Regular;
    font-size: 11px;
    leading-trim: NONE;
    line-height: 17.88px;
    letter-spacing: 0px;
    vertical-align: middle;

    margin: 0 0 16px;
}

.fu-filter-tech-link {
    font-family: Inter;
    font-weight: 900;
    font-style: Thin;
    font-size: 10px;
    leading-trim: NONE;
    line-height: 15px;
    letter-spacing: 1px;
    vertical-align: middle;
    text-transform: uppercase;
    color: #F30309;
}

/* ---------- Shop top bar ---------- */
.fu-shop-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--fu-gray-200);
    gap: 16px;
    flex-wrap: wrap;
}

.fu-shop-count {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: Inter;
    font-weight: 600;
    font-style: Semi Bold;
    font-size: 12px;
    leading-trim: NONE;
    line-height: 15px;
    letter-spacing: 1px;
    vertical-align: middle;
    text-transform: uppercase;
    color: #5F5E5E;
}

.fu-shop-sep {
    color: var(--fu-gray-200);
}

a.fu-shop-clear {
    font-family: Inter;
    font-weight: 700;
    font-style: Bold;
    font-size: 12px;
    leading-trim: NONE;
    line-height: 15px;
    letter-spacing: 1px;
    text-align: center;
    vertical-align: middle;
    text-transform: uppercase;
    text-decoration: underline;
    text-decoration-style: solid;
    text-decoration-offset: 0%;
    text-decoration-thickness: 0%;
    color: #F30309;
}

.fu-shop-controls {
    display: flex;
    align-items: center;
    gap: 24px;
}

/* .fu-shop-controls' only direct child is the <form> wrapping both selects —
   the flex context above never reaches the two .fu-shop-control divs inside it
   without this, so they were stacking one per line instead of sitting side by side. */
.fu-shop-controls form {
    display: flex;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
}

.fu-shop-control {
    display: flex;
    align-items: center;
    gap: 8px;
}

.fu-shop-control-label {
    font-family: Inter;
    font-weight: 700;
    font-style: Bold;
    font-size: 12px;
    leading-trim: NONE;
    line-height: 15px;
    letter-spacing: 1px;
    vertical-align: middle;
    text-transform: uppercase;
    color: #5F5E5E;
    white-space: nowrap;
}

.fu-shop-select {
    border: none;
    background: none;
    font-family: Inter;
    font-weight: 700;
    font-style: Bold;
    font-size: 12px;
    leading-trim: NONE;
    line-height: 24px;
    letter-spacing: 1px;
    vertical-align: middle;
    text-transform: uppercase;
    color: var(--fu-text);
}

/* ---------- Active filter tags ---------- */
.fu-active-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    padding: 14px 0 18px;
}

.fu-active-tag {
    display: inline-flex;
    align-items: center;
    border: none;
    gap: 8px;
    background: #E5E2E1;
    font-family: Inter;
    font-weight: 700;
    font-style: Bold;
    font-size: 12px;
    leading-trim: NONE;
    line-height: 24px;
    letter-spacing: 1px;
    vertical-align: middle;
    text-transform: uppercase;
    color: var(--fu-text);
    padding: 8px 16px;
    border-radius: 2px;
    cursor: pointer;
    transition: border-color .2s;
}

.fu-active-tag:hover {
    border-color: var(--fu-black);
}

.fu-active-tag .bi-x {
    font-size: 14px;
    font-weight: 400;
}

/* ---------- Mobile filter bar (trigger row) ---------- */
.fu-mob-filterbar {
    display: flex;
    align-items: stretch;
    gap: 12px;
    margin-bottom: 16px;
}

.fu-mob-filterbar>*,
.fu-mob-filterbar>.fu-mob-filterbar-btn {
    flex: 1 1 0;
    min-width: 0;
}

.fu-mob-filterbar-btn {
    flex: 1;
    background: none;
    border: 1px solid var(--fu-gray-200);
    border-radius: 2px;
    padding: 12px 16px;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--fu-black);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    white-space: nowrap;
}

/* Sort dropdown wrapper */
.fu-mob-sort-wrap {
    flex: 1;
    position: relative;
}

.fu-mob-sort-wrap .fu-mob-filterbar-btn {
    width: 100%;
}

.fu-mob-sort-dropdown {
    display: none;
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid var(--fu-gray-200);
    border-radius: 2px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.10);
    z-index: 200;
    overflow: hidden;
}

.fu-mob-sort-dropdown.is-open {
    display: block;
}

.fu-mob-sort-option {
    display: block;
    width: 100%;
    background: none;
    border: none;
    border-bottom: 1px solid var(--fu-gray-200);
    padding: 13px 16px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: var(--fu-black);
    text-align: left;
    cursor: pointer;
}

.fu-mob-sort-option:last-child {
    border-bottom: none;
}

.fu-mob-sort-option:hover {
    background: var(--fu-gray-100);
}

/* Active tags inside drawer */
.fu-mob-drawer-tags {
    padding-bottom: 4px;
    margin-bottom: 4px;
}

/* ---------- Mobile filter drawer ---------- */
.fu-mob-drawer-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    z-index: 1100;
}

.fu-mob-drawer-overlay.is-open {
    display: block;
}

.fu-mob-drawer {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #fff;
    z-index: 1200;
    display: flex;
    flex-direction: column;
    transform: translateX(-100%);
    transition: transform 0.3s ease;
}

.fu-mob-drawer.is-open {
    transform: translateX(0);
}

.fu-mob-drawer-inner {
    flex: 1;
    overflow-y: auto;
    padding: 0 16px 16px;
}

.fu-mob-drawer-back {
    display: flex;
    align-items: center;
    gap: 6px;
    background: none;
    border: none;
    padding: 16px 0;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: var(--fu-black);
    cursor: pointer;
    width: 100%;
}

.fu-mob-drawer-footer {
    display: flex;
    gap: 12px;
    padding: 16px;
    border-top: 1px solid var(--fu-gray-200);
    background: #fff;
}

.fu-mob-drawer-reset {
    flex: 1;
    height: 48px;
    background: #fff;
    border: 1.5px solid var(--fu-black);
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--fu-black);
    cursor: pointer;
    border-radius: 2px;
}

.fu-mob-drawer-apply {
    flex: 1;
    height: 48px;
    background: var(--fu-black);
    border: none;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #fff;
    cursor: pointer;
    border-radius: 2px;
}

.fu-view-all a {
    color: var(--fu-red);
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    border-bottom: 1px solid var(--fu-red);
    padding-bottom: 2px;
}

/* ---------- Mobile category drawer (dropdown panel, not fullscreen) ---------- */
/* Overrides the shared .fu-mob-drawer/.fu-mob-drawer-overlay (also used by the
   mobile filter drawer, which stays fullscreen) — scoped to this modifier class
   only, so the filter drawer on shop/category pages is unaffected. */
.fu-mob-catmenu-overlay {
    top: 46px;
}

.fu-mob-catdrawer {
    top: 46px;
    left: 0;
    right: auto;
    bottom: auto;
    width: 88%;
    max-width: 380px;
    max-height: calc(100vh - 46px);
    border-radius: 0 8px 8px 0;
    overflow: hidden;
    transform: translateY(-12px);
    opacity: 0;
    visibility: hidden;
    transition: transform 0.25s ease, opacity 0.25s ease, visibility 0.25s;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15);
}

.fu-mob-catdrawer.is-open {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
}

/* ---------- Two promo banners ---------- */
.fu-promos {
    padding: 48px 0;
}

.fu-promo-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
}

.fu-promo {
    position: relative;
    border-radius: 4px;
    overflow: hidden;
    min-height: 400px;
    color: #fff;
    display: flex;
    align-items: flex-end;
    padding: 28px;
    /* background: #222; */
}

.fu-promo::before {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: linear-gradient(0deg, #1A1C1C 0%, rgba(26, 28, 28, 0.3) 100%);
    z-index: 1;

}

.fu-promo .bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
    /* opacity: 0.6; */
}

/* .fu-promo.red { background: var(--fu-red); } */
.fu-promo.red::before {
    background: linear-gradient(0deg, rgba(190, 0, 3, 0.8) 0%, rgba(190, 0, 3, 0) 100%);

}

.fu-promo-text {
    position: relative;
    z-index: 1;
}

.fu-promo-tag {
    font-family: Inter;
    font-weight: 400;
    font-style: Regular;
    font-size: 12px;
    leading-trim: NONE;
    line-height: 15px;
    letter-spacing: 1px;
    vertical-align: middle;
    text-transform: uppercase;

    margin-bottom: 6px;
}

.fu-promo h3 {
    font-family: Inter;
    font-weight: 900;
    font-style: Black;
    font-size: 30px;
    leading-trim: NONE;
    line-height: 36px;
    letter-spacing: -1.5px;
    vertical-align: middle;
    text-transform: uppercase;

    margin: 0 0 16px;
}

.fu-promo .shop-btn {
    display: inline-block;
    font-family: Inter;
    font-weight: 700;
    font-style: Bold;
    font-size: 10px;
    leading-trim: NONE;
    line-height: 15px;
    letter-spacing: 1px;
    text-align: center;
    vertical-align: middle;
    text-transform: uppercase;
    color: var(--fu-text);
    transition: opacity .2s;
    border-radius: 4px;
    padding: 12px 32px;
    background-color: #fff;
}

.fu-promo .shop-btn:hover {
    opacity: 0.9;
}

/* ---------- Footer ---------- */
.fu-footer {
    background: var(--fu-gray-100);
    padding: 56px 0 0;
    color: var(--fu-text);
    border-top: 1px solid #E8E8E8
}

.fu-footer-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1fr 1fr;
    gap: 32px;
}

.fu-footer-brand h2 {
    font-family: 'Inter', sans-serif;
    font-weight: 900;
    color: var(--fu-red);
    letter-spacing: 1px;
    font-size: 22px;
    margin: 0 0 16px;
}

.fu-footer-brand p {
    font-family: Inter;
    font-weight: 400;
    font-style: Regular;
    font-size: 14px;
    leading-trim: NONE;
    line-height: 22.75px;
    letter-spacing: 0px;
    vertical-align: middle;
    color: #CFCFCF;
    max-width: 280px;
    margin-top: 1.2rem;
}

.fu-footer-socials {
    display: flex;
    gap: 32px;
    flex-wrap: wrap;
}

.fu-footer-socials a {}

.fu-footer-socials a i {
    font-size: 20px;
    color: #78716C;
}

.fu-footer-socials a:hover {
    background: var(--fu-red);
    color: #fff;
    border-color: var(--fu-red);
}

.fu-footer h5 {
    font-family: Inter;
    font-weight: 700;
    font-style: Bold;
    font-size: 14px;
    leading-trim: NONE;
    line-height: 16px;
    letter-spacing: 1.2px;
    vertical-align: middle;
    text-transform: uppercase;

    margin: 6px 0 14px;
    color: var(--fu-text);
}

.fu-footer ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.fu-footer ul li {
    margin-bottom: 10px;
    font-family: Inter;
    font-weight: 400;
    font-style: Regular;
    font-size: 14px;
    leading-trim: NONE;
    line-height: 20px;
    letter-spacing: 0px;
    vertical-align: middle;
    color: #98938F;
}

.fu-footer ul li a {
    font-family: Inter;
    font-weight: 400;
    font-style: Regular;
    font-size: 14px;
    leading-trim: NONE;
    line-height: 20px;
    letter-spacing: 0px;
    vertical-align: middle;
    color: #98938F;
    transition: color .2s;
}

.fu-footer ul li a:hover {
    color: var(--fu-red);
}

.fu-lang-row {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid var(--fu-gray-300);
    padding: 6px 12px;
    border-radius: 4px;
    background: #fff;
    font-size: 12px;
    cursor: pointer;
    margin-top: 4px;
}

.fu-footer-bottom {
    margin-top: 48px;
    border-top: 1px solid var(--fu-gray-200);
    padding: 32px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

.fu-footer-bottom p {
    margin: 0;
    font-family: 'Inter';
    font-weight: 500;
    font-style: Medium;
    font-size: 12px;
    leading-trim: NONE;
    line-height: 15px;
    letter-spacing: 1px;
    vertical-align: middle;
    color: #98938F;
}

.fu-footer-bottom p.branding {
    font-family: 'Inter';
    font-weight: 500;
    font-style: Medium;
    font-size: 12px;
    leading-trim: NONE;
    line-height: 15px;
    letter-spacing: 1px;
    vertical-align: middle;
}

.fu-footer-bottom p.branding a {
    text-decoration: underline;
    color: #98938F;
}

.fu-footer-bottom a {
    color: var(--fu-red);
    font-weight: 600;
}

.breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.breadcrumbs a {
    font-family: Inter;
    font-weight: 400;
    font-style: Regular;
    font-size: 14px;
    leading-trim: NONE;
    line-height: 130%;
    letter-spacing: 0%;
    vertical-align: middle;
    text-decoration: underline;
    text-decoration-style: solid;
    text-decoration-offset: 0%;
    text-decoration-thickness: 0%;
    text-decoration-skip-ink: auto;
    color: var(--fu-text);
    text-underline-offset: 3px;
}

.breadcrumbs span {
    font-family: Inter;
    font-weight: 500;
    font-style: Medium;
    font-size: 14px;
    leading-trim: NONE;
    line-height: 130%;
    letter-spacing: 0%;
    vertical-align: middle;
    color: var(--fu-text);
}

.breadcrumbs a:last-of-type {
    text-decoration: none;
    font-weight: 300;
}

h1.default-h1 {
    font-family: Inter;
    font-weight: 900;
    font-style: Black;
    font-size: 36px;
    leading-trim: NONE;
    line-height: 130%;
    letter-spacing: 0%;
    vertical-align: middle;
    text-transform: uppercase;
    color: #222222;
}

h6.default-h6 {
    font-family: Inter;
    font-weight: 600;
    font-style: Semi Bold;
    font-size: 12px;
    leading-trim: NONE;
    line-height: 16px;
    letter-spacing: 2.4px;
    vertical-align: middle;
    text-transform: uppercase;
    color: #222222;
}

.ar-up {
    border: 1px solid #E7BDB633;
    width: 48px;
    height: 48px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.ar-up i.bi {
    color: var(--fu-text);
    font-size: 12px;
}

.div-up p {
    font-family: Inter;
    font-weight: 400;
    font-style: Regular;
    font-size: 14px;
    leading-trim: NONE;
    line-height: 20px;
    letter-spacing: 0px;
    vertical-align: middle;
    text-transform: uppercase;
    color: #78716C;
}

.fu-section-head h1 {
    font-family: Inter;
    font-weight: 900;
    font-style: Black;
    font-size: 36px;
    leading-trim: NONE;
    line-height: 130%;
    letter-spacing: 0%;
    vertical-align: middle;
    text-transform: uppercase;
    color: var(--fu-text);
}

.fu-section-head h1 span {
    color: #F30309;
}

p.description {
    font-family: Inter;
    font-weight: 400;
    font-style: Regular;
    font-size: 16px;
    leading-trim: NONE;
    line-height: 150%;
    letter-spacing: 0%;
    vertical-align: middle;
    color: #5F5E5E;
}

.bg-black-div {
    background-color: #141414;
}

.img-banner-grad {
    position: absolute;
    width: 70%;
    top: 0;
    right: 0;
    height: 100%;
}

.img-banner-grad img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.img-banner-grad--empty {
    background-color: #3a3a3a;
}

.img-banner-grad::before {
    background: linear-gradient(90deg, #141414 1.32%, rgba(102, 102, 102, 0) 79.19%);
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

.banner-category {
    position: relative;
}

.banner-category h2,
.banner-category p {
    position: relative;
    z-index: 1;
}

.banner-category h2 {
    font-family: Inter;
    font-weight: 900;
    font-style: Black;
    font-size: 64px;
    leading-trim: NONE;
    line-height: 130%;
    letter-spacing: 0%;
    vertical-align: middle;
    text-transform: uppercase;
    color: #fff;
}

.banner-category h2 span {
    color: #F30309;
}

.banner-category p {
    color: #FFFFFF;
    font-family: Inter;
    font-weight: 400;
    font-style: Regular;
    font-size: 16px;
    leading-trim: NONE;
    line-height: 150%;
    letter-spacing: 0%;
    vertical-align: middle;
    max-width: 70%;
}

.banner-category {
    min-height: 411px;
    padding: 24px;
}

.slide-brand {
    border: 1px solid #DBDBDB;
    border-radius: 2px;
    background-color: #fff;
    transition: all 0.3s ease-in-out;
}

.slide-brand .col-lg-12 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.slide-brand h3 {
    font-family: Inter;
    font-weight: 500;
    font-style: Medium;
    font-size: 20px;
    leading-trim: NONE;
    line-height: 130%;
    letter-spacing: 0%;
    vertical-align: middle;
    color: var(--fu-text);
    text-align: center;
    margin-bottom: 0;
}

.slide-brand:hover {
    background-color: #E8E8E8;
    cursor: pointer;
}

h4.default-h4 {
    font-family: Inter;
    font-weight: 900;
    font-style: Black;
    font-size: 36px;
    leading-trim: NONE;
    line-height: 130%;
    letter-spacing: 0%;
    vertical-align: middle;
    text-transform: uppercase;
    color: var(--fu-text);
}

.add-to-fast {
    width: 40px;
    height: 40px;
    background-color: #F30309;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 2px;
}

.fu-product-fast-shop .fu-product-row {
    align-items: unset;
    gap: 0;
}

.fu-product-fast-shop .fu-product-row .col-lg-4 {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: auto;
    align-items: end;
}

.add-to-fav {
    position: absolute;
    right: 1rem;
    top: 1rem;
}

a.pagination-item {
    width: 48px;
    height: 48px;

    border: 1px solid #E7BDB633;
    color: var(--fu-text);
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: unset;
    font-family: Inter;
    font-weight: 400;
    font-style: Regular;
    font-size: 18px;
    leading-trim: NONE;
    line-height: 28px;
    letter-spacing: 0px;
    vertical-align: middle;
}

.pagination-item i.bi {
    font-size: 12px;
    color: var(--fu-text);
}

a.pagination-item.active {
    background-color: var(--fu-text);
    color: #fff;
}

/* ---------- Responsive ---------- */
@media (max-width: 991px) {
    .fu-hero h1 {
        font-size: 38px;
    }

    .fu-hero-inner {
        padding: 50px 24px;
    }

    .fu-product-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .fu-cat-big {
        min-height: 320px;
    }

    .fu-cat {
        min-height: 150px;
    }

    .fu-promo-row {
        grid-template-columns: 1fr;
    }

    .fu-footer-grid {
        grid-template-columns: 1fr 1fr;
    }

    .fu-footer-brand {
        grid-column: span 2;
    }

    .fu-feature {
        min-width: 100%;
    }

    .fu-section-head h2 {
        font-family: Inter;
        font-weight: 900;
        font-style: Black;
        font-size: 32px;
        leading-trim: NONE;
        line-height: 40px;
        letter-spacing: -1.8px;
        vertical-align: middle;

    }

    .fu-mob-cart-badge {
        top: 3px;
        right: 3px;
        min-width: 15px;
        height: 15px;
        font-size: 8px;
    }

    .fu-mob-nav ul li a {
        padding: 0;
    }

    .fu-mob-nav ul {
        justify-content: space-between;
        gap: 24px;
        padding-left: 10px;
        padding-right: 10px;
    }

    .fu-mob-nav {
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
    }

    .fu-pill {
        font-size: 10px;
        line-height: 16px;
        margin-bottom: 16px;
    }

    .fu-hero h1 {
        font-family: Inter;
        font-weight: 900;
        font-style: Black;
        font-size: 40px;
        leading-trim: NONE;
        line-height: 130%;
        letter-spacing: 0%;
        vertical-align: middle;
    }

    .fu-hero p {
        font-family: Inter;
        font-weight: 400;
        font-style: Regular;
        font-size: 12px;
        leading-trim: NONE;
        line-height: 140%;
        letter-spacing: 0px;
        vertical-align: middle;
        max-width: 100%;
        width: 100%;
    }

    .fu-btn-red {
        font-family: Inter;
        font-weight: 700;
        font-style: Bold;
        font-size: 12px;
        leading-trim: NONE;
        line-height: 16px;
        letter-spacing: 0px;
        text-align: center;
        vertical-align: middle;
        text-transform: uppercase;
        height: 48px;
    }

    .fu-features {
        padding: 32px 0;
    }

    .fu-features-row {
        gap: 32px;
    }

    .fu-feature h6 {
        font-family: Inter;
        font-weight: 700;
        font-style: Bold;
        font-size: 16px;
        leading-trim: NONE;
        line-height: 28px;
        letter-spacing: 0%;
        text-transform: uppercase;

    }

    .fu-feature p {
        font-family: Inter;
        font-weight: 400;
        font-style: Regular;
        font-size: 12px;
        leading-trim: NONE;
        line-height: 22px;
        letter-spacing: 0%;
    }

    .fu-brands-row {
        flex-wrap: nowrap;
        overflow: auto;
        /* Firefox */
        scrollbar-width: none;

        /* IE/Edge */
        -ms-overflow-style: none;
    }

    .fu-section-head p {
        font-family: Inter;
        font-weight: 400;
        font-style: Regular;
        font-size: 12px;
        leading-trim: NONE;
        line-height: 150%;
        letter-spacing: 0px;
        vertical-align: middle;
    }

    .fu-section {
        padding: 40px 0 50px;
    }

    .fu-cat-big .fu-cat-label,
    .fu-cat-label {
        font-family: Inter;
        font-weight: 700;
        font-style: Bold;
        font-size: 12px;
        leading-trim: NONE;
        line-height: 28px;
        letter-spacing: 0px;
        vertical-align: middle;
        text-transform: uppercase;
        padding: 15px;

    }

    .fu-cat-big .fu-cat-label br {
        display: none;
    }

    .mob-gy-2 {
        --bs-gutter-x: 0.5rem;
        --bs-gutter-y: 0.5rem;
    }

    .fu-product-row {
        flex-direction: column;
    }

    .fu-price {
        font-family: Inter;
        font-weight: 900;
        font-style: Black;
        font-size: 22px;
        leading-trim: NONE;
        line-height: 28px;
        letter-spacing: 0px;
        vertical-align: middle;
    }

    .fu-product-sku {
        font-family: Inter;
        font-weight: 700;
        font-style: Bold;
        font-size: 10px;
        leading-trim: NONE;
        line-height: 15px;
        letter-spacing: 0px;
        vertical-align: middle;
        text-transform: uppercase;
    }

    .fu-product-title {
        font-family: Inter;
        font-weight: 700;
        font-style: Bold;
        font-size: 16px;
        leading-trim: NONE;
        line-height: 140%;
        letter-spacing: 0px;
        vertical-align: middle;
    }

    .fu-product-sub {
        font-family: Inter;
        font-weight: 400;
        font-style: Regular;
        font-size: 10px;
        leading-trim: NONE;
        line-height: 130%;
        letter-spacing: 0px;
        vertical-align: middle;
    }

    .fu-add-cart-btn,
    .fu-select-btn {
        font-family: Inter;
        font-weight: 600;
        font-style: Semi Bold;
        font-size: 14px;
        leading-trim: NONE;
        line-height: 130%;
        letter-spacing: 0%;
        text-align: center;
        vertical-align: middle;
        text-transform: uppercase;
        height: 32px;
    }

    .fu-select-btn {
        font-weight: 400;
    }

    .fu-product-actions {
        padding: 0 6px 8px;
    }

    .fu-product-body {
        padding: 6px 12px;
    }

    .fu-product {
        background-color: #fff;
        border: 1px solid #DBDBDB;
    }

    .fu-product-actions {
        max-height: 120px;
        opacity: 1;

    }

    /* Swiper grid mode fix */
    .fu-product-swiper.swiper-grid .swiper-wrapper {
        flex-wrap: wrap;
    }

    .fu-product-swiper.swiper-grid .swiper-slide {
        height: auto !important;
    }

    .fu-promos .container-xl {
        padding: 0;
    }

    .fu-promo {
        min-height: 250px;
    }

    .fu-promo-tag {
        font-family: Inter;
        font-weight: 400;
        font-style: Regular;
        font-size: 12px;
        leading-trim: NONE;
        line-height: 15px;
        letter-spacing: 1px;
        vertical-align: middle;
        text-transform: uppercase;
    }

    .fu-promo h3 {
        font-family: Inter;
        font-weight: 900;
        font-style: Black;
        font-size: 30px;
        leading-trim: NONE;
        line-height: 36px;
        letter-spacing: -1.5px;
        vertical-align: middle;
        text-transform: uppercase;
    }

    .fu-promo .shop-btn {
        font-family: Inter;
        font-weight: 700;
        font-style: Bold;
        font-size: 10px;
        leading-trim: NONE;
        line-height: 15px;
        letter-spacing: 1px;
        text-align: center;
        vertical-align: middle;
        text-transform: uppercase;
    }

    .fu-promo {
        padding: 28px 14px;
        border-radius: 0;
    }

    .fu-promo-row {
        gap: 12px;
    }

    .fu-products {
        padding: 50px 0 60px;
    }

    .fu-footer-brand p {
        font-family: Inter;
        font-weight: 400;
        font-style: Regular;
        font-size: 14px;
        leading-trim: NONE;
        line-height: 22.75px;
        letter-spacing: 0px;
        vertical-align: middle;
        max-width: 100%;
    }

    .fu-footer h5 {
        font-family: Inter;
        font-weight: 700;
        font-style: Bold;
        font-size: 14px;
        leading-trim: NONE;
        line-height: 16px;
        letter-spacing: 1.2px;
        vertical-align: middle;
        text-transform: uppercase;
    }

    .fu-footer ul li a {
        font-family: Inter;
        font-weight: 400;
        font-style: Regular;
        font-size: 14px;
        leading-trim: NONE;
        line-height: 20px;
        letter-spacing: 0px;
        vertical-align: middle;
    }

    .fu-footer-bottom {
        padding: 18px 0;
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-wrap: wrap;
        gap: 18px;
        text-align: center;
        padding-bottom: 20px;
        margin-top: 0;
    }

    .copyright {
        border-top: 1px solid #DADADA;
        width: 100%;
        padding-top: 1rem;
    }

    .fu-footer-bottom p.branding {
        width: 100%;
    }

    .fu-footer {
        padding-bottom: 32px;
    }

    p.description {
        font-family: Inter;
        font-weight: 400;
        font-style: Regular;
        font-size: 12px;
        leading-trim: NONE;
        line-height: 150%;
        letter-spacing: 0%;
        vertical-align: middle;
    }

    .banner-category h2 {
        font-family: Inter;
        font-weight: 900;
        font-style: Black;
        font-size: 28px;
        leading-trim: NONE;
        line-height: 130%;
        letter-spacing: 0%;
        vertical-align: middle;
        text-transform: uppercase;

    }

    .banner-category p {
        max-width: 100%;
        font-family: Inter;
        font-weight: 400;
        font-style: Regular;
        font-size: 10px;
        leading-trim: NONE;
        line-height: 150%;
        letter-spacing: 0%;
        vertical-align: middle;

    }

    .banner-category {
        min-height: unset;
    }

    .mob-without-container .container-xl {
        padding: 0;
    }

    .mob-g-2 {
        --bs-gutter-y: 0.5rem;
        --bs-gutter-x: 0.5rem;
    }
}

@media (max-width: 575px) {
    .fu-product-grid {
        grid-template-columns: 1fr;
    }

    .fu-cat-big {
        min-height: 240px;
    }

    .fu-footer-grid {
        grid-template-columns: 1fr;
    }

    .fu-footer-brand {
        grid-column: span 1;
    }

    .fu-topbar-inner {
        flex-wrap: wrap;
    }

    .fu-search {
        order: 4;
        flex-basis: 100%;
        max-width: 100%;
    }

    .fu-hero h1 {
        font-size: 32px;
    }

    /* Product cards — always show actions on mobile */

}

/* ============================================
   PRODUCT DETAIL PAGE
   ============================================ */

/* ---------- PDP Gallery ---------- */
.fu-pdp-section {
    padding: 40px 0 60px;
}

.fu-pdp-gallery {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.fu-pdp-thumbs {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex-shrink: 0;
}

.fu-pdp-thumb {
    width: 93px;
    height: 93px;
    border: 1px solid transparent;
    border-radius: 2px;
    overflow: hidden;
    cursor: pointer;
    background: #f5f5f5;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: border-color .2s;
}

.fu-pdp-thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.fu-pdp-thumb.active {
    border: 1px solid #D8D8D8;
    box-shadow: 4px 8px 16px 0px #00000014;
}

.fu-pdp-thumb:hover {
    border-color: var(--fu-gray-500);
}

/* Vertical thumbnail slider — only rendered server-side when a product has
   more than 5 gallery images (see single-product.php). #fu-pdp-thumbs-swiper
   is the actual Swiper root; it MUST have an explicit height in vertical
   mode with a numeric slidesPerView — without one, Swiper has nothing to
   divide by and computes a garbage slide height (observed: ~3,000,000px).
   5 slides * 93px + 4 gaps * 8px = 497px. Nav buttons live outside this
   div specifically so they don't get counted into that height. */
.fu-pdp-thumbs-slider #fu-pdp-thumbs-swiper {
    height: 497px;
    overflow: hidden;
}

.fu-pdp-thumbs-arr {
    width: 93px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 1px solid #E7E7E7;
    border-radius: 2px;
    cursor: pointer;
    color: var(--fu-text);
    font-size: 14px;
    flex-shrink: 0;
    transition: background .2s, color .2s;
}

.fu-pdp-thumbs-arr:hover {
    background: var(--fu-black);
    color: #fff;
    border-color: var(--fu-black);
}

.fu-pdp-thumbs-arr.swiper-button-disabled {
    opacity: .35;
    cursor: default;
    pointer-events: none;
}

.fu-pdp-main-wrap {
    flex: 1;
    position: relative;
    background: #f5f5f5;
    border-radius: 2px;
    overflow: hidden;
    aspect-ratio: 1/1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.fu-pdp-main-img {
    width: 100%;
    height: 100%;
    display: flex;

}

.fu-pdp-main-img img {
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
}

/* PDP image lightbox — opens on clicking the main image, same .is-open
   fixed-overlay pattern as .fu-rec-popup */
.fu-pdp-lightbox {
    position: fixed;
    inset: 0;
    z-index: 1070;
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s ease;
    background: rgba(17, 17, 17, .92);
    display: flex;
    align-items: center;
    justify-content: center;
}
.fu-pdp-lightbox.is-open {
    opacity: 1;
    pointer-events: all;
}
.fu-pdp-lightbox-close {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 44px;
    height: 44px;
    border: none;
    border-radius: 50%;
    background: #171717B8;
    backdrop-filter: blur(2px);
    color: #fff;
    font-size: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 2;
}
.fu-pdp-lightbox-close:hover { background: #171717; }
.fu-pdp-lightbox-swiper {
    width: 100%;
    height: 100%;
    max-width: 1100px;
    max-height: 88vh;
}
.fu-pdp-lightbox-swiper .swiper-slide {
    display: flex;
    align-items: center;
    justify-content: center;
    /* Padding lives on the slide, not the swiper container — Swiper sizes
       each slide off the container's own clientWidth, so padding on the
       container itself throws that math off and lets neighbouring slides
       peek in at the edges. */
    padding: 0 60px;
    box-sizing: border-box;
}
.fu-pdp-lightbox-swiper .swiper-slide img {
    max-width: 100%;
    max-height: 88vh;
    width: auto;
    height: auto;
    object-fit: contain;
}
.fu-pdp-lightbox-prev,
.fu-pdp-lightbox-next {
    color: #fff;
    width: 44px;
    height: 44px;
    background: #171717B8;
    backdrop-filter: blur(2px);
    border-radius: 50%;
}
.fu-pdp-lightbox-prev::after,
.fu-pdp-lightbox-next::after {
    font-size: 18px;
}
.fu-pdp-lightbox-pagination {
    bottom: 8px !important;
}
.fu-pdp-lightbox-pagination .swiper-pagination-bullet {
    background: #fff;
    opacity: .5;
}
.fu-pdp-lightbox-pagination .swiper-pagination-bullet-active {
    opacity: 1;
}
body.fu-lightbox-open {
    overflow: hidden;
}

@media (max-width: 575px) {
    .fu-pdp-lightbox-swiper .swiper-slide {
        padding: 0 44px;
    }
    .fu-pdp-lightbox-prev,
    .fu-pdp-lightbox-next {
        width: 36px;
        height: 36px;
    }
}

.fu-pdp-arr {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: #171717B8;
    backdrop-filter: blur(2px);
    width: 64px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 24px;
    color: #fff;
    z-index: 2;
    transition: background .2s, border-color .2s;
    border: none;
}

.fu-pdp-arr:hover {
    background: var(--fu-black);
    color: #fff;
    border-color: var(--fu-black);
}

.fu-pdp-arr-prev {
    left: 0;
}

.fu-pdp-arr-next {
    right: 0;
}

/* ---------- PDP Info ---------- */
.fu-pdp-info {
    padding-top: 8px;
}

.fu-pdp-cat {
    display: block;
    font-family: Inter;
    font-weight: 700;
    font-style: Thin;
    font-size: 12px;
    leading-trim: NONE;
    line-height: 16px;
    letter-spacing: 2.4px;
    vertical-align: middle;
    text-transform: uppercase;
    color: #5E3F3B;
    margin-bottom: 10px;
}

.fu-pdp-title {
    font-family: Inter;
    font-weight: 900;
    font-style: Black;
    font-size: 40px;
    leading-trim: NONE;
    line-height: 140%;
    letter-spacing: 0px;
    vertical-align: middle;
    color: var(--fu-text);
    margin: 0 0 14px;
}

.fu-pdp-rating {
    display: flex;
    align-items: center;
    gap: 3px;
    margin-bottom: 16px;
    color: #EDB84D;
    font-size: 20px;
}

.fu-pdp-rating-val {
    font-family: Inter;
    font-weight: 500;
    font-style: Medium;
    font-size: 20px;
    leading-trim: NONE;
    line-height: 100%;
    letter-spacing: 0%;
    color: var(--fu-text);
    margin-left: 6px;
}

.fu-pdp-desc {
    font-family: Inter;
    font-weight: 400;
    font-style: Regular;
    font-size: 16px;
    leading-trim: NONE;
    line-height: 26px;
    letter-spacing: 0px;
    vertical-align: middle;
    color: #5E3F3B;
    margin-bottom: 24px;
}

/* Options 2×2 grid */
.fu-pdp-options {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 24px;
}

.fu-pdp-opt-label {
    display: block;
    font-family: Inter;
    font-weight: 400;
    font-style: Regular;
    font-size: 12px;
    leading-trim: NONE;
    line-height: 15px;
    letter-spacing: 1px;
    vertical-align: middle;
    text-transform: uppercase;

    color: #5E3F3B;
    margin-bottom: 6px;
}

.fu-pdp-select-wrap {
    position: relative;
}

.fu-pdp-select-wrap .bi-chevron-down {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 12px;
    color: var(--fu-black);
    pointer-events: none;
}

.fu-pdp-select {
    width: 100%;
    height: 40px;
    border-radius: 2px;
    background: #E8E8E8;
    padding: 0 32px 0 12px;

    color: #1A1C1C;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    font-family: Inter;
    font-weight: 500;
    font-style: Thin;
    font-size: 14px;
    leading-trim: NONE;
    line-height: 20px;
    letter-spacing: 0px;
    vertical-align: middle;
    border: none;
    transition: border-color .2s;
}

.fu-pdp-select:focus {
    border-color: var(--fu-black);
}

/* Price row */
.fu-pdp-price-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 0;
    border-top: 1px solid #D6D6D6;
    margin-bottom: 20px;
}

.fu-pdp-price-label {
    display: block;
    font-family: 'Inter';
    font-weight: 700;
    font-style: Thin;
    font-size: 12px;
    leading-trim: NONE;
    line-height: 16px;
    letter-spacing: 0px;
    vertical-align: middle;
    color: #5E3F3B;
    text-transform: uppercase;
    margin-bottom: 4px;
}

.fu-pdp-prices {
    display: flex;
    align-items: baseline;
    gap: 10px;
}

.fu-pdp-price {
    font-family: Inter;
    font-weight: 900;
    font-style: Black;
    font-size: 48px;
    leading-trim: NONE;
    line-height: 40px;
    letter-spacing: 0px;
    vertical-align: middle;
    color: var(--fu-text);
}

.fu-pdp-old-price {
    font-family: Inter;
    font-weight: 300;
    font-style: Light;
    font-size: 24px;
    leading-trim: NONE;
    line-height: 40px;
    letter-spacing: 0px;
    vertical-align: middle;
    text-decoration: line-through;
    color: #F30309;
}

.fu-pdp-stock {
    display: flex;
    flex-direction: column;
    text-align: right;
}

.fu-pdp-stock-row {
    display: flex;
    align-items: center;
    gap: 6px;
}

.fu-pdp-stock-dot {
    width: 8px;
    height: 8px;
    background: #16A34A;
    border-radius: 50%;
    flex-shrink: 0;
}

.fu-pdp-stock-dot.out-of-stock { background: var(--fu-red); }
.fu-pdp-stock-text {
    font-family: Inter;
    font-weight: 100;
    font-style: Thin;
    font-size: 12px;
    text-transform: uppercase;
    leading-trim: NONE;
    line-height: 20px;
    letter-spacing: 0px;
    text-align: left;
    vertical-align: middle;

    color: #16A34A;
    white-space: nowrap;
}
.fu-pdp-stock-text.out-of-stock { color: var(--fu-red); }

.fu-pdp-delivery {
    font-family: Inter;
    font-weight: 100;
    font-style: Thin;
    font-size: 11px;
    text-transform: uppercase;
    leading-trim: NONE;
    line-height: 19px;
    letter-spacing: 0px;
    text-align: left;
    vertical-align: middle;
    color: #5E3F3B;
    margin-top: 2px;
    margin-left: 14px;
    white-space: nowrap;
}

/* Qty row */
.fu-pdp-qty-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
    justify-content: space-between;
}

.fu-pdp-qty {
    display: flex;
    align-items: center;
    border: 1px solid var(--fu-gray-200);
    border-radius: 2px;
    overflow: hidden;
}

.fu-pdp-qty-btn {
    width: 39px;
    height: 50px;
    background: none;
    border: none;
    font-family: 'Inter', sans-serif;
    font-size: 18px;
    font-weight: 400;
    color: var(--fu-black);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .2s;
}

.fu-pdp-qty-btn:hover {
    background: var(--fu-gray-100);
}

.fu-pdp-qty-input {
    width: 48px;
    height: 50px;
    border: none;
    border-left: 1px solid var(--fu-gray-200);
    border-right: 1px solid var(--fu-gray-200);
    text-align: center;
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: var(--fu-black);
    outline: none;
    -moz-appearance: textfield;
}

.fu-pdp-qty-input::-webkit-inner-spin-button,
.fu-pdp-qty-input::-webkit-outer-spin-button {
    -webkit-appearance: none;
}

.fu-pdp-wishlist {
    width: 52px;
    height: 52px;
    border: 1px solid var(--fu-gray-200);
    border-radius: 2px;
    background: none;
    font-size: 18px;
    color: var(--fu-black);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .2s, color .2s;
}

.fu-pdp-wishlist:hover {
    background: var(--fu-gray-100);
    color: var(--fu-red);
}

.fu-pdp-add-cart {
    width: 100%;
    height: 64px;
    background: var(--fu-text);
    color: #fff;
    border: none;
    font-family: Inter;
    font-weight: 800;
    font-style: Extra Bold;
    font-size: 18px;
    leading-trim: NONE;
    line-height: 16px;
    letter-spacing: 1.2px;
    text-align: center;
    vertical-align: middle;
    text-transform: uppercase;
    padding: 16px;
    cursor: pointer;
    border-radius: 2px;
    transition: background .2s;
}

.fu-pdp-add-cart:hover {
    background: #7C7C7C;
    border-color: #7C7C7C;
}
.fu-pdp-add-cart:disabled {
    cursor: not-allowed;
    opacity: 0.6;
}

/* Flags a still-empty option select once the shopper has started picking
   others, so it's clear which one is blocking Add to Cart. */
.fu-pdp-select-wrap:has(.fu-pdp-select--missing) {
    outline: 1px solid var(--fu-red);
    outline-offset: -1px;
    border-radius: 2px;
}

.fu-pdp-option-error {
    color: var(--fu-red);
    font-family: Inter;
    font-size: 14px;
    font-weight: 500;
    margin: 0 0 12px;
}

.fu-pdp-price-unavailable {
    font-size: 16px;
    font-weight: 500;
    color: var(--fu-red);
}

/* ---------- PDP Tabs ---------- */
.fu-pdp-tabs-section {
    padding: 0 0 60px;
}

.fu-pdp-tabs-nav {
    display: flex;
    gap: 0;
    overflow-x: auto;
    scrollbar-width: none;
    gap: 3rem;
    flex-wrap: wrap;
    border-bottom: unset;
}

.fu-pdp-tabs-nav::-webkit-scrollbar {
    display: none;
}

.fu-pdp-tab {
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    padding: 14px 0;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 600;

    letter-spacing: 0.5px;
    color: var(--fu-text);
    cursor: pointer;
    white-space: nowrap;
    margin-bottom: -1px;
    transition: color .2s, border-color .2s;
    font-family: Inter;
    font-weight: 600;
    font-style: Semi Bold;
    font-size: 24px;
    leading-trim: NONE;
    line-height: 130%;
    letter-spacing: 0%;
    vertical-align: middle;
    font-family: Inter;
    font-weight: 400;
    font-style: Regular;
    font-size: 24px;
    leading-trim: NONE;
    line-height: 130%;
    letter-spacing: 0%;
    vertical-align: middle;
    text-transform: uppercase;


}

.fu-pdp-tab.active {
    color: var(--fu-black);
    border-bottom-color: var(--fu-text);
    font-weight: 600;
}

.fu-pdp-tab:hover:not(.active) {
    color: var(--fu-black);
}

.fu-pdp-tab-pane {
    display: none;
    padding: 32px 0;
}

.fu-pdp-tab-pane.active {
    display: block;
}

.fu-pdp-tab-heading {
    font-family: Inter;
    font-weight: 900;
    font-style: Black;
    font-size: 32px;
    leading-trim: NONE;
    line-height: 130%;
    letter-spacing: 0%;
    vertical-align: middle;
    text-transform: uppercase;

    margin: 0 0 16px;
    color: var(--fu-text);
}

.fu-pdp-tab-text {
    font-family: Inter;
    font-weight: 300;
    font-style: Light;
    font-size: 18px;
    leading-trim: NONE;
    line-height: 27px;
    letter-spacing: 0%;
    vertical-align: middle;
    color: var(--fu-text);

    margin-bottom: 16px;
}

/* ── Reviews tab ─────────────────────────────────────────────────────────
   WooCommerce's default single-product-reviews.php / review.php templates
   (unstyled by the theme until now). Our own .fu-pdp-tab-heading right
   above already reads "REVIEWS (N)", so WC's own "Reviews"/"N reviews for
   X" <h2> is redundant and hidden rather than restyled. */
#tab-reviews .woocommerce-Reviews-title { display: none; }

#tab-reviews .woocommerce-noreviews {
    font-family: Inter;
    font-size: 15px;
    color: #5f5e5e;
    margin: 0 0 24px;
}

#tab-reviews .commentlist {
    list-style: none;
    margin: 0 0 32px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
#tab-reviews .commentlist .comment_container {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}
#tab-reviews .commentlist .comment_container > img.avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    flex-shrink: 0;
}
#tab-reviews .commentlist .comment-text {
    flex: 1;
    min-width: 0;
    border: 1px solid #e7e7e7;
    padding: 16px 20px;
}
#tab-reviews .commentlist .star-rating { margin: 0 0 8px; }
#tab-reviews .commentlist p.meta {
    font-family: Inter;
    font-size: 13px;
    color: #5f5e5e;
    margin: 0 0 8px;
}
#tab-reviews .commentlist p.meta strong { color: #111; font-weight: 600; }
#tab-reviews .commentlist .description p {
    margin: 0;
    font-family: Inter;
    font-size: 15px;
    line-height: 1.6;
    color: #222;
}

#review_form_wrapper #reply-title,
#review_form_wrapper .comment-reply-title {
    display: block;
    font-family: Inter;
    font-weight: 800;
    font-size: 20px;
    text-transform: uppercase;
    color: var(--fu-text);
    margin: 0 0 20px;
}
#review_form_wrapper #reply-title small { display: block; margin-top: 8px; }
#review_form_wrapper #reply-title small a { font-size: 14px; font-weight: 500; text-transform: none; color: var(--fu-red); }

#review_form_wrapper .required { color: var(--fu-red); }

#review_form_wrapper .comment-form-rating { margin: 0 0 20px; }
#review_form_wrapper .comment-form-rating label#comment-form-rating-label {
    display: block;
    font-family: Inter;
    font-size: 14px;
    font-weight: 600;
    color: #111;
    margin: 0 0 10px;
}
#review_form_wrapper .comment-form-rating select { display: none; }
/* .stars <p> is injected before #rating by WooCommerce's own single-product.js */
#review_form_wrapper .stars { clear: both; margin: 0; }
#review_form_wrapper .stars a { color: #d8d8d8; }
#review_form_wrapper .stars a.active,
#review_form_wrapper .stars.selected a.active,
#review_form_wrapper .stars.selected a.active ~ a.active { color: var(--fu-red); }
#review_form_wrapper .stars:hover a { color: var(--fu-red); }

#review_form_wrapper .comment-form-author,
#review_form_wrapper .comment-form-email,
#review_form_wrapper .comment-form-comment {
    margin: 0 0 20px;
}
#review_form_wrapper .comment-form-author label,
#review_form_wrapper .comment-form-email label,
#review_form_wrapper .comment-form-comment label {
    display: block;
    font-family: Inter;
    font-size: 14px;
    font-weight: 600;
    color: #111;
    margin: 0 0 8px;
}
#review_form_wrapper .comment-form-author input,
#review_form_wrapper .comment-form-email input,
#review_form_wrapper .comment-form-comment textarea {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #e7e7e7;
    background: #fff;
    padding: 0 16px;
    height: 50px;
    font-family: inherit;
    font-size: 15px;
    color: #222;
    outline: none;
}
#review_form_wrapper .comment-form-comment textarea { height: 140px; padding: 16px; resize: none; }
#review_form_wrapper .comment-form-author input:focus,
#review_form_wrapper .comment-form-email input:focus,
#review_form_wrapper .comment-form-comment textarea:focus { border-color: #111; }

#review_form_wrapper .form-submit { margin: 0; }
#review_form_wrapper #submit {
    height: 56px;
    padding: 0 40px;
    background: var(--fu-text);
    color: #fff;
    border: none;
    font-family: Inter;
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    cursor: pointer;
    transition: background 0.2s;
}
#review_form_wrapper #submit:hover { background: #333; }

#review_form_wrapper .must-log-in,
#review_form_wrapper .woocommerce-verification-required {
    font-family: Inter;
    font-size: 15px;
    color: #5f5e5e;
}
#review_form_wrapper .must-log-in a { color: var(--fu-red); }

.fu-pdp-tab-text strong,
.fu-pdp-tab-text b {
    font-weight: 700;
    color: #111;
}

.fu-pdp-tab-text a {
    color: var(--fu-red);
    text-decoration: underline;
}

.fu-pdp-tab-text a:hover {
    text-decoration: none;
}

.fu-pdp-tab-text blockquote {
    margin: 20px 0;
    padding: 12px 20px;
    border-left: 3px solid var(--fu-red);
    font-style: italic;
    color: #444;
    background: var(--fu-gray-100);
}

.fu-pdp-show-more {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--fu-red);
    text-decoration: underline;
    cursor: pointer;
    background: none;
    border: none;
    padding: 0;
}

.bg-f9f9 {
    background-color: #F9F9F9;
}

.description-recom {
    font-family: Inter;
    font-weight: 300;
    font-style: Light;
    font-size: 18px;
    leading-trim: NONE;
    line-height: 27px;
    letter-spacing: 0%;
    vertical-align: middle;

    color: var(--fu-text);
}

/* Mobile adjustments for PDP */
@media (max-width: 575px) {
    .fu-pdp-gallery {
        flex-direction: column-reverse;
        align-items: stretch;
    }

    .fu-pdp-main-wrap {
        width: 100%;
    }

    .fu-pdp-thumbs {
        flex-direction: row;
        overflow-x: auto;
        width: 100%;
    }

    /* The vertical thumbnail Swiper (desktop only, see app JS) never gets
       initialized below this breakpoint — these rules just make sure its
       markup (#fu-pdp-thumbs-swiper + swiper-wrapper + nav buttons) falls
       back cleanly to the same native horizontal scroll strip as the
       non-slider case above, instead of keeping the desktop fixed height. */
    .fu-pdp-thumbs-slider #fu-pdp-thumbs-swiper {
        height: auto;
        overflow: visible;
    }

    .fu-pdp-thumbs-slider .swiper-wrapper {
        display: flex;
        flex-direction: row;
    }

    .fu-pdp-thumbs-arr {
        display: none;
    }

    .fu-pdp-thumb {
        width: 60px;
        height: 60px;
        flex-shrink: 0;
    }

    .fu-pdp-title {
        font-size: 22px;
    }

    .fu-pdp-price {
        font-size: 24px;
    }

    

   
}

/* ===== Specifications Table ===== */
.fu-spec-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    border: 1px solid #D5D5D5;
}

.fu-spec-table td,
.fu-spec-table th {
    border: 1px solid #D5D5D5;
}

.fu-spec-header th {
    background: var(--fu-red);
    color: #fff;
    font-weight: 600;
    font-size: 14px;
    padding: 11px 16px;
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-family: Inter;
    font-weight: 500;
    font-style: Medium;
    font-size: 20px;
    leading-trim: NONE;
    line-height: 130%;
    letter-spacing: 0%;
    vertical-align: middle;

}

.fu-spec-table tbody tr {
    border-bottom: 1px solid #DBDBDB;
}

.fu-spec-key {
    background: #E8E8E8;
    color: var(--fu-text);
    font-weight: 500;
    padding: 11px 16px;
    width: 25%;
    vertical-align: top;
    font-weight: 500;
    font-style: Medium;
    font-size: 14px;
    leading-trim: NONE;
    line-height: 130%;
    letter-spacing: 0%;
    vertical-align: middle;

}

.fu-spec-val {
    background: #fff;
    color: var(--fu-text);
    font-weight: 400;
    padding: 11px 16px;
    width: 25%;
    vertical-align: top;
    font-weight: 500;
    font-style: Medium;
    font-size: 14px;
    leading-trim: NONE;
    line-height: 130%;
    letter-spacing: 0%;
    vertical-align: middle;
}

@media (max-width: 575px) {

    .fu-spec-table,
    .fu-spec-table tbody,
    .fu-spec-table tr {
        display: block;
    }

    .fu-spec-header {
        display: block;
    }

    .fu-spec-header th {
        display: block;
    }

    .fu-spec-table tr {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .fu-spec-key,
    .fu-spec-val {
        width: auto;
    }
}

/* ===== Mega Menu ===== */
.fu-browse-wrap {
    position: relative;
    display: flex;
}

.fu-catmenu {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    z-index: 1001;
    background: #fff;
    border: 1px solid #E5E5E5;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
    display: none;
    flex-direction: row;
    width: auto;
}

.fu-catmenu.is-open {
    display: flex;
}

.fu-catmenu-overlay {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: none;
}

.fu-catmenu-overlay.is-open {
    display: block;
}

.fu-catmenu-parents {
    list-style: none;
    margin: 0;
    padding: 8px 0;
    width: max-content;
    flex-shrink: 0;
    overflow-y: auto;
    max-height: 440px;
    align-self: stretch;
}

.fu-catmenu-parents li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 9px 16px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--fu-text);
    cursor: pointer;
    gap: 8px;
    border-bottom: 1px solid #F1F1F1;
}

.fu-catmenu-parents li i {
    font-size: 10px;
    color: #bbb;
    flex-shrink: 0;
    display: none;
}

.fu-catmenu-parents li span {
    font-family: Inter;
    font-weight: 500;
    font-style: Medium;
    font-size: 14px;
    leading-trim: NONE;
    line-height: 130%;
    letter-spacing: 0%;
    text-transform: uppercase;
}

.fu-catmenu-parents li:hover,
.fu-catmenu-parents li.active {
    background: #F5F5F5;
}

.fu-catmenu-parents li.active>span {
    color: var(--fu-text);
    font-weight: 700;
    font-family: Inter;
    font-weight: 700;
    font-style: Bold;
    font-size: 14px;
    leading-trim: NONE;
    line-height: 130%;
    letter-spacing: 0%;
    text-transform: uppercase;
}

.fu-catmenu-parents li.active {
    background-color: #F5F6FA;
}

.fu-catmenu-sub,
.fu-catmenu-grand {
    display: none;
    width: 220px;
    flex-shrink: 0;
    padding: 8px 0;
    border-left: 1px solid #E5E5E5;
    overflow-y: auto;
    max-height: 440px;
    align-self: stretch;
}

.fu-catmenu-sub.is-visible,
.fu-catmenu-grand.is-visible {
    display: block;
}

.fu-catmenu-col-head {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #999;
    padding: 8px 16px 6px;
    font-family: Inter;
    font-weight: 600;
    font-style: Semi Bold;
    font-size: 14px;
    leading-trim: NONE;
    line-height: 100%;
    letter-spacing: 0%;
    text-transform: uppercase;

}

.fu-catmenu-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.fu-catmenu-list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 16px;
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--fu-text);
    cursor: pointer;
    gap: 8px;
}

.fu-catmenu-list li i {
    font-size: 10px;
    color: #bbb;
    flex-shrink: 0;
}

.fu-catmenu-list li:hover,
.fu-catmenu-list li.active {
    background: #F5F5F5;
}

.fu-catmenu-list li.active>span {
    color: var(--fu-red);
}
.fu-section-top{
    padding-top: 2rem;
}
@media(max-width:991px){
    .breadcrumbs a{
        font-family: Inter;
font-weight: 400;
font-style: Regular;
font-size: 12px;
leading-trim: NONE;
line-height: 130%;
letter-spacing: 0%;
vertical-align: middle;
text-decoration: underline;
text-decoration-style: solid;
text-decoration-offset: 0%;
text-decoration-thickness: 0%;
text-decoration-skip-ink: auto;

    }
    .breadcrumbs span{
        font-family: Inter;
font-weight: 300;
font-style: Light;
font-size: 12px;
leading-trim: NONE;
line-height: 130%;
letter-spacing: 0%;
vertical-align: middle;

    }
    h1.default-h1{
        font-family: Inter;
font-weight: 900;
font-style: Black;
font-size: 32px;
leading-trim: NONE;
line-height: 40px;
letter-spacing: -1.8px;
vertical-align: middle;

    }
    h6.default-h6{
        font-family: Inter;
font-weight: 600;
font-style: Semi Bold;
font-size: 12px;
leading-trim: NONE;
line-height: 16px;
letter-spacing: 2.4px;
vertical-align: middle;
text-transform: uppercase;
    }
    .fu-section-top{
        padding-top: 1.5rem;;
    }
    .fu-product-fast-shop .fu-product-row .col-lg-4{
            align-items: start;
    gap: 1rem;
    margin-top: 1rem;
    }
    a.show-more-cat{
        font-family: Inter;
font-weight: 700;
font-style: Bold;
font-size: 12px;
leading-trim: NONE;
line-height: 16px;
letter-spacing: 1.2px;
vertical-align: middle;
text-decoration: underline;
text-decoration-style: solid;
text-decoration-offset: 0%;
text-decoration-thickness: 0%;
text-transform: uppercase;
color: #F30309;
    }
    .fu-select-btn{
        border-width: 1px;
    }
    .fu-pdp-wishlist-mob {
            position: absolute;
    background: none;
    border: none;
    right: 1rem;
    top: 1rem;
    }
    .fu-pdp-arr{
        width: 40px;
        height: 40px;
        font-size: 17px;
    }
    .fu-pdp-cat{
        font-family: Inter;
font-weight: 700;
font-style: Thin;
font-size: 12px;
leading-trim: NONE;
line-height: 16px;
letter-spacing: 2.4px;
vertical-align: middle;
text-transform: uppercase;
    }
    .fu-pdp-title{
        font-family: Inter;
font-weight: 900;
font-style: Black;
font-size: 28px;
leading-trim: NONE;
line-height: 130%;
letter-spacing: 0px;
vertical-align: middle;

    }
    .fu-pdp-rating-val{
        font-family: Inter;
font-weight: 500;
font-style: Medium;
font-size: 13.43px;
leading-trim: NONE;
line-height: 100%;
letter-spacing: 0%;
    }
    .fu-pdp-desc{
        font-family: Inter;
font-weight: 400;
font-style: Regular;
font-size: 12px;
leading-trim: NONE;
line-height: 150%;
letter-spacing: 0px;
vertical-align: middle;

    }
    .fu-pdp-price-label{
        font-family: Inter;
font-weight: 700;
font-style: Thin;
font-size: 12px;
leading-trim: NONE;
line-height: 16px;
letter-spacing: 0px;
vertical-align: middle;
        margin-bottom: 1rem;

    }
    .fu-pdp-price{
        font-family: Inter;
font-weight: 900;
font-style: Black;
font-size: 36px;
leading-trim: NONE;
line-height: 40px;
letter-spacing: 0px;
vertical-align: middle;

    }
    .fu-pdp-old-price{
        font-family: Inter;
font-weight: 300;
font-style: Light;
font-size: 20px;
leading-trim: NONE;
line-height: 40px;
letter-spacing: 0px;
vertical-align: middle;
text-decoration: line-through;

    }
    .fu-pdp-stock-text{
        font-family: Inter;
font-weight: 700;
font-style: Thin;
font-size: 12px;
leading-trim: NONE;
line-height: 16px;
letter-spacing: 0px;
text-align: left;
vertical-align: middle;
text-transform: uppercase;
    }
    .fu-pdp-delivery{
        font-family: Inter;
font-weight: 400;
font-style: Thin;
font-size: 10px;
leading-trim: NONE;
line-height: 15px;
letter-spacing: 0px;
text-align: left;
vertical-align: middle;
text-transform: uppercase;
    }
    .fu-pdp-qty-btn{
        width: 39px;
        height: 39px;
    }
    .fu-pdp-qty-input{
          width: 48px;
        height: 39px;
    }
    .fu-pdp-add-cart{
        height: 52px;
        font-family: Inter;
font-weight: 800;
font-style: Extra Bold;
font-size: 18px;
leading-trim: NONE;
line-height: 16px;
letter-spacing: 1.2px;
text-align: center;
vertical-align: middle;
text-transform: uppercase;

    }
    .fu-pdp-qty-row{
        margin-bottom: 2rem;
    }
    .description-recom{
        display: none;
    }
    .fu-pdp-section{
        padding-bottom: 0;
    }
    .fu-pdp-tabs-nav{
            flex-wrap: nowrap;
            overflow: auto;
            gap: 16px;
    }
    .fu-pdp-tab{
        font-family: Inter;
font-weight: 400;
font-style: Regular;
font-size: 12px;
leading-trim: NONE;
line-height: 130%;
letter-spacing: 0%;
vertical-align: middle;
        text-transform: capitalize;
        padding-bottom: 0.4rem;
    }
    .fu-pdp-tab.active{
        font-weight: 500;
        color: var(--fu-text);
    }
    .fu-pdp-tab-heading{
        font-family: Inter;
font-weight: 900;
font-style: Black;
font-size: 24px;
leading-trim: NONE;
line-height: 130%;
letter-spacing: 0%;
vertical-align: middle;
text-transform: uppercase;
margin-bottom: 0.5rem;

    }
    .fu-pdp-tab-text{
        font-family: Inter;
font-weight: 300;
font-style: Light;
font-size: 12px;
leading-trim: NONE;
line-height: 150%;
letter-spacing: 0%;
vertical-align: middle;
    }
    .fu-pdp-tab-pane{
            padding: 18px 0;
    }
    .fu-spec-table thead{
        display: none;
    }
}

/* ─── CART DRAWER ──────────────────────────────────────────────────────────── */
.fu-cart-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.45);
    z-index: 1040;
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s;
}
.fu-cart-overlay.is-open {
    opacity: 1;
    pointer-events: all;
}

.fu-cart-drawer {
    position: fixed;
    top: 0;
    right: 0;
    width: 420px;
    max-width: 100vw;
    height: 100vh;
    background: #fff;
    z-index: 1050;
    display: flex;
    flex-direction: column;
    transform: translateX(100%);
    transition: transform .35s cubic-bezier(.4,0,.2,1);
    box-shadow: -4px 0 32px rgba(0,0,0,.14);
}
.fu-cart-drawer.is-open {
    transform: translateX(0);
}

/* Header */
.fu-cd-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px;
    border-bottom: 1px solid #f1f1f1;
    flex-shrink: 0;
}
.fu-cd-head h2 {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .12em;
    margin: 0;
}
.fu-cd-close {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 22px;
    color: #111;
    padding: 4px;
    line-height: 1;
    display: flex;
    align-items: center;
}

/* Scrollable body */
.fu-cd-body {
    flex: 1;
    overflow-y: auto;
    padding: 0 24px;
}

/* Empty state */
.fu-cd-empty {
    text-align: center;
    padding: 48px 0;
    color: #999;
    font-size: 14px;
}

/* Single cart item */
.fu-cd-item {
    display: flex;
    gap: 14px;
    padding: 16px 0;
    border-bottom: 1px solid #f5f5f5;
}
.fu-cd-img {
    width: 72px;
    height: 72px;
    object-fit: contain;
    flex-shrink: 0;
    border: 1px solid #f1f1f1;
    border-radius: 4px;
}
.fu-cd-info {
    flex: 1;
    min-width: 0;
}
.fu-cd-name {
    font-size: 13px;
    font-weight: 600;
    color: #111;
    margin-bottom: 4px;
    line-height: 1.4;
}
.fu-cd-price {
    font-size: 15px;
    font-weight: 700;
    color: #111;
    margin-bottom: 5px;
}
.fu-cd-attrs {
    font-size: 11px;
    color: #888;
    line-height: 1.7;
    margin-bottom: 8px;
}
.fu-cd-attrs span { display: block; }
.fu-cd-meta-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 8px;
    gap: 8px;
}

/* Quantity controls */
.fu-cd-qty {
    display: flex;
    align-items: center;
    border: 1px solid #ddd;
    border-radius: 2px;
    height: 28px;
    overflow: hidden;
}
.fu-cd-qty-btn {
    width: 28px;
    height: 28px;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 16px;
    font-weight: 600;
    color: #111;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background .15s;
}
.fu-cd-qty-btn:hover { background: #f5f5f5; }
.fu-cd-qty-val {
    width: 32px;
    text-align: center;
    font-size: 13px;
    font-weight: 600;
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.fu-cd-remove {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 11px;
    color: #999;
    text-decoration: underline;
    padding: 0;
    transition: color .15s;
}
.fu-cd-remove:hover { color: #111; }
.fu-cd-options {
    display: inline-block;
    margin-top: 6px;
    font-size: 11px;
    font-weight: 600;
    color: var(--fu-red, #e02020);
    text-decoration: underline;
    letter-spacing: .04em;
}

/* Footer */
.fu-cd-footer {
    padding: 16px 24px 24px;
    border-top: 1px solid #f1f1f1;
    flex-shrink: 0;
}
.fu-cd-sum-row {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    color: #666;
    margin-bottom: 6px;
}
.fu-cd-sum-total {
    display: flex;
    justify-content: space-between;
    font-size: 16px;
    font-weight: 700;
    color: #111;
    margin: 10px 0 16px;
    padding-top: 10px;
    border-top: 1px solid #eee;
}
.fu-cd-btn-continue {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 100%;
    min-height: 48px;
    padding: 8px 12px;
    box-sizing: border-box;
    background: #fff;
    border: 1.5px solid #111;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    cursor: pointer;
    margin-bottom: 8px;
    transition: background .2s, color .2s;
    font-family: Inter, sans-serif;
}
.fu-cd-btn-continue:hover { background: #111; color: #fff; }
.fu-cd-btn-cart {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 100%;
    min-height: 48px;
    padding: 8px 12px;
    box-sizing: border-box;
    background: #111;
    color: #fff;
    border: none;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    cursor: pointer;
    text-decoration: none;
    transition: background .2s;
    font-family: Inter, sans-serif;
}
.fu-cd-btn-cart:hover { background: #333; color: #fff; }

/* Loading state on add-to-cart button */
.fu-ajax-add-cart.is-loading {
    opacity: .6;
    pointer-events: none;
}

.fu-cross-sell-modal-trigger.is-loading {
    opacity: .6;
    pointer-events: none;
}

/* Recommended add-to-cart popup */
.fu-rec-popup {
    position: fixed;
    inset: 0;
    z-index: 1060;
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s ease;
}
.fu-rec-popup.is-open {
    opacity: 1;
    pointer-events: all;
}
.fu-rec-popup__overlay {
    position: absolute;
    inset: 0;
    background: rgba(17, 17, 17, .34);
}
.fu-rec-popup__dialog {
    position: absolute;
    top: 50%;
    left: 50%;
    width: min(1008px, calc(100vw - 32px));
    max-height: calc(100vh - 32px);
    overflow-y: auto;
    transform: translate(-50%, -50%);
    background: #fff;
    border-radius: 2px;
    box-shadow: 4px 8px 16px rgba(96, 96, 96, .16);
    padding: 40px 32px 36px;
    font-family: Inter, sans-serif;
    color: #111;
}
.fu-rec-popup__close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 28px;
    height: 28px;
    border: 0;
    background: transparent;
    color: #111;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 18px;
}
.fu-rec-popup__status {
    width: 40px;
    height: 40px;
    margin: 0 auto 28px;
    border-radius: 50%;
    background: #111;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
}
.fu-rec-popup__title {
    margin: 0 0 28px;
    text-align: center;
    font-size: 24px;
    line-height: 1.4;
    font-weight: 800;
    text-transform: uppercase;
}
.fu-rec-popup__message {
    min-height: 20px;
    margin: -16px auto 16px;
    max-width: 677px;
    color: #7a3a34;
    font-size: 13px;
    text-align: center;
}
.fu-rec-popup__product,
.fu-rec-popup__options,
.fu-rec-popup__summary {
    width: min(677px, 100%);
    margin-left: auto;
    margin-right: auto;
}
.fu-rec-popup__product {
    display: grid;
    grid-template-columns: 102px minmax(0, 1fr) auto;
    gap: 16px;
    align-items: start;
    padding-bottom: 16px;
    border-bottom: 1px solid #ced2dd;
}
.fu-rec-popup__image {
    width: 102px;
    height: 102px;
    border-radius: 2px;
    overflow: hidden;
    background: #f6f6f6;
}
.fu-rec-popup__image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}
.fu-rec-popup__info {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px 24px;
    align-items: start;
}
.fu-rec-popup__info h3 {
    margin: 0;
    font-size: 18px;
    line-height: 1.45;
    font-weight: 700;
    text-transform: capitalize;
}
.fu-rec-popup__price {
    font-size: 20px;
    line-height: 32px;
    font-weight: 500;
    text-align: right;
    white-space: nowrap;
}
.fu-rec-popup__qty {
    grid-column: 2;
    width: 113px;
    height: 48px;
    display: grid;
    grid-template-columns: 32px 1fr 32px;
    background: #e8e8e8;
    border-radius: 2px;
    overflow: hidden;
}
.fu-rec-popup__qty button,
.fu-rec-popup__qty input {
    border: 0;
    background: transparent;
    color: #111;
    font-family: Inter, sans-serif;
    font-size: 16px;
    line-height: 1;
    text-align: center;
}
.fu-rec-popup__qty button {
    cursor: pointer;
}
.fu-rec-popup__qty input {
    width: 100%;
    outline: none;
    -moz-appearance: textfield;
}
.fu-rec-popup__qty input::-webkit-inner-spin-button,
.fu-rec-popup__qty input::-webkit-outer-spin-button {
    -webkit-appearance: none;
}
.fu-rec-popup__fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 24px;
    margin-top: 24px;
}
.fu-rec-popup__field span,
.fu-rec-popup__attrs span {
    display: block;
    margin-bottom: 8px;
    color: #5e3f3b;
    font-size: 12px;
    line-height: 15px;
    letter-spacing: 1px;
    text-transform: uppercase;
}
.fu-rec-popup__field select {
    width: 100%;
    height: 40px;
    border: 0;
    border-radius: 2px;
    background: #e8e8e8;
    color: #1a1c1c;
    font-family: Inter, sans-serif;
    font-size: 14px;
    padding: 0 36px 0 12px;
    outline: none;
}
.fu-rec-popup__attrs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 24px;
    margin-top: 24px;
}
.fu-rec-popup__attrs strong {
    display: flex;
    align-items: center;
    min-height: 40px;
    padding: 0 12px;
    background: #e8e8e8;
    border-radius: 2px;
    color: #1a1c1c;
    font-size: 14px;
    font-weight: 400;
}
.fu-rec-popup__summary {
    margin-top: 24px;
}
.fu-rec-popup__summary h3 {
    margin: 0 0 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid #ced2dd;
    font-size: 22px;
    line-height: 1.35;
    font-weight: 800;
    text-transform: uppercase;
}
.fu-rec-popup__summary .fu-cd-sum-row {
    color: #111;
    font-size: 16px;
    margin-bottom: 20px;
}
.fu-rec-popup__summary .fu-cd-sum-total {
    color: #111;
    font-size: 20px;
    margin: 0;
    padding-top: 16px;
    border-top: 1px solid #ced2dd;
}
.fu-rec-popup__actions {
    width: min(677px, 100%);
    margin: 32px auto 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 298px));
    justify-content: center;
    gap: 20px;
}
.fu-rec-popup__secondary,
.fu-rec-popup__primary {
    height: 56px;
    border-radius: 2px;
    font-family: Inter, sans-serif;
    font-size: 16px;
    line-height: 1.3;
    text-align: center;
    text-transform: uppercase;
    cursor: pointer;
}
.fu-rec-popup__secondary {
    background: #fff;
    border: 1px solid #808080;
    color: #222;
    font-weight: 400;
}
.fu-rec-popup__primary {
    background: #111;
    border: 1px solid #111;
    color: #fff;
    font-weight: 800;
}
.fu-rec-popup__primary:disabled,
.fu-rec-popup__primary.is-loading {
    opacity: .55;
    cursor: not-allowed;
}

@media (max-width: 767px) {
    .fu-rec-popup__dialog {
        position: fixed;
        top: 0;
        left: 0;
        transform: none;
        width: 100%;
        height: 100%;
        max-height: 100%;
        min-height: 0;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
        padding: 32px 16px calc(24px + env(safe-area-inset-bottom, 0px));
        box-sizing: border-box;
    }
    .fu-rec-popup__actions {
        margin-bottom: env(safe-area-inset-bottom, 0px);
    }
    .fu-rec-popup__title {
        font-size: 20px;
        margin-bottom: 22px;
    }
    .fu-rec-popup__product {
        grid-template-columns: 82px minmax(0, 1fr);
    }
    .fu-rec-popup__image {
        width: 82px;
        height: 82px;
    }
    .fu-rec-popup__info {
        grid-template-columns: 1fr;
    }
    .fu-rec-popup__price {
        text-align: left;
    }
    .fu-rec-popup__qty {
        grid-column: 1;
    }
    .fu-rec-popup__fields,
    .fu-rec-popup__attrs,
    .fu-rec-popup__actions {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 576px) {
    .fu-cart-drawer { width: 100vw; }
}

/* ─── HEADER CART HOVER PREVIEW ─────────────────────────────────────────────── */
.fu-cart-hover-wrap {
    position: relative;
}
/* Values pixel-perfect from Figma node 2032-13467 */
.fu-cart-hover-preview {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    width: 319px;
    background: #fff;
    border: 1px solid rgba(0,0,0,.1);
    box-shadow: 4px 8px 16px rgba(0,0,0,.08);
    border-radius: 2px;
    z-index: 500;
    opacity: 0;
    pointer-events: none;
    transform: translateY(6px);
    transition: opacity .2s ease, transform .2s ease;
    overflow: hidden;
}
.fu-cart-hover-wrap:hover .fu-cart-hover-preview {
    opacity: 1;
    pointer-events: all;
    transform: translateY(0);
}

/* ~6 rows (72px each incl. padding/border) before scrolling kicks in */
.fu-ch-item-list {
    max-height: 432px;
    overflow-y: auto;
}

/* Item row — Figma: 179×56px, flex row, gap 7px */
.fu-ch-item {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 8px 12px;
    border-bottom: 1px solid rgba(0,0,0,.06);
}
/* Thumbnail — Figma: 56×56px */
.fu-ch-img {
    width: 56px;
    height: 56px;
    object-fit: contain;
    flex-shrink: 0;
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 2px;
}
/* Product name — Figma: Inter 700 12px / 18px, #111 */
.fu-ch-name {
    flex: 1;
    font-family: Inter, sans-serif;
    font-size: 12px;
    font-weight: 700;
    color: rgb(17,17,17);
    line-height: 18px;
    min-width: 0;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
/* Price — Figma: Inter 400 13px / 22px, #111 */
.fu-ch-price {
    font-family: Inter, sans-serif;
    font-size: 13px;
    font-weight: 400;
    color: rgb(17,17,17);
    line-height: 22px;
    white-space: nowrap;
    flex-shrink: 0;
}

/* Total row — Figma: Paragraph+HorizontalBorder */
.fu-ch-total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 12px;
    font-family: Inter, sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: rgb(17,17,17);
    border-top: 1px solid rgba(0,0,0,.08);
}

/* Empty state */
.fu-ch-empty {
    padding: 20px 12px;
    text-align: center;
    font-size: 13px;
    color: #999;
}

/* ─── WC PAGE WRAPPER ──────────────────────────────────────────────────────── */
.fu-wc-page {
    width: 100%;
}
.fu-wc-page .woocommerce-notices-wrapper,
.woocommerce-notices-wrapper {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 20px;
}

/* ─── ORDER RECEIVED / THANK YOU PAGE ───────────────────────────────────────── */
.fu-wc-page .woocommerce-order {
    max-width: 900px;
    margin: 0 auto;
    padding: 48px 20px 80px;
    font-family: 'Inter', sans-serif;
}

.fu-wc-page .woocommerce-thankyou-order-received {
    font-size: 20px;
    font-weight: 600;
    color: var(--fu-text);
    margin: 0 0 24px;
    padding: 20px;
    background: var(--fu-gray-100);
    border-left: 3px solid var(--fu-red);
}

.fu-wc-page ul.woocommerce-order-overview {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    list-style: none;
    margin: 0 0 40px;
    padding: 24px 0;
    border-top: 1px solid var(--fu-gray-200);
    border-bottom: 1px solid var(--fu-gray-200);
}

.fu-wc-page ul.woocommerce-order-overview li {
    font-size: 14px;
    color: #6b6b6b;
}

.fu-wc-page ul.woocommerce-order-overview li strong {
    display: block;
    font-size: 16px;
    color: var(--fu-text);
    margin-top: 4px;
}

.fu-wc-page .woocommerce-order-details,
.fu-wc-page .woocommerce-customer-details {
    margin-bottom: 40px;
}

.fu-wc-page .woocommerce-order-details h2,
.fu-wc-page .woocommerce-customer-details h2,
.fu-wc-page .woocommerce-column__title {
    font-size: 20px;
    font-weight: 700;
    color: var(--fu-text);
    margin: 0 0 16px;
}

.fu-wc-page table.woocommerce-table--order-details {
    width: 100%;
    table-layout: fixed; /* without this, a long unbreakable note can still widen its column past word-break/overflow-wrap and push the Total column out of place */
    border-collapse: collapse;
    margin-bottom: 24px;
}

.fu-wc-page table.woocommerce-table--order-details th,
.fu-wc-page table.woocommerce-table--order-details td {
    padding: 12px 8px;
    border-bottom: 1px solid var(--fu-gray-200);
    text-align: left;
    font-size: 14px;
}

.fu-wc-page table.woocommerce-table--order-details tfoot th,
.fu-wc-page table.woocommerce-table--order-details tfoot td {
    font-weight: 600;
}

/* Long order-item notes must wrap instead of pushing the Total column out of place. */
.fu-wc-page table.woocommerce-table--order-details td:first-child,
.fu-wc-page table.woocommerce-table--order-details th:first-child {
    word-break: break-word;
    overflow-wrap: break-word;
}
.fu-wc-page table.woocommerce-table--order-details td:last-child,
.fu-wc-page table.woocommerce-table--order-details th:last-child {
    white-space: nowrap;
    text-align: right;
    width: 1%;
}

.fu-wc-page address {
    font-style: normal;
    font-size: 14px;
    line-height: 1.6;
    color: #6b6b6b;
}

.fu-wc-page .woocommerce-columns--addresses {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    list-style: none;
    padding: 0;
}

.fu-wc-page .woocommerce-column {
    flex: 1 1 260px;
}

@media (max-width: 640px) {
    .fu-wc-page .woocommerce-order { padding: 32px 16px 60px; }
    .fu-wc-page ul.woocommerce-order-overview { flex-direction: column; gap: 12px; padding: 16px 0; }
    .fu-wc-page table.woocommerce-table--order-details th,
    .fu-wc-page table.woocommerce-table--order-details td { padding: 10px 4px; font-size: 13px; }
    .fu-wc-page .woocommerce-columns--addresses { flex-direction: column; gap: 24px; }
}

/* ─── CART PAGE ──────────────────────────────────────────────────────────── */
.fu-cart-page {
    max-width: 1280px;
    margin: 0 auto;
    padding: 40px 20px 80px;
}

/* Breadcrumbs */
.fu-cart-breadcrumbs {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    color: #111;
    margin-bottom: 24px;
}
.fu-cart-breadcrumbs a { color: #111; text-decoration: none; font-weight: 400; }
.fu-cart-breadcrumbs span:last-child { font-weight: 300; }

/* Title */
.fu-cart-title {
    margin-bottom: 32px;
}
.fu-cart-title h1 {
    font-size: 36px;
    font-weight: 900;
    color: #111;
    margin: 0 0 8px;
    font-family: Inter, sans-serif;
    text-transform: uppercase;
}
.fu-cart-title h1 .accent { color: var(--fu-red); }
.fu-cart-title p {
    font-size: 16px;
    font-weight: 400;
    color: #5F5E5E;
    margin: 0;
}

/* Two-column layout: products left (677px), form right (570px) */
.fu-cart-layout {
    display: flex;
    gap: 33px;
    align-items: flex-start;
}

/* ── RIGHT: Shipping form ── */
.fu-cart-form-col {
    flex: 0 0 570px;
    width: 570px;
    background: #fff;
    padding: 32px;
    border: 1px solid #E7E7E7;
}

.fu-cart-form-heading {
    font-size: 32px;
    font-weight: 900;
    color: #222;
    margin: 0 0 24px;
    font-family: Inter, sans-serif;
}

/* Tabs */
.fu-cart-tabs {
    display: flex;
    height: 50px;
    margin-bottom: 24px;
    border-bottom: 2px solid #E7E7E7;
}
.fu-cart-tab {
    flex: 1;
    background: none;
    border: none;
    font-size: 20px;
    font-weight: 400;
    color: #222;
    cursor: pointer;
    font-family: Inter, sans-serif;
    transition: background .15s, color .15s;
}
.fu-cart-tab.fu-cart-tab--active {
    background: #E52C35;
    color: #fff;
    font-weight: 600;
}

/* Tab panels */
.fu-cart-tab-panel { display: none; }
.fu-cart-tab-panel.is-active { display: block; }

/* Input fields */
.fu-cart-input-wrap {
    position: relative;
    margin-bottom: 16px;
}
.fu-cart-input-wrap label {
    display: block;
    font-size: 16px;
    font-weight: 500;
    color: #222;
    margin-bottom: 4px;
    font-family: Inter, sans-serif;
}
.fu-cart-input-wrap input[type="text"],
.fu-cart-input-wrap input[type="email"],
.fu-cart-input-wrap input[type="tel"],
.fu-cart-input-wrap textarea {
    width: 100%;
    height: 50px;
    border: 1px solid #E7E7E7;
    border-radius: 0;
    padding: 0 16px;
    font-size: 16px;
    font-family: Inter, sans-serif;
    color: #222;
    background: #fff;
    outline: none;
    box-sizing: border-box;
    transition: border-color .15s;
}
.fu-cart-input-wrap input:focus,
.fu-cart-input-wrap textarea:focus {
    border-color: #222;
}
.fu-cart-input-wrap textarea {
    height: 132px;
    padding: 12px 16px;
    resize: none;
}

/* Select / Country */
.fu-cart-select-wrap {
    position: relative;
}
.fu-cart-select-wrap select {
    width: 100%;
    height: 50px;
    border: 1px solid #E7E7E7;
    padding: 0 40px 0 16px;
    font-size: 16px;
    font-family: Inter, sans-serif;
    color: #767676;
    background: #fff;
    appearance: none;
    outline: none;
    box-sizing: border-box;
    cursor: pointer;
    transition: border-color .15s;
}
.fu-cart-select-wrap select:focus { border-color: #222; }
.fu-cart-select-wrap svg {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
}

/* Checkboxes (Terms / Payment) */
.fu-cart-terms,
.fu-cart-payment-details {
    margin-bottom: 20px;
}
.fu-cart-terms-title {
    font-size: 16px;
    font-weight: 600;
    color: #111;
    margin: 0 0 10px;
    font-family: Inter, sans-serif;
}
.fu-cart-checkbox-label {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    cursor: pointer;
    font-size: 16px;
    color: #003F3F;
    font-family: 'Plus Jakarta Sans', Inter, sans-serif;
}
.fu-cart-checkbox-wrap {
    position: relative;
    width: 24px;
    height: 24px;
    flex-shrink: 0;
}
.fu-cart-checkbox-wrap input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    cursor: pointer;
}
.fu-cart-checkmark {
    display: block;
    width: 24px;
    height: 24px;
    border: 1.5px solid #79747E;
    background: #fff;
    box-sizing: border-box;
}
.fu-cart-checkbox-wrap input:checked + .fu-cart-checkmark {
    background: #222;
    border-color: #222;
}
.fu-cart-checkbox-wrap input:checked + .fu-cart-checkmark::after {
    content: '';
    display: block;
    width: 5px;
    height: 10px;
    border: 2px solid #fff;
    border-top: none;
    border-left: none;
    transform: rotate(45deg) translate(3px, 1px);
}

/* Checkout button */
.fu-cart-checkout-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 64px;
    background: #111;
    color: #fff !important;
    font-size: 20px;
    font-weight: 800;
    font-family: Inter, sans-serif;
    text-decoration: none;
    margin-bottom: 16px;
    transition: background .15s;
}
.fu-cart-checkout-btn:hover { background: #333; color: #fff; }

/* Payment icons */
.fu-cart-payment-icons {
    display: flex;
    gap: 12px;
    align-items: center;
}
.fu-cart-payment-icons img {
    height: 25px;
    width: auto;
}

/* ── LEFT: Products + Summary ── */
.fu-cart-products-col {
    flex: 0 0 677px;
    width: 677px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* Products box */
.fu-cart-products-box {
    background: #fff;
    border: 1px solid #E7E7E7;
}

.fu-cart-products-header {
    display: grid;
    grid-template-columns: 1fr 113px 80px;
    gap: 16px;
    padding: 16px 22px;
    border-bottom: 1px solid #CED2DD;
    font-size: 24px;
    font-weight: 400;
    color: #5F5E5E;
    font-family: Inter, sans-serif;
}
.fu-cart-products-header__qty,
.fu-cart-products-header__total {
    text-align: right;
}

/* Cart item row: [product-col] [qty-col] [total-col] */
.fu-cart-item {
    display: grid;
    grid-template-columns: 1fr 113px 80px;
    gap: 16px;
    align-items: center;
    padding: 16px 22px;
    border-bottom: 1px solid #CED2DD;
}

/* Product column = thumbnail + info side by side */
.fu-cart-item-product {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.fu-cart-item-thumb img {
    width: 102px;
    height: 102px;
    object-fit: cover;
    display: block;
    flex-shrink: 0;
}

.fu-cart-item-info {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.fu-cart-item-name a,
.fu-cart-item-name {
    font-size: 18px;
    font-weight: 700;
    color: #111;
    text-decoration: none;
    font-family: Inter, sans-serif;
    line-height: 1.4;
}
.fu-cart-item-meta {
    font-size: 12px;
    color: #78716C;
    font-family: Inter, sans-serif;
}
.fu-cart-item-remove {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 16px;
    color: #111;
    text-decoration: none;
    font-family: Inter, sans-serif;
    margin-top: 4px;
}
.fu-cart-item-remove:hover { color: #DF3B3B; }

/* QTY counter */
.fu-cart-counter {
    display: flex;
    align-items: center;
    width: 113px;
    height: 48px;
    background: #E7E7E7;
    position: relative;
}
.fu-cart-qty-btn {
    width: 38px;
    height: 48px;
    background: none;
    border: none;
    font-size: 20px;
    font-weight: 300;
    font-family: Rubik, sans-serif;
    color: #111;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.fu-cart-qty-btn:hover { background: rgba(0,0,0,.05); }
.fu-cart-qty-input {
    flex: 1;
    width: 37px;
    height: 48px;
    border: none;
    border-left: 1px solid #79747E;
    border-right: 1px solid #79747E;
    background: transparent;
    text-align: center;
    font-size: 20px;
    font-weight: 400;
    font-family: Inter, sans-serif;
    color: #111;
    outline: none;
    -moz-appearance: textfield;
}
.fu-cart-qty-input::-webkit-inner-spin-button,
.fu-cart-qty-input::-webkit-outer-spin-button { -webkit-appearance: none; }

.fu-cart-item-subtotal {
    font-size: 20px;
    font-weight: 500;
    color: #111;
    font-family: Inter, sans-serif;
    min-width: 80px;
    text-align: right;
}

/* Order Summary */
.fu-cart-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 12px;
    padding: 80px 24px;
    background: #fff;
    border: 1px solid #E7E7E7;
}
.fu-cart-empty h2 {
    font-family: Inter, sans-serif;
    font-size: 24px;
    font-weight: 800;
    color: #111;
    margin: 8px 0 0;
    text-transform: uppercase;
}
.fu-cart-empty p {
    font-family: Inter, sans-serif;
    font-size: 15px;
    color: #6b6b6b;
    margin: 0 0 12px;
}
.fu-cart-empty .fu-cart-checkout-btn {
    width: auto;
    padding: 0 32px;
    display: inline-flex;
}

/* ---------- Generic pages (Terms, Privacy Policy, Shipping & Returns, etc.) ---------- */
.fu-page-wrap {
    padding: 32px 0 100px;
}
.fu-page-title {
    font-family: Inter, sans-serif;
    font-size: 36px;
    font-weight: 900;
    text-transform: uppercase;
    color: #111;
    margin: 40px 0 32px;
}
.fu-page-content {
    max-width: 860px;
    font-family: Inter, sans-serif;
    font-size: 15px;
    line-height: 1.7;
    color: #444;
}
.fu-page-content h2 {
    font-size: 22px;
    font-weight: 800;
    text-transform: uppercase;
    color: #111;
    margin: 40px 0 16px;
}
.fu-page-content h3 {
    font-size: 18px;
    font-weight: 700;
    color: #111;
    margin: 28px 0 12px;
}
.fu-page-content p { margin: 0 0 16px; }
.fu-page-content ul,
.fu-page-content ol { margin: 0 0 16px; padding-left: 22px; }
.fu-page-content li { margin-bottom: 6px; }
.fu-page-content a { color: var(--fu-red); text-decoration: underline; }
.fu-page-content a:hover { text-decoration: none; }
.fu-page-content strong { color: #111; }

@media (max-width: 576px) {
    .fu-page-title { font-size: 26px; margin-bottom: 20px; }
    .fu-page-content { font-size: 14px; }
}

/* ---------- 404 page ---------- */
.fu-404-page {
    padding: 80px 0 100px;
}
.fu-404-page .container-xl {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.fu-404-illustration {
    max-width: 700px !important;
    width: 100%;
    height: auto;
    margin: 0 auto 40px;
    display: block;
}
.fu-404-page h1 {
    font-family: Inter, sans-serif;
    font-size: 40px;
    font-weight: 900;
    text-transform: uppercase;
    color: #111;
    margin: 0 0 12px;
}
.fu-404-page h1 .accent { color: var(--fu-red); }
.fu-404-sub {
    font-family: Inter, sans-serif;
    font-size: 18px;
    line-height: 1.5;
    color: #3c3c3c;
    max-width: 844px;
    margin: 0 0 32px;
}
.fu-404-actions {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    justify-content: center;
}
.fu-404-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 56px;
    padding: 0 32px;
    font-family: Inter, sans-serif;
    font-size: 18px;
    font-weight: 400;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 2px;
    transition: background .15s, color .15s;
}
.fu-404-btn-secondary {
    background: #fff;
    color: #222;
    border: 1px solid #808080;
}
.fu-404-btn-secondary:hover { background: #111; color: #fff; }

@media (max-width: 576px) {
    .fu-404-page { padding: 60px 0 80px; }
    .fu-404-page h1 { font-size: 24px; }
}

.fu-cart-summary-box {
    background: #fff;
    padding: 0;
    border: 1px solid #E7E7E7;
}
.fu-cart-summary-header {
    padding: 16px 22px;
    border-bottom: 1px solid #CEDADD;
}
.fu-cart-summary-header h3 {
    font-size: 24px;
    font-weight: 800;
    color: #111;
    margin: 0;
    font-family: Inter, sans-serif;
}
.fu-cart-summary-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 22px;
    font-size: 16px;
    color: #111;
    font-family: Inter, sans-serif;
}
.fu-cart-summary-val {
    font-size: 20px;
    font-weight: 500;
}
.fu-cart-summary-total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 22px;
    border-top: 1px solid #CEDADD;
    font-size: 22px;
    font-weight: 500;
    color: #111;
    font-family: Inter, sans-serif;
}
.fu-cart-summary-total-val {
    font-size: 22px;
    font-weight: 500;
}

/* ── Responsive ── */
@media (max-width: 1100px) {
    .fu-cart-layout { flex-direction: column; }
    .fu-cart-form-col { flex: none; width: 100%; }
}
@media (max-width: 600px) {
    .fu-cart-title h1 { font-size: 24px; }
    .fu-cart-item { grid-template-columns: 1fr auto; grid-template-rows: auto auto; }
    .fu-cart-item-product { grid-column: 1 / -1; }
    .fu-cart-item-subtotal { text-align: right; }
    .fu-cart-form-col { padding: 16px; flex: none; width: 100%; }
    .fu-cart-form-heading { font-size: 22px; }
    .fu-cart-products-col { flex: none; width: 100%; }
}

/* ═══════════════════════════════════════════════════════════════════════════════
   MY ACCOUNT PAGES
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Layout wrapper ── */
.fu-account-wrap {
    padding: 32px 0 64px;
    font-family: Inter, sans-serif;
}

.fu-account-wrap h1,
.woocommerce-account article h1,
.woocommerce-account h1.entry-title { display: none !important; }

.fu-account-layout {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-top: 24px;
}

/* ── Breadcrumbs ── */
.fu-breadcrumbs {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: Inter, sans-serif;
    font-size: 14px;
    color: #767676;
    margin-bottom: 0;
}
.fu-breadcrumbs a {
    color: #767676;
    text-decoration: none;
}
.fu-breadcrumbs a:hover { color: #111; }
.fu-breadcrumbs span { color: #767676; }
.fu-breadcrumbs--inline { margin-bottom: 24px; }

/* ── Sidebar ── */
.fu-account-sidebar {
    flex: 0 0 302px;
    width: 302px;
}

.fu-account-nav {
    border-radius: 2px;
    border: 1px solid #DADADA;
    background: #FFF;
}

.fu-account-nav-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.fu-account-nav-item a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    font-family: Inter, sans-serif;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: .4px;
    text-transform: uppercase;
    color: #111;
    text-decoration: none;
    border-left: 3px solid transparent;
    transition: background .15s, color .15s, border-color .15s;
}
.fu-account-nav-item a:hover { background: #f9f9f9; }
.fu-account-nav-item.active a {
    background: #f3f3f3;
    color: var(--fu-red);
    border-left-color: var(--fu-red);
}
.fu-account-nav-item.active .fu-account-nav-icon svg path { fill: var(--fu-red); stroke: var(--fu-red); }

.fu-account-nav-icon {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    width: 32px;
    height: 32px;
}
.fu-account-nav-icon svg { width: 32px; height: 32px; }

/* ── Content area ── */
.fu-account-content {
    flex: 0 0 970px;
    width: 970px;
    min-width: 0;
    padding: 16px;
    border-radius: 2px;
    border: 1px solid #DADADA;
    background: #FFF;
}

/* ── Section headings ── */
.fu-orders-heading {
    font-family: Inter, sans-serif;
    font-size: 22px;
    font-weight: 900;
    text-transform: uppercase;
    color: #111;
    margin: 0 0 24px;
}
.fu-orders-heading .accent { color: var(--fu-red); }

/* ── Order cards ── */
.fu-order-card {
    border: 1px solid #E7E7E7;
    margin-bottom: 24px;
}

.fu-order-card-header {
    display: flex;
    align-items: center;
    gap: 16px;
    background: #f3f3f3;
    height: 49px;
    padding: 0 20px;
    font-family: Inter, sans-serif;
    font-size: 14px;
    color: #111;
}

.fu-order-card-number {
    font-weight: 600;
    text-transform: lowercase;
}

.fu-order-card-date {
    margin-left: auto;
    color: #767676;
}

.fu-order-status-badge {
    display: inline-block;
    padding: 2px 10px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
    background: #f3f3f3;
    color: #111;
    border: 1px solid #E7E7E7;
}
.fu-status-processing { background: #e8f5e9; color: #2e7d32; border-color: #a5d6a7; }
.fu-status-completed  { background: #e3f2fd; color: #1565c0; border-color: #90caf9; }
.fu-status-cancelled  { background: #fce4ec; color: #c62828; border-color: #ef9a9a; }
.fu-status-on-hold    { background: #fff8e1; color: #e65100; border-color: #ffcc80; }
.fu-status-pending    { background: #f3e5f5; color: #6a1b9a; border-color: #ce93d8; }
.fu-status-refunded   { background: #fafafa; color: #555; border-color: #ccc; }
.fu-status-failed     { background: #fdecea; color: #b71c1c; border-color: #f5aca6; }

.fu-order-payment-notice {
    margin: 0;
    padding: 12px 20px 0;
    font-family: Inter, sans-serif;
    font-size: 13px;
    color: #b71c1c;
}

.fu-order-payment-alert {
    margin: 0 20px 16px;
    padding: 16px;
    background: #fdecea;
    border: 1px solid #f5aca6;
    border-radius: 4px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.fu-order-payment-alert p {
    margin: 0;
    font-family: Inter, sans-serif;
    font-size: 14px;
    color: #b71c1c;
    flex: 1 1 240px;
}

a.fu-order-pay-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 44px;
    padding: 0 24px;
    background: #111;
    color: #fff;
    font-family: Inter, sans-serif;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    text-transform: uppercase;
    border-radius: 2px;
    white-space: nowrap;
    transition: background .15s;
}
a.fu-order-pay-btn:hover {
    background: #7C7C7C;
    color: #fff;
}

.fu-order-items {
    padding: 16px 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.fu-order-item {
    display: flex;
    align-items: center;
    gap: 16px;
}

.fu-order-item-thumb img {
    width: 82px;
    height: 82px;
    object-fit: cover;
    display: block;
    flex-shrink: 0;
}

.fu-order-item-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
}

.fu-order-item-name {
    font-family: Inter, sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #111;
}

.fu-order-item-variant,
.fu-order-item-qty {
    font-family: Inter, sans-serif;
    font-size: 13px;
    color: #767676;
}

.fu-order-item-price {
    font-family: Inter, sans-serif;
    font-size: 20px;
    font-weight: 500;
    color: #111;
    white-space: nowrap;
    margin-left: auto;
}

.fu-order-card-divider {
    height: 1px;
    background: #E7E7E7;
    margin: 0 20px;
}

.fu-order-card-footer {
    padding: 16px 20px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

.fu-order-details-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 298px;
    height: 48px;
    border: 1px solid #222;
    background: transparent;
    font-family: Inter, sans-serif;
    font-size: 18px;
    font-weight: 400;
    color: #222;
    text-decoration: none;
    cursor: pointer;
    transition: background .15s, color .15s;
}
.fu-order-details-btn:hover {
    background: #111;
    color: #fff;
}

.fu-orders-empty {
    font-family: Inter, sans-serif;
    font-size: 16px;
    color: #767676;
    margin-bottom: 24px;
}

.fu-orders-pagination {
    display: flex;
    gap: 12px;
    margin-top: 32px;
}

.fu-pagination-btn {
    display: inline-flex;
    align-items: center;
    padding: 10px 20px;
    border: 1px solid #E7E7E7;
    font-family: Inter, sans-serif;
    font-size: 14px;
    color: #111;
    text-decoration: none;
}
.fu-pagination-btn:hover { background: #f3f3f3; }

/* ── View Order ── */
.fu-view-order-wrap {
    font-family: Inter, sans-serif;
}

.fu-order-detail-card {
    border: 1px solid #E7E7E7;
    overflow: hidden;
}

.fu-order-customer-info {
    padding: 24px 20px;
}

.fu-order-info-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.fu-order-info-cell {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.fu-info-label {
    font-family: Inter, sans-serif;
    font-size: 18px;
    font-weight: 500;
    color: #111;
}

.fu-info-value {
    font-family: Inter, sans-serif;
    font-size: 16px;
    font-weight: 400;
    color: #767676;
}

.fu-order-summary {
    padding: 24px 20px;
}

.fu-order-summary-heading {
    font-family: Inter, sans-serif;
    font-size: 24px;
    font-weight: 800;
    color: #111;
    margin: 0 0 20px;
}

.fu-order-summary-rows {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.fu-order-sum-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 20px;
    border-bottom: 1px solid #E7E7E7;
    font-family: Inter, sans-serif;
    font-size: 16px;
    font-weight: 400;
    color: #111;
}

.fu-order-sum-total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
    background: #f3f3f3;
    border-bottom: 1px solid #E7E7E7;
    font-family: Inter, sans-serif;
    font-size: 22px;
    font-weight: 800;
    color: #111;
}

.fu-order-notes {
    margin-top: 24px;
    font-family: Inter, sans-serif;
}
.fu-order-notes h3 { font-size: 18px; font-weight: 700; margin-bottom: 12px; }
.fu-order-notes ul { list-style: none; padding: 0; margin: 0; }
.fu-order-notes li {
    padding: 10px 0;
    border-bottom: 1px solid #E7E7E7;
    font-size: 14px;
    color: #111;
    word-break: break-word;
    overflow-wrap: break-word;
}
.fu-order-notes li span { color: #767676; margin-left: 8px; font-size: 12px; }

/* ── Favorites ── */
.fu-favorites-wrap {
    font-family: Inter, sans-serif;
}

.fu-favorites-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

/* ── Personal Information / Edit Account ── */
.fu-edit-account-wrap {
    font-family: Inter, sans-serif;
}

.fu-edit-account-sub {
    font-family: Inter, sans-serif;
    font-size: 18px;
    font-weight: 400;
    color: #767676;
    margin-bottom: 32px;
}

.fu-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px 24px;
    margin-bottom: 24px;
}

.fu-form-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.fu-form-field label {
    font-family: Inter, sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #111;
}

.fu-password-wrap { position: relative; }
.fu-password-wrap .fu-input { padding-right: 44px; }
.fu-password-toggle {
    position: absolute;
    top: 50%;
    right: 14px;
    transform: translateY(-50%);
    background: none;
    border: none;
    padding: 4px;
    cursor: pointer;
    color: #767676;
    display: flex;
    align-items: center;
    justify-content: center;
}
.fu-password-toggle:hover { color: #111; }

.fu-input {
    height: 50px;
    border: 1px solid #ced2dd;
    padding: 0 16px;
    font-family: Inter, sans-serif;
    font-size: 16px;
    color: #111;
    background: #fff;
    outline: none;
    width: 100%;
    box-sizing: border-box;
    transition: border-color .15s;
    border-radius: 2px;
    -webkit-appearance: none;
}
.fu-input:focus { border-color: #111; }
.fu-input::placeholder { color: #767676; }

.fu-form-checkbox-row {
    margin-bottom: 24px;
}

.fu-checkbox-label {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: Inter, sans-serif;
    font-size: 15px;
    color: #111;
    cursor: pointer;
}
.fu-checkbox-label input[type="checkbox"] {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    cursor: pointer;
}

.fu-form-password-section {
    margin-bottom: 24px;
}
.fu-password-label {
    font-family: Inter, sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #111;
    margin-bottom: 16px;
}

.fu-form-submit-row {
    margin-top: 8px;
}

.fu-save-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 298px;
    height: 48px;
    background: #111;
    color: #fff;
    font-family: Inter, sans-serif;
    font-size: 18px;
    font-weight: 700;
    border: none;
    cursor: pointer;
    transition: background .15s;
}
.fu-save-btn:hover { background: #333; }

/* ── Login / Register page ── */
.fu-login-page {
    padding: 48px 0 80px;
    font-family: Inter, sans-serif;
    min-height: 60vh;
    display: flex;
    align-items: flex-start;
    justify-content: center;
}

.fu-login-container {
    width: 968px;
    max-width: 100%;
    box-sizing: border-box;
}

.fu-login-cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
}
.fu-login-cols--single {
    grid-template-columns: minmax(0, 480px);
    justify-content: center;
}

.fu-login-col {
    display: flex;
    flex-direction: column;
    background: #fff;
    padding: 48px;
    box-sizing: border-box;
}

.fu-register-col {
    background: #f9f9f9;
}

.fu-login-heading {
    font-family: Inter, sans-serif;
    font-size: 36px;
    font-weight: 900;
    color: #111;
    text-transform: uppercase;
    margin: 0 0 8px;
}
.fu-login-heading .fu-accent { color: var(--fu-red); }

.fu-login-sub {
    font-family: Inter, sans-serif;
    font-size: 16px;
    font-weight: 400;
    color: #767676;
    margin-bottom: 28px;
}

.fu-login-form .fu-form-field,
.fu-register-form .fu-form-field {
    margin-bottom: 16px;
}

.fu-login-row-options {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 24px;
}

.fu-forgot-link {
    font-family: Inter, sans-serif;
    font-size: 14px;
    color: #111;
    text-decoration: underline;
}
.fu-forgot-link:hover { color: #E52C35; }

.fu-auth-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 450px;
    max-width: 100%;
    height: 48px;
    background: #111;
    color: #fff;
    font-family: Inter, sans-serif;
    font-size: 18px;
    font-weight: 700;
    text-transform: uppercase;
    border: none;
    border-radius: 2px;
    cursor: pointer;
    transition: background .15s;
    margin-top: 8px;
}
.fu-auth-btn:hover { background: #333; }

.fu-social-login {
    margin-top: 28px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}

.fu-social-label {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    font-family: Inter, sans-serif;
    font-size: 14px;
    color: #767676;
}
.fu-social-label::before,
.fu-social-label::after {
    content: '';
    flex: 1;
    height: 1px;
    background: #E7E7E7;
}

.fu-social-icons {
    display: flex;
    gap: 12px;
}

.fu-oauth-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    text-decoration: none;
    transition: opacity .15s;
}
.fu-oauth-icon svg { width: 56px; height: 56px; }
.fu-oauth-icon:hover { opacity: 0.85; }

/* ── WooCommerce notices in account pages ── */
.fu-account-content .woocommerce-notices-wrapper .woocommerce-message,
.fu-account-content .woocommerce-notices-wrapper .woocommerce-info,
.fu-account-content .woocommerce-notices-wrapper .woocommerce-error {
    margin-bottom: 20px;
}

/* ── WooCommerce notices sitewide (cart, PDP, checkout, shop) ── */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notice {
    list-style: none;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin: 20px 0;
    padding: 14px 18px 14px 48px;
    font-family: Inter, sans-serif;
    font-size: 14px;
    line-height: 1.5;
    border-radius: 2px;
    border-left: 3px solid #111;
    background: #F9F9F9;
    color: #111;
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before { left: 18px; }
.woocommerce-message li,
.woocommerce-info li,
.woocommerce-error li,
.woocommerce-notice li { list-style: none; margin: 0; }
.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button {
    float: none;
    margin-left: auto;
    white-space: nowrap;
}
.woocommerce-message { border-left-color: #16A34A; }
.woocommerce-info    { border-left-color: #111; }
.woocommerce-error   { border-left-color: var(--fu-red); background: #FDECEA; color: #b71c1c; }

/* ── Responsive ── */
@media (max-width: 1340px) {
    .fu-account-layout { flex-direction: column; }
    .fu-account-sidebar { width: 100%; }
    .fu-account-nav-list { display: flex; flex-wrap: wrap; gap: 4px; }
    .fu-account-content { width: 100%; flex: none; }
    .fu-account-nav-top { width: 100%; }
}

@media (max-width: 768px) {
    .fu-login-container { padding: 24px; }
    .fu-login-cols { grid-template-columns: 1fr; }
    .fu-auth-btn { width: 100%; }
    .fu-form-grid { grid-template-columns: 1fr; }
    .fu-order-info-grid { grid-template-columns: 1fr; }
    .fu-favorites-grid { grid-template-columns: 1fr 1fr; }
    .fu-order-details-btn,
    .fu-save-btn { width: 100%; }

    /* On a specific account endpoint (Orders/Favorites/Personal information),
       hide the sidebar menu and rely on the dynamic breadcrumb instead. */
    .fu-account-wrap.is-endpoint .fu-account-sidebar { display: none; }

    /* On the dashboard root the menu still shows — make it compact for mobile. */
    .fu-account-nav-item a { padding: 10px 12px; font-size: 14px; gap: 8px; }
    .fu-account-nav-icon svg { width: 20px; height: 20px; }
}

@media (max-width: 480px) {
    .fu-favorites-grid { grid-template-columns: 1fr; }
}

/* ================================================================
   ABOUT US PAGE
   ================================================================ */

.fu-about-page { color: #111; }

/* Breadcrumbs + title */
.fu-about-top { padding-top: 32px;
padding-bottom: 24px; }
.fu-about-breadcrumbs { display: flex; align-items: center; gap: 8px; font-size: 14px; color: #585858; margin-bottom: 40px; }
.fu-about-breadcrumbs a { color: #585858; text-decoration: none; }
.fu-about-breadcrumbs a:hover { color: #111; }
.fu-about-title { font-size: 36px; font-weight: 900; font-family: 'Inter', sans-serif; text-transform: uppercase; margin: 0; }
.fu-about-title .accent { color: var(--fu-red); }

/* Banner slider */
.fu-about-banner-swiper {
    position: relative;
    margin-bottom: 48px;
}
.fu-about-banner {
    width: 100%;
    height: 411px;
    background-color: #141414;
    background-size: cover;
    background-position: center;
    border-radius: 4px;
}
.fu-about-banner-pagination {
    position: absolute;
    bottom: 20px;
    left: 0;
    right: 0;
    z-index: 5;
    text-align: center;
}
.fu-about-banner-arrows {
    position: absolute;
    right: 24px;
    bottom: 20px;
    z-index: 5;
}
.fu-about-banner-arrows .fu-arrow { background: rgba(255, 255, 255, 0.9); }

/* Story section */
.fu-about-story { padding-bottom: 64px; }
.fu-about-lead { font-size: 20px; font-weight: 600; line-height: 1.5; color: #111; margin: 0 0 24px; }
.fu-about-body { font-size: 18px; line-height: 1.5; color: #585858; margin: 0 0 48px; }
.fu-about-text-b2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
}
.fu-about-text-col h3 { font-size: 20px; font-weight: 600; text-transform: uppercase; margin: 0 0 16px; }
.fu-about-text-col p  { font-size: 16px; line-height: 1.7; color: #585858; margin: 0; }

/* Stats section */
.fu-about-stats-section { padding: 64px 0; }
.fu-about-indicators {
    margin-bottom: 48px;
}
.fu-about-indicators h2 { font-size: 36px; font-weight: 900; text-transform: uppercase; margin: 0 0 32px; }
.fu-about-indicators h2 .accent { color: var(--fu-red); }
.fu-about-stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.fu-about-stats-section .fu-about-banner { margin-bottom: 40px; }
.fu-about-stat { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px; }
.fu-about-stat-num   { font-size: 50px; font-weight: 900; color: #111; line-height: 1; }
.fu-about-stat-num .accent { color: var(--fu-red); }
.fu-about-stat-label { font-size: 16px; font-weight: 500; color: #222; text-transform: uppercase; }

/* CTA */
.fu-about-cta {
    display: flex;
    align-items: flex-start;
    gap: 48px;
}
.fu-about-cta-left { flex: 0 0 420px; }
.fu-about-cta-left h2 { font-size: 32px; font-weight: 900; text-transform: uppercase; color: #222; margin: 0; }
.fu-about-shop-now {
    display: inline-block;
    font-size: 18px;
    font-weight: 700;
    color: var(--fu-red) !important;
    text-transform: uppercase;
    text-decoration: underline;
    margin-top: 20px;
}
.fu-about-shop-now:hover { opacity: 0.8; }
.fu-about-cta-right { flex: 1; }
.fu-about-cta-right p { font-size: 18px; line-height: 1.5; color: #111; margin: 0; }

/* Testimonials */
.fu-about-testimonials { background: #f9f9f9; padding: 64px 0; }
.fu-about-testi-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 32px;
}
.fu-about-testi-head h2 { font-size: 36px; font-weight: 900; text-transform: uppercase; margin: 0; }
.fu-about-testi-head h2 .accent { color: var(--fu-red); }
.fu-about-testi-counter { font-size: 18px; color: #111; margin-top: 24px; }
.fu-about-testi-swiper { overflow: hidden; }
.fu-about-testi-card {
    background: #fff;
    padding: 32px;
    height: 296px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.fu-about-testi-stars { display: flex; gap: 4px; }
.fu-about-testi-quote { font-size: 20px; line-height: 1.5; color: #111; flex: 1; margin: 0; overflow: hidden; }
.fu-about-testi-author { display: flex; flex-direction: column; gap: 2px; }
.fu-about-testi-name { font-size: 16px; font-weight: 700; color: #111; }
.fu-about-testi-role { font-size: 16px; color: #111; }

/* Testi navigation */
.fu-about-testi-nav {
    display: flex;
    gap: 12px;
    flex-shrink: 0;
}
.fu-about-testi-prev,
.fu-about-testi-next {
    width: 48px;
    height: 48px;
    border: 1px solid rgba(231, 189, 182, 0.2);
    background: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 2px;
}
.fu-about-testi-prev:hover,
.fu-about-testi-next:hover { background: #111; }
.fu-about-testi-prev:hover path,
.fu-about-testi-next:hover path { stroke: #fff; }

/* Office location */
.fu-about-location { padding: 64px 0; }
.fu-about-section-title { font-size: 36px; font-weight: 900; text-transform: uppercase; margin: 0 0 32px; }
.fu-about-section-title .accent { color: var(--fu-red); }
.fu-about-location-grid {
    display: grid;
    grid-template-columns: 480px 1fr;
    gap: 32px;
    align-items: stretch;
}
.fu-about-location-info {
    background: #f9f9f9;
    padding: 40px 32px;
    display: flex;
    flex-direction: column;
    gap: 28px;
}
.fu-about-location-row {
    display: flex;
    align-items: center;
    gap: 16px;
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 0.4px;
    line-height: 1.8;
    color: #111;
}
.fu-about-location-row svg { flex-shrink: 0; }
.fu-about-location-map { min-height: 320px; overflow: hidden; }
.fu-about-location-map img,
.fu-about-location-map iframe { width: 100%; height: 100%; min-height: 320px; object-fit: cover; display: block; border: 0; }

/* Responsive */
@media (max-width: 1100px) {
    .fu-about-stats-grid { grid-template-columns: 1fr 1fr; }
    .fu-about-location-grid { grid-template-columns: 1fr; }
    .fu-about-cta { flex-direction: column; }
    .fu-about-cta-left { flex: none; }
}
@media (max-width: 768px) {
    .fu-about-banner { height: 240px; }
    .fu-about-text-b2 { grid-template-columns: 1fr; gap: 24px; }
    .fu-about-testi-card { height: auto; }
    .fu-about-title { font-size: 28px; }
    .fu-about-stat-num { font-size: 36px; }
}
@media (max-width: 480px) {
    .fu-about-stats-grid { grid-template-columns: 1fr 1fr; }
}

/* ================================================================
   CONTACTS PAGE
   ================================================================ */

.fu-contacts-page { color: #111; }

/* Breadcrumbs + title */
.fu-contacts-top { padding: 32px 0 40px; }
.fu-contacts-breadcrumbs { display: flex; align-items: center; gap: 8px; font-size: 14px; color: #585858; margin-bottom: 16px; }
.fu-contacts-breadcrumbs a { color: #585858; text-decoration: none; }
.fu-contacts-breadcrumbs a:hover { color: #111; }
.fu-contacts-title { font-size: 36px; font-weight: 900; font-family: 'Inter', sans-serif; margin: 0; text-transform: uppercase; }
.fu-contacts-title .accent { color: var(--fu-red); }

/* Main grid */
.fu-contacts-main {
    display: grid;
    grid-template-columns: 628px 1fr;
    gap: 124px;
    padding-bottom: 80px;
    align-items: start;
}

/* Info column */
.fu-contacts-desc { font-size: 16px; line-height: 1.6; color: #5f5e5e; margin: 0 0 40px; }

.fu-contacts-list { list-style: none; margin: 0 0 48px; padding: 0; display: flex; flex-direction: column; gap: 24px; }
.fu-contacts-list li { display: flex; align-items: center; gap: 16px; font-size: 16px; color: #111; }
.fu-contacts-icon { display: flex; flex-shrink: 0; }

.fu-contacts-social-label { font-size: 16px; font-weight: 600; color: #111; margin: 0 0 12px; }
.fu-contacts-social-icons { display: flex; gap: 16px; }
.fu-contacts-social-icons a { display: flex; align-items: center; justify-content: center; opacity: 0.8; transition: opacity 0.2s; }
.fu-contacts-social-icons a:hover { opacity: 1; }

/* Form column */
.fu-contacts-form { display: flex; flex-direction: column; gap: 24px; }
.fu-contacts-field input,
.fu-contacts-field textarea {
    width: 100%;
    box-sizing: border-box;
    height: 50px;
    border: 1px solid #e7e7e7;
    background: #fff;
    padding: 0 16px;
    font-size: 16px;
    color: #222;
    font-family: inherit;
    outline: none;
    display: block;
}
.fu-contacts-field input:focus,
.fu-contacts-field textarea:focus { border-color: #111; position: relative; z-index: 1; }
.fu-contacts-field--textarea textarea { height: 109px; padding: 16px; resize: none; }
.fu-contacts-submit {
    width: 100%;
    height: 64px;
    background: #111;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    border: none;
    cursor: pointer;
    font-family: inherit;
    transition: background 0.2s;
}
.fu-contacts-submit:hover { background: #333; }

.fu-contacts-success { background: #f0fdf4; border: 1px solid #86efac; color: #166534; padding: 16px 20px; font-size: 15px; }
.fu-contacts-errors  { background: #fef2f2; border: 1px solid #fca5a5; color: #991b1b; padding: 12px 20px; margin-bottom: 16px; font-size: 14px; }
.fu-contacts-errors p { margin: 4px 0; }

/* Newsletter dark section */
.fu-contacts-newsletter {
    background: #1a1c1c;
    padding: 80px 0;
    position: relative;
    overflow: hidden;
}
.fu-contacts-newsletter-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 48px;
}
.fu-contacts-newsletter-text h2 { font-size: 36px; font-weight: 800; color: #fff; margin: 0 0 16px; }
.fu-contacts-newsletter-text p  { font-size: 16px; color: rgba(255,255,255,0.7); margin: 0; max-width: 520px; line-height: 1.6; }

.fu-newsletter-row { display: flex; gap: 0; }
.fu-newsletter-row input {
    width: 340px;
    height: 56px;
    border: none;
    background: #fff;
    padding: 0 20px;
    font-size: 15px;
    font-family: inherit;
    outline: none;
    color: #111;
}
.fu-newsletter-row button {
    height: 56px;
    padding: 0 32px;
    background: #e52c35;
    color: #fff;
    border: none;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    font-family: inherit;
    white-space: nowrap;
    transition: background 0.2s;
}
.fu-newsletter-row button:hover { background: #c01f27; }
.fu-newsletter-success { color: #fff; font-size: 16px; }

/* Responsive */
@media (max-width: 1100px) {
    .fu-contacts-main { grid-template-columns: 1fr 1fr; gap: 48px; }
}
@media (max-width: 768px) {
    .fu-contacts-main { grid-template-columns: 1fr; gap: 40px; }
    .fu-contacts-newsletter-inner { flex-direction: column; align-items: center; text-align: center; }
    .fu-contacts-newsletter-form { width: 100%; }
    .fu-newsletter-row { flex-direction: column; }
    .fu-newsletter-row input { width: 100%; }
    .fu-newsletter-row button { width: 100%; }
    .fu-contacts-title { font-size: 28px; }
}

/* ================================================================
   BLOG PAGE (home.php)
   ================================================================ */

.fu-blog-page { color: #111; padding-bottom: 80px; }

/* Breadcrumbs */
.fu-blog-top { padding-top: 32px; padding-bottom: 0; }
.fu-blog-breadcrumbs { display: flex; align-items: center; gap: 8px; font-size: 14px; color: #585858; }
.fu-blog-breadcrumbs a { color: #585858; text-decoration: none; }
.fu-blog-breadcrumbs a:hover { color: #111; }

/* Section */
.fu-blog-section { padding-top: 40px; }

/* Header */
.fu-blog-header { margin-bottom: 48px; }
.fu-blog-title    { font-size: 36px; font-weight: 900; font-family: 'Inter', sans-serif; margin: 0 0 12px; color: #111; text-transform: uppercase; }
.fu-blog-title .accent { color: var(--fu-red); }
.fu-blog-subtitle { font-size: 18px; font-weight: 400; color: #111; margin: 0; }

/* Grid */
.fu-blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 395px);
    gap: 48px 47px;
    margin-bottom: 56px;
}

/* Card */
.fu-blog-card { display: flex; flex-direction: column; }

.fu-blog-card-img-wrap {
    display: block;
    width: 100%;
    height: 204px;
    overflow: hidden;
    margin-bottom: 16px;
    background: #f3f3f3;
}
.fu-blog-card-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}
.fu-blog-card:hover .fu-blog-card-img-wrap img { transform: scale(1.04); }
.fu-blog-card-no-img { width: 100%; height: 100%; background: #e7e7e7; }

.fu-blog-card-body { display: flex; flex-direction: column; gap: 12px; flex: 1; }

.fu-blog-card-date { font-size: 12px; font-weight: 700; color: #5f5e5e; text-transform: uppercase; display: block; }

.fu-blog-card-title { font-size: 20px; font-weight: 700; color: #111; margin: 0; line-height: 1.4; }
.fu-blog-card-title a { color: inherit; text-decoration: none; }
.fu-blog-card-title a:hover { color: #e52c35; }

.fu-blog-card-excerpt { font-size: 14px; color: #5f5e5e; line-height: 1.6; margin: 0; flex: 1; }

.fu-blog-card-link {
    color: #F30309 !important;
    font-family: Inter, sans-serif;
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    line-height: 15px;
    letter-spacing: 1px;
    text-transform: uppercase !important;
    text-decoration: underline;
    text-underline-offset: 3px;
    display: inline-block;
}
.fu-blog-card-link:hover { opacity: 0.8; }

/* Empty state */
.fu-blog-empty { font-size: 16px; color: #585858; padding: 40px 0; }

/* Pagination */
.fu-blog-pagination { display: flex; justify-content: center; }
.fu-blog-pagination ul {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 0;
}
.fu-blog-pagination ul li a,
.fu-blog-pagination ul li span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    font-size: 18px;
    font-weight: 400;
    color: #111;
    border: 1px solid #e7e7e7;
    margin-left: -1px;
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
}
.fu-blog-pagination ul li a:hover { background: #f3f3f3; }
.fu-blog-pagination ul li span.current {
    background: #111;
    color: #fff;
    font-weight: 600;
    border-color: #111;
    z-index: 1;
}
.fu-blog-pagination ul li a svg { display: block; }

/* Responsive */
@media (max-width: 1280px) {
    .fu-blog-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 900px) {
    .fu-blog-grid { grid-template-columns: repeat(2, 1fr); gap: 32px; }
}
@media (max-width: 600px) {
    .fu-blog-grid { grid-template-columns: 1fr; }
    .fu-blog-title { font-size: 28px; }
}

/* ================================================================
   SINGLE POST
   ================================================================ */

.fu-single-page { padding-bottom: 80px; }
.fu-single-article { margin-top: 40px; }
.fu-single-header { margin-bottom: 32px; }
.fu-single-title { font-size: 36px; font-weight: 900; margin: 12px 0 0; color: #111; line-height: 1.3; text-transform: uppercase; }
.fu-single-date { display: block; margin: 24px 0 16px; }
.fu-single-thumbnail { margin-bottom: 40px; }
.fu-single-thumbnail img { width: 100%; height: 480px; object-fit: cover; display: block; }
.fu-single-content { font-size: 16px; line-height: 1.8; color: #333; max-width: 860px; }
.fu-single-content h2 { font-size: 24px; font-weight: 700; margin: 32px 0 16px; }
.fu-single-content h3 { font-size: 20px; font-weight: 700; margin: 24px 0 12px; }
.fu-single-content p  { margin: 0 0 20px; }
.fu-single-content img { max-width: 100%; height: auto; }
.fu-single-back { margin-top: 48px; }
.fu-single-back a { display: inline-flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 600; color: #111; text-decoration: none; }
.fu-single-back a:hover { color: #e52c35; }

/* ================================================================
   CART (v2) — products + summary only
   ================================================================ */

.fu-cart-page { max-width: 1280px; margin: 0 auto; padding: 32px 20px 80px; }

/* Products (left, grows) + Order Summary (right, fixed width) side by side */
.fu-cart-columns { align-items: flex-start; gap: 33px; }
.fu-cart-columns .fu-cart-products-box { flex: 1 1 0; min-width: 0; }
.fu-cart-columns .fu-cart-summary-box  { flex: 0 0 380px; width: 380px; }
@media (max-width: 991px) {
    .fu-cart-columns { flex-direction: column; }
    .fu-cart-columns .fu-cart-summary-box { flex-basis: auto; width: 100%; }
}

.fu-cart-breadcrumbs { display: flex; align-items: center; gap: 8px; font-size: 14px; color: #585858; margin-bottom: 24px; }
.fu-cart-breadcrumbs a { color: #585858; text-decoration: none; }
.fu-cart-breadcrumbs a:hover { color: #111; }

.fu-cart-title { margin-bottom: 40px; }
.fu-cart-title h1 { font-size: 36px; font-weight: 900; margin: 0 0 8px; color: #111; }
.fu-cart-title p  { font-size: 16px; color: #5f5e5e; margin: 0; }

/* Products table */
.fu-cart-products-box { margin-bottom: 0; }

.fu-cart-products-header {
    display: grid;
    grid-template-columns: 1fr 113px 100px;
    padding: 0 0 16px;
    border-bottom: 1px solid #CED2DD;
}
.fu-cart-products-header span { font-size: 24px; font-weight: 400; color: #5f5e5e; }
.fu-cart-products-header__qty,
.fu-cart-products-header__total { text-align: center; }

.fu-cart-item {
    display: grid;
    grid-template-columns: 1fr 113px 100px;
    align-items: center;
    padding: 20px 0;
}
.fu-cart-row-divider { height: 1px; background: #CED2DD; }

.fu-cart-item-product { display: flex; align-items: center; gap: 16px; }
.fu-cart-item-thumb { width: 102px; height: 102px; flex-shrink: 0; overflow: hidden; background: #f9f9f9; }
.fu-cart-item-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fu-cart-item-thumb a { display: block; width: 100%; height: 100%; }

.fu-cart-item-info { display: flex; flex-direction: column; gap: 6px; }
.fu-cart-item-name { font-size: 18px; font-weight: 700; color: #111; }
.fu-cart-item-name a { color: inherit; text-decoration: none; }
.fu-cart-item-name a:hover { color: #e52c35; }
.fu-cart-item-meta { font-size: 12px; color: #78716C; }
.fu-cart-item-remove { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; color: #5f5e5e; text-decoration: none; margin-top: 4px; }
.fu-cart-item-remove:hover { color: #e52c35; }

.fu-cart-item-qty { display: flex; justify-content: center; }
.fu-cart-counter {
    display: flex;
    align-items: center;
    width: 113px;
    height: 48px;
    background: #E7E7E7;
    position: relative;
}
.fu-cart-qty-btn {
    width: 36px;
    height: 48px;
    background: none;
    border: none;
    font-size: 20px;
    font-weight: 300;
    color: #111;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.fu-cart-qty-btn:hover { color: #e52c35; }
.fu-cart-qty-input {
    width: 41px;
    text-align: center;
    border: none;
    background: transparent;
    font-size: 20px;
    font-weight: 400;
    color: #111;
    -moz-appearance: textfield;
    padding: 0;
}
.fu-cart-qty-input::-webkit-outer-spin-button,
.fu-cart-qty-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.fu-cart-item-subtotal { font-size: 20px; font-weight: 500; color: #111; text-align: center; }

/* Order Summary */
.fu-cart-summary-box {
    border: 1px solid #E7E7E7;
    padding: 32px;
    margin-top: 0;
}
.fu-cart-summary-header { margin-bottom: 24px; }
.fu-cart-summary-header h3 { font-size: 24px; font-weight: 800; margin: 0; color: #111; }

.fu-cart-summary-row { display: flex; justify-content: space-between; align-items: center; padding: 12px 0; border-bottom: 1px solid #f0f0f0; }
.fu-cart-summary-row span { font-size: 16px; color: #111; }
.fu-cart-summary-val { font-size: 20px; font-weight: 500; color: #111; }

.fu-cart-summary-total { display: flex; justify-content: space-between; align-items: center; padding: 20px 0 0; }
.fu-cart-summary-total span { font-size: 22px; font-weight: 500; color: #111; }
.fu-cart-summary-total-val { font-size: 22px; font-weight: 500; color: #111; }

/* Coupon */
.fu-cart-summary-row--coupon .fu-cart-summary-val { color: #1a8f4c; }
.fu-cart-coupon-remove {
    background: none; border: none; cursor: pointer; color: #999;
    font-size: 16px; line-height: 1; margin-left: 6px; padding: 0;
}
.fu-cart-coupon-remove:hover { color: #e52c35; }
.fu-cart-coupon-form { display: flex; gap: 8px; padding: 16px 0; }
.fu-cart-coupon-input {
    flex: 1 1 auto; min-width: 0; height: 44px; padding: 0 12px;
    border: 1px solid #E7E7E7; font-size: 14px;
}
.fu-cart-coupon-apply {
    flex: 0 0 auto; height: 44px; padding: 0 18px; background: #111;
    color: #fff; border: none; font-size: 14px; font-weight: 600; cursor: pointer;
}
.fu-cart-coupon-apply:hover { background: #e52c35; }
.fu-cart-coupon-message { font-size: 13px; color: #e52c35; min-height: 16px; }

.fu-cart-checkout-btn {
    display: block;
    width: 100%;
    height: 64px;
    background: #111;
    color: #fff;
    font-size: 20px;
    font-weight: 800;
    text-align: center;
    line-height: 64px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    margin-top: 24px;
    font-family: inherit;
    transition: background 0.2s;
}
.fu-cart-checkout-btn:hover { background: #333; color: #fff; }

/* ================================================================
   CHECKOUT PAGE
   ================================================================ */

.fu-checkout-page { max-width: 1280px; margin: 0 auto; padding: 32px 20px 80px; }

.fu-checkout-breadcrumbs { display: flex; align-items: center; gap: 8px; font-size: 14px; color: #585858; margin-bottom: 40px; }
.fu-checkout-breadcrumbs a { color: #585858; text-decoration: none; }
.fu-checkout-breadcrumbs a:hover { color: #111; }

.fu-checkout-layout {
    display: grid;
    grid-template-columns: 677px 1fr;
    gap: 33px;
    align-items: start;
}

/* LEFT: summary */
.fu-checkout-summary-col {}
.fu-checkout-summary-title { font-size: 24px; font-weight: 800; margin: 0 0 24px; color: #111; }

.fu-checkout-products-header {
    display: grid;
    grid-template-columns: 1fr 80px 100px;
    padding: 0 0 14px;
    border-bottom: 1px solid #CED2DD;
    font-size: 16px;
    color: #5f5e5e;
}
.fu-checkout-products-header span:not(:first-child) { text-align: center; }

.fu-checkout-product-row {
    display: grid;
    grid-template-columns: 1fr 80px 100px;
    align-items: center;
    padding: 16px 0;
}
.fu-checkout-product-info { display: flex; align-items: center; gap: 12px; }
.fu-checkout-product-thumb { width: 68px; height: 68px; flex-shrink: 0; overflow: hidden; background: #f9f9f9; }
.fu-checkout-product-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fu-checkout-product-name { font-size: 15px; font-weight: 600; color: #111; }
.fu-checkout-product-name a { color: inherit; text-decoration: none; }
.fu-checkout-product-meta { display: block; font-size: 12px; color: #78716C; margin-top: 4px; }
.fu-checkout-product-qty,
.fu-checkout-product-total { font-size: 16px; font-weight: 500; color: #111; text-align: center; }

.fu-checkout-totals { margin-top: 8px; }

/* WooCommerce's default order-review + payment section is rendered for gateway
   functionality but duplicates the theme's own order summary — keep it hidden
   with a real rule (not just the inline style) so nothing can expose it. */
#fu-payment-section { display: none !important; }

/* RIGHT: form */
.fu-checkout-form-col {}
.fu-checkout-form-title { font-size: 32px; font-weight: 900; color: #222; margin: 0 0 24px; }

/* WooCommerce's own order-review/payment markup is rendered for gateway logic + AJAX totals updates,
   but the custom summary above already covers this UI — keep it out of view reliably. */
#order_review.fu-payment-section-hidden { display: none !important; }

/* Tabs (shared with cart) */
.fu-cart-tabs { display: flex; margin-bottom: 24px; }
.fu-cart-tab {
    flex: 1;
    height: 50px;
    border: none;
    background: #fff;
    font-size: 20px;
    font-weight: 400;
    color: #222;
    cursor: pointer;
    font-family: inherit;
    border-bottom: 2px solid #e7e7e7;
    transition: background 0.2s, color 0.2s;
}
.fu-cart-tab--active { background: #E52C35; color: #fff; font-weight: 600; border-bottom-color: #E52C35; }

.fu-cart-tab-panel { display: none; }
.fu-cart-tab-panel.is-active { display: block; }

/* Form fields */
.fu-checkout-form .fu-cart-input-wrap,
.fu-cart-shipping-form .fu-cart-input-wrap { margin-bottom: 0; }

.fu-cart-input-wrap input,
.fu-cart-input-wrap textarea,
.fu-cart-select-wrap select {
    display: block;
    width: 100%;
    box-sizing: border-box;
    height: 50px;
    border: 1px solid #e7e7e7;
    border-bottom: none;
    background: #fff;
    padding: 0 16px;
    font-size: 16px;
    color: #222;
    font-family: inherit;
    outline: none;
    appearance: none;
}
.fu-cart-input-wrap input:focus,
.fu-cart-select-wrap select:focus { border-color: #111; position: relative; z-index: 1; }
.fu-cart-input-wrap--textarea textarea { height: 132px; padding: 14px 16px; border-bottom: 1px solid #e7e7e7; }

/* Last visible input before non-input element gets bottom border */
.fu-checkout-form .fu-cart-input-wrap:last-of-type input,
.fu-checkout-form .fu-cart-input-wrap:last-of-type select { border-bottom: 1px solid #e7e7e7; }

/* Country select */
.fu-cart-select-wrap { position: relative; }
.fu-cart-select-wrap select { border-bottom: none; padding-right: 40px; cursor: pointer; }
.fu-select-arrow { position: absolute; right: 16px; top: 50%; transform: translateY(-50%); pointer-events: none; }

/* .fu-cart-select-wrap's border-bottom:none is a checkout-only "stacked
   fields" pattern (only the last field in a stack gets its border back via
   .fu-checkout-form .fu-cart-input-wrap:last-of-type). The Personal Info
   (edit-account) page reuses the same class for its standalone Country
   field without that stacking, so it was left with no bottom border at all. */
.fu-edit-account-form .fu-cart-select-wrap select { border-bottom: 1px solid #e7e7e7; }
.fu-edit-account-form .fu-cart-select-wrap select:focus { border-color: #111; }

/* Checkboxes */
.fu-cart-terms,
.fu-cart-payment-details { padding: 20px 0 0; }
.fu-cart-terms-title { font-size: 18px; font-weight: 600; color: #111; margin: 0 0 12px; }
.fu-cart-checkbox-label { display: flex; align-items: flex-start; gap: 12px; cursor: pointer; font-size: 16px; color: #111; }
.fu-cart-checkbox-wrap { flex-shrink: 0; position: relative; width: 24px; height: 24px; margin-top: 2px; }
.fu-cart-checkbox-wrap input[type="checkbox"] { position: absolute; opacity: 0; width: 0; height: 0; }
.fu-cart-checkmark {
    display: block;
    width: 24px;
    height: 24px;
    border: 2px solid #e7e7e7;
    background: #fff;
    transition: background 0.2s, border-color 0.2s;
}
.fu-cart-checkbox-wrap input:checked ~ .fu-cart-checkmark { background: #111; border-color: #111; }
.fu-cart-checkbox-wrap input:checked ~ .fu-cart-checkmark::after {
    content: '';
    display: block;
    width: 5px;
    height: 10px;
    border: 2px solid #fff;
    border-top: none;
    border-left: none;
    transform: rotate(45deg);
    margin: 3px 0 0 7px;
}

/* Responsive */
@media (max-width: 1100px) {
    .fu-checkout-layout { grid-template-columns: 1fr; }
    .fu-cart-products-header,
    .fu-cart-item { grid-template-columns: 1fr 100px 90px; }
    .fu-checkout-products-header,
    .fu-checkout-product-row { grid-template-columns: 1fr 70px 90px; }
    .fu-checkout-summary-col,
    .fu-checkout-page { max-width: 100%; overflow-x: hidden; box-sizing: border-box; }
}
@media (max-width: 640px) {
    .fu-cart-products-header { display: none; }
    .fu-cart-item { grid-template-columns: 1fr auto; grid-template-rows: auto auto; gap: 12px; }
    .fu-cart-item-subtotal { grid-column: 2; grid-row: 1; }
    .fu-cart-item-qty { grid-column: 1 / -1; }
    .fu-cart-title h1 { font-size: 28px; }

    .fu-checkout-products-header { display: none; }
    .fu-checkout-product-row {
        grid-template-columns: 1fr auto;
        grid-template-rows: auto auto;
        gap: 8px 12px;
    }
    .fu-checkout-product-total { grid-column: 2; grid-row: 1; text-align: right; }
    .fu-checkout-product-qty { grid-column: 1 / -1; text-align: left; }
}

/* ── CART CSS FIXES (override old conflicting rules) ── */
.fu-cart-products-box { border: none !important; background: transparent !important; }
.fu-cart-item { border-bottom: none !important; }
.fu-cart-products-header { padding: 0 0 16px !important; }
.fu-cart-products-header__qty,
.fu-cart-products-header__total { text-align: center !important; }
.fu-cart-summary-header { padding: 0 !important; border-bottom: none !important; }
.fu-cart-summary-row { padding: 12px 0 !important; }

/* ── Product page: sale price sizing ── */
.fu-pdp-price del {
    font-size: 28px;
    font-weight: 400;
    opacity: 0.45;
    vertical-align: middle;
    margin-right: 8px;
}
.fu-pdp-price ins {
    text-decoration: none;
    vertical-align: middle;
}

/* ── Wishlist button active state ── */
.fu-pdp-wishlist.is-active img,
.fu-pdp-wishlist-mob.is-active img {
    filter: invert(22%) sepia(96%) saturate(4000%) hue-rotate(345deg) brightness(90%);
}

/* ── Product card: original price smaller when on sale ── */
.fu-price del {
    font-size: 13px;
    font-weight: 400;
    opacity: 0.45;
    vertical-align: middle;
    margin-right: 4px;
}
.fu-price ins {
    text-decoration: none;
    vertical-align: middle;
}

/* ── Product card: favourite icon toggle ── */
.add-to-fav {
    width: 36px;
    height: 36px;
    background: #fff;
    border: 1px solid var(--fu-gray-200);
    border-radius: 50%;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 6px rgba(0, 0, 0, .08);
    transition: background .2s, border-color .2s;
}
.add-to-fav:hover { background: var(--fu-gray-100); }
.add-to-fav .fu-fav-icon { width: 18px; height: 18px; }
.add-to-fav.is-active { border-color: var(--fu-red); }
/* Default: show heart-outline, hide heart-off */
.add-to-fav .fu-fav-icon--remove { display: none; }
.add-to-fav .fu-fav-icon--add    { display: block; }

/* Active: hide heart-outline, show heart-off (red) */
.add-to-fav.is-active .fu-fav-icon--add    { display: none; }
.add-to-fav.is-active .fu-fav-icon--remove { display: block; }

/* ═══════════════════════════════════════════════════════
   SEARCH PAGE
═══════════════════════════════════════════════════════ */

/* Search input bar */
.fu-search-form {
    width: 100%;
}
.fu-search-input-wrap {
    display: flex;
    align-items: center;
    border: 1.5px solid #E7E7E7;
    border-radius: 4px;
    background: #fff;
    padding: 0 16px;
    height: 52px;
    gap: 12px;
    transition: border-color 0.2s;
}
.fu-search-input-wrap:focus-within {
    border-color: #111;
}
.fu-search-input {
    flex: 1;
    border: none;
    outline: none;
    font-size: 16px;
    font-family: inherit;
    color: #111;
    background: transparent;
}
.fu-search-input::placeholder {
    color: #aaa;
}
.fu-search-btn {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    color: #111;
}

/* Type switch (Products / Articles) */
.fu-search-type-switch {
    gap: 8px;
}
.fu-search-type-btn {
    font-size: 14px;
    font-weight: 600;
    color: #888;
    text-decoration: none;
    padding: 6px 16px;
    border: 1.5px solid #E7E7E7;
    border-radius: 100px;
    transition: all 0.2s;
}
.fu-search-type-btn:hover,
.fu-search-type-btn.is-active {
    color: #111;
    border-color: #111;
}

/* No results state */
.fu-search-no-results {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 80px 24px;
    gap: 16px;
}
.fu-search-no-results h3 {
    font-size: 24px;
    font-weight: 700;
    color: #111;
    margin: 0;
}
.fu-search-no-results p {
    font-size: 16px;
    color: #5f5e5e;
    max-width: 420px;
    margin: 0;
}
.fu-search-no-results .btn-red {
    margin-top: 8px;
}

/* Blog post search results */
.fu-search-post-item {
    padding: 32px 0;
    border-bottom: 1px solid #E7E7E7;
}
.fu-search-posts-section .row > div:first-child .fu-search-post-item {
    padding-top: 0;
}
.fu-search-post-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
}
.fu-search-post-date {
    font-size: 12px;
    font-weight: 700;
    color: #5f5e5e;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.fu-search-post-sep {
    color: #ccc;
}
.fu-search-post-cat {
    font-size: 12px;
    color: #888;
}
.fu-search-post-title {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.35;
    margin-bottom: 10px;
}
.fu-search-post-title a {
    color: #111;
    text-decoration: none;
    transition: color 0.2s;
}
.fu-search-post-title a:hover {
    color: #D93025;
}
.fu-search-post-excerpt {
    font-size: 15px;
    color: #5f5e5e;
    line-height: 1.65;
    margin-bottom: 14px;
}
.fu-search-post-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 600;
    color: #D93025;
    text-decoration: none;
    transition: gap 0.2s;
}
.fu-search-post-link:hover {
    gap: 10px;
    color: #D93025;
}

@media (max-width: 991.98px) {
    .fu-search-input-wrap {
        height: 46px;
    }
    .fu-search-input {
        font-size: 14px;
    }
    .fu-search-type-switch {
        justify-content: flex-start !important;
        margin-top: 12px;
    }
}

.div-up { cursor: pointer; }

/* Subcategories — equal height cards */
.subcategories .row { align-items: stretch; }
.subcategories .col-lg-3,
.subcategories .col-6 { display: flex; }
.subcategories .slide-brand { height: 100%;
        display: flex !important;
    align-items: center;
    width: 100%; }

/* My Account page — remove Bootstrap py-5 top padding */
.woocommerce-account .container-xl { padding-top: 0 !important; }

/* ============================================
   PDP — Addify "Product Options and Addons"
   ============================================ */
.af_addon_field_show {
    margin-bottom: 8px;
}

.af_addon_field_show .af_addon_field_class {
    margin-bottom: 20px;
}

.af_addon_field_show [class*="af_addon_front_field_title_div_"] span {
    display: block;
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 12px;
    line-height: 15px;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #5E3F3B;
    margin-bottom: 10px;
}

.af_addon_field_show [class*="addon_field_border_"] {
    border: none;
    padding: 0;
}

.af_addon_field_show .addons_div_selection {
    width: 68px;
    height: 68px;
    margin: 0 10px 10px 0;
    border: 1px solid var(--fu-gray-200);
    border-radius: 4px;
    overflow: hidden;
    transition: border-color .2s, box-shadow .2s;
}

.af_addon_field_show .addons_div_selection:hover {
    border-color: var(--fu-gray-500);
}

.af_addon_field_show .addons_div_selection.addon_selected_image_border_class {
    border: 2px solid var(--fu-text) !important;
    box-shadow: 0 0 0 1px var(--fu-text);
}

.af_addon_field_show .addons_div_selection img {
    height: 100% !important;
    border-radius: 2px;
}

/* Hide the plugin's own bare <br><br> spacers — spacing is handled below */
.af_addon_field_show br {
    display: none;
}

/* Live price breakdown */
.af_pao_real_time_product_sub_total_calculation {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    color: var(--fu-muted);
}

.af_addon_total_price {
    width: 100%;
    border-collapse: collapse;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: var(--fu-text);
    padding-top: 12px;
    margin: 4px 0 24px;
    border-top: 1px solid #D6D6D6;
}

.af_addon_total_price td {
    padding: 6px 0;
}

.af_addon_total_price .product-sub-total-1st-tr,
.af_addon_total_price #product_option_selected_price {
    text-align: right;
    font-weight: 600;
}

.af_addon_total_price #product_option_selected_name ul,
.af_addon_total_price #product_option_selected_price ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.af_addon_total_price .optn_name_price td {
    border-top: 1px solid var(--fu-gray-200);
    color: var(--fu-muted);
    font-size: 13px;
}
