:root {
    --rock-rust: #a44f33;
    --rock-rust-hover: #8e402b;
    --rock-dark: #282624;
    --rock-ink: #342e2a;
    --rock-cream: #f8f6f2;
    --rock-paper: #fffdf9;
    --rock-line: #e7dfd7;
    --rock-muted: #847c75;
    --rock-warm: #ede8e1;
    --rock-bronze: #aa846d;
    --rock-shadow: 0 15px 45px rgba(37, 28, 22, 0.08);
    --rock-shadow-sm: 0 4px 18px rgba(37, 28, 22, 0.06);
    --rock-font-display: 'Open Sans', sans-serif;
    --rock-font-sans: 'Open Sans', sans-serif;
}

body {
    font-family: var(--font-family-key);
    font-size: 14px;
    font-weight: 400;
    color: #222;
    top: 0px !important;
    position: relative;
    background: #ffffff;
    /* background: #fff; */
}

.img-responsive {
    width: 100%;
    height: auto;
}

.clear {
    clear: both;
}

.container {
    width: 100% !important;
    max-width: 1380px;
}

.container-fluid {
    position: relative;
    max-width: 1380px;
}

a {
    text-decoration: none;
    color: #222;
}

a:hover,
a:focus {
    color: var(--main-color);
    text-decoration: none;
}

button,
button:focus,
select,
select:focus {
    outline: none;
}

.relative {
    position: relative;
}

.relative-2 {
    position: relative;
    top: -2px;
}

.relative-3 {
    position: relative;
    top: -3px;
}

.relative-4 {
    position: relative;
    top: -4px;
}

.relative-5 {
    position: relative;
    top: -5px;
}

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

.top0 {
    margin-top: 0px !important;
}

.top3 {
    margin-top: 3px !important;
}

.top4 {
    margin-top: 4px !important;
}

.top5 {
    margin-top: 5px !important;
}

.top6 {
    margin-top: 6px !important;
}

.top8 {
    margin-top: 8px !important;
}

.top10 {
    margin-top: 10px !important;
}

.top12 {
    margin-top: 12px !important;
}

.top14 {
    margin-top: 14px !important;
}

.top15 {
    margin-top: 15px !important;
}

.top-3 {
    margin-top: -3px !important;
}

.top-4 {
    margin-top: -4px !important;
}

.top-5 {
    margin-top: -5px !important;
}

.top-6 {
    margin-top: -6px !important;
}

.top-8 {
    margin-top: -8px !important;
}

.top-10 {
    margin-top: -10px !important;
}

.top-12 {
    margin-top: -12px !important;
}

.top-14 {
    margin-top: -14px !important;
}

.top-15 {
    margin-top: -15px !important;
}

.mobile {
    display: none;
}

.noborder {
    border: none !important;
}

@media(max-width: 767px) {
    .container {
        padding: 0px 10px;
    }

    .container .row {
        margin: 0px -10px;
    }

    .container .row>div {
        padding: 0px 10px;
    }

    .mobile {
        display: block;
    }

    .destop {
        display: none !important;
    }
}

.scroll-top {
    cursor: pointer;
    position: fixed;
    bottom: 90px;
    right: 4px;
    display: none;
    z-index: 99;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    text-align: center;
    font-size: 13px;
    background: var(--main-color);
    color: #fff !important;
    line-height: 32px;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}

.white-box {
    background: #fff;
    /* border-radius: 4px; */
    /* padding: 20px; */
}

@media(max-width: 767px) {
    .white-box {
        /* padding: 10px; */
    }
}

.btn-add-cart {
    background: #fff;
    border: 1px solid var(--main-color);
    color: var(--main-color) !important;
    outline: none !important;
}

.btn-add-cart:hover {
    background: var(--main-color);
    border: 1px solid var(--main-color);
    color: #fff !important;
}

.btn-add-cart i {
    font-size: 14px;
}

.btn-add-cart span {
    display: inline-block;
    margin-left: 5px;
}

@media(max-width: 767px) {
    .btn-add-cart span {
        display: block;
        font-size: 10px;
        margin-left: 0px;
        margin-top: -2px;
    }

    .btn-add-cart {
        background: #56ba47;
        border: 1px solid #56ba47;
        color: #fff !important;
    }
}

.nopadding-l {
    padding-left: 0px;
}

.nopadding-r {
    padding-right: 0px;
}


/**/

/* --- Architectural Porcelain Luxury Header --- */
.header.header1 {
    position: relative;
    z-index: 1000;
    background: #fffdfb;
}

/* 1. Header Toolbar (Top Architectural Strip) */
.header-toolbar {
    background: #24201e;
    color: #c8bfb7;
    font-size: 11.5px;
    letter-spacing: 0.5px;
    min-height: 38px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    display: block;
}

.header-toolbar .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 38px;
}

.header-toolbar .support {
    display: flex;
    align-items: center;
    gap: 18px;
    float: none;
    margin: 0;
}

.header-toolbar .support span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #c8bfb7;
    border: none;
    padding: 0;
    margin: 0;
    line-height: 38px;
    font-size: 11.5px;
}

.header-toolbar .support span i {
    color: #c47e62;
    font-size: 12px;
}

.header-toolbar .support a {
    color: #ded6cf;
    text-decoration: none;
    transition: color 0.2s ease;
}

.header-toolbar .support a:hover {
    color: #ffffff;
}

.header-toolbar .toolbar-showroom-badge {
    background: rgba(196, 126, 98, 0.15);
    border: 1px solid rgba(196, 126, 98, 0.35);
    color: #e2a893 !important;
    font-size: 10px !important;
    font-weight: 600;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    padding: 2px 10px;
    border-radius: 12px;
    line-height: normal !important;
}

.header-toolbar .wrap-icon {
    float: none;
    margin: 0;
}

.header-toolbar .login-menu {
    display: flex;
    align-items: center;
    gap: 12px;
}

.header-toolbar .login-menu a {
    color: #c8bfb7;
    font-size: 11.5px;
    border: none;
    padding: 0;
    margin: 0;
    line-height: 38px;
    transition: color 0.2s;
    text-decoration: none;
}

.header-toolbar .login-menu a:hover {
    color: #ffffff;
}

.header-toolbar .login-menu a:first-child:after {
    content: '·';
    margin-left: 12px;
    color: rgba(255, 255, 255, 0.25);
}

@media (max-width: 767px) {
    .header-toolbar {
        min-height: 34px;
    }

    .header-toolbar .support {
        display: none;
    }

    .header-toolbar .container {
        justify-content: flex-end;
    }
}

/* 2. Main Architectural Header */
.header-main {
    position: sticky;
    top: 0;
    z-index: 999;
    background: rgba(255, 254, 251, 0.97);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-bottom: 1px solid #eae3dc;
    box-shadow: 0 4px 24px rgba(37, 28, 22, 0.04);
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.header-main.navbar-fixed {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 1000;
    background: rgba(255, 254, 251, 0.98);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-bottom: 1px solid #e5dcce;
    box-shadow: 0 6px 30px rgba(37, 28, 22, 0.08);
}

.header-main .wrap-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 74px;
}

.header-main .logo {
    display: flex;
    align-items: center;
    line-height: normal;
    padding: 10px 0;
}

.header-main .logo img {
    max-height: 48px;
    width: auto;
    object-fit: contain;
    mix-blend-mode: multiply;
    transition: transform 0.25s ease;
}

.header-main .logo img:hover {
    transform: scale(1.02);
}

.wrap-menu-top {
    display: flex;
    align-items: center;
    margin: 0 auto;
}

.header-main .header-left {
    display: flex;
    align-items: center;
    gap: 14px;
    position: relative;
    padding-right: 0;
}

.header-left .btn-talk {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 38px;
    padding: 0 18px;
    border-radius: 20px;
    background: linear-gradient(135deg, #a44f33 0%, #c47e62 100%);
    color: #ffffff !important;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    box-shadow: 0 4px 14px rgba(164, 79, 51, 0.3);
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    text-decoration: none;
    white-space: nowrap;
}

.header-left .btn-talk i {
    font-size: 12px;
}

.header-left .btn-talk:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(164, 79, 51, 0.45);
    color: #ffffff !important;
    text-decoration: none;
}

@media (max-width: 991px) {

    .header-main .header-left .btn,
    .header-left .btn-talk {
        display: none;
    }

    .wrap-menu-top {
        position: absolute;
        top: 5px;
        left: 5px;
    }

    .wrap-menu-top .menu-top {
        position: fixed;
        left: 0px;
        top: 0px;
        background: #fff;
        width: 0px;
        height: 100% !important;
        z-index: 100 !important;
        padding: 0px;
        margin: 0px;
        border-top: none;
        overflow-y: scroll;
        -webkit-transition: all 0.2s linear;
        -moz-transition: all 0.2s linear;
        -o-transition: all 0.2s linear;
        -ms-transition: all 0.2s linear;
        transition: all 0.2s linear;
        z-index: 100;
        box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
        padding-top: 50px;
    }

    .ovlay-catefory {
        background: rgba(0, 0, 0, 0.7);
        position: fixed;
        top: 0px;
        left: 0px;
        width: 100%;
        height: 100%;
        z-index: 99;
        display: none;
        -webkit-transition: all 0.2s linear;
        -moz-transition: all 0.2s linear;
        -o-transition: all 0.2s linear;
        -ms-transition: all 0.2s linear;
        transition: all 0.2s linear;
    }

    .header-main .wrap-header {
        justify-content: center;
    }
}

.header-left .btn:hover,
.header-main.navbar-fixed .header-left .btn:hover {
    color: var(--main-color);
    border-color: var(--main-color);
}

.wrap-search {
    position: relative;
}

.wrap-header .nav-search .none {
    visibility: hidden;
}

.wrap-search .nav-search {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #f7f3ee;
    border: 1px solid #eae1d7;
    color: #4a423d;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    margin-right: 0;
}

.wrap-search .nav-search:hover {
    background: #a44f33;
    border-color: #a44f33;
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 4px 14px rgba(164, 79, 51, 0.35);
}

.search-block {
    position: absolute;
    top: calc(100% + 14px);
    right: 0;
    width: 330px;
    background: #ffffff;
    border: 1px solid #eae2da;
    border-radius: 8px;
    box-shadow: 0 16px 45px rgba(37, 28, 22, 0.14);
    padding: 14px;
    z-index: 1000;
    margin-top: 0;
}

.search-block:before {
    content: '';
    position: absolute;
    top: -6px;
    right: 14px;
    width: 12px;
    height: 12px;
    background: #ffffff;
    border-top: 1px solid #eae2da;
    border-left: 1px solid #eae2da;
    transform: rotate(45deg);
}

.search-block .form-control {
    background: #faf8f5;
    border: 1px solid #e3d9cf;
    border-radius: 4px;
    color: #2e2825;
    height: 42px;
    padding: 0 14px;
    font-size: 13px;
    box-shadow: none;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.search-block .form-control:focus {
    border-color: #a44f33;
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(164, 79, 51, 0.12);
    outline: none;
}

.wrap-menu-top .close {
    display: none;
}

.search-block label {
    width: 100%;
    display: inline-block;
    margin-bottom: 0px;
}

.search-block .search-close {
    position: absolute;
    top: 8px;
    right: 12px;
    font-size: 20px;
    color: #8c8178;
    cursor: pointer;
    transition: color 0.2s;
    line-height: 1;
}

.search-block .search-close:hover {
    color: #a44f33;
}

.header-main.navbar-fixed .search-block .search-close {
    color: #8c8178;
}

.header-main.navbar-fixed .nav-search {
    color: #4a423d;
}

@media (max-width:991px) {
    .header-left {
        position: absolute !important;
        right: 0;
    }

    .wrap-menu-top .close {
        display: block;
        font-weight: 700;
        font-size: 21px;
        color: #000;
        z-index: 101;
        opacity: 1;
        position: absolute;
        right: 15px;
        top: 15px;
    }
}

.icon-cate-mobi {
    display: none;
    position: absolute;
    top: 6px;
    left: 8px;
    padding: 10px;
    cursor: pointer;
    z-index: 99;
}

.icon-cate-mobi span,
.icon-menu-mobi span {
    display: block;
    width: 22px;
    height: 2px;
    border-radius: 1px;
    background: #ffffff;
    margin: 4px 0px;
    background: #222;
}

.header-main.navbar-fixed .icon-cate-mobi span,
.header-main.navbar-fixed .icon-menu-mobi span {
    background: #000;
}

.icon-menu-mobi {
    display: none;
    position: absolute;
    top: 2px;
    left: 2px;
    padding: 6px 10px 7px;
    cursor: pointer;
    z-index: 99;
    font-size: 13px;
}

@media(min-width: 992px) {
    .header-main .menu-top {
        display: block !important;
    }
}

@media(max-width: 991px) {
    .header-main {
        padding: 5px 0px;
    }

    .header-main .menu-top {
        display: none;
        margin: 0px -8px;
    }

    .header-main .logo {
        line-height: 40px;
        text-align: center;
    }

    .header-main .logo img {
        max-height: 45px;
    }

    .icon-cate-mobi {
        display: none;
    }

    .icon-menu-mobi {
        display: block;
    }
}

@media(max-width: 767px) {
    .header-main .logo img {
        max-height: 40px;
        margin-left: -40px;
        margin-right: -10px;
    }
}

.header-main .menu-top ul {
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    list-style: none;
}

.header-main .menu-top ul:after {
    content: '';
    display: block;
    clear: both;
}

.header-main .menu-top ul>li {
    list-style-type: none;
    display: inline-block;
    position: relative;
}

.header-main .menu-top ul>li>a {
    padding: 27px 16px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    position: relative;
    color: #38332f;
    text-align: center;
    font-weight: 600;
    font-size: 13px;
    transition: color 0.25s ease;
    text-decoration: none;
}

.header-main .menu-top ul>li>a i {
    font-size: 11px;
    color: #9c8e83;
    transition: transform 0.25s ease, color 0.25s ease;
}

.header-main .menu-top ul>li:hover>a i {
    transform: rotate(180deg);
    color: #a44f33;
}

.header-main .menu-top ul>li>a:hover,
.header-main .menu-top ul>li.active>a {
    color: #a44f33;
    text-decoration: none;
}

/* Architectural terracotta indicator */
.header-main .menu-top ul>li>a:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 16px;
    right: 16px;
    height: 2px;
    background: #a44f33;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    border-radius: 2px 2px 0 0;
}

.header-main .menu-top ul>li:hover>a:after,
.header-main .menu-top ul>li.active>a:after {
    transform: scaleX(1);
}

.header-main.navbar-fixed .menu-top ul>li>a {
    color: #38332f;
}

.header-main.navbar-fixed .menu-top ul>li>a:hover,
.header-main.navbar-fixed .menu-top ul>li.active>a {
    color: #a44f33;
}

/* Submenu Dropdown Card */
.header-main .menu-top ul>li>.sub {
    position: absolute;
    width: 250px;
    top: 100%;
    left: 0px;
    background: #ffffff;
    border: 1px solid #ede5dc;
    border-radius: 6px;
    padding: 8px 0;
    box-shadow: 0 16px 40px rgba(37, 28, 22, 0.12);
    display: none;
    z-index: 1000;
}

@media(max-width: 991px) {
    .header-main .menu-top ul>li>.sub {
        width: 100%;
        position: relative;
        display: block;
        box-shadow: none;
        border: none;
        padding-left: 15px;
    }
}

.header-main .menu-top ul>li:hover>.sub {
    display: block;
}

.header-main .menu-top ul>li>.sub>li {
    display: block;
    border-top: none;
    list-style: none;
}

.header-main .menu-top ul>li>.sub>li:first-child {
    border-top: none;
}

.header-main .menu-top ul>li>.sub>li>a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 20px;
    font-weight: 500;
    font-size: 13px;
    letter-spacing: 0.2px;
    color: #4f4742;
    transition: all 0.2s ease;
    text-decoration: none;
    border-left: 2px solid transparent;
    text-transform: unset;
}

.header-main .menu-top ul>li>.sub>li:hover>a {
    background: #faf6f2;
    color: #a44f33;
    border-left-color: #a44f33;
    padding-left: 24px;
    text-decoration: none;
}

.header-main .menu-top ul>li>.sub>li.li-sub {}

.header-main .menu-top ul>li>.sub>li.li-sub>a {
    font-weight: 600;
    font-size: 16px;
}

@media(max-width: 767px) {
    .header-main .menu-top ul>li>.sub>li.li-sub>a {
        font-size: 13px;
    }
}

.header-main .menu-top ul>li>.sub>li>.sub {
    position: relative;
    display: block;
    box-shadow: none;
    padding: 0;
}

.header-main .menu-top ul>li>.sub>li>.sub>li {
    border-top: 1px solid #f1f1f1;
}

.header-main .menu-top ul>li>.sub>li>.sub>li>a {
    font-weight: 400;
    padding: 9px 20px;
    font-size: 14px;
}

@media(max-width: 991px) {
    .header-main .menu-top ul>li>.sub>li>.sub>li>a {
        font-size: 13px;
    }

    .header-main .menu-top {}

    .header-main .menu-top ul>li {
        display: block;
        border-top: 1px solid #f1f1f1;
        padding: 0px 8px !important;
    }

    .header-main .menu-top ul>li:first-child {
        border-top: unset;
    }

    .header-main .menu-top ul>li>a {
        text-align: left;
        padding: 10px 10px !important;
        font-size: 14px;
        font-weight: 400;
        color: #000;
    }
}

.header-main .menu-top ul>li:hover>a,
.header-main .menu-top ul>li.active>a {
    color: var(--main-color);
}

.header-main .menu-top ul>li>a b {
    display: block;
    text-transform: uppercase;
}

@media(max-width: 767px) {
    .header-main .menu-top ul>li>a b {
        font-weight: 500;
    }
}

.header-main .menu-top ul>li .wrap-sub {
    position: absolute;
    width: 280px;
    top: 59px;
    background: #fff;
    box-shadow: 0 0px 8px -4px #adadad;
    left: 0px;
    z-index: 999;
    border-top: none;
    display: none;
    /* opacity: 0;
    visibility: hidden;
    -webkit-transition: all 0.2s linear;
    -moz-transition: all 0.2s linear;
    -o-transition: all 0.2s linear;
    -ms-transition: all 0.2s linear;
    transition: all 0.2s linear; */
    padding: 10px 0px;
}

.menu-top ul>li:hover .wrap-sub {
    display: block;
    /* opacity: 1;
    visibility: visible; */
}

@media(max-width: 991px) {
    .header-main .menu-top ul>li .wrap-sub {
        opacity: 1;
        visibility: visible;
        padding: 0px 12px 0px 22px;
        box-shadow: none;
        position: relative;
        top: 0px;
        border: none;
        display: none;
    }

    .menu-top ul>li:hover .wrap-sub {
        display: block;
    }
}

.header-main .menu-top ul>li .wrap-sub .item .sub li {
    display: block;
    border-bottom: 1px solid #f1f1f1;
}

.header-main .menu-top ul>li .wrap-sub .item .sub li .sub {
    margin-top: -6px;
    margin-bottom: 8px;
}

@media(max-width: 991px) {
    .header-main .menu-top ul>li .wrap-sub .item .sub li {
        width: 100%;
        margin-top: 5px;
        margin-bottom: 5px;
    }
}

.header-main .menu-top ul>li .wrap-sub .item .sub li a {
    text-align: left;
    padding: 10px 20px;
    font-weight: 700;
    font-size: 16px;
}

.header-main .menu-top ul>li .wrap-sub .item .sub li .sub li {
    width: 100%;
    margin: 0px;
    display: block;
    border-bottom: none;
}

.header-main .menu-top ul>li .wrap-sub .item .sub li:nth-child(4n+1) {
    clear: both;
}

.header-main .menu-top ul>li .wrap-sub .item .sub li .sub li a {
    font-weight: 400;
    padding: 4px 30px;
    font-size: 14px;
}


/**/

.icon-cart {
    position: absolute !important;
    top: 5px;
    right: 15px;
    z-index: 9;
    line-height: normal;
    color: #fff;
    color: #222;
}

.navbar-fixed .icon-cart {
    color: #333;
}

.icon-cart img {
    height: 36px;
}

.icon-cart i {
    font-size: 20px;
}

.icon-cart span {
    position: absolute;
    top: -8px;
    right: -7px;
    background: var(--main-color);
    border-radius: 50px;
    min-width: 16px;
    height: 16px;
    text-align: center;
    font-size: 10px;
    line-height: 16px;
    color: #fff;
}

.icon-search {
    position: absolute;
    top: 0;
    right: 50px;
    height: 100%;
    font-size: 14px;
    cursor: pointer;
    padding: 0px 10px;
    z-index: 2;
    display: flex;
    align-items: center;
}

@media(max-width: 767px) {
    .icon-search {
        right: 40px;
        height: 50px;
    }

    .form-search {
        /* margin: 10px 0px; */
        width: 100%;
    }

    .form-search .search {
        width: 100%;
        max-width: inherit;
        height: 38px;
    }

    .icon-cart img {
        height: 30px;
    }
}


/**/

.support-online {
    position: fixed;
    z-index: 999;
    left: 15px;
    bottom: 50px;
    top: auto !important
}

.support-online a {
    position: relative;
    margin: 20px 10px;
    text-align: left;
    width: 40px;
    height: 40px
}

.support-online i {
    width: 40px;
    height: 40px;
    background: var(--main-color);
    color: #fff;
    border-radius: 100%;
    font-size: 14px;
    text-align: center;
    line-height: 40px;
    position: relative;
    z-index: 999
}

.support-online a {
    display: block
}

.support-online a span {
    border-radius: 2px;
    text-align: center;
    background: var(--main-color);
    padding: 9px;
    display: none;
    width: 210px;
    margin-left: 10px;
    position: absolute;
    color: #ffffff;
    z-index: 999;
    top: 0px;
    left: 40px;
    transition: all 0.2s ease-in-out 0s;
    -moz-animation: headerAnimation 0.7s 1;
    -webkit-animation: headerAnimation 0.7s 1;
    -o-animation: headerAnimation 0.7s 1;
    animation: headerAnimation 0.7s 1
}

.support-online a:hover span {
    display: block
}

.support-online a span::before {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 10px 10px 0;
    border-color: transparent var(--main-color) transparent transparent;
    position: absolute;
    left: -10px;
    top: 10px
}

.kenit-alo-circle-fill {
    width: 60px;
    height: 60px;
    top: -10px;
    position: absolute;
    -webkit-transition: all 0.1s ease-in-out;
    -moz-transition: all 0.1s ease-in-out;
    -ms-transition: all 0.1s ease-in-out;
    -o-transition: all 0.1s ease-in-out;
    transition: all 0.1s ease-in-out;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
    border: 2px solid transparent;
    -webkit-transition: all .1s;
    -moz-transition: all .1s;
    -o-transition: all .1s;
    transition: all .1s;
    background-color: var(--main-color);
    opacity: .5;
    right: -10px;
}

.kenit-alo-circle {
    width: 50px;
    height: 50px;
    top: -5px;
    right: -5px;
    position: absolute;
    background-color: transparent;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
    border: 2px solid rgba(30, 30, 30, 0.4);
    opacity: .1;
    border-color: var(--main-color);
    opacity: .5;
}

.support-online .btn-support {
    cursor: pointer
}

@-webkit-keyframes pulse {
    0% {
        -webkit-transform: scale(1.1);
        transform: scale(1.1)
    }

    50% {
        -webkit-transform: scale(0.8);
        transform: scale(0.8)
    }

    100% {
        -webkit-transform: scale(1.1);
        transform: scale(1.1)
    }
}

@keyframes pulse {
    0% {
        -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
        transform: scale(1.1)
    }

    50% {
        -webkit-transform: scale(0.8);
        -ms-transform: scale(0.8);
        transform: scale(0.8)
    }

    100% {
        -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
        transform: scale(1.1)
    }
}

.animated {
    animation-duration: 1s;
    animation-fill-mode: both
}

.animated.infinite {
    animation-iteration-count: infinite
}

.animated.hinge {
    animation-duration: 2s
}

.animated.flipOutX,
.animated.flipOutY,
.animated.bounceIn,
.animated.bounceOut {
    animation-duration: .75s
}

@keyframes zoomIn {
    from {
        opacity: 0;
        transform: scale3d(0.3, 0.3, 0.3)
    }

    50% {
        opacity: 1
    }
}

.zoomIn {
    animation-name: zoomIn
}

@keyframes pulse {
    from {
        transform: scale3d(1, 1, 1)
    }

    50% {
        transform: scale3d(1.05, 1.05, 1.05)
    }

    to {
        transform: scale3d(1, 1, 1)
    }
}

.pulse {
    animation-name: pulse
}

@keyframes rubberBand {
    from {
        transform: scale3d(1, 1, 1)
    }

    30% {
        transform: scale3d(1.25, 0.75, 1)
    }

    40% {
        transform: scale3d(0.75, 1.25, 1)
    }

    50% {
        transform: scale3d(1.15, 0.85, 1)
    }

    65% {
        transform: scale3d(0.95, 1.05, 1)
    }

    75% {
        transform: scale3d(1.05, 0.95, 1)
    }

    to {
        transform: scale3d(1, 1, 1)
    }
}


/**/

.header-slider {
    position: relative;
    /* margin-top: 15px; */
}

@media(max-width: 767px) {
    .header-slider {
        margin-top: 0px;
    }
}

.header-slider .left {
    width: 22%;
}

@media(max-width: 767px) {
    .header-slider .left {
        position: absolute;
        z-index: 1;
        width: 240px;
        top: -58px;
        left: -250px;
        padding: 0px !important;
        border-radius: 0px;
        border: 1px solid #f1f1f1;
    }

    .header-slider .left.active {
        left: 0px;
    }
}

.header-slider .left .iframe {
    background: #fff;
    border-radius: 4px;
}

.category-product .title {
    padding: 20px 20px 8px 20px;
    position: relative;
    white-space: nowrap;
    font-weight: 600;
}

@media(max-width: 767px) {
    .header-slider .left .iframe {
        border-radius: 0px
    }

    .category-product .title {
        display: none;
    }
}

.category-product .title>span {
    display: inline-block;
    margin-right: 8px;
}

.category-product .title>span>i {
    height: 2px;
    width: 20px;
    background: #444;
    display: block;
    margin: 3px 0px;
    border-radius: 2px;
}

.category-product .title>p {
    display: inline-block;
    margin: 0px 0px 0px 0px;
    position: relative;
    top: -3px;
    text-transform: uppercase;
}

.category-product>ul {
    padding: 0px 0px 8px;
    margin: 0px;
}

.category-product>ul>li {
    list-style-type: none;
    position: relative;
    font-size: 14px;
    -webkit-transition: all 0.2s linear;
    -moz-transition: all 0.2s linear;
    -o-transition: all 0.2s linear;
    -ms-transition: all 0.2s linear;
    transition: all 0.2s linear;
}

.category-product>ul>li:hover {
    background: var(--main-color-20);
}

.category-product>ul>li .sub {
    display: none;
    position: absolute;
    left: 100%;
    background: #fff;
    width: 240px;
    padding: 0px;
    margin: 0px;
    top: 0px;
}

.category-product>ul>li .sub>li {
    list-style-type: none;
}

.category-product>ul>li .sub>li>a {
    padding: 9px 10px 9px 12px;
    display: block;
}

.category-product>ul>li .sub>li>a>i {
    position: absolute;
    right: 10px;
    top: 9px;
    font-size: 16px;
}

.category-product>ul>li .sub>li:hover>a {
    background: var(--main-color-20);
    color: var(--main-color);
}

.category-product>ul li:hover>.sub {
    display: block;
}

.category-product>ul>li>a {
    display: block;
    padding: 9px 8px 9px 48px;
}

.category-product>ul>li>a>span {
    display: block;
    position: relative;
    top: 0px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.category-product>ul>li>a>.icon {
    position: absolute;
    left: 18px;
    top: 9px;
}

.category-product>ul>li>a>.icon img {
    height: 20px;
    display: block;
}

.category-product>ul>li>a>.icon img.h {
    display: none;
}

.category-product>ul>li:hover>a>.icon img {
    display: none;
}

.category-product>ul>li:hover>a>.icon img.h {
    display: block;
}


/**/

.no_flexslider {
    position: relative;
    background: #fff;
    overflow: hidden;
}

.no_flexslider::after {
    content: '';
    display: block;
    clear: both;
}

@media(max-width: 767px) {
    .no_flexslider {
        border-radius: 0px;
        /* margin-left: -8px; */
        /* margin-right: -8px; */
    }
}

.no_flexslider .slides {
    padding: 0px;
    margin: 0px;
    float: left;
    width: 100%;
}

.no_flexslider .slides::after {
    content: '';
    display: block;
    clear: both;
}

.no_flexslider .slides li {
    list-style-type: none;
    float: left;
    width: 100%;
}

.no_flexslider .slides li a {
    display: block;
}

.no_flexslider .slides li img {
    width: 100%;
    position: relative;
    z-index: 1;
}

.flexslider .flex-direction-nav {
    padding: 0px;
    margin: 0px;
}

.flexslider.no-slider .flex-direction-nav {
    display: none;
}

.flexslider .flex-direction-nav>li {
    list-style-type: none;
    position: absolute;
    top: 50%;
    right: 10px;
    margin-top: -24px;
    z-index: 2;
    width: 60px;
    height: 60px;
    line-height: 60px;
    font-size: 20px;
    color: #fff;
    border: 1px solid #fff;
    text-align: center;
    border-radius: 50%;
    transition: 0.3s ease;
}

.flexslider .flex-direction-nav>li:hover {
    background: #fff;
}

.flexslider .flex-direction-nav>li a {
    color: #fff;
}

.flexslider .flex-direction-nav>li:hover a {
    color: #000;
}

.flexslider .flex-direction-nav>li.flex-next {
    left: 10px;
    right: auto;
}


/**/

.brand {
    padding: 21px 16px;
    background: #fff;
    border-radius: 4px;
    margin-top: 15px;
}

.brand .owl-controls {
    display: none !important;
}

@media(max-width: 767px) {
    .brand {
        border-radius: 0px;
        margin-bottom: 8px;
        padding: 12px 10px;
    }
}

.brand .item {
    text-align: center;
    padding: 0px 10px;
}

.brand .item img {
    height: 50px;
}

.brand .item .item a {
    display: block;
}

.brand .row .item a {
    display: block;
    margin: 10px 0px;
}

.brand .item span {
    display: block;
    font-size: 13px;
    margin-top: 2px;
    overflow: hidden;
    text-overflow: ellipsis;
    height: 40px;
    padding: 0px 30px;
    margin-top: 7px;
}

@media(max-width: 767px) {
    .brand .item span {
        padding: 0px 0px;
    }
}

.brand .owl-buttons {
    padding: 0px;
    margin: 0px;
}

.brand .owl-buttons>div {
    list-style-type: none;
    position: absolute;
    top: 50%;
    left: 12px;
    font-size: 24px;
    margin-top: -18px;
    color: #222;
}

.brand .owl-buttons>div.owl-next {
    left: auto;
    right: 12px;
}


/**/

.brand-big {
    overflow: hidden;
    margin-top: 15px;
}

.brand-big .row {
    margin: 0px -8px;
}

.brand-big .item {
    padding: 0px 8px;
}

.brand-big .m8 .item {
    margin: 8px 0px;
}

@media(max-width: 767px) {
    .brand-big .row {
        margin: 0px -4px;
    }

    .brand-big .row>div {
        padding: 0px;
    }

    .brand-big .item {
        padding: 0px 4px;
    }
}

.brand-big .item>a {
    display: block;
    background: #fff;
    border-radius: 4px;
    overflow: hidden;
}

.brand-big .item>a .img {
    display: block;
    position: relative;
    height: 0px;
    padding-bottom: 90%;
}

.brand-big .item>a .img img {
    height: 100%;
    width: 100%;
    position: absolute;
    object-fit: cover;
}

.brand-big .item>a span {
    font-size: 15px;
    text-align: center;
    margin: 20px 10px 17px;
    display: block;
    overflow: hidden;
    height: 44px;
}

.brand-big .item>a .img:before {
    content: '';
    background: url(../images/view.png) no-repeat center center;
    background-size: 35px;
    display: block;
    position: absolute;
    z-index: 2;
    width: 50px;
    height: 50px;
    top: 40%;
    margin-top: -25px;
    left: 50%;
    opacity: 0;
    margin-left: -25px;
    transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease;
}

.brand-big .item>a .img:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0px;
    top: 0px;
    z-index: 1;
    opacity: 0;
    border-radius: 5px 5px 0px 0px;
    background: rgba(0, 0, 0, 0.4);
    transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease;
}

.brand-big .item>a .img:hover:after {
    opacity: 1;
}

.brand-big .item>a .img:hover:before {
    top: 50%;
    opacity: 1;
}


/**/

.banner {
    margin-top: 15px;
}

.banner .row {
    margin: 0px -8px;
}

.banner .item {
    padding: 0px 8px;
}

.banner .item a {
    display: block;
    margin: 0px 0px 10px;
}

.banner .item a img {
    width: 100%;
}

@media(max-width: 767px) {
    .banner .item a {
        margin-bottom: 8px;
    }
}


/**/

.content-product {
    /* margin-top: 15px; */
    min-height: 200px;
}

.content-product .content {
    /* padding: 5px 12px;
    background: #fff;
    border-radius: 4px;
    margin-top: 15px; */
}

@media(max-width: 767px) {
    .content-product .content {
        /* padding: 0px;
        background: none;
        margin-top: 4px; */
    }
}

.block-title {
    text-align: center;
    max-width: 100%;
    overflow: hidden;
    margin: 20px 0px 30px;
}

.block-title .title {
    font-size: 28px;
    color: #000;
    margin: 10px auto 0;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    text-transform: uppercase;
    position: relative;
    line-height: 1.6;
}

.block-title .title:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 60%;
    height: 1px;
    background-color: #000;
    transform: translate(-50%, 0);
}

.block-title .title:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 60%;
    height: 1px;
    background-color: #000;
    transform: translate(50%, 0%);
}

.block-title .info {
    max-width: 60%;
    margin: 15px auto 0px;
}

@media(max-width: 767px) {
    .block-title {
        margin: 20px 0px 14px;
    }

    .block-title .title {
        float: none;
        margin-bottom: 0px;
        font-size: 20px;
        width: 100%;
    }

    .block-title .title:before {
        width: 35%;
    }

    .block-title .title:after {
        width: 35%;
    }
}

.block-title .title span,
.block-title .title a {
    background: #fff;
    padding: 0 5px;
    display: inline-block;
    position: relative;
    z-index: 1;
}

.block-title .sub-title {
    float: left;
    padding: 0px;
    margin: 4px 0px 0px 0px;
    margin-left: 10px;
}

@media(max-width: 767px) {
    .block-title .sub-title {
        margin: -8px 0px 0px 0px;
        float: none;
        white-space: nowrap;
        overflow-x: auto;
    }
}

.block-title .sub-title li {
    list-style-type: none;
    display: inline-block;
    margin: 0px 5px;
}

.block-title .sub-title li a {
    border-left: 1px solid var(--main-color);
    padding-left: 10px;
    line-height: 10px;
    display: block;
    font-size: 14px;
}

.block-title .sub-title li:first-child a {
    border: none;
    padding-left: 0px;
    margin-left: 0px;
}

.block-title-info {
    color: #777;
    margin: -10px 0 20px;
}

.pagination>li>a,
.pagination>li>span {
    border: 1px solid #f1f1f1f1;
    font-size: 14px;
    color: #222;
    margin: 0px -1px;
    border-radius: 0px;
    border-right: 1px solid #f2f2f2;
}

.content-product .content .block-content .pagination>li>a i,
.content-product .content .block-content .pagination>li>span i {
    position: relative;
    top: -1px;
}

.pagination>.active>a,
.pagination>.active>a:focus,
.pagination>.active>a:hover,
.pagination>.active>span,
.pagination>.active>span:focus,
.pagination>.active>span:hover {
    background: var(--main-color);
    border-color: var(--main-color);
}

.pagination>li {
    display: inline-block;
}

@media(max-width: 767px) {
    .pagination {
        white-space: nowrap;
        overflow-x: auto;
        width: 100%;
    }
}


/*menu-bottom*/

.menu-top-bottom {
    background: var(--main-color);
    padding: 2px 15px 0px;
    text-align: center;
    position: relative;
    display: none;
}

@media(max-width: 991px) {
    .menu-top-bottom {
        white-space: nowrap;
        overflow-y: auto;
        margin-top: 8px;
    }
}

.menu-top-bottom ul {
    margin: 0px;
    padding: 0px;
}

.menu-top-bottom li {
    display: inline-block;
    min-height: 46px;
    line-height: 46px;
    list-style: none;
}

@media(max-width: 767px) {
    .menu-top-bottom li {
        min-height: 38px;
        line-height: 38px;
    }
}

.menu-top-bottom li:first-child a {
    border: none;
}

.menu-top-bottom li a {
    border-left: 1px solid #fff;
    white-space: nowrap;
    padding: 0px 15px;
    color: #fff;
    font-size: 14px;
    text-transform: uppercase;
    font-weight: 400;
}

.menu-top-bottom li.active a,
.menu-top-bottom li:hover a {
    color: #000;
}


/**/

.menu-bottom {
    padding: 0px 0;
}

@media(max-width: 767px) {
    .menu-bottom {
        padding: 5px 0;
    }
}

/* --- Ultra-Luxury Architectural Footer --- */
footer,
.footer1 {
    position: relative;
    margin-top: 0px;
    padding-top: 55px;
    padding-bottom: 0px;
    color: #eee7e0;
    background: #2a2623;
    background: radial-gradient(110% 120% at 50% 0%, #352f2b 0%, #24201e 100%);
    line-height: normal;
    overflow: hidden;
}

footer a,
.footer1 a {
    color: #eee7e0;
}

/* Metallic hairline accent along the top */
.footer-top-accent {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, rgba(196, 126, 98, 0.15) 15%, #c47e62 50%, rgba(196, 126, 98, 0.15) 85%, transparent 100%);
    box-shadow: 0 1px 8px rgba(196, 126, 98, 0.3);
}

.footer-main-row {
    margin-bottom: 45px;
}

/* Brand Column */

.foot-luxury-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2.2px;
    text-transform: uppercase;
    color: #c47e62;
    margin-bottom: 14px;
}

.foot-luxury-tag .foot-tag-line {
    display: inline-block;
    width: 20px;
    height: 1px;
    background: #c47e62;
}

.logo-footer {
    text-align: left;
    margin-bottom: 16px;
}

.logo-footer img {
    max-height: 48px;
    max-width: 220px;
    width: auto;
    object-fit: contain;
    filter: brightness(1.15) drop-shadow(0 2px 8px rgba(0, 0, 0, 0.35));
    transition: transform 0.3s ease;
}

.logo-footer img:hover {
    transform: scale(1.02);
}

.foot-brand-desc {
    color: #b8afa7;
    font-size: 13.5px;
    line-height: 1.85;
    margin-bottom: 20px;
    font-weight: 400;
}

/* Architectural badges */
.foot-luxury-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 22px;
}

.foot-badge-item {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 6px 12px;
    background: rgba(255, 255, 255, 0.035);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 20px;
    font-size: 11px;
    font-weight: 500;
    color: #d8cfc7;
    letter-spacing: 0.3px;
    backdrop-filter: blur(4px);
    transition: all 0.25s ease;
}

.foot-badge-item i {
    color: #c47e62;
    font-size: 12px;
}

.foot-badge-item:hover {
    background: rgba(196, 126, 98, 0.1);
    border-color: rgba(196, 126, 98, 0.3);
    color: #ffffff;
    transform: translateY(-1px);
}

/* Left-aligned social jewelry */
.foot-col-brand .social.foot-social {
    justify-content: flex-start !important;
    margin: 18px 0 0 0 !important;
    gap: 10px !important;
}

.foot-col-brand .social.foot-social a.social-item,
.foot-social a.social-item {
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    color: #ded6cf !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 15px !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.25) !important;
}

.foot-col-brand .social.foot-social a.social-item:hover,
.foot-social a.social-item:hover {
    background: #a44f33 !important;
    border-color: #c47e62 !important;
    color: #ffffff !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 8px 18px rgba(164, 79, 51, 0.4) !important;
}

.foot-col-brand .social.foot-social a.social-item.facebook:hover,
.foot-social a.social-item.facebook:hover {
    background: #1877f2 !important;
    border-color: #1877f2 !important;
}

.foot-col-brand .social.foot-social a.social-item.youtube:hover,
.foot-social a.social-item.youtube:hover {
    background: #e62117 !important;
    border-color: #e62117 !important;
}

.foot-col-brand .social.foot-social a.social-item.zalo:hover,
.foot-social a.social-item.zalo:hover {
    background: #0068ff !important;
    border-color: #0068ff !important;
}

/* Titles */
.title_footer {
    margin-bottom: 20px;
    margin-top: 0;
    padding-bottom: 12px;
    position: relative;
    display: block;
    font-size: 13.5px;
    font-weight: 700;
    line-height: 1.3;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: 1.6px;
}

.title_footer:before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 32px;
    height: 2px;
    background: linear-gradient(90deg, #c47e62, #a44f33);
    border-radius: 2px;
    border: none;
}

.title_footer a {
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: 1.6px;
    font-size: 13.5px;
}

.title_footer a:hover {
    color: #c47e62;
}

/* Navigation Menu */
.menu-bottom {
    padding: 0;
}

.menu-bottom ul {
    padding: 0;
    margin: 0;
    list-style: none;
    margin-bottom: 15px;
}

.menu-bottom ul li {
    padding: 9px 0;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.06);
}

.menu-bottom ul li:first-child {
    padding-top: 0;
}

.menu-bottom ul li:last-child {
    border-bottom: none;
}

.menu-bottom ul li a {
    font-size: 13.5px;
    color: #b8afa7;
    display: inline-flex;
    align-items: center;
    transition: all 0.25s ease;
    text-decoration: none;
}

.menu-bottom ul li a i {
    font-size: 10px;
    margin-right: 6px;
}

.menu-bottom ul li a:hover {
    color: #ffffff;
    transform: translateX(5px);
    text-decoration: none;
}

.menu-bottom ul li a:hover:before {
    opacity: 1;
    color: #ffffff;
}

/* Contact Column & Card */
.foot-col-contact .footer {
    padding: 0;
}

.footer-contact-card {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    padding: 22px 24px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05), 0 8px 24px rgba(0, 0, 0, 0.15);
    backdrop-filter: blur(6px);
}

.footer-contact-content {
    font-size: 13px;
    line-height: 1.85;
    color: #b8afa7;
}

.footer-contact-content p {
    margin-bottom: 8px;
    color: #b8afa7;
    line-height: 1.85;
}

.footer-contact-content a {
    color: #c47e62;
    transition: color 0.2s ease;
    text-decoration: none;
}

.footer-contact-content a:hover {
    color: #e59d82;
    text-decoration: underline;
}

.footer-contact-content b,
.footer-contact-content strong {
    color: #f1ebe5;
    font-weight: 600;
}

/* Hotline Bar */
.footer-hotline-bar {
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
}

.footer-hotline-bar .hotline-label {
    font-size: 12.5px;
    color: #a89f97;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.footer-hotline-bar .hotline-label i {
    color: #c47e62;
    font-size: 13px;
}

.footer-hotline-bar .hotline-num {
    display: inline-flex;
    align-items: center;
    background: linear-gradient(135deg, #a44f33 0%, #c47e62 100%);
    color: #ffffff;
    font-size: 13.5px;
    font-weight: 700;
    padding: 5px 14px;
    border-radius: 20px;
    letter-spacing: 0.5px;
    box-shadow: 0 4px 12px rgba(164, 79, 51, 0.35);
    transition: all 0.25s ease;
    text-decoration: none;
}

.footer-hotline-bar .hotline-num:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(164, 79, 51, 0.5);
    color: #ffffff;
    text-decoration: none;
}

/* Copyright Bar */
.copyright {
    padding: 20px 0;
    color: #9c9187;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    background: #1e1a18;
    font-weight: 400;
    font-size: 12.5px;
}

.copyright-wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
}

.foot-policy-links {
    display: flex;
    align-items: center;
    gap: 12px;
}

.foot-policy-links a {
    color: #9c9187;
    text-decoration: none;
    font-size: 12px;
    transition: color 0.2s ease;
}

.foot-policy-links a:hover {
    color: #c47e62;
    text-decoration: none;
}

.foot-policy-links .sep {
    color: rgba(255, 255, 255, 0.15);
}

@media (max-width: 991px) {
    .foot-col-brand {
        padding-right: 15px;
        margin-bottom: 35px;
    }

    .foot-col-menu {
        margin-bottom: 35px;
    }
}

@media (max-width: 767px) {

    footer,
    .footer1 {
        padding-top: 40px;
    }

    .footer-main-row {
        margin-bottom: 30px;
    }

    .logo-footer {
        text-align: left;
    }

    .foot-col-brand .social.foot-social {
        justify-content: flex-start;
    }

    .copyright-wrap {
        flex-direction: column;
        text-align: center;
        gap: 10px;
    }

    .foot-policy-links {
        justify-content: center;
        flex-wrap: wrap;
    }

    .footer-contact-card {
        padding: 18px 16px;
    }
}


/**/

.item-cate-news {
    /* background: #f9f9f9; */
    /* padding: 10px 0px; */
    /* text-align: left; */
}

.item-cate-news ul {
    padding: 0;
    margin: 0 -2px;
}

.item-cate-news ul li {
    list-style-type: none;
    list-style-type: none;
    width: auto;
    display: inline-block;
    padding: 0;
    float: none;
}

.item-cate-news ul li h2 {
    margin: 0;
    font-size: 14px;
    font-weight: 400;
    display: flex;
    align-items: center;
    min-height: 30px;
    border: 1px solid #ededed;
    border-radius: 30px;
    padding: 7px 20px;
    margin: 2px;
    background: #fff;
}

.item-cate-news ul li h2 a {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
    padding: 2px 0;
}

.item-cate-news ul li h2 a i {
    font-size: 10px;
    margin-right: 4px;
    position: relative;
    top: -1px;
}


/*detail-product*/

.content-product-detail {}

@media(max-width: 767px) {
    .content-product-detail {
        padding-top: 0px;
    }
}

.content-product-detail .detail-product {
    background: #fff;
}

.content-product-detail .detail-product .images-product-detail {
    position: relative;
}

@media(max-width: 767px) {
    .content-product-detail .detail-product .images-product-detail {
        padding: 0px 10px !important;
    }
}

.content-product-detail .detail-product .images-product-detail .thumbs {
    padding: 4px 0px;
    max-height: 253px;
    overflow: hidden;
    margin-top: 10px;
}

@media(max-width:767px) {
    .content-product-detail .detail-product .images-product-detail .thumbs {
        padding: 4px 0px;
    }
}

.content-product-detail .detail-product .images-product-detail .thumbs>div {
    margin-bottom: 0px;
    padding: 0px;
}

.content-product-detail .detail-product .images-product-detail .thumbs .owl-item {
    margin: 0px 2px;
}

.content-product-detail .detail-product .images-product-detail .thumbs>div .item {
    margin: 0px 4px 0px 0px;
    border: 1px solid #ddd;
    padding: 2px;
    cursor: pointer;
    list-style-type: none;
    display: inline-block;
    padding-bottom: calc(100% - 7px);
    height: 0px;
    position: relative;
    width: 100%;
    border-radius: 5px;
    overflow: hidden;
    max-width: 233px;
}

.content-product-detail .detail-product .images-product-detail .thumbs>div .item img {
    position: absolute;
    height: 100%;
    width: 100%;
    object-fit: cover;
    left: 0;
    top: 0;
    max-width: 233px;
}

@media(max-width: 767px) {
    .content-product-detail .detail-product .images-product-detail .thumbs {
        max-height: 150px;
    }

    .content-product-detail .detail-product .images-product-detail .thumbs>div .item,
    .content-product-detail .detail-product .images-product-detail .thumbs>div .item img {
        max-width: 150px;
    }
}

.content-product-detail .detail-product .images-product-detail .thumbs>div .item:hover {
    border: 1px solid #56ba47;
}

.content-product-detail .detail-product .images-product-detail .thumbs .owl-buttons>div {
    position: absolute;
    left: 0px;
    top: 50%;
    background: rgb(0 0 0 / 50%);
    color: #fff;
    width: 16px;
    text-align: center;
    line-height: 19px;
    height: 20px;
    margin-top: -8px;
    font-size: 14px;
}

.content-product-detail .detail-product .images-product-detail .thumbs .owl-buttons>div.owl-next {
    left: auto;
    right: 2px;
    padding-left: 2px;
}

.content-product-detail .detail-product .targetarea {
    position: relative;
    background: #fff;
    padding-bottom: 100%;
    height: 0px;
    width: 100%;
    border-radius: 10px;
    overflow: hidden;
    /* border: 1px solid #ddd; */
    box-shadow: 0px 0px 16px #ddd;
}

.content-product-detail .detail-product .targetarea img {
    max-width: 100%;
    max-height: 100%;
    position: absolute;
    bottom: 0px;
    top: 0px;
    left: 0px;
    right: 0px;
    margin: auto;
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.content-product-detail .detail-product .infomation-product-detail {
    /* padding: 0px 8px; */
}

.content-product-detail .detail-product .infomation-product-detail .wrap-scroll-detail {
    padding: 12px 8px;
    padding: 0;
}

@media(max-width: 767px) {
    .content-product-detail .detail-product .infomation-product-detail {
        padding: 0px 2px;
        background: #fff;
    }

    .content-product-detail .detail-product .infomation-product-detail .wrap-scroll-detail {
        padding: 12px 10px;
    }

    .content-product-detail .detail-product .infomation-product-detail .wrap-scroll-detail .action {
        position: fixed;
        bottom: 0px;
        left: 0px;
        width: 100%;
        z-index: 99;
    }

    .content-product-detail .detail-product .infomation-product-detail .wrap-scroll-detail .action>button {
        width: 50%;
        float: left;
        min-width: inherit;
        border-radius: 0px;
        font-size: 14px;
        border-bottom: none !important;
        padding: 4px 4px;
        text-transform: none;
        min-height: 41px;
    }

    .content-detail {
        margin: 0px -8px 0px;
    }
}

.content-product-detail .detail-product .infomation-product-detail .title {
    font-size: 22px;
    line-height: 1.3;
    font-weight: 700;
    margin-bottom: 10px;
    margin-top: 1px;
    background: linear-gradient(135deg, rgb(0, 45, 98) 0%, rgb(230, 95, 18) 100%) text;
    -webkit-text-fill-color: transparent;
}

.content-product-detail .detail-product .infomation-product-detail .content-product-combo .title {
    padding: 0;
    border: none;
    font-size: 16px;
    margin-bottom: 6px;
    margin-top: 15px;
}

.content-product-detail .detail-product .infomation-product-detail .content-product-combo .title {
    padding: 0;
    border: none;
    font-size: 16px;
    margin-bottom: 6px;
    margin-top: 5px;
}

.content-product-detail .detail-product .infomation-product-detail .ma-sp {
    color: #222;
    font-size: 28px;
    display: inline-block;
    margin-bottom: 2px;
    /* margin-right: 10px; */
    font-weight: 600;
}

.content-product-detail .detail-product .infomation-product-detail .pro-code {}

.content-product-detail .detail-product .infomation-product-detail .pro-code .sku {
    display: inline-block;
    background: var(--main-color);
    color: #fff;
    padding: 5px 28px;
    border-radius: 4px;
    border: 1px solid var(--MAIN-COLOR);
    margin: 0 0 5px;
}

.content-product-detail .detail-product .infomation-product-detail .pro-code .manufacturer_name {
    color: var(--main-color);
    font-size: 16px;
    margin: 0 0 6px 0;
    display: inline-block;
}

.content-product-detail .detail-product .infomation-product-detail .info {
    line-height: 24px;
    font-size: 14px;
    margin-bottom: 10px;
    color: #888;
}

.content-product-detail .detail-product .infomation-product-detail .info p {
    margin: 0px;
}

.content-product-detail .detail-product .infomation-product-detail .info_cashback {
    font-size: 13px;
    line-height: 20px;
}

.content-product-detail .detail-product .infomation-product-detail .info_cashback {
    font-size: 13px;
    line-height: 20px;
}

.content-product-detail .detail-product .infomation-product-detail .old-price-detail {
    font-size: 16px;
    color: #555;
    font-weight: 600;
    text-decoration: line-through;
}

.content-product-detail .detail-product .infomation-product-detail .price-detail {
    color: var(--main-color);
    font-size: 30px;
    font-weight: 700;
    margin: 0;
    min-height: 44px;
}

.content-product-detail .detail-product .infomation-product-detail .color {
    margin-bottom: 14px;
}

.content-product-detail .detail-product .infomation-product-detail .color label {
    padding-left: 0px;
    margin-bottom: 0px;
    height: 30px;
    line-height: 28px;
    white-space: nowrap;
}

.content-product-detail .detail-product .infomation-product-detail .wrap-quantity label {
    padding-left: 0px;
    margin-bottom: 0px;
    height: 30px;
    line-height: 28px;
    white-space: nowrap;
}

.content-product-detail .detail-product .infomation-product-detail .color ul {
    margin: 0px;
    padding: 0px;
}

.content-product-detail .detail-product .infomation-product-detail .color ul>li {
    float: left;
    margin-right: 5px;
    border: 2px solid #ddd;
    padding: 2px;
    border-radius: 50%;
    list-style: none;
}

.content-product-detail .detail-product .infomation-product-detail .color ul>li.active,
.content-product-detail .detail-product .infomation-product-detail .color ul>li:hover {
    border: 2px solid #56ba47;
}

.content-product-detail .detail-product .infomation-product-detail .color ul>li span {
    display: block;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    cursor: pointer;
}

.content-product-detail .detail-product .infomation-product-detail .size {}

.content-product-detail .detail-product .infomation-product-detail .size ul {
    padding: 0;
    margin: 0;
}

.content-product-detail .detail-product .infomation-product-detail .size ul li {
    display: inline-block;
    list-style-type: none;
    margin: 6px;
    text-align: center;
    cursor: pointer;
}

.content-product-detail .detail-product .infomation-product-detail .size ul li .img {
    width: 55px;
    height: 55px;
    border-radius: 50%;
    overflow: hidden;
    position: relative;
    margin: 0px auto 7px;
}

.content-product-detail .detail-product .infomation-product-detail .size ul li .img img {
    position: absolute;
    height: 100%;
    width: 100%;
    object-fit: cover;
    top: 0;
    left: 0;
}

.content-product-detail .detail-product .infomation-product-detail .size ul li p {
    font-size: 13px;
    margin: 0;
}

.count-down-end-flash {
    float: left;
    margin: 0px 0px 12px 0px;
}

.count-down-end-flash span {
    display: inline-block;
    background: #000;
    color: #fff;
    margin: 0 2px;
    padding: 2px 8px;
    border-radius: 2px;
    font-size: 11px;
}

.count-down-end-flash span:first-child {
    background: none;
    color: #222;
    text-align: left;
    font-size: 14px;
    margin: 0 4px 0px 0;
    padding: 2px 0px;
}


/**/

.size_color {
    margin: 0 0 10px 0;
    position: relative;
}

.size_color_0:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.size_color>label {
    display: block;
    margin: 0 0 7px 0;
    font-weight: 600;
}

.size_color>.attr {
    display: inline-block;
}

.size_color>.attr>span {
    border: 1px solid #999;
    display: inline-block;
    padding: 2px 12px;
    border-radius: 4px;
    margin-right: 5px;
    cursor: pointer;
    font-size: 13px;
    color: #999;
    cursor: not-allowed;
}

.size_color_1.size_color>.attr>span,
.size_color.active>.attr>span {
    color: #333;
    border-color: #333;
    cursor: pointer;
}

.size_color>.attr>span.active {
    border-color: var(--main-color);
    background: var(--main-color);
    color: #fff;
    cursor: initial;
}

.cart_checkout .right .table tbody tr td a.name {
    margin-bottom: 10px;
    font-weight: 600;
}

.name_attr {
    margin: 2px 0 0 0;
    font-size: 12px;
    font-weight: 400;
}

.name_attr span {
    color: #222 !important;
    font-size: 12px !important;
}


/**/

.content-product-detail .nav-tabs {
    border: 1px solid rgba(240, 240, 240, 0.7);
    background: #f6f6f6;
    margin-top: 10px;
}

.detail-news .detail-content .nav-tabs {
    margin-top: 0px;
    margin-bottom: 15px;
}

.content-product-detail .nav-tabs>li>a {
    background: #E5E5E5;
    border: 0px solid #E5E5E5;
    border-top: 0px solid #E5E5E5;
    border-radius: 0px;
    margin-right: 2px;
    padding: 9px 25px;
    text-transform: uppercase;
    font-size: 14px;
    color: #717171;
}

@media(max-width: 767px) {
    .content-product-detail .nav-tabs {
        white-space: nowrap;
        overflow-x: auto;
        padding: 0px 6px;
    }

    .content-product-detail .nav-tabs li {
        float: none;
        margin: 0px;
        display: inline-block;
    }
}

.content-product-detail .nav li.active a,
.content-product-detail .nav li:hover a {
    list-style: none;
    background: var(--main-color);
}

.content-product-detail .nav-tabs>li.active>a,
.content-product-detail .nav-tabs>li:hover>a,
.content-product-detail .nav-tabs>li.active>a:focus,
.content-product-detail .nav-tabs>li.active>a:hover {
    border: none;
    color: #fff;
}

.content-product-detail .tab-content {
    background: #fff;
    padding: 15px;
    border: 1px solid rgba(240, 240, 240, 0.7);
    border-top: none;
}

.content-product-detail .content p {
    line-height: 1.5;
    font-size: 15px !important;
    margin-bottom: 5px;
    word-break: break-word;
}

.content-product-detail .content iframe {
    max-width: 100%;
    border: none;
}

.content-product-detail .content img {
    height: auto !important;
}



/**/

.about {
    margin-bottom: 15px;
}

/**/

.detail-news .detail-content {
    background: #fff;
    border-radius: 4px;
    /* padding: 25px; */
    margin-bottom: 15px;
}

.detail-news .right {
    padding-left: 0px;
}

.detail-news .detail-content .title {
    color: #272727;
    font-size: 22px;
    margin-bottom: 10px;
    font-weight: 600;
    margin-top: 0px;
}

.detail-news .detail-content .info {
    color: #858585;
    font-weight: 400;
    margin-bottom: 10px;
    font-size: 12px;
}

.detail-news .detail-content .content * {
    max-width: 100%;
    font-size: 15px;
}

.detail-news .detail-content .detail img {
    height: auto !important;
}


/*Supplier*/

.block-supplier {
    background: #f5f5f5;
    padding-bottom: 30px;
}

.block-supplier .form-search-supplier {
    position: static;
    display: block !important;
    margin-top: -10px !important;
    opacity: 1 !important;
    height: auto !important;
}

.block-supplier .form-search-supplier .search-supplier {
    border-radius: 50px;
    height: 38px;
    position: relative;
}

.block-supplier .form-search-supplier .search-supplier input {
    padding: 2px 52px 2px 15px;
    border-radius: 50px;
    font-size: 13px;
}

.block-supplier .form-search-supplier .search-supplier .btn {
    background: var(--main-color);
    position: absolute;
    right: 0px;
    top: 0px;
    height: 100%;
    color: #fff;
    text-transform: uppercase;
    border: none;
    -webkit-transition: all 0.2s linear;
    -moz-transition: all 0.2s linear;
    -o-transition: all 0.2s linear;
    -ms-transition: all 0.2s linear;
    transition: all 0.2s linear;
    border-radius: 0 20px 20px 0;
    padding: 8px 16px;
}

.block-supplier .form-search-supplier .search-supplier .btn img {
    width: 18px;
    filter: brightness(0) invert(1);
    -webkit-filter: brightness(0) invert(1);
    -moz-filter: brightness(0) invert(1);
    -o-filter: brightness(0) invert(1);
    -ms-filter: brightness(0) invert(1);
}

.block-supplier.detail {
    padding-bottom: 0;
}

@media(max-width: 767px) {
    .block-supplier .form-search-supplier .search-supplier .btn {
        line-height: 20px;
    }

    .block-supplier {
        padding: 30px 0px 10px;
    }
}

.block-supplier .block-content {}

.block-supplier .block-content marquee {
    max-width: 800px;
    margin: 0px auto;
}

.block-supplier .block-content .img1 {
    text-align: center;
    margin-bottom: 30px;
}

.block-supplier .block-content .img1 img {
    height: 44px;
    display: inline-block;
    margin: 0px 4px;
    background: #fff;
    padding: 8px;
    border-radius: 2px;
}

.block-supplier .block-content .row {
    background: #fff;
    box-shadow: 0px 0px 10px #ddd;
    padding: 22px 8px;
    margin: 0px !important;
    border-radius: 8px;
}

.block-supplier.detail .block-content .row {
    background: none;
    padding: 0;
    box-shadow: none;
    margin: 0px -6px !important;
}

.block-supplier.detail .block-content .row>div {
    padding: 0px 6px;
}

.block-supplier .block-content .row .wrap-item {}

.block-supplier .block-content .row .wrap-item:nth-child(2n+1) {
    clear: both;
}

.block-supplier .block-content .row .wrap-item .item {
    border-top: 1px dashed #ddd;
    padding-top: 14px;
    margin-top: 14px;
}

.block-supplier.detail .block-content .row .wrap-item .item {
    background: #fff;
    padding: 13px !important;
    border-radius: 4px;
}

.block-supplier .block-content .row .wrap-item .item:after {
    content: '';
    display: block;
    clear: both;
}

.block-supplier .block-content .row .wrap-item:nth-child(1) .item,
.block-supplier .block-content .row .wrap-item:nth-child(2) .item {
    padding-top: 0px;
    border-top: none;
    margin-top: 0px;
}

@media(max-width: 767px) {
    .block-supplier .block-content .row .wrap-item:nth-child(2) .item {
        border-top: 1px dashed #ddd;
        padding-top: 14px;
        margin-top: 14px;
    }
}

.block-supplier .block-content .row .wrap-item .item .img {
    float: left;
    width: 200px;
    margin-right: 20px;
    height: 0px;
    padding-bottom: 32%;
    position: relative;
    border: 1px solid #f1f1f1;
    border-radius: 4px;
}

@media(max-width: 767px) {
    .block-supplier .block-content .row .wrap-item .item .img {
        width: 100px;
    }
}

.block-supplier .block-content .row .wrap-item .item .img img {
    position: absolute;
    /* height: 100%; */
    /* width: 100%; */
    /* object-fit: cover; */
    top: 0px;
    left: 0px;
    max-width: 100%;
    max-height: 100%;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    margin: auto;
}

.block-supplier .block-content .row .wrap-item .item h3 {
    margin: 0px 0px 5px;
    line-height: inherit;
    font-size: inherit;
}

.block-supplier .block-content .row .wrap-item .item h3 a {
    color: #444;
    font-weight: 600;
    font-size: 15px;
}

.block-supplier .block-content .row .wrap-item .item:hover h3 a {
    color: #0099be;
}

.block-supplier .block-content .row .wrap-item .item .info {
    font-weight: 300;
    font-size: 13px;
    color: #999;
    max-height: 75px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
}

.block-supplier .block-content .row .wrap-item .item .time {
    margin-top: 10px;
    font-size: 13px;
}

.block-supplier .block-content .row .wrap-item .item .time .map {
    color: #666;
    margin-bottom: 2px;
    display: block;
}

.block-supplier .block-content .row .wrap-item .item .time .map>i {
    margin-right: 2px;
    font-size: 15px;
}

.block-supplier .block-content .row .wrap-item .item .time .sum_product {
    color: var(--main-color);
}


/*Video*/

.block-video {}

.block-video .block-content {}

.block-video .block-content .row {
    margin: 0px -10px;
}

.block-video .block-content .row .wrap-item {
    padding: 0px 10px;
}

@media(max-width: 767px) {
    .block-video .block-content .row .row_home {
        padding: 0;
    }
}

.block-video .block-content .wrap-item {}

.block-video .block-content .wrap-item .item {
    margin: 10px 0px;
    border-radius: 4px;
    overflow: hidden;
}

@media(max-width: 767px) {
    .block-video .block-content .wrap-item .item {
        margin: 4px 0px;
    }
}

.block-video .block-content .wrap-item .item>a {
    display: block;
    height: 0;
    padding-bottom: 60%;
    position: relative;
}

.block-video .block-content .wrap-item .item>a img {
    width: 100%;
    height: 100%;
    position: absolute;
    object-fit: cover;
    align-items: center;
}

.block-video .block-content .wrap-item .item>a i {
    color: #ed1c24;
    position: absolute;
    font-size: 38px;
    width: 30px;
    height: 17px;
    top: 50%;
    left: 0px;
    right: 0px;
    margin: auto;
    margin-top: -8px;
    background: #fff;
    line-height: 18px;
    border-radius: 18px;
}

.block-video .block-content .wrap-item .item h3 {
    margin: 0;
    font-size: 15px;
    text-align: center;
    padding: 18px;
    background: #fff;
    line-height: 1.4;
}

.block-video .block-content .wrap-item .item h3 a {
    display: block;
    height: 40px;
    overflow: hidden;
    text-overflow: ellipsis;
}


/*Album*/

.block-album {}

.block-album .block-content {}

.block-album .block-content .row {
    margin: 0px -10px;
}

.block-album .block-content .row .wrap-item {
    padding: 0px 10px;
}

@media(max-width: 767px) {
    .block-album .block-content .row {
        margin: 0px -8px;
    }

    .block-album .block-content .row .row_home {
        padding: 0;
    }

    .block-album .block-content .row .wrap-item {
        padding: 0px 8px;
    }
}

.block-album .block-content .wrap-item {}

.block-album .block-content .wrap-item .item {
    margin: 10px 0px;
    border-radius: 4px;
    overflow: hidden;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    border-radius: 4px;
    -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
    -webkit-box-shadow: 0 1px 2px rgb(0 0 0 / 15%);
    box-shadow: 0 2px 2px rgb(0 0 0 / 15%);
}

@media(max-width: 767px) {
    .block-album .block-content .wrap-item .item {
        margin: 4px 0px;
    }
}

.block-album .block-content .wrap-item .item>a {
    display: block;
    height: 0;
    padding-bottom: 90%;
    position: relative;
    background: #fff;
}

.block-album .block-content .wrap-item .item>a img {
    width: 100%;
    height: 100%;
    position: absolute;
    object-fit: cover;
    align-items: center;
}

.block-album .block-content .wrap-item .item h3 {
    padding: 25px 15px 18px;
    text-align: center;
    position: relative;
    margin: 0px;
    background: #fff;
}

.block-album .block-content .wrap-item .item h3 i {
    position: absolute;
    z-index: 2;
    left: 50%;
    top: -21px;
    width: 36px;
    height: 36px;
    background: var(--main-color);
    margin-left: -18px;
    line-height: 24px;
    text-align: center;
    color: #fff;
    font-size: 13px;
    padding: 5px 0 0;
    border: 2px solid #fff;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}

.block-album .block-content .wrap-item .item h3 a {
    display: block;
    font-size: 14px;
    color: #444;
    text-decoration: none;
    line-height: 20px;
    height: 40px;
    overflow: hidden;
}


/**/

.sidebar-block-right {
    margin-bottom: 15px;
}

.sidebar-block-right>a {
    display: block;
    margin-bottom: 15px;
}

.sidebar-block-right>h3 {
    margin: 0 0 12px;
    font-size: 18px;
    border-left: 3px solid var(--main-color);
    color: var(--main-color);
    padding-left: 8px;
    text-transform: uppercase;
}

.sidebar-block-right .sidebar-content {
    margin: 0px;
    padding: 0px;
}

.sidebar-block-right .sidebar-content ul {}

.sidebar-block-right .sidebar-content li {
    list-style-type: none;
    background: #fff;
    margin: 0px 0px 8px;
    border-radius: 4px;
    padding: 6px;
}

.sidebar-block-right .sidebar-content li:after {
    content: '';
    display: block;
    clear: both;
}

.sidebar-block-right .sidebar-content li .img {
    float: left;
    width: 90px;
    margin-right: 10px;
    height: 65px;
    position: relative;
}

.sidebar-block-right .sidebar-content li .img>.fa.fa-youtube {
    position: absolute;
    color: #f41111;
    font-size: 24px;
    width: 24px;
    height: 23px;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
}

.sidebar-block-right .sidebar-content li .img>.fa.fa-youtube:before,
.sidebar-block-right .sidebar-content li .img>.fa.fa-image:before {
    position: relative;
    z-index: 1;
}

.sidebar-block-right .sidebar-content li .img>.fa.fa-youtube:after {
    content: '';
    position: absolute;
    width: 14px;
    height: 12px;
    top: 0;
    left: 0;
    right: 0;
    border: 0;
    margin: auto;
    background: #fff;
    z-index: 0;
    margin-top: 6px;
}

.sidebar-block-right .sidebar-content li .img>.fa.fa-image {
    position: absolute;
    color: var(--main-color);
    font-size: 20px;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 22px;
    height: 20px;
}

.sidebar-block-right .sidebar-content li .img>.fa.fa-image:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    background: #fff;
    z-index: 0;
    width: 20px;
    height: 16px;
}

.sidebar-block-right.sidebar-block-product .sidebar-content li .img {
    height: 90px;
    border: 1px solid #f1f1f1;
}

.sidebar-block-right .sidebar-content li .img img {
    position: absolute;
    object-fit: cover;
    height: 100%;
    width: 100%;
}

.sidebar-block-right .sidebar-content li h3 {
    margin: 5px 0px 0px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.3;
    max-height: 50px;
    overflow: hidden;
    float: left;
    width: calc(100% - 100px);
}

.sidebar-block-right .sidebar-content li h3 a {}


/*##### BREADCRUMB #####*/

.wrap-breadcrumb {}

.breadcrumb {
    white-space: nowrap;
    overflow-x: auto;
    background: transparent;
    border-radius: 0px;
    padding: 0px;
    font-size: 14px;
    font-weight: 400;
    color: #555;
    display: block;
    padding-bottom: 0px;
    border-bottom: none;
    margin: 8px 0px;
}

.breadcrumb li+li {
    margin-left: 3px;
}

.breadcrumb li a,
.breadcrumb li span {
    color: #414141;
    margin-right: 3px;
}

.breadcrumb li+li a {
    margin-left: 3px;
}

.breadcrumb li+li::before {
    content: "";
    padding: 0px;
}

.breadcrumb li a,
.breadcrumb li span {
    color: #000;
    line-height: 38px;
}


/*##### END BREADCRUMB #####*/

.modalAlert {
    text-align: center;
}

.modalAlert span.close {}

.modalAlert h3 {
    text-align: center;
    font-size: 30px;
    margin: 20px 0px 25px;
    color: var(--main-color);
}

.modalAlert p {
    text-align: center;
    font-size: 18px;
}

.modalAlert .btn {
    position: relative;
    float: none;
    width: 120px;
    opacity: 1;
    text-shadow: none;
    font-weight: 400;
    margin: 20px auto 10px;
    background: var(--main-color);
    border: none;
    border-bottom: 4px solid var(--main-color-hover);
    color: #fff;
    padding: 9px 0px;
    font-size: 15px;
}

.modal-header {
    text-align: center;
    font-weight: 600;
    font-size: 24px;
}

.modal-footer {
    border-top: none;
    padding-top: 0px;
    margin-bottom: 10px;
    text-align: center;
}

.bootstrap-dialog-message {
    font-size: 18px;
    text-align: center;
    margin: 15px 0px;
}

.img_add_cart {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -9999;
    width: 40px;
    height: 40px;
    margin: auto;
    visibility: hidden;
    opacity: 0;
}

.img_add_cart img {
    width: 0px;
}

.box_addcart_success {
    text-align: center;
    background: rgb(0 0 0 / 0.8);
    color: #fff;
    padding: 20px;
    border-radius: 12px;
    position: fixed;
    z-index: 99999;
    left: 0px;
    bottom: 0px;
    right: 0px;
    top: 0px;
    margin: auto;
    width: 220px;
    height: 115px;
    font-size: 16px;
    display: none;
    letter-spacing: 0.6px;
}

.box_addcart_success img {
    display: inline-block;
    width: 50px;
    margin-bottom: 8px;
}

.address-profile {
    padding: 0px;
    margin: 0;
}

.address-profile li {
    list-style-type: none;
}

.address-profile li label {
    font-weight: 500;
    cursor: pointer;
}

.page404 {
    background: #fff;
    text-align: center;
    padding: 80px 0px;
}

.page404 img {
    height: 160px;
}

.page404 .title1 {
    font-size: 40px;
}

.page404 .title2 {
    font-size: 20px;
}

.page404 .btn {
    margin-top: 20px;
}

.alert {
    position: fixed;
    width: 600px;
    margin: 40px auto 0px;
    left: 0px;
    right: 0px;
}


/**/

.galary-album {
    padding: 20px 0px;
    margin: 0px -3px;
}

.galary-product {
    padding: 6px 0;
}

.galary-album>ul {
    padding: 0px;
    margin: 0px;
}

.galary-album>ul>li {
    list-style: none;
    float: left;
    width: 16.66666667%;
    padding: 3px;
    overflow: hidden;
}

.galary-product>ul>li {
    width: 25%;
}

.galary-product-2>ul>li {
    width: 50%;
}

@media(max-width: 767px) {
    .galary-album>ul>li {
        width: 33.33%;
    }

    .galary-product-2>ul>li,
    .galary-product>ul>li {
        width: 50%;
    }
}

.galary-album>ul>li a {
    display: block;
    height: 100%;
    width: 100%;
    cursor: pointer;
}

.galary-album>ul>li img {
    border-radius: 4px;
    border: 1px solid #ddd;
}

.galary-album>ul>li img:hover {
    opacity: 0.8;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}

.iframe-detail {
    width: 100%;
    border: none;
    margin-bottom: 15px;
}

.view_type_product {
    float: right;
}

.view_type_product span {
    display: inline-block;
    padding: 5px;
    font-size: 20px;
    cursor: pointer;
}

.view_type_product span.active {
    color: var(--main-color);
}


/**/

.download-app {
    box-shadow: 0px 0px 10px #ccc;
    color: #000000de;
    transition: box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
    background-color: #fff;
    max-width: 600px;
    padding: 32px;
    margin: 30px auto;
    border-radius: 5px;
    text-align: center;
}

@media(max-width: 767px) {
    .download-app {
        padding: 15px;
        margin: 8px 0;
    }
}

.download-app>h2 {
    margin: 12px 0px 25px;
    text-align: center;
    font-size: 16px;
    line-height: 1.4;
    font-weight: 400;
}

.download-app>h4 {
    font-size: 18px;
    margin-bottom: 0;
    margin-top: 20px;
    line-height: 1.4;
}

.download-app>a>img {
    max-height: 60px;
    margin-top: 10px;
}

.download-app .row {
    display: flex;
    align-items: center;
}

.down_app {
    text-align: center;
    padding: 0px;
}

.down_app a {
    background: #000;
    padding: 5px 20px;
    display: inline-block;
    border-radius: 5px;
    margin: 8px 0px;
}

.down_app img {
    display: inline-block;
    height: 48px;
}


/**/

.download_app {
    background: #f2f2f2;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    height: 80px;
    position: relative;
    line-height: 15px;
    padding: 8px 0px;
    white-space: nowrap;
    display: none;
}

@media(max-width: 767px) {
    .download_app {
        display: block;
    }
}

.download_app p {
    margin: 0px
}

.download_app>a img {
    width: 62px;
    float: left;
    border-radius: 10px;
    margin: 0px 10px 0px 40px;
    border: 1px solid #e8e8e8;
}

.download_app .name_app a {
    color: #333;
    font-weight: 600;
    font-size: 13px;
}

.download_app .author_app a {
    color: #666;
    font-size: 11px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
    padding-right: 50px;
}

.download_app .start_app {
    display: inline-block;
    height: 9.5px;
    background-image: url(../images/start_app.svg);
    background-size: 10px 19px;
    width: 50px;
    white-space: nowrap;
    background-position: 0 9.5px;
    position: relative;
    top: -1px;
}

.download_app .start_app1 {
    background-position-x: 0;
    background-image: url(../images/start_app.svg);
    width: 45px;
    display: inline-block;
    height: 9.5px;
    background-size: 10px 19px;
    z-index: 1;
    position: absolute;
    top: 0px;
}

.download_app .view_app {
    position: absolute;
    right: 8px;
    top: 0px;
    bottom: 0px;
    margin: auto;
    font-size: 18px;
    height: 26px;
    line-height: 26px;
}

.download_app .view_app a {
    color: var(--main-color);
}

.download_app .close_app {
    position: absolute;
    left: 10px;
    top: 0px;
    bottom: 0px;
    margin: auto;
    width: 24;
    height: 20px;
    text-align: center;
}

.download_app .close_app img {
    width: 15px;
}

.download_app .to_app span {
    display: inline-block;
    width: 18px;
    height: 1px;
    background: #000;
    position: relative;
    top: -4px;
    margin: 0px 3px 0px 2px;
}

.dropdown a {
    color: black;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
}

.dropdown a:hover {
    background-color: #f1f1f1
}

.dropdown:hover .dropdown-menu {
    display: block;
}


/*Banner*/

.top_banner {
    /* margin-top: 15px; */
}

.top_banner .no_flexslider {
    background: none;
    border-radius: 0px;
}

.top_banner .no_flexslider .slides li {
    /* margin-top: 15px; */
}

.bottom_banner {
    padding: 0px 0px 20px;
    background: #fff;
    margin-top: 0px
}

.bottom_banner .row {
    margin: 0px -5px;
}

.bottom_banner .item {
    margin: 0;
    padding: 0px 5px;
}

.bottom_banner .item a {
    display: block;
    background: #fff;
    height: 80px;
    position: relative;
    border: 1px solid #f1f1f1;
    border-radius: 4px;
    margin: 5px 0;
}

.bottom_banner .item a img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    padding: 10px;
    max-width: 100%;
    max-height: 100%;
    width: auto;
}

.left_banner,
.right_banner {
    position: fixed;
    height: 0px;
    transition: all 0.5s ease-in-out;
    z-index: 9;
}

.left_banner {
    left: 0;
}

.right_banner {
    right: 0;
}

@media(max-width: 1409px) {

    .left_banner,
    .right_banner {
        display: none;
    }
}

.left_banner img,
.right_banner img {
    max-width: 120px;
    border: none;
    display: block;
}

.left_banner a+a img,
.right_banner a+a img {
    margin-top: 5px;
}

.bottom-left-banner,
.bottom-right-banner {
    position: fixed;
    left: 0px;
    bottom: 0px;
    z-index: 100;
    max-width: 12%;
    display: none;
}

@media(max-width: 767px) {

    .bottom-left-banner,
    .bottom-right-banner {
        display: none !important;
    }
}

.bottom-right-banner {
    left: auto;
    right: 0px;
}

.bottom-left-banner img,
.bottom-right-banner img {
    border: none;
    max-width: 100%;
}

.bottom-left-banner .close,
.bottom-right-banner .close {
    position: absolute;
    top: 0px;
    right: 15px;
    color: #414141;
    z-index: 100;
    font-size: 16px;
    cursor: pointer;
    padding: 6px;
    opacity: 1;
    font-weight: 400;
}

.bottom-left-banner .close,
.bottom-right-banner .close {
    right: 0px;
}

.popup-banner {
    position: fixed;
    top: 0px;
    bottom: 0px;
    left: 0px;
    right: 0px;
    background: rgba(0, 0, 0, 0.6);
    z-index: 100;
    display: none;
}

.popup-banner img {
    max-width: 96%;
    max-height: 100%;
    position: absolute;
    top: 0px;
    bottom: 0px;
    left: 0px;
    right: 0px;
    margin: auto;
    border: none;
}

.popup-banner .close {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 9;
    color: #fff;
    text-shadow: none;
    opacity: 1;
    background: #f00;
    padding: 9px;
    cursor: pointer;
}

.out_top_banner {
    text-align: center;
}

.out_top_banner img {
    width: 100%;
}

.sidebar_banner a+a {
    margin-top: 10px;
    display: block;
}

/**/

.article {
    margin-bottom: 15px;
}

.article .block-content {}

.article .block-content ul {
    padding: 0;
}

.article .block-content ul li {
    padding: 0;
    margin: 0;
    list-style-type: none;
}

.article .block-content ul li h3 {
    margin: 10px 0px;
    font-size: 15px;
    font-weight: 400;
}

.article .block-content ul li h3 i {}


/**/

.register11 {
    padding: 70px 0px 70px;
    /* background: url(../imgs/about1.jpeg) no-repeat; */
    /* background-size: cover; */
    position: relative;
}

/* .register11::before {
    content: '';
    position: absolute;
    background: rgb(255 255 255 / 0.7);
    top: 0px;
    left: 0px;
    height: 100%;
    width: 100%;
    z-index: 1;
}
 */
.register11 .content {
    padding: 25px;
    box-shadow: 0px 0px 25px #bfbfbf;
    position: relative;
    z-index: 2;
    background: #f9f9f9;
}

@media(max-width: 767px) {
    .register11 {
        padding: 20px 0px 20px;
    }

    .register11 .content {
        padding: 16px;
    }
}

.register11 .content .content1 {
    background: #fff;
    padding: 60px 30px;
}

@media(max-width: 767px) {
    .register11 .content .content1 {
        padding: 15px;
    }
}

.register11 .row .info .item {
    font-size: 14px;
    line-height: 1.5;
    margin-bottom: 15px;
    position: relative;
    padding-top: 35px;
}

.register11 .row .item1 .iframe>h2 {
    margin: 0px 0px 15px;
    text-align: center;
    text-transform: uppercase;
    color: var(--main-color);
    font-size: 22px;
    font-weight: 600;
    line-height: 1.4;
    padding-top: 0px;
}

.register11 .row .item1 .iframe .form-group label {
    font-weight: 500;
    display: block;
}

.register11 .row .item1 .iframe .short_info {
    text-align: center;
    margin-bottom: 15px;
    margin-top: -10px;
}

.span-error {
    color: red;
    display: block;
    font-size: 13px;
    margin-top: 5px;
}


/*register-popup*/

.register-popup {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1050;
    overflow: hidden;
    -webkit-overflow-scrolling: touch;
    outline: 0;
    -webkit-transition: opacity .15s linear;
    -o-transition: opacity .15s linear;
    transition: opacity .15s linear;
    visibility: hidden;
    opacity: 0;
}

.register-popup.active {
    opacity: 1;
    visibility: visible;
}

.register-popup .content {
    max-width: 550px;
    margin: 20px auto 0px;
    background: #fff;
    position: relative;
    background-color: #fff;
    -webkit-background-clip: padding-box;
    background-clip: padding-box;
    border: 1px solid #999;
    border: 1px solid rgba(0, 0, 0, .2);
    border-radius: 6px;
    outline: 0;
    -webkit-box-shadow: 0 3px 9px rgb(0 0 0 / 50%);
    box-shadow: 0 3px 9px rgb(0 0 0 / 50%);
    padding: 25px 35px;
}

.register-popup .content .close {}

.register-popup .content .form {}

.register-popup .content .title {
    margin: 20px 0 20px;
    text-align: center;
}

.register-popup .content .information {
    text-align: center;
    line-height: 1.5;
}

.register-popup .content .form-default {}

.register-popup .content .form-group {}

.register-popup .content .form-group input,
.register-popup .content .form-group select,
.register-popup .content .form-group textarea {}

.overlay-form-popup {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 500;
    background-color: #000;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity .15s linear;
    -o-transition: opacity .15s linear;
    transition: opacity .15s linear;
}

.register-popup.active+.overlay-form-popup {
    opacity: 0.5;
    visibility: visible;
}


/*register-popup*/


/**/

.modal-form-success {}

.modal-form-success .modal-body {
    padding: 25px;
    text-align: center;
}

@media(max-width: 767px) {
    .modal-form-success .modal-body {
        padding: 20px 12px;
    }
}

.modal-form-success .modal-body button {
    opacity: 1;
    text-shadow: none;
    float: none;
    background: var(--main-color);
    border: 1px solid var(--main-color-hover);
    color: #fff;
    height: 46px;
    width: auto;
    border-radius: 3px;
    font-size: 15px;
    padding: 0px 30px;
    margin-top: 14px;
    text-transform: uppercase;
    box-shadow: 1px 1px 3px #999;
    -webkit-transition: all 0.5s ease-in-out;
    -moz-transition: all 0.5s ease-in-out;
    -o-transition: all 0.5s ease-in-out;
    -ms-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
}

.modal-form-success .modal-body button:hover {
    background: var(--main-color-hover);
}

.modal-form-success .modal-body .in {
    color: var(--main-color);
    border: 1px solid var(--main-color);
    font-size: 60px;
    line-height: 80px;
    text-align: center;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    margin: 15px auto 0px;
}

.modal-form-success .modal-body h3 {
    text-align: center;
    font-size: 20px;
    font-weight: 600;
    margin: 30px 0px 12px;
    line-height: 1.2;
    color: #555;
}

.modal-form-success .modal-body h4 {
    color: #555;
    font-size: 16px;
    margin-bottom: 10px;
}

.modal-form-success .modal-body p {
    text-align: center;
    font-size: 26px;
    font-weight: 300;
}


/**/

.owl-controls .owl-buttons div {
    position: absolute;
    top: 50%;
    left: 8px;
    font-size: 20px;
    height: 40px;
    width: 30px;
    line-height: 40px;
    text-align: center;
    margin-top: -21px;
    background: rgb(0 0 0 / 30%);
    color: #fff;
    -webkit-transition: all 0.2s linear;
    -moz-transition: all 0.2s linear;
    -o-transition: all 0.2s linear;
    -ms-transition: all 0.2s linear;
    transition: all 0.2s linear;
}

.owl-controls .owl-buttons div:hover {
    background: var(--main-color);
}

.owl-controls .owl-buttons div.owl-next {
    left: auto;
    right: 8px;
}

.tab-content>.active {
    display: block;
}


/* Stock Display Styles */

.stock-info {
    margin: 8px 0;
}

.stock-label {
    font-size: 14px;
    color: #333;
}

.stock-value {
    font-weight: bold;
    padding: 2px 6px;
    border-radius: 3px;
    font-size: 13px;
}

.stock-available {
    color: #28a745;
    background-color: #d4edda;
}

.stock-out {
    color: #dc3545;
    background-color: #f8d7da;
}

.stock_label {
    position: absolute;
    top: 2px;
    right: 2px;
    background: rgba(40, 167, 69, 0.9);
    color: white;
    padding: 2px 6px;
    border-radius: 5px 0px;
    font-size: 12px;
    font-weight: 500;
    z-index: 2;
}

.slick-dots li.slick-active button,
.slick-dots li.slick-active span {
    background-color: #fff !important;
}

.logo-footer img {
    /* max-width: 350px; */
    /* margin-bottom: 20px; */
    padding-top: 50px;
}

.social-footer {
    list-style-type: none;
    padding: 0;
    margin: 0;
    text-align: center;
}

.social-footer li {
    display: inline-block;
    margin: 0 6px 8px 0;
}

.social-footer li>a {
    width: 30px;
    height: 30px;
    font-size: 12px;
    color: #000;
    line-height: 28px;
    border: 1px solid #ccc9e9;
    display: inline-block;
    text-align: center;
    transition: all 0.2s linear;
    border-radius: 50%;
}

.social-footer li>a:hover {
    background: #284480;
    border-color: #284480;
    color: #fff;
}

.logo-footer {
    text-align: center;
}

.social {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 18px;
    margin-bottom: 25px;
    padding: 0;
}

.social a.social-item,
.social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    color: #eee7e0;
    border: 1px solid rgba(255, 255, 255, 0.15);
    font-size: 16px;
    line-height: 1;
    text-decoration: none;
    transition: all 0.25s ease-in-out;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}

.social a.social-item:hover,
.social a:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.35);
    color: #ffffff;
    border-color: transparent;
}

.social a.social-item.facebook:hover,
.social a.facebook:hover {
    background: #1877f2;
}

.social a.social-item.youtube:hover,
.social a.youtube:hover {
    background: #ff0000;
}

.social a.social-item.tiktok:hover,
.social a.tiktok:hover {
    background: #000000;
}

.social a.social-item.zalo,
.social a.zalo {
    padding: 1px;
}

.social a.social-item.zalo:hover,
.social a.zalo:hover {
    background: #0068ff;
    border-color: #0068ff;
}

.social a.social-item.instagram:hover,
.social a.instagram:hover {
    background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
}

.social a.social-item svg,
.social a svg {
    display: block;
    width: 20px;
    height: 20px;
    transition: transform 0.2s ease;
}

.social a.social-item:hover svg,
.social a:hover svg {
    transform: scale(1.08);
}

@media (max-width:767px) {
    .logo-footer {
        text-align: left;
    }

    .logo-footer img {
        /* max-width: 300px; */
        margin: 0px auto 10px;
        padding-top: 0;
        max-width: 85%;
    }

    .social {
        margin-top: 10px;
        margin-bottom: 25px;
        gap: 10px;
        justify-content: flex-start;
    }

    .social a.social-item,
    .social a {
        width: 44px;
        height: 44px;
        font-size: 15px;
    }

    .social a.social-item svg,
    .social a svg {
        width: 18px;
        height: 18px;
    }
}

.flipbook-viewport {
    /* overflow: hidden; */
    width: 100%;
    height: 100%;
    margin: 0px auto;
    position: relative;
    box-sizing: border-box;
    padding: 20px 20px 44px;
    touch-action: none;
    user-select: none;
    -webkit-user-drag: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.flipbook-viewport .flipbook-bf {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

.page-wrapper {
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.flipbook-pages {
    transition: margin-left 0.2s ease;
    overflow: hidden;
    z-index: 70;
}

.flipbook-viewport .page {
    backface-visibility: hidden;
    transform-style: preserve-3d;
    will-change: transform;
    pointer-events: auto;
}

.flipbook-pages .page::after {
    content: "";
    position: absolute;
    top: 0;
    width: 40px;
    height: 100%;
    z-index: 10;
    pointer-events: none;
}

.flipbook-viewport .page .page-item {
    background-color: #fff;
    border-radius: 4px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    border-right: 1px solid #ddd;
    border-left: 1px solid #ddd;
    position: relative;
    /* height: 100%; */
}

.flipbook-pages .even .page-item::after {
    left: 0;
    background: linear-gradient(to left, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.15) 100%);
}

.flipbook-pages .odd .page-item::after {
    right: 0;
    background: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.15) 100%);
}

.flipbook-viewport .page img {
    width: 100%;
    /* height: 100%; */
    object-fit: contain;
    display: block;
    image-rendering: auto;
    backface-visibility: hidden;
    transform-style: preserve-3d;
}

.flipbook-viewport .turn-prev,
.flipbook-viewport .turn-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    z-index: 99;
    width: 70px;
    height: 70px;
    line-height: 70px;
    border: none;
    background: #cecece;
    border-radius: 100%;
    font-size: 150%;
    color: #fff;
    font-weight: 900;
    pointer-events: auto;
    z-index: 998;
}

.flipbook-viewport .turn-prev {
    left: 0;
}

.flipbook-viewport .turn-next {
    right: 0;
}

.turn-page {
    perspective: 1200px;
}

@media (max-width: 767px) {

    .flipbook-viewport .turn-prev,
    .flipbook-viewport .turn-next {
        width: 40px;
        height: 40px;
        line-height: 40px;
    }
}

.contact p {
    font-size: 15px;
    margin: 6px 0px;
}

/**/
.culture {
    padding: 50px;
}

.culture .title {
    font-size: 1.875rem;
    line-height: 2.25rem;
    color: #fff;
}

.shadow-xl {
    --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    background-color: #fff;
    padding: 25px;
    border-radius: 20px;
    margin: 20px 0 0 0;
}

.line-detail-pro {
    text-align: center;
    position: relative;
    margin: 10px 0 8px 0;
}

.line-detail-pro img {}

/**/

.orther_1 {}

.orther_1 ul {
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}

.orther_1 ul li {
    list-style-type: none;
    position: relative;
    padding: 0 0 0 54px;
    margin: 25px 0;
}

.orther_1 ul li img {
    height: 42px;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}

.orther_1 ul li .name {
    font-size: 16px;
    text-transform: uppercase;
    font-weight: 700;
    margin: 0px 0 2px;
    background: linear-gradient(135deg, rgb(0, 45, 98) 0%, rgb(230, 95, 18) 100%) text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
}

@media(max-width: 767px) {
    .orther_1 ul li img {
        height: 32px;
    }

    .orther_1 ul li {
        padding: 0 0 0 40px;
        margin: 10px 0;
    }

    .orther_1 ul li .name {
        font-size: 14px;
    }
}

.orther_1 ul li .info1 {}

/**/
.orther_2 {}

.orther_2 .title2,
.orther_3 .title2,
.orther_4 .title2,
.orther_6 .title2 {
    text-transform: uppercase;
    background: linear-gradient(135deg, rgb(0, 45, 98) 0%, rgb(230, 95, 18) 100%) text;
    -webkit-text-fill-color: transparent;
    font-weight: 700;
    font-size: 20px;
    display: inline-block;
    margin: 5px 0 6px 0;
    padding: 4px 0 0 0;
}

.orther_2 ul,
.orther_4 ul {
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.orther_4 ul,
.orther_6 ul {
    display: block;
}

@media(max-width: 767px) {
    .orther_4 ul {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }

    .orther_3 {
        padding: 0 0px;
    }

    .orther_3 .galary-product {
        margin: 0;
    }

    .wrap_orther_3 .row {
        margin: 0 -10px;
    }

    .wrap_orther_3 .row>div {
        padding: 0 10px;
    }
}

.orther_2 ul li,
.orther_4 ul li {
    list-style-type: none;
    position: relative;
    padding: 0 0 0 0px;
    margin: 10px 6px 10px 0;
    display: inline-block;
}

.orther_4 ul li {
    display: block;
    padding: 0 0 0 42px;
    margin: 18px 0;
}

@media(max-width: 767px) {
    .orther_5 ul {
        grid-template-columns: repeat(1, 1fr);
    }

    .orther_5 ul li {
        padding: 0 0 0 35px;
        margin: 6px 0;
    }
}

.orther_2 ul li img {
    height: 26px;
    margin: 0 8px 4px 0;
}

.orther_4 ul li span {
    width: 30px;
    height: 26px;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    text-align: center;
}

.orther_4 ul li img {
    max-width: 100%;
    max-height: 100%;
}

.orther_2 ul li .name,
.orther_4 ul li .name {
    text-transform: uppercase;
    font-weight: 700;
    margin: 0px 0 2px;
    /* background: linear-gradient(135deg, rgb(0, 45, 98) 0%, rgb(230, 95, 18) 100%) text; */
    /* -webkit-text-fill-color: transparent; */
    display: inline-block;
    color: var(--totl-primary-font-color);
}

@media(max-width: 767px) {
    .orther_2 ul li .name {
        margin-top: 4px;
    }
}

.orther_5 ul li .name {
    text-transform: none;
}

/**/
.orther_3 {}

.orther_3 .owl1 {
    overflow: hidden;
    border-radius: 10px;
    border: 1px solid #ddd;
    margin: 10px 0 0 0;
}

.orther_3 .slick-dots {
    position: absolute;
    left: 0;
    width: 100%;
    bottom: 0;
}

/**/
.minhhoa {
    font-size: 15px;
    margin: 6px 0 0 0;
    font-style: italic;
}

.wrap_orther_4 {
    display: flex;
    margin: 25px 0;
}

.wrap_orther_4>div:first-child {
    border-right: 2px solid var(--totl-primary-font-color);
    padding-right: 30px;
}

.wrap_orther_4>div:last-child {
    padding-left: 30px;
}

@media(max-width: 767px) {
    .minhhoa {
        padding: 0 0px;
    }

    .wrap_orther_4 {
        display: block;
        margin: 0;
    }

    .wrap_orther_4>div:first-child,
    .wrap_orther_4>div:last-child {
        padding: 0;
        border: none;
    }
}

/**/
.orther_4_pk {
    text-align: center;
}

.orther_4_pk img {
    max-width: 80%;
    margin: 10px 0 0 0;
}

/**/

.orther_6 ul {
    padding: 0;
    margin: 10px 0 0 0;
}

.orther_6 ul li {
    list-style-type: none;
    /* display: flex; */
    align-items: center;
    justify-content: space-around;
    border: 1px solid #777;
    margin: -1px 0;
}

.orther_6 ul li .name {
    display: inline-block;
    min-width: 49%;
    padding: 6px 10px;
}

.orther_6 ul li .name:first-child {
    border-right: 1px solid #777;
}

/**/

/* product_detail_v2 */

.product_detail_v2 .section-padding {
    padding: 50px 0;
}

.product_detail_v2 .section-header {
    text-align: center;
    margin-bottom: 70px;
}

.product_detail_v2 .section-subtitle {
    font-family: 'Open Sans', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--orange);
    margin-bottom: 15px;
    display: block;
}

@media(max-width: 767px) {
    .product_detail_v2 .section-header {
        margin-bottom: 30px;
        margin-top: 0;
    }

    .product_detail_v2 .section-subtitle {
        margin-bottom: 15px;
        margin-top: 5px;
    }
}

.product_detail_v2 .section-title {
    font-size: 34px;
    color: var(--navy);
    font-weight: 600;
}

/* Hero Section */
.product_detail_v2 .hero-section {
    position: relative;
    height: 100vh;
    min-height: 600px;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    color: #fff;
}

.product_detail_v2 .hero-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(90deg, rgba(26, 54, 93, 0.85) 0%, rgba(26, 54, 93, 0.3) 50%, rgba(0, 0, 0, 0) 100%);
}

.product_detail_v2 .hero-content {
    position: relative;
    z-index: 10;
    max-width: 700px;
    padding-top: 50px;
}

@media(max-width: 767px) {
    .product_detail_v2 .hero-section::before {
        background: linear-gradient(140deg, rgba(26, 54, 93, 0.85) 0%, rgba(26, 54, 93, 0.3) 70%, rgba(0, 0, 0, 0) 100%);
    }

    .product_detail_v2 .hero-content {
        padding-top: 50px;
    }
}

.product_detail_v2 .hero-pretitle {
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    letter-spacing: 4px;
    margin-bottom: 20px;
    color: var(--orange);
    text-transform: uppercase;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 15px;
}

.product_detail_v2 .hero-pretitle::after {
    content: '';
    height: 1px;
    width: 60px;
    background-color: var(--orange);
}

.product_detail_v2 .hero-title {
    font-size: 60px;
    line-height: 1;
    margin-bottom: 20px;
    font-weight: 700;
    color: #fff;
    letter-spacing: -2px;
}

.product_detail_v2 .hero-code {
    font-family: 'Open Sans', sans-serif;
    font-size: 24px;
    letter-spacing: 2px;
    margin-bottom: 40px;
    font-weight: 300;
    color: rgba(255, 255, 255, 0.9);
}

.product_detail_v2 .hero-specs {
    display: block;
    margin-bottom: 40px;
    padding-bottom: 40px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.product_detail_v2 .hero-specs-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px 40px;
    width: 100%;
}

.product_detail_v2 .spec-group {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.product_detail_v2 .spec-group .label {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: rgba(255, 255, 255, 0.6);
    text-align: left;
    padding: 0;
}

.product_detail_v2 .spec-group .value {
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 1px;
    line-height: 1.2;
}

.product_detail_v2 .hero-features {
    display: flex;
    gap: 50px;
    margin: 20px 0;
}

.product_detail_v2 .hero-features:nth-last-child(2) {
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    padding-bottom: 20px;
}

.product_detail_v2 .feature-item {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 120px;
}

.product_detail_v2 .feature-icon {
    color: var(--orange);
    width: 26px;
    text-align: center;
}

@media(max-width: 767px) {
    .product_detail_v2 .feature-icon {
        width: 40px;
        text-align: center;
    }

}

.product_detail_v2 .feature-icon span {
    font-size: 28px;
    font-weight: 300;
}

.product_detail_v2 .feature-icon img {
    height: 20px;
    width: auto;
}

.product_detail_v2 .feature-text {
    font-family: 'Open Sans', sans-serif;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.4;
    font-weight: 500;
}

/* Gallery Section */
.product_detail_v2 .gallery-section {
    background-color: var(--bg-light);
}

@media(max-width: 767px) {
    .product_detail_v2 .gallery-section {
        padding: 30px 0px 12px !important;
    }
}

.product_detail_v2 .gallery-container {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0px;
}

.product_detail_v2 .gallery-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 20px;
}

.product_detail_v2 .gallery-text h2 {
    font-size: 40px;
    line-height: 1.2;
    margin-bottom: 20px;
    font-weight: 600;
}

@media(max-width: 767px) {
    .product_detail_v2 .gallery-text h2 {
        font-size: 24px;
        font-weight: 600;
    }

    .product_detail_v2 .feature-item {
        gap: 6px;
    }

    .product_detail_v2 .hero-specs {
        padding: 15px 10px;
    }

    .product_detail_v2 .hero-specs-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    .product_detail_v2 .spec-group .label {
        font-size: 11px;
    }

    .product_detail_v2 .spec-group .value {
        font-size: 14px;
    }

    .product_detail_v2 .hero-features {
        gap: 15px;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }
}

.product_detail_v2 .gallery-text .short_info {
    color: var(--text-muted);
    font-size: 16px;
    font-weight: 300;
    max-width: 1000px;
}

@media(max-width: 767px) {
    .product_detail_v2 .gallery-text .short_info {
        font-size: 16px;
        line-height: 1.4;
        max-width: 100%;
        text-align: justify;
    }
}

.product_detail_v2 .btn-outline-navy {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    border: 1px solid var(--navy);
    color: var(--navy);
    padding: 16px 35px;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 11px;
    font-weight: 600;
    transition: all 0.3s ease;
}

.product_detail_v2 .btn-outline-navy:hover {
    background-color: var(--navy);
    color: #fff;
}

.product_detail_v2 .masonry-gallery {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(2, 300px);
    gap: 20px;
}

/* Quantity Queries for Masonry Gallery (Handles 1 to 5+ items dynamically) */

/* 1 Item */
.product_detail_v2 .masonry-gallery:has(> :first-child:nth-last-child(1)) {
    grid-template-rows: 600px;
}

.product_detail_v2 .masonry-gallery:has(> :first-child:nth-last-child(1)) .masonry-item {
    grid-column: span 4;
    grid-row: span 1;
}

/* 2 Items */
.product_detail_v2 .masonry-gallery:has(> :first-child:nth-last-child(2)) .masonry-item {
    grid-column: span 2;
    grid-row: span 2;
}

/* 3 Items */
.product_detail_v2 .masonry-gallery:has(> :first-child:nth-last-child(3)) .masonry-item:nth-child(1) {
    grid-column: span 2;
    grid-row: span 2;
}

.product_detail_v2 .masonry-gallery:has(> :first-child:nth-last-child(3)) .masonry-item:nth-child(n+2) {
    grid-column: span 2;
    grid-row: span 1;
}

/* 4 Items */
.product_detail_v2 .masonry-gallery:has(> :first-child:nth-last-child(4)) .masonry-item:nth-child(1) {
    grid-column: span 2;
    grid-row: span 2;
}

.product_detail_v2 .masonry-gallery:has(> :first-child:nth-last-child(4)) .masonry-item:nth-child(2) {
    grid-column: span 1;
    grid-row: span 2;
}

.product_detail_v2 .masonry-gallery:has(> :first-child:nth-last-child(4)) .masonry-item:nth-child(n+3) {
    grid-column: span 1;
    grid-row: span 1;
}

/* 5 Items */
.product_detail_v2 .masonry-gallery:has(> :first-child:nth-last-child(5)) .masonry-item:nth-child(1) {
    grid-column: span 2;
    grid-row: span 2;
}

.product_detail_v2 .masonry-gallery:has(> :first-child:nth-last-child(5)) .masonry-item:nth-child(n+2) {
    grid-column: span 1;
    grid-row: span 1;
}

/* 6 Items */
.product_detail_v2 .masonry-gallery:has(> :first-child:nth-last-child(6)) {
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, 250px);
}

.product_detail_v2 .masonry-gallery:has(> :first-child:nth-last-child(6)) .masonry-item {
    grid-column: span 1;
    grid-row: span 1;
}

/* 7 Items */
.product_detail_v2 .masonry-gallery:has(> :first-child:nth-last-child(7)) {
    grid-template-rows: repeat(2, 250px);
}

.product_detail_v2 .masonry-gallery:has(> :first-child:nth-last-child(7)) .masonry-item:nth-child(-n+5) {
    grid-column: span 1;
    grid-row: span 1;
}

.product_detail_v2 .masonry-gallery:has(> :first-child:nth-last-child(7)) .masonry-item:nth-child(n+6) {
    grid-column: span 2;
    grid-row: span 1;
}

/* 8 Items */
.product_detail_v2 .masonry-gallery:has(> :first-child:nth-last-child(8)) {
    grid-template-rows: repeat(2, 250px);
}

.product_detail_v2 .masonry-gallery:has(> :first-child:nth-last-child(8)) .masonry-item {
    grid-column: span 1;
    grid-row: span 1;
}

/* Unified Image Gallery Styling */
.product_detail_v2 .masonry-item,
.product_detail_v2 .photo-grid-item,
.product_detail_v2 .factory-item-main,
.product_detail_v2 .factory-item-sub,
.product_detail_v2 .factory-item {
    position: relative;
    overflow: hidden;
    border-radius: 12px;
    border: 1px solid rgba(26, 54, 93, 0.15);
    box-shadow: 0 8px 30px rgba(26, 54, 93, 0.08);
    transition: border-color 0.4s, box-shadow 0.4s cubic-bezier(0.25, 1, 0.5, 1), transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
    background-color: #fff;
}

@media(max-width: 767px) {

    .product_detail_v2 .masonry-item,
    .product_detail_v2 .photo-grid-item,
    .product_detail_v2 .factory-item-main,
    .product_detail_v2 .factory-item-sub,
    .product_detail_v2 .factory-item {
        border-radius: 8px;
    }
}

.product_detail_v2 .masonry-item:hover,
.product_detail_v2 .photo-grid-item:hover,
.product_detail_v2 .factory-item-main:hover,
.product_detail_v2 .factory-item-sub:hover,
.product_detail_v2 .factory-item:hover {
    border-color: var(--orange);
    box-shadow: 0 20px 40px rgba(26, 54, 93, 0.16);
    transform: translateY(-4px);
}

.product_detail_v2 .masonry-item>a,
.product_detail_v2 .photo-grid-item>a,
.product_detail_v2 .factory-item-main>a,
.product_detail_v2 .factory-item-sub>a,
.product_detail_v2 .factory-item>a {
    display: block;
    width: 100%;
    height: 100%;
}

.product_detail_v2 .masonry-item img,
.product_detail_v2 .photo-grid-item img,
.product_detail_v2 .factory-item-main img,
.product_detail_v2 .factory-item-sub img,
.product_detail_v2 .factory-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.8s cubic-bezier(0.25, 1, 0.5, 1);
    /* position: absolute;
    left: 0;
    top: 0;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    bottom: 0;
    margin: auto; */
}

.product_detail_v2 .full-photo-grid-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media(max-width: 767px) {

    .product_detail_v2 .masonry-item img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
    }

    .product_detail_v2 .photo-grid-item img,
    .product_detail_v2 .factory-item-main img,
    .product_detail_v2 .factory-item-sub img,
    .product_detail_v2 .factory-item img {
        /* width: auto; */
        /* height: auto; */
        object-fit: cover;
        transition: transform 0.8s cubic-bezier(0.25, 1, 0.5, 1);
        position: absolute;
        left: 0;
        top: 0;
        max-width: 100%;
        max-height: 100%;
        /* object-fit: contain; */
        bottom: 0;
        margin: auto;
    }

    .product_detail_v2 .full-photo-grid-item img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}

.product_detail_v2 .masonry-item:hover img,
.product_detail_v2 .photo-grid-item:hover img,
.product_detail_v2 .factory-item-main:hover img,
.product_detail_v2 .factory-item-sub:hover img,
.product_detail_v2 .factory-item:hover img {
    transform: scale(1.06);
}

.product_detail_v2 .masonry-item-large {
    grid-column: span 2;
    grid-row: span 2;
}

.product_detail_v2 .masonry-item-tall {
    grid-column: span 1;
    grid-row: span 2;
}

/* Product Story */
.product_detail_v2 .product-story-section {
    background-color: var(--bg-white);
    position: relative;
    overflow: hidden;
}

@media(max-width: 767px) {
    .product_detail_v2 .product-story-section {
        padding: 0px 0px 0px !important;
    }
}

.product_detail_v2 .story-container {
    display: flex;
    gap: 40px;
    align-items: center;
}

.product_detail_v2 .story-content {
    flex: 1;
    padding-right: 40px;
}

.product_detail_v2 .story-title {
    font-size: 40px;
    margin-bottom: 20px;
    font-weight: 600;
}

.product_detail_v2 .story-desc {
    color: var(--text-muted);
    font-size: 16px;
    line-height: 1.6;
    font-weight: 300;
    margin-bottom: 30px;
}

.product_detail_v2 .story-image-wrapper {
    flex: 1;
    position: relative;
}

.product_detail_v2 .story-image-wrapper::before {
    content: '';
    position: absolute;
    top: -20px;
    left: -20px;
    width: 100%;
    height: 100%;
    border: 1px solid var(--orange);
    z-index: 0;
    border-radius: 10px;
}

@media(max-width: 767px) {
    .product_detail_v2 .story-desc {
        margin-bottom: 20px;
    }

    .product_detail_v2 .story-image-wrapper::before {
        top: -5px;
        left: -5px;
        border-radius: 12px;
        display: none;
    }
}

.product_detail_v2 .story-image {
    position: relative;
    z-index: 1;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.08);
    width: 100%;
    border-radius: 10px;
    border: 1px solid rgba(26, 54, 93, 0.15);
    box-shadow: 0 8px 30px rgba(26, 54, 93, 0.08);
    transition: transform 0.8s cubic-bezier(0.25, 1, 0.5, 1);
}

@media(max-width: 767px) {
    .product_detail_v2 .story-image {
        border-color: var(--main-color);
    }
}

.product_detail_v2 .story-image:hover {
    transform: scale(1.06);
}

.product_detail_v2 .story-specs {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
}

.product_detail_v2 .story-spec-item {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

.product_detail_v2 .story-spec-icon {
    color: var(--orange);
    background: rgba(243, 100, 33, 0.1);
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.product_detail_v2 .story-spec-icon span {
    font-size: 24px;
    font-weight: 300;
}

.product_detail_v2 .story-spec-info {
    display: flex;
    flex-direction: column;
}

.product_detail_v2 .story-spec-label {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: var(--text-muted);
    margin-bottom: 5px;
}

.product_detail_v2 .story-spec-value {
    font-family: 'Open Sans', sans-serif;
    font-size: 20px;
    color: var(--navy);
    font-weight: 600;
}

@media(max-width: 767px) {
    .product_detail_v2 .story-specs {
        gap: 15px;
    }

    .product_detail_v2 .story-spec-item {
        gap: 10px;
    }

    .product_detail_v2 .story-spec-value {
        font-size: 16px;
    }
}

/* Suitability */
.product_detail_v2 .suitability-section {
    background-color: var(--navy);
    color: #fff;
    position: relative;
    padding: 80px 0;
}

.product_detail_v2 .suitability-section .section-title {
    color: #fff;
}

.product_detail_v2 .suitability-section .section-header {
    text-align: left;
    margin-bottom: 50px;
}

@media(max-width: 767px) {
    .product_detail_v2 .suitability-section {
        padding: 50px 0px 15px;
    }

    .product_detail_v2 .suitability-section .section-header {
        margin-bottom: 20px;
    }

    .product_detail_v2 .suitability-section .section-title {
        font-size: 24px;
    }
}

.product_detail_v2 .suitability-section .section-subtitle {
    color: rgba(255, 255, 255, 0.7);
}

.product_detail_v2 .suitability-section .segment-display .info {
    color: rgba(255, 255, 255, 0.7);
    font-size: 14px;
    max-width: 300px;
    margin: 0 auto;
}

.product_detail_v2 .photo-gallery-section {
    background-color: #fff;
    margin-bottom: 0px;
}

.product_detail_v2 .factory-gallery-section {
    background-color: #f9f9f9;
    margin-bottom: 0px;
}

.product_detail_v2 .suitability-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    align-items: center;
}

.product_detail_v2 .segment-display {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 60px;
    border-radius: 12px;
    text-align: center;
    backdrop-filter: blur(10px);
}

.product_detail_v2 .segment-seal {
    width: 200px;
    height: 200px;
    margin: 0 auto 30px;
    border: 2px dashed rgba(243, 100, 33, 0.4);
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
}

.product_detail_v2 .segment-seal>img {
    height: 30px;
}

.product_detail_v2 .segment-seal::after {
    content: '';
    position: absolute;
    top: 10px;
    left: 10px;
    right: 10px;
    bottom: 10px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 50%;
}

.product_detail_v2 .segment-seal .icon {
    color: var(--orange);
    font-size: 36px;
    margin-bottom: 10px;
    font-weight: 300;
}

.product_detail_v2 .segment-seal .level {
    font-family: 'Open Sans', sans-serif;
    font-size: 28px;
    font-weight: 500;
    color: #fff;
    margin-bottom: 10px;
    z-index: 2;
}

.product_detail_v2 .segment-seal .stars {
    color: var(--orange);
    display: flex;
    gap: 4px;
    z-index: 2;
}

.product_detail_v2 .application-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

.product_detail_v2 .app-item {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 20px;
    background: rgba(0, 0, 0, 0.2);
    border-radius: 8px;
    transition: background 0.3s;
}

.product_detail_v2 .app-item:hover {
    background: rgba(243, 100, 33, 0.1);
}

.product_detail_v2 .app-icon {
    color: var(--orange);
}

.product_detail_v2 .app-icon>img {
    max-width: 32px;
    max-height: 30px;
}

.product_detail_v2 .app-icon span {
    font-size: 28px;
    font-weight: 300;
}

.product_detail_v2 .app-text {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.product_detail_v2 .app-title {
    font-weight: 700;
    margin-bottom: 4px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
}

.product_detail_v2 .app-desc {
    font-weight: 400;
    font-size: 12px;
    opacity: 0.8;
    text-transform: none;
    letter-spacing: normal;
}

/* Footer */
.product_detail_v2 .footer-cta {
    background-color: var(--navy);
    color: #fff;
    padding: 40px 0 50px;
}

.product_detail_v2 .cta-container {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.product_detail_v2 .cta-text h2 {
    font-size: 26px;
    margin-bottom: 20px;
    color: #fff;
    line-height: 1.4;
}

.product_detail_v2 .cta-text p {
    color: rgba(255, 255, 255, 0.7);
    font-size: 16px;
    font-weight: 300;
}

.product_detail_v2 .cta-actions {
    display: flex;
    flex-direction: column;
    gap: 30px;
    min-width: 450px;
}

.product_detail_v2 .btn-group {
    display: flex;
    gap: 20px;
}

.product_detail_v2 .btn-solid-primary {
    background-color: var(--orange);
    color: #fff;
    padding: 18px 30px;
    text-align: center;
    flex: 1;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 2px;
    transition: background-color 0.3s;
}

.product_detail_v2 .btn-solid-primary:hover {
    background-color: var(--orange-light);
}

.product_detail_v2 .btn-outline-white {
    border: 1px solid rgba(255, 255, 255, 0.3);
    color: #fff;
    padding: 18px 30px;
    text-align: center;
    flex: 1;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 2px;
    transition: all 0.3s;
}

.product_detail_v2 .btn-outline-white:hover {
    border-color: #fff;
    background: rgba(255, 255, 255, 0.1);
}

.product_detail_v2 .contact-info {
    display: flex;
    justify-content: space-between;
}

.product_detail_v2 .contact-item {
    display: flex;
    align-items: center;
    gap: 15px;
}

.product_detail_v2 .contact-item .material-symbols-outlined {
    color: var(--orange);
    font-weight: 300;
    font-size: 24px;
}

.product_detail_v2 .contact-item-text {
    display: flex;
    flex-direction: column;
}

.product_detail_v2 .contact-label {
    font-size: 10px;
    color: rgba(255, 255, 255, 0.5);
    letter-spacing: 1px;
    text-transform: uppercase;
}

.product_detail_v2 .contact-val {
    font-size: 14px;
    font-weight: 500;
    color: #fff;
}

.product_detail_v2 .contact-val a {
    color: #fff;
}

/* Sticky Bar */
.product_detail_v2 .sticky-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    box-shadow: 0 -5px 30px rgba(0, 0, 0, 0.08);
    padding: 15px 0;
    z-index: 1000;
    border-top: 1px solid var(--border-color);
    transform: translateY(100%);
    transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.4s ease;
    opacity: 0;
    pointer-events: none;
}

.product_detail_v2 .sticky-bar.show {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
}

.product_detail_v2 .sticky-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.product_detail_v2 .sticky-product {
    display: flex;
    align-items: center;
    gap: 20px;
}

.product_detail_v2 .sticky-thumb {
    width: 50px;
    height: 50px;
    border-radius: 4px;
    object-fit: cover;
    border: 1px solid rgba(26, 54, 93, 0.15);
    box-shadow: 0 8px 30px rgba(26, 54, 93, 0.08);
}

.product_detail_v2 .sticky-details h4 {
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: var(--navy);
    margin-bottom: 4px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.product_detail_v2 .sticky-details p {
    font-size: 11px;
    color: var(--text-muted);
    letter-spacing: 1px;
    text-transform: uppercase;
}

.product_detail_v2 .sticky-price-area {
    display: flex;
    align-items: center;
    gap: 40px;
}

.product_detail_v2 .sticky-price {
    font-family: 'Open Sans', sans-serif;
    font-size: 26px;
    font-weight: 600;
    color: var(--orange);
    display: flex;
    align-items: baseline;
    gap: 8px;
}

.product_detail_v2 .sticky-price p {
    margin: 0;
}

.product_detail_v2 .sticky-price span {
    font-family: 'Open Sans', sans-serif;
    font-size: 12px;
    font-weight: 400;
    color: var(--text-muted);
}

.product_detail_v2 .btn-solid-orange {
    background-color: var(--orange);
    color: #fff;
    padding: 15px 35px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 2px;
    border: none;
    cursor: pointer;
    border-radius: 4px;
    transition: background 0.3s;
}

.product_detail_v2 .btn-solid-orange:hover {
    background-color: var(--orange-light);
}

.product_detail_v2 .photo-grid-gallery {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: repeat(2, 350px);
    gap: 20px;
}

.product_detail_v2 .photo-grid-item {
    grid-column: span 4;
    grid-row: span 1;
}

/* Dynamic Grid Layouts for Photo Grid Gallery */

/* 1 Item */
.product_detail_v2 .photo-grid-gallery:has(> :first-child:nth-last-child(1)) {
    grid-template-rows: 600px;
}

.product_detail_v2 .photo-grid-gallery:has(> :first-child:nth-last-child(1)) .photo-grid-item {
    grid-column: span 12;
    grid-row: span 1;
}

/* 2 Items */
.product_detail_v2 .photo-grid-gallery:has(> :first-child:nth-last-child(2)) {
    grid-template-rows: 450px;
}

.product_detail_v2 .photo-grid-gallery:has(> :first-child:nth-last-child(2)) .photo-grid-item {
    grid-column: span 6;
    grid-row: span 1;
}

/* 3 Items */
.product_detail_v2 .photo-grid-gallery:has(> :first-child:nth-last-child(3)) .photo-grid-item:nth-child(1) {
    grid-column: span 8;
    grid-row: span 2;
}

.product_detail_v2 .photo-grid-gallery:has(> :first-child:nth-last-child(3)) .photo-grid-item:nth-child(n+2) {
    grid-column: span 4;
    grid-row: span 1;
}

/* 4 Items */
.product_detail_v2 .photo-grid-gallery:has(> :first-child:nth-last-child(4)) {
    grid-template-columns: repeat(24, 1fr);
    grid-template-rows: repeat(2, 260px);
}

.product_detail_v2 .photo-grid-gallery:has(> :first-child:nth-last-child(4)) .photo-grid-item:nth-child(1) {
    grid-column: span 14;
    grid-row: span 2;
}

.product_detail_v2 .photo-grid-gallery:has(> :first-child:nth-last-child(4)) .photo-grid-item:nth-child(2),
.product_detail_v2 .photo-grid-gallery:has(> :first-child:nth-last-child(4)) .photo-grid-item:nth-child(3) {
    grid-column: span 5;
    grid-row: span 1;
}

.product_detail_v2 .photo-grid-gallery:has(> :first-child:nth-last-child(4)) .photo-grid-item:nth-child(4) {
    grid-column: span 10;
    grid-row: span 1;
}

/* 5 Items */
.product_detail_v2 .photo-grid-gallery:has(> :first-child:nth-last-child(5)) {
    grid-template-rows: repeat(3, 350px);
}

.product_detail_v2 .photo-grid-gallery:has(> :first-child:nth-last-child(5)) .photo-grid-item:nth-child(1) {
    grid-column: span 8;
    grid-row: span 2;
}

.product_detail_v2 .photo-grid-gallery:has(> :first-child:nth-last-child(5)) .photo-grid-item:nth-child(2),
.product_detail_v2 .photo-grid-gallery:has(> :first-child:nth-last-child(5)) .photo-grid-item:nth-child(3) {
    grid-column: span 4;
    grid-row: span 1;
}

.product_detail_v2 .photo-grid-gallery:has(> :first-child:nth-last-child(5)) .photo-grid-item:nth-child(n+4) {
    grid-column: span 6;
    grid-row: span 1;
}

/* 6 Items */
.product_detail_v2 .photo-grid-gallery:has(> :first-child:nth-last-child(6)) {
    grid-template-rows: repeat(3, 350px);
}

.product_detail_v2 .photo-grid-gallery:has(> :first-child:nth-last-child(6)) .photo-grid-item:nth-child(1) {
    grid-column: span 8;
    grid-row: span 2;
}

.product_detail_v2 .photo-grid-gallery:has(> :first-child:nth-last-child(6)) .photo-grid-item:nth-child(2),
.product_detail_v2 .photo-grid-gallery:has(> :first-child:nth-last-child(6)) .photo-grid-item:nth-child(3) {
    grid-column: span 4;
    grid-row: span 1;
}

.product_detail_v2 .photo-grid-gallery:has(> :first-child:nth-last-child(6)) .photo-grid-item:nth-child(n+4) {
    grid-column: span 4;
    grid-row: span 1;
}

/* 7 Items */
.product_detail_v2 .photo-grid-gallery:has(> :first-child:nth-last-child(7)) {
    grid-template-rows: repeat(4, 180px);
}

.product_detail_v2 .photo-grid-gallery:has(> :first-child:nth-last-child(7)) .photo-grid-item:nth-child(1) {
    grid-column: span 8;
    grid-row: span 2;
}

.product_detail_v2 .photo-grid-gallery:has(> :first-child:nth-last-child(7)) .photo-grid-item:nth-child(2),
.product_detail_v2 .photo-grid-gallery:has(> :first-child:nth-last-child(7)) .photo-grid-item:nth-child(3) {
    grid-column: span 4;
    grid-row: span 1;
}

.product_detail_v2 .photo-grid-gallery:has(> :first-child:nth-last-child(7)) .photo-grid-item:nth-child(n+4) {
    grid-column: span 6;
    grid-row: span 1;
}

/* 8 Items */
.product_detail_v2 .photo-grid-gallery:has(> :first-child:nth-last-child(8)) {
    grid-template-rows: repeat(4, 430px);
}

.product_detail_v2 .photo-grid-gallery:has(> :first-child:nth-last-child(8)) .photo-grid-item:nth-child(1) {
    grid-column: span 8;
    grid-row: span 2;
}

.product_detail_v2 .photo-grid-gallery:has(> :first-child:nth-last-child(8)) .photo-grid-item:nth-child(2),
.product_detail_v2 .photo-grid-gallery:has(> :first-child:nth-last-child(8)) .photo-grid-item:nth-child(3) {
    grid-column: span 4;
    grid-row: span 1;
}

.product_detail_v2 .photo-grid-gallery:has(> :first-child:nth-last-child(8)) .photo-grid-item:nth-child(4),
.product_detail_v2 .photo-grid-gallery:has(> :first-child:nth-last-child(8)) .photo-grid-item:nth-child(5),
.product_detail_v2 .photo-grid-gallery:has(> :first-child:nth-last-child(8)) .photo-grid-item:nth-child(6) {
    grid-column: span 4;
    grid-row: span 1;
}

.product_detail_v2 .photo-grid-gallery:has(> :first-child:nth-last-child(8)) .photo-grid-item:nth-child(n+7) {
    grid-column: span 6;
    grid-row: span 1;
}

.product_detail_v2 .factory-grid-gallery {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: repeat(2, 300px);
    gap: 20px;
}

.product_detail_v2 .factory-item {
    grid-column: span 4;
    grid-row: span 1;
}

.product_detail_v2 .factory-item-main {
    grid-column: span 8;
    grid-row: span 2;
}

.product_detail_v2 .factory-item-sub {
    grid-column: span 4;
    grid-row: span 1;
}

.product_detail_v2 .factory-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 40px;
    background: linear-gradient(to top, rgba(26, 54, 93, 0.9), transparent);
    color: #fff;
    transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1), padding-bottom 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}

.product_detail_v2 .factory-item-main:hover .factory-overlay,
.product_detail_v2 .factory-item:hover .factory-overlay {
    transform: translateY(-5px);
    padding-bottom: 45px;
}

/* Dynamic Grid Layouts based on Item Count */

/* 1 Item */
.product_detail_v2 .factory-grid-gallery:has(> :first-child:nth-last-child(1)) {
    grid-template-rows: 600px;
}

.product_detail_v2 .factory-grid-gallery:has(> :first-child:nth-last-child(1)) .factory-item {
    grid-column: span 12;
    grid-row: span 1;
}

/* 2 Items */
.product_detail_v2 .factory-grid-gallery:has(> :first-child:nth-last-child(2)) {
    grid-template-rows: 450px;
}

.product_detail_v2 .factory-grid-gallery:has(> :first-child:nth-last-child(2)) .factory-item {
    grid-column: span 6;
    grid-row: span 1;
}

/* 3 Items */
.product_detail_v2 .factory-grid-gallery:has(> :first-child:nth-last-child(3)) .factory-item:nth-child(1) {
    grid-column: span 8;
    grid-row: span 2;
}

.product_detail_v2 .factory-grid-gallery:has(> :first-child:nth-last-child(3)) .factory-item:nth-child(n+2) {
    grid-column: span 4;
    grid-row: span 1;
}

/* 4 Items */
.product_detail_v2 .factory-grid-gallery:has(> :first-child:nth-last-child(4)) {
    grid-template-columns: repeat(24, 1fr);
    grid-template-rows: repeat(2, 240px);
}

.product_detail_v2 .factory-grid-gallery:has(> :first-child:nth-last-child(4)) .factory-item:nth-child(1) {
    grid-column: span 14;
    grid-row: span 2;
}

.product_detail_v2 .factory-grid-gallery:has(> :first-child:nth-last-child(4)) .factory-item:nth-child(2),
.product_detail_v2 .factory-grid-gallery:has(> :first-child:nth-last-child(4)) .factory-item:nth-child(3) {
    grid-column: span 5;
    grid-row: span 1;
}

.product_detail_v2 .factory-grid-gallery:has(> :first-child:nth-last-child(4)) .factory-item:nth-child(4) {
    grid-column: span 10;
    grid-row: span 1;
}

/* 5 Items */
.product_detail_v2 .factory-grid-gallery:has(> :first-child:nth-last-child(5)) {
    grid-template-rows: repeat(3, 350px);
}

.product_detail_v2 .factory-grid-gallery:has(> :first-child:nth-last-child(5)) .factory-item:nth-child(1) {
    grid-column: span 8;
    grid-row: span 2;
}

.product_detail_v2 .factory-grid-gallery:has(> :first-child:nth-last-child(5)) .factory-item:nth-child(2),
.product_detail_v2 .factory-grid-gallery:has(> :first-child:nth-last-child(5)) .factory-item:nth-child(3) {
    grid-column: span 4;
    grid-row: span 1;
}

.product_detail_v2 .factory-grid-gallery:has(> :first-child:nth-last-child(5)) .factory-item:nth-child(n+4) {
    grid-column: span 6;
    grid-row: span 1;
}

/* 6 Items */
.product_detail_v2 .factory-grid-gallery:has(> :first-child:nth-last-child(6)) {
    grid-template-rows: repeat(3, 350px);
}

.product_detail_v2 .factory-grid-gallery:has(> :first-child:nth-last-child(6)) .factory-item:nth-child(1) {
    grid-column: span 8;
    grid-row: span 2;
}

.product_detail_v2 .factory-grid-gallery:has(> :first-child:nth-last-child(6)) .factory-item:nth-child(2),
.product_detail_v2 .factory-grid-gallery:has(> :first-child:nth-last-child(6)) .factory-item:nth-child(3) {
    grid-column: span 4;
    grid-row: span 1;
}

.product_detail_v2 .factory-grid-gallery:has(> :first-child:nth-last-child(6)) .factory-item:nth-child(n+4) {
    grid-column: span 4;
    grid-row: span 1;
}

/* 7 Items */
.product_detail_v2 .factory-grid-gallery:has(> :first-child:nth-last-child(7)) {
    grid-template-rows: repeat(4, 180px);
}

.product_detail_v2 .factory-grid-gallery:has(> :first-child:nth-last-child(7)) .factory-item:nth-child(1) {
    grid-column: span 8;
    grid-row: span 2;
}

.product_detail_v2 .factory-grid-gallery:has(> :first-child:nth-last-child(7)) .factory-item:nth-child(2),
.product_detail_v2 .factory-grid-gallery:has(> :first-child:nth-last-child(7)) .factory-item:nth-child(3) {
    grid-column: span 4;
    grid-row: span 1;
}

.product_detail_v2 .factory-grid-gallery:has(> :first-child:nth-last-child(7)) .factory-item:nth-child(n+4) {
    grid-column: span 6;
    grid-row: span 1;
}

/* 8 Items */
.product_detail_v2 .factory-grid-gallery:has(> :first-child:nth-last-child(8)) {
    grid-template-rows: repeat(4, 180px);
}

.product_detail_v2 .factory-grid-gallery:has(> :first-child:nth-last-child(8)) .factory-item:nth-child(1) {
    grid-column: span 8;
    grid-row: span 2;
}

.product_detail_v2 .factory-grid-gallery:has(> :first-child:nth-last-child(8)) .factory-item:nth-child(2),
.product_detail_v2 .factory-grid-gallery:has(> :first-child:nth-last-child(8)) .factory-item:nth-child(3) {
    grid-column: span 4;
    grid-row: span 1;
}

.product_detail_v2 .factory-grid-gallery:has(> :first-child:nth-last-child(8)) .factory-item:nth-child(4),
.product_detail_v2 .factory-grid-gallery:has(> :first-child:nth-last-child(8)) .factory-item:nth-child(5),
.product_detail_v2 .factory-grid-gallery:has(> :first-child:nth-last-child(8)) .factory-item:nth-child(6) {
    grid-column: span 4;
    grid-row: span 1;
}

.product_detail_v2 .factory-grid-gallery:has(> :first-child:nth-last-child(8)) .factory-item:nth-child(n+7) {
    grid-column: span 6;
    grid-row: span 1;
}

.product_detail_v2 .factory-overlay-subtitle {
    font-size: 11px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--orange);
    margin-bottom: 10px;
}

.product_detail_v2 .factory-overlay-title {
    font-size: 24px;
    font-weight: 600;
}

footer {
    /* display: none; */
}

/* Scroll Reveal Effect */
.product_detail_v2 .reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s cubic-bezier(0.25, 1, 0.5, 1), transform 0.8s cubic-bezier(0.25, 1, 0.5, 1);
}

.product_detail_v2 .reveal.reveal-active {
    opacity: 1;
    transform: translateY(0);
}

.product_detail_v2 .reveal-delay-1 {
    transition-delay: 0.1s;
}

.product_detail_v2 .reveal-delay-2 {
    transition-delay: 0.2s;
}

.product_detail_v2 .reveal-delay-3 {
    transition-delay: 0.3s;
}

.product_detail_v2 .reveal-delay-4 {
    transition-delay: 0.4s;
}

.product_detail_v2 .reveal-delay-5 {
    transition-delay: 0.5s;
}

/* Responsive Design */
@media (max-width: 1024px) {

    .product_detail_v2 .container {
        padding: 0 30px;
    }

    .product_detail_v2 .hero-title {
        font-size: 72px;
    }

    .product_detail_v2 .story-container {
        gap: 30px;
    }

    .product_detail_v2 .story-title {
        font-size: 40px;
    }

    .product_detail_v2 .suitability-grid {
        gap: 30px;
    }
}

@media (max-width: 767px) {
    .product_detail_v2 .container {
        padding: 0 12px;
    }

    .product_detail_v2 .section-padding {
        padding: 40px 0;
    }

    .product_detail_v2 .section-title {
        font-size: 22px;
        margin-top: 0;
        line-height: 1.3;
    }

    /* Hero Section */
    .product_detail_v2 .hero-section {
        height: auto;
        /* min-height: 100vh; */
        padding: 100px 0 20px;
    }

    .product_detail_v2 .hero-title {
        font-size: 48px;
        line-height: 1.1;
    }

    .product_detail_v2 .hero-code {
        font-size: 16px;
        margin-bottom: 25px;
    }

    .product_detail_v2 .hero-specs {
        margin-bottom: 10px;
        padding-bottom: 12px;
    }

    .product_detail_v2 .hero-specs-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }

    .product_detail_v2 .hero-features {
        gap: 15px;
        padding-bottom: 12px !important;
        margin-top: 10px;
        margin-bottom: 10px !important;
    }

    /* Galleries on Mobile */
    .product_detail_v2 .masonry-gallery {
        grid-template-columns: repeat(2, 1fr) !important;
        grid-template-rows: auto !important;
        height: auto !important;
        gap: 12px !important;
    }

    .product_detail_v2 .masonry-item {
        grid-column: span 1 !important;
        grid-row: span 1 !important;
        height: 160px !important;
        height: 0 !important;
        padding-bottom: 100%;
        position: relative;
    }

    /* Odd item count mobile override: stretch last item to full width and set aspect-ratio 1:1 (height equals width) */
    .product_detail_v2 .masonry-gallery:has(> :first-child:nth-last-child(odd)) .masonry-item:last-child {
        grid-column: span 2 !important;
        aspect-ratio: 1 / 1 !important;
        height: auto !important;
    }

    .product_detail_v2 .photo-grid-gallery {
        grid-template-columns: repeat(2, 1fr) !important;
        grid-template-rows: auto !important;
        height: auto !important;
        gap: 12px !important;
    }

    .product_detail_v2 .photo-grid-item {
        grid-column: span 1 !important;
        grid-row: span 1 !important;
        height: 140px !important;
        height: 0 !important;
        padding-bottom: 100%;
    }

    .product_detail_v2 .photo-grid-item:nth-child(1) {
        grid-column: span 2 !important;
        height: 200px !important;
        height: 0px !important;
        padding-bottom: 100%;
    }

    /* 1 Item mobile layout override */
    .product_detail_v2 .photo-grid-gallery:has(> :first-child:nth-last-child(1)) .photo-grid-item {
        grid-column: span 2 !important;
        height: 220px !important;
    }

    /* 2 Items mobile layout override */
    .product_detail_v2 .photo-grid-gallery:has(> :first-child:nth-last-child(2)) .photo-grid-item {
        grid-column: span 2 !important;
        height: 180px !important;
    }

    /* 4 Items mobile layout override */
    .product_detail_v2 .photo-grid-gallery:has(> :first-child:nth-last-child(4)) .photo-grid-item:nth-child(4) {
        grid-column: span 2 !important;
        height: 180px !important;
    }

    /* Even item count mobile override: stretch last item to full width */
    .product_detail_v2 .photo-grid-gallery:has(> :first-child:nth-last-child(even)) .photo-grid-item:last-child {
        grid-column: span 2 !important;
        height: 180px !important;
    }

    .product_detail_v2 .factory-grid-gallery {
        grid-template-columns: repeat(2, 1fr) !important;
        grid-template-rows: auto !important;
        height: auto !important;
        gap: 12px !important;
    }

    .product_detail_v2 .factory-item {
        grid-column: span 1 !important;
        grid-row: span 1 !important;
        height: 120px !important;
        height: 0 !important;
        padding-bottom: 100%;
    }

    .product_detail_v2 .factory-item:nth-child(1) {
        grid-column: span 2 !important;
        height: 200px !important;
        height: 0 !important;
        padding-bottom: 100%;
    }

    /* 2 Items mobile layout override */
    .product_detail_v2 .factory-grid-gallery:has(> :first-child:nth-last-child(2)) .factory-item {
        grid-column: span 2 !important;
        height: 180px !important;
    }

    /* 1 Item mobile layout override */
    .product_detail_v2 .factory-grid-gallery:has(> :first-child:nth-last-child(1)) .factory-item {
        grid-column: span 2 !important;
        height: 220px !important;
    }

    /* 4 Items mobile layout override */
    .product_detail_v2 .factory-grid-gallery:has(> :first-child:nth-last-child(4)) .factory-item:nth-child(4) {
        grid-column: span 2 !important;
        height: 180px !important;
    }

    .product_detail_v2 .factory-item-main {
        grid-column: span 2 !important;
        grid-row: span 1 !important;
        height: 200px !important;
    }

    .product_detail_v2 .factory-item-sub {
        grid-column: span 1 !important;
        grid-row: span 1 !important;
        height: 120px !important;
    }

    .product_detail_v2 .factory-overlay {
        padding: 20px;
    }

    .product_detail_v2 .factory-overlay-title {
        font-size: 16px;
    }

    /* Product Story */
    .product_detail_v2 .story-container {
        flex-direction: column-reverse;
        gap: 15px;
    }

    .product_detail_v2 .story-content {
        padding-right: 0;
    }

    .product_detail_v2 .story-specs {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    .product_detail_v2 .story-title {
        font-size: 24px;
        font-weight: 600;
        margin-top: 5px;
        margin-bottom: 10px;
    }

    /* Suitability */
    .product_detail_v2 .suitability-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .product_detail_v2 .segment-display {
        padding: 30px 15px;
    }

    .product_detail_v2 .segment-seal {
        width: 140px;
        height: 140px;
    }

    .product_detail_v2 .segment-seal .level {
        font-size: 20px;
    }

    .product_detail_v2 .application-list {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    /* Footer CTA */
    .product_detail_v2 .cta-container {
        flex-direction: column;
        align-items: stretch;
        gap: 30px;
    }

    .product_detail_v2 .cta-actions {
        min-width: 0;
        width: 100%;
        gap: 20px;
    }

    .product_detail_v2 .btn-group {
        flex-direction: column;
        gap: 10px;
    }

    .product_detail_v2 .contact-info {
        flex-direction: column;
        gap: 15px;
    }

    /* Sticky Bar */
    .product_detail_v2 .sticky-bar {
        padding: 12px 0;
    }

    .product_detail_v2 .sticky-container {
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: center !important;
        gap: 10px !important;
        padding: 0px 8px;
    }

    .product_detail_v2 .sticky-product {
        display: none !important;
    }

    .product_detail_v2 .sticky-price-area {
        width: 100% !important;
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        gap: 10px !important;
    }

    .product_detail_v2 .sticky-price {
        font-size: 22px !important;
        white-space: nowrap;
    }

    .product_detail_v2 .sticky-price span {
        font-size: 11px !important;
    }

    .product_detail_v2 .btn-solid-orange {
        padding: 10px 22px !important;
        font-size: 12px !important;
        white-space: nowrap;
    }
}



/* --- Global Homepage Container --- */
.rock-home-wrap {
    background-color: var(--rock-cream);
    color: var(--rock-ink);
    font-family: var(--rock-font-sans);
    font-size: 14px;
    line-height: 1.6;
    overflow-x: hidden;
    padding-bottom: 50px;
}

.rock-application-wrap,
.rock-catalogue-wrap,
.rock-collection-wrap {
    padding-top: 25px;
}

.rock-home-wrap * {
    box-sizing: border-box;
}

.rock-home-wrap a {
    color: inherit;
    text-decoration: none;
    transition: all 0.2s ease;
}

.rock-home-wrap a:hover {
    text-decoration: none;
    color: var(--rock-rust);
}

.rock-home-wrap button {
    border: 0;
    cursor: pointer;
    background: transparent;
    font-family: inherit;
    color: inherit;
    transition: all 0.2s ease;
}

.rock-home-wrap button:focus,
.rock-home-wrap a:focus {
    outline: none;
}

/* Utility Elements */
.rock-home-wrap .eyebrow {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2.8px;
    text-transform: uppercase;
    color: var(--rock-rust);
}

.rock-home-wrap .display-title {
    font-family: var(--rock-font-display);
    font-weight: 400;
    line-height: 1.15;
}

.rock-home-wrap .textlink,
.rock-collection-wrap .textlink,
.rock-catalogue-wrap .textlink,
.collection .textlink,
.catalogue .textlink,
.textlink {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--rock-rust);
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    border: 0;
    background: transparent;
    padding: 6px 0;
    text-decoration: none !important;
    transition: all 0.2s ease;
}

.rock-home-wrap .textlink:hover,
.rock-collection-wrap .textlink:hover,
.rock-catalogue-wrap .textlink:hover,
.collection .textlink:hover,
.catalogue .textlink:hover,
.textlink:hover {
    color: var(--rock-rust-hover);
    transform: translateX(3px);
    text-decoration: none !important;
}

.rock-home-wrap .btn-rock,
.rock-contact-wrap .btn-rock,
.rock-catalogue-wrap .btn-rock,
.catalogue .btn-rock,
.btn-rock {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding: 13px 24px;
    background: var(--rock-rust);
    color: #ffffff !important;
    font-size: 12px;
    letter-spacing: 0.6px;
    font-weight: 700;
    text-transform: uppercase;
    border: 1px solid var(--rock-rust);
    border-radius: 2px;
    transition: all 0.25s ease;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(164, 79, 51, 0.25);
    text-decoration: none;
}

.rock-home-wrap .btn-rock:hover,
.rock-contact-wrap .btn-rock:hover,
.rock-catalogue-wrap .btn-rock:hover,
.catalogue .btn-rock:hover,
.btn-rock:hover {
    background: var(--rock-rust-hover);
    border-color: var(--rock-rust-hover);
    color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(164, 79, 51, 0.35);
    text-decoration: none;
}

.rock-home-wrap .btn-rock.outline,
.rock-contact-wrap .btn-rock.outline,
.rock-catalogue-wrap .btn-rock.outline,
.catalogue .btn-rock.outline,
.btn-rock.outline {
    background: transparent;
    border-color: var(--rock-bronze);
    color: var(--rock-rust) !important;
    box-shadow: none;
}

.rock-home-wrap .btn-rock.outline:hover,
.rock-contact-wrap .btn-rock.outline:hover,
.rock-catalogue-wrap .btn-rock.outline:hover,
.catalogue .btn-rock.outline:hover,
.btn-rock.outline:hover {
    background: #f2eae4;
    color: var(--rock-rust-hover) !important;
}

.rock-home-wrap .btn-rock.pale,
.rock-contact-wrap .btn-rock.pale,
.rock-catalogue-wrap .btn-rock.pale,
.catalogue .btn-rock.pale,
.btn-rock.pale {
    background: #f5e9df;
    border-color: #f5e9df;
    color: var(--rock-rust) !important;
    box-shadow: none;
}

.rock-home-wrap .btn-rock.pale:hover,
.rock-contact-wrap .btn-rock.pale:hover,
.rock-catalogue-wrap .btn-rock.pale:hover,
.catalogue .btn-rock.pale:hover,
.btn-rock.pale:hover {
    background: #ecdccc;
}

.rock-home-wrap .btn-rock.sm,
.rock-contact-wrap .btn-rock.sm,
.rock-catalogue-wrap .btn-rock.sm,
.catalogue .btn-rock.sm,
.btn-rock.sm {
    padding: 9px 16px;
    font-size: 11px;
}

/* --- HERO SECTION --- */
.rock-home-wrap .homehero {
    height: 560px;
    position: relative;
    overflow: hidden;
    background: #3a322c;
    border-radius: 4px;
}

.rock-home-wrap .homehero>img,
.rock-home-wrap .homehero>video,
.rock-home-wrap .homehero .hero-video {
    height: 100%;
    width: 100%;
    object-fit: cover;
    display: block;
    position: absolute;
    inset: 0;
    z-index: 0;
    transform: scale(1);
    transition: transform 12s ease-out;
}

.rock-home-wrap .homehero:hover>img,
.rock-home-wrap .homehero:hover>video,
.rock-home-wrap .homehero:hover .hero-video {
    transform: scale(1.02);
}

.rock-home-wrap .homehero:after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(27, 23, 19, 0.82) 0%, rgba(33, 28, 24, 0.48) 50%, rgba(20, 16, 13, 0.15) 90%);
}

.rock-home-wrap .hero-content {
    position: absolute;
    left: 8%;
    top: 50%;
    transform: translateY(-50%);
    color: #ffffff;
    z-index: 2;
    max-width: 630px;
}

.rock-home-wrap .hero-content .eyebrow {
    color: #f1d6c6;
    margin-bottom: 12px;
    display: inline-block;
}

.rock-home-wrap .hero-content h1 {
    font-family: var(--rock-font-display);
    font-size: clamp(38px, 4.4vw, 66px);
    line-height: 1.08;
    letter-spacing: -1.2px;
    margin: 12px 0 16px;
    color: #ffffff;
    text-transform: uppercase;
}

.rock-home-wrap .hero-content>p {
    font-size: 14px;
    color: #f2ebe4;
    line-height: 1.85;
    max-width: 480px;
    margin-bottom: 28px;
}

.rock-home-wrap .hero-actions {
    display: flex;
    gap: 14px;
    align-items: center;
    flex-wrap: wrap;
}

.rock-home-wrap .hero-scroll {
    position: absolute;
    right: 35px;
    bottom: 26px;
    z-index: 2;
    color: rgba(255, 255, 255, 0.75);
    font-size: 11px;
    letter-spacing: 2.2px;
    text-transform: uppercase;
}

/* --- COLLECTION RAIL --- */
.rock-home-wrap .collection-rail {
    position: relative;
    z-index: 5;
    background: var(--rock-paper);
    border: 1px solid #eee6dd;
    box-shadow: 0 15px 42px rgba(0, 0, 0, 0.07);
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    margin: -36px auto 35px;
    width: 100%;
    max-width: 1220px;
    border-radius: 4px;
}

.rock-home-wrap .collection-rail button {
    background: transparent;
    padding: 22px 14px 20px;
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 10px;
    border-right: 1px solid #ebe7e1;
    text-align: center;
}

.rock-home-wrap .collection-rail button:last-child {
    border-right: 0;
}

.rock-home-wrap .collection-rail button:hover,
.rock-home-wrap .collection-rail button.active {
    background: #fbf5ef;
}

.rock-home-wrap .collection-rail span {
    width: 42px;
    height: 42px;
    border: 1px solid #c9b9ad;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: #8f5840;
    transition: all 0.25s ease;
}

.rock-home-wrap .collection-rail button:hover span,
.rock-home-wrap .collection-rail button.active span {
    background: var(--rock-rust);
    border-color: var(--rock-rust);
    color: #ffffff;
    transform: translateY(-2px);
}

.rock-home-wrap .collection-rail strong {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.2px;
    color: var(--rock-dark);
}

.rock-home-wrap .collection-rail small {
    font-size: 10px;
    color: var(--rock-muted);
}

/* --- TABS & FILTERS --- */
.rock-home-wrap .rock-tabs {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin: 18px 0 24px;
}

.rock-home-wrap .chip {
    border: 1px solid #ddd4ca;
    background: #ffffff;
    padding: 8px 18px;
    color: #625d59;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
    border-radius: 30px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.rock-home-wrap .chip:hover {
    border-color: var(--rock-rust);
    color: var(--rock-rust);
}

.rock-home-wrap .chip.active {
    background: var(--rock-rust);
    border-color: var(--rock-rust);
    color: #ffffff;
}

/* --- FEATURED PRODUCTS GRID --- */
.rock-home-wrap .featuredproducts {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    margin-bottom: 20px;
}

.rock-home-wrap .featurecard {
    background: #ffffff;
    position: relative;
    border: 1px solid #eee8e2;
    border-radius: 3px;
    overflow: hidden;
    transition: all 0.25s ease;
}

.rock-home-wrap .featurecard:hover {
    box-shadow: var(--rock-shadow);
    border-color: #e0d5cb;
    transform: translateY(-3px);
}

.rock-home-wrap .featurecard .photo-btn {
    display: block;
    width: 100%;
    height: 225px;
    overflow: hidden;
    background: #e3ded8;
    padding: 0;
    position: relative;
}

.rock-home-wrap .featurecard img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.rock-home-wrap .featurecard:hover img {
    transform: scale(1.05);
}

.rock-home-wrap .featurecard .badge-tag {
    position: absolute;
    top: 12px;
    left: 12px;
    background: rgba(255, 255, 255, 0.94);
    padding: 4px 9px;
    color: #8c5946;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.3px;
    border-radius: 2px;
    backdrop-filter: blur(2px);
    z-index: 1;
}

.rock-home-wrap .favbutton {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 34px;
    height: 34px;
    background: rgba(255, 255, 255, 0.92);
    display: grid;
    place-items: center;
    border: 1px solid #e4dbd2;
    border-radius: 50%;
    cursor: pointer;
    color: #7a6e65;
    z-index: 2;
    transition: all 0.2s ease;
}

.rock-home-wrap .favbutton:hover {
    background: #ffffff;
    color: var(--rock-rust);
    transform: scale(1.08);
}

.rock-home-wrap .favbutton.active {
    color: var(--rock-rust);
    background: #fae8e1;
    border-color: #f1cfc2;
}

.rock-home-wrap .featurebody {
    padding: 16px 18px 20px;
}

.rock-home-wrap .featurebody b {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: var(--rock-dark);
}

.rock-home-wrap .featurebody small {
    display: block;
    color: #999089;
    font-size: 11px;
    margin: 4px 0 12px;
}

.rock-home-wrap .featurebody .chips-mini {
    display: flex;
    gap: 6px;
    margin-bottom: 12px;
}

.rock-home-wrap .featurebody .chips-mini span {
    font-size: 10px;
    background: #f6f0ea;
    color: #796c62;
    padding: 2px 7px;
    border-radius: 2px;
}

.rock-home-wrap .featurebody .card-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid #f3ece4;
    padding-top: 10px;
    margin-top: 6px;
}

.rock-home-wrap .featurebody .card-footer .quick-view {
    font-size: 11px;
    color: var(--rock-rust);
    font-weight: 700;
}

/* --- COLLECTIONS SECTION: Layout 3 - 2 --- */
.rock-home-wrap .collectiongrid,
.rock-collection-wrap .collectiongrid,
.collection .collectiongrid,
.collectiongrid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 16px;
}

/* Hàng 1: 3 items (item 1, 2, 3 mỗi item chiếm 2/6 cột) */
.rock-home-wrap .collectiontile,
.rock-collection-wrap .collectiontile,
.collection .collectiontile,
.collectiontile {
    grid-column: span 2;
    height: 270px;
    position: relative;
    overflow: hidden;
    text-align: left;
    padding: 0;
    background: #b1aba4;
    border-radius: 4px;
    display: block;
    width: 100%;
    text-decoration: none !important;
    color: inherit;
}

.rock-home-wrap .collectiontile:hover,
.rock-collection-wrap .collectiontile:hover,
.collection .collectiontile:hover,
.collectiontile:hover,
.rock-home-wrap .collectiontile:focus,
.rock-collection-wrap .collectiontile:focus,
.collection .collectiontile:focus,
.collectiontile:focus {
    text-decoration: none !important;
    color: inherit;
}

.rock-home-wrap .collectiontile:nth-child(1),
.rock-home-wrap .collectiontile:nth-child(2),
.rock-home-wrap .collectiontile:nth-child(3),
.rock-collection-wrap .collectiontile:nth-child(1),
.rock-collection-wrap .collectiontile:nth-child(2),
.rock-collection-wrap .collectiontile:nth-child(3),
.collection .collectiontile:nth-child(1),
.collection .collectiontile:nth-child(2),
.collection .collectiontile:nth-child(3) {
    grid-column: span 2;
    height: 270px;
}

/* Hàng 2: 2 items (item 4, 5 mỗi item chiếm 3/6 cột) */
.rock-home-wrap .collectiontile:nth-child(4),
.rock-home-wrap .collectiontile:nth-child(5),
.rock-home-wrap .collectiontile.wide,
.rock-collection-wrap .collectiontile:nth-child(4),
.rock-collection-wrap .collectiontile:nth-child(5),
.rock-collection-wrap .collectiontile.wide,
.collection .collectiontile:nth-child(4),
.collection .collectiontile:nth-child(5),
.collection .collectiontile.wide,
.collectiontile.wide {
    grid-column: span 3;
    height: 290px;
}

.rock-home-wrap .collectiontile img,
.rock-collection-wrap .collectiontile img,
.collection .collectiontile img,
.collectiontile img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.rock-home-wrap .collectiontile:hover img,
.rock-collection-wrap .collectiontile:hover img,
.collection .collectiontile:hover img,
.collectiontile:hover img {
    transform: scale(1.05);
}

.rock-home-wrap .collectiontile:after,
.rock-collection-wrap .collectiontile:after,
.collection .collectiontile:after,
.collectiontile:after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(27, 23, 22, 0.88) 0%, rgba(27, 23, 22, 0.3) 60%, transparent 100%);
}

.rock-home-wrap .collectiontile .copy,
.rock-collection-wrap .collectiontile .copy,
.collection .collectiontile .copy,
.collectiontile .copy {
    position: absolute;
    left: 24px;
    bottom: 22px;
    right: 50px;
    z-index: 2;
    color: #ffffff;
}

.rock-home-wrap .collectiontile .copy .subtag,
.rock-collection-wrap .collectiontile .copy .subtag,
.collection .collectiontile .copy .subtag,
.collectiontile .copy .subtag {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #e5c3b1;
    font-weight: 600;
    margin-bottom: 4px;
    display: block;
}

.rock-home-wrap .collectiontile h3,
.rock-collection-wrap .collectiontile h3,
.collection .collectiontile h3,
.collectiontile h3 {
    font-family: var(--rock-font-display);
    font-size: 30px;
    font-weight: 400;
    margin: 4px 0 6px;
    color: #ffffff;
}

.rock-home-wrap .collectiontile p,
.rock-collection-wrap .collectiontile p,
.collection .collectiontile p,
.collectiontile p {
    font-size: 12px;
    color: #e2d8d1;
    line-height: 1.5;
    margin: 0;
}

.rock-home-wrap .collectiontile .arr,
.rock-collection-wrap .collectiontile .arr,
.collection .collectiontile .arr,
.collectiontile .arr {
    position: absolute;
    right: 20px;
    bottom: 24px;
    z-index: 2;
    color: #ffffff;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.15);
    display: grid;
    place-items: center;
    transition: all 0.25s ease;
}

.rock-home-wrap .collectiontile:hover .arr,
.rock-collection-wrap .collectiontile:hover .arr,
.collection .collectiontile:hover .arr,
.collectiontile:hover .arr {
    background: var(--rock-rust);
    transform: translateX(3px);
}

/* --- APPLICATIONS SECTION: Layout 3 - 1 (Home Page) --- */
.rock-home-wrap:not(.rock-application-wrap) .applicationgrid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 16px;
}

/* Hàng 1: 3 items (item 1, 2, 3 mỗi item chiếm 2/6 cột) */
.rock-home-wrap:not(.rock-application-wrap) .applicationcard {
    position: relative;
    overflow: hidden;
    background: #b9aea4;
    grid-column: span 2;
    padding: 0;
    text-align: left;
    border-radius: 4px;
    display: block;
    width: 100%;
    height: 260px;
}

.rock-home-wrap:not(.rock-application-wrap) .applicationcard:nth-child(1),
.rock-home-wrap:not(.rock-application-wrap) .applicationcard:nth-child(2),
.rock-home-wrap:not(.rock-application-wrap) .applicationcard:nth-child(3) {
    grid-column: span 2;
    height: 260px;
}

/* Hàng 2: 1 item (item 4 chiếm trọn hàng: 6/6 cột) */
.rock-home-wrap:not(.rock-application-wrap) .applicationcard:nth-child(4),
.rock-home-wrap:not(.rock-application-wrap) .applicationcard.full,
.rock-home-wrap:not(.rock-application-wrap) .applicationcard.wide,
.rock-home-wrap:not(.rock-application-wrap) .applicationcard.large {
    grid-column: span 6;
    height: 320px;
}

.rock-home-wrap:not(.rock-application-wrap) .applicationcard:nth-child(4) .copy,
.rock-home-wrap:not(.rock-application-wrap) .applicationcard.full .copy,
.rock-home-wrap:not(.rock-application-wrap) .applicationcard.wide .copy,
.rock-home-wrap:not(.rock-application-wrap) .applicationcard.large .copy {
    left: 36px;
    bottom: 28px;
    max-width: 620px;
}

.rock-home-wrap:not(.rock-application-wrap) .applicationcard:nth-child(4) b,
.rock-home-wrap:not(.rock-application-wrap) .applicationcard.full b,
.rock-home-wrap:not(.rock-application-wrap) .applicationcard.wide b,
.rock-home-wrap:not(.rock-application-wrap) .applicationcard.large b {
    font-size: 30px;
    margin-bottom: 6px;
}

.rock-home-wrap:not(.rock-application-wrap) .applicationcard:nth-child(4) p,
.rock-home-wrap:not(.rock-application-wrap) .applicationcard.full p,
.rock-home-wrap:not(.rock-application-wrap) .applicationcard.wide p,
.rock-home-wrap:not(.rock-application-wrap) .applicationcard.large p {
    font-size: 13px;
    max-width: 520px;
    line-height: 1.6;
    margin-bottom: 8px;
}

/* --- APPLICATIONS PAGE (rock-application-wrap) --- */
.rock-application-wrap .applicationgrid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 16px;
}

.rock-application-wrap .applicationcard,
.rock-application-wrap .applicationcard:nth-child(n) {
    position: relative;
    overflow: hidden;
    background: #b9aea4;
    grid-column: span 2;
    padding: 0;
    text-align: left;
    border-radius: 4px;
    display: block;
    width: 100%;
    height: 270px;
    text-decoration: none !important;
    color: inherit;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.rock-application-wrap .applicationcard:hover,
.rock-application-wrap .applicationcard:focus {
    text-decoration: none !important;
    color: inherit;
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
}

.rock-application-wrap .applicationcard.large {
    grid-column: span 3;
    height: 310px;
}

.rock-application-wrap .applicationgrid:not([data-filter="Tất cả"]) .applicationcard {
    grid-column: span 3;
    height: 290px;
}

.rock-application-wrap .applicationcard .copy {
    left: 24px;
    bottom: 22px;
    right: 24px;
    max-width: none;
}

.rock-application-wrap .applicationcard .copy .subtag {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #e5c3b1;
    font-weight: 600;
    margin-bottom: 4px;
    display: block;
}

.rock-application-wrap .applicationcard b {
    font-size: 24px;
    margin-bottom: 4px;
}

.rock-application-wrap .applicationcard.large b {
    font-size: 28px;
}

.rock-application-wrap .applicationcard p {
    font-size: 12px;
    line-height: 1.5;
    margin-bottom: 8px;
}

.rock-home-wrap .applicationcard img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.rock-home-wrap .applicationcard:hover img {
    transform: scale(1.05);
}

.rock-home-wrap .applicationcard:after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(23, 19, 16, 0.85) 0%, rgba(23, 19, 16, 0.2) 60%, transparent 100%);
}

.rock-home-wrap .applicationcard .copy {
    position: absolute;
    bottom: 20px;
    left: 22px;
    right: 22px;
    z-index: 2;
    color: #ffffff;
}

.rock-home-wrap .applicationcard b {
    display: block;
    font-family: var(--rock-font-display);
    font-size: 24px;
    font-weight: 400;
    margin-bottom: 4px;
    color: #ffffff;
}

.rock-home-wrap .applicationcard p {
    font-size: 11px;
    color: #ded1c6;
    margin: 0 0 6px;
}

.rock-home-wrap .applicationcard span {
    font-size: 11px;
    color: #e5bfae;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

/* --- PROMO BANNER --- */
.rock-home-wrap .homebanner,
.rock-catalogue-wrap .homebanner,
.catalogue .homebanner,
.homebanner {
    height: 330px;
    position: relative;
    overflow: hidden;
    margin-top: 25px;
    border-radius: 4px;
    background: #2b2520;
}

.rock-home-wrap .homebanner img,
.rock-catalogue-wrap .homebanner img,
.catalogue .homebanner img,
.homebanner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rock-home-wrap .homebanner:after,
.rock-catalogue-wrap .homebanner:after,
.catalogue .homebanner:after,
.homebanner:after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(21, 19, 16, 0.88) 0%, rgba(21, 19, 16, 0.55) 50%, transparent 85%);
}

.rock-home-wrap .homebanner .copy,
.rock-catalogue-wrap .homebanner .copy,
.catalogue .homebanner .copy,
.homebanner .copy {
    position: absolute;
    z-index: 2;
    left: 2%;
    top: 50%;
    transform: translateY(-50%);
    color: #ffffff;
}

.rock-home-wrap .homebanner .eyebrow,
.rock-catalogue-wrap .homebanner .eyebrow,
.catalogue .homebanner .eyebrow,
.homebanner .eyebrow {
    color: #eed6c6;
    margin-bottom: 10px;
    font-weight: 650;
    letter-spacing: 2.7px;
    text-transform: uppercase;
    font-size: 10px;
}

.rock-home-wrap .homebanner h2,
.rock-catalogue-wrap .homebanner h2,
.catalogue .homebanner h2,
.homebanner h2 {
    font-family: var(--rock-font-display, Georgia, serif);
    font-size: 38px;
    font-weight: 400;
    line-height: 1.15;
    margin: 10px 0 16px;
    color: #ffffff;
}

.rock-home-wrap .homebanner p,
.rock-catalogue-wrap .homebanner p,
.catalogue .homebanner p,
.homebanner p {
    font-size: 13px;
    color: #ebdcd2;
    margin-bottom: 22px;
    line-height: 1.7;
}

/* --- SECTION HEAD --- */
.rock-home-wrap .sectionhead,
.rock-catalogue-wrap .sectionhead,
.catalogue .sectionhead,
.sectionhead {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin: 33px 0 15px;
}

.rock-home-wrap .sectionhead h2,
.rock-catalogue-wrap .sectionhead h2,
.catalogue .sectionhead h2,
.sectionhead h2 {
    font-family: var(--rock-font-display, Georgia, serif);
    font-size: 27px;
    font-weight: 550;
    letter-spacing: -0.6px;
    color: var(--rock-dark, #292723);
    margin: 0;
}

.rock-home-wrap .sectionhead p,
.rock-catalogue-wrap .sectionhead p,
.catalogue .sectionhead p,
.sectionhead p {
    font-size: 12px;
    color: var(--rock-muted, #7c736a);
    margin-top: 7px;
    margin-bottom: 0;
}

/* --- CATALOGUE LIST --- */
.rock-home-wrap .cataloguelist,
.rock-catalogue-wrap .cataloguelist,
.catalogue .cataloguelist,
.cataloguelist {
    border: 1px solid var(--rock-line, #ded5cb);
    background: #ffffff;
    border-radius: 3px;
    overflow: hidden;
}

.rock-home-wrap .cataloguerow,
.rock-catalogue-wrap .cataloguerow,
.catalogue .cataloguerow,
.cataloguerow {
    display: grid;
    grid-template-columns: 85px 1fr 160px 145px;
    gap: 22px;
    align-items: center;
    padding: 18px 24px;
    border-bottom: 1px solid #eee6df;
    transition: background 0.2s ease;
}

.rock-home-wrap .cataloguerow:hover,
.rock-catalogue-wrap .cataloguerow:hover,
.catalogue .cataloguerow:hover,
.cataloguerow:hover {
    background: #faf7f3;
}

.rock-home-wrap .cataloguerow:last-child,
.rock-catalogue-wrap .cataloguerow:last-child,
.catalogue .cataloguerow:last-child,
.cataloguerow:last-child {
    border-bottom: 0;
}

.rock-home-wrap .cataloguecover,
.rock-catalogue-wrap .cataloguecover,
.catalogue .cataloguecover,
.cataloguecover {
    width: 85px;
    height: 105px;
    position: relative;
    overflow: hidden;
    box-shadow: 0 4px 14px rgba(68, 51, 41, 0.15);
    border-radius: 2px;
}

.rock-home-wrap .cataloguecover img,
.rock-catalogue-wrap .cataloguecover img,
.catalogue .cataloguecover img,
.cataloguecover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rock-home-wrap .cataloguecover:after,
.rock-catalogue-wrap .cataloguecover:after,
.catalogue .cataloguecover:after,
.cataloguecover:after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(40, 31, 29, 0.85) 0%, transparent 60%);
}

.rock-home-wrap .cataloguecover b,
.rock-catalogue-wrap .cataloguecover b,
.catalogue .cataloguecover b,
.cataloguecover b {
    position: absolute;
    bottom: 8px;
    left: 8px;
    right: 8px;
    z-index: 2;
    font-family: var(--rock-font-display, Georgia, serif);
    font-size: 11px;
    color: #ffffff;
    line-height: 1.2;
}

.rock-home-wrap .cataloguerow h3,
.rock-catalogue-wrap .cataloguerow h3,
.catalogue .cataloguerow h3,
.cataloguerow h3 {
    font-size: 14px;
    font-weight: 700;
    margin: 0 0 6px;
    color: var(--rock-dark, #292723);
}

.rock-home-wrap .cataloguerow p,
.rock-catalogue-wrap .cataloguerow p,
.catalogue .cataloguerow p,
.cataloguerow p {
    font-size: 12px;
    color: var(--rock-muted, #7c736a);
    margin: 0;
}

.rock-home-wrap .cataloguerow .type-badge,
.rock-catalogue-wrap .cataloguerow .type-badge,
.catalogue .cataloguerow .type-badge,
.cataloguerow .type-badge {
    font-size: 11px;
    color: #8c7b6f;
    background: #f9f4ef;
    padding: 6px 12px;
    border-radius: 20px;
    display: inline-block;
    border: 1px solid #ece4dc;
}

/* --- PAGE HEAD & GENERAL HEADERS --- */
.rock-contact-wrap .pagehead,
.rock-catalogue-wrap .pagehead,
.catalogue .pagehead,
.pagehead {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 25px;
    margin-bottom: 22px;
}

.rock-contact-wrap .pagehead .kicker,
.rock-catalogue-wrap .pagehead .kicker,
.catalogue .pagehead .kicker,
.pagehead .kicker {
    color: var(--rock-rust, #a44f33);
    letter-spacing: 2.2px;
    text-transform: uppercase;
    font-size: 11px;
    font-weight: 750;
    margin-bottom: 8px;
    display: block;
}

.rock-contact-wrap .pagehead h1,
.rock-contact-wrap .pagehead h2,
.rock-catalogue-wrap .pagehead h1,
.rock-catalogue-wrap .pagehead h2,
.catalogue .pagehead h1,
.catalogue .pagehead h2,
.pagehead h1,
.pagehead h2 {
    font-family: var(--rock-font-display, Georgia, serif);
    font-size: 38px;
    font-weight: 550;
    letter-spacing: -0.6px;
    color: var(--rock-dark, #292723);
    margin: 4px 0 8px;
    line-height: 1.15;
}

.rock-contact-wrap .pagehead p,
.rock-catalogue-wrap .pagehead p,
.catalogue .pagehead p,
.pagehead p {
    font-size: 13px;
    color: var(--rock-muted, #7c736a);
    margin: 0;
}

/* --- CATALOGUE BAR --- */
.rock-catalogue-wrap .cataloguebar,
.catalogue .cataloguebar,
.cataloguebar {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    flex-wrap: wrap;
    margin: 18px 0 24px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--rock-line, #eee6df);
}

.rock-catalogue-wrap .cataloguebar .tabs,
.catalogue .cataloguebar .tabs,
.cataloguebar .tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
}

.rock-catalogue-wrap .cataloguebar .smallprint,
.catalogue .cataloguebar .smallprint,
.cataloguebar .smallprint {
    font-size: 12px;
    line-height: 1.5;
    color: var(--rock-muted, #8c8078);
    font-weight: 500;
}

/* Tabs / Chips */
.rock-contact-wrap .dealertabs,
.dealertabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 20px;
}

.rock-contact-wrap .chip,
.rock-catalogue-wrap .chip,
.catalogue .chip,
.cataloguebar .chip,
.dealertabs .chip,
.chip {
    border: 1px solid #ddd4ca;
    background: #ffffff;
    padding: 9px 18px;
    color: #625d59;
    font-size: 12px;
    font-weight: 500;
    white-space: nowrap;
    border-radius: 30px;
    cursor: pointer;
    transition: all 0.2s ease;
    outline: none;
    line-height: 1.2;
}

.rock-contact-wrap .chip:hover:not(.active),
.rock-catalogue-wrap .chip:hover:not(.active),
.catalogue .chip:hover:not(.active),
.cataloguebar .chip:hover:not(.active),
.dealertabs .chip:hover:not(.active),
.chip:hover:not(.active) {
    background: #fbf7f2;
    border-color: #c9bcaf;
    color: #292723;
}

.rock-contact-wrap .chip.active,
.rock-catalogue-wrap .chip.active,
.catalogue .chip.active,
.cataloguebar .chip.active,
.dealertabs .chip.active,
.chip.active {
    background: var(--rock-rust);
    border-color: var(--rock-rust);
    color: #ffffff;
    font-weight: 600;
    box-shadow: 0 3px 10px rgba(164, 79, 51, 0.25);
}

.rock-contact-wrap .dealerlayout {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 22px;
    margin-top: 10px;
    align-items: stretch;
}

.rock-contact-wrap .dealer-map {
    position: relative;
    min-height: 440px;
    height: 100%;
    overflow: hidden;
    border: 1px solid var(--rock-line);
    background: #eee8de;
    border-radius: 4px;
    background-image:
        linear-gradient(22deg, transparent 45%, #fffefa 46%, #fffefa 49%, transparent 50%),
        linear-gradient(91deg, transparent 40%, #fffefa 41%, #fffefa 45%, transparent 46%),
        linear-gradient(159deg, transparent 38%, #d8e2d6 39%, #d8e2d6 46%, transparent 47%),
        linear-gradient(53deg, transparent 38%, #fffefa 39%, #fffefa 43%, transparent 44%);
    background-size: 170px 160px, 125px 155px, 270px 260px, 220px 220px;
}

.rock-contact-wrap .dealer-map:before {
    content: "";
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(140deg, transparent 0 30px, rgba(253, 251, 247, 0.4) 30px 32px, transparent 32px 60px);
    pointer-events: none;
}

.rock-contact-wrap .mapzone {
    position: absolute;
    top: 24px;
    left: 24px;
    background: rgba(255, 255, 255, 0.96);
    padding: 14px 18px;
    min-width: 190px;
    z-index: 2;
    border: 1px solid #eee8e1;
    border-radius: 3px;
    box-shadow: var(--rock-shadow-sm);
}

.rock-contact-wrap .mapzone strong {
    font-size: 13px;
    font-weight: 700;
    display: block;
    color: var(--rock-dark);
    margin-bottom: 3px;
}

.rock-contact-wrap .mapzone span {
    font-size: 11px;
    color: #8e7d6d;
}

.rock-contact-wrap .mappin {
    position: absolute;
    width: 39px;
    height: 39px;
    background: var(--rock-rust);
    border-radius: 50% 50% 50% 4px;
    transform: translate(-50%, -50%) rotate(-45deg);
    display: grid;
    place-items: center;
    color: #ffffff;
    box-shadow: 0 10px 25px rgba(140, 81, 55, 0.4);
    z-index: 2;
    border: 3px solid #ffffff;
    cursor: pointer;
    transition: all 0.2s ease;
    padding: 0;
    outline: none;
}

.rock-contact-wrap .mappin i,
.rock-contact-wrap .mappin svg {
    transform: rotate(45deg);
    font-size: 15px;
    stroke: #ffffff;
    fill: none;
    stroke-width: 2;
}

.rock-contact-wrap .mappin:hover {
    background: var(--rock-rust-hover);
    transform: translate(-50%, -55%) rotate(-45deg) scale(1.08);
}

.rock-contact-wrap .mapfoot {
    position: absolute;
    bottom: 16px;
    left: 18px;
    z-index: 2;
    padding: 8px 14px;
    background: rgba(255, 253, 250, 0.94);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.8px;
    color: #8a7b6d;
    border-radius: 2px;
}

.rock-contact-wrap .dealerlist {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.rock-contact-wrap .dealeritem {
    background: #ffffff;
    border: 1px solid var(--rock-line);
    padding: 18px 22px;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 14px;
    align-items: center;
    border-radius: 3px;
    transition: all 0.2s ease;
}

.rock-contact-wrap .dealeritem:hover,
.rock-contact-wrap .dealeritem.active {
    border-color: var(--rock-rust);
    box-shadow: var(--rock-shadow-sm);
    background: #fffdfb;
}

.rock-contact-wrap .dealeritem h3 {
    font-size: 14px;
    font-weight: 700;
    margin: 0 0 5px;
    color: var(--rock-dark);
}

.rock-contact-wrap .dealeritem p {
    font-size: 12px;
    color: #8c8078;
    line-height: 1.6;
    margin: 0;
}

.rock-contact-wrap .dealeritem .dealer-note {
    color: #ab6a50;
    font-size: 10.5px;
    margin-top: 4px;
}

.rock-contact-wrap .dealeritem .dealer-link,
.rock-contact-wrap .dealeritem button[data-action="contactScroll"],
.rock-contact-wrap .dealeritem button {
    font-size: 11px;
    color: var(--rock-rust);
    font-weight: 750;
    background: none;
    border: 0;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 0;
    transition: transform 0.2s ease, color 0.2s ease;
    white-space: nowrap;
    text-decoration: none;
}

.rock-contact-wrap .dealeritem .dealer-link:hover,
.rock-contact-wrap .dealeritem button[data-action="contactScroll"]:hover,
.rock-contact-wrap .dealeritem button:hover {
    color: var(--rock-rust-hover);
    transform: translateX(3px);
}

.rock-contact-wrap .dealer-info-card {
    padding: 22px 24px;
    background: #f4ece4;
    border: 1px solid #e8dcd0;
    border-radius: 3px;
}

.rock-contact-wrap .dealer-info-card .kicker {
    color: var(--rock-rust);
    letter-spacing: 2px;
    text-transform: uppercase;
    font-size: 10px;
    font-weight: 750;
    margin-bottom: 8px;
    display: block;
}

.rock-contact-wrap .dealer-info-card h3.display {
    font-family: var(--rock-font-display, Georgia, serif);
    font-size: 27px;
    font-weight: 400;
    color: var(--rock-dark);
    margin: 4px 0 10px;
    line-height: 1.2;
}

.rock-contact-wrap .dealer-info-card .smallprint {
    font-size: 11.5px;
    line-height: 1.7;
    color: var(--rock-muted);
    margin: 0 0 12px;
}

.rock-contact-wrap .dealer-info-card .textlink {
    border: 0;
    background: none;
    color: var(--rock-rust);
    font-weight: 750;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 0;
    font-size: 12px;
    cursor: pointer;
    transition: transform 0.2s ease;
    text-decoration: none;
}

.rock-contact-wrap .dealer-info-card .textlink:hover {
    transform: translateX(3px);
    color: var(--rock-rust-hover);
}

/* Consultation & Contact Form Box */
.rock-contact-wrap .contactsection {
    background: #ffffff;
    border: 1px solid var(--rock-line);
    display: grid;
    grid-template-columns: 0.85fr 1.15fr;
    gap: 30px;
    padding: 32px 35px;
    margin-top: 25px;
    border-radius: 4px;
    box-shadow: var(--rock-shadow-sm);
    margin-bottom: 15px;
}

.rock-contact-wrap .contactsection h2 {
    font-family: var(--rock-font-display);
    font-size: 28px;
    font-weight: 500;
    margin: 0 0 10px;
    color: var(--rock-dark);
}

.rock-contact-wrap .contactsection .lead {
    font-size: 13px;
    color: var(--rock-muted);
    line-height: 1.7;
    margin-bottom: 20px;
}

.rock-contact-wrap .contactsection .benefit-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 12px;
    font-size: 12px;
    color: #554e48;
}

.rock-contact-wrap .contactsection .benefit-item i {
    color: var(--rock-rust);
    font-size: 15px;
    margin-top: 2px;
}

.rock-contact-wrap .contactsection form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.rock-contact-wrap .field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.rock-contact-wrap .field.full {
    grid-column: span 2;
}

.rock-contact-wrap .field label {
    font-size: 11px;
    font-weight: 700;
    color: #554d45;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin: 0;
}

.rock-contact-wrap .field input,
.rock-contact-wrap .field select,
.rock-contact-wrap .field textarea {
    border: 1px solid #ded5cb;
    background: #ffffff;
    color: #383430;
    padding: 11px 14px;
    border-radius: 2px;
    font-size: 13px;
    font-family: inherit;
    outline: none;
    transition: border-color 0.2s ease;
}

.rock-contact-wrap .field input:focus,
.rock-contact-wrap .field select:focus,
.rock-contact-wrap .field textarea:focus {
    border-color: var(--rock-rust);
    box-shadow: 0 0 0 3px rgba(164, 79, 51, 0.1);
}

.rock-contact-wrap .field textarea {
    min-height: 85px;
    resize: vertical;
}

.rock-contact-wrap .contactsection .btn-rock {
    grid-column: span 2;
    justify-self: start;
    margin-top: 5px;
}

.rock-contact-wrap .contactsection .kicker {
    color: var(--rock-rust);
    letter-spacing: 2.2px;
    text-transform: uppercase;
    font-size: 10px;
    font-weight: 750;
    margin-bottom: 8px;
    display: block;
}

.rock-contact-wrap .contactsection .smallprint {
    font-size: 11.5px;
    line-height: 1.7;
    color: var(--rock-muted);
    margin: 0;
}

.rock-contact-wrap .icon {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    display: inline-block;
    vertical-align: middle;
}

.rock-contact-wrap .icon.small {
    width: 14px;
    height: 14px;
    stroke-width: 2;
}

/* --- MODALS & OVERLAYS --- */
.rock-overlay {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(23, 19, 16, 0.68);
    backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s ease, visibility 0.25s ease;
}

.rock-overlay.active {
    opacity: 1;
    visibility: visible;
}

.rock-modal {
    background: #ffffff;
    width: 100%;
    max-width: 600px;
    max-height: 90vh;
    overflow-y: auto;
    border-radius: 4px;
    padding: 30px;
    box-shadow: 0 30px 100px rgba(0, 0, 0, 0.3);
    position: relative;
    transform: translateY(20px);
    transition: transform 0.25s ease;
}

.rock-overlay.active .rock-modal {
    transform: translateY(0);
}

.rock-modalhead {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 15px;
    border-bottom: 1px solid var(--rock-line);
    margin-bottom: 20px;
    padding-bottom: 15px;
}

.rock-modalhead h2 {
    font-family: var(--rock-font-display);
    font-size: 26px;
    font-weight: 500;
    margin: 0;
    color: var(--rock-dark);
}

.rock-modalclose {
    font-size: 28px;
    line-height: 1;
    color: #928377;
    cursor: pointer;
    background: transparent;
    border: 0;
    padding: 0;
}

.rock-modalclose:hover {
    color: var(--rock-rust);
}

.rock-modal-detail-grid {
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 20px;
    align-items: start;
}

.rock-modal-detail-img {
    width: 100%;
    height: 240px;
    border-radius: 3px;
    object-fit: cover;
    background: #eae2da;
}

.rock-specs-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
}

.rock-specs-table tr {
    border-bottom: 1px dashed #eee5dd;
}

.rock-specs-table td {
    padding: 8px 4px;
}

.rock-specs-table td:first-child {
    color: #8c7e73;
    font-weight: 600;
    width: 40%;
}

.rock-specs-table td:last-child {
    color: var(--rock-dark);
    font-weight: 600;
}

.rock-fav-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 0;
    border-bottom: 1px solid #f0e8e0;
}

.rock-fav-row img {
    width: 60px;
    height: 60px;
    object-fit: cover;
    border-radius: 2px;
}

/* --- REQUEST QUOTE MODAL (#rock-quote-modal) --- */
#rock-quote-modal.rock-overlay {
    background: rgba(23, 21, 19, 0.72);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    z-index: 10005;
}

#rock-quote-modal .rock-modal {
    max-width: 520px;
    width: 100%;
    background: #ffffff;
    border: 1px solid #ede5dc;
    border-radius: 6px;
    padding: 28px 32px 30px;
    box-shadow: 0 25px 70px rgba(23, 21, 19, 0.35);
    position: relative;
    transform: translateY(25px) scale(0.98);
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease;
}

#rock-quote-modal.active .rock-modal {
    transform: translateY(0) scale(1);
}

#rock-quote-modal .rock-modalhead {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    border-bottom: 1px solid #ede5dc;
    margin-bottom: 16px;
    padding-bottom: 14px;
}

#rock-quote-modal .rock-modalhead .eyebrow {
    display: block;
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    font-weight: 700;
    color: #916147;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 3px;
}

#rock-quote-modal .rock-modalhead h2 {
    font-family: 'Cinzel', serif;
    font-size: 22px;
    font-weight: 700;
    color: #171513;
    margin: 0;
    letter-spacing: -0.2px;
}

#rock-quote-modal .rock-modalclose {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    line-height: 1;
    color: #928377;
    cursor: pointer;
    background: #faf7f3;
    border: 1px solid #ede5dc;
    transition: all 0.2s ease;
    flex-shrink: 0;
    padding: 0;
}

#rock-quote-modal .rock-modalclose:hover {
    color: #ffffff;
    background: #916147;
    border-color: #916147;
    transform: rotate(90deg);
}

#rock-quote-modal p {
    font-family: 'Montserrat', sans-serif;
    font-size: 13px !important;
    color: #7a6e65 !important;
    line-height: 1.55;
    margin-bottom: 18px !important;
    background: #faf7f3;
    padding: 11px 15px;
    border-left: 3px solid #916147;
    border-radius: 0 4px 4px 0;
}

#rock-quote-modal p strong,
#rock-quote-modal #quote-modal-product-name {
    color: #916147 !important;
    font-weight: 700;
}

#rock-quote-modal .field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 14px !important;
    text-align: left;
}

#rock-quote-modal .field label {
    font-size: 11.5px;
    font-weight: 700;
    color: #403b36;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-family: 'Montserrat', sans-serif;
    margin: 0;
}

#rock-quote-modal .field input[type="text"],
#rock-quote-modal .field input[type="tel"],
#rock-quote-modal .field select,
#rock-quote-modal .field textarea {
    width: 100%;
    border: 1px solid #ded5cb;
    background: #ffffff;
    color: #171513;
    padding: 10px 14px;
    border-radius: 3px;
    font-size: 13px;
    font-family: 'Montserrat', sans-serif;
    outline: none;
    box-sizing: border-box;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

#rock-quote-modal .field input:focus,
#rock-quote-modal .field select:focus,
#rock-quote-modal .field textarea:focus {
    border-color: #916147;
    box-shadow: 0 0 0 3px rgba(145, 97, 71, 0.12);
}

#rock-quote-modal .field input::placeholder,
#rock-quote-modal .field textarea::placeholder {
    color: #a89d93;
    font-size: 12.5px;
}

#rock-quote-modal .field select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23916147' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 12px;
    padding-right: 36px;
    cursor: pointer;
}

#rock-quote-modal .field textarea {
    min-height: 75px !important;
    resize: vertical;
    line-height: 1.5;
}

#rock-quote-modal .btn-rock {
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    padding: 10px 22px;
    border-radius: 3px;
    transition: all 0.2s ease;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

#rock-quote-modal .btn-rock.outline.sm {
    background: transparent;
    border: 1px solid #ded5cb;
    color: #5a524a;
}

#rock-quote-modal .btn-rock.outline.sm:hover {
    background: #faf7f3;
    border-color: #171513;
    color: #171513;
}

#rock-quote-modal button[type="submit"].btn-rock {
    background: #916147;
    color: #ffffff;
    border: 1px solid #916147;
}

#rock-quote-modal button[type="submit"].btn-rock:hover {
    background: #784d35;
    border-color: #784d35;
    box-shadow: 0 4px 14px rgba(145, 97, 71, 0.3);
    transform: translateY(-1px);
}

#rock-quote-modal button[type="submit"].btn-rock i {
    font-size: 11px;
}

@media (max-width: 576px) {
    #rock-quote-modal {
        padding: 12px;
    }
    #rock-quote-modal .rock-modal {
        padding: 20px 16px 22px;
        border-radius: 4px;
    }
    #rock-quote-modal .rock-modalhead h2 {
        font-size: 19px;
    }
    #rock-quote-modal form div[style*="justify-content:flex-end"] {
        flex-direction: column-reverse;
        gap: 8px !important;
    }
    #rock-quote-modal .btn-rock {
        width: 100%;
        justify-content: center;
    }
}

/* Toast Notice */
.rock-toast {
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 10000;
    background: #2a221d;
    color: #ffffff;
    padding: 14px 22px;
    border-radius: 3px;
    font-size: 13px;
    box-shadow: 0 15px 45px rgba(0, 0, 0, 0.25);
    border-left: 4px solid var(--rock-rust);
    display: flex;
    align-items: center;
    gap: 12px;
    transform: translateY(100px);
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.rock-toast.show {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
}

/* Floating Quick Badge for Favorites */
.rock-floating-fav {
    position: fixed;
    bottom: 30px;
    left: 30px;
    z-index: 99;
    background: #ffffff;
    border: 1px solid #e2d7cc;
    border-radius: 30px;
    padding: 10px 18px;
    display: flex;
    align-items: center;
    gap: 9px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    cursor: pointer;
    font-size: 12px;
    font-weight: 700;
    color: var(--rock-dark);
    transition: all 0.2s ease;
}

.rock-floating-fav:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 35px rgba(0, 0, 0, 0.15);
    border-color: var(--rock-rust);
    color: var(--rock-rust);
}

.rock-floating-fav .count-bubble {
    background: var(--rock-rust);
    color: #ffffff;
    min-width: 18px;
    height: 18px;
    border-radius: 10px;
    font-size: 10px;
    display: grid;
    place-items: center;
    padding: 0 4px;
}

/* --- ROCK NEWS & JOURNAL SYSTEM --- */
.rock-news-wrap,
.rock-news-detail-wrap {
    padding-top: 25px;
    padding-bottom: 60px;
}

.news-top-banner {
    margin-bottom: 25px;
}

.news-top-banner img {
    width: 100%;
    border-radius: 4px;
    object-fit: cover;
}

/* Category Filter Chips in News */
.news-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 28px;
}

.news-tabs .chip {
    text-decoration: none !important;
    color: #625d59;
}

.news-tabs .chip:hover {
    color: #292723;
}

.news-tabs .chip.active {
    color: #ffffff !important;
}

/* News Grid Layout */
.newsgrid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin-bottom: 40px;
}

/* Luxury News Card */
.newscard {
    background: #ffffff;
    border: 1px solid var(--rock-line, #ded5cb);
    border-radius: 4px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 4px 14px rgba(45, 36, 30, 0.04);
}

.newscard:hover {
    transform: translateY(-5px);
    border-color: #c9bcaf;
    box-shadow: 0 14px 30px rgba(45, 36, 30, 0.12);
}

.newscard .photo-link {
    position: relative;
    display: block;
    width: 100%;
    height: 220px;
    overflow: hidden;
    background: #2b2520;
    text-decoration: none !important;
}

.newscard .photo-link img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.45s ease;
}

.newscard:hover .photo-link img {
    transform: scale(1.06);
}

.newscard .badge-tag {
    position: absolute;
    top: 14px;
    left: 14px;
    background: rgba(29, 24, 21, 0.75);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    color: #e5c3b1;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 4px 10px;
    border-radius: 20px;
    z-index: 2;
    border: 1px solid rgba(255, 255, 255, 0.18);
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.newscard .newsbody {
    padding: 22px 22px 24px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.newscard .newsmeta {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 11.5px;
    color: var(--rock-muted, #8c8078);
    margin-bottom: 10px;
    font-weight: 500;
}

.newscard .newsmeta i {
    color: var(--rock-rust, #a44f33);
    margin-right: 4px;
}

.newscard .newstitle {
    font-family: var(--rock-font-display, Georgia, serif);
    font-size: 18px;
    font-weight: 600;
    line-height: 1.38;
    margin: 0 0 10px;
    color: var(--rock-dark, #292723);
}

.newscard .newstitle a {
    color: inherit;
    text-decoration: none !important;
    transition: color 0.2s ease;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.newscard:hover .newstitle a {
    color: var(--rock-rust, #a44f33);
}

.newscard .newsdesc {
    font-size: 13px;
    line-height: 1.6;
    color: #6b635c;
    margin: 0 0 18px;
    flex-grow: 1;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.newscard .readmore {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11.5px;
    font-weight: 700;
    color: var(--rock-rust, #a44f33);
    text-transform: uppercase;
    letter-spacing: 0.8px;
    text-decoration: none !important;
    transition: all 0.2s ease;
    margin-top: auto;
    width: fit-content;
}

.newscard:hover .readmore {
    color: var(--rock-rust-hover, #bf5d3d);
    gap: 10px;
}

/* News Empty State */
.news-empty {
    text-align: center;
    padding: 60px 20px;
    background: #ffffff;
    border: 1px dashed var(--rock-line, #ded5cb);
    border-radius: 4px;
    margin: 20px 0 40px;
}

.news-empty i {
    font-size: 48px;
    color: var(--rock-muted, #95867a);
    margin-bottom: 16px;
    display: block;
}

.news-empty p {
    font-size: 15px;
    color: var(--rock-dark, #292723);
    margin-bottom: 20px;
}

/* Pagination Overrides */
.rock-pagination {
    margin: 35px 0 20px;
}

.rock-pagination .pagination {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0;
    margin: 0;
}

.rock-pagination .pagination>li {
    display: inline-block;
}

.rock-pagination .pagination>li>a,
.rock-pagination .pagination>li>span {
    border: 1px solid var(--rock-line, #ded5cb);
    background: #ffffff;
    color: var(--rock-dark, #292723);
    font-size: 13px;
    font-weight: 600;
    min-width: 38px;
    height: 38px;
    line-height: 36px;
    padding: 0 12px;
    border-radius: 4px;
    text-align: center;
    text-decoration: none !important;
    transition: all 0.2s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.rock-pagination .pagination>li>a:hover {
    background: #faf4ef;
    border-color: var(--rock-rust, #a44f33);
    color: var(--rock-rust, #a44f33);
}

.rock-pagination .pagination>.active>a,
.rock-pagination .pagination>.active>span {
    background: var(--rock-rust, #a44f33) !important;
    border-color: var(--rock-rust, #a44f33) !important;
    color: #ffffff !important;
    box-shadow: 0 3px 10px rgba(164, 79, 51, 0.25);
}

/* --- ARTICLE DETAIL BOX & EDITORIAL TYPOGRAPHY --- */
.article-detail-box {
    background: #ffffff;
    border: 1px solid var(--rock-line, #ded5cb);
    border-radius: 4px;
    padding: 44px 50px;
    box-shadow: 0 4px 18px rgba(45, 36, 30, 0.04);
    margin-bottom: 40px;
}

.article-header {
    margin-bottom: 30px;
    padding-bottom: 24px;
    border-bottom: 1px solid #eee5dc;
}

.article-header .kicker {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2.2px;
    text-transform: uppercase;
    color: var(--rock-rust, #a44f33);
    display: block;
    margin-bottom: 12px;
}

.article-title {
    font-family: var(--rock-font-display, Georgia, serif);
    font-size: 26px;
    font-weight: 500;
    line-height: 1.25;
    color: var(--rock-dark, #292723);
    margin: 0 0 16px;
    letter-spacing: -0.4px;
}

.article-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 14px;
    font-size: 12.5px;
    color: var(--rock-muted, #8c8078);
}

.article-meta .meta-item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.article-meta .meta-item i {
    color: var(--rock-rust, #a44f33);
}

.article-meta .meta-dot {
    color: #d1c5b8;
}

.article-meta .meta-category {
    color: var(--rock-rust, #a44f33);
    font-weight: 600;
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.article-meta .meta-category:hover {
    color: var(--rock-rust-hover, #bf5d3d);
}

/* Article Content Body */
.article-content {
    font-size: 15.5px;
    line-height: 1.85;
    color: #38332f;
}

.article-content p {
    margin: 0 0 20px;
}

.article-content h2,
.article-content h3,
.article-content h4 {
    font-family: var(--rock-font-display, Georgia, serif);
    color: var(--rock-dark, #292723);
    margin: 32px 0 14px;
    line-height: 1.3;
}

.article-content h2 {
    font-size: 24px;
    font-weight: 600;
    padding-bottom: 8px;
    border-bottom: 1px solid #f2ede6;
}

.article-content h3 {
    font-size: 20px;
    font-weight: 600;
}

.article-content img {
    max-width: 100% !important;
    height: auto !important;
    border-radius: 4px;
    margin: 20px auto;
    display: block;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
}

.article-content blockquote {
    margin: 26px 0;
    padding: 18px 24px;
    background: #faf6f0;
    border-left: 3px solid var(--rock-rust, #a44f33);
    border-radius: 0 4px 4px 0;
    font-style: italic;
    color: #4e4742;
    font-size: 16px;
    line-height: 1.7;
}

.article-content ul,
.article-content ol {
    padding-left: 24px;
    margin: 0 0 22px;
}

.article-content li {
    margin-bottom: 8px;
    line-height: 1.7;
}

.article-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 24px 0;
}

.article-content table th,
.article-content table td {
    padding: 10px 14px;
    border: 1px solid #ded5cb;
    font-size: 14px;
}

.article-content table th {
    background: #f5efe8;
    font-weight: 600;
    color: #292723;
}

.article-footer {
    margin-top: 38px;
    padding-top: 24px;
    border-top: 1px solid #eee5dc;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
    background: none;
    overflow: visible;
}

/* Sidebar in Article Detail */
.rock-sidebar .sidebar-block-right {
    background: #ffffff;
    border: 1px solid var(--rock-line, #ded5cb);
    border-radius: 4px;
    padding: 22px 24px;
    margin-bottom: 24px;
    box-shadow: 0 4px 14px rgba(45, 36, 30, 0.04);
}

.rock-sidebar .sidebar-block-right h3 {
    font-family: var(--rock-font-display, Georgia, serif);
    font-size: 17px;
    font-weight: 600;
    color: var(--rock-dark, #292723);
    margin: 0 0 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid #eee5dc;
}

.rock-sidebar .sidebar-content {
    list-style: none;
    padding: 0;
    margin: 0;
}

.rock-sidebar .sidebar-content li {
    padding: 12px 0;
    border-bottom: 1px solid #f3ede6;
}

.rock-sidebar .sidebar-content li:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.rock-sidebar .sidebar-content li article {
    display: flex;
    gap: 14px;
    align-items: center;
}

.rock-sidebar .sidebar-content li .img {
    width: 72px;
    height: 56px;
    flex-shrink: 0;
    position: relative;
    overflow: hidden;
    border-radius: 3px;
    background: #2b2520;
    display: block;
}

.rock-sidebar .sidebar-content li .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.rock-sidebar .sidebar-content li article:hover .img img {
    transform: scale(1.08);
}

.rock-sidebar .sidebar-content li h3 {
    font-family: var(--rock-font-sans, sans-serif);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    margin: 0;
    padding: 0;
    border: 0;
}

.rock-sidebar .sidebar-content li h3 a {
    color: var(--rock-dark, #292723);
    text-decoration: none !important;
    transition: color 0.2s ease;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.rock-sidebar .sidebar-content li article:hover h3 a {
    color: var(--rock-rust, #a44f33);
}

/* --- RESPONSIVE MEDIA QUERIES --- */
@media (max-width: 1200px) {
    .rock-home-wrap .collection-rail {
        width: 100%;
        margin-top: -25px;
    }

    .rock-home-wrap .featuredproducts {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 992px) {
    .rock-home-wrap .homehero {
        height: 480px;
    }

    .rock-home-wrap .hero-content h1 {
        font-size: 42px;
    }

    .rock-home-wrap .collection-rail {
        grid-template-columns: repeat(3, 1fr);
        margin-top: 15px;
    }

    .rock-home-wrap .collection-rail button:nth-child(3) {
        border-right: 0;
    }

    .rock-home-wrap .featuredproducts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .rock-home-wrap .collectiongrid {
        grid-template-columns: repeat(2, 1fr);
    }

    .rock-home-wrap .collectiontile,
    .rock-home-wrap .collectiontile.wide,
    .rock-home-wrap .collectiontile:nth-child(1),
    .rock-home-wrap .collectiontile:nth-child(2),
    .rock-home-wrap .collectiontile:nth-child(3),
    .rock-home-wrap .collectiontile:nth-child(4) {
        grid-column: span 1;
        height: 230px;
    }

    .rock-home-wrap .collectiontile:nth-child(5) {
        grid-column: span 2;
        height: 250px;
    }

    .rock-home-wrap .applicationgrid {
        grid-template-columns: repeat(2, 1fr);
        grid-auto-rows: auto;
    }

    .rock-home-wrap .applicationcard,
    .rock-home-wrap .applicationcard:nth-child(1),
    .rock-home-wrap .applicationcard:nth-child(2),
    .rock-home-wrap .applicationcard:nth-child(3),
    .rock-home-wrap .applicationcard:nth-child(4),
    .rock-home-wrap .applicationcard.large,
    .rock-home-wrap .applicationcard.full,
    .rock-home-wrap .applicationcard.wide {
        grid-column: span 1;
        height: 230px;
    }

    .rock-home-wrap .dealerlayout,
    .rock-contact-wrap .dealerlayout,
    .dealerlayout {
        grid-template-columns: 1fr;
    }

    .rock-home-wrap .contactsection,
    .rock-contact-wrap .contactsection,
    .contactsection {
        grid-template-columns: 1fr;
        padding: 24px;
    }

    .rock-home-wrap .cataloguerow,
    .rock-catalogue-wrap .cataloguerow,
    .catalogue .cataloguerow,
    .cataloguerow {
        grid-template-columns: 75px 1fr auto;
    }

    .rock-home-wrap .cataloguerow .type-badge,
    .rock-catalogue-wrap .cataloguerow .type-badge,
    .catalogue .cataloguerow .type-badge,
    .cataloguerow .type-badge {
        display: none;
    }

    .newsgrid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}

/* ============================================================== */
/* MOBILE RESPONSIVE OPTIMIZATIONS (<= 768px and <= 480px)        */
/* ============================================================== */

@media (max-width: 768px) {
    /* --- 1. GLOBAL & HEADER MOBILE --- */
    .header-toolbar {
        display: none !important;
    }

    .header-main {
        padding: 8px 0 !important;
        position: relative;
    }

    .header-main .wrap-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        position: relative;
    }

    .header-main .logo {
        flex: 1;
        text-align: center;
        padding: 0 45px;
    }

    .header-main .logo img {
        max-height: 38px !important;
        max-width: 180px;
        margin: 0 auto !important;
        display: inline-block;
        object-fit: contain;
    }

    .icon-menu-mobi {
        display: flex !important;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        width: 38px;
        height: 38px;
        position: static !important;
        padding: 0 !important;
        border-radius: 4px;
        background: #faf7f3;
        border: 1px solid #ede5dc;
        cursor: pointer;
    }

    .icon-menu-mobi span {
        width: 20px;
        height: 2px;
        background: #171513 !important;
        margin: 2px 0;
        border-radius: 1px;
    }

    .header-left {
        position: static !important;
        display: flex;
        align-items: center;
    }

    .header-left .nav-search {
        width: 38px;
        height: 38px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #faf7f3;
        border: 1px solid #ede5dc;
        border-radius: 4px;
        color: #171513;
        cursor: pointer;
    }

    .search-block {
        position: absolute;
        top: 100%;
        left: 10px;
        right: 10px;
        margin-top: 6px;
        background: #ffffff;
        border: 1px solid #ded5cb;
        border-radius: 4px;
        box-shadow: 0 10px 30px rgba(23, 21, 19, 0.15);
        padding: 8px;
        z-index: 1000;
    }

    .search-block .form-control {
        height: 40px !important;
        font-size: 13px !important;
    }

    .wrap-breadcrumb {
        padding: 10px 0 !important;
    }

    .wrap-breadcrumb .breadcrumb {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        white-space: nowrap !important;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
        padding: 0 !important;
        margin: 0 !important;
        font-size: 11.5px !important;
    }

    .wrap-breadcrumb .breadcrumb::-webkit-scrollbar {
        display: none;
    }

    /* --- 2. HOMEPAGE HERO & RAIL --- */
    .rock-home-wrap .homehero {
        height: 480px !important;
        min-height: 460px;
        border-radius: 4px;
        margin-bottom: 20px;
        overflow: hidden;
        position: relative;
    }

    .rock-home-wrap .homehero > img,
    .rock-home-wrap .homehero > video,
    .rock-home-wrap .homehero .hero-video {
        width: 100%;
        height: 100%;
        object-fit: cover;
        position: absolute;
        top: 0;
        left: 0;
    }

    .rock-home-wrap .homehero:after {
        background: linear-gradient(180deg, rgba(23, 21, 19, 0.3) 0%, rgba(23, 21, 19, 0.85) 100%);
    }

    .rock-home-wrap .hero-content {
        left: 18px !important;
        right: 18px !important;
        bottom: 24px !important;
        max-width: 100% !important;
    }

    .rock-home-wrap .hero-content .eyebrow {
        font-size: 10.5px !important;
        letter-spacing: 1.5px !important;
        margin-bottom: 4px !important;
    }

    .rock-home-wrap .hero-content h1 {
        font-size: 26px !important;
        line-height: 1.25 !important;
        margin: 4px 0 10px !important;
        font-weight: 700 !important;
    }

    .rock-home-wrap .hero-content > p {
        font-size: 12px !important;
        line-height: 1.5 !important;
        margin-bottom: 16px !important;
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .rock-home-wrap .hero-actions {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
        width: 100% !important;
    }

    .rock-home-wrap .hero-actions .btn-rock {
        width: 100% !important;
        justify-content: center !important;
        text-align: center !important;
        padding: 11px 16px !important;
        font-size: 12.5px !important;
    }

    .rock-home-wrap .hero-scroll {
        display: none !important;
    }

    /* Collection Rail: Native horizontal app swipe */
    .rock-home-wrap .collection-rail {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none;
        gap: 8px !important;
        margin: 10px -15px 24px !important;
        padding: 4px 15px 8px !important;
    }

    .rock-home-wrap .collection-rail::-webkit-scrollbar {
        display: none;
    }

    .rock-home-wrap .collection-rail .rail-btn {
        flex: 0 0 140px !important;
        min-width: 140px !important;
        padding: 12px 10px !important;
        border: 1px solid #ede5dc !important;
        border-radius: 4px !important;
        background: #ffffff !important;
        text-align: center !important;
        box-shadow: 0 2px 6px rgba(23, 21, 19, 0.03);
    }

    .rock-home-wrap .collection-rail .rail-btn span {
        font-size: 16px;
        color: #916147;
        margin-bottom: 4px;
        display: block;
    }

    .rock-home-wrap .collection-rail .rail-btn strong {
        font-size: 12.5px;
        color: #171513;
        display: block;
    }

    .rock-home-wrap .collection-rail .rail-btn small {
        font-size: 10px;
        color: #8c827a;
        display: block;
        line-height: 1.3;
    }

    /* --- 3. SECTION HEADS & TABS --- */
    .rock-home-wrap .sectionhead,
    .rock-catalogue-wrap .sectionhead,
    .catalogue .sectionhead,
    .sectionhead {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 6px !important;
        margin-bottom: 16px !important;
        padding-bottom: 10px !important;
    }

    .rock-home-wrap .sectionhead h2,
    .rock-catalogue-wrap .sectionhead h2,
    .catalogue .sectionhead h2,
    .sectionhead h2 {
        font-size: 22px !important;
        line-height: 1.3 !important;
    }

    .rock-home-wrap .sectionhead p,
    .sectionhead p {
        font-size: 12.5px !important;
    }

    .rock-contact-wrap .pagehead,
    .rock-catalogue-wrap .pagehead,
    .rock-news-wrap .pagehead,
    .rock-product-wrap .pagehead,
    .catalogue .pagehead,
    .pagehead {
        align-items: flex-start !important;
        flex-direction: column !important;
        margin-bottom: 16px !important;
        gap: 6px !important;
    }

    .rock-contact-wrap .pagehead h1,
    .rock-contact-wrap .pagehead h2,
    .rock-catalogue-wrap .pagehead h1,
    .rock-catalogue-wrap .pagehead h2,
    .rock-news-wrap .pagehead h1,
    .rock-product-wrap .pagehead h1,
    .catalogue .pagehead h1,
    .pagehead h1 {
        font-size: 24px !important;
        line-height: 1.3 !important;
    }

    .rock-tabs,
    .tabs {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none;
        gap: 6px !important;
        padding-bottom: 6px !important;
        margin-bottom: 18px !important;
    }

    .rock-tabs::-webkit-scrollbar,
    .tabs::-webkit-scrollbar {
        display: none;
    }

    .chip {
        white-space: nowrap !important;
        flex-shrink: 0 !important;
        padding: 7px 14px !important;
        font-size: 12px !important;
    }

    /* --- 4. HOMEPAGE FEATURED PRODUCTS GRID (2 COLUMNS ON MOBILE) --- */
    .rock-home-wrap .featuredproducts {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
    }

    .rock-home-wrap .featurecard {
        border-radius: 4px;
        overflow: hidden;
    }

    .rock-home-wrap .featurecard .photo-btn {
        height: 145px !important;
    }

    .rock-home-wrap .featurecard .favbutton {
        width: 28px !important;
        height: 28px !important;
        top: 6px !important;
        right: 6px !important;
        font-size: 11px !important;
    }

    .rock-home-wrap .featurecard .badge-tag {
        font-size: 9px !important;
        padding: 2px 6px !important;
        top: 6px !important;
        left: 6px !important;
    }

    .rock-home-wrap .featurebody {
        padding: 10px 8px 12px !important;
    }

    .rock-home-wrap .featurebody b {
        font-size: 12.5px !important;
        margin-bottom: 2px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        display: block !important;
    }

    .rock-home-wrap .featurebody small {
        font-size: 10px !important;
        color: #8c827a !important;
        margin-bottom: 6px !important;
        display: block !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .rock-home-wrap .chips-mini {
        gap: 4px !important;
        margin-bottom: 6px !important;
    }

    .rock-home-wrap .chips-mini span {
        font-size: 9px !important;
        padding: 1px 5px !important;
    }

    .rock-home-wrap .featurebody .card-footer {
        padding-top: 6px !important;
        margin-top: 4px !important;
        border-top: 1px solid #f3ece4;
    }

    .rock-home-wrap .featurebody .card-footer .textlink {
        font-size: 11px !important;
    }

    /* --- 5. COLLECTION & APPLICATION GRIDS --- */
    .rock-home-wrap .collectiongrid,
    .collectiongrid {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .rock-home-wrap .collectiontile,
    .rock-home-wrap .collectiontile:nth-child(n),
    .rock-home-wrap .collectiontile.wide,
    .collectiontile,
    .collectiontile.wide {
        grid-column: span 1 !important;
        height: 190px !important;
        border-radius: 4px !important;
    }

    .collectiontile .copy h3 {
        font-size: 20px !important;
    }

    .collectiontile .copy p {
        font-size: 11.5px !important;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .rock-home-wrap .applicationgrid,
    .applicationgrid {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .rock-home-wrap .applicationcard,
    .rock-home-wrap .applicationcard:nth-child(n),
    .rock-home-wrap .applicationcard.large,
    .rock-home-wrap .applicationcard.full,
    .rock-home-wrap .applicationcard.wide,
    .applicationcard {
        grid-column: span 1 !important;
        height: 200px !important;
        border-radius: 4px !important;
    }

    .applicationcard .copy b {
        font-size: 18px !important;
    }

    /* --- 6. PROMO BANNER --- */
    .rock-home-wrap .homebanner,
    .rock-catalogue-wrap .homebanner,
    .catalogue .homebanner,
    .homebanner {
        height: 290px !important;
        margin-top: 20px !important;
        border-radius: 4px !important;
    }

    .rock-home-wrap .homebanner h2,
    .rock-catalogue-wrap .homebanner h2,
    .catalogue .homebanner h2,
    .homebanner h2 {
        font-size: 22px !important;
        line-height: 1.25 !important;
    }

    .rock-home-wrap .homebanner .copy,
    .rock-catalogue-wrap .homebanner .copy,
    .catalogue .homebanner .copy,
    .homebanner .copy {
        left: 16px !important;
        right: 16px !important;
        bottom: 18px !important;
    }

    .homebanner .copy div[style*="display:flex"] {
        flex-direction: column !important;
        gap: 8px !important;
    }

    .homebanner .copy .btn-rock {
        width: 100% !important;
        justify-content: center !important;
        text-align: center !important;
        padding: 10px 14px !important;
        font-size: 12px !important;
    }

    /* --- 7. CATALOGUES LIST --- */
    .rock-catalogue-wrap .cataloguebar,
    .catalogue .cataloguebar,
    .cataloguebar {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 10px !important;
    }

    .rock-home-wrap .cataloguerow,
    .rock-catalogue-wrap .cataloguerow,
    .catalogue .cataloguerow,
    .cataloguerow {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        padding: 14px !important;
        border-radius: 4px !important;
    }

    .catalogue-actions {
        width: 100% !important;
        display: flex !important;
        gap: 8px !important;
    }

    .catalogue-actions .btn-rock {
        flex: 1 !important;
        justify-content: center !important;
        text-align: center !important;
        font-size: 11.5px !important;
        padding: 9px 8px !important;
    }

    /* --- 8. DEALERS & CONTACT SECTION --- */
    .rock-home-wrap .dealerlayout,
    .rock-contact-wrap .dealerlayout,
    .dealerlayout {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    .dealer-map {
        height: 220px !important;
        border-radius: 4px !important;
    }

    .rock-home-wrap .contactsection,
    .rock-contact-wrap .contactsection,
    .contactsection {
        grid-template-columns: 1fr !important;
        padding: 20px 16px !important;
        border-radius: 4px !important;
    }

    .contactsection h2 {
        font-size: 22px !important;
    }

    .rock-home-wrap .contactsection form,
    .rock-contact-wrap .contactsection form,
    .contactsection form {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .rock-home-wrap .field.full,
    .rock-contact-wrap .field.full,
    .field.full,
    .rock-home-wrap .contactsection .btn-rock,
    .rock-contact-wrap .contactsection .btn-rock,
    .contactsection .btn-rock {
        grid-column: span 1 !important;
        width: 100% !important;
        justify-content: center !important;
    }

    /* --- 9. NEWS & JOURNAL --- */
    .newsgrid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    .newscard .photo-link {
        height: 180px !important;
    }

    .article-detail-box {
        padding: 20px 16px !important;
        border-radius: 4px !important;
    }

    .article-title {
        font-size: 22px !important;
        line-height: 1.35 !important;
    }

    .article-body img {
        max-width: 100% !important;
        height: auto !important;
    }

    .news-sidebar-col {
        margin-top: 25px !important;
    }

    /* --- 10. MODALS OVERLAYS --- */
    .rock-overlay {
        padding: 10px !important;
    }

    .rock-modal {
        max-width: 100% !important;
        padding: 20px 16px 22px !important;
        border-radius: 4px !important;
        max-height: 94vh !important;
    }

    .rock-modalhead {
        margin-bottom: 14px !important;
        padding-bottom: 10px !important;
    }

    .rock-modalhead h2 {
        font-size: 20px !important;
    }

    .rock-modal-detail-grid {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    .rock-modal-detail-img {
        height: 180px !important;
    }

    .rock-floating-fav {
        left: 15px !important;
        bottom: 15px !important;
        padding: 8px 14px !important;
        font-size: 12px !important;
    }

    .rock-toast {
        left: 15px !important;
        right: 15px !important;
        bottom: 20px !important;
        justify-content: center !important;
        text-align: center !important;
        font-size: 12.5px !important;
        padding: 12px 16px !important;
    }
}

/* ============================================================== */
/* ROCK PRODUCT SYSTEM - SYNCHRONIZED WITH HOMEPAGE LUXURY DESIGN */
/* ============================================================== */
.rock-product-wrap {
    padding-top: 25px;
}

.rock-product-wrap .content-product {
    min-height: 350px;
}

/* Category Tabs (Chips) */
.rock-product-wrap .product-tabs,
.rock-product-wrap .product-sub-tabs {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 8px;
    margin-bottom: 24px;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.rock-product-wrap .product-tabs::-webkit-scrollbar,
.rock-product-wrap .product-sub-tabs::-webkit-scrollbar {
    display: none;
}

.rock-product-wrap .product-tabs .chip,
.rock-product-wrap .product-sub-tabs .chip {
    white-space: nowrap;
    padding: 8px 18px;
    border-radius: 2px;
    border: 1px solid #e3ded8;
    background: #ffffff;
    color: #4a433d;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.2s ease;
    display: inline-flex;
    align-items: center;
    cursor: pointer;
}

.rock-product-wrap .product-tabs .chip:hover,
.rock-product-wrap .product-sub-tabs .chip:hover {
    border-color: #916147;
    color: #916147;
    background: #fdfbf9;
}

.rock-product-wrap .product-tabs .chip.active,
.rock-product-wrap .product-sub-tabs .chip.active {
    background: #171513;
    border-color: #171513;
    color: #ffffff;
    font-weight: 600;
}

.rock-product-wrap .product-sub-tabs .chip {
    padding: 6px 14px;
    font-size: 12px;
    background: #faf7f3;
}

/* Toolbar: short_price & tags */
.rock-product-wrap .rock-product-toolbar,
.rock-product-wrap .short_price {
    display: flex !important;
    align-items: center;
    justify-content: flex-start !important;
    flex-wrap: wrap;
    gap: 12px;
    margin: 10px 0 24px;
    padding: 10px 16px;
    background: #faf7f3;
    border: 1px solid #ede5dc;
    border-radius: 4px;
    float: none !important;
    text-align: left !important;
}

.rock-product-wrap .short_price #short_product {
    height: 38px !important;
    max-width: 230px !important;
    line-height: 36px !important;
    font-size: 13px !important;
    font-family: 'Montserrat', sans-serif !important;
    padding: 0 32px 0 12px !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    border: 1px solid #ded5cb !important;
    border-radius: 3px !important;
    color: #302d29 !important;
    background-color: #ffffff !important;
    outline: none !important;
    cursor: pointer !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.rock-product-wrap .short_price #short_product:focus,
.rock-product-wrap .short_price #short_product:hover {
    border-color: #916147 !important;
    box-shadow: 0 0 0 2px rgba(145, 97, 71, 0.15) !important;
}

/* Tag filter dropdown in toolbar */
.rock-product-wrap .tag-filter-dropdown {
    position: relative !important;
    display: inline-block !important;
    text-align: left !important;
    vertical-align: middle !important;
}

.rock-product-wrap .tag-filter-btn {
    width: 100% !important;
    min-width: 180px !important;
    max-width: 260px !important;
    height: 38px !important;
    line-height: 36px !important;
    font-size: 13px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 500 !important;
    color: #302d29 !important;
    background-color: #ffffff !important;
    border: 1px solid #ded5cb !important;
    border-radius: 3px !important;
    padding: 0 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    box-sizing: border-box !important;
    outline: none !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: all 0.2s ease-in-out !important;
}

.rock-product-wrap .tag-filter-btn:hover,
.rock-product-wrap .tag-filter-btn:focus,
.rock-product-wrap .tag-filter-btn:active,
.rock-product-wrap .tag-filter-dropdown.open .tag-filter-btn {
    color: #916147 !important;
    background-color: #ffffff !important;
    border-color: #916147 !important;
    box-shadow: 0 0 0 2px rgba(145, 97, 71, 0.15) !important;
    outline: none !important;
}

.rock-product-wrap .tag-filter-label {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    max-width: 190px !important;
    display: inline-block !important;
}

.rock-product-wrap .tag-filter-btn .caret {
    margin-left: 8px !important;
    margin-top: 0 !important;
    border-top-color: #7a6e65 !important;
    transition: transform 0.2s ease, border-top-color 0.2s ease !important;
}

.rock-product-wrap .tag-filter-btn:hover .caret,
.rock-product-wrap .tag-filter-dropdown.open .tag-filter-btn .caret {
    border-top-color: #916147 !important;
}

.rock-product-wrap .tag-filter-dropdown.open .tag-filter-btn .caret {
    transform: rotate(180deg) !important;
}

.rock-product-wrap .tag-filter-menu {
    width: 280px !important;
    min-width: 280px !important;
    max-width: 340px !important;
    padding: 8px !important;
    margin: 4px 0 0 !important;
    background: #ffffff !important;
    border: 1px solid #ded5cb !important;
    border-radius: 4px !important;
    box-shadow: 0 10px 28px rgba(23, 21, 19, 0.12) !important;
    z-index: 1050 !important;
}

.rock-product-wrap .tag-search-box {
    padding: 4px 4px 8px !important;
    border-bottom: 1px solid #ede5dc !important;
    margin-bottom: 6px !important;
}

.rock-product-wrap .tag-search-input {
    height: 32px !important;
    border: 1px solid #ded5cb !important;
    border-radius: 3px !important;
    padding: 0 8px !important;
    font-size: 12px !important;
    font-family: inherit !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.rock-product-wrap .tag-search-input:focus {
    border-color: #916147 !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(145, 97, 71, 0.15) !important;
}

.rock-product-wrap .tag-option-item {
    padding: 4px 6px !important;
    border-radius: 3px !important;
    transition: background-color 0.15s !important;
}

.rock-product-wrap .tag-option-item:hover {
    background-color: #faf7f3 !important;
}

.rock-product-wrap .tag-option-item label {
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    font-size: 12px !important;
    font-weight: normal !important;
    cursor: pointer !important;
    color: #403b36 !important;
}

.rock-product-wrap .tag-option-item input[type="checkbox"] {
    margin: 0 8px 0 0 !important;
    cursor: pointer !important;
    accent-color: #916147 !important;
}

.rock-product-wrap .parent-tag-item {
    font-weight: 600 !important;
    border-top: 1px dashed #f0e9e1 !important;
    margin-top: 4px !important;
    padding-top: 6px !important;
}

.rock-product-wrap .child-tag-item {
    padding-left: 20px !important;
    color: #6a625b !important;
}

/* Category Section Head & Block */
.rock-product-wrap .product-category-section {
    margin-bottom: 45px;
}

.rock-product-wrap .sectionhead {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin: 25px 0 18px;
    padding-bottom: 12px;
    border-bottom: 1px solid #ede5dc;
}

.rock-product-wrap .sectionhead h2 {
    font-size: 20px;
    font-weight: 700;
    color: #171513;
    margin: 0 0 4px;
    letter-spacing: -0.2px;
}

.rock-product-wrap .sectionhead h2 a {
    color: #171513;
    text-decoration: none;
    transition: color 0.2s;
}

.rock-product-wrap .sectionhead h2 a:hover {
    color: #916147;
}

.rock-product-wrap .sectionhead p {
    font-size: 13px;
    color: #8c827a;
    margin: 0;
}

.rock-product-wrap .sectionhead .textlink {
    color: #916147;
    font-weight: 600;
    font-size: 13px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.rock-product-wrap .sectionhead .textlink:hover {
    color: #c2704e;
    transform: translateX(3px);
}

/* Product Card Grid */
.rock-product-wrap .content-product .row {
    margin-left: -10px;
    margin-right: -10px;
}

.rock-product-wrap .content-product .product-main-row{
    margin: 0;
}

.rock-product-wrap .content-product .row .item {
    padding: 10px;
}

/* Card Outer: .iframe */
.rock-product-wrap .content-product .item .iframe {
    background: #ffffff;
    border: 1px solid #eee8e2;
    border-radius: 3px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 2px 8px rgba(23, 21, 19, 0.03);
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    height: 100%;
    display: flex;
    flex-direction: column;
}

.rock-product-wrap .content-product .item .iframe:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(23, 21, 19, 0.09);
    border-color: #ded5cb;
}

/* Card Photo: .img */
.rock-product-wrap .content-product .item .iframe .img {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 90%;
    overflow: hidden;
    background: #ede8e1;
}

.rock-product-wrap .content-product .item .iframe .img a {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.rock-product-wrap .content-product .item .iframe .img img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.45s ease;
}

.rock-product-wrap .content-product .item .iframe:hover .img img {
    transform: scale(1.06);
}

/* Badge Code */
.rock-product-wrap .content-product .item .iframe .img .code {
    position: absolute;
    top: 10px;
    left: 10px;
    bottom: auto;
    right: auto;
    background: rgba(255, 255, 255, 0.94);
    padding: 3px 9px;
    color: #8c5946;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.5px;
    border-radius: 2px;
    backdrop-filter: blur(4px);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
    text-transform: uppercase;
    z-index: 2;
}

/* Coming Soon Label */
.rock-product-wrap .content-product .item .iframe .img .coming_soon_label {
    position: absolute;
    top: 10px;
    right: 10px;
    background: rgba(194, 112, 78, 0.94);
    color: #ffffff;
    font-size: 10px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 2px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    z-index: 2;
}

/* Commission badge */
.rock-product-wrap .content-product .item .iframe .img .hh_vnd {
    position: absolute;
    bottom: 8px;
    right: 8px;
    background: rgba(85, 124, 85, 0.92);
    color: #ffffff;
    font-size: 10px;
    font-weight: 600;
    padding: 2px 7px;
    border-radius: 2px;
    z-index: 2;
}

/* Card Body: .info */
.rock-product-wrap .content-product .item .iframe .info {
    padding: 14px 16px 16px;
    background: #ffffff;
    border-top: 1px solid #f6f1ec;
    display: flex;
    flex-direction: column;
    flex: 1;
    height: auto;
}

.rock-product-wrap .content-product .item .iframe .info h3 {
    margin: 0 0 8px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
    height: 38px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.rock-product-wrap .content-product .item .iframe .info .manufacturer_name{
    display: block;
    color: #999089;
    font-size: 11px;
    margin: 4px 0 12px;
}

.rock-product-wrap .content-product .item .iframe .info .card-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid #f3ece4;
    padding-top: 10px;
    margin-top: 6px;
}

.rock-product-wrap .content-product .item .iframe .info h3 a {
    color: #171513;
    text-decoration: none;
    transition: color 0.2s ease;
}

.rock-product-wrap .content-product .item .iframe:hover .info h3 a {
    color: #c2704e;
}

.rock-product-wrap .content-product .item .iframe .info .price {
    font-size: 13px;
    color: #c2704e;
    font-weight: 600;
    margin: 0;
    display: flex;
    align-items: baseline;
    gap: 6px;
    flex-wrap: wrap;
}

.rock-product-wrap .content-product .item .iframe .info .price b {
    color: #c2704e;
    font-size: 14px;
    font-weight: 700;
}

.rock-product-wrap .content-product .item .iframe .info .price font {
    font-size: 11px;
    font-weight: 600;
    text-decoration: underline;
}

.rock-product-wrap .content-product .item .iframe .info .price .discount {
    font-size: 10px;
    background: #fae8e1;
    color: #c2704e;
    padding: 1px 6px;
    border-radius: 2px;
    font-weight: 700;
    border: none;
    margin-left: 4px;
    top: 0;
}

.rock-product-wrap .content-product .item .iframe .info .price .discount::before {
    display: none;
}

.rock-product-wrap .content-product .item .iframe .info .price_sale {
    font-size: 11px;
    color: #999089;
    text-decoration: line-through;
    margin: 2px 0 0;
}

.rock-product-wrap .content-product .item .iframe .info.info_td p.sub {
    font-size: 11px;
    color: #7a6e65;
    margin: 4px 0 0;
}

.rock-product-wrap .content-product .item .iframe .info.info_td p.sub b {
    color: #171513;
    font-weight: 600;
}

/* Category Banner */
.rock-product-wrap .banner.header-slider {
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 25px;
    box-shadow: 0 4px 15px rgba(23, 21, 19, 0.05);
}

.rock-product-wrap .banner.header-slider img {
    width: 100%;
    display: block;
}

/* Pagination */
.rock-product-wrap #page_html {
    margin: 35px 0 20px;
    text-align: center;
}

.rock-product-wrap #page_html .pagination {
    display: inline-flex;
    gap: 6px;
    padding: 0;
    margin: 0;
    border-radius: 0;
}

.rock-product-wrap #page_html .pagination>li>a,
.rock-product-wrap #page_html .pagination>li>span {
    border: 1px solid #ded5cb !important;
    background: #ffffff !important;
    color: #4a433d !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    padding: 8px 14px !important;
    border-radius: 3px !important;
    margin: 0 !important;
    transition: all 0.2s ease !important;
    text-decoration: none !important;
}

.rock-product-wrap #page_html .pagination>li>a:hover {
    background: #faf7f3 !important;
    border-color: #916147 !important;
    color: #916147 !important;
}

.rock-product-wrap #page_html .pagination>li.active>a,
.rock-product-wrap #page_html .pagination>li.active>span {
    background: #171513 !important;
    border-color: #171513 !important;
    color: #ffffff !important;
}

/* View More Button for Category Section */
.rock-product-wrap .category-view-more {
    text-align: center;
    margin-top: 15px;
    padding-top: 10px;
}

/* Empty State */
.rock-product-wrap .empty-product-state {
    text-align: center;
    padding: 60px 20px;
    background: #ffffff;
    border: 1px solid #ede5dc;
    border-radius: 4px;
    margin: 20px 0;
}

.rock-product-wrap .empty-product-state i {
    font-size: 36px;
    color: #c69c6d;
    margin-bottom: 12px;
    display: block;
}

.rock-product-wrap .empty-product-state p {
    font-size: 15px;
    color: #7a6e65;
    margin-bottom: 18px;
}

/* Filter Sidebar: 2-column layout (col-md-3) */
.rock-product-wrap .filter-sidebar {
    background: #ffffff;
    border: 1px solid #ede5dc;
    border-radius: 4px;
    margin-bottom: 30px;
    padding: 20px 18px;
    box-shadow: 0 2px 10px rgba(23, 21, 19, 0.03);
}

@media (min-width: 992px) {
    .rock-product-wrap .filter-sidebar {
        position: sticky;
        top: 90px;
        z-index: 10;
    }
}

.rock-product-wrap .filter-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 18px;
    padding-bottom: 12px;
    border-bottom: 2px solid #ede5dc;
}

.rock-product-wrap .filter-header h4 {
    margin: 0;
    color: #171513;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-family: 'Montserrat', sans-serif;
}

.rock-product-wrap .filter-header h4 i {
    color: #916147;
    margin-right: 6px;
}

.rock-product-wrap .filter-group {
    margin-bottom: 22px;
    padding-bottom: 18px;
    border-bottom: 1px solid #f2ece4;
}

.rock-product-wrap .filter-group:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.rock-product-wrap .filter-group-title {
    font-size: 12px;
    font-weight: 700;
    color: #916147;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    margin: 0 0 12px 0;
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'Montserrat', sans-serif;
}

.rock-product-wrap .filter-group-title i {
    font-size: 13px;
    color: #916147;
}

/* Group 1: Sidebar category list */
.rock-product-wrap .sidebar-category-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.rock-product-wrap .sidebar-category-list li {
    margin-bottom: 3px;
}

.rock-product-wrap .sidebar-category-list li a {
    display: flex;
    align-items: center;
    padding: 7px 10px;
    color: #4a433d;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    border-radius: 3px;
    transition: all 0.2s ease;
}

.rock-product-wrap .sidebar-category-list li a i {
    font-size: 11px;
    color: #999089;
    margin-right: 8px;
    transition: transform 0.2s ease, color 0.2s ease;
}

.rock-product-wrap .sidebar-category-list li a:hover {
    background: #faf7f3;
    color: #916147;
    padding-left: 14px;
}

.rock-product-wrap .sidebar-category-list li a:hover i {
    color: #916147;
    transform: translateX(2px);
}

.rock-product-wrap .sidebar-category-list li.active a {
    background: #faf7f3;
    color: #916147;
    font-weight: 700;
    border-left: 3px solid #916147;
    padding-left: 10px;
}

.rock-product-wrap .sidebar-category-list li.active a i {
    color: #916147;
}

/* Group 2: Sidebar tags tree */
.rock-product-wrap .filter-search {
    margin-bottom: 12px;
}

.rock-product-wrap .filter-search .input-group {
    width: 100%;
}

.rock-product-wrap .filter-search .tag-search-input {
    height: 34px !important;
    font-size: 12px !important;
    border: 1px solid #ded5cb !important;
    border-right: none !important;
    border-radius: 3px 0 0 3px !important;
    box-shadow: none !important;
    color: #302d29 !important;
    background: #faf7f3 !important;
    transition: all 0.2s ease !important;
}

.rock-product-wrap .filter-search .tag-search-input:focus {
    background: #ffffff !important;
    border-color: #916147 !important;
}

.rock-product-wrap .filter-search .input-group-addon {
    background: #faf7f3 !important;
    border: 1px solid #ded5cb !important;
    border-left: none !important;
    border-radius: 0 3px 3px 0 !important;
    color: #8c827a !important;
    padding: 6px 12px !important;
}

.rock-product-wrap .tag-option-item {
    padding: 5px 0;
    transition: background 0.15s ease;
}

.rock-product-wrap .tag-option-item label {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    font-size: 12.5px;
    color: #4a433d;
    cursor: pointer;
    font-weight: 500;
}

.rock-product-wrap .tag-option-item label:hover {
    color: #916147;
}

.rock-product-wrap .tag-option-item input[type="checkbox"] {
    margin: 0;
    accent-color: #916147;
    width: 15px;
    height: 15px;
    cursor: pointer;
    flex-shrink: 0;
}

.rock-product-wrap .tag-option-item.check-all-item {
    border-bottom: 1px dashed #ded5cb;
    padding-bottom: 8px;
    margin-bottom: 8px;
}

.rock-product-wrap .tag-option-item.check-all-item label {
    font-weight: 700;
    color: #171513;
}

.rock-product-wrap .tag-option-item.parent-tag-item {
    font-weight: 600;
}

.rock-product-wrap .tag-option-item.child-tag-item {
    padding-left: 20px;
    position: relative;
}

.rock-product-wrap .tag-option-item.child-tag-item::before {
    content: "";
    position: absolute;
    left: 8px;
    top: 50%;
    width: 8px;
    height: 1px;
    background: #ded5cb;
}

.rock-product-wrap .tag-option-item input[type="checkbox"]:checked~.tag-name {
    color: #916147;
    font-weight: 700;
}

/* Product Content: 2-column layout (col-md-9) */
.rock-product-wrap .product-content {
    margin-bottom: 30px;
}

.rock-product-wrap .product-content .short_price {
    margin-top: 0;
}

/* Product Card in 3-column grid */
@media (min-width: 992px) {
    .rock-product-wrap .product-content .row .item.col-md-4 {
        width: 33.33333333%;
        float: left;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    .rock-product-wrap .product-content .row .item.col-sm-6 {
        width: 50%;
        float: left;
    }
}

@media (max-width: 767px) {
    .rock-product-wrap .product-content .row .item.col-xs-6 {
        width: 50%;
        float: left;
    }
}

/* Product Mobile Responsive Optimizations (<= 767px) */
@media (max-width: 767px) {
    .rock-product-wrap {
        padding-top: 15px;
    }

    .rock-product-wrap .content-product .row {
        margin-left: -5px;
        margin-right: -5px;
    }

    .rock-product-wrap .content-product .product-main-row {
        margin: 0 -5px !important;
    }

    /* Filter Sidebar on Mobile */
    .rock-product-wrap .filter-sidebar {
        position: static !important;
        margin-bottom: 18px;
        padding: 14px 14px 16px;
        border-radius: 4px;
        box-shadow: 0 1px 6px rgba(23, 21, 19, 0.04);
    }

    .rock-product-wrap .filter-header {
        margin-bottom: 12px;
        padding-bottom: 8px;
    }

    .rock-product-wrap .filter-header h4 {
        font-size: 13px;
    }

    .rock-product-wrap .filter-group {
        margin-bottom: 16px;
        padding-bottom: 14px;
    }

    .rock-product-wrap .filter-group-title {
        font-size: 11.5px;
        margin-bottom: 10px;
    }

    .rock-product-wrap .sidebar-category-list {
        max-height: 180px;
        overflow-y: auto;
    }

    .rock-product-wrap .sidebar-category-list li a {
        padding: 6px 8px;
        font-size: 12px;
    }

    .rock-product-wrap .tag-options-list {
        max-height: 180px;
        overflow-y: auto;
    }

    .rock-product-wrap .tag-option-item label {
        font-size: 12px;
    }

    /* Toolbar on Mobile */
    .rock-product-wrap .rock-product-toolbar,
    .rock-product-wrap .short_price {
        width: 100% !important;
        margin: 0 0 14px !important;
        padding: 8px 10px !important;
        justify-content: space-between !important;
        gap: 8px !important;
    }

    .rock-product-wrap .short_price #short_product {
        width: 100% !important;
        max-width: 100% !important;
        height: 36px !important;
        font-size: 12px !important;
        padding: 0 28px 0 10px !important;
    }

    /* Product Cards in Grid (2 columns on mobile) */
    .rock-product-wrap .product-content {
        padding: 0 5px !important;
        margin-bottom: 20px;
    }

    .rock-product-wrap .product-content .row .item {
        padding: 5px !important;
    }

    .rock-product-wrap .content-product .item .iframe {
        border-radius: 4px;
    }

    .rock-product-wrap .content-product .item .iframe .img {
        padding-bottom: 100% !important;
    }

    .rock-product-wrap .content-product .item .iframe .img .code {
        top: 6px;
        left: 6px;
        font-size: 9px;
        padding: 2px 6px;
    }

    .rock-product-wrap .content-product .item .iframe .img .coming_soon_label {
        top: 6px;
        right: 6px;
        font-size: 9px;
        padding: 2px 6px;
    }

    .rock-product-wrap .content-product .item .iframe .info {
        padding: 8px 8px 10px !important;
    }

    .rock-product-wrap .content-product .item .iframe .info h3 {
        font-size: 12px !important;
        height: 32px !important;
        line-height: 1.35 !important;
        margin: 0 0 2px !important;
    }

    .rock-product-wrap .content-product .item .iframe .info .manufacturer_name {
        font-size: 9.5px !important;
        margin: 2px 0 6px !important;
        color: #999089 !important;
    }

    .rock-product-wrap .content-product .item .iframe .info .price {
        font-size: 11.5px !important;
        gap: 3px !important;
    }

    .rock-product-wrap .content-product .item .iframe .info .price b {
        font-size: 12px !important;
    }

    .rock-product-wrap .content-product .item .iframe .info .price .discount {
        font-size: 9px !important;
        padding: 1px 4px !important;
    }

    .rock-product-wrap .content-product .item .iframe .info .price_sale {
        font-size: 10px !important;
    }

    .rock-product-wrap .content-product .item .iframe .info .card-footer {
        padding-top: 5px !important;
        margin-top: 4px !important;
        border-top: 1px solid #f3ece4;
    }

    .rock-product-wrap .content-product .item .iframe .info .card-footer .textlink {
        font-size: 10.5px !important;
        gap: 4px !important;
    }

    .rock-product-wrap .sectionhead {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 6px !important;
        margin-bottom: 14px;
    }

    .rock-product-wrap .sectionhead h2 {
        font-size: 19px !important;
    }

    .rock-product-wrap #page_html {
        margin: 20px 0 10px !important;
    }

    .rock-product-wrap #page_html .pagination > li > a,
    .rock-product-wrap #page_html .pagination > li > span {
        padding: 6px 11px !important;
        font-size: 12px !important;
    }
}