/* =========================================================
   MUSSDL — FINAL CLEAN STORE CSS
   Exact selectors based on your Salla store structure
========================================================= */

:root {
  --mussdl-cream: #f7e8db;
  --mussdl-soft-white: #fffaf4;
  --mussdl-greige: #d5d2c5;
  --mussdl-olive: #4e4f3e;
  --mussdl-charcoal: #3c414a;
  --mussdl-gold: #bfa354;
  --mussdl-blue: #89a0ad;

  --color-primary: var(--mussdl-olive);
  --color-primary-dark: var(--mussdl-charcoal);
  --color-primary-light: var(--mussdl-greige);
  --color-primary-reverse: var(--mussdl-soft-white);
}

/* ---------- Global ---------- */

html,
body,
#app,
.app-inner,
main,
#main-content {
  background: var(--mussdl-cream) !important;
  color: var(--mussdl-charcoal) !important;
  overflow-x: hidden !important;
}

body,
button,
input,
textarea,
select {
  font-family: "Noto Sans Arabic", "Tajawal", Arial, sans-serif !important;
}

::selection {
  background: var(--mussdl-olive);
  color: var(--mussdl-soft-white);
}

/* =========================================================
   REMOVE TOP BAR
   Email + language + search + policy strip
========================================================= */

.store-header > .top-navbar {
  display: none !important;
}

/* =========================================================
   MAIN NAVIGATION
========================================================= */

.store-header {
  background: var(--mussdl-olive) !important;
}

#mainnav.main-nav-container {
  width: 100% !important;
  max-width: none !important;
  min-height: 78px !important;
  height: 78px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--mussdl-olive) !important;
  border-bottom: 1px solid rgba(191, 163, 84, 0.72) !important;
  box-shadow: 0 8px 22px rgba(60, 65, 74, 0.14) !important;
}

#mainnav > .inner {
  width: 100% !important;
  max-width: none !important;
  min-height: 78px !important;
  background: var(--mussdl-olive) !important;
}

#mainnav .container {
  background: transparent !important;
}

/* Main menu text */

#mainnav a,
#mainnav button,
#mainnav custom-main-menu,
#mainnav custom-main-menu a,
#mainnav custom-main-menu button {
  color: var(--mussdl-soft-white) !important;
  opacity: 1 !important;
  font-weight: 700 !important;
  text-shadow: none !important;
}

#mainnav a:hover,
#mainnav custom-main-menu a:hover {
  color: var(--mussdl-gold) !important;
}

/* Menu dropdown arrow */

#mainnav .sicon,
#mainnav [class*="sicon-"],
#mainnav svg {
  color: var(--mussdl-soft-white) !important;
  stroke: currentColor !important;
}

#mainnav svg path {
  fill: currentColor !important;
}

/* =========================================================
   LOGO
========================================================= */

#mainnav .navbar-brand {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  visibility: visible !important;
  opacity: 1 !important;
  min-width: 96px !important;
  z-index: 10 !important;
}

#mainnav .navbar-brand img {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: auto !important;
  height: 48px !important;
  max-width: 112px !important;
  max-height: 48px !important;
  object-fit: contain !important;
  filter: none !important;
  background: var(--mussdl-soft-white) !important;
  border-radius: 7px !important;
  padding: 6px !important;
}

/* =========================================================
   CART + ACCOUNT ICONS
========================================================= */

#mainnav salla-user-menu,
#mainnav salla-cart-summary {
  display: inline-flex !important;
  align-items: center !important;
  visibility: visible !important;
  opacity: 1 !important;
}

#mainnav .s-user-menu-login-btn,
#mainnav .s-cart-summary-wrapper {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 42px !important;
  min-height: 42px !important;
  color: var(--mussdl-soft-white) !important;
  background: rgba(255, 250, 244, 0.08) !important;
  border: 1px solid rgba(255, 250, 244, 0.5) !important;
  border-radius: 50% !important;
}

#mainnav .s-user-menu-login-btn:hover,
#mainnav .s-cart-summary-wrapper:hover {
  background: rgba(191, 163, 84, 0.25) !important;
  border-color: var(--mussdl-gold) !important;
}

#mainnav .s-user-menu-login-btn svg,
#mainnav .s-cart-summary-wrapper svg,
#mainnav #s-cart-icon,
#mainnav .header-btn__icon,
#mainnav .s-cart-summary-icon {
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: var(--mussdl-soft-white) !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}

#mainnav .s-cart-summary-count {
  background: #a62424 !important;
  color: #fff !important;
  border: 2px solid var(--mussdl-olive) !important;
}

#mainnav .s-cart-summary-content {
  display: none !important;
}

/* =========================================================
   FULL-WIDTH HERO BANNERS
========================================================= */

#main-content > .s-block--fixed-banner {
  width: 100vw !important;
  max-width: 100vw !important;
  min-width: 100vw !important;
  margin-inline-start: calc(50% - 50vw) !important;
  margin-inline-end: calc(50% - 50vw) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

#main-content > .s-block--fixed-banner > .container {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#main-content > .s-block--fixed-banner .banner--fixed {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
}

#main-content > .s-block--fixed-banner img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
  object-fit: cover !important;
}

/* Remove any gap directly above the first hero */

#main-content {
  padding-top: 0 !important;
}

#main-content > .s-block--fixed-banner:first-of-type {
  margin-top: 0 !important;
}

/* =========================================================
   PRODUCT SECTION
========================================================= */

#main-content > .s-block.container {
  max-width: 1180px !important;
  margin-inline: auto !important;
  padding-block: 52px !important;
}

.s-block__title h2 {
  color: var(--mussdl-charcoal) !important;
  font-size: clamp(1.45rem, 2vw, 2rem) !important;
  font-weight: 700 !important;
}

.s-block__title h2::after {
  content: "";
  display: block;
  width: 52px;
  height: 2px;
  margin-top: 12px;
  background: var(--mussdl-gold);
  border-radius: 99px;
}

/* Single product card */

.s-products-list-wrapper {
  max-width: 380px !important;
  margin-inline: auto !important;
}

.s-product-card-entry {
  background: var(--mussdl-soft-white) !important;
  border: 1px solid rgba(78, 79, 62, 0.15) !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  box-shadow: 0 12px 30px rgba(60, 65, 74, 0.08) !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}

.s-product-card-entry:hover {
  transform: translateY(-6px);
  border-color: rgba(191, 163, 84, 0.85) !important;
  box-shadow: 0 20px 38px rgba(60, 65, 74, 0.14) !important;
}

.s-product-card-image {
  background: #f8f1e9 !important;
}

.s-product-card-content-title a {
  color: var(--mussdl-charcoal) !important;
  font-weight: 700 !important;
}

.s-product-card-price {
  color: var(--mussdl-olive) !important;
  font-weight: 800 !important;
}

/* Buttons */

.s-button-btn,
.s-product-card-add-btn,
button.s-button-element {
  background: var(--mussdl-olive) !important;
  color: var(--mussdl-soft-white) !important;
  border-color: var(--mussdl-olive) !important;
  border-radius: 12px !important;
  font-weight: 700 !important;
}

.s-button-btn:hover,
.s-product-card-add-btn:hover,
button.s-button-element:hover {
  background: var(--mussdl-charcoal) !important;
  border-color: var(--mussdl-charcoal) !important;
}

/* =========================================================
   REVIEWS + FOOTER
========================================================= */

.s-block--testimonials {
  background: var(--mussdl-greige) !important;
}

footer,
.site-footer,
.store-footer {
  background: var(--mussdl-charcoal) !important;
  color: var(--mussdl-greige) !important;
  border-top: 1px solid rgba(191, 163, 84, 0.55) !important;
}

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

@media (max-width: 1023px) {
  #mainnav.main-nav-container,
  #mainnav > .inner {
    min-height: 66px !important;
    height: 66px !important;
  }

  #mainnav .container {
    padding-inline: 16px !important;
  }

  #mainnav .navbar-brand {
    min-width: auto !important;
  }

  #mainnav .navbar-brand img {
    height: 42px !important;
    max-width: 92px !important;
    max-height: 42px !important;
    padding: 5px !important;
  }

  #mainnav .mburger {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    color: var(--mussdl-soft-white) !important;
    border: 1px solid rgba(255, 250, 244, 0.5) !important;
    border-radius: 50% !important;
  }

  #mainnav .mburger i,
  #mainnav .mburger .sicon-menu {
    color: var(--mussdl-soft-white) !important;
  }

  #mainnav .s-user-menu-login-btn,
  #mainnav .s-cart-summary-wrapper {
    min-width: 38px !important;
    min-height: 38px !important;
  }

  #main-content > .s-block.container {
    padding-block: 32px !important;
    padding-inline: 16px !important;
  }

  #main-content > .s-block--fixed-banner {
    width: 100vw !important;
    min-width: 100vw !important;
    margin-inline-start: calc(50% - 50vw) !important;
    margin-inline-end: calc(50% - 50vw) !important;
  }
}
/* =========================================================
   MUSSDL — FINAL VISUAL FIXES
   Add at the VERY END of the current CSS
========================================================= */

/* ---------------------------------------------------------
   1) HEADER: remove duplicate cart icon + fix spacing
--------------------------------------------------------- */

/* Never reveal the hidden fallback icon inside Salla slots */
#mainnav slot-fb[hidden],
#mainnav #s-cart-icon slot-fb,
#mainnav #s-cart-icon .s-cart-summary-icon {
  display: none !important;
}

/* Keep header action buttons separated */
#mainnav salla-user-menu {
  margin-inline: 0 12px !important;
}

#mainnav salla-cart-summary {
  margin: 0 !important;
}

/* Account and cart circles */
#mainnav .s-user-menu-login-btn,
#mainnav .s-cart-summary-wrapper {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  padding: 0 !important;
  color: #fffaf4 !important;
  background: rgba(255, 250, 244, 0.08) !important;
  border: 1px solid rgba(255, 250, 244, 0.56) !important;
  border-radius: 50% !important;
}

/* Show only the real cart icon */
#mainnav #s-cart-icon {
  display: grid !important;
  width: 100% !important;
  height: 100% !important;
  place-items: center !important;
}

#mainnav #s-cart-icon > .header-btn__icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fffaf4 !important;
  font-size: 20px !important;
  line-height: 1 !important;
}

/* Account icon */
#mainnav .s-user-menu-login-btn svg {
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  color: #fffaf4 !important;
}

#mainnav .s-user-menu-login-btn svg path {
  fill: currentColor !important;
}

/* Cart counter */
#mainnav .s-cart-summary-count {
  position: absolute !important;
  top: -6px !important;
  inset-inline-end: -7px !important;
  display: grid !important;
  width: 20px !important;
  height: 20px !important;
  place-items: center !important;
  font-size: 10px !important;
  line-height: 1 !important;
  background: #a62424 !important;
  color: #ffffff !important;
  border: 2px solid #4e4f3e !important;
  border-radius: 50% !important;
}

/* ---------------------------------------------------------
   2) MOBILE: restore a properly sized single product card
--------------------------------------------------------- */

#main-content salla-products-list.vertical-products {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
}

#main-content
  salla-products-list.vertical-products
  .s-products-list-wrapper.s-products-list-vertical-cards {
  display: block !important;
  width: min(100%, 380px) !important;
  min-width: 280px !important;
  max-width: 380px !important;
  margin-inline: auto !important;
}

#main-content
  salla-products-list.vertical-products
  .s-product-card-entry.s-product-card-vertical {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

#main-content
  salla-products-list.vertical-products
  .s-product-card-image,
#main-content
  salla-products-list.vertical-products
  .s-product-card-content,
#main-content
  salla-products-list.vertical-products
  .s-product-card-content-footer {
  width: 100% !important;
  min-width: 0 !important;
}

#main-content
  salla-products-list.vertical-products
  .s-product-card-image-cover {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4 / 5 !important;
  object-fit: cover !important;
}

#main-content
  salla-products-list.vertical-products
  .s-product-card-content {
  padding: 18px !important;
}

#main-content
  salla-products-list.vertical-products
  salla-add-product-button,
#main-content
  salla-products-list.vertical-products
  salla-add-product-button .w-full,
#main-content
  salla-products-list.vertical-products
  salla-add-product-button button {
  width: 100% !important;
}

/* ---------------------------------------------------------
   3) REVIEWS: clean luxury slider, no side cards leaking out
--------------------------------------------------------- */

#main-content > .s-block--testimonials {
  max-width: 1180px !important;
  margin: 56px auto !important;
  padding: 34px !important;
  background: #d5d2c5 !important;
  border: 1px solid rgba(78, 79, 62, 0.12) !important;
  border-radius: 24px !important;
  overflow: hidden !important;
}

#main-content .s-reviews-container {
  width: 100% !important;
  max-width: 100% !important;
}

#main-content .s-reviews-header-wrapper {
  margin-bottom: 20px !important;
}

#main-content .s-reviews-header {
  color: #3c414a !important;
  font-size: clamp(1.4rem, 2vw, 2rem) !important;
  font-weight: 700 !important;
}

/* Prevent neighbouring slides from appearing */
#main-content .s-reviews-testimonials-slider,
#main-content .s-reviews-testimonials-slider .s-slider-container,
#main-content .s-reviews-testimonials-slider .swiper {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
  border-radius: 18px !important;
}

#main-content .s-reviews-testimonials-slider .swiper-wrapper {
  align-items: stretch !important;
}

#main-content .s-reviews-testimonials-slider .swiper-slide,
#main-content .s-reviews-testimonials-slider .s-reviews-swiper-slide {
  width: 100% !important;
  max-width: 100% !important;
}

#main-content .s-reviews-testimonial {
  min-height: 250px !important;
  padding: 30px !important;
  background: #fffaf4 !important;
  border: 1px solid rgba(78, 79, 62, 0.12) !important;
  border-radius: 18px !important;
}

#main-content .s-reviews-testimonial__inner {
  width: 100% !important;
}

#main-content .s-reviews-testimonial__avatar img {
  width: 72px !important;
  height: 72px !important;
  object-fit: cover !important;
  border: 2px solid #bfa354 !important;
}

#main-content .s-reviews-testimonial__text p {
  color: #3c414a !important;
  font-size: 1rem !important;
  line-height: 1.9 !important;
}

#main-content .s-reviews-testimonial__info h2 {
  color: #4e4f3e !important;
  font-weight: 700 !important;
}

#main-content .s-rating-stars-wrapper {
  color: #bfa354 !important;
}

#main-content .s-rating-stars-wrapper svg,
#main-content .s-rating-stars-wrapper svg path {
  fill: #bfa354 !important;
}

/* Review navigation buttons */
#main-content .s-slider-nav-arrow {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 42px !important;
  height: 42px !important;
  color: #4e4f3e !important;
  background: #fffaf4 !important;
  border: 1px solid rgba(78, 79, 62, 0.18) !important;
  border-radius: 50% !important;
}

#main-content .s-slider-nav-arrow svg,
#main-content .s-slider-nav-arrow svg path {
  fill: currentColor !important;
}

/* ---------------------------------------------------------
   4) Mobile polish
--------------------------------------------------------- */

@media (max-width: 767px) {
  #mainnav .navbar-brand {
    position: absolute !important;
    top: 10px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    z-index: 10 !important;
  }

  #mainnav .navbar-brand img {
    display: block !important;
    width: 42px !important;
    height: 42px !important;
    max-width: 42px !important;
    max-height: 42px !important;
    padding: 4px !important;
    background: #fffaf4 !important;
    border-radius: 6px !important;
  }

  #mainnav .s-user-menu-login-btn,
  #mainnav .s-cart-summary-wrapper {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
  }

  #main-content
    salla-products-list.vertical-products
    .s-products-list-wrapper.s-products-list-vertical-cards {
    width: min(100%, 340px) !important;
    min-width: 0 !important;
  }

  #main-content > .s-block--testimonials {
    margin: 32px 16px !important;
    padding: 22px !important;
    border-radius: 18px !important;
  }

  #main-content .s-reviews-testimonial {
    min-height: 220px !important;
    padding: 22px !important;
  }
}
/* =========================================================
   MUSSDL — FORCE PRODUCT DETAILS TO SHOW
   Paste at the END of all existing CSS
========================================================= */

/* Card structure */
#main-content
salla-products-list.vertical-products
custom-salla-product-card.s-product-card-entry {
  display: flex !important;
  flex-direction: column !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

/* Image should not consume the entire card */
#main-content
salla-products-list.vertical-products
.s-product-card-image {
  flex: 0 0 auto !important;
  height: auto !important;
  aspect-ratio: 1 / 1.05 !important;
  min-height: 0 !important;
}

/* Force details to appear below the image */
#main-content
salla-products-list.vertical-products
.s-product-card-content {
  display: flex !important;
  flex: 0 0 auto !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;

  position: relative !important;
  width: 100% !important;
  height: auto !important;
  min-height: 150px !important;
  max-height: none !important;

  padding: 14px !important;
  margin: 0 !important;
  overflow: visible !important;

  background: #fffaf4 !important;
  color: #3c414a !important;
  box-sizing: border-box !important;
}

/* Reveal all product text sections */
#main-content
salla-products-list.vertical-products
.s-product-card-content-main,
#main-content
salla-products-list.vertical-products
.s-product-card-content-sub,
#main-content
salla-products-list.vertical-products
.s-product-card-content-footer {
  display: block !important;
  position: relative !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}

/* Product title */
#main-content
salla-products-list.vertical-products
.s-product-card-content-title,
#main-content
salla-products-list.vertical-products
.s-product-card-content-title a {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #3c414a !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  margin: 0 0 8px !important;
}

/* Product price */
#main-content
salla-products-list.vertical-products
.s-product-card-price {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #4e4f3e !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.4 !important;
  margin: 0 0 12px !important;
}
/* =========================================================
   MUSSDL — KEEP DETAILS + 2 CARDS SIDE BY SIDE
========================================================= */

#main-content
salla-products-list.vertical-products
.s-products-list-wrapper.s-products-list-vertical-cards {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-auto-flow: row !important;
  align-items: start !important;
  justify-content: center !important;
  gap: 12px !important;

  width: calc(100% - 20px) !important;
  max-width: 720px !important;
  margin: 0 auto !important;
}

/* Force each product into one grid column only */
#main-content
salla-products-list.vertical-products
.s-products-list-wrapper.s-products-list-vertical-cards
> custom-salla-product-card,
#main-content
salla-products-list.vertical-products
.s-products-list-wrapper.s-products-list-vertical-cards
> .s-product-card-entry {
  display: flex !important;
  flex-direction: column !important;

  grid-column: auto !important;
  grid-row: auto !important;

  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;

  margin: 0 !important;
  box-sizing: border-box !important;
}

/* Keep image compact enough for the details */
#main-content
salla-products-list.vertical-products
.s-product-card-image {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 1 / 1.02 !important;
  flex: 0 0 auto !important;
}

/* Keep details inside their own card column */
#main-content
salla-products-list.vertical-products
.s-product-card-content {
  display: flex !important;
  flex-direction: column !important;

  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 140px !important;

  box-sizing: border-box !important;
  overflow: visible !important;
}

/* Prevent any old rule from making content span both columns */
#main-content
salla-products-list.vertical-products
.s-product-card-content-main,
#main-content
salla-products-list.vertical-products
.s-product-card-content-sub,
#main-content
salla-products-list.vertical-products
.s-product-card-content-footer {
  width: 100% !important;
  min-width: 0 !important;
  grid-column: auto !important;
}

/* Mobile: still side by side */
@media (max-width: 767px) {
  #main-content
  salla-products-list.vertical-products
  .s-products-list-wrapper.s-products-list-vertical-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: calc(100% - 16px) !important;
  }

  #main-content
  salla-products-list.vertical-products
  .s-product-card-content {
    min-height: 132px !important;
    padding: 10px !important;
  }

  #main-content
  salla-products-list.vertical-products
  .s-product-card-image {
    aspect-ratio: 1 / 0.95 !important;
  }
}
/* Add-to-cart area */
#main-content
salla-products-list.vertical-products
.s-product-card-content-footer {
  margin-top: auto !important;
  padding-top: 2px !important;
}

#main-content
salla-products-list.vertical-products
salla-add-product-button,
#main-content
salla-products-list.vertical-products
salla-add-product-button .w-full,
#main-content
salla-products-list.vertical-products
salla-add-product-button .s-button-wrap,
#main-content
salla-products-list.vertical-products
salla-add-product-button button {
  display: block !important;
  width: 100% !important;
  visibility: visible !important;
  opacity: 1 !important;
}

#main-content
salla-products-list.vertical-products
salla-add-product-button button {
  min-height: 42px !important;
  color: #fffaf4 !important;
  background: #4e4f3e !important;
  border-color: #4e4f3e !important;
  border-radius: 12px !important;
}

/* Compact two-card layout on phone */
@media (max-width: 767px) {
  #main-content
  salla-products-list.vertical-products
  .s-product-card-content {
    min-height: 136px !important;
    padding: 10px !important;
  }

  #main-content
  salla-products-list.vertical-products
  .s-product-card-content-title,
  #main-content
  salla-products-list.vertical-products
  .s-product-card-content-title a {
    font-size: 12px !important;
  }

  #main-content
  salla-products-list.vertical-products
  .s-product-card-price {
    font-size: 13px !important;
  }

  #main-content
  salla-products-list.vertical-products
  salla-add-product-button button {
    min-height: 38px !important;
    font-size: 12px !important;
  }
}