/*
 * Custom code goes here.
 * A template should always ship with an empty custom.css
 */
@font-face {
	font-family:'Planer';
	src: url('/img/cms/planer.eot'); /* IE9 Compat Modes */
  	src: url('/img/cms/planer.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
	     url('/img/cms/planer.woff') format('woff'), /* Pretty Modern Browsers */
       	 url('/img/cms/planer.ttf')  format('truetype'); /* Safari, Android, iOS */
}

/* OVERRIDE LISTS */

ul,
ol {
  margin: 0 !important;
  padding: 0 !important;
}

/* OVERRIDE ROOT VARS */

:root {
  --bs-primary: #01468e;
  --bs-btn-border-color: #333 !important;
}

/* MATERIAL ICONS */

@keyframes slide-in {
  from {
    translate: 100vw 0;
  }
}

@keyframes slide-out {
  to {
    translate: -100vw 0;
  }
}

@keyframes fade-in {
  from {
    opacity: 0;
  }
}

@keyframes fade-out {
  to {
    opacity: 0;
  }
}

html:has(body#product) {
  scroll-padding-top: 90px;
}

@media (min-width: 768px) and (max-width: 991px) {
  #header .logo {
    max-width: 200px;
  }
}

/* VARIABLES DE COLOR */
* {
  -webkit-overflow-scrolling: touch;
}

:root {
  --color-principal: #333333;
  --azul-principal: #00338e;
  --enlace-principal: #003aa1;
  --enlace-hover: #ffdd00;
}

.material-symbols-outlined {
  font-family: "Material Symbols Outlined";
  font-variation-settings: "FILL" 0, "wght" 200, "GRAD" 0, "opsz" 24;
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  /* Preferred icon size */
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  -webkit-font-feature-settings: "liga";
  font-feature-settings: "liga";
}

html {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

body {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
  overflow-x: hidden;
  transition: margin 0.4s;
  -webkit-transition: margin 0.4s;
  max-width: 100%;
  width: 100%;
  transition-timing-function: cubic-bezier(0.42, 0.27, 0, 0.99);
  -webkit-transition-timing-function: cubic-bezier(0.42, 0.27, 0, 0.99);
}

body.noscroll {
  overflow: hidden;
}

/* ESTILOS 2025 */

/*SHOP INFOS CABECERA */

.shop-infos-pre-header span {
  font-size: 0.8em;
  color: #333 !important;
}

.shop-infos-pre-header span strong {
  font-weight: bold;
}

.shop-infos-pre-header {
  width: 100%;
  padding: 6px 30px;
  /*background: linear-gradient(90deg, #092a63 0%, #264a87 100%);*/
  background:#092a63;
  display: flex;
  justify-content: space-around;
  gap: 2rem;
  color: #fff !important;
  align-content: center;
  align-items: center;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  overflow: hidden;
}

.shop-infos-pre-header a {
  color: var(--bs-light, #fff) !important;
}

/*OLD SHOP INFOS*/
/* SHOP INFOS CABECERA (templates/_partials/shop-infos.tpl) */
.shop-infos-wrap {
  display: flex;
  width: 100%;
  min-height: 30px;
  background-color: white !important;
  flex-wrap: wrap;
  justify-content: space-around;
  align-items: center;
}

.shop-infos-button {
  display: none;
}

@media (max-width: 767px) {
  .shop-infos-pre-header {
    border-bottom: none;
  }

  .shop-infos-button {
    position: fixed;
    bottom: 0;
    left: 5px;
    width: 2em;
    height: 2em;
    display: block;
    z-index: 99999;
    display: none;
  }

  .shop-infos-wrap > div {
    width: 100%;
    float: none;
    margin-left: auto;
    margin-right: auto;
    margin-top: 5px;
    text-align: center;
    display: flex;
    flex-wrap: nowrap !important;
    margin: 0 !important;
    padding: 10px 0;
    position: relative;
  }

  .shop-infos-pre-header::before,
  .shop-infos-pre-header::after {
    content: "";
    position: absolute;
    top: 0;
    width: 20px;
    height: 100%;
    z-index: 2;
  }

  .shop-infos-pre-header {
    
    color: var(--bs-body-color) !important;
  }

  .shop-infos-pre-header span {
    color: var(--bs-body-color) !important;
  }

  .shop-infos-pre-header a {
    color: var(--bs-primary);
  }

  .shop-infos-pre-header > .marquee-content {
    display: flex;
    width: fit-content;
    animation: marquee 20s linear infinite;
  }

  .shop-infos-pre-header > .marquee-content > div {
    display: inline-block;
    margin-right: 2rem;
  }

  .shop-infos-pre-header > .marquee-content > .marquee-group {
    display: flex;
  }

  .marquee-group > div {
    display: inline-block;
    margin-right: 2rem;
    white-space: nowrap;
  }

  .shop-infos-pre-header:hover .marquee-content {
    animation-play-state: paused;
  }

  /* Animación marquee */
  @keyframes marquee {
    0% {
      transform: translateX(0);
    }

    100% {
      transform: translateX(-50%);
    }
  }

  /* Animation */
}

.infofixed {
  position: fixed;
  margin-top: 65px;
  box-shadow: 0px 2px 8px 0 rgba(0, 0, 0, 0.2);
  z-index: 9999;
}

.shop-infos-wrap span {
  color: #fff !important;
  font-weight: 300;
  font-size: 0.75em;
}

.shop-infos-wrap span.pre-info {
  font-weight: bold;
  color: var(--bs-dark);
}

.shop-infos-wrap i {
  font-size: 1.5em;
  vertical-align: middle;
  align-self: center;
}

/* CABECERA */
#header {
  position: sticky;
  top: 0;
  z-index: 99;
}

#header .header-top {
  padding: 15px 30px !important;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 3;
  transition: all 0.2s ease-out;
  padding-bottom: 0;
}

#wrapper {
  box-shadow: none !important;
}

#header .header-top .menu {
  margin-bottom: 0;
}

.header-top #main-menu-wrapper {
  flex: 1 1 auto;
}

.header-top > .container-fluid > .row {
  display: flex;
  padding: 0 30px;
}

#_desktop_logo {
  display: flex;
  align-items: center;
  align-content: center;
  justify-content: flex-start;
}

#top-menu2 {
  margin-bottom: 0 !important;
}

.header-top .nav-icons {
  display: flex;
  gap: 0.5rem !important;
  align-items: center;
  justify-content: flex-end;
}

.header-top .nav-icons.search-mobile {
  display: flex;
  gap: 0;
  align-items: center;
  justify-content: center;
}

.header-top .icon-square {
  border: 1px solid var(--bs-body-bg);
  border-radius: 8px;
  padding: 8px;
  color: var(--bs-body-bg);
  text-align: center;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}

#search-icon {
  cursor: pointer;
}

#search-icon {
  flex: 1 1 auto !important;
  justify-content: flex-end;
  width: 16rem;
  max-width: 300px;
  position: relative;
}

#search-icon::after {
  display: block;
  content: "¿Qué estás buscando?";
  color: #aaa;
  float: left;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0.8rem, -50%);
  font-size: 0.8rem;
}

@media (max-width: 767px) {
  #search-icon {
    flex: 1 1 auto !important;
    justify-content: flex-end;
    width: unset !important;
    max-width: unset !important;
    position: relative;
  }

  #search-icon::after {
    display: block;
    content: "";
    color: #aaa;
    float: left;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translate(0.8rem, -50%);
    font-size: 0.9rem;
  }
}

@media (min-width: 990px) and (max-width: 1275px) {
  #search-icon {
    flex: 1 1 auto !important;
    justify-content: flex-end;
    width: unset !important;
    max-width: unset !important;
    position: relative;
  }

  #search-icon::after {
    display: block;
    content: "";
    color: #aaa;
    float: left;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translate(0.8rem, -50%);
    font-size: 0.9rem;
  }
}

.imglogo {
  max-width: 100%;
}

.logo-wrapper {
  flex: 0 0 200px;
}

.header-top nav .nav-icons {
  flex: 1 1 auto;
}

#contact-button,
#account-button {
  cursor: pointer;
}

#cart-on {
  position: relative;
}

.products_in_cart {
  position: absolute;
  top: 0;
  right: 0;
  padding: 0 5px;
  color: var(--bs-body-bg);
  background-color: var(--bs-dark);
  border-radius: 50%;
  font-size: 0.7rem;
  transform: translate(50%, -50%);
  aspect-ratio: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}
.products_in_cart:empty {
  background: transparent;
  opacity: 0;
}

@media (max-width: 575px) {
  .products_in_cart {
    font-size: 0.62rem !important;
    padding: 0 5px !important;
  }
}

@keyframes pulse {
  0% {
    transform: translate(50%, -50%) scale(1);
  }

  50% {
    transform: translate(50%, -50%) scale(1.3);
    background-color: #ffdd00;
  }

  100% {
    transform: translate(50%, -50%) scale(1);
    background-color: black;
  }
}

.pulse-animation {
  animation: pulse 0.6s ease;
  animation-iteration-count: infinite;
}

/* El círculo que vuela */
.fly-circle {
  position: fixed;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: #ffdd00;
  z-index: 9999;
  pointer-events: none;
  transition: transform 0.8s ease, opacity 0.8s ease;
}

/* Animación de rebote */
@keyframes bounce {
  0% {
    transform: translate(50%, -50%) scale(1);
  }

  30% {
    transform: translate(50%, -50%) scale(1.4);
  }

  50% {
    transform: translate(50%, -50%) scale(0.9);
  }

  70% {
    transform: translate(50%, -50%) scale(1.2);
  }

  100% {
    transform: translate(50%, -50%) scale(1);
  }
}

.bounce-on-cart {
  animation: bounce 0.5s ease;
}

#search-icon:hover,
#search-icon:active,
#search-icon:focus,
#contact-button:hover,
#contact-button:active,
#account-button:hover,
#account-button:active,
#cart-on:hover,
#cart-on:active,
#cart-on:focus {
  border-color: #ffdd00;
  color: #ffdd00 !important;
}

#cart-on a {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  color: white !important;
}

#account-button-logged {
  position: relative;
}

#account-button-logged > a {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  color: var(--bs-body-bg) !important;
}

#header.is-open,
#header.is-open .header-top {
  background-color: #fff;
}

/* MENUS CABECERA NUEVO ESTILO */

header {
  overflow: visible !important;
}

.menu-icon {
  display: none;
  font-size: 24px;
  cursor: pointer;
  color: white;
  position: relative;
  flex: 1 0 auto;
}

.menu-icon span {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
  -webkit-transform: translate(0, -50%);
  font-size: 2.5rem;
}

#close-menu {
  display: none;
  position: relative;
  top: 0;
  right: 0;
  transform: translate(1rem, 1rem);
  cursor: pointer;
  flex: 0 0 100%;
  max-height: 30px;
}

#close-menu span {
  font-weight: 700;
  font-size: 2rem;
  font-variation-settings: "FILL" 0, "wght" 600, "GRAD" 0, "opsz" 24;
}

#close-menu:hover span {
  color: red !important;
}

@media (min-width: 990px) {
  #main-menu-wrapper {
    justify-content: center;
    display: flex;
  }

  #menu-principal {
    display: flex;
  }
}

#menu-principal > li {
  padding: 10px 12px;
  font-size: clamp(0.75rem, 0.635rem + 0.408vi, 1.05rem);
  font-weight: 300;
  cursor: pointer;
}

@media (max-width: 989px) {
  #menu-principal li {
    text-align: center;
  }
}

#menu-principal li label {
  color: inherit;
  text-align: unset;
  font-size: inherit;
  cursor: pointer;
  margin-bottom: 0;
}

#menu-principal > li a:link,
#menu-principal > li a:hover,
#menu-principal > li a {
  color: #333 !important;
}

#menu-principal li > ul {
  display: none;
}

#menu-principal li > ul {
  position: static;
  max-width: 100vw;
  width: 100vw;
  background-color: whitesmoke;
  overflow: hidden;
  margin-top: 1rem;
  transition: all 0.3s ease-out;
}

#menu-principal > li > ul > li {
  margin: 0.7rem 0 !important;
  color: #333;
}

#menu-principal > li > a {
  text-decoration: none;
  text-transform: uppercase;
}

.atex-link a:link,
.atex-link a:visited {
  font-weight: 600;
  color: #ffdd00 !important;
}

.mobile_icons {
  flex: 0 100%;
  display: flex;
  justify-content: center;
}

.mobile_icons > div {
  margin: 0 10px;
}

#menu-principal > li > ul > li a:link,
#menu-principal > li > ul > li a:visited,
#menu-principal > li > ul > li a:hover {
  color: #333 !important;
}

.megamenu .megamenu-icon {
  width: 45px !important;
  vertical-align: middle;
  transform: translateY(-4px);
  transition: opacity 0.3s ease, filter 0.3s ease;
  margin-right: 1rem;
  filter: saturate(2);
}
.megamenu > .row > div > ul > li {
  transition: font-weight 0.3s ease;
}
.megamenu li.activo > .megamenu-icon {
  filter: saturate(2);
}
.megamenu > .row > div > ul > li.activo {
  font-weight: 600 !important;
}

@media (max-width: 989px) {
  .megamenu {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100vw;
    height: auto !important;
    max-height: unset !important;
    overflow: auto !important;
    top: 0 !important;
    z-index: 99 !important;
  }

  .megamenu .row {
    max-height: unset !important;
  }

  .megamenu .megamenu-icon {
    width: 45px !important;
    vertical-align: middle;
    transform: translateY(-4px);
    margin-right: 0.5rem !important;
  }
}

@media (max-width: 575px) {
  #menu-principal > li > a:link,
  #menu-principal > li > a:visited {
    color: #333 !important;
  }
}

@media (min-width: 990px) {
  .megamenu li:not(.activo) .megamenu-icon {
    opacity: 1;
  }
}

/* ESTILOS CABECERA NUEVO LAYOUT */

@media (max-width: 767px) {
  #mobile_top_menu_wrapper {
    position: fixed;
    top: 3.5rem;
    padding-top: 2rem !important;
    padding-left: 30px;
    left: 0;
    right: 0;
    width: calc(100vw + 15px);
    height: calc(100vh - 4rem);
    scroll-behavior: smooth;
    overflow: scroll;
    z-index: 9;
  }

  #_mobile_top_menu_3 .category-sub-menu a {
    color: white !important;
  }

  #_mobile_top_menu_2 + .js-top-menu.mobile > h2 {
    color: black !important;
  }
}

#account-button {
  position: relative;
}

#account-button a {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  color: white !important;
}

#account-button a span {
  z-index: 3;
}

#account-button-logged {
  position: static;
  flex-direction: column;

  & a {
    position: relative !important;
  }
}

#account-button-logged > a {
  color: #ffdd00 !important;
  font-weight: bold;
  z-index: 2;
}

#header .header-top {
  background-color: #fff;
  padding: 15px 30px !important;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 3;
  transition: all 0.2s ease-out;
  padding-bottom: 0;
  box-shadow: 0 10px 2px -10px rgba(0, 0, 0, 0.3);
}

#cart-on a {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  color: #333 !important;
}

.header-top .icon-square {
  border: 1px solid #333;
  border-radius: 8px;
  padding: 8px;
  color: #333;
  text-align: center;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}

#authentication-modal {
  position:fixed;
  top:50%;
  left:50%;
  transform:translate(-50%, -50%);
  width:100%;
  height:100%;
  background:rgba(0,0,0,0.2);
  backdrop-filter: blur(4px);
  display:flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  transition: all 0.3s ease-out;
  visibility: hidden;
  pointer-events:none;

}
#authentication-modal::before {
  content:'0';
  position:absolute;
  inset:0;
  background: rgba(0,0,0,0.8);
  z-index: -1;

}
#contact-modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.8);
  backdrop-filter: blur(4px);
  width: 100vw;
  height: 100vh;
  opacity: 0;
  transition: all 0.3s ease-out;
  visibility: hidden;
  z-index: -999;
}

.contact-modal-inner {
  width: 100%;
  background: white !important;
}

.contact-modal-inner > .contact-modal-content {
  min-height: calc(100svh - 112px) !important;
  max-width: 1440px;
  float: none;
  margin: 0 auto;
}

@media (max-width: 575px) {
  
  #contact-modal {
    top: 80px;
  }

  #authentication-modal {
    -ms-overflow-style: none;
    /* IE and Edge */
    scrollbar-width: none;
    /* Firefox */
    height: 100dvh !important;
    overflow: auto;
    overscroll-behavior: contain;
  }
  .auth-modal-content {
    border-radius:0
  }
  #authentication-modal::-webkit-scrollbar {
    display: none;
  }
}
  .home-user-type-select,
  .pro-user-type-select {
    flex: 1 0 50%;
    text-align: center;
    padding: 1rem;
    background:#f4f4f4;
    position:relative;
    aspect-ratio: 1;
    display:flex;
    justify-content: center;
    align-items: center;
    border-radius:0.7rem;
    border:2px solid rgba(0,0,0,0);
    cursor:pointer;
    transition: all 0.2s linear;
    flex-direction: column;
    gap:0.6rem
  }
  .pro-user-type-select {
    background:#333;
    color:white !important;
  }
  
  .home-user-type-select:hover,
  .pro-user-type-select:hover {
    cursor:pointer;
    border-color:rgba(28, 127, 238, 1);
    box-shadow:0 3px 7px rgba(0, 162, 255, 0.5);
    
  }
  .home-user-type-select > img,
  .pro-user-type-select > img
  {
    width:60px !important;
    height: 60px !important;
    padding:8px;
    border: 1px solid #000000;
    border-radius:100vw;
  }
  .pro-user-type-select > img {
    border-color:white !important;
    fill:white !important;
    stroke: white !important;
    color:white !important
  }

  .home-user-type-select a,
  .pro-user-type-select a {
    display:block;
    position: absolute;
    inset:0;
    width:100%;
    height:100%;
    z-index:2;
  }
  .home-user-type-select::after {
    content: url('');
    position:absolute;
    left:0;top:0;
    margin-top:1rem;
    margin-left:1rem;
    width:40px;
    height:40px;
    fill:green;
  

  }
  .pro-user-type-select::after {
    content:url('');
    position:absolute;
    left:0;top:0;
    margin-top:1rem;
    margin-left:1rem;
    width:40px;
    height:40px;
    fill:blue;

  }
  .logo-masterpro-esquina {
    position:absolute;bottom:0;right:0;margin:0 1rem 1rem 0;font-size:0.9rem;color:#fff;font-family:'Planer', sans-serif;
  }
  @media(max-width:575px) {
    .logo-masterpro-esquina {
      margin: 0 0.4rem 0.4rem 0;
    }
    .home-user-type-select,
    .pro-user-type-select {
      font-size:0.9rem; 
    }
  }
  #authentication-modal .register-footer {
    width:100%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    margin-top: .5rem;
    padding:1rem 0;
  }
  #authentication-modal .register-footer div {
    aspect-ratio: 1.6 / 1;
    flex: 0 0 33.3%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    text-align:center;
    font-size:0.8rem;
    border-radius: 0.6rem;
    background: linear-gradient(45deg, #4285f4, var(--bs-primary));
    color: white !important;
    padding: 1rem 0.5rem;

    
  }
  @media(max-width:575px) {
    #authentication-modal .register-footer div span.item-title{
      min-height:2lh;
    }
  }

#contact-modal > .contact-wrapper {
  position: fixed;
  top: 50%;
  left: 50%;
  max-width: 100%;
  background-color: whitesmoke;
  padding: 0;
  transform: translatE(-50%, 100vh);
  width: 80vw;
  max-width: 800px;
  min-height: 500px;
  transition: all 0.2s ease-out;
  border-radius: 10px;
}

#authentication-modal.shown {
  opacity:1;
  visibility: visible;
  z-index: 99;
  transition: all 0.3s ease-out;
  pointer-events:auto;
}
#contact-modal.shown {
  display: block !important;
  opacity: 1;
  visibility: visible;
  z-index: 99;
  transition: all 0.3s ease-out;
}

#contact-modal a {
  color: var(--bs-primary) !important;
}

#authentication-modal.shown > .auth-wrapper,
#contact-modal.shown .contact-wrapper {
  transform: translate(-50%, -50%);
}


#authentication-modal .auth-wrapper .auth-header ul {
  display: flex;
}

#authentication-modal .auth-wrapper .auth-header ul li {
  color: #333;
  float: left;
  padding: 0.1rem 0.6rem;
  margin: 0.6rem 0;
  border-bottom: 2px solid transparent;
  cursor: pointer;
}

#authentication-modal .auth-wrapper .auth-header ul li.tab-active {
  border-bottom: 3px solid rgba(0, 0, 0, 0.7);
}

#authentication-modal .auth-wrapper .close-auth-button,
#contact-modal .contact-wrapper .close-contact-button {
  position: absolute;
  top: 0;
  right: 0;
  margin: 10px 10px 0 0;
  font-size: 2em;
  cursor: pointer;
}

.auth-wrapper input[type="text"],
.auth-wrapper input[type="password"],
.auth-wrapper input[type="email"] {
  border: none !important;
  box-shadow: unset;
  background: white;
  color: black;
  width: 100%;
  outline: none;
  position: relative;
}

.auth-wrapper label {
  font-size: 1rem;
}

.auth-wrapper input[type="text"]::placeholder,
.auth-wrapper input[type="password"]::placeholder,
.auth-wrapper input[type="email"]::placeholder {
  color: #ccc;
}

.auth-wrapper .email,
.auth-wrapper .password,
.auth-wrapper .firstnamewrapper,
.auth-wrapper .lastnamewrapper,
.auth-wrapper {
  background: #fff;
  border-radius: 10px;
  padding: 1rem 1.5rem;
  margin: 1rem 0;
}

.auth-wrapper button,
.auth-wrapper input[type="button"] {
  width: 100%;
  margin: 1rem 0 2rem 0;
}

#authentication-modal .auth-wrapper .close-auth-button span,
#contact-modal .contact-wrapper .close-contact-button span {
  color: #333;
}

.auth-wrapper .sec-2 {
  display: flex;
  position: relative;
}

span.inline-block {
  display: flex;
  margin-right: 1px;
  color: #666;
  align-items: center;
  align-content: center;
}

#unified-login-form {
  display: none;
  float: none;
  max-width: 90%;
  margin: 1rem auto;
}

form#unified-login-form .mb-3 {
  padding: 1rem;
  border-radius: 0.625rem;
  background: white;
}

span.visibility-pswd {
  display: flex;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  transform: translate(-50%, 0);
  z-index: 99;
  color: #ccc;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
}

span.visibility-pswd.visual_on {
  color: #333;
  font-variation-settings: "FILL" 0, "wght" 600, "GRAD" 0, "opsz" 24;
}

.auth-header h2 {
  font-weight: 400;
}

.contact-wrapper .contact-inner {
  float: none;
  width: 95%;
  height: 100%;
  margin: 0;
}

@media (max-width: 575px) {
  .contact-inner .d-flex > * {
    margin: 0.2rem !important;
  }

  #authentication-modal > .auth-wrapper {
    min-height: unset;
    height: 100dvh !important;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    overflow: auto;
    scrollbar-width: 0;
    transform: translate(0, 0) !important;
    border-radius: 0;
    margin: 0 !important;
  }
}

#contact-map {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  position: relative;
  border-radius: 8px;
}

.contact-inner .contact-content {
  display: flex;
  flex-direction: column;
  align-content: center;
  align-items: center;
  color: #333 !important;
  padding: 1rem 0 1rem 1rem;
}

#contact-map a {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
}

#contact-map img {
  object-fit: cover;
  height: 100%;
  object-position: 50% 50%;
  transform: translate(6rem, 0);
}

span.email-address-span b,
.contact-section-content b {
  display: none;
}

.d-flex {
  display: flex;
  align-items: stretch;
}

.d-flex > * {
  margin: 0.5rem;
}

.d-stretch {
  height: 100%;
}

.contact-content > div {
  width: 100%;
}

.contact-content .material-symbols-outlined {
  font-size: 1.5em;
  vertical-align: middle;
}

.contact-content .material-symbols-outlined + * {
  font-size: 2em;
}

@media (max-width: 767px) {
  .close-contact-button {
    z-index: 99;
  }

  .contact-wrapper .contact-inner {
    width: 100%;
    height: 100%;
  }

  .contact-wrapper {
    overflow: auto;
    width: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    height: 100%;
  }

  #contact-map {
    height: 20vh;
  }

  #contact-map img {
    width: 350%;
    height: auto;
    transform: translate(0, 0);
  }
}

@media (min-width: 768px) {
  .telefono-title,
  .whatsapp-title,
  .email-title {
    font-size: 1rem !important;
  }
}

@media (max-width: 575px) {
  .contact-wrapper {
    max-height: 95svh !important;
    max-width: 100%;
    top: 1rem !important;
    transform: translate(-50%, 0) !important;
    overflow: hidden !important;
  }

  .contact-wrapper > .contact-inner h3 {
    font-size: 1.1rem !important;
  }

  .contact-wrapper > .contact-inner > *:not(h3) {
    font-size: 0.85rem !important;
  }
}

/* MODAL CONTACTO MOBILE */

#contact-modal {
  height: 100dvh !important;
}

#contact-modal a {
  color: unset !important;
}

.contact-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: #fafafa;
  z-index: 1000;
  display: flex;
  flex-direction: column;
  color: #333;
  overflow: hidden;
}

.contact-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 20px;
  background: #fafafa;
  border-bottom: 1px solid #e5e5e5;
  height: 60px;
  flex-shrink: 0;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.contact-modal-title {
  font-size: 20px;
  font-weight: 500 !important;
  margin-bottom: 0 !important;
}

.contact-close-btn {
  background: transparent;
  border: none;
  color: #333;
  width: 35px;
  height: 35px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.5rem;
  font-weight: 100;
  cursor: pointer;
  transition: all 0.3s ease;
}

.contact-close-btn:hover {
  color: #666;
  transform: scale(1.1);
}

.contact-modal-content {
  flex: 1;
  padding: 0.5rem;
  display: grid;
  grid-template-columns: calc(50% - 0.25rem) calc(50% - 0.25rem);
  grid-template-rows: 20px 2rem 5% 5% 5% 5% 5% 5% 5% 5% 5% 5% 5% 5% 5% 5% 5% 5%;
  gap: 0.5rem;
  height: calc(100% - 80px);
  background: white;
  align-items: start;
}

.auth-modal-content {
  gap: 0.2rem;
  width:90vw;
  max-width: 500px;
  height:90vh;
  max-height: 700px;
  border-radius:1.5rem;
  position: relative;
  padding-top:1rem
}

.auth-modal-title {
  width: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  grid-column: 1 / 2;
}

.auth-modal-content {
  grid-column: 2 / 10;
  flex: 1;
  padding: 1.5rem 0.5rem 0 0.5rem;
  background: #fff;
}

.auth-list-header {
  grid-row: 2 / 3;
  margin-top: -1rem;
}

.auth-list-header ul {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
  width: 50% !important;
  float: none;
  margin: 0 auto !important;
  justify-content: center;
  transition: transform 0.3s ease;
}

.auth-modal-content .close-auth-button {
  position:absolute;
  top:0;
  right:0;
  transform:translate(-5px, 5px);
}

.auth-list-header ul > li:nth-of-type(2)::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 95%;
  height: 2px;
  background: #333;
  content: "";
  transform: translateX(calc(-100% - 10px));
  transition: transform 0.3s ease;
}

.auth-list-header
  ul:has(> li#auth-register-tab.tab-active)
  > li:nth-of-type(2)::after {
  transform: translateX(0);
}

.auth-list-header ul li {
  margin: 0 10px;
  padding: 10px 20px;
  cursor: pointer;
  font-weight: 300;
  color: #999;
  /*border-bottom: 2px solid transparent;*/
  position: relative;
}

.auth-list-header ul li:not(.tab-active) {
  color: #ddd;
  filter: blur(0px);
  transition: color 0.3s ease, border-bottom 0.3s ease, filter 0.3s ease;
}

.auth-list-header ul li:nth-of-type(1)::after {
  display: block;
  content: "/";
  margin: 0 5px;
  color: #999;
  font-size: 1.6rem;
  font-weight: 100;
  float: right;
  position: absolute;
  right: 0;
  top: 50%;
  line-height: calc(1.325rem + 0.9vw);
  transform: translate(150%, -50%);
}

.auth-list-header ul li.tab-active {
  /*border-bottom: 2px solid #333;*/
  color: #333;
}

.auth-content {
  margin-top: 0rem;
  display: flex;
  grid-row: 2 / 5;
  padding-top: 0rem;
  overflow: hidden;
  flex-direction: column;
  position: relative;
}

.auth-extra {
  grid-row: 5 / 10;
}

.auth-content > .element {
  flex: 1 0 100%;
  padding: 0 5%;
}

#auth-login {
  transform: translateY(-10%);
  opacity: 0;
  transition: transform 0.4s ease, opacity 0.4s ease,
    display 0.4s ease allow-discrete;
  overflow: hidden;
  max-height: 0;
  pointer-events: none;
}

#auth-register {
  margin-right: 0;
  opacity: 0;
  transform: translateY(-10%);
  transition: transform 0.3s ease, opacity 0.3s ease,
    display 0.3s ease allow-discrete;
  overflow: hidden;
  max-height: 0;
  pointer-events: none;
}

#auth-register.elementshown,
#auth-login.elementshown {
  display: block;
  opacity: 1;
  transform: translateY(0);
  max-height: 1000px;
  pointer-events: all;
}

#auth-login.elementshown {
  @starting-style {
    opacity: 0;
    transform: translateY(-10%);
  }
}

#auth-register.elementshown {
  @starting-style {
    opacity: 0;
    transform: translateY(-10%);
  }
}


#social-login {
  margin-top: 1rem;
}

.contact-section {
  background: white;
  border-radius: 16px;
  padding: 15px;
  border: 1px solid #e5e5e5;
  transition: all 0.3s ease;
  display: flex;
  flex-direction: column;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.contact-section:hover {
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.12);
  transform: translateY(-2px);
  border-color: #d0d0d0;
}

.contact-section-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
}

.contact-section-icon {
  font-size: 20px;
}

.contact-section-title {
  font-size: 0.8rem;
  font-weight: 600;
  color: #333;
}

.contact-section-content {
  color: #666;
  font-size: 12px;
  line-height: 1.4;
  flex: 1;
}

.contact-business-hours {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.contact-contact-info {
  gap: 5px;
}

.contact-contact-info b {
  display: none;
  visibility: hidden;
}

.contact-phone-number {
  font-size: 0.8rem;
  font-weight: 500;
  color: #333;
  text-decoration: none;
  padding: 3px 0;
}

.contact-whatsapp-btn {
  background: #25d366;
  color: white;
  padding: 8px 12px;
  border-radius: 20px;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 6px;
  font-weight: 500;
  font-size: 0.8rem;
  transition: all 0.3s ease;
  margin-top: 8px;
  justify-content: center;
}

.contact-whatsapp-btn > svg {
  max-width: 15px;
}

.contact-whatsapp-btn:hover {
  background: #128c7e;
  transform: scale(1.05);
}

.contact-modal-content > div:nth-of-type(1) {
  grid-column: 1 / 3;
  grid-row: 1 / 2;
  display: flex;
  justify-content: flex-end;
  width: 100%;
  align-items: flex-start;
}

.contact-modal-content > div:nth-of-type(1) > button {
  margin-top: -1rem;
}

.contact-modal-content > div:nth-of-type(2) {
  grid-column: 1 / 3;
  grid-row: 2 / 3;
  text-align: center;
}

.contact-modal-content > div:nth-of-type(2) ~ div {
  margin-top: 0rem;
}

.contact-location-section {
  grid-column: 1 / 2;
  grid-row: 3 / 7;
  height: 100%;
}

.contact-hours-section {
  grid-column: 2 / 3;
  grid-row: 3 / 7;
  height: 100%;
}

.contact-contact-section {
  grid-column: 1 / 2;
  grid-row: 7 / 16;
  height: 100%;
}

.contact-form-section {
  grid-column: 2 / 3;
  grid-row: 7 / 16;
  height: 100%;
}

.contact-email-container {
  grid-column: 1 / 2;
  grid-row: 12 / 16;
  height: 100%;
}

.contact-email-container .material-symbols-outlined {
  transform: translateY(2px);
}

.contact-contact-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1;
}

.contact-form-group {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.contact-form-label {
  font-size: 12px;
  font-weight: 500;
  color: #333;
}

@media (max-width: 575px) {
  .contact-form-label {
    display: none;
  }
}

@media (min-width: 768px) {
  .contact-section-title {
    font-size: 1.3rem;
  }

  .contact-title-h3 {
    margin-bottom: 2rem !important;
  }

  .contact-section-content,
  .contact-email,
  .contact-section-content > div {
    font-size: 1rem !important;
  }

  .contact-section-content a {
    font-size: 1rem !important;
  }

  div.contact-section {
    margin-top: 2rem !important;
  }
}

.contact-form-input {
  background: #f8f8f8;
  border: 1px solid #ddd;
  border-radius: 10px;
  padding: 12px;
  color: #333;
  font-size: 14px;
  transition: all 0.3s ease;
}

.contact-form-input::placeholder {
  color: #999;
}

.contact-form-input:focus {
  outline: none;
  border-color: #667eea;
  background: white;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

.contact-submit-btn {
  background: linear-gradient(135deg, #ff6b6b, #ee5a24);
  color: white;
  border: none;
  padding: 14px;
  border-radius: 25px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-top: auto;
}

.contact-submit-btn:hover {
  transform: scale(1.05);
  box-shadow: 0 8px 20px rgba(255, 107, 107, 0.4);
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.contact-section {
  animation: fadeIn 0.6s ease forwards;
}

.contact-location-section {
  animation-delay: 0.1s;
}

.contact-hours-section {
  animation-delay: 0.2s;
}

.contact-contact-section {
  animation-delay: 0.3s;
}

.contact-form-section {
  animation-delay: 0.4s;
}

/* Responsive para pantallas muy pequeñas */
@media (max-height: 600px) {
  .contact-modal-content {
    padding: 10px;
    gap: 8px;
  }

  .contact-section {
    padding: 12px;
  }

  .contact-section-content {
    font-size: 11px;
  }

  .contact-form-input {
    padding: 10px;
  }
}

.contact-section .contact-section-icon span {
  font-variation-settings: "FILL" 1, "wght" 200, "GRAD" 0, "opsz" 24 !important;
}

/*
.contact-location-section .contact-section-icon span {
  color: red;
}
.contact-hours-section .contact-section-icon span {
  color: green;
}
.contact-contact-section .contact-section-icon span {
  color: darkmagenta;
}
.contact-form-section .contact-section-icon span {
  color: blue;
}
  */

.main-hamburger {
  color: #323232;

  & svg {
    transition: transform 0.3s ease-in-out, width 0.3s ease-in-out,
      opacity 0.3s ease-in-out, filter 0.3s ease-in-out;
  }

  & svg #first,
  svg #second,
  svg #third,
  svg #aspa1,
  svg #aspa2 {
    transition: all 0.3s ease-out;
    transform-origin: 50% 50%;
  }

  & svg rect {
    transform-origin: center;
    transform-box: fill-box;
  }
}

.megamenu .row > span.material-symbols-outlined {
  font-variation-settings: "FILL" 0, "wght" 100, "GRAD" 0, "opsz" 24 !important;
}

.main-hamburger.burger {
  transition: transform 0.3s ease-in-out;

  & svg #aspa1 {
    transform: rotate(45deg);
    fill: black;
    border-radius: 100vw;
  }

  & svg #aspa2 {
    transform: rotate(-45deg);
    fill: black;
    border-radius: 100vw;
  }

  & svg #first,
  svg #third {
    opacity: 0;
    filter: blur(2px);
    width: 0px;
  }
}

.nav-icons .icon-square.is_logged {
  color: #ffdd00;
  font-weight: 700;
}

.nav-icons .icon-square#account-button-logged::after {
  /*content: "\e5c5";*/
  font-family: "Material Icons";
  font-size: 1.5rem;
  position: relative;
  top: 0;
  float: none;
  color: #111;
  height: 5px;
  margin: 0 auto;
}

@media (max-width: 767px) {
  .nav-icons .icon-square#account-button-logged::after {
    content: none;
  }
}

/* MEGA MENU CATEGORIAS CABECERA */

.megamenu {
  z-index: 3;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  backdrop-filter: blur(4px);
  background: rgba(0, 0, 0, 0.4);
  width: 100%;
  height: calc(100vh - 76px);
  overflow: hidden;
  transform: translateY(0);
  transition: all 400ms cubic-bezier(1, 0, 0.69, 0.99);
  /*border-top: 3px solid #333;*/
  overflow-y: auto;
  -ms-overflow-style: none;
  /* IE and Edge */
  scrollbar-width: none;
  /* Firefox */
}

.megamenu::-webkit-scrollbar {
  display: none;
}

.megamenu.closed {
  opacity: 0;
  visibility: hidden;
  transform: translateY(-0%) !important;
  height: 0;
}

@keyframes slide_down {
  0% {
    transition: translateY(-110%);
    opacity: 0;
  }

  70% {
    opacity: 0;
  }

  71% {
    opacity: 1;
  }

  100% {
    transition: translateY(0);
  }
}

.megamenu > div {
  position: relative;
  left: 0;
  right: 0;
  width: 100vw;
  background: white !important;
  min-height: 60vh;
  padding: 2rem 3rem;
  margin: 0;
}

#interior-submenu {
  display: flex;
}

.close-megamenu {
  font-variation-settings: "FILL" 0, "wght" 700, "GRAD" 200, "opsz" 34 !important;
  font-size: 34px;
  position: absolute;
  bottom: 1rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 99;
  cursor: pointer;
  width: auto;
}

.megamenu ul li {
  margin: 0;
  /*border-bottom: 1px solid rgba(0,0,0,0.1);*/
  padding: 0.2rem 0;
  font-weight: 400;
  cursor: pointer;
  position: relative;
  text-transform: uppercase;
  font-size: clamp(0.8rem, 0.749rem + 0.2092vw, 1rem);
}

.submenu-principal > ul > li:nth-of-type(1) > span::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  left: 0;
  bottom: 0;
  margin-bottom: -1px;
  height: 1px;
  background: rgb(235, 235, 235);
  background: -moz-linear-gradient(
    90deg,
    rgba(235, 235, 235, 1) 0%,
    rgba(255, 255, 255, 1) 100%
  );
  background: -webkit-linear-gradient(
    90deg,
    rgba(235, 235, 235, 1) 0%,
    rgba(255, 255, 255, 1) 100%
  );
  background: linear-gradient(
    90deg,
    rgba(235, 235, 235, 1) 0%,
    rgba(255, 255, 255, 1) 100%
  );
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ebebeb", endColorstr="#ffffff", GradientType=1);
}

.megamenu > .row > div:nth-of-type(1) > ul li.active {
  background: rgb(235, 235, 235);
  background: -moz-linear-gradient(
    90deg,
    rgba(235, 235, 235, 1) 0%,
    rgba(255, 255, 255, 1) 100%
  );
  background: -webkit-linear-gradient(
    90deg,
    rgba(235, 235, 235, 1) 0%,
    rgba(255, 255, 255, 1) 100%
  );
  background: linear-gradient(
    90deg,
    rgba(235, 235, 235, 1) 0%,
    rgba(255, 255, 255, 1) 100%
  );
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ebebeb", endColorstr="#ffffff", GradientType=1);
  color: #aaa;
}

.megamenu > .row > div:nth-of-type(1) > ul li {
  font-weight: 500;
}

.submenu-extra h3 {
  font-weight: 500 !important;
}

.megamenu ul li > ul > li:hover {
  color: #aaa;
}

.megamenu ul li a:link,
.megamenu ul li a:visited {
  color: #333;
}

.megamenu ul li a:hover {
  color: #aaa;
}

.megamenu > .row > div:nth-of-type(2) > ul {
  transition: width ease-out 0.3s;
  overflow: hidden;
  white-space: nowrap;
  margin: 0;
  color: #666;
  font-size: 0.9em;
  position: absolute;
  top: 0;
  left: 0;
  transition: opacity ease-out 0.3s, display 0.3s ease-out allow-discrete,
    z-index ease-out 0.3s allow-discrete;
  z-index: -1;
  display: none;
  opacity: 0;
  margin-left: 2rem !important;
  max-width: calc(100% - 4rem) !important;
}

.megamenu > .row > div:nth-of-type(2) > ul.fromleft {
  transition: all ease-in 0.2s;
  z-index: 2;
  display: block;
  opacity: 1;
}

@starting-style {
  .megamenu > .row > div:nth-of-type(2) > ul.fromleft {
    opacity: 0;
  }
}

.megamenu li.vertodo a {
  font-weight: 600;
}

.megamenu li.vertodo a::after {
  content: "\e941";
  font-family: "Material icons";
  font-size: 24px;
  display: inline-block;
  margin-left: 0.3rem;
  vertical-align: middle;
  line-height: 1lh;
  color: #777;
  margin-top: -1px;
  font-weight: 100 !important;
  font-variation-settings: "FILL" 0, "wght" 200, "GRAD" 0, "opsz" 24;
}

.megamenu > .row > div:nth-of-type(2) > ul li:hover span::after,
.megamenu ul li:hover > a::after {
  opacity: 1;
}

.interior-bombillas {
  overflow: hidden;
}

ul.desplegado {
  width: 100% !important;
  height: auto !important;
}

.submenu-extra {
  display: flex;
  align-content: stretch;
  align-items: stretch;
  justify-content: space-between;
  height: 100%;
  font-size: 0.9em;
}

.submenu-extra > div {
  flex: auto;
  margin: auto;
}

.submenu-extra ul li {
  padding: 0.4rem 0 !important;
  color: #444;
  font-weight: 400;
}

.submenu-extra ul li::after {
  content: unset;
  width: unset;
  background: unset;
}

.megamenu ul > li.highlighted::before {
  content: "";
  border-radius: 50%;
  width: 9px;
  height: 9px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(-100%, -50%);
  background: #ccc;
  box-shadow: 0px 0px 1px 1px #0000001a;
}

@keyframes pulse-animation {
  0% {
    box-shadow: 0 0 0 0px rgba(186, 212, 6, 0.3);
  }

  100% {
    box-shadow: 0 0 0 20px rgba(0, 0, 0, 0);
  }
}

#menu-principal li {
  position: relative;
}

#menu-principal li.activo {
  /*box-shadow: 0 3px 4px 0 rgba(0,0,0,0.5) inset;*/
  /*background-color: #213994;*/
  transition: all 0.2s ease-in-out;
}

#menu-principal li::after {
  content: "";
  position: absolute;
  left: 50%;
  height: 8px;
  width: 8px;
  bottom: 0;
  transform: translate(-50%, 50%);
  background: #ffdd00;
  border-radius: 50%;
  opacity: 0;
  /*box-shadow: -3px 0 4px 0 rgba(0,0,0,0.8);*/
  transition: opacity 0.4s ease-out;
}

#menu-principal li.activo::after {
  opacity: 1;
}

.megamenu > .row > div:nth-of-type(2) {
  box-shadow: -19px 0 10px -19px rgba(0, 0, 0, 0.5);
  position: relative;
}

.megamenu > .row > div > ul {
  width: 100%;
  height: 100%;
}

.megamenu > .row > div:nth-of-type(1) > ul > li:not(:has(a))::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  height: 8px;
  width: 8px;
  transform: translate(-16px, -50%);
  background: #ffdd00;
  border-radius: 50%;
  opacity: 0;
  /*box-shadow: -3px 0 4px 0 rgba(0,0,0,0.8);*/
  transition: opacity 0.4s ease-out;
}

.megamenu > .row > div:nth-of-type(1) > ul > li.activo::after {
  opacity: 1;
}

.megamenu > .row > div > ul > li {
  position: relative;

  padding: 0.475rem 0.475rem 0.475rem 0;
}

.megamenu > .row > div > ul > li > ul {
  display: block;
  position: absolute;
  left: 100%;
  margin-left: 2rem !important;
  top: 0;
  width: 100%;
}

.megamenu
  > .row
  > div:nth-of-type(1)
  > ul
  > li
  > ul
  > li:nth-last-child(1)
  span::after {
  content: "\e8e4";
  font-family: "Material Symbols Outlined";
  opacity: 1;
  display: inline-block;
  margin-left: 5px;
  font-size: 18px;
  transition: opacity 0.2s ease-in-out;

  transform: rotate(0) translate(5px, 12.5%);
}

.submenu-principal {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(min(450px, 100%), 1fr));
  grid-template-rows: repeat(auto-fit, minmax(1rem, min-content));
}

.submenu-principal > ul > li {
  font-weight: 400;
  font-size: 0.9rem;
}

@media (max-width: 1400px) {
  .submenu-principal > ul > li {
    font-size: 0.8rem;
  }

  .div .submenu-principal {
    padding-left: 0 !important;
  }

  .megamenu .megamenu-icon {
    max-width: 30px !important;
    margin-right: 0.5rem;
  }
}

/*.submenu-principal > ul > li > span, .submenu-principal > ul > li > a > span {

    display:block;
    min-height: 2rem;
    margin:1rem 0;
    position: relative;
  }*/
.submenu-principal > ul > ul > li {
  font-size: 0.9rem;
}

.submenu-principal > ul li > ul {
  max-height: 0;
  overflow: hidden;
  transition: all 0.3s linear;
}

/*.submenu-principal > ul li > ul {
    -moz-column-count: 2;
    -moz-column-gap: 1rem;
    -webkit-column-count: 2;
    -webkit-column-gap: 1rem;
    column-count: 2;
    column-gap: 1rem;

  }*/
.submenu-principal ul li > ul.openmenu {
  max-height: 500px;
  margin-left: 0;
  padding: 0;
}

@media (min-width: 990px) {
  .submenu-principal ul li:nth-of-type(2) > ul {
    margin-top: calc(-0.475rem * 2 - 1lh) !important;
  }

  .submenu-principal ul li:nth-of-type(3) > ul {
    margin-top: calc(-0.475rem * 2 * 2 - 2lh) !important;
  }

  .submenu-principal ul li:nth-of-type(4) > ul {
    margin-top: calc(-0.475rem * 2 * 3 - 3lh) !important;
  }

  .submenu-principal ul li:nth-of-type(5) > ul {
    margin-top: calc(-0.475rem * 2 * 4 - 4lh) !important;
  }

  .submenu-principal ul li:nth-of-type(6) > ul {
    margin-top: calc(-0.475rem * 2 * 5 - 5lh) !important;
  }

  .submenu-principal ul li:nth-of-type(7) > ul {
    margin-top: calc(-0.475rem * 2 * 6 - 6lh) !important;
  }

  .submenu-principal ul li:nth-of-type(8) > ul {
    margin-top: calc(-0.475rem * 2 * 7 - 7lh) !important;
  }

  .submenu-principal ul li:nth-of-type(9) > ul {
    margin-top: calc(-0.475rem * 2 * 8 - 8lh) !important;
  }

  .submenu-principal ul li:nth-of-type(10) > ul {
    margin-top: calc(-0.475rem * 2 * 9 - 9lh) !important;
  }
}

.submenu-principal ul li input[type="checkbox"] {
  display: none;
}

@media (min-width: 768px) {
  .megamenu > .row > div:nth-of-type(2) {
    flex: 1 1 auto;
    width: unset;
  }

  .submenu-extra {
    flex: 1 1 auto;
    flex-wrap: wrap;
  }

  .submenu-extra h3 {
    font-size: 1.1rem;
  }

  .submenu-extra > div {
    flex: 1 auto;
    margin: 0;
  }

  .submenu-extra > div:nth-of-type(1) {
    margin: 0;
    margin-right: 0.5rem;
    max-width: 299px !important;
  }
}

@media (max-width: 767px) {
  .megamenu {
    height: 100dvh;
  }

  .megamenu > .row {
    padding: 2rem 1rem;
    height: 100dvh;
    /*overflow: scroll;*/
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 1.4rem;
  }

  .megamenu > .row > div:nth-of-type(2) {
    box-shadow: none !important;
    min-height: 50vh;
    height: min-content;
  }

  .submenu-principal > ul > li {
    font-size: 1rem;
    padding: 0.6rem 0 !important;
    border-bottom: 1px solid var(--bs-gray-200) !important;
  }

  .megamenu > .row > div:nth-of-type(1) > ul > li.activo::after {
    display: none !important;
  }

  .close-megamenu {
    bottom: unset;
    top: 0;
    left: 0;
    left: unset;
    transform: translate(-1rem, 1rem);
  }

  .megamenu > .row > div > ul > li > ul {
    display: none;
    position: relative;
    left: 0;
    margin-left: calc(45px + 0.5rem + 0.5ch) !important;
    top: 0;
    width: 100%;
    max-height: unset;
    margin: 0;
    overflow: hidden;
    transition: none !important;
  }

  .megamenu > .row > div > ul > li > ul.fromleft {
    max-height: 1000px;
    margin: 0.5rem 0 !important;
  }

  .megamenu > .row > div > ul > li > ul li.vertodo a::after {
    content: none;
  }

  .megamenu > .row > div > ul > li > ul li {
    padding: 0.4rem 0;
  }

  .submenu-extra > div {
    margin: unset;
  }

  .megamenu > .row > div:nth-of-type(1) > ul > li:has(ul)::before,
  .megamenu > .row > div:nth-of-type(1) > ul > li.activo:has(ul)::before {
    content: "\e145";
    font-family: "Material Symbols Outlined";
    float: right;
  }

  .megamenu
    > .row
    > div:nth-of-type(1)
    > ul
    > li:has(ul[style*="block"])::before,
  .megamenu
    > .row
    > div:nth-of-type(1)
    > ul
    > li.activo:has(ul[style*="block"])::before {
    content: "\e15b" !important;
  }
  .megamenu {
    max-width: 100% !important;
  }
}
@media (max-width: 575px) {
  .megamenu > .row > div > ul > li > ul {
    --margin-left: calc(30px + 0.5rem + 0.5ch);
    margin-left: var(--margin-left) !important;
    max-width: calc(100% - var(--margin-left)) !important;
  }
  #interior-bombillas > ul {
    --margin-left: calc(16px + 0.5rem + 0.5ch);
    margin-left: calc(16px + 0.5rem + 0.5ch) !important;
    max-width: calc(100% - var(--margin-left)) !important;
  }
  body#index {
    max-width: 100%;
    overflow-x: visible;
  }
}

@media (max-width: 767px) {
  .megamenu {
    top: 80px !important;
  }

  .megamenu.closed {
    transform: translate(-120%, 0) !important;
    opacity: 1;
  }

  .megamenu {
    transform: translate(0, 0) !important;
  }
}

@media (max-width: 480px) {
  .megamenu > .row {
    padding: 3.6rem 1rem 2rem 1rem !important;
  }
  .megamenu {
    background: #fff !important;
  }
}

.megamenu a.ofertas-lnk {
  font-weight: 600;
  color: blue !important;
  font-size: 1.2rem !important;
}

.megamenu a.outlet-lnk {
  font-weight: 600 !important;
  color: red !important;
  font-size: 1.2rem !important;
}

/* ROLLOVER IMAGES ESTANCIAS */
.room-rollover {
  width: 100%;
  max-width: 300px;
  aspect-ratio: 1;
  position: relative;
}

.room-rollover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
  position: absolute;
  inset: 0;
  margin-top: 1.5rem;
  border-radius: 0.275rem;
}

.extra-1 {
  flex: 1 0 35% !important;
}

.extra-2 {
  flex: 0 1 60% !important;
  width: 60%;
}

.extra-1 ul:nth-of-type(1) > li {
  transition: all 0.3s ease;
}
.extra-1 ul:nth-of-type(1) > li:nth-of-type(1) {
  font-weight: 600;
}
.extra-1:has(li:hover) > ul > li:not(:hover) {
  font-weight: 400;
}
.extra-1 ul:nth-of-type(1) > li:hover {
  font-weight: 600;
}
.room-rollover img:nth-of-type(1) {
  opacity: 1;
}

.extra-1:has(li:hover) > .room-rollover img {
  opacity: 0;
}

.extra-1:has(li:nth-of-type(1):hover) > .room-rollover img:nth-of-type(1),
.extra-1:has(li:nth-of-type(2):hover) > .room-rollover img:nth-of-type(2),
.extra-1:has(li:nth-of-type(3):hover) > .room-rollover img:nth-of-type(3),
.extra-1:has(li:nth-of-type(4):hover) > .room-rollover img:nth-of-type(4),
.extra-1:has(li:nth-of-type(5):hover) > .room-rollover img:nth-of-type(5),
.extra-1:has(li:nth-of-type(6):hover) > .room-rollover img:nth-of-type(6) {
  opacity: 1;
}

.extra-1 h3,
.extra-2 h3 {
  position: relative;
}
.extra-1 > h3::after,
.extra-2 > h3::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  background: #ccc;
  left: 0;
  bottom: 0;
  margin-bottom: -4px;
}
.extra-2 > h3::after {
  width: calc(100% - 6rem);
  margin-left: 3rem;
}
.extra-2 > div {
  transform: scale(0.8) !important;
  transform-origin: top center;
}
.extra-2 > div:nth-of-type(1) {
  margin-top: 24px;
  margin-bottom: -28px !important;
}

.extra-2 > div > * {
  transform: scale(0.8) !important;
}

.extra-2 > div:hover {
  transform: scale(0.85) !important;
}

.extra-2 ul,
.extra-2 h3 {
  padding-left: 3rem !important;
}

.extra-2 > div > .banner-topmenu__content {
  padding: 1.5rem !important;
}

/* FIX ORBITVU GALLERY */
#ovgallery {
  z-index: 0;
}

/* CATEGORIAS HOME */

@media (max-width: 768px) {
  .homecat > .col {
    display: block;
  }
}

.homecat .col {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  min-height: 300px;
  position: relative;
}

.homecat {
  position: relative;
  margin: 0rem auto 3rem auto;
  max-width: 1440px;
}

.homecat::after {
  /*content: '';*/
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  bottom: 0;
  margin-bottom: -3rem;

  background: linear-gradient(
    to right,
    transparent 10%,
    rgba(0, 0, 0, 0.15) 25%,
    rgba(0, 0, 0, 0.2) 50%,
    rgba(0, 0, 0, 0.15) 75%,
    transparent 90%
  );
}

.skeleton-categories,
.skeleton-categories.swiper {
  width: 100%;
  /*margin:1rem auto 2rem auto;
        padding:0 30px;*/
  height: min-content;
  position: relative;
  padding: 0 1rem;
  margin-bottom: 1rem;
}

/*   .skeleton-categories > .row { // OLD
                display: grid;
        grid-template-columns: repeat(auto-fit, minmax(min(275px, 100%), 1fr));
        grid-template-rows: repeat(2, 1fr);
        grid-gap: 15px;
        padding:0 30px;

    }*/
.skeleton-categories {
  scroll-snap-type: block mandatory;
  -ms-overflow-style: none;
  /* IE and Edge */
  scrollbar-width: none;
  /* Firefox */
  position: relative;
  overflow: auto;
  /*aspect-ratio: 100 / 23.4*/
}

.skeleton-categories > .categories-wrap {
  display: grid;
  /*grid-template-columns: repeat(auto-fit, minmax(min(225px, 100%), 1fr));*/
  grid-template-columns: repeat(6, 1fr);
  grid-template-rows: auto;
  padding: 0 0px;
  grid-auto-rows: min-content;
  overflow: hidden;
  gap: 1rem;
  width: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  transition-property: display, opacity, z-index;
  transition-duration: 250ms;
  transition-behavior: allow-discrete;
  margin-bottom: 1rem;
}

.categories-wrap.behind,
.product_row.behind {
  opacity: 1;
  z-index: 0;
  position: relative;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

@media (max-width: 768px) {
  .categories-wrap.behind {
    opacity: 1;
    z-index: 0;
    position: relative;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: none;
  }
}

.categories-wrap.infront,
.product_row.infront {
  opacity: 1;
  z-index: 2;
  position: relative;
}

.titulo-y-controles {
  flex: 0 1 100%;
  position: relative;
}

.titulo-y-controles > .scroller,
.skeleton-products .h2featured > .scroller {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(-0%, -60%);
  aspect-ratio: 1 / 2;
  width: 40px;
}

.titulo-y-controles > .scroller > .scroll-item,
.skeleton-products .h2featured > .scroller > .scroll-item {
  width: 40px;
  aspect-ratio: 1 / 1;
  background-color: transparent;
  cursor: pointer;
}

.titulo-y-controles > .scroller > .scroll-item > span,
.skeleton-products .h2featured > .scroller > .scroll-item > span {
  font-size: 2.5rem !important;
}

.titulo-y-controles > .scroller > .scroll-item:nth-of-type(1),
.skeleton-products .h2featured > .scroller > .scroll-item:nth-of-type(1) {
  background-position: top center;
}

.titulo-y-controles > .scroller > .scroll-item:nth-of-type(2),
.skeleton-products .h2featured > .scroller > .scroll-item:nth-of-type(2) {
  background-position: bottom center;
}

.skeleton-categories::-webkit-scrollbar {
  display: none;
}

/*    .skeleton-categories > .categories-wrap::before {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        width: 100%;
        background: white !important;
        z-index: 9;
        height: 2rem !important;
        background: rgb(255, 255, 255);
        background: -moz-linear-gradient(3deg, rgba(255, 255, 255, 1) 47%, rgba(255, 255, 255, 0) 100%);
        background: -webkit-linear-gradient(3deg, rgba(255, 255, 255, 1) 47%, rgba(255, 255, 255, 0) 100%);
        background: linear-gradient(3deg, rgba(255, 255, 255, 1) 47%, rgba(255, 255, 255, 0) 100%);
        filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff",endColorstr="#ffffff",GradientType=1);
    }
*/
.skeleton-categories .cat-container {
  scroll-snap-align: start;
}

.skeleton-categories .category-item {
  background-color: #fff;
  padding: 10px;
  text-align: center;
  margin-bottom: 10px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  overflow: hidden;
  position: relative;
  border-radius: 8px;
  height: 100%;
}

.skeleton-categories .category-item a {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  text-indent: -99999px;
}

.skeleton-categories .category-item > figure {
  width: 100%;
  aspect-ratio: 1 / 1;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
}

.skeleton-categories .category-item > figure img {
  width: 60%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  mix-blend-mode: multiply;
  position: absolute;
  transition: transform 0.2s ease-in-out;
}

span.cat-title-main-page {
  font-size: 1.3em;
  font-weight: 500;
  display: block;
  transition: all 0.2s ease-out;
}

span.price-desde {
  font-weight: 400;
  color: #555;
  font-size: 1em;
  clear: both;
  display: block;
  transition: all 0.3s ease-out;
}

h2.destacadas-title {
  font-size: 2.5em;
  margin-bottom: 1rem;
  margin-top: 3rem;
  width: 100%;
  padding: 0;
  display: block;
  position: relative;
}

@media (max-width: 1024px) {
  /*.skeleton-categories > .row {
            grid-template-columns: repeat(4, 1fr);
            grid-template-rows: repeat(3, 1fr);
        }*/
}

.categorieshome-wrapper {
  padding: 2rem 0;
}

@media (max-width: 599px) {
  .skeleton-categories {
    padding: 0;
  }

  .categorieshome-wrapper {
    margin: 0 !important;
    padding: 2rem 0 0 0 !important;
  }

  span.price-desde {
    font-size: 0.75rem;
  }

  /*.skeleton-categories > .row {
            grid-template-columns: repeat(3, 1fr);
            grid-template-rows: repeat(2, 1fr);
            grid-gap: 10px;
            padding:0 15px;
        }*/
  .span.cat-title-main-page {
    font-size: 0.9rem;
  }

  .cat-container:nth-last-child(n + 7) {
    display: none;
  }
}

@media (hover: hover) {
  .skeleton-categories .category-item:hover > figure img {
    transform: translate(0%, -10%) scale(1.6);
  }

  .skeleton-categories .category-item:hover span.cat-title-main-page,
  .skeleton-categories .category-item:hover span.price-desde {
    transform: translate(0, -10px);
  }
}

@media (hover: none) {
  .skeleton-categories .category-item > figure img {
    transform: translate(0%, -10%) scale(1.6);
  }
}

@media (max-width: 1199px) {
  .titulo-y-controles {
    flex: 1 0 100%;
  }

  .skeleton-categories {
    flex: 1 0 100%;
  }

  .scroller {
    top: unset !important;
    bottom: 0 !important;
    right: 0 !important;
    transform: translate(0, 0) !important;
    width: 80px !important;
    aspect-ratio: 2 / 1 !important;
  }

  .scroller .scroll-item {
    display: block;
    float: left;
  }
}

.showmore {
  display: none;
}

@media (min-width: 768px) and (max-width: 989px) {
  .skeleton-categories > .categories-wrap {
    display: flex !important;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: center;
  }

  .skeleton-categories > .categories-wrap > div.cat-container {
    flex: 0 0 calc(18% - 0.25rem * 5) !important;
    width: calc(100% / 6 - 0.25rem * 5);
  }

  span.cat-title-main-page {
    font-size: 1rem !important;
  }
}

@media (min-width: 480px) and (max-width: 767px) {
  .skeleton-categories > .categories-wrap {
    display: flex !important;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: center;
  }

  .skeleton-categories > .categories-wrap > div.cat-container {
    flex: 0 0 calc(100% / 3 - 0.5rem) !important;
  }
}

@media (max-width: 480px) {
  body {
    overflow-x: visible;
    max-width: 100vw;
    max-width: 100svw;
  }

  .categories-wrap.infront {
    /*grid-template-columns: repeat(3, 110px) !important;
        	gap: .5rem !important;
        	padding: 0 !important; 
          */
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.3rem;
    justify-content: center;
    margin-bottom: 0.3rem !important;
  }

  .skeleton-categories .cat-container {
    /*flex: 1 0 calc(33.3% - .5rem * 2) ;*/
    width: 31%;
  }

  .categories-wrap.behind.visible {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.3rem;
    justify-content: center;
  }

  .showmore {
    display: block;
    float: none;
    margin: 1rem auto;
    background: var(--bs-gray-200);
    border: 1px solid var(--bs-gray-300);
  }

  h2.destacadas-title {
    font-size: 1.7rem !important;
    margin-top: 1rem !important;
    margin-bottom: 2rem !important;
  }

  .cat-title-main-page {
    font-size: 1rem !important;
  }

  .homecat {
    position: relative;
    margin: 0rem auto 1rem auto;
  }

  .homecat .col {
    flex-wrap: wrap;
    justify-content: start;
    min-height: 200px;
    overflow-x: hidden;
    position: relative;
  }

  .skeleton-products h2 {
    font-size: 2rem !important;
  }

  .homebanners-heading > h2 {
    font-size: 1.5rem !important;
  }
}

/* SECCION REVIEWS HOME */

/* SECCION ESTANCIAS HOME */

#content-wrapper:has(.parallax-container) {
  margin-left: -15px;
  margin-right: -15px;
}

.parallax-container {
  min-height: calc(100vh - 80px);
  min-height: calc(100svh - 80px);
  perspective: 10px;
  overflow-y: hidden;
  overflow-x: auto;
  display: flex;
  justify-content: flex-start;
  scrollbar-width: 0;
  scrollbar-color: transparent transparent;
  scroll-snap-type: x mandatory;
}

.parallax-container::-webkit-scrollbar {
  display: none;
}

.parallax-section {
  position: relative;
  height: calc(100vh - 80px);
  height: calc(100svh - 80px);
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 100%;
  overflow: hidden;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

@media (min-height: 768px) {
  html,
  body {
    scroll-snap-type: y proximity;
    scroll-behavior: smooth;
  }

  section#content.page-home {
    scroll-snap-align: start;
    scroll-snap-stop: always;
    min-height: 100vh;
    min-height: 100svh;
    scroll-margin-block-start: 80px;
  }

  .parallax-container {
    min-height: calc(100vh - 80px);
    min-height: calc(100svh - 80px);
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }

  .parallax-section {
    height: calc(100vh - 80px);
    height: calc(100svh - 80px);
  }
}

@media (max-width: 575px) {
  .parallax-section {
    height: calc(100vh - 80px);
    height: calc(100svh - 80px);
  }
}

.parallax-bg {
  position: absolute;
  top: 0;
  width: 120%;
  height: 120%;
  background-size: cover;
  background-position: center center;
  filter: brightness(0.6);
  will-change: transform;
  transform: translateZ(-10px) scale(1.15);
}

.content-overlay {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  max-width: 1200px;
  width: 100%;
  padding: 0 2rem;
  opacity: 0;
  transform: translateY(60px);
  transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.content-overlay.visible {
  opacity: 1;
  transform: translateY(0);
}

.text-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: white;
}

.section-tag {
  color: #ffdd00;
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 1rem;
  transform: translateX(-30px);
  opacity: 0;
  transition: all 0.6s ease 0.2s;
}

.visible .section-tag {
  transform: translateX(0);
  opacity: 1;
}

.main-title {
  font-size: 4rem;
  font-weight: 900;
  line-height: 0.9;
  margin-bottom: 1.5rem;
  background: linear-gradient(135deg, #ffdd00, #ffdd00);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  transform: translateX(-40px);
  opacity: 0;
  transition: all 0.8s ease 0.4s;
}

.visible .main-title {
  transform: translateX(0);
  opacity: 1;
}

.description {
  font-size: 1.1rem;
  line-height: 1.6;
  color: #cccccc;
  margin-bottom: 2rem;
  transform: translateX(-30px);
  opacity: 0;
  transition: all 0.6s ease 0.6s;
}

.visible .description {
  transform: translateX(0);
  opacity: 1;
}

.cta-button {
  display: inline-flex;
  align-items: center;
  padding: 1rem 2rem;
  background: linear-gradient(135deg, #ffdd00, #ffdd00);
  color: #000;
  text-decoration: none;
  border-radius: 50px;
  font-weight: 600;
  font-size: 1rem;
  width: fit-content;
  transition: all 0.3s ease;
  transform: translateX(-30px);
  opacity: 0;
  transition: all 0.6s ease 0.8s;
}

.visible .cta-button {
  transform: translateX(0);
  opacity: 1;
}

.cta-button:hover {
  transform: translateY(-3px) scale(1.05);
}

.image-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  transform: translateX(60px);
  opacity: 0;
  transition: all 0.8s ease 0.3s;
}

.visible .image-grid {
  transform: translateX(0);
  opacity: 1;
}

.room-card {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  aspect-ratio: 1;
  cursor: pointer;
  transition: all 0.4s ease;
}

.room-card > a {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 2;
  text-indent: -9999px;
}

.room-card:hover {
  transform: translateY(-10px) scale(1.02);
}

.room-card:nth-child(1) {
  grid-column: span 2;
  aspect-ratio: 2/1;
}

.room-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.room-card:hover .room-image {
  transform: scale(1.1);
}

.room-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));
  padding: 2rem;
  color: white;
}

.room-title {
  font-size: 1.3rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}

.room-subtitle {
  font-size: 0.9rem;
  color: #ffdd00;
  font-weight: 500;
}

/* Estilos específicos para cada sección */
.living-section {
  background: linear-gradient(135deg, #1a4d3a, #0d2818);
}

.kitchen-section {
  background: linear-gradient(135deg, #4d3a1a, #28180d);
}

.bedroom-section {
  background: linear-gradient(135deg, #3a1a4d, #180d28);
}

/* Responsive */
@media (max-width: 768px) {
  .content-overlay {
    grid-template-columns: 1fr;
    gap: 2rem;
    text-align: center;
  }

  .main-title {
    font-size: 2.5rem;
  }

  .image-grid {
    order: -1;
  }

  .room-card:nth-child(1) {
    grid-column: span 1;
    aspect-ratio: 1;
  }

  .cta-button {
    position: relative;
    float: none;
    margin: 0.5rem auto;
  }

  .room-title {
    font-size: 1rem;
  }

  .room-subtitle {
    display: none;
  }

  .bedroom-section .room-card:nth-of-type(1) {
  }
}

/* Scroll indicator */
.parallax-container .scroll-container-start,
.parallax-container .scroll-container-middle,
.parallax-container .scroll-container-end {
  position: absolute;
  bottom: 0.5rem;
  left: 50%;
  transform: translateX(-50%);
  color: white;
  font-size: 0.8rem;
  z-index: 100;
  animation: bounce-text 2s infinite;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 99;
}

.parallax-container .desktop_text {
  font-size: 1rem;
}
.parallax-container .mobile_text {
  display: block;
}

.parallax-container .desktop_text {
  display: none;
}

@media (min-width: 768px) {
  .parallax-container .scroll-container-start > span.material-symbols-outlined,
  .parallax-container .scroll-container-middle > span.material-symbols-outlined,
  .parallax-container .scroll-container-end > span.material-symbols-outlined {
    cursor: pointer;
    pointer-events: all;
  }

  .parallax-container .mobile_text {
    display: none;
  }

  .parallax-container .desktop_text {
    display: block;
  }
}

@keyframes bounce-text {
  0%,
  20%,
  50%,
  80%,
  100% {
    transform: translateX(-50%) translateY(0);
  }

  40% {
    transform: translateX(-50%) translateY(-10px);
  }

  60% {
    transform: translateX(-50%) translateY(-5px);
  }
}

@media (max-width: 575px) {
  div.image-grid > .room-card:nth-of-type(3) {
    display: none;
  }

  .room-overlay {
    padding: 2rem 0.5rem 1rem 0.5rem !important;
  }
}

/* NUEVOS BANNERS TOP HOME */

#top-banners {
  width: 100%;
  display: grid;
  grid-template-areas: "mid mid1 mid2";
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: 1fr;
  grid-column-gap: 0.8rem;
  grid-row-gap: 0.7rem;
  margin: 0;
  padding: 2rem 0rem 0.7rem 0rem;
  aspect-ratio: 12 / 2;
  position: relative;
}

/*	div#top-banners::after {
	    position: absolute;
	    top: 0;
	    content: '';
	    left: 0;
	    width: 100%;
	    background: rgb(255, 255, 255);
	    background: -moz-linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(51, 51, 51, 0.5) 50%, rgba(255, 255, 255, 1) 100%);
	    background: -webkit-linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(51, 51, 51, 0.5) 50%, rgba(255, 255, 255, 1) 100%);
	    background: linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(51, 51, 51, .5) 50%, rgba(255, 255, 255, 1) 100%);
	    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff",endColorstr="#ffffff",GradientType=1);
	    height: 1px !important;
	}*/
.probanner-wrap .pro-banner {
  grid-area: pro;
  background-color: #1b1c20;
  aspect-ratio: 18 / 1;
  padding: 10px 30px;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  margin: 0 0rem 0 0rem;
  border-radius: 0.325rem;
}

.probanner-wrap .pro-banner > div {
  display: flex;
  align-content: center;
  align-items: center;
}

.probanner-wrap .pro-banner > .pro-text {
  text-align: center;
}

.probanner-wrap .pro-banner > div:nth-of-type(1) > img {
  max-height: 100%;
}

.probanner-wrap .pro-banner > div:nth-of-type(2) > h2 {
  color: white !important;
  font-weight: 400;
  margin: 0 !important;
  padding: 0 !important;
  font-size: clamp(0.7rem, 0.5216rem + 0.732vw, 1.3rem);
}

.probanner-wrap .pro-banner > div:nth-of-type(3) {
  aspect-ratio: 22 / 10;
  text-align: right;
  justify-content: flex-end;
}

.probanner-wrap .pro-banner > div:nth-of-type(3) > a {
  padding: 10px 14px;
  border: 1px solid #ffdd00;
  color: #ffdd00;
  border-radius: 8px;
  font-size: clamp(0.7rem, 0.5216rem + 0.732vw, 1.3rem);
}

@media (max-width: 989px) {
  #top-banners {
    /*grid-template-areas: none;
    grid-template-rows: 1fr;
    aspect-ratio: 18.9 / 5;
    grid-template-columns: repeat(2, 1fr);
    */
    padding: 1rem;
  }

  .mid1,
  .mid2 {
    grid-area: unset !important;
  }

  .probanner-wrap .pro-banner {
    margin: 0 1rem 0 1rem;
    aspect-ratio: 12 / 1;
  }

  .probanner-wrap .pro-banner > div:nth-of-type(3) > a {
    padding: 4px 6px;
  }

  #top-banners > div:nth-of-type(2),
  #top-banners > div:nth-of-type(3) {
    aspect-ratio: 6 / 3;
  }

  #top-banners > div:nth-of-type(1) {
    aspect-ratio: 12 / 6;
  }
}

@media (min-width: 600px) {
  .d-599-block {
    display: none !important;
  }
}

@media (max-width: 599px) {
  /* #top-banners {
    display: none;
  }
  .pro-banner {
    display: grid !important;
    grid-template-areas:
      "copy logo"
      "copy calltoaction";
    grid-template-rows: 0.5fr 0.5fr;
    grid-template-columns: 1.5fr 0.5fr;
  }
  .pro-banner.pro-banner-mobile {
    aspect-ratio: 200 / 99;
    padding: 0;
    display: flex !important;
    overflow: hidden;
  }
  .pro-banner > div:nth-of-type(1) {
    grid-area: logo;
    order: 2;
  }
  .pro-banner > div:nth-of-type(1) > img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
  }
  .pro-banner > div:nth-of-type(2) {
    grid-area: copy;
    order: 1;
  }
  .pro-banner > div:nth-of-type(3) {
    grid-area: calltoaction;
    order: 3;
  }*/
  .d-599-block {
  }

  .d-599-none {
    display: none !important;
  }
}

/*#top-banners > div {
  position: relative;
  overflow: hidden;
  border-radius: 0.325rem;
}
#top-banners > div a {
  background-size: cover;
  background-position: center center;
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  text-indent: -99999px;
  transition: all 0.2s ease-out;
}
#top-banners .banner-hero a {
  position: relative !important;
}
#top-banners > div a:hover {
  transform: scale(1.03);
  opacity: 0.8;
}
#top-banners > .banner-hero {
  grid-area: hero;
  background-color: #eee;
}
#top-banners > .mid1 {
  grid-area: mid1;
  background-color: #eee;
}
#top-banners > .mid2 {
  grid-area: mid2;
  background-color: #eee;
}*/

/* QUERIES 2025 THEME */

@media (max-width: 989px) {
  #main-menu-wrapper {
    display: flex;
    position: fixed !important;
    top: 88px;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    min-height: calc(100vh - 80px);
    overflow: hidden;
    opacity: 0;
    background-color: #fff;
    transition: opacity 0.3s ease-out allow-discrete,
      visibility 0.3s ease-out allow-discrete,
      transform 0.3s ease-out allow-discrete;
    z-index: -1;
    visibility: hidden;
    transform: translateY(-4rem);
  }

  .header-top #main-menu-wrapper.active {
    opacity: 1;
    display: flex !important;
    align-items: center;
    align-content: flex-start;
    flex-wrap: wrap;
    z-index: 9;
    visibility: visible;
    transform: translateY(0);
  }

  #close-menu {
    display: block;
    flex: 0 0 90% !important;
  }

  #menu-principal,
  #footer_sub_menu_211541 {
    display: flex;
    width: 94%;
    margin-bottom: 0;
    padding-bottom: 0;
    margin-top: 6px;
    position: static;
    align-content: center;
    justify-content: center;
    flex-direction: column;
    align-content: center;
    align-items: center;
    font-size: 1.3rem;
    float: none;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-top: 2rem !important;
  }

  #menu-principal > li {
    font-size: clamp(1.2rem, 0.635rem + 0.408vi, 2rem) !important;
  }

  .menu-icon {
    display: block;
  }

  #header .header-top,
  #header .header-top-mobile {
    align-items: stretch;
  }

  .imglogo {
    max-height: 60px;
    float: none;
    margin: 0 auto;
  }

  .logo-wrapper {
    flex: 1 1 auto;
  }

  .nav-icons {
    flex: 0 0 20%;
  }

  .menu-icon {
    flex: 0 0 20%;
  }

  #_desktop_logo {
    justify-content: center;
  }
}

@media (max-width: 767px) {
  #contact-button {
    /*display: none;*/
  }

  #account-button {
    /*display: none;*/
  }

  .logo-wrapper {
    flex: 1 60%;
  }

  #main-menu-wrapper {
    overflow: auto !important;
  }

  .menu-icon {
    flex: 0 0 10%;
  }

  .nav-icons.search-mobile {
    justify-content: flex-start !important;
  }

  #search-icon {
    aspect-ratio: 1 / 1;
    flex: 0 0 40px !important;
  }
}

@media (min-width: 768px) {
  #_desktop_top_menu_2 > ul.top-menu > li > div.popover {
    min-width: unset;
    max-width: unset;
    width: 100vw;
    margin-left: 0;
  }
}

@media (max-width: 480px) {
  .logo-wrapper {
    flex: 1 1 auto;
  }

  #header .header-top,
  .header-top-mobile {
    padding: 7.5px 15px !important;
  }
}

@media (max-width: 575px) {
  .header-top > .menu-icon {
    flex: 0 1 10%;
  }

  .nav-icons.search-mobile {
    flex: 0 0 20%;
  }

  .header-top .nav-icons {
    display: flex;
    gap: 0.2rem !important;
    align-items: center;
    justify-content: flex-end;
  }

  #cart-off span {
    color: #555;
  }

  .menu-icon span {
    font-size: 2rem !important;
  }

  #header .header-top .logo-wrapper {
    flex: 1 1 auto;
    justify-content: flex-start !important;
  }

  #header .header-top .logo-wrapper img {
    max-width: 150px;
  }

  .contact-inner .contact-content {
    padding: 1rem 0 1rem 0;
  }

  #emplacementRecaptcha {
    max-width: 200px !important;
    overflow: hidden;
  }

  .header-top .icon-square {
    border: none;
    border-radius: 8px;
    padding: 8px;
    color: #222;
    text-align: center;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .header-top .icon-square .material-symbols-outlined {
    font-size: 24px;
  }

  #search-icon {
    justify-content: flex-start;
    width: unset !important;
    /* max-width: unset !important; */
    position: relative;
  }
}
body#authentication .g-recaptcha {
  transform: scale(0.8);
  margin: 0 0 1rem 0;
}
body:not(#index) {
  height: unset !important;
}

.bodyleft {
  margin: 0 0 0 300px;
  transition: margin 0.5s;
  -webkit-transition: margin 0.5s;
  transition-timing-function: cubic-bezier(0.42, 0.27, 0, 0.99);
  -webkit-transition-timing-function: cubic-bezier(0.42, 0.27, 0, 0.99);
}

@media (max-width: 767px) {
  nav.header-nav {
    transition: margin 0.4s;
    -webkit-transition: margin 0.4s;
    -moz-transition: margin 0.4s;
  }

  .bodyleft nav.header-nav {
    margin-left: 300px;
  }
}

/*MARGENES Y PADDINGS*/

.mtop-h {
  margin-top: 0.5rem;
}

.mtop-1 {
  margin-top: 1rem;
}

.mtop-2 {
  margin-top: 2rem;
}

.mtop-3 {
  margin-top: 3rem;
}

.mtop-4 {
  margin-top: 4rem;
}

.mtop-5 {
  margin-top: 5rem;
}

.mtop-6 {
  margin-top: 6rem;
}

.mbotom-h {
  margin-bottom: 0.5rem;
}

.mbottom-1 {
  margin-bottom: 1rem;
}

.mbottom-2 {
  margin-bottom: 2rem;
}

.mbottom-3 {
  margin-bottom: 3rem;
}

.mbottom-4 {
  margin-bottom: 4rem;
}

.mbottom-5 {
  margin-bottom: 5rem;
}

.mbottom-6 {
  margin-bottom: 6rem;
}

.mblock-h {
  margin-block: 0.5rem;
}

.mblock-1 {
  margin-block: 1rem;
}

.mblock-2 {
  margin-block: 2rem;
}

.mblock-3 {
  margin-block: 3rem;
}

.mblock-4 {
  margin-block: 4rem;
}

.mblock-5 {
  margin-block: 5rem;
}

.mblock-6 {
  margin-block: 6rem;
}

.mleft-h {
  margin-left: 0.5rem;
}

.mleft-1 {
  margin-left: 1rem;
}

.mleft-2 {
  margin-left: 2rem;
}

.mleft-3 {
  margin-left: 3rem;
}

.mleft-4 {
  margin-left: 4rem;
}

.mleft-5 {
  margin-left: 5rem;
}

.mleft-6 {
  margin-left: 6rem;
}

.mright-h {
  margin-right: 0.5rem;
}

.mright-1 {
  margin-right: 1rem;
}

.mright-2 {
  margin-right: 2rem;
}

.mright-3 {
  margin-right: 3rem;
}

.mright-4 {
  margin-right: 4rem;
}

.mright-5 {
  margin-right: 5rem;
}

.mright-6 {
  margin-right: 6rem;
}

.minline-h {
  margin-inline: 0.5rem;
}

.minline-1 {
  margin-inline: 1rem;
}

.minline-2 {
  margin-inline: 2rem;
}

.minline-3 {
  margin-inline: 3rem;
}

.minline-4 {
  margin-inline: 4rem;
}

.minline-5 {
  margin-inline: 5rem;
}

.minline-6 {
  margin-inline: 6rem;
}

.pbottom-h {
}

.pbottom-1 {
}

.pbottom-2 {
}

.pbottom-3 {
}

.pbottom-4 {
}

.pbottom-5 {
}

.pbottom-6 {
}

.ptop-h {
}

.ptop-1 {
}

.ptop-2 {
}

.ptop-3 {
}

.ptop-4 {
}

.ptop-5 {
}

.ptop-6 {
}

.pblock-h {
}

.pblock-1 {
}

.pblock-1 {
}

.pblock-1 {
}

.pblock-1 {
}

.pblock-1 {
}

.pblock-1 {
}

/* ENLACES */
a.white-link {
  color: white !important;
}

a.block-link {
  display: block;
  clear: both;
}

.dropdown-item:focus,
.dropdown-item:hover {
  color: #1b53b7;
}

#contact-link a {
  color: #fff;
}

.superuser-front-container {
  z-index: 1 !important;
}

@media (min-width: 768px) and (max-width: 992px) {
  .user-info > .logout ~ .account span {
    display: inline-block;
    width: 8rem;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

@media (min-width: 992px) {
  .logo {
    width: 200px;
    max-width: none !important;
  }
}

@media (max-width: 575px) {
  .top-logo#_mobile_logo h1,
  #_mobile_logo {
    text-align: center;
  }
}

/* MAQUETADO GENERAL */

/* OCULTAR NOMBRE DEL USUARIO SI ES MUY LARGO */

#header .header-nav .user-info a.account > span {
  display: inline-block;
  max-width: 250px;
  text-overflow: ellipsis;
  overflow: hidden;
}

/* Enlaces - General */
.sbFinderSearch::after {
  content: "";
  width: 200px;

  aspect-ratio: 25 / 8.6;
  background: url("../img/logo-web3.webp");
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 99;
  margin: 10px 0 0 10px;
}

.sbInputOutlined:focus,
.sbInputOutlined:hover,
.sbInputBottomLine:focus,
.sbInputBottomLine:hover {
  border: 1px solid var(--bs-gray-400) !important;
  outline: 0;
}

input.sbSearch {
  border: 1px solid var(--bs-gray-400) !important;
}

.sbSearch:focus ~ .sbSearchIcon,
.sbSearch:focus-visible ~ .sbSearchIcon,
.sbSearch:hover ~ .sbSearchIcon {
  color: var(--bs-gray-500) !important;
}

@media (max-width: 769px) {
  .sbFinderSearch::after {
    background: url("../img/simbolo.webp");
    width: 50px;
    background-size: cover;
    aspect-ratio: 1 / 1;
    margin: 27px 0 0 15px;
  }

  .sbSearchWrapper {
    grid-column: 2 / span 10 !important;
  }
}

@media (max-width: 585px) {
  .sbSearchWrapper {
    grid-column: 3 / span 9 !important;
  }

  button.sbMobileCloseHeaderButton {
    border-color: transparent !important;
  }
}

a.telefonolink {
  color: white !important;
}

a.btn-order-list:link,
a.btn-order-list:visited {
  display: block;
  text-align: center;
  width: 100%;
  height: 100%;
  background: transparent;
  border: 1px solid #00338e;
  padding: 0.2rem 0.2rem !important;
  margin: 0.2rem 0;
}

/* Estilo enlaces en lista de pedidos (Datos, pedir de nuevo) */

a.btn-order-list:hover {
  background: #00338e;
  color: white;
}

/* Cabecera ancha index y otras páginas */
.max1660 {
  max-width: 1660px;
}

body {
  max-width: 100%;
  overflow-x: visible;
}

/*a:link, a:visited {color:#003aa1;}*/
a:hover {
  color: #1b53b7;
}

#header .header-top a[data-depth="0"] {
  color: #fff;
}

#header .header-nav {
  border-bottom: none;
}

.header-nav .dropdown .expand-more {
  color: #fff;
}

.header-nav .user-info a {
  color: #fff !important;
}

#header .header-nav .blockcart {
  background: transparent;
}

@media (max-width: 767px) {
  #header .header-nav {
    background: #00338e;
    margin-bottom: 0.625rem;
    color: #f4f4f4;
  }

  #header .header-top a[data-depth="0"] {
    color: #232323;
  }
}

#header {
  transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  box-shadow: 0 10px 6px -10px rgba(0, 0, 0, 0.3);
}

#wrapper .breadcrumb {
  padding-block-start: 0.6rem;
  padding-inline: 0.75rem;
  padding-block-end: 0.2rem;
  margin-top: 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  background: #fff;
  font-size: 1rem;
}

#wrapper .breadcrumb li::after {
  content: "\e5e1";
  font-family: "Material Icons";
  font-size: 0.7rem;
  color: #aaa;
  display: block;
  margin: auto 0.3rem;
  line-height: 1;
  vertical-align: middle;
}

@media (min-width: 768px) {
  #wrapper .breadcrumb li::after {
    display: inline;
  }
}

#wrapper .breadcrumb li a {
  display: block;
  float: left;
  margin-top: 0;
  color: var(--bs-link-color-rgb);
}

#wrapper .breadcrumb li a:hover {
  color: var(--bs-link-hover-color) !important;
}

#wrapper .breadcrumb ol {
  padding-left: 0;
  margin-bottom: 0;
  font-size: 0.8rem;
  display: flex;
  flex-wrap: nowrap;
  list-style: none;
}

#wrapper .breadcrumb ol li:nth-last-of-type(1)::after {
  content: none;
}

#header .top-menu a[data-depth="0"]:hover {
}

#header a:hover {
  color: #ccc;
}

#header .header-nav .cart-preview.active {
  background-color: #306dd8;
}

#header .header-top .menu {
  padding: 0 !important;
}

.footer-container li a:hover {
  color: #1b53b7;
}

#header .header-nav .user-info .logged {
  color: #1b53b7;
}

@media (max-width: 767px) {
  #header .header-nav .user-info .logged {
    color: #91eeff;
  }
}

.cart-items a.label:hover {
  color: #1b53b7;
}

.cart-items span.price {
  font-size: 1.1rem;
}

.product-line-grid-right .cart-line-product-actions .remove-from-cart,
.product-line-grid-right .product-price .remove-from-cart {
  color: #ea5252;
}

.product-line-grid-right .cart-line-product-actions a.remove-from-cart:hover,
.product-line-grid-right .product-price a.remove-from-cart:hover {
  color: #d63535 !important;
}

#custom-text {
  font-size: 0.9rem;
  text-align: justify;
}
#custom-text h2.masterhome {
  font-size: clamp(1.5rem, 1.1667rem + 1.1111vw, 2.5rem);
}

#custom-text .text-center {
  text-align: center;
}

#custom-text .mb-5 {
  margin-bottom: 3em;
}

#custom-text h1 {
  font-size: 1.5rem;
  text-transform: inherit;
}

#custom-text h2 {
  font-size: 2rem;
  text-transform: inherit;
  text-align: center;
  margin-bottom: 0.5rem;
  font-weight: 500 !important;
  line-height: 1.2;
}

div.row:has(> .breadcrumb) {
  float: none;
  margin-left: auto;
  margin-right: auto;
  background: white;
}

@media (max-width: 575px) {
  div.row:has(> .breadcrumb) {
    width: 100svw;
    margin-left: calc(-0.5 * var(--bs-gutter-x));
    margin-right: calc(-0.5 * var(--bs-gutter-x));
  }

  .breadcrumb::-webkit-scrollbar {
    display: none;
  }

  .breadcrumb {
    padding-block-start: 0.2rem;
    padding-block-end: 0.1rem;
    padding-inline: 0.4rem;
    display: flex;
    overflow-x: auto;
    -ms-overflow-style: none;
    /* IE and Edge */
    scrollbar-width: none;
    margin-bottom: 0 !important;
  }

  .breadcrumb li {
    flex: 1 0 auto;
  }

  .breadcrumb li:nth-last-of-type(1) {
    margin-right: 1rem;
  }

  .breadcrumb ol {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    /* para scroll suave en iOS */
    scrollbar-width: none;
    /* Firefox */
  }

  .breadcrumb ol::-webkit-scrollbar {
    display: none;
    /* Chrome/Safari */
  }

  .breadcrumb li {
    flex: 0 0 auto;
    white-space: nowrap;
    display: flex;
    align-items: center;
  }
}

#custom-text h2 a:link,
#custom-text a:visited {
  color: #797979;
}

#custom-text h3 {
  font-size: 1.1rem;
  text-transform: inherit;
  color: #797979;
}

#custom-text p {
  text-transform: inherit;
  color: #666;
}

#custom-text .hometext {
  overflow: hidden;
  position: relative;
  margin-bottom: 50px;
  transition: all ease-out 0.3s;
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  gap: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
  max-width: 1660px;
  float: none;
  margin-inline: auto;
}

#custom-text .hometext .col h4 {
  font-size: 1.5rem;
  margin-bottom: 1rem;
  font-weight: 300;
  text-align: left;
}

.hometext .col {
  flex: 1 0 0%;
}

.hometext .col:nth-last-of-type(1) + h3 {
  flex: 1 0 100% !important;
  font-size: 1.75rem !important;
}

#custom-text {
  position: relative;
}

@media (min-width: 768px) {
  #custom-text {
    padding: 4rem 0 3rem 0;
  }
}

.boton-expandir-custom-text {
  --bs-btn-padding-x: 0.75rem;
  --bs-btn-padding-y: 0.375rem;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, -105%);
  display: block;
  margin: 1rem auto -2rem auto;
  background: var(--bs-gray-200);
  border: 1px solid var(--bs-gray-300);
  border-radius: 10px;
  box-shadow: none !important;
  padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
  width: calc(100% - 4rem);
  max-width: 90%;
  text-align: center;
  z-index: 99;
  transition: opacity 0.3s ease;
}

input#expandir-custom-text[type="checkbox"] {
  display: none;
}

input#expandir-custom-text:checked ~ .custom-text-wrapper {
  max-height: 800px;
}

input#expandir-custom-text:checked + label {
  opacity: 0;
}

body#product input#expandir-custom-text:checked ~ .custom-text-wrapper {
  max-height: 3800px;
  padding-bottom: 1rem;
}

body#product input#expandir-custom-text:checked ~ .custom-text-wrapper::after {
  display: none;
}

label.boton-expandir-custom-text > span:nth-of-type(2) {
  display: none;
}

input#expandir-custom-text:checked
  + label.boton-expandir-custom-text
  > span:nth-of-type(2) {
  display: inline-block;
}

input#expandir-custom-text:checked
  + label.boton-expandir-custom-text
  > span:nth-of-type(1) {
  display: none;
}

@media (max-width: 575px) {
  input#expandir-custom-text:checked ~ .custom-text-wrapper {
    max-height: 3800px !important;
  }
  .boton-expandir-custom-text {
    margin: 1rem auto -1rem auto !important;
  }
}

input#expandir-custom-text:checked + .custom-text-wrapper::after {
  opacity: 0;
}
@media(min-width:768px) {
  body#product .product-additional-info .tabs {
    max-width:419px !important;
  }
  body#product .product-quantity {
    max-width:419px !important;
    justify-content: space-between;
  }
  body#product .product-quantity > .qty {
    flex: 1 0 30% !important;
    marign: 0 !important
  }
  body#product .product-quantity > .add {
    flex: 1 0 calc(70% - .625rem) !important;
    margin:0 !important;
  }
    body#product .product-quantity > .add > button {
    width: 100% !important;
  }
}
.custom-text-wrapper {
  overflow: hidden;
  max-height: 200px;
  position: relative;
  margin-bottom: 50px;
  transition: all ease-out 0.3s;
}

body#product .custom-text-wrapper {
  transition: all ease-out 0.6s;
}
body#product .custom-text-wrapper h2 {
  font-size: clamp(1.3rem, 0.5rem + 3.65vw, 1.7rem);
  margin-top:1ch;
}

.custom-text-wrapper::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 90px;
  bottom: 0;
  background: -moz-linear-gradient(
    0deg,
    rgba(255, 255, 255, 1) 0%,
    rgba(255, 255, 255, 0) 100%
  );
  background: -webkit-linear-gradient(
    0deg,
    rgba(250, 250, 250, 1) 0%,
    rgba(255, 255, 255, 0) 100%
  );
  background: linear-gradient(
    0deg,
    rgba(255, 255, 255, 1) 0%,
    rgba(255, 255, 255, 0) 100%
  );
  transition: all ease-out 0.3s;
}

@media (max-width: 767px) {
  #custom-text {
    padding: 3.125rem 2.125rem;
  }
}

.header-top > .container > .row > .col-md-10.col-sm-12.position-static {
  position: static;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
}

.carousel .carousel-control .icon-next:hover i,
.carousel .carousel-control .icon-prev:hover i {
  color: #ffdd00;
}

@media (min-width: 1200px) {
  .search-widget {
    min-width: 15.63rem;
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  .search-widget {
    min-width: 0;
    top: 0;
    margin-top: 0;
  }

  .header-top > .container > .row > .col-md-10.col-sm-12.position-static {
    padding-left: 40px;
  }

  #header .header-top .menu {
    margin-top: 31px;
    margin-bottom: 0;
  }

  #header .header-nav {
    margin-bottom: 0px;
  }
}

@media (max-width: 767px) {
  header nav.header-nav {
    position: fixed;
    width: 100vw;
    top: 0;
    left: 0;
    z-index: 9999;
  }

  .header-top #mobile_top_menu_wrapper {
    padding-top: 4rem;
  }

  /*	#search_widget {padding-top:5rem;} */
  #header .header-nav .top-logo {
    padding-top: 0px;
  }

  #header .header-nav .top-logo img {
    max-height: 30px;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  #header .header-top .menu {
    margin-top: 16px;
    padding-left: 0;
  }

  .header-top > .container > .row > .col-md-10.col-sm-12.position-static {
    justify-content: center;
  }

  .search-widget {
    width: 100%;
    position: relative;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
    z-index: 9;
  }
}

@media (min-width: 480px) and (max-width: 479px) {
  .search-widget {
    top: 10px;
    position: relative;
  }

  #mobile_top_menu_wrapper {
    z-index: 99999;
  }
}

/* MAQUETADO BARRA DE BUSQUEDA EN MOVIL */
.searchlook {
  display: none;
}

.search-bar-wrap label {
  clear: none;
  float: right;
  display: inline;
}

.search-bar-wrap > #checksearch {
  display: none;
}

.search-bar-wrap > #checksearch:checked ~ .searchbarwrap {
  max-height: 100px;
}

@media (max-width: 480px) {
  .searchbarwrap {
    margin-right: -22.5%;
  }
}

@media (min-width: 481px) and (max-width: 575px) {
  .searchbarwrap {
    margin-right: -1.7%;
  }
}

@media (min-width: 576px) and (max-width: 599px) {
  .searchbarwrap {
    margin-right: -4.3%;
  }
}

@media (min-width: 600px) and (max-width: 767px) {
  .searchbarwrap {
    margin-right: -3.3%;
  }
}

#_mobile_search_button {
  display: none;
  position: relative;
}

@media (max-width: 767px) {
  #header .header-nav {
    z-index: 9;
  }

  #_mobile_search_button {
    display: block;
  }

  .searchlook {
    display: block;
    margin-top: 0.9375rem;
    color: white !important;
  }

  .searchlook > div {
    padding: 1px 5px 0 0;
  }

  .searchlook > div > .material-icons {
    font-size: 1.3em;
    cursor: pointer;
    color: white;
  }

  .searchbarwrap {
    display: none;
    overflow: hidden;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 99999;
    width: 100vw !important;
    margin: 0;
  }

  .searchbarwrap #search_widget {
    max-width: 100vw !important;
    width: calc(100% + 5px);
    position: relative;
  }

  /*.searchlook:hover ~ .searchbarwrap {max-height:50px;}*/
  .searchbarwrap #search_widget form input[type="text"] {
    padding: 20px;
    font-size: 1.3em;
  }

  .searchbarwrap #search_widget form button[type="submit"] {
    bottom: 50% !important;
    right: 3px !important;
    transform: translateY(50%) !important;
  }
}

/* MAQUETADO MENU HORIZONTAL CATEGORIAS MOVIL */
@media (max-width: 767px) {
  .search-bar-wrap #top-menu > li > .popover {
    position: fixed;
    top: 105px;
    left: 0;
    right: 0;
    width: 100vw !important;
    margin: 0;
    padding: 2em 0.5em;
  }

  .search-bar-wrap #top-menu > li > .popover > ul {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
  }

  .search-bar-wrap #top-menu > li > .popover > ul > li {
    padding: 0.1em 0;
    float: left;
    margin: 0.5em 0;
  }

  .search-bar-wrap #top-menu > li > .popover > ul > li > a {
    display: block;
    width: 100%;
    font-size: 0.8em;
    font-weight: 400;
  }

  .search-bar-wrap #top-menu > li > .popover > ul > li > a img {
    display: none;
  }

  #menu-icon {
    margin: 0 1rem 0 0.5rem !important;
  }
}

/* MAQUETADO MENU SUPERIOR  MENU POR CAPAS VERTICALES */
#_desktop_top_menu_2 > ul > li div.popover {
  /* Margen de 20px para el popover de + INFO */
  margin-top: 15px;
}

#_desktop_menu_2 ul#top-menu2 {
  margin-bottom: 0;
}

#_desktop_top_menu_2 ul#top-menu2 li {
  padding-top: 10px;
  padding-bottom: 7px;
}

li#lnk-inicio:hover,
li#lnk-home:hover,
li#lnk-accueil:hover,
li#lnk-startseite:hover {
  background-color: white !important;
}

li#lnk-inicio:hover a,
li#lnk-home:hover a,
li#lnk-accueil:hover a,
li#lnk-startseite:hover a {
  color: #444 !important;
}

li#lnk-contacto:hover,
li#lnk-contact-us:hover,
li#lnk-contacte-nos:hover,
li#lnk-contactez-nous:hover,
li#lnk-kontakt:hover {
  background-color: white !important;
}

li#lnk-contacto:hover a,
li#lnk-contact:hover a,
li#lnk-contacte-nos:hover a,
li#lnk-contactez-nous:hover a,
li#lnk-kontakt:hover a {
  color: #444 !important;
}

li#lnk-novedades:hover,
li#lnk-new-products:hover,
li#lnk-novos-produtos:hover,
li#lnk-nouveaux-produits:hover,
li#lnk-neue-produkte:hover {
  background-color: #fff !important;
}

li#lnk-novedades a,
li#lnk-new-products a,
li#lnk-novos-produtos a,
li#lnk-nouveaux-produits a,
li#lnk-neue-produkte a {
  color: #eee422 !important;
}

li#lnk-novedades:hover a,
li#lnk-new-products:hover a,
li#lnk-novos-produtos:hover a,
li#lnk-nouveaux-produits:hover a,
li#lnk-neue-produkte:hover a {
  color: #444 !important;
}

li#cms-category-2:hover {
  background-color: white !important;
}

li#cms-category-2:hover a {
  color: #444 !important;
}

@media (max-width: 767px) {
  /* - DESHABILITAR ENLACE INICIO PARA EL MENU SECUNDARIO MOVIL. NO SE USA EN ESTA VERSIÓN DE TEMPLATE */
  /* #_mobile_top_menu_2 > #top-menu2 > li:nth-of-type(1) {display:none;} */
}

.mobile-subm {
  display: none;
}

@media (min-width: 768px) {
  @media (hover: none) and (pointer: coarse) {
    #_desktop_top_menu > ul.top-menu > li > a {
      display: inline;
    }

    .mobile-subm {
      display: inline;
    }

    .mobile-subm input {
      display: none;
    }

    .mobile-subm label {
      display: inline;
    }

    #_desktop_top_menu_2 > ul.top-menu > li > a {
      display: inline;
    }

    #_desktop_top_menu_2 > ul.top-menu > li.conSub .mobile-subm i {
      color: white !important;
    }
  }
}

@media (min-width: 768px) {
  @keyframes fadeinpop {
    from {
      opacity: 0;
    }

    to {
      opacity: 1;
    }
  }

  @-webkit-keyframes fadeinpop {
    from {
      opacity: 0;
    }

    to {
      opacity: 1;
    }
  }

  #_desktop_top_menu_2 > ul.top-menu > li.conSub:hover > div.popover {
    display: block !important;
    opacity: 1;
    animation-name: fadeinpop;
    -webkit-animation-name: fadeinpop;
    animation-duration: 0.3s;
    -webkit-animation-duration: 0.3s;
    animation-timing-function: ease-out;
    -webkit-animation-timing-function: ease-out;
    animation-delay: 0;
    -webkit-animation-delay: 0;
    animation-iteration-count: 1;
    -webkit-animation-iteration-count: 1;
    animation-direction: forward;
    transition: opacity 0.2s ease-out;
    -webkit-transition: opacity 0.2s ease-out;
  }

  .menu-bar-wrap #_desktop_top_menu > ul {
    margin-bottom: 0;
    height: 100%;
    min-height: 49px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .menu-bar-wrap #_desktop_top_menu > ul > li {
    font-size: 1.1rem;
  }

  .menu-bar-wrap #_desktop_top_menu > ul > li > a:link,
  #_desktop_top_menu > ul > li > a:visited {
    color: #00338e;
  }

  .menu-bar-wrap #_desktop_top_menu > ul > li > a:hover {
    color: #666;
  }

  .menu-bar-wrap #_desktop_top_menu > ul > li > div.popover {
    /*left:0 !important;right:0 !important;position:absolute;width:auto;max-width:100vw;    width: 90vw;
    transform: translateX(calc((768px - 90vw)/2));*/
    box-shadow: none;
    background: rgb(255, 255, 255);
    background: -moz-linear-gradient(
      180deg,
      rgba(255, 255, 255, 0) 0%,
      rgba(255, 255, 255, 0) 3.7%,
      rgba(255, 255, 255, 1) 3.8%,
      rgba(255, 255, 255, 1) 100%
    );
    background: -webkit-linear-gradient(
      180deg,
      rgba(255, 255, 255, 0) 0%,
      rgba(255, 255, 255, 0) 3.7%,
      rgba(255, 255, 255, 1) 3.8%,
      rgba(255, 255, 255, 1) 100%
    );
    background: linear-gradient(
      180deg,
      rgba(255, 255, 255, 0) 0%,
      rgba(255, 255, 255, 0) 3.7%,
      rgba(255, 255, 255, 1) 3.8%,
      rgba(255, 255, 255, 1) 100%
    );
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff", endColorstr="#ffffff", GradientType=1);
  }

  .top-menu .sub-menu {
    margin-left: 0;
    margin-right: 0;
  }

  #top-menu2 .sub-menu {
    margin-left: 15px;
  }

  .menu > ul > li {
    display: inline-block;
  }

  .popover.sub-menu {
    max-width: 100vw;
    height: 420px;
    overflow: hidden;
    border-bottom: 12px solid #00338e;
  }

  ul.top-menu[data-depth="1"] {
    margin: 0;
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
    padding-left: 0;
    width: 99%;
    height: 400px;
    max-width: 99%;
    white-space: normal;
    word-break: break-all;
    font-size: 1.15em;
    word-wrap: break-word;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
  }

  ul.top-menu[data-depth="1"] li {
    margin: 5px 12px;
    max-width: 45%;
  }

  /*#top-menu > li::after {content: "\e313";display: inline !important;position: relative;left:50%;margin-left: -0.6em;margin-top:50%;vertical-align: middle;font-family:'Material Icons';font-size:1.2em;color:#032386;height:0;line-height: 0;opacity:0;text-align: left;}
	/* #top-menu > li:nth-of-type(n+2):nth-of-type(-n+5)::after {
		color:#FFFFFF;
	} */
  #top-menu li.conSub::after {
    display: inline;
    color: #ccc;
    opacity: 1;
  }

  .top-menu[data-depth="1"] li {
    position: relative;
    float: none;
    padding: 0.5rem 0.2rem;
  }

  .top-menu[data-depth="1"] li.haschildren > div {
    transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    max-height: 0;
    overflow: hidden;
  }

  .top-menu[data-depth="1"] li a {
    display: flex;
    align-items: center;
    line-break: auto;
    white-space: normal;
    word-break: break-word;
  }

  .top-menu[data-depth="1"] li a > img {
    margin-right: 10px;
  }

  .top-menu[data-depth="1"] li.haschildren label {
    display: inline-block;
    position: relative;
    top: 5px;
  }

  .top-menu[data-depth="1"] li.haschildren label i {
    margin: 0 0 0 15px;
    transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
  }

  .top-menu[data-depth="1"] li.haschildren input[type="radio"] {
    display: none;
    margin-bottom: 0;
  }

  .top-menu[data-depth="1"] li.haschildren label i:nth-of-type(1) {
    display: block;
  }

  .top-menu[data-depth="1"] li.haschildren label i:nth-of-type(2) {
    display: none;
    color: red;
  }

  .top-menu[data-depth="1"] li.haschildren input[type="radio"]:checked ~ div {
    display: block;
    opacity: 1;
    max-height: 400px;
  }

  .top-menu[data-depth="1"]
    li.haschildren
    input[type="radio"]:checked
    + label
    i:nth-of-type(1) {
    transform: rotate(-135deg);
    -webkit-transform: rotate(-135deg);
    -moz-transform: rotate(-135deg);
    color: red;
  }

  .top-menu[data-depth="1"]
    li.haschildren
    input[type="radio"]:checked
    + label
    i:nth-of-type(2) {
    display: none;
  }

  .opnode::before {
    transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    font-size: 2em;
    margin-top: 9px !important;
    margin-right: -20px !important;
  }

  .bigli {
    font-size: 1.3em;
    width: auto !important;
    white-space: nowrap;
  }

  .top-menu[data-depth="1"] li.haschildren:hover::before {
    color: #ffdd00;
  }

  .greyback {
    background-color: #f4f4f4;
  }

  .top-menu[data-depth="2"] li {
    padding: 0rem 0.2rem;
    line-height: auto;
    word-wrap: break-word;
    max-width: 100%;
  }

  .top-menu[data-depth="2"] {
    /*display:none;
		position:absolute;*/
  }
}

@media (min-width: 768px) and (max-width: 1600px) {
  .menu-bar-wrap #_desktop_top_menu > ul > li > div.popover {
    min-width: 75vw;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
  }
}

@media (min-width: 1601px) and (max-width: 1920px) {
  .menu-bar-wrap #_desktop_top_menu > ul > li > div.popover {
    min-width: 60vw;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
  }
}

@media (min-width: 1200px) and (max-width: 1300px) {
  .top-menu[data-depth="1"] li a {
    font-size: 0.9rem;
  }

  .top-menu[data-depth="1"] li a img {
    max-width: 40px;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .menu-bar-wrap #_desktop_top_menu > ul > li {
    white-space: nowrap;
    font-size: 0.9rem;
  }
}

@media (max-width: 991px) {
  .menu-bar-wrap #_desktop_top_menu > ul {
    width: 100%;
  }

  .menu-bar-wrap #_desktop_top_menu > ul > li {
    font-size: 0.8rem;
    white-space: nowrap;
  }

  .menu-bar-wrap #_desktop_top_menu > ul > li > .mobile-subm label i {
    font-size: 0.8rem !important;
  }
}

.top-menu[data-depth="2"].active {
  display: block !important;
}

@media (max-width: 767px) {
  #mobile_top_menu_wrapper > .top-menu > .sub-menu > ul > li > a {
    font-weight: normal !important;
  }

  .subvisible {
    display: block !important;
  }

  #mobile_top_menu_wrapper .top-menu .sub-menu ul[data-depth="1"] > li {
    margin: 0.5rem 0;
    padding: 0.5rem 0;
  }

  #mobile_top_menu_wrapper .top-menu[data-depth="1"] li.haschildren > div {
    transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    max-height: 0;
    overflow: hidden;
  }

  #mobile_top_menu_wrapper .top-menu[data-depth="1"] li a {
    display: block;
    white-space: normal;
  }

  #mobile_top_menu_wrapper .top-menu[data-depth="1"] li.haschildren label {
    display: inline-block;
    position: relative;
    top: 5px;
  }

  #mobile_top_menu_wrapper .top-menu[data-depth="1"] li.haschildren label i {
    margin: 0 0 0 15px;
    transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
  }

  #mobile_top_menu_wrapper
    .top-menu[data-depth="1"]
    li.haschildren
    input[type="radio"] {
    display: none;
    margin-bottom: 0;
  }

  #mobile_top_menu_wrapper
    .top-menu[data-depth="1"]
    li.haschildren
    label
    i:nth-of-type(1) {
    display: block;
  }

  #mobile_top_menu_wrapper
    .top-menu[data-depth="1"]
    li.haschildren
    label
    i:nth-of-type(2) {
    display: none;
    color: red;
  }

  #mobile_top_menu_wrapper
    .top-menu[data-depth="1"]
    li.haschildren
    input[type="radio"]:checked
    ~ div.collapse {
    display: block;
    opacity: 1;
    max-height: 400px;
    margin-top: 15px;
    margin-bottom: 5px;
  }

  #mobile_top_menu_wrapper
    .top-menu[data-depth="1"]
    li.haschildren
    input[type="radio"]:checked
    + label
    i:nth-of-type(1) {
    transform: rotate(-135deg);
    -webkit-transform: rotate(-135deg);
    -moz-transform: rotate(-135deg);
    color: red;
  }

  #mobile_top_menu_wrapper
    .top-menu[data-depth="1"]
    li.haschildren
    input[type="radio"]:checked
    + label
    i:nth-of-type(2) {
    display: none;
  }

  #_mobile_top_menu_3 .category-sub-menu li[data-depth="1"] {
    padding: 0.5rem 0;
    margin-bottom: 0.625rem;
    height: 3.2rem;
  }

  #_mobile_top_menu_3 .category-sub-menu li[data-depth="1"] > a {
    display: flex;
    height: 100%;
    justify-content: flex-start;
    align-items: center;
  }
}

.search-bar-wrap #_mobile_top_menu > .clearfix {
  display: none;
}

.search-bar-wrap .top-menu[data-depth="0"] {
  float: left;
  display: flex;
  height: 50px;
  position: relative;
  align-items: center;
}

.search-bar-wrap .top-menu[data-depth="0"] > li {
  display: block;
  float: left;
  font-size: 0.7em;
}

.search-bar-wrap .top-menu[data-depth="0"] > li > a .float-xs-right {
  display: none;
}

.search-bar-wrap .top-menu[data-depth="0"] {
}

.search-bar-wrap .top-menu[data-depth="1"] li.haschildren > div {
  transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  max-height: 0;
  overflow: hidden;
}

.search-bar-wrap .top-menu[data-depth="1"] li a {
  display: inline;
}

.search-bar-wrap .top-menu[data-depth="1"] li.haschildren label {
  display: inline-block;
  position: relative;
  top: 5px;
}

.search-bar-wrap .top-menu[data-depth="1"] li.haschildren label i {
  margin: 0 0 0 15px;
  transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
}

.search-bar-wrap .top-menu[data-depth="1"] li.haschildren input[type="radio"] {
  display: none;
  margin-bottom: 0;
}

.search-bar-wrap
  .top-menu[data-depth="1"]
  li.haschildren
  label
  i:nth-of-type(1) {
  display: block;
}

.search-bar-wrap
  .top-menu[data-depth="1"]
  li.haschildren
  label
  i:nth-of-type(2) {
  display: none;
  color: red;
}

.search-bar-wrap
  .top-menu[data-depth="1"]
  li.haschildren
  input[type="radio"]:checked
  ~ div.collapse {
  display: block;
  opacity: 1;
  max-height: 400px;
  margin-top: 15px;
  margin-bottom: 5px;
}

.search-bar-wrap
  .top-menu[data-depth="1"]
  li.haschildren
  input[type="radio"]:checked
  + label
  i:nth-of-type(1) {
  transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);
  -moz-transform: rotate(-135deg);
  color: red;
}

.search-bar-wrap
  .top-menu[data-depth="1"]
  li.haschildren
  input[type="radio"]:checked
  + label
  i:nth-of-type(2) {
  display: none;
}

@media (min-width: 768px) and (max-width: 991px) {
  ul.top-menu[data-depth="1"] {
    margin: 0;
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
    padding-left: 0;
    position: relative;
    width: 95%;
    height: 400px;
    max-width: 95%;
    word-break: break-word;
    font-size: 0.7rem;
  }

  ul.top-menu[data-depth="0"] {
    font-size: 0.75rem;
  }

  .top-menu[data-depth="1"] li.haschildren::before {
    margin-top: 1px;
  }

  .opnode::before {
    transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    font-size: 2em;
    margin-top: 3px !important;
    margin-right: -20px !important;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  ul.top-menu[data-depth="1"] {
    margin: 0;
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
    padding-left: 0;
    position: relative;
    width: 95%;
    height: 400px;
    max-width: 95%;
    font-size: 0.82rem;
  }

  .top-menu[data-depth="1"] li.haschildren::before {
    margin-top: 4px;
  }

  .opnode::before {
    transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    font-size: 2em;
    margin-top: 7px !important;
    margin-right: -20px !important;
  }
}

/* BLOQUES DE TEXTO */

#category-description p {
  margin-bottom: 1rem !important;
}

#category-description strong {
  font-weight: bold !important;
}

/* BLOCK CATEGORIES */
.popover {
  top: initial;
}

.block-categories {
  padding: 0 0 1.25rem 0;
  margin-bottom: 0;
  margin-top: -5px;
  background-color: transparent;
  box-shadow: none !important;
}

.block-categories ul > ul > ul li a {
  font-size: 0.85em !important;
}

.block-categories .category-sub-menu li span.arrows {
  display: inline;
  float: right;
  color: #00338e;
}

.block-categories .arrows .arrow-down:hover,
.block-categories .arrows .arrow-right:hover {
}

.block-categories ul.category-top-menu > li:nth-of-type(1) {
  display: none;
}

.block-categories ul.category-top-menu > li ul > li:nth-of-type(1) a {
  font-weight: bold;
}

.block-categories .category-sub-menu li[data-depth="0"] a {
  font-weight: 300 !important;
  font-size: 0.85em !important;
}

.block-categories .category-sub-menu li[data-depth="1"] a {
  font-weight: 300 !important;
  font-size: 0.75em !important;
}

/*.block-categories .category-sub-menu li[data-depth="0"] > a {display:none;border:none;}*/
.block-categories ul.category-top-menu > li ul li:nth-of-type(1) ul {
  display: block !important;
}

.category_tree {
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
  -moz-transform: translateZ(0);
  -o-transform: translateZ(0);
}

.category_tree .openleft {
  box-shadow: 4px 0 6px rgba(0, 0, 0, 0.3);
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
  -moz-transform: translateZ(0);
  -o-transform: translateZ(0);
}

/*              ESTILO MENÚ VERTICAL                */
.block-categories .category-sub-menu li[data-depth="0"] > a {
  border-bottom: none;
}

#left-column {
  padding-left: 0;
}

.block-categories > ul.category-top-menu > li > ul.category-sub-menu {
  margin-top: 0;
}

.block-categories
  > ul.category-top-menu
  > li
  > ul.category-sub-menu
  > li
  > div
  > ul.category-sub-menu {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

.block-categories .category-sub-menu {
  padding-top: 0;
}

.block-categories ul.category-sub-menu li[data-depth="0"] {
  font-weight: bold !important;
  padding: 15px 2px 15px 6px;
  background-color: #00338e;
  /*box-shadow: 2px 2px 8px 0 rgba(0,0,0,.2);*/
  margin: 0 0 2px 0;
  text-transform: inherit;
  border-left: solid 5px #00338e;
  transition: all ease-in-out 0.3s;
  -webkit-transition: all ease-in-out 0.3s;
  -moz-transition: all ease-in-out 0.3s;
}

.block-categories ul.category-sub-menu li[data-depth="0"] a {
  font-weight: bold !important;
}

.block-categories ul.category-sub-menu li[data-depth="0"]:hover {
  border-left: solid 5px #397cf5;
}

.block-categories ul.category-sub-menu li a:link,
.block-categories ul.category-sub-menu li a:visited {
  color: #ffffff;
}

.block-categories ul.category-sub-menu li a:hover {
  color: #f1f1f1;
}

.block-categories ul.category-sub-menu li[data-depth="0"].openli {
  border-left: solid 5px #397cf5;
}

.block-categories
  ul.category-sub-menu
  li[data-depth="0"].haschildren.closeli::before {
  content: "\e145";
  display: inline !important;
  position: absolute;
  right: 10px;
  margin-top: 8px;
  font-family: "Material Icons";
  vertical-align: middle;
  color: #fff;
  line-height: 10px;
  text-align: right;
  transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
}

.block-categories
  ul.category-sub-menu
  li[data-depth="0"].haschildren.openli::before {
  content: "\e14c";
  display: inline;
  transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  position: absolute;
  right: 10px;
  margin-top: 5px;
  font-family: "Material Icons";
  vertical-align: middle;
  color: #d10000;
  line-height: 10px;
  text-align: right;
}

.block-categories ul.category-sub-menu li[data-depth="0"] a {
}

.block-categories ul.category-sub-menu li a.currentcatlink {
  font-weight: bold !important;
}

.solar {
  font-weight: bold;
  color: #ffd800;
}

@media (min-width: 992px) and (max-width: 1199px) {
  .block-categories .category-sub-menu li[data-depth="0"] a {
    font-size: 0.8em !important;
  }

  .block-categories .category-sub-menu li[data-depth="1"] a {
    font-size: 0.7em !important;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .block-categories .category-sub-menu li[data-depth="0"] a {
    font-size: 0.7em !important;
  }

  .block-categories .category-sub-menu li[data-depth="1"] a {
    font-size: 0.6em !important;
  }

  .haschildren::before {
    right: 0;
    margin-right: 0px;
  }
}

@media (min-width: 576px) and (max-width: 767px) {
  /*	#left-column {display:none;}*/
  .container > .left-column.col-xs-12.col-sm-8.col-md-9 {
    width: 100% !important;
  }
}

.homebannerfluid {
  background-color: #ffffff;
  width: 100%;
  margin-bottom: 20px;
  padding: 0;
  margin: 0;
}

.homebannerwrap {
  container: shopbanners / inline-size;
  padding: 3rem 0;
  background-color: #fafafa;
  display: block;
  position: relative;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.homebannerwrap .col {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-content: center;
  -ms-flex-line-pack: center;
  align-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  max-width: 1660px;
  float: none;
  margin: 0.8rem auto 1.3rem;
  gap: 1rem;
}

.homebannerwrap .col .homebanners-heading {
  flex: 1 0 100% !important;

  & h2 {
    text-align: center;
    font-size: 2.5rem;
    font-weight: 400;
    margin-bottom: 3rem;
  }
}

.homebannerwrap .col .banner-element {
  overflow: hidden;
  background: #fff;
  position: relative;
  flex: 0 1 calc(50% - 1rem);
  position: relative;
  display: flex;
  padding: 0;
  align-items: stretch;
  align-content: stretch;
  border-radius: 0.8rem;
}

.homebannerwrap .col .banner-element .copy a.black-button {
  background: #000 !important;
}

.homebannerwrap .col .banner-element .img {
  margin: 0;
  padding: 0;
  flex: 1 0 25%;
  aspect-ratio: 1 / 1 !important;
}

.homebannerwrap .col .banner-element .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 575px) {
  .homebannerwrap .col .banner-element .img img {
    object-fit: contain !important;
    border-radius: 0.2rem;
  }
}

.homebannerwrap .col .banner-element .copy {
  padding: 1rem;
  flex: 1 1 auto;
}

.homebannerwrap .col .banner-element .copy h3 {
  font-size: clamp(1rem, 0.8725rem + 0.5229vw, 1.5rem);
}

.homebannerwrap .col .banner-element .copy p {
  font-size: clamp(0.8rem, 0.6395rem + 0.2484vw, 0.9375rem);
}

@container shopbanners (min-width: 768px) {
  .homebannerwrap .banner-element > .copy {
    flex: 1 1 75% !important;
  }
}

@container shopbanners (max-width: 767px) {
  .homebannerwrap .col {
    padding: 0 2rem;
  }

  .homebannerwrap .col .banner-element {
    flex: 1 48%;
    flex-wrap: wrap;
  }

  .homebannerwrap .col .banner-element .img {
    flex: 1 1 100%;
  }

  .homebannerwrap .col .banner-element .copy {
    padding: 1rem 0.5rem;
    flex: 0 1 100%;
  }
}

@container shopbanners (max-width: 575px) {
  .homebannerwrap .col {
    padding: 0 0.4rem;
  }

  .homebannerwrap .col .banner-element {
    flex: 1 100%;
    flex-wrap: wrap;
    padding: 4px;
  }

  .homebannerwrap .col .banner-element .img {
    flex: 0 30%;
  }

  .homebannerwrap .col .banner-element .copy {
    padding: 1rem 0.5rem;
    flex: 0 1 70%;
  }

  .homebannerwrap .col .banner-element .copy .btn {
    padding: 0.4rem 1rem !important;
    font-size: 0.85rem !important;
    background: #000 !important;
    font-weight: 500 !important;
    border: 1px solid black !important;
  }
}
.homebannerwrap .col .banner-element .copy .btn {
  background: #000 !important;
  font-weight: 500 !important;
  border: 1px solid black !important;
}

@media (max-width: 575px) {
  /* MAQUETA EN POSICIONADO ABSOLUTO ENCIMA DE LAS CATEGORIAS PRINCIPALES
	ESCONDE BANNERS A PARTIR DEL TERCERO */

  /* 	COLOCABA EL WRAPPER DE HOMEBANNERS EN LA PARTE SUPERIOR DEL CONTENEDOR
		SIN USO
	.homebannerfluid {
		position:absolute;
		top:101px;
		left:0;right:0;margin-left:0;margin-right:0;
	} 
	.homebannerfluid > .homebannerwrap > .col > div:nth-of-type(2) ~ div {
		
	}*/
}

@media (min-width: 768px) and (max-width: 991px) {
  .homecat .col .menu-element {
    margin: 5px 4px;
  }
}

@media (min-width: 576px) and (max-width: 767px) {
  .homecat .col .menu-element {
    margin: 5px 2px;
  }
}

@media (max-width: 477px) {
  .homecat.row {
    margin-left: auto;
    margin-right: auto;
  }
}

@keyframes animationFrames {
  0% {
    transform: translate(0px, 0px) scaleX(1.14) scaleY(1.14);
  }

  17% {
    transform: translate(0px, 0px) scaleX(1) scaleY(1);
  }

  23% {
    transform: translate(-5px, 0px) scaleX(0.99) scaleY(0.99);
  }

  25% {
    transform: translate(-5px, 0px) scaleX(0.99) scaleY(0.99);
  }

  79% {
    transform: translate(-255px, -1px) scaleX(0.95) scaleY(0.95);
  }

  91% {
    transform: translate(-255px, -1px) scaleX(0.95) scaleY(0.95);
  }

  93% {
    transform: translate(-255px, -1px) scaleX(1.02) scaleY(1.02);
  }

  100% {
    transform: translate(-255px, -1px) scaleX(1.14) scaleY(1.14);
  }
}

@-moz-keyframes animationFrames {
  0% {
    -moz-transform: translate(0px, 0px) scaleX(1.14) scaleY(1.14);
  }

  17% {
    -moz-transform: translate(0px, 0px) scaleX(1) scaleY(1);
  }

  23% {
    -moz-transform: translate(-5px, 0px) scaleX(0.99) scaleY(0.99);
  }

  25% {
    -moz-transform: translate(-5px, 0px) scaleX(0.99) scaleY(0.99);
  }

  79% {
    -moz-transform: translate(-255px, -1px) scaleX(0.95) scaleY(0.95);
  }

  91% {
    -moz-transform: translate(-255px, -1px) scaleX(0.95) scaleY(0.95);
  }

  93% {
    -moz-transform: translate(-255px, -1px) scaleX(1.02) scaleY(1.02);
  }

  100% {
    -moz-transform: translate(-255px, -1px) scaleX(1.14) scaleY(1.14);
  }
}

@-webkit-keyframes animationFrames {
  0% {
    -webkit-transform: translate(0px, 0px) scaleX(1.14) scaleY(1.14);
  }

  17% {
    -webkit-transform: translate(0px, 0px) scaleX(1) scaleY(1);
  }

  23% {
    -webkit-transform: translate(-5px, 0px) scaleX(0.99) scaleY(0.99);
  }

  25% {
    -webkit-transform: translate(-5px, 0px) scaleX(0.99) scaleY(0.99);
  }

  79% {
    -webkit-transform: translate(-255px, -1px) scaleX(0.95) scaleY(0.95);
  }

  91% {
    -webkit-transform: translate(-255px, -1px) scaleX(0.95) scaleY(0.95);
  }

  93% {
    -webkit-transform: translate(-255px, -1px) scaleX(1.02) scaleY(1.02);
  }

  100% {
    -webkit-transform: translate(-255px, -1px) scaleX(1.14) scaleY(1.14);
  }
}

@-o-keyframes animationFrames {
  0% {
    -o-transform: translate(0px, 0px) scaleX(1.14) scaleY(1.14);
  }

  17% {
    -o-transform: translate(0px, 0px) scaleX(1) scaleY(1);
  }

  23% {
    -o-transform: translate(-5px, 0px) scaleX(0.99) scaleY(0.99);
  }

  25% {
    -o-transform: translate(-5px, 0px) scaleX(0.99) scaleY(0.99);
  }

  79% {
    -o-transform: translate(-255px, -1px) scaleX(0.95) scaleY(0.95);
  }

  91% {
    -o-transform: translate(-255px, -1px) scaleX(0.95) scaleY(0.95);
  }

  93% {
    -o-transform: translate(-255px, -1px) scaleX(1.02) scaleY(1.02);
  }

  100% {
    -o-transform: translate(-255px, -1px) scaleX(1.14) scaleY(1.14);
  }
}

@-ms-keyframes animationFrames {
  0% {
    -ms-transform: translate(0px, 0px) scaleX(1.14) scaleY(1.14);
  }

  17% {
    -ms-transform: translate(0px, 0px) scaleX(1) scaleY(1);
  }

  23% {
    -ms-transform: translate(-5px, 0px) scaleX(0.99) scaleY(0.99);
  }

  25% {
    -ms-transform: translate(-5px, 0px) scaleX(0.99) scaleY(0.99);
  }

  79% {
    -ms-transform: translate(-255px, -1px) scaleX(0.95) scaleY(0.95);
  }

  91% {
    -ms-transform: translate(-255px, -1px) scaleX(0.95) scaleY(0.95);
  }

  93% {
    -ms-transform: translate(-255px, -1px) scaleX(1.02) scaleY(1.02);
  }

  100% {
    -ms-transform: translate(-255px, -1px) scaleX(1.14) scaleY(1.14);
  }
}

/* FILTROS PRODUCTOS CATEGORIAS (FACETED SEARCH) */

@media (max-width: 768px) {
  body#category #left-column {
    min-height: 0;
  }

  #left-column + div.left-column {
    width: 100% !important;
  }

  #search_filter_toggler {
    height: 100%;
    background-color: var(--clr-primary-400, #495057);
  }
}

#search_filters,
#search_filters_brands,
#search_filters_suppliers {
  box-shadow: unset !important;
  margin-bottom: 1.563rem;
  background: #fff;
  padding: 1.563rem 1.25rem;
  position: relative;
}

#search_filters {
  padding: 0 1.25rem 1.563rem 1.25rem;
}

/*#search_filters::after {
  content: "";
  height: 100%;
  position: absolute;
  width: 1px;
  background: rgb(255, 255, 255);
  background: -moz-linear-gradient(
    180deg,
    rgba(255, 255, 255, 0) 8%,
    rgba(11, 32, 115, 1) 50%,
    rgba(255, 255, 255, 0) 92%
  );
  background: -webkit-linear-gradient(
    180deg,
    rgba(255, 255, 255, 0) 8%,
    rgba(11, 32, 115, 1) 50%,
    rgba(255, 255, 255, 0) 92%
  );
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0) 8%,
    rgba(11, 32, 115, 1) 50%,
    rgba(255, 255, 255, 0) 92%
  );
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff", endColorstr="#ffffff", GradientType=1);
  right: 0;
  margin-right: -7.5px;
  top: 0;
}*/

.active_filters {
  border-radius: 10px;
}

.active_filters .filter-block {
  box-shadow: unset;
  border-radius: 8px;
  color: #232323;
  margin-right: 0.625rem;
  margin-bottom: 0.625rem;
  background: #fff;
  padding: 0.625rem;
  display: inline-block;
  font-size: 0.8125rem;
}

body#category div#search_filters .ui-widget-header {
  background: var(--bs-blue) !important;
}

.facet-title + div + ul {
  margin: 1rem 0 !important;
}

.facet-label.active i {
  color: green !important;
}

.products-sort-order.dropdown {
  border-radius: 10px;
  box-shadow: unset;
}

.products-sort-order.dropdown.open .dropdown-menu {
  box-shadow: unset;
  border-radius: 10px;
}

.products-sort-order .select-title {
  box-shadow: unset;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 10px;
  width: 100%;
  text-align: left;
  padding: 0.8rem 0.625rem;
  background-color: #fff;
  color: #333;
}

.sort-by-row > .sort-by {
  display: flex;
  align-content: center;
  justify-content: space-between;
}

button.select-title i {
  text-align: right;
  float: right;
  display: block;
}

button.select-title[aria-expanded="true"] + div.dropdown-menu {
  display: flex !important;
  background-color: #fff;
}

.products-sort-order .select-list:hover {
  background-color: #5f5f5f;
}

.products-sort-order .dropdown-menu {
  flex-direction: column;
  align-items: center;
  gap: 0.625rem;
  width: 100%;
}

.products-sort-order .dropdown-menu a {
  display: block;
  padding: 0.625rem 0 0.625rem 0.625rem;
  width: 100%;
  text-align: left;
  color: #333;
}

.products-sort-order .dropdown-menu a:hover {
  background-color: #5f5f5f;
  color: #fff;
}

#search_filters > section > p:nth-of-type(1) {
  display: block;
  padding: 0.6rem;
  color: #333;
  cursor: pointer;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 0.625rem;
  width: 100% !important;
}

#search_filters .collapse {
  display: none !important;
}

#search_filters .collapse.in {
  display: block !important;
}

#search_filters .facet input[type="checkbox"] {
  display: none !important;
}

#search_filters .facet input[type="checkbox"] + span {
  display: none !important;
}

#search_filters .facet input[type="checkbox"]:checked + span {
  display: inline-block !important;
}

#search_filters .custom-checkbox:not(:has(input[type="checkbox"]:checked)) + a {
  padding-left: 24px;
}

section.facet ul {
  padding: 1rem 0;
}

@media (min-width: 768px) {
  #search_filters > p:nth-of-type(1) {
    text-align: center !important;
    padding: 0.8rem !important;
    border-radius: 0.675rem !important;
    border: 1px solid var(--bs-gray-600) !important;
  }
}

/* NUEVAS CATEGORIAS PRINCIPALES */
.contenedor-categorias {
  display: flex;
  width: 100%;
  max-width: 1660px;
  float: none;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  flex-wrap: nowrap;
  justify-content: flex-start;
  overflow: hidden;
}

.contenedor-categorias .item-categoria {
  position: relative;
  min-width: 200px;
  flex-basis: 200px;
  background-color: #fff;
  height: 320px;
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  align-content: stretch;
  margin: 10px;
  border: 1px solid rgba(0, 0, 0, 0.1);
}

.contenedor-categorias .item-categoria a {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  z-index: 9;
  transition: opacity 0.3s ease-out;
  -webkit-transition: opacity 0.3s ease-out;
  background: rgba(0, 0, 0.2);
  opacity: 0;
}

.contenedor-categorias .item-categoria a:hover {
  opacity: 0.055;
}

.contenedor-categorias .item-categoria span.precio {
  color: #00338e;
  font-size: 1.2em;
  font-weight: bold;
  background-color: #ccc;
  padding: 4px 42px 4px 4px;
  align-self: flex-start;
  z-index: 1;
}

.contenedor-categorias .item-categoria span.desde {
  font-weight: 300;
  color: #00338e;
  font-size: 0.8em;
  align-self: center;
}

.contenedor-categorias .item-categoria span.titulos {
  color: #00338e;
  font-weight: bold;
  font-size: 1.3em;
  margin-top: 10px;
  z-index: 2;
}

.contenedor-categorias .item-categoria .parte1 {
  flex-basis: 40%;
  height: 100%;
  align-items: center;
  align-content: center;
  display: flex;
}

.contenedor-categorias .item-categoria .parte1 img {
  max-width: 100%;
  width: 100%;
  height: auto;
  background-size: 600px 600px;
  display: block;
  align-self: center;
}

.contenedor-categorias .item-categoria .parte2 {
  flex-basis: 60%;
  display: flex;
  flex-flow: column;
  height: 100%;
  align-items: flex-start;
  justify-content: center;
}

.contenedor-categorias .item-categoria::after {
  transition: box-shadow 0.3s ease-out;
}

/*.contenedor-categorias .item-categoria:hover::after {
	box-shadow: 0 0 6px 7px #fffce4, inset 0 0 6px 7px #fffce4; 
	content: '';
 	display: block;
	height: 100%;
	position: absolute;
 	top: 0;
 	width: 100%;

}*/

.ch-downlight {
  background-position: 0 0;
}

.ch-plafon {
  background-position: -120px -360px;
}

.ch-placaled {
  background-position: -240px -360px;
}

.ch-decoracionext {
  background-position: 0 -360px;
}

.ch-electrico {
  background-position: -360px -360px;
}

.ch-canalizacion {
  background-position: -480px -360px;
}

.ch-bombillas {
  background-position: -120px 0;
}

.ch-tubos {
  background-position: -240px 0;
}

.ch-tiras {
  background-position: -360px 0;
}

.ch-industrial {
  background-position: -480px 0;
}

.ch-carril {
  background-position: 0 -120px;
}

.ch-proyector {
  background-position: -120px -120px;
}

.ch-solar {
  background-position: -240px -120px;
}

.ch-comercial {
  background-position: -360px -120px;
}

.ch-decoracion {
  background-position: -480px -120px;
}

.ch-emergencia {
  background-position: 0 -240px;
}

.ch-piscina {
  background-position: -120px -240px;
}

.ch-accesorios {
  background-position: -240px -240px;
}

.ch-drivers {
  background-position: -360px -240px;
}

.ch-banadores {
  background-position: -480px -240px;
}

/* OCULTAR O MOSTRAR ELEMENTOS PARA CUADRAR BLOQUE EN FUNCIÓN DEL ANCHO DE PANTALLA*/
@media (min-width: 1280px) and (max-width: 1599px) {
  /*.contenedor-categorias .item-categoria:nth-of-type(12) ~ div {display:none;}*/
}

@media (min-width: 960px) and (max-width: 1279px) {
  /*.contenedor-categorias .item-categoria:nth-of-type(15) ~ div {display:none;}*/
}

@media (min-width: 930px) and (max-width: 959px) {
  .contenedor-categorias .item-categoria {
    margin: 5px;
  }

  /*.contenedor-categorias .item-categoria:nth-of-type(15) ~ div {display:none;}*/
}

@media (min-width: 768px) and (max-width: 773px) {
  /*.contenedor-categorias .item-categoria:nth-of-type(8) ~ div {display:none;}*/
}

@media (min-width: 774px) and (max-width: 929px) {
  /*.contenedor-categorias .item-categoria:nth-of-type(15) ~ div {display:none;}*/
}

@media (min-width: 768px) and (max-width: 929px) {
  .contenedor-categorias .item-categoria {
    margin: 4px;
    flex-basis: 250px;
  }

  .contenedor-categorias .item-categoria .parte1 {
    flex-basis: 48%;
  }

  .contenedor-categorias .item-categoria .parte2 {
    flex-basis: 52%;
  }

  .contenedor-categorias .item-categoria span.precio {
    padding: 4px 20px 4px 4px;
    font-size: 1em;
  }

  .contenedor-categorias .item-categoria span.titulos {
    font-size: 1.2em;
  }
}

@media (max-width: 767px) {
  .contenedor-categorias {
    flex-wrap: nowrap;
    overflow-x: scroll;
    justify-content: flex-start;
  }

  .contenedor-categorias .item-categoria {
    min-width: 300px;
  }
}

/* /NUEVAS CATEGORIAS PRINCIPALES */

#wrapper {
  padding-top: 0;
  background-color: white;
  position: relative;
}

@media (max-width: 479px) {
  #wrapper {
    padding-top: 0;
  }

  body#index #wrapper {
    padding-top: 0;
  }
}

.logobrillo {
  opacity: 0;
}

@media (max-width: 991px) {
  .logobrillo {
    display: none;
  }
}

@media (min-width: 992px) {
  .logobrillo {
    z-index: 999;
    position: absolute;
    top: 18px;
    left: 131px;
    -webkit-animation: fade-in-fwd 1.4s cubic-bezier(0.55, 0.085, 0.68, 0.53)
      both infinite;
    animation: fade-in-fwd 1.4s cubic-bezier(0.55, 0.085, 0.68, 0.53) both
      infinite;
  }

  @-webkit-keyframes fade-in-fwd {
    0% {
      -webkit-transform: translateZ(-200px);
      transform: translateZ(-200px);
      opacity: 0;
    }

    70% {
      -webkit-transform: translateZ(0);
      transform: translateZ(0);
      opacity: 1;
    }

    100% {
      -webkit-transform: translateZ(-200px);
      transform: translateZ(-200px);
      opacity: 0;
    }
  }

  @keyframes fade-in-fwd {
    0% {
      -webkit-transform: translateZ(-200px);
      transform: translateZ(-200px);
      opacity: 0;
    }

    70% {
      -webkit-transform: translateZ(0);
      transform: translateZ(0);
      opacity: 1;
    }

    100% {
      -webkit-transform: translateZ(-200px);
      transform: translateZ(-200px);
      opacity: 0;
    }
  }
}

/* ARRAY SUPERIOR DE BANNERS (SUSTITUYE SLIDER PRINCIPAL) */
#topbannerswrap {
  display: flex;
  max-width: 100vw;
  flex-wrap: wrap;
  padding-top: 2.5rem;
}

#topbannerswrap .columna {
  display: flex;
  flex: 1;
  min-width: 490px;
}

#topbannerswrap .columna:nth-of-type(1) {
  flex-wrap: wrap;
  justify-content: flex-end;
}

#topbannerswrap .columna:nth-of-type(2) {
  justify-content: flex-start;
  flex-wrap: wrap;
}

#topbannerswrap .celda {
  background-color: #ffffff;
  margin: 10px;
  flex-basis: calc(50% - 20px);
  max-width: 400px;
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease-in-out;
}

#topbannerswrap .celda:hover {
  /*border-radius:10px;*/
}

#topbannerswrap .celda:hover img {
  opacity: 0.8;
}

#topbannerswrap .celda a {
  display: block;
  width: 100%;
  height: 100%;
}

#topbannerswrap .celda a div {
  position: absolute;
  top: 0;
  left: 0;
  padding: 15px;
  width: 100%;
  height: 100%;
  z-index: 2;
}

#topbannerswrap .celda img {
  max-width: 100%;
}

#topbannerswrap .celda span.mainText {
  background: rgba(255, 255, 255, 0.7);
  color: #00338e;
  font-size: 1.4em;
  max-width: 60%;
  font-weight: 300;
  display: block;
  line-height: 1em;
  padding: 12px 18px;
}

#topbannerswrap .colrowspan span.mainText {
  max-width: 80%;
  font-size: 2em;
}

#topbannerswrap .celda span strong {
  font-weight: 700;
}

#topbannerswrap .colrowspan {
  align-self: flex-start;
  flex: 1 0 100%;
  max-width: 820px;
}

#topbannerswrap .columna .rowspan2 {
  flex: 1 1 100%;
  max-width: 820px;
  min-height: 190px;
  background-position: right center;
  background-repeat: no-repeat;
  background-size: cover;
}

#topbannerswrap .columna .rowspan2 span.mainText {
  max-width: 40%;
}

#topbannerswrap .columna .rowspan2 span.desdeText {
  display: block;
  position: absolute;
  bottom: 0;
  left: 195px;
  margin-bottom: 50px;
  padding: 12px 18px;
  background: #ccc;
  color: #00338e;
  border-radius: 4px;
}

#topbannerswrap .columna .rowspan2 span.desdeText strong {
  font-weight: bold;
  font-size: 2em;
}

/* Media queries generales banners */
@media (min-width: 768px) and (max-width: 979px) {
  #topbannerswrap .columna:nth-of-type(1) {
    justify-content: center;
  }

  #topbannerswrap .columna:nth-of-type(2) {
    justify-content: center;
  }
}

@media (min-width: 980px) and (max-width: 1199px) {
  #topbannerswrap .colrowspan span.mainText {
    font-size: 1.5em;
  }

  #topbannerswrap .columna .celda span.mainText {
    font-size: 1.2em;
    max-width: 80%;
  }

  #topbannerswrap .columna .celda a div {
    padding: 4px;
  }

  #topbannerswrap .columna .rowspan2 a div {
    padding: 4px !important;
  }

  #topbannerswrap .columna .rowspan2 span.mainText {
    font-size: 1.6em !important;
  }

  #topbannerswrap .columna .rowspan2 span.desdeText {
    font-size: 0.5em !important;
    padding: 8px 10px !important;
    margin-bottom: 4px !important;
  }
}

@media (min-width: 1200px) and (max-width: 1229px) {
  #topbannerswrap .columna .rowspan2 span.mainText {
    font-size: 1.6em !important;
  }

  #topbannerswrap .columna .rowspan2 span.desdeText {
    font-size: 0.5em !important;
    padding: 8px 10px !important;
    margin-bottom: 4px !important;
  }
}

@media (min-width: 1230px) and (max-width: 1399px) {
  #topbannerswrap .columna .rowspan2 span.mainText {
    font-size: 1.4em !important;
  }

  #topbannerswrap .columna .rowspan2 span.desdeText {
    font-size: 0.5em !important;
    margin-bottom: 4px !important;
  }
}

@media (min-width: 1400px) and (max-width: 1640px) {
  #topbannerswrap .columna .rowspan2 span.desdeText {
    font-size: 0.7em !important;
    margin-bottom: 24px !important;
  }
}

@media (min-width: 491px) and (max-width: 767px) {
  #topbannerswrap {
    display: block;
  }
}

@media (max-width: 600px) {
  #topbannerswrap .columna {
    min-width: 100vw;
  }

  #topbannerswrap .columna:nth-of-type(1) {
    display: none;
  }

  #topbannerswrap .columna:nth-of-type(2) > div:nth-of-type(2) {
    display: none;
  }

  #topbannerswrap .columna:nth-of-type(2) > div:nth-of-type(1) {
    min-height: 280px;
    background-size: 165vw;
    background-position: right bottom;
    background-repeat: no-repeat;
    background-color: #012f8c;
  }

  #topbannerswrap .columna:nth-of-type(2) > div:nth-of-type(1) span {
    max-width: 100%;
  }
}

@media (max-width: 768px) {
  #topbannerswrap .columna a span.mainText {
    font-size: 1em;
  }

  #topbannerswrap .colrowspan a span.mainText {
    font-size: 1.8em;
  }

  #topbannerswrap .columna .rowspan2 span.mainText {
    font-size: 1.4em;
  }

  #topbannerswrap .columna .rowspan2 span.desdeText {
    margin-bottom: 5px;
  }

  #topbannerswrap .columna .rowspan2 span.desdeText strong {
    font-size: 1.5em;
  }
}

/* MEdia queries especiales banner 2x1 */

/* BARRA DE CATEGORIAS Y BUSQUEDA */
/* MEDIA QUERIES BARRA BUSQUEDA */
@media (max-width: 1023px) {
  .search-widget form input[type="text"] {
    min-width: 100px;
    font-size: 0.7rem;
  }
}

/* / END MEDIA QUERIES */
#displaysearchbartop {
  padding-top: 0;
  padding-bottom: 0;
  background: #ffffff;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 99;
  box-shadow: 0px 2px 8px 0 rgba(0, 0, 0, 0.2);
  height: 55px;
}

@media (max-width: 767px) {
  #displaysearchbartop {
    top: 58px !important;
  }

  .menu-bar-wrap {
    display: none;
  }
}

.menu-bar-wrap {
  padding-top: 1px;
}

.search-bar-wrap {
  padding-top: 6px;
}

@media (max-width: 767px) {
  .search-bar-wrap {
    position: static;
  }
}

#displaysearchbartop .search-widget form input[type="text"] {
  width: 100%;
}

.vert-menu {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-content: center;
  align-items: center;
  color: #fff;
  vertical-align: middle;
  height: 100%;
  min-height: 55px;
}

@media (max-width: 767px) {
  .vert-menu > #catopener > span {
    display: none !important;
  }
}

@media (max-width: 575px) {
  #displaysearchbartop {
    margin-left: 0;
    margin-right: 0;
  }

  #displaysearchbartop .container .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 0 !important;
    width: 100%;
  }

  #displaysearchbartop {
    padding: 0;
  }

  #displaysearchbartop .container {
    padding: 0;
    margin: 0;
    width: 100%;
  }

  .vert-menu {
    flex-wrap: nowrap;
    justify-content: flex-start;
    max-width: 40%;
    position: relative;
    padding-left: 0;
    padding-right: 0;
  }

  .vert-menu #catopener {
    max-width: 100%;
  }

  #displaysearchbartop .search-bar-wrap {
    width: 90%;
    max-width: 90%;
    float: left;
    padding-right: 0;
    padding-left: 10px;
    position: relative;
  }

  #displaysearchbartop .search-bar-wrap .search-widget {
    max-width: 90%;
  }
}

@media (max-width: 480px) {
  .bodyleft #catopener::before {
    display: block;
    position: absolute;
    top: 50%;
    left: 5px;
    content: "\e314";
    font-family: "Material Icons";
    font-size: 1.5em;
    color: #ffffff;
    z-index: 3;
    margin-top: -0.4em;
    -webkit-animation: shake-shake 1.4s cubic-bezier(0.455, 0.03, 0.515, 0.955)
      2s 10 both;
    animation: shake-shake 1.4s cubic-bezier(0.455, 0.03, 0.515, 0.955) 2s 10
      both;
  }

  .vert-menu {
    max-width: 30%;
  }

  #catopener {
    font-size: 0.9em !important;
  }

  .bodyleft #catopener span {
    margin-left: 20px;
  }

  #catopener i {
    font-size: 18px;
  }

  #displaysearchbartop .search-bar-wrap {
    width: 91%;
    max-width: 91%;
    float: left;
  }

  .bodyleft #catopener i {
    display: none;
  }

  @-webkit-keyframes shake-shake {
    0%,
    100% {
      -webkit-transform: translateX(0);
      transform: translateX(0);
    }

    6%,
    18%,
    30% {
      -webkit-transform: translateX(-6px);
      transform: translateX(-6px);
    }

    12%,
    24%,
    36% {
      -webkit-transform: translateX(6px);
      transform: translateX(6px);
    }

    42% {
      -webkit-transform: translateX(4px);
      transform: translateX(4px);
    }

    48% {
      -webkit-transform: translateX(-4px);
      transform: translateX(-4px);
    }

    54% {
      -webkit-transform: translateX(0);
      transform: translateX(0);
    }
  }

  @keyframes shake-shake {
    0%,
    100% {
      -webkit-transform: translateX(0);
      transform: translateX(0);
    }

    6%,
    18%,
    30% {
      -webkit-transform: translateX(-6px);
      transform: translateX(-6px);
    }

    12%,
    24%,
    36% {
      -webkit-transform: translateX(6px);
      transform: translateX(6px);
    }

    42% {
      -webkit-transform: translateX(4px);
      transform: translateX(4px);
    }

    48% {
      -webkit-transform: translateX(-4px);
      transform: translateX(-4px);
    }

    54% {
      -webkit-transform: translateX(0);
      transform: translateX(0);
    }
  }
}

.vert-menu i {
  float: left;
  vertical-align: middle;
}

.vert-menu span {
  cursor: pointer;
}

#_desktop_top_menu {
  z-index: 999;
  min-height: 53px;
}

#_desktop_top_menu > ul#top-menu {
  min-height: 53px;
}

/*.category_tree {position:absolute;top:100%;margin-top:-5px;left:0;width:300px;transition:height 0.4s ease-in-out 0.5s;height:0;overflow-y:auto;}*/
.category_tree {
  position: fixed;
  top: 0;
  margin-top: 0;
  left: 0;
  width: 300px;
  transition: margin 0.4s;
  -webkit-transition: margin 0.4s;
  -moz-transition: margin 0.4s;
  transition-timing-function: cubic-bezier(0.42, 0.27, 0, 0.99);
  -webkit-transition-timing-function: cubic-bezier(0.42, 0.27, 0, 0.99);
  -moz-transition-timing-function: cubic-bezier(0.42, 0.27, 0, 0.99);
  height: 100vh;
  overflow-y: auto;
  margin-left: -300px;
  scrollbar-color: #ccc #e1e1e1;
  scrollbar-width: thin;
  scrollbar-width: thin;
}

.category_tree.openleft {
  margin-left: 0;
  transition: margin 0.4s;
  -webkit-transition: margin 0.4s;
  -moz-transition: margin 0.4s;
  transition-timing-function: cubic-bezier(0.42, 0.27, 0, 0.99);
  -webkit-transition-timing-function: cubic-bezier(0.42, 0.27, 0, 0.99);
  -moz-transition-timing-function: cubic-bezier(0.42, 0.27, 0, 0.99);
}

.category_tree::-webkit-scrollbar {
  width: 6px;
  background-color: #e1e1e1;
  border-radius: 4px;
}

.category_tree::-webkit-scrollbar-button {
  width: 0;
  height: 0;
}

.category_tree::-webkit-scrollbar-thumb {
  border-radius: 4px;
  background-color: #ccc;
}

.category_tree .block-categories .category-sub-menu li[data-depth="0"] > a {
  width: auto;
}

.caterory_tree .block-categories {
  padding: 0;
}

@media (max-width: 767px) {
  .block-categories {
    display: inline !important;
  }

  .vert-menu .category_tree .block-categories ul {
    margin-top: 18px;
  }
}

#catopener {
  background: #306dd8;
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  cursor: pointer;
  overflow: hidden;
}

#catopener::after {
  content: "";
  position: absolute;
  z-index: 0;
  left: 0;
  right: 100%;
  bottom: 0;
  background: #5b8feb;
  height: 100%;
  -webkit-transition-property: right;
  transition-property: right;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-in-out;
  transition-timing-function: ease-in-out;
}

#catopener:hover::after {
  right: 0;
}

#catopener span,
#catopener i {
  z-index: 2;
}

.bodyleft #catopener::after {
  right: 0;
}

/*.vert-menu:hover .category_tree, .vert-menu:focus .category_tree {display:block;height:800px;max-height:calc(100vh - 50px);transition:height 0.4s ease-in-out 0.1s;}*/
@media (max-width: 767px) {
  /*.vert-menu {display:none;}*/
  /*.search-bar-wrap {width:100% !important;padding-bottom:10px;}*/
  #displaysearchbartop {
    margin-top: 13px;
    margin-bottom: 60px;
  }
}

@media (max-width: 480px) {
  body#category #displaysearchbartop {
    margin-bottom: 0;
  }

  body#index #displaysearchbartop {
    margin-bottom: 20px;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .vert-menu {
    font-size: 0.8em;
  }

  .vert-menu .category_tree {
    font-size: 1.1em;
  }
}

/* ESTRUCTURA DE TARJETAS */

.card {
  box-shadow: none !important;
}

/* BOTONES FORMS Y CHECK RADIO BUTTONS */
.search-widget form input[type="text"] {
  border-radius: 0;
  transition: all 0.5s ease-in-out 0s;
}

@media (min-width: 768px) {
  .search-widget form input[type="text"]:focus {
    border-radius: 5px;
    outline: none;
  }
}

.btn {
  border-radius: 10px;
  box-shadow: none !important;
}

.btn-primary.focus,
.btn-primary:focus,
.btn-primary:hover {
  color: white;
}

.search-widget {
  width: 100%;
}

.search-widget form input[type="text"]:focus + button .search {
  color: #1651ba;
}

.btn-primary,
.btn-secondary,
.btn-tertiary {
  box-shadow: none;
  text-transform: uppercase;
  font-weight: 300;
  padding: 0.5rem 1.25rem;
}

body#product .product-actions .add-to-cart {
  font-size: clamp(0.6rem, 0.5rem + 0.732vw, 1rem);
}

.btn-primary:focus,
.btn-primary:active,
.btn-primary:active:focus {
  background-color: black;
}

.btn-primary:disabled {
  background-color: #cccccc;
  color: #ffffff;
}

.btn-primary:disabled:hover {
  background-color: #cccccc;
  opacity: 0.5;
}

.add-to-cart i {
  transition: all 0.2s ease-out;
}

.add-to-cart.animated > span {
  animation: fade-out 1.4s ease-out;
}

@keyframes slide-out-right {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1;
  }

  30% {
    -webkit-transform: translateX(0) rotate(-20deg);
    transform: translateX(0) rotate(-20deg);
    opacity: 1;
  }

  50% {
    -webkit-transform: translateX(0) rotate(0deg);
    transform: translateX(0) rotate(0deg);
    opacity: 1;
  }

  90% {
    opacity: 1;
  }

  93% {
    -webkit-transform: translateX(240px);
    transform: translateX(240px);
    opacity: 0;
  }

  97% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  98% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes fade-out {
  0% {
    opacity: 1;
  }

  25% {
    opacity: 0;
  }

  92% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

.add-to-cart.animated > i {
  transform: scale(1.1);
  animation: slide-out-right 1.3s ease-out;
}

.add-to-cart:focus {
  outline: none;
}

.product-images > li.thumb-container > .thumb.selected,
.product-images > li.thumb-container > .thumb:hover {
  border: 3px solid #00338e;
}

.checkout .btn-primary {
  color: #ffffff !important;
}

.continue {
  background-color: #02b20f !important;
}

.continue:hover {
  background-color: #02cd10 !important;
}

.form-check input[type="radio"]:checked + span {
  background-color: #00338e;
}

.dropdown:hover .expand-more {
  color: #f4f4f4;
}

a.psgdprgetdatabtn17 {
  color: #ffffff;
}

.cart-content-btn a.btn-primary {
  color: #ffffff;
}

/*body#cart a.label {padding:12px 18px; background:#00338e;color:#FFFFFF;margin-top:10px;border-radius: 4px;}*/
.cart-grid.row > .cart-grid-body > a.label {
  padding: 12px 18px;
  background-color: #c7c7c7;
  color: #ffffff;
  margin-top: 10px;
  border-radius: 4px;
  display: block;
  float: left;
}

.cart-grid.row > .cart-grid-body > a.label:hover {
  background-color: #d3d3d3;
}

.cart-grid.row > .cart-grid-body > a.label:focus,
.cart-grid-row > .cart-grid-body > a.label:active {
  background-color: #777777;
  text-decoration: none;
  box-shadow: inset 0 0 3px 3px #555555;
}

.block_newsletter form input[type="email"]:focus {
  border: 3px solid #333;
}

.block_newsletter form input.btn {
  margin-left: 1rem;
}

input.form-control {
  border-radius: 8px;
}

.group-span-filestyle .btn-default {
  background-color: #111;
}

form-control:focus,
.input-group.focus {
  outline: 0.1875rem solid #333;
}

.form-control:focus {
  border-color: #66afe9;
}

.form-control:focus,
.input-group.focus {
  outline: 0.15rem solid #333;
}

/* CHECKOUT */

/* Info checkbox ENVIO ANONIMO */

body#checkout .form-check label::before {
  content: attr(data-tooltip);
  position: absolute;
  top: 1.5em;
  font-size: 0.8em;
  padding: 5px 9px;
  display: none;
  color: white;
  background: rgba(0, 0, 0, 0.75);
  border-radius: 4px;
  transition: opacity 0.1s ease-out;
  z-index: 99;
  text-align: left;
}

body#checkout .form-check label:hover::before {
  display: inline;
}

body#checkout .product-price,
body#cart .product-price {
  color: #333;
}

.cart-items span.price {
  color: #e94c2f;
}

body#checkout #wrapper {
  padding-top: 20px;
}

@media (max-width: 575px) {
  body#checkout .totalweight,
  body#cart .totalweight {
    display: none !important;
  }

  .product-line-grid-left img {
    max-width: 90% !important;
  }

  a.verarticulos {
    display: block;
  }

  a.veraticulos::after {
    content: "\f1df";
    font-family: "Material icons";
    font-size: 24px;
    display: inline-block;
    margin-left: 1rem;
    vertical-align: middle;
    line-height: 1lh;
    color: #777;
    margin-top: -1px;
  }
}

/* Contenedores y estilos medios de pago */
.paddingtop50 {
  padding-top: 50px;
}

@media (max-width: 768px) {
  body#checkout #wrapper {
    padding-top: 0;
  }

  body#cart #main > .cart-grid.row {
    display: flex;
    flex-wrap: wrap;
  }

  body#cart #main > .cart-grid.row > .cart-grid-body {
    order: 2;
  }

  body#cart #main > .cart-grid.row > .cart-grid-right {
    order: 1;
  }

  .paddingtop50 {
    padding-top: 0;
  }
}

.payment-options > div {
  width: 100%;
  border-radius: 5px;
  padding: 15px 18px;
  margin: 9px 0;
  border: 1px solid rgba(0, 0, 0, 0.2);
}

.payment-options > div > div {
  display: flex;
  align-items: center;
  align-content: center;
}

.payment-options > div > div > label {
  margin-bottom: 0;
}

.payment-options > div.js-payment-option-form {
  border: none;
  max-height: 0;
  overflow: hidden;
}

body#checkout section.checkout-step .payment-options .payment-option {
  margin-bottom: 0;
}

body#checkout
  section.checkout-step
  .payment-options
  .payment-option
  label
  > img {
  margin-left: 5px;
}

body#checkout .additional-information {
  margin-left: 1.1rem;
}

/* SELECT PRODUCT LIST */
.products-sort-order .select-list:hover {
  background-color: #5f5f5f;
}

.lista_features {
  display: inline-block;
  float: none;
  clear: both;
  margin: 0 auto 0 auto;
  font-size: 0.7rem;
  width: 100%;
  text-align: center;
  max-height: 15px;
  position: absolute;
  top: 72px;
}

.lista_pot {
  font-weight: bold;
  color: #ff3c00;
}

.lista_features span:nth-child(1) {
  font-weight: bold;
  color: #ff3c00;
}

body#category .block-category:nth-of-type(1) {
  margin-bottom: 1rem;
}

.block-category-inner ul {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  flex-basis: 0 1 33%;
}

.block-category-inner ul li {
  text-align: center;
}

.block-category-inner ul li h5 {
  font-size: 0.7em;
  text-align: center;
  font-weight: 300;
  text-transform: lowercase;
  text-transform: capitalize;
  word-break: break-word;
}

.block-category-inner ul li a {
  color: #999 !important;
}

@media (max-width: 767px) {
  .card {
    background-color: #ffffff;
  }
}

/* PAGINA DE PRODUCTO */
@media (min-width: 768px) {
  body#product .product-data-right > div:nth-of-type(1) {
    position: sticky;
    top: 100px;
  }

  body#product .input-container .product_availability {
    font-size: 0.9rem;
    padding-left: 0;
  }
}
.sequra-promotion-widget {
  display: none !important;
}
body#product #product-availability,
.quickview #product-availability {
  margin: 0 0 0 0;
  display: block;
  width: 100%;
  max-width: calc(100% - 0.625rem);
  border-radius: 0.625rem;
  border: 1px solid;
  border-color: var(--bs-success-border-subtle);
  background-color: var(--bs-success-bg-subtle);
  padding: 0.8rem 1.2rem;
}
.quickview .btn-outline-fav.ml-add-favorite.ml-fav-product {
  display: none;
}

.quickview #product-availability {
  margin: 0 0 0.5rem 0 !important;
}
#product-availability.lowstock {
  background-color: #fff3cd !important;
  border-color: #ffe69c !important;
}

body#product h1.product-name {
  margin: 0 !important;
  line-height: 1c;
}

body#product .product-prices {
  margin-top: 0.3rem !important;
  margin-bottom: 1rem;
}

body#product .product-accessories {
  margin-top: 2rem !important;
}
body#product #productos-relacionados > p.h5 {
  position: relative;
  font-weight: 400 !important;
}
body#product #productos-relacionados > p.h5::after {
  position: absolute;
  content: "";
  width: calc(100% - 15px);
  height: 1px;
  background: #ccc;
  left: 50%;
  bottom: 0;
  margin-bottom: -4px;
  transform: translateX(calc(-50% - 3px));
}

@media (min-width: 1199px) {
  body#product .product-prices {
    margin-bottom: 0 !important;
  }
  body#product .product-price {
    margin-bottom: 0 !important;
  }
}
@media (min-width: 600px) AND (max-width: 767px) {
  body#product #images-column {
    position: sticky;
    top: 70px;
  }
}

@media (max-width: 599px) {
  body#product .images-container {
    aspect-ratio: 42 / 51;
  }

  body#product .product-flags {
    display: none;
  }

  body#product .product-cover {
    aspect-ratio: 1 / 1;
  }

  body#product h1.product-name {
    font-size: 1.7rem !important;
  }

  body#product .current-price span:nth-of-type(1) {
    font-size: 2rem !important;
    font-weight: 500 !important;
  }

  ul.product-images.js-qv-product-images {
    display: flex;
  }

  .scroll-box-arrows,
  .scroll-box-arrows.scroll {
    display: none !important;
  }

  body#product #images-column {
    position: sticky;
    top: 100px;
  }

  body#product .impuestos_inc {
    font-size: 1rem !important;
    font-weight: 200 !important;
  }

  body#product .product-add-to-cart .control-label {
    display: none !important;
  }

  body#product .eprel-energy-label a.btn-outline-primary {
    font-size: 0.9rem;
    padding: 0.45rem 1rem !important;
  }

  body#product .eprel-energy-label a img {
    max-width: 65px !important;
  }

  body#product button.add-to-cart span.d-inline {
    font-size: 0.9rem !important;
  }
}
body#product .eprel-energy-label {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}
body#product .eprel-energy-label h3 {
  flex: 1 0 100% !important;
}

body#product .eprel-energy-label a {
  flex: 0 1 65px;
}
body#product .eprel-energy-label .eprel-fiche-download {
  margin-top: 0 !important;
  flex: 1 1 auto;
}
body#product h1.product-name {
  font-size: clamp(2rem, 1.5455rem + 1.2121vw, 3rem);
  font-weight: 200;
  text-transform: lowercase;
  text-transform: capitalize;
  background-color: white;
  z-index: 99;
}

body#product .product-data-right {
  box-shadow: unset !important;
}

@media (min-width: 768px) {
  body#product .product-data-right {
    padding-bottom: 0;
  }
}

body#product .orbitvu-gallery-fix {
  border: unset;
  border-right: 1px solid #ccc;
}

body#product .orbitvu-gallery-view-image img.orbitvu-gallery-main-image {
  height: calc(100vh - 100px) !important;
}

/*#ovgallery-product-image
  > .orbitvu-gallery-view-image:not(:nth-of-type(1))
  > img.orbitvu-lightbox-cursor {
  cursor: initial !important;
}*/
div#ovgallery-product-image:has(> div#ovgallery-view-360)
  div.orbitvu-gallery-view-image:nth-child(2)
  > img {
  cursor: zoom-in !important;
}
/* BANNER PROFESIONAL */

#profesional-banner-producto {
  position: relative;
  background: #f8f9fa;
  border: 1px solid #e0e0e0;
  border-radius: 0.475rem;
  padding: 20px;
  margin-top: 20px;
  font-family: "Segoe UI", sans-serif;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}

#profesional-banner-producto h3 {
  font-size: 1.2rem;
  margin-bottom: 12px;
  color: #333;
}

#profesional-banner-producto ul {
  list-style: none;
  padding-left: 0;
  margin-bottom: 16px;
  margin-left: 0;
}

#profesional-banner-producto ul li {
  margin-bottom: 8px;
  list-style: none;
  padding-left: 20px;
  position: relative;
  color: #555;
  font-size: 0.9rem;
}

#profesional-banner-producto ul li::before {
  content: "✔";
  position: absolute;
  left: 0;
  color: #28a745 !important;
  font-weight: bold;
}

.pro-href {
  display: block;
  background-color: #ffc107;
  color: #212529;
  padding: 10px 16px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
  transition: background-color 0.3s;
  float: right;
}

.pro-href:hover {
  background-color: #e0a800;
}

/** PAGINA DE PRODUCTO ESPECIFICACIONES **/

.attachment > h4 {
  font-size: clamp(1.125rem, 1.0333rem + 0.3056vw, 1.4rem) !important;
  margin-bottom: 0 !important;
}
.attachment > h4 a {
  color: #003aa1 !important;
}
.attachment > h4 a:hover {
  color: #003aa1 !important;
}
.attachment p {
  font-size: 1rem !important;
  padding-left: calc(1.5em + 7px);
}
@media (max-width: 575px) {
  .attachment p {
    font-size: 0.8rem !important;
  }
}
.descargaboton span {
  font-size: clamp(1.125rem, 1.0333rem + 0.3056vw, 1.4rem) !important;
}
.descargaboton {
}
.descargaboton:hover {
}
div.product-description {
  margin-top: 20px;
  position: relative;
  display: block;
  padding-bottom: 2rem;
}
#product-attachments-and-extra-data {
  display: flex;
  flex-direction: column;
}

@media (min-width: 768px) {
  #product-attachments-and-extra-data {
    padding-right: 3vw;
  }
}

#product-attachments-and-extra-data > div {
  margin: 1rem 0;
}

#product-attachments-and-extra-data > div:nth-of-type(1),
#product-attachments-and-extra-data > div:nth-of-type(2) {
  margin: 0 !important;
}

.eprel-energy-label {
  margin-bottom: 1rem !important;
}

#product-attachments-and-extra-data > div:has(.clasificacion-wrap:empty) + div {
  margin: 0;
  margin-top: 0 !important;
}

@media (max-width: 575px) {
  .eprel-energy-label {
    margin-bottom: 0;
  }

  #product-attachments-and-extra-data > div:nth-of-type(1),
  #product-attachments-and-extra-data > div:nth-of-type(2) {
    margin: 1.5rem 0 0 0 !important;
  }

  #product-attachments-and-extra-data > div {
    margin: 1.5rem 0 !important;
  }

  .eprel-energy-label {
    margin-bottom: 1rem !important;
  }

  #product-attachments-and-extra-data h3,
  #product-description-and-datasheet h3 {
    margin-bottom: 0.5rem !important;
  }

  .ficha_tecnica {
    margin-bottom: 2rem !important;
    margin-top: 1.5rem;
  }
}

#product-details-container {
  margin-top: 16vh;
}

#product-attachments-and-extra-data h3,
#product-description-and-datasheet h3 {
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  font-size: clamp(1.23rem, 1.0337rem + 0.8052vw, 2rem);
  font-weight: 300;
  margin-bottom: 1rem;
}

.ficha_tecnica {
  margin-bottom: 5rem;
}

.valoraciones {
  margin-top: 0rem;
  margin-bottom: 0;
}

.valoraciones h3 {
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  font-size: clamp(1.23rem, 1.0337rem + 0.8052vw, 2rem);
  font-weight: 300;
  margin-bottom: 3rem;
}

.file_size {
  font-size: 0.8em;
}

span.download-item {
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 27 !important;
  font-size: 1.5em;
  vertical-align: bottom;
}

ul.data-sheet > li {
  font-size: clamp(0.8rem, 0.749rem + 0.2092vw, 1rem) !important;
}

ul.data-sheet > li strong {
  color: #666;
}

@media (max-width: 575px) {
  #profesional-banner-producto ul li {
    margin-bottom: 2px !important;
  }

  #profesional-banner-producto ul li:nth-last-of-type(1) {
    margin-bottom: 12px !important;
  }

  #profesional-banner-producto {
    margin-bottom: 2rem;
  }

  #product-details-container {
    margin-top: 0 !important;
  }

  #product-attachments-and-extra-data > div:has(> .clasificacion-wrap:empty) {
    margin: 0rem 0 1rem 0 !important;
  }

  #block-reassurance li * {
    font-size: 0.85rem !important;
  }

  #block-reassurance li .block-reassurance-item {
    padding: 0.3rem 0 0.3rem 0.5rem !important;
  }

  #block-reassurance img {
    margin-right: 0.3rem !important;
  }
}

/* ADD TO CART */

.quickview .qty .product-qty,
.quickview .qty .qty-count,
body#product .qty .product-qty,
body#product .qty .qty-count {
  background: transparent;
  color: inherit;
  font-weight: bold;
  font-size: inherit;
  border: none;
  display: inline-block;
  min-width: 0;
  height: 2.5rem;
  line-height: 1;
  height: 100%;
}

.quickview .qty .product-qty:focus,
.quickview .qty .qty-count:focus,
body#product .qty .product-qty:focus,
body#product qty .qty-count:focus {
  outline: none;
}

.quickview .qty .product-qty,
body#product .qty .product-qty {
  width: 50px;
  min-width: 0;
  display: inline-block;
  text-align: center;
  -webkit-appearance: textfield;
  -moz-appearance: textfield;
  appearance: textfield;
}

.quickview .qty .product-qty::-webkit-outer-spin-button,
.quickview .qty .product-qty::-webkit-inner-spin-button,
body#product .qty .product-qty::-webkit-outer-spin-button,
body#product .qty .product-qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  appearance: none;
  margin: 0;
}

.quickview .qty .qty-count,
body#product .qty .qty-count {
  padding: 0;
  cursor: pointer;
  width: 2.5rem;
  font-size: 1.25em;
  text-indent: -100px;
  overflow: hidden;
  position: relative;
  height: 100%;
}

.quickview .qty .qty-count:before,
.quickview .qty .qty-count:after,
body#product .qty .qty-count:before,
body#product .qty .qty-count:after {
  content: "";
  height: 2px;
  width: 10px;
  position: absolute;
  display: block;
  background: #000;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}

.quickview .qty .qty-count--minus,
body#product .qty .qty-count--minus {
  border-right: 1px solid #e2e2e2;
}

.quickview .qty .qty-count--add,
body#product .qty .qty-count--add {
  border-left: 1px solid #e2e2e2;
}

.quickview .qty .qty-count--add:after,
body#product .qty .qty-count--add:after {
  transform: rotate(90deg);
}

.quickview .qty .qty-count:disabled,
body#product .qty .qty-count:disabled {
  color: #ccc;
  background: #f2f2f2;
  cursor: not-allowed;
  border-color: transparent;
}

.quickview .qty .qty-count:disabled:before,
.quickview .qty .qty-count:disabled:after,
body#product .qty .qty-count:disabled:before,
body#product .qty .qty-count:disabled:after {
  background: #ccc;
}

.quickview div.qty,
body#product div.qty {
  color: #000;
  background: #fff;
  display: flex;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 8px;
}

body#product .qty input {
  position: relative;
  left: unset;
  transform: none;
  width: 3.2rem;
  padding: 0;
  text-align: center;
  z-index: 9;
}

body#product .product-quantity {
  display: flex;
  gap: 0.625rem;
}

.ov360-item-container,
.orbittour-item-container,
.ovvideo-item-container,
.orbitvu-gallery-view-image,
.orbitvu-gallery-view-360,
.orbitvu-gallery-view-tour,
.orbitvu-gallery-view-video {
  width: unset;
  height: unset;
}

.orbitvu-gallery-product-views
  ul.orbitvu-image-thumbs
  li.orbitvu-gallery-item:first-child,
.orbitvu-gallery-product-views
  ul.orbitvu-image-thumbs
  li.orbitvu-gallery-item.orbitvu-gallery-item-first {
  margin: 5px;
}

.orbitvu-gallery {
  padding-bottom: 0 !important;
  width: 100%;
  height: calc(100vh - 100px);
}

.orbitvu-gallery-scroller {
  position: absolute;
  height: auto;
  overflow: hidden;
  margin: 6px 0;
  top: 0;
  left: 0;
  z-index: 100;
}

.orbitvu-gallery-product-views ul.orbitvu-image-thumbs {
  display: flex;
  flex-direction: column;
}

body#product .current-price span {
  font-size: 2.6em;
  font-weight: 500;
  color: #111;
}

body#product .impuestos_inc {
  font-weight: 200 !important;
}

.product-data-right {
  padding: 12px 18px;
  background-color: rgba(255, 255, 255, 0.7);
  border-radius: 0px;
  transition: all 0.3s ease-in-out;
  box-shadow: 0px 2px 8px 0 rgba(0, 0, 0, 0.2);
}

.product-data-right:hover {
  border-radius: 0px;
}

.images-container .product-cover {
  overflow: hidden;
  transition: all 0.3s ease-in-out;
}

@media (max-width: 1200px) and (orientation: portrait) {
  body#product .orbitvu-gallery-view-image img.orbitvu-gallery-main-image {
    height: auto !important;
    width: 90% !important;
  }
}

@media (orientation: portrait) or (max-width: 1024px) {
  .orbitvu-gallery-scroller {
    position: relative;
    height: auto;
    overflow: hidden;
    margin: 6px 0;
  }

  .orbitvu-gallery-product-views ul.orbitvu-image-thumbs {
    display: inline-block;
    flex-direction: unset;
  }

  .orbitvu-gallery {
    padding-bottom: 100% !important;
    width: 100%;
    height: unset;
  }
}

@media (max-width: 767px) {
  .product-data-right {
    background-color: rgba(255, 255, 255, 0.99);
  }

  .orbitvu-gallery {
    padding-bottom: 84%;
  }

  body#product .orbitvu-gallery-fix {
    border: unset;
    border-right: none;
  }

  .fixed-bottom {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    background-color: #fff;
    padding: 2rem 1rem;
    box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.2);
    justify-content: center;
  }

  .fixed-bottom > .qty {
    flex: 1 0 25%;
    /*padding-left: 20px;*/
  }

  .fixed-bottom > .add {
    flex: 1 0 75%;
  }

  .fixed-bottom .add button {
    width: 100%;
  }
}

@media (max-width: 1299px) {
  body#product .orbitvu-gallery-view-image img.orbitvu-gallery-main-image {
    height: auto !important;
  }
}

body#product .product-add-to-cart {
  margin-top: 1rem;
}

body#product .qty {
  flex: 1 1 calc(30% - 0.312rem);
}

body#product .qty > .bootstrap-touchspin {
  width: 100%;
  float: unset;
  display: block;
  box-shadow: none;
}

body#product .qty input {
  position: relative;
  left: 0;
  transform: translate(0, 0);

  width: 5rem;
  padding: 0;
  text-align: center;
  z-index: 9;
}

body#product .qty > button {
  flex: 1;
}

body#product .qty > input {
  flex: 1;
}

body#product .add {
  flex: 1 0 calc(70% - 0.312rem);
}

body#product .qty .input-group-btn-vertical {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
}

body#product .qty .input-group-btn-vertical button {
  flex: 0 0 2rem !important;
  height: calc(100% - 1rem) !important;
  border: none !important;
  margin: 0.1rem 0 0.2rem 0.2rem;
  z-index: 9;
  width: 2rem;
}

body#product .qty .input-group-btn-vertical button:nth-of-type(1) {
  padding: 5px 0;
  margin: 0 !important;
  position: absolute;
  right: 0;
  z-index: 9;
  width: 2rem;
}

body#product .qty .input-group-btn-vertical button:nth-of-type(2) {
  padding: 5px 0;
  margin: 0 !important;
  position: absolute;
  left: 0;
}

body#product .qty .input-group-btn-vertical button:nth-of-type(1) > i {
  transform: rotate(90deg);
  font-size: 1.8rem;
}

body#product .qty .input-group-btn-vertical button:nth-of-type(2) > i {
  transform: rotate(90deg);
  font-size: 1.8rem;
}

body#product .bootstrap-touchspin .input-group-btn-vertical i {
  position: relative;
}
@media (min-width: 768px) {
  div#stripe-express-checkout-element {
    max-width: 418px !important;
  }
}
@media (max-width: 767px) {
  #mobile_add_to_cart {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    background: #fff;
    padding: 1rem 1rem calc(1rem + env(safe-area-inset-bottom));
    box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.2);

    transform: translateY(100%);
    transition: transform 0.22s ease;
    will-change: transform;
    -webkit-backface-visibility: hidden;

    display: flex;
    justify-content: center;
    gap: 0.625rem;

    pointer-events: none; /* hasta que esté visible */
  }
  #mobile_add_to_cart > .product-quantity {
    width: 100%;
  }
  #mobile_add_to_cart.is-open {
    transform: translateY(0);
    pointer-events: auto;
  }
  /* opcional XS */
  @media (max-width: 575px) {
    #mobile_add_to_cart {
      gap: 0.2rem;
    }
  }

  /* placeholder ocupa el alto al extraer el bloque */
  .pq-placeholder {
    height: 0;
  }
}
.quickview #mobile_add_to_cart {
  display: none !important;
}

@media (max-width: 575px) {
  body#product .product-quantity {
    display: flex;
    gap: 0.2rem;
    justify-content: center;
  }
  body#product .product-quantity.clearfix::after {
    display: none !important;
  }

  body#product .product-quantity > div:nth-of-type(1) {
    flex: 0 0 calc(50% - 0.1rem) !important;
  }

  body#product .product-quantity > div:nth-of-type(2) {
    flex: 0 0 calc(50% - 0.1rem) !important;
  }

  body#product .product-quantity > .add > button {
    width: 100% !important;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
  }

  .product-variants .input-container {
    margin: 0 0 0.7rem 0 !important;
  }
  body#product #stripe-express-checkout-element {
    min-height: 58px !important;
  }
  body#product #stripe-express-checkout-element:nth-of-type(2),
  body#product #stripe-express-checkout-element:not(.StripeElement) {
    min-height: 0px !important;
  }
}
.sequra-widget-content,
.sequra-widget-container {
  display: none !important;
}

@media (max-width: 480px) {
  body#product .qty {
    flex: 1 35%;
  }

  body#product .add {
    flex: 1 65%;
  }
}

#product #block-reassurance {
  box-shadow: unset;
}

#block-reassurance li {
  border-bottom: unset;
}

#block-reassurance li .block-reassurance-item {
  padding: 0.7rem 0 0.7rem 0.5rem;
}
@media (min-width: 990px) {
  #block-reassurance {
    margin-top: 2rem !important;
  }
  #block-reassurance li .block-reassurance-item {
    padding: 0.4rem 0 0.2rem 0.5rem !important;
  }
}

#product #block-reassurance span {
  font-weight: 500;
  color: #333;
}

#block-reassurance img {
  opacity: 0.7;
}

/* CLASIFICACION ENERGETICA */

.clasificacionenergetica {
  padding: 2rem 1rem 2rem 0;
  display: flex;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}

/* PRODUCT VARIANTS */

body#product .product-variants {
  margin: 2rem 0 1rem 0;
}

.product-variants .radio-label {
  box-shadow: none;
  background: transparent;
  display: block;
  padding: 1rem 2rem;
  font-weight: 300;
  border: none;
}

.product-variants .input-container {
  border: 2px solid rgba(0, 0, 0, 0.2);
  margin: 0 0.625rem 0.7rem 0 !important;
}

.product-variants .input-container label {
  width: 100%;
  text-align: left;
  margin: 0;
}

.product-variants .input-color:checked + span,
.input-color:hover + span,
.input-radio:checked + span,
.input-radio:hover + span {
  border: none !important;
}

#product .product-variants .radio-label {
  padding: 0.5rem 0 0 0;
}

.modal-content #profesional-banner-producto {
  display: none;
}

/* NUEVA MINIATURA */

article.product-miniature {
  flex: 0 0 auto;
  width: auto;
  aspect-ratio: 1 / 2;
  background: #fff;
  position: relative;
  border-radius: 10px;
  display: grid;
  grid-template-areas:
    "imagen"
    "nombre"
    "referencia"
    "info"
    "precio"
    "add-to-cart";
  grid-template-columns: 100%;
  padding: 0rem;
  border: 1px solid rgba(0, 0, 0, 0.2);
  margin: 0 1rem;
  grid-template-rows: max-content max-content max-content max-content 2fr;
  transition: all 0.2s ease-out;
}

.product-miniature_image {
  grid-area: imagen;

  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  position: relative;
  max-width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
}

.product-miniature_image figure {
  margin: 0;
  overflow: hidden;
  background: rgb(128, 147, 1);
  background: radial-gradient(
    circle at 100%,
    rgba(128, 147, 1, 1) 0%,
    rgba(186, 212, 6, 1) 50%,
    rgba(244, 255, 168, 1) 100%
  );
  background-repeat: no-repeat;
  background-position: right bottom;
}

.product-miniature_image figure img {
  max-width: 100%;
  object-fit: contain;
}

.product-miniature .variantes {
  width: 100%;
  display: flex;
  position: absolute;
  bottom: 0;
  transform: translateY(100%);
  height: 40px;
  justify-content: center;
  transition: all 0.2s ease-out;
  opacity: 0;
  align-items: flex-start;
  align-content: flex-start;
}

.product-miniature_image:hover > .variantes {
  opacity: 1;
  transform: translateY(0);
}

.product-miniature .variantes > .item {
  flex: 0 1 20px;
  aspect-ratio: 1 / 1;
  cursor: pointer;
  border-radius: 4px;
  margin: 0 5px;
  border: double 1px rgba(0, 0, 0, 0.8);
  transform: translateY(-5px);
  position: static;
}

.product-miniature .variantes > .item ~ span {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, -3px);
  opacity: 0;
  transition: all 0.2s ease-out;
}

.product-miniature .variantes > .item:hover + span {
  opacity: 1;
}

.product-miniature .variantes > .item.calida {
  background-color: #ffe5b9;
}

.product-miniature .variantes > .item.neutra {
  background-color: #fffee9;
}

.product-miniature .variantes > .item.blanca {
  background-color: #d3f7ff;
}

.product-miniature .variantes > .item.rgb {
  background: rgb(255, 0, 0);
  background: -moz-linear-gradient(
    90deg,
    rgba(255, 0, 0, 1) 0%,
    rgba(56, 255, 0, 1) 50%,
    rgba(69, 69, 252, 1) 100%
  );
  background: -webkit-linear-gradient(
    90deg,
    rgba(255, 0, 0, 1) 0%,
    rgba(56, 255, 0, 1) 50%,
    rgba(69, 69, 252, 1) 100%
  );
  background: linear-gradient(
    90deg,
    rgba(255, 0, 0, 1) 0%,
    rgba(56, 255, 0, 1) 50%,
    rgba(69, 69, 252, 1) 100%
  );
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ff0000", endColorstr="#4545fc", GradientType=1);
}

.product-miniature_nombre {
  grid-area: nombre;
  font-size: clamp(1rem, 0.5461rem + 0.6066vw, 1.15rem);
  font-weight: 400;
  padding: 1rem 1rem 0 1rem;
  color: #444 !important;
}

.product-miniature_nombre a {
  color: #444 !important;
}

.product-miniature_referencia {
  grid-area: referencia;
  font-size: clamp(0.8rem, 0.649rem + 0.1092vw, 0.9rem);
  color: #666;
  padding: 0 1rem 1rem 1rem;
  display: flex;
  align-items: center;
  align-content: center;
}

.product-miniature_precio {
  font-size: clamp(1.23rem, 1.2357rem + 0.4869vw, 1.7rem);
  color: #666;
  font-weight: 600;
  padding: 0.5rem 0;
}

.product-miniature_info {
  grid-area: info;
  padding: 0 1rem 0 1rem;
}

.tax-span {
  font-size: 0.6em;
}

article.product-miniature.dark {
  background: #333;
  color: #fff;
}

span.price {
  border-radius: 8px;
  color: #444;
  padding: 0.5rem 0.9rem;

  z-index: 99;
}

.dark span.price {
  color: white !important;
}

span.in_stock {
  display: inline-block;
  /*border-radius:  4px;*/
  /*padding: 0.2rem 0.4rem;*/
  /*background:green;*/
  color: white;
  margin-left: 0.5rem;
  font-size: 1.1em;
  color: green;
  font-weight: 500;
}

span.in_stock::after {
  display: block;
  float: left;
  content: "\f3a1";
  font-family: "Material Symbols Outlined";
  font-size: 1.2em;
  transform: translate(0, -2px);
}

span.no_stock {
  display: inline-block;
  border-radius: 4px;
  padding: 0.2rem 0.4rem;
  background: orange;
  color: white;
  margin-left: 0.5rem;
  font-size: 0.7em;
}

article.product-miniature.dark > * {
  color: #fff !important;
}

.product-miniature_add-to-cart {
  grid-area: add-to-cart;
}

article.product-miniature .add-to-cart {
  background-color: #444;
  color: white !important;
  width: 100%;
  padding: 1rem 0;
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
}

article.product-miniature .dark .add-to-cart {
  background: #5f5f5f;
}

article.product-miniature .add-to-cart:hover {
  background: #ffd600;
}

article.product-miniature:hover,
article.product-miniature.dark:hover {
  transform: scale(1) translateY(-5px);
}

.product-miniature .combinaciones {
  display: flex;
  flex-wrap: wrap;
  max-width: 100%;
  max-height: 100%;
  overflow: hidden;
}

.product-miniature .combinaciones > .combinacion {
  width: 18px;
  height: 18px;
  margin: 4px;
  flex: 0 0 18px;
  border-radius: 4px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  cursor: pointer;
}

.product-miniature.dark .combinacion {
  border: 1px solid rgba(255, 255, 255, 0.7);
}

.product-miniature .combinacion.rojo {
  background-color: red;
}

.product-miniature .combinacion.verde {
  background-color: green;
}

.product-miniature .combinacion.azul {
  background-color: blue;
}

.product-miniature .combinacion.amarillo {
  background-color: yellow;
}

.product-miniature .combinacion.rosa {
  background-color: pink;
}

.product-miniature .combinacion.celeste {
  background-color: lightblue;
}

.product-miniature .combinacion.negro {
  background-color: black;
}

.product-miniature .combinacion.gris {
  background-color: grey;
}

.product-miniature .combinacion.naranja {
  background-color: orange;
}

.product-miniature .combinacion.violeta {
  background-color: violet;
}

.product-miniature .combinacion.marron {
  background-color: maroon;
}

.product-miniature .combinacion.calida {
  background-color: #fff7c9;
}

.product-miniature .combinacion.neutra {
  background-color: #ffffd3;
}

.product-miniature .combinacion.blanca {
  background-color: #d3fdff;
}

.product-miniature .combinacion.rgb {
  background: rgb(255, 0, 0);
  background: -moz-linear-gradient(
    90deg,
    rgba(255, 0, 0, 1) 0%,
    rgba(56, 255, 0, 1) 50%,
    rgba(69, 69, 252, 1) 100%
  );
  background: -webkit-linear-gradient(
    90deg,
    rgba(255, 0, 0, 1) 0%,
    rgba(56, 255, 0, 1) 50%,
    rgba(69, 69, 252, 1) 100%
  );
  background: linear-gradient(
    90deg,
    rgba(255, 0, 0, 1) 0%,
    rgba(56, 255, 0, 1) 50%,
    rgba(69, 69, 252, 1) 100%
  );
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ff0000", endColorstr="#4545fc", GradientType=1);
}

.product-miniature span.variante_span {
  font-size: 0.8em;
}

.blockreassurance_product > div {
  background-color: #ffffff;
  margin: 4px 0 4px 0;
  padding: 10px 5px 1px 10px;
}

.blockreassurance_product > div:nth-last-of-type(1) {
  background: transparent;
}

.product_enstocklabel {
  padding: 8px 12px;
  background-color: #00b611;
  color: white;
  box-shadow: 0px 2px 8px 0 rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: 0px 2px 8px 0 rgba(0, 0, 0, 0.2);
}

.product_reservalabel {
  padding: 8px 12px;
  background-color: #1154ee;
  color: white;
  box-shadow: 0px 2px 8px 0 rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: 0px 2px 8px 0 rgba(0, 0, 0, 0.2);
}

.product_agotadolabel {
  padding: 8px 12px;
  background-color: #d42d1b;
  color: white;
  box-shadow: 0px 2px 8px 0 rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: 0px 2px 8px 0 rgba(0, 0, 0, 0.2);
}

/*.images-container .product-cover:hover {border-radius: 	20px;}*/
.pricewithtax {
  font-size: 0.8em !important;
  color: #666666 !important;
  font-weight: 300 !important;
}

.tabs {
  box-shadow: none;
}

.tabs .nav-tabs .nav-link.active {
  color: #1b53b7;
}

.tabs .nav-tabs .nav-link.active,
.tabs .nav-tabs .nav-link:hover {
  border-bottom: 3px solid #00338e;
}

#product-modal .modal-content .modal-body .product-images img:hover {
  border: 3px solid #00338e;
}

.garantias_img {
  display: block;
  margin: 5px;
  background-image: url("../img/warranty.png");
  background-size: cover;
  width: 70px;
  height: 70px;
  clear: both;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
  text-align: center;
  color: #000000;
  font-size: 1em;
}

.garantias_img span.pre_yrs {
  display: block;
  margin-top: 2px;
  font-size: 0.8em;
}

.garantias_img span.yrs {
  position: relative;
  color: #ffffff;
  font-size: 3.3em;
  text-align: center;
  display: block;
  padding-top: 20px;
  line-height: 0.48em;
}

.garantias_img span.post_yrs {
  position: absolute;
  bottom: 11px;
  left: 0;
  margin-left: 3px;
  font-weight: 300;
  color: #ffffff;
  font-size: 0.5em;
  white-space: nowrap;
  display: inline-block;
  line-height: 0.2em;
}

.yr2 {
  background-position: 0 0;
}

.yr3 {
  background-position: -50px 0;
}

.yr5 {
  background-position: -100px 0;
}

.blockreassurance_product > div {
  background-color: #ffffff;
  margin: 4px 0 4px 0;
  padding: 10px 5px 1px 10px;
}

.blockreassurance_product > div:nth-last-of-type(1) {
  background: transparent;
}

.tabs img {
  max-width: 100%;
  height: auto;
}

/* Evita overflow de las imágenes en la descripción del producto */
.estimateddelivery div {
  padding: 5px;
}

.estimateddelivery div p {
  font-size: 0.8rem;
  margin-bottom: 0;
}

/* Maqueta el texto del módulo Estimated delivery*/
#product_banner_pro {
  font-weight: bold;
  text-transform: uppercase;
  display: block;
  width: 100%;
  clear: both;
  margin-bottom: 15px;
  margin-top: 10px;
  font-size: 1em;
}

/* Etiqueta que estila el texto de registro profesional en página producto */
#product_banner_pro > span {
  background: #306dd8;
  color: white;
  padding: 10px 10px 10px 1em;
}

@media (max-width: 576px) {
  #product_banner_pro {
    font-size: 0.8em;
  }
  .product-variants .radio-label {
    padding: 0.5rem 0 0 0;
  }
}
.quickview .pricewithtax {
  font-size: 1rem !important;
}

#product .product-variants .radio-label {
  min-width: 115px;
  text-align: left;
}

#product .product-variants .input-radio {
  width: auto !important;
}

.garantia_container {
  display: flex;
  width: 60px;
  height: 80px;
  color: white;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  align-content: center;
  text-align: center;
  /* background-color: #aec7ff; */
  margin: 10px auto;
  position: relative;
  clear: both;
}

.garantia_encabezado {
  flex: 0 0 100%;
  font-size: 0.8em;
  color: white;
  background-color: #00338e;
  border-radius: 5px;
  font-weight: bold;
  z-index: 3;
}

.garantia_texto {
  flex: 0 0 100%;
  font-size: 3em;
  display: flex;
  border-radius: 50%;
  font-weight: bold;
  height: 77px;
  justify-content: center;
  align-items: center;
  position: relative;
  color: black;
}

.garantia_icono {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 3em !important;
  color: blue;
  z-index: 0;
}

.garantia_number {
  z-index: 2;
  font-size: 1.8em;
  color: #eee422;
}

.garantia_years {
  flex: 0 0 100%;
  color: #fff;
  font-weight: bold;
  z-index: 4;
}

/* BLOQUE CARACTERISTICAS BAJO EL NOMBRE PRODUCTO */
#product-features-top {
  display: flex;
  flex-wrap: nowrap;
  flex-basis: 22%;
  margin: 1rem 0;
}

#product-features-top > div {
  position: relative;
  border-radius: 6px;
  margin: 3px;
  border: 1px solid #ccc;
  background: rgb(255, 255, 255);
  background: -moz-linear-gradient(
    180deg,
    rgba(255, 255, 255, 1) 0%,
    rgba(244, 244, 244, 1) 50%,
    rgba(221, 221, 221, 1) 51%,
    rgba(241, 241, 241, 1) 100%
  );
  background: -webkit-linear-gradient(
    180deg,
    rgba(255, 255, 255, 1) 0%,
    rgba(244, 244, 244, 1) 50%,
    rgba(221, 221, 221, 1) 51%,
    rgba(241, 241, 241, 1) 100%
  );
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 1) 0%,
    rgba(244, 244, 244, 1) 50%,
    rgba(221, 221, 221, 1) 51%,
    rgba(241, 241, 241, 1) 100%
  );
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff", endColorstr="#f1f1f1", GradientType=1);
  width: 60px;
  height: 65px;
  padding-top: 44px;
  text-align: center;
  font-size: 0.8rem;
  line-height: 1;
  color: #222;
}

#product-features-top > div::after {
  position: absolute;
  display: inline;
  top: 6px;
  left: 50%;
  transform: translateX(-50%);
}

#product-features-top > div span {
  position: absolute;
  font-size: 0.7rem;
  color: #555;
  text-align: center;
  width: 99%;
  left: 50%;
  bottom: 25%;
  transform: translate(-50%, 50%);
}

#product-features-top > div.feature-9::after {
  font-size: 20px;
  color: #666;
  font-family: "Verdana", sans-serif;
  content: "W";
}

#product-features-top > div.feature-10::after {
  font-size: 24px;
  color: #666;
  font-family: "Material Icons";
  content: "\e25f";
  transform: translateX(-50%) rotate(180deg);
}

#product-features-top > div.feature-41::after {
  font-size: 24px;
  color: #666;
  content: url("/img/cms/caracteristicas/aperture.svg");
  left: 50%;
  transform: translateX(-50%) rotate(180deg);
  color: #ccc;
  fill: #ccc;
  width: 24px;
  height: 24px;
}

#product-features-top > div.feature-39::after {
  font-size: 24px;
  color: #666;
  font-family: "Material Icons";
  content: "\e3e7";
}

#product-features-top > div.feature-55::after {
  font-size: 20px;
  color: #666;
  font-family: "Material Icons";
  content: "\e798";
}

#product-features-top > div.feature-12::after {
  font-size: 24px;
  color: #666;
  font-family: "Material Icons";
  content: "\ebfe";
}

#product-features-top > div.feature-30::after {
  /* interior exterior */
  width: 24px;
  height: 24px;
  content: "";
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='none' d='M0,0h24v24H0V0Z'/><path fill='currentColor' d='M10.3,5.81l6,4.5v9H4.3v-9l6-4.5M10.46,3L2.46,9v12h16v-12l-8-6ZM19.99,18.03v-1s-6.09,0-6.09,0c-.21,0-.37-.17-.37-.37v-.45c0-.21.17-.37.37-.37h6.09v-1l1.55,1.59-1.55,1.59ZM15.07,11.65v1s6.09,0,6.09,0c.21,0,.37.17.37.37v.45c0,.21-.17.37-.37.37h-6.09s0,1,0,1l-1.55-1.59,1.55-1.59Z'/></svg>");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='none' d='M0,0h24v24H0V0Z'/><path fill='currentColor' d='M10.3,5.81l6,4.5v9H4.3v-9l6-4.5M10.46,3L2.46,9v12h16v-12l-8-6ZM19.99,18.03v-1s-6.09,0-6.09,0c-.21,0-.37-.17-.37-.37v-.45c0-.21.17-.37.37-.37h6.09v-1l1.55,1.59-1.55,1.59ZM15.07,11.65v1s6.09,0,6.09,0c.21,0,.37.17.37.37v.45c0,.21-.17.37-.37.37h-6.09s0,1,0,1l-1.55-1.59,1.55-1.59Z'/></svg>");
  mask-repeat: no-repeat;
  mask-size: contain;
  background: #666;
  color: #666;
  display: inline-block;
}

#product-features-top > div.feature-60::after {
  /*regulable*/
  font-size: 24px;
  color: #666;
  font-family: "Material Icons";
  content: "\e8bd";
}

#product-features-top > div.feature-39::after {
  font-size: 24px;
  color: #666;
  font-family: "Material Icons";
  content: "\e3e7";
}

#product-features-top > div.feature-39::after {
  font-size: 24px;
  color: #666;
  font-family: "Material Icons";
  content: "\e3e7";
}

#product-features-top > div.feature-39::after {
  font-size: 24px;
  color: #666;
  font-family: "Material Icons";
  content: "\e3e7";
}

#product-features-top > div.feature-39::after {
  font-size: 24px;
  color: #666;
  font-family: "Material Icons";
  content: "\e3e7";
}

#product-features-top > div.feature-39::after {
  font-size: 24px;
  color: #666;
  font-family: "Material Icons";
  content: "\e3e7";
}

#product-features-top .ttipbox {
  display: none;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -110%);
  -webkit-transform: translate(-50%, -110%);
  -moz-transform: translate(-50%, -110%);
  opacity: 0;
  transition: opacity 0.3s ease-out;
  -webkit-transition: opacity 0.3s ease-out;
  -moz-transition: opacity 0.3s ease-out;
  background-color: rgba(0, 0, 0, 0.7);
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  color: white;
  white-space: nowrap;
  width: auto;
  height: auto;
  padding: 10px 14px;
  bottom: auto;
}

#product-features-top .ttipbox::after {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  content: "";
  border-top: 5px solid rgba(0, 0, 0, 0.7);
  border-top-color: rgba(0, 0, 0, 0.7);
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
}

#product-features-top > div {
  position: relative;
}

#product-features-top > div:hover > .ttipbox {
  display: block;
  opacity: 1;
}

#product-features-top > div.regulable::after {
  font-size: 24px;
  color: #666;
  font-family: "Material Icons";
  content: "\e01d";
}

#product-features-top > div.masdatos::after {
  font-size: 24px;
  color: #666;
  font-family: "Material Icons";
  content: "\e861";
}

.wholelink {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9;
}
@media (min-width: 1199px) {
  #product-features-top {
    margin: 0.2rem 0 1rem 0;
  }
}
/* FICHA TECNICA PAGINA PRODUCTO */

#data-sheet-ul {
  display: block !important;
  float: none;
  max-width: 100%;
  list-style-type: none;
  padding: 0 !important;
  margin: 0 !important;
  clear: both;
  height: auto;
  overflow: hidden;
  margin-bottom: 1.6rem;
}

#data-sheet-ul li {
  width: 49%;
  padding: 1% !important;
  float: left;
  background: #fff;
  border-bottom: solid 1px #e9e9e9;
  border-top: solid 1px #e9e9e9;
  font: normal 14px/16px "Quicksand", sans-serif;
  color: #333;
  display: flex;
  align-items: center;
  position: relative;
  justify-content: space-between;
}
#data-sheet-ul li:nth-of-type(1),
#data-sheet-ul li:nth-of-type(2) {
  border-top: none !important;
}
#data-sheet-ul li:nth-last-of-type(1),
#data-sheet-ul li:nth-last-of-type(2) {
  border-bottom: none !important;
}

#data-sheet-ul li:nth-child(odd) {
  margin-right: 1%;
}

#data-sheet-ul li:nth-child(even) {
  margin-left: 1%;
}

#data-sheet-ul li:nth-child(4n),
#data-sheet-ul li:nth-child(4n-1) {
  background: #ffffff;
  border: none !important;
}

#data-sheet-ul li img:first-child {
  float: left;
  margin-right: 5px;
  vertical-align: middle;
  margin-left: -0.5%;
  max-width: 30px;
  height: auto;
}

#data-sheet-ul li span.valor-car {
  float: right;
  text-align: right;
  margin-right: 2%;
}

@media (max-width: 989px) {
  #data-sheet-ul li {
    position: relative;
  }
}

@media (max-width: 1199px) {
  #data-sheet-ul li:nth-child(4n),
  #data-sheet-ul li:nth-child(4n-1) {
    border: unset !important;
    border-bottom: solid 1px #e9e9e9 !important;
  }

  #data-sheet-ul li {
    width: 100%;
    padding: 1.3rem 0 !important;
    float: left;
    display: flex;
    border-top: none !important;
    border-bottom: solid 1px #e9e9e9 !important;
  }

  #data-sheet-ul li:nth-child(odd) {
    margin-right: 0;
  }

  #data-sheet-ul li:nth-child(even) {
    margin-left: 0;
  }

  #data-sheet-ul li img {
    margin-left: 1% !important;
  }
}

@media (max-width: 575px) {
  #data-sheet-ul li {
    padding: 0.6rem 0 !important;
  }
}

@media (hover: hover) {
  #data-sheet-ul li:hover {
    background: #ccc !important;
    color: #fff;
  }
}

.variantlistcontainer {
  display: block;
  float: right;
  width: 54%;
  position: relative;
  z-index: 9999;
}

.variantlist {
  list-style-type: none;
  display: inline;
  width: 100%;
}

.variantlist > li > ul {
  display: none;
  width: auto;
}

.variantlist > li {
  padding: 0px 4px;
  border: 1px solid rgba(0, 0, 0, 0.3);
  overflow: visible;
}

.variantlist > li > span:nth-of-type(1)::after {
  content: "\e5c5";
  display: block;
  float: right;
  font-family: "Material Icons";
  color: #333;
}

.variantlist > li:hover > ul {
  display: flex;
  position: absolute;
  right: 0;
  top: 100%;
  background: white;
  border: solid 1px rgba(0, 0, 0, 0.2);
  text-align: right;
  flex-wrap: nowrap;
  z-index: 9999;
}

.variantlist > li > ul > li {
  padding: 2px;
}

.variantlist > li > ul > li:hover {
  background-color: #f3f3f3;
}

.variantlist > li > ul > li a {
  display: block;
  width: 100%;
}

.product-in-list {
  display: grid;
  grid-template-columns: 100%;
  grid-template-areas:
    "imagen"
    "disponibilidad"
    "etiquetas"
    "nombre"
    "precio"
    "variantes"
    "caracteristicas";
  grid-template-rows:
    minmax(min-content, max-content) minmax(20px, 1fr) minmax(20px, 1fr)
    minmax(20px, 1fr) auto minmax(20px, 1fr) minmax(40px, 1fr);
  padding: 10px;
  /*grid-template-rows:auto;*/
  position: relative;
  /*border:1px solid rgba(0,0,0,0.3);
    box-shadow: 0 0 10px -3px rgba(0,0,0,0.4);*/
  transition: box-shadow 0.2s ease-in;
}

.product-in-list:hover {
  box-shadow: 0 16px 15px -3px rgba(0, 0, 0, 0.5) !important;
}

.product-in-list--image-container {
  grid-area: imagen;
  position: relative;
  overflow: hidden;
}

.product-in-list--image-container > #flags-image {
  position: absolute;
  display: flex;
  flex-wrap: wrap;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  justify-content: flex-end;
  z-index: 2;
  transition: transform 0.3s ease;
  align-items: center;
}

.product-in-list--image-container > .medida {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 2;
  transform: translate(-5px, -5px);
  font-size: clamp(0.85rem, 1.5vw, 1.5rem);
  color: rgba(120, 120, 120, 1);
  font-weight: bold;
}

.product-in-list:hover > .product-in-list--image-container > #flags-image {
  transform: translateY(60px);
}

.product-in-list:hover
  > .product-in-list--image-container
  > img#regulable-icon {
  transform: translate(65px, -65px);
}

.product-in-list:hover
  > .product-in-list--image-container
  > img#garantia_ampliada {
  transform: translate(-65px, -65px);
}

.product-in-list:hover > .product-in-list--image-container > img#atex_sello {
  transform: translate(0, 65px);
}

img#regulable-icon {
  transition: transform 0.3s ease;
  width: 5vw !important;
  height: auto !important;
  position: absolute;
  top: 0;
  right: 0;
  margin: 5px 5px 0 0;
  max-width: 60px;
}

.product-in-list--image-container > #flags-image > img {
  flex: 0;
  width: 5vw !important;
  height: auto !important;
  margin: 0 5px;
}

img#garantia_ampliada {
  position: absolute;
  top: 0;
  left: 0;
  width: 4vw;
  max-width: 80px;
  transition: transform 0.3s ease;
}

img#atex_sello {
  position: absolute;
  bottom: 0;
  left: 0;
  max-width: 60px;
  width: 4vw;
  transition: transform 0.3s ease;
  margin: 0 0 5px 5px;
}

#serieeco {
  order: 1;
}

#waterproof {
  order: 2;
}

.product-in-list--image-container > a {
  display: block;
  width: 100%;
  height: 100%;
}

.product-in-list--image-container img {
  width: 100% !important;
  height: auto !important;
}

.product-in-list--image-container .referencia {
  margin-top: 0 !important;
}

.product-in-list--product-stock {
  grid-area: disponibilidad;
  padding: 10px 0px;
}

.product-in-list--product-stock .product-in-stock {
  font-size: 0.9em;
  font-weight: normal;
  padding: 4px 7px;
  background-color: green;
  color: white;
}

.product-in-list--product-stock .product-out-of-stock {
  font-size: 0.9em;
  font-weight: normal;
  padding: 4px 7px;
  background-color: orange;
  color: white;
}

.product-in-list--product-flags {
  grid-area: etiquetas;
  padding: 10px 6px;
  display: flex;
  justify-content: center;
}

.product-in-list--product-flags > span {
  margin: 0 4px;
  width: 30px;
  height: 30px;
  display: flex;
  justify-content: center;
  align-content: center;
  position: relative;
  flex: 1;
  align-items: center;
}

.product-in-list--product-flags span > img {
  max-width: 30px;
}

.product-in-list--product-flags span > .ttipbox {
  display: none;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -110%);
  -webkit-transform: translate(-50%, -110%);
  -moz-transform: translate(-50%, -110%);
  opacity: 0;
  transition: opacity 0.3s ease-out;
  -webkit-transition: opacity 0.3s ease-out;
  -moz-transition: opacity 0.3s ease-out;
  background-color: rgba(0, 0, 0, 0.7);
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  color: white;
  white-space: nowrap;
  width: auto;
  height: auto;
  padding: 10px 14px;
  bottom: auto;
}

.product-in-list--product-flags > span > .ttipbox::after {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  content: "";
  border-top: 5px solid rgba(0, 0, 0, 0.7);
  border-top-color: rgba(0, 0, 0, 0.7);
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
}

.product-in-list--product-flags > span:hover > .ttipbox {
  display: block;
  opacity: 1;
}

.product-in-list--product-name {
  grid-area: nombre;
  padding: 0 5px;
}

.product-in-list--product-name .product-name {
  /*font-size:0.85em !important;*/
  font-size: clamp(0.8rem, 1vw, 1.1rem);
  font-weight: 400 !important;
  color: #666 !important;
  margin-bottom: 0 !important;
}

.product-in-list--product-name .product-name > a {
  color: #666 !important;
}

.product-in-list--product-price {
  grid-area: precio;
  padding: 10px 5px;
}

.product-in-list--product-price .price {
  font-size: 1.7em;
  font-weight: 400;
  color: #ff3c00;
}

.product-in-list--product-features {
  grid-area: caracteristicas;
  padding: 5px 5px;
  font-size: 0.7em;
  font-weight: lighter;
  color: black;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}

.product-in-list--product-features > span {
  margin: auto 4px;
}

.product-in-list--product-features.grey {
  background-color: #eee;
}

.product-in-list--product-variants {
  grid-area: variantes;
  padding: 0px 5px 15px 5px;
}

.product-in-list--product-variants > .product_temperatures {
  width: calc(100% - 1em);
  text-align: center;
  margin-right: auto;
  float: none;
  margin-left: auto;
}

.product-in-list--product-variants > .hiddendiv {
  min-height: 20px;
}

.product-in-list--product-variants > div + div {
  display: none;
}

.product-in-list--product-variants > .availabletext {
  display: block;
  width: 100%;
  padding: 0 0.5rem;
  text-align: center;
  font-size: 0.7em;
}

.product-in-list > .quickviewwrap {
  position: absolute;
  opacity: 0;
  bottom: 0%;
  right: 0%;
  padding: 12px 14px;
  z-index: 2;
  background: #fff;
  text-align: center;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  overflow: hidden;
  -webkit-border-radius: 50%;
  transition: transform 0.01s, opacity 0.05s;
  -webkit-transition: transform 0.01s, opacity 0.05s;
  -moz-transition: transform 0.01s, opacity 0.05s;
  filter: drop-shadow(0 0 4px rgba(0, 0, 0, 0.3));
  display: flex;
  justify-content: center;
  align-items: center;
}

.quickviewwrap .material-icons {
  transform: rotate(0);
}

.product-in-list:hover > .quickviewwrap {
  opacity: 1;
  transform: rotate(0) translate(15px, 15px);
  transition: transform 0.01s, opacity 0.3s;
  -webkit-transition: transform 0.01s, opacity 0.3s;
  -moz-transition: transform 0.01s, opacity 0.3s;
}

.ui-tooltip.ui-widget {
  background: rgba(0, 0, 0, 0.8) !important;
  box-shadow: none !important;
  border: none !important;
  color: white;
  font-size: 0.8em;
  margin-top: -10px;
  padding: 6px 10px;
}

.ui-tooltip.ui-widget::before {
  content: "";
  position: absolute;
  left: 10px;
  top: 0;
  margin-top: -10px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 5px 10px 5px;
  border-color: transparent transparent rgba(0, 0, 0, 0.8) transparent;
  clear: both;
}

.sort-by-row {
  width: 100% !important;
  float: none;
  margin: 0.5rem auto;
  gap: 0.5rem;
  justify-content: space-between;
}

@media (min-width: 768px) {
  .sort-by-row {
    margin: 0 auto 0.5rem auto !important;
  }
}

.sort-by-row > span.sort-by {
  flex: 0 1 calc(20% - 0.5rem) !important;
}

.sort-by-row > .products-sort-order {
  width: calc(40% - 0.5rem) !important;
  flex: 0 0 calc(40% - 0.5rem) !important;
  padding: 0 !important;
  text-align: center !important;
}

.products-sort-order .select-title {
  text-align: center !important;
}

.sort-by-row > .filter-button {
  width: calc(40% - 0.5rem) !important;
  flex: 0 0 calc(40% - 0.5rem) !important;
  padding: 0 !important;
}

.sort-by-row > .filter-button > button {
  width: 100% !important;
  text-transform: none !important;
  border-color: rgba(0, 0, 0, 0.1);
  color: #333 !important;
  background: white !important;
  height: 100% !important;
  font-weight: 400;
}

.sort-by-row .products-sort-order .dropdown-menu a.current {
  font-weight: 600 !important;
  color: #003aa1 !important;
}

@media (min-width: 576px) {
  .hidden-xs-up {
    display: none;
  }
}

@media (min-width: 768px) {
  .sort-by-row > .filter-button {
    display: none !important;
  }
}

@media (min-width: 1200px) AND (max-width: 1500px) {
  .products.row {
    --grid-min-size: 150px;
    --grid-max-cols: 4;
  }
  .product-responsive-card {
    min-width: clamp(150px, 22%, 199px) !important;
  }
}

@media (min-width: 769px) and (max-width: 1199px) {
  .products.row {
    --grid-min-size: 180px;
    --grid-max-cols: 3 !important;
  }
  .product-responsive-card {
    min-width: clamp(180px, 30%, 250px) !important;
  }
}
@media (max-width: 768px) {
  @container product-list (width < 750px) {
    .products.row {
      grid-template-columns: repeat(
        auto-fit,
        minmax(min(234px, 100%), 1fr)
      ) !important;
      gap: 0.3rem;
    }
  }
}

@media (max-width: 599px) {
  @container product-list (width < 542px) {
    .products.row {
      grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important;
    }
  }

  .products.row > article.product-responsive-card {
    border: none !important;
  }
}

@media (max-width: 480px) {
  .products.row {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .product-in-list--image-container > #flags-image > img {
    width: 60px !important;
  }

  .block-category .category-info {
    padding: 0 !important;
    max-width: 100%;
  }

  h1.category-title {
    font-weight: 400 !important;
    font-size: 1.6rem !important;
    text-align: center !important;
    margin-bottom: 0.5rem !important;
  }

  .sort-by-row {
    width: 100% !important;
    float: none;
    margin: 0.5rem auto;
    gap: 0.5rem;
    justify-content: space-between;
  }

  .sort-by-row > .products-sort-order {
    width: calc(50% - 0.5rem) !important;
    flex: 0 0 calc(50% - 0.5rem) !important;
    padding: 0 !important;
    text-align: center !important;
  }

  .products-sort-order .select-title {
    text-align: center !important;
  }

  .sort-by-row > .filter-button {
    width: calc(50% - 0.5rem) !important;
    flex: 0 0 calc(50% - 0.5rem) !important;
    padding: 0 !important;
  }

  .sort-by-row > .filter-button > button {
    width: 100% !important;
    text-transform: none !important;
    color: #333 !important;
    background: white !important;
  }

  .products-sort-order {
  }
}

.sort-by-row > .products-sort-order .select-title,
.sort-by-row > .filter-button > button {
  border-color: var(--bs-gray-600) !important;
}

.badge {
  position: absolute;
  background-color: #003aa1;
  text-align: center;
  line-height: 50px;
  width: 150px;
  height: 50px;
  font-size: 1em;
  color: white;
  font-weight: bold;
  z-index: 999;
}
.saved-cart-item .badge {
  position: relative;
  line-height: normal;
  width: auto;
  height: auto;
}

.badge:after {
  content: "";
  position: absolute;
  top: 0px;
  transform: skew(20deg);
  right: -15px;
  width: 30px;
  height: inherit;
  background-color: lightblue;
  border-radius: 0 4px 4px 0;
}

.badge:before {
  content: "";
  position: absolute;
  top: 7px;
  transform: skewY(30deg);
  left: 0px;
  width: 20px;
  height: inherit;
  background-color: darkblue;
  z-index: -10;
}

/*DESCUENTOS*/
.descuentos_wrap {
  display: flex;
  margin: 10px 0 10px 0;
  border: solid 3px #00338e;
  position: relative;
  width: auto;
  max-width: 320px;
  clear: right;
  flex: 0 50%;
  flex-wrap: wrap;
  justify-content: space-between;
  box-sizing: border-box;
}

.descuentos_wrap::before {
  content: url("../img/piggy.svg");
  -webkit-transform: scaleX(-1);
  transform: scaleX(-1);
  fill: #00338e;
  display: inline !important;
  position: absolute;
  right: 0;
  bottom: 0;
  margin-right: -41px;
  margin-bottom: -15px;
  vertical-align: middle;
  font-family: "Material Icons";
  font-size: 3.6em;
  /*	filter:drop-shadow(0 0 4px rgba(0,0,0,0.5));-webkit-filter:drop-shadow(0 0 4px rgba(0,0,0,0.5));-moz-filter:drop-shadow(0 0 4px rgba(0,0,0,0.5));*/
  color: gold;
  height: 50px;
  width: 50px;
}

@media (min-width: 481px) and (max-width: 991px) {
  .descuentos_wrap::before {
    margin-right: -23px;
    margin-bottom: -27px;
  }
}

@media (max-width: 480px) {
  .descuentos_wrap::before {
    right: 50%;
    transform: translate(-30%, 0) scaleX(-1);
    -webkit-transform: translate(-30%, 0) scaleX(-1);
    margin-bottom: -35px;
  }
}

@media (max-width: 767px) {
  .descuentos_wrap {
    float: none;
    margin: 10px auto 10px auto;
  }
}

.descuentos_title {
  flex: 0 0 100%;
  /* fg: 0, fs: 0, fb: 100% */
  background-color: #00338e;
  padding: 3px 0 3px 0;
  color: #ffffff;
  font-weight: bold;
  text-align: center;
  text-transform: uppercase;
}

.cantidad_desc {
  display: block;
  padding: 10px 20px;
}

.precio_desc {
  display: block;
  padding: 10px 20px;
  font-weight: bold;
  color: #ea5252;
}

/* NEW BOX */

.volume-discount-box {
  background: #f0f3fa;
  border: 1px solid #e0e0e0;
  border-radius: 12px;
  padding: 1.5rem;
  max-width: calc(100% - 0.625rem);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
  font-family: "Segoe UI", sans-serif;
  margin-bottom: 1rem;
}

.volume-discount-box svg {
  vertical-align: middle;
}

.discount-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

.modal .discount-header {
  display: none;
}

.discount-header svg {
  width: 24px;
  height: 24px;
  fill: #041f84;
}

.discount-header h3 {
  font-size: 1.2rem;
  margin: 0;
  color: #041f84;
}

.discount-description {
  font-size: 0.95rem;
  margin-bottom: 1rem;
  color: #444;
}

.discount-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.discount-list li {
  display: flex;
  justify-content: space-between;
  padding: 0.3rem 0;
  border-bottom: 1px dashed #ddd;
  font-size: 0.95rem;
}

.discount-list .price_volume {
  font-weight: 600;
  color: #041f84;
}

.note {
  margin-top: 1rem;
  font-size: 0.85rem;
  color: #888;
  font-style: italic;
}

@media (max-width: 575px) {
  .volume-discount-box {
    padding: 0.5rem 0.8rem;
    font-size: 0.9rem;
    margin-bottom: 0.8rem;
  }

  .note {
    margin-bottom: 0.2rem !important;
  }
}

/* /NEW BOX */

/* PAGINA DE PRODUCTO BOTONES SHARING */

.social-sharing {
}

.social-sharing .facebook.icon-gray:hover {
  background-color: #3b5998;
}

.social-sharing .twitter.icon-gray:hover {
  background-color: #26a7de;
}

.social-sharing .pinterest.icon-gray:hover {
  background-color: #c8232c;
}

/* LISTADO DE PRODUCTOS */

.product-in-list--image-container:hover .imagen-hover {
  opacity: 1;
}

.imagen-hover {
  position: absolute;
  max-width: 100%;
  max-height: 100%;
  z-index: 2;
  opacity: 0;
  top: 0;
  left: 0;
  transition: opacity 0.6s cubic-bezier(0.425, -0.05, 0.68, -0.57);
}

nav.pagination > div:has(ul.page-list) {
  display: flex;
  justify-content: flex-end;
}

nav.pagination ul.page-list {
  display: flex;
  gap: 1rem;
}

nav.pagination ul.page-list li {
  padding: 0.5rem 1rem;
  border-top: 1px solid transparent;
  position: relative;
}

nav.pagination
  ul.page-list
  li:not(:nth-last-of-type(1))
  a:not([rel="prev"]):not([rel="next"]) {
  display: flex;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  justify-content: center;
  align-items: center;
}

nav.pagination ul.page-list li.current {
  border-top: 1px solid #00338e;
}

nav.pagination
  ul.page-list
  li:not(.current):not(:nth-last-of-type(1)):not(:has(> a[rel="prev"])):hover {
  border-color: rgba(0, 0, 0, 0.4);
}
nav.pagination + div > a.btn-secondary {
  background: white;
  border-color: var(--bs-gray-600) !important;
  color: #333;
  margin: 1rem 0;
}

@media (max-width: 767px) {
  .filter-button {
  }
}

/* Diseño Listado subcategorías */

.modern-subcategories-container {
  max-width: 900px;
  margin: 0 auto;
  position: relative;
}

.modern-subcategories-wrapper {
  overflow: hidden;
  position: relative;
  padding: 1.5rem 0;
}

.modern-subcategories {
  display: flex;
  gap: 20px;
  transition: transform 0.3s ease;
  padding: 0 10px;
}

.modern-subcategory-item {
  min-width: 120px;
  flex-shrink: 0;
  position: relative;
}

.modern-subcategory-item a {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  text-indent: -9999px;
}

.cat-nav-button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255, 255, 255, 0.9);
  border: none;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  z-index: 2;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.cat-nav-button:hover {
  background: #ffdd00;
  transform: translateY(-50%) scale(1.1);
}

.cat-nav-button:disabled {
  opacity: 0.3;
  cursor: not-allowed;
  transform: translateY(-50%) scale(0.9);
}

.cat-nav-button svg {
  width: 20px;
  height: 20px;
  fill: #4a5568;
}

.cat-nav-button-prev {
  left: -50px;
}

.cat-nav-button-next {
  right: -50px;
}

.modern-subcategory-item {
  background: rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  padding: 20px 15px;
  text-align: center;
  transition: all 0.3s ease;
  cursor: pointer;
  border: 2px solid transparent;
  backdrop-filter: blur(10px);
  position: relative;
  overflow: hidden;
  width: 150px;
}

.modern-subcategory-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.1),
    transparent
  );
  transition: left 0.5s ease;
}

@media (hover: hover) {
  .modern-subcategory-item:hover::before {
    left: 100%;
  }

  .modern-subcategory-item:hover {
    background: rgba(255, 255, 255, 0.2);
    border-color: #ffdd00;
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
  }
}

.modern-subcategory-icon {
  width: 60px;
  height: 60px;
  margin: 0 auto 15px;
  background: transparent;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  position: relative;
  z-index: 1;
}

.modern-subcategory-item:hover .modern-subcategory-icon {
  background: transparent;
  transform: scale(1.1);
}

.modern-subcategory-icon img {
  width: 60px;
  height: 60px;
  fill: #4a5568;
}

.modern-subcategory-label {
  color: #ffffff;
  font-size: 0.85rem;
  font-weight: 500;
  line-height: 1.2;
  position: relative;
  z-index: 1;
}

.modern-subcategory-item:hover .modern-subcategory-label {
  color: #ffdd00;
}

div.category-info::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  width: 110%;
  height: 110%;
  background: radial-gradient(
    circle,
    rgba(0, 0, 0, 1) 0%,
    rgba(0, 0, 0, 1) 79%,
    rgba(255, 255, 255, 0) 100%
  );
  left: 0;
  z-index: -1;
  opacity: 0.2;
  filter: blur(10px);
  backdrop-filter: blur(28px);
  top: 0;
}

/* Mobile Styles */
@media (max-width: 768px) {
  .category-header {
    padding: 30px 0 40px;
  }

  .page-title {
    font-size: 2rem;
    margin-bottom: 30px;
  }

  .modern-subcategories-container {
    max-width: 100%;
    margin: 0;
  }

  .modern-subcategories-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding: 0 0 20px;
    scroll-snap-type: x mandatory;
    max-width: 95%;
    float: none;
    margin-left: auto;
    margin-right: auto;
  }

  .modern-subcategories {
    padding: 0 20px;
    gap: 15px;
  }

  .modern-subcategory-item {
    min-width: 100px;
    padding: 15px 10px;
    scroll-snap-align: start;
  }

  .modern-subcategory-icon {
    width: 40px;
    height: 40px;
    margin-bottom: 12px;
  }

  .modern-subcategory-icon svg {
    width: 24px;
    height: 24px;
  }

  .modern-subcategory-label {
    font-size: 0.75rem;
  }

  .cat-nav-button {
    display: none;
  }

  .modern-subcategories-wrapper::-webkit-scrollbar {
    height: 4px;
  }

  .modern-subcategories-wrapper::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.1);
    border-radius: 2px;
  }

  .modern-subcategories-wrapper::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.3);
    border-radius: 2px;
  }
}

@media (max-width: 575px) {
  .modern-subcategories {
    padding: 0 15px;
    gap: 12px;
  }

  .modern-subcategory-item {
    min-width: 90px;
    padding: 12px 8px;
  }

  .modern-subcategory-icon {
    width: 70px !important;
    height: 70px !important;
    margin-bottom: 10px;
  }

  .modern-subcategory-icon img {
    width: 70px;
    height: 70px;
  }

  .modern-subcategory-label {
    font-size: 0.7rem;
  }
}

/* SECCION FEATURED PRODUCTS - TARJETA DE PRODUCTO */

body#index #content-wrapper {
  padding: 0 0;
  background-attachment: fixed;
  background-position: center center;
}

@media (min-width: 1200px) {
  body#index #content-wrapper {
    margin-left: -14px;
    margin-right: -14px;
  }
}

body#index #content-wrapper section#main {
  padding: 0;
  backdrop-filter: blur(4px);
}

.skeleton-products {
  background-color: transparent;
  margin-bottom: 20px;
  padding: 0;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  margin-top: 3rem;
  max-width: 1660px;
  float: none;
  margin-left: auto;
  margin-right: auto;
}

.featured_wrap > .product_row {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  transition-property: display, opacity, z-index;
  transition-duration: 450ms;
  transition-behavior: allow-discrete;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  overflow: hidden;
  grid-auto-rows: min-content;
  padding: 1rem;
}

.skeleton-products .card {
  /*border: 1px solid rgba(0,0,0,0.1);*/
  border: none !important;
  border-radius: 10px;
  overflow: hidden;
  transition: all 0.2s ease-in-out;
  box-shadow: 0 0 10px -3px rgba(0, 0, 0, 0.2);
  aspect-ratio: 1 / 1.7;
  width: auto;
  font-family: "Quicksand", sans-serif;
}

.skeleton-products .card > img {
  transition: transform 0.2s ease-in-out;
  transform-origin: center center;
  border-radius: 0;
  transform: scale(1.15);
  position: relative;
}

.skeleton-products .card > img::after {
  content: "";
  width: 100%;
  height: 20px;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  background: linear-gradient(90deg, white 0%, white 50%, transparent 100%);
}

.skeleton-products .btn.btn-primary {
  color: white !important;
}

.skeleton-products h2 {
  font-size: 2.5em !important;
}

.skeleton-products .h2featured {
  flex: 0 100%;
  position: relative;
  text-align: center;
}

.skeleton-products > .featured_wrap {
  flex: 1 80%;
  /*display:grid;
    grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr));
    gap: 1rem;*/
  position: relative;
}

.skeleton-products .card .card-body {
  position: absolute;
  /*border-top-left-radius: 30px;*/
  bottom: 0;
  left: 0;
  right: 0;
  /*height: 150px;
    width: 108%;*/
  color: white;
  z-index: 1;
  transform: scale(1.5);
  opacity: 0;
  transition: all 0.2s ease-in-out;
  padding: 1rem;
  height: 40%;
  display: grid;
}

.skeleton-products img {
  width: 100%;
  object-fit: cover;
}

.skeleton-products .card-title {
  color: #333 !important;
  text-transform: unset !important;
  margin-bottom: 0;
  padding-bottom: 4px;
  font-weight: 500 !important;
  font-size: clamp(0.875rem, -4rem + 20vw, 20px);
}

.skeleton-products .card-text {
  margin: 1rem 0 1rem 0;
  display: block;
}

span.caracteristicas-list span {
  font-size: 0.8em;
  color: #333;
}

span.pricetag {
  font-weight: 500;
  color: #111;
  font-size: 1.6em;
}

.card-body .card-text > span:nth-of-type(1) {
  visibility: hidden;
  opacity: 0;
  width: 1px;
  height: 1px;
  overflow: hidden;
  margin: -1px;
  display: none !important;
}

a.flex-full {
  flex: 1 0 100%;
}

.featured_wrap > article {
  display: none;
}

@media (max-width: 1199px) {
  .skeleton-products .h2featured {
    flex: 1 0 100%;
    margin-bottom: 3rem;
  }

  .skeleton-products > .featured_wrap {
    flex: 1 0 100%;
  }
}

@media (min-width: 930px) and (max-width: 1450px) {
}

@media (max-width: 499px) {
  .skeleton-products .card-title {
    font-size: 1em;
    margin: 0px 0px;
  }

  .skeleton-products .caracteristicas-list {
    font-size: 0.8em;
  }

  .skeleton-products .card-text {
    margin: 0.5rem 0 1rem 0;
    display: block;
    font-size: 0.9em;
  }
}

@media (max-width: 944px) {
  .featured_wrap > .product_row {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  .featured_wrap > .product_row {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .skeleton-products .card > img {
    transform: scale(1.35);
  }

  .skeleton-products .card-body {
    padding: 2px !important;
    height: 50% !important;
    transform: scale(1) !important;
  }

  .skeleton-products .card-body .card-text {
    font-size: 0.8rem !important;
  }

  .skeleton-products .card {
    aspect-ratio: 1 / 2;
  }

  .skeleton-products > .featured_wrap article {
    width: 100% !important;
  }

  .skeleton-products .card-title {
    font-size: 1.3em IMP !important;
    margin: 4px 0px;
  }

  .skeleton-products .caracteristicas-list {
    display: none !important;
  }

  .all-product-link {
    max-width: 90vw !important;
    font-size: 1.2rem !important;
    float: none;
    margin: 0.5rem auto !important;
  }

  .sbFinderSearch::after {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .sbFinderSearch::after {
    display: none !important;
  }

  .sbSearchWrapper input.sbSearch {
    padding-left: 2.5rem !important;
  }

  .sbSearchWrapper input.sbSearch::placeholder {
    color: white !important;
  }
}

@media (hover: hover) {
  .skeleton-products .card:hover {
    box-shadow: 0px 17px 33px -27px rgba(0, 0, 0, 1);
  }

  .skeleton-products .card:hover > img {
    transform: scale(1.15);
  }
}

.skeleton-products .card .card-body {
  transform: scale(1.01);
  opacity: 1;
  background: rgba(255, 255, 255, 1);
  bottom: 0;
}

.skeleton-products .card .card-body .add-to-cart {
  bottom: 1rem;
  left: 1rem;
}

.skeleton-products .card-body .card-title {
  color: #333 !important;
}

.skeleton-products .card-body .caracteristicas-list,
.skeleton-products .card-body .caracteristicas-list span {
  color: #444 !important;
}

.skeleton-products .card-body .card-text {
  color: #555 !important;
}

h2.products-section-title {
  color: white;
  text-shadow: 1px 2px 4px rgba(0, 0, 0, 0.5);
}

a.all-product-link {
  color: white !important;
}

/* pruebta temperaturas de color sobre imagen - DESCARTADO */
.tempitem {
  background-color: white;
  margin: 3px 0;
  position: relative;
  height: 20px;
  margin-left: 100px;
  border: 1px solid rgba(0, 0, 0, 0.3);
  display: flex;
  justify-content: flex-end;
  width: 100px;
  align-items: center;
  align-content: center;
  transition: margin 0.2s ease-out;
}

.tempitem:hover {
  margin-left: 0;
}

.tempitem span {
  font-size: 0.9em;
}

.k6000::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  margin-top: -1px;
  margin-left: -20px;
  width: 20px;
  height: 20px;
  border: 1px solid rgba(0, 0, 0, 0.3);
  content: "";
  background-color: lightblue;
}

.k4000::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  margin-top: -1px;
  margin-left: -20px;
  width: 20px;
  height: 20px;
  border: 1px solid rgba(0, 0, 0, 0.3);
  content: "";
  background-color: grey;
}

.k3000::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  margin-top: -1px;
  margin-left: -20px;
  width: 20px;
  height: 20px;
  border: 1px solid rgba(0, 0, 0, 0.3);
  content: "";
  background-color: yellow;
}

/**/
section.featured-products {
  padding-top: 20px;
}

.desc_short_list {
  font-size: 0.8rem !important;
  text-align: center;
  display: inline-block;
  float: none;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  color: #111;
}

.desc_short_list span {
  font-size: 0.8rem !important;
  text-align: center;
  display: block;
  float: none;
  margin-left: auto;
  margin-right: auto;
}

.product-description .product-title,
.product-description .product-title {
  line-height: 1rem;
  margin-top: 0.3rem;
}

#products .product-title,
.featured-products .product-title,
.product-accessories .product-title,
.product-miniature .product-title {
  text-align: center;
  text-transform: capitalize;
  margin-top: 0.3rem;
}

#products .product-title a,
.featured-products .product-title a {
  font-weight: bold !important;
}

#products .product-price-and-shipping,
.featured-products .product-price-and-shipping,
.product-accessories .product-price-and-shipping,
.product-miniature .product-price-and-shipping {
  position: absolute;
  top: 42px;
  width: 100%;
}

.stocklabel {
  z-index: 1;
  position: absolute;
  top: 100%;
  left: 5px;
  padding: 0px 4px 4px 4px;
  background-color: green;
  color: white;
  font-weight: 400;
  text-align: center;
  font-size: 0.7rem;
  margin-bottom: 4px;
  display: block;
}

.reserva {
  background-color: orange;
}

.agotado {
  background-color: red;
}

.referencia {
  position: absolute;
  top: 0px;
  display: block;
  width: auto;
  right: 50%;
  margin-top: -16px;
  transform: translateX(50%);
  -webkit-transform: translateX(50%);
  -moz-transform: translateX(50%);
  color: #ff3c00;
  font-size: 0.7em;
  font-weight: 400;
  background-color: white;
  padding: 0 6px 0 6px;
}

.referenciaright {
  /*display:block;font-size:0.8em;color:#999;font-weight: 300;text-align: right;text-overflow:clip*/
  display: block;
  font-size: 0.8em;
  color: #999;
  font-weight: 300;
  text-align: center;
}

.referenciacenter {
  display: block;
  white-space: nowrap;
}

.product-flags li.product-flag.on-sale {
  background: #00338e;
}

.product-flags li.product-flag.new {
  background: #00338e;
}

#products .highlighted-informations .quick-view:hover,
.featured-products .highlighted-informations .quick-view:hover,
.product-accessories .highlighted-informations .quick-view:hover,
.product-miniature .highlighted-informations .quick-view:hover {
  color: #00338e;
}

#products .thumbnail-container,
.featured-products .thumbnail-container,
.product-accessories .thumbnail-container,
.product-miniature .thumbnail-container {
  height: 365px;
}

ul.page-list a:hover {
  color: #1b53b7;
}

ul.page-list li.current a:link,
ul.page-list li.current a:visited {
  color: #1b53b7;
}

#products .products,
.featured-products .products,
.product-accessories .products,
.product-miniature .products {
  justify-content: center;
}

#products .products .product-miniature {
  margin: 0 1.09em 1.563rem 1.09em;
  -webkit-transform: translateZ(0);
  -moz-transform: translateZ(0);
  -ms-transform: translateZ(0);
  -o-transform: translateZ(0);
  transform: translateZ(0);
  transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}

/*#products .products .product-miniature:hover {box-shadow:0px 13px 21px -5px rgba(0, 0, 0, 0.3);z-index:9;}*/
/*#products .products .product-miniature::after {
    box-shadow: 0px 20px 21px -2px rgba(0, 0, 0, 0.4);
    opacity: 0;
    position: absolute;
    content: "";
    border-radius: 10px;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}*/
/*#products .products .product-miniature:hover {z-index:1;}
#products .products .product-miniature:hover::after {
	opacity:1;
}
*/
#products .product-miniature .thumbnail-container,
.featured-products .thumbnail-container,
.product-accesories .thumbnail-container,
.product-miniature .thumbnail-container {
  margin-bottom: 0;
  overflow: hidden;
}

/*@media (pointer: coarse) and (hover: none) {
		#products .product-miniature .product-description::before, .featured-products .product-description::before {content:'\e895';font-family: 'Material Icons';width:20px;height:20px;position:absolute;display:inline;z-index:10;color:#999;top:50px;left:2px;transition:opacity 0.2s ease-out;-webkit-transition:opacity 0.3s ease-out}
		.product-description:hover::before, .product-description:focus::before {opacity:0;}
}*/
#products .product-description,
.featured-products .product-description,
.product-accessories .product-description,
.product-miniature .product-description {
  /* margin-bottom: -70px;*/
  bottom: 0;
  height: 95px;
  transition: margin 0.2s ease-out;
}

/*#products .product-description:hover, #products .product-description:focus, .featured-products .product-description:hover, .featured-products .product-description:focus, .product-accessories .product-description:hover, .product-accessories .product-description:focus, .product-miniature .product-description:hover, .product-miniature .product-description:focus {
margin-bottom:0;
}*/
#products .thumbnail-container .product-thumbnail,
.featured-products .thumbnail-container .product-thumbnail,
.product-accessories .thumbnail-container .product-thumbnail,
.product-miniature .thumbnail-container .product-thumbnail {
  position: relative;
  padding-top: 100%;
  height: initial;
}

.product-price-and-shipping {
  min-height: 40px;
}

.product-price-and-shipping span.price {
  float: left;
  margin-left: 2em;
}

.featured_products .product-price-and-shipping span.price {
  margin-left: 0;
}

@media (min-width: 768px) and (max-width: 1199px) {
  #products .products .product-miniature {
    margin: 0 2.18em 1.563rem 2.18em;
  }
}

@media (min-width: 539px) and (max-width: 768px) {
  #products .products .product-miniature {
    margin: 0 0.6em 1.563rem 0.6em;
  }
}

@media (min-width: 478px) and (max-width: 538px) {
  #products .products .product-miniature {
    margin: 0 0.5em 1.563rem 0.5em;
  }
}

@media (max-width: 477px) {
  #products .products .product-miniature {
    margin: 0 -0.7em 1.563rem -0.7rem;
    transform: scale(0.9);
  }
}

.product_temperatures {
  display: block;
  position: relative;
  float: right;
  margin-right: 2em;
  /*:top:5px;right:5px;z-index:3;*/
}

img.temperatura_img {
  opacity: 0.8;
  position: relative;
  display: inline;
  z-index: 3;
}

.temperatura_span {
  display: inline-block;
  position: relative;
  width: 20px;
  height: 20px;
}

.temperatura_span span {
  overflow: hidden;
  max-height: 0;
  position: absolute;
  display: inline-block;
  left: 50%;
  top: 0;
  vertical-align: middle;
  padding: 0;
  text-align: center;
  color: #ffffff;
  background-color: rgba(0, 0, 0, 0.6);
  font-size: 0.7em;
  font-weight: 300;
  white-space: nowrap;
  opacity: 0;
  transform: translate(-100%, -200%);
  transition: opacity 0.3s ease-in, transform 0.5s ease-out;
  -webkit-transition: opacity 0.3s ease-in, transform 0.5s ease-out;
  -moz-transition: opacity 0.3s ease-in, transform 0.5s ease-out;
  margin: -5px;
}

.temperatura_span:hover span {
  padding: 1px 6px;
  transform: translate(-100%, -100%);
  opacity: 1;
  max-height: 20px;
  margin: 0;
}

@media (min-width: 992px) and (max-width: 1199px) {
  #products .products,
  .product-accessories .products,
  .product-miniature .products {
    justify-content: center;
  }

  /*.featured_products {justify-content: flex-start;}*/
}

/* BOTON VISTA RAPIDA */

#products .thumbnail-container:focus .highlighted-informations.no-variants,
#products .thumbnail-container:hover .highlighted-informations.no-variants,
.featured-products
  .thumbnail-container:focus
  .highlighted-informations.no-variants,
.featured-products
  .thumbnail-container:hover
  .highlighted-informations.no-variants,
.product-accessories
  .thumbnail-container:focus
  .highlighted-informations.no-variants,
.product-accessories
  .thumbnail-container:hover
  .highlighted-informations.no-variants,
.product-miniature
  .thumbnail-container:focus
  .highlighted-informations.no-variants,
.product-miniature
  .thumbnail-container:hover
  .highlighted-informations.no-variants {
  bottom: 4.5rem;
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
  -webkit-transform: translate(-50%, -50%) scale(1);
  -moz-transform: translate(-50%, -50%) scale(1);
}

#products .highlighted-informations,
.featured-products .highlighted-informations,
.product-accessories .highlighted-informations,
.product-miniature .highlighted-informations {
  position: absolute;
  opacity: 0;
  bottom: 1.25rem;
  padding: 12px 14px;
  z-index: 2;
  background: #fff;
  text-align: center;
  width: 100%;
  left: 50%;
  height: auto;
  box-shadow: 0 -5px 10px -5px rgba(0, 0, 0, 0.2);
  transform: translate(-50%, -50%) scale(0.7);
  -webkit-transform: translate(-50%, -50%) scale(0.7);
  -moz-transform: translate(-50%, -50%) scale(0.7);
  transition: bottom 0.3s;
  -webkit-transition: bottom 0.3s;
  -moz-transition: bottom 0.3s;
  border-radius: 0px;
}

/* MODAL DE PRODUCTO AÑADIDO */

#blockcart-modal .product-name {
  color: #00338e;
}

/* PAGINA DE CUENTA USUARIO */

body#my-account div.row:has(> .breadcrumb) {
  background: transparent !important;
}

body#my-account #wrapper .breadcrumb {
  background: transparent !important;
}

/* DIRECCIONES DETALLES DE PEDIDO */

body#order-detail .addresses {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
}

body#order-detail .addresses > div:not(:empty) {
  flex: 1 1 calc(50% - 0.5rem);
  padding: clamp(0.5rem, 0.36rem + 0.533vw, 1rem);
  border: 1px solid var(--bs-gray-200);
}

#content.customer-account {
  max-width: 1440px;
  float: none;
  margin-left: auto;
  margin-right: auto;
  padding: 2rem 1rem;
  margin-top: 0;
  margin-bottom: 2rem;
}

body#discount #content {
  padding: 0 0;
  float: none;
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  padding: 1rem;
}

body table {
  display: table !important;
  width: 100% !important;
}

body#order-confirmation section#main {
  padding: 2rem 1rem 1rem 1rem;
  max-width: 1440px;
  float: none;
  margin-left: auto;
  margin-right: auto;
}
body#order-confirmation table tr:nth-child(even) {
  border-top: 1px solid rgba(0, 0, 0, 0.4);
  border-bottom: 1px solid rgba(0, 0, 0, 0.4);
}
.my-account-title {
  text-align: center;
  margin-bottom: 2rem;
}
@media (max-width: 767px) {
  .my-account-title {
    text-align: center;
  }
}

@media (max-width: 575px) {
  #content.customer-account {
    margin-top: 0;
    padding: 0 1rem 1rem 1rem;
  }
}

/* USER DROPDOWN MENU */

#account-button-logged > a {
  position: relative;
}
#account-button-logged > ul.user-dropdown-menu hr {
  margin: 0 !important;
}

div.nav-icons:has(#account-button-logged > ul li.fav)
  > #account-button-logged
  > a::after {
  font-family: "Material Symbols Outlined";
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
  position: absolute;
  right: 0;
  bottom: 0;
  margin: 0 -2px -2px 0;
  color: red;
  font-size: 0.8rem;
  transform: translate(75%, 50%);
}

.user-dropdown-menu {
  position: absolute;
  display: none;
  top: 100%;
  right: 0;
  width: 90vw;
  max-width: 200px;
  background-color: white;
  border-radius: 0.5rem;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  border: 1px solid var(--bs-gray-200);
  z-index: 1000;
  margin-top: -0.2rem !important;
}

.user-dropdown-menu {
  & > li::before {
    font-family: "Material Symbols Outlined";
    font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 48;
    display: inline-block;
    margin-right: 4px;
    vertical-align: middle;
    font-size: 1.2rem;
    color: #333;
  }

  & > li:nth-of-type(1) {
    display: grid;
    place-items: center;
  }
  & > li:nth-of-type(2)::before {
    content: "\ef3d";
  }

  & > li:nth-of-type(3)::before {
    content: "\f14d";
  }
  & > li:nth-of-type(3) {
    border-top: 1px solid var(--bs-gray-200);
  }

  & > li:nth-of-type(4) {
    border-top: 1px solid var(--bs-gray-200);
  }

  & > li:nth-of-type(4)::before {
    content: "\f1cc";
  }

  & > li:nth-of-type(5) {
    border-top: 1px solid var(--bs-gray-200);
  }

  & > li:nth-of-type(5)::before {
    content: "\e8b1";
  }

  & > li:nth-of-type(6) {
    border-top: 1px solid var(--bs-gray-200);
  }
  & > li:nth-of-type(6)::before {
    content: "\f106";
  }
  & > li:nth-of-type(7)::before {
    content: "\e87d";
  }
  & > li:nth-of-type(7).fav::before {
    font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
    color: red !important;
  }
  & > li:nth-of-type(7) {
    border-top: 1px solid var(--bs-gray-200);
  }
  & > li:nth-of-type(8)::before {
    content: "\e8cc";
  }
  & > li:nth-of-type(8) {
    border-top: 1px solid var(--bs-gray-200);
  }

  & > li:nth-of-type(9)::before {
    content: "\e9ba";
  }
}

.user-dropdown-menu li {
  padding: 0.5rem 1rem;
  color: var(--bs-primary);
  font-size: 1rem;
  text-decoration: none;
  display: block;
  text-align: left;

  & a {
    display: inline-block;
    width: max-content;
    height: 100%;
    font-size: 0.9rem;
  }
}

.user-dropdown-menu li:nth-last-of-type(1) {
  margin-bottom: 0.5rem;
}

.user-dropdown-menu.unfolded {
  display: block;
}

/* ENLACES PRINCIPALES CUENTA USUARIO */

body#my-account .links {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 2rem;
  max-width: 1440px;
  float: none;
  margin-left: auto;
  margin-right: auto;
  padding: 1rem;
}

body#my-account .links > a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  text-decoration: none;
  color: var(--bs-primary);
  font-size: 1rem;
  flex: 0 0 calc(25% - 0.76rem);
  border-radius: 0.5rem;
  background-color: var(--bs-light);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  transition: background-color 0.3s ease-out;
  border: 1px solid var(--bs-dark);
}

body#my-account .links > li {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  text-decoration: none;
  color: var(--bs-primary);
  font-size: 1rem;
  flex: 0 0 calc(25% - 0.76rem);
  border-radius: 0.5rem;
  background-color: var(--bs-light);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  transition: background-color 0.3s ease-out;
  border: 1px solid var(--bs-dark);
}

@media (max-width: 480px) {
  body#my-account .links {
    gap: 0.5rem;
  }

  body#my-account .links > a {
    flex: 1 0 calc(50% - 0.25rem);
  }

  body#my-account .links > li {
    flex: 1 0 calc(50% - 0.25rem);
  }
}

body#my-account .links > a > .link-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1 0 100%;
  text-align: center;
}

body#my-account .links > a .link-item i {
  flex: 1 0 100%;
  text-align: center;
  font-size: 3rem;
}

body#my-account .links > a:hover {
  background-color: var(--bs-primary);
  color: white;
  border: 1px solid var(--bs-primary);
}

body#my-account .links > a:hover > .link-item i {
  color: white;
}

body#my-account .page-footer a:nth-of-type(1) {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  text-decoration: none;
  color: var(--bs-primary);
  font-size: 1rem;
  flex: 0 0 calc(20% - 2rem);
  border-radius: 0.5rem;
  background-color: var(--bs-light);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  transition: background-color 0.3s ease-out;
  border: 1px solid var(--bs-dark);
  max-width: calc(1440px - 2rem);
  float: none;
  margin-left: auto;
  margin-right: auto;
  margin-top: 2rem;
}

/* DIRECCIONES CUENTA USUARIO */
body#addresses #content .row {
  gap: 0;
}

body#addresses #content .row .address-container {
  padding: 1rem;
}

body#addresses #content .row .address-container > article {
  border: 1px solid var(--bs-gray-200);
  border-radius: 0.5rem;
  padding: 1rem;
  height: 100%;
}

body#addresses article > .address-footer a {
  border: 1px solid var(--bs-primary);
  border-radius: 0.5rem;
  padding: 0.5rem 0.9rem;
  margin-right: 0.5rem;
}

body#addresses .addresses-footer {
  margin: 2rem 0;
}

body#addresses .addresses-footer a {
  color: white !important;
}

/* LISTADO PEDIDOS CUENTA USUARIO */

body#history table td {
  vertical-align: middle;
}

body#history .label-pill {
  padding: 0.5rem 0.8rem;
  border-radius: 0.5rem;
}

body#history .btn-order-list {
  border-radius: 0.5rem;
}

/* CART & CHECKOUT */

/* CABECERA ESPECIAL */

body#checkout header#header {
  background: white !important;
  padding: 1rem 0;
}

body#checkout .navheader {
  display: flex;
  align-content: center;
  align-items: center;
}

body .superuser-front-container,
body .superuser-front-container {
  /*display: none !important;*/
}

body:has(.superuser-front-container) main {
  margin-top: 0 !important;
}

body#cart #content-wrapper section#main {
  float: none;
  margin: 1rem auto;
  max-width: 1440px;
  padding: 0;
}

body#cart .product-line-grid,
body#checkout .product-line-grid {
  display: flex;
  gap: 0.3rem;
}

body#cart input[type="number"]::-webkit-outer-spin-button,
body#cart input[type="number"]::-webkit-inner-spin-button,
body#checkout input[type="number"]::-webkit-outer-spin-button,
body#checkout input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

body#cart input[type="number"],
body#checkout input[type="number"] {
  -moz-appearance: textfield;
  appearance: textfield;
}

body#cart div.qty,
body#checkout div.qty {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 0;
  padding: 0;
}

body#cart div.qty .input-group-btn-vertical,
body#checkout div.qty .input-group-btn-vertical {
  flex: 1 0 15% !important;
  width: 15%;
}

body#cart .cart-item,
body#checkout .cart-item {
  margin: 0.5rem 0;
}

body#cart div.qty input,
body#checkout div.qty input {
  flex: 0 1 85%;
  padding: 0.5rem;
  border-radius: 0.5rem;
  border: 1px solid var(--bs-gray-200);
  text-align: center;
}

body#cart .touchspin-up,
body#cart .touchspin-down,
body#checkout .touchspin-up,
body#checkout .touchspin-down {
  width: 15px;
  height: 15px;
  font-size: 1.1rem;
}

body#cart .touchspin-up::after,
body#cart .touchspin-down::after,
body#checkout .touchspin-up::after,
body#checkout .touchspin-down::after {
  content: "\E5CE";
}

body#cart .touchspin-down::after,
body#checkout .touchspin-down::after {
  content: "\E5CF" !important;
}

.cart-summary-subtotals-container,
.card-block.cart-summary-totals {
  margin-top: 1rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

body#cart span.label,
body#checkout span.label {
  font-weight: 600;
}

.cart-summary-line.cart-total {
  font-size: 1.1rem;
  padding: 0.4rem 0.4rem;
  background: var(--bs-gray-300);
  border-radius: 0.5rem;
}

body#checkout footer#footer {
  margin-top: 3.5rem;
}

/* PASOS CHECKOUT */

body#checkout .cart-grid-body {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.cart-grid-body > section {
  flex: 0 0 calc(50% - 0.5rem);
  border: 1px solid var(--bs-gray-300);
  border-radius: 0.5rem;
  padding: 1rem;
}

pre {
  display: none !important;
}

#checkout-personal-information-step:not(.js-current-step) {
  display: none !important;
}

script.-unreachable,
style.-unreachable {
  display: none !important;
}

#checkout-payment-step {
  flex: 1 0 100%;
}

#delivery textarea {
  width: 100% !important;
}

.-complete:not(.-current),
.-unreachable:not(.-current) {
  overflow: hidden;
}

.-complete:not(.-current),
.-unreachable:not(.-current) {
  overflow: hidden;
  display: flex;
  align-items: center;
}

.-complete:not(.-current) > .step-title {
  width: 100%;
}

.step-title > i {
  color: var(--bs-green);
}

body#checkout section:not(.-complete) > .step-title > i,
body#checkout section.-js-current-step > .step-title > i {
  display: none !important;
}

.-complete:not(.-current) > *:not(.step-title),
.-unreachable:not(.-current) > *:not(.step-title) {
  display: none;
}

.js-current-step:not(#checkout-payment-step) {
  position: static !important;
  width: 100% !important;
  flex: 1 0 100% !important;
}

.js-current-step:not(#checkout-payment-step) ~ section {
  display: none;
}

.js-current-step .step-edit {
  display: none;
}

.step-edit {
  float: right;
  border: 1px solid var(--bs-primary);
  border-radius: 0.5rem;
  font-size: 0.9rem;
  padding: 0.3rem 0.6rem;
  cursor: pointer;
}

.step-edit i {
  font-size: 1.1rem;
}

body#checkout .form-check {
  display: inline-block;
  padding-left: 0;
}

#conditions-to-approve ul {
  margin: 1rem 0 !important;
}

body#checkout .condition-label,
body#checkout .float-xs-left {
  display: inline-block;
}

input[name="conditions_to_approve[terms-and-conditions]"] {
  display: none !important;
}

label:has(input[name="conditions_to_approve[terms-and-conditions]"]:checked) {
  border-color: var(--bs-primary, #00338e) !important;
}

/* BLOQUE DESCUENTOS */
div.promo-code {
  padding: 1.2rem;
  margin: 1rem auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
  border: 1px solid var(--bs-gray-200);
  border-radius: 0.5rem;
}

div.promo-code > div.alert {
  flex: 1 0 100%;
  margin: 10px 0;
}

.collapse-button.promo-code-button.cancel-promo {
  border: 1px solid var(--bs-primary);
  border-radius: 0.5rem;
  padding: 0.5rem 0.9rem;
}

.alert:has(span:empty) {
  display: none;
}

ul.promo-name.card-block {
  margin: 1rem auto !important;
  width: 100%;
}

ul.promo-name.card-block li {
  padding: 0.4rem;
  border-radius: 0.5rem;
  border: 1px solid var(--bs-gray-200);
  margin: 0.5rem 0;
}

.block-promo {
  margin: 2rem auto;
  width: 100%;
}

.promo-input {
  margin-right: 0.5rem !important;
  display: inline-block !important;
}

ul.promo-discounts .code {
  color: var(--bs-primary);
}

@media (max-width: 575px) {
  .promo-code form {
    display: flex;
    flex-wrap: nowrap;
  }

  .promo-code form input,
  .promo-code form button {
    flex: 1 1 auto;
    width: 50%;
  }

  .block-promo .promo-input + button {
    flex: 1 1 auto;
  }

  .product-line-grid .product-line-grid-left {
    max-width: 20% !important;
  }

  .product-line-grid .product-line-grid-body {
    max-width: 55% !important;
  }

  .product-line-grid .product-line-grid-right {
    max-width: calc(24% - 0.3rem * 2) !important;
  }

  .product-line-grid .product-line-grid-right > .row {
    flex-direction: column;
  }

  .product-line-grid .product-line-grid-right > .row > div {
    width: 100% !important;
  }

  .product-line-grid .product-line-grid-right > .row > div.col-md-10 > .row {
    flex-direction: column;
  }

  .product-line-grid
    .product-line-grid-right
    > .row
    > div.col-md-10
    > .row
    > div {
    flex: 0 0 100% !important;
    width: 100% !important;
  }
}

/* BLOQUE SOCIAL */

.block-social {
  background-color: var(--bs-primary);
  transition: background-color 0.3s ease-out;
  margin-top: 5rem;
}

.block-social .social-container {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding: 0.625rem 1rem;
  gap: 1rem;
  color: white;
}

.block-social ul {
  display: flex;
  gap: 0.275rem;
  position: relative;
  width: 210px;
}

.block-social ul li {
  background-color: transparent;
  position: relative;
  overflow: hidden;
  border-radius: 0.625rem;
  transition: all 0.3s ease-out;
  display: block;
  flex: 0 0 50px;
  aspect-ratio: 1 / 1;
  text-indent: -99999px;
}

.block-social ul li a {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 30px;
  mask-size: 30px;
  z-index: 1;
  background-color: white;
}

.block-social ul {
  & .twitter a {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' width='100' height='100' viewBox='0 0 24 24'%3E%3Cpath d='M 2.8671875 3 L 9.7363281 12.818359 L 2.734375 21 L 5.3808594 21 L 10.919922 14.509766 L 15.460938 21 L 21.371094 21 L 14.173828 10.697266 L 20.744141 3 L 18.138672 3 L 12.996094 9.0097656 L 8.7988281 3 L 2.8671875 3 z'/%3E%3C/svg%3E");
  }

  & .facebook a {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M22.675 0h-21.35C.597 0 0 .597 0 1.326v21.348C0 23.403.597 24 1.326 24h11.495v-9.294H9.691V11.01h3.13V8.413c0-3.1 1.893-4.788 4.659-4.788 1.325 0 2.464.099 2.795.143v3.24l-1.918.001c-1.504 0-1.796.715-1.796 1.763v2.31h3.587l-.467 3.696h-3.12V24h6.116C23.403 24 24 23.403 24 22.674V1.326C24 .597 23.403 0 22.675 0z'/%3E%3C/svg%3E");
  }

  & .instagram a {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M349.33,69.33a93.62,93.62,0,0,1,93.34,93.34V349.33a93.62,93.62,0,0,1-93.34,93.34H162.67a93.62,93.62,0,0,1-93.34-93.34V162.67a93.62,93.62,0,0,1,93.34-93.34H349.33m0-37.33H162.67C90.8,32,32,90.8,32,162.67V349.33C32,421.2,90.8,480,162.67,480H349.33C421.2,480,480,421.2,480,349.33V162.67C480,90.8,421.2,32,349.33,32Z'/%3E%3Cpath d='M377.33,162.67a28,28,0,1,1,28-28A27.94,27.94,0,0,1,377.33,162.67Z'/%3E%3Cpath d='M256,181.33A74.67,74.67,0,1,1,181.33,256,74.75,74.75,0,0,1,256,181.33M256,144A112,112,0,1,0,368,256,112,112,0,0,0,256,144Z'/%3E%3C/svg%3E");
  }

  & .bluesky a {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 0C22.386 0 0 22.386 0 50s22.386 50 50 50 50-22.386 50-50S77.614 0 50 0zm0 90c-22.091 0-40-17.909-40-40S27.909 10 50 10s40 17.909 40 40-17.909 40-40 40z'/%3E%3C/svg%3E");
  }

  & .youtube a {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M549.655 124.083c-6.281-23.65-24.813-42.182-48.463-48.463C458.4 64 288 64 288 64s-170.4 0-213.192 11.62c-23.65 6.281-42.182 24.813-48.463 48.463C16.725 166.875 16.725 256 16.725 256s0 89.125 9.62 131.917c6.281 23.65 24.813 42.182 48.463 48.463C117.6 448 288 448 288 448s170.4 0 213.192-11.62c23.65-6.281 42.182-24.813 48.463-48.463C559.275 345.125 559.275 256 559.275 256s0-89.125-9.62-131.917zM232 334.059V177.941L345 256l-113 78.059z'/%3E%3C/svg%3E");
  }

  & .pinterest a {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 496 512'%3E%3Cpath d='M248 8C111.033 8 0 119.033 0 256c0 110.532 69.656 204.55 167.188 238.75-2.313-20.25-4.375-51.344.875-73.438 4.75-20.25 30.625-129.094 30.625-129.094s-7.625-15.25-7.625-37.75c0-35.344 20.5-61.844 46.063-61.844 21.75 0 32.25 16.344 32.25 35.938 0 21.875-13.938 54.594-21.063 84.938-6.063 25.5 12.875 46.25 38.188 46.25 45.875 0 76.625-58.938 76.625-128.688 0-53.063-35.75-92.813-100.625-92.813-73.25 0-118.875 54.75-118.875 115.938 0 21.063 6.188 35.938 15.938 47.25 4.5 5.313 5.125 7.438 3.5 13.5-1.188 4.5-3.938 15.25-5.063 19.5-1.625 6.25-6.75 8.5-12.438 6.188-34.75-14.188-50.938-52.25-50.938-95.25 0-70.688 59.438-155.5 177.25-155.5 94.75 0 157.188 68.5 157.188 142.438 0 97.188-53.938 169.75-133.625 169.75-26.75 0-51.875-14.438-60.5-31.063 0 0-14.438 57.188-17.5 68.25-5.25 19.063-15.5 38.25-24.938 53.125C196.125 502.938 221.5 504 248 504c136.967 0 248-111.033 248-248S384.967 8 248 8z'/%3E%3C/svg%3E");
  }
  & .linkedin a {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='7.025 7.025 497.951 497.95'%3E%3Cpath d='M256 7.025C118.494 7.025 7.025 118.494 7.025 256S118.494 504.975 256 504.975 504.976 393.506 504.976 256C504.975 118.494 393.504 7.025 256 7.025zm-66.427 369.343h-54.665V199.761h54.665v176.607zM161.98 176.633c-17.853 0-32.326-14.591-32.326-32.587 0-17.998 14.475-32.588 32.326-32.588s32.324 14.59 32.324 32.588c.001 17.997-14.472 32.587-32.324 32.587zm232.45 199.735h-54.4v-92.704c0-25.426-9.658-39.619-29.763-39.619-21.881 0-33.312 14.782-33.312 39.619v92.704h-52.43V199.761h52.43v23.786s15.771-29.173 53.219-29.173c37.449 0 64.257 22.866 64.257 70.169l-.001 111.825z'/%3E%3C/svg%3E");
  }
}

.block-social ul li::before {
  top: 0;
  left: 0;
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  transform: translateX(-100%);
  z-index: 0;
  transition: transform 0.15s ease-out;
}

.block-social ul li:hover a {
  background-position: left center;
}

/*.block-social ul li:hover::before {
	transform: translateX(0px);
}*/
.block-social:has(li.facebook:hover) {
  background: #3b5998;
}

.block-social:has(li.twitter:hover) {
  background: #111;
}

.block-social:has(li.youtube:hover) {
  background: #b2071d;
}

.block-social:has(li.instagram:hover) {
  background: radial-gradient(
    circle at 30% 107%,
    #fdf497 0%,
    #fdf497 5%,
    #fd5949 45%,
    #d6249f 60%,
    #285aeb 90%
  );
}

@media (max-width: 599px) {
  .block-social,
  .block-social .social-container {
    max-width: 100%;
    overflow: hidden;
  }

  .block-social .social-container > span {
    display: none;
  }
}

/* FOOTER */

footer#footer {
  background: #fafafa !important;
}

/*.footer-container .container .row:last-child {margin-top:30px;}*/
.col-md-6 .links .row {
  margin-top: 0 !important;
}

@media (max-width: 575px) {
  footer .links > .row > div {
    padding: 0.5rem 1rem;
    margin-bottom: 1rem;
  }

  .footer-container {
    padding: 3rem 1rem !important;
  }

  #block_myaccount_infos {
    padding: 0rem 0;
    margin-bottom: 1rem;
  }

  .block-contact.col-md-3.links.wrapper {
    margin: 1rem 0;
  }
}

.footer-container {
  background-color: #fafafa;
  padding: 1rem 0 5rem 0;
}

.footer-container .h1,
.footer-container .h2,
.footer-container .h3,
.footer-container .h4 {
  color: #333;
  font-size: 1.2rem !important;
  font-weight: 500 !important;
  position: relative;
}

@media (min-width: 768px) {
  footer .footer-container div.title[data-toggle="collapse"] + ul.collapse {
    display: block !important;
  }
}

.footer-container {
  &p.h1,
  &p.h2,
  &p.h3,
  &p.h4 {
    content: "";
    width: 6rem;
    height: 1px;
    background: #333;
    position: absolute;
    bottom: 0;
    left: 0;
    margin-bottom: -0.625rem;
  }
}

.footer-container .h1 a,
.footer-container .h2 a,
.footer-container .h3 a {
  color: #333;
}

#block_myaccount_infos .myaccount-title a {
  color: #222;
}

.block-contact .block-contact-title,
.linklist .blockcms-title a {
  color: #222;
}

.block-contact a:link,
.block-contact a:visited {
  color: 333 !important;
}

#footer_wrapper > div {
  flex: auto !important;
}
@media (max-width: 991px) and (min-width: 768px) {
  #footer_wrapper > div:nth-last-of-type(1),
  #footer_wrapper > div:nth-last-of-type(2) {
    flex: 0 1 28% !important;
  }
}
@media (max-width: 767px) {
  #footer_wrapper > div {
    flex: 0 0 100% !important;
  }
}

/* MODALES Y AUXILIARES */

/* PRODUCT MODAL */

.modal .modal-header button[data-dismiss="modal"] {
  background: transparent;
  border: none;
  color: #222;
  font-size: 1.5rem;
  opacity: 0.5;
  font-size: 2rem;
}

.modal .modal-header button[data-dismiss="modal"]:hover {
  opacity: 1;
}

.modal.quickview .modal-content span[itemprop="price"] {
  font-size: 2.5rem;
}

.modal.quickview.in {
  background: rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(5px);
  color: white;
  padding: 1rem;
  border-radius: 10px;
  max-width: 100%;
  width: 100%;
  height: 100%;
  max-height: 100dvh;
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
}

.quickview .modal-dialog-centered {
  position: relative;
  display: flex;
  align-items: center;
  min-height: unset;
  height: 40%;
  max-height: 80dvh;
  width: 60%;
  max-width: 90vw;
  transform: translate(0, 0) !important;
}

.modal.quickview .product-variants .input-container label {
  padding: 0.1rem;
  grid-template-rows: 20px;
}

.product-variants
  li.input-container
  > label
  > .span-input
  > .check-pretty::after {
  transform: translate(-38%, -50%) !important;
}

.modal.quickview .product-quantity {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.modal.quickview .product-quantity > div:nth-of-type(1) {
  flex: 0 1 auto;
}

.modal.quickview .product-quantity > div:nth-of-type(2) {
  flex: 0 1 calc(70% - 1rem);
}

.modal .related-products-wrapper {
  display: none !important;
  visibility: hidden !important;
}
@media (max-width:1100px) {
  .quickview {
    display:flex !important;
    justify-content: center;
    overflow: hidden;
  }
  .quickview .modal-dialog-centered {
    height:100dvh !important;
    width: 100dvw !important;
    max-width: unset !important;
    max-height: unset !important;
    justify-content: center;
  }
  .quickview .modal-dialog-centered .modal-content {
    width:90%;
    height: min-content;
    max-height:90%;
    overflow: auto;
    scrollbar-width: 0;
  }

}

@media (max-width: 767px) {
  .modal.quickview .current-price span {
    font-size: 2rem !important;
    font-weight: 500 !important;
  }
  .quickview h1 {
    margin-bottom: 0 !important;
  }
  .modal.quickview .current-price span.pricewithtax {
    font-size: 1rem !important;
  }

  .modal.quickview span.impuestos_inc {
    font-size: 1rem !important;
    font-weight: 200 !important;
  }
}

/*---------------*/
.collapse:not(.show) {
  display: block;
}

.fade:not(.in) {
  opacity: 0;
}

@media (max-width: 767px) {
  .collapse:not(.in) {
    display: none !important;
  }

  .collapse.in {
    display: block;
  }

  footer .title[aria-expanded="true"] .navbar-toggler {
    transform: rotate(180deg);
  }
}

@media (max-width: 575px) {
  .quickview .modal-dialog-centered {
    height: 80%;
    width: 95%;
  }

  .quickview .product-add-to-cart {
    width: 100% !important;
    gap: 0.5rem;

    & .product-quantity {
      gap: 0.3rem !important;
    }

    & .qty {
      flex: 0 1 calc(45% - 0.3rem) !important;
    }
  }

  .quickview .product-add-to-cart .product-quantity .add {
    flex: 1 1 calc(54% - 0.3rem) !important;
    font-size: 1rem !important;

    & button {
      font-size: clamp(0.6rem, 0.5rem + 0.732vw, 1rem) !important;
      min-height: 40px !important;
      width: 100% !important;

      & i {
        font-size: 0.8rem !important;
      }
    }
  }
}

.footer-payment-information {
  background-color: #333;
  padding: 1rem 0 2rem 0;
  color: white;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
}

.footer-payment-information div {
  background-repeat: no-repeat;
  background-position: center;
  background-size: auto 22px;
  padding: 3px 5px;
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 5px;
  width: 45px;
  height: 30px;
  fill: rgba(255, 255, 255, 0.5);
}

div.visa-payment {
  background-image: url("../img/payment-icons/visa.svg");
  background-size: 30px auto;
}

div.mastercard-payment {
  background-image: url("../img/payment-icons/mastercard.svg");
}

div.paypal-payment {
  background-image: url("../img/payment-icons/paypal.svg");
}

div.transfer-payment {
  background-image: url("../img/payment-icons/bank-transfer-icon.svg");
  background-size: 20px auto;
}

div.applepay-payment {
  background-image: url("../img/payment-icons/applepay.svg");
}

div.googlepay-payment {
  background-image: url("../img/payment-icons/googlepay.svg");
}

div.sequra-payment {
  background-image: url("../img/payment-icons/sequra.svg");
  background-size: 30px auto;
}

div.bizum-payment {
  background-image: url("../img/payment-icons/bizum.svg");
  background-size: 30px auto;
}

@media (max-width: 575px) {
  .footer-payment-information {
    gap: 1rem;
    padding: 1rem 6px 2rem 6px;
    flex-wrap: wrap;
  }

  .footer-payment-information > div {
    transform: scale(1.1);
    flex: 0 0 calc(25% - 1rem);
  }
}

/* LISTADO FEATURED PRODUCTS */

.featured_products,
.new_products {
  display: flex;
  flex-wrap: wrap !important;
  /*overflow-x:scroll;*/
  justify-content: center !important;
}

.featured_products::-webkit-scrollbar,
.new_products::-webkit-scrollbar {
  height: 6px;
  background-color: #e1e1e1;
  border-radius: 4px;
}

.featured_products::-webkit-scrollbar-button,
.new_products::-webkit-scrollbar-button {
  width: 0;
  height: 0;
}

.featured_products::-webkit-scrollbar-thumb,
.new_products::-webkit-scrollbar-thumb {
  border-radius: 4px;
  background-color: #ccc;
}

.featured-products article {
  position: relative;
}

.featured_products .product-miniature {
  max-width: 180px;
}

.featured_products .product-miniature,
.new_products .product-miniature {
  margin: 0.8125rem 0.8125rem;
}

.product-accessories .products .product-miniature {
  margin-top: 0.8125rem;
  margin-bottom: 0.8125rem;
}

.featured-products .thumbnail-container {
  max-height: 273.188px;
  max-width: 180px;
  position: relative;
}

.featured-products .thumbnail-container .product-thumbnail {
  height: 180px;
}

.featured-products .thumbnail-container .product-thumbnail img {
  max-width: 180px;
  height: auto;
}

.featured-products .product-description {
  max-width: 180px;
}

.featured-products .highlighted-informations {
  max-width: 180px;
}

.featured-products .product-title a {
  line-height: 1em;
}

.featured-products h3.product-title {
  margin-top: 0.2rem;
  margin-bottom: 0;
}

.featured-products article .product-flags li.product-flag {
  font-size: 0.75rem;
  font-weight: 400 !important;
}

.featured-products article .stocklabel {
  display: none;
}

.product_slider {
  display: none;
  position: absolute;
  top: 0;
  left: 100%;
  margin-left: 15px;
  transform: translate(0%, 150%);
  cursor: pointer;
  font-size: 44px;
}

.product_slider i {
  font-size: 28px !important;
}

@media (min-width: 768px) and (max-width: 991px) {
  .featured-products .product-miniature,
  .new_products .product-miniature {
    margin: 10px;
  }
}

@media (max-width: 767px) {
  .featured-products .product-miniature,
  .new_products .product-miniature {
    margin: 10px;
  }
}

.superuser-front-container:focus .superuser-front-container,
.superuser-front-container:active .superuser-front-container {
  display: none;
}

.banner {
  text-align: center;
}

/* BLOQUE DE INFORMACIÓN PRE-FOOTER (templates/_partials/info-bottom.tpl) */
#footer {
  background-color: #f4f4f4;
}

.info-bottom {
  background-color: #f4f4f4;
  min-height: 120px;
}

.info-bottom .row .col {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  flex-direction: row;
  justify-content: center;
  align-items: stretch;
  align-content: stretch;
  float: none;
  margin-left: auto;
  margin-right: auto;
  max-width: 96%;
}

.info-bottom .row .col .info-item {
  position: relative;
  height: 100px;
  flex: 1 1 auto;
  margin: 8px;
  max-width: 300px;
  min-width: 100px;
  display: flex;
  align-items: center;
  align-content: center;
  justify-content: center;
}

.info-item span {
  font-size: 0.8em;
  color: #999;
  font-weight: bold;
}

/*.info-item:hover > img {	-webkit-animation: vibrate-1 0.3s linear infinite both;animation: vibrate-1 0.3s linear infinite both;}*/
@-webkit-keyframes vibrate-1 {
  0% {
    -webkit-transform: translate(0) translateZ(0);
    transform: translate(0) translateZ(0);
  }

  20% {
    -webkit-transform: translate(-2px, 2px) translateZ(-2px);
    transform: translate(-2px, 2px) translateZ(-2px);
  }

  40% {
    -webkit-transform: translate(-2px, -2px) translateZ(2px);
    transform: translate(-2px, -2px) translateZ(2px);
  }

  60% {
    -webkit-transform: translate(2px, 2px) translateZ(-2px);
    transform: translate(2px, 2px) translateZ(-2px);
  }

  80% {
    -webkit-transform: translate(2px, -2px) translateZ(2px);
    transform: translate(2px, -2px) translateZ(2px);
  }

  100% {
    -webkit-transform: translate(0) translateZ(0);
    transform: translate(0) translateZ(0);
  }
}

@keyframes vibrate-1 {
  0% {
    -webkit-transform: translate(0) translateZ(0);
    transform: translate(0) translateZ(0);
  }

  20% {
    -webkit-transform: translate(-2px, 2px) translateZ(-2px);
    transform: translate(-2px, 2px) translateZ(-2px);
  }

  40% {
    -webkit-transform: translate(-2px, -2px) translateZ(2px);
    transform: translate(-2px, -2px) translateZ(2px);
  }

  60% {
    -webkit-transform: translate(2px, 2px) translateZ(-2px);
    transform: translate(2px, 2px) translateZ(-2px);
  }

  80% {
    -webkit-transform: translate(2px, -2px) translateZ(2px);
    transform: translate(2px, -2px) translateZ(2px);
  }

  100% {
    -webkit-transform: translate(0) translateZ(0);
    transform: translate(0) translateZ(0);
  }
}

.info-item a {
  color: rgba(100, 100, 100, 0.8) !important;
}

@media (min-width: 599px) and (max-width: 767px) {
  .info-bottom .row .col .info-item {
    margin: 4px;
  }
}

@media (max-width: 599px) {
  .info-bottom {
    display: none;
  }
}

/* PAGINA AUTENTICACION */

body#authentication section.register-form {
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(20px);
  border-radius: 1rem;
  padding: 3rem;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
  width: 100%;
  max-width: 1220px;
  position: relative;
  border: 1px solid rgba(255, 255, 255, 0.2);
  animation: slideIn 0.8s ease-out;
  float: none !important;
  margin: 1rem auto;
}

body#authentication section.register-form p#prof-text {
  width: 90%;
  margin: 0 auto 2rem auto;
  font-size: 0.9rem;
  padding: 0.625rem;
  background: #fafafa;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.475rem;
}

body#authentication section.register-form input[type="checkbox"],
form:has(.material-icons.checkbox-checked) input[type="checkbox"] {
  display: none;
}
body#authentication section.register-form input[type="text"],
body#authentication section.register-form input[type="password"],
body#authentication section.register-form input[type="email"] {
  width: 100%;
  padding: 15px 20px 15px 50px !important;
  border: 2px solid #e1e5e9;
  border-radius: 12px;
  font-size: 16px;
  transition: all 0.3s ease;
  background: #f8f9fa;
}
.input-group.js-parent-focus:has(input[type="text"]) {
  position: relative;
}
body#authentication section.register-form input[name="password"] {
  width: auto !important;
}
body#authentication
  section.register-form
  input[name="password"]
  + span.input-group-btn {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(-50%, -50%);
}
body#authentication
  section.register-form
  input[name="password"]
  + span.input-group-btn
  > button {
  border: none !important;
  font-size: 20px !important;
  color: #aaa;
  transition: color 0.3s ease;
  padding: 0;
  margin: 0;
  display: flex;
  align-items: center;
}
body#authentication
  section.register-form
  input[type="text"]:has(
    + span.input-group-btn > button[data-action="show-password"]
  )
  + span.input-group-btn
  > button {
  color: #333;
}

form button[data-action="show-password"] {
  border-color: rgba(0, 0, 0, 0.2);
  border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
  border-left-color: transparent;
  height: 100%;
}

body#authentication section.register-form input[type="checkbox"] + span,
form:has(.material-icons.checkbox-checked) input[type="checkbox"] + span,
input[name="ml_registroprofesional"] + i {
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 3px;
  aspect-ratio: 1 / 1;
  display: inline-block;
  width: 20px;
  height: 20px;
  vertical-align: middle;
}

body#authentication .form-check,
body#authentication .form-check *:not(.material-icons) {
  font-size: 0.9rem !important;
}

body#authentication footer.form-footer {
  display: flex !important;
  justify-content: center !important;
}
body#authentication .form-control-label {
  display: flex;
  align-items: center;
  align-content: center;
}
.fs-7 {
  font-size: 0.8rem !important;
}
body#authentication #attachment input[name="fileUpload"] {
  max-width: 100% !important;
}
body#authentication .register-form .form-control-submit {
  float: none !important;
  margin-inline: auto;
}

body#authentication section.register-form input[type="checkbox"] + span,
form:has(.material-icons.checkbox-checked) input[type="checkbox"] + span > i,
input[name="ml_registroprofesional"] + i {
  font-size: 20px !important;
  line-height: 20px;
  width: 20px;
  height: 20px;
  margin-left: -1px;
  margin-top: -4px;
}
input[name="ml_registroprofesional"] + i {
  margin-left: 2px !important;
}

body#authentication section.register-form input + span i.material-icons,
form:has(.material-icons.checkbox-checked) input + span i.material-icons,
input[name="ml_registroprofesional"] + i.material-icons {
  color: #eee;
  transition: color 0.2s ease-out;
}

body#authentication
  section.register-form
  input[type="checkbox"]:checked
  + span
  i.material-icons,
form:has(.material-icons.checkbox-checked)
  input[type="checkbox"]:checked
  + span
  i.material-icons,
input[name="ml_registroprofesional"]:checked + i {
  color: var(--bs-green);
}

/* BLOQUE BANNERS SUPERIORES EN CATEGORIAS (templates/catalog/_partials/category-header.tpl) */
.cat-banners-title {
  display: none;
}

.cat-banners-title::after {
  content: "unfold_more";
  font-family: "Material Icons";
  font-feature-settings: "liga";
  -webkit-font-feature-settings: "liga";
  display: block;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.4em;
}

.hide-symbol::after {
  content: "unfold_less";
  font-family: "Material Icons";
  font-feature-settings: "liga";
  -webkit-font-feature-settings: "liga";
  display: block;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.4em;
}

.cat-banners {
  display: flex;
  align-content: stretch;
  align-items: stretch;
  justify-content: center;
  min-height: 8rem;
  padding: 1.2rem;
  flex-wrap: wrap;
  max-height: 600px;
  transition: height 0.3s ease-out;
}

.cat-banners .banner-element {
  min-height: 100px;
  position: relative;
  margin: 8px;
  flex: 1 0 22%;
  background-color: #f1f1f1;
  display: flex;
  align-content: center;
  justify-content: center;
  align-items: center;
  padding-top: 13px;
  padding-bottom: 5px;
}
.cat-banners-modern > .banner-item svg {
  stroke: #fff;
}

@media (max-width: 480px) {
  .block-hidden {
    display: none;
    max-height: 0;
    margin: -5px;
    overflow: hidden;
  }
}

/* 2 AÑOS GARANTÍA */
.cat-banners .banner-element a div:nth-child(1) {
  width: 50%;
  height: 100%;
  position: relative;
  display: flex;
  flex: 0 1 100%;
  justify-content: center;
  align-items: center;
  align-content: stretch;
  flex-wrap: wrap;
}

.cat-banners .banner-element a div:nth-child(2) {
  width: 40%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
}

.cat-banners
  .banner-element:nth-of-type(1)
  a
  div:nth-child(1)
  span:nth-child(2) {
  font-size: 5em;
  font-weight: bold;
  color: #4e6a9c;
  flex: 1;
  text-align: center;
}

.cat-banners
  .banner-element:nth-of-type(1)
  a
  div:nth-child(1)
  span:nth-child(3) {
  color: #4e6a9c;
  flex: 1;
  text-align: left;
  font-size: 1.1em;
  font-weight: bold;
}

.cat-banners
  .banner-element:nth-of-type(1)
  a
  div:nth-child(1)
  span:nth-child(4) {
  display: block;
  clear: both;
  font-size: 0.7em;
  color: #4e6a9c;
  flex: 1;
}

.cat-banners
  .banner-element:nth-of-type(1)
  a
  div:nth-child(1)
  span:nth-child(1) {
  display: block;
  clear: both;
  font-size: 0.7em;
  color: #4e6a9c;
  flex: 1;
}

/* ENVIO 24H */
.cat-banners .banner-element:nth-of-type(2) a div:nth-child(1) {
  padding-left: 8px;
}

.cat-banners
  .banner-element:nth-of-type(2)
  a
  div:nth-child(1)
  span:nth-child(1) {
  font-size: 1.5em;
  font-weight: bold;
  color: #4e6a9c;
  flex: 1 0 100%;
  text-align: left;
  text-transform: uppercase;
}

.cat-banners
  .banner-element:nth-of-type(2)
  a
  div:nth-child(1)
  span:nth-child(2) {
  font-size: 0.8em;
  font-weight: normal;
  color: #4e6a9c;
  flex: 1 0 100%;
  text-align: left;
}

/* PRECIOS SIN IVA */
.cat-banners .banner-element:nth-of-type(3) div:nth-child(1) {
  width: 50%;
  height: 100%;
  position: relative;
  display: flex;
  flex: 0 1 100%;
  justify-content: center;
  align-items: center;
  align-content: stretch;
  flex-wrap: wrap;
}

.cat-banners .banner-element:nth-of-type(3) div:nth-child(2) {
  width: 40%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
}

.cat-banners .banner-element:nth-of-type(3) div:nth-child(1) {
  padding-left: 8px;
}

.cat-banners .banner-element:nth-of-type(3) div:nth-child(1) span:nth-child(1) {
  font-size: 1.5em;
  font-weight: bold;
  color: #4e6a9c;
  flex: 1 0 100%;
  text-align: left;
  text-transform: uppercase;
}

.cat-banners .banner-element:nth-of-type(3) div:nth-child(1) span:nth-child(2) {
  font-size: 0.8em;
  font-weight: normal;
  color: #4e6a9c;
  flex: 1 0 100%;
  text-align: left;
}

/* EQUIVALENCIA LED */
.cat-banners .banner-element a {
  display: flex;
  flex: 1 1 100%;
  width: 100%;
  height: 100%;
}

.cat-banners
  .banner-element:nth-of-type(4)
  a
  div:nth-child(1)
  span:nth-child(1) {
  font-size: 1.5em;
  font-weight: bold;
  color: #4e6a9c;
  flex: 1 0 100%;
  text-align: left;
  text-transform: uppercase;
}

.cat-banners .banner-element:nth-of-type(4) a div:nth-child(1) {
  padding-left: 8px;
  width: 50%;
  height: 100%;
  position: relative;
  display: flex;
  flex: 0 1 100%;
  justify-content: center;
  align-items: center;
  align-content: stretch;
  flex-wrap: wrap;
}

.cat-banners .banner-element:nth-of-type(4) a div:nth-child(2) {
  width: 40%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
}

.cat-banners
  .banner-element:nth-of-type(4)
  a
  div:nth-child(1)
  span:nth-child(1) {
  font-size: 1.4em;
  font-weight: bold;
  color: #4e6a9c;
  flex: 1 0 100%;
  text-align: left;
  text-transform: uppercase;
}

.cat-banners
  .banner-element:nth-of-type(4)
  a
  div:nth-child(1)
  span:nth-child(2) {
  font-size: 0.8em;
  font-weight: normal;
  color: #4e6a9c;
  flex: 1 0 100%;
  text-align: left;
}

@media (max-width: 480px) {
  .cat-banners {
    flex-wrap: wrap;
    flex: auto !important;
  }

  .cat-banners-title {
    display: block;
  }

  .cat-banners-title span {
    font-weight: bold;
  }

  .cat-banners .banner-element {
    flex: auto !important;
    max-width: 48%;
    margin: 2px;
  }

  .cat-banners .banner-element:nth-of-type(1) a div:nth-child(1) {
    justify-content: flex-start;
  }

  .cat-banners .banner-element:nth-of-type(1) a div:nth-child(1) > * {
    margin-left: 3px;
  }

  .cat-banners .banner-element:nth-of-type(1) a div:nth-child(1) span {
    text-align: center;
  }

  .cat-banners
    .banner-element:nth-of-type(1)
    a
    div:nth-child(1)
    span:nth-child(2) {
    font-size: 4em;
    font-weight: bold;
    color: #4e6a9c;
    flex: 1;
    text-align: center;
    padding: 0.8rem;
  }

  .cat-banners
    .banner-element:nth-of-type(1)
    a
    div:nth-child(1)
    span:nth-child(1) {
    font-size: 1.5em;
  }

  .cat-banners
    .banner-element:nth-of-type(3)
    div:nth-child(1)
    span:nth-child(1) {
    font-size: 1.3em;
  }

  .cat-banners
    .banner-element:nth-of-type(2)
    a
    div:nth-child(1)
    span:nth-child(1) {
    font-size: 1.2em;
  }

  .cat-banners
    .banner-element:nth-of-type(3)
    div:nth-child(1)
    span:nth-child(2) {
    font-size: 0.7em;
  }

  .cat-banners .banner-element:nth-of-type(4) a > div:nth-child(1) {
    width: 79%;
  }

  .cat-banners .banner-element:nth-of-type(4) a > div:nth-child(2) {
    width: 20%;
  }

  .cat-banners
    .banner-element:nth-of-type(4)
    a
    div:nth-child(1)
    span:nth-child(1) {
    font-size: 1em;
    font-weight: bold;
    color: #4e6a9c;
    flex: 1 0 100%;
    text-align: left;
    text-transform: uppercase;
  }

  /*.cat-banners .banner-element:nth-of-type(1) a div:nth-child(1) span:nth-child(1) {font-size:3em}
.cat-banners .banner-element:nth-of-type(1) a div:nth-child(1) span:nth-child(2) {font-size:0.8em}
.cat-banners .banner-element:nth-of-type(1) a div:nth-child(1) span:nth-child(3) {font-size:0.6em}

.cat-banners .banner-element:nth-of-type(2) a div:nth-child(1) span:nth-child(1) {font-size:1.3em;}
.cat-banners .banner-element:nth-of-type(2) a div:nth-child(1) span:nth-child(2) {font-size:0.7em;}


*/
}

@media (min-width: 481px) and (max-width: 492px) {
  .cat-banners
    .banner-element:nth-of-type(1)
    a
    div:nth-child(1)
    span:nth-child(1) {
    font-size: 4.5em;
  }

  .cat-banners
    .banner-element:nth-of-type(1)
    a
    div:nth-child(1)
    span:nth-child(2) {
    font-size: 0.9em;
  }

  .cat-banners
    .banner-element:nth-of-type(1)
    a
    div:nth-child(1)
    span:nth-child(3) {
    font-size: 0.6em;
  }

  .cat-banners
    .banner-element:nth-of-type(2)
    a
    div:nth-child(1)
    span:nth-child(2) {
    font-size: 0.7em;
  }

  .cat-banners
    .banner-element:nth-of-type(3)
    div:nth-child(1)
    span:nth-child(1) {
    font-size: 1.2em;
  }

  .cat-banners
    .banner-element:nth-of-type(3)
    div:nth-child(1)
    span:nth-child(2) {
    font-size: 0.6em;
  }

  .cat-banners
    .banner-element:nth-of-type(4)
    a
    div:nth-child(1)
    span:nth-child(1) {
    font-size: 1.1em;
  }

  .cat-banners
    .banner-element:nth-of-type(4)
    a
    div:nth-child(1)
    span:nth-child(2) {
    font-size: 0.7em;
  }
}

@media (min-width: 481px) and (max-width: 991px) {
  .cat-banners {
    flex-wrap: wrap;
    flex: auto !important;
  }

  .cat-banners .banner-element {
    flex: auto !important;
    max-width: 45%;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .cat-banners
    .banner-element:nth-of-type(1)
    a
    div:nth-child(1)
    span:nth-child(1) {
    font-size: 4em;
  }

  .cat-banners
    .banner-element:nth-of-type(1)
    a
    div:nth-child(1)
    span:nth-child(2) {
    font-size: 1em;
  }

  .cat-banners
    .banner-element:nth-of-type(1)
    a
    div:nth-child(1)
    span:nth-child(3) {
    font-size: 0.7em;
  }

  .cat-banners
    .banner-element:nth-of-type(2)
    a
    div:nth-child(1)
    span:nth-child(1) {
    font-size: 1.3em;
  }

  .cat-banners
    .banner-element:nth-of-type(2)
    a
    div:nth-child(1)
    span:nth-child(2) {
    font-size: 0.7em;
  }

  .cat-banners
    .banner-element:nth-of-type(3)
    div:nth-child(1)
    span:nth-child(1) {
    font-size: 1.3em;
  }

  .cat-banners
    .banner-element:nth-of-type(3)
    div:nth-child(1)
    span:nth-child(2) {
    font-size: 0.7em;
  }

  .cat-banners
    .banner-element:nth-of-type(4)
    a
    div:nth-child(1)
    span:nth-child(1) {
    font-size: 1.3em;
    font-weight: bold;
    color: #4e6a9c;
    flex: 1 0 100%;
    text-align: left;
    text-transform: uppercase;
  }
}

/* NUEVOS BANNERS DE CATEGORIA */

.cat-banners-modern {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
  padding: 1.5rem;
  background: transparent;
  border-radius: 8px;
}

.banner-item {
  flex: 1 1 220px;
  background: #333;
  text-align: center;
  border-radius: 0.425rem;
  padding: 1rem;
  transition: transform 0.2s ease;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.banner-item img {
  height: auto;
  max-height: 50px;
  margin-bottom: 0.8rem;
}

.banner-item a {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.banner-item .title {
  font-size: 1rem;
  font-weight: 600;
  color: #ffdd00;
  margin-bottom: 0.2rem;
}

.banner-item .subtitle {
  font-size: 0.85rem;
  color: #fff;
}

@-webkit-keyframes slide-down {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-50%) translateY(100%);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(-50%) translateY(0);
  }
}

@keyframes slide-down {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-50%) translateY(100%);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(-50%) translateY(0);
  }
}

@-moz-keyframes slide-down {
  0% {
    opacity: 0;
    -moz-transform: translateX(-50%) translateY(100%);
  }

  100% {
    opacity: 1;
    -moz-transform: translateX(-50%) translateY(0);
  }
}

/* CMS */

body#cms .page-header {
  max-width: 1440px;
  margin: 0 auto;
  float: none;
  padding: 20px;
}

.masterled-cms-container {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 20px;
  float: none;
}

.masterled-page-header {
  background: linear-gradient(135deg, #1e3a8a 0%, #3b82f6 100%);
  color: white;
  padding: 60px 0;
  margin-bottom: 40px;
  position: relative;
  overflow: hidden;
}

.masterled-page-header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="20" cy="20" r="2" fill="rgba(255,255,255,0.1)"/><circle cx="80" cy="40" r="1.5" fill="rgba(255,255,255,0.1)"/><circle cx="40" cy="80" r="1" fill="rgba(255,255,255,0.1)"/></svg>')
    repeat;
  animation: float 20s infinite linear;
}

@keyframes float {
  0% {
    transform: translateY(0px) rotate(0deg);
  }
  100% {
    transform: translateY(-100px) rotate(360deg);
  }
}

.masterled-page-header .container {
  position: relative;
  z-index: 1;
}

.masterled-page-title {
  font-size: 2.5rem;
  font-weight: 700;
  margin: 0;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.masterled-breadcrumb {
  margin-top: 15px;
  opacity: 0.9;
}

.masterled-breadcrumb a {
  color: rgba(255, 255, 255, 0.8);
  text-decoration: none;
  transition: color 0.3s ease;
}

.masterled-breadcrumb a:hover {
  color: white;
  text-decoration: underline;
}

.masterled-cms-content {
  background: white;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  margin-bottom: 40px;
  overflow: hidden;
  border: 1px solid #e5e7eb;
}

.masterled-cms-inner {
  padding: 40px;
}

/* Estilos para el contenido del CMS */
.masterled-cms-inner h1 {
  color: #1f2937;
  font-size: 2.25rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
  border-bottom: 3px solid #3b82f6;
  padding-bottom: 0.5rem;
}

.masterled-cms-inner h2 {
  color: #374151;
  font-size: 1.875rem;
  font-weight: 600;
  margin: 2rem 0 1rem 0;
  position: relative;
}

.masterled-cms-inner h2::before {
  content: "";
  position: absolute;
  left: -20px;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 100%;
  background: #3b82f6;
  border-radius: 2px;
}

.masterled-cms-inner h3 {
  color: #4b5563;
  font-size: 1.5rem;
  font-weight: 600;
  margin: 1.5rem 0 1rem 0;
}

.masterled-cms-inner p {
  color: #6b7280;
  line-height: 1.7;
  margin-bottom: 1.25rem;
  font-size: 1rem;
}

.masterled-cms-inner ul,
.masterled-cms-inner ol {
  color: #6b7280;
  margin: 1.25rem 0;
  padding-left: 1.5rem;
}

.masterled-cms-inner li {
  margin-bottom: 0.5rem;
  line-height: 1.6;
}

.masterled-cms-inner a {
  color: #3b82f6;
  text-decoration: none;
  font-weight: 500;
  transition: color 0.3s ease;
}

.masterled-cms-inner a:hover {
  color: #1e40af;
  text-decoration: underline;
}

.masterled-cms-inner img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  margin: 1.5rem 0;
}

.masterled-cms-inner blockquote {
  border-left: 4px solid #3b82f6;
  background: #f8fafc;
  padding: 1.5rem 2rem;
  margin: 2rem 0;
  border-radius: 0 8px 8px 0;
  font-style: italic;
  color: #4b5563;
}

.masterled-cms-inner table {
  width: 100%;
  border-collapse: collapse;
  margin: 2rem 0;
  background: white;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.masterled-cms-inner th,
.masterled-cms-inner td {
  padding: 1rem;
  text-align: left;
  border-bottom: 1px solid #e5e7eb;
}

.masterled-cms-inner th {
  background: #f8fafc;
  font-weight: 600;
  color: #374151;
}

.masterled-cms-inner td {
  color: #6b7280;
}

/* Botones mejorados */
.masterled-cms-inner .btn,
.masterled-cms-inner button,
.masterled-cms-inner input[type="submit"] {
  background: linear-gradient(135deg, #3b82f6, #1e40af);
  color: white;
  border: none;
  padding: 12px 24px;
  border-radius: 8px;
  font-weight: 600;
  text-decoration: none;
  display: inline-block;
  transition: all 0.3s ease;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
}

.masterled-cms-inner .btn:hover,
.masterled-cms-inner button:hover,
.masterled-cms-inner input[type="submit"]:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(59, 130, 246, 0.4);
  text-decoration: none;
  color: white;
}

/* Formularios mejorados */
.masterled-cms-inner .form-control,
.masterled-cms-inner input[type="text"],
.masterled-cms-inner input[type="email"],
.masterled-cms-inner textarea,
.masterled-cms-inner select {
  border: 2px solid #e5e7eb;
  border-radius: 8px;
  padding: 12px 16px;
  font-size: 1rem;
  transition: all 0.3s ease;
  width: 100%;
  margin-bottom: 1rem;
}

.masterled-cms-inner .form-control:focus,
.masterled-cms-inner input[type="text"]:focus,
.masterled-cms-inner input[type="email"]:focus,
.masterled-cms-inner textarea:focus,
.masterled-cms-inner select:focus {
  outline: none;
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

/* Alertas y cajas informativas */
.masterled-cms-inner .alert {
  padding: 1rem 1.5rem;
  border-radius: 8px;
  margin: 1.5rem 0;
  border-left: 4px solid;
}

.masterled-cms-inner .alert-info {
  background: #eff6ff;
  border-color: #3b82f6;
  color: #1e40af;
}

.masterled-cms-inner .alert-success {
  background: #f0fdf4;
  border-color: #10b981;
  color: #065f46;
}

.masterled-cms-inner .alert-warning {
  background: #fffbeb;
  border-color: #f59e0b;
  color: #92400e;
}

.masterled-cms-inner .alert-danger {
  background: #fef2f2;
  border-color: #ef4444;
  color: #991b1b;
}

/* Estilos específicos para páginas especiales */
.page-cms-7 .masterled-cms-content {
  background: transparent;
  box-shadow: none;
  border: none;
}

.page-cms-4 .masterled-cms-content {
  background: transparent;
  box-shadow: none;
  border: none;
}

/* Estilos para el formulario de contacto */
.mw1200 {
  max-width: 1200px;
  margin: 0 auto;
}

.contactform-container {
  background: white;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  padding: 40px;
  margin-top: 40px;
  border: 1px solid #e5e7eb;
}

/* Responsive */
@media (max-width: 768px) {
  .masterled-cms-container {
    padding: 0 15px;
  }

  .masterled-page-header {
    padding: 40px 0;
    margin-bottom: 30px;
  }

  .masterled-page-title {
    font-size: 2rem;
  }

  .masterled-cms-inner {
    padding: 30px 20px;
  }

  .masterled-cms-inner h1 {
    font-size: 1.875rem;
  }

  .masterled-cms-inner h2 {
    font-size: 1.5rem;
  }

  .masterled-cms-inner h2::before {
    left: -15px;
  }

  .contactform-container {
    padding: 30px 20px;
    margin-top: 30px;
  }
}

@media (max-width: 480px) {
  .masterled-page-title {
    font-size: 1.75rem;
  }

  .masterled-cms-inner {
    padding: 25px 15px;
  }
}

/* PÁGINA DE PREGUNTAS SOBRE LED */

.page-cms-8 input[type="checkbox"] {
  display: none;
}

.page-cms-8 label {
  display: block;
  font-size: 2em;
  font-weight: 300;
  color: #00338e;
  clear: both;
  margin-bottom: 40px;
  float: none;
  text-align: left;
  line-height: 1.2;
  cursor: pointer;
}

.page-cms-8 span.respuesta {
  overflow: hidden;
  height: 0;
  max-height: 0;
  margin: -5px;
  transition: max-height 0.3s ease-in-out;
  -webkit-transition: max-height 0.3s ease-in-out;
  -moz-transition: max-height 0.3s ease-in-out;
  padding-left: 10px;
  display: block;
}

.page-cms-8 input[type="checkbox"]:checked + span.respuesta {
  max-height: 600px;
  height: auto;
  margin: 5px 0 40px 0;
}

.page-cms-8 inpus[type="checkbox"] + span.respuesta {
  transition: max-height 0.3s ease-in-out;
  -webkit-transition: max-height 0.3s ease-in-out;
  -moz-transition: max-height 0.3s ease-in-out;
}

/* PAGINA PROFESIONALES */

@media (max-width: 599px) {
  body#authentication .container-fluid {
    padding-left: 15px;
    padding-right: 15px;
  }

  body#authentication #authentication-wrapper {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

.registerbutton {
  display: block;
  padding: 20px 30px;
  background-color: #00338e;
  margin: 5px auto 5px auto;
  text-align: center;
  color: #ffffff;
  font-size: 2.5em;
  font-weight: bold;
}

.registerbutton:hover {
  background-color: #2266e1;
}

.registerbutton a {
  color: #ffffff;
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
}

.page-cms-4 {
  text-align: left;
  background-color: white;
}

.page-cms-4 .nosotrosdiv {
  padding-top: 30px;
  padding-bottom: 30px;
}

.page-cms-4 .mapamaster {
  background-image: url("/img/cms/mapamaster.jpg");
  background-position: center center;
  background-size: cover;
  height: 400px;
}

.page-cms-4 .nosotrosdiv h2,
.page-cms-4 .nosotrosdiv h1 {
  color: #00338e;
}

.page-cms-7 {
  text-align: left !important;
  background: transparent !important;
}

.page-cms-7 .cabecera,
.page-cms-4 .cabecera {
  width: 100%;
  text-align: center;
  background-color: #00338e;
}

.page-cms-7 .mw1200,
.page-cms-4 .mw1200 {
  max-width: 1200px;
  float: none;
  margin-left: auto;
  margin-right: auto;
}

.page-cms-7 .greyback,
.page-cms-4 .greyback {
  background-color: #f3f3f3;
}

.bloquetexto {
  padding-left: 15px;
  padding-right: 15px;
  background-color: #f3f3f3;
  color: #444;
}

.h40px {
  height: 40px;
}

.mtop20 {
  margin-top: 20px;
}

.mtop40 {
  margin-top: 40px;
}

.mbottom40 {
  margin-bottom: 40px;
}

.paddvertical {
  padding-top: 20px;
  padding-bottom: 20px;
}

@font-face {
  font-family: "Planer";
  src: url("/img/cms/planer.eot");
  /* IE9 Compat Modes */
  src: url("/img/cms/planer.eot?#iefix") format("embedded-opentype"),
    /* IE6-IE8 */ url("/img/cms/planer.woff") format("woff"),
    /* Pretty Modern Browsers */ url("/img/cms/planer.ttf") format("truetype");
  /* Safari, Android, iOS */
}

.planer {
  font-family: "Planer", sans-serif;
}

.stext {
  font-size: 0.9em;
}

.mtext {
  font-size: 1.1em;
}

.ltext {
  font-size: 1.4em;
}

.xltext {
  font-size: 1.8em;
}

.masterblue {
  color: #00338e;
}

.mastergreen {
  color: #bad405;
}

.textcenter {
  text-align: center;
}

.clavesprof div {
  font-size: 0.8em;
  color: #666;
}

a.asesor {
  color: white !important;
  padding: 20px 25px;
  width: 180px;
  white-space: normal;
  text-transform: initial;
  border-radius: 10px;
  -webkit-border-radius: 10px;
}

a.registernow {
  color: white !important;
  padding: 20px;
  width: 100%;
  text-transform: initial;
  font-weight: 300;
}

.beneficios i {
  color: #ff0000;
  font-size: 3.5em;
  margin: 10px auto;
  width: 100%;
  text-align: center;
}

.beneficios > div span {
  text-align: center;
  font-size: 0.8em;
  color: #666;
  display: block;
  max-width: 300px;
  float: none;
  clear: both;
  margin-left: auto;
  margin-right: auto;
}

.beneficios-cabecera h2 {
  font-size: 2em;
  font-weight: 300;
}

.row.mbotom40.greyback.paddvertical > div h2 {
  font-weight: 300;
}

.accesopro {
  color: #666;
}

.accesopro > div.row.mw1200 > div {
  margin-top: 10px;
  margin-bottom: 10px;
}

.page-cms-7 .contact-form .mb-3 div h3 {
  display: none;
}

.fondoProfesional {
  background: initial !important;
  background-color: white !important;
  background-image: url("/img/cms/shield.svg") !important;
  background-size: 700px auto !important;
  background-position: 120% -80px !important;
  background-repeat: no-repeat !important;
}

.whiteback {
  background: initial !important;
  background-color: white !important;
}

@media (max-width: 767px) {
  .fondoProfesional {
    background-size: 600px !important;
    background-position: 194% -55px !important;
  }

  .accesopro > div.row.mw1200 > div {
    margin-top: 10px;
    margin-bottom: 10px;
  }
}

@media (min-width: 768px) and (max-width: 900px) {
  .fondoProfesional {
    background-size: 700px !important;
    background-position: 185% -70px !important;
  }
}

@media (min-width: 901px) and (max-width: 1199px) {
  .fondoProfesional {
    background-size: 700px !important;
    background-position: 165% -70px !important;
  }
}

/* TABLA EQUIVALENCIA LED */

.equivalencia_bombillas_es {
  position: relative;
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 100%;
  height: 1029px;
  background: url("/img/cms/NUEVA_TABLA_EQUIVALENCIAS.jpg");
  background-repeat: no-repeat;
  background-size: 100% auto;
}

.equivalencia_bombillas_fr {
  position: relative;
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 100%;
  height: 1029px;
  background: url("/img/cms/equiv_fr.jpg");
  background-repeat: no-repeat;
  background-size: 100% auto;
}

.equivalencia_bombillas_en {
  position: relative;
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 100%;
  height: 1029px;
  background: url("/img/cms/equivalencia-led-EN.jpg");
  background-repeat: no-repeat;
  background-size: 100% auto;
}

/* FIX IMAGENES GRANDES */
#product #content {
  position: relative;
  max-width: initial;
  margin: 0 auto;
}

#content img {
  max-width: 100%;
}

/* MASTERLUX */
.logomasterlux {
  display: block;
  margin: 10px auto 30px auto;
  float: none;
  position: relative;
  padding: 10px;
  font-size: 1.3em;
  font-weight: 300;
  width: 860px;
  height: 190px;
  background: url(https://desarrollo.masterled.es/img/cms/masterlux-logo.jpg)
    center center no-repeat;
  background-size: 400px;
}

/* CONTENEDOR PRINCIPAL */
.containerlux {
  font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue",
    Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 300;
  font-size: 12px;
  background-color: rgba(186, 212, 5, 1);
  vertical-align: middle;
  display: flex;
  margin: auto;
  clear: both;
  float: none;
  height: auto;
  width: 100%;
  max-width: 840px;
  height: 400px;
  border-color: #00338e;
  overflow: hidden;
  position: relative;
}

/*****************************************
		CONTENEDORES INTERIORES
*****************************************/

/*CONTENEDOR*/
.c-estancia-1 {
  position: absolute;
  z-index: 4;
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  flex-direction: column;
  top: 0;
  left: 0;
  margin-left: 0;
  background-color: #00338e;
  height: 100%;
  width: 75%;
  overflow: visible;
  transition: all ease-in-out 0.4s;
  -webkit-transition: all ease-in-out 0.4s;
  -moz-transition: all ease-in-out 0.4s;
  -ms-transition: all ease-in-out 0.4s;
}

.c-estancia-1 input#infoprincipal[type="checkbox"] {
  display: none;
}

.c-estancia-1 label {
  display: block;
  float: none;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  color: #fff;
  font-weight: bold;
  text-align: center;
}

.c-estancia-1 .tooltip {
  width: 90%;
  display: block;
  padding: 0;
  background: rgba(0, 0, 0, 0.9);
  color: #ffffff;
  height: 0;
  min-height: 0;
  transition: min-height 0.3s ease-in-out;
  -webkit-transition: min-height 0.3s ease-in-out;
  word-wrap: break-word;
  text-overflow: hidden;
  overflow: hidden;
}

.c-estancia-1 #infoprincipal:checked ~ .tooltip {
  min-height: 150px;
  padding: 5px;
}

.c-estancia-1::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  margin-left: 100%;
  z-index: 99;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 400px 20px 0 0;
  border-color: #00348e transparent transparent transparent;
}

/* TITULO */
.c-estancia-1::after {
  color: #ffffff;
  height: 50px;
  content: "Paso 1";
  white-space: nowrap;
  display: inline;
  position: absolute;
  left: 100%;
  top: 0;
  text-align: right;
  z-index: 999;
  -webkit-transform: rotate(-86deg);
  -moz-transform: rotate(-86deg);
  -o-transform: rotate(-86deg);
  -ms-transform: rotate(-86deg);
  transform: rotate(-86deg);
}

/**************************************************/

.c-estancia-2 {
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
  margin-left: 0;
  background-color: #003ca8;
  height: 100%;
  width: 80%;
  overflow: visible;
  transition: all ease-in-out 0.4s;
  -webkit-transition: all ease-in-out 0.4s;
  -moz-transition: all ease-in-out 0.4s;
  -ms-transition: all ease-in-out 0.4s;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  align-content: center;
}

.c-estancia-2::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  margin-left: 100%;
  z-index: 99;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 400px 20px 0 0;
  border-color: #003ca8 transparent transparent transparent;
}

.c-estancia-2::after {
  color: #ffffff;
  height: 50px;
  content: "Paso 2";
  white-space: nowrap;
  display: block;
  position: absolute;
  left: 100%;
  text-align: right;
  top: 0;
  z-index: 999;
  -webkit-transform: rotate(-87deg);
  -moz-transform: rotate(-87deg);
  -o-transform: rotate(-87deg);
  -ms-transform: rotate(-87deg);
  transform: rotate(-87deg);
}

.c-estancia-2 select {
  display: inline-block;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  padding: 10px 20px;
  margin: 4px;
  border: 1px solid #b7b7b7;
  -webkit-border-radius: 9px;
  border-radius: 9px;
  font: normal 16px / normal Tahoma, Geneva, sans-serif;
  color: rgba(0, 142, 198, 1);
  -o-text-overflow: clip;
  text-overflow: clip;
  background: rgba(252, 252, 252, 1);
  text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.66);
  -webkit-transition: all 200ms cubic-bezier(0.42, 0, 0.58, 1);
  -moz-transition: all 200ms cubic-bezier(0.42, 0, 0.58, 1);
  -o-transition: all 200ms cubic-bezier(0.42, 0, 0.58, 1);
  transition: all 200ms cubic-bezier(0.42, 0, 0.58, 1);
}

/**************************************************/

.c-estancia-3 {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  margin-left: -0;
  background-color: #0045c0;
  color: #fff;
  height: 100%;
  width: 85%;
  overflow: visible;
  transition: all ease-in-out 0.4s;
  -webkit-transition: all ease-in-out 0.4s;
  -moz-transition: all ease-in-out 0.4s;
  -ms-transition: all ease-in-out 0.4s;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.c-estancia-3 div {
  position: relative;
}

.c-estancia-3 span.resultado {
  background: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(4px);
  position: absolute;
  top: 0;
  left: 50%;
  width: 300px;
  height: auto;
  padding: 5px;
  transform: translate(-50%, -105%);
  -webkit-transform: translate(-50%, -105%);
  opacity: 0;
  display: none;
  transition: opacity 0.5s ease-in-out;
  -webkit-transition: opacity 0.5s ease-in-out;
  -moz-transition: opacity 0.5s ease-in-out;
  text-align: center;
}

.c-estancia-3 span.masinfo {
  text-decoration: underline;
  font-weight: bold;
  position: relative;
}

.c-estancia-3 #infopasillo:hover > .resultado {
  display: inline-block;
  opacity: 1;
}

.c-estancia-3 #infodorm:hover > .resultado {
  display: inline-block;
  opacity: 1;
}

.c-estancia-3 #infosalon:hover > .resultado {
  display: inline-block;
  opacity: 1;
}

.c-estancia-3 #infococina:hover > .resultado {
  display: inline-block;
  opacity: 1;
}

.c-estancia-3 #infoescritorio:hover > .resultado {
  display: inline-block;
  opacity: 1;
}

.c-estancia-3 #infooficina:hover > .resultado {
  display: inline-block;
  opacity: 1;
}

.c-estancia-3 #infotrabajo:hover > .resultado {
  display: inline-block;
  opacity: 1;
}

.c-estancia-3::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  margin-left: 100%;
  z-index: 99;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 400px 20px 0 0;
  border-color: #0045c0 transparent transparent transparent;
}

.c-estancia-3::after {
  color: #ffffff;
  height: 50px;
  content: "Paso 3";
  white-space: nowrap;
  display: block;
  position: absolute;
  top: 0;
  left: 100%;
  text-align: right;
  z-index: 999;
  -webkit-transform: rotate(-87deg);
  -moz-transform: rotate(-87deg);
  -o-transform: rotate(-87deg);
  -ms-transform: rotate(-87deg);
  transform: rotate(-87deg);
}

.c-estancia-3 h3 {
  text-align: center;
}

.c-estancia-4 {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  margin-left: 0;
  height: 400px;
  width: 100%;
  overflow: visible;
  transition: all ease-in-out 0.4s;
  -webkit-transition: all ease-in-out 0.4s;
  -moz-transition: all ease-in-out 0.4s;
  -ms-transition: all ease-in-out 0.4s;
}

/*********************************************
				BOTÓN VOLVER...
*********************************************/
.volver {
  /* CONTENEDOR */
  position: absolute;
  top: 0;
  left: 0;
  margin-left: calc(100% + 60px);
  margin-top: 175px;
  z-index: 999;
  width: 40px;
  height: 40px;
  font-size: 40px;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  background-color: transparent;
  text-align: center !important;
  padding: 0 !important;
  overflow: hidden;
  transition: width 0.6s ease-in-out;
  -webkit-transition: width 0.6s ease-in-out;
  -mz-transition: width 0.6s ease-in-out;
  -ms-transition: width 0.6s ease-in-out;
}

.volverbtn {
  position: absolute;
  top: 0;
  left: 0;
  margin-top: 0px;
  margin-left: 10px;
  transform: rotate(-45deg);
  padding: 0 !important;
  /* BOTON CENTRADO EN EL DIV */
}

/**********************************************************
							ESTADOS
	**********************************************************/

.closediv {
  left: 0 !important;
}

/* div cerrado (GENERAL) */
.opendiv {
  left: 200px !important;
}

/* Exandir DIV (GENERAL) */
.closefirstdiv {
  left: 0 !important;
  margin-left: -80%;
}

/* 1er Div Cerrado */
.closesecondiv {
  left: 0 !important;
  margin-left: -85%;
}

/* 2º DIV Cerrado */
.closethirdiv {
  left: 0 !important;
  margin-left: -90%;
}

/* 3er DIV Cerrado */
.collapsediv1 {
  margin-left: -820px;
}

.collapsediv2 {
  margin-left: -760px;
}

.collapsediv3 {
  margin-left: -700px;
}

.hidden {
  width: 0 !important;
}

/* DIV ESCONDIDO (ANCHO 0) */
.fondoblanco {
  background: #ffffff !important;
}

/*************************************************************
						ESTILOS FORMULARIO
	**************************************************************/

.formcontainer {
  /* CONTENEDOR */
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  width: 90%;
  height: auto;
  border: none;
  font: normal 16px/1 "Trebuchet MS", Helvetica, sans-serif;
  color: rgba(255, 255, 255, 1);
  text-align: center;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
}

.formcontainer input {
  display: inline-block;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  padding: 10px 20px;
  margin: 4px;
  border: 1px solid #b7b7b7;
  -webkit-border-radius: 9px;
  border-radius: 9px;
  font: normal 16px / normal Tahoma, Geneva, sans-serif;
  color: rgba(0, 142, 198, 1);
  -o-text-overflow: clip;
  text-overflow: clip;
  background: rgba(252, 252, 252, 1);
  text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.66);
  -webkit-transition: all 200ms cubic-bezier(0.42, 0, 0.58, 1);
  -moz-transition: all 200ms cubic-bezier(0.42, 0, 0.58, 1);
  -o-transition: all 200ms cubic-bezier(0.42, 0, 0.58, 1);
  transition: all 200ms cubic-bezier(0.42, 0, 0.58, 1);
}

.formcontainer select {
  display: inline-block;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  padding: 10px 20px;
  margin: 4px;
  border: 1px solid #b7b7b7;
  -webkit-border-radius: 9px;
  border-radius: 9px;
  font: normal 16px / normal Tahoma, Geneva, sans-serif;
  color: rgba(0, 142, 198, 1);
  -o-text-overflow: clip;
  text-overflow: clip;
  background: rgba(252, 252, 252, 1);
  text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.66);
  -webkit-transition: all 200ms cubic-bezier(0.42, 0, 0.58, 1);
  -moz-transition: all 200ms cubic-bezier(0.42, 0, 0.58, 1);
  -o-transition: all 200ms cubic-bezier(0.42, 0, 0.58, 1);
  transition: all 200ms cubic-bezier(0.42, 0, 0.58, 1);
}

.formcontainer p.submit input {
  background-color: #ffffff;
  border: solid 1px #a9a9a9;
  font-size: 16px;
  color: #000000;
  font-weight: bold;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-right: 25px;
  padding-left: 25px;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  border-radius: 10px;
}

.formcontainer.form p.submit {
  margin-top: 0px;
  margin-bottom: 0px;
  text-align: left;
}

/*****************************************************
						RESULTADOS						
	******************************************************/
#resultado {
  text-align: center;
  position: relative;
  float: none;
  margin: 20px auto 0 auto;
  width: 50%;
  height: auto;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  align-content: center;
}

#resultado > div {
  width: calc(100% / 3);
  display: inline-block;
  vertical-align: top;
  border: 1px solid white;
  text-align: center;
  margin: 2%;
  padding: 20px;
}

#resultado > div input {
  width: 90%;
  position: relative;
  display: block;
  float: left;
  font-size: 1.6em;
  font-weight: normal;
  text-align: right;
  cursor: no-drop;
}

#resultado > div label {
  font-weight: bold;
  color: #000;
  font-size: 0.8em;
}

#resultado > div label .hlp {
  cursor: help;
}

.c-estancia-4 h1 {
  font-size: 2.5em;
  font-weight: bold;
  color: #fff;
  display: block;
  position: relative;
  text-align: center;
}

/*****************************************************
						LISTAS
	*******************************************************
#menu1 {position:absolute;top:0;right:0; list-style-type: none;font-weight:300;font-size:1.3em;color:#FFF;margin-right:60px;margin-top:40px}
#menu1 li.listheader {background:#FFF;color:#00338e;margin:4px auto 4px auto !important;font-weight:bold;}
ul.product-list {display:block;position:relative;float:right;margin-right:5%;list-style-type: none;color:#00338e;font-size:1.4em;width:90%;}
ul.product-list li {display:block;margin:5px auto 5px auto;padding:5px;border:solid 1px #00338e;height:60px;}
ul.product-list li .fa-image {font-size:1.6em;vertical-align: middle;display:inline-block;margin-left:5px;margin-bottom:4px}
ul.product-list li .zoom:hover {color:rgba(186,212,5,1.00)}
ul.product-list li div {display:block;float:left;margin:-28px 0 0 5px;font-size:1em;line-height:1px;background:#ff00}
ul.product-list li img {width:50px;height:auto;display:block;float:right;margin-left: 5px;padding:6px;background:rgba(0,0,0,0.3);}
ul.product-list li a {line-height:60px;display:block;vertical-align:middle;float:left;}
ul.product-list li a:link, ul.product-list li a:visited {color:#00338e; text-decoration:none;}
ul.product-list li a:hover, ul.product-list li a:focus {color:rgba(186,212,5,1);}
ul.product-list li div > div {display:block;float:left;width:10px;height:10px;margin:3px;}
ul.product-list li div img{width:10px;height:10px;background:none transparent;}


	/*************************************************
					ESTILOS TEXTO
	*************************************************/

.c-estancia-3 p {
  font-size: 1.6em;
  color: #fff;
}

/********************************************************************
**********************BOTON ENVIAR WHATSAPP**************************
********************************************************************/
.floating-wpp {
  display: none;
}

@media (max-width: 478px) {
  .floating-wpp {
    display: block;
    position: fixed;
    bottom: 15px;
    right: 15px;
    font-size: 14px;
    transition: bottom 0.2s;
    display: block;
    z-index: 99999;
  }
}

.floating-wpp .floating-wpp-button {
  position: relative;
  border-radius: 10%;
  filter: drop-shadow(1px 1px 4px rgba(60, 60, 60, 0.4));
  transition: box-shadow 0.2s;
  cursor: pointer;
  overflow: hidden;
}

.floating-wpp .floating-wpp-button img,
.floating-wpp .floating-wpp-button svg {
  position: absolute;
  width: 100%;
  height: auto;
  object-fit: cover;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0);
}

.floating-wpp:hover {
  bottom: 17px;
}

.floating-wpp:focus .floating-wpp-button {
  filter: drop-shadow(1px 1px 8px rgba(60, 60, 60, 0.4));
}

.floating-wpp .floating-wpp-popup {
  /*border: 2px solid white;*/
  border-radius: 6px;
  background-color: #e5ddd5;
  position: absolute;
  overflow: hidden;
  padding: 0;
  box-shadow: 1px 2px 8px rgba(60, 60, 60, 0.25);
  width: 0px;
  height: 0px;
  bottom: 0;
  opacity: 0;
  transition: bottom 0.1s ease-out, opacity 0.2s ease-out;
  transform-origin: bottom;
}

.whatactive {
  padding: 0 12px 12px 12px !important;
  width: 260px !important;
  height: auto !important;
  bottom: 82px !important;
  margin-left: -230px !important;
  opacity: 1 !important;
}

.floating-wpp .floating-wpp-popup .floating-wpp-message {
  background-color: white;
  padding: 8px;
  margin: 30px auto;
  border-radius: 0px 5px 5px 5px;
  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.15);
  opacity: 0;
  transition: opacity 0.2s;
}

.floating-wpp .floating-wpp-popup.whatactive .floating-wpp-message {
  opacity: 1;
  transition-delay: 0.2s;
}

.floating-wpp .floating-wpp-popup .floating-wpp-head {
  text-align: right;
  color: white;
  margin: 0 -15px 10px -15px;
  padding: 10px 12px;
  display: flex;
  justify-content: space-between;
  cursor: pointer;
}

.floating-wpp .floating-wpp-input-message {
  background-color: white;
  margin: 10px -15px -15px -15px;
  padding: 0 15px;
  display: flex;
  align-items: center;
}

.floating-wpp .floating-wpp-input-message textarea {
  border: 1px solid #ccc;
  border-radius: 4px;
  box-shadow: none;
  padding: 8px;
  margin: 10px 0;
  width: 100%;
  max-width: 100%;
  height: 40px;
  font-family: inherit;
  font-size: inherit;
  resize: none;
  float: left;
}

.floating-wpp .floating-wpp-btn-send {
  margin-left: 12px;
  font-size: 0;
  cursor: pointer;
  float: left;
}

.cerrarwh {
  font-size: 18px;
}

.prevproduct-price {
  color: #2fb5d2;
  display: inline-block;
}

.prevproduct-price,
.has-discount p {
  color: #f39d72;
}

.prevproduct-price {
  color: #363a42;
  display: block;
}

/* NUEVO LISTADO DE PRODUCTOS */

/*    .products.row {
    display:grid !important;


  }*/

.product-in-list {
  display: grid;
  grid-template-columns: 100%;
  grid-template-areas:
    "imagen"
    "disponibilidad"
    "etiquetas"
    "nombre"
    "precio"
    "variantes"
    "caracteristicas";
  grid-template-rows:
    minmax(min-content, max-content) minmax(20px, 1fr) minmax(20px, 1fr)
    minmax(20px, 1fr) auto minmax(20px, 1fr) minmax(40px, 1fr);
  padding: 10px;
  /*grid-template-rows:auto;*/
  position: relative;
  /*border:1px solid rgba(0,0,0,0.3);
    box-shadow: 0 0 10px -3px rgba(0,0,0,0.4);*/
  transition: box-shadow 0.2s ease-in;
}

.product-in-list:hover {
  box-shadow: 0 16px 15px -3px rgba(0, 0, 0, 0.5) !important;
}

.product-in-list--image-container {
  grid-area: imagen;
  position: relative;
  overflow: hidden;
}

.product-in-list--image-container > #flags-image {
  position: absolute;
  display: flex;
  flex-wrap: wrap;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  justify-content: flex-end;
  z-index: 2;
  transition: transform 0.3s ease;
  align-items: center;
}

.product-in-list--image-container > .medida {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 2;
  transform: translate(-5px, -5px);
  font-size: clamp(0.85rem, 1.5vw, 1.5rem);
  color: rgba(120, 120, 120, 1);
  font-weight: bold;
}

.product-in-list:hover > .product-in-list--image-container > #flags-image {
  transform: translateY(60px);
}

.product-in-list:hover
  > .product-in-list--image-container
  > img#regulable-icon {
  transform: translate(65px, -65px);
}

.product-in-list:hover
  > .product-in-list--image-container
  > img#bombilla-regulable {
  transform: translate(-65px, -65px) !important;
}

.product-in-list:hover
  > .product-in-list--image-container
  > img#garantia_ampliada {
  transform: translate(-65px, -65px);
}

.product-in-list:hover > .product-in-list--image-container > img#atex_sello {
  transform: translate(0, 65px);
}

.product-in-list:hover > .product-in-list--image-container > img#wifi_sello {
  transform: translate(0, 65px);
}

img#wifi_sello {
  transition: transform 0.3s ease;
  width: 5vw !important;
  height: auto !important;
  position: absolute;
  bottom: 0;
  left: 0;
  margin: 0 0 5px 5px;
  max-width: 60px;
}

img#regulable-icon {
  transition: transform 0.3s ease;
  width: 5vw !important;
  height: auto !important;
  position: absolute;
  top: 0;
  right: 0;
  margin: 5px 5px 0 0;
  max-width: 60px;
}

img#bombilla-regulable {
  transition: transform 0.3s ease;
  width: 5vw !important;
  height: auto !important;
  position: absolute;
  top: 0;
  left: 0;
  margin: 5px 0px 0 5px;
  max-width: 60px;
}

.product-in-list--image-container > #flags-image > img {
  flex: 0;
  width: 5vw !important;
  height: auto !important;
  margin: 0 5px;
}

img#garantia_ampliada {
  position: absolute;
  top: 0;
  left: 0;
  width: 4vw;
  max-width: 80px;
  transition: transform 0.3s ease;
}

img#atex_sello {
  position: absolute;
  bottom: 0;
  left: 0;
  max-width: 60px;
  width: 4vw;
  transition: transform 0.3s ease;
  margin: 0 0 5px 5px;
}

#serieeco {
  order: 1;
}

#waterproof {
  order: 2;
}

.product-in-list--image-container > a {
  display: block;
  width: 100%;
  height: 100%;
}

.product-in-list--image-container img {
  width: 100% !important;
  height: auto !important;
}

.product-in-list--image-container .referencia {
  margin-top: 0 !important;
}

.product-in-list--product-stock {
  grid-area: disponibilidad;
  padding: 10px 0px;
}

.product-in-list--product-stock .product-in-stock {
  font-size: 0.9em;
  font-weight: normal;
  padding: 4px 7px;
  background-color: green;
  color: white;
}

.product-in-list--product-stock .product-out-of-stock {
  font-size: 0.9em;
  font-weight: normal;
  padding: 4px 7px;
  background-color: orange;
  color: white;
}

.product-in-list--product-flags {
  grid-area: etiquetas;
  padding: 10px 6px;
  display: flex;
  justify-content: center;
}

.product-in-list--product-flags > span {
  margin: 0 4px;
  width: 30px;
  height: 30px;
  display: flex;
  justify-content: center;
  align-content: center;
  position: relative;
  flex: 1;
  align-items: center;
}

.product-in-list--product-flags span > img {
  max-width: 30px;
}

.product-in-list--product-flags span > .ttipbox {
  display: none;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -110%);
  -webkit-transform: translate(-50%, -110%);
  -moz-transform: translate(-50%, -110%);
  opacity: 0;
  transition: opacity 0.3s ease-out;
  -webkit-transition: opacity 0.3s ease-out;
  -moz-transition: opacity 0.3s ease-out;
  background-color: rgba(0, 0, 0, 0.7);
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  color: white;
  white-space: nowrap;
  width: auto;
  height: auto;
  padding: 10px 14px;
  bottom: auto;
}

.product-in-list--product-flags > span > .ttipbox::after {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  content: "";
  border-top: 5px solid rgba(0, 0, 0, 0.7);
  border-top-color: rgba(0, 0, 0, 0.7);
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
}

.product-in-list--product-flags > span:hover > .ttipbox {
  display: block;
  opacity: 1;
}

.product-in-list--product-name {
  grid-area: nombre;
  padding: 0 5px;
}

.product-in-list--product-name .product-name {
  /*font-size:0.85em !important;*/
  font-size: clamp(0.8rem, 1vw, 1.1rem);
  font-weight: 400 !important;
  color: #666 !important;
  margin-bottom: 0 !important;
}

.product-in-list--product-name .product-name > a {
  color: #666 !important;
}

.product-in-list--product-price {
  grid-area: precio;
  padding: 10px 5px;
}

.product-in-list--product-price .price {
  font-size: 1.7em;
  font-weight: 400;
  color: #ff3c00;
}

.product-in-list--product-features {
  grid-area: caracteristicas;
  padding: 5px 5px;
  font-size: 0.7em;
  font-weight: lighter;
  color: black;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}

.product-in-list--product-features > span {
  margin: auto 4px;
}

.product-in-list--product-features.grey {
  background-color: #eee;
}

.product-in-list--product-variants {
  grid-area: variantes;
  padding: 0px 5px 15px 5px;
}

.product-in-list--product-variants > .product_temperatures {
  width: calc(100% - 1em);
  text-align: center;
  margin-right: auto;
  float: none;
  margin-left: auto;
}

.product-in-list--product-variants > .hiddendiv {
  min-height: 20px;
}

.product-in-list--product-variants > div + div {
  display: none;
}

.product-in-list--product-variants > .availabletext {
  display: block;
  width: 100%;
  padding: 0 0.5rem;
  text-align: center;
  font-size: 0.7em;
}

.product-in-list > .quickviewwrap {
  position: absolute;
  opacity: 0;
  bottom: 0%;
  right: 0%;
  padding: 12px 14px;
  z-index: 2;
  background: #fff;
  text-align: center;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  overflow: hidden;
  -webkit-border-radius: 50%;
  transition: transform 0.01s, opacity 0.05s;
  -webkit-transition: transform 0.01s, opacity 0.05s;
  -moz-transition: transform 0.01s, opacity 0.05s;
  filter: drop-shadow(0 0 4px rgba(0, 0, 0, 0.3));
  display: flex;
  justify-content: center;
  align-items: center;
}

.quickviewwrap .material-icons {
  transform: rotate(0);
}

.product-in-list:hover > .quickviewwrap {
  opacity: 1;
  transform: rotate(0) translate(15px, 15px);
  transition: transform 0.01s, opacity 0.3s;
  -webkit-transition: transform 0.01s, opacity 0.3s;
  -moz-transition: transform 0.01s, opacity 0.3s;
}

.ui-tooltip.ui-widget {
  background: rgba(0, 0, 0, 0.8) !important;
  box-shadow: none !important;
  border: none !important;
  color: white;
  font-size: 0.8em;
  margin-top: -10px;
  padding: 6px 10px;
}

.ui-tooltip.ui-widget::before {
  content: "";
  position: absolute;
  left: 10px;
  top: 0;
  margin-top: -10px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 5px 10px 5px;
  border-color: transparent transparent rgba(0, 0, 0, 0.8) transparent;
  clear: both;
}

#search_filters .ui-slider .ui-slider-handle {
  width: 1.3rem !important;
  border-radius: 100vw !important;
}
#_desktop_search_filters_clear_all {
  margin: 0 0 1rem 0;
}
#_desktop_search_filters_clear_all button {
  width: 100%;
  text-align: center !important;
  padding: 0.8rem !important;
  border-radius: 0.675rem !important;
  border: 1px solid var(--bs-gray-600) !important;
}

@media (min-width: 1200px) {
}

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

@media (min-width: 480px) and (max-width: 767px) {
}

@media (max-width: 768px) {
  .category-header-wrapper {
    flex-wrap: wrap !important;
  }

  .category-header-wrapper > div:nth-of-type(1) {
    flex: 1 0 100%;
  }

  .category-header-wrapper > div:nth-of-type(2) {
    flex: 1 0 100%;
  }
  div#left-column {
    width: 98%;
    float: none;
    margin-inline: auto !important;
  }

  #search_filters_wrapper {
    position: fixed !important;
    top: 96px;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: white;
    z-index: 99 !important;
    width: 100%;
  }
  #search_filters_wrapper::after {
    display: none !important;
    content: none !important;
    width: 0 !important;
    height: 0 !important;
  }

  #category #left-column #search_filters_wrapper {
    margin-left: 0;
    margin-right: 0;
  }
  .js-search-filters-clear-all,
  #search_filters_wrapper .btn.btn-secondary.ok {
    border: 1px solid var(--bs-gray-600) !important;
    background: white;
    border-radius: 10px;
    color: rgb(51, 51, 51) !important;
  }
  #search_filters p.h6.hidden-sm-down {
    display: none !important;
  }
  #search_filters #_desktop_search_filters_clear_all {
    display: none !important;
  }
  div#search_filter_controls {
    flex-direction: row-reverse;
  }
  div#search_filter_controls #_mobile_search_filters_clear_all i {
    color: darkred;
  }
  div#search_filter_controls .ok i {
    color: green;
  }
}
div#search_filter_controls {
  margin: auto;
  text-align: center;
  padding: 2rem 0 1rem 0;
}
@media (max-width: 575px) {
  .product-in-list--image-container > #flags-image > img {
    width: 60px !important;
  }

  div#search_filter_controls {
    padding: 1rem 1.5rem 1rem 1.5rem;
    display: flex;
    gap: 0.5rem;
    justify-content: space-between;
  }
  div#search_filter_controls > #_mobile_search_filters_clear_all {
    flex: 0 0 calc(60% - 0.5rem);
  }
  div#search_filter_controls > button.ok {
    flex: 0 0 calc(40% - 0.5rem);
  }
  span#_mobile_search_filters_clear_all > button {
    width: 100%;
  }
}

#search_filters > section > p.facet-title::after {
  float: right;
  content: "\e5c5";
  font-family: "Material Symbols Outlined";
  transition: transform 0.3s ease;
}

#search_filters > section > p.facet-title[aria-expanded="true"]::after {
  transform: rotate(180deg);
}

.etiqueta-eficiencia {
  position: relative;
  float: right;
  display: flex;
  height: 28px;
  width: 56px;
  justify-content: center;
  align-content: center;
  align-items: center;
  font-size: 14px;
  text-align: center;
  position: relative;
  color: white !important;
  font-weight: bold;
  margin-right: 13px;
  text-transform: uppercase;
  margin-top: -3px;
}

.etiqueta-bg {
  background-image: url("https://www.masterled.es/themes/masterled/assets/img/energy-tag-color.svg");
  background-repeat: no-repeat;
  position: absolute;
  justify-content: center;
  align-items: center;
  align-content: center;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 2;
}

.etiqueta-inner {
  display: flex;
  position: absolute;
  justify-content: center;
  align-items: center;
  align-content: center;
  width: 100%;
  height: 100%;
  background-image: url("https://www.masterled.es/themes/masterled/assets/img/energy-tag-bg.svg");
  background-repeat: no-repeat;
  top: 0;
  left: 0;
  z-index: 3;
}

.ef-g > .etiqueta-bg {
  /*background-color:red;*/
  filter: invert(17%) sepia(93%) saturate(7499%) hue-rotate(359deg)
    brightness(115%) contrast(109%);
}

.ef-f > .etiqueta-bg {
  /*background-color:#f38d0e;*/
  filter: invert(54%) sepia(99%) saturate(1067%) hue-rotate(356deg)
    brightness(98%) contrast(93%);
}

.ef-e > .etiqueta-bg {
  /*background-color:#f4c401;*/
  filter: invert(64%) sepia(86%) saturate(526%) hue-rotate(4deg)
    brightness(101%) contrast(102%);
}

.ef-d > .etiqueta-bg {
  /*background-color: #f5f600;*/
  filter: invert(76%) sepia(67%) saturate(724%) hue-rotate(9deg)
    brightness(108%) contrast(106%);
}

.ef-c > .etiqueta-bg {
  /*background-color: #d3f701;*/
  filter: invert(91%) sepia(93%) saturate(5135%) hue-rotate(9deg)
    brightness(97%) contrast(100%);
}

.ef-b > .etiqueta-bg {
  /*background-color: #9cf00a;*/
  filter: invert(87%) sepia(36%) saturate(4094%) hue-rotate(31deg)
    brightness(108%) contrast(92%);
}

.ef-a > .etiqueta-bg {
  /* background-color: #00f301;*/
  filter: invert(66%) sepia(75%) saturate(4701%) hue-rotate(84deg)
    brightness(117%) contrast(117%);
}

.item-energia {
  margin: 0 0 1.5rem 0;
  display: flex;
}

.item-energia span:nth-of-type(2) {
  font-size: 0.8em;
}

.product-description div {
  color: #7a7a7a !important;
}

/*.products.row {
    display:grid !important;
    gap: 1rem	;
    grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr));
    justify-content: flex-start !important;
    justify-content: start !important;

  }*/

.product-in-list {
  display: grid;
  grid-template-columns: 100%;
  grid-template-areas:
    "imagen"
    "disponibilidad"
    "etiquetas"
    "nombre"
    "precio"
    "variantes"
    "reviews"
    "caracteristicas";
  grid-template-rows:
    minmax(min-content, max-content) minmax(20px, 1fr) minmax(20px, 1fr)
    minmax(20px, 1fr) auto minmax(20px, 1fr) minmax(20px, 1fr) minmax(40px, 1fr);
  padding: 10px;
  /*grid-template-rows:auto;*/
  position: relative;
  /*border:1px solid rgba(0,0,0,0.3);
    box-shadow: 0 0 10px -3px rgba(0,0,0,0.4);*/
  transition: box-shadow 0.2s ease-in;
}

.product-in-list:hover {
  box-shadow: 0 16px 15px -3px rgba(0, 0, 0, 0.5) !important;
}

.product-in-list--image-container {
  grid-area: imagen;
  position: relative;
  overflow: hidden;
}

.product-in-list--image-container > #flags-image {
  position: absolute;
  display: flex;
  flex-wrap: wrap;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  justify-content: flex-end;
  z-index: 2;
  transition: transform 0.3s ease;
  align-items: center;
}

.product-in-list--image-container > .medida {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  transform: translate(-5px, 5px);
  font-size: clamp(0.85rem, 1.5vw, 1.5rem);
  color: rgba(120, 120, 120, 1);
  font-weight: bold;
}

.product-in-list:hover > .product-in-list--image-container > #flags-image {
  transform: translateY(60px);
}

.product-in-list:hover
  > .product-in-list--image-container
  > img#regulable-icon {
  transform: translate(65px, -65px);
}

.product-in-list:hover
  > .product-in-list--image-container
  > img#bombilla-regulable {
  transform: translate(-65px, -65px) !important;
}

.product-in-list:hover
  > .product-in-list--image-container
  > img#garantia_ampliada {
  transform: translate(-65px, -65px);
}

.product-in-list:hover > .product-in-list--image-container > img#atex_sello {
  transform: translate(0, 65px);
}

.product-in-list:hover > .product-in-list--image-container > img#wifi_sello {
  transform: translate(0, 65px);
}

img#wifi_sello {
  transition: transform 0.3s ease;
  width: 5vw !important;
  height: auto !important;
  position: absolute;
  bottom: 0;
  left: 0;
  margin: 0 0 5px 5px;
  max-width: 60px;
}

img#regulable-icon {
  transition: transform 0.3s ease;
  width: 5vw !important;
  height: auto !important;
  position: absolute;
  top: 0;
  right: 0;
  margin: 5px 5px 0 0;
  max-width: 60px;
}

img#bombilla-regulable {
  transition: transform 0.3s ease;
  width: 5vw !important;
  height: auto !important;
  position: absolute;
  top: 0;
  left: 0;
  margin: 5px 0px 0 5px;
  max-width: 60px;
}

.product-in-list--image-container > #flags-image > img {
  flex: 0;
  width: 5vw !important;
  height: auto !important;
  margin: 0 5px;
}

img#garantia_ampliada {
  position: absolute;
  top: 0;
  left: 0;
  width: 4vw;
  max-width: 80px;
  transition: transform 0.3s ease;
}

img#atex_sello {
  position: absolute;
  bottom: 0;
  left: 0;
  max-width: 60px;
  width: 4vw;
  transition: transform 0.3s ease;
  margin: 0 0 5px 5px;
}

#serieeco {
  order: 1;
}

#waterproof {
  order: 2;
}

#meat {
  order: 3;
  max-width: 60px;
}

.product-in-list--image-container > a {
  display: block;
  width: 100%;
  height: 100%;
}

.product-in-list--image-container img {
  width: 100% !important;
  height: auto !important;
}

.product-in-list--image-container .referencia {
  margin-top: 0 !important;
}

.product-in-list--product-stock {
  grid-area: disponibilidad;
  padding: 10px 0px;
}

.product-in-list--product-stock .product-in-stock {
  font-size: 0.9em;
  font-weight: normal;
  padding: 4px 7px;
  background-color: green;
  color: white;
}

.product-in-list--product-stock .product-out-of-stock {
  font-size: 0.9em;
  font-weight: normal;
  padding: 4px 7px;
  background-color: orange;
  color: white;
}

.product-in-list--product-flags {
  grid-area: etiquetas;
  padding: 10px 6px;
  display: flex;
  justify-content: center;
}

.product-in-list--product-flags > span {
  margin: 0 4px;
  width: 30px;
  height: 30px;
  display: flex;
  justify-content: center;
  align-content: center;
  position: relative;
  flex: 1;
  align-items: center;
}

.product-in-list--product-flags span > img {
  max-width: 30px;
}

.product-in-list--product-flags span > .ttipbox,
.product-in-list--product-stock > span .ttipbox {
  display: none;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -110%);
  -webkit-transform: translate(-50%, -110%);
  -moz-transform: translate(-50%, -110%);
  opacity: 0;
  transition: opacity 0.3s ease-out;
  -webkit-transition: opacity 0.3s ease-out;
  -moz-transition: opacity 0.3s ease-out;
  background-color: rgba(0, 0, 0, 0.7);
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  color: white;
  white-space: nowrap;
  width: auto;
  height: auto;
  padding: 10px 14px;
  bottom: auto;
  z-index: 4;
}

.product-in-list--product-flags > span > .ttipbox::after,
.product-in-list--product-stock > span > .ttipbox::after {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  content: "";
  border-top: 5px solid rgba(0, 0, 0, 0.7);
  border-top-color: rgba(0, 0, 0, 0.7);
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
}

.product-in-list--product-flags > span:hover > .ttipbox,
.product-in-list--product-stock > span:hover > .ttipbox {
  display: block;
  opacity: 1;
}

.product-in-list--product-name {
  grid-area: nombre;
  padding: 0 5px;
}

.product-in-list--product-name .product-name {
  /*font-size:0.85em !important;*/
  font-size: clamp(0.8rem, 1vw, 1.1rem);
  font-weight: 400 !important;
  color: #666 !important;
  margin-bottom: 0 !important;
}

.product-in-list--product-name .product-name > a {
  color: #666 !important;
}

.product-in-list--product-price {
  grid-area: precio;
  padding: 10px 5px;
}

.product-in-list--product-price .price {
  font-size: 1.7em;
  font-weight: 400;
  color: #ff3c00;
}

.product-in-list--product-features {
  grid-area: caracteristicas;
  padding: 5px 5px;
  font-size: 0.7em;
  font-weight: lighter;
  color: black;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}

.product-in-list--product-features > span {
  margin: auto 4px;
}

.product-in-list--product-features.grey {
  background-color: #eee;
}

.product-in-list--product-variants {
  grid-area: variantes;
  padding: 0px 5px 15px 5px;
}

.product-in-list--product-variants > .product_temperatures {
  width: calc(100% - 1em);
  text-align: center;
  margin-right: auto;
  float: none;
  margin-left: auto;
}

.product-in-list--product-variants > .hiddendiv {
  min-height: 20px;
}

.product-in-list--product-variants > div + div {
  display: none;
}

.product-in-list--product-variants > .availabletext {
  display: block;
  width: 100%;
  padding: 0 0.5rem;
  text-align: center;
  font-size: 0.7em;
}

.product-in-list > .quickviewwrap {
  position: absolute;
  opacity: 0;
  bottom: 0%;
  right: 0%;
  padding: 12px 14px;
  z-index: 2;
  background: #fff;
  text-align: center;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  overflow: hidden;
  -webkit-border-radius: 50%;
  transition: transform 0.01s, opacity 0.05s;
  -webkit-transition: transform 0.01s, opacity 0.05s;
  -moz-transition: transform 0.01s, opacity 0.05s;
  filter: drop-shadow(0 0 4px rgba(0, 0, 0, 0.3));
  display: flex;
  justify-content: center;
  align-items: center;
}

.quickviewwrap .material-icons {
  transform: rotate(0);
}

.product-in-list:hover > .quickviewwrap {
  opacity: 1;
  transform: rotate(0) translate(15px, 15px);
  transition: transform 0.01s, opacity 0.3s;
  -webkit-transition: transform 0.01s, opacity 0.3s;
  -moz-transition: transform 0.01s, opacity 0.3s;
}

.ui-tooltip.ui-widget {
  background: rgba(0, 0, 0, 0.8) !important;
  box-shadow: none !important;
  border: none !important;
  color: white;
  font-size: 0.8em;
  margin-top: -10px;
  padding: 6px 10px;
}

.ui-tooltip.ui-widget::before {
  content: "";
  position: absolute;
  left: 10px;
  top: 0;
  margin-top: -10px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 5px 10px 5px;
  border-color: transparent transparent rgba(0, 0, 0, 0.8) transparent;
  clear: both;
}

/* OVERRIDES ESTILOS THEME */

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 200 !important;
}

/* SEARCH FILTERS */

@keyframes header-pop-in {
  0% {
  }

  100% {
    background: rgba(15, 40, 200, 0.8);
    border-bottom: 3px solid hotpink;
  }
}

/* ESTILOS DE CATEGORIA (LISTADO) NUEVO TEMPLATE */

.category-header-wrapper {
  display: flex;
  flex-wrap: nowrap;
  align-content: stretch;
  align-items: stretch;
  margin: 3rem 0;
}

@media (max-width: 575px) {
  .category-header-wrapper {
    margin: 1rem 0;
  }
}

.category-header-wrapper .category-info {
  flex: 1 33.33%;
  padding-right: 2rem;
}

.category-header-wrapper > .lista-subcategorias {
  flex: 0 1 66.66%;
  align-content: center;
  padding: 0 1.5rem;
}

.block-category .block-category-inner {
  justify-content: center;
}

h1.category-title {
  text-transform: capitalize;
  font-weight: 200;
  font-size: clamp(1.3rem, 1.1216rem + 0.732vw, 2rem);
  margin-bottom: 1rem;
}
body#new-products #main {
  margin-top: 0 !important;
}
.block-category.card.card-block:has(> #category-description) {
  margin: 0 0 2rem 0;
  padding: 1rem;
}
#category-description {
  text-align: justify;
  max-height: 4rem;
  overflow: hidden;
  position: relative;
  transition: max-height 0.2s ease-out;
}

#category-description.abierto {
  max-height: 20rem;
}

#category-description::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 1.5rem;
  bottom: 0;
  background: rgb(255, 255, 255);
  background: -moz-linear-gradient(
    0deg,
    rgba(255, 255, 255, 1) 47%,
    rgba(255, 255, 255, 0) 100%
  );
  background: -webkit-linear-gradient(
    0deg,
    rgba(255, 255, 255, 1) 47%,
    rgba(255, 255, 255, 0) 100%
  );
  background: linear-gradient(
    0deg,
    rgba(255, 255, 255, 1) 47%,
    rgba(255, 255, 255, 0) 100%
  );
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff", endColorstr="#ffffff", GradientType=1);
}

.block-category {
  min-height: unset;
}

.icon-read-more {
  width: 25px;
  height: 25px;
  aspect-ratio: 1 / 1;
  background-image: url("{$urls.img_url}chevrondoble.svg");
  background-size: 200%;
  overflow: hidden;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 50%);
  background-position: bottom center;
  cursor: pointer;
  transition: background-position 0.2s ease-out;
}

.icon-read-more.abierto {
  background-position: top center;
}

#search_filters_wrapper {
  position: sticky;
  top: 90px;
  background-color: white;
  z-index: 0;
  overflow-y: scroll;
  max-width: 98%;
  float: none;
  margin-inline: auto !important;
  max-height: calc(100vh - 90px);
}

#search_filters_wrapper::-webkit-scrollbar {
  display: none;
}

/* PRODUCT CARD 2025 */
.products.row {
  --clr-neutral-100: hsl(0, 0%, 100%);
  --clr-neutral-200: #fafafa;
  --clr-primary-400: #495057;
  --clr-primary-500: #dee2e6;
  --clr-primary-600: hsl(241, 49%, 19%);
  --fw-normal: 500;
  --fw-bold: 700;
  --fw-extra-bold: 900;
  --fs-300: 0.875rem;
  --fs-400: 1rem;
  --fs-500: 1.75rem;
  --fs-xl: 2.5rem;
  --grid-max-cols: 4;
  --grid-min-size: 280px;
  --grid-gap: 0.5rem;

  /* Cálculos */
  --grid-col-width-calc: calc(
    (100% - var(--grid-gap) * var(--grid-max-cols)) / var(--grid-max-cols)
  );

  --grid-col-minwidth-calc: max(
    100%,
    max(var(--grid-min-size), var(--grid-col-width-calc))
  );

  position: relative;
  margin: 0 auto;

  /* 👇 Safari necesita gap antes del display:grid */
  gap: var(--grid-gap);

  /* 👇 No uses la variable aquí: Safari falla con minmax(var(…)) */
  grid-template-columns: repeat(
    auto-fit,
    minmax(var(--grid-min-size), var(--grid-col-width-calc))
  );

  margin: 1rem 0;

  /* 👇 PONEMOS SIEMPRE display:grid primero (Safari bug) */
  display: grid !important;
  
  justify-content: center;
  width: 100%;

  /* flex-wrap no sirve en grid, pero no molesta */
  flex-wrap: wrap;
}

/* 👇 Container queries separadas para evitar el bug */
.products.row {
  container-type: inline-size;
  container-name: productrow;
}

/* 👇 Fallback SOLO Safari: desactivar container-type */


@media (max-width: 1400px) {
  .products.row {
    --grid-min-size: 150px;
  }
}
@media (min-width: 2000px) and (max-width: 2500px) {
  .products.row {
    --grid-max-cols: 5;
  }
}
@media (min-width: 2501px) {
  .products.row {
    --grid-max-cols: 6;
  }
}
/*.products.row > article {
  	flex: 1 1 32%;
  }*/
.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption),
.visually-hidden:not(caption) {
  position: absolute !important;
}

.visually-hidden,
.visually-hidden-focusable:not(:focus):not(:focus-within) {
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.product-responsive-card {
  display: grid;
  /*gap: clamp(1rem, 5cqi, 2rem);*/
  gap: 0;
  max-width: 400px;
  min-width: 280px;
  /*padding: clamp(1rem, 5cqi, 2rem);*/
  padding: clamp(0.6rem, 4cqi, 1.5rem);
  background-color: var(--clr-neutral-100);
  border-radius: 0.75rem;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.product-responsive-card {
  container-type: inline-size;
  container-name: product-responsive-card;
}


.product-responsive-card .tooltip {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  pointer-events: none;
  top: 0;
  left: 50%;
  transform: translate(-50%, -110%);
  padding: 0.2rem 0.45rem;
  background: rgba(0, 0, 0, 0.7);
  transition: opacity 0.3s ease-out, visibility 0.3s ease-out,
    transform 0.3s ease-out;
  border-radius: 0.475rem;
  white-space: nowrap !important;
  max-width: 400px !important;
}
.product-responsive-card .tooltip::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-top: 5px solid rgba(0, 0, 0, 0.7);
  border-top-color: rgba(0, 0, 0, 0.7);
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
}
.product-responsive-card p.tag:hover > .tooltip {
  visibility: visible;
  opacity: 1;
}

.product-responsive-card .left-column {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.product-responsive-card .left-column figure {
  aspect-ratio: 1;
  position: relative;
}
.product-responsive-card .left-column figure .seal {
  max-width: 40px;
  aspect-ratio: 1;
  position: absolute;
  bottom: 0;
  right: 0;
}
.product-responsive-card .left-column figure .seal > img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.product-responsive-card .left-column > img {
  border-radius: 0.5rem;
  max-width: 100%;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.product-responsive-card .flex-group {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.product-responsive-card .flex-group > * {
  flex: 1;
  min-width: fit-content;
  font-size: 0.9rem !important;
  padding: 0.45rem !important;
}

.product-responsive-card .flex-group > a {
  color: #444 !important;
}

.product-responsive-card img {
  max-width: 100%;
}

.product-responsive-card .tag {
  background-color: var(--clr-primary-600);
  color: var(--clr-neutral-100);
  width: fit-content;
  padding: 0.5rem 0.75rem;
  font-size: 0.825rem;
  border-radius: 100vw;
  display: inline-block;
  min-height: 1lh;
  margin-bottom: 0 !important;
}
.product-responsive-card .tag.feature {
  padding: 5px !important;
}

.product-responsive-card .button {
  cursor: pointer;
  line-height: 1.3;
  text-decoration: none;
  padding: 0.75rem;
  border: 0;
  border-radius: 0.5rem;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
}

.product-responsive-card .button > svg {
  width: 1.75rem;
}

.product-responsive-card .button-primary {
  color: var(--clr-neutral-100);
  background-color: var(--clr-primary-400);
  box-shadow: 0 0.325rem 0 var(--clr-primary-500);

  transition: box-shadow 200ms, translate 200ms;
}

.product-responsive-card .button-primary:is(:hover, :focus-visible) {
  translate: 0 -0.25rem;
  box-shadow: 0 0.575rem 0 var(--clr-primary-500);
}

.product-responsive-card .button-primary:active {
  translate: 0 0;
  box-shadow: 0 0 0 var(--clr-primary-500);
}

.product-responsive-card .button-outline {
  background: transparent;
  border: 2px solid hsl(218, 0%, 70%);
}

.product-responsive-card .button-outline.ml-add-favorite.favorito svg {
  fill: red;
}

.product-responsive-card .button-outline:is(:hover, :focus-visible) {
  border-color: var(--clr-primary-400);
  background-color: var(--clr-neutral-200);
}

.product-responsive-card > img {
  border-radius: 0.5rem;
}

.product-responsive-card .card-content {
  display: grid;
  gap: 0.2rem;
  grid-template-rows: 1fr min-content min-content min-content min-content;
}

.product-responsive-card .card-content .price > p {
  margin: 0.2rem 0 !important;
}

.product-responsive-card .card-title {
  font-size: 1.1rem;
  line-height: 1.2;
  font-weight: 500 !important;
  color: #444 !important;
  min-height: 2lh;
}

.product-responsive-card
  .card-content
  > div:nth-of-type(1)
  span:has(+ h3.card-title) {
  margin-block-start: 0.5rem;
}

.product-responsive-card .card-title:not(:first-child) {
  margin-block-start: 0rem;
}

.product-responsive-card .price-current {
  font-weight: 600;
  font-size: 2.5rem;
  letter-spacing: -2px;
  line-height: 1;
}

.product-responsive-card .price-info {
  font-size: 0.825rem;
  opacity: 0.7;
}

.product-responsive-card .price .regular_price {
  font-size: 1.3rem;
  font-weight: 400 !important;
  margin-left: 0.5rem;
  text-decoration: line-through;
  text-decoration-thickness: 1px;
  text-decoration-color: #666;
  color: #666;
}

.product-responsive-card .discount-percentage.discount-product {
  float: right;
  font-size: 1.2rem;
  font-weight: 500;
  padding: 0.5rem 0.85rem;
  background-color: #e30000;
  color: var(--clr-neutral-100);
  border-radius: 0.5rem;
  line-height: 1.3;
}

.product-responsive-card .stock-count {
  display: flex;
  align-items: center;
  gap: 0.5ch;
  font-size: 0.8rem;
  color: hsl(var(--hue, 0) 50% 50%);
}

.product-responsive-card .stock-count.enstock {
  --_stock-count: 90;
  --hue: round(up, round(up, var(--_stock-count), 9), 45);
}

.product-responsive-card .stock-count.reservar {
  --_stock-count: 45;

  --hue: round(up, round(up, var(--_stock-count), 9), 45);
}

.product-responsive-card .stock-count.agotado {
  --_stock-count: 0;

  --hue: round(up, round(up, var(--_stock-count), 9), 45);
}

.product-responsive-card .stock-count::before {
  /* 0 = red / 45 = yellow / 90 = green */
  content: "";
  width: 1cap;
  aspect-ratio: 1;
  background: hsl(var(--hue, 0) 50% 50%);
  border-radius: 50%;
}

.product-row > .fila > article {
  flex: 1 1 50%;
}

.product-responsive-card .icon-heart > path {
  stroke: black;
  fill: transparent;
}

.product-responsive-card .icon-heart.filled > path {
  stroke: red;
  fill: red;
}
.product-responsive-card .tag > img {
  width: 18px !important;
  height: 18px !important;
  object-fit: contain;
  aspec-ratio: 1;
}
@container productrow (width > 1450px) {
  .product-responsive-card {
    box-sizing: border-box;
  }
  .product-responsive-card .stock-count {
    margin-top: 0.4rem;
    margin-bottom: 0.6rem;
  }
}

@container productrow (min-width: 1112px) and (max-width: 1449px) {
  .product-responsive-card {
    box-sizing: border-box;
  }
  .product-responsive-card .stock-count {
    margin-top: 0.4rem;
    margin-bottom: 0.6rem;
  }
}
@media (max-width: 575px) {
  @container productrow (max-width:765px) {
    .product-responsive-card {
      max-width: 48%;
    }
  }
}

@container productrow (max-width:541px) {
  .product-responsive-card {
    min-width: 180px;
  }

  .product-responsive-card .button {
    line-height: 1.1;
    font-size: 0.75rem !important;
  }

  .hide-on-mobile {
    display: none !important;
  }

  .product-responsive-card .button-primary {
    box-shadow: none !important;
  }

  .product-responsive-card .stock-count {
    font-size: 0.85rem !important;
    font-weight: 500 !important;
  }

  .product-responsive-card .button > svg {
    width: 1.2rem !important;
    height: 1.5rem !important;
  }

  .product-responsive-card .flex-group > * {
    padding: 0.2rem !important;
  }

  p.stock-count + .flex-group {
    gap: 0.2rem !important;
  }

  .product-responsive-card .price p {
    margin-bottom: 0.4rem;
    margin-top: 0.6rem !important;
  }

  p.stock-count {
    font-size: 0.76rem !important;
    font-weight: 200 !important;
  }

  .flex-group .button.button-outline {
    border: 1px solid rgba(0, 0, 0, 0.2) !important;
  }

  .flex-group .button.button-outline > svg {
    max-width: 20px !important;
    max-height: 20px !important;
  }

  .product-responsive-card .card-content .tag {
    font-size: 0.8rem !important;
    display: inline-flex;
    justify-content: center;
    align-content: center;
    padding: 5px !important;
  }
  .product-responsive-card .tag > img,
  .product-responsive-card .tag > svg {
    margin: 0 !important;
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    aspect-ratio: 1;
    object-fit: contain;
  }
}

@media (max-width: 575px) {
  .product-responsive-card {
    position: relative;
  }
  .product-responsive-card .card-content .tag:has(img) {
    aspect-ratio: 1 !important;
    padding: 5px !important;
  }
  .product-responsive-card .card-content .tag:has(img) > img {
    max-width: 18px !important;
    aspect-ratio: 1 !important;
    object-fit: contain !important;
  }

  .product-responsive-card .discount-percentage.discount-product {
    font-size: 1rem;
    padding: 0.25em 0.4rem;
    letter-spacing: 0.2px;
    position: absolute;
    top: 0;
    right: 0;
  }

  .product-responsive-card .regular_price {
    font-size: 1rem !important;
  }
}

@container productrow (max-width:600px) and (min-width: 500px) {
  /*.product-responsive-card {
            grid-template-columns: 200px 1fr;
        }*/
}

@container productrow (max-width:499px) {
  .product-responsive-card,
  .product-responsive-card .card-content {
    gap: 0.1rem !important;
  }

  .product-responsive-card .price-current {
    font-size: 1.7rem !important;
    font-weight: 500;
  }

  .product-responsive-card .card-title {
    font-size: 1rem !important;
  }

  .product-responsive-card .card-title + span {
    display: none !important;
  }

  .product-responsive-card .variante {
    display: none !important;
  }
}
@media (max-width: 575px) {
  .product-responsive-card .card-title {
    min-height: 3lh;
    height: 3lh;
    text-overflow: ellipsis;
    overflow: hidden;
    font-size: 0.9rem !important;
  }
}

.variante {
  display: flex;
  flex-wrap: wrap;
  padding: 1rem 0;
  gap: 0.47rem;
  justify-content: center;
}

.variante_color {
  border-radius: 100vw;
  border: 2px solid rgba(0, 0, 0, 0.2);
  padding: 2px;
  height: 20px;
  width: 20px;
  position: relative;
  overflow: hidden;
  display: inline-block;
}

.variante_color > span {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 100vw;
  text-indent: -9999px;
}

.variante_color > .c21 {
  background: #fafafa;
  /* Light gray */
}

.variante_color > .c25 {
  background: #ffed65;
  /* Yellow */
}

.variante_color > .c26 {
  background: rgb(251, 63, 63);
  background: linear-gradient(
    90deg,
    rgba(255, 0, 0, 1) 0%,
    rgba(255, 154, 0, 1) 10%,
    rgba(208, 222, 33, 1) 20%,
    rgba(79, 220, 74, 1) 30%,
    rgba(63, 218, 216, 1) 40%,
    rgba(47, 201, 226, 1) 50%,
    rgba(28, 127, 238, 1) 60%,
    rgba(95, 21, 242, 1) 70%,
    rgba(186, 12, 248, 1) 80%,
    rgba(251, 7, 217, 1) 90%,
    rgba(255, 0, 0, 1) 100%
  );
  /* Rainbow gradient */
}

.variante_color > .c70 {
  background: blue;
  /* Blue */
}

.variante_color > .c86 {
  background: #fff9ae;
  /* Pale yellow */
}

.variante_color > .c87 {
  background: red;
  /* Red */
}

.variante_color > .c88 {
  background: green;
  /* Green */
}

.variante_color > .c92 {
  background: pink;
  /* Pink */
}

.variante_color > .c104 {
  background: rgb(251, 63, 63);
  background: linear-gradient(
    90deg,
    rgba(255, 0, 0, 1) 0%,
    rgba(255, 154, 0, 1) 10%,
    rgba(208, 222, 33, 1) 20%,
    rgba(79, 220, 74, 1) 30%,
    rgba(63, 218, 216, 1) 40%,
    rgba(47, 201, 226, 1) 50%,
    rgba(28, 127, 238, 1) 60%,
    rgba(95, 21, 242, 1) 70%,
    rgba(186, 12, 248, 1) 80%,
    rgba(251, 7, 217, 1) 90%,
    rgba(255, 0, 0, 1) 100%
  );
}

.variante_color > .c120 {
  background: rgb(250, 250, 250);
  background: -moz-linear-gradient(
    90deg,
    rgba(250, 250, 250, 1) 0%,
    rgba(250, 250, 250, 1) 25%,
    rgba(255, 255, 213, 1) 26%,
    rgba(255, 255, 213, 1) 66%,
    rgba(215, 217, 255, 1) 67%
  );
  background: -webkit-linear-gradient(
    90deg,
    rgba(250, 250, 250, 1) 0%,
    rgba(250, 250, 250, 1) 25%,
    rgba(255, 255, 213, 1) 26%,
    rgba(255, 255, 213, 1) 66%,
    rgba(215, 217, 255, 1) 67%
  );
  background: linear-gradient(
    90deg,
    rgba(250, 250, 250, 1) 0%,
    rgba(250, 250, 250, 1) 25%,
    rgba(255, 255, 213, 1) 26%,
    rgba(255, 255, 213, 1) 66%,
    rgba(215, 217, 255, 1) 67%
  );
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#fafafa", endColorstr="#d7d9ff", GradientType=1);
}

.variante_color > .c139 {
  background: orange;
}

.variante_color > .c158 {
  background: rgb(251, 63, 63);
  background: linear-gradient(
    90deg,
    rgba(255, 0, 0, 1) 0%,
    rgba(255, 154, 0, 1) 10%,
    rgba(208, 222, 33, 1) 20%,
    rgba(79, 220, 74, 1) 30%,
    rgba(63, 218, 216, 1) 40%,
    rgba(47, 201, 226, 1) 50%,
    rgba(28, 127, 238, 1) 60%,
    rgba(95, 21, 242, 1) 70%,
    rgba(186, 12, 248, 1) 80%,
    rgba(251, 7, 217, 1) 90%,
    rgba(255, 0, 0, 1) 100%
  );
}

.variante_color > .c164 {
  background: #d243ff;
}

/* QUICKVIEW */

.quickview .modal-header {
  padding: 0.3rem;
  border-bottom: none !important;
  height: 2rem;
}

.quickview .modal-footer {
  border-top: none !important;
  padding: 0;
}

.quickview .product-variants .input-container {
  font-size: 0.9rem !important;
}

/* OVERRIDE COMPORTAMIENTOS BOOTSTRAP */

.collapse {
  display: none !important;
}

.collapse.in {
  display: block !important;
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="url"],
textarea {
  line-height: 1.6 !important;
  padding: 0.5rem 1.25rem !important;
  border-radius: 0.5rem !important;
  border: 1px solid var(--bs-gray-200) !important;
  outline: 0;
}

.sbSearchWrapper > input[type="search"] {
  padding-left: 2.5rem !important;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
textarea:focus {
  border-color: var(--bs-gray-400) !important;
  outline: 0 !important;
  box-shadow: none !important;
}

.sbHeaderButton svg {
  color: var(--bs-gray-500) !important;
}

.sbMobileCloseHeaderButton.sbInputOutlined svg {
  color: var(--bs-gray-500) !important;
}

.alert:has(span:empty) {
  display: none;
}

body:has(#main-menu-wrapper.active),
body:has(#authentication-modal.shown),
body:has(#contact-modal.shown) {
  max-height: 100dvh;
  overflow: hidden;
}

/* MODALES AUTENTIFICACION Y CONTACTO MOBILE */
#auth-login.login-container {
  background: white;
  padding: 1rem;
  width: 100%;
}
#auth-login:not(.elementshown).login-container {
  margin:0;
  padding: 0 0 1rem 0;
}
#auth-register .login-
#authentication-modal .element .login-title {
  font-size: 24px;
  font-weight: 600;
  color: #333;
  margin-bottom: 8px;
  text-align: center;
}

#authentication-modal .element .login-subtitle {
  color: #666;
  font-size: 14px;
  text-align: center;
  margin-bottom: 1.5rem;
}

#authentication-modal .element .form-group {
  margin-bottom: 1.2rem;
  position: relative;
}

#authentication-modal .element .form-label {
  position: absolute;
  left: 16px;
  top: 14px;
  font-size: 16px;
  font-weight: 400;
  color: #999;
  pointer-events: none;
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  transform-origin: left top;
  z-index: 2;
}

#authentication-modal .element .form-input {
  width: 100% !important;
  padding: 1rem 0.8rem 0.4rem 0.8rem !important;
  border: none !important;
  border-bottom: 2px solid #e1e5e9 !important;
  background: linear-gradient(145deg, #ffffff 0%, #f8f9fa 100%) !important;
  border-radius: 12px 12px 0 0 !important;
  font-size: 1rem !important;
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
}

#authentication-modal .element .form-input:focus {
  outline: none !important;
  border-bottom-color: #1e5099 !important;
  box-shadow: 0 4px 16px rgba(30, 80, 153, 0.12), 0 2px 8px rgba(0, 0, 0, 0.08) !important;
  transform: translateY(-2px) !important;
}

#authentication-modal .element .form-input:focus + .form-label,
#authentication-modal
  .element
  .form-input:not(:placeholder-shown)
  + .form-label {
  transform: translateY(-27px) scale(0.85);
  color: #ccc;
  font-weight: 500;
  text-shadow: 0px 0px 2px white;
}

#authentication-modal .element .form-input::placeholder {
  color: transparent;
}

#authentication-modal .element .password-container {
  position: relative;
}

#authentication-modal .element .toggle-password {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: #999;
  cursor: pointer;
  transition: all 0.2s ease;
  z-index: 3;
  width: 1rem;
  height: 1rem;
}

.toggle-password > span {
  font-size: 1.2rem !important;
}

#authentication-modal .element .toggle-password > span {
  font-size: 1rem !important;
}

#authentication-modal .element .toggle-password > span:nth-of-type(2) {
  display: none;
}

#authentication-modal
  .element
  .toggle-password.visual_on
  > span:nth-of-type(2) {
  display: block;
}

#authentication-modal
  .element
  .toggle-password.visual_on
  > span:nth-of-type(1) {
  display: none;
}

@media (hover: hover) {
  #authentication-modal .element .toggle-password:hover {
    color: #1e5099;
    transform: scale(1.1);
  }
}

#authentication-modal .element .form-options {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
  font-size: 14px;
  text-align: center;
}

#authentication-modal .element .remember-me {
  display: flex;
  align-items: center;
  gap: 8px;
}

#authentication-modal .element .remember-me input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: #1e5099;
}

#authentication-modal .element .forgot-password {
  color: #333;
  text-decoration: none;
  font-weight: 500;
  flex: 1 0 100%;
}

#authentication-modal .element .forgot-password:hover {
  text-decoration: underline;
}

#authentication-modal .element .login-button {
  width: 100%;
  background-color: #1e5099;
  color: white;
  border: none;
  padding: 0.7rem 0.9rem;
  border-radius: 0.5rem;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.3s ease, transform 0.1s ease;
  margin-bottom: 1.2rem;
}

#authentication-modal .element .login-button:hover {
  background-color: #164080;
}

#authentication-modal .element .login-button:active {
  transform: translateY(1px);
}

#authentication-modal .element .login-button:disabled {
  background-color: #ccc;
  cursor: not-allowed;
  transform: none;
}
#authentication-modal .element .signup-link {
  text-align: center;
  font-size: 14px;
  color: #666;
}

#authentication-modal .element .signup-link a {
  color: #1e5099;
  text-decoration: none;
  font-weight: 600;
}

#authentication-modal .element .signup-link a:hover {
  text-decoration: underline;
}

#authentication-modal .element .error-message {
  background-color: #fee;
  color: #c33;
  padding: 12px;
  border-radius: 6px;
  font-size: 14px;
  margin-bottom: 20px;
  border-left: 4px solid #c33;
}

@media (max-width: 480px) {
  #authentication-modal .element .login-container {
    padding: 24px;
    margin: 16px;
  }

  #authentication-modal .element .logo {
    font-size: 24px;
  }

  #authentication-modal .element .login-title {
    font-size: 20px;
  }
}

.social-login-link {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  width: 90%;
  border-radius: 0.325rem;
  border: 1px solid rgba(0, 0, 0, 0.2);
  align-items: center;
  padding: 0.7rem;
  float: none;
  margin: 0.5rem auto;
  gap: 0.6rem;
  background-color: white !important;
  font-size: 0.9rem !important;
  color: #333 !important;
}

.social-login-link > svg {
  max-width: 20px !important;
  max-height: 20px !important;
}

span.accede_text {
  display: none;
}

span.registra_text {
  display: none;
}

.auth-modal-content:has(.auth-list-header > ul > li#auth-login-tab.tab-active)
  > .auth-extra
  > span
  > span.accede_text {
  display: inline !important;
}

.auth-modal-content:has(
    .auth-list-header > ul > li#auth-register-tab.tab-active
  )
  > .auth-extra
  > span
  > span.registra_text {
  display: inline !important;
}

/* BANNERS MENU PRINCIPAL */

.banner-topmenu {
  width: 100%;
  max-width: 500px;
  height: 240px;
  border-radius: 0.5rem;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
}

@media (hover: hover) {
  .banner-topmenu:not(.banner-topmenu_masterpro):hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
  }
}

/* Banner Outlet */
.banner-topmenu_ofertas {
  background: linear-gradient(135deg, #bf0214 50%, #ff2400 100%);
  position: relative;
}

.banner-topmenu_outlet::before {
  content: "";
  position: absolute;
  top: -50%;
  right: -20%;
  width: 300px;
  height: 300px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  animation: float 6s ease-in-out infinite;
}

.banner-topmenu_outlet::after {
  content: "";
  position: absolute;
  bottom: -30%;
  left: -10%;
  width: 200px;
  height: 200px;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 50%;
  animation: float 8s ease-in-out infinite reverse;
}

/* Banner Ofertas */
.banner-topmenu_outlet {
  background: linear-gradient(135deg, #ffb71b 50%, #ffdd00 100%);
  position: relative;
}

.banner-topmenu.banner-topmenu_outlet > * {
  color: black !important;
}

.banner-topmenu_ofertas::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Ccircle cx='30' cy='30' r='4'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")
    repeat;
  animation: pattern-move 20s linear infinite;
}

.banner-topmenu__content {
  position: relative;
  z-index: 2;
  padding: 30px;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: white;
}

.banner-topmenu__subtitle {
  font-size: 14px;
  font-weight: 500;
  opacity: 0.9;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 8px;
  animation: slideInUp 0.8s ease-out 0.2s both;
}

.banner-topmenu__title {
  font-size: 42px;
  font-weight: 700;
  line-height: 0.9;
  margin-bottom: 12px;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
  animation: slideInUp 0.8s ease-out 0.4s both;
}

.banner-topmenu__description {
  font-size: 16px;
  font-weight: 400;
  opacity: 0.95;
  line-height: 1.4;
  margin-bottom: 20px;
  animation: slideInUp 0.8s ease-out 0.6s both;
}

.banner-topmenu__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  color: #ffdd00;
  background: rgba(255, 255, 255, 0.2);
  padding: 12px 20px;
  border-radius: 50px;
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.3);
  transition: all 0.3s ease;
  width: fit-content;
  animation: slideInUp 0.8s ease-out 0.8s both;
}

.banner-topmenu__cta:hover {
  background: rgba(255, 255, 255, 0.3);
  transform: translateX(5px);
}

.banner-topmenu__cta::after {
  content: "→";
  font-size: 16px;
  transition: transform 0.3s ease;
}

.banner-topmenu__cta:hover::after {
  transform: translateX(3px);
}

/* Ofertas específico */
.banner-topmenu_outlet .banner-topmenu__title {
  background: linear-gradient(45deg, #000, #000);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Animaciones */
@keyframes float {
  0%,
  100% {
    transform: translateY(0px) rotate(0deg);
  }

  50% {
    transform: translateY(-20px) rotate(10deg);
  }
}

@keyframes pattern-move {
  0% {
    transform: translate(0, 0);
  }

  100% {
    transform: translate(60px, 60px);
  }
}
@keyframes slideInUp {
  from {
    opacity: 1;
  }
  to {
    opacity: 1;
  }
}
@media (min-width: 768px) {
  @keyframes slideInUp {
    from {
      opacity: 0;
      transform: translateY(30px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
}

/* Responsive */
@media (max-width: 575px) {
  .mobile_icons {
    padding: 1rem;
    width: 100%;
    float: none;
    margin-top: 1rem;
    flex: 0 100%;
    margin-bottom: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }

  .mobile_icons > div {
    margin: 0 !important;
  }

  .banner-topmenu {
    height: 220px;
  }

  .banner-topmenu__content {
    padding: 25px;
  }

  .banner-topmenu__title {
    font-size: 36px;
  }

  .banner-topmenu__description {
    font-size: 15px;
  }
}

/* Efectos adicionales */
.banner-topmenu_outlet {
  position: relative;
}

.banner-topmenu_outlet .banner-topmenu__sparkle {
  position: absolute;
  width: 4px;
  height: 4px;
  background: white;
  border-radius: 50%;
  opacity: 0;
  animation: sparkle 3s infinite;
}

.banner-topmenu_outlet .banner-topmenu__sparkle:nth-child(1) {
  top: 20%;
  left: 20%;
  animation-delay: 0s;
}

.banner-topmenu_outlet .banner-topmenu__sparkle:nth-child(2) {
  top: 60%;
  left: 80%;
  animation-delay: 1s;
}

.banner-topmenu_outlet .banner-topmenu__sparkle:nth-child(3) {
  top: 80%;
  left: 30%;
  animation-delay: 2s;
}

@keyframes sparkle {
  0%,
  100% {
    opacity: 0;
    transform: scale(0);
  }

  50% {
    opacity: 1;
    transform: scale(1);
  }
}

.demo-title {
  text-align: center;
  color: #333;
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 10px;
}

.demo-subtitle {
  text-align: center;
  color: #666;
  font-size: 16px;
  margin-bottom: 20px;
}

.hero-grid-2.banner-topmenu_masterpro {
  height: unset;
  flex-direction: column;
  justify-content: flex-start;
}
.hero-grid-2.banner-topmenu_masterpro .banner-topmenu__content {
  height: 100% !important;
  justify-content: space-between !important;
}

.banner-topmenu_masterpro {
  width: 100%;
  max-width: 1660px;
  border-radius: 20px;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
}

.banner-topmenu_masterpro {
  background: linear-gradient(135deg, #111 50%, #333 100%);
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.banner-topmenu_masterpro::before {
  content: "";
  position: absolute;
  top: -50%;
  right: -20%;
  width: 300px;
  height: 300px;
  background: rgba(0, 0, 0, 0.1);
  border-radius: 50%;
  animation: float 6s ease-in-out infinite;
}

.banner-topmenu_masterpro::after {
  content: "";
  position: absolute;
  bottom: -30%;
  left: -10%;
  width: 200px;
  height: 200px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  animation: float 8s ease-in-out infinite reverse;
}

.banner-topmenu__content {
  position: relative;
  z-index: 2;
  padding: 50px;
  height: max-content;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  color: white;
  max-height: 90%;
  gap: 0;
}

.hero-grid-2.banner-topmenu_masterpro .banner-topmenu__content {
  padding: 0;
}

.banner-topmenu__content > div {
  margin-bottom: 0 !important;
}

.banner-topmenu__brand {
  margin-bottom: es;
  animation: slideInUp 0.8s ease-out 0.2s both;
  max-height: 100%;
  margin-block: 1rem;
}

.banner-topmenu__brand-name {
  font-size: 3.5rem;
  font-weight: 300;
  color: white;
  letter-spacing: 1px;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}

.banner-topmenu__brand-pro {
  font-size: 3.4rem;
  font-weight: 700;
  color: white;
  letter-spacing: 1px;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 50px;
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.3);
  margin-left: 0.5rem;
  padding: 0.1rem 0.6rem;
}

.banner-topmenu__subtitle {
  font-size: 18px;
  font-weight: 500;
  opacity: 0.9;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 12px;
  animation: slideInUp 0.8s ease-out 0.4s both;
  flex: 0 1 auto;
}

.banner-topmenu__description {
  font-size: 20px;
  font-weight: 400;
  opacity: 0.95;
  line-height: 1.4;
  margin-bottom: 1rem;
  max-width: 480px;
  animation: slideInUp 0.8s ease-out 0.6s both;
}

.banner-topmenu__cta {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  color: white;
  background: rgba(255, 255, 255, 0.2);
  padding: 16px 28px;
  border-radius: 50px;
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.3);
  transition: all 0.3s ease;
  width: fit-content;
  animation: slideInUp 0.8s ease-out 0.8s both;
  margin-block: 1rem;
}

.banner-topmenu_masterpro .banner-topmenu__cta {
  color: #ffdd00;
}

.banner-topmenu__cta:hover {
  background: rgba(255, 255, 255, 0.3);
  color: #ffdd00 !important;
  transform: translateX(5px);
}

.banner-topmenu__cta::after {
  content: "→";
  font-size: 1.1rem;
  transition: transform 0.3s ease;
}

.banner-topmenu__cta:hover::after {
  transform: translateX(3px);
}

.banner-topmenu__features {
  z-index: 1;
  animation: slideInUp 0.8s ease-out 1s both;
}

.hero-grid-2.banner-topmenu_masterpro .banner-topmenu__feature {
  margin-bottom: 0;
}

@media (min-width: 768px) {
  .banner-topmenu__features {
    margin-right: 1rem;
  }
}

.banner-topmenu__feature {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
  color: white;
  font-size: 16px;
  font-weight: 500;
  opacity: 0.9;
}

.banner-topmenu__feature:last-child {
  margin-bottom: 0;
}

.banner-topmenu__feature::before {
  content: "•";
  color: #ccc;
  font-size: 18px;
  font-weight: bold;
}

.banner-topmenu__subtitle {
  font-size: clamp(0.8rem, 0.29rem + 1.5vw, 1.1rem);
}

.banner-topmenu__content > .banner-topmenu__brand > * {
  font-size: clamp(1.5rem, -3.4727rem + 7.5455vw, 3rem);
}

.banner-topmenu__content > .banner-topmenu__description {
  font-size: clamp(0.8rem, 0.3955rem + 1.6783vw, 1.2rem);
}

/* Animaciones */
@keyframes float {
  0%,
  100% {
    transform: translateY(0px) rotate(0deg);
  }

  50% {
    transform: translateY(-20px) rotate(10deg);
  }
}

@keyframes slideInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 767px) {
  .banner-topmenu__subtitle {
    font-size: clamp(0.8rem, 0.29rem + 1.1vw, 1.1rem);
  }

  .banner-topmenu__content > .banner-topmenu__brand > * {
    font-size: clamp(1.5rem, -3.4727rem + 14.5455vw, 3.5rem);
  }

  .banner-topmenu__content > .banner-topmenu__description {
    font-size: clamp(0.8rem, 0.3955rem + 1.6783vw, 1.2rem);
  }

  .banner-topmenu__cta {
    font-size: 0.9rem;
    padding: 0.6rem 0.9rem;
  }

  .banner-topmenu__features > * {
    font-size: 0.9rem;
  }
}

/* Responsive */
@media (max-width: 480px) {
  .banner-topmenu_masterpro {
    height: 220px;
  }

  .banner-topmenu__content {
    gap: 0.5rem;
  }

  .banner-topmenu__content > div {
    margin: 0 !important;
  }

  .banner-topmenu__content {
    padding: 1rem;
    max-height: 90%;
    flex: 0 0 90%;
  }

  .banner-topmenu__brand-name,
  .banner-topmenu__brand-pro {
    font-size: 36px;
  }

  .banner-topmenu__subtitle {
    font-size: 0.8rem;
    margin-bottom: 0;
  }

  .banner-topmenu__features {
    display: none;
  }

  .banner-topmenu__feature {
    font-size: 10px;
  }

  .banner-topmenu__description {
    font-size: 0.8rem;
    margin-bottom: 0;
  }

  .banner-topmenu__cta {
    font-size: 0.8rem;
    margin-bottom: 0 !important;
    padding: 0.5rem 0.8rem;
  }
}

/* Efectos adicionales - sparkles */
.banner-topmenu_masterpro .banner-topmenu__sparkle {
  position: absolute;
  width: 4px;
  height: 4px;
  background: white;
  border-radius: 50%;
  opacity: 0;
  animation: sparkle 3s infinite;
}

.banner-topmenu_masterpro .banner-topmenu__sparkle:nth-child(1) {
  top: 20%;
  left: 20%;
  animation-delay: 0s;
}

.banner-topmenu_masterpro .banner-topmenu__sparkle:nth-child(2) {
  top: 60%;
  left: 80%;
  animation-delay: 1s;
}

.banner-topmenu_masterpro .banner-topmenu__sparkle:nth-child(3) {
  top: 80%;
  left: 30%;
  animation-delay: 2s;
}

@keyframes sparkle {
  0%,
  100% {
    opacity: 0;
    transform: scale(0);
  }

  50% {
    opacity: 1;
    transform: scale(1);
  }
}

/* LOGIN */

.bg-shape {
  position: absolute;
  border-radius: 50%;
  opacity: 0.1;
  animation: float 6s ease-in-out infinite;
}

.bg-shape:nth-child(1) {
  width: 380px;
  height: 380px;
  background: #ffdd00;
  top: 10%;
  left: 20%;
  animation-delay: 0s;
}

.bg-shape:nth-child(2) {
  width: 120px;
  height: 120px;
  background: #00468e;
  top: 70%;
  right: 20%;
  animation-delay: 2s;
}

.bg-shape:nth-child(3) {
  width: 60px;
  height: 60px;
  background: #ffdd00;
  bottom: 20%;
  left: 10%;
  animation-delay: 4s;
}

@keyframes float {
  0%,
  100% {
    transform: translateY(0px) rotate(0deg);
  }

  50% {
    transform: translateY(-70px) rotate(180deg);
  }
}

.login-container {
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(20px);
  border-radius: 1rem;
  padding: 3rem;
  width: 100%;
  position: relative;
}
#authentication .login-container {
  box-shadow: 0 7px 15px rgba(0, 0, 0, 0.1);
  max-width: 1220px;
  border: 1px solid rgba(255, 255, 255, 0.2);

}

.login-inner-container {
  max-width: 500px;
  margin: 0 auto;
  float: none;
}

@keyframes slideIn {
  from {
    opacity: 0;
    transform: translateY(30px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.login-container .subtitle {
  color: #666;
  font-size: 16px;
  margin-bottom: 10px;
  text-align: center;
}
#authentication-modal .logo-section {
  padding:1rem;
  display: flex;
  justify-content: space-around;
  
  & span {
    font-size: 1.5rem;
    font-weight: 200;
    color: #999;
    padding-bottom:0.5rem;
    transition:all 0.3s ease;
    position: relative;
    display:block;
    cursor: pointer;
    flex:0 0 50% !important;
    text-align: center;

  }
  & span.underlined {
    color:#000 !important;
  }
  & span::before {
    content:'';
    display:block;
    position: absolute;
    bottom:0;
    left:0;
    height:2px;
    background: #4285f4;
    width:100%;
    transition:transform 0.3s ease;
    transform:scaleX(0);


  }
  
  & span.underlined::before {
    transform:scaleX(1);
  }
}


.login-container .warranty-text {
  color: #888;
  font-size: 12px;
  margin-bottom: 20px;
}

.login-container .form-group {
  margin-bottom: 25px;
  position: relative;
}

.login-container .form-group label {
  display: block;
  margin-bottom: 8px;
  color: #333;
  font-weight: 500;
  font-size: 14px;
}

.login-container .input-container {
  position: relative;
}

.login-container .form-group input {
  width: 100%;
  padding: 15px 20px 15px 50px !important;
  border: 2px solid #e1e5e9;
  border-radius: 12px;
  font-size: 16px;
  transition: all 0.3s ease;
  background: #f8f9fa;
}

.login-container .form-group input:focus {
  outline: none;
  border-color: #4285f4;
  background: white;
  box-shadow: 0 0 0 3px rgba(66, 133, 244, 0.1);
}

.login-container .input-icon {
  position: absolute;
  left: 18px;
  top: 50%;
  transform: translateY(-50%);
  color: #999;
  font-size: 16px;
  transition: all 0.3s ease;
}

.login-container .form-group input:focus + .input-icon {
  color: #4285f4;
}

.login-container .login-options {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 25px;
  font-size: 14px;
}

.login-container .remember-me {
  display: flex;
  align-items: center;
  gap: 8px;
}

.login-container .remember-me input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: #4285f4;
}

.login-container .forgot-password {
  color: #4285f4;
  text-decoration: none;
  font-weight: 500;
  transition: all 0.3s ease;
}

.login-container .forgot-password:hover {
  color: #3367d6;
  text-decoration: underline;
}

.login-container .continue-btn {
  width: 100%;
  padding: 15px;
  background: linear-gradient(45deg, #4285f4, var(--bs-primary));
  color: white;
  border: none;
  border-radius: 12px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  display: flex;
  gap: 1.5rem;
  justify-content: center;
  align-items: center;
}

.continue-btn > span,
.continue-btn .material-symbols-outlined {
  vertical-align: middle;
}

.login-container .continue-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(66, 133, 244, 0.3);
}

.login-container .continue-btn:active {
  transform: translateY(0);
}

.login-container .divider {
  display: flex;
  align-items: center;
  margin: 30px 0;
  color: #999;
  font-size: 14px;
}

.login-container .divider::before,
.login-container .divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #e1e5e9;
}

.login-container .divider span {
  padding: 0 20px;
}

.login-container .register-section {
  text-align: center;
  padding: 20px;
  background: #f8f9fa;
  border-radius: 12px;
  margin-top: 20px;
}

.login-container .register-text {
  color: #666;
  margin-bottom: 15px;
}

.login-container .register-btn {
  color: #4285f4;
  text-decoration: none;
  font-weight: 600;
  padding: 10px 20px;
  border: 2px solid #4285f4;
  border-radius: 8px;
  display: inline-block;
  transition: all 0.3s ease;
}

.login-container .register-btn:hover {
  background: #4285f4;
  color: white;
  transform: translateY(-1px);
}

.login-container .social-login {
  margin-top: 20px;
}

.login-container .social-btn {
  width: 100%;
  padding: 12px;
  border: 2px solid #e1e5e9;
  background: white;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-bottom: 10px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
}

.login-container .social-btn:hover {
  border-color: #ddd;
  background: #f8f9fa;
  transform: translateY(-1px);
}

.login-container .google-btn {
  color: #4285f4;
}

.login-container .facebook-btn {
  color: #1877f2;
}

.login-container .social-login-link {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  width: 90%;
  border-radius: 0.325rem;
  border: 1px solid rgba(0, 0, 0, 0.5);
  align-items: center;
  padding: 0.7rem;
  float: none;
  margin: 0.5rem auto;
  gap: 0.6rem;
}

/* Responsive */
@media (max-width: 575px) {
  .login-container {
    margin: 0;
    padding: 30px 25px;
  }

  .login-container .logo {
    font-size: 28px;
  }

  .login-container label {
    display: none !important;
  }
}

/* Loading animation */
.login-container .loading {
  display: none;
  width: 20px;
  height: 20px;
  border: 2px solid #ffffff;
  border-top: 2px solid transparent;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin-right: 10px;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

/* SPINNER PARA LOADER VIEW TRANSITION */

.masterled-spinner-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.95);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 10000;
  opacity: 0;
  transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none;
  backdrop-filter: blur(2px);
}

/* CSS DE EMERGENCIA - forzar spinner visible */
.masterled-spinner-overlay.active {
  opacity: 1 !important;
  background: rgba(255, 0, 0, 0.8) !important;
  /* Rojo para que se vea */
  z-index: 999999 !important;
  display: flex !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
}

/* Spinner principal - Anillo LED */
.masterled-spinner {
  position: relative;
  width: 60px;
  height: 60px;
  margin-bottom: 20px;
}

.masterled-spinner-ring {
  position: absolute;
  width: 100%;
  height: 100%;
  border: 3px solid transparent;
  border-radius: 50%;
  animation: masterled-spin 1.2s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

/* Múltiples anillos para efecto LED */
.masterled-spinner-ring:nth-child(1) {
  border-top: 3px solid #3498db;
  animation-delay: 0s;
}

.masterled-spinner-ring:nth-child(2) {
  border-right: 3px solid #2980b9;
  animation-delay: -0.3s;
  transform: scale(0.8);
}

.masterled-spinner-ring:nth-child(3) {
  border-bottom: 3px solid #74b9ff;
  animation-delay: -0.6s;
  transform: scale(0.6);
}

/* Texto de carga */
.masterled-spinner-text {
  color: #2c3e50;
  font-family: "Roboto", Arial, sans-serif;
  font-size: 14px;
  font-weight: 500;
  text-align: center;
  opacity: 0.8;
}

/* Animación de rotación suave */
@keyframes masterled-spin {
  0% {
    transform: rotate(0deg);
    opacity: 1;
  }

  50% {
    transform: rotate(180deg);
    opacity: 0.7;
  }

  100% {
    transform: rotate(360deg);
    opacity: 1;
  }
}

/* Efecto de pulso para el fondo */
.masterled-spinner-overlay::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 120px;
  height: 120px;
  background: radial-gradient(
    circle,
    rgba(52, 152, 219, 0.1) 0%,
    transparent 70%
  );
  border-radius: 50%;
  transform: translate(-50%, -50%);
  animation: masterled-pulse 2s ease-in-out infinite;
}

@keyframes masterled-pulse {
  0%,
  100% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 0.5;
  }

  50% {
    transform: translate(-50%, -50%) scale(1.2);
    opacity: 0.8;
  }
}

/* Optimizaciones móviles */
@media (max-width: 768px) {
  .masterled-spinner {
    width: 45px;
    height: 45px;
  }

  .masterled-spinner-ring {
    border-width: 2px;
  }

  .masterled-spinner-text {
    font-size: 12px;
  }

  .masterled-spinner-overlay::before {
    width: 90px;
    height: 90px;
  }
}

/* Soporte para modo oscuro */
@media (prefers-color-scheme: dark) {
  .masterled-spinner-overlay {
    background: rgba(45, 52, 54, 0.95);
  }

  .masterled-spinner-text {
    color: #ddd;
  }
}

/* Reducir movimiento si está configurado */
@media (prefers-reduced-motion: reduce) {
  .masterled-spinner-ring {
    animation: none;
  }

  .masterled-spinner-overlay::before {
    animation: none;
    opacity: 0.3;
  }
}

/* === AÑADIR A custom.css === */

/* Accesibilidad */
@media (prefers-reduced-motion: reduce) {
  .masterled-spinner-ring {
    animation: none;
  }
}

/* Optimización para dispositivos con poca memoria */
@media (max-width: 576px) {
  .masterled-spinner-overlay {
    backdrop-filter: none;
  }
}

.brand-scroller-section {
  background: #ffffff;
  padding: 2rem 0;
  position: relative;
  overflow: hidden;
}

.container-marcas {
  max-width: 1660px;
  margin: 0 auto;
  padding: 0 1rem;
  position: relative;
}

.container-marcas .section-title {
  text-align: center;
  margin-bottom: 60px;
}

.container-marcas .section-title h2 {
  font-family: "Quicksand", sans-serif;
  font-size: 2.5rem;
  font-weight: 600;
  color: #2c3e50;
  margin-bottom: 20px;
  letter-spacing: -0.5px;
}

.container-marcas.section-title p {
  font-family: "Quicksand", sans-serif;
  font-size: 1.1rem;
  font-weight: 400;
  color: #7f8c8d;
  max-width: 600px;
  margin: 0 auto;
  line-height: 1.6;
}

.brand-scroller {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  background: #f8f9fa;
  border: 1px solid #e9ecef;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.brand-track {
  display: flex;
  gap: 30px;
  padding: 40px 0;
  overflow-x: hidden;
}

.brand-item {
  flex: 0 0 220px;
  height: 140px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  border: 2px solid transparent;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0);
  position: relative;
}

.brand-item a {
  position: absolute;
  inset: 0;
  z-index: 9;
  text-indent: -9999px;
}

.brand-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(52, 152, 219, 0.1),
    transparent
  );
  transition: left 0.6s ease;
}

.brand-item:hover::before {
  left: 100%;
}

.brand-item:hover {
  transform: translateY(-8px);
  border-color: #0e2692;
  box-shadow: 0 12px 24px rgba(52, 152, 219, 0.15);
}

.brand-logo {
  max-width: 160px;
  max-height: 90px;
  object-fit: contain;
  filter: opacity(1);
  transition: all 0.4s ease;
}

.brand-item:hover .brand-logo {
  filter: opacity(1);
  transform: scale(1.05);
}

.brand-name {
  font-family: "Quicksand", sans-serif;
  font-size: 1.3rem;
  font-weight: 600;
  color: #2c3e50;
  text-align: center;
  opacity: 0.7;
  transition: all 0.3s ease;
  letter-spacing: 0.5px;
}

.brand-item:hover .brand-name {
  opacity: 1;
  color: #3498db;
}

/*@keyframes scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}*/

/* Efecto de desvanecimiento en los bordes */
.brand-scroller::before,
.brand-scroller::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 80px;
  z-index: 10;
  pointer-events: none;
}

.brand-scroller::before {
  left: 0;
  background: linear-gradient(
    to right,
    #f8f9fa 0%,
    rgba(248, 249, 250, 0.8) 40%,
    transparent 100%
  );
}

.brand-scroller::after {
  right: 0;
  background: linear-gradient(
    to left,
    #f8f9fa 0%,
    rgba(248, 249, 250, 0.8) 40%,
    transparent 100%
  );
}

/* Línea decorativa */
.section-title::after {
  display: block;
  width: 60px;
  height: 3px;
  background: linear-gradient(90deg, #3498db, #2ecc71);
  margin: 25px auto 0;
  border-radius: 2px;
}

/* Responsive */

@media (max-width: 768px) {
  .brand-item {
    flex: 0 0 200px;
    height: 130px;
  }

  .brand-logo {
    max-width: 140px;
    max-height: 80px;
  }
}

@media (max-width: 575px) {
  .brand-scroller::before,
  .brand-scroller::after {
    display: none;
  }
  .container-marcas {
    padding: 0 !important;
  }

  .brand-logo {
    max-width: 90% !important;
    max-height: 90px;
    object-fit: contain;
    filter: opacity(0.8);
    transition: all 0.4s ease;
  }

  .brand-track {
    overflow-x: auto;
    scroll-snap-type: x mandatory;
  }

  .brand-scroller .brand-scroll-container {
    display: none !important;
  }

  .brand-track > .brand-item {
    scroll-snap-align: center;
    scroll-snap-stop: always;
  }

  .brand-track > .brand-item:nth-of-type(9) ~ .brand-item {
    display: none;
  }

  .brand-item:nth-of-type(1) {
    margin-inline-start: 1rem;
  }

  .brand-item:nth-of-type(9) {
    margin-inline-end: 4rem;
  }

  .container-marcas .section-title h2 {
    font-size: 1.7rem;
  }

  .section-title p {
    font-size: 1rem;
  }

  .brand-item {
    flex: 0 0 100px !important;
    height: 100px;
  }

  .brand-logo {
    max-width: 110px;
    max-height: 70px;
  }

  .brand-name {
    font-size: 1.1rem;
  }

  .brand-track {
    gap: 20px;
    padding: 30px 0;
  }

  .brand-scroller-section {
    padding: 0rem 0;
  }

  .section-title {
    margin-bottom: 1.5rem !important;
  }

  /*.brand-scroller:has(.arrowprev.focuson) .brand-track {
          animation-play-state: running !important;
          animation-direction: reverse;
        }
        .brand-scroller:has(.arrownext.focuson) .brand-track {
          animation-play-state: running !important;
          animation-direction: normal;
        }*/
}

/*@media (max-width: 480px) {
  @keyframes scroll {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(calc(-50% - 5px));
    }
  }
  .brand-track {
    animation-duration: 10s;
  }
}*/

/* Indicadores de scroll sutiles */
.brand-scroller .brand-scroll-container {
  position: absolute;
  bottom: 8px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  z-index: 5;
}

.scroll-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(52, 152, 219, 0.3);
  animation: pulse 2s infinite;
  margin-top: 6px;
}

.scroll-dot:nth-child(2) {
  animation-delay: 0.3s;
}

.scroll-dot:nth-child(3) {
  animation-delay: 0.6s;
}

.arrowprev,
.arrownext {
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
  transform: translateY(-8px);
  margin: 0 0.5rem;
  font-size: 1.2rem;
  color: #333 !important;
}

.arrowprev:focus,
.arrownext:focus {
  outline: none;
  background-color: transparent;
}

@keyframes pulse {
  0%,
  70%,
  100% {
    opacity: 0.3;
    transform: translate(50%, -50%) scale(1);
  }

  35% {
    opacity: 1;
    transform: translate(50%, -50%) scale(1.2);
  }
}

@media (min-width: 768px) {
  
  #contact-modal {
    
    overflow-y: auto;
  }
/*
  #auth-login.login-container {
    max-width: 1440px !important;
    left: 50% !important;
    transform: translateX(-50%);
  }
*/
  #auth-register.elementshown {
    float: none !important;
    margin-left: auto !important;
    margin-right: auto !important;

  }
}

/* HERO HOME */

.hero-home-container {
  width: 100%;
  display: flex;
  gap: 1.5rem;
  padding-top: 0rem !important;
  margin-top: 1rem;
  max-width: 1440px;
  float: none;
  margin-left: auto;
  margin-right: auto;

  & > div {
    border-radius: 0.475rem;
    overflow: hidden;
    padding: 1rem;
    background-color: rgba(0, 0, 0, 1);
  }

  & > .hero-grid-1 {
    grid-column: 1 / 8;
    aspect-ratio: 2.1 / 1;
    background-size: cover;
    display: grid;
    grid-template-columns: 10% 10% 10% 10% 10% 10% 10% 10% 10% 10%;
    grid-template-rows: 10% 10% 10% 10% 10% 10% 10% 10% 10% 10%;
    width: 75%;
  }
}

.hero-grid-1 > .text-hero {
  grid-column: 2 / 5;
  grid-row: 3 / 9;
  font-weight: 200;
  padding-right: 1rem;
}
.hero-grid-1 .hero-bullets {
  font-size: 1.7rem !important;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.3rem;
  margin: 1rem 0 0 0;
  color: #ffdd00;
}
.hero-grid-1 .hero-bullets span.material-symbols-outlined {
  font-variation-settings: "FILL" 0, "wght" 600, "GRAD" 0, "opsz" 24 !important;
}
@media (max-width: 576px) {
  .hero-grid-1 .hero-bullets {
    justify-content: center !important;
  }
}

.hero-grid-1 > .blocks-container {
  grid-column: 5 / 10;
  grid-row: 3 / 9;
  display: flex;
  justify-content: flex-start;
  gap: 1rem;
  align-items: center;

  & > div {
    aspect-ratio: 1 !important;
    border-radius: 1.2rem;
    background-color: black;
    flex: 0 1 calc(50% - 1rem) !important;
    width: calc(50% - 1rem) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease-out;
    box-shadow: 0 0 4px -1px transparent;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    padding: 1rem;
  }

  & > div:hover {
    transform: translateY(-0.3rem) scale(1.01);
    box-shadow: 0 3px 6px -1px rgba(0, 0, 0, 0.6);
  }

  & > div > .hero-overlay {
    /*background: linear-gradient(
      to top,
      rgba(0, 0, 0, 0.8) 0%,
      rgba(0, 0, 0, 0.1) 50%,
      transparent 100%
    );*/
    position: absolute;
    inset: 0;
    z-index: 0;
  }

  & > div > a {
    display: block;
    position: absolute;
    inset: 0;
    z-index: 2;
  }

  & > div .hero-element-title {
    color: #ffffff;
    font-size: clamp(1rem, 0.6rem + 0.8333vw, 1.4rem);
    display: block;
    width: calc(100% - 1rem);
    font-weight: 600;
    z-index: 1;
    text-shadow: 0 0 5px rgba(0, 0, 0, 0.6);
    text-align: center;
  }

  & > div .hero-element-subtitle {
    color: #ffdd00 !important;
    font-size: clamp(0.7rem, 0.6rem + 0.4167vw, 0.9rem);
    width: calc(100% - 1rem);
    font-weight: 400;
    z-index: 1;
    text-align: center;
    text-shadow: 0 0 4px rgba(0, 0, 0, 1);
  }
}

.hero-grid-1 > .blocks-container > .block-piscinas {
  background-position: 0 0;
  background-size: cover;
}

.hero-grid-1 > .blocks-container > .block-jardin {
  background-position: bottom center;
  background-size: cover;
}

.hero-grid-1 > .text-hero > span.hero-title {
  font-size: clamp(1.2rem, 0.5rem + 2.0833vw, 2.5rem);
  color: #ffffff;
  display: block;
  line-height: 1.1;
}

.hero-grid-1 > .text-hero > span.hero-subtitle {
  font-size: clamp(0.8rem, 0.5667rem + 0.3778vw, 1.2rem);
  color: White;
  display: block;
  /*background: linear-gradient(transparent, rgba(0, 0, 0, 0.5));*/
  padding: 1rem 1rem 1rem 0;
}

.hero-home-container > .hero-grid-2 {
  width: calc(25% - 1.5rem);
  aspect-ratio: 1;
}

@media (min-width: 768px) and (max-width: 1023px) {
  .hero-home-container > .hero-grid-1 {
    width: 60%;
    aspect-ratio: 1;
  }

  .hero-home-container > .hero-grid-2 {
    width: calc(40% - 1.5rem);
  }
}

@media (max-width: 767px) {
  .hero-home-container {
    margin-top: 0 !important;
    width: unset;
    margin-left: -14px;
    margin-right: -14px;
  }

  .hero-home-container > .hero-grid-1 {
    width: 100%;
    flex: 1 0 100%;
    border-radius: 0;
    padding: 0.3rem;
    aspect-ratio: 1 / 1.35;
    background-position: -85px bottom;
    background-size: 800px auto;
  }

  .hero-grid-1 > .text-hero {
    grid-column: 2 / 10;
    grid-row: 1/ 6;
    padding-right: 0;
    padding-left: 0;
    padding-top: 6px;
  }

  .text-hero > span {
    text-align: center;
  }

  .text-hero > span:nth-of-type(1) {
    font-size: 2.5rem !important;
    color: #fff !important;
    text-shadow: 0 1px 4px transparent, 0 -1px 4px transparent;
  }

  .text-hero > span:nth-of-type(2) {
    font-weight: 400;
    font-size: clamp(0.9rem, 0.5rem + 1.6667vw, 1.2rem) !important;
  }

  .hero-grid-1 > .text-hero > span.hero-subtitle {
    background: transparent !important;
    font-size: 1.1rem;
  }

  .hero-grid-1 > .blocks-container {
    grid-column: 2 / 10;
    grid-row: 6 / 10;
    flex-direction: row;
    gap: 1rem;
    justify-content: space-around;
  }

  .blocks-container > div {
    overflow: hidden;
    flex: 1 1 calc(50% - 1rem) !important;
    width: calc(50% - 1rem) !important;
    justify-content: flex-end !important;
    padding: 0.5rem 1rem 1rem 1rem !important;
  }

  .blocks-container > div > span.hero-element-subtitle {
    white-space: nowrap;
  }

  .blocks-container .block-piscinas,
  .blocks-container .block-jardin {
    box-shadow: 0 0 11px -3px transparent !important;
    transition: box-shadow 0.3s ease, transform 0.3s ease;
  }

  .blocks-container > .block-piscinas:hover,
  .blocks-container > .block-jardin:hover {
    transform: translateY(-0.3rem) scale(1.01);
  }

  .blocks-container .hero-element-title {
    text-align: center;
    font-size: clamp(1rem, 0.5rem + 0.8333vw, 1.2rem) !important;
  }

  .blocks-container .hero-element-subtitle {
  }

  .hero-home-container > .hero-grid-2 {
    display: none;
  }
}

@media (min-width: 575px) and (max-width: 767px) {
  .hero-home-container > .hero-grid-1 {
    background-size: cover;
  }
}

/** CARRITO **/

/* === ESTILOS CARRITO MODERNO MASTERLED === */
body#cart {
  background: #f8f9fa;
}

body#cart #stripe-express-checkout-element {
  padding: 0.5rem 0 !important;
}

body#cart #content-wrapper section#main {
  padding: 2rem 0;
}

@media (max-width: 575px) {
  body#cart #content-wrapper section#main {
    padding: 0.5rem 0;
  }
}

/* Contenedor principal del carrito */
.modern-cart-wrapper {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 1rem;
}

/* Header del carrito */
.modern-cart-header {
  background: linear-gradient(
    135deg,
    var(--bs-primary, #01468e) 0%,
    #003577 100%
  );
  color: white;
  padding: 2rem;
  border-radius: 0.4rem 0.4rem 0 0;
  margin-bottom: 0;
  box-shadow: 0 4px 20px rgba(1, 70, 142, 0.15);
}

.modern-cart-header h1 {
  margin: 0;
  font-size: 1.8rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 1rem;
}

.modern-cart-header .cart-icon {
  font-size: 2rem;
  opacity: 0.9;
}

/* Grid principal - responsive híbrido */
.modern-cart-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  margin-top: 0;
}

@media (min-width: 1120px) {
  .modern-cart-grid {
    grid-template-columns: 1fr 440px;
    gap: 1.5rem;
  }
}

.modern-cart-grid .modern-promo-input {
  padding: 0.5rem 0.25rem !important;
  text-align: center;
  font-weight: 600;
  text-transform: uppercase;
}
.modern-cart-grid .modern-promo-input::placeholder {
  font-weight: 300;
  color: #999;
}

/* Secciones de productos */
.modern-products-section {
  background: white;
  border-radius: 0 0 12px 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  overflow: hidden;
}

.modern-products-list {
  padding: 0;
}

/* Controles de visibilidad responsive */
.desktop-only {
  display: block;
}

.mobile-only {
  display: none;
}

@media (max-width: 991px) {
  .desktop-only {
    display: none;
  }

  .mobile-only {
    display: block;
  }
}

/* Card de producto individual */
.modern-product-card {
  border-bottom: 1px solid #f1f3f5;
  padding: 1.5rem;
  transition: background-color 0.3s ease;
  position: relative;
  width: 100%;
}

.modern-product-card:hover {
  background: #f8f9fa;
}

.modern-product-card:last-child {
  border-bottom: none;
}

.modern-product-layout {
  display: grid;
  grid-template-columns: 120px 2fr 1fr 1fr 36px;
  gap: 1.5rem;
  align-items: start;
}

@media (min-width: 1450px) {
  .modern-product-layout {
    grid-template-columns: 120px 48% 100px 130px 36px !important;
  }
}

@media (min-width: 1120px) {
  .modern-product-layout {
    grid-template-columns: 120px 2fr 1fr min-content 36px;
  }

  .modern-product-card > button.modern-remove-btn {
    position: relative !important;
    top: 0;
    right: 0;
  }
}

@media (min-width: 1099px) {
  .modern-product-layout {
    max-width: 100% !important;
  }
}

/* Imagen del producto */
.modern-product-image {
  width: 120px;
  height: 120px;
  border-radius: 10px;
  overflow: hidden;
  background: #f8f9fa;
  border: 2px solid #e9ecef;
  transition: transform 0.3s ease;
}

.modern-product-image:hover {
  transform: scale(1.02);
}

.modern-product-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Detalles del producto */
.modern-product-details {
  min-width: 0;
}

.modern-product-title {
  font-size: 1.1rem;
  font-weight: 600;
  color: #333;
  margin-bottom: 0.5rem;
  line-height: 1;
  max-height: 1lh;
  overflow: hidden;
  text-overflow: ellipsis;
}

.modern-product-title a {
  color: inherit;
  text-decoration: none;
  transition: color 0.3s ease;
}

.modern-product-title a:hover {
  color: var(--bs-primary, #01468e);
}

.modern-product-ref {
  font-size: 0.9rem;
  color: #6c757d;
  margin-bottom: 1rem;
  font-weight: 500;
}

.modern-product-attributes {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 4px;
}

.modern-attribute-tag {
  background: linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%);
  color: #1976d2;
  padding: 0.25rem 0.75rem;
  border-radius: 20px;
  font-size: 0.8rem;
  font-weight: 500;
  border: 1px solid #90caf9;
}

/* === CONTROLES DE CANTIDAD ORIGINALES ESTILIZADOS === */

/* Contenedor principal de cantidad */
.modern-qty-original {
  width: fit-content !important;
}

.modern-qty-original .input-group.bootstrap-touchspin {
  display: flex !important;
  background: #f8f9fa;
  border: 2px solid #dee2e6;
  border-radius: 10px;
  overflow: hidden;
  transition: border-color 0.3s ease;
  width: auto !important;
  max-width: 84px;
  flex-wrap: nowrap;
}

.modern-qty-original .input-group.bootstrap-touchspin input[type="number"] {
  flex: 0 1 80% important;
}

.modern-qty-original
  .input-group.bootstrap-touchspin
  span.input-group-btn-vertical {
  flex: 0 1 20% !important;
  flex-direction: column !important;
}

.modern-qty-original .input-group.bootstrap-touchspin:focus-within {
  border-color: var(--bs-primary, #01468e);
  box-shadow: 0 0 0 3px rgba(1, 70, 142, 0.1);
}

/* Input de cantidad */
.modern-qty-input-original {
  border: none !important;
  background: none !important;
  text-align: center !important;
  width: 60px !important;
  height: 44px !important;
  font-weight: 600 !important;
  color: #333 !important;
  font-size: 1rem !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.modern-qty-input-original:focus {
  outline: none !important;
  background: white !important;
  box-shadow: none !important;
}

/* Contenedor de botones */
.modern-qty-original .input-group-btn-vertical {
  position: static !important;
  display: flex !important;
  flex-direction: row !important;
  width: auto !important;
  height: auto !important;
}

/* Botones de cantidad estilizados */
.modern-touchspin-btn {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  width: 44px !important;
  height: 44px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  color: #495057 !important;
  font-size: 1.2rem !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  margin: 0 !important;
}

.modern-touchspin-btn:hover {
  background: #e9ecef !important;
  color: var(--bs-primary, #01468e) !important;
}

.modern-touchspin-btn:disabled {
  opacity: 0.5 !important;
  cursor: not-allowed !important;
  background: none !important;
}

.modern-touchspin-btn:focus,
.modern-touchspin-btn:active {
  box-shadow: none !important;
  outline: none !important;
}

.modern-touchspin-btn i {
  font-size: 1.2rem !important;
  line-height: 1 !important;
}

/* Separadores visuales */
.modern-touchspin-btn.touchspin-down {
  border-right: 1px solid #dee2e6 !important;
}

.modern-touchspin-btn.touchspin-up {
  border-left: 1px solid #dee2e6 !important;
}

/* === CONTROLES COMPACTOS PARA MOBILE === */

.modern-qty-original-compact {
  width: fit-content !important;
}

.modern-qty-original-compact .input-group.bootstrap-touchspin {
  display: flex !important;
  align-items: center;
  background: white;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  overflow: hidden;
  width: auto !important;
  max-width: 120px;
  flex-wrap: nowrap;
}

.modern-qty-original-compact
  .input-group.bootstrap-touchspin
  input[type="number"] {
  flex: 0 1 60% !important;
}

.modern-qty-original-compact
  .input-group.bootstrap-touchspin
  span.input-group-btn-vertical {
  flex: 0 1 40% !important;
  flex-direction: column !important;
}

.modern-qty-input-compact-original {
  border: none !important;
  background: none !important;
  text-align: center !important;
  width: 40px !important;
  height: 32px !important;
  font-weight: 600 !important;
  color: #333 !important;
  font-size: 0.9rem !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.modern-qty-input-compact-original:focus {
  outline: none !important;
  background: #f8f9fa !important;
  box-shadow: none !important;
}

.modern-qty-original-compact .input-group-btn-vertical {
  position: static !important;
  display: flex !important;
  flex-direction: row !important;
  width: auto !important;
  height: auto !important;
}

.modern-touchspin-btn-compact {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  width: 32px !important;
  height: 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  color: #495057 !important;
  font-size: 1rem !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  margin: 0 !important;
}

.modern-touchspin-btn-compact:hover {
  background: #f8f9fa !important;
  color: var(--bs-primary, #01468e) !important;
}

.modern-touchspin-btn-compact:disabled {
  opacity: 0.5 !important;
  cursor: not-allowed !important;
}

.modern-touchspin-btn-compact i {
  font-size: 1rem !important;
  line-height: 1 !important;
}

#global-nav.step-navigation {
  padding-bottom: 1rem;
}

/* Sección de precios */
.modern-price-section {
  text-align: right;
  /*min-width: 140px;*/
}

.modern-product-total {
  font-size: 1.5rem;
  font-weight: 700;
  color: #333;
  margin-bottom: 0rem;
}

.modern-product-unit {
  font-size: 0.9rem;
  color: #6c757d;
}

/* Botón eliminar */
.modern-remove-btn {
  background: #dc3545;
  color: white;
  border: none;
  border-radius: 50%;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
  opacity: 0.8;
  font-size: 1.1rem;
}

.modern-remove-btn > span {
  font-size: 20px !important;
}

.modern-remove-btn:hover {
  opacity: 1;
  transform: scale(1.1);
  box-shadow: 0 4px 12px rgba(220, 53, 69, 0.3);
}

/* Summary lateral/centralizado según pantalla */
.modern-cart-summary {
  background: white;
  border-radius: 0 0 12px 12px;
  padding: 0rem 2rem 2rem 2rem;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  border: 1px solid #e9ecef;
  width: 100%;
}

@media (min-width: 992px) {
  .modern-cart-summary {
    position: sticky;
    top: 120px;
    height: fit-content;
    border-radius: 0 0 12px 12px;
  }

  .modern-product-card {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
  }

  .modern-product-card > button.modern-remove-btn {
    position: static;
    order: 2;
  }

  .modern-product-card > .modern-product-layout {
    flex: 0 0 100% !important;
  }
}

.modern-summary-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid #f1f3f5;
}

.modern-summary-title {
  font-size: 1.5rem;
  font-weight: 600;
  color: #333;
  margin: 0;
}

.modern-summary-icon {
  font-size: 1.8rem;
  color: var(--bs-primary, #01468e);
}

/* Líneas del resumen */
.modern-summary-line {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.65rem 0;
  border-bottom: 1px solid #f8f9fa;
}

.modern-summary-line:last-child {
  border-bottom: none;
}

.modern-summary-line.total-line {
  font-size: 1.25rem;
  font-weight: 700;
  padding: 0.9rem 0;
  border-top: 2px solid #e9ecef;
  border-bottom: none;
  margin-top: 0.5rem;
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  margin: 0.5rem -2rem 0 -2rem;
  padding-left: 2rem;
  padding-right: 2rem;
}

.modern-summary-label {
  font-weight: 500;
  color: #495057;
}

.modern-summary-value {
  font-weight: 600;
  color: #333;
}

/* Sección de cupones */
.modern-promo-section {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  border-radius: 12px;
  padding: 1.5rem 1rem;
  margin: 0;
  border: 1px solid #dee2e6;
}

.modern-promo-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
  font-weight: 600;
  color: #495057;
}

.modern-promo-icon {
  font-size: 1.3rem;
  color: var(--bs-primary, #01468e);
}

.modern-promo-form {
  display: flex;
  gap: 0.75rem;
}

.modern-promo-input {
  flex: 1;
  padding: 0.75rem 1rem;
  border: 2px solid #dee2e6;
  border-radius: 8px;
  background: white;
  transition: border-color 0.3s ease;
}

.modern-promo-input:focus {
  outline: none;
  border-color: var(--bs-primary, #01468e);
  box-shadow: 0 0 0 3px rgba(1, 70, 142, 0.1);
}

.modern-promo-btn {
  background: linear-gradient(45deg, #4285f4, var(--bs-primary));
  color: white;
  border: none;
  padding: 0.75rem 1.5rem;
  border-radius: 8px;
  font-weight: 600;
  transition: all 0.3s ease;
  cursor: pointer;
}

.modern-promo-btn:hover {
  background: #003577;
  transform: translateY(-1px);
}

.modern-applied-voucher {
  background: linear-gradient(135deg, #d4edda 0%, #c3e6cb 100%);
  border: 1px solid #b8dbc4;
  border-radius: 8px;
  padding: 1rem;
  margin-top: 1rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.modern-voucher-info {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.modern-voucher-name {
  font-weight: 600;
  color: #155724;
}

.modern-voucher-amount {
  font-size: 0.9rem;
  color: #155724;
  opacity: 0.8;
}

.modern-voucher-remove {
  background: none;
  border: none;
  color: #721c24;
  cursor: pointer;
  padding: 0.25rem;
  border-radius: 4px;
  transition: background-color 0.3s ease;
}

.modern-voucher-remove:hover {
  background: rgba(220, 53, 69, 0.1);
}

/* Botón de checkout */
.modern-checkout-btn {
  width: 100%;
  background: linear-gradient(45deg, #4285f4, var(--bs-primary));
  color: white;
  border: none;
  padding: 1.25rem 2rem;
  border-radius: 12px;
  font-size: 1.2rem;
  font-weight: 600;
  margin-top: 1.5rem;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(1, 70, 142, 0.2);
}

.modern-checkout-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(1, 70, 142, 0.3);
  color: white;
  text-decoration: none;
}

.modern-checkout-icon {
  font-size: 1.4rem;
}

/* Carrito vacío */
.modern-empty-cart {
  text-align: center;
  padding: 4rem 2rem;
  background: white;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.modern-empty-icon {
  font-size: 5rem;
  color: #dee2e6;
  margin-bottom: 1.5rem;
}

.modern-empty-title {
  font-size: 1.5rem;
  font-weight: 600;
  color: #6c757d;
  margin-bottom: 1rem;
}

.modern-empty-message {
  font-size: 1rem;
  color: #6c757d;
  margin-bottom: 2rem;
}

.modern-continue-shopping {
  background: linear-gradient(45deg, #4285f4, var(--bs-primary));
  color: white;
  border: none;
  padding: 1rem 2rem;
  border-radius: 10px;
  font-weight: 600;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  transition: all 0.3s ease;
}

.modern-continue-shopping:hover {
  background: #003577;
  color: white;
  text-decoration: none;
  transform: translateY(-2px);
}

/* === PRODUCTOS INTEGRADOS EN SUMMARY (solo mobile) === */
.modern-products-section-integrated {
  margin-top: 2rem;
  padding-top: 2rem;
}

@media (max-width: 575px) {
  .modern-products-section-integrated {
    margin-top: 0;
    padding-top: 0;
  }
}

.modern-products-header {
  margin-bottom: 1.5rem;
}

.modern-products-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: #333;
  margin: 0;
  align-items: center;
  gap: 0.75rem;
}

@media (max-width: 575px) {
  .modern-products-title {
    font-size: 1rem;
  }
}

.modern-products-title .material-symbols-outlined {
  font-size: 1.5rem;
  color: var(--bs-primary, #01468e);
}

.modern-products-list-integrated {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* Card de producto compacta */
.modern-product-card-compact {
  border: 1px solid #e9ecef;
  border-radius: 10px;
  padding: 1rem;
  background: #f8f9fa;
  transition: all 0.3s ease;
  position: relative;
}

.modern-product-card-compact:hover {
  background: #f1f3f5;
  border-color: #dee2e6;
}

.modern-product-layout-compact {
  display: grid;
  grid-template-columns: 60px 1fr;
  gap: 1rem;
  align-items: start;
}

/* Imagen compacta */
.modern-product-image-compact {
  width: 60px;
  height: 60px;
  border-radius: 8px;
  overflow: hidden;
  background: white;
  border: 1px solid #dee2e6;
}

.modern-product-image-compact img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Detalles compactos */
.modern-product-details-compact {
  min-width: 0;
  display: grid;
  grid-template-areas:
    "nombre nombre nombre borrar"
    "referencia cantidad cantidad precio"
    "variante variante disponibilidad disponibilidad";
  max-width: 100%;
}

.modern-product-title-compact {
  font-size: 0.8rem;
  font-weight: 600;
  color: #333;
  margin-bottom: 0.25rem;
  line-height: 1.3;
  grid-area: nombre;
}

.modern-product-title-compact a {
  color: inherit;
  text-decoration: none;
  transition: color 0.3s ease;
}

.modern-product-title-compact a:hover {
  color: var(--bs-primary, #01468e);
}

@media (max-width: 767px) {
  body#cart div.qty,
  body#checkout div.qty {
    width: 100% !important;
  }
}

.modern-product-ref-compact {
  font-size: 0.8rem;
  color: #6c757d;
  margin-bottom: 0.5rem;
  grid-area: disponibilidad;
}

.modern-product-attributes-compact {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  margin-bottom: 0;
  grid-area: disponibilidad;
}

.modern-product-availability-compact {
  grid-area: cantidad;
  text-align: left;
  display: flex;
  justify-content: flex-start;
}

.qty.modern-qty-original-compact {
  grid-area: cantidad;
  justify-content: flex-start !important;
}

.modern-price-section-compact {
  grid-area: precio;
}

.modern-attribute-tag-compact {
  background: #e3f2fd;
  color: #1976d2;
  padding: 0.15rem 0.5rem;
  border-radius: 12px;
  font-size: 0.65rem;
  font-weight: 500;
}

/* Controles de cantidad compactos ORIGINALES */
.modern-quantity-wrapper-compact {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 0.75rem;
}

.modern-qty-input-compact:focus {
  outline: none;
  background: #f8f9fa;
}

/* Precio compacto */
.modern-price-section-compact {
  text-align: right;
  min-width: 80px;
}

.modern-product-total-compact {
  font-size: 1.1rem;
  font-weight: 700;
  color: #333;
  margin-bottom: 0;
}

.modern-product-unit-compact {
  font-size: 0.75rem;
  color: #6c757d;
}

/* Botón eliminar compacto */
.modern-remove-btn-compact {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  background: #dc3545;
  color: white;
  border: none;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
  opacity: 0.8;
  font-size: 0.9rem;
}

.modern-remove-btn-compact:hover {
  opacity: 1;
  transform: scale(1.1);
}

/* Responsive */
@media (max-width: 768px) {
  .modern-cart-wrapper {
    padding: 0 0.5rem;
  }

  .modern-cart-header {
    padding: 1.5rem;
  }

  .modern-cart-header h1 {
    font-size: 1.5rem;
  }

  .modern-product-layout-compact {
    /*grid-template-columns: 50px 1fr;*/
    grid-template-areas:
      "imagen nombre nombre nombre nombre borrar"
      "imagen disponibilidad disponibilidad disponibilidad nada2 nada2"
      "imagen referencia referencia variante variante variante"
      "cantidad cantidad cantidad nada precio precio";
    gap: 0.25rem;
    grid-template-columns: 50px 1fr 1fr 1fr 1fr 20px;
    grid-template-rows: 30px 20px min-content min-content;
  }

  .modern-product-title-compact a {
    display: block;
    /* Necesario para que funcione ellipsis */
    white-space: nowrap;
    /* Que no haga saltos de línea */
    overflow: hidden;
    /* Oculta lo que se pase */
    text-overflow: ellipsis;
    /* Pone los "..." */
    max-width: 100%;
    /* Se ajusta al ancho disponible */
  }

  .modern-product-image-compact {
    width: 50px;
    height: 50px;
  }

  .modern-cart-summary {
    padding: 1.5rem;
  }

  .modern-promo-form {
    flex-direction: column;
  }

  .modern-quantity-wrapper-compact {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }

  .modern-price-section-compact {
    text-align: right;
    place-content: center;
  }
}

@media (max-width: 480px) {
  /*.modern-cart-summary {
    display: flex;
    flex-direction: column;
  }
  .modern-summary-header {
    order: 3;
  }
  .modern-summary-header + .modern-products-header.mobile-only {
    order: 4;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align:center;
    padding: 1rem 0;
  }
  .modern-products-section-integrated.mobile-only {
    order:6;
  }
  .modern-products-section-integrated.mobile-only + .card-block {
  }
  .modern-summary-content {
    order: 5;
  }
  .modern-promo-section {
    order: 7;
  }
  .modern-checkout-btn {
    order: 1;
  }
  #stripe-express-checkout-element {
    order:2;
  }
    */

  .modern-summary-header {
    padding: 1rem;
  }

  .modern-summary-header > span:nth-of-type(1) {
    font-size: 1.5rem !important;
  }

  .modern-summary-title {
    font-size: 1.2rem;
  }

  .modern-summary-header + .modern-products-header.mobile-only {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 1rem 0 1rem 0;
    margin: 0 !important;
  }
  .modern-summary-header + .modern-products-header.mobile-only > h2 {
    font-size: 1rem !important;
    margin-bottom: 0 !important;
  }

  .modern-cart-header h1 {
    font-size: 1.25rem;
  }

  .modern-summary-content {
    font-size: 0.85rem !important;
  }

  .modern-summary-line.total-line {
    font-size: 1.05rem !important;
  }

  body#cart #products > h2 {
    font-size: 1.4rem !important;
  }

  body#cart #roducts .products {
    gap: 0.5rem !important;
    justify-content: space-between !important;
  }

  body#cart #products .products article {
    min-width: 120px !important;
    flex: 0 1 calc(50% - 0.5rem) !important;
  }

  .modern-product-card-compact {
    padding: 0.75rem;
  }

  .modern-remove-btn-compact {
    width: 20px;
    height: 20px;
    font-size: 0.8rem;
  }

  .modern-cart-summary {
    padding: 1rem;
  }
  .free_shipping_container {
    display: flex;
    justify-content: center !important;
    align-items: center !important;
  }
  .free_shipping_container h2 {
    margin-bottom: 0 !important;
  }
}

.free_shipping_container {
  text-align: center;
  font-size: 1.5rem;
  padding: 1rem 0;
}
.free_shipping_container:not(.mobile-only) {
  display: block;
}
.free_shipping_container.mobile-only h2 {
  font-size: 1rem;
}
.free_shipping_container > span.material-symbols-outlined {
  font-size: 2rem !important;
  vertical-align: middle;
}

.ship_far {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
}

.ship_med {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
}

.ship_near {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
}

.ship_free {
  background: rgba(0, 255, 13, 0.5);
}
#sumario_carrito .is-loading {
  position: relative;
}
#sumario_carrito .is-loading::after {
  position: absolute;
  z-index: 2;
  inset: 0;
  background: rgba(255, 255, 255, 0.8);
  content: "";
}
#sumario_carrito .is-loading::before {
  position: absolute;
  left: 0;
  top: 50%;
  height: 50%;
  width: 20px;
  height: 20px;
  border-radius: 100vw;
  background: var(--bs-primary);
  animation: 1.5s ease 0s infinite cart-loader;
}
@keyframes cart-loader {
  0% {
    transform: translateX(5%);
    opacity: 0.1;
  }
  30% {
    transform: translateX(30%);
    opacity: 1;
  }
  50% {
    transform: translateX(50%);
  }
  70% {
    transform: translate(70%);
    opacity: 1;
  }
  100% {
    transform: translateX(95%);
    opacity: 0.1;
  }
}
/* === CHECKOUT UNIFICADO MEJORADO === */
body#checkout {
  background: #f8f9fa;
}

body#checkout #content-wrapper section#main {
  padding: 2rem 0;
}

body#checkout nav.breadcrumb,
body#cart nav.breadcrumb,
body#module-mlonepagecheckout-onepage nav.breadcrumb,
body#new-products nav.breadcrumb {
  display: none !important;
}

body#checkout section#main,
body#cart section#main,
body#module-mlonepagecheckout-onepage section#main {
  padding: 1rem 0 2rem 0;
}

.modern-checkout-wrapper {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 1rem;
}

/* Header del checkout */
.modern-checkout-header {
  background: linear-gradient(
    135deg,
    var(--bs-primary, #01468e) 0%,
    #003577 100%
  );
  color: white;
  padding: 2rem;
  border-radius: 12px 12px 0 0;
  margin-bottom: 0;
  box-shadow: 0 4px 20px rgba(1, 70, 142, 0.15);
}

.modern-checkout-header h1 {
  margin: 0;
  font-size: 1.8rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 1rem;
}

/* Progress integrado en el header */
.modern-progress-integrated {
  background: rgba(255, 255, 255, 0.1);
  padding: 1.5rem 2rem;
  margin: 1.5rem -2rem -2rem -2rem;
  border-radius: 0 0 12px 12px;
}

.checkout-progress {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  margin-bottom: 1rem;
}

.checkout-progress::before {
  content: "";
  position: absolute;
  top: 20px;
  left: 20px;
  right: 20px;
  height: 3px;
  background: rgba(255, 255, 255, 0.3);
  z-index: 1;
  border-radius: 2px;
}

.progress-line {
  position: absolute;
  top: 20px;
  left: 20px;
  height: 3px;
  background: white;
  z-index: 2;
  transition: width 0.5s ease;
  width: 0%;
  border-radius: 2px;
  box-shadow: 0 0 10px rgba(255, 255, 255, 0.5);
}

.return-to-cart-button {
  float: right;
  margin: 0.5rem 1rem 1rem 0;
}
.hidden-on-mobile {
  display: revert;
}
.shown-mobile-only {
  display: none;
}
@media (max-width: 575px) {
  .progress-line {
    left: 0;
  }
  .hidden-on-mobile {
    display: none !important;
  }
  .shown-mobile-only {
    display: revert !important;
  }

  .return-to-cart-button {
    float: none;
    margin: 0.5rem auto;
  }
}
@container product-responsive-card (width < 230px) {
  .hide-on-mobile {
    display: none !important;
  }
  .product-responsive-card .price-current {
    font-size: 1.7rem;
  }
  .product-responsive-card .price-current > .regular_price {
    font-size: 1rem;
  }
}

.progress-step {
  background: #5175a7;
  border: 3px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.7);
  position: relative;
  z-index: 3;
  transition: all 0.3s ease;
  cursor: pointer;
}

.progress-step.completed {
  background: white;
  border-color: white;
  color: var(--bs-primary, #01468e);
  box-shadow: 0 0 15px rgba(255, 255, 255, 0.4);
}

.progress-step.active {
  background: white;
  border-color: white;
  color: var(--bs-primary, #01468e);
  box-shadow: 0 0 20px rgba(255, 255, 255, 0.6);
  transform: scale(1.1);
}

.progress-labels {
  display: flex;
  justify-content: space-between;
  margin-top: 0.5rem;
}

.progress-label {
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.8);
  font-weight: 500;
  text-align: center;
  min-width: 80px;
  cursor: pointer;
  transition: color 0.3s ease;
}

.progress-label.completed,
.progress-label.active {
  color: white;
  font-weight: 600;
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.5);
}

/* Layout unificado */
.modern-checkout-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  margin-top: 0;
}

@media (min-width: 992px) {
  .modern-checkout-grid {
    grid-template-columns: 1fr 450px;
    gap: 0;
  }
}

/* Contenedor principal unificado */
.modern-checkout-content {
  background: white;
  border-radius: 0;
  box-shadow: none;
  overflow: hidden;
  border-right: 1px solid #f1f3f5;
  position: relative;
}

@media (min-width: 992px) {
  .modern-checkout-content {
    border-radius: 0 0 0 12px;
    border-right: 1px solid #f1f3f5;
  }
}

@media (max-width: 991px) {
  .modern-checkout-content {
    border-radius: 0;
    border-right: none;
    border-bottom: 1px solid #f1f3f5;
  }
}

/* Steps unificados */
.checkout-step-container {
  padding: 3rem 2rem;
  display: none;
  animation: fadeIn 0.4s ease-in-out;
  min-height: 500px;
}

.checkout-step-container.active {
  display: block;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.step-title {
  font-size: 2rem;
  font-weight: 600;
  color: #333;
  margin-bottom: 2.5rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid #f1f3f5;
}

.step-icon {
  width: 60px;
  height: 60px;
  background: linear-gradient(
    135deg,
    var(--bs-primary, #01468e) 0%,
    #003577 100%
  );
  color: white;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  box-shadow: 0 4px 15px rgba(1, 70, 142, 0.3);
}

/* Formularios integrados */
.modern-form-section {
  margin-bottom: 1.5rem;
}

.modern-form-section-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: #333;
  margin-bottom: 1.5rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.modern-form-section-icon {
  width: 36px;
  height: 36px;
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  color: var(--bs-primary, #01468e);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
}

.modern-form-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}

@media (min-width: 768px) {
  .modern-form-grid.two-columns {
    grid-template-columns: 1fr 1fr;
  }
  .modern-form-grid {
    gap: 0.8rem !important;
  }
}

.modern-form-group {
  margin-bottom: 0;
}

.modern-form-label {
  display: block;
  font-weight: 600;
  color: #333;
  margin-bottom: 0.75rem;
  font-size: 0.95rem;
}

.modern-form-control {
  width: 100%;
  font-size: 1rem;
  transition: all 0.3s ease;
  background: white;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  line-height: 1.6 !important;
  padding: 0.5rem 1.25rem !important;
  border-radius: 0.5rem !important;
  border: 1px solid var(--bs-gray-200) !important;
  outline: 0;
}

.modern-form-control:focus {
  outline: none;
  border-color: var(--bs-primary, #01468e);
  box-shadow: 0 0 0 3px rgba(1, 70, 142, 0.1), 0 4px 12px rgba(0, 0, 0, 0.08);
  transform: translateY(-1px);
}

.modern-form-control.error {
  border-color: #dc3545;
  box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.1);
}

/* Cards de selección integradas */
.modern-selection-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}

@media (min-width: 768px) {
  .modern-selection-grid.two-columns {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 576px) {
  #mlopc-terms + span {
    font-size: 0.85rem !important;
  }
}

.selection-card {
  border: 2px solid #e9ecef;
  border-radius: 12px;
  padding: 1.5rem;
  cursor: pointer;
  transition: all 0.3s ease;
  background: white;
  position: relative;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  max-height: 1000px;
  transition: max-height 0.3s linear;
}
.selection-card.mlopc-radio input[type="radio"] {
  display: none;
}
#mlopc-carriers .selection-card:has(input:checked) {
  border-color: var(--bs-primary, #01468e);
  background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
  box-shadow: 0 6px 25px rgba(1, 70, 142, 0.2);
  transform: translateY(-2px);
}
#mlopc-carriers .selection-card:has(input:checked) .check-icon {
  background: var(--bs-primary, #01468e);
  border-color: var(--bs-primary, #01468e);
  color: white;
}

#step-addresses .selection-card:not(.selected) {
  max-height: 5rem;
  overflow: hidden;
}

#step-addresses .selection-card:not(.selected)::after {
  width: 100%;
  height: 2rem;
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  background: linear-gradient(
    to top,
    rgba(255, 255, 255, 1),
    rgba(255, 255, 255, 0)
  );
}

.selection-card:hover {
  border-color: var(--bs-primary, #01468e);
  box-shadow: 0 4px 20px rgba(1, 70, 142, 0.15);
  transform: translateY(-2px);
}

.selection-card.selected {
  border-color: var(--bs-primary, #01468e);
  background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
  box-shadow: 0 6px 25px rgba(1, 70, 142, 0.2);
  transform: translateY(-2px);
}

.selection-card .check-icon {
  position: absolute;
  top: 1rem;
  right: 1rem;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 2px solid #e9ecef;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  background: white;
}

.selection-card.selected .check-icon {
  background: var(--bs-primary, #01468e);
  border-color: var(--bs-primary, #01468e);
  color: white;
  box-shadow: 0 2px 8px rgba(1, 70, 142, 0.3);
}

/* Summary integrado */
.modern-checkout-summary {
  background: white;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
  border: none;
  position: sticky;
  top: 80px;
  height: fit-content;
}

@media (min-width: 992px) {
  .modern-checkout-summary {
    border-radius: 0 0 12px 0;
  }
}
@media (max-width: 767px) {
  .modern-summary-header {
    display: none;
  }
}
.modern-summary-header {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  padding: 1rem;
  margin: 1rem 0 0.5rem 0;
  border-bottom: 2px solid #f1f3f5;
  width: calc(100% + 4rem) !important;
  transform: translateX(-2rem);
}

body#module-mlonepagecheckout-onepage .modern-summary-header {
  width: 100% !important;
  transform: translateX(0);
  margin: 0 0 0.5rem 0 !important;
}

.modern-summary-title {
  font-size: 1.5rem;
  font-weight: 600;
  color: #333;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 1rem;
}

.modern-summary-icon {
  font-size: 1.8rem;
  color: var(--bs-primary, #01468e);
}

.modern-summary-content {
  padding: 2rem;
}

/* Navegación integrada */
.step-navigation {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 2px solid #f1f3f5;
}
.step-navigation#global-nav .return-to-cart-button {
  flex: 1 0 100% !important;
  width: 100%;
  margin: 0.5rem 0 !important;
  display: none;
}
@media (min-width: 768px) {
  .step-navigation#global-nav {
    padding-inline: 2rem !important;
  }
}
@media (max-width: 767px) {
  .modern-summary-header {
    width: 100% !important;
    transform: translate(0);
  }
  .step-navigation {
    border-top: none !important;
  }
}
div#saved-delivery-address,
div#saved-invoice-address {
  display: none;
  padding-top: 1rem !important;
}
@media (max-width: 576px) {
  .step-navigation#global-nav {
    display: flex;
    gap: 0.5rem;
    flex-direction: row;
    flex-wrap: wrap;
  }
  .modern-form-section {
    margin-bottom: 1rem !important;
  }
  .modern-form-section-title {
  }
  .modern-checkout-summary a.return-to-cart-button {
    display: none !important;
  }
  .step-navigation#glolbal-nav > a.return-to-cart-button {
    display: block !important;
  }

  .step-navigation#global-nav > button {
    flex: 0 0 calc(50% - 0.5rem);
    width: 50% !important;
    font-size: 0.85rem !important;
    font-weight: 400 !important;
    padding: 1rem 1.5rem !important;
  }
  .step-navigation#global-nav > button.btn-secondary-modern {
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.08);
  }
  .step-navigation#global-nav > button.btn-primary-modern {
    box-shadow: 0 2px 10px rgba(1, 70, 142, 0.3);
  }
  .step-navigation#global-nav > button > span.material-symbols-outlined {
    font-size: 1rem !important;
    height: 1rem !important;
  }
  .btn-modern {
    padding: 1rem 1.5rem !important;
  }
}

.btn-modern {
  padding: 1rem 2.5rem;
  border-radius: 12px;
  font-weight: 600;
  font-size: 1rem;
  transition: all 0.3s ease;
  border: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  text-decoration: none;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.btn-primary-modern {
  background: linear-gradient(45deg, #4285f4, var(--bs-primary));
  color: white;
  box-shadow: 0 4px 20px rgba(1, 70, 142, 0.3);
}

.btn-primary-modern:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 30px rgba(1, 70, 142, 0.4);
  color: white;
}

.btn-primary-modern:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}

.btn-secondary-modern {
  background: #f8f9fa;
  color: #495057;
  border: 2px solid #e9ecef;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.btn-secondary-modern:hover {
  background: #e9ecef;
  border-color: var(--bs-primary, #01468e);
  color: var(--bs-primary, #01468e);
  transform: translateY(-2px);
}

/* Loading overlay integrado */
.loading-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.95);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  backdrop-filter: blur(2px);
}

.loading-overlay.active {
  opacity: 1;
  visibility: visible;
}

.loading-spinner {
  width: 60px;
  height: 60px;
  border: 4px solid #f3f3f3;
  border-top: 4px solid var(--bs-primary, #01468e);
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin-bottom: 1rem;
}

.loading-text {
  color: #6c757d;
  font-weight: 500;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

/* Auth tabs integradas */
.modern-auth-tabs {
  display: flex;
  background: #f8f9fa;
  border-radius: 12px;
  padding: 0.5rem;
  margin-bottom: 2rem;
  border: 2px solid #e9ecef;
}

.auth-tab {
  flex: 1;
  padding: 1rem;
  border: none;
  background: none;
  font-weight: 600;
  color: #6c757d;
  border-radius: 8px;
  transition: all 0.3s ease;
  cursor: pointer;
}

.auth-tab.active {
  background: white;
  color: var(--bs-primary, #01468e);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* Responsive unificado */
@media (max-width: 991px) {
  .modern-checkout-wrapper {
    padding: 0 0.5rem;
  }

  .modern-checkout-header {
    padding: 1.5rem;
    border-radius: 12px 12px 0 0;
  }

  .modern-checkout-header h1 {
    font-size: 1.5rem;
  }

  .modern-progress-integrated {
    padding: 1rem 1.5rem;
    margin: 1rem -1.5rem -1.5rem -1.5rem;
  }

  .checkout-step-container {
    padding: 2rem 1.5rem;
  }

  .step-title {
    font-size: 1.5rem;
  }

  .step-icon {
    width: 50px;
    height: 50px;
    font-size: 1.5rem;
  }

  .modern-checkout-summary {
    position: static;
  }

  .step-navigation {
    flex-direction: column;
    gap: 1rem;
  }

  .btn-modern {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 575px) {
  .modern-checkout-header h1 {
    font-size: 1.25rem !important;
  }

  .progress-label {
    font-size: 0.75rem !important;
  }
}

/* Material Icons */
.material-symbols-outlined {
  font-family: "Material Symbols Outlined";
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
}

/* NUEVO: Fallback para checkout normal si JS falla */
.checkout-fallback {
  display: none;
}

.no-js .checkout-fallback {
  display: block;
}

.no-js .modern-checkout-content {
  display: none;
}

.order-summary {
  background: #f8f9fa;
  border-radius: 8px;
  padding: 25px;
  position: sticky;
  top: 20px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.summary-title {
  font-size: 1.2rem;
  font-weight: 600;
  color: #333;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.summary-item {
  display: flex;
  justify-content: space-between;
  margin-bottom: 10px;
  padding: 5px 0;
}

.summary-item.total {
  border-top: 2px solid #dee2e6;
  margin-top: 15px;
  padding-top: 15px;
  font-weight: bold;
  font-size: 1.1rem;
}

.promo-code {
  margin-top: 20px;
  padding: 15px;
  background: #fff;
  border: 1px solid #e9ecef;
  border-radius: 6px;
}

.promo-input {
  display: flex;
  gap: 10px;
  margin-top: 10px;
}

.address-info {
  background: #f8f9ff;
  border: 1px solid #e3f2fd;
  border-radius: 6px;
  padding: 15px;
  margin-bottom: 15px;
}

.form-control {
  border: 2px solid #e9ecef;
  border-radius: 6px;
  padding: 12px 15px;
  font-size: 1rem;
  transition: border-color 0.3s ease;
}

.form-control:focus {
  border-color: #1e4a72;
  box-shadow: 0 0 0 0.2rem rgba(30, 74, 114, 0.25);
}

.btn-primary {
  background: linear-gradient(45deg, #4285f4, var(--bs-primary));
  color: #fff;
  border: 1px solid #2d5aa0; /* evita transparent + !important */
  border-radius: 10px;
  padding: 12px 30px;
  font-size: 1rem;
  font-weight: 600;
  /* SOLO transicionar propiedades “baratas” */
  transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}

/* Hover: NO cambies transition; no animes el gradiente */
.btn-primary:hover {
  /* si quieres cambiar el color, hazlo sin transición o usa una capa */
  /* background: #2d5aa0;  <-- si te hace falta, sin transición */
  border-color: #2d5aa0;
  transform: translateY(-1px) scale(1.01);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
  color: #fff;
}

.btn-success {
  background: #28a745;
  border-color: #28a745;
  padding: 1rem 1.5rem;
  font-size: 1.1rem;
  font-weight: 600;
}
.btn-danger {
    padding: 1rem 1.5rem;
    font-size: 1.1rem;
    border-radius: 6px;
    font-weight: 600;
}

.btn-outline-secondary {
  border: 2px solid #6c757d;
  color: #6c757d;
  padding: 10px 25px;
  border-radius: 6px;
}

.btn-outline-primary {
  border: 2px solid #1e4a72;
  color: #1e4a72;
  padding: 10px 25px;
  border-radius: 6px;
}

.nav-tabs {
  border-bottom: 2px solid #dee2e6;
  margin-bottom: 25px;
}

.nav-tabs .nav-link {
  border: none;
  border-bottom: 3px solid transparent;
  color: #666;
  font-weight: 500;
  padding: 15px 20px;
}

.nav-tabs .nav-link.active {
  border-bottom-color: #1e4a72;
  color: #1e4a72;
  background: none;
}

.form-check {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 15px;
}

.form-check-input {
  width: 18px;
  height: 18px;
}

.alert {
  border-radius: 6px;
  padding: 15px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.alert-info {
  background: #d1ecf1;
  border-color: #bee5eb;
  color: #0c5460;
}

.alert-success {
  background: #d4edda;
  border-color: #c3e6cb;
  color: #155724;
}

.alert-danger {
  background: #f8d7da;
  border-color: #f5c6cb;
  color: #721c24;
}

.payment-logos {
  display: flex;
  gap: 10px;
  margin-top: 10px;
}

.payment-logos img {
  width: 40px;
  height: 25px;
  object-fit: contain;
}

/* Responsive */
@media (max-width: 768px) {
  .checkout-step {
    padding: 20px;
  }

  .progress-steps {
    flex-wrap: wrap;
    gap: 10px;
  }

  .step-label {
    font-size: 0.75rem;
  }

  .order-summary {
    position: static;
    margin-top: 30px;
  }
}

/* Animaciones */
.fade-in {
  opacity: 0;
  animation: fadeIn 0.5s ease forwards;
}

@keyframes fadeIn {
  to {
    opacity: 1;
  }
}

/* Ocultar elementos por defecto */
.ps-hidden {
  display: none !important;
}

.ps-shown-by-js {
  display: block;
}

.ps-hidden-by-js {
  display: none;
}
@media (max-width: 767.98px) {
  .banner-topmenu__brand {
    animation: none !important;
  }
  .banner-topmenu__subtitle {
    animation: none !important;
  }
  .banner-topmenu__description {
    animation: none !important;
  }
  .banner-topmenu__cta {
    animation: none !important;
  }
  .banner-topmenu__features {
    animation: none !important;
  }
  .login-container {
    animation: none !important;
  }
  .contact-section {
    animation: none !important;
  }

  .parallax-container .scroll-container-start,
  .parallax-container .scroll-container-middle,
  .parallax-container .scroll-container-end {
    animation: none !important;
  }
  body#authentication section.register-form {
    animation: none !important;
  }
  .quickview .modal-dialog {
    overflow: hidden;
    box-shadow: none !important;
  }
}

/* === PÁGINA CONFIRMACIÓN DE PEDIDO MODERNA - MASTERLED === */

/* Variables principales */
:root {
  --masterled-primary: #01468e;
  --masterled-secondary: #003577;
  --masterled-success: #28a745;
  --masterled-danger: #dc3545;
  --masterled-light: #f8f9fa;
  --masterled-dark: #333333;
  --border-radius: 12px;
  --shadow-soft: 0 4px 20px rgba(0, 0, 0, 0.08);
  --shadow-elevated: 0 8px 30px rgba(1, 70, 142, 0.15);
  --transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

body#order-confirmation section#main {
  max-width: 1440px;
  float: none;
  margin-inline: auto;
}

/* === HEADER DE CONFIRMACIÓN === */
#content-hook_order_confirmation {
  background: linear-gradient(
    135deg,
    var(--masterled-success) 0%,
    #20c997 100%
  );
  color: white;
  border-radius: var(--border-radius);
  box-shadow: var(--shadow-elevated);
  border: none;
  margin-bottom: 2rem;
  position: relative;
  overflow: hidden;
}

#content-hook_order_confirmation::before {
  content: "";
  position: absolute;
  top: -50%;
  right: -50%;
  width: 100%;
  height: 100%;
  background: radial-gradient(
    circle,
    rgba(255, 255, 255, 0.1) 0%,
    transparent 70%
  );
  transform: rotate(45deg);
}

#content-hook_order_confirmation .card-block {
  padding: 2rem;
  position: relative;
  z-index: 2;
}

#content-hook_order_confirmation h3.card-title {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 1rem;
  color: white;
}

#content-hook_order_confirmation .material-icons {
  font-size: 3rem;
  background: rgba(255, 255, 255, 0.2);
  padding: 0.5rem;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.3);
  display: flex;
  justify-content: center;
  align-items: center;
}

#content-hook_order_confirmation p {
  font-size: 1.1rem;
  opacity: 0.95;
  margin: 0;
  line-height: 1.6;
}

/* === CONTENIDO PRINCIPAL === */
body#order-confirmation #content.page-content {
  background: white;
  border-radius: var(--border-radius);
  box-shadow: var(--shadow-soft);
  border: 1px solid #e9ecef;
  overflow: hidden;
}

body#order-confirmation #content .card-block {
  padding: 2rem;
}

/* === PRODUCTOS PEDIDO === */
#order-items {
  margin-bottom: 2rem;
}

#order-items .row:first-child {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  padding: 1rem;
  margin: 0 0 1.5rem 0;
  border-bottom: 2px solid #dee2e6;
}

#order-items .card-title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--masterled-dark);
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

#order-items ._desktop-title {
  display: none;
}

@media (min-width: 768px) {
  #order-items ._desktop-title {
    display: block;
  }
}

/* === LÍNEA DE PRODUCTO === */
.order-line {
  padding: 1.5rem 0;
  border-bottom: 1px solid #f1f3f5;
  transition: var(--transition);
  border-radius: 8px;
  margin-bottom: 0.5rem;
}

.order-line:hover {
  background: #f8f9fa;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.order-line:last-child {
  border-bottom: none;
}

.order-line .image {
  display: block;
  border-radius: 10px;
  overflow: hidden;
  background: #f8f9fa;
  border: 2px solid #e9ecef;
  transition: var(--transition);
  aspect-ratio: 1;
}

.order-line .image:hover {
  border-color: var(--masterled-primary);
  transform: scale(1.02);
}

.order-line .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.order-line .details {
  padding-left: 1rem;
}

.order-line .details span {
  font-size: 1rem;
  font-weight: 400;
  color: var(--masterled-dark);
  line-height: 1.4;
}

.order-line .qty .row > div {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem;
  font-weight: 600;
}

.order-line .bold {
  color: var(--masterled-primary);
  font-size: 1.2rem !important;
}

/* === TABLA RESUMEN === */
.order-confirmation-table table {
  width: 100%;
  margin-top: 1.5rem;
  background: white;
  border-radius: var(--border-radius);
  overflow: hidden;
  box-shadow: var(--shadow-soft);
  border: 1px solid #e9ecef;
}

.order-confirmation-table table tbody tr {
  border-bottom: 1px solid #f1f3f5;
  transition: var(--transition);
}

.order-confirmation-table table tbody tr:hover {
  background: #f8f9fa;
}

.order-confirmation-table table tbody tr:last-child {
  border-bottom: none;
}

.order-confirmation-table table tbody tr.total-value {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  font-weight: 700;
  font-size: 1.1rem;
  border-top: 2px solid var(--masterled-primary);
}

.order-confirmation-table table tbody tr.sub.taxes {
  color: #856404;
}

.order-confirmation-table table tbody td {
  padding: 1rem 1.5rem;
  vertical-align: middle;
}

.order-confirmation-table table tbody td:first-child {
  font-weight: 400;
  color: #495057;
}

.order-confirmation-table table tbody td:last-child {
  text-align: right;
  font-weight: 600;
  color: var(--masterled-dark);
}

/* Línea específica para tasa reembolso */
#codfee {
  background: linear-gradient(135deg, #fff3cd 0%, #ffeaa7 100%) !important;
  border: 1px solid #ffd93d !important;
}

#codfee td {
  color: #856404 !important;
  font-weight: 600 !important;
}

/* === DETALLES DEL PEDIDO === */
body#order-confirmation #order-details {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  border-radius: var(--border-radius);
  padding: 1.5rem;
  box-shadow: var(--shadow-soft);
  border: 1px solid #dee2e6;
  flex: 0 0 100%;
  width: 100%;
}

body#order-confirmation #order-details h3.card-title {
  color: var(--masterled-primary);
  font-size: 1.3rem;
  font-weight: 600;
  margin-bottom: 1.5rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

body#order-confirmation #order-details h3.card-title::before {
  content: "📋";
  font-size: 1.5rem;
}

body#order-confirmation #order-details ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

body#order-confirmation #order-details ul li {
  padding: 0.75rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  line-height: 1.6;
  font-weight: 500;
  color: var(--masterled-dark);
}

body#order-confirmation #order-details ul li:last-child {
  border-bottom: none;
  background: rgba(var(--masterled-primary), 0.05);
  padding: 1rem;
  border-radius: 8px;
  margin-top: 0.5rem;
  font-style: italic;
}

body#order-confirmation #order-details ul li:last-child em {
  color: var(--masterled-primary);
  font-weight: 600;
}

/* === CONFIRMACIÓN DE PAGO === */
#content-hook_payment_return {
  background: white;
  border-radius: var(--border-radius);
  box-shadow: var(--shadow-soft);
  border: 1px solid #e9ecef;
  margin-top: 2rem;
}

#content-hook_payment_return .card-block {
  padding: 2rem;
}

#content-hook_payment_return .box {
  background: linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%);
  border: 2px solid var(--masterled-primary);
  border-radius: var(--border-radius);
  padding: 1.5rem;
  position: relative;
  overflow: hidden;
}

#content-hook_payment_return .box::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: var(--masterled-primary);
}

#content-hook_payment_return .box p {
  margin: 0;
  line-height: 1.6;
  color: var(--masterled-dark);
}

#content-hook_payment_return .box .bold {
  color: var(--masterled-primary);
  font-weight: 700;
  font-size: 1.1rem;
}

#content-hook_payment_return .box a {
  color: var(--masterled-primary);
  text-decoration: underline;
  font-weight: 600;
  transition: var(--transition);
}

#content-hook_payment_return .box a:hover {
  color: var(--masterled-secondary);
  text-decoration: none;
}

/* === PRODUCTOS DESTACADOS (mantenido igual) === */
#content-hook-order-confirmation-footer {
  margin-top: 3rem;
}

/* === RESPONSIVE === */
@media (max-width: 767px) {
  #content-hook_order_confirmation .card-block {
    padding: 1.5rem;
  }

  #content-hook_order_confirmation h3.card-title {
    font-size: 1.5rem;
    flex-direction: column;
    text-align: center;
    gap: 0.5rem;
  }

  body#order-confirmation #content .card-block {
    padding: 1.5rem;
  }

  #order-items .row:first-child {
    margin: 0 -1.5rem 1.5rem -1.5rem;
    padding: 1rem 1.5rem;
  }

  .order-line {
    padding: 1rem 0;
  }

  .order-line .details {
    padding-left: 0.5rem;
  }

  .order-line .details span {
    font-size: 1rem;
  }

  .order-confirmation-table table tbody td {
    padding: 0.75rem 1rem;
    font-size: 0.9rem;
  }

  body#order-confirmation #order-details {
    margin-top: 2rem;
    padding: 1rem;
  }

  body#order-confirmation #order-details h3.card-title {
    font-size: 1.1rem;
  }
}

/* === ANIMACIONES === */
@keyframes slideInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.order-line {
  animation: slideInUp 0.3s ease-out;
}

@keyframes fadeInScale {
  from {
    opacity: 0;
    transform: scale(0.95);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

#content-hook_order_confirmation,
#content.page-content,
#content-hook_payment_return {
  animation: fadeInScale 0.4s ease-out;
}

/* === UTILIDADES === */
.text-success {
  color: var(--masterled-success) !important;
}
.text-primary {
  color: var(--masterled-primary) !important;
}
.fw-bold {
  font-weight: 700 !important;
}

/* === MEJORAS ADICIONALES === */
hr {
  border: none;
  height: 1px;
  background: linear-gradient(to right, transparent, #dee2e6, transparent);
  margin: 1.5rem 0;
}

/* Grid responsivo para el layout principal */
@media (min-width: 992px) {
  body#order-confirmation #main .page-order-confirmation > .card-block > .row {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 2rem;
    align-items: start;
  }
}

body#order-confirmation .breadcrumb {
  display: none !important;
}

.footer-container {
  position: relative;
}
ul#lang-selector {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  position: relative;
}

ul#lang-selector li {
  margin: 0;
}

ul#lang-selector li a {
  display: flex;
  align-items: center;
  text-decoration: none;
}
ul#lang-selector li input {
  display: none;
}

ul#lang-selector li img {
  width: 20px;
  height: 20px;
  margin-right: 0.5rem;
}
ul#lang-selector > li > ul {
  visibility: hidden;
  opacity: 0;
  transform: translateY(10px);
  pointer-events: none;
  position: absolute;
  bottom: 100%;
  right: 0;
  width: 100%;
  z-index: 99;
}
ul#lang-selector > li:has(> label > input[type="checkbox"]:checked) > ul {
  visibility: visible;
  opacity: 1;
  transform: translateY(-5px);
  pointer-events: all;
}

/* Detectar Safari y aplicar fix + media queries */
@supports (-webkit-appearance: none) and (not (container-type: inline-size)) {
  .products.row {
    container-type: normal !important;
    container-name: none !important;
  }
}

/* Media queries que Safari SÍ puede leer */
@supports (-webkit-appearance: none) {
  @media (max-width: 579px) {
    .products.row {
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
  }
  
  @media (min-width: 580px) and (max-width: 859px) {
    .products.row {
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
  }
  
  @media (min-width: 860px) and (max-width: 1149px) {
    .products.row {
      grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
  }
  
  @media (min-width: 1150px) {
    .products.row {
      grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
  }
}
