/*
 * Override de storefront para Primor (store 1645, subdomain primortiendamultimarca).
 * Theme base: Haven. Se carga después de haven.css vía store_override_stylesheet_path.
 * Editar este archivo; no usar Store#css_override para esta tienda.
 */

/* —— Tipografía: Store#font_id (Google Fonts vía Font#link + --store-font); sin self-hosted —— */
/* font_id 3 = Poppins+Cormorant (300–600). Layout: theme_head → font.link, store_font → --store-font. */
:root {
  --font-body: var(--store-font, "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif);
  --font-accent: "Cormorant Garamond", "Playfair Display", Georgia, serif;
  --linea: #ebcfd3; /* rayas tenues / bordes (paleta Primor) */
  --ciruela: #3b1f28;
  /* Haven usa --line / --line-2 en bordes y divisoras; remapeo a Primor */
  --line: #ebcfd3;
  --line-2: #f3e4e6;
}

body {
  font-family: var(--store-font, var(--font-body)) !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
}

h1,
h2,
h3,
h4 {
  font-family: var(--store-font, var(--font-body)) !important;
  letter-spacing: -0.01em !important;
}

/* —— section__title: texto ciruela; rayas tenues --linea (no gris Haven #ddd) —— */
.section__title {
  color: var(--ciruela, #3b1f28) !important;
}

.section__title::before,
.section__title::after {
  background: var(--linea, #ebcfd3) !important;
}

/* —— wrap-announcement-bar-2 / ticker: altura compacta como prod Primor (~28px) —— */
.announcement-bar.announcement-bar--ticker {
  padding-block: 0.3rem !important;
  font-size: 0.8125rem !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
}

.announcement-bar--ticker .wrap-announcement-bar-2.ticker-wrap,
.announcement-bar--ticker .wrap-announcement-bar-2 {
  display: flex !important;
  align-items: center !important;
  min-height: 1.75rem !important;
}

.announcement-bar--ticker .wrap-announcement-bar-2 .tf-sw-top_bar {
  margin-block: 0 !important;
}

.announcement-bar--ticker .wrap-announcement-bar-2 .swiper-slide {
  min-height: 0 !important;
  height: auto !important;
}

.announcement-bar--ticker .wrap-announcement-bar-2 .noti-bar-text,
.announcement-bar--ticker .noti-bar-text {
  padding: 0.15rem 0.25rem !important;
  font-size: 0.8125rem !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
}

.announcement-bar--ticker .wrap-announcement-bar-2 .noti-bar-text strong,
.announcement-bar--ticker .noti-bar-text strong {
  font-weight: 600 !important;
}

.announcement-bar--ticker .wrap-announcement-bar-2 .navigation-topbar {
  width: 1.75rem !important;
  height: 1.75rem !important;
}

.announcement-bar--ticker .wrap-announcement-bar-2 .navigation-topbar .icon {
  font-size: 0.75rem !important;
}

/* —— account-invite (piel boutique / producción Primor) —— */
.account-invite {
  top: calc(100% + 0.75rem) !important;
  width: 20rem !important;
  padding: 1.5rem 1.5rem 1rem !important;
  border-radius: 1.25rem !important;
  background: #fff !important;
  box-shadow: 0 0.5rem 1.75rem -0.5rem rgba(120, 40, 70, 0.28) !important;
  transition:
    opacity 0.2s cubic-bezier(0.2, 0.8, 0.2, 1),
    transform 0.2s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
}

.account-invite::before {
  top: -0.4rem !important;
  width: 0.875rem !important;
  height: 0.875rem !important;
  border-radius: 0.125rem !important;
  background: #fff !important;
  box-shadow: none !important;
}

.account-invite--end {
  right: -0.5rem !important;
}

.account-invite--end::before {
  right: 1.75rem !important;
}

.account-invite__actions {
  gap: 0.625rem !important;
}

.account-invite__btn {
  min-height: 3rem !important;
  border: 0.0625rem solid #ebcfd3 !important;
  border-radius: 62rem !important;
  background: #fff !important;
  color: #3b1f28 !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  text-transform: none !important;
}

.account-invite__btn--primary,
#header .nav-icon .account-invite a.account-invite__btn--primary,
.nav-icon .account-invite a.account-invite__btn--primary {
  --account-invite-btn-bg: #f8a0b8;
  border-color: #f8a0b8 !important;
  background: #f8a0b8 !important;
  color: #3b1f28 !important;
  font-weight: 600 !important;
  text-transform: none !important;
  padding-right: 1rem !important;
  padding-left: 1rem !important;
}

.account-invite__btn--primary:hover,
.account-invite__btn--primary:focus-visible,
.nav-icon .account-invite a.account-invite__btn--primary:hover,
.nav-icon .account-invite a.account-invite__btn--primary:focus-visible {
  border-color: #f08aa8 !important;
  background: #f08aa8 !important;
  color: #3b1f28 !important;
}

.account-invite__btn--google {
  border-color: #ebcfd3 !important;
  background: #fff !important;
  color: #3b1f28 !important;
}

.account-invite__btn--google:hover,
.account-invite__btn--google:focus-visible {
  border-color: #e0b8bf !important;
  background: #f7ebeb !important;
  color: #3b1f28 !important;
}

.account-invite__dismiss {
  color: #6b4752 !important;
  font-size: 0.8125rem !important;
  font-weight: 400 !important;
}

.account-invite__dismiss:hover,
.account-invite__dismiss:focus-visible {
  color: #3b1f28 !important;
}

/* layout-flags pinta el CTA del header con !important */
#header .nav-icon .account-invite a.account-invite__btn--primary,
#header .nav-icon .account-invite a.account-invite__btn--primary:hover,
#header .nav-icon .account-invite a.account-invite__btn--primary:focus-visible {
  color: #3b1f28 !important;
}

/* —— Buscador header (pill Primor / producción) —— */
#header .header-mobile-search {
  position: relative;
  z-index: 50;
  isolation: isolate;
}

#header .main-header .top-search-box {
  width: 100%;
  margin: 0;
}

#header .main-header .ais-SearchBox-form,
#header .main-header .tf-mini-search-frm.tf-mini-search-frm--canvas {
  position: relative !important;
  display: flex !important;
  align-items: stretch !important;
  height: 2.875rem !important;
  margin: 0 !important;
}

#header .main-header .tf-mini-search-frm.tf-mini-search-frm--canvas fieldset,
#header .main-header .tf-mini-search-frm.tf-mini-search-frm--canvas fieldset.text {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

#header .main-header .ais-SearchBox-input,
#header .main-header .tf-mini-search-frm--canvas-input,
#header .main-header input.ais-SearchBox-input {
  position: static !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 2.875rem !important;
  padding: 0 1.25rem !important;
  border: 0.125rem solid #ebcfd3 !important;
  border-right: 0 !important;
  border-radius: 62rem 0 0 62rem !important;
  background: #fff !important;
  color: #3b1f28 !important;
  font-size: 0.9375rem !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
}

#header .main-header .ais-SearchBox-input::placeholder,
#header .main-header .tf-mini-search-frm--canvas-input::placeholder {
  color: #6b4752 !important;
}

#header .main-header .ais-SearchBox-input:focus,
#header .main-header .tf-mini-search-frm--canvas-input:focus {
  border-color: #3b1f28 !important;
  border-right: 0 !important;
  background: #fff !important;
  outline: 0 !important;
}

#header .main-header .ais-SearchBox-submit,
#header .main-header .tf-mini-search-frm--canvas-submit {
  position: static !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  z-index: auto !important;
  display: grid !important;
  place-items: center !important;
  flex: 0 0 3.5rem !important;
  width: 3.5rem !important;
  height: 2.875rem !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0.125rem solid #3b1f28 !important;
  border-radius: 0 62rem 62rem 0 !important;
  background: #3b1f28 !important;
  color: #f7ebeb !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease, border-color 0.2s ease !important;
}

#header .main-header .ais-SearchBox-submit:hover,
#header .main-header .tf-mini-search-frm--canvas-submit:hover {
  background: #2a151c !important;
  border-color: #2a151c !important;
}

#header .main-header .ais-SearchBox-submitIcon {
  width: 1rem !important;
  height: 1rem !important;
  fill: #f7ebeb !important;
  stroke: #f7ebeb !important;
  margin-top: 0 !important;
}

#header .main-header .tf-mini-search-frm--canvas-submit .icon-search,
#header .main-header .tf-mini-search-frm--canvas-submit .icon-search::before {
  color: #f7ebeb !important;
  font-size: 1rem !important;
  line-height: 1 !important;
}

#header .main-header .ais-SearchBox-reset {
  display: none !important;
}

#header .main-header #wrap-search #searchbox,
#header .main-header #wrap-search .ais-SearchBox,
#header .main-header #wrap-search .ais-SearchBox-form {
  min-height: 2.875rem !important;
  width: 100% !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}

#header .main-header #wrap-search-classic .tf-mini-search-frm--canvas {
  width: 100% !important;
}

/* Buscador sobre fondo de menú (< xl): sin color de borde */
@media (max-width: 1199.98px) {
  #header .header-mobile-search .ais-SearchBox-input,
  #header .header-mobile-search .tf-mini-search-frm--canvas-input,
  #header .header-mobile-search input.ais-SearchBox-input {
    border-color: transparent !important;
    border-right: 0 !important;
  }

  #header .header-mobile-search .ais-SearchBox-input:focus,
  #header .header-mobile-search .tf-mini-search-frm--canvas-input:focus {
    border-color: transparent !important;
    border-right: 0 !important;
  }

  #header .header-mobile-search .ais-SearchBox-submit,
  #header .header-mobile-search .tf-mini-search-frm--canvas-submit {
    border-color: transparent !important;
  }

  #header .header-mobile-search .ais-SearchBox-submit:hover,
  #header .header-mobile-search .tf-mini-search-frm--canvas-submit:hover {
    border-color: transparent !important;
  }
}

/* —— Teléfono barra de menú: sin letter-spacing; menos aire con el texto —— */
#header .header-bottom .box-right {
  /* Centro óptico: el bloque (número grande + leyenda) pesa hacia arriba */
  transform: translateY(0.125rem) !important;
}

#header .header-bottom .box-right .number {
  gap: 0 !important;
  line-height: 1 !important;
}

#header .header-bottom .box-right .phone,
#header .header-bottom .box-right .number .phone {
  letter-spacing: 0 !important;
  line-height: 1.5rem !important;
}

#header .header-bottom .box-right .text {
  margin-top: 0 !important;
  font-size: 0.875rem !important;
  line-height: 1.2 !important;
}

/* —— Catálogo: solo border-radius (botón + panel), sin igualar el resto —— */
#header .tf-list-categories .categories-title {
  border-radius: 62rem !important;
}

#header .tf-list-categories .list-categories-inner.toolbar-shop-mobile,
.toolbar-shop-mobile.list-categories-inner,
#header .tf-list-categories .list-categories-inner {
  border: 1px solid var(--linea, #ebcfd3) !important;
  border-radius: 1.25rem !important;
}

#header .header-bottom .tf-list-categories .categories-bottom,
.toolbar-shop-mobile .categories-bottom,
.categories-bottom {
  background: rgba(59, 31, 40, 0.04) !important;
}

#header .tf-list-categories .nav-mb-item:not(:last-child),
.toolbar-shop-mobile .nav-mb-item:not(:last-child) {
  border-bottom-color: var(--linea, #ebcfd3) !important;
}

/* —— Banners: border-radius + borde tenue Primor (no gris #e5e5e5) —— */
.tf-slideshow .wrap-slider {
  border-radius: 1.25rem !important;
}

.tf-slideshow.slider-personalized-pod .wrap-slider {
  border-radius: 0 !important;
}

.tf-slideshow.slider-personalized-pod .wrap-slider img {
  border-radius: 0 !important;
}

@media (min-width: 1200px) {
  .tf-slideshow.slider-personalized-pod .wrap-slider,
  .tf-slideshow.slider-personalized-pod .wrap-slider img {
    border-radius: 1.25rem !important;
  }

  .tf-slideshow.slider-personalized-pod .wrap-slider img,
  .tf-slideshow.is-peek.slider-personalized-pod .wrap-slider img {
    border: 1px solid var(--linea, #ebcfd3) !important;
  }
}

@media (max-width: 1199.98px) {
  .tf-slideshow.is-peek .wrap-slider,
  .tf-slideshow.is-peek.slider-personalized-pod .wrap-slider img {
    border-radius: 0 !important;
  }
}

/* —— featured_brands_square: anillos como producción Primor —— */
.brand-rings {
  padding-block: 2rem !important;
}

.brand-rings .section__head {
  margin: 0 0 2rem !important;
  text-align: center !important;
}

.brand-rings .section__title {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 1.25rem !important;
  margin: 0 0 0.5rem !important;
  color: #3b1f28 !important;
  font-size: clamp(1.125rem, 2.6vw, 1.75rem) !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  text-transform: uppercase !important;
}

.brand-rings .section__title::before,
.brand-rings .section__title::after {
  content: "" !important;
  flex: 1 1 0 !important;
  height: 1px !important;
  min-width: 1.5rem !important;
  background: #ebcfd3 !important;
}

.brand-rings .section__lead {
  max-width: 40rem !important;
  margin: 0 auto !important;
  color: #6b4752 !important;
  font-size: 1.0625rem !important;
  font-weight: 300 !important;
}

.brand-rings__wrap {
  position: relative !important;
  padding-bottom: 2.25rem !important;
}

/* Quitar marco Haven del carrusel de marcas */
.brand-rings .tf-sw-brand {
  border: 0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  background: transparent !important;
  padding: 0.5rem 0.25rem 0.75rem !important;
}

.brand-rings .tf-sw-brand .swiper-slide:not(:last-child) .brand-item {
  border-right: 0 !important;
}

.brand-ring {
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  aspect-ratio: 1 !important;
  padding: 17% !important;
  border: 0.25rem solid #f8a0b8 !important;
  border-radius: 50% !important;
  background: #fff !important;
  box-shadow: 0 0.25rem 0.75rem -0.25rem rgba(120, 40, 70, 0.2) !important;
  box-sizing: border-box !important;
  text-decoration: none !important;
  transition:
    transform 0.25s cubic-bezier(0.2, 0.8, 0.2, 1),
    box-shadow 0.25s cubic-bezier(0.2, 0.8, 0.2, 1),
    border-color 0.25s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
}

.brand-ring img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  object-fit: contain !important;
}

.brand-ring:hover,
.brand-ring:focus-visible {
  border-color: #3b1f28 !important;
  box-shadow: 0 0.5rem 1.75rem -0.5rem rgba(120, 40, 70, 0.28) !important;
  transform: translateY(-0.3rem) !important;
}

.brand-ring__name {
  color: #3b1f28 !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-align: center !important;
}

.brand-rings__nav {
  position: absolute !important;
  top: calc(50% - 1.5rem) !important;
  z-index: 5 !important;
  display: none !important;
  place-items: center !important;
  width: 2.75rem !important;
  height: 2.75rem !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 62rem !important;
  background: #fff !important;
  color: #3b1f28 !important;
  box-shadow: 0 0.25rem 1rem -0.25rem rgba(120, 40, 70, 0.22) !important;
  cursor: pointer !important;
  transition: transform 0.2s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
}

.brand-rings__nav:hover {
  transform: scale(1.08) !important;
}

.brand-rings__nav.swiper-button-disabled {
  opacity: 0.35 !important;
  pointer-events: none !important;
}

.brand-rings__nav--prev {
  left: -0.75rem !important;
}

.brand-rings__nav--next {
  right: -0.75rem !important;
}

.brand-rings__dots {
  position: absolute !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  display: flex !important;
  justify-content: center !important;
  gap: 0.4rem !important;
  margin: 0 !important;
}

.brand-rings__dots .swiper-pagination-bullet {
  width: 0.5rem !important;
  height: 0.5rem !important;
  margin: 0 !important;
  background: #f8a0b8 !important;
  opacity: 0.6 !important;
  transition: width 0.25s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
}

.brand-rings__dots .swiper-pagination-bullet-active {
  width: 1.5rem !important;
  border-radius: 62rem !important;
  background: #3b1f28 !important;
  opacity: 1 !important;
}

@media (min-width: 768px) {
  .brand-rings__nav {
    display: grid !important;
  }
}

@media (max-width: 575.98px) {
  .brand-rings .section__title {
    gap: 0.625rem !important;
    font-size: 1.125rem !important;
  }
}

/* —— featured_categories_square: mosaico como producción Primor —— */
.category-tiles {
  padding-block: 2rem !important;
  background: #f7ebeb !important;
}

.category-tiles .section__head {
  margin: 0 0 2rem !important;
  text-align: center !important;
}

.category-tiles .section__title {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 1.25rem !important;
  margin: 0 0 0.5rem !important;
  color: #3b1f28 !important;
  font-size: clamp(1.125rem, 2.6vw, 1.75rem) !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  text-transform: uppercase !important;
}

.category-tiles .section__title::before,
.category-tiles .section__title::after {
  content: "" !important;
  flex: 1 1 0 !important;
  height: 1px !important;
  min-width: 1.5rem !important;
  background: #ebcfd3 !important;
}

.category-tiles .section__lead {
  max-width: 40rem !important;
  margin: 0 auto !important;
  color: #6b4752 !important;
  font-size: 1.0625rem !important;
  font-weight: 300 !important;
}

.category-tiles__grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 1rem !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.category-tile {
  display: block !important;
  color: #3b1f28 !important;
  text-align: center !important;
  text-decoration: none !important;
}

.category-tile__media {
  display: block !important;
  aspect-ratio: 1 !important;
  overflow: hidden !important;
  border-radius: var(--radius-cards, 1.25rem) !important;
  background: #fff !important;
  box-shadow: 0 0.25rem 1.25rem rgba(120, 40, 70, 0.1) !important;
  transition:
    transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1),
    box-shadow 0.3s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
}

.category-tile__media img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
}

.category-tile__name {
  display: block !important;
  margin-top: 0.75rem !important;
  color: #3b1f28 !important;
  font-size: 0.9375rem !important;
  font-weight: 500 !important;
}

.category-tile:hover .category-tile__media,
.category-tile:focus-visible .category-tile__media {
  box-shadow: 0 0.5rem 1.75rem -0.5rem rgba(120, 40, 70, 0.28) !important;
  transform: translateY(-0.25rem) !important;
}

.category-tile:hover .category-tile__media img,
.category-tile:focus-visible .category-tile__media img {
  transform: scale(1.04) !important;
}

@media (min-width: 768px) {
  .category-tiles__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 1200px) {
  .category-tiles__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 575.98px) {
  .category-tiles .section__title {
    gap: 0.625rem !important;
    font-size: 1.125rem !important;
  }
}

/* —— card-product: piel Primor; rounded = --radius-cards (store custom) —— */
.card-product {
  position: relative !important;
  overflow: hidden !important;
  border: 0.0625rem solid #ebcfd3 !important;
  border-radius: var(--radius-cards, 1.25rem) !important;
  background: #fff !important;
  transition:
    box-shadow 0.25s cubic-bezier(0.2, 0.8, 0.2, 1),
    transform 0.25s cubic-bezier(0.2, 0.8, 0.2, 1),
    border-color 0.25s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
}

.card-product:hover {
  border-color: #3b1f28 !important;
  box-shadow: 0 0.35rem 1.1rem rgba(59, 31, 40, 0.12) !important;
}

/* card-product-info: Haven. list-product-btn mobile: más aire a los lados */
@media (max-width: 767.98px) {
  .card-product .list-product-btn .btn-add,
  .card-product .list-product-btn .btn-quiet,
  .card-product .list-product-btn a.btn-mt {
    margin-left: 1.25rem !important;
    margin-right: 1.25rem !important;
    width: calc(100% - 2.5rem) !important;
    max-width: none !important;
  }
}

.card-product a,
.card-product a:hover {
  color: inherit !important;
  text-decoration: none !important;
}

.card-product .wishlist-heart {
  border-radius: 62rem !important;
  background: #fff !important;
  color: #3b1f28 !important;
  box-shadow: 0 0.25rem 1.25rem rgba(120, 40, 70, 0.1) !important;
}

.card-product .item-discount {
  border-radius: 62rem !important;
  background: #fab6c3 !important;
  color: #3b1f28 !important;
}

.card-product .label-stamp,
.card-product .label-new {
  border-radius: 62rem !important;
  background: #3b1f28 !important;
  color: #f7ebeb !important;
}

/* —— cta-band__card: piel Primor; rounded = --radius-cards (store custom) —— */
.section.cta-band {
  padding-block: clamp(2.5rem, 6vw, 4.5rem) !important;
  background: #f7ebeb !important;
}

.cta-band__card {
  position: relative !important;
  isolation: isolate !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 1.5rem !important;
  overflow: hidden !important;
  padding: clamp(1.75rem, 5vw, 3.25rem) !important;
  border-radius: var(--radius-cards, 1.25rem) !important;
  background: #fab6c3 !important;
  color: #3b1f28 !important;
}

.cta-band__text {
  max-width: 36rem !important;
}

.cta-band__title {
  margin: 0 0 0.5rem !important;
  color: #3b1f28 !important;
  font-size: clamp(1.5rem, 3.4vw, 2.25rem) !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
}

.cta-band__lead {
  margin: 0 !important;
  color: #3b1f28 !important;
  font-size: 1.0625rem !important;
  font-weight: 400 !important;
}

.cta-band__star {
  background-color: #fff !important;
  opacity: 0.55 !important;
}

.cta-band__button,
.cta-band__button.btn-ink {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.55rem !important;
  min-height: 3rem !important;
  padding: 0.7rem 1.75rem !important;
  border: 0.125rem solid #3b1f28 !important;
  border-radius: var(--radius-buttons, 62rem) !important;
  background: #3b1f28 !important;
  color: #f7ebeb !important;
  font-size: 0.9375rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  text-decoration: none !important;
}

.cta-band__button:hover,
.cta-band__button:focus-visible,
.cta-band__button.btn-ink:hover,
.cta-band__button.btn-ink:focus-visible {
  border-color: #3b1f28 !important;
  background: #2a151c !important;
  color: #f7ebeb !important;
  text-decoration: none !important;
}

@media (min-width: 768px) {
  .cta-band__card {
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
  }
}

/* —— view-more / tf-btn-loading: píldora Primor (prod) —— */
.view-more-button .tf-btn-loading,
.view-more-button .tf-loading-default,
.view-more-button .tf-loading-default.style-2,
.view-more-button .tf-loading-default.is-loading {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.55rem !important;
  width: auto !important;
  min-width: 14.125rem !important;
  height: 3rem !important;
  min-height: 3rem !important;
  margin: 0 !important;
  padding: 0.7rem 1.75rem !important;
  border: 0.125rem solid var(--btn-front-bg, #492933) !important;
  border-radius: var(--radius-buttons, 62rem) !important;
  background: var(--btn-front-bg, #492933) !important;
  background-color: var(--btn-front-bg, #492933) !important;
  color: var(--btn-front-text, #fff) !important;
  box-shadow: none !important;
  font-family: var(--store-font, var(--font-body)) !important;
  font-size: 0.9375rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  white-space: nowrap !important;
  transform: none !important;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease !important;
}

.view-more-button .tf-btn-loading .text,
.view-more-button .tf-loading-default .text,
.view-more-button .tf-btn-loading i,
.view-more-button .tf-loading-default i {
  margin: 0 !important;
  color: var(--btn-front-text, #fff) !important;
  font-size: 0.9375rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
}

/* is-loading: conserva el espacio del texto/icono para que no colapse */
.view-more-button .tf-btn-loading.is-loading .text,
.view-more-button .tf-loading-default.is-loading .text {
  display: inline !important;
  visibility: hidden !important;
}

.view-more-button .tf-btn-loading.is-loading i,
.view-more-button .tf-loading-default.is-loading i {
  display: inline-block !important;
  visibility: hidden !important;
}

.view-more-button .tf-btn-loading:hover,
.view-more-button .tf-btn-loading:focus-visible,
.view-more-button .tf-loading-default:hover,
.view-more-button .tf-loading-default:focus-visible,
.view-more-button .tf-loading-default.style-2:hover {
  border-color: var(--btn-front-bg, #492933) !important;
  background: var(--btn-front-bg, #492933) !important;
  background-color: var(--btn-front-bg, #492933) !important;
  color: var(--btn-front-text, #fff) !important;
  box-shadow: 0 0.35rem 1rem rgba(59, 31, 40, 0.16) !important;
  transform: translateY(-0.1rem) !important;
}

.view-more-button .tf-btn-loading:hover .text,
.view-more-button .tf-btn-loading:focus-visible .text,
.view-more-button .tf-loading-default:hover .text,
.view-more-button .tf-loading-default.style-2:hover .text,
.view-more-button .tf-btn-loading:hover i,
.view-more-button .tf-loading-default:hover i {
  color: var(--btn-front-text, #fff) !important;
}

.view-more-button .tf-btn-loading::before,
.view-more-button .tf-loading-default::before {
  border-color: var(--btn-front-text, #fff) !important;
}

.view-more-button .tf-btn-loading.is-loading::before,
.view-more-button .tf-loading-default.is-loading::before {
  border: solid 0.125rem var(--btn-front-text, #fff) !important;
  border-top-color: transparent !important;
  opacity: 1 !important;
  animation-play-state: running !important;
}

/* —— cart-value: badge Primor (#492933 / blanco), texto centrado —— */
.cart-value,
#header .count-box.cart-value,
#header .nav-icon .count-box,
.toolbar-count.cart-value,
#sticky-cart mark.cart-value,
#sticky-cart mark {
  background: var(--cart-count-bg, #492933) !important;
  background-color: var(--cart-count-bg, #492933) !important;
  color: var(--cart-count-text, #fff) !important;
  text-align: center !important;
}

#header .count-box.cart-value,
.toolbar-count.cart-value {
  display: grid !important;
  place-items: center !important;
  line-height: 1 !important;
}

/* —— tf-mini-cart-threshold: barras Primor; textos centrados —— */
.tf-mini-cart-threshold {
  text-align: center !important;
}

.tf-mini-cart-threshold .minimum-order,
.tf-mini-cart-threshold .minimum-order-text {
  text-align: center !important;
  color: #3b1f28 !important;
}

.tf-mini-cart-threshold .minimum-order-text strong {
  color: #3b1f28 !important;
}

.tf-mini-cart-threshold .minimum-order-progress.progress,
.tf-mini-cart-threshold .progress {
  --bs-progress-bg: #ebcfd3 !important;
  --bs-progress-bar-bg: #3b1f28 !important;
  background: #ebcfd3 !important;
  border-radius: 62rem !important;
  overflow: hidden !important;
}

.tf-mini-cart-threshold .minimum-order-progress-bar,
.tf-mini-cart-threshold .progress-bar {
  background: #3b1f28 !important;
  background-color: #3b1f28 !important;
  border-radius: 62rem !important;
}

.tf-mini-cart-threshold .minimum-order-progress-bar.active {
  background: #3b1f28 !important;
}

.tf-mini-cart-threshold .free-delivery-bar {
  border: 0 !important;
  border-radius: 62rem !important;
  background: #ebcfd3 !important;
  box-shadow: none !important;
  text-align: center !important;
  overflow: hidden !important;
}

.tf-mini-cart-threshold .free-delivery-progress-bar {
  background: #fab6c3 !important;
  border-radius: 62rem !important;
}

.tf-mini-cart-threshold .free-delivery-bar.active {
  border: 0 !important;
  box-shadow: none !important;
}

.tf-mini-cart-threshold .free-delivery-bar.active .free-delivery-progress-bar {
  background: #f8a0b8 !important;
}

.tf-mini-cart-threshold .free-delivery-bar span,
.tf-mini-cart-threshold .free-delivery-bar .min-text,
.tf-mini-cart-threshold .free-delivery-bar .free-text {
  color: #3b1f28 !important;
  text-align: center !important;
  font-weight: 400 !important;
}

.tf-mini-cart-threshold .free-delivery-bar span strong,
.tf-mini-cart-threshold .free-delivery-bar.active span {
  color: #3b1f28 !important;
  font-weight: 600 !important;
}

/* —— cart-sidebar-header + offcanvas-backdrop: colores Primor —— */
.cart-sidebar-header {
  background: transparent !important;
  background-color: transparent !important;
  color: #3b1f28 !important;
}

.cart-sidebar-header .header-wrap,
.cart-sidebar-header .header-wrap.alpha40 {
  background: transparent !important;
  background-color: transparent !important;
  color: #3b1f28 !important;
  border-bottom: 1px solid #ebcfd3 !important;
}

.cart-sidebar-header .title,
.cart-sidebar-header .icon-close,
.cart-sidebar-header .icon-close-popup {
  color: #3b1f28 !important;
}

.offcanvas-backdrop {
  background-color: #000 !important;
}

.offcanvas-backdrop.show {
  opacity: 0.5 !important;
}

/* —— #shoppingCart offcanvas: fondo seda; rounded solo XL (como prod Primor) —— */
#shoppingCart.offcanvas,
#shoppingCart.modal-shopping-cart {
  --bs-offcanvas-bg: #f7ebeb !important;
  background-color: #f7ebeb !important;
  border: 0 !important;
  border-radius: 0 !important;
}

@media (min-width: 1200px) {
  #shoppingCart.offcanvas,
  #shoppingCart.modal-shopping-cart {
    border-radius: 1.75rem 0 0 1.75rem !important; /* --radius-lg */
  }
}

/* —— mini-cart ítems: color de línea divisoria (linea Primor) —— */
#shoppingCart .cart-list-product,
.modal-shopping-cart .cart-list-product {
  border-bottom-color: #ebcfd3 !important;
}

/* —— tf-mini-cart-bottom-wrap: fondo blanco + textos/botones (sin precio; radio = store custom) —— */
.tf-mini-cart-bottom-wrap {
  background-color: #fff !important;
}

.tf-mini-cart-bottom-wrap .tf-cart-total {
  color: #3b1f28 !important;
}

.tf-mini-cart-bottom-wrap .tf-cart-tax,
.tf-mini-cart-bottom-wrap .tf-cart-tax a {
  color: #6b4752 !important;
}

.tf-mini-cart-bottom-wrap .tf-btn.btn-outline {
  color: #3b1f28 !important;
  background-color: transparent !important;
  border-color: #3b1f28 !important;
}

.tf-mini-cart-bottom-wrap .tf-btn.btn-outline span {
  color: #3b1f28 !important;
}

.tf-mini-cart-bottom-wrap .tf-btn.btn-fill {
  color: #f7ebeb !important;
  background-color: #3b1f28 !important;
  border-color: #3b1f28 !important;
}

.tf-mini-cart-bottom-wrap .tf-btn.btn-fill span {
  color: #f7ebeb !important;
}

/* Textos de Ver carrito / Finalizar: un poco mayores que Haven (0.875rem) */
.tf-mini-cart-view-checkout .tf-btn,
.tf-mini-cart-view-checkout .tf-btn span {
  font-size: 0.9375rem !important;
}

/* —— Modal turbo-confirm (eliminar ítem, vaciar carrito, etc.): paleta Primor —— */
.turbo-confirm .turbo-confirm__actions > .turbo-confirm__cancel,
.sf-dialog .sf-dialog__actions > .sf-dialog__cancel {
  border-color: #3b1f28 !important;
  background-color: transparent !important;
  color: #3b1f28 !important;
}

.turbo-confirm .turbo-confirm__actions > .turbo-confirm__cancel:hover,
.turbo-confirm .turbo-confirm__actions > .turbo-confirm__cancel:focus-visible,
.turbo-confirm .turbo-confirm__actions > .turbo-confirm__cancel:active,
.sf-dialog .sf-dialog__actions > .sf-dialog__cancel:hover,
.sf-dialog .sf-dialog__actions > .sf-dialog__cancel:focus-visible,
.sf-dialog .sf-dialog__actions > .sf-dialog__cancel:active {
  border-color: #3b1f28 !important;
  background-color: #f7ebeb !important;
  color: #3b1f28 !important;
}

.turbo-confirm .turbo-confirm__actions > .turbo-confirm__commit,
.turbo-confirm .turbo-confirm__actions > .btn-danger.turbo-confirm__commit {
  border-color: #3b1f28 !important;
  background-color: #3b1f28 !important;
  color: #f7ebeb !important;
}

.turbo-confirm .turbo-confirm__actions > .turbo-confirm__commit:hover,
.turbo-confirm .turbo-confirm__actions > .turbo-confirm__commit:focus-visible,
.turbo-confirm .turbo-confirm__actions > .turbo-confirm__commit:active,
.turbo-confirm .turbo-confirm__actions > .btn-danger.turbo-confirm__commit:hover,
.turbo-confirm .turbo-confirm__actions > .btn-danger.turbo-confirm__commit:focus-visible,
.turbo-confirm .turbo-confirm__actions > .btn-danger.turbo-confirm__commit:active {
  border-color: #3b1f28 !important;
  background-color: #3b1f28 !important;
  color: #f7ebeb !important;
  filter: brightness(1.08);
}

/* Cantidad en fila de carrito: fondo blanco (Haven trae #f3f3f3) */
.product-cart-row-quantity {
  background: #fff !important;
}

/* —— Carrito vacío /cart: border Haven (sin sombra); colores Primor solo en contenido —— */
.cart-empty-padding .big-icon {
  color: #f8a0b8 !important;
  font-size: 4rem !important;
}

.cart-empty-padding > p {
  color: #3b1f28 !important;
  font-weight: 500 !important;
}

.cart-empty-padding .tf-btn.btn-fill {
  color: #f7ebeb !important;
  background-color: #3b1f28 !important;
  border-color: #3b1f28 !important;
}

.cart-empty-padding .tf-btn.btn-fill span {
  color: #f7ebeb !important;
}

.cart-sidebar-empty {
  display: grid !important;
  justify-items: center !important;
  gap: 0.5rem !important;
  padding: 3rem 1.5rem !important;
  text-align: center !important;
}

.cart-sidebar-empty .big-icon {
  color: #f8a0b8 !important;
  font-size: 3.5rem !important;
}

.cart-sidebar-empty p {
  color: #3b1f28 !important;
  font-size: 1.125rem !important;
  font-weight: 500 !important;
}

.cart-sidebar-empty .tf-btn.btn-fill {
  color: #f7ebeb !important;
  background-color: #3b1f28 !important;
  border-color: #3b1f28 !important;
}

.cart-sidebar-empty .tf-btn.btn-fill span {
  color: #f7ebeb !important;
}

/* —— Finalizar compra (/cart): ciruela + seda como prod Primor —— */
.tf-page-cart-checkout #finish-purchase-link,
.tf-page-cart-checkout .cart-checkout-btn .tf-btn.btn-fill,
.tf-page-cart-checkout .tf-btn.btn-fill {
  color: #f7ebeb !important;
  background-color: #3b1f28 !important;
  border-color: #3b1f28 !important;
}

.tf-page-cart-checkout #finish-purchase-link span,
.tf-page-cart-checkout .cart-checkout-btn .tf-btn.btn-fill span,
.tf-page-cart-checkout .tf-btn.btn-fill span {
  color: #f7ebeb !important;
}

/* —— check-cart + free-delivery-bar (piel Primor /cart) —— */
.check-cart {
  background: rgba(250, 233, 215, 0.72) !important;
  color: #3b1f28 !important;
}

/* Track linea + fill blush/rosa, pill; anula borde/amarillo Haven */
.free-delivery-bar {
  position: relative !important;
  height: 2.5rem !important;
  margin-bottom: 1.25rem !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 62rem !important;
  background: #ebcfd3 !important;
  box-shadow: 0 0.25rem 1.25rem rgba(120, 40, 70, 0.1) !important;
}

.free-delivery-progress-bar,
.free-delivery-bar .free-delivery-progress-bar.progress-bar {
  height: 100% !important;
  max-height: 100% !important;
  border: 0 !important;
  border-radius: 62rem !important;
  background: #fab6c3 !important;
  background-color: #fab6c3 !important;
  box-shadow: none !important;
}

.free-delivery-bar.active {
  border: 0 !important;
  box-shadow: 0 0.25rem 1.25rem rgba(120, 40, 70, 0.1) !important;
}

.free-delivery-bar.active .free-delivery-progress-bar {
  background: #f8a0b8 !important;
  background-color: #f8a0b8 !important;
}

.free-delivery-bar .min-text,
.free-delivery-bar .free-text {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: auto !important;
  margin: 0 !important;
  padding-inline: 1rem !important;
  color: #3b1f28 !important;
  font-size: 0.875rem !important;
  font-weight: 400 !important;
  line-height: 2.5rem !important;
  text-align: center !important;
  white-space: nowrap !important;
}

.free-delivery-bar .min-text strong,
.free-delivery-bar .free-text strong,
.free-delivery-bar.active span,
.free-delivery-bar.active .free-text {
  color: #3b1f28 !important;
  font-weight: 600 !important;
}

/* Mini-cart: misma piel, altura compacta (después para ganar a /cart) */
.tf-mini-cart-threshold .free-delivery-bar,
.modal-shopping-cart .tf-mini-cart-threshold .free-delivery-bar {
  height: 1.75rem !important;
  margin-bottom: 0 !important;
  box-shadow: none !important;
}

.tf-mini-cart-threshold .free-delivery-bar .min-text,
.tf-mini-cart-threshold .free-delivery-bar .free-text,
.modal-shopping-cart .tf-mini-cart-threshold .free-delivery-bar .min-text,
.modal-shopping-cart .tf-mini-cart-threshold .free-delivery-bar .free-text {
  font-size: 0.75rem !important;
  line-height: 1.75rem !important;
}

/* —— /marcas (home_brands Haven): piel Primor brands-page —— */
#scrollify:has(.tf-brands-filter) {
  background: #f7ebeb !important;
}

#scrollify:has(.tf-brands-filter) .tf-page-title.style-2 {
  padding: clamp(1.5rem, 4vw, 2.75rem) 0.625rem 0 !important;
  border-bottom: 0 !important;
  background: transparent !important;
}

#scrollify:has(.tf-brands-filter) .tf-page-title .heading {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem 1.25rem !important;
  margin: 0 !important;
  color: #3b1f28 !important;
  font-size: clamp(1.125rem, 2.6vw, 1.4rem) !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-transform: uppercase !important;
}

#scrollify:has(.tf-brands-filter) .tf-page-title .heading::before,
#scrollify:has(.tf-brands-filter) .tf-page-title .heading::after {
  content: "" !important;
  flex: 1 1 0 !important;
  height: 1px !important;
  min-width: 1.5rem !important;
  background: #ebcfd3 !important;
}

#scrollify:has(.tf-brands-filter) .flat-spacing-1 {
  padding-top: 0.75rem !important;
  padding-bottom: clamp(1.5rem, 4vw, 2.75rem) !important;
}

#scrollify:has(.tf-brands-filter) .flat-spacing-1 .container::before {
  content: "Elige tu marca favorita y descubre todos sus productos." !important;
  display: block !important;
  max-width: 40rem !important;
  margin: 0 auto 1.25rem !important;
  color: #6b4752 !important;
  font-size: 1.0625rem !important;
  font-weight: 300 !important;
  line-height: 1.4 !important;
  text-align: center !important;
}

.tf-brands-filter {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  max-width: 56rem !important;
  margin: 0 auto 1.75rem !important;
  padding-bottom: 0 !important;
}

.tf-brands-filter .tf-btns-filter {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 2.5rem !important;
  min-height: 2.5rem !important;
  padding: 0.4rem 0.85rem !important;
  border: 0.0625rem solid #ebcfd3 !important;
  border-radius: 62rem !important;
  background: #fff !important;
  color: #3b1f28 !important;
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  transition:
    background-color 0.2s cubic-bezier(0.2, 0.8, 0.2, 1),
    border-color 0.2s cubic-bezier(0.2, 0.8, 0.2, 1),
    color 0.2s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
}

.tf-brands-filter .tf-btns-filter.is--active,
.tf-brands-filter .tf-btns-filter:hover:not(.is-disable):not(:disabled) {
  border-color: #f8a0b8 !important;
  background: #f8a0b8 !important;
  color: #3b1f28 !important;
}

.tf-brands-filter .tf-btns-filter.is-disable,
.tf-brands-filter .tf-btns-filter:disabled {
  opacity: 0.35 !important;
  pointer-events: none !important;
  cursor: default !important;
}

.tf-brands-filter .tf-btns-filter.is-disable span {
  opacity: 1 !important;
}

.tf-brands-filter .tf-tab-link_all {
  padding-inline: 1.1rem !important;
}

.tf-brands-source-linklist.style-row {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  border-top: 0.0625rem solid #ebcfd3 !important;
}

.tf-brands-source-linklist.style-row .tf-filter-item {
  padding: 1.25rem 0 !important;
  border: 0 !important;
  border-bottom: 0.0625rem solid #ebcfd3 !important;
  border-radius: 0 !important;
  animation: none !important;
}

/* Último ítem visible (ignora .is-disable ocultos al final): sin border-bottom */
.tf-brands-source-linklist.style-row .tf-filter-item:last-child,
.tf-brands-source-linklist.style-row .tf-filter-item:not(.is-disable):not(:has(~ .tf-filter-item:not(.is-disable))) {
  border-bottom: 0 !important;
}

.tf-brands-source-linklist.style-row .tf-filter-item-inner {
  display: flex !important;
  flex-direction: column !important;
  gap: 1rem !important;
  align-items: stretch !important;
}

.tf-brands-source-linklist.style-row .tf-titles-filter {
  display: flex !important;
  flex-shrink: 0 !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
}

.tf-brands-source-linklist.style-row .tf-titles-filter h4 {
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: #3b1f28 !important;
  font-family: var(--font-accent, Georgia, "Times New Roman", Times, serif) !important;
  font-size: clamp(1.75rem, 3vw, 2.25rem) !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  text-align: left !important;
}

.tf-brands-source-linklist.style-row .tf-content-brands {
  display: grid !important;
  flex: 1 !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 1rem !important;
}

.tf-brands-source-linklist.style-row .tf-item-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 0.65rem !important;
  text-align: center !important;
}

/* Anillo del logo (primer enlace del tile) */
.tf-brands-source-linklist.style-row .tf-item-inner > a:first-child {
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  max-width: 8.5rem !important;
  aspect-ratio: 1 !important;
  margin: 0 auto !important;
  padding: 0.85rem !important;
  border: 0.125rem solid #f8a0b8 !important;
  border-radius: 50% !important;
  background: #fff !important;
  box-shadow: 0 0.2rem 0.65rem -0.2rem rgba(120, 40, 70, 0.18) !important;
  box-sizing: border-box !important;
  text-decoration: none !important;
  transition:
    transform 0.2s cubic-bezier(0.2, 0.8, 0.2, 1),
    border-color 0.2s cubic-bezier(0.2, 0.8, 0.2, 1),
    box-shadow 0.2s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
}

.tf-brands-source-linklist.style-row .tf-item-inner > a:first-child:hover,
.tf-brands-source-linklist.style-row .tf-item-inner > a:first-child:focus-visible {
  border-color: #3b1f28 !important;
  box-shadow: 0 0.35rem 1rem -0.25rem rgba(120, 40, 70, 0.28) !important;
  transform: translateY(-0.2rem) !important;
}

.tf-brands-source-linklist.style-row .tf-item-inner > a:first-child img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  object-fit: contain !important;
}

.tf-brands-source-linklist.style-row .tf-item-inner > a:not(:first-child),
.tf-filter-item .tf-item-inner > a:not(:first-child) {
  margin: 0 !important;
  color: #3b1f28 !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
}

.tf-brands-source-linklist.style-row .tf-item-inner > a:not(:first-child):hover,
.tf-brands-source-linklist.style-row .tf-item-inner > a:not(:first-child):focus-visible,
.tf-filter-item .tf-item-inner > a:not(:first-child):hover {
  color: #3b1f28 !important;
  text-decoration: underline !important;
}

@media (min-width: 768px) {
  .tf-brands-source-linklist.style-row .tf-filter-item-inner {
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 1.5rem !important;
  }

  .tf-brands-source-linklist.style-row .tf-titles-filter {
    width: 4.5rem !important;
    justify-content: center !important;
    padding-right: 1rem !important;
    border-right: 0.0625rem solid #ebcfd3 !important;
  }

  .tf-brands-source-linklist.style-row .tf-titles-filter h4 {
    text-align: center !important;
  }

  .tf-brands-source-linklist.style-row .tf-content-brands {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 1.25rem !important;
  }
}

@media (min-width: 1200px) {
  .tf-brands-source-linklist.style-row .tf-content-brands {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 1.5rem !important;
  }
}

/* —— breadcrumb-wrap + tf-page-title: piel Primor (listados) —— */
.breadcrumb-wrap {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0.875rem 0 !important;
  border-bottom: 1px solid var(--linea, #ebcfd3) !important;
  background: #f7ebeb !important;
}

.breadcrumb-wrap .breadcrumb {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.25rem 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  white-space: normal !important;
  font-size: 0.8125rem !important;
  list-style: none !important;
  mask: none !important;
  -webkit-mask-image: none !important;
}

.breadcrumb-wrap .breadcrumb li {
  display: inline-flex !important;
  align-items: center !important;
  color: #6b4752 !important;
}

.breadcrumb-wrap .breadcrumb li a {
  color: #6b4752 !important;
  text-decoration: none !important;
}

.breadcrumb-wrap .breadcrumb li a:hover {
  color: #3b1f28 !important;
  text-decoration: underline !important;
}

.breadcrumb-wrap .breadcrumb > li + li::before {
  content: "" !important;
  display: inline-block !important;
  width: 0.4rem !important;
  height: 0.4rem !important;
  margin: 0 0.65rem !important;
  padding: 0 !important;
  position: static !important;
  top: auto !important;
  font-size: 0 !important;
  color: transparent !important;
  background: #f8a0b8 !important;
  mask: url("/primor/images/star.svg") center / contain no-repeat !important;
  -webkit-mask: url("/primor/images/star.svg") center / contain no-repeat !important;
}

.breadcrumb-wrap .breadcrumb li:last-child {
  color: #3b1f28 !important;
  font-weight: 500 !important;
}

.tf-page-title {
  padding: clamp(1.75rem, 4vw, 3rem) 0 !important;
  border-bottom: 1px solid var(--linea, #ebcfd3) !important;
  background-color: #fae9d7;
  background-position: center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  text-align: center !important;
  color: #3b1f28;
}

.tf-page-title .heading {
  font-size: clamp(1.75rem, 4vw, 2.5rem) !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
  color: #3b1f28;
}

.tf-page-title .subheading,
.tf-page-title p.text-2,
.tf-page-title .text_black-2 {
  max-width: 40rem !important;
  margin: 0.5rem auto 0 !important;
  color: #6b4752;
  font-size: 1rem !important;
  line-height: 1.6 !important;
}

.tf-page-title .container-full {
  padding-inline: 1rem !important;
}

/* —— Colecciones = categorías: sin sidebar de filtros (solo offcanvas «Filtrar») —— */
.tf-row-flex {
  display: block !important;
}

.wrap-sidebar-mobile,
.tf-shop-sidebar.wrap-sidebar-mobile,
.tf-row-flex .tf-shop-sidebar {
  display: none !important;
}

.tf-row-flex .tf-shop-content,
.tf-shop-content {
  width: 100% !important;
  min-width: 0 !important;
}

/* —— #mobileMenu / #toolbarShopmb: menú offcanvas izquierdo (piel Primor) —— */
#mobileMenu.canvas-mb,
#toolbarShopmb.canvas-mb {
  --bs-offcanvas-width: min(22rem, 88vw) !important;
  --bs-offcanvas-bg: #f7ebeb !important;
  width: min(22rem, 88vw) !important;
  max-width: 88vw !important;
  border: 0 !important;
  border-right: 0 !important;
  border-radius: 0 1.75rem 1.75rem 0 !important;
  background-color: #f7ebeb !important;
  color: #3b1f28 !important;
  box-shadow: 0 0.5rem 1.75rem -0.5rem rgba(120, 40, 70, 0.28) !important;
}

#mobileMenu .mb-canvas-content,
#toolbarShopmb .mb-canvas-content {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: 0 !important;
  align-content: stretch !important;
  grid-auto-rows: unset !important;
}

/* Cabecera: logo + línea (prod .site-drawer__head) */
#mobileMenu .mb-canvas-content::before {
  content: "" !important;
  display: block !important;
  flex: 0 0 auto !important;
  height: 2.75rem !important;
  margin: 1rem 3.5rem 0 1.25rem !important;
  padding-bottom: 1.25rem !important;
  border-bottom: 1px solid #ebcfd3 !important;
  background: url("/primor/images/logo-rosa.png") left top / contain no-repeat !important;
  background-origin: content-box !important;
  background-clip: content-box !important;
  box-sizing: content-box !important;
}

#toolbarShopmb .mb-canvas-content::before {
  content: "Categorías" !important;
  display: block !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 1rem 3.5rem 1rem 1.25rem !important;
  border-bottom: 1px solid #ebcfd3 !important;
  color: #3b1f28 !important;
  font-size: 1.125rem !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  background: none !important;
}

#mobileMenu .icon-close.icon-close-popup,
#toolbarShopmb .icon-close.icon-close-popup {
  top: 1.15rem !important;
  left: auto !important;
  right: 1rem !important;
  width: 2.25rem !important;
  height: 2.25rem !important;
  border-radius: 62rem !important;
  color: #3b1f28 !important;
  font-size: 1.125rem !important;
  background: transparent !important;
}

#mobileMenu .icon-close.icon-close-popup:hover,
#toolbarShopmb .icon-close.icon-close-popup:hover {
  background: rgba(248, 160, 184, 0.28) !important;
}

#mobileMenu .mb-body,
#toolbarShopmb .mb-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  padding: 0.5rem 1.25rem 1.5rem !important;
  overflow-y: auto !important;
}

#mobileMenu .nav-ul-mb,
#toolbarShopmb .nav-ul-mb {
  margin: 0 0 0.5rem !important;
  padding: 0 !important;
  list-style: none !important;
}

#mobileMenu .nav-ul-mb .nav-mb-item,
#toolbarShopmb .nav-ul-mb .nav-mb-item {
  padding: 0 !important;
  border-bottom: 0 !important;
}

#mobileMenu .nav-ul-mb .nav-mb-item:not(:last-child),
#toolbarShopmb .nav-ul-mb .nav-mb-item:not(:last-child) {
  border-bottom: 0 !important;
}

#mobileMenu .category-item-wrapper,
#toolbarShopmb .category-item-wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0.25rem !important;
}

#mobileMenu .nav-ul-mb .mb-menu-link,
#toolbarShopmb .nav-ul-mb .mb-menu-link,
#mobileMenu .nav-ul-mb .sub-nav-link,
#toolbarShopmb .nav-ul-mb .sub-nav-link {
  display: flex !important;
  flex: 1 1 auto !important;
  align-items: center !important;
  gap: 0.75rem !important;
  min-height: 0 !important;
  padding: 0.8rem 0 !important;
  color: #3b1f28 !important;
  font-size: 0.9375rem !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
}

#mobileMenu .nav-ul-mb .sub-nav-link,
#toolbarShopmb .nav-ul-mb .sub-nav-link {
  padding: 0.55rem 0 !important;
  color: #6b4752 !important;
  font-size: 0.875rem !important;
  font-weight: 400 !important;
  text-transform: none !important;
}

#mobileMenu .mb-menu-link .image img,
#toolbarShopmb .mb-menu-link .image img {
  width: 2rem !important;
  height: 2rem !important;
  border-radius: 62rem !important;
  object-fit: cover !important;
}

/* Chevron en lugar del + Haven */
#mobileMenu .nav-ul-mb .btn-open-sub,
#toolbarShopmb .nav-ul-mb .btn-open-sub {
  position: relative !important;
  display: grid !important;
  place-items: center !important;
  flex: 0 0 2.5rem !important;
  width: 2.5rem !important;
  height: 2.5rem !important;
  margin-left: 0 !important;
  border-radius: 62rem !important;
  cursor: pointer !important;
}

#mobileMenu .nav-ul-mb .btn-open-sub::after,
#toolbarShopmb .nav-ul-mb .btn-open-sub::after {
  content: none !important;
  display: none !important;
}

#mobileMenu .nav-ul-mb .btn-open-sub::before,
#toolbarShopmb .nav-ul-mb .btn-open-sub::before {
  content: "\f078" !important;
  position: static !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  background: none !important;
  color: #3b1f28 !important;
  font-family: "Font Awesome 6 Pro", "Font Awesome 6 Free", sans-serif !important;
  font-weight: 400 !important;
  font-size: 0.75rem !important;
  line-height: 1 !important;
  transform: none !important;
  transition: transform 0.2s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
}

#mobileMenu .nav-ul-mb .mb-menu-link:not(.collapsed) .btn-open-sub::before,
#mobileMenu .nav-ul-mb .btn-open-sub[aria-expanded="true"]::before,
#toolbarShopmb .nav-ul-mb .btn-open-sub[aria-expanded="true"]::before,
#mobileMenu .nav-ul-mb .sub-nav-link:not(.collapsed) .btn-open-sub::before,
#toolbarShopmb .nav-ul-mb .sub-nav-link:not(.collapsed) .btn-open-sub::before {
  transform: rotate(180deg) !important;
}

#mobileMenu .nav-ul-mb .btn-open-sub:hover,
#toolbarShopmb .nav-ul-mb .btn-open-sub:hover {
  background: rgba(248, 160, 184, 0.28) !important;
}

#mobileMenu .nav-ul-mb .sub-nav-menu,
#toolbarShopmb .nav-ul-mb .sub-nav-menu,
#mobileMenu.toolbar-shop-mobile .nav-ul-mb .sub-nav-menu,
#toolbarShopmb.toolbar-shop-mobile .nav-ul-mb .sub-nav-menu {
  margin: 0 0 0.5rem !important;
  margin-left: 0 !important;
  padding: 0 0 0 0.75rem !important;
  border-left: 0.125rem solid #fab6c3 !important;
  list-style: none !important;
}

#mobileMenu .nav-ul-mb .sub-menu-level-2,
#toolbarShopmb .nav-ul-mb .sub-menu-level-2 {
  margin-left: 0 !important;
  padding-left: 0.75rem !important;
}

/* Separador antes de tabs: tras la última categoría con acordeón */
#mobileMenu .nav-ul-mb > .nav-mb-item:has(.btn-open-sub) + .nav-mb-item:not(:has(.btn-open-sub)) {
  margin-top: 0.5rem !important;
  padding-top: 0.5rem !important;
  border-top: 1px solid #ebcfd3 !important;
}

/* Ocultar CTA «Tienda en línea» amarillo; WhatsApp → tarjeta marfil (icono + texto) */
#mobileMenu .mb-other-content > .mb-5,
#mobileMenu .mb-other-content .btn-shop {
  display: none !important;
}

#mobileMenu .mb-other-content {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 0.35rem 0.75rem !important;
  margin-top: 1rem !important;
  margin-bottom: 0 !important;
  padding: 0.9rem 1rem !important;
  border-radius: 1.25rem !important;
  background: #fae9d7 !important;
  color: #3b1f28 !important;
  text-decoration: none !important;
}

#mobileMenu .mb-other-content.pb-5 {
  padding-bottom: 0.9rem !important;
}

#mobileMenu .mb-other-content .mb-notice,
#mobileMenu .mb-other-content .mb-info,
#mobileMenu .mb-other-content .mb-info li {
  display: contents !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

#mobileMenu .mb-other-content .text-need {
  order: 2 !important;
  margin: 0 !important;
  border-bottom: 0 !important;
  color: #3b1f28 !important;
  font-size: 0.875rem !important;
  font-weight: 400 !important;
  text-decoration: none !important;
}

#mobileMenu .mb-other-content .mb-info li i,
#mobileMenu .mb-other-content .mb-info li svg {
  order: 1 !important;
  color: #3b1f28 !important;
  font-size: 1.5rem !important;
  line-height: 1 !important;
}

#mobileMenu .mb-other-content .mb-info li strong {
  order: 3 !important;
  color: #3b1f28 !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
}

/* #toolbarShopmb pie: «Ver todos» como pill rosa */
#toolbarShopmb .mb-bottom {
  flex: 0 0 auto !important;
  margin: 0 1.25rem 1.25rem !important;
  padding: 0 !important;
  border: 0 !important;
}

#toolbarShopmb .mb-bottom .tf-btn.btn-line {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0.9rem 1.1rem !important;
  border: 0 !important;
  border-radius: var(--radius-buttons, 62rem) !important;
  background: #f8a0b8 !important;
  color: #3b1f28 !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

#toolbarShopmb .mb-bottom .tf-btn.btn-line i {
  display: none !important;
}
