/* Refresh Mattress site styles, moved out of master.blade.php on 5 Nov 2026 (was inline). Order kept. */
.pin-code .input-group-text {
  background-color: #fff;
  border: 0;
}

#go-to-top { display: none !important; }

.floating-icon-group {
  position: fixed !important;
  top: auto !important;
  left: auto !important;
  transform: none !important;
  right: 1rem !important;
  bottom: 1.5rem !important;
  z-index: 999;
}

@media (max-width: 991.98px) {
  .floating-icon-group {
    right: 0.75rem !important;
    bottom: calc(5.5rem + env(safe-area-inset-bottom)) !important;
  }
}

#home-banner:not(.owl-loaded) {
  display: block;
  aspect-ratio: 1600 / 656;
  overflow: hidden;
}
#home-banner:not(.owl-loaded) .item:not(:first-child) { display: none; }
#home-banner .item img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1600 / 656;
  object-fit: cover;
  object-position: center;
}

/* Stats row: no appear animation (the counter script is untouched) */
.refresh-count .count-up[data-aos] {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

/* Stats row: one line on phones, tidy and proportional */
@media (max-width: 767.98px) {
  .refresh-count {
    margin: 0 !important;
    padding: 0.5rem 0 !important;
  }
  .refresh-count ul {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: space-between;
    align-items: flex-start;
    gap: 2vw;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none;
  }
  .refresh-count ul li {
    flex: 1 1 0 !important;
    min-width: 0;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center;
  }
  .refresh-count .count-up {
    margin: 0 !important;
    padding: 0 !important;
  }
  .refresh-count .icon-img {
    box-sizing: border-box;
    width: clamp(2.75rem, 14vw, 3.75rem) !important;
    height: clamp(2.75rem, 14vw, 3.75rem) !important;
    min-width: 0;
    min-height: 0;
    padding: 0 !important;
    margin: 0 auto 0.5rem !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex: 0 0 auto;
  }
  .refresh-count .icon-img img {
    position: static !important;
    transform: none !important;
    display: block !important;
    width: 55% !important;
    height: 55% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain;
  }
  .refresh-count h3 {
    font-size: clamp(0.85rem, 4vw, 1.3rem) !important;
    font-weight: 700;
    line-height: 1.2 !important;
    margin: 0 0 0.25rem !important;
    white-space: nowrap;
  }
  .refresh-count h3 span,
  .refresh-count h3 .counter-count {
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
    display: inline !important;
    vertical-align: baseline !important;
  }
  .refresh-count p {
    font-size: clamp(0.6rem, 2.8vw, 0.85rem) !important;
    line-height: 1.25 !important;
    margin: 0 !important;
    overflow-wrap: anywhere;
  }
}

/* Desktop top strip */
@media (min-width: 992px) {
  .top-band .toll-free ul {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: nowrap;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .top-band .toll-free ul li {
    display: flex;
    align-items: center;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    color: #fff;
    font-size: 0.8125rem;
    white-space: nowrap;
  }
  .top-band .toll-free ul li::before { content: none !important; }
  .top-band .toll-free ul li:not(:last-child)::after {
    content: "" !important;
    display: block;
    width: 1px;
    height: 0.9em;
    margin: 0 0.9rem;
    background: rgba(255, 255, 255, 0.55);
  }
  .top-band .toll-free ul li a {
    color: #fff !important;
    font-weight: 500;
    letter-spacing: 0.2px;
    text-decoration: none !important;
    transition: opacity 0.2s ease;
  }
  .top-band .toll-free ul li a:hover { opacity: 0.8; }

    /* Toll-free number: plain, no background */
  .top-band .toll-free ul li:last-child {
    gap: 0.4rem;
    margin-left: 0.75rem !important;
    padding: 0 !important;
    background: none !important;
    border-radius: 0;
    font-weight: 600;
  }
  .top-band .toll-free ul li:last-child i { color: #fff; }
  .top-band .toll-free ul li:last-child a {
    font-size: 0.9375rem;
    font-weight: 700;
  }
}

/* Desktop header row: search, pincode, wishlist, cart, login */
@media (min-width: 992px) {
  .logo-user .web-info { display: flex; justify-content: flex-end; }
  .logo-user .web-info > ul {
    display: flex; align-items: center; justify-content: flex-end; flex-wrap: nowrap;
    gap: 0.75rem; margin: 0; padding: 0; list-style: none;
  }
  .logo-user .web-info > ul > li {
    display: flex; align-items: center; position: relative;
    margin: 0 !important; padding: 0 !important;
  }
  .logo-user .web-info > ul > li > p {
    position: absolute; top: 100%; left: 0.75rem; margin: 0.2rem 0 0;
    white-space: nowrap; line-height: 1.2;
  }

  /* Search */
  .logo-user .web-info .search,
  .logo-user .web-info .search-box { margin: 0 !important; width: auto !important; }
  .logo-user .web-info .search-box form { display: flex; align-items: stretch; margin: 0; }
  .logo-user .web-info .search-input {
    box-sizing: border-box; height: 44px !important; width: clamp(200px, 22vw, 320px) !important;
    padding: 0 1.1rem !important; border: 1px solid #d9e2e8 !important; border-right: 0 !important;
    border-radius: 999px 0 0 999px !important; background: #fff;
    font-size: 0.9rem; outline: none; box-shadow: none !important;
  }
  .logo-user .web-info .search-input:focus {
    border-color: #8EBF23 !important; box-shadow: 0 0 0 3px rgba(142, 191, 35, 0.18) !important;
  }
  .logo-user .web-info .search-btn {
    box-sizing: border-box; height: 44px !important; width: 52px !important;
    padding: 0 !important; margin: 0 !important; position: static !important;
    display: flex; align-items: center; justify-content: center;
    background: #8EBF23 !important; color: #fff !important;
    border-radius: 0 999px 999px 0 !important;
  }

  /* Pincode */
  .logo-user .web-info .pin-code .input-group {
    display: flex; flex-wrap: nowrap; align-items: stretch; box-sizing: border-box;
    width: clamp(190px, 17vw, 240px); height: 44px; margin: 0;
    background: #fff; border: 1px solid #d9e2e8; border-radius: 999px; overflow: hidden;
  }
  .logo-user .web-info .pin-code .input-group:focus-within {
    border-color: #8EBF23; box-shadow: 0 0 0 3px rgba(142, 191, 35, 0.18);
  }
  .logo-user .web-info .pin-code .input-group-text {
    display: flex; align-items: center; margin: 0;
    padding: 0 0.4rem 0 1rem !important; border-radius: 0 !important;
  }
  .logo-user .web-info .pin-code .form-control {
    height: 100% !important; flex: 1 1 auto; min-width: 0;
    padding: 0 1rem 0 0.25rem !important; font-size: 0.9rem;
    background: transparent; box-shadow: none !important;
  }

  /* Wishlist, cart, profile icon buttons */
  .logo-user .web-info .icon-round {
    box-sizing: border-box; width: 44px !important; height: 44px !important;
    margin: 0 !important; padding: 0 !important;
    display: flex !important; align-items: center; justify-content: center;
    border: 1px solid #d9e2e8 !important; border-radius: 50% !important; background: #fff;
    transition: background 0.2s ease, border-color 0.2s ease;
  }
  .logo-user .web-info .icon-round i { font-size: 1.05rem; line-height: 1; color: #333; transition: color 0.2s ease; }
  .logo-user .web-info a:hover .icon-round { background: #8EBF23 !important; border-color: #8EBF23 !important; }
  .logo-user .web-info a:hover .icon-round i { color: #fff; }

  /* Cart count badge */
  .logo-user .web-info .icon-round .cart-item {
    position: absolute; top: -6px; right: -6px; box-sizing: border-box;
    min-width: 20px; height: 20px; padding: 0 5px;
    border: 2px solid #fff; border-radius: 999px;
    background: #8EBF23; color: #fff;
    font-size: 11px; font-weight: 600; line-height: 16px; text-align: center;
  }

  /* Login */
  .logo-user .web-info .profile .user-login { display: flex; align-items: center; gap: 0.5rem; }
  .logo-user .web-info .profile .user-name p { margin: 0; }
  .logo-user .web-info .profile .btn-success {
    display: inline-flex; align-items: center; gap: 0.45rem;
    height: 44px; padding: 0 1.3rem; border-radius: 999px;
    font-size: 0.95rem; font-weight: 600; line-height: 1;
    box-shadow: 0 3px 8px rgba(142, 191, 35, 0.35);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
  }
  .logo-user .web-info .profile .btn-success:hover {
    transform: translateY(-1px); box-shadow: 0 5px 12px rgba(142, 191, 35, 0.45);
  }
}

/* Pincode fix: one border, aligned with search, green pin (desktop only) */
@media (min-width: 992px) {
  .logo-user .web-info .pin-code {
    display: flex !important; align-items: center; position: relative;
    height: 44px; margin: 0 !important; padding: 0 !important;
    border: 0 !important; border-radius: 0 !important;
    background: none !important; box-shadow: none !important;
  }
  .logo-user .web-info .pin-code .input-group {
    width: clamp(210px, 18vw, 250px) !important; height: 44px !important;
    margin: 0 !important; top: auto !important; transform: none !important;
    border: 1px solid #d9e2e8 !important; border-radius: 999px !important;
    background: #fff !important; box-shadow: none !important;
  }
  .logo-user .web-info .pin-code .input-group-text {
    padding: 0 0.45rem 0 1.1rem !important;
    border: 0 !important; background: transparent !important;
  }
  .logo-user .web-info .pin-code .input-group-text i,
  .logo-user .web-info .pin-code .input-group-text i::before {
    color: #8EBF23 !important; font-size: 1.05rem;
  }
  .logo-user .web-info .pin-code .form-control {
    height: 100% !important; padding: 0 1.1rem 0 0 !important;
    border: 0 !important; border-radius: 0 !important;
    background: transparent !important; box-shadow: none !important;
  }
  /* Delivery message goes under the box so it can't push the row */
  .logo-user .web-info .pin-code p {
    position: absolute; top: 100%; left: 1rem; z-index: 5;
    margin: 0.2rem 0 0; line-height: 1.2; white-space: nowrap;
  }
}

/* Pincode: centre the pin icon with the text (desktop only) */
@media (min-width: 992px) {
  .logo-user .web-info .pin-code .input-group-text {
    display: flex !important; align-items: center !important;
    height: 100% !important; margin: 0 !important;
    line-height: 1 !important; align-self: stretch !important;
  }
  .logo-user .web-info .pin-code .input-group-text i {
    display: block !important; margin: 0 !important; padding: 0 !important;
    line-height: 1 !important; position: static !important;
    top: auto !important; transform: none !important;
  }
}

/* Cart/wishlist buttons: remove stray lines (desktop only) */
@media (min-width: 992px) {
  .logo-user .web-info a,
  .logo-user .web-info a:hover,
  .logo-user .web-info a:focus {
    text-decoration: none !important;
  }
  .logo-user .web-info .icon-round::before,
  .logo-user .web-info .icon-round::after,
  .logo-user .web-info a:hover .icon-round::before,
  .logo-user .web-info a:hover .icon-round::after {
    content: none !important;
    display: none !important;
    border: 0 !important;
    background: none !important;
  }
  .logo-user .web-info .icon-round i {
    text-decoration: none !important;
    border: 0 !important;
    background: none !important;
  }
}

/* Desktop header: right-side items a little smaller (nothing moves) */
@media (min-width: 992px) {
  .logo-user .web-info > ul { gap: 0.55rem; }

  /* Search */
  .logo-user .web-info .search-input {
    height: 36px !important; width: clamp(170px, 18vw, 270px) !important;
    padding: 0 0.9rem !important; font-size: 0.82rem;
  }
  .logo-user .web-info .search-btn {
    height: 36px !important; width: 42px !important; font-size: 0.85rem;
  }

  /* Pincode */
  .logo-user .web-info .pin-code { height: 36px !important; }
  .logo-user .web-info .pin-code .input-group {
    width: clamp(150px, 14vw, 200px) !important; height: 36px !important;
  }
  .logo-user .web-info .pin-code .input-group-text { padding: 0 0.35rem 0 0.85rem !important; }
  .logo-user .web-info .pin-code .input-group-text i { font-size: 0.9rem; }
  .logo-user .web-info .pin-code .form-control {
    font-size: 0.8rem; padding: 0 0.8rem 0 0 !important;
  }

  /* Heart, cart */
  .logo-user .web-info .icon-round { width: 36px !important; height: 36px !important; }
  .logo-user .web-info .icon-round i { font-size: 0.9rem; }
  .logo-user .web-info .icon-round .cart-item {
    top: -5px; right: -5px; min-width: 17px; height: 17px;
    padding: 0 4px; font-size: 10px; line-height: 13px;
  }

  /* Login */
  .logo-user .web-info .profile .btn-success {
    height: 36px !important; padding: 0 1.05rem !important; font-size: 0.85rem !important;
  }

  /* In-Store Appointment */
  .navbar-nav.ml-auto > li:last-child { zoom: 0.88; }
}

/* Our Exclusive Collection (phone first, desktop below) */
.xc-grid { display: grid; grid-template-columns: 1fr; gap: 1rem; margin-top: 1rem; }
.xc-card {
  position: relative; isolation: isolate; overflow: hidden;
  display: flex; flex-direction: column;
  padding: 1.1rem 1.1rem 0;
  background: var(--light-gray, #f3f3f3);
  border-radius: 20px;
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}
/* soft green glow behind the mattress */
.xc-card::before {
  content: ""; position: absolute; z-index: -1; pointer-events: none;
  width: 75%; aspect-ratio: 1; right: -12%; bottom: -25%; border-radius: 50%;
  background: radial-gradient(circle, rgba(142, 191, 35, 0.22), rgba(142, 191, 35, 0) 70%);
}
.xc-name {
  margin: 0; font-family: inherit; font-weight: 700; letter-spacing: 0.02em;
  font-size: clamp(1.15rem, 1.2vw + 0.9rem, 1.6rem); line-height: 1.2; color: #222;
}
.xc-btn {
  display: inline-flex; align-items: center; gap: 0.5rem; margin-top: 0.8rem;
  padding: 0.55rem 1.2rem; border-radius: 999px;
  background: #8EBF23; color: #fff !important;
  font-size: 0.9rem; font-weight: 600; line-height: 1.2; text-decoration: none !important;
  transition: background 0.25s ease;
}
.xc-btn span { display: inline-block; transition: transform 0.25s ease; }
/* whole card is tappable */
.xc-btn::after { content: ""; position: absolute; inset: 0; z-index: 2; }
/* fixed picture area, so nothing jumps while the image loads */
.xc-media { position: relative; aspect-ratio: 16 / 10; margin-top: 0.75rem; }
.xc-img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: contain; object-position: center bottom;
  transition: transform 0.5s ease;
}

@media (hover: hover) {
  .xc-card:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(0, 0, 0, 0.1); }
  .xc-card:hover .xc-img { transform: scale(1.04); }
  .xc-card:hover .xc-btn { background: #7aa81c; }
  .xc-card:hover .xc-btn span { transform: translateX(3px); }
}
@media (prefers-reduced-motion: reduce) {
  .xc-card, .xc-img, .xc-btn, .xc-btn span { transition: none !important; }
}

/* Desktop */
@media (min-width: 768px) {
  .xc-grid { grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 1.25rem; }
  .xc-card--big { grid-row: span 2; padding: 2rem 2rem 0; }
  .xc-card--big .xc-name { font-size: clamp(1.4rem, 1.6vw + 1rem, 2rem); }
  .xc-card--big .xc-media { flex: 1 1 auto; aspect-ratio: auto; min-height: 260px; }
  .xc-card:not(.xc-card--big) {
    flex-direction: row; align-items: center; padding: 1.5rem 1.5rem 1.5rem 2rem;
  }
  .xc-card:not(.xc-card--big) .xc-text { flex: 1 1 42%; }
  .xc-card:not(.xc-card--big) .xc-media { flex: 1 1 58%; aspect-ratio: 4 / 3; margin: 0; }
}

/* Exclusive Collection: bigger names, smaller friendlier button */
.xc-name {
  font-size: clamp(1.5rem, 1.2vw + 1.1rem, 1.85rem);
  font-weight: 800; line-height: 1.15; letter-spacing: 0.01em;
}
/* short green line under the name */
.xc-name::after {
  content: ""; display: block; width: 44px; height: 4px;
  margin-top: 0.6rem; border-radius: 4px; background: #8EBF23;
}
.xc-btn {
  gap: 0.6rem; margin-top: 1rem;
  padding: 0.3rem 0.35rem 0.3rem 1.1rem;
  font-size: 0.85rem; font-weight: 600; letter-spacing: 0.01em;
  box-shadow: 0 4px 10px rgba(142, 191, 35, 0.35);
}
/* arrow sits in a small white circle */
.xc-btn span {
  display: inline-flex; align-items: center; justify-content: center;
  width: 1.6rem; height: 1.6rem; border-radius: 50%;
  background: #fff; color: #8EBF23; font-size: 0.85rem; line-height: 1;
  transition: transform 0.25s ease;
}
@media (hover: hover) {
  .xc-card:hover .xc-btn span { transform: translateX(4px); }
}
@media (min-width: 768px) {
  .xc-card--big .xc-name { font-size: clamp(2rem, 1.8vw + 1.2rem, 2.6rem); }
  .xc-card--big .xc-name::after { width: 56px; height: 5px; margin-top: 0.75rem; }
  .xc-card--big .xc-btn { font-size: 0.95rem; padding-left: 1.3rem; margin-top: 1.2rem; }
  .xc-card:not(.xc-card--big) .xc-text { flex: 1 1 46%; }
}

/* Exclusive Collection: small outlined button in brand green */
.xc-card .xc-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 0;
  margin-top: 1rem; padding: 0.45rem 1.1rem;
  font-size: 0.78rem; font-weight: 500; line-height: 1.2;
  letter-spacing: 0.05em; text-transform: uppercase;
  background: transparent; color: #4f7a0a !important;
  border: 1px solid #8EBF23; border-radius: 6px; box-shadow: none;
  transition: background 0.25s ease, color 0.25s ease;
}
.xc-card .xc-btn span { display: none; }
@media (hover: hover) {
  .xc-card:hover .xc-btn { background: #8EBF23; color: #fff !important; }
}
@media (min-width: 768px) {
  .xc-card--big .xc-btn { font-size: 0.85rem; padding: 0.5rem 1.3rem; margin-top: 1.2rem; }
}

/* Exclusive Collection: shadow behind the cards */
.xc-card {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12), 0 2px 6px rgba(0, 0, 0, 0.06);
}
@media (hover: hover) {
  .xc-card:hover {
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.18), 0 4px 10px rgba(0, 0, 0, 0.08);
  }
}
@media (min-width: 768px) {
  .xc-grid { gap: 1.5rem; }
}

/* About Us banner v2 */
html body .about-banner{
  background:#eaf3fb url('/frontend/images/about_us/about-banner-v4.webp') center/cover no-repeat !important;
}
@media (max-width:767.98px){
  html body .about-banner{
    background:#eaf3fb url('/frontend/images/about_us/about-banner-mobile-v4.webp') center/cover no-repeat !important;
  }
}

/* Banner slider: dots on desktop only, original arrows on phone and tablet */
.hb-dots { display: none; }
@media (min-width: 992px) {
  #home-banner.hb-ready .owl-nav { display: none !important; }
  .hb-dots { display: flex; justify-content: center; align-items: center; gap: 8px; margin: 14px 0 6px; }
  .hb-dot {
    position: relative; width: 8px; height: 8px; padding: 0; border: 0;
    border-radius: 999px; background: #cfd5da; cursor: pointer;
    transition: width 0.35s ease, background-color 0.35s ease;
  }
  .hb-dot::after { content: ""; position: absolute; inset: -10px -4px; }
  .hb-dot.is-active { width: 28px; background: #8EBF23; }
  .hb-dot:focus-visible { outline: 2px solid #8EBF23; outline-offset: 3px; }
}
@media (prefers-reduced-motion: reduce) { .hb-dot { transition: none; } }

/* Stats strip (1 Million+, 500+, 300k+): desktop only, light version */
@media (min-width: 992px) {
  .refresh-count {
    position: relative; isolation: isolate; overflow: hidden;
    margin: 1.5rem 0 2rem !important; padding: 0 !important;
    background: linear-gradient(135deg, #ffffff 0%, #f8fbf1 100%) !important;
    border: 1px solid #e9f1da !important;
    border-radius: 20px !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.06) !important;
  }
  /* remove the theme's leaf picture, add a very soft glow */
  .refresh-count::after { content: none !important; display: none !important; }
  .refresh-count::before {
    content: "" !important; display: block !important; position: absolute !important;
    top: auto !important; left: auto !important; right: -80px !important; bottom: -120px !important;
    width: 320px !important; height: 320px !important; transform: none !important;
    border-radius: 50% !important; opacity: 1 !important; z-index: -1;
    background: radial-gradient(circle, rgba(142, 191, 35, 0.1), rgba(142, 191, 35, 0) 70%) !important;
  }

  .refresh-count ul {
    display: flex !important; align-items: stretch; justify-content: space-between;
    margin: 0 !important; padding: 0 !important; list-style: none;
  }
  .refresh-count ul li {
    position: relative; flex: 1 1 0 !important; width: auto !important;
    margin: 0 !important; padding: 1.6rem 1rem 1.4rem !important;
    text-align: center; border: 0 !important; background: none !important;
  }
  /* thin light divider between the stats */
  .refresh-count ul li::after { content: none !important; }
  .refresh-count ul li + li::before {
    content: "" !important; display: block !important; position: absolute;
    left: 0; top: 24%; bottom: 24%; width: 1px; height: auto;
    background: linear-gradient(to bottom, rgba(142, 191, 35, 0), rgba(142, 191, 35, 0.3), rgba(142, 191, 35, 0)) !important;
  }

  .refresh-count .count-up {
    display: flex !important; flex-direction: column; align-items: center;
    width: 100%; margin: 0 !important; text-align: center;
  }
  .refresh-count .icon-img { margin: 0 auto 0.7rem !important; }
  .refresh-count .count-up h3 {
    display: block; margin: 0 0 0.25rem !important; padding: 0 !important;
    font-family: inherit; font-size: clamp(1.7rem, 1.4vw + 1.1rem, 2.4rem) !important;
    font-weight: 700 !important; line-height: 1.15 !important; letter-spacing: 0 !important;
    white-space: nowrap; color: #222 !important;
  }
  .refresh-count .count-up h3 span { display: inline; font: inherit; color: inherit; }
  .refresh-count .count-up p {
    margin: 0 !important; padding: 0 !important;
    font-size: 0.95rem !important; font-weight: 400; line-height: 1.3;
    letter-spacing: 0.01em; color: #66724f !important;
  }
}

/* Desktop: shorter banner and more compact stats strip, so more of the page shows */
@media (min-width: 992px) {
  /* Banner height: the second number (520) controls it. Smaller = shorter banner. */
  #home-banner:not(.owl-loaded) { aspect-ratio: 1600 / 520 !important; }
  #home-banner .item img { aspect-ratio: 1600 / 520 !important; height: auto !important; }

  /* Stats strip, more compact */
  .refresh-count { margin: 1rem 0 1.25rem !important; }
  .refresh-count ul li { padding: 1rem 1rem 0.9rem !important; }
  .refresh-count .icon-img { margin-bottom: 0.4rem !important; }
  .refresh-count .count-up h3 {
    font-size: clamp(1.5rem, 1.1vw + 1rem, 2rem) !important; margin-bottom: 0.1rem !important;
  }
  .refresh-count .count-up p { font-size: 0.9rem !important; }
}

/* Desktop menu redesign (desktop only) */
@media (min-width: 992px) {

  /* Bar and spacing */
  .navbar { min-height: 56px; padding: 0 !important; }
  .navbar-collapse { display: flex !important; align-items: center; justify-content: space-between; }
  .navbar .navbar-nav { align-items: center; }
  .navbar .navbar-nav.mr-auto { gap: 0.15rem; margin-left: -0.85rem; }
  .navbar .nav-item { padding: 0 !important; margin: 0 !important; }
  .navbar-nav.ml-auto > li { zoom: 1; }

  /* Menu links with a sliding green underline */
  .navbar-nav.mr-auto > .nav-item > .nav-link {
    position: relative; padding: 1.05rem 0.85rem !important;
    font-size: 0.95rem; font-weight: 500; line-height: 1.2; letter-spacing: 0.01em;
    color: #222; transition: color 0.2s ease;
  }
  .navbar-nav.mr-auto > .nav-item > .nav-link.dropdown-toggle::after { margin-left: 0.45rem; vertical-align: 0.12em; }
  .navbar-nav.mr-auto > .nav-item > .nav-link::before {
    content: ""; position: absolute; left: 0.85rem; right: 0.85rem; bottom: 0.55rem;
    height: 2px; border-radius: 2px; background: #8EBF23;
    transform: scaleX(0); transform-origin: left center; transition: transform 0.25s ease;
  }
  .navbar-nav.mr-auto > .nav-item > .nav-link:hover,
  .navbar-nav.mr-auto > .nav-item > .nav-link:focus,
  .navbar-nav.mr-auto > .nav-item > .nav-link.active,
  .navbar-nav.mr-auto > .nav-item.dropdown:hover > .nav-link { color: #4f7a0a; }
  .navbar-nav.mr-auto > .nav-item > .nav-link:hover::before,
  .navbar-nav.mr-auto > .nav-item > .nav-link:focus::before,
  .navbar-nav.mr-auto > .nav-item > .nav-link.active::before,
  .navbar-nav.mr-auto > .nav-item.dropdown:hover > .nav-link::before { transform: scaleX(1); }

  /* "New" badge */
  .navbar .new-tag {
    display: inline-block; position: relative; top: -1px; vertical-align: middle;
    margin-left: 6px; padding: 3px 7px; border-radius: 999px;
    background: #FF4F4F; color: #fff;
    font-size: 9px; font-weight: 600; line-height: 1; letter-spacing: 0.05em; text-transform: uppercase;
  }

  /* In-store Appointment pill */
  .navbar .menu__link.store-btn {
    height: 40px; margin: 0; padding: 0 1.1rem 0 0.3rem; gap: 0.55rem;
    border-radius: 999px; background: #8EBF23; color: #fff;
    font-size: 0.82rem; font-weight: 600; text-transform: none;
    box-shadow: 0 3px 8px rgba(142, 191, 35, 0.35);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
  }
  .navbar .menu__link.store-btn:hover { transform: translateY(-1px); box-shadow: 0 5px 12px rgba(142, 191, 35, 0.45); color: #fff; }
  .navbar .menu__link.store-btn span {
    display: flex; align-items: center; justify-content: center;
    width: 32px; height: 32px; margin: 0; padding: 0;
    border-radius: 50%; background: #fff; box-shadow: none;
  }
  .navbar .menu__link.store-btn span img { width: 18px; height: 18px; }

  /* Dropdown panels (shared) */
  .navbar .dropdown-menu {
    top: 100% !important; margin: 0 !important; z-index: 1050;
    border: 0 !important; border-top: 3px solid #8EBF23 !important;
    border-radius: 0 0 18px 18px !important;
    background: #fff !important;
    box-shadow: 0 22px 40px rgba(0, 0, 0, 0.12);
  }
  .navbar .dropdown:hover > .dropdown-menu { animation: navDropIn 0.2s ease; }
  @keyframes navDropIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
  @media (prefers-reduced-motion: reduce) { .navbar .dropdown:hover > .dropdown-menu { animation: none; } }

  /* Big Mattresses dropdown */
  .navbar div.dropdown-menu > .container { padding-top: 1.4rem; padding-bottom: 0.6rem; }
  .navbar .shop-buy {
    display: block; font-size: 1.05rem; font-weight: 600; color: #222; line-height: 1.2;
  }
  .navbar .shop-buy small {
    display: block; margin-bottom: 0.2rem;
    font-size: 0.68rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: #8EBF23;
  }
  .navbar .mega-sub-menu { padding-top: 0.6rem !important; }
  .navbar .mega-sub-menu li:first-child a { border-top: 0 !important; }
  .navbar .mega-sub-menu li a.nav-link {
    display: flex; align-items: center; justify-content: space-between;
    padding: 0.62rem 0.5rem !important; border-bottom: 1px solid #f0f3ea !important; border-radius: 8px;
    font-size: 0.92rem; color: #333;
    transition: background-color 0.2s ease, color 0.2s ease, padding 0.2s ease;
  }
  .navbar .mega-sub-menu .right-align {
    float: none; padding-top: 0; font-size: 0.62rem; color: #b9c99a;
    transition: transform 0.2s ease, color 0.2s ease;
  }
  .navbar .navbar-nav .nav-item .dropdown-menu .mega-sub-menu a.nav-link:hover {
    background-color: #f3f9e7 !important; color: #4f7a0a !important; padding-left: 0.8rem !important;
  }
  .navbar .mega-sub-menu a.nav-link:hover .right-align { color: #8EBF23; transform: translateX(3px); }

  /* Small Shop By dropdown */
  .navbar ul.dropdown-menu { padding: 0.5rem !important; border-radius: 0 0 14px 14px !important; }
  .navbar ul.dropdown-menu > li > a.nav-link {
    display: block; padding: 0.6rem 0.9rem !important; border-radius: 8px;
    font-size: 0.92rem; color: #333; transition: background-color 0.2s ease, color 0.2s ease;
  }
  .navbar .navbar-nav .nav-item ul.dropdown-menu a.nav-link:hover {
    background-color: #f3f9e7 !important; color: #4f7a0a !important;
  }
}

/* Put the Shop By panel directly under its link (browsers that support it) */
@media (min-width: 992px) {
  .navbar .nav-item.dropdown:has(> ul.dropdown-menu) { position: relative; }
}
@media (min-width: 992px) {
  .navbar .nav-item.dropdown:has(> ul.dropdown-menu) > ul.dropdown-menu {
    left: 0 !important; width: 240px; max-width: 240px !important;
  }
}

/* Desktop header: logo centred, pincode + search on the left, icons and login on the right */
@media (min-width: 992px) {

  .logo-user .row { position: relative; min-height: 78px; }

  /* Logo in the middle */
  .logo-user .row > .col-md-2 {
    position: absolute; left: 14.50%; top: 50%; transform: translate(-50%, -50%);
    flex: none; width: auto; max-width: none; padding: 0; z-index: 2;
  }
  .logo-user .logo img { display: block; width: auto; max-width: none; height: 58px; }

  /* Tools take the full row */
  .logo-user .row > .col-md-10 { flex: 0 0 100%; max-width: 100%; }
  html body .logo-user .web-info > ul {
    display: flex; align-items: center; justify-content: flex-start; flex-wrap: nowrap; gap: 0.6rem;
  }
  /* search part of the pill: a fixed width so it leaves room for the logo */
  html body .logo-user .web-info > ul > li:nth-child(1) {
    flex: 0 1 300px !important; max-width: 300px; margin-left: -0.6rem !important;
  }
  /* heart, cart and login pushed to the right edge */
  html body .logo-user .web-info > ul > li:nth-child(3) { margin-left: auto !important; }
}

/* Smaller desktop windows: shorter pill so it does not touch the logo */
@media (min-width: 992px) and (max-width: 1199.98px) {
  html body .logo-user .web-info > ul > li:nth-child(1) { flex: 0 1 190px !important; max-width: 190px; }
  html body .logo-user .web-info .pin-code .input-group { width: 130px !important; }
}
/* (unused rule removed: it never applied because of a stray <style> tag) */

/* Fix: toll-free number follows the whole strip, so it lines up with the logo */
@media (min-width: 992px) {
  .top-band .col-md-6 { position: static !important; }
  .top-band .toll-free ul li:last-child { left: calc(15px + var(--hx, 0px)) !important; }
}

/* Search always open; pincode is an icon that opens when clicked (desktop only) */
@media (min-width: 992px) {
  html body .logo-user .web-info > ul > li:nth-child(2) {
    width: 152px; cursor: pointer; transition: width 0.35s ease;
  }
  html body .logo-user .web-info > ul > li:nth-child(2) .form-control { transition: opacity 0.25s ease; }

  /* closed: just the round pin, joined to the search bar */
  html body .logo-user .web-info > ul:not(.pin-open) > li:nth-child(2) { width: 46px; overflow: hidden; }
  html body .logo-user .web-info > ul:not(.pin-open) > li:nth-child(2) .pin-code,
  html body .logo-user .web-info > ul:not(.pin-open) > li:nth-child(2) .input-group {
    width: 100% !important; justify-content: center;
  }
  html body .logo-user .web-info > ul:not(.pin-open) > li:nth-child(2) .input-group-text {
    width: 100%; padding: 0 !important; justify-content: center;
  }
  html body .logo-user .web-info > ul:not(.pin-open) > li:nth-child(2) .form-control {
    flex: 0 0 0 !important; width: 0 !important; min-width: 0;
    padding: 0 !important; opacity: 0; pointer-events: none;
  }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
  html body .logo-user .web-info > ul > li:nth-child(2) { width: 132px; }
  html body .logo-user .web-info > ul:not(.pin-open) > li:nth-child(2) { width: 46px; }
}

/* Home: Shop Best Sellers - 3 per row on desktop, 2 on phone, max 6 products */
.two-display:has(.home-best-seller) {
  display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem; margin: 1rem 0 0 !important;
}
.two-display:has(.home-best-seller) > [class*="col-"] {
  flex: none; width: auto; max-width: none; padding: 0 !important;
}
/* only the first 6 products show */
.two-display:has(.home-best-seller) > .col-md-3:nth-child(n+7) { display: none; }
/* the View More button takes the full row */
.two-display:has(.home-best-seller) > .col-md-12 { grid-column: 1 / -1; }

/* the card */
.home-best-seller {
  position: relative; display: flex; flex-direction: column; height: 100%;
  background: #fff; border: 1px solid #edf2e3 !important; border-radius: 18px !important;
  overflow: hidden; box-shadow: 0 6px 18px rgba(0, 0, 0, 0.07);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.home-best-seller .best-sellers-box {
  position: absolute !important; top: 0.55rem; left: 0.55rem; z-index: 2; margin: 0 !important;
}
.home-best-seller .best-seller-batch img { display: block; width: 40px; height: auto; }

/* picture */
.home-best-seller > a.d-block { display: block; padding: 0.5rem !important; overflow: hidden; }
.home-best-seller > a.d-block img {
  display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover;
  border-radius: 13px; transition: transform 0.5s ease;
}

/* name + price */
.home-best-seller .best-sellers-products {
  display: block; flex: 1 1 auto; padding: 0.35rem 0.8rem 0.9rem; text-decoration: none !important;
}
.home-best-seller .best-sellers-products > div > p:first-child {
  margin: 0 0 0.3rem; font-size: 0.85rem; font-weight: 600; line-height: 1.3; color: #222;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden; min-height: 2.6em;
}
.home-best-seller .product-price p {
  display: flex; flex-wrap: wrap; align-items: center; gap: 0.2rem 0.45rem;
  margin: 0; font-size: 1rem; font-weight: 700; color: #4f7a0a;
}
.home-best-seller .mrp-price {
  margin: 0; font-size: 0.72rem; font-weight: 400; color: #8a929c; text-decoration: line-through;
}
.home-best-seller .offer-price {
  margin: 0; padding: 2px 8px; border-radius: 999px;
  background: #eef6dc; color: #4f7a0a; font-size: 0.68rem; font-weight: 600;
}

/* View More button */
.two-display:has(.home-best-seller) .blog-view-all a {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 0.65rem 2rem; border: 1.5px solid #8EBF23; border-radius: 999px;
  background: transparent; color: #4f7a0a !important; font-weight: 600; text-decoration: none !important;
  transition: background-color 0.25s ease, color 0.25s ease;
}
.two-display:has(.home-best-seller) .blog-view-all a:hover { background: #8EBF23; color: #fff !important; }

@media (hover: hover) {
  .home-best-seller:hover { transform: translateY(-4px); box-shadow: 0 14px 28px rgba(0, 0, 0, 0.12); }
  .home-best-seller:hover > a.d-block img { transform: scale(1.05); }
}
@media (prefers-reduced-motion: reduce) {
  .home-best-seller, .home-best-seller > a.d-block img { transition: none !important; }
}

/* Desktop: 3 per row */
@media (min-width: 768px) {
  .two-display:has(.home-best-seller) { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
  .home-best-seller { border-radius: 22px !important; }
  .home-best-seller .best-seller-batch img { width: 52px; }
  .home-best-seller > a.d-block { padding: 0.65rem !important; }
  .home-best-seller > a.d-block img { border-radius: 16px; }
  .home-best-seller .best-sellers-products { padding: 0.45rem 1.1rem 1.15rem; }
  .home-best-seller .best-sellers-products > div > p:first-child { font-size: 1rem; }
  .home-best-seller .product-price p { font-size: 1.15rem; }
  .home-best-seller .mrp-price { font-size: 0.8rem; }
  .home-best-seller .offer-price { font-size: 0.75rem; }
}

/* Best Sellers: clean picture frame, Buy Now button, whole-card hover (no image zoom) */

/* picture stays inside its rounded frame */
.home-best-seller > a.d-block {
  margin: 0.5rem; padding: 0 !important; width: auto;
  border-radius: 13px; overflow: hidden;
}
.home-best-seller > a.d-block img { border-radius: 0 !important; }

/* name, price and Buy Now button stacked, button always at the bottom */
.home-best-seller .best-sellers-products { display: flex !important; flex-direction: column; }
.home-best-seller .best-sellers-products > div { flex: 1 1 auto; }
.home-best-seller .best-sellers-products > div > p:first-child { transition: color 0.25s ease; }

/* the whole card is clickable */
.home-best-seller .best-sellers-products::before {
  content: ""; position: absolute; inset: 0; z-index: 1;
}

/* Buy Now button */
.home-best-seller .best-sellers-products::after {
  content: "Buy Now  \2192";
  display: flex; align-items: center; justify-content: center;
  margin-top: 0.8rem; height: 36px; border-radius: 10px;
  background: #8EBF23; color: #fff;
  font-size: 0.74rem; font-weight: 600; letter-spacing: 0.03em; text-transform: uppercase;
  box-shadow: 0 4px 10px rgba(142, 191, 35, 0.3);
  transition: background-color 0.25s ease, box-shadow 0.25s ease;
}

/* hover: the whole card reacts, the picture does not zoom */
@media (hover: hover) {
  .home-best-seller:hover {
    transform: translateY(-6px); border-color: #c5e08a !important;
    box-shadow: 0 18px 36px rgba(142, 191, 35, 0.22), 0 4px 10px rgba(0, 0, 0, 0.06);
  }
  .home-best-seller:hover > a.d-block img { transform: none !important; }
  .home-best-seller:hover .best-sellers-products > div > p:first-child { color: #4f7a0a; }
  .home-best-seller:hover .best-sellers-products::after {
    background: #7aa81c; box-shadow: 0 6px 14px rgba(142, 191, 35, 0.4);
  }
}

/* Desktop */
@media (min-width: 768px) {
  .home-best-seller > a.d-block { margin: 0.65rem; border-radius: 16px; }
  .home-best-seller .best-sellers-products::after {
    height: 42px; margin-top: 1rem; font-size: 0.88rem; letter-spacing: 0.04em; border-radius: 12px;
  }
}

/* Best Sellers fix: left-aligned text, full-width button, zoom on every card */
.home-best-seller .best-sellers-products {
  align-items: stretch !important; justify-content: flex-start !important; text-align: left !important;
}
.home-best-seller .best-sellers-products > div { width: 100%; text-align: left; }
.home-best-seller .best-sellers-products::after { align-self: stretch; box-sizing: border-box; width: 100%; }

.home-best-seller > a.d-block img { transition: transform 0.6s ease; will-change: transform; }

@media (hover: hover) {
  /* the whole card grows a little, the picture zooms inside its frame */
  .home-best-seller:hover {
    transform: translateY(-6px) scale(1.03);
    border-color: #c5e08a !important;
    box-shadow: 0 20px 40px rgba(142, 191, 35, 0.25), 0 4px 10px rgba(0, 0, 0, 0.06);
  }
  .home-best-seller:hover > a.d-block img { transform: scale(1.08) !important; }
}
@media (prefers-reduced-motion: reduce) {
  .home-best-seller:hover { transform: none; }
  .home-best-seller:hover > a.d-block img { transform: none !important; }
}

/* Section headings: small label, bold title, green line, softer subtitle */
section:has(.home-best-seller) .heading-title::before { content: "Customer Favourites"; }
.xc-section .heading-title::before { content: "Our Collections"; }

section:has(.home-best-seller) .heading-title::before,
.xc-section .heading-title::before {
  display: inline-block; margin-bottom: 0.7rem; padding: 0.3rem 0.95rem;
  border-radius: 999px; background: #eef6dc; color: #4f7a0a;
  font-size: 0.68rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase;
}

section:has(.home-best-seller) .heading-title h2,
.xc-section .heading-title h2 {
  margin: 0; font-size: clamp(1.6rem, 1.6vw + 1.1rem, 2.4rem);
  font-weight: 800; letter-spacing: -0.01em; line-height: 1.15; color: #222;
}
section:has(.home-best-seller) .heading-title h2::after,
.xc-section .heading-title h2::after {
  content: ""; display: block; width: 56px; height: 4px;
  margin: 0.8rem auto 0; border-radius: 4px;
  background: linear-gradient(90deg, #8EBF23, #c6e84a);
}
section:has(.home-best-seller) .heading-title p {
  max-width: 34rem; margin: 0.9rem auto 0;
  font-size: 1rem; font-weight: 400; line-height: 1.5; color: #66724f;
}

@media (max-width: 767.98px) {
  section:has(.home-best-seller) .heading-title::before,
  .xc-section .heading-title::before { font-size: 0.62rem; padding: 0.28rem 0.8rem; }
  section:has(.home-best-seller) .heading-title p { font-size: 0.92rem; margin-top: 0.7rem; }
}

/* Section headings: left aligned, more space above and below */
section:has(.home-best-seller) .heading-title.text-center,
.xc-section .heading-title.text-center {
  text-align: left !important;
  padding: 1rem 0 1.5rem !important;
}
section:has(.home-best-seller) .heading-title h2::after,
.xc-section .heading-title h2::after { margin-left: 0; margin-right: auto; }
section:has(.home-best-seller) .heading-title p {
  margin-left: 0; margin-right: auto; max-width: 36rem;
}

@media (max-width: 767.98px) {
  section:has(.home-best-seller) .heading-title.text-center,
  .xc-section .heading-title.text-center { padding: 1.75rem 0 1rem !important; }
}

/* Homepage sections: same heading style and the same spacing everywhere */
body:has(#home-banner) { --sec-y: 2.25rem; --head-gap: 1.5rem; }
body:has(#home-banner) section:has(.heading-title) {
  margin-top: 0 !important; margin-bottom: 0 !important;
  padding-top: var(--sec-y) !important; padding-bottom: var(--sec-y) !important;
}
body:has(#home-banner) section .heading-title.text-center {
  text-align: left !important; padding: 0 !important; margin: 0 0 var(--head-gap) !important;
}
body:has(#home-banner) section:has(.heading-title) .row.pb-3 { padding-bottom: 0 !important; }
body:has(#home-banner) section:has(.heading-title) .row.mt-3 { margin-top: 0 !important; }
body:has(#home-banner) .xc-grid { margin-top: 0; }
body:has(#home-banner) .two-display:has(.home-best-seller) { margin-top: 0 !important; }
@media (max-width: 767.98px) {
  body:has(#home-banner) { --sec-y: 1.5rem; --head-gap: 1.1rem; }
}

/* Shop by Need heading: same style as the other two */
section:has(#shop-need) .heading-title::before { content: "Sleep Solutions"; }
section:has(#shop-need) .heading-title::before {
  display: inline-block; margin-bottom: 0.7rem; padding: 0.3rem 0.95rem;
  border-radius: 999px; background: #eef6dc; color: #4f7a0a;
  font-size: 0.68rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase;
}
section:has(#shop-need) .heading-title h2 {
  margin: 0; font-size: clamp(1.6rem, 1.6vw + 1.1rem, 2.4rem);
  font-weight: 800; letter-spacing: -0.01em; line-height: 1.15; color: #222;
}
section:has(#shop-need) .heading-title h2::after {
  content: ""; display: block; width: 56px; height: 4px;
  margin: 0.8rem 0 0; border-radius: 4px;
  background: linear-gradient(90deg, #8EBF23, #c6e84a);
}
section:has(#shop-need) .heading-title p {
  max-width: 36rem; margin: 0.9rem 0 0;
  font-size: 1rem; font-weight: 400; line-height: 1.5; color: #66724f;
}
@media (max-width: 767.98px) {
  section:has(#shop-need) .heading-title::before { font-size: 0.62rem; padding: 0.28rem 0.8rem; }
  section:has(#shop-need) .heading-title p { font-size: 0.92rem; margin-top: 0.7rem; }
}

/* Shop by Need: cards */
.shop-by-need-slider .owl-stage-outer { padding: 0.8rem 0.5rem 1.6rem; margin: -0.8rem -0.5rem -1.1rem; }
.shop-by-need-slider .shop-need {
  background: #fff; border: 1px solid #e9f1da; border-radius: 22px; overflow: hidden;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.07);
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}
.shop-by-need-slider .shop-need::before,
.shop-by-need-slider .shop-need::after,
.shop-by-need-slider .shop-need a::before,
.shop-by-need-slider .shop-need a::after,
.shop-by-need-slider .shop-need p::before { content: none !important; display: none !important; }
.shop-by-need-slider .shop-need a {
  display: flex; flex-direction: column; background: none !important; text-decoration: none !important;
}
.shop-by-need-slider .shop-need img {
  display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover;
  border-radius: 0 !important; transition: transform 0.6s ease;
}
.shop-by-need-slider .shop-need p {
  position: static; display: flex; align-items: center; justify-content: space-between; gap: 0.5rem;
  width: auto; height: auto; min-height: 0; margin: 0; padding: 0.85rem 1.1rem;
  background: #f6faee !important; background-image: none !important; border-radius: 0 !important;
  color: #2b3a16 !important; font-size: 0.98rem; font-weight: 600; line-height: 1.3; text-align: left;
  transition: background-color 0.3s ease;
}
.shop-by-need-slider .shop-need p::after {
  content: "\2192"; color: #8EBF23; font-weight: 700; transition: transform 0.25s ease;
}
@media (hover: hover) {
  .shop-by-need-slider .shop-need:hover {
    transform: translateY(-6px) scale(1.03); border-color: #c5e08a;
    box-shadow: 0 20px 40px rgba(142, 191, 35, 0.25), 0 4px 10px rgba(0, 0, 0, 0.06);
  }
  .shop-by-need-slider .shop-need:hover img { transform: scale(1.08); }
  .shop-by-need-slider .shop-need:hover p { background: #eef6dc !important; }
  .shop-by-need-slider .shop-need:hover p::after { transform: translateX(4px); }
}
@media (prefers-reduced-motion: reduce) {
  .shop-by-need-slider .shop-need, .shop-by-need-slider .shop-need img { transition: none !important; }
}
@media (max-width: 767.98px) {
  .shop-by-need-slider .shop-need { border-radius: 18px; }
  .shop-by-need-slider .shop-need p { padding: 0.7rem 0.85rem; font-size: 0.88rem; }
}

/* Shop by Need v3: card with the same outlined button as Our Exclusive Collection */
html body .shop-by-need-slider .shop-need {
  background: var(--light-gray, #f3f3f3) !important; border-radius: 20px !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12), 0 2px 6px rgba(0, 0, 0, 0.06) !important;
}
html body .shop-by-need-slider .shop-need a {
  display: flex !important; flex-direction: column !important; align-items: center !important;
  padding-bottom: 1.1rem;
}
html body .shop-by-need-slider .shop-need a::before { display: none !important; content: none !important; }
html body .shop-by-need-slider .shop-need img { aspect-ratio: 4 / 3 !important; }
/* the name becomes a small outlined button, text centred */
html body .shop-by-need-slider .shop-need p {
  position: static !important; align-self: center; width: auto !important; margin: 1rem 0 0 !important;
  display: flex !important; align-items: center; justify-content: center; text-align: center !important;
  padding: 0.5rem 1.3rem !important; background: transparent !important; -webkit-backdrop-filter: none; backdrop-filter: none;
  border: 1px solid #8EBF23 !important; border-radius: 6px !important;
  color: #4f7a0a !important; font-size: 0.8rem !important; font-weight: 500; line-height: 1.2;
  letter-spacing: 0.05em; text-transform: uppercase; box-shadow: none !important;
  transition: background-color 0.25s ease, color 0.25s ease !important;
}
html body .shop-by-need-slider .shop-need p::after { content: none !important; display: none !important; }
@media (hover: hover) {
  html body .shop-by-need-slider .shop-need:hover {
    transform: translateY(-4px) !important; box-shadow: 0 18px 38px rgba(0, 0, 0, 0.18), 0 4px 10px rgba(0, 0, 0, 0.08) !important;
  }
  html body .shop-by-need-slider .shop-need:hover img { transform: scale(1.06) !important; }
  html body .shop-by-need-slider .shop-need:hover p { background: #8EBF23 !important; color: #fff !important; }
}
@media (max-width: 767.98px) {
  html body .shop-by-need-slider .shop-need { border-radius: 16px !important; }
  html body .shop-by-need-slider .shop-need p { padding: 0.45rem 0.9rem !important; font-size: 0.72rem !important; margin-top: 0.8rem !important; }
}

/* Shop by Need v4: full photo card, floating button, dot navigation */
html body .shop-by-need-slider .shop-need {
  position: relative !important; background: #fff !important; padding: 0 !important;
}
html body .shop-by-need-slider .shop-need a { display: block !important; padding-bottom: 0 !important; position: relative !important; }
html body .shop-by-need-slider .shop-need img {
  aspect-ratio: 4 / 5 !important; width: 100% !important; object-fit: cover !important;
  image-rendering: -webkit-optimize-contrast; filter: contrast(1.05) saturate(1.08);
}
/* soft fade at the bottom so the button always reads clearly */
html body .shop-by-need-slider .shop-need a::before {
  content: "" !important; display: block !important; position: absolute !important;
  left: 0; right: 0; bottom: 0; height: 40%; pointer-events: none; z-index: 1;
  background: linear-gradient(to top, rgba(20, 30, 8, 0.45), rgba(20, 30, 8, 0));
}
/* button floats over the bottom of the photo, text centred */
html body .shop-by-need-slider .shop-need p {
  position: absolute !important; z-index: 2; left: 50% !important; bottom: 16px !important;
  transform: translateX(-50%); margin: 0 !important; width: max-content; max-width: calc(100% - 24px);
  background: #fff !important; border: 1px solid #8EBF23 !important; border-radius: 8px !important;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.18) !important;
  padding: 0.55rem 1.3rem !important; text-align: center !important; white-space: nowrap;
}
@media (hover: hover) {
  html body .shop-by-need-slider .shop-need:hover p { background: #8EBF23 !important; color: #fff !important; }
}
@media (max-width: 767.98px) {
  html body .shop-by-need-slider .shop-need img { aspect-ratio: 3 / 4 !important; }
  html body .shop-by-need-slider .shop-need p { bottom: 10px !important; padding: 0.45rem 0.8rem !important; font-size: 0.7rem !important; }
}

/* remove the round arrows, use dots like the banner */
html body .shop-by-need-slider .owl-nav,
html body .shop-by-need-slider .owl-prev,
html body .shop-by-need-slider .owl-next { display: none !important; }
html body .shop-by-need-slider .owl-dots {
  display: flex !important; justify-content: center; align-items: center; gap: 8px; margin: 14px 0 6px !important;
}
html body .shop-by-need-slider .owl-dots .owl-dot { padding: 0; margin: 0; background: none; border: 0; }
html body .shop-by-need-slider .owl-dots .owl-dot span {
  display: block; width: 8px; height: 8px; margin: 0 !important; border-radius: 999px;
  background: #cfd5da !important; transition: width 0.35s ease, background-color 0.35s ease;
}
html body .shop-by-need-slider .owl-dots .owl-dot.active span { width: 28px; background: #8EBF23 !important; }

/* Shop by Need: smaller cards (6 per row on desktop) */
@media (min-width: 992px) {
  html body .shop-by-need-slider .shop-need { border-radius: 16px !important; }
  html body .shop-by-need-slider .shop-need p {
    bottom: 10px !important; padding: 0.4rem 0.6rem !important; font-size: 0.66rem !important;
    line-height: 1.25; white-space: normal !important; width: auto !important; max-width: calc(100% - 16px);
  }
}

/* Home banner: taller on phone */
@media (max-width: 767.98px) {
  html body #home-banner .owl-item img,
  html body #home-banner .item img {
    width: 100% !important; height: auto !important;
    aspect-ratio: 2 / 1 !important; object-fit: cover !important; object-position: center !important;
  }
}
@media (min-width: 768px) and (max-width: 991.98px) {
  html body #home-banner .owl-item img,
  html body #home-banner .item img {
    width: 100% !important; height: auto !important;
    aspect-ratio: 2.4 / 1 !important; object-fit: cover !important; object-position: center !important;
  }
}

/* Stats strip: compact and calm on phone and tablet */
@media (max-width: 991.98px) {
  html body .refresh-count {
    position: relative; overflow: hidden;
    margin: 0.75rem 0 0.5rem !important; padding: 0 !important;
    background: #f8fbf1 !important; border: 1px solid #e9f1da !important;
    border-radius: 16px !important; box-shadow: 0 3px 10px rgba(0, 0, 0, 0.04) !important;
  }
  html body .refresh-count::before, html body .refresh-count::after { content: none !important; display: none !important; }
  html body .refresh-count ul {
    display: flex !important; flex-wrap: nowrap !important; align-items: stretch; justify-content: space-between;
    margin: 0 !important; padding: 0 !important; list-style: none;
  }
  html body .refresh-count ul li {
    position: relative; flex: 1 1 0 !important; width: auto !important; min-width: 0;
    margin: 0 !important; padding: 0.7rem 0.3rem 0.65rem !important;
    text-align: center; border: 0 !important; background: none !important;
  }
  html body .refresh-count ul li::after { content: none !important; }
  html body .refresh-count ul li + li::before {
    content: "" !important; display: block !important; position: absolute;
    left: 0; top: 22%; bottom: 22%; width: 1px; background: rgba(142, 191, 35, 0.3) !important;
  }
  html body .refresh-count .count-up {
    display: flex !important; flex-direction: column; align-items: center;
    width: 100%; margin: 0 !important; text-align: center;
  }
  html body .refresh-count .icon-img { margin: 0 auto 0.3rem !important; width: 30px; height: 30px; }
  html body .refresh-count .icon-img img, html body .refresh-count .icon-img svg { width: 30px !important; height: 30px !important; }
  html body .refresh-count .count-up h3 {
    margin: 0 0 0.1rem !important; padding: 0 !important; font-family: inherit;
    font-size: 1.05rem !important; font-weight: 700 !important; line-height: 1.15 !important;
    white-space: nowrap; color: #222 !important;
  }
  html body .refresh-count .count-up h3 span { font: inherit; color: inherit; }
  html body .refresh-count .count-up p {
    margin: 0 !important; padding: 0 !important;
    font-size: 0.66rem !important; line-height: 1.25; color: #66724f !important;
  }
}

/* Stats strip v2: no background, very small, on phone and tablet */
@media (max-width: 991.98px) {
  html body .refresh-count {
    background: none !important; border: 0 !important; box-shadow: none !important;
    border-radius: 0 !important; margin: 0.4rem 0 0.2rem !important;
  }
  html body .refresh-count ul li { padding: 0.35rem 0.2rem 0.3rem !important; }
  html body .refresh-count ul li + li::before { top: 18%; bottom: 18%; background: rgba(0, 0, 0, 0.1) !important; }
  html body .refresh-count .icon-img {
    width: auto !important; height: auto !important; margin: 0 auto 0.2rem !important; zoom: 0.4;
  }
  html body .refresh-count .icon-img img,
  html body .refresh-count .icon-img svg { width: auto !important; height: auto !important; max-width: none; }
  html body .refresh-count .count-up h3 { font-size: 0.95rem !important; margin: 0 !important; }
  html body .refresh-count .count-up p { font-size: 0.62rem !important; line-height: 1.2; }
}

/* Stats strip v3: icon size fix (phone and tablet) */
@media (max-width: 991.98px) {
  html body .refresh-count .icon-img { zoom: 0.8 !important; margin: 0 auto 0.25rem !important; }
}

/* Stats strip v4: smaller text, neat single line (phone and tablet) */
@media (max-width: 991.98px) {
  html body .refresh-count { margin: 0.25rem 0 0 !important; }
  html body .refresh-count ul li { padding: 0.25rem 0.15rem 0.2rem !important; }
  html body .refresh-count .icon-img { zoom: 0.62 !important; margin: 0 auto 0.15rem !important; }
  html body .refresh-count .count-up h3 { font-size: 0.82rem !important; font-weight: 700 !important; }
  html body .refresh-count .count-up p {
    font-size: 0.56rem !important; letter-spacing: 0 !important; line-height: 1.2;
    white-space: nowrap; color: #7a846a !important;
  }
}

/* Stats strip v5: clean icons (phone and tablet) */
@media (max-width: 991.98px) {
  html body .refresh-count .icon-img { display: none !important; }
  html body .refresh-count .count-up::before {
    display: flex; align-items: center; justify-content: center;
    width: 30px; height: 30px; margin: 0 auto 0.35rem; border-radius: 50%;
    background: #eef6dc; color: #8EBF23;
    font-family: "Font Awesome 6 Free"; font-weight: 900; font-size: 0.85rem; line-height: 1;
  }
  html body .refresh-count ul li:nth-child(1) .count-up::before { content: "\f118"; }  /* smile  */
  html body .refresh-count ul li:nth-child(2) .count-up::before { content: "\f54e"; }  /* store  */
  html body .refresh-count ul li:nth-child(3) .count-up::before { content: "\f236"; }  /* bed    */
}

/* Stats strip v6: same clean icons on every screen, bigger, more top/bottom space */
html body .refresh-count .icon-img { display: none !important; }
html body .refresh-count .count-up::before {
  display: flex; align-items: center; justify-content: center;
  width: 38px; height: 38px; margin: 0 auto 0.45rem; border-radius: 50%;
  background: #eef6dc; color: #8EBF23;
  font-family: "Font Awesome 6 Free"; font-weight: 900; font-size: 1.05rem; line-height: 1;
}
html body .refresh-count ul li:nth-child(1) .count-up::before { content: "\f118"; }
html body .refresh-count ul li:nth-child(2) .count-up::before { content: "\f54e"; }
html body .refresh-count ul li:nth-child(3) .count-up::before { content: "\f236"; }

/* phone and tablet: more space above and below */
@media (max-width: 991.98px) {
  html body .refresh-count { margin: 0.6rem 0 0.4rem !important; }
  html body .refresh-count ul li { padding: 0.9rem 0.15rem 0.85rem !important; }
}
/* desktop */
@media (min-width: 992px) {
  html body .refresh-count .count-up::before { width: 54px; height: 54px; font-size: 1.45rem; margin-bottom: 0.6rem; }
  html body .refresh-count ul li { padding: 1.5rem 1rem 1.35rem !important; }
}

/* Homepage: same gap between every section */
/* One number controls everything: --sec-y. Gap between two sections = 2 x --sec-y. */
body:has(#home-banner) { --sec-y: 2.25rem; }
@media (max-width: 767.98px) { body:has(#home-banner) { --sec-y: 1.5rem; } }

/* stats strip: same gap above (counting the banner dots) and below */
html body .refresh-count {
  margin-top: calc(var(--sec-y) * 2 - 1.5rem) !important;
  margin-bottom: var(--sec-y) !important;
}
/* sections with a heading: same space above and below */
body:has(#home-banner) section:has(.heading-title) {
  margin-top: 0 !important; margin-bottom: 0 !important;
  padding-top: var(--sec-y) !important; padding-bottom: var(--sec-y) !important;
}
/* remove extra space that some sections add themselves */
body:has(#home-banner) section:has(.heading-title) .row.pb-3 { padding-bottom: 0 !important; }
body:has(#home-banner) section:has(.heading-title) .row.mt-3 { margin-top: 0 !important; }
body:has(#home-banner) section:has(.heading-title) .row:last-child { margin-bottom: 0 !important; }
body:has(#home-banner) .shop-by-need-slider { margin-bottom: 0 !important; }
body:has(#home-banner) .shop-by-need-slider .owl-dots { margin-bottom: 0 !important; }

/* Brand strip colours on lines and active slider dots */
:root {
  --brand-strip: linear-gradient(90deg,
    #459bd6 0 20%, #50b1e4 20% 40%, #bcca05 40% 60%, #56aa30 60% 80%, #c9cf04 80% 100%);
}

/* line under section headings */
html body section:has(.home-best-seller) .heading-title h2::after,
html body .xc-section .heading-title h2::after,
html body section:has(#shop-need) .heading-title h2::after {
  background: var(--brand-strip) !important;
}

/* line under product names (Our Exclusive Collection) */
html body .xc-name::after { background: var(--brand-strip) !important; }

/* active slider dot: banner (desktop), Shop by Need, and phone banner */
html body .hb-dot.is-active { background: var(--brand-strip) !important; }
html body .shop-by-need-slider .owl-dots .owl-dot.active span,
html body #home-banner .owl-dots .owl-dot.active span { background: var(--brand-strip) !important; }

/* One button style for the whole homepage */
html body .xc-card .xc-btn,
body:has(#home-banner) .blog-view-all a,
html body .home-best-seller .best-sellers-products::after,
html body .shop-by-need-slider .shop-need p {
  display: inline-flex !important; align-items: center; justify-content: center; text-align: center;
  width: auto; height: auto; min-width: 0; margin-top: 0;
  padding: 0.55rem 1.5rem !important;
  background: transparent !important; color: #4f7a0a !important;
  border: 1px solid #8EBF23 !important; border-radius: 8px !important; box-shadow: none !important;
  font-size: 0.82rem !important; font-weight: 500 !important; line-height: 1.2;
  letter-spacing: 0.05em; text-transform: uppercase; text-decoration: none !important;
  transition: background-color 0.25s ease, color 0.25s ease;
}
/* Best Sellers: text and position */
html body .home-best-seller .best-sellers-products::after {
  content: "Buy Now" !important; align-self: center; height: auto !important; margin-top: 0.8rem;
}
/* Shop by Need: keep white behind the text so it reads on the photo */
html body .shop-by-need-slider .shop-need p { background: #fff !important; }
/* hover: fill green */
@media (hover: hover) {
  html body .xc-card:hover .xc-btn,
  body:has(#home-banner) .blog-view-all a:hover,
  html body .home-best-seller:hover .best-sellers-products::after,
  html body .shop-by-need-slider .shop-need:hover p {
    background: #8EBF23 !important; color: #fff !important;
  }
}
@media (max-width: 767.98px) {
  html body .xc-card .xc-btn,
  body:has(#home-banner) .blog-view-all a,
  html body .home-best-seller .best-sellers-products::after,
  html body .shop-by-need-slider .shop-need p { padding: 0.5rem 1.1rem !important; font-size: 0.74rem !important; }
}

/* Exclusive Collection: space between the colour line and the button */
html body .xc-card .xc-btn { margin-top: 1.1rem !important; }
@media (min-width: 768px) {
  html body .xc-card--big .xc-btn { margin-top: 1.4rem !important; }
}

/* Shop by Need: frosted-glass button, one line */
html body .shop-by-need-slider .shop-need p {
  background: rgba(255, 255, 255, 0.22) !important;
  -webkit-backdrop-filter: blur(10px) saturate(1.4); backdrop-filter: blur(10px) saturate(1.4);
  border: 1px solid rgba(255, 255, 255, 0.65) !important;
  color: #fff !important; text-shadow: 0 1px 3px rgba(0, 0, 0, 0.45);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.5) !important;
  white-space: nowrap !important; width: max-content !important; max-width: calc(100% - 12px);
  letter-spacing: 0.04em !important; font-weight: 600 !important;
}
@media (min-width: 992px) {
  html body .shop-by-need-slider .shop-need p { padding: 0.45rem 0.75rem !important; font-size: 0.62rem !important; }
}
@media (hover: hover) {
  html body .shop-by-need-slider .shop-need:hover p {
    background: rgba(142, 191, 35, 0.9) !important; border-color: #8EBF23 !important; text-shadow: none;
  }
}

/* Find your perfect mattress: full-width green band */
html body section:has(.find-mattress) {
  margin: 0 !important;
  padding-top: var(--sec-y, 2.25rem) !important; padding-bottom: var(--sec-y, 2.25rem) !important;
}
/* green runs to the left and right edges of the screen */
html body .find-mattress {
  background-color: #90bf2e !important; border-radius: 0 !important;
  box-shadow: 0 0 0 100vmax #90bf2e; clip-path: inset(0 -100vmax);
  position: relative;
}
html body .find-mattress > ul { align-items: center; }

/* text side */
html body .find-mattress h4 {
  margin: 0 0 0.8rem; font-size: clamp(1.4rem, 1.6vw + 1rem, 2.3rem); font-weight: 800;
  line-height: 1.15; color: #fff; text-align: center;
}
html body .find-mattress p {
  max-width: 40rem; margin: 0 auto 1.2rem; font-size: clamp(0.92rem, 0.4vw + 0.85rem, 1.05rem);
  line-height: 1.55; color: rgba(255, 255, 255, 0.95); text-align: center;
}
html body .find-mattress ul ul { display: flex; justify-content: center; gap: 0.75rem; margin: 0 0 1.4rem; padding: 0; list-style: none; }
html body .find-mattress ul ul li img { width: clamp(38px, 3.4vw, 56px); height: auto; opacity: 0.85; }

/* button: same style as the rest of the site, white version for the green background */
html body .find-mattress .black-btn { text-align: center; }
html body .find-mattress .black-btn a {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 0.7rem 1.8rem; background: transparent !important; color: #fff !important;
  border: 1.5px solid #fff !important; border-radius: 8px !important; box-shadow: none !important;
  font-size: 0.85rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; text-decoration: none !important;
  transition: background-color 0.25s ease, color 0.25s ease;
}
@media (hover: hover) {
  html body .find-mattress .black-btn a:hover { background: #fff !important; color: #4f7a0a !important; }
}

/* desktop: bed picture goes to the left edge of the screen */
@media (min-width: 992px) {
  html body .find-mattress > ul > li:first-child { position: relative; left: calc(50% - 50vw); }
  html body .find-mattress > ul > li:last-child { padding: 2rem 1rem; }
}
/* phone and tablet */
@media (max-width: 991.98px) {
  html body .find-mattress > ul > li:last-child { padding: 1.5rem 1rem 1.8rem; }
  html body .find-mattress > ul > li:first-child img { display: block; margin: 0 auto; max-width: 92%; }
  html body .find-mattress .black-btn a { padding: 0.6rem 1.3rem; font-size: 0.78rem; }
}

/* Find your perfect mattress v2: full-width band, round top-left corner, no floating animation */
html body section:has(.find-mattress) {
  position: relative; overflow: hidden; isolation: isolate;
  margin: var(--sec-y, 2.25rem) 0 0 !important; padding: 0 !important;
  background: linear-gradient(135deg, #96c630 0%, #90bf2e 45%, #7fae22 100%);
  border-top-left-radius: clamp(56px, 8vw, 130px);
}
/* soft light circles for depth */
html body section:has(.find-mattress)::before,
html body section:has(.find-mattress)::after {
  content: ""; position: absolute; z-index: -1; border-radius: 50%; pointer-events: none;
}
html body section:has(.find-mattress)::before {
  width: 38vw; height: 38vw; max-width: 560px; max-height: 560px; right: -8%; top: -30%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.22), rgba(255, 255, 255, 0) 70%);
}
html body section:has(.find-mattress)::after {
  width: 26vw; height: 26vw; max-width: 380px; max-height: 380px; left: 30%; bottom: -35%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0) 70%);
}

/* undo the earlier version of this section */
html body .find-mattress {
  background-color: transparent !important; box-shadow: none !important; clip-path: none !important;
  border-radius: 0 !important;
}
html body .find-mattress > ul > li:first-child { left: 0 !important; }

/* no up and down animation, soft shadow under the bed */
html body .find-mattress .float-animation { animation: none !important; transform: none !important; filter: drop-shadow(0 18px 24px rgba(0, 40, 0, 0.28)); }

/* headline: small label, bold title, brand-colour line */
html body .find-mattress h4::before {
  content: "Mattress Finder"; display: block; width: max-content; margin: 0 auto 0.8rem; padding: 0.3rem 0.95rem;
  border-radius: 999px; background: rgba(255, 255, 255, 0.2); border: 1px solid rgba(255, 255, 255, 0.45);
  font-size: 0.68rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: #fff;
}
html body .find-mattress h4::after {
  content: ""; display: block; width: 56px; height: 4px; margin: 0.8rem auto 0; border-radius: 4px;
  background: var(--brand-strip, linear-gradient(90deg, #459bd6 0 20%, #50b1e4 20% 40%, #bcca05 40% 60%, #56aa30 60% 80%, #c9cf04 80% 100%));
}
/* the 5 icons as glass tiles */
html body .find-mattress ul ul li {
  padding: 0.5rem; border-radius: 14px; background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.28);
  transition: transform 0.3s ease, background-color 0.3s ease;
}
html body .find-mattress ul ul li img { opacity: 1; }
@media (hover: hover) {
  html body .find-mattress ul ul li:hover { transform: translateY(-4px); background: rgba(255, 255, 255, 0.22); }
}
/* button with arrow */
html body .find-mattress .black-btn a::after { content: "\2192"; margin-left: 0.6rem; transition: transform 0.25s ease; }
@media (hover: hover) {
  html body .find-mattress .black-btn a:hover::after { transform: translateX(4px); }
}
@media (prefers-reduced-motion: reduce) {
  html body .find-mattress ul ul li { transition: none !important; }
}
@media (max-width: 991.98px) {
  html body section:has(.find-mattress) { border-top-left-radius: 48px; }
  html body .find-mattress ul ul li { padding: 0.35rem; border-radius: 10px; }
}

/* Find your perfect mattress v3: bed touches the left edge, plain equal icons */

/* 1. bed picture goes to the left edge of the screen (desktop) */
@media (min-width: 992px) {
  html body .find-mattress > ul > li:first-child { left: calc(50% - 50vw) !important; }
  html body section:has(.find-mattress) { border-top-left-radius: clamp(48px, 6vw, 100px); }
}

/* 2. the 5 icons: no box, same size, nothing inherited from the theme */
html body .find-mattress ul ul { gap: 1rem; }
html body .find-mattress ul ul li {
  position: static !important; left: auto !important; top: auto !important; transform: none !important;
  width: auto !important; height: auto !important; margin: 0 !important; padding: 0 !important;
  background: none !important; border: 0 !important; box-shadow: none !important; opacity: 1 !important;
}
html body .find-mattress ul ul li img {
  display: block; width: clamp(40px, 3.2vw, 54px) !important; height: auto !important;
  max-width: none !important; margin: 0 !important; opacity: 0.9;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
@media (hover: hover) {
  html body .find-mattress ul ul li:hover { transform: none !important; background: none !important; }
  html body .find-mattress ul ul li:hover img { transform: translateY(-4px); opacity: 1; }
}
@media (max-width: 991.98px) {
  html body .find-mattress ul ul { gap: 0.7rem; }
  html body .find-mattress ul ul li img { width: 36px !important; }
}

/* Featured Products: new look */
:root { --fp-strip: var(--brand-strip, linear-gradient(90deg, #459bd6 0 20%, #50b1e4 20% 40%, #bcca05 40% 60%, #56aa30 60% 80%, #c9cf04 80% 100%)); }

/* ---- heading (same style as the other sections) ---- */
html body section:has(.featured-products) .heading-title::before {
  content: "Handpicked For You"; display: inline-block; margin-bottom: 0.7rem; padding: 0.3rem 0.95rem;
  border-radius: 999px; background: #eef6dc; color: #4f7a0a;
  font-size: 0.68rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase;
}
html body section:has(.featured-products) .heading-title.text-center {
  text-align: left !important; padding: 0 !important; margin: 0 0 var(--head-gap, 1.5rem) !important;
}
html body section:has(.featured-products) .heading-title h2 {
  margin: 0; font-size: clamp(1.6rem, 1.6vw + 1.1rem, 2.4rem); font-weight: 800;
  letter-spacing: -0.01em; line-height: 1.15; color: #222;
}
html body section:has(.featured-products) .heading-title h2::after {
  content: ""; display: block; width: 56px; height: 4px; margin: 0.8rem 0 0; border-radius: 4px; background: var(--fp-strip);
}
html body section:has(.featured-products) .heading-title p {
  max-width: 36rem; margin: 0.9rem 0 0; font-size: 1rem; line-height: 1.5; color: #66724f;
}

/* ---- the cards ---- */
html body section:has(.featured-products) .desktop-view { padding-left: var(--fp-x, 5.8vw) !important; padding-right: var(--fp-x, 5.8vw) !important; }
html body section:has(.featured-products) .desktop-view > .row,
html body section:has(.featured-products) .mobile-view > .row {
  margin: 0 0 1.5rem !important; background: #fff; border: 0 !important; border-radius: 28px; overflow: hidden;
  align-items: stretch !important; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}
html body section:has(.featured-products) .desktop-view > .row:last-child,
html body section:has(.featured-products) .mobile-view > .row:last-child { margin-bottom: 0 !important; }
html body section:has(.featured-products) .desktop-view > .row > [class*="col-"],
html body section:has(.featured-products) .mobile-view > .row > [class*="col-"] {
  padding: 0 !important; display: flex; flex-direction: column; justify-content: center;
}

/* picture side */
html body section:has(.featured-products) .desktop-view > .row > [class*="col-"]:has(> img) {
  align-items: center; padding: 2rem !important;
  background: radial-gradient(circle at 50% 58%, rgba(142, 191, 35, 0.24), rgba(142, 191, 35, 0) 68%), #f8fbf2;
}
html body section:has(.featured-products) img.fade-up-down {
  animation: none !important; transform: none !important;
  width: auto !important; max-width: 92% !important; max-height: 440px; height: auto !important; object-fit: contain;
  filter: drop-shadow(0 18px 22px rgba(40, 60, 10, 0.22)); transition: transform 0.6s ease;
}

/* text side */
html body section:has(.featured-products) .featured-products {
  display: flex; flex-direction: column; align-items: flex-start;
  padding: clamp(2rem, 3.5vw, 4rem); text-align: left !important;
}
html body section:has(.featured-products) .featured-products > h5 {
  order: 1; margin: 0 0 0.9rem; padding: 0.3rem 0.9rem; border-radius: 999px; background: #eef6dc; color: #4f7a0a;
  font-size: 0.68rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase;
}
html body section:has(.featured-products) .featured-products > h2 {
  order: 2; margin: 0; font-size: clamp(1.8rem, 2.2vw + 1rem, 3rem); font-weight: 800; line-height: 1.1; color: #222; text-align: left;
}
html body section:has(.featured-products) .featured-products > h2::after {
  content: ""; display: block; width: 56px; height: 4px; margin: 0.8rem 0 0; border-radius: 4px; background: var(--fp-strip);
}
html body section:has(.featured-products) .featured-products > p {
  order: 3; max-width: 34rem; margin: 1rem 0 0; font-size: 1rem; line-height: 1.7; color: #5c6650; text-align: left;
}
html body section:has(.featured-products) .featured-products > p br { display: none; }
html body section:has(.featured-products) .featured-products > ul {
  order: 4; display: flex; flex-wrap: wrap; gap: 0.6rem; margin: 1.3rem 0 0; padding: 0; list-style: none;
}
html body section:has(.featured-products) .featured-products > ul > li {
  display: inline-flex !important; align-items: center; gap: 0.5rem; width: auto !important; margin: 0 !important;
  padding: 0.4rem 0.95rem 0.4rem 0.45rem !important; background: #f6faee !important;
  border: 1px solid #e3efc9 !important; border-radius: 999px !important; box-shadow: none !important;
}
html body section:has(.featured-products) .featured-products > ul > li img { width: 28px !important; height: 28px !important; object-fit: contain; margin: 0 !important; }
html body section:has(.featured-products) .featured-products > ul > li p {
  margin: 0 !important; font-size: 0.8rem !important; font-weight: 600; line-height: 1.2; color: #3b4a22 !important; text-align: left;
}
html body section:has(.featured-products) .featured-products > a {
  order: 5; align-self: flex-start; margin-top: 1.5rem; display: inline-flex; align-items: center; justify-content: center;
  padding: 0.6rem 1.7rem; background: transparent !important; color: #4f7a0a !important;
  border: 1px solid #8EBF23 !important; border-radius: 8px !important; box-shadow: none !important;
  font-size: 0.82rem; font-weight: 500; letter-spacing: 0.05em; text-transform: uppercase; text-decoration: none !important;
  transition: background-color 0.25s ease, color 0.25s ease;
}
html body section:has(.featured-products) .featured-products > a::after { content: "\2192"; margin-left: 0.55rem; transition: transform 0.25s ease; }

@media (hover: hover) {
  html body section:has(.featured-products) .desktop-view > .row:hover,
  html body section:has(.featured-products) .mobile-view > .row:hover { transform: translateY(-5px); box-shadow: 0 20px 44px rgba(0, 0, 0, 0.13); }
  html body section:has(.featured-products) .desktop-view > .row:hover img.fade-up-down { transform: scale(1.04) !important; }
  html body section:has(.featured-products) .featured-products > a:hover { background: #8EBF23 !important; color: #fff !important; }
  html body section:has(.featured-products) .featured-products > a:hover::after { transform: translateX(4px); }
}
@media (prefers-reduced-motion: reduce) {
  html body section:has(.featured-products) .row, html body section:has(.featured-products) img.fade-up-down { transition: none !important; }
}

/* ---- phone and tablet ---- */
@media (max-width: 991.98px) {
  html body section:has(.featured-products) .mobile-view > .row { border-radius: 22px; margin-bottom: 1.25rem !important; }
  html body section:has(.featured-products) .mobile-view .featured-products { padding: 0 1.25rem 1.6rem; }
  html body section:has(.featured-products) .mobile-view .featured-products > img.fade-up-down {
    order: 0; align-self: stretch; box-sizing: border-box; width: calc(100% + 2.5rem) !important; max-width: none !important;
    max-height: 300px; margin: 0 -1.25rem 1.2rem; padding: 1.5rem 2rem 0.5rem; filter: none;
    background: radial-gradient(circle at 50% 62%, rgba(142, 191, 35, 0.26), rgba(142, 191, 35, 0) 70%), #f8fbf2;
  }
  html body section:has(.featured-products) .featured-products > h2 { font-size: 1.65rem; }
  html body section:has(.featured-products) .featured-products > p { font-size: 0.93rem; line-height: 1.6; margin-top: 0.8rem; }
  html body section:has(.featured-products) .featured-products > ul { margin-top: 1rem; gap: 0.5rem; }
  html body section:has(.featured-products) .featured-products > ul > li p { font-size: 0.74rem !important; }
  html body section:has(.featured-products) .featured-products > a { margin-top: 1.2rem; padding: 0.55rem 1.3rem; font-size: 0.76rem; }
  html body section:has(.featured-products) .heading-title::before { font-size: 0.62rem; padding: 0.28rem 0.8rem; }
  html body section:has(.featured-products) .heading-title p { font-size: 0.92rem; margin-top: 0.7rem; }
}

/* Featured Products v2: room photo + colour band with slanted edge */
html body section:has(.featured-products) .desktop-view > .row { overflow: hidden; min-height: 460px; }
html body section:has(.featured-products) .mobile-view > .row { overflow: hidden; }

/* photo column */
html body section:has(.featured-products) .desktop-view > .row > [class*="col-"]:has(> img) {
  margin: 0 !important; padding: 0 !important; flex: 0 0 56%; max-width: 56%; overflow: hidden;
}
html body section:has(.featured-products) .desktop-view > .row > [class*="col-"]:not(:has(> img)) { flex: 0 0 44%; max-width: 44%; }
html body section:has(.featured-products) .desktop-view > .row:nth-of-type(odd) > [class*="col-"]:has(> img) { clip-path: polygon(0 0, 100% 0, 91% 100%, 0 100%); }
html body section:has(.featured-products) .desktop-view > .row:nth-of-type(even) > [class*="col-"]:has(> img) { clip-path: polygon(9% 0, 100% 0, 100% 100%, 0 100%); }
html body section:has(.featured-products) .desktop-view > .row > [class*="col-"] > img.fade-up-down {
  width: 100% !important; height: 100% !important; min-height: 460px; object-fit: cover; object-position: center;
  filter: none !important; transform: none !important; transition: transform 0.8s ease;
}
@media (hover: hover) {
  html body section:has(.featured-products) .desktop-view > .row:hover img.fade-up-down { transform: scale(1.05) !important; }
}

/* the number now sits on the colour side */
html body section:has(.featured-products) .desktop-view > .row:nth-of-type(odd)::before { left: auto; right: 3%; }
html body section:has(.featured-products) .desktop-view > .row:nth-of-type(even)::before { left: 3%; right: auto; }
html body section:has(.featured-products) .featured-products { position: relative; }

/* phone and tablet: photo on top with a slanted bottom edge */
@media (max-width: 991.98px) {
  html body section:has(.featured-products) .mobile-view > .row { margin-bottom: 2.2rem !important; }
  html body section:has(.featured-products) .mobile-view > .row::before { top: auto; bottom: 0.6rem; right: 6%; font-size: 6rem; }
  html body section:has(.featured-products) .mobile-view .featured-products { padding: 0 1.4rem 1.8rem; }
  html body section:has(.featured-products) .mobile-view .featured-products > img.fade-up-down {
    align-self: stretch; box-sizing: border-box; width: calc(100% + 2.8rem) !important; max-width: none !important;
    height: auto !important; aspect-ratio: 3 / 2; object-fit: cover; margin: 0 -1.4rem 1.3rem; filter: none !important;
    clip-path: polygon(0 0, 100% 0, 100% 90%, 0 100%);
  }
  html body section:has(.featured-products) .mobile-view { padding-top: 2.5rem; }
}

/* desktop: small number in the corner, so it never sits behind the text */
@media (min-width: 992px) {
  html body section:has(.featured-products) .desktop-view > .row::before {
    top: 1.6rem; transform: none; font-size: 4.5rem; line-height: 1; -webkit-text-stroke-width: 1.5px;
  }
}
@media (min-width: 992px) {
  html body section:has(.featured-products) .desktop-view > .row:nth-of-type(even)::before { left: auto; right: calc(56% + 2.5rem); }
}

/* Featured Products: use the room photos (no script needed) */
html body section:has(.featured-products) img[alt="NATURE PRO" i] { content: url("/images/Product/featured-natural-n-v5.webp"); }
html body section:has(.featured-products) img[alt="WAVE RIDER" i] { content: url("/images/Product/featured-natural-w-v5.webp"); }
html body section:has(.featured-products) img[alt="SLEEP PRO ACTIVE" i] { content: url("/images/Product/featured-natural-sa-v5.webp"); }

/* Featured Products: photo fills its side, no blank strips */
html body section:has(.featured-products) .desktop-view > .row > [class*="col-"]:has(> img) {
  background: none !important; padding: 0 !important; margin: 0 !important;
}
html body section:has(.featured-products) img.fade-up-down {
  max-width: none !important; max-height: none !important;
}
html body section:has(.featured-products) .desktop-view > .row > [class*="col-"] > img.fade-up-down {
  width: 100% !important; height: 100% !important; min-height: 460px; object-fit: cover !important;
}
@media (max-width: 991.98px) {
  html body section:has(.featured-products) .mobile-view .featured-products > img.fade-up-down {
    max-width: none !important; max-height: none !important;
  }
}

/* Thin lines everywhere */
html body section:has(.home-best-seller) .heading-title h2::after,
html body .xc-section .heading-title h2::after,
html body section:has(#shop-need) .heading-title h2::after,
html body section:has(.featured-products) .heading-title h2::after,
html body .xc-card .xc-name::after,
html body .featured-products > h2::after,
html body .find-mattress h4::after {
  height: 2px !important; width: 52px !important; border-radius: 2px !important;
}

/* Featured Products: phone layout (rounded photo, one-line chips, centred button) */
@media (max-width: 991.98px) {
  html body section:has(.featured-products) .mobile-view > .row { border-radius: 26px !important; overflow: hidden; }
  html body section:has(.featured-products) .mobile-view > .row::before { display: none !important; }
  html body section:has(.featured-products) .mobile-view .featured-products { padding: 0.9rem 0.9rem 1.7rem !important; }
  html body section:has(.featured-products) .mobile-view .featured-products > img.fade-up-down {
    order: 0; align-self: stretch !important; box-sizing: border-box !important;
    width: 100% !important; max-width: none !important; height: auto !important; max-height: none !important;
    aspect-ratio: 3 / 2 !important; object-fit: cover !important;
    margin: 0 0 1.3rem !important; padding: 0 !important; background: none !important;
    border-radius: 18px !important; clip-path: none !important; filter: none !important;
  }
  html body section:has(.featured-products) .mobile-view .featured-products > :not(img) { margin-left: 0.5rem; margin-right: 0.5rem; }
  html body section:has(.featured-products) .mobile-view .featured-products > ul {
    flex-wrap: nowrap !important; justify-content: center; gap: 0.45rem !important; align-self: stretch;
  }
  html body section:has(.featured-products) .mobile-view .featured-products > ul > li {
    flex: 0 1 auto; min-width: 0; gap: 0.4rem !important; padding: 0.28rem 0.75rem 0.28rem 0.28rem !important; white-space: nowrap;
  }
  html body section:has(.featured-products) .mobile-view .featured-products > ul > li img { width: 24px !important; height: 24px !important; padding: 3px; }
  html body section:has(.featured-products) .mobile-view .featured-products > ul > li p { font-size: 0.7rem !important; white-space: nowrap; }
  html body section:has(.featured-products) .mobile-view .featured-products > a { align-self: center !important; margin-top: 1.4rem !important; }
}
@media (max-width: 380px) {
  html body section:has(.featured-products) .mobile-view .featured-products > ul > li p { font-size: 0.64rem !important; }
  html body section:has(.featured-products) .mobile-view .featured-products > ul > li img { width: 20px !important; height: 20px !important; }
  html body section:has(.featured-products) .mobile-view .featured-products > ul > li { padding-right: 0.55rem !important; }
}

/* Featured Products: same spacing as the other homepage sections */
body:has(#home-banner) section:has(.featured-products) {
  margin-top: 0 !important; margin-bottom: 0 !important;
  padding-top: var(--sec-y, 2.25rem) !important; padding-bottom: var(--sec-y, 2.25rem) !important;
}
/* remove the extra space the old layout added around the cards */
body:has(#home-banner) section:has(.featured-products) .heading-title.text-center { margin-bottom: var(--head-gap, 1.5rem) !important; }
body:has(#home-banner) section:has(.featured-products) .desktop-view,
body:has(#home-banner) section:has(.featured-products) .mobile-view { padding-top: 0 !important; padding-bottom: 0 !important; margin-top: 0 !important; }
body:has(#home-banner) section:has(.featured-products) .desktop-view > .row.mt-6,
body:has(#home-banner) section:has(.featured-products) .mobile-view > .row.mt-6 { margin-top: 0 !important; }
/* same gap between the cards as the gap under the heading */
body:has(#home-banner) section:has(.featured-products) .desktop-view > .row,
body:has(#home-banner) section:has(.featured-products) .mobile-view > .row { margin-bottom: var(--head-gap, 1.5rem) !important; }
body:has(#home-banner) section:has(.featured-products) .desktop-view > .row:last-child,
body:has(#home-banner) section:has(.featured-products) .mobile-view > .row:last-child { margin-bottom: 0 !important; }

/* More space between all homepage sections */
body:has(#home-banner) { --sec-y: 3.75rem; --head-gap: 2.25rem; }
@media (max-width: 991.98px) { body:has(#home-banner) { --sec-y: 2.5rem; --head-gap: 1.6rem; } }
@media (max-width: 575.98px) { body:has(#home-banner) { --sec-y: 2.25rem; --head-gap: 1.4rem; } }

/* Find a store: new look */
html body section:has(.nearest-store) { margin: 0 !important; padding: var(--sec-y, 2.25rem) 0 !important; }
html body .nearest-store {
  position: relative; isolation: isolate; overflow: hidden;
  padding: clamp(1.75rem, 4vw, 3.75rem); border-radius: 34px; color: #fff;
  background: linear-gradient(120deg, #1d5412 0%, #3a8a1f 55%, #6aa81d 100%) !important;
  box-shadow: 0 22px 44px rgba(30, 60, 10, 0.2);
}
html body .nearest-store::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background-image: radial-gradient(rgba(255, 255, 255, 0.16) 1.5px, transparent 1.7px); background-size: 22px 22px;
  -webkit-mask-image: linear-gradient(120deg, transparent 15%, #000 85%); mask-image: linear-gradient(120deg, transparent 15%, #000 85%);
}
html body .nearest-store::after {
  content: "\f3c5"; font-family: "Font Awesome 6 Free"; font-weight: 900;
  position: absolute; z-index: -1; right: 3%; top: -1.5rem; pointer-events: none;
  font-size: clamp(9rem, 20vw, 19rem); line-height: 1; color: rgba(255, 255, 255, 0.09);
}
html body .nearest-store-info ul { display: block; margin: 0; padding: 0; list-style: none; }
html body .nearest-store-info ul > li:nth-child(2) { display: none !important; }
html body .nearest-store-info ul > li:first-child { width: auto !important; max-width: 40rem; padding: 0 !important; text-align: left; }
html body .nearest-store-info h4 {
  margin: 0; color: #fff; text-align: left; font-size: clamp(1.55rem, 2vw + 0.9rem, 2.6rem); font-weight: 800; line-height: 1.12; letter-spacing: -0.01em;
}
html body .nearest-store-info h4::before {
  content: "Store Locator"; display: block; width: max-content; margin: 0 0 1rem; padding: 0.3rem 0.95rem;
  border-radius: 999px; background: rgba(255, 255, 255, 0.16); border: 1px solid rgba(255, 255, 255, 0.4);
  font-size: 0.68rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase;
}
html body .nearest-store-info h4::after {
  content: ""; display: block; width: 52px; height: 2px; margin: 0.9rem 0 0; border-radius: 2px;
  background: var(--brand-strip, linear-gradient(90deg, #459bd6 0 20%, #50b1e4 20% 40%, #bcca05 40% 60%, #56aa30 60% 80%, #c9cf04 80% 100%));
}
html body .nearest-store-info p { max-width: 34rem; margin: 1.1rem 0 0; color: rgba(255, 255, 255, 0.93); text-align: left; font-size: 1.02rem; line-height: 1.7; }
html body .nearest-store-info .black-btn { margin-top: 1.6rem; text-align: left; }
html body .nearest-store .black-btn a,
html body .nearest-store .green-btn a {
  display: inline-flex; align-items: center; justify-content: center; padding: 0.65rem 1.8rem;
  background: transparent !important; color: #fff !important; border: 1.5px solid #fff !important; border-radius: 8px !important; box-shadow: none !important;
  font-size: 0.82rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; text-decoration: none !important;
  transition: background-color 0.25s ease, color 0.25s ease;
}
html body .nearest-store .black-btn a::after,
html body .nearest-store .green-btn a::after { content: "\2192"; margin-left: 0.6rem; transition: transform 0.25s ease; }
@media (hover: hover) {
  html body .nearest-store .black-btn a:hover, html body .nearest-store .green-btn a:hover { background: #fff !important; color: #2c6a16 !important; }
  html body .nearest-store .black-btn a:hover::after, html body .nearest-store .green-btn a:hover::after { transform: translateX(4px); }
}
/* the city cards */
html body .nearest-store .location { margin-top: 2.25rem; }
html body .nearest-store .location .owl-stage-outer { padding: 0.6rem 0 0.4rem; margin: -0.6rem 0 -0.4rem; }
html body .nearest-store .location-list {
  display: flex; flex-direction: column; align-items: center; gap: 0.55rem; padding: 0.95rem 0.5rem 0.8rem;
  background: rgba(255, 255, 255, 0.13); border: 1px solid rgba(255, 255, 255, 0.3); border-radius: 18px;
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); transition: transform 0.3s ease, background-color 0.3s ease;
}
html body .nearest-store .location-list img { width: 54px !important; height: 54px !important; padding: 7px; object-fit: contain; border-radius: 50%; background: #fff; }
html body .nearest-store .location-list p { margin: 0 !important; color: #fff !important; text-align: center; font-size: 0.86rem; font-weight: 600; line-height: 1.2; }
@media (hover: hover) {
  html body .nearest-store .location a:hover .location-list { transform: translateY(-5px); background: rgba(255, 255, 255, 0.22); }
}
html body .nearest-store .location .owl-nav { display: none !important; }
html body .nearest-store .location .owl-dots { display: flex !important; justify-content: center; align-items: center; gap: 8px; margin: 1.2rem 0 0 !important; }
html body .nearest-store .location .owl-dots .owl-dot { padding: 0; margin: 0; background: none; border: 0; }
html body .nearest-store .location .owl-dots .owl-dot span {
  display: block; width: 8px; height: 8px; margin: 0 !important; border-radius: 999px; background: rgba(255, 255, 255, 0.4) !important;
  transition: width 0.35s ease, background-color 0.35s ease;
}
html body .nearest-store .location .owl-dots .owl-dot.active span { width: 28px; background: var(--brand-strip, #fff) !important; }
@media (min-width: 992px) { html body .nearest-store .green-btn { display: none !important; } }
@media (max-width: 991.98px) {
  html body .nearest-store { border-radius: 26px; padding: 1.7rem 1.2rem 1.9rem; }
  html body .nearest-store-info .black-btn { display: none !important; }
  html body .nearest-store-info h4 { font-size: 1.55rem; }
  html body .nearest-store-info p { font-size: 0.95rem; line-height: 1.6; }
  html body .nearest-store .location { margin-top: 1.7rem; }
  html body .nearest-store .green-btn { margin-top: 1.5rem; text-align: center; }
  html body .nearest-store .location-list img { width: 46px !important; height: 46px !important; }
  html body .nearest-store .location-list p { font-size: 0.78rem; }
}

/* Find a store: new look */
html body section:has(.nearest-store) { margin: 0 !important; padding: var(--sec-y, 2.25rem) 0 !important; }
html body .nearest-store {
  position: relative; isolation: isolate; overflow: hidden;
  padding: clamp(1.75rem, 4vw, 3.75rem); border-radius: 34px; color: #fff;
  background: linear-gradient(120deg, #1d5412 0%, #3a8a1f 55%, #6aa81d 100%) !important;
  box-shadow: 0 22px 44px rgba(30, 60, 10, 0.2);
}
html body .nearest-store::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background-image: radial-gradient(rgba(255, 255, 255, 0.16) 1.5px, transparent 1.7px); background-size: 22px 22px;
  -webkit-mask-image: linear-gradient(120deg, transparent 15%, #000 85%); mask-image: linear-gradient(120deg, transparent 15%, #000 85%);
}
html body .nearest-store::after {
  content: "\f3c5"; font-family: "Font Awesome 6 Free"; font-weight: 900;
  position: absolute; z-index: -1; right: 3%; top: -1.5rem; pointer-events: none;
  font-size: clamp(9rem, 20vw, 19rem); line-height: 1; color: rgba(255, 255, 255, 0.09);
}
html body .nearest-store-info ul { display: block; margin: 0; padding: 0; list-style: none; }
html body .nearest-store-info ul > li:nth-child(2) { display: none !important; }
html body .nearest-store-info ul > li:first-child { width: auto !important; max-width: 40rem; padding: 0 !important; text-align: left; }
html body .nearest-store-info h4 {
  margin: 0; color: #fff; text-align: left; font-size: clamp(1.55rem, 2vw + 0.9rem, 2.6rem); font-weight: 800; line-height: 1.12; letter-spacing: -0.01em;
}
html body .nearest-store-info h4::before {
  content: "Store Locator"; display: block; width: max-content; margin: 0 0 1rem; padding: 0.3rem 0.95rem;
  border-radius: 999px; background: rgba(255, 255, 255, 0.16); border: 1px solid rgba(255, 255, 255, 0.4);
  font-size: 0.68rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase;
}
html body .nearest-store-info h4::after {
  content: ""; display: block; width: 52px; height: 2px; margin: 0.9rem 0 0; border-radius: 2px;
  background: var(--brand-strip, linear-gradient(90deg, #459bd6 0 20%, #50b1e4 20% 40%, #bcca05 40% 60%, #56aa30 60% 80%, #c9cf04 80% 100%));
}
html body .nearest-store-info p { max-width: 34rem; margin: 1.1rem 0 0; color: rgba(255, 255, 255, 0.93); text-align: left; font-size: 1.02rem; line-height: 1.7; }
html body .nearest-store-info .black-btn { margin-top: 1.6rem; text-align: left; }
html body .nearest-store .black-btn a,
html body .nearest-store .green-btn a {
  display: inline-flex; align-items: center; justify-content: center; padding: 0.65rem 1.8rem;
  background: transparent !important; color: #fff !important; border: 1.5px solid #fff !important; border-radius: 8px !important; box-shadow: none !important;
  font-size: 0.82rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; text-decoration: none !important;
  transition: background-color 0.25s ease, color 0.25s ease;
}
html body .nearest-store .black-btn a::after,
html body .nearest-store .green-btn a::after { content: "\2192"; margin-left: 0.6rem; transition: transform 0.25s ease; }
@media (hover: hover) {
  html body .nearest-store .black-btn a:hover, html body .nearest-store .green-btn a:hover { background: #fff !important; color: #2c6a16 !important; }
  html body .nearest-store .black-btn a:hover::after, html body .nearest-store .green-btn a:hover::after { transform: translateX(4px); }
}
/* the city cards */
html body .nearest-store .location { margin-top: 2.25rem; }
html body .nearest-store .location .owl-stage-outer { padding: 0.6rem 0 0.4rem; margin: -0.6rem 0 -0.4rem; }
html body .nearest-store .location-list {
  display: flex; flex-direction: column; align-items: center; gap: 0.55rem; padding: 0.95rem 0.5rem 0.8rem;
  background: rgba(255, 255, 255, 0.13); border: 1px solid rgba(255, 255, 255, 0.3); border-radius: 18px;
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); transition: transform 0.3s ease, background-color 0.3s ease;
}
html body .nearest-store .location-list img { width: 54px !important; height: 54px !important; padding: 7px; object-fit: contain; border-radius: 50%; background: #fff; }
html body .nearest-store .location-list p { margin: 0 !important; color: #fff !important; text-align: center; font-size: 0.86rem; font-weight: 600; line-height: 1.2; }
@media (hover: hover) {
  html body .nearest-store .location a:hover .location-list { transform: translateY(-5px); background: rgba(255, 255, 255, 0.22); }
}
html body .nearest-store .location .owl-nav { display: none !important; }
html body .nearest-store .location .owl-dots { display: flex !important; justify-content: center; align-items: center; gap: 8px; margin: 1.2rem 0 0 !important; }
html body .nearest-store .location .owl-dots .owl-dot { padding: 0; margin: 0; background: none; border: 0; }
html body .nearest-store .location .owl-dots .owl-dot span {
  display: block; width: 8px; height: 8px; margin: 0 !important; border-radius: 999px; background: rgba(255, 255, 255, 0.4) !important;
  transition: width 0.35s ease, background-color 0.35s ease;
}
html body .nearest-store .location .owl-dots .owl-dot.active span { width: 28px; background: var(--brand-strip, #fff) !important; }
@media (min-width: 992px) { html body .nearest-store .green-btn { display: none !important; } }
@media (max-width: 991.98px) {
  html body .nearest-store { border-radius: 26px; padding: 1.7rem 1.2rem 1.9rem; }
  html body .nearest-store-info .black-btn { display: none !important; }
  html body .nearest-store-info h4 { font-size: 1.55rem; }
  html body .nearest-store-info p { font-size: 0.95rem; line-height: 1.6; }
  html body .nearest-store .location { margin-top: 1.7rem; }
  html body .nearest-store .green-btn { margin-top: 1.5rem; text-align: center; }
  html body .nearest-store .location-list img { width: 46px !important; height: 46px !important; }
  html body .nearest-store .location-list p { font-size: 0.78rem; }
}

/* Find a store: remove the theme's own green box */
html body .nearest-store .nearest-store-info,
html body .nearest-store .nearest-store-info ul,
html body .nearest-store .nearest-store-info ul > li {
  background: none !important; background-image: none !important; border: 0 !important; border-radius: 0 !important;
  box-shadow: none !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important;
}
html body .nearest-store .nearest-store-info::before,
html body .nearest-store .nearest-store-info::after,
html body .nearest-store .nearest-store-info ul::before,
html body .nearest-store .nearest-store-info ul::after { content: none !important; display: none !important; }
html body .nearest-store .nearest-store-info ul > li:first-child { max-width: 40rem; }

/* Find your perfect mattress v4: photo background + frosted-glass panel */
html body section:has(.find-mattress) {
  background-color: #1d5412 !important;
  background-image: url("/frontend/images/find-mattress-bg.webp"), linear-gradient(135deg, #1d5412, #3a8a1f) !important;
  background-size: cover !important; background-position: center !important; background-repeat: no-repeat !important;
}
/* soft dark layer so the glass and the text always read well */
html body section:has(.find-mattress)::before {
  width: auto; height: auto; max-width: none; max-height: none; inset: 0; right: 0; top: 0; border-radius: 0;
  background: linear-gradient(100deg, rgba(10, 30, 8, 0.45), rgba(10, 30, 8, 0.15) 60%, rgba(10, 30, 8, 0.35));
}
html body section:has(.find-mattress)::after { display: none !important; }
html body .find-mattress { background-image: none !important; }
/* the bed cut-out is not needed any more */
html body .find-mattress > ul > li:first-child { display: none !important; }
html body .find-mattress > ul { justify-content: center; }
/* frosted-glass panel */
html body .find-mattress > ul > li:last-child {
  position: relative; overflow: hidden; width: min(100%, 46rem) !important; max-width: 46rem; margin: clamp(2.5rem, 6vw, 5rem) auto !important;
  padding: clamp(1.75rem, 3.5vw, 3rem) clamp(1.25rem, 3.5vw, 3.25rem) !important;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.26), rgba(255, 255, 255, 0.08)) !important;
  -webkit-backdrop-filter: blur(16px) saturate(1.35); backdrop-filter: blur(16px) saturate(1.35);
  border: 1px solid rgba(255, 255, 255, 0.5) !important; border-radius: 28px !important;
  box-shadow: 0 24px 50px rgba(0, 0, 0, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.6) !important;
}
/* mirror shine across the glass */
html body .find-mattress > ul > li:last-child::before {
  content: ""; position: absolute; top: -30%; left: -30%; width: 60%; height: 160%; pointer-events: none;
  background: linear-gradient(100deg, rgba(255, 255, 255, 0) 30%, rgba(255, 255, 255, 0.28) 50%, rgba(255, 255, 255, 0) 70%);
  transform: rotate(8deg);
}
html body .find-mattress > ul > li:last-child > * { position: relative; }
html body .find-mattress h4 { text-shadow: 0 2px 10px rgba(0, 0, 0, 0.35); }
html body .find-mattress p { text-shadow: 0 1px 6px rgba(0, 0, 0, 0.35); }
html body .find-mattress .black-btn a { background: #fff !important; color: #2c6a16 !important; border-color: #fff !important; text-shadow: none; text-decoration: none !important; }
html body .find-mattress .black-btn a::after { content: "\2192"; margin-left: 0.6rem; transition: transform 0.25s ease; }
@media (hover: hover) {
  html body .find-mattress .black-btn a:hover { background: transparent !important; color: #fff !important; }
  html body .find-mattress .black-btn a:hover::after { transform: translateX(4px); }
}
@media (max-width: 991.98px) {
  html body .find-mattress > ul { display: block; }
  html body .find-mattress > ul > li:last-child { margin: 2rem auto !important; border-radius: 22px !important; padding: 1.6rem 1.2rem !important; }
}

/* Find your perfect mattress v5: bedroom photo + green frosted glass */
html body section:has(.find-mattress) {
  background-color: #1d5412 !important;
  background-image: url("/frontend/images/find-mattress-bg.webp"), linear-gradient(135deg, #1d5412, #3a8a1f) !important;
  background-size: cover !important; background-position: center !important; background-repeat: no-repeat !important;
}
html body section:has(.find-mattress)::before {
  width: auto; height: auto; max-width: none; max-height: none; inset: 0; right: 0; top: 0; border-radius: 0;
  background: linear-gradient(100deg, rgba(14, 44, 10, 0.62), rgba(14, 44, 10, 0.4) 55%, rgba(14, 44, 10, 0.55));
}
html body section:has(.find-mattress)::after { display: none !important; }
html body .find-mattress { background-image: none !important; }
html body .find-mattress > ul > li:first-child { display: none !important; }
html body .find-mattress > ul { justify-content: center; }
html body .find-mattress > ul > li:last-child {
  position: relative; overflow: hidden; width: min(100%, 46rem) !important; max-width: 46rem; margin: clamp(2.5rem, 6vw, 5rem) auto !important;
  padding: clamp(1.75rem, 3.5vw, 3rem) clamp(1.25rem, 3.5vw, 3.25rem) !important;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.22), rgba(255, 255, 255, 0.06)), rgba(20, 64, 14, 0.32) !important;
  -webkit-backdrop-filter: blur(16px) saturate(1.35); backdrop-filter: blur(16px) saturate(1.35);
  border: 1px solid rgba(255, 255, 255, 0.5) !important; border-radius: 28px !important;
  box-shadow: 0 24px 50px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.6) !important;
}
html body .find-mattress > ul > li:last-child::before {
  content: ""; position: absolute; top: -30%; left: -30%; width: 60%; height: 160%; pointer-events: none;
  background: linear-gradient(100deg, rgba(255, 255, 255, 0) 30%, rgba(255, 255, 255, 0.24) 50%, rgba(255, 255, 255, 0) 70%);
  transform: rotate(8deg);
}
html body .find-mattress > ul > li:last-child > * { position: relative; }
html body .find-mattress h4 { text-shadow: 0 2px 10px rgba(0, 0, 0, 0.35); }
html body .find-mattress p { text-shadow: 0 1px 6px rgba(0, 0, 0, 0.35); }
html body .find-mattress .black-btn a { background: #fff !important; color: #2c6a16 !important; border-color: #fff !important; text-shadow: none; text-decoration: none !important; }
html body .find-mattress .black-btn a::after { content: "\2192"; margin-left: 0.6rem; transition: transform 0.25s ease; }
@media (hover: hover) {
  html body .find-mattress .black-btn a:hover { background: transparent !important; color: #fff !important; }
  html body .find-mattress .black-btn a:hover::after { transform: translateX(4px); }
}
@media (max-width: 991.98px) {
  html body .find-mattress > ul { display: block; }
  html body .find-mattress > ul > li:last-child { margin: 2rem auto !important; border-radius: 22px !important; padding: 1.6rem 1.2rem !important; }
}

/* Find your perfect mattress v6: centred, bigger panel, both top corners rounded */
html body section:has(.find-mattress) {
  padding-top: clamp(3rem, 6vw, 5.5rem) !important; padding-bottom: clamp(3rem, 6vw, 5.5rem) !important;
  border-radius: clamp(24px, 3vw, 44px) clamp(24px, 3vw, 44px) 0 0 !important;
}
html body section .find-mattress > ul {
  display: flex !important; justify-content: center !important; align-items: center !important;
  width: 100% !important; margin: 0 !important; padding: 0 !important;
}
html body section .find-mattress > ul > li:last-child {
  flex: 0 1 58rem !important; width: auto !important; max-width: 58rem !important;
  margin: 0 auto !important; float: none !important; left: auto !important; text-align: center !important;
  padding: clamp(2rem, 4vw, 3.6rem) clamp(1.5rem, 4vw, 4rem) !important;
  border-radius: 32px !important;
}
html body .find-mattress h4 { font-size: clamp(1.8rem, 2.4vw + 1rem, 3rem); }
html body .find-mattress p { max-width: 44rem; font-size: clamp(1rem, 0.5vw + 0.9rem, 1.15rem); line-height: 1.65; }
html body .find-mattress ul ul { gap: 1.2rem; margin-bottom: 1.8rem; }
html body .find-mattress ul ul li img { width: clamp(46px, 4vw, 64px) !important; opacity: 1; }
html body .find-mattress .black-btn a { padding: 0.85rem 2.2rem; font-size: 0.92rem; }
@media (max-width: 991.98px) {
  html body section:has(.find-mattress) { padding-top: 2.25rem !important; padding-bottom: 2.25rem !important; }
  html body section .find-mattress > ul { display: block !important; }
  html body section .find-mattress > ul > li:last-child { max-width: 100% !important; border-radius: 22px !important; padding: 1.8rem 1.2rem !important; }
  html body .find-mattress h4 { font-size: 1.7rem; }
  html body .find-mattress ul ul li img { width: 42px !important; }
}

/* Find your perfect mattress v7: new bedroom photo + phone button fix */
html body section:has(.find-mattress) {
  background-image: url("/frontend/images/find-mattress-bedroom.webp"), linear-gradient(135deg, #1d5412, #3a8a1f) !important;
}
@media (max-width: 991.98px) {
  html body .find-mattress .black-btn a {
    padding: 0.75rem 1.4rem; font-size: 0.8rem !important; letter-spacing: 0.03em; white-space: nowrap;
  }
}

/* Featured Products: one continuous slanted line through all three photos (desktop) */
@media (min-width: 992px) {
  /* card 1: photo left, edge runs from 56% (top) to 52% (bottom) */
  html body section:has(.featured-products) .desktop-view > .row:nth-of-type(1) > [class*="col-"]:has(> img) {
    flex: 0 0 56% !important; max-width: 56% !important; clip-path: polygon(0 0, 100% 0, 92.857% 100%, 0 100%) !important;
  }
  html body section:has(.featured-products) .desktop-view > .row:nth-of-type(1) > [class*="col-"]:not(:has(> img)) { flex: 0 0 44% !important; max-width: 44% !important; }
  /* card 2: photo right, edge runs from 52% (top) to 48% (bottom) */
  html body section:has(.featured-products) .desktop-view > .row:nth-of-type(2) > [class*="col-"]:has(> img) {
    flex: 0 0 52% !important; max-width: 52% !important; clip-path: polygon(7.692% 0, 100% 0, 100% 100%, 0 100%) !important;
  }
  html body section:has(.featured-products) .desktop-view > .row:nth-of-type(2) > [class*="col-"]:not(:has(> img)) { flex: 0 0 48% !important; max-width: 48% !important; }
  /* card 3: photo left, edge runs from 48% (top) to 44% (bottom) */
  html body section:has(.featured-products) .desktop-view > .row:nth-of-type(3) > [class*="col-"]:has(> img) {
    flex: 0 0 48% !important; max-width: 48% !important; clip-path: polygon(0 0, 100% 0, 91.667% 100%, 0 100%) !important;
  }
  html body section:has(.featured-products) .desktop-view > .row:nth-of-type(3) > [class*="col-"]:not(:has(> img)) { flex: 0 0 52% !important; max-width: 52% !important; }
}

/* Mobile slider: shorter, fills the width, bottom trimmed a little */
@media (max-width: 767.98px) {
  html body #home-banner .item picture {
    display: block !important;
  }
  html body #home-banner .item img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 9 / 9 !important;
    object-fit: cover !important;
        object-position: 60% 60% !important;
    max-height: none !important;
  }
}

/* Mobile: tighter space between sections */
@media (max-width: 991.98px) {
  body:has(#home-banner) { --sec-y: 2rem; --head-gap: 1.25rem; }
}
@media (max-width: 575.98px) {
  body:has(#home-banner) { --sec-y: 1.5rem; --head-gap: 1rem; }
  html body .main-banner { margin-bottom: 0 !important; padding-bottom: 0 !important; }
}

/* Find a store: colours only (background + green glass city boxes) */
html body .nearest-store {
  background-color: #0c3f69 !important;
  background-image:
    radial-gradient(rgba(255, 255, 255, .13) 1.2px, transparent 1.5px),
    radial-gradient(38% 55% at 90% 12%, rgba(60, 192, 240, .42), transparent 65%),
    radial-gradient(40% 60% at 5% 100%, rgba(120, 180, 36, .28), transparent 65%),
    linear-gradient(120deg, #0a3358 0%, #1560a0 50%, #2a86c4 100%) !important;
  background-size: 19px 19px, auto, auto, auto !important;
}
html body .nearest-store .location-list {
  background: linear-gradient(160deg, rgba(158, 206, 48, .88) 0%, rgba(120, 180, 36, .82) 100%) !important;
  border-color: rgba(215, 240, 140, .65) !important;
  box-shadow: 0 8px 20px rgba(0, 0, 0, .22), inset 0 1px 0 rgba(255, 255, 255, .45) !important;
  -webkit-backdrop-filter: blur(6px) saturate(1.2) !important;
  backdrop-filter: blur(6px) saturate(1.2) !important;
}

/* Find a store: keep the city icons visible on hover */
html body .nearest-store .location a:hover .location-list img,
html body .nearest-store .location .item:hover .location-list img,
html body .nearest-store .location .location-list:hover img,
html body .nearest-store .location .location-list img {
  filter: none !important;
  -webkit-filter: none !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
}

/* Rest Easy section: "Homegrown dawn" redesign v2 (full width, round bottom corners) */
html body section:has(.mattress-stack) { margin: 0 !important; padding: var(--sec-y, 3.75rem) 0 !important; overflow-x: clip; }
html body .mattress-stack {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
  align-items: center;
  gap: clamp(1.5rem, 4vw, 4rem);
  min-height: 0 !important;
  height: auto !important;
  box-sizing: border-box !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
    padding: clamp(2.25rem, 4.5vw, 4rem) clamp(1.25rem, 5vw, 6rem) clamp(3rem, 6vw, 5rem) !important;
  border-radius: 0 0 clamp(24px, 3vw, 44px) clamp(24px, 3vw, 44px) !important;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(22% 38% at 74% 30%, rgba(255, 214, 102, .55), transparent 70%),
    radial-gradient(40% 60% at 74% 30%, rgba(255, 236, 180, .55), transparent 75%),
    linear-gradient(180deg, #e6f5fd 0%, #f4fafd 45%, #fdf8ea 100%) !important;
  box-shadow: 0 14px 30px rgba(31, 90, 40, .10);
}
html body .mattress-stack::before {
  content: ""; position: absolute; z-index: -1; left: 0; right: 0; bottom: 0; height: 46%;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 320' preserveAspectRatio='none'%3E%3Cpath fill='%23bcca05' fill-opacity='.35' d='M0 170 C240 90 420 120 640 150 S1100 70 1440 120 V320 H0Z'/%3E%3Cpath fill='%238EBF23' fill-opacity='.45' d='M0 215 C260 150 520 190 760 205 S1180 140 1440 185 V320 H0Z'/%3E%3Cpath fill='%2356aa30' fill-opacity='.55' d='M0 262 C300 220 600 250 900 258 S1260 225 1440 245 V320 H0Z'/%3E%3C/svg%3E") no-repeat bottom / 100% 100%;
}
html body .mattress-stack::after {
  content: "HOMEGROWN"; position: absolute; z-index: -1; left: 50%; top: 4%;
  transform: translateX(-50%);
  font-weight: 800; font-size: clamp(4rem, 13vw, 11rem); line-height: 1; letter-spacing: .04em;
  color: transparent; -webkit-text-stroke: 1.5px rgba(79, 122, 10, .14);
  white-space: nowrap; pointer-events: none;
  width: auto !important; height: auto !important;
  background: none !important; opacity: 1 !important;
}
html body .mattress-stack h3 {
  position: static !important; transform: none !important;
  margin: 0 !important; padding: 0 !important;
  color: #17351b !important; text-align: left !important;
  font-weight: 800 !important; font-size: clamp(1.7rem, 3.2vw, 3rem) !important; line-height: 1.12 !important;
}
html body .mattress-stack h3 span {
  display: table; margin: 0 0 1rem;
  padding: .45rem 1.05rem; border-radius: 999px;
  background: #17351b; color: #ffffff !important;
  font-size: clamp(.72rem, 1vw, .82rem) !important; font-weight: 700 !important;
  letter-spacing: .14em; text-transform: uppercase; line-height: 1.2;
}
html body .mattress-stack h3::after {
  content: ""; display: block; width: 52px; height: 2px; margin-top: 1.2rem;
  background: linear-gradient(90deg,#459bd6 0 20%,#50b1e4 20% 40%,#bcca05 40% 60%,#56aa30 60% 80%,#c9cf04 80% 100%);
}
html body .mattress-stack .mattress-img {
  position: relative !important; inset: auto !important; transform: none !important;
  margin: 0 !important; width: 100% !important; max-width: none !important;
  display: flex; justify-content: center;
}
html body .mattress-stack .mattress-img::after {
  content: ""; position: absolute; z-index: -1; left: 12%; right: 12%; bottom: 0; height: 14%;
  background: radial-gradient(50% 50% at 50% 50%, rgba(23, 53, 27, .30), transparent 70%);
}
html body .mattress-stack .mattress-img::before {
  content: ""; position: absolute; z-index: 2; top: -6%; right: 2%;
  width: clamp(84px, 9vw, 128px); aspect-ratio: 1;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cdefs%3E%3Cpath id='c' d='M100 100 m-74 0 a74 74 0 1 1 148 0 a74 74 0 1 1 -148 0'/%3E%3C/defs%3E%3Ccircle cx='100' cy='100' r='96' fill='%23ffffff'/%3E%3Ccircle cx='100' cy='100' r='92' fill='none' stroke='%238EBF23' stroke-width='2' stroke-dasharray='3 5'/%3E%3Ctext font-family='Arial, Helvetica, sans-serif' font-size='15.5' font-weight='700' letter-spacing='3' fill='%234f7a0a'%3E%3CtextPath href='%23c'%3EMADE IN INDIA %E2%80%A2 100%25 HOMEGROWN %E2%80%A2 %3C/textPath%3E%3C/text%3E%3Ccircle cx='100' cy='100' r='44' fill='%238EBF23'/%3E%3Cpath fill='%23ffffff' d='M100 74 C122 84 124 108 102 126 C99 112 92 104 80 100 C92 98 98 92 100 74Z'/%3E%3Cpath d='M84 122 Q96 108 104 92' stroke='%234f7a0a' stroke-width='2.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center / contain;
  filter: drop-shadow(0 8px 14px rgba(23, 53, 27, .22));
  animation: reBadgeSpin 22s linear infinite;
}
@keyframes reBadgeSpin { to { transform: rotate(360deg); } }
html body .mattress-stack .mattress-img img {
  position: relative !important; display: block;
    width: 100% !important; max-width: 860px !important; height: auto !important;
  animation: none !important; transform: none !important;
}
@media (max-width: 767.98px) {
  html body .mattress-stack { grid-template-columns: 1fr; text-align: center; gap: 1.5rem; }
  html body .mattress-stack::after { display: none; }
  html body .mattress-stack h3 { text-align: center !important; }
  html body .mattress-stack h3 span { margin: 0 auto .85rem; }
  html body .mattress-stack h3::after { margin: 1rem auto 0; }
  html body .mattress-stack h3 br { display: none; }
  html body .mattress-stack .mattress-img::before { top: -14%; right: 0; width: 78px; }
}
@media (prefers-reduced-motion: reduce) {
  html body .mattress-stack .mattress-img::before { animation: none; }
}

/* Testimonials (Trusted by 1M+) redesign v2: real review-card layout */
html body section:has(#happy-consumers) {
  margin: 0 !important;
  padding: var(--sec-y, 3.75rem) 0 !important;
  background: linear-gradient(180deg, #f6faee 0%, #ffffff 100%) !important;
}
html body section:has(#happy-consumers) .heading-title { padding-top: 0 !important; margin-bottom: var(--head-gap, 2.25rem) !important; }

/* Side padding so cards never touch the edges */
html body section:has(#happy-consumers) .testimonials {
  position: relative;
  padding: 0 clamp(1rem, 4vw, 3.5rem) !important;
}

/* Track: equal heights, room for shadows */
html body #happy-consumers .owl-stage-outer { padding: 10px 4px 26px; }
html body #happy-consumers .owl-stage { display: flex; }
html body #happy-consumers .owl-item { display: flex; }
html body #happy-consumers .owl-item > .item { display: flex; width: 100%; }

/* Card */
html body #happy-consumers .consumers-review {
  position: relative;
  display: flex; flex-direction: column;
  width: 100%;
  margin: 0 !important;
  padding: 1.35rem 1.4rem 1.5rem !important;
  background: #ffffff !important;
  border: 1px solid #e6ecdf !important;
  border-radius: 16px !important;
  box-shadow: 0 6px 18px rgba(31, 60, 20, .07) !important;
  transform: none !important; opacity: 1 !important;
  transition: box-shadow .3s ease, border-color .3s ease;
}
html body #happy-consumers .consumers-review:hover {
  border-color: rgba(142, 191, 35, .55) !important;
  box-shadow: 0 12px 28px rgba(31, 60, 20, .12) !important;
}

/* 1. Reviewer row at the top */
html body #happy-consumers .consumers-name {
  order: -1;
  display: grid !important;
  grid-template-columns: 46px 1fr;
  grid-template-rows: auto auto;
  column-gap: .8rem;
  align-items: center;
  margin: 0 0 .9rem !important; padding: 0 0 .9rem !important;
  border: 0 !important;
  border-bottom: 1px solid #eef2e8 !important;
  text-align: left !important;
}
html body #happy-consumers .consumers-name::before {
  content: "\f007";
  grid-row: 1 / 3;
  display: grid; place-items: center;
  width: 46px; height: 46px; border-radius: 50%;
  font-family: "Font Awesome 6 Free"; font-weight: 900; font-size: 1rem;
  color: #ffffff; background: #8EBF23;
}
html body #happy-consumers .consumers-name:has(.cr-avatar)::before { display: none; }
html body #happy-consumers .cr-avatar {
  grid-row: 1 / 3;
  display: grid; place-items: center;
  width: 46px; height: 46px; border-radius: 50%;
  color: #ffffff; font-weight: 700; font-size: 1rem; letter-spacing: .02em;
  user-select: none;
}
html body #happy-consumers .consumers-name h4 {
  margin: 0 !important; color: #1d2a17 !important;
  font-size: 1rem !important; font-weight: 700 !important; line-height: 1.25 !important;
}
html body #happy-consumers .consumers-name p {
  margin: .15rem 0 0 !important; color: #707b69 !important;
  font-size: .82rem !important; line-height: 1.2 !important;
}
html body #happy-consumers .consumers-name p::before {
  content: "\f3c5";
  font-family: "Font Awesome 6 Free"; font-weight: 900;
  margin-right: .35rem; color: #8EBF23;
}

/* 2. Stars under the reviewer */
html body #happy-consumers .consumers-review::before {
  content: "\f005\f005\f005\f005\f005";
  order: 0;
  font-family: "Font Awesome 6 Free"; font-weight: 900;
  font-size: .85rem; letter-spacing: .2em;
  color: #f5b301;
  margin-bottom: .6rem;
}

/* 3. Review text */
html body #happy-consumers .consumers-review > p {
  order: 1;
  flex: 1 1 auto;
  margin: 0 !important;
  color: #3e4a38 !important;
  font-size: .95rem !important; line-height: 1.65 !important;
  text-align: left !important;
}

/* Quote mark, top-right */
html body #happy-consumers .consumers-review::after {
  content: "\201D";
  position: absolute; right: 1.1rem; top: .2rem;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 4.5rem; line-height: 1;
  color: rgba(142, 191, 35, .25);
  pointer-events: none;
}

/* Dots */
html body #happy-consumers .owl-dots { margin-top: .25rem !important; }
html body #happy-consumers .owl-dots .owl-dot span {
  width: 8px !important; height: 8px !important; margin: 4px !important;
  background: #cfd8c6 !important; border-radius: 99px !important; transition: width .3s ease;
}
html body #happy-consumers .owl-dots .owl-dot.active span {
  width: 30px !important;
  background: linear-gradient(90deg,#459bd6 0 20%,#50b1e4 20% 40%,#bcca05 40% 60%,#56aa30 60% 80%,#c9cf04 80% 100%) !important;
}
/* Arrows */
html body #happy-consumers .owl-nav button {
  width: 42px !important; height: 42px !important; border-radius: 50% !important;
  background: #ffffff !important; color: #4f7a0a !important;
  box-shadow: 0 6px 16px rgba(31, 60, 20, .14) !important;
  border: 1px solid rgba(142, 191, 35, .3) !important;
}
html body #happy-consumers .owl-nav button:hover { background: #8EBF23 !important; color: #ffffff !important; }

@media (max-width: 767.98px) {
  html body #happy-consumers .consumers-review { padding: 1.2rem 1.15rem 1.3rem !important; }
  html body #happy-consumers .consumers-review > p { font-size: .9rem !important; }
}

/* FAQ section redesign v5: plain white, everything stacked top to bottom */
html body section:has(.faq) {
  margin: 0 !important;
  padding: var(--sec-y, 3.75rem) 0 !important;
  background: none !important;
}
html body section:has(.faq)::before,
html body section:has(.faq)::after { display: none !important; }

html body .faq {
  max-width: 900px;
  margin: 0 auto !important;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
html body .faq::before,
html body .faq::after { display: none !important; }

/* 1. Heading */
html body .faq .heading-title { text-align: center !important; margin: 0 0 1rem !important; padding: 0 !important; background: none !important; }
html body .faq .heading-title h2 {
  margin: 0 !important; color: #17351b !important; text-align: center !important;
  font-weight: 800 !important; line-height: 1.15 !important;
  font-size: clamp(1.7rem, 2.8vw, 2.5rem) !important;
}
html body .faq .heading-title h2::after {
  content: ""; display: block; width: 52px; height: 2px; margin: 1rem auto 0;
  background: linear-gradient(90deg,#459bd6 0 20%,#50b1e4 20% 40%,#bcca05 40% 60%,#56aa30 60% 80%,#c9cf04 80% 100%);
}

/* 2. Intro text */
html body .faq .faq-list {
  display: block !important;
  padding: 0 !important;
  background: none !important; border: 0 !important; border-radius: 0 !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
}
html body .faq .faq-list > .mb-4 {
  max-width: 760px;
  margin: 0 auto var(--head-gap, 2.25rem) !important;
  text-align: center !important;
  background: none !important;
}
html body .faq .faq-list > .mb-4 p {
  margin: 0 0 .4rem !important; padding: 0 !important;
  background: none !important; border: 0 !important; box-shadow: none !important;
  color: #5b6754 !important; font-size: .95rem !important; line-height: 1.7 !important; font-weight: 400 !important;
}
html body .faq .faq-list > .mb-4 p::after { display: none !important; }
html body .faq .faq-list > .mb-4 a { color: #4f7a0a !important; font-weight: 600; }

/* 3. Questions */
html body .faq #accordionExample {
  display: block !important;
  border-top: 1px solid #e6ecdf;
  background: none !important;
}
html body .faq #accordionExample .card {
  border: 0 !important;
  border-bottom: 1px solid #e6ecdf !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
}
html body .faq #accordionExample .card-header {
  position: relative; padding: 0 !important; background: none !important; border: 0 !important;
}
html body .faq #accordionExample .card-header h2 { margin: 0 !important; font-size: inherit !important; }
html body .faq #accordionExample .collapsible-link {
  display: block; width: 100%;
  padding: 1.15rem 3rem 1.15rem 0 !important;
  text-align: left !important; white-space: normal !important;
  font-size: 1rem !important; font-weight: 600 !important; line-height: 1.45 !important;
  color: #1d2a17 !important; text-decoration: none !important;
  background: none !important; border: 0 !important; box-shadow: none !important;
  transition: color .25s ease;
}
html body .faq #accordionExample .collapsible-link:hover,
html body .faq #accordionExample .collapsible-link:not(.collapsed) { color: #4f7a0a !important; }
html body .faq #accordionExample .collapsible-link::before,
html body .faq #accordionExample .collapsible-link::after { display: none !important; }
html body .faq #accordionExample .card-header h2::after {
  content: "+";
  position: absolute; right: .25rem; top: 50%;
  font-size: 1.5rem; font-weight: 400; line-height: 1; color: #4f7a0a;
  transform: translateY(-50%) rotate(0deg);
  transition: transform .3s ease;
  pointer-events: none;
}
html body .faq #accordionExample .card-header:has(.collapsible-link:not(.collapsed)) h2::after {
  transform: translateY(-50%) rotate(45deg);
}
html body .faq #accordionExample .card-body {
  padding: 0 3rem 1.25rem 0 !important;
  background: none !important;
  color: #4a5644; font-size: .95rem; line-height: 1.7;
}
html body .faq #accordionExample .card-body p { color: #4a5644 !important; line-height: 1.7 !important; }
html body .faq #accordionExample .card-body h6 { margin: .2rem 0 .35rem; color: #17351b; }
html body .faq #accordionExample .card-body .mb-4 { margin-bottom: 1rem !important; }

@media (max-width: 575.98px) {
  html body .faq #accordionExample .collapsible-link { font-size: .95rem !important; padding: 1rem 2.5rem 1rem 0 !important; }
  html body .faq #accordionExample .card-body { padding: 0 0 1.1rem 0 !important; }
}
@media (prefers-reduced-motion: reduce) {
  html body .faq #accordionExample .card-header h2::after,
  html body .faq #accordionExample .collapsible-link { transition: none; }
}

/* Align sections with Featured Products (same left and right edge) */

/* Rest Easy: background edge to edge, content on the page's content line */
html body .mattress-stack {
  padding-left: max(1rem, calc(50vw - 50%)) !important;
  padding-right: max(1rem, calc(50vw - 50%)) !important;
}

/* Reviews: no extra side padding */
html body section:has(#happy-consumers) .testimonials {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* FAQ: full content width */
html body .faq { max-width: none !important; }

/* FAQ: heading and intro aligned to the left edge */
html body .faq .heading-title,
html body .faq .heading-title h2 {
  text-align: left !important;
}
html body .faq .heading-title h2::after {
  margin: 1rem 0 0 !important;
}
html body .faq .faq-list > .mb-4 {
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: left !important;
}

/* Find a store: align text with city boxes, smaller heading, shorter panel, bigger boxes */

/* 1. City slider starts on the same line as the text */
html body .nearest-store .location,
html body .nearest-store .location #location {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
}

/* 2. Smaller main heading */
html body .nearest-store .nearest-store-info h4 {
  font-size: clamp(1.45rem, 2.1vw, 2rem) !important;
  line-height: 1.2 !important;
}

/* 3. Shorter panel (desktop) */
@media (min-width: 992px) {
  html body .nearest-store {
    padding-top: clamp(1.75rem, 2.6vw, 2.5rem) !important;
    padding-bottom: clamp(1.5rem, 2.2vw, 2.25rem) !important;
  }
  html body .nearest-store .nearest-store-info {
    margin-bottom: 1.5rem !important;
    padding-bottom: 0 !important;
  }
  html body .nearest-store .nearest-store-info ul,
  html body .nearest-store .nearest-store-info li {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
  html body .nearest-store .location { margin-top: 0 !important; }
}

/* 4. Bigger city boxes */
html body .nearest-store .location-list {
  padding: 1.35rem .75rem 1.2rem !important;
}
html body .nearest-store .location-list img {
  width: 64px !important;
  height: 64px !important;
  max-width: none !important;
}
html body .nearest-store .location-list p {
  margin-top: .75rem !important;
  font-size: 1rem !important;
}

/* Best Sellers: all 8 products, 4 per row (2 rows) on desktop */
html body section:has(.home-best-seller) .row.two-display > div:has(.home-best-seller) {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
@media (min-width: 992px) {
  html body section:has(.home-best-seller) .container .row.two-display {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    column-gap: 24px !important;
    row-gap: 28px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  html body section:has(.home-best-seller) .container .row.two-display > div:has(.home-best-seller) {
    flex: none !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  html body section:has(.home-best-seller) .container .row.two-display > .col-md-12 {
    grid-column: 1 / -1 !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
  }
}

/* Footer redesign: modern, square corners (keeps the footer's own colour) */
html body footer {
  position: relative;
  margin: 0 !important;
  padding: clamp(3rem, 5vw, 4.5rem) 0 0 !important;
  border-radius: 0 !important;
  font-size: .92rem;
}
html body footer::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px;
  background: linear-gradient(90deg,#459bd6 0 20%,#50b1e4 20% 40%,#bcca05 40% 60%,#56aa30 60% 80%,#c9cf04 80% 100%);
}
html body footer * { border-radius: 0 !important; }
html body footer a { text-decoration: none !important; transition: color .2s ease; }
html body footer a:hover { color: #c9e37a !important; }
html body footer > .container > .row:first-child { row-gap: 2rem; }

/* Brand column */
html body footer .footer-logo { text-align: left !important; margin: 0 0 1.5rem !important; padding: 0 !important; background: none !important; }
html body footer .footer-logo > img { max-width: 170px; height: auto; }
html body footer .footer-logo h6 { margin: .75rem 0 0 !important; letter-spacing: .08em; text-transform: uppercase; font-size: .8rem !important; }
html body footer .trust-brand { display: inline-flex; align-items: center; gap: .6rem; margin-top: 1rem !important; padding: .45rem .8rem; border: 1px solid rgba(255, 255, 255, .2); }
html body footer .trust-brand ul { margin: 0 !important; }
html body footer .trust-brand h5 { margin: 0 !important; font-size: .72rem !important; letter-spacing: .12em; text-transform: uppercase; }

html body footer .address ul { list-style: none; margin: 0 !important; padding: 0 !important; display: grid; gap: .9rem; }
html body footer .address li { display: flex !important; align-items: flex-start; gap: .85rem; margin: 0 !important; }
html body footer .address li > span:first-child {
  flex: 0 0 38px; width: 38px; height: 38px; display: grid; place-items: center;
  border: 1px solid rgba(255, 255, 255, .3); background: rgba(255, 255, 255, .08);
  font-size: .95rem;
}
html body footer .address p { margin: 0 !important; line-height: 1.6; padding-top: .45rem; }

/* Column headings */
html body footer .quick-link > p,
html body footer .follow-us > p {
  position: relative;
  margin: 0 0 1.25rem !important; padding-bottom: .7rem !important;
  font-size: .82rem !important; font-weight: 700 !important;
  letter-spacing: .14em; text-transform: uppercase;
}
html body footer .quick-link > p::after,
html body footer .follow-us > p::after {
  content: ""; position: absolute; left: 0; bottom: 0; width: 28px; height: 2px; background: #8EBF23;
}

/* Link lists */
html body footer .quick-link ul { list-style: none; margin: 0 !important; padding: 0 !important; }
html body footer .quick-link li { margin: 0 0 .65rem !important; padding: 0 !important; }
html body footer .quick-link li a {
  display: inline-flex; align-items: center; gap: 0;
  font-size: .92rem;
  transition: color .2s ease, transform .2s ease;
}
html body footer .quick-link li a::before {
  content: ""; width: 0; height: 1.5px; background: currentColor; transition: width .2s ease, margin .2s ease;
}
html body footer .quick-link li a:hover { transform: translateX(2px); }
html body footer .quick-link li a:hover::before { width: 10px; margin-right: .45rem; }

/* Social icons: square */
html body footer .follow-us ul { list-style: none; display: flex; flex-wrap: wrap; gap: .3rem; margin: 0 !important; padding: 0 !important; }
html body footer .follow-us li { margin: 0 !important; }
html body footer .follow-us li a {
  display: grid; place-items: center; width: 34px; height: 34px;
  border: 1px solid rgba(255, 255, 255, .3) !important; background: transparent !important;
  font-size: 1rem;
  transition: background .2s ease, border-color .2s ease, color .2s ease;
}
html body footer .follow-us li a:hover { background: #8EBF23 !important; border-color: #8EBF23 !important; color: #ffffff !important; }

/* Bottom bar */
html body footer .hr-line { margin: clamp(2.5rem, 4vw, 3.5rem) 0 0 !important; padding: 0 !important; }
html body footer .hr-line hr { margin: 0 !important; border: 0 !important; border-top: 1px solid rgba(255, 255, 255, .15) !important; opacity: 1; }
html body footer .footer-privacy-terms { align-items: center; padding: 1.1rem 0 !important; margin-top: 0 !important; }
html body footer .copy-right p { margin: 0 !important; font-size: .82rem !important; }
@media (min-width: 768px) {
  html body footer .footer-privacy-terms > .col-md-2 { text-align: right; }
}

/* Popular search strip above the footer */
html body .popular-search {
  display: flex; flex-wrap: wrap; align-items: center; gap: .5rem;
  margin: 0 !important; padding: 1.25rem 0 !important;
}
html body .popular-search span { margin-right: .35rem; font-weight: 700; font-size: .85rem; text-transform: uppercase; letter-spacing: .08em; }
html body .popular-search a {
  display: inline-block; padding: .3rem .7rem !important; margin: 0 !important;
  border: 1px solid #dfe7d6; border-radius: 0 !important;
  font-size: .82rem; text-decoration: none !important;
  transition: border-color .2s ease, color .2s ease;
}
html body .popular-search a:hover { border-color: #8EBF23; color: #4f7a0a !important; }

@media (max-width: 767.98px) {
  html body footer { padding-top: 2.5rem !important; }
  /* Quick Links and Shop by side by side on phones */
  html body footer > .container > .row:first-child > .col-md-2:nth-child(2),
  html body footer > .container > .row:first-child > .col-md-3 { flex: 0 0 50% !important; max-width: 50% !important; width: 50% !important; }
  html body footer .footer-privacy-terms { text-align: center; row-gap: .35rem; }
  html body footer .footer-privacy-terms > .col-sm-6 { flex: 0 0 50% !important; max-width: 50% !important; width: 50% !important; }
  html body footer .footer-privacy-terms > [class*="col-"] { text-align: center !important; }
}

/* Footer v2: brand column redesign + mobile dropdowns */
html body footer .trust-brand { display: none !important; }
html body footer .footer-logo > img {
  display: inline-block; max-width: 190px; height: auto;
  background: #ffffff; padding: .6rem .9rem;
  box-shadow: 0 6px 16px rgba(0, 0, 0, .08);
}
html body footer .footer-logo h6 { margin: .9rem 0 0 !important; color: #ffffff !important; }
html body footer .address { max-width: 430px; }
html body footer .address ul { gap: 0 !important; }
html body footer .address li {
  align-items: center !important;
  padding: .8rem 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, .25);
}
html body footer .address li:last-child { border-bottom: 0; }
html body footer .address li > span:first-child {
  flex: 0 0 36px !important; width: 36px !important; height: 36px !important;
  background: #ffffff !important; border: 0 !important;
  color: #56aa30 !important; font-size: .95rem;
}
html body footer .address p { padding-top: 0 !important; color: #ffffff !important; }
html body footer .address a { color: #ffffff !important; }

/* Mobile: Quick Links, Shop by and Help & Support as dropdowns */
@media (max-width: 767.98px) {
  html body footer > .container > .row:first-child { row-gap: 0 !important; }
  html body footer > .container > .row:first-child > [class*="col-md-"]:nth-child(n) {
    flex: 0 0 100% !important; max-width: 100% !important; width: 100% !important;
  }
  html body footer .address { margin-bottom: 1.25rem; }
  html body footer .quick-link,
  html body footer .quick-link.mt-4 {
    margin: 0 !important;
    border-top: 1px solid rgba(255, 255, 255, .3);
  }
  html body footer .quick-link > p {
    display: flex !important; justify-content: space-between; align-items: center;
    margin: 0 !important; padding: 1rem 0 !important;
    cursor: pointer; user-select: none;
  }
  html body footer .quick-link > p::after {
    content: "+" !important;
    position: static !important; width: auto !important; height: auto !important;
    background: none !important;
    font-size: 1.4rem; font-weight: 400; line-height: 1; letter-spacing: 0;
  }
  html body footer .quick-link.is-open > p::after { content: "\2212" !important; }
  html body footer .quick-link > ul { display: none !important; padding: 0 0 1rem !important; }
  html body footer .quick-link.is-open > ul { display: block !important; }
  html body footer .follow-us { padding: 1.25rem 0; border-top: 1px solid rgba(255, 255, 255, .3); }
  html body footer .follow-us > p { margin-bottom: 1rem !important; }
}

/* Footer v3: rounded logo, Help & Support above Follow Us */
html body footer .footer-logo > img { border-radius: 12px !important; }
@media (max-width: 767.98px) {
  html body footer .follow-us.mt-4 { margin-top: 0 !important; }
}

/* Footer logo: no white tile, dark shadow around the letters */
html body footer .footer-logo > img {
  background: none !important;
  padding: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  max-width: 190px;
  filter: drop-shadow(0 2px 3px rgba(0, 0, 0, .35)) drop-shadow(0 0 1px rgba(0, 0, 0, .3));
}

/* Footer contact icons: no white box, white icon with dark shadow */
html body footer .address li > span:first-child {
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #ffffff !important;
  font-size: 1.15rem !important;
  text-shadow: 0 2px 3px rgba(0, 0, 0, .35), 0 0 1px rgba(0, 0, 0, .3);
}

/* Footer: copyright centred */
html body footer .footer-privacy-terms { justify-content: center !important; }
html body footer .footer-privacy-terms .copy-right,
html body footer .footer-privacy-terms .copy-right p { text-align: center !important; }

/* Header v2: blue strip + one main bar (desktop) */
html body header.hdr2 { background: #ffffff !important; padding: 0 !important; }
html body header.hdr2 .hdr-main {
  position: relative; z-index: 1030;
  background: #ffffff;
  border-bottom: 1px solid #edf1e8;
  box-shadow: 0 4px 14px rgba(0, 0, 0, .05);
}
html body header.hdr2 .hdr-row {
  position: relative;
  display: flex; align-items: center; gap: 1.25rem;
  min-height: 80px;
}
html body header.hdr2 .hdr-logo { flex: 0 0 auto; margin: 0 !important; padding: 0 !important; }
html body header.hdr2 .hdr-logo img { display: block; height: 52px; width: auto; }

/* Menu in the middle */
html body header.hdr2 .hdr-nav,
html body header.hdr2 .hdr-nav .navbar-collapse,
html body header.hdr2 .hdr-nav .navbar-nav { position: static !important; }
html body header.hdr2 .hdr-nav { flex: 1 1 auto; justify-content: center; padding: 0 !important; margin: 0 !important; background: none !important; }
html body header.hdr2 .hdr-nav .navbar-collapse { display: flex !important; justify-content: center; }
html body header.hdr2 .hdr-nav .navbar-nav { flex-direction: row; align-items: center; gap: clamp(.4rem, 1.4vw, 1.6rem); margin: 0 !important; }
html body header.hdr2 .hdr-nav .navbar-nav > .nav-item { margin: 0 !important; padding: 0 !important; }
html body header.hdr2 .hdr-nav .navbar-nav > .nav-item > .nav-link {
  position: relative;
  padding: 29px 0 !important;
  font-size: 13px !important; font-weight: 500 !important;
  letter-spacing: .06em; text-transform: uppercase; white-space: nowrap;
  color: #1d2a17 !important;
}
html body header.hdr2 .hdr-nav .navbar-nav > .nav-item > .nav-link:hover,
html body header.hdr2 .hdr-nav .navbar-nav > .nav-item > .nav-link.active { color: #4f7a0a !important; }
html body header.hdr2 .hdr-nav .navbar-nav > .nav-item > .nav-link::after { border-top-color: currentColor; }
html body header.hdr2 .hdr-nav .navbar-nav > .nav-item > .nav-link.active::before {
  content: ""; position: absolute; left: 0; right: 0; bottom: 20px; height: 2px; background: #8EBF23;
}

/* Mega menu: full width of the header row, right under the bar */
html body header.hdr2 .navbar .dropdown { position: static !important; }
html body header.hdr2 .navbar .dropdown-menu {
  top: 100% !important; left: 0 !important; right: 0 !important; width: 100% !important;
  margin: 0 !important; border: 1px solid #edf1e8 !important; box-shadow: 0 14px 30px rgba(0, 0, 0, .08);
}
/* Shop By: small dropdown right under its own link */
html body header.hdr2 .navbar .hdr-small-drop { position: relative !important; }
html body header.hdr2 .navbar .hdr-small-drop > .dropdown-menu {
  left: 0 !important; right: auto !important; width: 230px !important; min-width: 230px;
}

/* Icons on the right */
html body header.hdr2 .hdr-actions { flex: 0 0 auto; display: flex; align-items: center; gap: .5rem; }
html body header.hdr2 .hdr-icon {
  position: relative;
  display: grid; place-items: center;
  width: 40px; height: 40px; padding: 0; border-radius: 50%;
  border: 1px solid #dfe6d6; background: #ffffff;
  color: #1d2a17 !important; font-size: 15px; text-decoration: none !important; cursor: pointer;
  transition: border-color .2s ease, color .2s ease, background .2s ease;
}
html body header.hdr2 .hdr-icon:hover,
html body header.hdr2 .hdr-pop.is-open .hdr-icon { border-color: #8EBF23; color: #4f7a0a !important; background: #f6faee; }
html body header.hdr2 .hdr-icon .cart-item {
  position: absolute; top: -6px; right: -6px;
  min-width: 18px; height: 18px; padding: 0 4px; border-radius: 99px;
  background: #8EBF23; color: #ffffff; font-size: 10px; font-weight: 700; line-height: 18px; text-align: center;
}
html body header.hdr2 .hdr-store-btn {
  display: inline-flex; align-items: center; gap: .5rem; margin-left: .35rem;
  padding: .7rem 1.2rem; border-radius: 999px;
  background: #8EBF23; color: #ffffff !important;
  font-size: 13px; font-weight: 700; white-space: nowrap; text-decoration: none !important;
  box-shadow: 0 6px 14px rgba(142, 191, 35, .35);
  transition: background .2s ease;
}
html body header.hdr2 .hdr-store-btn:hover { background: #7aa81c; }

/* Pop-up boxes (search, pincode, profile) */
html body header.hdr2 .hdr-pop,
html body header.hdr2 .hdr-profile { position: relative; }
html body header.hdr2 .hdr-pop-panel,
html body header.hdr2 .hdr-profile-menu {
  display: none;
  position: absolute; top: calc(100% + 14px); right: 0; z-index: 1050;
  width: 340px; padding: 14px;
  background: #ffffff; border: 1px solid #edf1e8; border-radius: 14px;
  box-shadow: 0 16px 34px rgba(0, 0, 0, .12);
}
html body header.hdr2 .hdr-pop.is-open .hdr-pop-panel { display: block; }
html body header.hdr2 .hdr-profile:hover .hdr-profile-menu { display: block; }
html body header.hdr2 .hdr-profile-menu { width: 220px; top: 100%; }
html body header.hdr2 .hdr-profile-menu ul { list-style: none; margin: 0; padding: 0; }
html body header.hdr2 .hdr-profile-menu li a { display: block; padding: .45rem .25rem; color: #1d2a17; text-decoration: none; }
html body header.hdr2 .hdr-profile-menu li a:hover { color: #4f7a0a; }
html body header.hdr2 .hdr-pop-title { margin: 0 0 .6rem !important; font-size: .85rem; font-weight: 600; color: #17351b; }
html body header.hdr2 .hdr-search .search-box form { display: flex; gap: 8px; margin: 0; }
html body header.hdr2 .hdr-search .search-input {
  flex: 1 1 auto; height: 44px; padding: 0 14px; border: 1px solid #dfe6d6; border-radius: 999px; outline: none; font-size: 14px;
}
html body header.hdr2 .hdr-search .search-input:focus { border-color: #8EBF23; }
html body header.hdr2 .hdr-search .search-btn {
  flex: 0 0 44px; width: 44px; height: 44px; border: 0; border-radius: 50%; background: #8EBF23; color: #ffffff;
}
html body header.hdr2 .hdr-pin .input-group { border: 1px solid #dfe6d6; border-radius: 999px; overflow: hidden; }
html body header.hdr2 .hdr-pin .input-group-text { background: #f6faee; border: 0; color: #4f7a0a; }
html body header.hdr2 .hdr-pin .form-control { height: 44px; box-shadow: none !important; }
html body header.hdr2 .hdr-pin-msg { margin: .5rem 0 0 !important; }

/* Smaller laptops: compact button */
@media (max-width: 1279.98px) {
  html body header.hdr2 .hdr-row { gap: .9rem; }
  html body header.hdr2 .hdr-logo img { height: 44px; }
  html body header.hdr2 .hdr-nav .navbar-nav > .nav-item > .nav-link { font-size: 12px !important; letter-spacing: .03em; }
  html body header.hdr2 .hdr-icon { width: 36px; height: 36px; font-size: 14px; }
  html body header.hdr2 .hdr-store-btn span { display: none; }
  html body header.hdr2 .hdr-store-btn { width: 40px; height: 40px; padding: 0; justify-content: center; }
}

/* Sticky main bar */
html body header.hdr2 .hdr-main.is-stuck {
  position: fixed !important; top: 0; left: 0; right: 0;
  animation: hdr2SlideIn .3s ease;
  box-shadow: 0 8px 22px rgba(0, 0, 0, .1);
}
@keyframes hdr2SlideIn { from { transform: translateY(-100%); } to { transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { html body header.hdr2 .hdr-main.is-stuck { animation: none; } }

/* Header v2: blue strip + one main bar (desktop) */
html body header.hdr2 { background: #ffffff !important; padding: 0 !important; }
html body header.hdr2 .hdr-main {
  position: relative; z-index: 1030;
  background: #ffffff;
  border-bottom: 1px solid #edf1e8;
  box-shadow: 0 4px 14px rgba(0, 0, 0, .05);
}
html body header.hdr2 .hdr-row {
  position: relative;
  display: flex; align-items: center; gap: 1.25rem;
  min-height: 80px;
}
html body header.hdr2 .hdr-logo { flex: 0 0 auto; margin: 0 !important; padding: 0 !important; }
html body header.hdr2 .hdr-logo img { display: block; height: 52px; width: auto; }

/* Menu in the middle */
html body header.hdr2 .hdr-nav,
html body header.hdr2 .hdr-nav .navbar-collapse,
html body header.hdr2 .hdr-nav .navbar-nav { position: static !important; }
html body header.hdr2 .hdr-nav { flex: 1 1 auto; justify-content: center; padding: 0 !important; margin: 0 !important; background: none !important; }
html body header.hdr2 .hdr-nav .navbar-collapse { display: flex !important; justify-content: center; }
html body header.hdr2 .hdr-nav .navbar-nav { flex-direction: row; align-items: center; gap: clamp(.4rem, 1.4vw, 1.6rem); margin: 0 !important; }
html body header.hdr2 .hdr-nav .navbar-nav > .nav-item { margin: 0 !important; padding: 0 !important; }
html body header.hdr2 .hdr-nav .navbar-nav > .nav-item > .nav-link {
  position: relative;
  padding: 29px 0 !important;
  font-size: 13px !important; font-weight: 500 !important;
  letter-spacing: .06em; text-transform: uppercase; white-space: nowrap;
  color: #1d2a17 !important;
}
html body header.hdr2 .hdr-nav .navbar-nav > .nav-item > .nav-link:hover,
html body header.hdr2 .hdr-nav .navbar-nav > .nav-item > .nav-link.active { color: #4f7a0a !important; }
html body header.hdr2 .hdr-nav .navbar-nav > .nav-item > .nav-link::after { border-top-color: currentColor; }
html body header.hdr2 .hdr-nav .navbar-nav > .nav-item > .nav-link.active::before {
  content: ""; position: absolute; left: 0; right: 0; bottom: 20px; height: 2px; background: #8EBF23;
}

/* Mega menu: full width of the header row, right under the bar */
html body header.hdr2 .navbar .dropdown { position: static !important; }
html body header.hdr2 .navbar .dropdown-menu {
  top: 100% !important; left: 0 !important; right: 0 !important; width: 100% !important;
  margin: 0 !important; border: 1px solid #edf1e8 !important; box-shadow: 0 14px 30px rgba(0, 0, 0, .08);
}
/* Shop By: small dropdown right under its own link */
html body header.hdr2 .navbar .hdr-small-drop { position: relative !important; }
html body header.hdr2 .navbar .hdr-small-drop > .dropdown-menu {
  left: 0 !important; right: auto !important; width: 230px !important; min-width: 230px;
}

/* Icons on the right */
html body header.hdr2 .hdr-actions { flex: 0 0 auto; display: flex; align-items: center; gap: .5rem; }
html body header.hdr2 .hdr-icon {
  position: relative;
  display: grid; place-items: center;
  width: 40px; height: 40px; padding: 0; border-radius: 50%;
  border: 1px solid #dfe6d6; background: #ffffff;
  color: #1d2a17 !important; font-size: 15px; text-decoration: none !important; cursor: pointer;
  transition: border-color .2s ease, color .2s ease, background .2s ease;
}
html body header.hdr2 .hdr-icon:hover,
html body header.hdr2 .hdr-pop.is-open .hdr-icon { border-color: #8EBF23; color: #4f7a0a !important; background: #f6faee; }
html body header.hdr2 .hdr-icon .cart-item {
  position: absolute; top: -6px; right: -6px;
  min-width: 18px; height: 18px; padding: 0 4px; border-radius: 99px;
  background: #8EBF23; color: #ffffff; font-size: 10px; font-weight: 700; line-height: 18px; text-align: center;
}
html body header.hdr2 .hdr-store-btn {
  display: inline-flex; align-items: center; gap: .5rem; margin-left: .35rem;
  padding: .7rem 1.2rem; border-radius: 999px;
  background: #8EBF23; color: #ffffff !important;
  font-size: 13px; font-weight: 700; white-space: nowrap; text-decoration: none !important;
  box-shadow: 0 6px 14px rgba(142, 191, 35, .35);
  transition: background .2s ease;
}
html body header.hdr2 .hdr-store-btn:hover { background: #7aa81c; }

/* Pop-up boxes (search, pincode, profile) */
html body header.hdr2 .hdr-pop,
html body header.hdr2 .hdr-profile { position: relative; }
html body header.hdr2 .hdr-pop-panel,
html body header.hdr2 .hdr-profile-menu {
  display: none;
  position: absolute; top: calc(100% + 14px); right: 0; z-index: 1050;
  width: 340px; padding: 14px;
  background: #ffffff; border: 1px solid #edf1e8; border-radius: 14px;
  box-shadow: 0 16px 34px rgba(0, 0, 0, .12);
}
html body header.hdr2 .hdr-pop.is-open .hdr-pop-panel { display: block; }
html body header.hdr2 .hdr-profile:hover .hdr-profile-menu { display: block; }
html body header.hdr2 .hdr-profile-menu { width: 220px; top: 100%; }
html body header.hdr2 .hdr-profile-menu ul { list-style: none; margin: 0; padding: 0; }
html body header.hdr2 .hdr-profile-menu li a { display: block; padding: .45rem .25rem; color: #1d2a17; text-decoration: none; }
html body header.hdr2 .hdr-profile-menu li a:hover { color: #4f7a0a; }
html body header.hdr2 .hdr-pop-title { margin: 0 0 .6rem !important; font-size: .85rem; font-weight: 600; color: #17351b; }
html body header.hdr2 .hdr-search .search-box form { display: flex; gap: 8px; margin: 0; }
html body header.hdr2 .hdr-search .search-input {
  flex: 1 1 auto; height: 44px; padding: 0 14px; border: 1px solid #dfe6d6; border-radius: 999px; outline: none; font-size: 14px;
}
html body header.hdr2 .hdr-search .search-input:focus { border-color: #8EBF23; }
html body header.hdr2 .hdr-search .search-btn {
  flex: 0 0 44px; width: 44px; height: 44px; border: 0; border-radius: 50%; background: #8EBF23; color: #ffffff;
}
html body header.hdr2 .hdr-pin .input-group { border: 1px solid #dfe6d6; border-radius: 999px; overflow: hidden; }
html body header.hdr2 .hdr-pin .input-group-text { background: #f6faee; border: 0; color: #4f7a0a; }
html body header.hdr2 .hdr-pin .form-control { height: 44px; box-shadow: none !important; }
html body header.hdr2 .hdr-pin-msg { margin: .5rem 0 0 !important; }

/* Smaller laptops: compact button */
@media (max-width: 1279.98px) {
  html body header.hdr2 .hdr-row { gap: .9rem; }
  html body header.hdr2 .hdr-logo img { height: 44px; }
  html body header.hdr2 .hdr-nav .navbar-nav > .nav-item > .nav-link { font-size: 12px !important; letter-spacing: .03em; }
  html body header.hdr2 .hdr-icon { width: 36px; height: 36px; font-size: 14px; }
  html body header.hdr2 .hdr-store-btn span { display: none; }
  html body header.hdr2 .hdr-store-btn { width: 40px; height: 40px; padding: 0; justify-content: center; }
}

/* Sticky main bar */
html body header.hdr2 .hdr-main.is-stuck {
  position: fixed !important; top: 0; left: 0; right: 0;
  animation: hdr2SlideIn .3s ease;
  box-shadow: 0 8px 22px rgba(0, 0, 0, .1);
}
@keyframes hdr2SlideIn { from { transform: translateY(-100%); } to { transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { html body header.hdr2 .hdr-main.is-stuck { animation: none; } }

/* Blue strip: toll-free on the left, lined up with the logo */
@media (min-width: 992px) {
  html body header.hdr2 .top-band .row > .col-md-6:first-child { display: none !important; }
  html body header.hdr2 .top-band .row > .col-md-6:last-child {
    flex: 0 0 100% !important; max-width: 100% !important; width: 100% !important;
    position: static !important;
  }
  html body header.hdr2 .top-band .toll-free,
  html body header.hdr2 .top-band .toll-free ul {
    position: static !important; width: 100%;
  }
  html body header.hdr2 .top-band .toll-free ul {
    display: flex !important; align-items: center; justify-content: flex-end;
    margin: 0 !important; padding: 0 !important;
  }
  html body header.hdr2 .top-band .toll-free ul li {
    position: static !important; left: auto !important; right: auto !important; transform: none !important;
  }
  html body header.hdr2 .top-band .toll-free ul li:last-child {
    order: -1; margin-right: auto !important; margin-left: 0 !important; padding-left: 0 !important;
    border: 0 !important;
  }
}

/* Header v2: gap above slider, no shadow on the white bar (desktop) */
@media (min-width: 992px) {
  html body header.hdr2 { padding-bottom: 14px !important; background: #ffffff !important; }
}
html body header.hdr2 .hdr-main,
html body header.hdr2 .hdr-main.is-stuck {
  box-shadow: none !important;
  border-bottom: 1px solid #edf1e8 !important;
}

/* Header v2: open Shop By and Mattresses on mouse hover (desktop) */
@media (min-width: 992px) {
  html body header.hdr2 .navbar .dropdown:hover > .dropdown-menu,
  html body header.hdr2 .navbar .dropdown > .dropdown-menu:hover {
    display: block !important;
  }
  html body header.hdr2 .navbar .dropdown-menu { z-index: 1060 !important; }
  html body header.hdr2 .navbar .dropdown > .nav-link { cursor: pointer; }
}

/* Desktop: tight, even space around the numbers strip */
@media (min-width: 992px) {
  /* Slider section: no extra space under it */
  html body section:has(#home-banner):not(#x1):not(#x2),
  html body .main-banner:not(#x1):not(#x2) {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
  html body .main-banner .hb-dots:not(#x1):not(#x2),
  html body #home-banner .owl-dots:not(#x1):not(#x2) {
    margin-top: 14px !important;
    margin-bottom: 0 !important;
  }

  /* Numbers strip section */
  html body section:has(.refresh-count):not(#x1):not(#x2) {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 28px !important;
    padding-bottom: 0 !important;
  }
  html body .refresh-count:not(#x1):not(#x2) {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  /* Our Exclusive Collection: less space above */
  html body section.xc-section:not(#x1):not(#x2) {
    margin-top: 0 !important;
    padding-top: 48px !important;
  }
  html body section.xc-section .heading-title:not(#x1):not(#x2) {
    padding-top: 0 !important;
  }
}

/* Site fonts: DM Sans for text, DM Serif Display for big headings (Poppins kept as backup) */
html body,
html body p, html body a, html body li, html body label,
html body button, html body input, html body select, html body textarea,
html body span:not([class*="fa"]), html body small, html body strong,
html body h5, html body h6 {
  font-family: 'DM Sans', 'Poppins', Arial, sans-serif !important;
}
html body h1, html body h2, html body h3, html body h4 {
  font-family: 'DM Serif Display', Georgia, serif !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

/* Header: DM Sans for menu, dropdowns, strip and buttons */
html body header.hdr2:not(#x1) .nav-link,
html body header.hdr2:not(#x1) .dropdown-menu a,
html body header.hdr2:not(#x1) .shop-buy,
html body header.hdr2:not(#x1) .top-band,
html body header.hdr2:not(#x1) .top-band a,
html body header.hdr2:not(#x1) .hdr-store-btn,
html body header.hdr2:not(#x1) .hdr-pop-panel,
html body header.hdr2:not(#x1) .hdr-pop-panel input,
html body header.hdr2:not(#x1) .hdr-profile-menu,
html body header.hdr2:not(#x1) .new-tag {
  font-family: 'DM Sans', 'Poppins', Arial, sans-serif !important;
}

/* Best Sellers: product details */
html body .home-best-seller .bs-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;line-height:1.45;color:#6b7280;min-height:38px;margin:2px 0 10px;text-align:left}
html body .home-best-seller .bs-chips{display:flex;flex-wrap:wrap;gap:6px;min-height:26px;margin-bottom:10px}
html body .home-best-seller .bs-chip{font-size:11px;font-weight:600;line-height:1;padding:6px 10px;border-radius:999px;background:#f6faee;color:#4f7a0a;border:1px solid #e1eecb;letter-spacing:.2px}
html body .home-best-seller .bs-perks{display:flex;flex-direction:column;gap:5px;min-height:44px;margin-bottom:6px;padding-top:10px;border-top:1px dashed #dfe6d0}
html body .home-best-seller .bs-perk{display:flex;align-items:center;gap:7px;font-size:12px;color:#444;line-height:1.3}
html body .home-best-seller .bs-perk i{color:#8EBF23;font-size:11px;width:13px;text-align:center}
@media (max-width:575px){
  html body .home-best-seller .bs-desc{font-size:12px;min-height:34px}
  html body .home-best-seller .bs-chip{font-size:10px;padding:5px 8px}
  html body .home-best-seller .bs-perk{font-size:11px}
}

/* Best Sellers: align details with name and price */
html body .home-best-seller .bs-desc,
html body .home-best-seller .bs-chips,
html body .home-best-seller .bs-perks{
  margin-left:20px;
  margin-right:20px;
  text-align:left;
  justify-content:flex-start;
  align-items:flex-start;
}
html body .home-best-seller .bs-perks{ align-items:flex-start; }
html body .home-best-seller .bs-perk{ justify-content:flex-start; text-align:left; }

/* Stats strip v2: three light cards (desktop) */
@media (min-width:992px){
  html body .refresh-count:not(#x1):not(#x2){
    background:none !important;
    border:0 !important;
    box-shadow:none !important;
    padding:0 !important;
    border-radius:0 !important;
    overflow:visible !important;
  }
  html body .refresh-count:not(#x1):not(#x2)::before,
  html body .refresh-count:not(#x1):not(#x2)::after{ content:none !important; }

  html body .refresh-count:not(#x1):not(#x2) ul{
    display:grid !important;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
    margin:0 !important; padding:0 !important;
    list-style:none !important;
  }
  html body .refresh-count:not(#x1):not(#x2) ul li{
    position:relative;
    float:none !important; width:auto !important; flex:none !important;
    margin:0 !important; padding:32px 20px 28px !important;
    display:block !important;
    background:#fff !important;
    border:1px solid #e6eed3 !important;
    border-radius:20px !important;
    box-shadow:0 10px 26px -14px rgba(79,122,10,.28) !important;
    overflow:hidden;
    text-align:center;
    transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
  }
  html body .refresh-count:not(#x1):not(#x2) ul li::after{ content:none !important; }
  /* brand strip on top of each card */
  html body .refresh-count:not(#x1):not(#x2) ul li::before{
    content:"" !important;
    position:absolute; left:0; right:0; top:0; height:3px; width:auto; border:0;
    background:linear-gradient(90deg,#459bd6 0 20%,#50b1e4 20% 40%,#bcca05 40% 60%,#56aa30 60% 80%,#c9cf04 80% 100%) !important;
  }
  html body .refresh-count:not(#x1):not(#x2) ul li:hover{
    transform:translateY(-4px);
    border-color:#cfe3a3 !important;
    box-shadow:0 18px 34px -14px rgba(79,122,10,.38) !important;
  }
  html body .refresh-count:not(#x1):not(#x2) .count-up{
    display:block !important;
    background:none !important; border:0 !important; padding:0 !important;
    text-align:center !important;
  }
  html body .refresh-count:not(#x1):not(#x2) .icon-img{
    width:60px; height:60px; margin:0 auto 14px !important;
    display:grid; place-items:center;
    border-radius:50% !important;
    background:#eef6dc !important;
    box-shadow:0 0 0 6px #f6faee !important;
  }
  html body .refresh-count:not(#x1):not(#x2) .icon-img img{ width:28px !important; height:28px !important; }
  html body .refresh-count:not(#x1):not(#x2) h3{
    margin:0 !important;
    font-family:'DM Serif Display','Playfair Display',serif !important;
    font-weight:400 !important;
    font-size:clamp(30px,2.6vw,42px) !important;
    line-height:1.1 !important;
    color:#1f2a10 !important;
  }
  html body .refresh-count:not(#x1):not(#x2) h3 span{ color:inherit !important; }
  html body .refresh-count:not(#x1):not(#x2) p{
    margin:6px 0 0 !important;
    font-family:'DM Sans',Arial,sans-serif !important;
    font-size:14px !important; letter-spacing:.4px;
    color:#5f6f4a !important;
  }
}

/* Stats strip v3: per-card variations (desktop) */
@media (min-width:992px){
  html body .refresh-count:not(#x1):not(#x2) ul li:nth-child(1){ --ac:#3c9cd8; --tint:#e8f4fc; --deep:#1f6a9c; }
  html body .refresh-count:not(#x1):not(#x2) ul li:nth-child(2){ --ac:#8EBF23; --tint:#eef6dc; --deep:#4f7a0a; }
  html body .refresh-count:not(#x1):not(#x2) ul li:nth-child(3){ --ac:#56aa30; --tint:#e4f3da; --deep:#2f6e12; }

  html body .refresh-count:not(#x1):not(#x2) ul li{
    background:
      radial-gradient(circle at 100% 0%, var(--tint) 0, transparent 55%),
      linear-gradient(180deg,#fff 0%, #fff 100%) !important;
    border-color:var(--tint) !important;
  }
  /* decorative ring */
  html body .refresh-count:not(#x1):not(#x2) ul li::after{
    content:"" !important;
    position:absolute; right:-34px; bottom:-40px;
    width:130px; height:130px; border-radius:50%;
    border:14px solid var(--tint);
    opacity:.9; pointer-events:none;
  }
  html body .refresh-count:not(#x1):not(#x2) ul li > *{ position:relative; z-index:1; }

  html body .refresh-count:not(#x1):not(#x2) .icon-img{
    background:var(--tint) !important;
    box-shadow:0 0 0 6px #fff, 0 0 0 7px var(--ac) !important;
  }
  /* gradient numbers */
  html body .refresh-count:not(#x1):not(#x2) h3{
    background:linear-gradient(90deg,#1f2a10 0%, var(--deep) 60%, var(--ac) 100%);
    -webkit-background-clip:text; background-clip:text;
    -webkit-text-fill-color:transparent;
    color:transparent !important;
    display:inline-block;
  }
  html body .refresh-count:not(#x1):not(#x2) h3 span{ -webkit-text-fill-color:transparent; color:transparent !important; }
  html body .refresh-count:not(#x1):not(#x2) p{ color:var(--deep) !important; font-weight:500; }

  /* featured middle card */
  html body .refresh-count:not(#x1):not(#x2) ul li:nth-child(2){ transform:translateY(-10px); }
  html body .refresh-count:not(#x1):not(#x2) ul li:nth-child(2):hover{ transform:translateY(-14px); }
  html body .refresh-count:not(#x1):not(#x2) ul li:hover{ border-color:var(--ac) !important; }
}

/* Stats strip v4: bottom brand line + smaller boxes (desktop) */
@media (min-width:992px){
  /* space left and right of the whole row */
  html body .refresh-count:not(#x1):not(#x2){
    padding:0 56px !important;
  }
  html body .refresh-count:not(#x1):not(#x2) ul{ gap:20px; }

  /* smaller boxes */
  html body .refresh-count:not(#x1):not(#x2) ul li{
    padding:22px 18px 26px !important;
  }
  html body .refresh-count:not(#x1):not(#x2) .icon-img{
    width:52px; height:52px; margin:0 auto 10px !important;
  }
  html body .refresh-count:not(#x1):not(#x2) .icon-img img{ width:24px !important; height:24px !important; }
  html body .refresh-count:not(#x1):not(#x2) h3{ font-size:clamp(28px,2.3vw,36px) !important; }
  html body .refresh-count:not(#x1):not(#x2) p{ margin:4px 0 0 !important; font-size:13px !important; }

  /* brand line at the bottom */
  html body .refresh-count:not(#x1):not(#x2) ul li::before{
    top:auto !important;
    bottom:0 !important;
    height:3px !important;
    z-index:2;
  }
}

/* Stats strip v7: narrower boxes, same line, thinner brand line (desktop) */
@media (min-width:992px){
  /* trim the boxes from the sides */
  html body .refresh-count:not(#x1):not(#x2){ padding:0 110px !important; }

  /* all three on the same line */
  html body .refresh-count:not(#x1):not(#x2) ul li:nth-child(2),
  html body .refresh-count:not(#x1):not(#x2) ul li:nth-child(2):hover{ transform:none !important; }
  html body .refresh-count:not(#x1):not(#x2) ul li:hover{ transform:translateY(-3px) !important; }

  /* thinner brand line */
  html body .refresh-count:not(#x1):not(#x2) ul li::before{
    height:2px !important;
  }
}

/* Best Sellers: mobile optimisation */
@media (max-width:575px){
  /* name: smaller, max 2 lines */
  html body .home-best-seller .best-sellers-products > div > p:first-child{
    font-size:13px !important; line-height:1.3 !important;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
    margin-bottom:4px !important;
  }
  /* details line up with the name and use less space */
  html body .home-best-seller .bs-desc:not(#x1),
  html body .home-best-seller .bs-chips:not(#x1),
  html body .home-best-seller .bs-perks:not(#x1){ margin-left:0 !important; margin-right:0 !important; }
  html body .home-best-seller .bs-desc{ font-size:11.5px; line-height:1.35; min-height:31px; margin-bottom:8px; }
  /* chips: one line each, max 2 chips */
  html body .home-best-seller .bs-chips{ gap:4px; min-height:0; margin-bottom:8px; }
  html body .home-best-seller .bs-chip{
    font-size:10px; padding:4px 8px; max-width:100%;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  }
  html body .home-best-seller .bs-chip:nth-child(n+3){ display:none; }
  /* ticks: one line each */
  html body .home-best-seller .bs-perks{ min-height:0; gap:3px; padding-top:8px; margin-bottom:4px; }
  html body .home-best-seller .bs-perk{
    font-size:10.5px; gap:5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; display:block;
  }
  html body .home-best-seller .bs-perk i{ font-size:10px; margin-right:5px; width:auto; }
  /* price */
  html body .home-best-seller .product-price p{ font-size:16px !important; line-height:1.3 !important; }
  html body .home-best-seller .product-price .mrp-price{ font-size:11px !important; }
  html body .home-best-seller .product-price .offer-price{ font-size:10px !important; padding:2px 6px !important; }
}

/* Exclusive Collection: EUROSPACE final (desktop) */
@media (min-width:992px){
  html body .xc-card--big:not(#x1):not(#x2){
    position:relative !important;
    overflow:hidden !important;
    background:
      radial-gradient(ellipse at 50% 72%, rgba(142,191,35,.22) 0%, rgba(142,191,35,0) 60%),
      #f3f3f3 !important;
  }
  html body .xc-card--big:not(#x1):not(#x2) .xc-text{
    position:relative; z-index:3;
  }
  html body .xc-card--big:not(#x1):not(#x2) .xc-media{
    position:absolute !important;
    left:50% !important; bottom:2% !important; top:auto !important; right:auto !important;
    transform:translateX(-50%) !important;
    width:104% !important; height:auto !important;
    margin:0 !important; padding:0 !important;
    z-index:2;
  }
  html body .xc-card--big:not(#x1):not(#x2) .xc-img{
    display:block;
    width:100% !important; height:auto !important; max-width:none !important;
    transform:none !important;
    filter:drop-shadow(0 22px 18px rgba(30,50,10,.22));
  }
}

/* Exclusive Collection: new section (xe) */
html body .xc-grid{ display:none !important; }

html body .xe-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:1fr 1fr;
  gap:24px;
}
html body .xe-card{
  position:relative; display:flex;
  border-radius:24px; overflow:hidden; isolation:isolate;
  background:#f3f3f3;
  box-shadow:0 12px 30px -16px rgba(0,0,0,.25);
}
html body .xe-card::before{
  content:""; position:absolute; inset:0; z-index:-1;
  background:radial-gradient(ellipse at 80% 55%, rgba(142,191,35,.20) 0%, rgba(142,191,35,0) 62%);
}
html body .xe-text{ position:relative; z-index:2; }
html body .xe-name{
  margin:0; color:#1f1f1f;
  font-family:'DM Serif Display','Playfair Display',serif; font-weight:400;
  font-size:clamp(30px,2.6vw,42px); line-height:1.05;
}
html body .xe-name::after{
  content:""; display:block; width:52px; height:2px; margin-top:14px;
  background:linear-gradient(90deg,#459bd6 0 20%,#50b1e4 20% 40%,#bcca05 40% 60%,#56aa30 60% 80%,#c9cf04 80% 100%);
}
html body .xe-btn{
  display:inline-flex; align-items:center; gap:8px; margin-top:22px;
  padding:10px 18px; border:1px solid #8EBF23; border-radius:8px;
  background:transparent; color:#4f7a0a; text-decoration:none;
  font-family:'DM Sans',Arial,sans-serif; font-weight:600; font-size:13px; line-height:1;
  letter-spacing:.06em; text-transform:uppercase;
  transition:background .25s, color .25s;
}
html body .xe-btn:hover{ background:#8EBF23; color:#fff; }
html body .xe-media{ position:relative; }
html body .xe-img{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:contain;
  filter:drop-shadow(0 18px 14px rgba(30,50,10,.20));
  transition:transform .5s ease;
}
html body .xe-card:hover .xe-img{ transform:scale(1.03); }

/* big card: text on top, bed fills the rest */
html body .xe-card--big{ grid-row:1 / span 2; flex-direction:column; padding:64px 36px 0; }
html body .xe-card--big .xe-name{ font-size:clamp(36px,3vw,48px); }
html body .xe-card--big .xe-media{ flex:1 1 auto; min-height:340px; margin:6px -3% 0; }
html body .xe-card--big .xe-img{ object-position:center bottom; }

/* small cards: text left, image right */
html body .xe-card--sm{ min-height:360px; align-items:center; justify-content:space-between; padding:24px 24px 24px 36px; }
html body .xe-card--sm .xe-media{ width:50%; align-self:stretch; min-height:260px; flex:none; }
html body .xe-card--sm .xe-img{ object-position:center center; }

/* tablet and phone */
@media (max-width:991px){
  html body .xe-grid{ grid-template-columns:1fr; grid-template-rows:auto; gap:16px; }
  html body .xe-card--big{ grid-row:auto; padding:24px 20px 0; }
  html body .xe-card--big .xe-media{ flex:none; min-height:0; aspect-ratio:16/10; margin:8px -2% 0; }
  html body .xe-card--sm{ flex-direction:column; align-items:flex-start; padding:24px 20px 0; min-height:0; }
  html body .xe-card--sm .xe-media{ width:100%; min-height:0; aspect-ratio:16/10; margin-top:8px; }
  html body .xe-name{ font-size:28px; }
  html body .xe-btn{ margin-top:16px; padding:9px 16px; font-size:12px; }
}

/* Show first banner immediately, before the carousel script starts */
#home-banner:not(.owl-loaded){display:block}
#home-banner:not(.owl-loaded) .item:not(:first-child){display:none}
#home-banner .item img{display:block;width:100%;height:auto}

/* Show first banner immediately, before the carousel script starts */
#home-banner:not(.owl-loaded){display:block}
#home-banner:not(.owl-loaded) .item:not(:first-child){display:none}
@media (max-width:767.98px){#home-banner:not(.owl-loaded){aspect-ratio:412/458;overflow:hidden}}

   /* Carousel dots: 24px invisible tap area, small neat dots (phone, tablet and desktop) */
   html body .owl-carousel .owl-dots { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; }
   html body .owl-carousel .owl-dots .owl-dot {
     min-width:24px; min-height:24px; margin:0; padding:0;
     display:inline-flex; align-items:center; justify-content:center;
     background:none !important; border:0 !important; box-shadow:none !important; border-radius:0 !important;
   }
   html body #home-banner .owl-dots .owl-dot span {
     display:block; width:8px; height:8px; margin:0 !important; border-radius:999px;
     background:#cfd5da; transition:width .35s ease, background-color .35s ease;
   }
   html body #home-banner .owl-dots .owl-dot.active span { width:28px; }
   @media (prefers-reduced-motion: reduce){ html body .owl-carousel .owl-dots .owl-dot span{ transition:none !important; } }
   

/* Accessibility: stronger text colour (looks the same, easier to read) */
html body .refresh-count .count-up p { color: #4a5160 !important; }
html body .best-sellers .product-price p,
html body .best-sellers #loadProice { color: #4f7a0a !important; }

/* Footer: deeper blue so white text is easy to read */
html body footer { background-color: #1f78b4 !important; }
html body footer #copyright,
html body footer p,
html body footer a { color: #ffffff !important; }

   /* Accessibility (desktop): stronger colours behind white text, looks almost the same */
   html body header.hdr2 .hdr-store-btn { background: #4f7a0a !important; box-shadow: 0 6px 14px rgba(79, 122, 10, .35) !important; }
   html body header.hdr2 .hdr-store-btn:hover { background: #3f6508 !important; }
   html body header.hdr2 .new-tag, html body .navbar .new-tag { background: #d32f3f !important; }
   

   /* Top strip: same deeper blue as the footer */
   html body .top-band { background-color: #1f78b4 !important; }
   

   /* Font Awesome: show icons right away instead of waiting for the font */
   @font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:swap;src:url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/webfonts/fa-solid-900.woff2") format("woff2");}
   @font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:400;font-display:swap;src:url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/webfonts/fa-regular-400.woff2") format("woff2");}
   @font-face{font-family:"Font Awesome 6 Brands";font-style:normal;font-weight:400;font-display:swap;src:url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/webfonts/fa-brands-400.woff2") format("woff2");}
   

/* Best Sellers tiles: title, price, short description, guarantee, key features (scrollable) */
html body .home-best-seller .best-sellers-products > div { display:flex; flex-direction:column; }
html body .home-best-seller .best-sellers-products > div > * { order:2; }
html body .home-best-seller .best-sellers-products > div > p:first-child { order:1; margin-bottom:4px !important; }
html body .home-best-seller .best-sellers-products > div > .product-price { margin:2px 0 8px !important; }
html body .home-best-seller .best-sellers-products > div > .bs-desc { order:3; min-height:0; margin-top:4px; margin-bottom:10px; }
html body .home-best-seller .best-sellers-products > div > .bs-perks { order:4; min-height:0; padding-top:10px; border-top:1px dashed #dfe6d0; margin-bottom:10px; }
html body .home-best-seller .best-sellers-products > div > .bs-chips {
  order:5; position:relative; z-index:2; flex-wrap:nowrap; gap:6px; min-height:0; margin-bottom:6px;
  padding:0 0 4px; border-top:0;
  overflow-x:auto; overflow-y:hidden; -webkit-overflow-scrolling:touch; overscroll-behavior-x:contain;
  scrollbar-width:none; cursor:grab;
  -webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 26px),transparent);
          mask-image:linear-gradient(90deg,#000 calc(100% - 26px),transparent);
}
html body .home-best-seller .bs-chips::-webkit-scrollbar { display:none; }
html body .home-best-seller .bs-chips.is-drag { cursor:grabbing; user-select:none; }
html body .home-best-seller .bs-chips .bs-chip { flex:0 0 auto; white-space:nowrap; max-width:none; overflow:visible; text-overflow:clip; }
html body .home-best-seller .bs-chips .bs-chip:nth-child(n+3) { display:inline-block; }

   /* Best Sellers: bigger title, tighter gap to price, own price font */
   html body .home-best-seller .best-sellers-products > div > p:first-child { font-size:19px !important; line-height:1.3 !important; font-weight:600 !important; margin-bottom:2px !important; }
   html body .home-best-seller .best-sellers-products > div > *:not(p:first-child):not(.bs-desc):not(.bs-perks):not(.bs-chips) { margin-top:0 !important; padding-top:0 !important; margin-bottom:8px !important; }
   html body .home-best-seller .product-price p:not(#x1) {
     margin-top:0 !important; margin-bottom:0 !important;
     font-family:'Poppins','DM Sans',Arial,sans-serif !important;
     font-size:22px !important; font-weight:600 !important; letter-spacing:-0.2px; line-height:1.3 !important;
   }
   html body .home-best-seller .product-price .mrp-price:not(#x1) { font-family:'Poppins','DM Sans',Arial,sans-serif !important; font-size:12px !important; font-weight:400 !important; }
   html body .home-best-seller .product-price .offer-price:not(#x1) { font-family:'Poppins','DM Sans',Arial,sans-serif !important; font-size:11px !important; }
   @media (max-width:575px){
     html body .home-best-seller .best-sellers-products > div > p:first-child { font-size:14.5px !important; }
     html body .home-best-seller .product-price p:not(#x1) { font-size:17px !important; }
   }
   

/* Home banner: show only one set of dots */
html body .hb-dots { display:none !important; }

/* Best Sellers: new tile design (bsx) */
html body .bsx-card { position:relative; display:flex; flex-direction:column; height:calc(100% - 1.25rem); margin:0 0 1.25rem !important; padding:0 !important; background:#fff; border:1px solid #e6ebdc !important; border-radius:16px !important; overflow:hidden; box-shadow:0 2px 10px rgba(31,60,20,.06); text-align:left !important; transition:transform .25s ease, box-shadow .25s ease; }
@media (hover:hover){ html body .bsx-card:hover { transform:translateY(-4px) !important; box-shadow:0 14px 30px rgba(31,60,20,.14); } html body .bsx-card:hover .bsx-media img { transform:scale(1.04); } }
html body .bsx-media { position:relative; display:block; aspect-ratio:4/3; overflow:hidden; margin:0 !important; padding:0 !important; background:#f3f1ec; }
html body .bsx-media img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 60%; border-radius:0 !important; transition:transform .5s ease; }
html body .bsx-badge { position:absolute; top:0; left:0; padding:8px 12px; background:#4f7a0a; color:#fff; font:700 11px/1 'DM Sans',Arial,sans-serif; letter-spacing:.06em; text-transform:uppercase; border-bottom-right-radius:10px; }
html body .bsx-body { display:flex; flex-direction:column; flex:1; padding:14px 16px 0; }
html body .bsx-eyebrow { margin:0 0 6px !important; font:600 11px/1.3 'DM Sans',Arial,sans-serif; letter-spacing:.12em; text-transform:uppercase; color:#5b6472; }
html body .bsx-card .bsx-title { margin:0 0 6px !important; font:700 19px/1.25 'DM Sans',Arial,sans-serif !important; letter-spacing:0; text-transform:none; color:#1a1f2b; }
html body .bsx-title a { color:inherit; text-decoration:none; }
html body .bsx-title a::after { content:""; position:absolute; inset:0; z-index:1; }
html body .bsx-desc { margin:0 0 10px !important; font-size:13px; line-height:1.45; color:#5b6472; }
html body .bsx-feats { list-style:none; margin:0 0 14px; padding:0; display:grid; gap:8px; }
html body .bsx-feats li { display:flex; align-items:center; gap:10px; margin:0; padding:0; font-size:13.5px; line-height:1.3; color:#2a3140; }
html body .bsx-feats li::before { content:""; flex:0 0 22px; height:22px; border-radius:50%; background:#eef6dc url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234f7a0a' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/12px no-repeat; }
html body .bsx-price-row { display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 10px; margin-top:auto; padding-bottom:14px; }
html body .bsx-price { font:600 22px/1.2 'Poppins','DM Sans',Arial,sans-serif; color:#1a1f2b; }
html body .bsx-mrp { font-size:13px; color:#6b7280; }
html body .bsx-off { padding:4px 9px; border-radius:6px; background:#fdeaea; color:#c62828; font:700 12px/1 'DM Sans',Arial,sans-serif; letter-spacing:.02em; }
html body .bsx-btn { position:relative; z-index:2; display:flex; align-items:center; justify-content:center; gap:10px; height:46px; margin:0 0 16px; border-radius:10px; background:#4f7a0a; color:#fff !important; font:700 13px/1 'DM Sans',Arial,sans-serif; letter-spacing:.12em; text-transform:uppercase; text-decoration:none !important; transition:background .2s ease; }
html body .bsx-btn::after { content:"\2192"; font-size:16px; letter-spacing:0; transition:transform .2s ease; }
html body .bsx-btn:hover { background:#1f78b4; color:#fff; }
html body .bsx-btn:hover::after { transform:translateX(4px); }
@media (max-width:575px){
  html body .bsx-media { aspect-ratio:1/1; }
  html body .bsx-body { padding:10px 10px 0; }
  html body .bsx-badge { padding:5px 8px; font-size:9.5px; }
  html body .bsx-eyebrow { font-size:9.5px; letter-spacing:.08em; }
  html body .bsx-card .bsx-title { font-size:14px !important; }
  html body .bsx-desc { font-size:11.5px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
  html body .bsx-feats li { font-size:11.5px; gap:7px; }
  html body .bsx-feats li::before { flex-basis:18px; height:18px; background-size:10px; }
  html body .bsx-feats li:nth-child(n+3) { display:none; }
  html body .bsx-price { font-size:17px; }
  html body .bsx-mrp { font-size:11px; }
  html body .bsx-off { font-size:10px; padding:3px 6px; }
  html body .bsx-btn { height:40px; margin:0 0 10px; border-radius:8px; font-size:11.5px; }
}

/* Banner: no arrows (stops the flash on reload) */
html body #home-banner .owl-nav{display:none !important}
/* All sliders: active dot plain green, no brand-colour line */
html body .owl-dots .owl-dot.active span,
html body #home-banner .owl-dots .owl-dot.active span,
html body .shop-by-need-slider .owl-dots .owl-dot.active span,
html body .nearest-store .location .owl-dots .owl-dot.active span,
html body #happy-consumers .owl-dots .owl-dot.active span{background:#4f7a0a !important;background-image:none !important}

/* Exclusive collection – make the Shop Now button clickable on the big card */
html body .xe-text, html body .xc-text{position:relative !important;z-index:5 !important}
html body .xe-btn, html body .xc-btn{position:relative !important;z-index:6 !important;pointer-events:auto !important;cursor:pointer !important}
html body .xe-media, html body .xc-media{pointer-events:none !important}

/* header pincode box: icon and field side by side (no overlap) */
html body header.hdr2 .hdr-pin .pin-code{box-sizing:border-box !important;width:100% !important;margin:0 !important;padding:0 !important;height:auto !important;overflow:visible !important}
html body header.hdr2 .hdr-pin .input-group{box-sizing:border-box !important;max-width:100% !important;display:flex !important;flex-wrap:nowrap !important;align-items:center !important;width:100% !important;height:48px !important;margin:0 !important;padding:4px !important;border:1px solid #dfe6d6 !important;border-radius:999px !important;background:#fff !important;overflow:hidden !important;box-shadow:none !important}
html body header.hdr2 .hdr-pin .input-group:focus-within{border-color:#8EBF23 !important}
html body header.hdr2 .hdr-pin .input-group-text{position:static !important;flex:0 0 38px !important;display:flex !important;align-items:center !important;justify-content:center !important;width:38px !important;height:38px !important;margin:0 !important;padding:0 !important;border:0 !important;border-radius:50% !important;background:#f4f9ea !important;color:#4f7a0a !important;transform:none !important}
html body header.hdr2 .hdr-pin .input-group-text i{font-size:15px !important;margin:0 !important}
html body header.hdr2 .hdr-pin .form-control{position:static !important;flex:1 1 auto !important;width:auto !important;min-width:0 !important;height:38px !important;margin:0 !important;padding:0 12px !important;border:0 !important;border-radius:0 !important;background:transparent !important;box-shadow:none !important;font:500 14px/38px 'DM Sans',Poppins,sans-serif !important;color:#1a1f2b !important}
html body header.hdr2 .hdr-pin .form-control::placeholder{color:#9aa1ab}

.rm-hidden-h1{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

html body #happy-consumers .consumers-name .cn-name{display:block;margin:0 !important;font-family:"DM Serif Display",Georgia,serif !important;font-size:1rem !important;font-weight:700 !important;line-height:1.25 !important;letter-spacing:0 !important;color:#1d2a17 !important}

html body footer .footer-logo .fl-tag{display:block;margin:.9rem 0 0 !important;font-family:"DM Sans",Poppins,Arial,sans-serif !important;font-size:.8rem !important;font-weight:500;line-height:1.2;letter-spacing:.08em;text-transform:uppercase;color:#fff !important}html body footer .footer-logo .fl-tag small{font-size:80%;font-weight:600;color:#fff}

html body section:has(.featured-products) .featured-products > .fp-cat{order:1;margin:0 0 .9rem;padding:.3rem .9rem;border-radius:999px;background:#eef6dc;color:#4f7a0a;font-size:.68rem;font-weight:600;line-height:1.2;letter-spacing:.12em;text-transform:uppercase}

html body .find-mattress h2.fm-title{margin:0 0 .8rem;font-size:clamp(1.8rem,1rem + 2.4vw,3rem);font-weight:800;line-height:1.15;color:#fff;text-align:center;text-shadow:0 2px 10px rgba(0,0,0,.35)}html body .find-mattress h2.fm-title::before{content:"Mattress Finder";display:block;width:max-content;margin:0 auto .8rem;padding:.3rem .95rem;border-radius:999px;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.45);font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#fff}html body .find-mattress h2.fm-title::after{content:"";display:block;width:52px;height:2px;margin:.8rem auto 0;border-radius:2px;background:var(--brand-strip,linear-gradient(90deg,#459bd6 0 20%,#50b1e4 20% 40%,#bcca05 40% 60%,#56aa30 60% 80%,#c9cf04 80% 100%))}@media (max-width:991.98px){html body .find-mattress h2.fm-title{font-size:1.7rem}}

html body .nearest-store-info h2.ns-title{margin:0;color:#fff;text-align:left;font-size:clamp(1.45rem,2.1vw,2rem) !important;font-weight:800;line-height:1.2 !important;letter-spacing:-.01em}html body .nearest-store-info h2.ns-title::before{content:"Store Locator";display:block;width:max-content;margin:0 0 1rem;padding:.3rem .95rem;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.4);font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}html body .nearest-store-info h2.ns-title::after{content:"";display:block;width:52px;height:2px;margin:.9rem 0 0;border-radius:2px;background:var(--brand-strip,linear-gradient(90deg,#459bd6 0 20%,#50b1e4 20% 40%,#bcca05 40% 60%,#56aa30 60% 80%,#c9cf04 80% 100%))}

html body .refresh-count .rc-num{display:block;margin-top:0;margin-bottom:.5rem;font-size:1.75rem;line-height:1.2;font-family:"DM Serif Display",Georgia,serif !important;font-weight:400 !important;letter-spacing:0 !important}
.refresh-count ul li .count-up .rc-num{margin-bottom:0}
.refresh-count ul li .count-up .rc-num,.refresh-count ul li .count-up .rc-num .counter-count{font-size:32px;font-weight:bold;position:relative;color:#000;text-align:center;display:inline-block}
@media only screen and (min-width:576px) and (max-width:767px){.refresh-count ul li .count-up .rc-num,.refresh-count ul li .count-up .rc-num .counter-count{font-size:24px}}
@media only screen and (min-width:400px) and (max-width:575px){.refresh-count ul li .count-up .rc-num,.refresh-count ul li .count-up .rc-num .counter-count{font-size:20px}}
@media only screen and (min-width:320px) and (max-width:399px){.refresh-count ul li .count-up .rc-num,.refresh-count ul li .count-up .rc-num .counter-count{font-size:24px}}
@media (max-width:767.98px){.refresh-count .rc-num{font-weight:700;white-space:nowrap;font-size:clamp(.85rem,4vw,1.3rem) !important;line-height:1.2 !important;margin:0 0 .25rem !important}}
@media (max-width:767.98px){.refresh-count .rc-num span,.refresh-count .rc-num .counter-count{font-size:inherit !important;font-weight:inherit !important;line-height:inherit !important;display:inline !important;vertical-align:baseline !important}}
@media (min-width:992px){.refresh-count .count-up .rc-num{display:block;font-family:inherit;white-space:nowrap;margin:0 0 .25rem !important;padding:0 !important;font-size:clamp(1.7rem,1.1rem + 1.4vw,2.4rem) !important;font-weight:700 !important;line-height:1.15 !important;letter-spacing:0 !important;color:#222 !important}}
@media (min-width:992px){.refresh-count .count-up .rc-num span{display:inline;font:inherit;color:inherit}}
@media (min-width:992px){.refresh-count .count-up .rc-num{font-size:clamp(1.5rem,1rem + 1.1vw,2rem) !important;margin-bottom:.1rem !important}}
@media (max-width:991.98px){html body .refresh-count .count-up .rc-num{font-family:inherit;white-space:nowrap;margin:0 0 .1rem !important;padding:0 !important;font-size:1.05rem !important;font-weight:700 !important;line-height:1.15 !important;color:#222 !important}}
@media (max-width:991.98px){html body .refresh-count .count-up .rc-num span{font:inherit;color:inherit}}
@media (max-width:991.98px){html body .refresh-count .count-up .rc-num{font-size:.95rem !important;margin:0 !important}}
@media (max-width:991.98px){html body .refresh-count .count-up .rc-num{font-size:.82rem !important;font-weight:700 !important}}
@media (min-width:992px){html body .refresh-count:not(#x1):not(#x2) .rc-num{margin:0 !important;font-family:"DM Serif Display","Playfair Display",serif !important;font-weight:400 !important;font-size:clamp(30px,2.6vw,42px) !important;line-height:1.1 !important;color:#1f2a10 !important}}
@media (min-width:992px){html body .refresh-count:not(#x1):not(#x2) .rc-num span{color:inherit !important}}
@media (min-width:992px){html body .refresh-count:not(#x1):not(#x2) .rc-num span{-webkit-text-fill-color:transparent;color:transparent !important}}
@media (min-width:992px){html body .refresh-count:not(#x1):not(#x2) .rc-num{font-size:clamp(28px,2.3vw,36px) !important}}
@media (min-width:992px){html body .refresh-count:not(#x1):not(#x2) .rc-num{background:linear-gradient(90deg,#1f2a10 0%,var(--deep) 60%,var(--ac) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent !important;display:inline-block}}

.fp-name{display:block;margin-top:0;margin-bottom:.5rem;font-size:2rem;line-height:1.2;font-family:"DM Serif Display",Georgia,serif !important;font-weight:400 !important;letter-spacing:0 !important}
.featured-products .fp-name{font-weight:800;font-size:2.2rem}
@media only screen and (min-width:320px) and (max-width:767px){.featured-products .fp-name{font-size:24px}}
html body section:has(.featured-products) .featured-products > .fp-name{order:2;margin:0;font-size:clamp(1.8rem,1rem + 2.2vw,3rem);font-weight:800;line-height:1.1;color:#222;text-align:left}
html body section:has(.featured-products) .featured-products > .fp-name::after{content:"";display:block;width:56px;height:4px;margin:.8rem 0 0;border-radius:4px;background:var(--fp-strip)}
@media (max-width:991.98px){html body section:has(.featured-products) .featured-products > .fp-name{font-size:1.65rem}}
html body .featured-products > .fp-name::after{height:2px !important;width:52px !important;border-radius:2px !important}

html body .faq #accordionExample .card-header h3{margin:0 !important;font-size:inherit !important}
html body .faq #accordionExample .card-header h3::after{content:"+";position:absolute;right:.25rem;top:50%;font-size:1.5rem;font-weight:400;line-height:1;color:#4f7a0a;transform:translateY(-50%) rotate(0deg);transition:transform .3s;pointer-events:none}
html body .faq #accordionExample .card-header:has(.collapsible-link:not(.collapsed)) h3::after{transform:translateY(-50%) rotate(45deg)}
@media (prefers-reduced-motion:reduce){html body .faq #accordionExample .card-header h3::after{transition:none}}

html body .faq #accordionExample .card-body h4.faq-sub{margin:.2rem 0 .35rem;font-family:'DM Sans',Poppins,Arial,sans-serif !important;font-size:1rem;font-weight:500 !important;line-height:1.2;letter-spacing:normal !important;color:#17351b}
