:root {
  --primaryColor: 335 100% 50%;
  --secondaryColor: 256 68% 55%;

  --darkColor: 217 80% 10%;
  --whiteColor: 0 0% 100%;
  /* other colors */
  --successColor: 130 70% 55%;
  --dangerColor: 360 100% 60%;
  --warningColor: 30 100% 60%;

  --neutralColor: 210 30% 100%;
  --accentColor: 48 100% 50%;   /* Amarillo arcade (#ffea00) */
  --accentAlt: 180 100% 50%;    /* Cian eléctrico (#00ffff) */

  --gradient: linear-gradient(35deg,hsl(var(--primaryColor) / 1) 0%, hsl(var(--secondaryColor) / 1) 100%);
	/* Tamaños responsivos */
	--fsize-xs: clamp(0.5rem, 1vw + 0.20rem, 0.75rem);
	--fsize-sm: clamp(0.75rem, 1vw + 0.25rem, 1rem);
	--fsize-md: clamp(1rem, 1.5vw + 0.5rem, 1.5rem);
	--fsize-lg: clamp(1.5rem, 2vw + 0.5rem, 2.5rem);
	--fsize-xl: clamp(2rem, 3vw + 1rem, 3.5rem);
	--fsize-responsive: clamp(var(--fsize-base), 2vw + 1rem, 2rem);

  --fw-light: 300;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --fw-extrabold: 800;
  --fw-black: 900;

  --lh-heading: 1.2;    /* Encabezados */
  --lh-normal: 1.5;     /* Texto base */
  --lh-small: 1.4;      /* Texto pequeño */
  --lh-large: 1.6;      /* Texto grande / bloques de lectura */
  --lh-caption: 1.3;    /* Subtítulos o pies de imagen */

  /* Espaciado */
  --xs: 0.25rem;
  --sm: 0.5rem;
  --md: 1rem;
  --lg: 1.5rem;
  --xl: 2rem;

  --padding-xs: var(--xs);
  --padding-sm: var(--sm);
  --padding-md: var(--md);
  --padding-lg: var(--lg);
  --padding-xl: var(--xl);

  /* Sombras */
  --shadow-xs: 0 1px 2px hsl(var(--darkColor) / 0.15);
  --shadow-sm: 0 2px 4px hsl(var(--darkColor) / 0.2);
  --shadow-md: 0 4px 8px hsl(var(--darkColor) / 0.25);
  --shadow-lg: 0 8px 16px hsl(var(--darkColor) / 0.3);
  --shadow-xl: 0 12px 24px hsl(var(--darkColor) / 0.35);

  --shadow-glow: 0 0 8px hsl(var(--accentColor) / 0.6), 0 0 15px hsl(var(--accentColor) / 0.4);
  --shadow-inset: inset 0 2px 4px hsl(var(--darkColor) / 0.25);
  --shadow-left: -4px 0 12px -4px hsl(var(--darkColor) / 0.2);
    
}
@font-face {
  font-family: 'Gilroy';
  src: url('Gilroy-Extrabold.eot');
  src: local('Gilroy Extrabold'), local('Gilroy-Extrabold'),
  url('Gilroy-Extrabold.eot?#iefix') format('embedded-opentype'),
  url('Gilroy-Extrabold.woff') format('woff'),
  url('Gilroy-Extrabold.ttf') format('truetype');
  font-weight: 800;
  font-style: normal;
}

body {
  background-color: hsl(var(--neutralColor) / 1);
  color: hsl(var(--darkColor) / 1);
  
}
.container {
  margin: 0 auto;
  padding: var(--padding-md);
  max-width: 1200px;
  gap: var(--xl);
}

/* header */
header {
  display: flex;
  flex-direction: column;
  background: hsl(var(--whiteColor) / 1);
  margin-block-end: 1em;
  & h6 {
    color: hsl(var(--whiteColor) / 1);
  }
}
.header__top {
  background-color: hsl(var(--darkColor) / 1%);

  & .header__top-main {
    color: hsl(var(--darkColor) / 1);
    display: flex;
    align-items: center;
    justify-content: space-between;
    

    & .header__top-text {
      display: flex;
      align-items: center;
      gap: 2rem;
    }
    & .header__menu {
      display: flex;
      align-items: center;
      gap: 2rem;
      & .separador {
        border-color: hsl(var(--darkColor) / 1);
      }
      & .minicart-icon {
        border-color: hsl(var(--darkColor) / 1);
      }
      & ul {
        display: flex;
        margin: 0;
        padding: 0;
        gap: 1rem;
      }
    }
  }
}

.header__main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 2rem;
  padding-block: 2rem;

  & .header__main-brand {
    display: flex;
    align-items: center;
    gap: 1rem;
  
    flex: 0 0 auto;
    max-width: 20em;
    & img {
      max-width: 100%;
      height: auto;
      display: block;
      order: 1;
      fill: hsl(var(--darkColor) / 1);
    }
  }

  & .header__main-option {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex: 0 0 auto;
    gap: 1.5rem;
    order: 3;
  }
}

.header__top-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  & a {
    margin: 0;
    line-height: normal;
  }
  & .social__list {
    margin: 0;
    display: flex;
    gap: 1rem;
    & .social-icon {
      color: hsl(var(--darkColor) / 1);
      &:hover {
        color: hsl(var(--whiteColor) / 1);
      }
    }
  }
}


/*  */
.search-bar {
  display: flex;
  align-items: center;
  /* width: 80%; */
  border-radius: 1rem;
  overflow: hidden;
  flex: 1 1 auto;
  min-width: 300px;
  max-width: 100%;
  order: 2; /* Por defecto */

  & input, & select, & button {
    border: 0;
    padding: 1em;
    appearance: none;
    outline: none;
    box-shadow: none;
    font-size: var(--fsize-md);
    background-color: hsl(var(--darkColor) / 0.05);
    color: hsl(var(--darkColor) / 1);
    border-right: 1px solid hsl(var(--darkColor) / 0.09);

    & option[value=""] {
      color: hsl(var(--darkColor) / 1);
      font-style: italic;
    }
  }
  & input, & select {
    min-width: 100px;
    /* flex: 1 1 auto; */
  }
  & input {
    flex: 1;
    min-width: 25em;
  }
  & select {
    & option[value=""] {
      color: hsl(var(--darkColor) / 1);
      font-style: italic;
    }
  }
  & button {
    padding-inline: 2em;
    background-color: hsl(var(--darkColor) / 1);
    color: hsl(var(--whiteColor) / 1);
    &:before {
      font-weight: var(--fw-extrabold);
    }
    &:hover {
      color: hsl(var(--whiteColor) / 1);
      background-color: hsl(var(--darkColor) / 0.8);
    }
  }
}

@media (max-width: 768px) {
  .header__top {
    & .header__top-main {
      width: 100%;
      & .header__top-option {
        flex: 1;
      }
      .header__top-text {
        display: none;
      }
    }
  }
  .header__main-brand {
    order: 1;
  }
  .header__main {
    & .header__main-option {
      order: 2;
    }
  }
  .search-bar {
    order: 3;

      & input, & select {
        min-width: fit-content;
        flex: 1 1 auto;
    }
  }
  .navNew {
    display: none;
  }
}

.carrito {
  display: inline;
  position: relative;
  & i {
    color: hsl(var(--darkColor) / 1);
  }
}

.cart-dropdown .mobile-cart {
  margin: 0;
  padding: 0;
}
/* .dropdown-menu.show {
  height: fit-content;
  min-height: 50dvh;
  top: 20px;
  bottom: 20px;
  right: 20px;
  left: auto;

} */
.sticky-header.fixed {
  background: var(--gradient);
  box-shadow: var(--shadow-lg);
  flex-direction: column;
  color: white;
  & .header__main-brand {
    display: flex;
    & svg {
      fill: hsl(var(--whiteColor) / 1);
    }
    & img {
      filter: brightness(0) invert(1);
    }
  }
  & .header__main {
    padding-block: 0;
  }
  & .navNew {
    background: transparent;
    box-shadow: none;
  }
  .search-bar {
    & input, & select {
      color: hsl(var(--darkColor) / 1);
      background-color: hsl(var(--whiteColor) / 0.9);
      border-right: 1px solid hsl(var(--darkColor) / 0.09);
    }

  }

  .carrito {
    & i {
        color: hsl(var(--whiteColor) / 1);
    }
  }
}
.dropdown-arrow .badge-circle {
  top: -10px;
  right: -10px;
  line-height: normal;
  padding: 0.25em;
  width: 2em;
  height: 2em;
  display: flex;
  font-weight: var(--fw-bold);
  align-items: center;
  justify-content: center;
}


.header-icon.header-search-inline {
  margin: 0;
}
.header-search .select-custom select {
  border: 0;
}
.header-search .select-custom {
  width: auto;
  & input::placeholder,
  & textarea::placeholder {
      color: hsl(var(--darkColor) / 0.05);
      font-style: italic;
      opacity: 1;
  }
  & select {
    color: hsl(var(--darkColor) / 1);
    appearance: none; /* elimina estilo nativo */
    & option {
      color: red;
    }
  }
}

/* pisamos */
.header-contact {
  margin: 0;
  color: hsl(var(--whiteColor) / 1);
}
.header-search-category .form-control {
  border-radius: 1rem 0 0 1rem;
  padding: 1rem;
}
.header-search .form-control, .header-search .select-custom {
  background-color: hsl(var(--darkColor) / 0.05);
  color: hsl(var(--darkColor) / 1);
}
.header-search-wrapper .btn {
  display: flex;
  padding: 0;
  padding-inline: 3rem;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  background-color: hsl(var(--darkColor) / 1);
  border-radius: 0 1rem 1rem 0;
  color: hsl(var(--whiteColor) / 1);
  &:before {
    margin: 0;
  }
}

.dropdown-arrow:after {
  display: none;
}
.home {
  display: flex;
  flex-direction: column;
}
.separador {
  height: 1rem;
  border-left: 1px solid hsl(var(--darkColor) / 10%);
  margin: 0;
}
.info__boxes {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  border: 1px solid hsl(var(--darkColor) / 10%);
  border-radius: 1rem;
  & .separador {
    height: 5rem;
  }

  & .info__item {
    display: flex;
    align-items: center;
    width: fit-content;
    padding: 2rem;
    gap: 2rem;

    & i {
      font-size: var(--fsize-xl);
      color: hsl(var(--primaryColor) / 1);
    }
    & .info__item-content {
      display: flex;
      flex-direction: column;

      & h4, & p {
        margin: 0;
        color: hsl(var(--darkColor) / 1);
      }
      & h4 {
        font-size: var(--fsize-md);
      }
    }
  }
}
/* Slider */
.hero__slider {
	position: relative;
	width: 100%;
	height: 25%;
  margin-block-end: 5rem;
	overflow: hidden;
  border-radius: 1rem;
  box-shadow: var(--shadow-md);
	& .slideNew {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
    
		background-size: cover;
		background-position: center;
		opacity: 0;
		transition: opacity 0.8s ease-in-out;
		/* mask-image: linear-gradient(black 80%, transparent); */
		&.active {
			opacity: 1;
		}
		&::before {
			content: "";
			position: absolute;
			top: 0;
			left: 0;
			right: 0;
			bottom: 0;
			background-color: rgba(0, 0, 0, 0.05);
			z-index: 1;
		}  
		& .slide__content {
			display: flex;
			align-items: flex-start;
			flex-direction: column;
			justify-content: center;
			flex: 1;
			
			width: 100%;
			height: 100%;
			gap: var(--md);
			max-width: 1140px;
			padding: var(--padding-md);
			margin: 0 auto;
			
			& h2 {
				width: 70%;
				color: hsl(var(--primaryColor) / 1);
				font-size: var(--fsize-xl);
				font-weight: var(--fw-black);
				line-height: var(--lh-heading);
				text-shadow: var(--shadow--lg);
				
			}
			  
			& p {
				width: 60%;
				color: hsl(var(--whiteColor) / 1);
				font-size: var(--fsize-md);
				font-weight: var(--fw-semibold);
				text-shadow: var(--shadow);
			}
			& h2, & p, & a {
				z-index: 2;
			}
		}
	}

	  
	& .slide__btn {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		background: hsl(var(--darkColor) / 0.1);
		color: white;
		border: none;
		padding: var(--padding-md);
		cursor: pointer;
		border-radius: 1rem;
    line-height: normal;
    font-size: var(--fsize-lg);
		z-index: 2;
		&:hover {
			background: hsl(var(--darkColor) / 60%);
		}

		&.slide__prev {
			left: 0.25em;
		}

		&.slide__next {
			right: 0.25em;
		}
	}
	
	& .dots {
		position: absolute;
		bottom: 20px;
		left: 50%;
		transform: translateX(-50%);
		display: flex;
		gap: var(--md);
		z-index: 2;
		& .dot {
			width: 10px;
			height: 10px;
			background-color: hsl(var(--whiteColor) / 60%);
			border-radius: 50%;
			cursor: pointer;
			transition: background-color 0.3s;
			&:hover {
				background-color: hsl(var(--whiteColor) / 1);
			}
			&.active {
				border-radius: 10px;
				background-color: hsl(var(--primaryColor) / 1);
				transition: all 0.3s ease-out;
			}
		}
	}
}
@media screen and (max-width: 768px) {
  .hero__slider {
    height: 10dvh;
  }
}

main, .wrapper, .container {
  overflow: visible !important;
}
.sidebar-home {
  position: sticky;
  top: 1rem;
  max-height: calc(100vh - 2rem);
  overflow-y: auto;
  align-self: start;
}


.side-menu-wrapper {
  border-radius: 1rem;
  overflow: hidden;
}
.product-default figure {
  border-radius: 1rem;
    overflow: hidden;
}

/* navegacion nueva */
.navNew {
  background: var(--gradient);
  box-shadow: var(--shadow-md);
  & .container {
    padding: inherit;
  }
}
.nav--2 {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.nav__list {
  list-style: none;
  display: flex;
  margin: 0;
  padding: 0;
  & .nav__item {
    padding: var(--padding-md) var(--padding-lg);
    border-bottom: 3px solid transparent;
    transition: all 0.2s ease-in-out;
    color: hsl(var(--whiteColor) / 1);
    & a:focus, & a:hover,
    &:hover {
      color: hsl(var(--whiteColor) / 1);
      border-color: color: hsl(var(--whiteColor) / 1);
    }
    & .nav__link {
      text-decoration: none;
      font-weight: var(--fw-medium);
      font-size: 1.2em;
    }
  }
  & .nav__item--active {
    background-color: hsl(var(--darkColor) / 3%);
    color:hsl(var(--whiteColor) / 1);
    border-color:hsl(var(--whiteColor) / 1)
  }
}





/* nav lateral (categorias) */
.side-menu-title {
  background: hsl(var(--darkColor) / 1);
  color: hsl(var(--whiteColor) / 1);
}
.menu > li {
  margin: 0;
}
.menu-vertical {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.menu-vertical>li {
  padding: 0;
  border-bottom: 1px solid hsl(var(--darkColor) / 10%);
}
.menu-vertical>li>a {
  padding: var(--padding-md);
  display: flex;
  justify-content: space-between;
}
.menu-vertical>li:first-child a {
  padding-inline: var(--padding-md);
}

.menu-vertical>li i {
  margin: 0;
}

.menu-vertical>li.active, .menu-vertical>li.show, .menu-vertical>li:hover {
  background: hsl(var(--darkColor) / 5%);
}
.menu-vertical>li.active>a, .menu-vertical>li.show>a, .menu-vertical>li:hover>a {
  color: hsl(var(--darkColor) / 1);
}


.inner-quickview figure .btn-quickview {
  background: var(--gradient);
  font-weight: var(--fw-bold);
}

.side-menu-wrapper {
  border: 1px solid hsl(var(--darkColor) / 10%);
  & h2 {
    color: hsl(var(--whiteColor) / 1);
    background-color: hsl(var(--darkColor) / 1);
    padding: var(--padding-md);
    font-size: var(--fsize-md);
    margin: 0;
  }
}


/* loader */
.loader__main {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  align-items: center;
}
.loader {
  width: 48px;
  height: 48px;
  border: 5px solid;
  border-color: hsl(var(--primaryColor) / 1) transparent;
  border-radius: 50%;
  display: inline-block;
  box-sizing: border-box;
  animation: rotation 1s linear infinite;
}

@keyframes rotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

a:hover, a:focus {
  color: hsl(var(--secondaryColor) / 1);;
  text-decoration: none;
}
footer {
  background-color: hsl(var(--darkColor) / 1);
  color: hsl(var(--whiteColor) / 1);

  & img {
    filter: brightness(0) invert(1);
  }
  & h3, & a {
    color: hsl(var(--primaryColor) / 1);
  }
  & .footer__list {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 2em;

    & .footer__list-item {
      display: flex;
      gap: 1em;
      & i {
        color: hsl(var(--primaryColor) / 1);
      }
      & p {
        line-height: normal;
        margin: 0;
      }
    }
  }
}
.footer-copyright {
  background: var(--gradient);
  color: hsl(var(--whiteColor) / 1);
  & p {
    margin: 0;
  }
}
footer .payment-icons {
  text-align: right;
}
.footer-ribbon {
  background-color: hsl(var(--primaryColor) / 1);
  &::before {
    border-right: 10px solid hsl(var(--secondaryColor) / 1);
  }
}
.brands-slider {
 margin-block: 2em;
}
.owl-carousel.owl-drag .owl-item .filtered {
  max-width: 30%;
}

.carousel-control-next,
.carousel-control-prev {
  border: 0;
}