:root{--carpet-burgundy:#5b171d;--carpet-burgundy-dark:#321013;--carpet-gold:#c69a54;--carpet-cream:#f7f2e9;--carpet-ink:#241b18;--carpet-muted:#796f69;--carpet-line:#e8ded1;--carpet-white:#fff;--carpet-radius:22px}
.carpet-site{background:#fbfaf7;color:var(--carpet-ink);padding-bottom:0}.carpet-container{max-width:1440px;padding-left:32px;padding-right:32px}.carpet-topbar{background:var(--carpet-burgundy-dark);padding:9px 0;font-size:12px}.carpet-topbar span,.carpet-topbar a,.carpet-topbar i{color:#f5eadd}.carpet-topbar i{margin-left:5px;color:var(--carpet-gold)}
.carpet-header{background:#fff;padding:20px 0;border-bottom:1px solid var(--carpet-line);position:relative;z-index:1100}.carpet-logo img{width:auto;height:58px;max-width:190px;object-fit:contain}.carpet-search{height:54px;border:1px solid #dfd7cf;background:#faf8f4;border-radius:16px;padding:5px 8px 5px 5px;display:flex;align-items:center}.carpet-search>i{font-size:19px;color:#8d8179;margin:0 12px}.carpet-search input{border:0;outline:0;background:transparent;flex:1;font-family:inherit;font-size:14px}.carpet-search button{height:42px;border:0;border-radius:12px;background:var(--carpet-burgundy);color:#fff;padding:0 25px;font-weight:700}.carpet-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.carpet-action{min-height:48px;border:1px solid var(--carpet-line);border-radius:14px;padding:8px 13px;display:flex;align-items:center;gap:7px;color:var(--carpet-ink);position:relative}.carpet-action i{font-size:22px;color:var(--carpet-burgundy)}.carpet-action b{background:var(--carpet-burgundy);color:#fff;border-radius:20px;min-width:20px;height:20px;line-height:20px;text-align:center;font-size:10px}
.carpet-nav{background:#fff;border-bottom:1px solid var(--carpet-line);position:relative;z-index:1000}.carpet-nav-list{display:flex;align-items:center;list-style:none;margin:0;padding:0}.carpet-nav-list>li>a{display:flex;align-items:center;gap:7px;padding:17px 18px;font-weight:600;color:#332a26}.carpet-nav-list>li:first-child>a{padding-right:0}.carpet-nav-list>li>a:hover{color:var(--carpet-burgundy)}.carpet-category-menu{position:static}.carpet-category-menu>a{background:var(--carpet-burgundy);color:#fff!important;border-radius:12px;margin:7px 10px;padding:11px 18px!important}.carpet-category-menu:hover .carpet-mega-menu{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}.carpet-mega-menu{position:absolute;right:50%;transform:translate(50%,10px);top:100%;width:min(1180px,calc(100% - 40px));min-height:340px;background:#fff;border:1px solid var(--carpet-line);border-radius:0 0 22px 22px;box-shadow:0 20px 45px rgba(45,25,20,.14);display:grid;grid-template-columns:240px 1fr;opacity:0;visibility:hidden;pointer-events:none;transition:.25s}.carpet-mega-side{background:#f7f2e9;padding:18px}.carpet-mega-side a{display:flex;align-items:center;gap:10px;padding:11px;border-radius:10px;font-weight:600}.carpet-mega-side img{width:28px;height:28px;object-fit:cover;border-radius:50%}.carpet-mega-side a:hover,.carpet-mega-side a.active{background:#fff;color:var(--carpet-burgundy)}.carpet-mega-content{padding:28px;display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.carpet-mega-column{display:flex;flex-direction:column;gap:9px}.carpet-mega-title{font-weight:800;color:var(--carpet-burgundy);font-size:16px;border-bottom:1px solid var(--carpet-line);padding-bottom:10px;margin-bottom:5px}.carpet-mega-column>a:not(.carpet-mega-title){color:#625852;font-size:13px}
.carpet-hero{padding:22px 0 0}.carpetHeroSlider{border-radius:28px;overflow:hidden}.carpet-hero-slide{height:590px;position:relative}.carpet-hero-slide>img{width:100%;height:100%;object-fit:cover}.carpet-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(31,15,13,.12),rgba(31,15,13,.78))}.carpet-hero-content{position:absolute;right:7%;top:50%;transform:translateY(-50%);max-width:580px}.carpet-eyebrow,.carpet-section-head>span,.carpet-story-content>span,.carpet-newsletter span{color:var(--carpet-gold);font-weight:700;letter-spacing:.2px}.carpet-hero-content h1,.carpet-hero-content h2{font-size:52px;line-height:1.55;color:#fff;margin:12px 0}.carpet-hero-content h1 strong,.carpet-hero-content h2 strong{color:#f0d6a9}.carpet-hero-content p{color:#eee1d7;font-size:17px}.carpet-hero-actions{display:flex;gap:12px;margin-top:28px}.carpet-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 26px;border-radius:13px;font-weight:700}.carpet-btn-primary{background:var(--carpet-burgundy);color:#fff!important}.carpet-btn-light{background:#fff;color:var(--carpet-burgundy)!important}.carpet-hero-next,.carpet-hero-prev{width:46px;height:46px;background:rgba(255,255,255,.9);border-radius:50%}.carpet-hero-next:after,.carpet-hero-prev:after{font-size:15px;color:var(--carpet-burgundy)}.carpet-hero-pagination .swiper-pagination-bullet{background:#fff;opacity:.6}.carpet-hero-pagination .swiper-pagination-bullet-active{opacity:1;background:var(--carpet-gold);width:28px}
.carpet-services{padding:24px 0}.carpet-service-grid{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--carpet-line);border-radius:20px;padding:18px}.carpet-service-item{display:flex;align-items:center;gap:13px;padding:5px 22px;border-left:1px solid var(--carpet-line)}.carpet-service-item:last-child{border-left:0}.carpet-service-item>i{font-size:30px;color:var(--carpet-burgundy)}.carpet-service-item b,.carpet-service-item span{display:block}.carpet-service-item span{font-size:12px;color:var(--carpet-muted);margin-top:4px}
.carpet-section{padding:70px 0}.carpet-section-head{margin-bottom:30px}.carpet-section-head h2{font-size:32px;color:var(--carpet-ink);margin-top:6px}.carpet-section-head p{color:var(--carpet-muted);margin-top:4px}.carpet-section-head-center{text-align:center}.carpet-category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.carpet-category-card{background:#fff;border-radius:var(--carpet-radius);overflow:hidden;border:1px solid var(--carpet-line);transition:.3s}.carpet-category-card:hover{transform:translateY(-7px);box-shadow:0 18px 38px rgba(68,38,29,.12)}.carpet-category-image{height:280px;overflow:hidden}.carpet-category-image img{width:100%;height:100%;object-fit:cover;transition:.5s}.carpet-category-card:hover img{transform:scale(1.04)}.carpet-category-info{padding:20px 22px;display:flex;align-items:center;justify-content:space-between}.carpet-category-info h3{font-size:19px}.carpet-category-info span{font-size:12px;color:var(--carpet-burgundy)}
.carpet-products-section{background:var(--carpet-cream)}.carpet-more-link{font-weight:700;color:var(--carpet-burgundy)}.carpet-product-card{background:#fff;border:1px solid #e5dbce;border-radius:20px;overflow:hidden;height:100%;transition:.3s}.carpet-product-card:hover{transform:translateY(-5px);box-shadow:0 15px 35px rgba(57,34,26,.1)}.carpet-product-image{display:block;height:330px;position:relative;overflow:hidden;background:#f5f1eb}.carpet-product-image img{width:100%;height:100%;object-fit:contain;padding:12px;transition:.45s}.carpet-product-card:hover .carpet-product-image img{transform:scale(1.035)}.carpet-discount{position:absolute;right:14px;top:14px;background:var(--carpet-burgundy);color:#fff;border-radius:20px;padding:6px 10px;font-size:11px}.carpet-view{position:absolute;left:14px;top:14px;background:#fff;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;opacity:0;transform:translateY(-6px);transition:.3s}.carpet-product-card:hover .carpet-view{opacity:1;transform:none}.carpet-product-body{padding:18px}.carpet-product-label{font-size:11px;color:var(--carpet-gold)}.carpet-product-body h3{font-size:16px;line-height:1.8;margin:7px 0 18px;min-height:58px}.carpet-product-price{display:flex;justify-content:space-between;align-items:flex-end;border-top:1px solid var(--carpet-line);padding-top:14px}.carpet-product-price del{display:block;color:#9a918c;font-size:12px;margin-bottom:3px}.carpet-product-price strong{color:var(--carpet-burgundy);font-size:18px}.carpet-product-price small{font-size:11px}.carpet-product-price>a{width:42px;height:42px;border-radius:50%;background:var(--carpet-cream);display:grid;place-items:center;color:var(--carpet-burgundy)}.carpet-product-next,.carpet-product-prev{width:42px;height:42px;border-radius:50%;background:var(--carpet-burgundy)}.carpet-product-next:after,.carpet-product-prev:after{font-size:13px;color:#fff}.carpet-empty{background:#fff;border-radius:16px;padding:30px;text-align:center}
.carpet-story{padding:85px 0}.carpet-story-box{background:var(--carpet-burgundy-dark);border-radius:28px;overflow:hidden}.carpet-story-image{height:500px}.carpet-story-image img{width:100%;height:100%;object-fit:cover}.carpet-story-content{padding:60px}.carpet-story-content h2{font-size:36px;color:#fff;margin:10px 0 20px}.carpet-story-content p{color:#d8c9c1;line-height:2.1;margin-bottom:28px}.carpet-newsletter{padding:0 0 80px}.carpet-newsletter-box{background:var(--carpet-burgundy);border-radius:24px;padding:38px 45px;display:flex;align-items:center;justify-content:space-between;gap:30px}.carpet-newsletter h3{color:#fff;font-size:27px;margin:6px 0}.carpet-newsletter p{color:#e3d4cc}
.carpet-footer{background:#211715;padding:70px 0 25px}.carpet-footer p,.carpet-footer a,.carpet-footer span{color:#bcafa9}.carpet-footer-logo img{max-height:65px;max-width:190px;margin-bottom:18px;filter:brightness(0) invert(1)}.carpet-footer h5{color:#fff;margin-bottom:20px}.carpet-footer .col-6>a{display:block;margin-bottom:12px}.carpet-footer-contact{display:flex;flex-direction:column;gap:10px}.carpet-footer-contact a{font-size:16px}.carpet-footer-contact i{margin-left:8px;color:var(--carpet-gold)}.carpet-socials{display:flex;gap:8px;margin-top:18px}.carpet-socials a{width:40px;height:40px;border:1px solid #5a4741;border-radius:50%;display:grid;place-items:center}.carpet-footer-bottom{border-top:1px solid #493833;margin-top:48px;padding-top:22px;display:flex;justify-content:space-between}.carpet-mobile-nav{display:none!important;position:fixed;bottom:0;right:0;left:0;z-index:3000;background:#fff;border-top:1px solid var(--carpet-line);grid-template-columns:repeat(4,1fr);padding:8px 5px 6px}.carpet-mobile-nav a{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10px;color:#514641;position:relative}.carpet-mobile-nav i{font-size:21px;color:var(--carpet-burgundy)}.carpet-mobile-nav b{position:absolute;top:-3px;right:calc(50% - 23px);background:var(--carpet-burgundy);color:#fff;border-radius:20px;min-width:18px;height:18px;text-align:center;line-height:18px;font-size:9px}
@media(max-width:991.98px){.carpet-mobile-nav{display:grid!important}.carpet-site{padding-bottom:68px}.carpet-container{padding-left:18px;padding-right:18px}.carpet-header{padding:13px 0}.carpet-logo img{height:45px}.carpet-header-actions .carpet-action{padding:8px 10px}.carpet-hero{padding-top:14px}.carpet-hero-slide{height:470px}.carpet-hero-content{right:6%;left:6%;max-width:none}.carpet-hero-content h1,.carpet-hero-content h2{font-size:36px}.carpet-service-grid{grid-template-columns:repeat(2,1fr);gap:15px}.carpet-service-item{border:0;padding:5px}.carpet-category-grid{grid-template-columns:repeat(2,1fr)}.carpet-story-content{padding:38px}.carpet-newsletter-box{align-items:flex-start;flex-direction:column}}
@media(max-width:575.98px){.carpet-container{padding-left:12px;padding-right:12px}.carpet-search{height:48px}.carpet-search button{height:38px;padding:0 15px}.carpet-hero-slide{height:430px}.carpet-hero-content{top:auto;bottom:45px;transform:none}.carpet-hero-content h1,.carpet-hero-content h2{font-size:29px;line-height:1.55}.carpet-hero-content p{font-size:13px;line-height:1.9}.carpet-hero-actions{margin-top:18px}.carpet-btn{min-height:45px;padding:0 17px;font-size:12px}.carpet-hero-next,.carpet-hero-prev{display:none}.carpet-service-grid{grid-template-columns:1fr;padding:14px}.carpet-section{padding:48px 0}.carpet-section-head h2{font-size:25px}.carpet-category-grid{grid-template-columns:1fr}.carpet-category-image{height:230px}.carpet-product-image{height:285px}.carpet-story{padding:52px 0}.carpet-story-image{height:280px}.carpet-story-content{padding:28px 22px}.carpet-story-content h2{font-size:27px}.carpet-newsletter{padding-bottom:50px}.carpet-newsletter-box{padding:28px 22px}.carpet-newsletter h3{font-size:22px}.carpet-footer{padding-top:50px}.carpet-footer-bottom{flex-direction:column;gap:10px}}

/* ==========================================================
   Layout fixes: header alignment, category dropdown, mobile gap
   ========================================================== */

/* Bootstrap rows use negative margins by default; remove them so
   header content aligns exactly with hero and other carpet sections. */
.carpet-header .row {
    margin-right: 0 !important;
    margin-left: 0 !important;
}

/* Dropdown must open directly beneath the category button. */
.carpet-category-menu {
    position: relative !important;
}

.carpet-category-menu .carpet-mega-menu {
    top: calc(100% + 1px) !important;
    right: 10px !important;
    left: auto !important;
    width: min(1100px, calc(100vw - 64px)) !important;
    transform: translateY(10px) !important;
    border-radius: 0 0 22px 22px;
}

.carpet-category-menu:hover .carpet-mega-menu {
    transform: translateY(0) !important;
}

/* Invisible hover bridge prevents the menu from closing while moving
   the pointer from the button to the dropdown. */
.carpet-category-menu::after {
    content: "";
    position: absolute;
    top: 100%;
    right: 0;
    width: 100%;
    height: 12px;
}

@media (max-width: 991.98px) {
    .carpet-header .carpet-container {
        padding-right: 20px !important;
        padding-left: 20px !important;
    }

    .carpet-header .row > [class*="col-"] {
        padding-right: 6px;
        padding-left: 6px;
    }

    .carpet-header .row > .col-12 {
        padding-right: 6px;
        padding-left: 6px;
    }
}

@media (max-width: 575.98px) {
    .carpet-header .carpet-container {
        padding-right: 18px !important;
        padding-left: 18px !important;
    }

    .carpet-search {
        width: 100%;
        margin-top: 2px;
    }
}

/* ==========================================================
   Definitive layout fix v3
   ========================================================== */
.carpet-header-grid{
    display:grid;
    grid-template-columns:220px minmax(320px,1fr) 260px;
    grid-template-areas:"logo search actions";
    align-items:center;
    gap:24px;
}
.carpet-header-logo-area{grid-area:logo;min-width:0}
.carpet-header-search-area{grid-area:search;min-width:0}
.carpet-header-actions-area{grid-area:actions;min-width:0}
.carpet-header-actions{width:100%;justify-content:flex-end}
.carpet-search{width:100%;margin:0}

/* Mega menu is anchored to the whole navigation container and opens
   immediately below the navigation bar, never beside the slider. */
.carpet-nav .carpet-container{position:relative}
.carpet-category-menu{position:static!important}
.carpet-category-menu .carpet-mega-menu{
    top:100%!important;
    right:32px!important;
    left:32px!important;
    width:auto!important;
    max-width:none!important;
    transform:translateY(10px)!important;
    z-index:2500!important;
}
.carpet-category-menu:hover .carpet-mega-menu{transform:translateY(0)!important}
.carpet-category-menu::after{display:none!important}

@media (max-width:1199.98px){
    .carpet-header-grid{
        grid-template-columns:180px minmax(280px,1fr) 210px;
        gap:16px;
    }
}

@media (max-width:991.98px){
    .carpet-header-grid{
        grid-template-columns:1fr auto;
        grid-template-areas:
            "logo actions"
            "search search";
        gap:12px 14px;
    }
    .carpet-header-actions{justify-content:flex-end}
    .carpet-header .carpet-container{
        padding-right:18px!important;
        padding-left:18px!important;
    }
}

@media (max-width:575.98px){
    .carpet-header .carpet-container{
        padding-right:16px!important;
        padding-left:16px!important;
    }
    .carpet-header-grid{gap:12px}
    .carpet-header-actions{gap:7px}
    .carpet-action{min-height:42px!important;padding:7px 9px!important}
    .carpet-search{
        width:100%!important;
        margin:0!important;
        padding-right:7px!important;
        padding-left:5px!important;
    }
    .carpet-search>i{margin-right:7px!important;margin-left:8px!important}
}


/* ==========================================================
   Final header + mobile navigation + mobile filter fix v4
   ========================================================== */

/* Desktop header uses the exact same inner boundaries as the hero. */
@media (min-width: 992px) {
    .carpet-header-grid {
        grid-template-columns: 220px minmax(0, 1fr) 300px !important;
        grid-template-areas: "logo search actions" !important;
        gap: 24px !important;
        width: 100%;
    }

    .carpet-header-actions-area {
        min-width: 0;
        width: 100%;
        overflow: hidden;
    }

    .carpet-header-actions {
        width: 100% !important;
        min-width: 0;
        justify-content: flex-start !important;
        flex-wrap: nowrap;
        direction: rtl;
    }

    .carpet-header-actions .carpet-action {
        flex: 0 1 auto;
        white-space: nowrap;
    }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    .carpet-header-grid {
        grid-template-columns: 180px minmax(0, 1fr) 245px !important;
        gap: 16px !important;
    }

    .carpet-header-actions .carpet-action {
        padding-inline: 10px !important;
    }
}

/* Bottom mobile navigation: links and buttons have identical geometry. */
.carpet-mobile-nav {
    height: 66px;
    padding: 7px max(8px, env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left)) !important;
}

.carpet-mobile-nav > a,
.carpet-mobile-nav > button {
    border: 0;
    outline: 0;
    background: transparent;
    padding: 0;
    margin: 0;
    min-width: 0;
    font-family: inherit;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    position: relative;
    color: #514641;
    font-size: 10px;
    line-height: 1.4;
}

.carpet-mobile-nav > button i,
.carpet-mobile-nav > button span {
    color: inherit;
}

.carpet-mobile-nav > button i {
    font-size: 21px;
    color: var(--carpet-burgundy);
}

.carpet-mobile-nav > a:active,
.carpet-mobile-nav > button:active {
    transform: translateY(1px);
}

/* Mobile category offcanvas */
.carpet-mobile-category-offcanvas {
    width: min(88vw, 390px) !important;
    background: #fbfaf7;
    border: 0 !important;
    z-index: 5000;
}

.carpet-mobile-category-offcanvas .offcanvas-header {
    padding: 20px 18px 16px;
    background: #fff;
    border-bottom: 1px solid var(--carpet-line);
}

.carpet-mobile-category-offcanvas .offcanvas-title {
    color: var(--carpet-ink);
    font-size: 19px;
    margin-top: 3px;
}

.carpet-mobile-category-kicker {
    display: block;
    color: var(--carpet-gold);
    font-size: 11px;
    font-weight: 700;
}

.carpet-mobile-category-offcanvas .offcanvas-body {
    padding: 14px;
}

.carpet-mobile-category-list {
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.carpet-mobile-category-all,
.carpet-mobile-category-item {
    background: #fff;
    border: 1px solid var(--carpet-line);
    border-radius: 14px;
    overflow: hidden;
}

.carpet-mobile-category-all {
    min-height: 54px;
    padding: 0 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-weight: 800;
    color: var(--carpet-burgundy);
}

.carpet-mobile-category-all span {
    display: flex;
    align-items: center;
    gap: 9px;
    color: inherit;
}

.carpet-mobile-category-row {
    min-height: 58px;
    padding: 7px 9px 7px 7px;
    display: flex;
    align-items: center;
    gap: 7px;
}

.carpet-mobile-category-row > a {
    min-width: 0;
    flex: 1;
    display: flex;
    align-items: center;
    gap: 10px;
}

.carpet-mobile-category-row img,
.carpet-mobile-category-icon {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    border-radius: 10px;
    object-fit: cover;
    background: var(--carpet-cream);
}

.carpet-mobile-category-icon {
    display: grid;
    place-items: center;
    color: var(--carpet-burgundy);
}

.carpet-mobile-category-row strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 14px;
}

.carpet-mobile-category-row > button {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    border: 0;
    border-radius: 10px;
    background: var(--carpet-cream);
    color: var(--carpet-burgundy);
    transition: .2s;
}

.carpet-mobile-category-row > button[aria-expanded="true"] i::before {
    transform: rotate(180deg);
}

.carpet-mobile-category-row > button i::before {
    transition: transform .2s;
}

.carpet-mobile-category-children {
    border-top: 1px solid var(--carpet-line);
    background: #fdfbf8;
    padding: 6px 14px 10px;
}

.carpet-mobile-category-children a {
    min-height: 42px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px dashed #e8ded2;
    color: #625852;
    font-size: 13px;
}

.carpet-mobile-category-children a:last-child {
    border-bottom: 0;
}

/* Mobile product filter supplied by the project */
@media (max-width: 991.98px) {
    .custom-filter .btn-filter-float {
        right: 16px !important;
        left: auto !important;
        bottom: calc(78px + env(safe-area-inset-bottom)) !important;
        width: 58px;
        height: 58px;
        padding: 5px !important;
        border-radius: 17px !important;
        background: var(--carpet-burgundy) !important;
        box-shadow: 0 12px 30px rgba(90, 23, 28, .28) !important;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 1px;
        z-index: 3200 !important;
    }

    .custom-filter .btn-filter-float i,
    .custom-filter .btn-filter-float span {
        color: #fff !important;
        line-height: 1.15;
    }

    #mobileFilterOffcanvas {
        width: min(92vw, 420px) !important;
        right: 0 !important;
        left: auto !important;
        background: #fbfaf7;
        border: 0;
        z-index: 5100;
    }

    #mobileFilterOffcanvas .offcanvas-header {
        background: #fff;
        padding: 18px;
        border-color: var(--carpet-line) !important;
    }

    #mobileFilterOffcanvas .offcanvas-title {
        color: var(--carpet-ink);
        font-size: 19px;
    }

    #mobileFilterOffcanvas .offcanvas-body {
        padding: 14px;
    }

    #mobileProductFilterForm > .mb-3 {
        background: #fff;
        border-color: var(--carpet-line) !important;
        border-radius: 14px !important;
        padding: 5px 8px !important;
        margin-bottom: 10px !important;
    }

    #mobileProductFilterForm > .mb-3 > button {
        min-height: 46px;
        padding: 8px 7px;
        color: var(--carpet-ink);
        font-weight: 700;
    }

    #mobileProductFilterForm > .mb-3 > button i {
        color: var(--carpet-burgundy);
        transition: transform .2s;
    }

    #mobileProductFilterForm > .mb-3 > button[aria-expanded="true"] i::before {
        transform: rotate(180deg);
    }

    #mobileProductFilterForm .input-range-filter {
        min-height: 46px;
        border: 1px solid #e2d8cd;
        border-radius: 11px;
        background: #fcfaf7;
    }

    #mobileProductFilterForm .form-check {
        display: flex;
        align-items: center;
        gap: 8px;
        min-height: 34px;
        padding-right: 4px;
    }

    #mobileProductFilterForm .form-check-input {
        float: none;
        margin: 0;
        border-color: #cdbfb2;
    }

    #mobileProductFilterForm .form-check-input:checked {
        background-color: var(--carpet-burgundy);
        border-color: var(--carpet-burgundy);
    }

    #mobileProductFilterForm .position-sticky {
        bottom: -14px !important;
        margin-right: -14px;
        margin-left: -14px;
        padding: 14px !important;
        background: rgba(255,255,255,.96) !important;
        backdrop-filter: blur(8px);
    }

    #mobileProductFilterForm button[type="submit"] {
        min-height: 48px;
        border-radius: 12px;
        background: var(--carpet-burgundy) !important;
    }

    #mobileProductFilterForm .btn-outline-secondary {
        min-height: 45px;
        border-radius: 12px;
    }
}

@media (max-width: 575.98px) {
    .carpet-header .carpet-container,
    .carpet-hero .carpet-container {
        padding-right: 16px !important;
        padding-left: 16px !important;
    }

    .carpet-search {
        margin-inline: 0 !important;
        width: 100% !important;
    }
}
/* ===== Mobile recursive category tree ===== */
.carpet-mobile-category-list > .carpet-mobile-category-item {
    border-bottom: 1px solid #eee4d9;
}

.carpet-mobile-category-item {
    width: 100%;
}

.carpet-mobile-category-row {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 54px;
}

.carpet-mobile-category-link {
    min-width: 0;
    flex: 1;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 0;
}

.carpet-mobile-category-link img,
.carpet-mobile-category-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    border-radius: 9px;
    object-fit: contain;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #f8f1e9;
}

.carpet-mobile-category-toggle {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    border: 0;
    background: #f8f1e9;
    border-radius: 9px;
}

.carpet-mobile-category-toggle i {
    display: inline-block;
    transition: transform .25s ease;
}

.carpet-mobile-category-toggle:not(.collapsed) i {
    transform: rotate(180deg);
}

.carpet-mobile-category-children {
    margin-right: 16px;
    padding-right: 12px;
    border-right: 1px dashed #d6bd9f;
}

.carpet-mobile-category-children .carpet-mobile-category-row {
    min-height: 48px;
}

.carpet-mobile-category-children .carpet-mobile-category-link img,
.carpet-mobile-category-children .carpet-mobile-category-icon {
    width: 29px;
    height: 29px;
    flex-basis: 29px;
}

.carpet-mobile-category-children .carpet-mobile-category-children {
    margin-right: 14px;
}

/* ===== Recursive categories inside mobile filter ===== */
.mobile-filter-category-item {
    width: 100%;
}

.mobile-filter-category-row {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 42px;
    margin: 0;
    padding: 5px 0;
}

.mobile-filter-category-row .form-check-input {
    flex: 0 0 auto;
    margin-left: 8px;
}

.mobile-filter-category-row .form-check-label {
    flex: 1;
    min-width: 0;
    cursor: pointer;
}

.mobile-filter-category-toggle {
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    border: 0;
    border-radius: 8px;
    background: #f8f1e9;
}

.mobile-filter-category-toggle i {
    display: inline-block;
    transition: transform .25s ease;
}

.mobile-filter-category-toggle:not(.collapsed) i {
    transform: rotate(180deg);
}

.mobile-filter-category-children {
    margin-right: 18px;
    padding-right: 10px;
    border-right: 1px dashed #d6bd9f;
}

/* ==========================================================
   Desktop mega menu — Digikala-style hierarchy (v7)
   Root categories on the right; active root content only.
   ========================================================== */
@media (min-width: 992px) {
    .carpet-category-menu {
        position: static !important;
    }

    .carpet-category-menu .carpet-mega-menu {
        position: absolute !important;
        top: 100% !important;
        right: 50% !important;
        left: auto !important;
        width: min(1320px, calc(100vw - 48px)) !important;
        height: 500px !important;
        min-height: 500px !important;
        max-height: 500px !important;
        display: grid !important;
        grid-template-columns: 250px minmax(0, 1fr) !important;
        padding: 0 !important;
        overflow: hidden !important;
        background: #fff !important;
        border: 1px solid var(--carpet-line) !important;
        border-radius: 0 0 18px 18px !important;
        box-shadow: 0 22px 50px rgba(45, 25, 20, .16) !important;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translate(50%, 10px) !important;
        transition: opacity .18s ease, visibility .18s ease, transform .18s ease !important;
        z-index: 3000 !important;
    }

    .carpet-category-menu:hover > .carpet-mega-menu,
    .carpet-category-menu:focus-within > .carpet-mega-menu {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: translate(50%, 0) !important;
    }

    /* ستون دسته‌های مادر در سمت راست */
    .carpet-mega-side {
        grid-column: 1;
        direction: rtl;
        height: 500px;
        padding: 10px 0 !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        background: #f7f3ed !important;
        border-left: 1px solid var(--carpet-line) !important;
    }

    .carpet-mega-side .carpet-mega-parent {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        min-height: 50px !important;
        margin: 0 !important;
        padding: 10px 15px !important;
        border-radius: 0 !important;
        color: #332a26 !important;
        background: transparent !important;
        font-size: 14px !important;
        font-weight: 700 !important;
    }

    .carpet-mega-side .carpet-mega-parent:hover,
    .carpet-mega-side .carpet-mega-parent.active {
        color: var(--carpet-burgundy) !important;
        background: #fff !important;
    }

    .carpet-mega-parent-main {
        min-width: 0;
        display: flex;
        align-items: center;
        gap: 9px;
    }

    .carpet-mega-parent-main img {
        width: 24px !important;
        height: 24px !important;
        object-fit: contain !important;
        border-radius: 4px !important;
    }

    .carpet-mega-parent-main > span {
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
    }

    .carpet-mega-parent-arrow {
        flex: 0 0 auto;
        margin-right: 8px;
        color: var(--carpet-burgundy);
        font-size: 12px !important;
    }

    /* فقط پنل دسته مادر فعال دیده شود */
    .carpet-mega-content {
        grid-column: 2;
        display: block !important;
        min-width: 0 !important;
        height: 500px !important;
        padding: 0 !important;
        overflow: hidden !important;
        background: #fff !important;
    }

    .carpet-mega-content > .carpet-mega-panel {
        display: none !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        padding: 18px 26px 28px !important;
        overflow-y: auto !important;
        direction: rtl;
    }

    .carpet-mega-content > .carpet-mega-panel.active {
        display: block !important;
        animation: carpetMegaFadeV7 .15s ease;
    }

    /* لینک مشاهده همه دسته مادر */
    .carpet-mega-panel-head {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 12px !important;
        margin: 0 0 18px !important;
        padding: 0 0 13px !important;
        border-bottom: 1px solid #eee7df !important;
    }

    .carpet-mega-panel-head > div {
        display: none !important;
    }

    .carpet-mega-panel-head > a {
        display: inline-flex !important;
        align-items: center !important;
        gap: 5px;
        color: var(--carpet-burgundy) !important;
        font-size: 13px !important;
        font-weight: 800 !important;
    }

    .carpet-mega-panel-head > a::after {
        content: "‹";
        font-size: 19px;
        line-height: 1;
    }

    /* هر فرزند یک سربرگ مستقل؛ نوه‌ها زیر همان سربرگ */
    .carpet-mega-children-grid {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(160px, 1fr)) !important;
        align-items: start !important;
        align-content: start !important;
        gap: 25px 34px !important;
    }

    .carpet-mega-child-group {
        min-width: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 3px !important;
    }

    .carpet-mega-child-title {
        position: relative;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 5px !important;
        width: 100% !important;
        margin: 0 0 8px !important;
        padding: 1px 10px 1px 0 !important;
        border: 0 !important;
        color: #2f2926 !important;
        background: transparent !important;
        font-size: 15px !important;
        font-weight: 900 !important;
        line-height: 1.8 !important;
    }

    .carpet-mega-child-title::before {
        content: "";
        position: absolute;
        top: 5px;
        right: 0;
        width: 2px;
        height: 20px;
        background: var(--carpet-burgundy);
    }

    .carpet-mega-child-title i {
        order: 2;
        color: #4e4540 !important;
        font-size: 11px !important;
    }

    .carpet-mega-grandchild {
        display: block !important;
        width: 100% !important;
        padding: 4px 10px 4px 0 !important;
        color: #7a716c !important;
        background: transparent !important;
        font-size: 13px !important;
        font-weight: 400 !important;
        line-height: 1.75 !important;
        white-space: normal !important;
    }

    .carpet-mega-grandchild:hover {
        color: var(--carpet-burgundy) !important;
    }

    .carpet-mega-empty {
        grid-column: 1 / -1 !important;
        padding: 35px 0 !important;
        text-align: right !important;
    }
}

@keyframes carpetMegaFadeV7 {
    from { opacity: 0; }
    to { opacity: 1; }
}

@media (max-width: 991.98px) {

    .carpet-mobile-nav {
        display: grid !important;
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    }

    .carpet-mobile-nav > a,
    .carpet-mobile-nav > button {
        display: flex !important;
        flex-direction: column;
        align-items: center;
        justify-content: center;

        width: 100% !important;
        min-width: 0 !important;

        border: 0;
        background: transparent;

        padding: 7px 2px;
        margin: 0;

        text-decoration: none;
    }

    .carpet-mobile-nav > a i,
    .carpet-mobile-nav > button i {
        display: block !important;
        font-size: 18px;
        line-height: 1;
    }

    .carpet-mobile-nav > a span,
    .carpet-mobile-nav > button span {
        display: block !important;
        font-size: 10px;
        margin-top: 4px;
        white-space: nowrap;
    }

}
/* منوی همبرگری موبایل همیشه روی هدر و محتوای سایت */
.carpet-custom-menu-offcanvas {
    z-index: 2000 !important;
}

.offcanvas-backdrop {
    z-index: 1990 !important;
}

/* =========================
   Live Search
   ========================= */

.carpet-search {
    position: relative;
}

.carpet-live-search {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;

    width: 100%;

    background: #fff;

    border: 1px solid #eee7e4;
    border-radius: 14px;

    box-shadow:
        0 12px 35px rgba(0, 0, 0, 0.12);

    overflow: hidden;

    opacity: 0;
    visibility: hidden;
    transform: translateY(-5px);

    transition: all 0.2s ease;

    z-index: 99999;
}

.carpet-live-search.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}


/* محصول */

.carpet-search-result-item {
    display: flex;
    align-items: center;
    gap: 12px;

    padding: 10px 14px;

    color: #292323;
    text-decoration: none;

    border-bottom: 1px solid #f2eeee;

    transition: background 0.2s ease;
}

.carpet-search-result-item:hover {
    background: #faf7f6;
    color: #292323;
}


/* عکس */

.carpet-search-result-item img,
.carpet-search-no-image {
    width: 55px;
    height: 55px;

    flex: 0 0 55px;

    border-radius: 9px;

    object-fit: contain;

    background: #f7f5f4;
}

.carpet-search-no-image {
    display: flex;
    align-items: center;
    justify-content: center;

    color: #aaa;
}


/* اطلاعات */

.carpet-search-result-info {
    flex: 1;

    min-width: 0;

    display: flex;
    flex-direction: column;

    gap: 5px;
}

.carpet-search-result-info strong {
    font-size: 13px;
    font-weight: 700;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.carpet-search-price {
    font-size: 12px;
    color: #7a1f26;
    font-weight: 700;
}

.carpet-search-result-item > .bi-chevron-left {
    font-size: 11px;
    color: #aaa;
}


/* مشاهده همه */

.carpet-search-all-results {
    min-height: 48px;

    padding: 10px 15px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    text-decoration: none;

    color: #7a1f26;

    background: #fbf7f5;

    font-size: 12px;
}

.carpet-search-all-results:hover {
    color: #5a171c;
}


/* loading / empty */

.carpet-search-loading,
.carpet-search-empty {
    padding: 22px;

    text-align: center;

    font-size: 12px;

    color: #888;
}


/* موبایل */

@media (max-width: 991.98px) {

    .carpet-live-search {
        top: calc(100% + 5px);

        max-height: 380px;

        overflow-y: auto;
    }

    .carpet-search-result-item img,
    .carpet-search-no-image {
        width: 48px;
        height: 48px;

        flex-basis: 48px;
    }

}

.modern-product-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
}

.modern-product-title-row h1 {
    margin: 0;
    flex: 1;
}

.modern-product-action-buttons {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.modern-product-action-buttons form {
    margin: 0;
    padding: 0;
}

.modern-product-action {
    width: 44px;
    height: 44px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 12px;

    border: 1px solid #e5e5e5;
    background: #fff;

    font-size: 20px;
    color: #555;

    cursor: pointer;

    transition: all .25s ease;
}

.modern-product-action:hover {
    color: #8b1e3f;
    border-color: #d8b1bd;
    background: #fff7f9;

    transform: translateY(-2px);
}

.modern-product-action.active-favorite {
    color: #b42346;
    border-color: #efc7d0;
    background: #fff1f4;
}

.modern-product-action.active-favorite i {
    animation: favoritePop .25s ease;
}

@keyframes favoritePop {

    0% {
        transform: scale(.7);
    }

    60% {
        transform: scale(1.2);
    }

    100% {
        transform: scale(1);
    }

}


@media (max-width: 576px) {

    .modern-product-title-row {
        align-items: flex-start;
    }

    .modern-product-action {
        width: 40px;
        height: 40px;
        font-size: 18px;
        border-radius: 10px;
    }

}


.favorite-page-box {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 16px;
    padding: 22px;
    margin-bottom: 30px;
}

.favorite-page-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
}

.favorite-page-header h3 {
    font-size: 19px;
    margin-bottom: 6px;
}

.favorite-page-header h3 i {
    color: #92213f;
}

.favorite-page-header p {
    margin: 0;
    color: #888;
    font-size: 13px;
}

.favorite-count {
    background: #fff1f4;
    color: #92213f;
    padding: 7px 12px;
    border-radius: 10px;
    font-size: 13px;
}

.favorite-search-box {
    margin-bottom: 22px;
}

.favorite-search-input {
    display: flex;
    align-items: center;
    gap: 8px;
    border: 1px solid #e7e7e7;
    border-radius: 12px;
    padding: 5px 8px;
    background: #fafafa;
}

.favorite-search-input input {
    flex: 1;
    border: 0;
    outline: 0;
    background: transparent;
    padding: 10px 5px;
}

.favorite-search-input a {
    color: #888;
}

.favorite-search-input button {
    border: 0;
    background: #84203c;
    color: #fff;
    border-radius: 9px;
    padding: 10px 18px;
}

.favorite-products-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.favorite-product-card {
    border: 1px solid #eee;
    border-radius: 14px;
    overflow: hidden;
    background: #fff;
}

.favorite-product-image {
    display: block;
    aspect-ratio: 1 / 1;
    background: #fafafa;
    padding: 10px;
}

.favorite-product-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.favorite-product-info {
    padding: 12px;
}

.favorite-product-title {
    display: block;
    color: #222;
    text-decoration: none;
    font-weight: 700;
    margin-bottom: 12px;
}

.favorite-product-footer {
    display: flex;
    gap: 8px;
}

.favorite-view-button {
    flex: 1;
    background: #84203c;
    color: #fff;
    text-decoration: none;
    text-align: center;
    border-radius: 9px;
    padding: 10px;
    font-size: 12px;
}

.favorite-remove-button {
    width: 40px;
    height: 40px;
    border: 1px solid #f0ccd5;
    background: #fff2f5;
    color: #a82345;
    border-radius: 9px;
}

.favorite-pagination {
    display: flex;
    justify-content: center;
    gap: 6px;
    margin-top: 25px;
}

.favorite-pagination a,
.favorite-pagination span {
    min-width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    border: 1px solid #e5e5e5;
    border-radius: 9px;
    text-decoration: none;
    color: #555;
}

.favorite-pagination .active {
    background: #84203c;
    color: #fff;
    border-color: #84203c;
}

.favorite-empty {
    text-align: center;
    padding: 60px 20px;
}

.favorite-empty > i {
    font-size: 40px;
    color: #9b2747;
}

.favorite-empty h3 {
    margin-top: 12px;
    font-size: 18px;
}

.favorite-empty p {
    color: #888;
}

.favorite-empty a {
    display: inline-block;
    margin-top: 10px;
    background: #84203c;
    color: #fff;
    text-decoration: none;
    padding: 9px 15px;
    border-radius: 9px;
}

@media (max-width: 991px) {
    .favorite-products-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {
    .favorite-page-box {
        padding: 14px;
    }

    .favorite-products-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    .favorite-page-header {
        align-items: flex-start;
    }

    .favorite-view-button {
        font-size: 11px;
    }

    .favorite-search-input button {
        padding: 9px 12px;
    }
}


.compare-box {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 18px;
    padding: 22px;
}


/* انتخاب محصول */

.compare-select-form {
    padding-bottom: 25px;
    margin-bottom: 25px;
    border-bottom: 1px solid #eee;
}

.compare-select-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
}

.compare-select-item label {
    display: block;
    margin-bottom: 7px;
    font-size: 13px;
    font-weight: 700;
}

.compare-select-item select {
    width: 100%;
    height: 46px;
    padding: 0 12px;

    border: 1px solid #ddd;
    border-radius: 10px;

    background: #fff;
}

.compare-submit {
    margin-top: 15px;

    border: 0;
    border-radius: 10px;

    padding: 11px 22px;

    background: #84203c;
    color: #fff;
}


/* محصولات */

.compare-products-header,
.compare-row {
    display: grid;
    grid-template-columns: 180px repeat(3, minmax(180px, 1fr));
}

.compare-products-header {
    border: 1px solid #eee;
    border-radius: 14px 14px 0 0;
    overflow: hidden;
}

.compare-feature-title {
    display: flex;
    align-items: center;
    justify-content: center;

    background: #fafafa;

    font-weight: 700;
}

.compare-product {
    padding: 15px;
    text-align: center;

    border-right: 1px solid #eee;
}

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

.compare-product-image {
    height: 130px;
    margin-bottom: 10px;
}

.compare-product-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}


/* ویژگی */

.compare-table-wrapper {
    overflow-x: auto;
}

.compare-group-title {
    padding: 12px 15px;

    background: #84203c;
    color: #fff;

    font-weight: 700;
}

.compare-row {
    border: 1px solid #eee;
    border-top: 0;
}

.compare-row-title,
.compare-row-value {
    min-height: 55px;

    display: flex;
    align-items: center;

    padding: 10px 14px;
}

.compare-row-title {
    background: #fafafa;
    font-weight: 700;
}

.compare-row-value {
    border-right: 1px solid #eee;
}

.compare-empty {
    color: #bbb;
}


/* خالی */

.compare-empty-page,
.compare-no-features {
    padding: 60px 20px;
    text-align: center;
    color: #777;
}

.compare-empty-page > i {
    display: block;
    margin-bottom: 15px;

    font-size: 42px;
    color: #84203c;
}


@media (max-width: 768px) {

    .compare-select-grid {
        grid-template-columns: 1fr;
    }

    .compare-table-wrapper {
        overflow-x: auto;
    }

    .compare-products-header,
    .compare-row {
        min-width: 750px;
    }

}

.compare-search-area {
    position: relative;
    margin-bottom: 25px;
}

.compare-search-area h3 {
    font-size: 18px;
    margin-bottom: 5px;
}

.compare-search-area > p {
    color: #888;
    font-size: 13px;
}

.compare-search {
    position: relative;

    display: flex;
    align-items: center;

    max-width: 650px;

    border: 1px solid #ddd;
    border-radius: 12px;

    background: #fff;
}

.compare-search > i {
    margin: 0 15px;
    color: #888;
}

.compare-search input {
    width: 100%;
    height: 50px;

    border: 0;
    outline: 0;

    background: transparent;
}

.compare-search-loading {
    display: none;
    margin-left: 15px;
}


.compare-search-results {
    display: none;

    position: absolute;

    top: 100%;
    right: 0;

    width: 100%;
    max-width: 650px;

    margin-top: 7px;

    background: #fff;

    border: 1px solid #eee;
    border-radius: 12px;

    box-shadow: 0 15px 35px rgba(0,0,0,.09);

    z-index: 100;
}

.compare-search-results.show {
    display: block;
}

.compare-search-result-item {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 10px;

    padding: 10px;

    border-bottom: 1px solid #eee;
}

.compare-search-result-item:last-child {
    border-bottom: 0;
}

.compare-result-product {
    display: flex;
    align-items: center;
    gap: 10px;
}

.compare-result-image {
    width: 55px;
    height: 55px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #fafafa;
    border-radius: 8px;
}

.compare-result-image img {
    width: 100%;
    height: 100%;

    object-fit: contain;
}

.compare-result-product strong {
    display: block;
    font-size: 13px;
}

.compare-result-product small {
    display: block;
    margin-top: 3px;

    color: #aaa;
    font-size: 11px;
}

.compare-add-button {
    border: 0;

    background: #84203c;
    color: #fff;

    padding: 8px 12px;

    border-radius: 8px;

    font-size: 12px;
}

.compare-no-result {
    padding: 18px;
    text-align: center;
    color: #888;
}


/* محصولات انتخاب شده */

.compare-selected-products {
    display: grid;
    grid-template-columns: repeat(3, 1fr);

    gap: 15px;

    margin-bottom: 25px;
}

.compare-selected-card {
    position: relative;

    padding: 12px;

    border: 1px solid #eee;
    border-radius: 12px;

    text-align: center;
}

.compare-selected-card a {
    color: #222;
    text-decoration: none;
}

.compare-selected-image {
    height: 120px;
    margin-bottom: 8px;
}

.compare-selected-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.compare-remove-product {
    position: absolute;

    top: 7px;
    left: 7px;

    width: 30px;
    height: 30px;

    border: 0;
    border-radius: 50%;

    background: #fff1f4;
    color: #a82243;

    z-index: 2;
}


@media (max-width: 576px) {

    .compare-selected-products {
        grid-template-columns: repeat(2, 1fr);
    }

    .compare-search-results {
        max-width: 100%;
    }

}



/* =========================================
   PRODUCT COMMENTS
========================================= */

.modern-comments {
    width: 100%;
    max-width: 1400px;
    margin: 40px auto;
    padding: 0 20px;
    box-sizing: border-box;
}


/* header */
.modern-comments-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;

    margin-bottom: 20px;
}

.modern-comments-header h2 {
    margin: 0 0 6px;
    font-size: 24px;
    font-weight: 800;
    color: #252020;
}

.modern-comments-header h2 i {
    color: #84203c;
    margin-left: 6px;
}

.modern-comments-header p {
    margin: 0;
    font-size: 13px;
    color: #888;
}

.modern-comments-count {
    flex-shrink: 0;
    padding: 7px 13px;
    border-radius: 20px;
    background: #f8eef1;
    color: #84203c;
    font-size: 12px;
}


/* =========================================
   FORM BOX
========================================= */

.modern-comment-form-box {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 18px;
    padding: 25px;

    margin-bottom: 30px;

    box-shadow: 0 8px 30px rgba(0, 0, 0, .04);
}

.modern-comment-form-header {
    display: flex;
    align-items: center;
    gap: 12px;

    padding-bottom: 18px;
    margin-bottom: 20px;

    border-bottom: 1px solid #eee;
}

.modern-comment-form-icon {
    width: 45px;
    height: 45px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 12px;

    background: #f8eef1;
    color: #84203c;

    font-size: 20px;
}

.modern-comment-form-header h3 {
    margin: 0 0 4px;
    font-size: 18px;
    font-weight: 800;
}

.modern-comment-form-header p {
    margin: 0;
    font-size: 12px;
    color: #999;
}


/* =========================================
   FORM FIELD
========================================= */

.modern-comment-field {
    margin-bottom: 20px;
}

.modern-comment-field > label {
    display: block;
    margin-bottom: 8px;

    font-size: 13px;
    font-weight: 700;
    color: #444;
}

.modern-comment-field > label span {
    color: #d33;
}

.modern-comment-field input[type="text"],
.modern-comment-field textarea {
    width: 100%;
    box-sizing: border-box;

    padding: 12px 14px;

    border: 1px solid #ddd;
    border-radius: 11px;

    background: #fafafa;

    outline: none;

    font-size: 13px;

    transition: .2s;
}

.modern-comment-field textarea {
    min-height: 130px;
    resize: vertical;
}

.modern-comment-field input:focus,
.modern-comment-field textarea:focus {
    background: #fff;
    border-color: #a75b71;

    box-shadow:
        0 0 0 3px rgba(132, 32, 60, .07);
}


/* =========================================
   LIKE / DISLIKE
========================================= */

.modern-suggest-options {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

.modern-suggest-option {
    cursor: pointer;
}

.modern-suggest-option input {
    display: none;
}

.modern-suggest-option span {
    min-height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 8px;

    padding: 10px;

    border: 1px solid #ddd;
    border-radius: 11px;

    background: #fafafa;

    font-size: 13px;

    transition: .2s;
}

.suggest-like input:checked + span {
    border-color: #198754;
    background: #effaf4;
    color: #198754;
}

.suggest-dislike input:checked + span {
    border-color: #dc3545;
    background: #fff2f3;
    color: #dc3545;
}


/* =========================================
   TEXT HELP
========================================= */

.modern-comment-text-help {
    display: flex;
    justify-content: space-between;
    gap: 10px;

    margin-top: 7px;

    color: #999;
    font-size: 11px;
}


/* errors */
.modern-comment-errors {
    margin-top: 6px;
    color: #dc3545;
    font-size: 12px;
}

.modern-comment-errors span {
    display: block;
}


/* =========================================
   SUBMIT
========================================= */

.modern-comment-submit {
    display: flex;
    justify-content: flex-start;
}

.modern-comment-submit button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;

    min-width: 140px;

    padding: 11px 20px;

    border: 0;
    border-radius: 10px;

    background: #84203c;
    color: #fff;

    font-size: 13px;
    font-weight: 700;

    cursor: pointer;

    transition: .2s;
}

.modern-comment-submit button:hover {
    background: #68172f;
}


/* =========================================
   LOGIN BOX
========================================= */

.modern-comment-login {
    display: flex;
    align-items: center;
    gap: 15px;

    padding: 20px;

    margin-bottom: 30px;

    border: 1px solid #eee;
    border-radius: 15px;

    background: #fff;
}

.modern-comment-login-icon {
    width: 48px;
    height: 48px;

    flex-shrink: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 12px;

    background: #f8eef1;
    color: #84203c;

    font-size: 22px;
}

.modern-comment-login-content {
    flex: 1;
}

.modern-comment-login-content strong {
    display: block;
    margin-bottom: 4px;
    font-size: 14px;
}

.modern-comment-login-content p {
    margin: 0;
    color: #888;
    font-size: 12px;
}

.modern-comment-login-button {
    flex-shrink: 0;

    padding: 10px 15px;

    border-radius: 9px;

    background: #84203c;
    color: #fff !important;

    text-decoration: none;
}


/* =========================================
   COMMENTS
========================================= */

.modern-comments-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.modern-comment-card {
    width: 100%;
    box-sizing: border-box;

    padding: 20px;

    border: 1px solid #eee;
    border-radius: 15px;

    background: #fff;
}

.modern-comment-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;

    padding-bottom: 14px;
    margin-bottom: 14px;

    border-bottom: 1px solid #eee;
}

.modern-comment-user {
    display: flex;
    align-items: center;
    gap: 10px;
}

.modern-comment-avatar {
    width: 42px;
    height: 42px;

    flex-shrink: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #f5f1f2;
    color: #84203c;
}

.modern-comment-user-info strong {
    display: block;
    font-size: 13px;
}

.modern-comment-user-info small {
    display: block;
    margin-top: 3px;
    color: #999;
    font-size: 11px;
}


/* Suggest badge */

.modern-comment-suggest {
    flex-shrink: 0;

    display: flex;
    align-items: center;
    gap: 5px;

    padding: 6px 10px;

    border-radius: 20px;

    font-size: 11px;
}

.suggest-yes {
    background: #edf9f2;
    color: #198754;
}

.suggest-no {
    background: #fff1f2;
    color: #dc3545;
}


/* comment body */

.modern-comment-body h3 {
    margin: 0 0 10px;
    font-size: 16px;
    font-weight: 800;
    color: #333;
}

.modern-comment-body p {
    margin: 0;

    color: #555;
    font-size: 13px;

    line-height: 2;
}


/* =========================================
   ADMIN ANSWER
========================================= */

.modern-admin-answer {
    margin-top: 17px;

    padding: 15px;

    border-radius: 10px;

    border-right: 3px solid #84203c;

    background: #faf6f7;
}

.modern-admin-answer-header {
    display: flex;
    align-items: center;
    gap: 8px;

    margin-bottom: 10px;
}

.modern-admin-answer-header span {
    width: 35px;
    height: 35px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 8px;

    background: #f1e1e6;
    color: #84203c;
}

.modern-admin-answer-header strong {
    display: block;
    color: #84203c;
    font-size: 13px;
}

.modern-admin-answer-header small {
    display: block;
    color: #999;
    font-size: 10px;
}

.modern-admin-answer p {
    margin: 0;
    line-height: 2;
    font-size: 13px;
}


/* =========================================
   EMPTY
========================================= */

.modern-comments-empty {
    padding: 50px 20px;

    text-align: center;

    border: 1px dashed #ddd;
    border-radius: 14px;

    background: #fff;
}

.modern-comments-empty-icon {
    width: 65px;
    height: 65px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin: 0 auto 15px;

    border-radius: 50%;

    background: #f8eef1;
    color: #84203c;

    font-size: 27px;
}

.modern-comments-empty h3 {
    margin-bottom: 7px;
    font-size: 17px;
}

.modern-comments-empty p {
    margin: 0;
    color: #999;
    font-size: 12px;
}


/* =========================================
   Pagination
========================================= */

.modern-comments-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    margin-top: 25px;
}

.modern-comment-pages {
    display: flex;
    gap: 5px;
}

.modern-comments-pagination a,
.modern-comment-pages span {
    text-decoration: none;
}

.modern-comment-pages a,
.modern-comment-pages span {
    width: 36px;
    height: 36px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid #eee;
    border-radius: 8px;

    color: #555;
}

.modern-comment-pages .active {
    background: #84203c;
    border-color: #84203c;
    color: #fff;
}

.modern-comment-page-side {
    color: #84203c;
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 576px) {

    .modern-comments {
        padding: 0 12px;
        margin-top: 25px;
    }

    .modern-comments-header {
        align-items: flex-start;
    }

    .modern-comments-header h2 {
        font-size: 19px;
    }

    .modern-comments-header p {
        font-size: 11px;
    }

    .modern-comments-count {
        font-size: 10px;
        padding: 6px 9px;
    }

    .modern-comment-form-box {
        padding: 14px;
        border-radius: 13px;
    }

    .modern-comment-form-header {
        align-items: flex-start;
    }

    .modern-comment-form-header h3 {
        font-size: 16px;
    }

    .modern-suggest-options {
        grid-template-columns: 1fr;
    }

    .modern-comment-text-help {
        flex-direction: column;
    }

    .modern-comment-submit button {
        width: 100%;
    }

    .modern-comment-login {
        flex-wrap: wrap;
        padding: 14px;
    }

    .modern-comment-login-content {
        min-width: calc(100% - 70px);
    }

    .modern-comment-login-button {
        width: 100%;
        text-align: center;
    }

    .modern-comment-card {
        padding: 14px;
    }

    .modern-comment-top {
        align-items: flex-start;
        flex-direction: column;
    }

    .modern-comment-suggest {
        align-self: flex-start;
    }

    .modern-comments-pagination {
        flex-wrap: wrap;
    }
}


.captcha-inline {
    display: flex;
    align-items: center;
    gap: 12px;

    width: 100%;
    max-width: 620px;

    padding: 10px 12px;

    border: 1px solid #ead8de;
    border-radius: 14px;

    background: #fffafb;
}

.captcha-inline-icon {
    width: 42px;
    height: 42px;

    flex-shrink: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 11px;

    background: #8b1f3f;
    color: #fff;

    font-size: 18px;
}

.captcha-inline-question {
    flex: 1;
}

.captcha-inline-question small {
    display: block;

    margin-bottom: 2px;

    color: #999;
    font-size: 11px;
}

.captcha-inline-question strong {
    display: block;

    direction: ltr;

    color: #222;

    font-size: 18px;
    font-weight: 800;

    letter-spacing: 1px;
}

.captcha-inline input {
    width: 105px !important;
    min-width: 105px;

    height: 42px;

    padding: 0 10px !important;

    border: 1px solid #d9c7cd !important;
    border-radius: 10px !important;

    background: #fff !important;

    text-align: center;

    font-size: 15px !important;
    font-weight: 700;

    outline: none;
}

.captcha-inline input:focus {
    border-color: #8b1f3f !important;

    box-shadow:
        0 0 0 3px rgba(139, 31, 63, .08);
}

@media (max-width: 576px) {

    .captcha-inline {
        gap: 8px;
        padding: 9px;
    }

    .captcha-inline-icon {
        width: 38px;
        height: 38px;
    }

    .captcha-inline-question strong {
        font-size: 16px;
    }

    .captcha-inline input {
        width: 82px !important;
        min-width: 82px;
        height: 38px;
    }
}


.desktop-filter-category-item {
    width: 100%;
}

.desktop-filter-category-row {
    display: flex;
    align-items: center;
    min-height: 36px;
    position: relative;
}

.desktop-filter-category-row .form-check-input {
    margin-top: 0;
    flex-shrink: 0;
}

.desktop-filter-category-row .form-check-label {
    cursor: pointer;
    margin-right: 6px;
}

.desktop-filter-category-toggle {
    width: 30px;
    height: 30px;
    padding: 0;
    border: 0;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.desktop-filter-category-toggle i {
    font-size: 13px;
    transition: transform 0.2s ease;
}

.desktop-filter-category-toggle:not(.collapsed) i {
    transform: rotate(180deg);
}

.desktop-filter-category-children {
    width: 100%;
}



.home-posters-section {
    padding: 18px 0;
}

.home-posters-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

/* خود باکس */
.home-poster-item {
    overflow: hidden;
    border-radius: 16px;
}

.home-poster-item a {
    display: block;
    width: 100%;
    height: 100%;
}


/* =========================
   بنر تکی بزرگ
========================= */

.home-poster-full {
    grid-column: 1 / -1;
    height: 280px;
}


/* =========================
   بنرهای دوتایی
========================= */

.home-poster-half {
    grid-column: span 1;
    height: 240px;
}


/* تصویر */
.home-poster-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s ease;
}

.home-poster-item:hover .home-poster-image {
    transform: scale(1.015);
}


/* =========================
   تبلت
========================= */

@media (max-width: 991px) {

    .home-poster-full {
        height: 220px;
    }

    .home-poster-half {
        height: 190px;
    }
}


/* =========================
   موبایل
========================= */

@media (max-width: 767px) {

    .home-posters-section {
        padding: 12px 0;
    }

    .home-posters-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .home-poster-full,
    .home-poster-half {
        grid-column: 1;
        height: 160px;
    }

    .home-poster-item {
        border-radius: 12px;
    }
}


/* موبایل کوچک */
@media (max-width: 480px) {

    .home-poster-full,
    .home-poster-half {
        height: 135px;
    }
}