/* =========================================
   CATEGORY PAGE HERO
========================================= */

.category-page-hero {
  min-height: 480px;
  position: relative;
  display: flex;
  align-items: center;

  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}


/* CATEGORY SPECIFIC HERO IMAGES */

.beds-hero {
  background-image:
    url("../images/beds-hero.jpg");
}

.sofas-hero {
  background-image:
    url("../images/sofas-hero.jpg");
}

sofa-beds-hero {
  background-image: url("../images/sofa-beds-hero.jpg");
}

.wardrobes-hero {
  background-image:
    url("../images/wardrobes-hero.jpg");
}

.chest-drawers-hero {
  background-image:
    url("../images/chest-of-drawers-hero.jpg");
}

.mattresses-hero {
  background-image:
    url("../images/mattresses-hero.jpg");
}


.category-page-hero-overlay {
  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      90deg,
      rgba(20, 17, 14, 0.80),
      rgba(20, 17, 14, 0.45),
      rgba(20, 17, 14, 0.08)
    );
}


.category-page-hero-content {
  position: relative;

  z-index: 2;

  max-width: 720px;

  color: #fff;
}


.category-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;

  gap: 8px;

  margin-bottom: 30px;

  font-size: 10px;

  color: rgba(255, 255, 255, 0.7);
}


.category-breadcrumb a {
  color: rgba(255, 255, 255, 0.75);
}


.category-breadcrumb strong {
  color: #fff;
}


.category-eyebrow {
  display: block;

  margin-bottom: 14px;

  color: #d0ad88;

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

  letter-spacing: 2.6px;
}


.category-page-hero h1 {
  max-width: 650px;

  font-family:
    "Playfair Display",
    serif;

  font-size:
    clamp(45px, 6vw, 66px);

  line-height: 1.06;

  font-weight: 600;

  margin-bottom: 17px;
}


.category-page-hero p {
  max-width: 520px;

  color: rgba(255, 255, 255, 0.82);

  font-size: 14px;

  line-height: 1.8;
}


/* =========================================
   INTRO
========================================= */

.category-intro {
  padding: 85px 0;

  background: var(--cream);
}


.category-intro-grid {
  display: grid;

  grid-template-columns:
    1fr 0.8fr;

  gap: 80px;

  align-items: end;
}


.category-intro h2 {
  max-width: 600px;

  font-family:
    "Playfair Display",
    serif;

  font-size:
    clamp(35px, 4vw, 48px);

  line-height: 1.12;

  color: var(--dark);
}


.category-intro-grid > p {
  color: var(--muted);

  font-size: 13px;

  line-height: 1.8;
}


/* =========================================
   PRODUCTS
========================================= */

.category-products-section {
  padding: 90px 0 110px;

  background: #fff;
}


/* TOOLBAR */

.category-toolbar {
  min-height: 65px;

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

  gap: 25px;

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

  border-bottom:
    1px solid var(--border);
}


.category-result-count strong {
  color: var(--dark);

  font-size: 12px;
}


.category-result-count span {
  margin-left: 4px;

  color: var(--muted);

  font-size: 11px;
}


/* SORT */

.category-sort {
  display: flex;
  align-items: center;

  gap: 10px;
}


.category-sort label {
  color: var(--muted);

  font-size: 10px;
}


.category-sort select {
  min-width: 170px;
  min-height: 42px;

  padding: 0 12px;

  border:
    1px solid var(--border);

  background: #fff;

  color: var(--dark);

  font-family:
    "DM Sans",
    sans-serif;

  font-size: 11px;

  outline: none;
}


/* PRODUCTS GRID */

.category-products-grid {
  display: grid;

  grid-template-columns:
    repeat(4, minmax(0, 1fr));

  gap: 24px;
}


/* =========================================
   SERVICE STRIP
========================================= */

.category-service-strip {
  padding: 48px 0;

  background: var(--dark);

  color: #fff;
}


.category-service-grid {
  display: grid;

  grid-template-columns:
    repeat(4, 1fr);
}


.category-service-grid > div {
  padding: 8px 20px;

  text-align: center;

  border-right:
    1px solid rgba(255, 255, 255, 0.14);
}


.category-service-grid > div:last-child {
  border-right: 0;
}


.category-service-grid strong {
  display: block;

  margin-bottom: 4px;

  font-family:
    "Playfair Display",
    serif;

  font-size: 20px;
}


.category-service-grid span {
  color: #bcb6ae;

  font-size: 10px;
}


/* =========================================
   CTA
========================================= */

.category-cta {
  padding: 95px 0;

  background: var(--cream);
}


.category-cta-inner {
  max-width: 700px;

  text-align: center;
}


.category-cta-inner > span {
  display: block;

  margin-bottom: 9px;

  color: var(--brown);

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

  letter-spacing: 2.2px;
}


.category-cta h2 {
  font-family:
    "Playfair Display",
    serif;

  font-size:
    clamp(34px, 5vw, 47px);

  line-height: 1.12;

  color: var(--dark);

  margin-bottom: 12px;
}


.category-cta p {
  max-width: 500px;

  margin:
    0 auto 24px;

  color: var(--muted);

  font-size: 12px;

  line-height: 1.75;
}


.category-cta a {
  min-height: 49px;

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

  padding: 0 27px;

  background: var(--dark);

  color: #fff;

  font-size: 11px;
  font-weight: 600;

  transition:
    transform 0.3s ease,
    background 0.3s ease;
}


.category-cta a:hover {
  transform: translateY(-3px);

  background: var(--brown);
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 950px) {

  .category-products-grid {
    grid-template-columns:
      repeat(3, minmax(0, 1fr));
  }


  .category-intro-grid {
    grid-template-columns: 1fr;

    gap: 25px;
  }

}


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

@media (max-width: 700px) {

  .category-page-hero {
    min-height: 430px;

    background-position: center;
  }


  .category-page-hero-overlay {
    background:
      linear-gradient(
        90deg,
        rgba(20, 17, 14, 0.76),
        rgba(20, 17, 14, 0.38)
      );
  }


  .category-page-hero h1 {
    font-size: 43px;
  }


  .category-intro {
    padding: 65px 0;
  }


  .category-products-section {
    padding: 65px 0;
  }


  .category-toolbar {
    align-items: flex-start;
    flex-direction: column;
  }


  .category-sort {
    width: 100%;
  }


  .category-sort select {
    width: 100%;
  }


  .category-products-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));

    gap: 12px;
  }


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


  .category-service-grid > div {
    padding: 17px 10px;

    border-right: 0;

    border-bottom:
      1px solid rgba(255, 255, 255, 0.12);
  }


  .category-cta {
    padding: 70px 0;
  }

}
.sofa-beds-hero {
  background-image: url("../images/sofa-beds-hero.jpg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
/* =========================================
   CATEGORY HERO - MOBILE POLISH
========================================= */

@media (max-width: 700px) {

  .category-page-hero {
    min-height: 560px;

    align-items: flex-end;

    padding:
      0 0 54px;

    background-position: center center;
  }

  .category-page-hero .container {
    width: 88%;
  }

  .category-page-hero-content {
    max-width: 100%;
  }

  .category-breadcrumb {
    margin-bottom: 22px;

    gap: 7px;

    font-size: 10px;
  }

  .category-eyebrow {
    margin-bottom: 12px;

    font-size: 9px;

    letter-spacing: 2.4px;
  }

  .category-page-hero h1 {
    max-width: 520px;

    margin-bottom: 18px;

    font-size:
      clamp(42px, 12vw, 58px);

    line-height: 1.02;

    letter-spacing: -1px;
  }

  .category-page-hero p {
    max-width: 520px;

    font-size: 14px;

    line-height: 1.7;

    color: rgba(255,255,255,0.88);
  }


  /* HERO OVERLAY */

  .category-page-hero-overlay {
    background:
      linear-gradient(
        180deg,
        rgba(20,17,14,0.18) 0%,
        rgba(20,17,14,0.38) 38%,
        rgba(20,17,14,0.82) 100%
      );
  }

}
@media (max-width: 700px) {

  .category-intro {
    padding: 58px 0;
  }

  .category-intro-grid {
    gap: 18px;
  }

  .category-intro h2 {
    font-size: 36px;

    line-height: 1.08;
  }

  .category-intro-grid > p {
    font-size: 13px;

    line-height: 1.75;
  }

}
@media (max-width: 900px) {

  .category-page-hero {
    margin-top: 0 !important;
  }

}
/* =========================================
   WARDROBE PRODUCT CARD FIX
========================================= */

.category-products-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
}

.product-card {
  background: #fff;
  border: 1px solid #ece8e2;
  overflow: hidden;
  height: 100%;
}

.product-image-wrap {
  height: 420px;
  background: #f8f7f4;

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

  overflow: hidden;
  position: relative;
}

.product-image-wrap a {
  width: 100%;
  height: 100%;

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

.product-image-wrap img {
  width: 100%;
  height: 100%;

  object-fit: contain;
  object-position: center;

  padding: 18px;

  display: block;
}

.product-info {
  padding: 22px 20px 24px;
}

.product-info h3 {
  margin: 8px 0 10px;
}

.product-info h3 a {
  text-decoration: none;
  color: inherit;
}

.product-price {
  margin-top: 8px;
}


/* TABLET */

@media (max-width: 1000px) {

  .category-products-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .product-image-wrap {
    height: 360px;
  }

}


/* MOBILE */

@media (max-width: 650px) {

  .category-products-grid {
    grid-template-columns: 1fr;
  }

  .product-image-wrap {
    height: 340px;
  }

}
/* =========================================================
   WARDROBES PAGE - FINAL POLISH
========================================================= */

/* PAGE */
.category-products-section {
  background: #f8f7f4;
  padding: 70px 0 90px;
}


/* =========================================================
   HERO
========================================================= */

.wardrobes-hero {
  min-height: 460px;
  position: relative;
  display: flex;
  align-items: center;
  overflow: hidden;
}

.category-page-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(20, 18, 15, 0.78) 0%,
    rgba(20, 18, 15, 0.52) 45%,
    rgba(20, 18, 15, 0.18) 100%
  );
}

.category-page-hero-content {
  position: relative;
  z-index: 2;
  max-width: 760px;
  padding-top: 45px;
  padding-bottom: 45px;
}

.category-breadcrumb {
  display: flex;
  align-items: center;
  gap: 9px;

  margin-bottom: 24px;

  font-size: 13px;
  color: rgba(255, 255, 255, 0.72);
}

.category-breadcrumb a {
  color: rgba(255, 255, 255, 0.72);
  text-decoration: none;
  transition: 0.25s ease;
}

.category-breadcrumb a:hover {
  color: #fff;
}

.category-breadcrumb strong {
  color: #fff;
  font-weight: 500;
}

.category-eyebrow {
  display: inline-block;

  margin-bottom: 15px;

  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2px;

  color: #c2a06b;
}

.category-page-hero-content h1 {
  max-width: 680px;

  margin: 0 0 18px;

  font-family: "Playfair Display", serif;
  font-size: clamp(42px, 5vw, 66px);
  line-height: 1.05;
  font-weight: 600;

  color: #fff;
}

.category-page-hero-content p {
  max-width: 590px;

  margin: 0;

  font-size: 16px;
  line-height: 1.8;

  color: rgba(255, 255, 255, 0.78);
}


/* =========================================================
   CATEGORY INTRO
========================================================= */

.category-intro {
  padding: 78px 0;
  background: #fff;
}

.category-intro-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: end;
}

.section-label {
  display: block;

  margin-bottom: 13px;

  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.8px;

  color: #a37c49;
}

.category-intro h2 {
  max-width: 500px;
  margin: 0;

  font-family: "Playfair Display", serif;
  font-size: clamp(34px, 3vw, 46px);
  line-height: 1.15;

  color: #1f1d1a;
}

.category-intro p {
  max-width: 560px;

  margin: 0;

  font-size: 15px;
  line-height: 1.85;

  color: #77716a;
}


/* =========================================================
   TOOLBAR
========================================================= */

.category-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;

  margin-bottom: 35px;
  padding-bottom: 22px;

  border-bottom: 1px solid #dedad3;
}

.category-result-count {
  display: flex;
  align-items: center;
  gap: 7px;
}

.category-result-count strong {
  font-size: 15px;
  font-weight: 700;
  color: #26231f;
}

.category-result-count span {
  font-size: 14px;
  color: #8b857d;
}

.category-sort {
  display: flex;
  align-items: center;
  gap: 12px;
}

.category-sort label {
  font-size: 13px;
  color: #77716a;
}

.category-sort select {
  min-width: 180px;
  height: 46px;

  padding: 0 42px 0 15px;

  border: 1px solid #d9d4cc;
  border-radius: 4px;

  background: #fff;

  font-family: inherit;
  font-size: 13px;

  color: #292622;
  outline: none;

  cursor: pointer;
}


/* =========================================================
   PRODUCT GRID
========================================================= */

.category-products-grid {
  display: grid;

  grid-template-columns: repeat(3, minmax(0, 1fr));

  gap: 30px 26px;

  align-items: stretch;
}


/* =========================================================
   PRODUCT CARD
========================================================= */

.product-card {
  position: relative;

  display: flex;
  flex-direction: column;

  min-width: 0;
  height: 100%;

  background: #fff;

  border: 1px solid #e7e3dc;

  overflow: hidden;

  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    border-color 0.3s ease;
}

.product-card:hover {
  transform: translateY(-5px);

  border-color: #d5cec3;

  box-shadow:
    0 18px 45px rgba(25, 22, 18, 0.08);
}


/* =========================================================
   PRODUCT IMAGE
========================================================= */

.product-image-wrap {
  position: relative;

  width: 100%;
  height: 420px;

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

  background: #f4f2ee;

  overflow: hidden;
}

.product-image-wrap > a {
  width: 100%;
  height: 100%;

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

.product-image-wrap img {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: contain;
  object-position: center;

  padding: 18px;

  transition: transform 0.5s ease;
}

.product-card:hover .product-image-wrap img {
  transform: scale(1.025);
}


/* =========================================================
   VIEW PRODUCT BUTTON
========================================================= */

.quick-add-btn {
  position: absolute;

  left: 18px;
  right: 18px;
  bottom: 18px;

  min-height: 48px;

  border: none;

  background: rgba(24, 23, 21, 0.96);

  color: #fff;

  font-family: inherit;
  font-size: 12px;
  font-weight: 700;

  letter-spacing: 0.8px;
  text-transform: uppercase;

  cursor: pointer;

  opacity: 0;
  transform: translateY(12px);

  transition:
    opacity 0.3s ease,
    transform 0.3s ease,
    background 0.3s ease;
}

.product-card:hover .quick-add-btn {
  opacity: 1;
  transform: translateY(0);
}

.quick-add-btn:hover {
  background: #a68150;
}


/* =========================================================
   PRODUCT INFO
========================================================= */

.product-info {
  flex: 1;

  padding: 22px 20px 25px;

  display: flex;
  flex-direction: column;
}

.product-category {
  display: block;

  margin-bottom: 8px;

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

  letter-spacing: 1.2px;
  text-transform: uppercase;

  color: #9a938a;
}

.product-info h3 {
  margin: 0 0 13px;

  font-family: "Playfair Display", serif;

  font-size: 21px;
  line-height: 1.25;

  font-weight: 600;
}

.product-info h3 a {
  color: #201e1b;
  text-decoration: none;

  transition: color 0.25s ease;
}

.product-info h3 a:hover {
  color: #a68150;
}

.product-price {
  margin-top: auto;
}

.current-price {
  font-size: 15px;
  font-weight: 700;

  color: #292622;
}


/* =========================================================
   SERVICE STRIP
========================================================= */

.category-service-strip {
  padding: 0;
  background: #1c1a18;
}

.category-service-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.category-service-grid > div {
  padding: 32px 24px;

  text-align: center;

  border-right: 1px solid rgba(255, 255, 255, 0.09);
}

.category-service-grid > div:last-child {
  border-right: none;
}

.category-service-grid strong {
  display: block;

  margin-bottom: 6px;

  font-family: "Playfair Display", serif;

  font-size: 19px;
  font-weight: 600;

  color: #fff;
}

.category-service-grid span {
  font-size: 12px;

  letter-spacing: 0.4px;

  color: #aaa49d;
}


/* =========================================================
   CTA
========================================================= */

.category-cta {
  padding: 90px 0;

  background: #eee9e1;
}

.category-cta-inner {
  max-width: 780px;

  margin: 0 auto;

  text-align: center;
}

.category-cta-inner > span {
  display: block;

  margin-bottom: 13px;

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

  letter-spacing: 1.8px;

  color: #9d7747;
}

.category-cta h2 {
  margin: 0 0 18px;

  font-family: "Playfair Display", serif;

  font-size: clamp(34px, 4vw, 48px);
  line-height: 1.15;

  color: #201e1b;
}

.category-cta p {
  max-width: 580px;

  margin: 0 auto 28px;

  font-size: 14px;
  line-height: 1.8;

  color: #746e67;
}

.category-cta a {
  display: inline-flex;

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

  min-width: 160px;
  min-height: 50px;

  padding: 0 25px;

  background: #1b1a18;

  color: #fff;

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

  letter-spacing: 0.8px;
  text-transform: uppercase;

  text-decoration: none;

  transition:
    background 0.25s ease,
    transform 0.25s ease;
}

.category-cta a:hover {
  background: #a68150;
  transform: translateY(-2px);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1000px) {

  .category-intro-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .category-products-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .product-image-wrap {
    height: 380px;
  }

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

  .category-service-grid > div:nth-child(2) {
    border-right: none;
  }

  .category-service-grid > div {
    border-bottom: 1px solid rgba(255, 255, 255, 0.09);
  }

}


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

@media (max-width: 650px) {

  .wardrobes-hero {
    min-height: 410px;
  }

  .category-page-hero-content h1 {
    font-size: 40px;
  }

  .category-page-hero-content p {
    font-size: 14px;
  }

  .category-intro {
    padding: 55px 0;
  }

  .category-products-section {
    padding: 50px 0 65px;
  }

  .category-toolbar {
    align-items: flex-start;
    flex-direction: column;

    gap: 18px;
  }

  .category-sort {
    width: 100%;

    justify-content: space-between;
  }

  .category-sort select {
    flex: 1;
  }

  .category-products-grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .product-image-wrap {
    height: 365px;
  }

  .quick-add-btn {
    opacity: 1;
    transform: none;

    left: 14px;
    right: 14px;
    bottom: 14px;
  }

  .product-info {
    padding: 19px 18px 22px;
  }

  .product-info h3 {
    font-size: 20px;
  }

  .category-service-grid {
    grid-template-columns: 1fr 1fr;
  }

  .category-service-grid > div {
    padding: 25px 15px;
  }

  .category-cta {
    padding: 65px 0;
  }

}
/* =========================================================
   SOFAS HERO
========================================================= */

.sofas-hero {
  background:
    url("../images/sofa.jpg")
    center center / cover no-repeat;
}


/* =========================================================
   SOFAS COMING SOON
========================================================= */

.sofas-coming-section {
  padding: 45px 0 90px;
  background: #ffffff;
}

.category-coming-soon {
  min-height: 330px;

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

  padding: 55px 30px;

  text-align: center;

  background: #f7f5f1;

  border: 1px solid #e8e4de;
}

.category-coming-soon .coming-soon-small {
  display: block;

  margin-bottom: 12px;

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

  letter-spacing: 2.2px;
  text-transform: uppercase;

  color: var(--brown);
}

.category-coming-soon h2 {
  margin: 0 0 14px;

  font-family: "Playfair Display", serif;

  font-size: 46px;
  line-height: 1.1;

  font-weight: 600;

  color: var(--dark);
}

.category-coming-soon p {
  max-width: 560px;

  margin: 0;

  font-size: 14px;
  line-height: 1.8;

  color: var(--muted);
}


/* MOBILE */

@media (max-width: 650px) {

  .sofas-coming-section {
    padding: 30px 0 60px;
  }

  .category-coming-soon {
    min-height: 270px;

    padding: 40px 20px;
  }

  .category-coming-soon h2 {
    font-size: 34px;
  }

}
/* =========================================================
   SOFAS PAGE - FINAL FIX
========================================================= */

/* HERO */
.sofas-hero {
  position: relative !important;

  min-height: 420px !important;
  height: 420px !important;

  display: flex !important;
  align-items: center !important;

  background:
    linear-gradient(
      90deg,
      rgba(20, 17, 14, 0.58) 0%,
      rgba(20, 17, 14, 0.28) 45%,
      rgba(20, 17, 14, 0.04) 75%
    ),
    url("../images/sofa.jpg")
    center center / cover no-repeat !important;
}

.sofas-hero .category-hero-inner {
  width: 100% !important;
  position: relative !important;
  z-index: 2 !important;
}

.sofas-hero .category-hero-content {
  max-width: 620px !important;
}

.sofas-hero .category-hero-label {
  display: block !important;

  margin-bottom: 12px !important;

  color: #d6b084 !important;

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

  letter-spacing: 2px !important;
  text-transform: uppercase !important;
}

.sofas-hero h1 {
  margin: 0 0 14px !important;

  font-family: "Playfair Display", serif !important;

  font-size: 58px !important;
  line-height: 1.05 !important;

  color: #fff !important;
}

.sofas-hero p {
  max-width: 560px !important;

  margin: 0 !important;

  font-size: 15px !important;
  line-height: 1.7 !important;

  color: rgba(255,255,255,0.88) !important;
}


/* INTRO */

.category-intro-section {
  padding: 65px 0 !important;
  min-height: 0 !important;
}

.category-intro {
  display: grid !important;

  grid-template-columns: 1fr 1fr !important;

  gap: 70px !important;

  align-items: center !important;
}

.category-intro-heading h2 {
  margin: 8px 0 0 !important;

  font-size: 44px !important;
  line-height: 1.08 !important;
}

.category-intro-text p {
  max-width: 540px !important;

  margin: 0 !important;

  font-size: 14px !important;
  line-height: 1.8 !important;
}


/* COMING SOON SECTION */

.sofas-coming-section {
  padding: 0 0 80px !important;
  background: #fff !important;
}

.category-coming-soon {
  min-height: 320px !important;

  display: flex !important;
  flex-direction: column !important;

  align-items: center !important;
  justify-content: center !important;

  text-align: center !important;

  padding: 55px 30px !important;

  background: #f7f5f1 !important;

  border: 1px solid #e5e0d9 !important;

  box-shadow:
    0 15px 40px rgba(26, 22, 18, 0.05) !important;
}

.category-coming-soon .coming-soon-small {
  display: block !important;

  margin-bottom: 12px !important;

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

  letter-spacing: 2.2px !important;
  text-transform: uppercase !important;

  color: #a77a4e !important;
}

.category-coming-soon h2 {
  margin: 0 0 14px !important;

  font-family: "Playfair Display", serif !important;

  font-size: 46px !important;
  line-height: 1.1 !important;

  color: #211d19 !important;
}

.category-coming-soon p {
  max-width: 570px !important;

  margin: 0 auto !important;

  font-size: 14px !important;
  line-height: 1.8 !important;

  color: #77716a !important;
}


/* TABLET + MOBILE */

@media (max-width: 768px) {

  .sofas-hero {
    height: 340px !important;
    min-height: 340px !important;

    background-position: center !important;
  }

  .sofas-hero h1 {
    font-size: 42px !important;
  }

  .category-intro-section {
    padding: 45px 0 !important;
  }

  .category-intro {
    grid-template-columns: 1fr !important;

    gap: 18px !important;
  }

  .category-intro-heading h2 {
    font-size: 34px !important;
  }

  .sofas-coming-section {
    padding-bottom: 55px !important;
  }

  .category-coming-soon {
    min-height: 270px !important;

    padding: 40px 20px !important;
  }

  .category-coming-soon h2 {
    font-size: 34px !important;
  }

}
/* =========================================================
   SOFAS HERO - ALL TEXT INSIDE HERO
========================================================= */

.sofas-hero {
  min-height: 460px !important;
  height: 460px !important;

  display: flex !important;
  align-items: center !important;

  position: relative !important;

  background:
    linear-gradient(
      90deg,
      rgba(18, 16, 14, 0.68) 0%,
      rgba(18, 16, 14, 0.45) 38%,
      rgba(18, 16, 14, 0.08) 72%
    ),
    url("../images/sofa.jpg")
    center center / cover no-repeat !important;
}

.sofas-hero .category-hero-inner {
  width: 100% !important;
  position: relative !important;
  z-index: 2 !important;
}

.sofas-hero .category-hero-content {
  max-width: 650px !important;
}

.sofas-hero .category-hero-label {
  display: block !important;

  margin-bottom: 10px !important;

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

  letter-spacing: 2.4px !important;
  text-transform: uppercase !important;

  color: #d7aa78 !important;
}

.sofas-hero h1 {
  margin: 0 0 10px !important;

  font-family: "Playfair Display", serif !important;

  font-size: 64px !important;
  line-height: 1 !important;

  color: #fff !important;
}

.sofas-hero h2 {
  max-width: 620px !important;

  margin: 0 0 16px !important;

  font-family: "Playfair Display", serif !important;

  font-size: 34px !important;
  line-height: 1.15 !important;
  font-weight: 500 !important;

  color: #fff !important;
}

.sofas-hero p {
  max-width: 570px !important;

  margin: 0 !important;

  font-size: 14px !important;
  line-height: 1.75 !important;

  color: rgba(255,255,255,0.86) !important;
}


/* MOBILE */

@media (max-width: 768px) {

  .sofas-hero {
    min-height: 420px !important;
    height: 420px !important;
  }

  .sofas-hero h1 {
    font-size: 46px !important;
  }

  .sofas-hero h2 {
    font-size: 27px !important;
  }

  .sofas-hero p {
    font-size: 13px !important;
  }

}
/* =========================================================
   CATEGORY HERO - TITLE + INTRO IN ONE PLACE
========================================================= */

.category-hero {
  min-height: 460px !important;
  height: 460px !important;

  position: relative !important;

  display: flex !important;
  align-items: center !important;
}

.category-hero .category-hero-inner {
  width: 100% !important;

  position: relative !important;
  z-index: 2 !important;
}

.category-hero .category-hero-content {
  max-width: 650px !important;
}

.category-hero .category-hero-label {
  display: block !important;

  margin-bottom: 10px !important;

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

  letter-spacing: 2.3px !important;
  text-transform: uppercase !important;

  color: #d6a574 !important;
}

.category-hero .category-hero-content h1 {
  margin: 0 0 10px !important;

  font-family: "Playfair Display", serif !important;

  font-size: 62px !important;
  line-height: 1 !important;

  color: #fff !important;
}

.category-hero .category-hero-content h2 {
  max-width: 620px !important;

  margin: 0 0 15px !important;

  font-family: "Playfair Display", serif !important;

  font-size: 32px !important;
  line-height: 1.15 !important;
  font-weight: 500 !important;

  color: #fff !important;
}

.category-hero .category-hero-content p {
  max-width: 570px !important;

  margin: 0 !important;

  font-size: 14px !important;
  line-height: 1.75 !important;

  color: rgba(255, 255, 255, 0.88) !important;
}


/* hide old separate intro section if any page still has it */

.category-intro-section {
  display: none !important;
}


/* MOBILE */

@media (max-width: 768px) {

  .category-hero {
    min-height: 420px !important;
    height: 420px !important;
  }

  .category-hero .category-hero-content h1 {
    font-size: 46px !important;
  }

  .category-hero .category-hero-content h2 {
    font-size: 27px !important;
  }

}

/* =========================================
   CHEST OF DRAWERS - FINAL BUTTON
========================================= */

.chest-page .product-info {
  display: flex;
  flex-direction: column;
  flex: 1;
}


/* keep price above button */

.chest-page .product-price {
  margin-top: 0;
  margin-bottom: 18px;
}


/* button */

.chest-page .chest-view-btn {
  width: 100%;
  min-height: 48px;

  margin-top: auto;

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

  padding: 0 20px;

  background: #756254;
  color: #ffffff;

  border: none;
  border-radius: 5px;

  font-family: "DM Sans", sans-serif;
  font-size: 12px;
  font-weight: 700;

  letter-spacing: 0.8px;
  text-transform: uppercase;
  text-decoration: none;

  cursor: pointer;

  transition:
    background 0.25s ease,
    transform 0.25s ease;
}


.chest-page .chest-view-btn:hover {
  background: #a68150;
  color: #ffffff;
  transform: translateY(-2px);
}


/* =========================================
   CHEST OF DRAWERS - FULL BLEED IMAGES
========================================= */

.chest-page .product-card {
  overflow: hidden;
  border-radius: 10px;
}


/* image area touches card edges */

.chest-page .product-image-wrap {
  width: 100%;
  height: 470px;

  padding: 0;
  margin: 0;

  background: transparent;

  overflow: hidden;

  border-radius: 10px 10px 0 0;
}


/* full clickable area */

.chest-page .product-image-wrap > a {
  display: block;

  width: 100%;
  height: 100%;

  padding: 0;
  margin: 0;
}


/* remove all internal spacing */

.chest-page .product-image-wrap img {
  display: block;

  width: 100%;
  height: 100%;

  max-width: none;

  padding: 0 !important;
  margin: 0;

  object-fit: cover;
  object-position: center;

  border-radius: 10px 10px 0 0;
}


/* keep product details clean */

.chest-page .product-info {
  padding: 22px 20px 20px;

  background: #fff;
}


/* tablet */

@media (max-width: 1000px) {

  .chest-page .product-image-wrap {
    height: 420px;
  }

}


/* mobile */

@media (max-width: 650px) {

  .chest-page .product-image-wrap {
    height: 390px;
  }

}

/* =========================================
   DRESSING TABLES - COMING SOON
========================================= */

.dressing-coming-soon {
    width: 100%;
    min-height: 420px;

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

    text-align: center;

    padding: 70px 30px;
    margin-top: 20px;

    background: #f5f1eb;
    border: 1px solid #e8e0d7;
    border-radius: 12px;
}

.dressing-coming-soon h2 {
    max-width: 600px;
    margin: 12px auto 18px;

    font-family: "Playfair Display", serif;
    font-size: 42px;
    line-height: 1.15;
}

.dressing-coming-soon p {
    max-width: 600px;

    margin: 0 auto 28px;

    font-size: 15px;
    line-height: 1.8;
    color: #6c675f;
}

.dressing-shop-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 14px 26px;

    background: #6f4e37;
    color: #fff;

    text-decoration: none;
    font-weight: 600;

    border-radius: 4px;

    transition: 0.3s ease;
}

.dressing-shop-btn:hover {
    transform: translateY(-2px);
    opacity: 0.9;
}


/* MOBILE */

@media (max-width: 768px) {

    .dressing-coming-soon {
        min-height: 350px;
        padding: 50px 20px;
    }

    .dressing-coming-soon h2 {
        font-size: 32px;
    }

}


/* =========================================
   WARDROBES HERO IMAGE
========================================= */

.wardrobes-hero {
    position: relative;

    min-height: 520px;

    background-image:
        linear-gradient(
            90deg,
            rgba(20, 18, 16, 0.68) 0%,
            rgba(20, 18, 16, 0.42) 38%,
            rgba(20, 18, 16, 0.08) 70%,
            rgba(20, 18, 16, 0.02) 100%
        ),
        url("../images/heroes/wardrobes-hero.jpg") !important;

    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}

/* Existing separate overlay ko disable */
.wardrobes-hero .category-page-hero-overlay {
    background: transparent !important;
}

/* Keep content above background */
.wardrobes-hero .category-page-hero-content {
    position: relative;
    z-index: 2;
}

/* MOBILE */
@media (max-width: 768px) {

    .wardrobes-hero {
        min-height: 440px;

        background-position: 60% center !important;
    }

}


/* =========================================
   SOFA BEDS HERO IMAGE
========================================= */

.sofa-beds-hero {
    position: relative;
    min-height: 520px;

    background-image:
        linear-gradient(
            90deg,
            rgba(20, 18, 16, 0.68) 0%,
            rgba(20, 18, 16, 0.42) 38%,
            rgba(20, 18, 16, 0.08) 70%,
            rgba(20, 18, 16, 0.02) 100%
        ),
        url("../images/heroes/sofa-beds-hero.jpg") !important;

    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}

.sofa-beds-hero .category-page-hero-overlay {
    background: transparent !important;
}

.sofa-beds-hero .category-page-hero-content {
    position: relative;
    z-index: 2;
}


/* MOBILE */

@media (max-width: 768px) {

    .sofa-beds-hero {
        min-height: 440px;
        background-position: 65% center !important;
    }

}


/* =========================================
   CHEST OF DRAWERS HERO IMAGE
========================================= */

.chest-hero,
.chest-of-drawers-hero {
    position: relative;
    min-height: 520px;

    background-image:
        linear-gradient(
            90deg,
            rgba(20, 18, 16, 0.68) 0%,
            rgba(20, 18, 16, 0.42) 38%,
            rgba(20, 18, 16, 0.08) 70%,
            rgba(20, 18, 16, 0.02) 100%
        ),
        url("../images/heroes/chest-of-drawers-hero.jpg") !important;

    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}

.chest-hero .category-page-hero-overlay,
.chest-of-drawers-hero .category-page-hero-overlay {
    background: transparent !important;
}

.chest-hero .category-page-hero-content,
.chest-of-drawers-hero .category-page-hero-content {
    position: relative;
    z-index: 2;
}


/* MOBILE */

@media (max-width: 768px) {

    .chest-hero,
    .chest-of-drawers-hero {
        min-height: 440px;
        background-position: 65% center !important;
    }

}

/* =========================================
   BEDS HERO IMAGE
========================================= */

.beds-hero {
    position: relative;
    min-height: 520px;

    background-image:
        linear-gradient(
            90deg,
            rgba(20, 18, 16, 0.68) 0%,
            rgba(20, 18, 16, 0.42) 38%,
            rgba(20, 18, 16, 0.08) 70%,
            rgba(20, 18, 16, 0.02) 100%
        ),
        url("../images/heroes/beds-hero.jpg") !important;

    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}

.beds-hero .category-page-hero-overlay {
    background: transparent !important;
}

.beds-hero .category-page-hero-content {
    position: relative;
    z-index: 2;
}


/* MOBILE */

@media (max-width: 768px) {

    .beds-hero {
        min-height: 440px;
        background-position: 60% center !important;
    }

}

/* =========================================
   SOFA HERO IMAGE
========================================= */

.sofa-hero {
    position: relative;
    min-height: 520px;

    background-image:
        linear-gradient(
            90deg,
            rgba(20, 18, 16, 0.68) 0%,
            rgba(20, 18, 16, 0.42) 38%,
            rgba(20, 18, 16, 0.08) 70%,
            rgba(20, 18, 16, 0.02) 100%
        ),
        url("../images/heroes/sofa-hero.jpg") !important;

    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}

.sofa-hero .category-page-hero-overlay {
    background: transparent !important;
}

.sofa-hero .category-page-hero-content {
    position: relative;
    z-index: 2;
}


/* MOBILE */

@media (max-width: 768px) {

    .sofa-hero {
        min-height: 440px;
        background-position: 60% center !important;
    }

}

/* =========================================
   SOFA HERO TEXT FIX
========================================= */

.sofa-hero .category-page-hero-content {
    position: relative;
    z-index: 2;
    color: #ffffff !important;
}

.sofa-hero .category-breadcrumb,
.sofa-hero .category-breadcrumb a,
.sofa-hero .category-breadcrumb span,
.sofa-hero .category-breadcrumb strong {
    color: rgba(255, 255, 255, 0.85) !important;
}

.sofa-hero .category-eyebrow {
    color: #d8b58a !important;
    font-weight: 600;
    letter-spacing: 2px;
}

.sofa-hero h1,
.sofa-hero h2 {
    color: #ffffff !important;
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.25);
}

.sofa-hero p {
    color: rgba(255, 255, 255, 0.92) !important;
    max-width: 620px;
}


/* DARKER LEFT SIDE FOR TEXT READABILITY */

.sofa-hero {
    background-image:
        linear-gradient(
            90deg,
            rgba(18, 16, 14, 0.78) 0%,
            rgba(18, 16, 14, 0.62) 30%,
            rgba(18, 16, 14, 0.28) 55%,
            rgba(18, 16, 14, 0.04) 78%
        ),
        url("../images/heroes/sofa-hero.jpg") !important;
}

/* =========================================
   DRESSING TABLES HERO
========================================= */

.dressing-tables-hero {
    position: relative;
    min-height: 520px;

    background-image:
        linear-gradient(
            90deg,
            rgba(18, 16, 14, 0.78) 0%,
            rgba(18, 16, 14, 0.60) 30%,
            rgba(18, 16, 14, 0.25) 55%,
            rgba(18, 16, 14, 0.03) 80%
        ),
        url("../images/heroes/dressing-tables-hero.jpg") !important;

    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}


/* TEXT */

.dressing-tables-hero .category-page-hero-content {
    position: relative;
    z-index: 2;
    color: #fff !important;
}

.dressing-tables-hero .category-breadcrumb,
.dressing-tables-hero .category-breadcrumb a,
.dressing-tables-hero .category-breadcrumb span,
.dressing-tables-hero .category-breadcrumb strong {
    color: rgba(255, 255, 255, 0.85) !important;
}

.dressing-tables-hero .category-eyebrow {
    color: #d8b58a !important;
}

.dressing-tables-hero h1 {
    color: #fff !important;
    text-shadow: 0 2px 14px rgba(0,0,0,0.25);
}

.dressing-tables-hero p {
    color: rgba(255,255,255,0.92) !important;
    max-width: 620px;
}


/* REMOVE OLD OVERLAY */

.dressing-tables-hero .category-page-hero-overlay {
    background: transparent !important;
}


/* MOBILE */

@media (max-width: 768px) {

    .dressing-tables-hero {
        min-height: 440px;
        background-position: 62% center !important;
    }

    .dressing-tables-hero h1 {
        font-size: 42px !important;
    }
}

/* =========================================
   SHOP PAGE HERO
========================================= */

.shop-hero {
    position: relative;
    min-height: 520px;

    background-image:
        linear-gradient(
            90deg,
            rgba(18, 16, 14, 0.78) 0%,
            rgba(18, 16, 14, 0.58) 32%,
            rgba(18, 16, 14, 0.22) 58%,
            rgba(18, 16, 14, 0.02) 82%
        ),
        url("../images/heroes/shop-hero.jpg") !important;

    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}


/* HERO CONTENT */

.shop-hero .category-page-hero-content {
    position: relative;
    z-index: 2;
    color: #ffffff !important;
}


/* BREADCRUMB */

.shop-hero .category-breadcrumb,
.shop-hero .category-breadcrumb a,
.shop-hero .category-breadcrumb span,
.shop-hero .category-breadcrumb strong {
    color: rgba(255, 255, 255, 0.85) !important;
}


/* SMALL TOP TEXT */

.shop-hero .category-eyebrow {
    color: #d8b58a !important;
    font-weight: 600;
    letter-spacing: 2px;
}


/* MAIN HEADING */

.shop-hero h1 {
    color: #ffffff !important;
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.25);
}


/* DESCRIPTION */

.shop-hero p {
    color: rgba(255, 255, 255, 0.92) !important;
    max-width: 620px;
}


/* REMOVE EXISTING OVERLAY */

.shop-hero .category-page-hero-overlay {
    background: transparent !important;
}


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

@media (max-width: 768px) {

    .shop-hero {
        min-height: 440px;
        background-position: 62% center !important;
    }

    .shop-hero h1 {
        font-size: 42px !important;
        line-height: 1.08 !important;
    }

}

/* =========================================================
   BEDS PAGE — TOOLBAR FIX (matches Wardrobes layout)
========================================================= */

.beds-page .category-toolbar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;

  gap: 25px !important;

  margin: 0 0 35px !important;
  padding: 0 0 22px !important;

  border-bottom: 1px solid #dedad3 !important;
}

.beds-page .category-result-count {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 7px !important;

  position: static !important;
  margin: 0 !important;
}

.beds-page .category-result-count strong {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #26231f !important;
  line-height: 1.3 !important;
}

.beds-page .category-result-count span {
  font-size: 14px !important;
  color: #8b857d !important;
  line-height: 1.3 !important;
}

.beds-page .category-sort {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: nowrap !important;
}