/*// ---------------------------------------- //
//     18.1         Sidebar               //
// ---------------------------------------- //*/

.shop-page .filter-icon{width:40px; height:40px; font-size:18px; line-height:40px; background:#eb2245; color:#fff; cursor:pointer; position:fixed; left:0; z-index:99; transition:0.3s all ease-in-out; display:none;}
.shop-page .filter-icon.move{left:280px;}
.slidebar{text-align:left; border-top:1px solid #d8d8d8; transition:0.3s all ease-in-out;}
.slidebar .banner-img{margin-top:22px;}
.slidebar .banner-img img{width:100%;}
.sidebar-widget {padding:20px 24px; border-bottom:1px solid #d8d8d8; border-left:1px solid #d8d8d8; border-right:1px solid #d8d8d8;}
.sidebar-widget:last-child {border-bottom:none;}
.sidebar-widget .widget-title h3{color:#231f20; font-weight:700; font-size:20px; text-transform:capitalize;
  line-height:20px; margin-bottom:24px;}
.sidebar-widget .widget-content ul{margin:0;}
.sidebar-widget .widget-content ul li a{display:block; text-transform:capitalize;}
.sidebar-widget.categories-widget .widget-content ul.level1 li{padding-bottom:20px; line-height:1; position:relative;}
.sidebar-widget.categories-widget .widget-content ul.level1 li span{position:absolute; right:0; top:0; cursor:pointer; line-height:1;}
.sidebar-widget.categories-widget .widget-content ul.level1 li span:before{margin:0; font-size:9px; color:#231f20;}
.sidebar-widget.categories-widget .widget-content ul.level2{border-left:1px solid #dad9da; padding-left:15px;
  margin-top:25px; margin-bottom:5px; display:none;}
.sidebar-widget.categories-widget .widget-content ul.level2.show{display:block;}
.sidebar-widget.categories-widget .widget-content ul.level2 li:last-child{padding-bottom:0;}
.sidebar-widget.categories-widget .widget-content ul.level2 li a{color:#545051; line-height:1;}
.sidebar-widget.categories-widget .widget-content ul.level2 li a:hover{color:#eb2245;}
.ui-slider-horizontal{height:10px; border-radius:8px;}
.ui-slider .ui-slider-handle{height:18px; width:18px; border-radius:50%; background:#231f20; border-color:#231f20;}
.ui-widget-header{background:#231f20;}
.sidebar-widget.price-widget .widget-content .btn-and-price{display:flex; justify-content:space-between; margin-top:32px;}
.sidebar-widget.price-widget .widget-content .btn-and-price #amount{margin:0; padding-right:10px; color:#545051; font-size:14px; font-weight:700; line-height:32px;}
.sidebar-widget.tag-widget .widget-content#tag a{line-height:22px; display:inline-block;}
.sidebar-widget.price-widget .widget-content .btn-and-price .filter-btn .fil-btn{line-height:32px; border-radius:4px; text-transform:uppercase; color:#545051; font-size:16px; padding:0 16px; background:transparent; border:1px solid #b6b4b5;}
.sidebar-widget.price-widget .widget-content .btn-and-price .filter-btn .fil-btn:hover{color:#fff; background:#231f20; border:1px solid #231f20;}
.sidebar-widget.color-widget .widget-content .color-list li{margin-bottom:16px; line-height:1;}
.sidebar-widget.color-widget .widget-content .color-list li:last-child{margin-bottom:0;}
.sidebar-widget.color-widget .widget-content .color-list li a{display:flex;}
.sidebar-widget.color-widget .widget-content .color-list li .colorbox{width:18px; height:18px; border-radius:50%; border:1px solid transparent; display:inline-flex; margin-right:15px;}
.sidebar-widget.color-widget .widget-content .color-list li.active a{color:#eb2245;}
.sidebar-widget.color-widget .widget-content .color-list .colorbox.black{background:#191919;}
.sidebar-widget.color-widget .widget-content .color-list .colorbox.brown{background:#a8816e;}
.sidebar-widget.color-widget .widget-content .color-list .colorbox.gray{background:#b9b9b9;}
.sidebar-widget.color-widget .widget-content .color-list .colorbox.orange{background:#ff7827;}
.sidebar-widget.color-widget .widget-content .color-list .colorbox.red{background:#e73638;}
.sidebar-widget.color-widget .widget-content .color-list .colorbox.white{background:#fff; border-color:#d8d8d8;}
.sidebar-widget.color-widget .widget-content .color-list .colorbox.pink{background:#fd9ebb;}
.sidebar-widget.color-widget .widget-content .color-list .colorbox.light{background:#d7ebea;}
.sidebar-widget.brand-widget .widget-content .brand-list li{padding-bottom:16px;}
.sidebar-widget.brand-widget .widget-content .brand-list .custom-checkbox{padding-left:32px; min-height:inherit;}
.sidebar-widget.brand-widget .widget-content .brand-list .custom-checkbox .custom-control-label::before{border-radius:3px; top:0; left:-32px; width:18px; height:18px; border-color:#b6b4b5;}
.custom-control-input:focus ~ .custom-control-label::before{box-shadow:none;}
.custom-control-input:checked ~ .custom-control-label::before{background:#fff;}
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after{background:url(../images/right.png) center center no-repeat;}
.custom-control-label::after{
  top:1px; left:-31px;
}

/* Remove all borders and shadows */
/* .card,
.card-header,
.card-body {
  border: none !important;
  box-shadow: none !important;
  background-color: #fff;
  padding: 0;
} */

/* Accordion Button Styling */
.card-header button {
  background-color: #fff;
  border: none;
  box-shadow: none;
  text-align: left;
  font-size: 15px;
  font-weight: 500;
  color: #333;
  padding: 10px 40px 10px 12px; /* space for plus icon */
  position: relative;
}

/* Hover effect (light background on hover) */
.card-header button:hover {
  text-decoration: none;
  background-color: #f8f9fa;
}

/* Static plus icon on right side
.card-header button::after {
  content: "\f067"; Font Awesome plus icon
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  right: 0px;
  top: 50%;
  transform: translateY(-50%);
  color: #666;
  font-size: 13px;
} */

/* Remove focus outline */
.card-header button:focus {
  outline: none;
  box-shadow: none;
}

/* Body padding cleanup */
.card-body {
  padding: 8px 12px;
  background-color: #fff;
}

/* Optional: slight spacing between accordion items */
.accordion .card + .card {
  margin-top: 4px;
}
.whatsapp-name {
  font-size: 16px;
  font-weight: 600;
  padding-bottom: 0;
  margin-bottom: 0;
  line-height: 0.5;
}

#whatsapp-chat {
  box-sizing: border-box !important;
  outline: none !important;
  position: fixed;
  width: 350px;
  border-radius: 10px;
  box-shadow: 0 1px 15px rgba(32, 33, 36, 0.28);
  bottom: 90px;
  right: 30px;
  overflow: hidden;
  z-index: 99;
  animation-name: showchat;
  animation-duration: 1s;
  transform: scale(1);
}

a.blantershow-chat {
  background: #fff;
  color: #404040;
  position: fixed;
  display: flex;
  font-weight: 400;
  justify-content: space-between;
  z-index: 98;
  bottom: 50px !important;
  right: 30px !important;
  font-size: 15px;
  padding: 10px 20px;
  border-radius: 30px;
  box-shadow: 0 1px 15px rgba(32, 33, 36, 0.28);
}

a.blantershow-chat svg {
  transform: scale(1.2);
  margin: 0 10px 0 0;
}

button.blantershow-chat {
  background: #fff;
  color: #404040;
  position: fixed;
  display: flex;
  font-weight: 400;
  justify-content: space-between;
  z-index: 98;
  bottom: 90px !important;
  right: 30px !important;
  font-size: 15px;
  padding: 10px 20px;
  border-radius: 30px;
  box-shadow: 0 1px 15px rgba(32, 33, 36, 0.28);
}

@media (max-width: 991px) {
  a.blantershow-chat {
    bottom: 90px !important;
    right: 5px !important;
  }
  button.blantershow-chat {
    bottom: 150px !important;
  }
}

/* Bootstrap Accordion Customization */
#categoriesAccordion {
    border: none;
}

#categoriesAccordion .card {
    border: none;
    border-bottom: 1px solid #e5e5e5;
    border-radius: 0;
    margin-bottom: 0;
}

#categoriesAccordion .card:last-child {
    border-bottom: none;
}

#categoriesAccordion .card-header {
    background: #fff;
    border: none;
    padding: 0;
    border-radius: 0;
}

.category-header-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0;
}

.category-header-wrapper .main-category-link {
    flex: 1;
    padding: 12px 15px;
    color: #333;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
    display: block;
}

.category-header-wrapper .main-category-link:hover {
    background: #f8f9fa;
    color: #000;
}

.category-header-wrapper .main-category-link.active-main {
    background: #f8f9fa;
    color: #000;
    border-left: 3px solid #007bff;
}

.category-header-wrapper .btn-link {
    padding: 12px 15px;
    color: #666;
    text-decoration: none;
    border: none;
    background: none;
    cursor: pointer;
    transition: all 0.3s ease;
    min-width: 50px;
}

.category-header-wrapper .btn-link:hover,
.category-header-wrapper .btn-link:focus {
    color: #000;
    text-decoration: none;
    outline: none;
    box-shadow: none;
}

.category-header-wrapper .btn-link i {
    transition: transform 0.3s ease;
    font-size: 16px;
}

.category-header-wrapper .btn-link.collapsed i {
    transform: rotate(0deg);
}

.category-header-wrapper .btn-link:not(.collapsed) i {
    transform: rotate(180deg);
}

#categoriesAccordion .card-body {
    padding: 0;
}

/* Subcategory List */
.subcategory-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.subcategory-list li {
    margin: 0;
}

.subcategory-list a {
    display: block;
    padding: 10px 15px 10px 30px;
    color: #555;
    text-decoration: none;
    transition: all 0.3s ease;
    position: relative;
    font-size: 1.1rem;
    font-weight: 500;
}

.subcategory-list a i {
    color: #999;
    transition: all 0.3s ease;
}

.subcategory-list a:hover {
    background: #fff;
    color: #000;
    padding-left: 35px;
}

.subcategory-list a:hover i {
    color: #000;
}

.subcategory-list a.active {
    background: #fff;
    color: #f54107;
    font-weight: 600;
    border-left: 3px solid #f54107;
}

/* Mobile Toggle Button */
.mobile-category-toggle {
    position: relative;
    text-align: left;
    padding: 12px 15px;
}

.mobile-category-toggle i {
    transition: transform 0.3s ease;
}

.mobile-category-toggle[aria-expanded="true"] i {
    transform: rotate(180deg);
}

/* Mobile Styles */
@media (max-width: 991px) {
    #categoryAccordion {
        display: inherit;
    }
    
    #categoryAccordion.show {
        display: block;
    }
    
    .category-header-wrapper .main-category-link {
        pointer-events: inherit;
    }
    
    /* Allow clicking on mobile to toggle */
    .category-header-wrapper {
        cursor: pointer;
    }
}

/* Desktop Styles */
@media (min-width: 992px) {
    #categoryAccordion {
        display: block !important;
    }
    
    .mobile-category-toggle {
        display: none !important;
    }
    
    .category-header-wrapper .main-category-link {
        pointer-events: auto;
    }
}

/* Smooth transitions */
#categoriesAccordion .collapsing {
    transition: height 0.35s ease;
}

/* Remove default Bootstrap focus styles */
#categoriesAccordion .btn-link:focus {
    box-shadow: none;
}

/* Category count badge (if you want to add product counts) */
.category-count {
    background: #e9ecef;
    color: #666;
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 12px;
    margin-left: 5px;
}



/* Before & After Styles */
.before-after-category-section {
    margin-bottom: 3rem;
}

.category-title {
    font-size: 1.75rem;
    font-weight: 600;
    margin-bottom: 2rem;
    text-align: center;
    color: #333;
}

.before-after-item {
    background: #fff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.before-after-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 20px rgba(0,0,0,0.12);
}

.project-title {
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 1rem;
    color: #333;
}

.ba-slider {
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    cursor: ew-resize;
    user-select: none;
    -webkit-user-select: none;
}

.ba-slider img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}

/* Fix for before image scaling */
.ba-slider .resize {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 50%;
    overflow: hidden;
    z-index: 2;
}

.ba-slider .resize img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;       /* Fix: match after image */
    height: 100%;
    object-fit: cover; /* Maintain ratio */
}

.ba-slider .handle {
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 4px;
    background: #fff;
    z-index: 3;
    transform: translateX(-50%);
    box-shadow: 0 0 10px rgba(0,0,0,0.3);
}

.ba-slider .handle i {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 40px;
    height: 40px;
    background: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    color: #333;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}

.ba-slider.active .handle i {
    background: #000;
    color: #fff;
}

.project-info {
    padding-top: 1rem;
    border-top: 1px solid #eee;
}

.project-info .label {
    font-weight: 600;
    color: #666;
    text-transform: uppercase;
    font-size: 0.875rem;
}

/* --- Listing page (your filter section) --- */
.page-header-section {
    padding: 60px 0 40px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: #fff;
}

.page-title {
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 10px;
}

.filter-section {
    padding: 40px 0;
    background: #f8f9fa;
    border-bottom: 1px solid #e0e0e0;
}

.filter-tabs {
    display: flex;
    justify-content: center;
    gap: 15px;
    flex-wrap: wrap;
}

.filter-btn {
    background: #fff;
    border: 2px solid #e0e0e0;
    padding: 12px 30px;
    font-weight: 600;
    color: #333;
    cursor: pointer;
    transition: all 0.3s ease;
}

.filter-btn.active {
    background: #000;
    color: #fff;
    border-color: #e0e0e0;
}

.before-after-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
    margin-top: 40px;
}

.before-after-card {
    background: #fff;
    padding: 30px;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
}

.before-after-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
}

.no-results {
    display: none;
    text-align: center;
    padding: 60px 20px;
    color: #666;
}

    
/* Category Menu Skeleton Styles */
.category-skeleton .skeleton-line {
    list-style: none !important;
  display: block;
  height: 12px;
  margin: 8px 0;
  border-radius: 4px;
  background: linear-gradient(90deg, #e3e3e3 25%, #f0f0f0 50%, #e3e3e3 75%);
  background-size: 400% 100%;
  animation: shimmer 1.5s infinite;
}

.category-skeleton .main-cat {
  width: 70%;
  height: 14px;
  margin-bottom: 6px;
}

.category-skeleton .sub-cat {
  width: 50%;
  height: 10px;
  margin-left: 20px;
}

/* Reuse shimmer animation */
@keyframes shimmer {
  0% { background-position: -400px 0; }
  100% { background-position: 400px 0; }
}

/* careers section and  form */

        .career-header {
            padding: 80px 0;
            margin-bottom: 50px;
        }
        .card-career-left {
          background: #92846B;
          color: #fff;
        }
        .card-career-right {
          color: #fff;
          background: #474E60;
        }
        .hero-btn {
            background: white;
            color: #000;
            padding: 15px;
            border: 1px solid #4444;
            font-weight: 700;
            font-size: 1.2rem;
            transition: all 0.3s;
        }
        .hero-btn:hover {
                transform: translateY(-3px);
                color: white;
                background: #000;
        }
        .apply-btn {
            background: white;
            color: #000;
            padding: 5px 20px;
            transition: all 0.3s;
        }
        .apply-btn:hover {
                transform: translateY(-3px);
                color: white;
                background: #000;
        }
        .modal-content {
            border-radius: 20px;
            border: none;
            overflow: hidden;
            margin-top: 100px;
            margin-bottom: 80px;
        }
        .modal-header {
            border: none;
            padding: 25px 30px;
        }
        .modal-body {
            padding: 35px;
        }
        .form-label {
            font-weight: 600;
            color: #333;
            margin-bottom: 8px;
        }
        .form-control, .form-select {
            padding: 5px;
            border: 2px solid #e0e0e0;
        }
        .area-btn {
            width: 100%;
            margin-bottom: 10px;
            border: 2px solid #e0e0e0;
            padding: 12px;
            transition: all 0.3s;
            text-align: left;
        }
        .area-btn:hover, .area-btn.active {
            background: #000;
            color: white;
            transform: translateX(5px);
        }
        .file-upload-wrapper input[type="file"] {
            display: none;
        }
        .file-upload-label {
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 5px;
            border: 2px dashed #444;
            cursor: pointer;
            transition: all 0.3s;
        }
        .vacancy-section {
            background: white;
            padding: 40px;
            margin-bottom: 30px;
            box-shadow: 0 5px 25px rgba(0,0,0,0.1);
        }
        
        .vacancy-type-card {
            color: white;
            padding: 20px;
            text-align: center;
            cursor: pointer;
            transition: all 0.3s;
            height: 100%;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
        }
        .vacancy-type-card:hover {
            transform: translateY(-5px);
        }
        .vacancy-type-card i {
            font-size: 3rem;
            margin-bottom: 20px;
        }
        .vacancy-type-card h3 {
            font-size: 1.5rem;
            margin-bottom: 15px;
            color: #fff;
        }
        .vacancy-card {
            padding: 25px;
            margin-bottom: 20px;
            transition: all 0.3s;
        }
        .vacancy-card h5 {
            margin-bottom: 15px;
            color: #fff;
        }
        .badge-custom {
            background: #4444;
            padding: 8px 15px;
            font-size: 0.85rem;
            margin-right: 10px;
        }
        .hidden {
            display: none;
        }
        .success-message {
            background: #d4edda;
            border: 2px solid #28a745;
            color: #155724;
            padding: 20px;
            border-radius: 10px;
            margin-bottom: 30px;
            display: none;
        }

        .products-thumb {
  position: relative;
  width: 100%;
  height: 250px; /* set your desired height */
  overflow: hidden;
  border-radius: 10px; /* optional – makes edges smooth */
}

.products-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* maintains aspect ratio and fills area */
  display: block;
}



/* text animation */
.animate-text {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.7s ease-out, transform 0.7s ease-out;
}

.animate-text.active {
    opacity: 1;
    transform: translateY(0);
}


/* select option in contact page */
[class~="select2-container"] {
    padding: 12px !important;
    border: 1px solid #444 !important;
}

.select2-container--default .select2-selection--single {
    border: none !important;
}

.custom-playfair-title {
    font-family : 'Playfair Display';
}

.pricing-table td{
  min-width:80px !important;
  padding-left:5px !important;
  border: 1px solid #a3a3a3 !important;
}

/* contact-page map section */
.items-row {
    display: grid;
    grid-template-columns: repeat(5, 1fr); /* 5 items per row */
    gap: 20px; /* spacing between items */
}

/* Mobile Responsive – 1 item per row */
@media (max-width: 768px) {
    .items-row {
        grid-template-columns: repeat(1, 1fr);
    }
    .custom-playfair-title {
        font-size: 30px;
    }
}

/*to freeze 1st and 2nd column in mattress pricing table*/
.scroll-box {
    overflow-x: auto;
}

.freeze-1 {
    position: sticky;
    left: 0;
    z-index: 10;
    background: #fffacd;
}

.freeze-2 {
    position: sticky;
    left: var(--w); 
    z-index: 9;     
    background: #fffacd;
}

/* Indroyal homepage: warm, editorial visual layer. Existing content and
   interactions are retained; these rules only refine presentation. */
:root {
    --indroyal-ink: #292522;
    --indroyal-clay: #bd4b25;
    --indroyal-sand: #f6f1ea;
    --indroyal-line: #e8dfd5;
}

.home .section-container {
    max-width: 1440px;
}

.home .block-title h2 {
    color: var(--indroyal-ink);
    font-family: 'Playfair Display', serif;
    font-size: clamp(2rem, 3vw, 3.2rem);
    font-weight: 500;
    letter-spacing: -.035em;
    text-transform: none;
}

.home-hero .item-content {
    align-items: stretch;
    min-height: 590px;
    background: var(--indroyal-sand);
}

.home-hero .item-info > div {
    background: var(--indroyal-sand) !important;
}

.home-hero .content-wrap {
    display: flex;
    min-height: 100%;
    padding: clamp(2.5rem, 6vw, 6.5rem) !important;
    flex-direction: column;
    justify-content: center;
}

.home-hero .box-title {
    color: var(--indroyal-ink);
    font-size: clamp(2.4rem, 4vw, 4.6rem) !important;
    font-weight: 500;
    letter-spacing: -.05em;
    line-height: 1.04;
}

.home-hero .box-description {
    max-width: 29rem;
    color: #403a35 !important;
    font-family: 'Barlow Semi Condensed', Arial, sans-serif;
    font-size: 1.18rem !important;
    font-weight: 500;
    letter-spacing: .01em;
    line-height: 1.6;
}

.home-hero .button-slider,
.home .button-black {
    align-self: flex-start;
    margin-top: 1.2rem;
    padding: .95rem 1.5rem;
    border: 1px solid var(--indroyal-ink);
    background: var(--indroyal-ink);
    color: #fff;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    transition: background .25s ease, color .25s ease, transform .25s ease;
}

.home-hero .button-slider:hover,
.home .button-black:hover {
    background: var(--indroyal-clay);
    border-color: var(--indroyal-clay);
    color: #fff;
    transform: translateY(-2px);
}

.home-hero .content-image,
.home-hero .content-image img {
    overflow: hidden;
    border-radius: 0;
}

.home-hero .content-image img {
    box-shadow: none !important;
    transition: transform .7s ease;
}

.home-hero .slick-slide:hover .content-image img {
    transform: scale(1.025);
}

.home-room-collections {
    background: #fbf9f6 !important;
}

.home-room-collections .block-title {
    margin-bottom: 2.5rem;
}

.home-room-collections .block-feature .box {
    height: 100%;
    padding: 1.5rem .75rem !important;
    border: 1px solid var(--indroyal-line);
    border-radius: 0;
    box-shadow: none;
    transition: background .25s ease, box-shadow .25s ease, transform .25s ease;
}

.home-room-collections .block-feature .box:hover {
    background: #fff7ef !important;
    box-shadow: 0 18px 35px rgba(58, 43, 30, .09);
    transform: translateY(-5px);
}

.home-room-collections .box-icon img {
    transition: transform .25s ease;
}

.home-room-collections .box:hover .box-icon img {
    transform: scale(1.08);
}

.home-room-collections .box-title {
    color: var(--indroyal-ink);
    font-size: 1.45rem;
    font-weight: 500;
}

.home-room-collections .box-description {
    color: #776f68;
    font-size: .92rem;
}

.home-inspiration .row {
    margin: 0;
}

.home-inspiration [class*="col-lg"] {
    padding: 0;
}

.home-inspiration .banner-image,
.home-inspiration .banner-image img {
    height: 100%;
}

.home-inspiration .banner-image img {
    min-height: 305px;
    object-fit: cover;
    transition: transform .6s ease;
}

.home-inspiration .block-banners:hover .banner-image img {
    transform: scale(1.025);
}

.home-inspiration .block-newsletter {
    border-left: 1px solid rgba(255,255,255,.55);
}

.home-category-showcase .block-widget-wrap > .row {
    row-gap: 1.5rem;
}

.home-category-showcase .banner-wrapper {
    overflow: hidden;
    background: #201d1a;
}

.home-category-showcase .banner-image img {
    width: 100%;
    transition: transform .55s ease, opacity .4s ease;
}

.home-category-showcase .banner-wrapper:hover .banner-image img {
    opacity: .8;
    transform: scale(1.06);
}

.home-category-showcase .title-banner {
    color: #fff;
    font-family: 'Playfair Display', serif;
    font-size: clamp(1.35rem, 2vw, 2rem);
    font-weight: 500;
    letter-spacing: -.025em;
    text-transform: none;
}

.home-journal {
    background: var(--indroyal-sand);
}

.home-journal .block-posts {
    background: transparent;
}

.home-journal .post-inner {
    height: 100%;
    background: #fff;
    border: 1px solid var(--indroyal-line);
    box-shadow: none;
    transition: box-shadow .25s ease, transform .25s ease;
}

.home-journal .post-inner:hover {
    box-shadow: 0 18px 36px rgba(58, 43, 30, .12);
    transform: translateY(-5px);
}

.home-journal .post-image {
    overflow: hidden;
}

.home-journal .post-image img {
    transition: transform .55s ease;
}

.home-journal .post-inner:hover .post-image img {
    transform: scale(1.05);
}

.home-journal .post-content {
    padding: 1.5rem;
}

.home-journal .post-title {
    font-family: 'Playfair Display', serif;
    font-size: 1.35rem;
    font-weight: 500;
    line-height: 1.25;
}

.home-journal .read-more {
    color: var(--indroyal-clay);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
}

/* Keep the complete desktop hero, including its navigation, inside the first viewport. */
@media (min-width: 768px) {
    .home-hero .item-content {
        height: min(590px, calc(100vh - 155px));
        min-height: 0;
    }

    .home-hero .content-image,
    .home-hero .content-image img {
        height: 100% !important;
    }

    .home-hero .content-wrap {
        padding-right: clamp(1.75rem, 3vw, 3.5rem) !important;
        padding-left: clamp(1.75rem, 3vw, 3.5rem) !important;
        transform: translateY(-1.5rem);
    }

    .home-hero .block-sliders.nav-left .slick-dots {
        position: absolute;
        bottom: 0;
        left: 0;
        z-index: 2;
        width: 34.5%;
        margin: 0;
        padding: 0 clamp(1.75rem, 3vw, 3.5rem) 1.5rem;
        text-align: left;
    }

    .home-hero .block-sliders.nav-left .slick-dots li:first-child {
        margin-left: 0;
    }
}

@media (max-width: 767px) {
    /* Direction-aware mobile navigation: top bar on upward scroll, bottom bar on downward scroll. */
    body {
        padding-top: 31px;
    }

    .site-header .header-mobile {
        height: 0;
    }

    .site-header .header-mobile > .section-padding {
        position: fixed;
        top: 0;
        right: 0;
        left: 0;
        display: flex;
        align-items: center;
        height: 87px;
        z-index: 1002;
        background: #fff;
        box-shadow: 0 3px 14px rgba(58, 43, 30, .1);
        transition: transform .28s ease;
        will-change: transform;
    }

    .site-header .header-mobile > .section-padding > .section-container {
        width: 100%;
    }

    .site-header .header-mobile .header-right {
        position: absolute;
        right: 15px;
        width: auto;
    }

    .site-header .header-mobile > .section-padding.mobile-top-hidden {
        transform: translateY(-110%);
    }

    .site-header .header-mobile .header-mobile-fixed {
        transition: transform .28s ease, box-shadow .28s ease;
        will-change: transform;
    }

    .site-header .header-mobile .header-mobile-fixed.mobile-bottom-hidden {
        transform: translateY(120%);
        box-shadow: none !important;
    }

    /* End the homepage directly at the footer; no blank transition strip. */
    body.home .home-journal {
        margin-bottom: 0 !important;
    }

    /* A clearer, more tactile mobile navigation bar without changing its links. */
    .site-header .header-mobile .header-mobile-fixed {
        padding: .45rem .35rem .5rem !important;
        background: rgba(255, 255, 255, .98) !important;
        border-top: 1px solid #e8dfd5;
        box-shadow: 0 -8px 24px rgba(58, 43, 30, .12) !important;
    }

    .site-header .header-mobile .header-mobile-fixed > .shop-page {
        min-width: 0;
    }

    .site-header .header-mobile .header-mobile-fixed .shop-page > a {
        display: flex !important;
        align-items: center;
        justify-content: center;
        width: 2.5rem !important;
        height: 2.5rem;
        margin: 0 auto .3rem !important;
        padding: .35rem;
        border: 1px solid #eee5dc;
        border-radius: 50%;
        background: #fffaf5;
        transition: background .2s ease, border-color .2s ease, transform .2s ease;
    }

    .site-header .header-mobile .header-mobile-fixed .shop-page > a:active {
        background: #f2dfce;
        border-color: #c77a47;
        transform: scale(.94);
    }

    .site-header .header-mobile .header-mobile-fixed .shop-page img {
        width: 100%;
        max-width: 1.7rem;
        max-height: 1.7rem;
        object-fit: contain;
    }

    .site-header .header-mobile .header-mobile-fixed .shop-page h6 {
        margin: 0 !important;
        color: #423a34;
        font-size: .62rem !important;
        font-weight: 700;
        line-height: 1.15 !important;
        letter-spacing: .055em;
        text-transform: uppercase;
    }

    /* Keep the carousel track and wide Bootstrap rows from creating a sideways page scroll. */
    html,
    body {
        max-width: 100%;
        overflow-x: hidden;
    }

    #page,
    #site-main,
    .home-hero,
    .home-hero .section-banner,
    .home-hero .slick-list {
        max-width: 100%;
        overflow-x: hidden;
    }

    /* The original slider reserves a large blank area for its navigation dots. */
    .home-hero {
        margin-bottom: 0 !important;
    }

    .home-hero .block-sliders .slick-dots,
    .home-hero .block-sliders.nav-left .slick-dots {
        margin: 0 !important;
        padding: .9rem 0 1.1rem !important;
        text-align: center !important;
    }

    .home-hero .section-banner,
    .home-hero .slick-sliders .item {
        min-height: 0 !important;
    }

    .home-hero .item-content {
        min-height: 0;
    }

    .home-hero .content-wrap {
        padding: 3rem 1.75rem !important;
    }

    .home-hero .box-title {
        font-size: 2.45rem !important;
    }

    .home-hero .button-slider {
        align-self: center !important;
        display: table !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .home-hero .content-image img {
        min-height: 320px;
    }

    .home-room-collections .block-feature .box {
        padding: 1rem .4rem !important;
    }

    .home-inspiration .block-newsletter {
        border-left: 0;
        border-top: 1px solid rgba(255,255,255,.55);
    }
}

/* Practical shopping tools */
.useful-page {
    background: #fbf9f6;
}

.finder-intro {
    max-width: 48rem;
    padding: 4.5rem 1rem 2.5rem;
    margin: 0 auto;
}

.eyebrow {
    display: block;
    color: var(--indroyal-clay);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.finder-intro h1,
.furniture-finder h2,
.guide-grid h2,
.product-decision-panel h2,
.product-next-steps h2 {
    font-family: 'Playfair Display', serif;
    color: var(--indroyal-ink);
    font-weight: 500;
}

.finder-intro h1 { font-size: clamp(2.4rem, 5vw, 4.25rem); margin: .8rem 0; }
.finder-intro p { color: #655e58; font-size: 1.08rem; }

.furniture-finder {
    max-width: 62rem;
    padding: 3rem;
    margin: 0 auto 5rem;
    background: #fff;
    border: 1px solid var(--indroyal-line);
    box-shadow: 0 20px 45px rgba(58, 43, 30, .08);
    text-align: center;
}
.furniture-finder h2 { font-size: clamp(1.8rem, 3vw, 2.6rem); margin-bottom: 2rem; }
.finder-progress { display: flex; justify-content: center; gap: .45rem; margin-bottom: 2rem; }
.finder-progress span { width: 2rem; height: .22rem; background: #e8dfd5; }
.finder-progress span.is-active { background: var(--indroyal-clay); }
.finder-kicker { display: block; color: #776f68; font-size: .75rem; font-weight: 700; letter-spacing: .1em; margin-bottom: .75rem; text-transform: uppercase; }
.finder-options { display: flex; flex-wrap: wrap; justify-content: center; gap: .85rem; }
.finder-options button, .finder-back, .product-next-actions a, .product-decision-actions a, .product-card-action {
    border: 1px solid var(--indroyal-ink);
    background: var(--indroyal-ink);
    color: #fff;
    cursor: pointer;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .1em;
    padding: .9rem 1.15rem;
    text-decoration: none;
    text-transform: uppercase;
}
.finder-options button:hover, .product-next-actions a:hover, .product-decision-actions a:hover, .product-card-action:hover { background: var(--indroyal-clay); border-color: var(--indroyal-clay); color: #fff; }
.finder-back { margin-top: 1.5rem; background: transparent; color: var(--indroyal-ink); }
.finder-result { max-width: 43rem; margin: 0 auto; }
.finder-result-copy { color: #655e58; font-size: 1.1rem; line-height: 1.65; }
.finder-checklist { margin: 1.8rem 0; padding: 1.4rem 1.6rem; background: #fbf7f2; border-left: 3px solid var(--indroyal-clay); text-align: left; }
.finder-checklist h3 { font-family: 'Playfair Display', serif; font-size: 1.35rem; }
.finder-checklist ul { margin: 0; padding-left: 1.15rem; color: #544d47; line-height: 1.8; }
.finder-result-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; }
.finder-result-actions .finder-consult { background: transparent; color: var(--indroyal-ink); }
.finder-product-suggestions { margin: 2rem 0; padding: 1.5rem; background: #fbf7f2; border: 1px solid var(--indroyal-line); }
.finder-product-suggestions h3 { font-family: 'Playfair Display', serif; font-size: 1.5rem; }
.finder-product-intro { color: #655e58; }
.finder-product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .85rem; margin-top: 1rem; }
.finder-product-card { display: block; overflow: hidden; border: 1px solid var(--indroyal-line); background: #fff; color: var(--indroyal-ink); text-align: left; text-decoration: none; }
.finder-product-card:hover { color: var(--indroyal-clay); box-shadow: 0 12px 25px rgba(58, 43, 30, .1); }
.finder-product-card img { display: block; width: 100%; aspect-ratio: 1 / .8; object-fit: cover; }
.finder-product-card span, .finder-product-card small { display: block; padding: .65rem .75rem 0; font-weight: 700; }
.finder-product-card small { padding: .2rem .75rem .75rem; color: var(--indroyal-clay); font-size: .65rem; letter-spacing: .08em; text-transform: uppercase; }

.guide-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; padding-bottom: 5rem; }
.guide-grid article { padding: 2rem; background: #fff; border: 1px solid var(--indroyal-line); }
.guide-grid article > i { color: var(--indroyal-clay); font-size: 1.45rem; }
.guide-grid .guide-icon { display: inline-block; width: 1.45rem; height: 1.45rem; color: var(--indroyal-clay); fill: currentColor; vertical-align: middle; }
.guide-grid .guide-sofa-icon { width: 1.58rem; height: 1.58rem; }
.guide-grid h2 { font-size: 1.6rem; margin-top: 1rem; }
.guide-grid p { color: #655e58; line-height: 1.65; }
.guide-grid a, .catalogue-help-link { color: var(--indroyal-clay); font-size: .77rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }

.catalogue-tools { display: flex; align-items: center; flex-wrap: wrap; gap: .8rem 1.25rem; padding: 1rem 0; }
.catalogue-tools label { margin: 0; color: var(--indroyal-ink); font-weight: 700; }
.catalogue-search-wrap { position: relative; min-width: 16rem; flex: 1; }
.catalogue-search-wrap i { position: absolute; top: .85rem; left: .9rem; color: #8c8178; }
.catalogue-search-wrap input { width: 100%; padding: .7rem .8rem .7rem 2.4rem; border: 1px solid var(--indroyal-line); }
.catalogue-help-link { margin-left: auto; }
.product-card-note { margin: .2rem 0 .75rem; color: #776f68; font-size: .84rem; }
.product-card-action { display: inline-block; padding: .65rem .8rem; font-size: .65rem; }

.product-decision-panel { margin-top: 1.75rem; padding: 1.5rem; border: 1px solid var(--indroyal-line); background: #fbf7f2; }
.product-decision-panel h2 { font-size: 1.45rem; }
.product-decision-panel ul { padding: 0; margin: 0; list-style: none; }
.product-decision-panel li { padding: .35rem 0; color: #544d47; font-size: .92rem; line-height: 1.4; }
.product-decision-panel li i { color: var(--indroyal-clay); margin-right: .35rem; }
.product-decision-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1.15rem; }
.product-decision-actions a { padding: .72rem .85rem; font-size: .64rem; }
.product-decision-actions a + a { background: transparent; color: var(--indroyal-ink); }

.product-next-steps { margin-top: 3rem; padding: 3rem 0; background: #fbf9f6; }
.product-next-steps .section-container { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.product-next-steps h2 { margin: .4rem 0; font-size: 2rem; }
.product-next-steps p { margin: 0; color: #655e58; }
.product-next-actions { display: flex; flex-wrap: wrap; gap: .6rem; justify-content: flex-end; }
.product-next-actions a { padding: .8rem .9rem; font-size: .64rem; }
.product-next-actions a + a { background: transparent; color: var(--indroyal-ink); }

@media (max-width: 767px) {
    .finder-intro { padding-top: 2.5rem; }
    .furniture-finder { padding: 2rem 1rem; margin-bottom: 3rem; }
    .guide-grid { grid-template-columns: 1fr; padding-bottom: 3rem; }
    .finder-product-grid { grid-template-columns: 1fr; }
    .catalogue-help-link { width: 100%; margin-left: 0; }
    .catalogue-search-wrap { min-width: 100%; }
    .product-next-steps .section-container { display: block; }
    .product-next-actions { justify-content: flex-start; margin-top: 1.25rem; }
}
