/* =============================================================================
   COMMON
   ============================================================================= */
::selection {
  background-color: #2ad2c9;
}

.btn.btn-primary,
.btn.btn-secondary {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-radius: 40px;
  font-weight: 600;
  padding-top: 7px;
  padding-bottom: 7px;
}

#main-page-content {
  min-height: 100vh !important;
  display: flex !important;
  flex-direction: column !important;
}

#wrapper {
  flex: 1 !important;
}

section#wrapper {
  padding: 40px 0;
}

section#wrapper:has(.elementor) {
  padding: 0 !important;
}

body#category section#wrapper {
  padding: 0 !important;
}

body#product section#wrapper {
  padding-bottom: 0 !important;
}

.em-fixed_contact_button {
  position: fixed;
  bottom: 5px;
  right: 80px;
  z-index: 19;
}

.em-fixed_contact_button .elementor-button-link {
  padding: 11px 40px 11px 40px !important;
}

body#index,
body #wrapper

/* body#contact #wrapper, */
/* body#module-iqitsearch-searchiqit #wrapper  */
  {
  background-color: #f7f7f7;
}

body#index .sdi-hero-link:hover {
  cursor: pointer;
}

body#index .index_hero-autopadding>.elementor-column-wrap,
body#index .index_hero-right .elementor-inner-column>.elementor-column-wrap {
  position: relative;
  z-index: 0;
  overflow: hidden;
}

body#index .index_hero-autopadding>.elementor-column-wrap::after,
body#index .index_hero-right .elementor-inner-column>.elementor-column-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: inherit;
  transition: transform 0.6s ease;
  pointer-events: none;
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {

  body#index .index_hero-autopadding:hover>.elementor-column-wrap::after,
  body#index .index_hero-right .elementor-inner-column:hover>.elementor-column-wrap::after {
    transform: scale(1.06);
  }
}

body#index .index_hero-autopadding>.elementor-column-wrap::before,
body#index .index_hero-right .elementor-inner-column>.elementor-column-wrap::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(80, 44, 30, 0) 35%, rgba(80, 44, 30, 0.6) 100%);
  pointer-events: none;
}

body#index .index_hero-autopadding>.elementor-column-wrap>.elementor-widget-wrap,
body#index .index_hero-right .elementor-inner-column>.elementor-column-wrap>.elementor-widget-wrap {
  position: relative;
  z-index: 1;
}

@media (min-width: 1200px) {

  body#index .index_hero-right,
  body#index .index_hero-autopadding {
    height: 785px;
  }
}

@media (min-width: 1024px) {
  body#index .index_hero-right>.elementor-column-wrap {
    align-items: stretch;
  }

  body#index .index_hero-right>.elementor-column-wrap>.elementor-widget-wrap {
    display: flex;
    flex-direction: column;
  }

  body#index .index_hero-right .elementor-inner-section {
    display: flex;
    flex-direction: column;
    flex: 1 1 0;
    margin-bottom: 0;
  }

  body#index .index_hero-right .elementor-inner-section>.elementor-container {
    flex: 1 1 auto;
    width: 100%;
    align-items: stretch;
  }

  body#index .index_hero-right .elementor-inner-column>.elementor-column-wrap {
    align-items: stretch;
    padding-top: 29px;
  }

  body#index .index_hero-right .elementor-inner-column>.elementor-column-wrap>.elementor-widget-wrap {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
  }
}

@media (max-width: 991px) {
  .em-fixed_contact_button .elementor-button-link {
    padding: 7px 17px !important;
    font-size: 14px;
  }

  .em-fixed_contact_button {
    bottom: 17px;
  }

  body#index .index_hero-autopadding {
    height: 325px;
  }

  body#index .index_hero-autopadding a {
    color: #fff !important;
  }
}


body#product #wrapper {
  background: #f7f7f7;
  padding-top: 81px !important;
}

.em_featured-text {
  color: #2ad2c9;
}

.btn-secondary {
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
  border-radius: 40px !important;
  font-weight: 600;
  padding-top: 7px;
  padding-bottom: 7px;
}

.em_text-black {
  color: #1e1e1e;
}

.block-links ul>li {
  margin-bottom: 15px;
}

.rte-content:not(.elementor-text-editor):not(.d-inline-block),
.rte-content:not(.elementor-text-editor):not(.d-inline-block) * {
  font-family: "Neue Haas Grotesk Display Pro", sans-serif;
  /* font-weight: 600; */
  color: #502c1e;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 0;
}

.rte-content:not(.elementor-text-editor):not(.d-inline-block)> :last-child {
  margin-bottom: 0;
}

.card-header-tabs,
.nav-tabs {
  margin-bottom: 0;
}

/* =============================================================================
   HEADER
   ============================================================================= */

.desktop-header-style-1 .search-widget {
  max-width: 277px;
}

#desktop-header #cbp-hrmenu .cbp-tab-title {
  font-weight: 600;
  white-space: nowrap;
}

#header #desktop-header-container #user_info {
  margin-top: 0;
}

#header #desktop-header .header-top {
  height: 70px;
}

#header #desktop-header .header-top .logo {
  width: 110px;
  height: 50px;
}

#desktop-header .iqit-megamenu-container {
  width: 100%;
  max-width: 100%;
  background-color: #fff;
}

#desktop-header #iqitmegamenu-horizontal,
#desktop-header #iqitmegamenu-horizontal .cbp-hrmenu,
#desktop-header #iqitmegamenu-horizontal .cbp-horizontal>ul {
  height: 32px;
  max-height: 32px;
}



#desktop-header #iqitmegamenu-horizontal .cbp-horizontal>ul {
  display: flex;
  align-items: center;
}

#desktop-header #iqitmegamenu-horizontal .cbp-horizontal>ul>li,
#desktop-header #iqitmegamenu-horizontal .cbp-horizontal>ul>li>a,
#desktop-header #iqitmegamenu-horizontal .cbp-horizontal>ul>li>.cbp-main-link {
  height: 100%;
}

#desktop-header #cbp-hrmenu {
  display: flex;
  justify-content: center;
}

#desktop-header #iqitmegamenu-horizontal .cbp-horizontal>ul>li>a,
#desktop-header #iqitmegamenu-horizontal .cbp-horizontal>ul>li>.cbp-main-link {
  display: flex;
  align-items: center;
}

#desktop-header #iqitmegamenu-horizontal .iqitmegamenu-submenu-container .cbp-category-link-w a {
  color: #502C1E;
  font-size: 20px;
  line-height: 20px;
  font-weight: 600;
  padding-left: 30px;
}

#desktop-header #iqitmegamenu-horizontal .iqitmegamenu-submenu-container ul.cbp-links.cbp-category-tree .cbp-category-link-w a:hover {
  color: #2AD2C9 !important;
}

#desktop-header #iqitmegamenu-horizontal .iqitmegamenu-submenu-container ul.sdi-hrsub-view-all {
  margin-top: 20px;
}

#desktop-header #iqitmegamenu-horizontal .iqitmegamenu-submenu-container ul.sdi-hrsub-view-all .cbp-category-link-w a {
  color: #2AD2C9;
}

#desktop-header #iqitmegamenu-horizontal .iqitmegamenu-submenu-container {
  padding-top: 49px;
}

#desktop-header .iqit-megamenu-container {
  position: relative;
}

#desktop-header #iqitmegamenu-horizontal .cbp-hrsub-narrow {
  position: static;
}

#desktop-header #iqitmegamenu-horizontal .cbp-horizontal .cbp-hrsub {
  left: 0;
  right: 0;
  width: 100%;
  max-width: 100%;
}

#desktop-header #iqitmegamenu-horizontal .iqitmegamenu-submenu-container .cbp-hrmenu .cbp-menu-column {
  margin-top: 0;
}

#cbp-hrmenu ul.cbp-hrsub-level2 {
  display: none;
}

#cbp-hrmenu .cbp-links li.cbp-hrsub-haslevel2>div>a:after {
  display: none;
}

#desktop-header .col-header-right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 32px;
}

#desktop-header .col-header-right>* {
  margin: 0;
}

#desktop-header .col-header-right a,
#desktop-header .col-header-right .expand-more {
  font-weight: 600;
  white-space: nowrap;
}

#desktop-header .col-header-right #user_info .text-faded {
  margin: 0 4px;
}

#user_info .dropdown-menu,
#language_selector .dropdown-menu {
  min-width: 270px;
  padding: 8px;
  border: 1px solid #ebe3da;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(80, 44, 30, 0.14);
}

#user_info .dropdown-menu .dropdown-item,
#language_selector .dropdown-menu .dropdown-item {
  padding: 11px 14px;
  border-bottom: none;
  border-radius: 8px;
  font-size: 16px;
  line-height: 20px;
  font-weight: 600;
  white-space: nowrap;
  color: #502c1e !important;
  transition: background-color 0.15s ease;
}

#user_info .dropdown-menu .dropdown-item:hover,
#user_info .dropdown-menu .dropdown-item:focus,
#user_info .dropdown-menu .dropdown-item:focus-visible,
#language_selector .dropdown-menu .dropdown-item:hover,
#language_selector .dropdown-menu .dropdown-item:focus,
#language_selector .dropdown-menu .dropdown-item:focus-visible {
  background: #f7f3ef;
  outline: none;
}

#language_selector .dropdown-menu {
  min-width: 180px;
}

#language_selector .dropdown-menu ul {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin: 0;
  padding: 0;
  list-style: none;
}

#language_selector .dropdown-menu li.current .dropdown-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

#language_selector .dropdown-menu li.current .dropdown-item::after {
  content: "\f00c";
  font-family: FontAwesome;
  font-size: 13px;
  font-weight: 400;
  color: #00ab8e;
}

#language_selector .expand-more .fa-angle-down {
  transition: transform 0.2s ease;
}

#language_selector .expand-more[aria-expanded="true"] .fa-angle-down {
  transform: rotate(180deg);
}

#user_info .dropdown-menu .dropdown-item:last-child {
  position: relative;
  margin-top: 9px;
  color: #8a6d5f !important;
}

#user_info .dropdown-menu .dropdown-item:last-child::before {
  content: "";
  position: absolute;
  top: -5px;
  left: 8px;
  right: 8px;
  border-top: 1px solid #ebe3da;
}

#search_widget input {
  border: none;
  border-bottom: solid 2px #502c1e;
  padding: 5px 0 5px 2rem;
}

#search_widget input::placeholder {
  font-size: 16px;
  line-height: 16px;
  font-weight: 600;
}

#search_widget .search-btn {
  left: 0;
  right: auto;
  padding: 0;
}

#desktop-header-container .col-header-left {
  display: flex;
  align-items: center;
  gap: 24px;
}

#desktop-header-container .header-products-menu {
  margin-left: 0;
  z-index: 200;
}

#desktop-header-container #cbp-hrmenu1-ul {
  position: absolute !important;
}

#desktop-header-container .header-products-menu .cbp-vertical-title {
  display: flex !important;
  align-items: center;
  gap: 10px;
  background-color: #502c1e !important;
  color: #fff;
  border-radius: 50px;
  padding: 12px 24px;
  line-height: normal !important;
  font-weight: 600;
  font-size: 16px;
  white-space: nowrap;
}

#desktop-header-container .header-products-menu .cbp-iconbars {
  color: #fff;
  font-size: 16px;
}

#desktop-header-container .header-products-menu .cbp-vertical-title-text {
  display: inline-block !important;
  color: #fff;
}

#language_selector * {
  text-transform: capitalize;
}

#header .header-nav #iqithtmlandbanners-block-2 .rte-content .desktop {
  display: flex;
  flex-direction: row;
  gap: 86px;
}

#header .header-nav p {
  margin-bottom: 0;
  font-size: 16px;
  line-height: 100%;
  font-weight: 600;
}

@media (max-width: 1200px) {

  #header .header-nav #iqithtmlandbanners-block-2 .rte-content .desktop,
  #iqithtmlandbanners-block-3 {
    display: none !important;
  }

  #header .header-nav #iqithtmlandbanners-block-2 .rte-content .mobile {
    display: flex;
    flex-direction: row;
    gap: 86px;
  }
}

@media (min-width: 1200px) {
  #header .header-nav #iqithtmlandbanners-block-2 .rte-content .mobile {
    display: none;
  }
}

@media (max-width: 991px) {
  #mobile-header #mobile-header-sticky.stuck-down {
    background-color: #fff;
    border-bottom: 1px solid #e3e3e3;
  }

  #mobile-header .row-mobile-header {
    flex-wrap: nowrap;
    align-items: center;
  }

  #mobile-header .mobile-menu__user,
  #mobile-header .mobile-menu__currency-selector {
    display: none !important;
  }

  #mobile-header .mobile-menu__footer {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex: 0 0 auto;
    height: 270px;
    position: relative;
    z-index: 1;
    background: #fff;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.05);
  }

  #mobile-header .mobile-menu:has(.mobile-menu__submenu--active) .mobile-menu__footer {
    display: none;
  }

  #mobile-header .mobile-menu__footer-links {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  #mobile-header .mobile-menu__footer-links-item {
    margin: 0;
  }

  #mobile-header .mobile-menu__footer-link,
  #mobile-header .mobile-menu__footer-link:link,
  #mobile-header .mobile-menu__footer-link:visited {
    display: inline-block;
    color: #502C1E;
    font-size: 16px;
    font-weight: 700;
    line-height: 16px;
    letter-spacing: -0.02em;
    text-decoration: none;
  }

  #mobile-header .mobile-menu__footer-link:hover,
  #mobile-header .mobile-menu__footer-link:focus,
  #mobile-header .mobile-menu__footer-link:focus-visible {
    color: #502C1E;
    text-decoration: none;
  }

  #mobile-header .mobile-menu__footer-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }

  #mobile-header .mobile-menu__whatsapp-number {
    display: none;
  }

  #mobile-header .mobile-menu__language-currency {
    font-weight: 600;
    background: #502C1E;
    color: #fff;
    border-radius: 40px;
    padding: 11px 20px;
    font-size: 16px;
    line-height: 16px;
  }

  #mobile-header .mobile-menu__language-selector {
    position: relative;
    margin-right: 0;
  }

  #mobile-header .mobile-menu__language-selector::after {
    content: "\f078";
    font-family: "Font Awesome 7 Sharp";
    font-weight: 900;
    font-style: normal;
    font-size: 14px;
    line-height: 1;
    color: inherit;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    pointer-events: none;
  }

  #mobile-header .mobile-menu__language-select {
    margin: 0;
    padding: 0 22px 0 0;
    background: none;
    border: 0;
    box-shadow: none;
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
  }

  #mobile-header .mobile-menu__language-select:focus,
  #mobile-header .mobile-menu__language-select:focus-visible {
    outline: none;
    box-shadow: none;
  }

  #mobile-header .mobile-menu__language-select option {
    background-color: #fff;
    color: #1e1e1e;
    font-weight: 400;
  }

  #mobile-header .mobile-menu__whatsapp-link,
  #mobile-header .mobile-menu__whatsapp-link:link,
  #mobile-header .mobile-menu__whatsapp-link:visited {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background-color: #2ad2c9;
    color: #1e1e1e !important;
    border-radius: 40px;
    padding: 11px 20px;
    font-size: 16px;
    font-weight: 600;
    line-height: 16px;
    white-space: nowrap;
    text-decoration: none;
  }

  #mobile-header .mobile-menu__whatsapp-link:hover,
  #mobile-header .mobile-menu__whatsapp-link:focus,
  #mobile-header .mobile-menu__whatsapp-link:focus-visible {
    text-decoration: none;
    opacity: 0.9;
  }

  #mobile-header .whatsappbutton-inline__icon {
    font-size: 20px;
    line-height: 1;
    color: #1E1E1E;
  }
}

#mobile-header #mobile-header-sticky>div.container {
  padding: 16px 17px;
}

#mobile-header #mobile-header-sticky>div.container .mobile-main-bar {
  padding: 0;
}

#mobile-header .col-mobile-logo {
  flex: 0 0 auto;
  max-width: 40%;
  padding: 0 0.5rem 0 0;
}

.cart-products-count-btn {
  background: none;
  color: #502C1E;
}

#header .col.col-auto.col-md.left-nav {
  padding: 0;
}

#mobile-header .col-mobile-logo img {
  height: 37px;
  width: 82px;
}

#mobile-header .col-mobile-search {
  flex: 1 1 auto;
  min-width: 0;
  padding: 0 0.625rem;
}

#mobile-header #search-widget-mobile {
  display: block;
  position: relative;
  width: 130px;
  margin: 0 auto;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
}

#mobile-header #search-widget-mobile input::placeholder {
  color: #502c1e;
  font-weight: 600;
  font-size: 15px;
  line-height: 18px;
}

#mobile-header #search-widget-mobile .input-group {
  position: relative;
  flex-wrap: nowrap;
}

#mobile-header #search-widget-mobile .form-search-control {
  width: 100%;
  min-width: 0;
  height: auto;
  border: none;
  border-bottom: solid 2px #502c1e;
  border-radius: 0;
  background: none;
  box-shadow: none;
  padding: 5px 0 5px 2rem;
}

#mobile-header #search-widget-mobile .search-btn {
  position: absolute;
  top: 0;
  left: 0;
  right: auto;
  height: 100%;
  padding: 0;
  border: 0;
  background: none;
  color: #502c1e;
  z-index: 4;
}

#mobile-header .col-mobile-btn {
  padding: 0;
}

#mobile-header .col-mobile-btn .m-nav-btn {
  display: inline-flex;
  align-items: center;
  padding: 0 0.25rem;
}

#mobile-header .col-mobile-btn .m-nav-btn>i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 36px;
  font-size: 16px;
  line-height: 18px;
  font-weight: 400;
  color: #502c1e;
}

#mobile-header .col-mobile-btn .m-nav-btn>i.fa-solid {
  font-weight: 900;
}

#mobile-header .col-mobile-btn-menu .m-nav-btn>i {
  color: #ffffff;
  background-color: #502c1e;
  border-radius: 40px;
  height: 32px;
}


@media (max-width: 991px) {
  #mobile-header #search-widget-mobile .autocomplete-suggestions {
    width: calc(100vw - 1.5rem);
    max-width: none;
    left: 50%;
    transform: translateX(-50%);
    max-height: 70vh;
  }
}

/* =============================================================================
   MENÚ (iqitmegamenu)
   ============================================================================= */

#cbp-hrmenu1 {
  --sdi-menu-head-h: 72px;
  --sdi-menu-list-w: 600px;
  --sdi-menu-sub-w: 600px;
}

#cbp-hrmenu1.cbp-vertical {
  position: fixed;
  top: 0;
  left: calc(-1 * var(--sdi-menu-list-w));
  height: 100vh;
  height: 100dvh;
  width: var(--sdi-menu-list-w);
  max-width: 100vw;
  display: flex;
  flex-direction: column;
  margin: 0;
  background: #fff;
  box-shadow: 4px 0 18px rgba(0, 0, 0, 0.1);
  z-index: 1050;
}

#cbp-hrmenu1.cbp-vertical .cbp-hrsub-wrapper .cbp-column-title.nav-link.cbp-category-title,
#cbp-hrmenu1.cbp-vertical .cbp-hrsub-wrapper .cbp-links.cbp-category-tree .cbp-hrsub-level2,
#cbp-hrmenu1.cbp-vertical .cbp-hrsub-wrapper .cbp-category-link-w a::before,
#cbp-hrmenu1.cbp-vertical .cbp-hrsub-wrapper .cbp-category-link-w a::after {
  display: none;
}

#cbp-hrmenu1.cbp-vertical .cbp-hrsub-wrapper .cbp-category-link-w a {
  color: #502C1E;
  font-size: 18px;
  line-height: 20px;
  margin: 0 0 27px 0;
}

.cbp-vert-expanded #cbp-hrmenu1.cbp-vertical {
  left: 0;
}

.cbp-vert-expanded::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  z-index: 1040;
}

#cbp-hrmenu1 .sdi-menu-head {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 50px 66px 33px 80px;
}

#cbp-hrmenu1 .sdi-menu-head img {
  max-height: 40px;
  width: auto;
}

#cbp-hrmenu1 .sdi-menu-close {
  padding: 0;
  border: 0;
  background: none;
  color: #502c1e;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}

#cbp-hrmenu1 .sdi-menu-title-row {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 0px 54px 20px 80px;
  margin-bottom: 20px;
}

#cbp-hrmenu1 .sdi-menu-title-row.submenu {
  padding: 123px 54px 20px 30px;
  margin-bottom: 0;
}

.sdi-menu-title-row.submenu .cbp-categories-row>div {
  padding: 0 30px;
}

.sdi-menu-title-row.submenu .cbp-categories-row>div {
  margin-top: 0;
}

#cbp-hrmenu1 .sdi-menu-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
  color: #502c1e;
}

#cbp-hrmenu1 .sdi-menu-back {
  display: inline-flex;
  align-items: center;
  color: #502c1e;
  font-size: 20px;
  line-height: 1;
  transition: transform 0.18s ease;
}

#cbp-hrmenu1 .sdi-menu-back:hover,
#cbp-hrmenu1 .sdi-menu-back:focus,
#cbp-hrmenu1 .sdi-menu-back:focus-visible {
  color: #502c1e;
  transform: translateX(-3px);
}

#desktop-header-container #cbp-hrmenu1-ul,
#cbp-hrmenu1>ul {
  position: static !important;
  flex: 1 1 auto;
  width: 100%;
  max-width: none;
  min-width: 0;
  margin: 0;
  padding: 0 54px 0 80px;
  overflow-y: auto;
  visibility: visible;
  opacity: 1;
  border: none;
}

#desktop-header-container #cbp-hrmenu1-ul,
#cbp-hrmenu1>ul,
#cbp-hrmenu1.cbp-vertical .cbp-hrsub-wrapper {
  scrollbar-width: none;
  -ms-overflow-style: none;
}

#desktop-header-container #cbp-hrmenu1-ul::-webkit-scrollbar,
#cbp-hrmenu1>ul::-webkit-scrollbar,
#cbp-hrmenu1.cbp-vertical .cbp-hrsub-wrapper::-webkit-scrollbar {
  display: none;
}

#cbp-hrmenu1>ul>li {
  float: none;
  display: flex;
  align-items: center;
  gap: 12px;
}

#cbp-hrmenu1>ul>li>a {
  display: flex;
  align-items: center;
  flex: 1 1 auto;
  min-width: 0;
  gap: 20px;
  border-top: none;
  font-weight: 600;
  font-size: 20px;
  line-height: 20px;
  padding: 0;
}

#cbp-hrmenu1>ul>li>a img {
  width: 48px;
  height: 48px;
  max-height: unset !important;
}

#cbp-hrmenu1>ul>li>a span {
  display: inline-block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#cbp-hrmenu1>ul>li>a[role="button"],
#cbp-hrmenu1 .sdi-menu-title-row.submenu .sdi-menu-title,
#cbp-hrmenu1 .sdi-menu-back {
  cursor: pointer;
}

#cbp-hrmenu1 .sdi-menu-arrow {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: none;
  background: none;
  color: inherit;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}

#cbp-hrmenu1 .sdi-menu-arrow:hover,
#cbp-hrmenu1 .sdi-menu-arrow:focus,
#cbp-hrmenu1 .sdi-menu-arrow:focus-visible {
  color: #2ad2c9;
  outline: none;
}

#cbp-hrmenu1>ul>li.cbp-hropen>a,
#cbp-hrmenu1>ul>li.cbp-hropen>a:hover {
  background: inherit !important;
  color: inherit !important;
}

#cbp-hrmenu1 .sdi-menu-thumb {
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  object-fit: cover;
  border-radius: 40px;
}

#cbp-hrmenu1.cbp-vertical .cbp-hrsub-wrapper {
  position: fixed;
  top: 0;
  bottom: 0;
  left: var(--sdi-menu-list-w);
  right: auto;
  width: var(--sdi-menu-sub-w) !important;
  max-width: none;
  min-height: 0;
  margin: 0 !important;
  overflow-y: auto;
  background: #fff;
  z-index: 1049;
  opacity: 1;
  transition: none;
  border-left: 1px solid #B39B80;
}

#cbp-hrmenu1.cbp-vertical .cbp-hrsub {
  position: static;
  width: auto;
  max-width: none;
  opacity: 1;
  transition: none;
}

#cbp-hrmenu1.cbp-vertical .cbp-hrsub-inner {
  max-width: none;
  padding: 0 60px 0 80px;
}

#cbp-hrmenu1.cbp-vertical .cbp-hrsub-wrapper .cbp-categories-row {
  margin-top: 0 !important;
}

#cbp-hrmenu1.cbp-vertical .cbp-hrsub-inner>.row>.cbp-menu-column {
  padding: 0;
  margin-top: 34px;
}

#cbp-hrmenu1.cbp-vertical .cbp-hrsub-inner .cbp-links li a {
  padding-left: 17px;
}

#cbp-hrmenu1.cbp-vertical .cbp-hrsub-inner .cbp-links li a:hover {
  color: #2ad2c9 !important;
}


#cbp-hrmenu1.cbp-vertical .cbp-hrsub-inner .cbp-column-title {
  font-size: 18px;
  line-height: 20px;
  font-weight: 600;
  color: #502c1e !important;
  text-transform: capitalize;
  margin-bottom: 27px;
}

#cbp-hrmenu1.cbp-vertical .cbp-hrsub-inner .cbp-category-link-w a:not(.cbp-category-title) {
  font-size: 18px;
  font-weight: 600;
  line-height: 20px;
  padding: 0;
}

#cbp-hrmenu1.cbp-vertical .cbp-hrsub-inner .cbp-links li {
  margin: 0;
  padding: 0;
}

#cbp-hrmenu1.cbp-vertical .cbp-categories-row>div {
  margin-top: 0;
}

/* =============================================
 * MENÚ MÓVIL (iqitmegamenu)
 * ============================================= */

@media (max-width: 991px) {
  .col-mobile-menu-push #_mobile_iqitmegamenu-mobile {
    --sdi-header-nav-h: 0px;
    --sdi-mobile-header-h: calc(69px + var(--sdi-header-nav-h));
    margin-top: var(--sdi-mobile-header-h);
    height: calc(100dvh - var(--sdi-mobile-header-h));
  }

  #iqitmegamenu-mobile ul.mobile-menu__scroller {
    padding-top: 0 !important;
  }

  #iqitmegamenu-mobile .mobile-menu__submenu.mobile-menu__submenu--panel {
    padding: 45px 16px 0 16px !important;
  }

  #iqitmegamenu-mobile .mobile-menu__submenu .mobile-menu__column {
    margin-bottom: 0;
  }

  #iqitmegamenu-mobile .mobile-menu__submenu .mobile-menu__column .cbp-category-link-w a {
    font-size: 16px;
    line-height: 16px;
    font-weight: 600;
    color: #502C1E !important;
  }



  #iqitmegamenu-mobile .mobile-menu__submenu .mobile-menu__column .cbp-category-link-w {
    margin-bottom: 26px;
  }

  #iqitmegamenu-mobile .mobile-menu__submenu .mobile-menu__tab {
    min-height: 0;
    margin-bottom: 11px;
  }

  #iqitmegamenu-mobile .mobile-menu__submenu .mobile-menu__tab>.mobile-menu__link {
    gap: 20px;
    padding: 0;
    font-size: 16px;
    line-height: 16px;
    font-weight: 600;
    color: #502C1E;
  }

  #iqitmegamenu-mobile .mobile-menu__submenu .mobile-menu__tab>.mobile-menu__link .sdi-menu-thumb {
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    border-radius: 0;
    mix-blend-mode: multiply;
  }

  #iqitmegamenu-mobile .mobile-menu__submenu .mobile-menu__tab-icon--img {
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    max-height: none;
    margin: 0;
    object-fit: contain;
  }

  #iqitmegamenu-mobile .mobile-menu__submenu .mobile-menu__view-all {
    margin-bottom: 26px;
  }

  #iqitmegamenu-mobile .mobile-menu__submenu .mobile-menu__view-all-link,
  #iqitmegamenu-mobile .mobile-menu__submenu .mobile-menu__view-all-link:link,
  #iqitmegamenu-mobile .mobile-menu__submenu .mobile-menu__view-all-link:visited {
    display: inline-block;
    font-size: 16px;
    line-height: 16px;
    font-weight: 600;
    color: #502C1E;
    text-decoration: none;
  }

  #iqitmegamenu-mobile .mobile-menu__submenu .mobile-menu__view-all-link:hover,
  #iqitmegamenu-mobile .mobile-menu__submenu .mobile-menu__view-all-link:focus,
  #iqitmegamenu-mobile .mobile-menu__submenu .mobile-menu__view-all-link:focus-visible {
    color: #502C1E;
    text-decoration: none;
  }

  #mobile-header-sticky:not(.stuck) .col-mobile-menu-push #_mobile_iqitmegamenu-mobile {
    --sdi-header-nav-h: 30px;
  }

  #mobile-header .col-mobile-btn-menu .m-nav-btn .m-nav-btn__icon--close {
    display: none;
  }

  #mobile-header .col-mobile-btn-menu .m-nav-btn.show .m-nav-btn__icon--menu {
    display: none;
  }

  #mobile-header .col-mobile-btn-menu .m-nav-btn.show .m-nav-btn__icon--close {
    display: inline-flex;
  }
}

#iqitmegamenu-mobile .mobile-menu__close {
  display: none;
}

#iqitmegamenu-mobile .mobile-menu__root-title {
  display: block;
  padding: 0 0 41px 0;
  color: #502c1e;
  font-size: 16px;
  line-height: 16px;
  font-weight: 500;
}

#iqitmegamenu-mobile.mobile-menu--active .mobile-menu__root-title {
  display: none;
}

#iqitmegamenu-mobile:not(.mobile-menu--active) .mobile-menu__header {
  display: none;
}

#iqitmegamenu-mobile.mobile-menu--active .mobile-menu__header-wrapper .mobile-menu__back-btn {
  padding: 0;
}

#iqitmegamenu-mobile.mobile-menu--active .mobile-menu__header-wrapper span.mobile-menu__title {
  color: #502C1E;
  font-size: 24px;
  line-height: 25px;
  font-weight: 600;
}

#iqitmegamenu-mobile.mobile-menu--active .mobile-menu__header-wrapper .mobile-menu__back-btn span.fa-arrow-left {
  font-size: 12px;
  color: #502C1E;
  margin-right: 41px !important;
}

#iqitmegamenu-mobile .mobile-menu__links-list-li>a {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}

#iqitmegamenu-mobile .mobile-menu__header-wrapper {
  padding: 24px 0 0 16px !important;
}

#iqitmegamenu-mobile .mobile-menu__link {
  font-size: 24px;
  line-height: 25px;
  font-weight: 600;
  padding: 0 0 18px 0;
}

#iqitmegamenu-mobile .mobile-menu__tab>.mobile-menu__link {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 20px;
}

#iqitmegamenu-mobile .mobile-menu__tab>.mobile-menu__link .sdi-menu-thumb {
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  max-height: unset;
  object-fit: cover;
  border-radius: 40px;
}

#iqitmegamenu-mobile .mobile-menu__tab>.mobile-menu__link .sdi-menu-thumb--icon {
  background: #fff;
}

.col-mobile-menu-push #_mobile_iqitmegamenu-mobile {
  width: 100%;
}

#iqitmegamenu-mobile .mobile-menu__links-list-img {
  flex: 0 0 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  overflow: hidden;
}

#iqitmegamenu-mobile .mobile-menu__links-list-img img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  mix-blend-mode: multiply;
}

/* Categoría sin imagen subida: hueco gris, para que las filas no se desalineen. */
#iqitmegamenu-mobile .mobile-menu__links-list-img--empty {
  background: #ececec;
  border-radius: 6px;
}

/* =============================================================================
   INDEX
   ============================================================================= */

.em_index-category-tab-carousel button {
  background-color: #fff;
  border-radius: 40px;
  font-size: 16px;
  color: #502c1e;
  margin-bottom: 10px;
  font-weight: 600;
}

.em_index-category-tab-carousel-categories>.elementor-container>.elementor-row {
  gap: 10px;
}

.em_index-category-cluster button {
  border-radius: 40px;
  border: 1px solid #fff;
  background-color: #502c1e;
  color: #fff;
  font-size: 16px;
  margin-bottom: 10px;
  font-weight: 600;
  height: 41px;
  line-height: 100%;
  padding: 11px 40px;
}

.em_index-category-cluster button a {
  color: #fff;
}

.em_index-category-cluster button:hover,
.em_index-category-cluster button:focus,
.em_index-category-cluster button:active,
.em_index-category-cluster button:focus-visible {
  background: #fff !important;
  color: #502c1e !important;
  border-color: #fff !important;
  outline: none;
}

.em_index-category-cluster button.active {
  background-color: #502c1e !important;
  color: #fff !important;
  border-color: #fff;
}

[class*="clustertext-"],
[class*="subcatcarousel-"],
.elementor-widget[class*="category-tab-"] {
  display: none;
}

[class*="clustertext-"].visible,
[class*="subcatcarousel-"].visible,
.elementor-widget[class*="category-tab-"].visible {
  display: block;
}

.elementor-html [class*="clustertext-"],
.elementor-html [class*="subcatcarousel-"],
.elementor-html .elementor-widget[class*="category-tab-"] {
  display: block;
}

@media (max-width: 992px) {
  .em_index-category-cluster_column .elementor-widget-text-editor[class*=" clustertext-"] p:last-child {
    margin-top: 18px;
    text-decoration: underline;
    font-size: 18px;
    line-height: 14px;
    font-weight: 600
  }

  .em_index-category-cluster a {
    color: #502c1e !important;
  }

  .em_index-category-cluster .elementor-spacer-inne {
    min-height: 220px;
  }
}

@media (min-width: 992px) {
  .em_index-category-cluster_column {
    min-height: 450px;
  }

  .em_index-category-cluster a {
    color: #fff !important;
  }

  .em_index-category-cluster_column .elementor-widget-text-editor[class*=" clustertext-"] {
    width: 414px;
  }

  .em_index-category-cluster_column .elementor-widget-text-editor[class*=" clustertext-"] p:last-child {
    margin-top: 32px;
    text-decoration: underline;
  }

  .em_index-category-cluster_column .elementor-widget-text-editor[class*=" clustertext-"] p:last-child:hover {
    text-decoration: none;
  }

  .em_index-category-cluster button {
    border-radius: 40px;
    border: 1px solid #fff;
    background-color: #502c1e;
    color: #fff;
    font-size: 16px;
    line-height: 100%;
    margin-bottom: 10px;
    font-weight: 600;
    height: 41px;
  }

  .em_index-category-cluster button:hover,
  .em_index-category-cluster button:focus,
  .em_index-category-cluster button:active,
  .em_index-category-cluster button:focus-visible {
    background: #fff !important;
    color: #502c1e !important;
    border-color: #fff;
    outline: none;
  }

  .em_index-category-cluster button.active {
    background-color: #fff !important;
    color: #502c1e !important;
    border-color: #fff;
  }

  .em_index-category-cluster_column>.elementor-column-wrap {
    background: #502c1e !important;
  }

  .em_index-category-cluster_column>.elementor-column-wrap .elementor-text-editor.rte-content {
    color: #fff !important;
  }
}

@media (max-width: 992px) {
  .em_tab-cluster-categories button {
    border-radius: 40px;
    border: 1px solid #502c1e;
    background-color: #fff2b2;
    color: #502c1e;
    font-size: 16px;
    margin-bottom: 4px;
    font-weight: 600;
    height: 35px;
    line-height: 100%;
    padding: 8px 20px;
    margin-right: 4px;
  }

  .em_tab-cluster-categories button.active {
    border: 1px solid #502c1e;
    background-color: #502c1e;
    color: #fff2b2;
  }

  .em_index-category-cluster_column>.elementor-column-wrap .elementor-widget-container h3 {
    font-weight: 600;
    font-size: 40px;
    line-height: 40px;
  }

  .em_index-category-cluster_column>.elementor-column-wrap .elementor-widget-container p {
    font-weight: 600;
    font-size: 16px;
    line-height: 20px;
  }

  .em_index-category-cluster_carousel .sdi-pst-arrows {
    background: #f5e27f;
  }

  .em_index-category-cluster_carousel .sdi-pst-arrows .swiper-button-prev,
  .em_index-category-cluster_carousel .sdi-pst-arrows .swiper-button-next {
    background: #f5e27f !important;
  }
}

/* =============================================================================
   MINIATURA DE PRODUCTO
   ============================================================================= */

/* PRODUCT CAROUSEL */

.js-product-miniature-wrapper.product-carousel {
  width: 100%;
  height: 525px;
}

.js-product-miniature-wrapper .product-miniature {
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.js-product-miniature-wrapper .product-functional-buttons {
  display: none;
}

.js-product-miniature-wrapper .product-flags {
  left: 10px;
  top: 10px;
  display: flex;
}

.js-product-miniature-wrapper .product-flags .product-flag {
  margin-right: 10px;
  padding: 6px 12px;
  line-height: 14px;
  font-size: 14px;
  font-weight: 600;
  border-radius: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 0;
}

.product-flags .online-only,
.product-flags .pack {
  background-color: #502C1E;
  color: #FAFAFA;
}

.js-product-miniature-wrapper .product-flags .product-flag.sdiproductflag {
  /* max-width: calc(100% - 20px); */
  white-space: normal;
  text-align: center;
  line-height: 1.2;
}

.js-product-miniature-wrapper .btn-product-list {
  padding: 8px 14px;
  border-radius: 40px;
  font-size: 14px;
  white-space: nowrap;
}

/* =============================================
   PRECIO CON/SIN IVA EN MINIATURA (grid de categoría y carruseles)
   ============================================= */
.sdi-cat-price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: center;
  column-gap: 13px;
  row-gap: 2px;
}

.sdi-cat-price-main {
  font-size: 18px;
  font-weight: 700;
  line-height: 20px;
  color: #502c1e;
  text-decoration: none;
}

.sdi-cat-price .product-price,
.sdi-cat-price-tax-label,
.sdi-cat-price-per-unit {
  font-size: 12px;
  font-weight: 400;
  line-height: 20px;
  color: #502c1e;
}

.js-product-miniature .product-title {
  overflow: hidden;
}

.js-product-miniature .product-title a {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
  font-weight: 600;
}

.pgm-select {
  height: 40px;
  padding: 0 30px 0 14px;
}

.js-product-miniature .product-add-cart {
  margin-top: 64px;
}

.js-product-miniature .input-group-add-cart {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: nowrap !important;
  gap: 12px !important;
  width: 100% !important;
}

.js-product-miniature .btn-product-list {
  flex: 1 1 auto !important;
  height: 40px !important;
  font-weight: 600;
  color: #1E1E1E;
}

.js-product-miniature .btn-product-list:hover {
  color: #fff;
}

.js-product-miniature .input-group-add-cart .input-group.bootstrap-touchspin,
.js-product-miniature .input-group-add-cart .bootstrap-touchspin {
  flex: 0 1 100px !important;
  min-width: 80px !important;
}

.js-product-miniature .product-add-cart>.btn-product-list {
  display: block;
  width: 100%;
  height: 40px;
}

/* =============================================
   MINIATURA DE PRODUCTO EN MÓVIL / TABLET (< 992px)
   ============================================= */
@media (max-width: 991px) {

  .js-product-miniature-wrapper .product-flags .product-flag {
    font-size: 10px;
    line-height: 10px;
    padding: 5px 10px;
  }

  .product-miniature-grid .pgm {
    display: none !important;
  }

  .product-miniature-grid.js-product-miniature .pgm~.product-add-cart,
  .product-miniature-grid .product-add-cart {
    display: block !important;
    margin-top: 0;
  }

  .product-miniature-grid .product-add-cart .input-qty,
  .product-miniature-grid .product-add-cart .bootstrap-touchspin {
    display: none !important;
  }

  .product-miniature-grid .product-add-cart .btn-product-list {
    height: 27px !important;
    padding: 6.5px 10px;
    line-height: 100%;
    display: block;
    width: 100%;
    text-align: center;
  }

  .js-product-miniature-wrapper.product-carousel {
    height: auto;
    aspect-ratio: 176 / 274;
  }

  .js-product-miniature-wrapper.product-carousel .product-miniature {
    height: 100%;
  }

  .js-product-miniature-wrapper.product-carousel .product-miniature .thumbnail-container {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
  }

  .product-carousel .product-miniature .product-thumbnail {
    display: block;
    height: 100%;
  }

  .product-carousel .product-miniature .product-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .product-carousel .product-miniature .product-description {
    flex: 0 0 auto;
  }

  .product-carousel .product-miniature .product-title {
    line-height: 14px;
    font-size: 14px;
    font-weight: 600;
  }

  .product-carousel .product-miniature .product-title a {
    -webkit-line-clamp: 3;
    line-clamp: 3;
  }
}

@media (max-width: 767px) {
  .sdi-cat-price {
    column-gap: 5px;
    row-gap: 0;
    padding-bottom: 4px;
    font-size: min(11px, 2.9vw);
  }

  .sdi-cat-price>* {
    white-space: nowrap;
  }

  .sdi-cat-price-main {
    font-size: min(16px, 4vw);
    line-height: 18px;
  }

  .sdi-cat-price .product-price,
  .sdi-cat-price-tax-label,
  .sdi-cat-price-per-unit {
    font-size: min(11px, 2.9vw);
    line-height: 15px;
  }

  .sdi-cat-price-per-unit {
    flex-basis: 100%;
  }

  .js-product-miniature .product-title {
    margin-bottom: 4px;
  }

  .js-product-miniature-wrapper:not(.product-carousel) .product-title {
    min-height: 2.4em;
  }
}

/* =============================================================================
   TOUCHSPIN
   ============================================================================= */

.product-quantity .qty {
  width: 100% !important;
  height: auto !important;
}

.input-group.bootstrap-touchspin,
.bootstrap-touchspin {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: nowrap !important;
  flex: 0 0 100px !important;
  width: 100% !important;
  max-width: none !important;
  height: 40px !important;
  min-height: unset !important;
  align-self: center !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 1px solid #2ad2c9 !important;
  border-radius: 40px !important;
  overflow: hidden !important;
  background: #fff;
  box-shadow: none !important;
}

.bootstrap-touchspin .input-group-btn-vertical {
  display: contents !important;
}

.bootstrap-touchspin .input-group-btn-vertical i,
.bootstrap-touchspin i {
  position: static !important;
  top: auto !important;
  left: auto !important;
  font-size: 14px !important;
  line-height: 1 !important;
  pointer-events: none;
  color: #2ad2c9 !important;
  display: block;
}

.bootstrap-touchspin .bootstrap-touchspin-down {
  position: static !important;
  order: 1;
  flex: 0 0 14px !important;
  width: 14px !important;
  height: 14px !important;
  align-self: center !important;
  margin: 0 0 0 23px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  line-height: 1 !important;
  z-index: 1;
}

.bootstrap-touchspin input[type="text"],
.bootstrap-touchspin input[type="number"] {
  order: 2;
  flex: 1 1 0% !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  text-align: center !important;
  font-family: "Neue Haas Grotesk Display Pro", sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  color: #00ab8e !important;
  height: auto !important;
  box-shadow: none !important;
  outline: none !important;
  -moz-appearance: textfield;
}

.bootstrap-touchspin input[type="number"]::-webkit-outer-spin-button,
.bootstrap-touchspin input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.bootstrap-touchspin .bootstrap-touchspin-up {
  position: static !important;
  order: 3;
  flex: 0 0 14px !important;
  width: 14px !important;
  height: 14px !important;
  align-self: center !important;
  margin: 0 23px 0 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  height: auto !important;
  line-height: 1 !important;
}

.bootstrap-touchspin .bootstrap-touchspin-up:hover,
.bootstrap-touchspin .bootstrap-touchspin-up:focus,
.bootstrap-touchspin .bootstrap-touchspin-down:hover,
.bootstrap-touchspin .bootstrap-touchspin-down:focus {
  background: rgba(42, 210, 201, 0.12) !important;
  outline: none !important;
  box-shadow: none !important;
}

.bootstrap-touchspin .btn-touchspin {
  border: none !important;
  background: transparent !important;
  height: auto !important;
  min-width: unset !important;
}

.bootstrap-touchspin .bootstrap-touchspin-prefix,
.bootstrap-touchspin .bootstrap-touchspin-postfix {
  display: none !important;
}

/* =============================================================================
   CARRITO LATERAL
   ============================================================================= */

.ps-shoppingcart #blockcart-content {
  width: 360px;
  max-width: 100vw;
  padding: 24px 16px 50px;
}

.ps-shoppingcart #blockcart-content .cart-title .modal-title {
  font-size: 20px;
  font-weight: 600;
  color: #502c1e;
}

.ps-shoppingcart #blockcart-content .cart-products {
  overflow-x: hidden;
  padding-right: 6px;
  margin-bottom: 0;
}

.ps-shoppingcart #blockcart-content .cart-products>li {
  padding-bottom: 16px;
  margin-bottom: 16px;
}

#blockcart-content .cart-products a,
#desktop-header .col-header-right .cart-products a,
#mobile-header .cart-products a {
  white-space: normal;
  overflow-wrap: anywhere;
}

#blockcart-content .cart-products>li>.row {
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: 12px;
  margin: 0;
}

#blockcart-content .cart-products>li>.row>.col-3 {
  flex: 0 0 64px;
  width: 64px;
  max-width: 64px;
  padding: 0;
}

#blockcart-content .cart-products .product-image {
  display: block;
  width: 64px;
}

#blockcart-content .cart-products .product-image img {
  width: 64px;
  height: 64px;
  object-fit: contain;
}

#blockcart-content .cart-products>li>.row>.col-info {
  flex: 1 1 auto;
  width: auto;
  max-width: none;
  min-width: 0;
  padding: 0;
}

#blockcart-content .cart-products .col-info>.pb-1 {
  padding-bottom: 4px !important;
}

#blockcart-content .cart-products .col-info>.pb-1 a {
  display: block;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.25;
  color: #502c1e;
}

#blockcart-content .cart-products .product-attributes {
  font-size: 12px;
  line-height: 1.3;
  padding-bottom: 4px !important;
}

#blockcart-content .cart-products .product-attributes .product-line-info {
  display: flex;
  gap: 4px;
}

#blockcart-content .cart-products .col-info>.row {
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px;
  margin: 6px 0 0;
}

#blockcart-content .cart-products .col-info>.row>.col {
  width: auto;
  max-width: none;
  min-width: 0;
  padding: 0;
}

#blockcart-content .cart-products .col-info>.row>.col:first-child {
  flex: 0 0 auto;
}

#blockcart-content .cart-products .col-info>.row>.col:last-child {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

#blockcart-content .cart-products .col-info>.row>.col:last-child>span {
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  color: #502c1e;
  white-space: nowrap;
}

#blockcart-content .remove-from-cart {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  font-size: 15px;
  line-height: 1;
  color: #502c1e;
}

#blockcart-content .input-group.bootstrap-touchspin,
#blockcart-content .bootstrap-touchspin {
  flex: 0 0 auto !important;
  width: 84px !important;
  min-width: 84px !important;
  max-width: 84px !important;
  height: 30px !important;
}

#blockcart-content .bootstrap-touchspin .bootstrap-touchspin-down {
  flex: 0 0 12px !important;
  width: 12px !important;
  height: 12px !important;
  margin: 0 0 0 10px !important;
}

#blockcart-content .bootstrap-touchspin .bootstrap-touchspin-up {
  flex: 0 0 12px !important;
  width: 12px !important;
  height: 12px !important;
  margin: 0 10px 0 0 !important;
}

#blockcart-content .bootstrap-touchspin .input-group-btn-vertical i,
#blockcart-content .bootstrap-touchspin i {
  font-size: 11px !important;
}

#blockcart-content .bootstrap-touchspin input[type="number"],
#blockcart-content .bootstrap-touchspin input[type="text"] {
  font-size: 13px !important;
}

#blockcart-content .cart-products .block-cart-product-quantity,
#blockcart-content .cart-products .block-cart-product-quantity-gift {
  height: auto !important;
}

#blockcart-content .cart-products .col-info>.row>.col:first-child>input.form-control {
  width: 84px;
  height: 30px;
  padding: 0 8px;
  text-align: center;
  font-size: 13px;
  border: 1px solid #2ad2c9;
  border-radius: 30px;
}

#blockcart-content .cart-line-unit-price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px;
  font-size: 11px;
  line-height: 1.3;
  color: #7a7a7a;
}

#blockcart-content .cart-line-unit-price .value {
  font-weight: 600;
  color: #502c1e;
}

#blockcart-content .cart-line-unit-price .regular-price {
  text-decoration: line-through;
  color: #9b9b9b;
}

#blockcart-content .cart-line-unit-price .unit-price-cart {
  flex: 1 0 100%;
}

#blockcart-content .cart-line-total {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  color: #502c1e;
  white-space: nowrap;
}

#blockcart-content .cart-line-total-tax {
  font-size: 10px;
  font-weight: 400;
  line-height: 1;
  color: #7a7a7a;
}

#blockcart-content .cart-subtotals {
  padding: 12px 0 0;
}

#blockcart-content .cart-tax-details {
  padding: 0 0 12px;
}

#blockcart-content .cart-subtotals .cart-summary-line,
#blockcart-content .cart-tax-details .cart-summary-line {
  font-size: 12px;
  line-height: 1.7;
  color: #7a7a7a;
}

#blockcart-content .cart-subtotals .cart-summary-line .value,
#blockcart-content .cart-tax-details .cart-summary-line .value {
  font-weight: 600;
  color: #502c1e;
}


@media (max-width: 400px) {
  .ps-shoppingcart.side-cart #blockcart-content {
    width: 92vw;
  }
}

/* =============================================================================
   PÁGINA DE CARRITO (body#cart)
   ============================================================================= */

body#cart {
  --sdi-cart-ink: #502c1e;
  --sdi-cart-ink-soft: rgba(80, 44, 30, 0.62);
  --sdi-cart-line: rgba(80, 44, 30, 0.14);
  --sdi-cart-accent: #2ad2c9;
  --sdi-cart-link: #00ab8e;
  --sdi-cart-surface: #fff;
  --sdi-cart-tint: rgba(80, 44, 30, 0.04);
  --sdi-cart-radius: 12px;
}

body#cart #main .page-title {
  margin: 0 0 28px;
  font-size: 40px;
  line-height: 44px;
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--sdi-cart-ink);
}

body#cart #main .page-title span {
  display: block;
}

body#cart #content.page-content {
  margin: 0;
}

body#cart .cart-grid {
  margin-bottom: 0;
  row-gap: 24px;
}

/* -----------------------------------------------------------------------------
   Listado de productos
   -------------------------------------------------------------------------- */
body#cart .cart-overview {
  padding: 4px 28px;
  border: 1px solid var(--sdi-cart-line);
  border-radius: var(--sdi-cart-radius);
  background: var(--sdi-cart-surface);
}

body#cart .cart-overview:has(.alert) {
  padding: 0;
  border: 0;
  background: transparent;
}

body#cart .cart-overview .alert-warning {
  margin: 0;
  padding: 32px 24px;
  border: 1px solid var(--sdi-cart-line);
  border-radius: var(--sdi-cart-radius);
  background: var(--sdi-cart-surface);
  color: var(--sdi-cart-ink);
  font-size: 15px;
  line-height: 22px;
  font-weight: 600;
  text-align: center;
}

body#cart .cart-items {
  margin: 0;
  padding: 0;
  list-style: none;
}

body#cart .cart-item {
  padding: 20px 0;
  border-bottom: 1px solid var(--sdi-cart-line);
}

body#cart .cart-item:last-child {
  border-bottom: 0;
}

body#cart .product-line-grid {
  display: grid;
  grid-template-columns: 80px minmax(0, 1fr) 100px 112px 108px 28px;
  align-items: center;
  gap: 0 18px;
  margin: 0;
}

body#cart .product-line-grid-body,
body#cart .product-line-grid-body>.row,
body#cart .product-line-actions,
body#cart .product-line-actions>.row {
  display: contents;
}

body#cart .cart-item .product-image {
  grid-column: 1;
  width: 80px;
  max-width: 80px;
  padding: 0;
  margin: 0;
}

body#cart .cart-item .product-image a {
  display: block;
}

body#cart .cart-item .product-image img {
  display: block;
  width: 80px;
  height: 80px;
  padding: 6px;
  object-fit: contain;
  border: 1px solid var(--sdi-cart-line);
  border-radius: 10px;
  background: #fff;
}

body#cart .product-line-grid-body .col-9 {
  grid-column: 2;
  width: auto;
  max-width: none;
  min-width: 0;
  padding: 0;
}

body#cart .cart-item .product-line-info .label {
  display: block;
  font-size: 15px;
  line-height: 20px;
  font-weight: 600;
  color: var(--sdi-cart-ink);
  overflow-wrap: anywhere;
}

body#cart .cart-item .product-line-info .label:hover,
body#cart .cart-item .product-line-info .label:focus {
  color: var(--sdi-cart-link);
}

body#cart .cart-item .product-line-info-secondary {
  display: flex;
  gap: 4px;
  margin-top: 4px;
  font-size: 12px;
  line-height: 16px;
  color: var(--sdi-cart-ink-soft);
}

body#cart .cart-item .unit-price {
  grid-column: 3;
  padding: 0;
  text-align: right;
  font-size: 14px;
  line-height: 18px;
  color: var(--sdi-cart-ink-soft);
  white-space: nowrap;
}

body#cart .cart-item .unit-price .value {
  font-weight: 500;
}

body#cart .cart-item .unit-price .product-discount {
  display: block;
}

body#cart .cart-item .unit-price .regular-price {
  text-decoration: line-through;
  color: rgba(80, 44, 30, 0.45);
}

body#cart .cart-item .unit-price .discount {
  display: inline-block;
  margin: 0 0 2px;
  padding: 1px 7px;
  border-radius: 40px;
  background: var(--sdi-cart-accent);
  color: #1e1e1e;
  font-size: 11px;
  font-weight: 700;
  line-height: 16px;
}

body#cart .cart-item .unit-price .unit-price-cart {
  font-size: 11px;
  line-height: 15px;
}

body#cart .cart-item .qty {
  grid-column: 4;
  padding: 0;
}

body#cart .cart-item .qty .input-group.bootstrap-touchspin,
body#cart .cart-item .qty .bootstrap-touchspin {
  flex: 0 0 auto !important;
  width: 112px !important;
  min-width: 112px !important;
  max-width: 112px !important;
  height: 40px !important;
  margin: 0 auto !important;
}

body#cart .cart-item .qty .bootstrap-touchspin .bootstrap-touchspin-down {
  margin: 0 0 0 14px !important;
}

body#cart .cart-item .qty .bootstrap-touchspin .bootstrap-touchspin-up {
  margin: 0 14px 0 0 !important;
}

body#cart .cart-item .qty .gift-quantity {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: var(--sdi-cart-ink);
  text-align: center;
}

body#cart .cart-item .price {
  grid-column: 5;
  padding: 0;
  text-align: right;
}

body#cart .cart-item .price .product-price {
  display: block;
}

body#cart .cart-item .price .product-price strong {
  font-size: 16px;
  line-height: 22px;
  font-weight: 700;
  color: var(--sdi-cart-ink);
  white-space: nowrap;
}

body#cart .product-line-actions>.row>.col:last-child {
  grid-column: 6;
  padding: 0;
  justify-self: end;
}

body#cart .cart-line-product-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

body#cart .remove-from-cart {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  color: var(--sdi-cart-ink);
  font-size: 15px;
  line-height: 1;
  transition: background-color 0.18s ease;
}

body#cart .remove-from-cart:hover,
body#cart .remove-from-cart:focus {
  background: rgba(80, 44, 30, 0.08);
  color: var(--sdi-cart-ink);
}

body#cart .cart-grid-body>.btn-secondary {
  margin: 24px 0 0 !important;
}

body#cart .cart-grid-body>.btn-secondary i {
  margin-right: 6px;
}

/* -----------------------------------------------------------------------------
   Resumen
   -------------------------------------------------------------------------- */
body#cart .cart-grid-right .cart-summary {
  overflow: hidden;
  margin-bottom: 0;
  border: 1px solid var(--sdi-cart-line);
  border-radius: var(--sdi-cart-radius);
  background: var(--sdi-cart-surface);
}

body#cart .cart-summary hr {
  display: none;
}

body#cart .cart-summary .card-body {
  padding: 20px 24px;
}

body#cart .cart-summary .cart-summary-line {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 4px 16px;
  font-size: 14px;
  line-height: 22px;
  color: var(--sdi-cart-ink-soft);
}

body#cart .cart-summary .cart-summary-line::after {
  display: none;
}

body#cart .cart-summary .cart-summary-line+.cart-summary-line {
  margin-top: 6px;
}

body#cart .cart-summary .cart-summary-line .value {
  float: none;
  font-weight: 600;
  color: var(--sdi-cart-ink);
  white-space: nowrap;
}

body#cart .cart-summary .cart-summary-line>div {
  flex: 1 0 100%;
  text-align: right;
  font-size: 12px;
  line-height: 18px;
}

body#cart .cart-summary .cart-summary-line>div:not(:has(small:not(:empty))) {
  display: none;
}

body#cart .cart-summary .cart-summary-totals {
  border-top: 1px solid var(--sdi-cart-line);
}

body#cart .cart-summary .cart-summary-line.cart-total {
  margin-top: 10px;
  padding-top: 12px;
  border-top: 1px solid var(--sdi-cart-line);
  font-size: 18px;
  line-height: 26px;
  font-weight: 700;
  color: var(--sdi-cart-ink);
}

body#cart .cart-summary .cart-summary-line.cart-total .value {
  font-size: 22px;
}

body#cart .cart-summary .cart-summary-line .label.sub,
body#cart .cart-summary .cart-summary-line .value.sub {
  font-size: 12px;
  font-weight: 400;
}

body#cart .cart-summary .block-promo {
  border-top: 1px solid var(--sdi-cart-line);
}

body#cart .cart-summary .block-promo .cart-voucher-area {
  padding: 20px 24px;
  background: var(--sdi-cart-tint);
}

body#cart .cart-summary .block-promo .promo-code form .input-group {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 10px;
}

body#cart .cart-summary .block-promo .voucher-icon {
  flex: 0 0 auto;
  padding: 0 !important;
  font-size: 15px;
  line-height: 1;
  color: var(--sdi-cart-ink-soft);
}

body#cart .cart-summary .block-promo .promo-code .form-control {
  flex: 1 1 auto;
  width: auto;
  min-width: 0;
  height: 40px;
  padding: 0 16px;
  border: 1px solid var(--sdi-cart-line);
  border-radius: 40px;
  background: #fff;
  font-size: 14px;
  color: var(--sdi-cart-ink);
}

body#cart .cart-summary .block-promo .promo-code .form-control::placeholder {
  color: var(--sdi-cart-ink-soft);
  opacity: 1;
}

body#cart .cart-summary .block-promo .promo-code .form-control:focus {
  border-color: var(--sdi-cart-accent);
  box-shadow: none;
  outline: 0;
}

body#cart .cart-summary .block-promo .input-group-append {
  flex: 0 0 auto;
}

body#cart .cart-summary .block-promo .input-group-append .btn {
  height: 40px;
  padding: 0 22px;
  font-size: 14px;
  line-height: 38px;
}

body#cart .cart-summary .promo-name {
  margin: 0;
  padding: 16px 24px;
  list-style: none;
  border-top: 1px solid var(--sdi-cart-line);
}

body#cart .cart-summary .promo-name li {
  display: flex;
  align-items: baseline;
  gap: 8px;
  font-size: 13px;
  line-height: 20px;
  color: var(--sdi-cart-ink-soft);
}

body#cart .cart-summary .promo-name li .pull-right {
  margin-left: auto;
  font-weight: 600;
  color: var(--sdi-cart-ink);
  white-space: nowrap;
}

body#cart .cart-detailed-actions {
  padding: 20px 24px;
  border-top: 1px solid var(--sdi-cart-line);
}

body#cart .cart-detailed-actions .alert-warning {
  margin: 0 0 14px;
  padding: 12px 16px;
  border: 0;
  border-radius: 8px;
  background: var(--sdi-cart-tint);
  color: var(--sdi-cart-ink);
  font-size: 13px;
  line-height: 19px;
}

body#cart .cart-detailed-actions .btn-primary {
  display: block;
  width: 100%;
  padding: 13px 20px;
  font-size: 16px;
  line-height: 22px;
}

body#cart .cart-grid-right .iqitfreedeliverycount {
  margin: 12px 0 0;
  font-size: 13px;
  line-height: 19px;
  color: var(--sdi-cart-ink-soft);
}

@media (min-width: 992px) {
  body#cart .cart-grid-right {
    position: sticky;
    top: 122px;
    align-self: flex-start;
  }
}

/* -----------------------------------------------------------------------------
   Compacto (< 992 px)
   -------------------------------------------------------------------------- */
@media (max-width: 991px) {
  body#cart #main .page-title {
    margin: 0 0 20px;
    font-size: 28px;
    line-height: 32px;
  }

  body#cart .cart-overview {
    padding: 0 16px;
  }

  body#cart .cart-item {
    padding: 18px 0;
  }

  body#cart .product-line-grid {
    grid-template-columns: 72px minmax(0, 1fr) auto;
    grid-template-areas:
      "img name trash"
      "img unit unit"
      "qty qty total";
    align-items: center;
    gap: 6px 12px;
  }

  body#cart .cart-item .product-image {
    grid-area: img;
    align-self: start;
    width: 72px;
    max-width: 72px;
  }

  body#cart .cart-item .product-image img {
    width: 72px;
    height: 72px;
  }

  body#cart .product-line-grid-body .col-9 {
    grid-area: name;
    align-self: end;
  }

  body#cart .cart-item .product-line-info .label {
    font-size: 14px;
    line-height: 19px;
  }

  body#cart .cart-item .unit-price {
    grid-area: unit;
    align-self: start;
    text-align: left;
    font-size: 13px;
  }

  body#cart .cart-item .qty {
    grid-area: qty;
    justify-self: start;
    margin-top: 6px;
  }

  body#cart .cart-item .qty .input-group.bootstrap-touchspin,
  body#cart .cart-item .qty .bootstrap-touchspin {
    width: 108px !important;
    min-width: 108px !important;
    max-width: 108px !important;
    height: 38px !important;
    margin: 0 !important;
  }

  body#cart .cart-item .price {
    grid-area: total;
    align-self: center;
    margin-top: 6px;
  }

  body#cart .product-line-actions>.row>.col:last-child {
    grid-area: trash;
    align-self: start;
  }

  body#cart .cart-grid-body>.btn-secondary {
    margin: 20px 0 0 !important;
  }

  body#cart .cart-summary .card-body,
  body#cart .cart-summary .block-promo .cart-voucher-area,
  body#cart .cart-detailed-actions,
  body#cart .cart-summary .promo-name {
    padding-left: 18px;
    padding-right: 18px;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  body#cart .product-line-grid {
    grid-template-columns: 80px minmax(0, 1fr) 120px 120px 28px;
    grid-template-areas:
      "img name name name trash"
      "img unit qty total trash";
    gap: 8px 16px;
  }

  body#cart .cart-item .product-image,
  body#cart .cart-item .product-image img {
    width: 80px;
    max-width: 80px;
  }

  body#cart .cart-item .product-image img {
    height: 80px;
  }

  body#cart .cart-item .qty,
  body#cart .cart-item .price {
    margin-top: 0;
  }

  body#cart .cart-item .qty {
    justify-self: center;
  }

  body#cart .cart-item .price {
    text-align: right;
  }

  body#cart .product-line-actions>.row>.col:last-child {
    align-self: center;
  }
}

@media (max-width: 575px) {
  body#cart .cart-overview {
    padding: 0 14px;
  }

  body#cart .product-line-grid {
    grid-template-columns: 64px minmax(0, 1fr) auto;
  }

  body#cart .cart-item .product-image,
  body#cart .cart-item .product-image img {
    width: 64px;
    max-width: 64px;
  }

  body#cart .cart-item .product-image img {
    height: 64px;
  }

  body#cart .cart-item .price .product-price strong {
    font-size: 15px;
  }

  body#cart .cart-summary .cart-summary-line.cart-total {
    font-size: 17px;
  }

  body#cart .cart-summary .cart-summary-line.cart-total .value {
    font-size: 20px;
  }
}

/* =============================================================================
   CHECKOUT (body#checkout)
   ============================================================================= */

body#checkout {
  --sdi-co-ink: #502c1e;
  --sdi-co-ink-soft: rgba(80, 44, 30, 0.62);
  --sdi-co-line: rgba(80, 44, 30, 0.14);
  --sdi-co-accent: #2ad2c9;
  --sdi-co-link: #00ab8e;
  --sdi-co-surface: #fff;
  --sdi-co-tint: rgba(80, 44, 30, 0.04);
  --sdi-co-radius: 12px;
}

body#checkout #main .page-title {
  margin: 0 0 28px;
  font-size: 40px;
  line-height: 44px;
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--sdi-co-ink);
}

body#checkout #main .page-title span {
  display: block;
}

body#checkout #content.page-content {
  margin: 0;
}

/* -----------------------------------------------------------------------------
   Pasos
   -------------------------------------------------------------------------- */
body#checkout section.checkout-step {
  margin-bottom: 16px;
  padding: 0;
  border: 1px solid var(--sdi-co-line);
  border-radius: var(--sdi-co-radius);
  background: var(--sdi-co-surface);
  opacity: 1;
}

body#checkout section.checkout-step:last-child {
  margin-bottom: 0;
}

body#checkout section.checkout-step .step-title {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
  padding: 20px 24px;
  font-size: 19px;
  line-height: 26px;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--sdi-co-ink);
}

body#checkout section.checkout-step.-current .step-title {
  margin: 0;
  padding: 20px 24px;
  border-bottom: 1px solid var(--sdi-co-line);
}

body#checkout section.checkout-step.-unreachable .step-title {
  color: var(--sdi-co-ink-soft);
}

body#checkout section.checkout-step .step-number {
  display: inline-flex !important;
  flex: 0 0 30px;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--sdi-co-tint);
  color: var(--sdi-co-ink-soft);
  font-size: 14px;
  line-height: 1;
  font-weight: 700;
}

body#checkout section.checkout-step.-current .step-number {
  background: var(--sdi-co-accent);
  color: #1e1e1e;
}

body#checkout section.checkout-step.-reachable.-complete .step-number {
  background: rgba(42, 210, 201, 0.18);
  color: var(--sdi-co-ink);
}

body#checkout section.checkout-step .done {
  color: var(--sdi-co-link);
  font-size: 15px;
}

body#checkout section.checkout-step.-reachable.-complete .step-title .done {
  display: inline-block;
}

body#checkout section.checkout-step.-reachable.-complete .step-title .step-edit {
  float: none;
  margin-left: auto;
  font-size: 13px;
  line-height: 18px;
  font-weight: 600;
  color: var(--sdi-co-link);
  white-space: nowrap;
}

body#checkout section.checkout-step .content {
  padding: 24px;
}

body#checkout section.checkout-step .content>p {
  margin: 0 0 16px;
  font-size: 14px;
  line-height: 22px;
  color: var(--sdi-co-ink-soft);
}

body#checkout section.checkout-step form>div>p,
body#checkout section.checkout-step form>p {
  margin: 26px 0 16px;
  font-size: 14px;
  line-height: 22px;
  color: var(--sdi-co-ink-soft);
}

body#checkout section.checkout-step .font-weight-bold {
  font-size: 16px;
  font-weight: 700;
  color: var(--sdi-co-ink);
}

body#checkout section.checkout-step .content>h2,
body#checkout section.checkout-step .content>.h4 {
  margin: 0 0 16px;
  font-size: 16px;
  line-height: 22px;
  font-weight: 700;
  color: var(--sdi-co-ink);
}

body#checkout section.checkout-step hr {
  margin: 20px 0;
  border: 0;
  border-top: 1px solid var(--sdi-co-line);
  opacity: 1;
}

/* -----------------------------------------------------------------------------
   Formularios
   -------------------------------------------------------------------------- */
/* vat_number se rellena copiando el NIF (custom.js y CustomerAddressForm) y
   nunca debe verse. El override ya lo pinta como hidden; esto lo garantiza
   también si llega como campo de texto (checkout, Mi cuenta y la recarga
   AJAX de Advanced VAT Manager). !important para ganar al display:flex de
   la regla siguiente. */
.form-group:has(input[name="vat_number"]:not([type="hidden"])) {
  display: none !important;
}

body#checkout section.checkout-step .form-group.row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 12px;
  margin: 0 0 22px;
}

body#checkout section.checkout-step .form-group.row:last-child {
  margin-bottom: 0;
}

body#checkout section.checkout-step .form-group.row>label {
  flex: 1 0 100%;
  width: auto;
  max-width: none;
  margin: 0 0 7px;
  padding: 0;
  font-size: 13px;
  line-height: 18px;
  font-weight: 600;
  color: var(--sdi-co-ink-soft);
  text-align: left;
}

body#checkout section.checkout-step .form-group.row>label.required::after {
  content: "*";
  margin-left: 3px;
  color: var(--sdi-co-link);
}

body#checkout section.checkout-step .form-group.row>div {
  flex: 1 1 320px;
  width: auto;
  max-width: none;
  min-width: 0;
  padding: 0;
}

body#checkout section.checkout-step .form-group.row>div.form-control-comment {
  flex: 0 1 auto;
  padding: 0;
  font-size: 12px;
  line-height: 18px;
  color: var(--sdi-co-ink-soft);
}

body#checkout section.checkout-step .form-group.row:has(.custom-checkbox)>label {
  display: none;
}

body#checkout section.checkout-step .form-control-comment {
  display: block;
  padding: 6px 0 0;
  font-size: 12px;
  line-height: 17px;
  opacity: 1;
  color: var(--sdi-co-ink-soft);
}

body#checkout section.checkout-step .form-control,
body#checkout section.checkout-step select.form-control {
  height: 44px;
  padding: 0 18px;
  border: 1px solid var(--sdi-co-line);
  border-radius: 40px;
  background: #fff;
  font-size: 14px;
  line-height: 42px;
  color: var(--sdi-co-ink);
  box-shadow: none;
}

body#checkout section.checkout-step textarea.form-control {
  height: auto;
  min-height: 96px;
  padding: 12px 18px;
  border-radius: var(--sdi-co-radius);
  line-height: 22px;
}

body#checkout section.checkout-step .form-control::placeholder {
  color: var(--sdi-co-ink-soft);
  opacity: 1;
}

body#checkout section.checkout-step .form-control:focus {
  border-color: var(--sdi-co-accent);
  box-shadow: none;
  outline: 0;
}

body#checkout section.checkout-step .input-group {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px;
}

body#checkout section.checkout-step .input-group>.form-control {
  flex: 1 1 auto;
  min-width: 0;
}

body#checkout section.checkout-step .input-group-append {
  flex: 0 0 auto;
}

body#checkout section.checkout-step .input-group-append .btn {
  height: 44px;
  padding: 0 18px;
  border: 1px solid var(--sdi-co-line);
  border-radius: 40px;
  background: #fff;
  color: var(--sdi-co-ink-soft);
}

body#checkout section.checkout-step .input-group-append .btn:hover,
body#checkout section.checkout-step .input-group-append .btn:focus {
  border-color: var(--sdi-co-accent);
  background: #fff;
  color: var(--sdi-co-ink);
}

body#checkout section.checkout-step .radio-inline {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0 20px 0 0;
  font-size: 14px;
  color: var(--sdi-co-ink);
}

body#checkout .custom-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  position: relative;
}

body#checkout .custom-checkbox input[type="checkbox"] {
  position: absolute;
  inset: 3px auto auto 0;
  width: 18px;
  height: 18px;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

body#checkout .custom-checkbox>label:has(input[type="checkbox"]) {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

body#checkout .custom-checkbox input[type="checkbox"]+span {
  display: inline-flex;
  flex: 0 0 18px;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  border: 1px solid #b3aaa5;
  border-radius: 4px;
  background: #fff;
  box-shadow: none;
  vertical-align: middle;
}

body#checkout .custom-checkbox input[type="checkbox"]:checked+span {
  border-color: var(--sdi-co-accent);
  background: var(--sdi-co-accent);
}

body#checkout .custom-checkbox input[type="checkbox"]+span .checkbox-checked {
  position: static;
  margin: 0;
  font-size: 11px;
  color: #1e1e1e;
}

body#checkout .custom-checkbox label {
  display: block;
  margin: 0;
  padding: 0;
  font-size: 14px;
  line-height: 24px;
  color: var(--sdi-co-ink);
  cursor: pointer;
}

body#checkout .custom-checkbox em,
body#checkout .custom-checkbox .text-muted {
  display: block;
  margin-top: 2px;
  font-size: 12px;
  line-height: 18px;
  font-style: normal;
  color: var(--sdi-co-ink-soft);
}

body#checkout .custom-checkbox label br {
  display: none;
}

body#checkout .custom-radio {
  display: inline-flex;
  flex: 0 0 18px;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 18px;
  height: 18px;
  margin: 0;
  border: 1px solid #b3aaa5;
  border-radius: 50%;
  background: #fff;
  box-shadow: none;
}

body#checkout .custom-radio:has(input[type="radio"]:checked) {
  border-color: var(--sdi-co-accent);
}

body#checkout .custom-radio input[type="radio"] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

body#checkout .custom-radio input[type="radio"]:checked+span {
  position: static;
  width: 9px;
  height: 9px;
  margin: 0;
  border-radius: 50%;
  background: var(--sdi-co-accent);
}

body#checkout section.checkout-step #personal-information-step-login {
  margin: 0 0 20px;
  padding: 20px;
  border-radius: var(--sdi-co-radius);
  background: var(--sdi-co-tint);
}

body#checkout section.checkout-step .forgot-password {
  margin: 0 0 16px;
  text-align: center;
  font-size: 13px;
}

body#checkout section.checkout-step .forgot-password a,
body#checkout section.checkout-step .add-address a,
body#checkout section.checkout-step a:not(.btn) {
  color: var(--sdi-co-link);
}

body#checkout section.checkout-step .field-password-policy .password-requirements {
  font-size: 12px;
  line-height: 18px;
  color: var(--sdi-co-ink-soft);
}

body#checkout section.checkout-step .field-password-policy .password-requirements p {
  margin: 0;
}

body#checkout section.checkout-step .pa-captcha-inf {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

body#checkout section.checkout-step .pa_captcha_img {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

body#checkout section.checkout-step .pa_captcha_img .pa_captcha_img_data {
  border: 1px solid var(--sdi-co-line);
  border-radius: 8px;
}

body#checkout section.checkout-step .pa_captcha_refresh {
  display: inline-flex;
  cursor: pointer;
}

body#checkout section.checkout-step .pa-captcha-inf .form-control {
  flex: 0 1 180px;
  width: auto;
}

body#checkout section.checkout-step .form-footer {
  margin: 24px 0 0;
  padding: 0;
}

body#checkout section.checkout-step .form-footer .btn-primary,
body#checkout section.checkout-step .form-footer .continue {
  display: block;
  width: 100%;
  padding: 13px 20px;
  font-size: 16px;
  line-height: 22px;
}

/* -----------------------------------------------------------------------------
   Direcciones
   -------------------------------------------------------------------------- */
body#checkout section.checkout-step .address-selector {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 0;
}

body#checkout section.checkout-step .address-item {
  flex: none;
  margin: 0;
  border: 1px solid var(--sdi-co-line);
  border-radius: var(--sdi-co-radius);
  background: #fff;
  transition: var(--sdi-hover-transition);
}

body#checkout section.checkout-step .address-item.selected {
  border-color: var(--sdi-co-accent);
  box-shadow: inset 0 0 0 1px var(--sdi-co-accent);
}

body#checkout section.checkout-step .address-item hr {
  margin: 0;
}

body#checkout section.checkout-step .radio-block {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 14px 18px;
  font-size: 14px;
}

body#checkout section.checkout-step .address-alias {
  font-weight: 700;
  color: var(--sdi-co-ink);
}

body#checkout section.checkout-step .address {
  padding: 14px 18px;
  font-size: 14px;
  line-height: 21px;
  color: var(--sdi-co-ink-soft);
}

body#checkout section.checkout-step .address-footer {
  display: flex;
  gap: 18px;
  padding: 12px 18px;
  text-align: left;
}

body#checkout section.checkout-step .delete-address,
body#checkout section.checkout-step .edit-address {
  margin: 0;
  font-size: 13px;
  font-weight: 600;
  color: var(--sdi-co-link);
}

body#checkout section.checkout-step .add-address {
  margin: 16px 0 0;
  font-size: 14px;
  font-weight: 600;
}

/* -----------------------------------------------------------------------------
   Método de envío
   -------------------------------------------------------------------------- */
body#checkout section.checkout-step .delivery-options {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

body#checkout section.checkout-step .delivery-option {
  align-items: center !important;
  margin: 0;
  padding: 16px 18px;
  border: 1px solid var(--sdi-co-line);
  border-radius: var(--sdi-co-radius);
  background: #fff;
  transition: var(--sdi-hover-transition);
}

body#checkout section.checkout-step .delivery-option:has(input[type="radio"]:checked) {
  border-color: var(--sdi-co-accent);
  box-shadow: inset 0 0 0 1px var(--sdi-co-accent);
}

body#checkout section.checkout-step .delivery-option>.col-sm-1 {
  flex: 0 0 auto;
  max-width: none;
  width: auto;
  padding: 0 14px 0 0;
}

body#checkout section.checkout-step .delivery-option .custom-radio.float-left {
  float: none !important;
}

body#checkout section.checkout-step .delivery-option-2 {
  flex: 1 1 auto;
  max-width: none;
  margin: 0;
  padding: 0;
  cursor: pointer;
}

body#checkout section.checkout-step .delivery-option .carrier-name {
  font-size: 15px;
  line-height: 21px;
  font-weight: 700;
  color: var(--sdi-co-ink);
}

body#checkout section.checkout-step .delivery-option .carrier-delay {
  font-size: 13px;
  line-height: 19px;
  color: var(--sdi-co-ink-soft);
}

body#checkout section.checkout-step .delivery-option .carrier-price {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  font-size: 15px;
  font-weight: 700;
  color: var(--sdi-co-ink);
  white-space: nowrap;
}

body#checkout section.checkout-step .delivery-option .sdi-carrier-price-excl {
  font-size: 13px;
  font-weight: 500;
  color: var(--sdi-co-ink-soft);
}

body#checkout section.checkout-step .carrier-extra-content {
  margin: 0;
  padding: 0;
}

body#checkout section.checkout-step .carrier-extra-content:not(:empty) {
  padding: 12px 0 0;
}

body#checkout section.checkout-step #delivery {
  margin-top: 22px;
}

body#checkout section.checkout-step #delivery label {
  display: block;
  margin: 0 0 7px;
  font-size: 13px;
  line-height: 18px;
  font-weight: 600;
  color: var(--sdi-co-ink-soft);
}

/* -----------------------------------------------------------------------------
   Pago
   -------------------------------------------------------------------------- */
body#checkout section.checkout-step .payment-options {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

body#checkout section.checkout-step .payment-options .payment-option {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
  padding: 16px 18px;
  border: 1px solid var(--sdi-co-line);
  border-radius: var(--sdi-co-radius);
  background: #fff;
  transition: var(--sdi-hover-transition);
}

body#checkout section.checkout-step .payment-options .payment-option:has(input[type="radio"]:checked) {
  border-color: var(--sdi-co-accent);
  box-shadow: inset 0 0 0 1px var(--sdi-co-accent);
}

body#checkout section.checkout-step .payment-options .payment-option label {
  display: flex;
  align-items: center;
  gap: 12px;
  max-width: none;
  margin: 0;
  font-size: 15px;
  font-weight: 600;
  color: var(--sdi-co-ink);
  cursor: pointer;
}

body#checkout section.checkout-step .payment-options .payment-option label img {
  max-height: 28px;
  width: auto;
}

body#checkout section.checkout-step .js-additional-information,
body#checkout section.checkout-step .additional-information {
  margin: 0;
  padding: 14px 18px;
  border-radius: var(--sdi-co-radius);
  background: var(--sdi-co-tint);
  font-size: 13px;
  line-height: 20px;
  color: var(--sdi-co-ink-soft);
}

body#checkout section.checkout-step #conditions-to-approve {
  margin: 20px 0 0;
  padding: 18px;
  border-radius: var(--sdi-co-radius);
  background: var(--sdi-co-tint);
}

body#checkout section.checkout-step #conditions-to-approve ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

body#checkout section.checkout-step #conditions-to-approve li+li {
  margin-top: 10px;
}

body#checkout #conditions-to-approve label {
  font-size: 14px;
  line-height: 22px;
  color: var(--sdi-co-ink);
}

body#checkout #conditions-to-approve a:link {
  color: var(--sdi-co-link);
}

body#checkout #payment-confirmation {
  margin: 20px 0 0;
}

body#checkout #payment-confirmation .btn-primary {
  display: block;
  width: 100%;
  padding: 14px 20px;
  font-size: 17px;
  line-height: 24px;
}

body#checkout section.checkout-step .alert {
  margin: 0 0 16px;
  padding: 12px 16px;
  border: 0;
  border-radius: 8px;
  background: var(--sdi-co-tint);
  color: var(--sdi-co-ink);
  font-size: 13px;
  line-height: 20px;
}

body#checkout section.checkout-step .alert-danger {
  background: rgba(214, 69, 46, 0.08);
  color: #a33321;
}

/* -----------------------------------------------------------------------------
   Resumen
   -------------------------------------------------------------------------- */
body#checkout .cart-grid-right #js-checkout-summary {
  overflow: hidden;
  margin-bottom: 16px;
  border: 1px solid var(--sdi-co-line);
  border-radius: var(--sdi-co-radius);
  background: var(--sdi-co-surface);
}

body#checkout #js-checkout-summary hr {
  display: none;
}

body#checkout #js-checkout-summary .card-body,
body#checkout #js-checkout-summary .card-block {
  padding: 20px 24px;
}

body#checkout #js-checkout-summary .cart-summary-products>div:first-child {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  font-size: 15px;
  font-weight: 700;
  color: var(--sdi-co-ink);
}

body#checkout #js-checkout-summary .cart-summary-products>div:first-child a {
  float: none;
  font-size: 13px;
  font-weight: 600;
  color: var(--sdi-co-link);
  white-space: nowrap;
}

body#checkout #cart-summary-product-list {
  margin-top: 4px;
}

body#checkout #cart-summary-product-list .media-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

body#checkout #cart-summary-product-list .cart-summary-product {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--sdi-co-line);
}

body#checkout #cart-summary-product-list .media-left {
  flex: 0 0 48px;
  max-width: 48px;
  margin: 0 !important;
}

body#checkout #cart-summary-product-list .media-left img {
  display: block;
  width: 48px;
  height: 48px;
  padding: 4px;
  object-fit: contain;
  border: 1px solid var(--sdi-co-line);
  border-radius: 8px;
  background: #fff;
}

body#checkout #cart-summary-product-list .media-body {
  flex: 1 1 auto;
  min-width: 0;
}

body#checkout #cart-summary-product-list .product-name {
  display: block;
  font-size: 13px;
  line-height: 18px;
  font-weight: 600;
  color: var(--sdi-co-ink);
  overflow-wrap: anywhere;
}

body#checkout #cart-summary-product-list .media-body>span.pull-right {
  display: flex;
  align-items: baseline;
  gap: 8px;
  float: none;
  margin-top: 4px;
  font-size: 13px;
  font-weight: 700;
  color: var(--sdi-co-ink);
}

body#checkout #cart-summary-product-list .product-quantity {
  font-weight: 500;
  color: var(--sdi-co-ink-soft);
}

body#checkout #cart-summary-product-list .text-right {
  padding-top: 12px;
  text-align: right;
}

body#checkout #cart-summary-product-list .text-right .step-edit {
  font-size: 13px;
  font-weight: 600;
  color: var(--sdi-co-link);
}

body#checkout #js-checkout-summary .cart-summary-subtotals-container {
  border-top: 1px solid var(--sdi-co-line);
}

body#checkout #js-checkout-summary .cart-summary-line {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 4px 16px;
  font-size: 14px;
  line-height: 22px;
  color: var(--sdi-co-ink-soft);
}

body#checkout #js-checkout-summary .cart-summary-line::after {
  display: none;
}

body#checkout #js-checkout-summary .cart-summary-line+.cart-summary-line {
  margin-top: 6px;
}

body#checkout #js-checkout-summary .cart-summary-line .value {
  float: none;
  font-weight: 600;
  color: var(--sdi-co-ink);
  white-space: nowrap;
}

body#checkout #js-checkout-summary .cart-summary-totals {
  border-top: 1px solid var(--sdi-co-line);
}

body#checkout #js-checkout-summary .cart-summary-line.cart-total {
  margin-top: 10px;
  padding-top: 12px;
  border-top: 1px solid var(--sdi-co-line);
  font-size: 18px;
  line-height: 26px;
  font-weight: 700;
  color: var(--sdi-co-ink);
}

body#checkout #js-checkout-summary .cart-summary-line.cart-total .value {
  font-size: 22px;
}

body#checkout #js-checkout-summary .cart-summary-line .label.sub,
body#checkout #js-checkout-summary .cart-summary-line .value.sub {
  font-size: 12px;
  font-weight: 400;
}

body#checkout #js-checkout-summary .block-promo {
  border-top: 1px solid var(--sdi-co-line);
}

body#checkout #js-checkout-summary .block-promo .cart-voucher-area {
  padding: 20px 24px;
  background: var(--sdi-co-tint);
}

body#checkout #js-checkout-summary .block-promo .promo-code form .input-group {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 10px;
}

body#checkout #js-checkout-summary .block-promo .voucher-icon {
  flex: 0 0 auto;
  padding: 0 !important;
  font-size: 15px;
  line-height: 1;
  color: var(--sdi-co-ink-soft);
}

body#checkout #js-checkout-summary .block-promo .promo-code .form-control {
  flex: 1 1 auto;
  width: auto;
  min-width: 0;
  height: 40px;
  padding: 0 16px;
  border: 1px solid var(--sdi-co-line);
  border-radius: 40px;
  background: #fff;
  font-size: 14px;
  line-height: 38px;
  color: var(--sdi-co-ink);
}

body#checkout #js-checkout-summary .block-promo .promo-code .form-control:focus {
  border-color: var(--sdi-co-accent);
  box-shadow: none;
  outline: 0;
}

body#checkout #js-checkout-summary .block-promo .input-group-append {
  flex: 0 0 auto;
}

body#checkout #js-checkout-summary .block-promo .input-group-append .btn {
  height: 40px;
  padding: 0 22px;
  border: 0;
  font-size: 14px;
  line-height: 38px;
}

body#checkout #js-checkout-summary .promo-name {
  margin: 0;
  padding: 16px 24px;
  list-style: none;
  border-top: 1px solid var(--sdi-co-line);
}

body#checkout #js-checkout-summary .promo-name li {
  display: flex;
  align-items: baseline;
  gap: 8px;
  font-size: 13px;
  line-height: 20px;
  color: var(--sdi-co-ink-soft);
}

body#checkout #js-checkout-summary .promo-name li .pull-right {
  margin-left: auto;
  font-weight: 600;
  color: var(--sdi-co-ink);
  white-space: nowrap;
}

@media (min-width: 768px) {
  body#checkout .cart-grid-right {
    position: sticky;
    top: 122px;
    align-self: flex-start;
  }
}

/* -----------------------------------------------------------------------------
   Compacto (< 992 px)
   -------------------------------------------------------------------------- */
@media (max-width: 991px) {
  body#checkout #main .page-title {
    margin: 0 0 20px;
    font-size: 28px;
    line-height: 32px;
  }

  body#checkout section.checkout-step .step-title,
  body#checkout section.checkout-step.-current .step-title {
    padding: 16px 18px;
    font-size: 17px;
    line-height: 24px;
  }

  body#checkout section.checkout-step .content {
    padding: 18px;
  }

  body#checkout section.checkout-step .address-selector {
    grid-template-columns: minmax(0, 1fr);
  }

  body#checkout #js-checkout-summary .card-body,
  body#checkout #js-checkout-summary .card-block,
  body#checkout #js-checkout-summary .block-promo .cart-voucher-area,
  body#checkout #js-checkout-summary .promo-name {
    padding-left: 18px;
    padding-right: 18px;
  }
}

@media (max-width: 767px) {
  body#checkout .cart-grid-right {
    margin-top: 20px;
  }

  body#checkout section.checkout-step .delivery-option {
    padding: 14px;
  }

  body#checkout section.checkout-step .delivery-option-2>.row>.col-sm-3,
  body#checkout section.checkout-step .delivery-option-2>.row>.col-sm-4 {
    padding-left: 0;
  }

  body#checkout section.checkout-step .delivery-option .carrier-price {
    align-items: flex-start;
  }
}

/* =============================================================================
   TAB CAROUSEL
   ============================================================================= */

.sdi-categories-tabs .swiper-arrows-above .swiper-button-prev {
  left: auto;
  right: 32px;
}

/* Ancho y separación de las tarjetas los fija Swiper según las diapositivas
   configuradas (slidesPerView / spaceBetween en categories-with-tabs.js). Si se
   fuerzan aquí, Swiper calcula los saltos con otras medidas: avanza de forma
   irregular y la última tarjeta queda fuera de alcance. La altura se deriva del
   ancho para mantener la proporción del diseño (285x400). */
.sdi-categories-tabs .swiper-slide {
  height: auto;
}

.sdi-categories-tabs .swiper-cls-fix:not(.swiper-initialized) .swiper-wrapper {
  column-gap: 10px;
}

.sdi-categories-tabs .sdi-category-item {
  width: 100%;
}

.sdi-categories-tabs .sdi-category-link {
  display: block;
  text-decoration: none;
}

.sdi-categories-tabs .sdi-category-img-wrapper {
  position: relative;
  width: 100%;
  aspect-ratio: 285 / 400;
  margin: 0 auto;
  overflow: hidden;
  flex-shrink: 0;
}

.sdi-categories-tabs .sdi-category-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sdi-categories-cluster .sdi-category-img {
  transition: transform 0.6s ease;
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .sdi-categories-cluster .sdi-category-link:hover .sdi-category-img {
    transform: scale(1.06);
  }
}

.sdi-categories-tabs .nav-tabs .nav-item,
.sdi-product-subcategory-tabs .nav-tabs .nav-item,
.em_tab-cluster-categories button {
  margin-right: 10px;
}

.sdi-categories-tabs .sdi-category-overlay {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 50%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  padding: 20px 16px;
  box-sizing: border-box;
  background: linear-gradient(to top,
      rgba(80, 44, 30, 0.60) 0%,
      rgba(80, 44, 30, 0.20) 60%,
      rgba(80, 44, 30, 0) 100%);
  pointer-events: none;
}

.sdi-categories-tabs .sdi-category-name {
  font-family: "Neue Haas Grotesk Display Pro", sans-serif;
  font-weight: 600;
  font-size: 32px;
  line-height: 32px;
  letter-spacing: 0;
  color: #fff;
  margin: 0 0 10px;
}

.sdi-categories-tabs .sdi-category-more {
  font-family: "Neue Haas Grotesk Display Pro", sans-serif;
  font-weight: 600;
  font-size: 18px;
  line-height: 14px;
  letter-spacing: 0;
  color: #fff;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.sdi-categories-tabs .sdi-category-more i {
  font-size: 14px;
}

.sdi-categories-tabs ul.nav.nav-tabs {
  border: none;
}

.sdi-categories-tabs ul.nav.nav-tabs li.nav-item a {
  border-radius: 40px;
  font-size: 16px;
  font-weight: 600;
  padding: 11px 40px;
  opacity: 1;
  height: 41px;
  line-height: 100%;
}

.sdi-categories-tabs ul.nav.nav-tabs li.nav-item a:hover,
.sdi-categories-tabs ul.nav.nav-tabs li.nav-item a:active,
.sdi-categories-tabs ul.nav.nav-tabs li.nav-item a:focus,
.sdi-categories-tabs ul.nav.nav-tabs li.nav-item a:focus-visible,
.sdi-categories-tabs ul.nav.nav-tabs li.nav-item a.active {
  border-bottom: none;
}

.sdi-categories-tabs-header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 30px;
}

.sdi-categories-tabs-header .nav-tabs {
  flex: 1 1 auto;
  min-width: 0;
  flex-wrap: wrap;
  row-gap: 10px;
}

.sdi-categories-tabs-header .nav-tabs .nav-item {
  flex: 0 0 auto;
}

.sdi-category-arrows {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  align-self: center;
}

.sdi-category-arrows-pair {
  display: none;
}

.sdi-category-arrows-pair.active {
  display: flex;
}

@media (max-width: 992px) {
  .sdi-categories-tabs .swiper-cls-fix:not(.swiper-initialized) .swiper-wrapper {
    column-gap: 5px;
  }

  .sdi-categories-tabs .sdi-category-img-wrapper {
    aspect-ratio: 194 / 254;
  }

  .sdi-categories-tabs .sdi-category-overlay {
    padding: 0px 16px 16px 16px;
  }

  .sdi-categories-tabs .sdi-category-name {
    font-size: 25px;
    line-height: 25px;
  }

  .sdi-categories-tabs .sdi-category-more {
    font-size: 16px;
    line-height: 15px;
  }
}

/* =============================================================================
   SDI PRODUCT SUBCATEGORY TABS
   ============================================================================= */

.sdi-product-subcategory-tabs-header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
}

.sdi-product-subcategory-tabs-header .nav-tabs {
  flex: 1 1 auto;
  min-width: 0;
  flex-wrap: wrap;
  row-gap: 10px;
  border: none;
}

.sdi-product-subcategory-tabs ul.nav.nav-tabs li.nav-item a {
  border-radius: 40px;
  font-size: 16px;
  font-weight: 600;
  padding: 11px 40px;
  opacity: 1;
  white-space: nowrap;
  height: 41px;
  line-height: 100%;
}

.sdi-product-subcategory-tabs ul.nav.nav-tabs li.nav-item a:hover,
.sdi-product-subcategory-tabs ul.nav.nav-tabs li.nav-item a:active,
.sdi-product-subcategory-tabs ul.nav.nav-tabs li.nav-item a:focus,
.sdi-product-subcategory-tabs ul.nav.nav-tabs li.nav-item a:focus-visible,
.sdi-product-subcategory-tabs ul.nav.nav-tabs li.nav-item a.active {
  border-bottom: none;
}


.sdi-pst-actions {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  align-self: center;
}

.sdi-pst-actions-group {
  display: none;
  align-items: center;
  gap: 12px;
}

.sdi-pst-actions-group.active {
  display: flex;
}

.sdi-pst-link {
  background-color: #2ad2c9;
  height: 41px;
  color: #1e1e1e !important;
  border-radius: 40px;
  font-size: 16px;
  font-weight: 600;
  padding: 11px 24px;
  white-space: nowrap;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
}

.sdi-pst-link:hover,
.sdi-pst-link:focus,
.sdi-pst-link:focus-visible {
  color: #fff !important;
  opacity: 0.9;
  text-decoration: none;
}

.sdi-pst-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 300px;
  color: #502c1e;
}

.sdi-pst-select-wrapper,
.sdi-cat-select-wrapper,
.sdi-pst-footer {
  display: none;
}

@media (max-width: 991px) {

  .sdi-product-subcategory-tabs-header .nav-tabs,
  .sdi-categories-tabs-header .nav-tabs {
    display: none;
  }

  .sdi-pst-select-wrapper,
  .sdi-cat-select-wrapper {
    position: relative;
    display: block;
    flex: 1 1 auto;
    min-width: 0;
    box-sizing: border-box;
    background-color: #502c1e;
    color: #fff;
    border-radius: 40px;
  }

  .sdi-categories-tabs-header .sdi-category-arrows {
    margin-left: auto;
  }

  .sdi-product-subcategory-tabs-header .sdi-pst-actions {
    margin-left: auto;
  }

  .sdi-pst-select-wrapper::after,
  .sdi-cat-select-wrapper::after {
    content: "\f078";
    /* fa-chevron-down */
    font-family: "Font Awesome 7 Sharp";
    font-weight: 900;
    font-style: normal;
    font-size: 14px;
    line-height: 1;
    color: inherit;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    pointer-events: none;
  }

  .sdi-pst-select,
  .sdi-cat-select {
    width: 100%;
    margin: 0;
    padding: 11px 40px;
    box-sizing: border-box;
    background: none;
    border: 0;
    border-radius: 40px;
    box-shadow: none;
    color: inherit;
    font-size: 16px;
    font-weight: 600;
    line-height: 100%;
    text-overflow: ellipsis;
    appearance: none;
    height: 41px;
  }

  .sdi-pst-select:focus,
  .sdi-pst-select:focus-visible,
  .sdi-cat-select:focus,
  .sdi-cat-select:focus-visible {
    outline: none;
    box-shadow: none;
  }

  .sdi-pst-select option,
  .sdi-cat-select option {
    background-color: #fff;
    color: #1e1e1e;
    font-weight: 400;
  }

  .sdi-pst-actions-group .sdi-pst-link {
    display: none;
  }

  .sdi-pst-footer {
    display: block;
    margin-top: 20px;
  }

  .sdi-pst-footer-group {
    display: none;
  }

  .sdi-pst-footer-group.active {
    display: block;
  }
}

.sdi-pst-link-mobile,
.sdi-pst-link-mobile:link,
.sdi-pst-link-mobile:visited {
  align-items: baseline;
  gap: 20px;
  color: #502c1e !important;
  font-size: 18px;
  font-weight: 600;
  line-height: 14px;
  text-decoration: underline;
}

.sdi-pst-link-mobile::before {
  content: "\f054";
  /* fa-chevron-right */
  font-family: "Font Awesome 7 Sharp";
  font-weight: 900;
  font-style: normal;
  font-size: 14px;
  line-height: 30px;
  margin-right: 20px;
  text-decoration: none;
}

/* =============================================================================
   FLECHAS DE CARRUSEL
   ============================================================================= */
.swiper-button-prev {
  border-top-left-radius: 40px;
  border-bottom-left-radius: 40px;
}

.swiper-button-next {
  border-top-right-radius: 40px;
  border-bottom-right-radius: 40px;
}

/* =============================================
   FLECHAS DE CARRUSEL (píldora única)
   ---------------------------------------------
   ============================================= */
.sdi-pst-arrows,
.sdi-category-arrows-pair,
.sdi-pp-arrows {
  box-sizing: border-box;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 86px;
  height: 41px;
  padding: 12.5px 20px;
  background: #fff;
  border-radius: 40px;
}

.sdi-pst-arrows,
.sdi-pp-arrows {
  display: flex;
}

.sdi-pst-arrows .swiper-button-prev,
.sdi-pst-arrows .swiper-button-next,
.sdi-category-arrows-pair .swiper-button-prev,
.sdi-category-arrows-pair .swiper-button-next,
.sdi-pp-arrows .swiper-button-prev,
.sdi-pp-arrows .swiper-button-next {
  position: static;
  top: auto;
  left: auto;
  right: auto;
  width: 18px;
  height: 16px;
  margin: 0;
  padding: 0;
  transform: none;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: 0;
  border-radius: 0;
  color: #502c1e;
}

.sdi-pst-arrows .swiper-button-prev::after,
.sdi-pst-arrows .swiper-button-next::after,
.sdi-category-arrows-pair .swiper-button-prev::after,
.sdi-category-arrows-pair .swiper-button-next::after,
.sdi-pp-arrows .swiper-button-prev::after,
.sdi-pp-arrows .swiper-button-next::after {
  font-family: "Font Awesome 7 Sharp";
  font-weight: 900;
  font-style: normal;
  font-variant: normal;
  font-size: 16px;
  line-height: 100%;
  letter-spacing: 0;
  text-transform: none;
  color: #502c1e;
}

.sdi-pst-arrows .swiper-button-prev::after,
.sdi-category-arrows-pair .swiper-button-prev::after,
.sdi-pp-arrows .swiper-button-prev::after {
  content: "\f060";
  /* fa-arrow-left */
}

.sdi-pst-arrows .swiper-button-next::after,
.sdi-category-arrows-pair .swiper-button-next::after,
.sdi-pp-arrows .swiper-button-next::after {
  content: "\f061";
  /* fa-arrow-right */
}

/* ---------------------------------------------
   Variante «flechas encima del carrusel»
   --------------------------------------------- */
.swiper-container-wrapper.swiper-arrows-above>.swiper-button-prev,
.swiper-container-wrapper.swiper-arrows-above>.swiper-button-next {
  box-sizing: border-box;
  top: auto !important;
  bottom: 100%;
  left: auto;
  width: 43px;
  height: 41px;
  margin: 0;
  transform: none;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: 0;
  color: #502c1e;
  opacity: 1;
}

.swiper-container-wrapper.swiper-arrows-above>.swiper-button-disabled::after {
  opacity: 0.2;
}

.swiper-container-wrapper.swiper-arrows-above>.swiper-button-prev {
  right: 43px;
  padding: 12.5px 5px 12.5px 20px;
  border-radius: 40px 0 0 40px;
}

.swiper-container-wrapper.swiper-arrows-above>.swiper-button-next {
  right: 0;
  padding: 12.5px 20px 12.5px 5px;
  border-radius: 0 40px 40px 0;
}

.swiper-container-wrapper.swiper-arrows-above>.swiper-button-prev::after,
.swiper-container-wrapper.swiper-arrows-above>.swiper-button-next::after {
  font-family: "Font Awesome 7 Sharp";
  font-weight: 900;
  font-style: normal;
  font-variant: normal;
  font-size: 16px;
  line-height: 100%;
  letter-spacing: 0;
  text-transform: none;
  color: #502c1e;
}

.swiper-container-wrapper.swiper-arrows-above>.swiper-button-prev::after {
  content: "\f060";
  /* fa-arrow-left */
}

.swiper-container-wrapper.swiper-arrows-above>.swiper-button-next::after {
  content: "\f061";
  /* fa-arrow-right */
}

.em-topsellers .elementor-products {
  padding-top: 32px;
}

@media (max-width: 992px) {
  .em-topsellers .swiper-container-wrapper.swiper-arrows-above>.swiper-button-prev {
    left: 0;
    background: #ffef9f;
  }

  .em-topsellers .swiper-container-wrapper.swiper-arrows-above>.swiper-button-next {
    left: 41px;
    background: #ffef9f;
  }

  .em-topsellers .elementor-products {
    padding-top: 24px;
  }
}

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

/* =============================================
   CABECERA DE CATEGORÍA (banner)
   ============================================= */
.category-banner-placeholder-no-image,
.category-banner-with-image {
  padding: 60px 0 0;
  margin: 0 0 27px;
}

.category-banner-with-image .category-banner-placeholder {
  position: relative;
  background-size: cover;
  background-position: center;
  border-radius: 12px;
  padding: 34px 34px 38px;
  overflow: hidden;
}

.category-banner-with-image .category-banner-placeholder::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,
      rgba(35, 18, 11, 0.82) 0%,
      rgba(35, 18, 11, 0.6) 55%,
      rgba(35, 18, 11, 0.25) 100%);
}

.category-banner-with-image .category-banner-inner {
  position: relative;
}

.category-banner-with-image .category-banner-title h1,
.category-banner-with-image .category-banner-back {
  color: #fff;
}

.category-banner-inner .breadcrumb {
  margin: 0 0 4px;
  padding: 0;
  background: none;
}

.category-banner-inner .breadcrumb>.container,
.category-banner-inner>.container {
  width: auto;
  max-width: none;
  padding: 0;
}

.category-banner-title {
  display: flex;
  align-items: center;
  gap: 24px;
}

.category-banner-back {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #502c1e !important;
  font-size: 26px;
  line-height: 1;
  transition: transform 0.18s ease;
}

.category-banner-back:hover,
.category-banner-back:focus,
.category-banner-back:focus-visible {
  color: #502c1e;
  transform: translateX(-3px);
}

.category-banner-title h1 {
  margin: 0;
  color: #502c1e;
  font-size: 40px;
  font-weight: 700;
  line-height: 40px;
}

.category-banner-description {
  position: relative;
  max-width: 980px;
  margin-top: 27px;
  color: #502c1e;
  font-size: 18px;
  line-height: 24px;
  font-weight: 500;
}

.category-banner-description p {
  margin: 0;
}

.category-banner-description-text.rte-content {
  padding: 0;
}

.category-banner-description-text {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}



.category-banner-description.is-expanded .category-banner-description-text {
  display: block;
  -webkit-line-clamp: none;
  line-clamp: none;
  overflow: visible;
}

.category-banner-more,
.category-additional-more {
  padding: 0;
  border: 0;
  background: none;
  color: #2ad2c9 !important;
  font-family: inherit;
  font-size: inherit;
  font-weight: 600;
  text-decoration: underline;
  cursor: pointer;
}

.category-banner-description:not(.is-expanded) .category-banner-more {
  position: absolute;
  right: 0;
  bottom: 0;
  padding-left: 90px;
  background: linear-gradient(90deg, rgba(247, 247, 247, 0) 0, #f7f7f7 70px);
}

.category-banner-with-image .category-banner-description:not(.is-expanded) .category-banner-more {
  background: none;
  padding-left: 8px;
}

#category .elementor {
  margin: 0 0 33px;
}

@media (max-width: 767px) {
  .category-banner-description-text {
    -webkit-line-clamp: 3;
    line-clamp: 3;
  }

  .category-banner-title h1 {
    font-size: 28px;
  }

  .category-banner-placeholder-no-image,
  .category-banner-with-image {
    padding: 21px 0 0;
    margin: 0 0 36px;
  }

  .category-banner-description {
    margin-top: 18px;
  }

  #category .sdicc-clusters,
  #category .js-product-list-top {
    margin-bottom: 36px;
  }

  #category #footer {
    padding-top: 16px;
  }

  .category-banner-title {
    gap: 10px;
  }

  .category-banner-back svg {
    width: 22px;
    height: 22px;
  }

  .category-banner-description {
    font-size: 16px;
  }
}

@media (min-width: 992px) {

  .category-banner-description-text p,
  .category-banner-description-text strong {
    font-size: 18px !important;
    line-height: 24px !important;
  }
}

/* =============================================
   FACETAS
   ============================================= */
#search_filters_wrapper .block-facets,
#search_filters_wrapper .block.block-facets {
  margin: 0;
  padding: 0;
  border: 0;
}

#search_filters .facets-title {
  margin: 0;
  padding: 0 0 21px;
  border-bottom: 1px solid rgba(80, 44, 30, 0.45);
  color: #502c1e;
  font-size: 18px;
  line-height: 20px;
  font-weight: 600;
}

#search_filters .facet,
#search_filters details.facet,
#search_filters .facet:first-child {
  padding: 0;
  border-bottom: 1px solid rgba(80, 44, 30, 0.45);
}

#search_filters summary.facet-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  padding: 19px 0;
  border: 0;
  color: #502c1e;
  font-size: 20px;
  font-weight: 600;
  line-height: 20px;
  cursor: pointer;
  list-style: none;
}

#search_filters summary.facet-title::-webkit-details-marker,
#search_filters summary.facet-title::marker {
  display: none;
  content: "";
}

#search_filters summary.facet-title:focus-visible {
  outline: 2px solid #2ad2c9;
  outline-offset: 2px;
}

#search_filters summary.facet-title::after {
  content: "+";
  flex: 0 0 auto;
  color: #502c1e;
  font-size: 22px;
  font-weight: 400;
  line-height: 1;
}

#search_filters details[open]>summary.facet-title {
  border-bottom: 1px solid rgba(80, 44, 30, 0.45);
}

#search_filters details[open]>summary.facet-title::after {
  content: "\2013";
}

#search_filters .facet>ul {
  margin: 0;
  padding: 36px 0 18px;
  max-height: 320px;
  overflow-x: hidden;
  overflow-y: auto;
}

#search_filters .facet .facet-label {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 9px;
}

#search_filters .facet .facet-label a {
  color: #502c1e;
  font-size: 16px;
  line-height: 20px;
  font-weight: 600;
}

#search_filters .facet .facet-label.active a,
#search_filters .facet .facet-label:hover a {
  color: #502c1e;
}

#search_filters .facet .facet-label .magnitude {
  color: #a5a5a5;
}

#search_filters .custom-checkbox,
#search_filters .custom-radio {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  margin: 0;
  box-shadow: none;
}

#search_filters .custom-checkbox input[type="checkbox"],
#search_filters .custom-radio input[type="radio"] {
  position: absolute;
  inset: 0;
  width: 16px;
  height: 16px;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

#search_filters .custom-checkbox input[type="checkbox"]+span:not(.color),
#search_filters .custom-radio {
  display: block;
  width: 16px;
  height: 16px;
  margin: 0;
  border: 1px solid #b3aaa5;
  border-radius: 50%;
  background: #fff;
  box-shadow: none;
}

#search_filters .custom-checkbox input[type="checkbox"]:checked+span:not(.color) {
  border-color: #2ad2c9;
  box-shadow:
    inset 0 0 0 2px #fff,
    inset 0 0 0 8px #2ad2c9;
}

#search_filters .custom-checkbox input[type="checkbox"]:checked+span .checkbox-checked {
  display: none;
}

#search_filters .custom-radio input[type="radio"]:checked+span {
  width: 8px;
  height: 8px;
  background: #2ad2c9;
}

#search_filters .custom-radio:has(input[type="radio"]:checked) {
  border-color: #2ad2c9;
}

/* ============================= ================
   BARRA SUPERIOR DEL LISTADO (#js-product-list-top)
   ============================================= */
#js-product-list-top.products-selection {
  margin: 0 0 20px;
  padding: 0;
  border: 0;
}

#js-product-list-top>.row {
  margin: 0;
  justify-content: flex-end !important;
}

#js-product-list-top .view-switcher,
#js-product-list-top .showing,
#js-product-list-top .products-nb-per-page,
#js-product-list-top .pagination-wrapper,
#js-product-list-top .facated-toggler:empty {
  display: none !important;
}

#js-product-list-top .products-sort-order {
  display: block;
}

#js-product-list-top>.row>.col:has(.products-sort-order),
#js-product-list-top>.row>.col-auto:has(.products-sort-order) {
  padding-right: 0;
}

#js-product-list-top .products-sort-order .select-title.form-control {
  display: flex;
  align-items: center;
  min-width: 250px;
  height: auto;
  padding: 0;
  border: 0;
  color: #502C1E;
  font-size: 15px;
  line-height: 20px;
  font-weight: 600;
  cursor: pointer;
  background: none;
  border: none;
  justify-content: center;
}

#js-product-list-top .products-sort-order .select-title.form-control::before {
  content: "Ordenar por\00a0";
  text-transform: none;
}

#js-product-list-top .products-sort-order .select-title-name {
  text-transform: lowercase;
}

#js-product-list-top .products-sort-order .select-title .fa-angle-down {
  margin-left: auto;
  color: #777;
  font-size: 16px;
}

#js-product-list-top .products-sort-order .select-title:hover,
#js-product-list-top .products-sort-order .select-title:hover .fa-angle-down {
  color: #502c1e;
}

#js-product-list-top .products-sort-order .dropdown-menu {
  right: 0;
  left: auto;
  min-width: 250px;
}

@media (max-width: 767px) {
  #js-product-list-top .facated-toggler {
    width: 50%;
  }



  #js-product-list-top .facated-toggler .filter-button button {
    border-radius: 20.47px;
    font-size: 14px;
    line-height: 15px;
    font-weight: 600;
    color: #1e1e1e;
    height: 30px;
  }

  #js-product-list-top .facated-toggler .filter-button button i {
    display: none;
  }

  #js-product-list-top .col.col-auto {
    width: 50%;
  }

  #js-product-list-top .col.col-auto .products-sort-nb-dropdown {
    border: 1px solid #2ad2c9;
    background: none;
    color: #2ad2c9;
    padding: 7px 40px;
    border-radius: 20.47px;
    height: 30px;
  }

  #js-product-list-top .col.col-auto .products-sort-nb-dropdown .select-title {
    font-size: 14px;
    line-height: 15px;
    font-weight: 600;
    color: #00ab8e;
  }

  #js-product-list-top .col.col-auto .products-sort-nb-dropdown .fa.fa-angle-down {
    padding: 0;
    margin: 0;
    color: #00ab8e;
  }

  #js-product-list-top .col.col-auto .products-sort-nb-dropdown .select-title-name {
    display: none;
  }

  #js-product-list-top>.row {
    justify-content: space-around !important;
  }

  #js-product-list-top .products-sort-order .select-title.form-control {
    min-width: 0;
  }

  #js-product-list-top .products-sort-order .select-title .fa-angle-down {
    padding-left: 10px;
  }
}

nav.pagination li {
  border: none !important;
}

nav.pagination li a {
  color: #502C1E !important;
  font-size: 16px;
  line-height: 16px;
}

nav.pagination {
  margin-top: 75px;
}

#category .sdicc-clusters {
  margin: 0 0 33px;
}



#js-product-list .products.products-grid {
  row-gap: 40px;
}

#inner-wrapper>.category-additional-description {
  margin: 48px 0 0;
}

/* CATEGORY CLUSTERS */
.em_category-clusters .elementor-links .block-content>ul {
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(4, auto);
  grid-auto-columns: minmax(0, 1fr);
  gap: 8px 28px;
  margin: 0;
  padding: 0;
  list-style: none;
}

html:not(.elementor-html) .em_category-clusters.hidecluster {
  display: none;
}

.hidecluster_trigger .elementor-button {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-radius: 40px;
  font-weight: 600;
  padding-top: 7px;
  padding-bottom: 7px;
  background: #502c1e;
  color: #ffffff;
  border: none 1px;
}
.hidecluster_trigger .elementor-button .elementor-button-text {
  color: #ffffff;
}

.em_category-clusters .elementor-links .block-content>ul>li {
  margin: 0;
  min-width: 0;
}

@media (max-width: 991px) {
  .em_category-clusters .elementor-links .block-content>ul {
    grid-auto-flow: row;
    grid-template-rows: none;
    grid-auto-columns: auto;
  }

  #left-column #search_filter_controls button,
  #right-column #search_filter_controls button {
    font-size: 14px;
    line-height: 14px;
    padding: 6px 30px;
    border-radius: 40px;
  }
}

@media (min-width: 992px) {
  #category #left-column {
    position: relative;
  }

  #category #left-column #facets_search_wrapper {
    position: sticky;
    top: 140px;
  }

  .em_category-clusters a {
    color: #502C1E !important;
  }

  .em_category-clusters i {
    margin-right: 10px;
  }

  .em_elementor-category_cluster-img .elementor-row,
  .em_elementor-category_cluster-img .elementor-row img {
    height: 450px;
  }
}

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

#product .card-header-tabs .nav-item,
#product .nav-tabs .nav-item {
  margin-right: 108px;

}

#product-infos-tabs-content {
  margin-top: 52px;
}

body#product .sdi-pp-hero {
  margin-bottom: 60px;
}

body#product .product-additional-info {
  border-top: none;
}

body#product .js-mailalert.form-inline input[type="submit"] {
  font-weight: 600;
  font-size: 16px;
  line-height: 16px;
  color: #502C1E !important;
}

.badge.badge-danger.product-unavailable {
  display: none;
}


#product #product-availability {
  text-align: center;
  display: block;
  margin: 0;
  padding: 6px 12px;
  line-height: 14px;
  font-size: 14px;
  font-weight: 600;
  border-radius: 40px;
  display: flex;
  align-items: center;
  background-color: #FF425B !important;
  color: #fff !important;
  margin-bottom: 15px;
  justify-content: center;
  align-items: center;
}

#product .badge.badge-danger.product-unavailable i {
  margin-right: 6px;
}

body#product .product-grouper-associations {
  position: relative;
  display: grid;
  grid-template-columns: 100px minmax(0, 1fr);
  align-items: start;
  column-gap: 16px;
  row-gap: 0;
  align-items: center;
}

body#product .swiper-pagination {
  display: none;
}

/* ---------- Galería ---------- */

body#product .sdi-pp-gallery .images-container {
  border: 1px solid #e9e9e9;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  padding: 24px;
}

body#product .sdi-pp-gallery .product-lmage-large {
  height: 420px;
}

body#product .sdi-pp-gallery .product-images-large img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

body#product .sdi-pp-gallery .js-qv-mask {
  display: none;
}

body#product .sdi-pp-gallery .thumb-container img.thumb {
  width: 64px;
  height: 64px;
  object-fit: contain;
  border: 1px solid #e9e9e9;
  border-radius: 8px;
  padding: 4px;
}

body#product .sdi-pp-gallery .thumb-container img.thumb.selected {
  border-color: #2ad2c9;
}

body#product .sdi-pp-gallery .product-flags {
  right: 0;
  top: 0;
  display: flex;
  flex-direction: row-reverse;
  gap: 10px;
  z-index: 2;
}

body#product .sdi-pp-gallery .product-flags .product-flag {
  margin: 0;
  padding: 6px 12px;
  line-height: 14px;
  font-size: 14px;
  font-weight: 600;
  border-radius: 40px;
  display: flex;
  align-items: center;
}

body#product div.col-product-image {
  padding-right: 70px;
}

body#product div.col-product-buybox {
  padding-left: 49px;
  z-index: 80;
}



/* ---------- Columna de información ---------- */

body#product .sdi-pp-header {
  border-bottom: 1px solid #000000;
  padding-bottom: 14px;
  margin-bottom: 0;
}

body#product .sdi-pp-header .page-title {
  font-size: 30px;
  line-height: 30px;
  font-weight: 600;
  margin: 0;
  color: #502c1e;
}

body#product .sdi-pp-ref {
  margin: 14px 0 0;
  font-size: 16px;
  line-height: 16px;
  font-weight: 600;
  color: #502c1e;
}

body#product .col-product-info .product-information>* {
  border-bottom: 1px solid #000000;
  padding: 23px 0 22px 0;
}

body#product .col-product-info .product-information .sdi-pp-features {
  padding-top: 18px;
  border-bottom: none;
  padding-bottom: 0;
}

body#product .sdi-pp-block-label {
  padding-bottom: 15px;
}

body#product .col-product-info .product-information>*:last-child {
  border-bottom: 0;
  padding-bottom: 0;
  margin-bottom: 0;
}

body#product .col-product-info .product-information>.product-additional-info:not(:has(.product-grouper-associations)) {
  border-bottom: 0;
  padding: 0;
}

body#product .col-product-info .product-information>.product-additional-info:has(.product-grouper-associations) {
  padding-top: 0;
  padding-bottom: 0;
}

body#product .sdi-pp-block-label,
body#product .product-grouper-associations h2 {
  display: block;
  font-size: 16px;
  line-height: 16px;
  font-weight: 600;
  color: #502c1e;
  text-transform: none;
  letter-spacing: 0;
}

body#product .product-grouper-associations h2 {
  grid-column: 1;
  align-self: stretch;
  display: grid;
  align-content: center;
  margin: 0;
  padding: 22px 0;
}

body#product .product-grouper-associations h2:not(:first-of-type)::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  margin-top: -22px;
  border-top: 1px solid #b39b80;
}

body#product .col-product-info .js-product-additional-info .social-sharing,
body#product .col-product-info .js-product-additional-info .product-tags,
body#product .col-product-info .js-product-additional-info #product-comments-additional-info {
  display: none;
}

body#product .product-grouper-associations .groupul {
  grid-column: 2;
  display: grid;
  grid-template-columns: repeat(3, auto);
  justify-content: space-between;
  gap: 10px 12px;
  margin: 0;
  padding: 0;
  float: none !important;
  width: 100%;
  list-style: none;
  padding: 22px 0;
}

body#product .product-grouper-associations .groupul>li {
  width: auto;
  max-width: none;
  flex: none;
  margin: 0;
  padding: 0;
  float: none;
  list-style: none;
}

body#product .product-grouper-associations .groupul>li>div {
  display: contents !important;
}

body#product .product-grouper-associations .climg,
body#product .product-grouper-associations .grouplinki:not([data-class^="Color"]) {
  display: none !important;
}

body#product .product-grouper-associations .groupul>li:has(.grouplinki[data-class^="Color"]) {
  display: flex;
  align-items: center;
  gap: 12px;
}

body#product .product-grouper-associations .grouplinki[data-class^="Color"] {
  display: block;
  flex: 0 0 45px;
  width: 45px;
  height: 45px;
  border: 1px solid #c9c9c9;
  border-radius: 50%;
  overflow: hidden;
  background: #fff;
  box-sizing: border-box;
  margin-left: 0;
}

body#product .product-grouper-associations .grouplinki[data-class^="Color"].selectimg {
  border: 2px solid #ffffff;
  box-shadow: 0 0 0 2px #2ad2c9;
}

body#product .product-grouper-associations .grouplinki[data-class^="Color"] .climg {
  display: block !important;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

body#product .product-grouper-associations .grouplink {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 0;
  border: 0 !important;
  background: none;
  float: none !important;
  clear: none;
  width: auto;
  font-size: 14px;
  line-height: 1.2;
  color: #502c1e;
  text-align: left;
  text-transform: none;
  text-decoration: none;
}

body#product .product-grouper-associations .grouplink::before {
  content: "";
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  margin-top: 1px;
  border: 1px solid #c9c9c9;
  border-radius: 50%;
  background: #fff;
  box-sizing: border-box;
}

body#product .product-grouper-associations .grouplink.selecteda {
  font-weight: 600;
  background: none !important;
}

body#product .product-grouper-associations .grouplink.selecteda::before {
  border: 5px solid #2ad2c9;
}

body#product .product-grouper-associations .grouplink:hover::before {
  border-color: #2ad2c9;
}

body#product .product-grouper-associations .grouplink[name="Blanco"]::before {
  background: #fff;
}

body#product .product-grouper-associations .grouplink[name="Negro"]::before {
  background: #1b1b1b;
}

body#product .product-grouper-associations .grouplink[name="Gris"]::before {
  background: #b0b0b0;
}

body#product .product-grouper-associations .grouplink[name="Rojo"]::before {
  background: #d0342c;
}

body#product .product-grouper-associations .grouplink[name="Verde"]::before {
  background: #4a9c3f;
}

body#product .product-grouper-associations .grouplink[name="Azul"]::before {
  background: #2f6fb5;
}

body#product .product-grouper-associations .grouplink[name="Amarillo"]::before {
  background: #f0c419;
}

body#product .product-grouper-associations .grouplink[name="Marrón"]::before {
  background: #502c1e;
}

body#product .product-grouper-associations .grouplink[name="Transparente"]::before {
  background: linear-gradient(135deg, #fff 0 50%, #e2e2e2 50% 100%);
}

body#product .product-grouper-associations .grouplink[name="Multicolor"]::before {
  background: conic-gradient(#d0342c, #f0c419, #4a9c3f, #2f6fb5, #d0342c);
}

body#product .product-grouper-associations .grouplink.selecteda[name="Blanco"]::before,
body#product .product-grouper-associations .grouplink.selecteda[name="Negro"]::before,
body#product .product-grouper-associations .grouplink.selecteda[name="Gris"]::before,
body#product .product-grouper-associations .grouplink.selecteda[name="Rojo"]::before,
body#product .product-grouper-associations .grouplink.selecteda[name="Verde"]::before,
body#product .product-grouper-associations .grouplink.selecteda[name="Azul"]::before,
body#product .product-grouper-associations .grouplink.selecteda[name="Amarillo"]::before,
body#product .product-grouper-associations .grouplink.selecteda[name="Marrón"]::before,
body#product .product-grouper-associations .grouplink.selecteda[name="Transparente"]::before,
body#product .product-grouper-associations .grouplink.selecteda[name="Multicolor"]::before {
  border: 1px solid #c9c9c9;
  box-shadow:
    0 0 0 2px #fff inset,
    0 0 0 2px #2ad2c9;
}

body#product .product-grouper-associations .grouplink[data-class^="Color"] {
  align-items: center;
}

body#product .product-grouper-associations .grouplink[data-class^="Color"]::before {
  display: none;
}

body#product .images-container .swiper-button-next,
body#product .images-container .swiper-button-prev {
  bottom: 0;
  margin-top: 0;
  visibility: visible !important;
  opacity: 1 !important;
  height: 41px;
  width: 43px;
  top: unset;
  background: #FAFAFA;
}

body#product .images-container .swiper-button-next::after,
body#product .images-container .swiper-button-prev::after {
  color: #502C1E;
}

body#product .product-cover:hover .product-flags {
  opacity: 1;
  visibility: visible;
}

body#product .swiper-button-next {
  right: 0;
  left: auto;
}

body#product .swiper-button-prev {
  right: 43px;
  left: auto;
}

/* ---------- Características ---------- */

body#product .sdi-pp-feature-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, 64px);
  justify-content: start;
  gap: 16px 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body#product .sdi-pp-feature {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  margin: 0;
  text-align: center;
}

body#product .sdi-pp-feature-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border: 1px solid #c5c5c5;
  border-radius: 50%;
  font-size: 26px;
  color: #502c1e;
}

body#product .product-description,
body#product .product-description * {
  font-weight: 600 !important;
}

body#product .product-information .product-description * {
  font-weight: 600 !important;
  font-family: "Neue Haas Grotesk Display Pro", sans-serif !important;
  background-color: #f7f7f7 !important;
  line-height: 26px !important;
  font-size: 16px !important;
}

body#product .col-product-info .product-description {
  margin-top: 14px;
  padding: 0;
}

body#product .sdi-pp-feature-icon--no {
  position: relative;
}

body#product .sdi-pp-feature-icon--no .sdi-pp-feature-slash {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 1.15em;
}

body#product .sdi-pp-feature-label {
  font-weight: 500;
  font-size: 11px;
  line-height: 13px;
  text-transform: capitalize;
  color: #502c1e;
  overflow-wrap: break-word;
}

body#product .col-product-info .product-description {
  font-size: 15px;
  line-height: 1.6;
}

body#product .col-product-info .product-description p:last-child {
  margin-bottom: 0;
}

body#product .ts-wdg-loc-pd-wrapper {
  border-top: 1px solid #b39b80;
  padding-top: 129px !important;
  padding-bottom: 88px !important;
}

body#product .sdi-pp-buybox {
  position: static;
  /* Solo se nota en la fase 'static' (al cargar la página y tras volver a
     ella subiendo del todo): en 'fixed'/'docked' el bloque de abajo la
     resetea a 0, porque ahí el "top" que pone sdiInitBuybox() ya es la
     separación que hace falta y esta se sumaría por encima. */
  margin-top: 0px;
  border: 1px solid #e9e9e9;
  border-radius: 8px;
  background: #fff;
  padding: 23px 24px 37px 30px;
}

body#product .sdi-pp-buybox.sdi-pp-buybox--fixed,
body#product .sdi-pp-buybox.sdi-pp-buybox--docked {
  position: fixed;
  margin: 0;
  z-index: 20;
}

body#product .sdi-pp-buybox.sdi-pp-buybox--docked {
  position: absolute;
}

@media (min-width: 992px) {

  body#product .product-tabs,
  body#product .ts-wdg-loc-pd-wrapper,
  body#product .category-products {
    padding-right: var(--sdi-pp-buybox-reserve, 0px);
    box-sizing: border-box;
    margin: 0;
  }
}

body#product .sdi-pp-buybox .product-add-to-cart {
  padding-top: 0 !important;
}

body#product .sdi-pp-buybox .product-add-to-cart .product-quantity {
  margin-top: 12px;
}

body#product .sdi-pp-buybox .product-prices {
  margin: 0;
}

body#product .sdi-pp-buybox .product-prices .product-reference {
  display: none;
}

body#product .sdi-pp-price-main {
  display: block;
  font-size: 24px;
  font-weight: 700;
  line-height: 20px;
  color: #502c1e;
}

body#product .sdi-pp-buybox .current-price,
body#product .sdi-pp-price-tax-label-incl,
body#product .sdi-pp-price-per-unit {
  font-size: 12px;
  font-weight: 600;
  line-height: 12px;
  color: #502c1e;
}

body#product .sdi-pp-buybox .current-price .product-price {
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
}

body#product .sdi-pp-price-per-unit {
  margin-left: 12px;
}

body#product .sdi-pp-buybox .tax-shipping-delivery-label {
  font-size: 13px;
  color: #8c8c8c;
}

body#product .sdi-pp-buybox .sdi-pp-native-tax-label {
  display: none;
}

body#product .product_p_price_container {
  border-top: none;
  padding: 0;
  margin-top: 0;
}

body#product .sdi-pp-buybox .tax-shipping-delivery-label:empty {
  display: none;
}

body#product .sdi-pp-buybox .table-product-discounts {
  display: none;
}

body#product .sdi-pp-buybox .product-quantity {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin: 0 0 12px;
}

body#product .sdi-pp-buybox .product-quantity>.col,
body#product .sdi-pp-buybox .product-quantity>div {
  flex: 0 0 auto;
  width: calc(50% - 6px);
  max-width: none;
  padding: 0;
  margin: 0;
}

body#product .sdi-pp-buybox .col-add-qty {
  order: 1;
}

body#product .sdi-pp-buybox .col-add-wishlist {
  order: 2;
}

body#product .sdi-pp-buybox .col-add-btn {
  order: 3;
  width: 100% !important;
}

body#product .sdi-pp-buybox .col-add-wishlist .btn {
  width: 100%;
  height: 40px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 40px;
  background: #fff;
  border: 1px solid #2ad2c9;
  color: #2ad2c9;
}

body#product .sdi-pp-buybox .col-add-wishlist .btn:hover {
  background: rgba(42, 210, 201, 0.12);
  border-color: #2ad2c9;
  color: #2ad2c9;
}

body#product .sdi-pp-buybox .col-add-btn .add {
  width: 100%;
}

body#product .sdi-pp-buybox .add-to-cart {
  width: 100%;
  height: 48px;
  border-radius: 40px;
  background-color: #2ad2c9;
  border-color: #2ad2c9;
  color: #1e1e1e;
  font-size: 16px;
  line-height: 14px;
  font-weight: 600;
}

body#product .sdi-pp-buybox .add-to-cart:hover:not(:disabled),
body#product .sdi-pp-buybox .add-to-cart:focus:not(:disabled) {
  background-color: #00ab8e;
  border-color: #00ab8e;
  color: #fff;
}

body#product .sdi-pp-claims {
  list-style: none;
  font-size: 12px;
  line-height: 12px;
  color: #502c1e;
  font-weight: 600;
}

body#product .sdi-pp-claims li+li {
  margin-top: 4px;
}

body#product .product-buybox {
  width: 381px;
}

body#product .col-product-buybox>div:not(.sdi-pp-buybox) {
  margin-top: 20px;
}

body#product .sdi-pp-datasheet-list {
  display: block;
  column-count: 2;
  column-gap: 48px;
}

body#product .sdi-pp-datasheet-item {
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
  margin: 0 0 10px;
  padding: 0;
  border-bottom: none;
}

body#product .sdi-pp-elementor {
  padding: 117px 0 90px 0;
}

body#product .sdi-pp-datasheet-item dt.name,
body#product .sdi-pp-datasheet-item dd.value {
  display: inline;
  margin: 0;
  padding: 0;
  border: none;
  font-size: 14px;
  line-height: 20px;
  color: #502c1e;
  word-break: break-word;
  font-weight: 600;
}

body#product .sdi-pp-datasheet-item dt.name {
  margin-right: 4px;
}

body#product .product-manufacturer,
body#product .product-quantities {
  display: none;
}

@media (max-width: 767px) {
  body#product .sdi-pp-header .page-title {
    font-size: 24px;
    line-height: 25px;
  }

  body#product .sdi-pp-datasheet-list {
    column-count: 1;
  }
}

@media (max-width: 991px) {
  /* El margin-top de la fase 'static' (ver la regla base de .sdi-pp-buybox)
     ya vale aquí: sdiInitBuybox() nunca pasa a 'fixed'/'docked' por debajo de
     992px, así que en móvil el buybox está siempre en 'static' y no hace
     falta repetirlo. */

  body#product .sdi-pp-header {
    border-bottom: 0;
  }

  body#product #wrapper {
    padding-top: 0px !important;
  }

  body#product nav.breadcrumb .row.align-items-center>.col {
    padding: 0 16px;
    font-size: 12px;
    margin-top: 17px;
  }

  body#product nav.breadcrumb ol li:not(:nth-last-child(-n+2)) {
    display: none;
  }

  body#product nav.breadcrumb ol li:nth-last-child(2)::before {
    content: "\2039 ";
    opacity: 0.4;
  }

  body#product #inner-wrapper {
    padding: 0 16px 0 16px;
  }

  body#product .sdi-pp-header {
    padding-bottom: 19px;
  }

  body#product .sdi-pp-ref {
    margin: 11px 0 0;
  }

  body#product .after-cover-tumbnails2 {
    display: none;
  }

  body#product .product-grouper-associations h2 {
    padding: 0 0 22px 0;
    align-self: auto;
  }

  body#product .product-grouper-associations .groupul {
    margin-bottom: 13px;
  }

  body#product #main .col-product-info .product-description {
    margin-bottom: 34px;
    margin-top: 20px;
  }

  body#product .tabs.product-tabs,
  body#product .sidebar.product-sidebar {
    display: none;
  }

  body#product .ts-wdg-loc-pd-wrapper {
    border-top: none;
    padding-top: 0px !important;
    margin-top: 0;
    padding-bottom: 88px !important;
  }

  body#product .sdi-reviews-head {
    margin-bottom: 41px;
  }

  .sdi-reviews-title {
    margin: 0 0 22px;
    font-size: 30px;
    line-height: 30px;
  }

  body#product .sdi-pp-section-head .sdi-pp-arrows {
    justify-self: flex-start;
    background: #ffef9f;
  }

  body#product .crossselling-products .sdi-pp-section-head {
    margin-bottom: 24px;
  }

  body#product .sdi-pp-elementor {
    padding: 40px 16px;
  }
}

@media (max-width: 767px) {
  body#product .sdi-pp-hero {
    margin-bottom: 40px;
  }

  body#product .product-grouper-associations {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 0;
  }

  body#product .product-grouper-associations .groupul {
    padding: 0 0 22px;
  }

  body#product .product-grouper-associations h2,
  body#product .product-grouper-associations .groupul {
    grid-column: 1;
  }

  body#product .product-grouper-associations .groupul {
    grid-template-columns: repeat(2, 1fr);
  }
}

body#product .category-products,
body#product .product-accessories.block-section,
body#product .crossselling-products {
  --sdi-pp-band: #eee6e4;
  background: var(--sdi-pp-band);
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 46px calc(50vw - 50%);
  padding-top: 80px;
  padding-bottom: 96px;
}

body#product .crossselling-products {
  margin-bottom: 0;
}

@media (min-width: 992px) {

  body#product .category-products,
  body#product .product-accessories.block-section {
    padding-right: calc(50vw - 50% + var(--sdi-pp-buybox-reserve, 0px));
  }
}

body#product .category-products .section-title,
body#product .product-accessories.block-section .section-title,
body#product .crossselling-products .section-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 0;
  margin-bottom: 0;
}

body#product .sdi-pp-section-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas:
    "titulo titulo"
    "entradilla flechas";
  align-items: center;
  column-gap: 24px;
  margin-bottom: 40px;
}

body#product .block-section .sdi-pp-section-head .section-title {
  grid-area: titulo;
  margin-bottom: 32px;
  font-size: 32px;
  line-height: 32px;
  font-weight: 600;
  color: #502c1e;
}

body#product .sdi-pp-section-head .sdi-pp-arrows {
  grid-area: flechas;
}

body#product .sdi-pp-section-intro {
  grid-area: entradilla;
  margin: 0;
  max-width: 722px;
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  color: #502c1e;
}

@media (max-width: 575px) {
  body#product .sdi-pp-section-head {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "titulo"
      "entradilla"
      "flechas";
    row-gap: 18px;
  }

  body#product .block-section .sdi-pp-section-head .section-title {
    margin-bottom: 0;
  }
}

body#product .category-products .swiper-container::after,
body#product .product-accessories.block-section .swiper-container::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 190px;
  background: linear-gradient(90deg,
      rgba(238, 230, 228, 0),
      var(--sdi-pp-band));
  pointer-events: none;
  z-index: 2;
  transition: opacity 0.3s ease;
}

body#product .category-products .swiper-container.sdi-pp-fade-off::after,
body#product .product-accessories.block-section .swiper-container.sdi-pp-fade-off::after {
  opacity: 0;
}

/* ---------- Pestañas de ficha técnica / descripción ---------- */

body#product .product-tabs .nav-tabs {
  border-bottom: 0;
}

body#product .product-tabs .nav-link {
  font-size: 32px;
  line-height: 32px;
  font-weight: 600;
}

body#product .product-tabs .nav-link:focus,
body#product .product-tabs .nav-link:hover {
  border-bottom: none;
}

body#product .product-tabs .nav-link.active {
  color: #502c1e;
  border-bottom-color: #502c1e;
}

body#product .product-pack {
  border: 0;
  margin: 0 0 20px;
  padding: 0;
}

body#product .sdi-pp-pack-title,
body#product .iqitproductvariants .iqitproductvariants__label {
  margin: 0 0 12px;
  font-size: 14px;
  font-weight: 600;
  line-height: 16px;
  color: #502c1e;
}

body#product .product-pack article,
body#product .product-pack article:last-child {
  border: 0;
  padding: 0;
}

body#product .product-pack .pack-product-container {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 12px;
  padding: 6px 0;
}

body#product .product-pack .pack-product-thumb {
  flex: 0 0 56px;
  max-width: 56px;
  padding: 4px;
  border: 1px solid #e9e9e9;
  border-radius: 4px;
  background: #fff;
}

body#product .sdi-pp-pack-info {
  flex: 1 1 auto;
  min-width: 0;
}

body#product .product-pack .pack-product-name {
  flex: none;
}

body#product .product-pack .pack-product-name a {
  font-size: 12px;
  line-height: 12px;
  font-weight: 600;
  text-transform: capitalize;
  color: #502c1e;
}

body#product .product-pack .pack-product-price {
  display: block;
  margin-top: 4px;
}

body#product .sdi-pp-pack-price {
  font-size: 12px;
  line-height: 12px;
  font-weight: 600;
  color: #2ad2c9;
}

body#product #main .sdi-pp-paylater {
  display: inline-block;
  margin: 0 0 16px;
  padding: 8px 16px;
  border-radius: 20px;
  background: #fdf2c2;
  font-size: 12px;
  line-height: 1.4;
  color: #502c1e;
  width: 100%;
}

body#product #main .sdi-pp-paylater strong {
  font-weight: 700;
}

body#product #main .sdi-pp-paylater-link {
  color: inherit;
  text-decoration: underline;
}

/* =============================================================================
   FICHA DE PRODUCTO — ORDEN DE BLOQUES EN MÓVIL (< 768 px)

   ============================================================================= */

.quickview .product-add-to-cart .product_p_price_container,
.quickview .product-add-to-cart .sdiqd-note {
  display: none;
}

@media (max-width: 767px) {
  body#product .sdi-pp-pack-title {
    font-size: 16px;
  }

  /* ---------- 1. Aplanado ---------- */
  body#product .product-pack {
    padding: 0;
    padding-top: 16px;
    max-width: 257px;
  }

  body#product #main {
    display: flex;
    flex-direction: column;
  }

  body#product #main-product-wrapper,
  body#product .product-info-row,
  body#product .col-product-image,
  body#product .col-product-info,
  body#product #col-product-info,
  body#product .product-information,
  body#product .col-product-buybox,
  body#product .sdi-pp-buybox,
  body#product #add-to-cart-or-refresh,
  body#product .product-additional-info {
    display: contents;
  }

  /* ---------- 2. Orden por defecto ----------
     Todo hijo flex que no esté en la lista de abajo (salida de un hook que hoy
     viene vacío, un módulo que se cuelgue mañana…) cae al final del contenido,
     antes del modal de imágenes y del pie. Sin esto heredaría order:0 y se
     colaría por delante de la galería. */

  body#product #main>*,
  body#product #main-product-wrapper>*,
  body#product .product-info-row>*,
  body#product .col-product-image>*,
  body#product .col-product-info>*,
  body#product #col-product-info>*,
  body#product .product-information>*,
  body#product .col-product-buybox>*,
  body#product .sdi-pp-buybox>*,
  body#product #add-to-cart-or-refresh>*,
  body#product .product-additional-info>* {
    order: 21;
  }

  /* ---------- 3. Orden de la maqueta ----------
     Todas las reglas llevan #main delante para ganar por especificidad a los
     "order: 21" de arriba sin depender del orden del fichero. */

  body#product #main .sdi-pp-gallery {
    order: 1;
  }

  body#product #main .after-cover-tumbnails {
    order: 2;
  }

  body#product #main .after-cover-tumbnails2 {
    order: 3;
  }

  body#product #main .sdi-pp-header {
    order: 4;
  }

  body#product #main .js-product-discounts {
    order: 5;
  }

  body#product #main .iqitproductvariants {
    order: 6;
  }

  body#product #main .js-product-variants {
    order: 7;
  }

  body#product #main .product-additional-info>* {
    order: 8;
  }

  body#product #main .product-pack {
    order: 9;
  }

  body#product #main>.product-accessories {
    order: 10;
  }

  body#product #main .sdi-pp-features {
    order: 11;
  }

  body#product #main .col-product-info .product-description {
    order: 12;
  }

  body#product #main .product-customization {
    order: 13;
  }

  body#product #main .sdi-pp-terms {
    order: 14;
  }

  body#product #main .product-sidebar {
    order: 15;
  }

  body#product #main>.product-tabs {
    order: 16;
  }

  body#product #main>.iqit-accordion {
    order: 17;
  }

  body#product #main>.ts-wdg-loc-pd-wrapper {
    order: 18;
  }

  body#product #main>.crossselling-products {
    order: 19;
  }

  body#product #main>.category-products {
    order: 20;
  }

  body#product #main>.js-product-images-modal {
    order: 90;
  }

  body#product #main>.page-footer {
    order: 99;
  }

  /* ---------- 4. Lo que se pierde al aplanar ---------- */

  body#product #main .product-additional-info>.product-grouper-associations {
    border-bottom: 1px solid #b39b80;
    border-top: 1px solid #b39b80;
    padding-top: 16px;
    padding-bottom: 0;
  }

  body#product #main .sdi-pp-terms {
    margin-bottom: 40px;
  }

  body#product .sdi-pp-gallery .product-lmage-large {
    height: 290px;
  }

  body#product .sdi-pp-gallery .product-flags {
    top: auto;
    right: auto;
    bottom: 0;
    left: 0;
    flex-direction: row;
  }

  body#product .ts-wdg-loc-pd-wrapper {
    margin-top: 40px;
    padding-top: 40px;
  }

  body#product {
    --sdi-pp-buybar-h: 160px;
  }

  body#product #main .product-add-to-cart {
    position: fixed;
    left: 14px;
    right: 14px;
    bottom: 12px;
    width: auto;
    max-width: none;
    z-index: 98;
    margin: 0;
    padding: 14px !important;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
  }

  body#product #footer {
    padding-bottom: var(--sdi-pp-buybar-h);
  }

  body#product #back-to-top {
    display: none;
  }

  /* ----- Fila de precios ----- */

  body#product #main .product-add-to-cart .product-reference {
    display: none !important;
  }

  body#product #main .product-add-to-cart {
    text-align: center;
  }

  body#product #main .product-add-to-cart .product_p_price_container,
  body#product #main .product-add-to-cart .product-prices {
    margin: 0;
    padding: 0;
  }

  body#product #main .product-add-to-cart .product_p_price_container .product-pack-price {
    display: none;
  }

  body#product #main .product-add-to-cart .sdi-pp-prices>div,
  body#product #main .product-add-to-cart .sdi-pp-prices>div>div {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: center;
    column-gap: 10px;
    row-gap: 2px;
    min-width: 0;
  }

  body#product #main .product-add-to-cart .sdi-pp-price-main {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: baseline;
    column-gap: 4px;
    font-size: 24px;
    line-height: 20px;
    white-space: nowrap;
    margin-bottom: 6px;
    color: #502c1e;
  }

  body#product #main .product-add-to-cart .sdi-pp-price-tax-label {
    font-size: 11px;
    font-weight: 400;
  }

  body#product #main .product-add-to-cart .current-price,
  body#product #main .product-add-to-cart .sdi-pp-price-tax-label-incl,
  body#product #main .product-add-to-cart .sdi-pp-price-per-unit {
    font-size: 11px;
    line-height: 1.2;
    white-space: nowrap;
  }

  body#product #main .product-add-to-cart .sdi-pp-price-per-unit {
    margin-left: 0;
  }

  body#product #main .product-add-to-cart .tax-shipping-delivery-label {
    margin: 0;
  }

  body#product #main .product-add-to-cart .sdiqd-note {
    margin: 6px 0 0;
    text-align: center;
  }

  body#product #main .product-add-to-cart .product-quantity {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    max-width: none;
    margin: 10px 0 0;
  }

  body#product #main .product-add-to-cart .product-quantity>.col,
  body#product #main .product-add-to-cart .product-quantity>div {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
    padding: 0;
    margin: 0;
  }

  body#product #main .product-add-to-cart .product-quantity>.col-add-qty {
    order: 1;
    flex: 0 0 84px;
    width: 84px !important;
  }

  body#product #main .product-add-to-cart .product-quantity>.col-add-btn {
    order: 2;
    flex: 1 1 auto;
    width: auto !important;
    min-width: 0;
  }

  body#product #main .product-add-to-cart .product-quantity>.col-add-wishlist {
    order: 3;
    flex: 0 0 56px;
    width: 56px !important;
  }

  body#product #main .product-add-to-cart .bootstrap-touchspin,
  body#product #main .product-add-to-cart .col-add-wishlist .btn,
  body#product #main .product-add-to-cart .add-to-cart {
    height: 44px !important;
  }

  body#product #main .product-add-to-cart .bootstrap-touchspin-down {
    margin-left: 10px !important;
  }

  body#product #main .product-add-to-cart .bootstrap-touchspin-up {
    margin-right: 10px !important;
  }

  body#product #main .product-add-to-cart .product-minimal-quantity {
    margin: 0;
  }

  /* ---------- 6. Condiciones de compra ---------- */

  body#product #main .sdi-pp-terms {
    border-top: 1px solid #b39b80;
    padding-top: 20px;
  }

  body#product #main .sdi-pp-terms-title {
    display: block;
    margin: 0 0 12px;
    font-size: 15px;
    line-height: 1.3;
    font-weight: 600;
    color: #502c1e;
  }

  body#product #main .sdi-pp-claims {
    margin-top: 0;
  }
}

body#product .sdi-pp-terms-title {
  display: none;
}

/* FICHA DE PRODUCTO — ACORDEÓN DE PESTAÑAS EN MÓVIL*/
#product-infos-accordion-mobile .angle-down {
  --fa: "\+";
  --fa-style: 300;
}

#product-infos-accordion-mobile .angle-up {
  --fa: "\f068";
  --fa-style: 300;
}

#product-infos-accordion-mobile .angle-down,
#product-infos-accordion-mobile .angle-up {
  flex: 0 0 auto;
  font-size: 24px;
  line-height: 1;
  color: #502c1e;
}

#product-infos-accordion-mobile {
  margin-bottom: 40px;
}

#product-infos-accordion-mobile .card {
  border: 0;
  background: transparent;
}

#product-infos-accordion-mobile .nav-tabs {
  margin: 0;
  border: 0;
}

#product-infos-accordion-mobile .nav-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0;
  padding: 22px 0 16px;
  border: 0;
  border-bottom: 1px solid #b39b80;
  border-radius: 0;
  background: transparent;
  color: #502c1e;
  font-size: 26px;
  line-height: 1.15;
  font-weight: 600;
  text-decoration: none;
}

/* #product-infos-accordion-mobile .iqit-accordion .nav-link:not(.collapsed) {
  border-top: 1px solid #b39b80;
} */

#product-infos-accordion-mobile .nav-link:hover,
#product-infos-accordion-mobile .nav-link:focus {
  background: transparent;
  color: #502c1e;
  text-decoration: none;
}

#product-infos-accordion-mobile .tab-content {
  padding: 20px 0 24px;
  border-bottom: 1px solid #b39b80;
  font-size: 13px;
  line-height: 1.6;
  color: #502c1e;
}

#product-infos-accordion-mobile .tab-content .rte-content {
  padding: 0;
  font-size: 13px;
  line-height: 1.6;
}

#product-infos-accordion-mobile .tab-content>div>.tab-pane {
  display: block;
  opacity: 1;
}

/* =============================================================================
   MI CUENTA
   ============================================================================= */

#history .orders .order-actions-mobile {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

#history .orders .order-actions-mobile .btn {
  flex: 1 1 0;
  min-width: 0;
  white-space: nowrap;
}

/* =============================================================================
   LISTA DE DESEOS (body#module-iqitwishlist-view)
   ============================================================================= */

body#module-iqitwishlist-view {
  --sdi-wl-ink: #502c1e;
  --sdi-wl-ink-soft: rgba(80, 44, 30, 0.62);
  --sdi-wl-line: rgba(80, 44, 30, 0.14);
  --sdi-wl-accent: #2ad2c9;
  --sdi-wl-link: #00ab8e;
  --sdi-wl-radius: 12px;
}

body#module-iqitwishlist-view #iqitwishlist-user-products {
  padding: 4px 28px;
  border: 1px solid var(--sdi-wl-line);
  border-radius: var(--sdi-wl-radius);
  background: #fff;
}

body#module-iqitwishlist-view #iqitwishlist-user-products:not(:has(.iqitwishlist-product)) {
  display: none;
}

body#module-iqitwishlist-view .iqitwishlist-product {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr) auto 32px;
  grid-template-areas: "img info cart remove";
  align-items: center;
  gap: 0 20px;
  padding: 20px 0;
  border-bottom: 1px solid var(--sdi-wl-line);
}

body#module-iqitwishlist-view .iqitwishlist-product--readonly {
  grid-template-columns: 88px minmax(0, 1fr) auto;
  grid-template-areas: "img info cart";
}

body#module-iqitwishlist-view .iqitwishlist-product:last-child {
  border-bottom: 0;
}

body#module-iqitwishlist-view .iqitwishlist-product-image {
  grid-area: img;
  display: block;
}

body#module-iqitwishlist-view .iqitwishlist-product-image img {
  display: block;
  width: 88px;
  height: 88px;
  padding: 6px;
  object-fit: contain;
  border: 1px solid var(--sdi-wl-line);
  border-radius: 10px;
  background: #fff;
  transition: border-color 0.18s ease;
}

body#module-iqitwishlist-view .iqitwishlist-product-image:hover img,
body#module-iqitwishlist-view .iqitwishlist-product-image:focus-visible img {
  border-color: var(--sdi-wl-accent);
}

body#module-iqitwishlist-view .iqitwishlist-product-info {
  grid-area: info;
  min-width: 0;
}

body#module-iqitwishlist-view .iqitwishlist-product-name {
  display: block;
  font-size: 15px;
  line-height: 20px;
  font-weight: 600;
  color: var(--sdi-wl-ink);
  overflow-wrap: anywhere;
}

body#module-iqitwishlist-view .iqitwishlist-product-name:hover,
body#module-iqitwishlist-view .iqitwishlist-product-name:focus {
  color: var(--sdi-wl-link);
}

body#module-iqitwishlist-view .iqitwishlist-product-attributes {
  display: flex;
  flex-wrap: wrap;
  gap: 2px 12px;
  margin-top: 4px;
  font-size: 12px;
  line-height: 16px;
  color: var(--sdi-wl-ink-soft);
}

body#module-iqitwishlist-view .iqitwishlist-product-price.sdi-cat-price {
  justify-content: flex-start;
  column-gap: 8px;
  margin-top: 8px;
}

body#module-iqitwishlist-view .iqitwishlist-product-price .regular-price {
  font-size: 12px;
  line-height: 20px;
  color: rgba(80, 44, 30, 0.45);
  text-decoration: line-through;
}

body#module-iqitwishlist-view .iqitwishlist-product-cart {
  grid-area: cart;
  min-width: 0;
}

body#module-iqitwishlist-view .iqitwishlist-product-cart .input-group-add-cart {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 12px;
}

body#module-iqitwishlist-view .iqitwishlist-product-cart .input-qty {
  flex: 0 0 100px;
  width: 100px;
  max-width: none;
  height: 40px;
  padding: 0 10px;
  border: 1px solid var(--sdi-wl-accent);
  border-radius: 40px;
  background: #fff;
  box-shadow: none;
  text-align: center;
  font-size: 14px;
  font-weight: 600;
  color: var(--sdi-wl-link);
}

body#module-iqitwishlist-view .iqitwishlist-product-cart .input-group.bootstrap-touchspin,
body#module-iqitwishlist-view .iqitwishlist-product-cart .bootstrap-touchspin {
  flex: 0 0 112px !important;
  width: 112px !important;
}

body#module-iqitwishlist-view .iqitwishlist-product-cart .btn-product-list {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  padding: 0 24px;
  border-radius: 40px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  color: #1e1e1e;
}

body#module-iqitwishlist-view .iqitwishlist-product-cart .btn-product-list:hover,
body#module-iqitwishlist-view .iqitwishlist-product-cart .btn-product-list:focus {
  color: #fff;
}

body#module-iqitwishlist-view .iqitwishlist-product-remove {
  grid-area: remove;
  justify-self: end;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  color: var(--sdi-wl-ink);
  font-size: 15px;
  line-height: 1;
  transition: background-color 0.18s ease;
}

body#module-iqitwishlist-view .iqitwishlist-product-remove:hover,
body#module-iqitwishlist-view .iqitwishlist-product-remove:focus {
  background: rgba(80, 44, 30, 0.08);
  color: var(--sdi-wl-ink);
}

body#module-iqitwishlist-view .iqitwishlist-product-remove[data-busy] {
  opacity: 0.4;
  pointer-events: none;
}

body#module-iqitwishlist-view .iqitwishlist-share {
  margin-bottom: 24px;
  padding: 20px 28px 24px;
  border: 1px solid var(--sdi-wl-line);
  border-radius: var(--sdi-wl-radius);
  background: #fff;
}

body#module-iqitwishlist-view .iqitwishlist-share h3 {
  margin: 0 0 12px;
  font-size: 18px;
  line-height: 24px;
  font-weight: 700;
  color: var(--sdi-wl-ink);
}

body#module-iqitwishlist-view .iqitwishlist-share .input-group {
  flex-wrap: nowrap;
  gap: 12px;
}

body#module-iqitwishlist-view .iqitwishlist-share .form-control {
  flex: 1 1 auto;
  min-width: 0;
  height: 44px;
  padding: 0 18px;
  border: 1px solid var(--sdi-wl-line);
  border-radius: 40px;
  background: rgba(80, 44, 30, 0.04);
  font-size: 14px;
  color: var(--sdi-wl-ink-soft);
  text-overflow: ellipsis;
}

body#module-iqitwishlist-view .iqitwishlist-share .form-control:focus {
  border-color: var(--sdi-wl-accent);
  box-shadow: none;
}

body#module-iqitwishlist-view .iqitwishlist-share .input-group-append {
  display: flex;
  margin: 0;
}

body#module-iqitwishlist-view #iqitwishlist-clipboard-btn {
  height: 44px;
  padding: 0 24px;
  border: 0;
  border-radius: 40px;
  background: var(--sdi-wl-accent);
  font-size: 14px;
  font-weight: 600;
  color: #1e1e1e;
  white-space: nowrap;
  transition: background-color 0.18s ease, color 0.18s ease;
}

body#module-iqitwishlist-view #iqitwishlist-clipboard-btn:hover,
body#module-iqitwishlist-view #iqitwishlist-clipboard-btn:focus {
  background: var(--sdi-wl-ink);
  color: #fff;
}

body#module-iqitwishlist-view #iqitwishlist-warning,
body#module-iqitwishlist-view .page-content p.alert-warning {
  margin: 0;
  padding: 32px 24px;
  border: 1px solid var(--sdi-wl-line);
  border-radius: var(--sdi-wl-radius);
  background: #fff;
  font-size: 15px;
  line-height: 22px;
  font-weight: 600;
  color: var(--sdi-wl-ink);
  text-align: center;
}

body#module-iqitwishlist-view #iqitwishlist-crosseling>h3 {
  margin: 0 0 16px;
  font-size: 22px;
  line-height: 28px;
  font-weight: 700;
  color: var(--sdi-wl-ink);
}

@media (max-width: 1199px) {
  body#module-iqitwishlist-view .iqitwishlist-product {
    grid-template-columns: 88px minmax(0, 1fr) 32px;
    grid-template-areas:
      "img info remove"
      "img cart cart";
    align-items: start;
    gap: 12px 20px;
  }

  body#module-iqitwishlist-view .iqitwishlist-product--readonly {
    grid-template-columns: 88px minmax(0, 1fr);
    grid-template-areas:
      "img info"
      "img cart";
  }

  body#module-iqitwishlist-view .iqitwishlist-product-remove {
    margin-top: -6px;
  }
}

@media (max-width: 575px) {
  body#module-iqitwishlist-view #iqitwishlist-user-products {
    padding: 0 16px;
  }

  body#module-iqitwishlist-view .iqitwishlist-product {
    grid-template-columns: 72px minmax(0, 1fr) 32px;
    grid-template-areas:
      "img info remove"
      "cart cart cart";
    gap: 12px 14px;
    padding: 18px 0;
  }

  body#module-iqitwishlist-view .iqitwishlist-product--readonly {
    grid-template-columns: 72px minmax(0, 1fr);
    grid-template-areas:
      "img info"
      "cart cart";
  }

  body#module-iqitwishlist-view .iqitwishlist-product-image img {
    width: 72px;
    height: 72px;
  }

  body#module-iqitwishlist-view .iqitwishlist-product-name {
    font-size: 14px;
    line-height: 19px;
  }

  body#module-iqitwishlist-view .iqitwishlist-product-cart .btn-product-list {
    flex: 1 1 auto;
    min-width: 0;
    padding: 0 16px;
  }

  body#module-iqitwishlist-view .iqitwishlist-product-cart>.product-add-cart>.btn-product-list {
    width: 100%;
  }

  body#module-iqitwishlist-view .iqitwishlist-share {
    padding: 18px 16px 20px;
  }

  body#module-iqitwishlist-view .iqitwishlist-share .input-group {
    flex-direction: column;
    align-items: stretch;
  }

  body#module-iqitwishlist-view .iqitwishlist-share .form-control {
    width: 100%;
  }

  body#module-iqitwishlist-view #iqitwishlist-clipboard-btn {
    width: 100%;
  }
}

/* =============================================================================
   CONTACT
   ============================================================================= */

#contact .sdi-contact {
  display: flex;
  align-items: flex-start;
  gap: 0;
  padding: 67px 0 74px;
}

#contact .sdi-contact-aside {
  flex: 0 0 34%;
  max-width: 34%;
  padding-right: 40px;
}

#contact .sdi-contact-main {
  flex: 1 1 auto;
  min-width: 0;
  padding-left: 90px;
  border-left: 2px solid #b39b80;
  align-self: stretch;
}

#contact .sdi-contact-title {
  margin: 0 0 69px;
  max-width: 6em;
  font-size: 60px;
  line-height: 55px;
  font-weight: 600;
  color: #502c1e;
}

#contact .sdi-contact-group {
  display: flex;
  align-items: flex-start;
  gap: 89px;
  margin-bottom: 64px;
}

#contact .sdi-contact-group:last-child {
  margin-bottom: 0;
}

#contact .sdi-contact-group-label {
  flex: 0 0 88px;
  font-size: 14px;
  line-height: 14px;
  color: #b39b80;
  font-weight: 700;
}

#contact .sdi-contact-group-body {
  flex: 1 1 auto;
  min-width: 0;
}

#contact .sdi-contact-line {
  display: block;
  font-size: 14px;
  line-height: 14px;
  color: #502c1e;
  font-weight: 700;
}

#contact .sdi-contact-line+.sdi-contact-line {
  margin-top: 15px;
}

#contact a.sdi-contact-link {
  text-decoration: underline;
  color: #502c1e;
}

#contact a.sdi-contact-link--accent {
  color: #2ad2c9;
}

#contact .sdi-field {
  margin-bottom: 34px;
}

#contact .sdi-field-label {
  display: block;
  margin: 0 0;
  font-size: 14px;
  line-height: 14px;
  font-weight: 500;
  color: #b39b80;
}

#contact .sdi-field-control {
  display: block;
  width: 100%;
  border: 0;
  border-bottom: 1.6px solid #502c1e;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  font-size: 20px;
  line-height: 50px;
  font-weight: 600;
  color: #502c1e;
}

#contact .sdi-field-control:focus {
  outline: 0;
  box-shadow: none;
  border-bottom-color: #2ad2c9;
}

#contact .sdi-field-control::placeholder {
  color: #502c1e;
  opacity: 1;
}

#contact .sdi-field-control--select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

#contact .sdi-field-control--textarea {
  min-height: 62px;
  resize: vertical;
}

#contact .sdi-contact-consent {
  margin: 0 0 30px;
  font-size: 12px;
  line-height: 1.5;
  color: #502c1e;
}

#contact .sdi-consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  font-weight: 600;
  cursor: pointer;
  font-size: 14px;
  line-height: 14px;
}

#contact .sdi-consent input {
  flex: 0 0 auto;
  margin-top: 2px;
}

#contact .sdi-contact-consent a {
  text-decoration: underline;
  color: #502c1e;
}

#contact .sdi-contact-submit {
  padding: 12px 54px;
  border: 0;
  border-radius: 40px;
  background: #2ad2c9;
  color: #1e1e1e;
  font-size: 20px;
  font-weight: 600;
  cursor: pointer;
}

#contact .sdi-contact-submit:hover,
#contact .sdi-contact-submit:focus {
  background: #1e1e1e;
  color: #fff;
}

#contact #footer div.em_footer-advices,
#contact #footer div.footer_links-above {
  display: none;
}

#contact #footer div.footer_links-bottom,
#contact #footer {
  background-color: #ffff;
}

body#contact #content.page-content {
  margin: 0;
}

@media (max-width: 991px) {
  #contact .sdi-contact {
    flex-direction: column;
  }

  #contact .sdi-contact-aside,
  #contact .sdi-contact-main {
    flex: 1 1 auto;
    max-width: none;
    width: 100%;
    padding: 0;
  }

  #contact .sdi-contact-main {
    margin-top: 40px;
    padding-top: 40px;
    border-left: 0;
    border-top: 1px solid #d8cdc7;
  }

  #contact .sdi-contact-title {
    font-size: 34px;
    margin-bottom: 40px;
  }
}

/* =============================================================================
   TRUSTED SHOPS
   ============================================================================= */

.sdi-reviews-head {
  display: flex;
  flex-direction: column;
  margin-bottom: 80px;
}

.sdi-reviews-title {
  margin: 0 0 32px;
  font-size: 32px;
  line-height: 32px;
  font-weight: 600;
  color: #502c1e;
}

.sdi-reviews-intro {
  margin: 0;
  max-width: 722px;
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  color: #502c1e;
}

etrusted-widget {
  display: block;
  max-width: 100%;
  font-family: inherit;
}

/* =============================================================================
   NEWSLETTER
   ============================================================================= */

.elementor-newsletter .elementor-newsletter-form .col-12 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.elementor-newsletter .input-wrapper {
  width: 100%;
}

.elementor-newsletter .elementor-newsletter-input {
  width: 100%;
  height: auto;
  padding: 0 0 10px;
  border: 0;
  border-bottom: 2px solid #502c1e;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  font-size: 24px;
  font-weight: 700;
  color: #502c1e;
}

.elementor-newsletter .elementor-newsletter-input::placeholder {
  color: #502c1e;
  opacity: 1;
}

.elementor-newsletter .mt-2 {
  margin: 14px 0 0;
  font-size: 13px;
}

.elementor-newsletter .sdi-newsletter-consent {
  margin: 14px 0 0;
  font-size: 12px;
  line-height: 1.5;
  color: #502c1e;
}

.elementor-newsletter .sdi-consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  font-weight: 600;
  cursor: pointer;
  font-size: 14px;
  line-height: 14px;
}

.elementor-newsletter .sdi-consent input {
  flex: 0 0 auto;
  margin-top: 2px;
}

.elementor-newsletter .sdi-newsletter-consent a {
  text-decoration: underline;
  color: #502c1e;
}

.elementor-newsletter .elementor-newsletter-btn {
  float: none;
  width: auto;
  height: auto;
  margin-top: 22px;
  padding: 12px 54px;
  border: 0;
  border-radius: 40px;
  background: #502c1e;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
}

/* =============================================================================
   FOOTER
   ============================================================================= */

#footer .em_footer-links .elementor-widget-prestashop-widget-Links .block.block-links {
  display: flex;
}


#footer .em_footer-links-flex .elementor-text-editor.rte-content {
  display: flex;
}

#footer .em_footer-links-flex .em_footer-links-right {
  width: 140px;
}

#footer .em_footer-links-flex .em_footer-links-left {
  justify-content: flex-end;
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  color: #502c1e !important;
}

#footer .em_footer-links-flex .em_footer-links-left.blue,

#footer .em_footer-links-flex .em_footer-links-left.blue * {
  color: #2AD2C9 !important;
}

#footer .em_footer-links-flex .em_footer-links-left>* {
  margin-bottom: 15px;
}

#footer .em_footer-links-flex .em_footer-links-left a {
  color: #2AD2C9 !important;
  text-transform: capitalize;
}

#footer .footer_links-bottom *::before,
#footer .footer_links-above *::before {
  content: none !important;
}

#footer a {
  padding-left: 0;
}

#footer .em_footer-links .elementor-widget-prestashop-widget-Links .block.block-links .elementor-block-title {
  width: 140px;
}

#footer-copyrights .col.copyright-txt {
  display: flex;
}

#footer-copyrights .copyrights_right-side {
  display: flex;
  margin-left: 156px;
  align-items: center;
}

#footer-copyrights .copyrights_right-side p {
  display: flex;
  margin-right: 53px;
}

#footer-copyrights p,
#footer-copyrights span {
  margin-bottom: 0;
  color: #502c1e;
  font-size: 14px;
  line-height: 14px;
  font-weight: 600;
}

@media (min-width: 993px) {
  #footer .footer_newsletter {
    max-width: 630px;
  }

  #footer .em_footer-links {
    margin-left: 100px;
  }
}


@media (max-width: 992px) {
  #footer-copyrights .col.copyright-txt {
    flex-direction: column;
    align-items: center;
  }

  #footer-copyrights .copyrights_right-side {
    margin-left: 0;
    margin-top: 16px;
    max-width: 287px;
    justify-content: center;
  }

  #footer-copyrights .copyrights_right-side p {
    margin-right: 32px;
  }

  #footer-copyrights {
    padding: 18px 0;
  }

  #footer div.footer_links-above .elementor-widget-heading>.elementor-widget-container {
    border-bottom: none !important;
    padding: 0 !important;
  }
}

/* CATEGORY ADITTIONAL DESCRIPTION */

.category-additional-description {
  max-width: 1116px;
  margin: 0 auto !important;
  padding: 137px 0 80px 0 !important;

  --sdi-cat-desc-max: 176px;
}

.category-additional-description-text {
  position: relative;
}

.category-additional-description:not(.is-expanded) .category-additional-description-text {
  max-height: var(--sdi-cat-desc-max);
  overflow: hidden;
}

.category-additional-description.is-clamped:not(.is-expanded) .category-additional-description-text::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 64px;
  background: linear-gradient(180deg, rgba(247, 247, 247, 0) 0, #f7f7f7 100%);
  pointer-events: none;
}

.category-additional-more {
  margin-top: 8px;
}


.category-additional-description.rte-content:not(.elementor-text-editor):not(.d-inline-block) h1,
.category-additional-description.rte-content:not(.elementor-text-editor):not(.d-inline-block) h2,
.category-additional-description.rte-content:not(.elementor-text-editor):not(.d-inline-block) h2 * {
  font-size: 24px !important;
  line-height: 26px !important;
  letter-spacing: -0.03em !important;
  color: #502c1e !important;
}


.category-additional-description.rte-content:not(.elementor-text-editor):not(.d-inline-block) h3,
.category-additional-description.rte-content:not(.elementor-text-editor):not(.d-inline-block) h4,
.category-additional-description.rte-content:not(.elementor-text-editor):not(.d-inline-block) h5,
.category-additional-description.rte-content:not(.elementor-text-editor):not(.d-inline-block) h6 {
  font-size: 16px !important;
  line-height: 16px !important;
  letter-spacing: -0.03em !important;
  color: #502c1e !important;
}


.category-additional-description.rte-content:not(.elementor-text-editor):not(.d-inline-block) p,
.category-additional-description.rte-content:not(.elementor-text-editor):not(.d-inline-block) h1,
.category-additional-description.rte-content:not(.elementor-text-editor):not(.d-inline-block) h2,
.category-additional-description.rte-content:not(.elementor-text-editor):not(.d-inline-block) h3,
.category-additional-description.rte-content:not(.elementor-text-editor):not(.d-inline-block) h4,
.category-additional-description.rte-content:not(.elementor-text-editor):not(.d-inline-block) h5,
.category-additional-description.rte-content:not(.elementor-text-editor):not(.d-inline-block) h6,
.category-additional-description.rte-content:not(.elementor-text-editor):not(.d-inline-block) ul,
.category-additional-description.rte-content:not(.elementor-text-editor):not(.d-inline-block) ol,
.category-additional-description.rte-content:not(.elementor-text-editor):not(.d-inline-block) span {
  margin: 0 0 16px;
  color: #502c1e !important;
}

@media (max-width: 992px) {
  .category-additional-description {
    margin: 0 auto !important;
    padding: 40px 16px 40px 16px !important;

    --sdi-cat-desc-max: 176px;
  }
}

/* MY ACCOUNT */
.my-account-side-links a span.link-item {
  color: #502C1E;
}

#order-slips-link {
  display: none;
}

/* CMS */
body#cms #wrapper {
  max-width: 900px;
  padding: 80px 12px !important;
  margin: 0 auto;
}

body#cms {
  background-color: #f7f7f7;
}

/* CART */
.cart-subtotals .cart-summary-line {
  font-size: 14px !important;
  color: #502C1E !important;
  font-weight: 600 !important;
}

.cart-totals .label {
  font-size: 16px;
  color: #502C1E;
  font-weight: 500;
}

#js-cart-close {
  padding: 0;
  border: 0;
  background: none;
  color: #502c1e !important;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
  opacity: 1;
}

.cart-totals .value {
  font-size: 18px;
  color: #502C1E;
  font-weight: 600;
}

/* Checkout  */
#checkout #checkout-delivery-step img {
  max-width: 128px;
}

#checkout #checkout-delivery-step .sdi-carrier-price-excl,
#checkout #checkout-delivery-step .sdi-carrier-price-incl {
  display: block;
}


#cart .product-price {
  color: #502C1E;
  font-weight: 600;
}

#cart .unit-price .value {
  color: #502C1E;
  font-weight: 500;
}

#cart .fa.fa-trash-o {
  color: #502C1E;
  font-weight: 600;
}

#cart .em-fixed_contact_button,
#checkout .em-fixed_contact_button {
  display: none;
}

#cart .card.cart-summary .cart-summary-line .label,
#cart .card.cart-summary .cart-summary-line .value,
#checkout #js-checkout-summary .label,
#checkout #js-checkout-summary .value,
#checkout .carrier-price *,
#checkout .js-cart-summary-products {
  color: #502C1E;
  font-weight: 600;
}

/* =============================================================================
   BLOG (ph_simpleblog)
   ============================================================================= */

body[id*="module-ph_simpleblog"] {
  --sdi-blog-ink: #502c1e;
  --sdi-blog-ink-soft: rgba(80, 44, 30, 0.72);
  --sdi-blog-line: rgba(80, 44, 30, 0.14);
  --sdi-blog-line-strong: rgba(80, 44, 30, 0.3);
  --sdi-blog-accent: #2ad2c9;
  --sdi-blog-link: #00ab8e;
  --sdi-blog-sand: #e8dacb;
  --sdi-blog-radius: 12px;
  --sdi-blog-measure: 860px;
}

body[id*="module-ph_simpleblog"] #main .page-header {
  margin: 0 0 40px;
}

body[id*="module-ph_simpleblog"] #main .page-title {
  margin: 0;
  color: var(--sdi-blog-ink);
  font-size: 40px;
  line-height: 44px;
  font-weight: 700;
  letter-spacing: -0.03em;
}

body[id*="module-ph_simpleblog"] #main .page-title span {
  display: block;
}

body[id*="module-ph_simpleblog"] .page-content {
  margin-bottom: 0;
}

/* -----------------------------------------------------------------------------
   Listado (blog, categoría y autor)
   -------------------------------------------------------------------------- */
.simpleblog__listing {
  margin-top: 0;
  padding-bottom: 0;
}

.simpleblog__listing>.row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 40px 32px;
  margin: 0;
}

.simpleblog__listing .simpleblog__listing__post {
  width: auto;
  max-width: none;
  flex: none;
  margin: 0;
  padding: 0;
}

.simpleblog__listing__post__wrapper {
  display: flex;
  flex-direction: column;
  height: 100%;
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--sdi-blog-line);
  border-radius: var(--sdi-blog-radius);
  background: #fff;
  transition: var(--sdi-hover-transition);
}

.simpleblog__listing__post__wrapper:hover {
  transform: translateY(var(--sdi-hover-lift));
  border-color: var(--sdi-hover-border);
  box-shadow: var(--sdi-hover-shadow);
}

.simpleblog__listing__post__wrapper>a:first-child {
  display: block;
  overflow: hidden;
  aspect-ratio: 2 / 1;
  background: var(--sdi-blog-sand);
}

.simpleblog__listing__post__wrapper>a:first-child img {
  width: 100%;
  height: 100%;
  margin: 0 !important;
  object-fit: cover;
  transition: transform 0.45s ease;
}

.simpleblog__listing__post__wrapper:hover>a:first-child img {
  transform: scale(1.05);
}

.simpleblog__listing__post__wrapper__content.card-block {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: flex-start;
  padding: 24px 24px 0;
}

.simpleblog__listing__post__wrapper__content__headline {
  margin: 0 0 10px;
  padding: 0;
  border: 0;
  font-size: 19px;
  line-height: 24px;
  font-weight: 600;
  letter-spacing: -0.02em;
}

.simpleblog__listing__post__wrapper__content__headline a {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
  color: var(--sdi-blog-ink);
  transition: color 0.2s ease;
}

.simpleblog__listing__post__wrapper__content__headline a:hover,
.simpleblog__listing__post__wrapper__content__headline a:focus {
  color: var(--sdi-blog-link);
}

.simpleblog__listing__post__wrapper__content>p {
  display: -webkit-box !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
  margin: 0 0 18px;
  color: var(--sdi-blog-ink-soft);
  font-size: 14px;
  line-height: 22px;
}

.simpleblog__listing__post__wrapper__content__readmore {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  padding-bottom: 22px;
  color: var(--sdi-blog-link) !important;
  font-size: 14px;
  line-height: 18px;
  font-weight: 600;
  opacity: 1;
}

.simpleblog__listing__post__wrapper__content__readmore span {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.simpleblog__listing__post__wrapper__content__readmore i {
  font-size: 11px;
  transition: transform 0.2s ease;
}

.simpleblog__listing__post__wrapper__content__readmore:hover {
  color: var(--sdi-blog-ink) !important;
}

.simpleblog__listing__post__wrapper__content__readmore:hover i {
  transform: translateX(3px);
}

.simpleblog__listing__post__wrapper__footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
  margin: 0 !important;
  padding: 14px 24px !important;
  border-top: 1px solid var(--sdi-blog-line);
  color: var(--sdi-blog-ink-soft) !important;
  font-size: 13px;
  line-height: 18px;
  opacity: 1;
}

.simpleblog__listing__post__wrapper__footer__block {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  margin: 0 !important;
}

.simpleblog__listing__post__wrapper__footer__block i {
  color: var(--sdi-blog-accent);
  font-size: 13px;
}

.simpleblog__listing__post__wrapper__footer__block:has(a[rel="category"]) i {
  display: none;
}

.simpleblog__listing__post__wrapper__footer__block a[rel="category"] {
  padding: 4px 12px;
  border-radius: 40px;
  background: var(--sdi-blog-sand);
  color: var(--sdi-blog-ink) !important;
  font-size: 12px;
  line-height: 16px;
  font-weight: 600;
  opacity: 1;
  transition: background-color 0.2s ease;
}

.simpleblog__listing__post__wrapper__footer__block a[rel="category"]:hover {
  background: var(--sdi-blog-accent);
}

/* ---------- Paginación del listado ---------- */
nav.simpleblog__listing__pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 56px;
  padding-top: 28px;
  border-top: 1px solid var(--sdi-blog-line);
}

.simpleblog__listing__pagination>div {
  flex: 0 1 auto;
  width: auto;
  max-width: none;
  margin: 0;
  padding: 0;
  color: var(--sdi-blog-ink-soft);
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
}

.simpleblog__listing__pagination .page-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.simpleblog__listing__pagination .page-list li {
  display: inline-flex;
  margin: 0;
  border: 0 !important;
}

.simpleblog__listing__pagination .page-list li a,
.simpleblog__listing__pagination .page-list li .spacer {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 40px;
  height: 40px;
  padding: 0 14px;
  border: 1px solid var(--sdi-blog-line);
  border-radius: 40px;
  background: #fff;
  color: var(--sdi-blog-ink) !important;
  font-size: 15px;
  line-height: 18px;
  font-weight: 600;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.simpleblog__listing__pagination .page-list li .spacer {
  border-color: transparent;
  background: none;
}

.simpleblog__listing__pagination .page-list li a:hover,
.simpleblog__listing__pagination .page-list li a:focus {
  border-color: var(--sdi-blog-ink);
}

.simpleblog__listing__pagination .page-list li.current a {
  border-color: var(--sdi-blog-ink);
  background: var(--sdi-blog-ink);
  color: #fff !important;
  pointer-events: none;
}

.simpleblog__listing__pagination .page-list li a.next,
.simpleblog__listing__pagination .page-list li a.previous {
  padding: 0 20px;
}

/* -----------------------------------------------------------------------------
   Ficha de post
   -------------------------------------------------------------------------- */
body#module-ph_simpleblog-single #wrapper>.container>.breadcrumb,
body#module-ph_simpleblog-single #content-wrapper {
  max-width: var(--sdi-blog-measure);
  margin-right: auto;
  margin-left: auto;
}

body#module-ph_simpleblog-single #main .page-header {
  margin: 0 0 14px;
}

body#module-ph_simpleblog-single #main .page-title {
  font-size: 42px;
  line-height: 48px;
}

body#module-ph_simpleblog-single .simpleblog__postInfo {
  color: var(--sdi-blog-ink-soft) !important;
  font-size: 14px;
  line-height: 20px;
  opacity: 1;
}

body#module-ph_simpleblog-single .simpleblog__postInfo ul {
  align-items: center;
  margin: 0 0 28px;
  padding: 0;
}

body#module-ph_simpleblog-single .simpleblog__postInfo ul li {
  display: inline-flex;
  align-items: center;
  font-weight: 600;
}

body#module-ph_simpleblog-single .simpleblog__postInfo ul li i {
  margin-right: 8px;
  color: var(--sdi-blog-accent);
}

body#module-ph_simpleblog-single .simpleblog__postInfo ul li:after {
  width: 1px;
  height: 12px;
  margin: 0 14px;
  background: var(--sdi-blog-line-strong);
}

body#module-ph_simpleblog-single .simpleblog__postInfo ul li a {
  color: var(--sdi-blog-ink);
}

body#module-ph_simpleblog-single .simpleblog__postInfo ul li a:hover {
  color: var(--sdi-blog-link);
}

body#module-ph_simpleblog-single .simpleblog__post {
  margin-bottom: 40px;
  padding: 40px 48px;
  border: 1px solid var(--sdi-blog-line);
  border-radius: var(--sdi-blog-radius);
  background: #fff;
}

/* ---------- Tipografía del artículo ---------- */
body#module-ph_simpleblog-single .simpleblog__post__content .rte-content {
  color: var(--sdi-blog-ink);
  font-size: 17px;
  line-height: 28px;
  letter-spacing: 0;
}

body#module-ph_simpleblog-single .simpleblog__post__content .rte-content * {
  color: inherit;
  font-size: inherit;
  line-height: inherit;
  letter-spacing: inherit;
}

body#module-ph_simpleblog-single .simpleblog__post__content .rte-content> :first-child {
  margin-top: 0;
}

body#module-ph_simpleblog-single .simpleblog__post__content .rte-content> :last-child {
  margin-bottom: 0;
}

body#module-ph_simpleblog-single .simpleblog__post__content .rte-content p {
  margin: 0 0 22px;
}

body#module-ph_simpleblog-single .simpleblog__post__content .rte-content h2,
body#module-ph_simpleblog-single .simpleblog__post__content .rte-content h3,
body#module-ph_simpleblog-single .simpleblog__post__content .rte-content h4,
body#module-ph_simpleblog-single .simpleblog__post__content .rte-content h5,
body#module-ph_simpleblog-single .simpleblog__post__content .rte-content h6 {
  color: var(--sdi-blog-ink);
  font-weight: 700;
  letter-spacing: -0.03em;
}

body#module-ph_simpleblog-single .simpleblog__post__content .rte-content h2 {
  margin: 48px 0 16px;
  font-size: 30px;
  line-height: 36px;
}

body#module-ph_simpleblog-single .simpleblog__post__content .rte-content h3 {
  margin: 44px 0 14px;
  font-size: 24px;
  line-height: 30px;
}

body#module-ph_simpleblog-single .simpleblog__post__content .rte-content h4 {
  margin: 34px 0 12px;
  font-size: 19px;
  line-height: 26px;
}

body#module-ph_simpleblog-single .simpleblog__post__content .rte-content h5,
body#module-ph_simpleblog-single .simpleblog__post__content .rte-content h6 {
  margin: 28px 0 10px;
  font-size: 17px;
  line-height: 24px;
}

body#module-ph_simpleblog-single .simpleblog__post__content .rte-content strong,
body#module-ph_simpleblog-single .simpleblog__post__content .rte-content b {
  font-weight: 700;
}

body#module-ph_simpleblog-single .simpleblog__post__content .rte-content a {
  color: var(--sdi-blog-link);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color 0.2s ease;
}

body#module-ph_simpleblog-single .simpleblog__post__content .rte-content a:hover,
body#module-ph_simpleblog-single .simpleblog__post__content .rte-content a:focus {
  color: var(--sdi-blog-ink);
}

body#module-ph_simpleblog-single .simpleblog__post__content .rte-content ul,
body#module-ph_simpleblog-single .simpleblog__post__content .rte-content ol {
  margin: 0 0 22px;
  padding-left: 22px;
}

body#module-ph_simpleblog-single .simpleblog__post__content .rte-content li {
  margin: 0 0 10px;
  padding-left: 4px;
}

body#module-ph_simpleblog-single .simpleblog__post__content .rte-content li::marker {
  color: var(--sdi-blog-accent);
}

body#module-ph_simpleblog-single .simpleblog__post__content .rte-content li>p:last-child {
  margin-bottom: 0;
}

body#module-ph_simpleblog-single .simpleblog__post__content .rte-content img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 8px 0 32px;
  border-radius: var(--sdi-blog-radius);
}

body#module-ph_simpleblog-single .simpleblog__post__content .rte-content>img:first-child {
  width: 100%;
  margin: 0 0 36px;
}

body#module-ph_simpleblog-single .simpleblog__post__content .rte-content blockquote {
  margin: 0 0 28px;
  padding: 4px 0 4px 22px;
  border-left: 3px solid var(--sdi-blog-accent);
  font-size: 19px;
  line-height: 30px;
  font-style: italic;
}

body#module-ph_simpleblog-single .simpleblog__post__content .rte-content hr {
  margin: 36px 0;
  border: 0;
  border-top: 1px solid var(--sdi-blog-line);
  opacity: 1;
}

body#module-ph_simpleblog-single .simpleblog__post__content .rte-content table {
  width: 100%;
  margin: 0 0 32px;
  border-collapse: collapse;
  font-size: 15px;
  line-height: 22px;
}

body#module-ph_simpleblog-single .simpleblog__post__content .rte-content th,
body#module-ph_simpleblog-single .simpleblog__post__content .rte-content td {
  padding: 12px 16px;
  border: 1px solid var(--sdi-blog-line);
  text-align: left;
  vertical-align: top;
}

body#module-ph_simpleblog-single .simpleblog__post__content .rte-content thead th {
  border-color: var(--sdi-blog-ink);
  background: var(--sdi-blog-ink);
  color: #fff;
  font-weight: 600;
}

body#module-ph_simpleblog-single .simpleblog__post__content .rte-content tbody tr:nth-child(even) {
  background: rgba(232, 218, 203, 0.35);
}

/* ---------- Tarjeta de autor ---------- */
body#module-ph_simpleblog-single .author-card {
  margin-bottom: 0;
  padding: 26px 28px;
  border: 1px solid var(--sdi-blog-line);
  border-radius: var(--sdi-blog-radius);
  background: #fff;
}

body#module-ph_simpleblog-single .author-card__row {
  margin: 0;
  gap: 20px;
}

body#module-ph_simpleblog-single .author-card__block {
  padding: 0;
}

body#module-ph_simpleblog-single .author-card__block--desc {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 20px;
}

body#module-ph_simpleblog-single .author-card h5 {
  flex: 1 1 auto;
  margin: 0;
  color: var(--sdi-blog-ink);
  font-size: 20px;
  line-height: 26px;
  font-weight: 700;
}

body#module-ph_simpleblog-single .author-card .authorMiniature__btn {
  order: 1;
  float: none !important;
  margin: 0 !important;
  font-size: 14px;
  line-height: 18px;
}

body#module-ph_simpleblog-single .author-card .authorMiniature__links {
  flex: 1 0 100%;
  order: 2;
  margin: 0;
}

body#module-ph_simpleblog-single .author-card .authorMiniature__links:not(:has(*)) {
  display: none;
}

/* -----------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media (min-width: 1500px) {
  .simpleblog__listing>.row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 1199px) {
  .simpleblog__listing>.row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px 24px;
  }
}

@media (max-width: 991px) {
  body[id*="module-ph_simpleblog"] #inner-wrapper {
    padding-top: 16px;
    padding-bottom: 48px;
  }

  body[id*="module-ph_simpleblog"] #main .page-header {
    margin: 0 0 28px;
  }

  body[id*="module-ph_simpleblog"] #main .page-title {
    font-size: 28px;
    line-height: 32px;
  }

  body#module-ph_simpleblog-single #main .page-title {
    font-size: 30px;
    line-height: 36px;
  }

  body#module-ph_simpleblog-single .simpleblog__post {
    margin-bottom: 28px;
    padding: 28px 22px;
  }

  body#module-ph_simpleblog-single .simpleblog__post__content .rte-content {
    font-size: 16px;
    line-height: 26px;
  }

  body#module-ph_simpleblog-single .simpleblog__post__content .rte-content h2 {
    margin: 36px 0 14px;
    font-size: 24px;
    line-height: 30px;
  }

  body#module-ph_simpleblog-single .simpleblog__post__content .rte-content h3 {
    margin: 32px 0 12px;
    font-size: 20px;
    line-height: 26px;
  }

  body#module-ph_simpleblog-single .simpleblog__post__content .rte-content h4 {
    margin: 26px 0 10px;
    font-size: 17px;
    line-height: 24px;
  }

  body#module-ph_simpleblog-single .author-card {
    padding: 20px;
  }

  body#module-ph_simpleblog-single .author-card .authorMiniature__btn {
    flex: 1 0 100%;
    order: 3;
    text-align: center;
  }
}

@media (max-width: 767px) {
  .simpleblog__listing>.row {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  .simpleblog__listing__pagination {
    justify-content: center;
    margin-top: 40px;
  }

  .simpleblog__listing__pagination>div {
    flex: 1 0 100%;
    text-align: center;
  }

  .simpleblog__listing__pagination .page-list {
    justify-content: center;
  }

  body#module-ph_simpleblog-single .simpleblog__postInfo ul li:after {
    margin: 0 10px;
  }

  body#module-ph_simpleblog-single .simpleblog__post__content .rte-content table {
    display: block;
    overflow-x: auto;
  }
}

/* =============================================================================
   ELEVACIÓN EN HOVER (compartida)
   =============================================================================
   Valores únicos para el hover de tarjeta en toda la web: clústeres de
   categoría (.sdicc-link), artículos del blog y miniaturas de producto
   (rejilla y carrusel). Tocar solo aquí para cambiarlo en los tres sitios. */

:root {
  --sdi-hover-lift: -2px;
  --sdi-hover-shadow: 0 4px 12px rgba(80, 44, 30, 0.12);
  --sdi-hover-border: rgba(80, 44, 30, 0.18);
  --sdi-hover-transition: box-shadow 0.18s ease, transform 0.18s ease, border-color 0.18s ease;
}

/* Clústeres de categoría: mismos valores que traía el módulo, ahora leídos
   del token para que no se desincronicen. */
.sdicc-link {
  transition: var(--sdi-hover-transition);
}

.sdicc-link:hover,
.sdicc-link:focus {
  transform: translateY(var(--sdi-hover-lift));
  border-color: var(--sdi-hover-border);
  box-shadow: var(--sdi-hover-shadow);
}

/* Miniatura de producto, tanto en carrusel como en la rejilla de categoría.
   El disparador es el wrapper, pero la sombra va sobre .product-miniature,
   que es la caja blanca visible: el wrapper lleva alto fijo en carrusel y
   gutters de columna en rejilla, así que la sombra quedaría despegada. */
.js-product-miniature-wrapper .product-miniature {
  position: relative;
  transition: var(--sdi-hover-transition);
}

.js-product-miniature-wrapper:hover .product-miniature {
  z-index: 2;
  transform: translateY(var(--sdi-hover-lift));
  box-shadow: var(--sdi-hover-shadow);
}

/* .swiper-container-wrapper recorta con overflow:hidden y se comería la
   sombra por arriba y por abajo. overflow-x:clip permite dejar el eje
   vertical visible sin romper el recorte horizontal del carrusel. */
.swiper-container-wrapper:has(.js-product-miniature-wrapper) {
  overflow-x: clip;
  overflow-y: visible;
}

/* =============================================================================
   AVISO DE PORTES GRATIS (carrito lateral, carrito y checkout)
   ============================================================================= */

.sdi-free-shipping {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 12px 0 0;
  padding: 8px 12px;
  border-radius: 8px;
  background: rgba(42, 210, 201, 0.12);
  font-size: 12px;
  line-height: 18px;
  font-weight: 500;
  color: #502c1e;
  text-align: left;
}

.sdi-free-shipping .fa {
  flex-shrink: 0;
  font-size: 14px;
  line-height: 18px;
  color: #00ab8e;
}

.sdi-free-shipping.is-free {
  background: rgba(0, 171, 142, 0.12);
  font-weight: 600;
  color: #00735f;
}

.sdi-free-shipping.is-free .fa {
  color: #00735f;
}

#blockcart-content .sdi-free-shipping {
  margin: 0 0 12px;
}
