.home-video {
  width: 100%;
  height: 520px; /* altura del hero */
  display: flex;
  align-items: center; /* centra vertical */
  justify-content: center; /* centra horizontal */
  background-color: #faecdc; /* relleno elegante */
  overflow: hidden;
}

.home-video video {
  width: 688px; /* tamaño real */
  max-width: 100%;
  height: auto;
}
@media (max-width: 768px) {
  .home-video {
    height: auto; /* hero flexible */
    padding: 20px 0;
  }

  .home-video video {
    width: 100%; /* en móvil ocupa el ancho */
  }
}

/* --- BOTON DE COMPRA --- */

/* Botón de compra: Amarillo, rectangular y redondeado */
.add-to-cart {
  background-color: #ffe872 !important; /* Amarillo Amazon */
  color: #111111 !important; /* Texto e icono en negro */
  border: none !important;

  /* El toque redondeado */
  border-radius: 25px !important; /* Esquinas bien suavizadas */

  /* Dimensiones y espaciado */
  min-width: 180px !important;
  height: 36px !important;
  padding: 0 25px !important;

  /* Alineación de contenido */
  display: inline-flex !important;
  align-items: center;
  justify-content: center;

  /* Texto */
  font-size: 15px !important;
  font-weight: 600 !important;
  text-transform: none !important;

  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* Efecto al pasar el ratón */
.add-to-cart:hover {
  background-color: #f7ca00 !important;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15); /* Sombra un poco más profunda al pasar el ratón */
}

/* Ajuste del icono interno */
.add-to-cart i.material-icons {
  font-size: 20px !important;
  margin-right: 8px !important;
  color: #111111 !important;
}

/* Limpieza de intentos anteriores */
.add-to-cart::after {
  display: none !important;
}

/* Estilos para la tabla de información del producto */

/* Contenedor de la tabla */
.product-info-table {
  margin-top: 20px;
  width: 70%;
  border-collapse: separate;
  border-spacing: 0 8px;
  background-color: transparent;
  font-size: 1.05rem;
}

/* Estilo base de las filas */
.product-info-table tr {
  background-color: #fff; /* Fondo de la columna de datos en filas impares */
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}

/* Estilo de las celdas */
.product-info-table td {
  padding: 12px 15px;
  vertical-align: middle;
  color: #444;
  border: none;
}

/* Redondeado de esquinas */
.product-info-table td:first-child {
  border-radius: 8px 0 0 8px;
}
.product-info-table td:last-child {
  border-radius: 0 8px 8px 0;
}

/* --- LÓGICA DE EFECTO CEBRA --- */

/* FILAS IMPARES (1, 3, 5...) */
.product-info-table tr:nth-child(odd) td.label-column {
  background-color: #eee; /* El gris que ya tenías */
}

/* FILAS PARES (2, 4, 6...) */
/* Aplicamos un tono más claro a toda la fila */
.product-info-table tr:nth-child(even) {
  background-color: #fcfcfc; /* Datos más claritos */
}

.product-info-table tr:nth-child(even) td.label-column {
  background-color: #f5f5f5; /* Etiqueta más clarita (intermedio entre blanco y #eee) */
}

/* --- DETALLES FINALES --- */

.product-info-table td.label-column {
  color: #333;
  width: 20%;
}

.product-info-table strong {
  font-weight: 600;
  color: #222;
  font-size: 1rem;
  letter-spacing: 0.5px;
}

.price-value {
  color: #2fb5d2;
  font-weight: bold;
}

@media (max-width: 576px) {
  .product-info-table {
    width: 100%;
  }
  .product-info-table td.label-column {
    width: 45%;
  }
}

.autor-link {
  color: #2c3e50;
  text-decoration-line: underline;
  text-decoration-style: dashed; /* estilo de subrayado */
  text-decoration-color: #2980b9; /* color del subrayado */
  text-decoration-thickness: 0.5px; /* un poco más visible */
  text-underline-offset: 5px; /* más separado del texto */
  transition:
    color 0.2s ease,
    text-decoration-color 0.2s ease;
}

.autor-link:hover {
  color: #c0392b;
  text-decoration-style: solid; /* en hover se vuelve continuo */
}

.product-author {
  font-size: 1.2rem;
  margin: 4px 12px 12px 0px;
  padding-bottom: 24px;
  font-weight: 400;
  color: #3a3a3a;
}

.product-title {
  height: auto !important;
  min-height: 0 !important;
  margin-bottom: 2px !important;
  padding-bottom: 0 !important;
}

.product-description-container {
  min-height: 75px;
  flex-direction: column;
  justify-content: flex-start;
}

.product-author-list {
  display: block !important;
  vertical-align: top;
}

.de-text {
  font-size: 14px !important;
  font-style: normal;
  color: #999;
}
.author-link-name {
  font-size: 14px !important;
  color: #2b98ff !important;
  transition: color 0.2s;
}

.author-link-name:hover {
  color: #1b8da3 !important;
  text-decoration: none !important;
}
.author-others {
    font-size: 14px !important;
    color: #999;
    font-style: normal;
    font-weight: normal;
}

/* Espaciado para el autor en el Modal */
.product-author-quickview {
    padding: 5px 0 15px 0; /* Un poco de aire arriba y abajo */
    border-bottom: 1px solid #ebebeb; /* Una línea divisoria fina */
    margin-bottom: 15px !important;
}

.product-author-quickview .author-prefix {
    font-size: 14px;
    color: #9b9b9b;
    text-transform: lowercase;
}

.product-author-quickview .author-link-name {
    font-size: 16px !important;
    color: #2b98ff !important;
    font-weight: bold;
}

/********************************************************
			Codezeel Custom Styles
********************************************************/
.cz-carousel {
  display: none;
  position: relative;
  float: left;
  width: 100%;
  margin: 0;
  -ms-touch-action: pan-y;
}

.owl-carousel .owl-wrapper {
  display: none;
  position: relative;
  -webkit-transform: translate3d(0px, 0px, 0px);
}

.owl-carousel .owl-wrapper:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}

.owl-carousel .owl-wrapper-outer {
  overflow: hidden;
  position: relative;
  float: left;
  width: 100%;
}

.owl-carousel .owl-wrapper-outer.autoHeight {
  -webkit-transition: height 500ms ease-in-out;
  -moz-transition: height 500ms ease-in-out;
  -ms-transition: height 500ms ease-in-out;
  -o-transition: height 500ms ease-in-out;
  transition: height 500ms ease-in-out;
}

.owl-carousel .owl-item {
  float: left;
}

.owl-carousel .owl-item .manu_image a {
  display: inline-block;
}

.owl-carousel .owl-item .manu_image a img {
  max-width: 100%;
}

.owl-carousel .owl-wrapper,
.owl-carousel .owl-item {
  /* fix */
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  text-align: center;
}

/* mouse grab icon */
.grabbing {
  cursor:
    url("../img/codezeel/grabbing.png") 8 8,
    move;
}

.customNavigation {
  position: absolute;
  z-index: 8;
  width: 100%;
  top: 30%;
  direction: ltr !important;
  left: 0;
  right: 0;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
  opacity: 0;
  filter: alpha(opacity=0);
}

.featured-products .customNavigation {
  top: 30%;
}

.customNavigation a {
  font-size: 0;
  position: absolute;
  font-weight: 300;
  height: 33px;
  width: 33px;
  line-height: 29px;
  padding: 0;
  background: #f0f0f0;
  cursor: pointer;
  overflow: hidden;
  -webkit-transition: all 0.5s ease;
  -webkit-transition-delay: 0s;
  -moz-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -khtml-border-radius: 5px;
  -moz-border-radius: 5px;
  border: 0;
}

.customNavigation a:hover {
  background: #fcdfb0;
}

.customNavigation a.prev {
  left: 0px;
  background-position: 1px 2px;
}

.customNavigation a.next {
  right: 0px;
  background-position: -56px 2px;
}

.nivo-directionNav a {
  width: 50px;
  height: 50px;
}

.customNavigation a.prev::before {
  content: "\f104";
}

.customNavigation a.next::before {
  content: "\f105";
}

.images-container .js-qv-mask .customNavigation a::before {
  font-size: 30px;
}

.customNavigation a::before {
  font-size: 20px;
  font-family: "FontAwesome";
  color: #000;
}

.czhomeslider .nivo-directionNav .nivo-prevNav {
  background-image: url(../img/codezeel/slider-left-arrow.svg);
}

.czhomeslider .nivo-directionNav .nivo-nextNav {
  background-image: url(../img/codezeel/slider-right-arrow.svg);
}

.czhomeslider .nivo-directionNav .nivo-prevNav:hover {
  background-image: url(../img/codezeel/slider-left-arrow-hover.svg);
}

.czhomeslider .nivo-directionNav .nivo-nextNav:hover {
  background-image: url(../img/codezeel/slider-right-arrow-hover.svg);
}

@media (max-width: 1500px) {
}

@media (max-width: 991px) {
  .customNavigation a.prev {
    left: 0;
  }

  .customNavigation a.next {
    right: 0;
  }
}

@media (max-width: 1199px) and (min-width: 401px) {
}

#czleftbanner img,
#czrightbanner img {
  max-width: 100%;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -khtml-border-radius: 5px;
  -moz-border-radius: 5px;
}

#czleftbanner li,
#czrightbanner li {
  display: inline-block;
}

#czleftbanner li a,
#czrightbanner li a {
  display: inline-block;
  overflow: hidden;
  position: relative;
}

#czleftbanner li a:before,
#czrightbanner li a:before {
  background: rgba(255, 255, 255, 0.5) none repeat scroll 0 0;
  bottom: 20px;
  content: "";
  left: 20px;
  opacity: 1;
  position: absolute;
  right: 20px;
  top: 20px;
  opacity: 1;
  filter: alpha(opacity=100);
  -webkit-transform: scale(0);
  -ms-transform: scale(0);
  transform: scale(0);
}

#czleftbanner li:hover a:before,
#czrightbanner li:hover a:before {
  opacity: 0;
  filter: alpha(opacity=0);
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  -webkit-transition: all 1s ease;
  -moz-transition: all 1s ease;
  -o-transition: all 1s ease;
  transition: all 1s ease;
}

.top_button {
  bottom: 90px;
  cursor: pointer;
  display: none;
  height: 40px;
  padding: 0px 11px;
  position: fixed;
  right: 20px;
  text-align: center;
  width: 40px;
  z-index: 99;
  font-size: 0px;
  background: #fcdfb0;
  -webkit-animation-name: hvr-icon-bob-float, hvr-icon-bob;
  animation-name: hvr-icon-bob-float, hvr-icon-bob;
  -webkit-animation-duration: 0.3s, 1.5s;
  animation-duration: 0.3s, 1.5s;
  -webkit-animation-delay: 0s, 0.3s;
  animation-delay: 0s, 0.3s;
  -webkit-animation-timing-function: ease-out, ease-in-out;
  animation-timing-function: ease-out, ease-in-out;
  -webkit-animation-iteration-count: 1, infinite;
  animation-iteration-count: 1, infinite;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-direction: normal, alternate;
  animation-direction: normal, alternate;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -khtml-border-radius: 5px;
  -moz-border-radius: 5px;
}

.top_button::before {
  color: #1e1e1e;
  content: "\f102";
  font-family: "FontAwesome";
  font-size: 25px;
  line-height: 39px;
  font-weight: 300;
}

.top_button::after {
  border: 2px solid #fcdfb0;
  bottom: -5px;
  height: 50px;
  opacity: 1;
  right: -5px;
  content: "";
  position: absolute;
  width: 50px;
  animation: blink 2s steps(5, start) infinite;
  -webkit-animation: blink 1s steps(5, start) infinite;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -khtml-border-radius: 5px;
  -moz-border-radius: 5px;
}

.top_button:hover:after {
  animation: unset;
  -webkit-animation: unset;
}

@keyframes blink {
  to {
    visibility: hidden;
  }
}

@-webkit-keyframes blink {
  to {
    visibility: hidden;
  }
}

/* Icon Bob */
@-webkit-keyframes hvr-icon-bob {
  0% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px);
  }

  50% {
    -webkit-transform: translateY(-2px);
    transform: translateY(-2px);
  }

  100% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px);
  }
}

@keyframes hvr-icon-bob {
  0% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px);
  }

  50% {
    -webkit-transform: translateY(-2px);
    transform: translateY(-2px);
  }

  100% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px);
  }
}

@-webkit-keyframes hvr-icon-bob-float {
  100% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px);
  }
}

@keyframes hvr-icon-bob-float {
  100% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px);
  }
}

/* Flexslider */

#index .spinner {
  background: url(../img/codezeel/loading.gif) no-repeat center center #f0f0f0;
  width: 100%;
  background-size: 2%;
  min-height: 510px;
}

@media (max-width: 1600px) {
  .customNavigation a.prev {
    left: 0;
  }

  .customNavigation a.next {
    right: 0;
  }
}

@media (max-width: 1459px) {
  #index .spinner {
    min-height: 575px;
  }
}

@media (max-width: 1199px) {
  #index .spinner {
    min-height: 473px;
  }
}

@media (max-width: 991px) {
  #index .spinner {
    min-height: 338px;
  }
}

@media (max-width: 575px) {
  #index .spinner {
    min-height: 196px;
  }
}

@media (max-width: 480px) {
  #index .spinner {
    min-height: 163px;
  }
}

@media (max-width: 380px) {
  #index .spinner {
    min-height: 150px;
  }
}

@media (max-width: 320px) {
  #index .spinner {
    min-height: 109px;
  }
}

/* ------------------------------------------ */
/* 1️⃣ Galerías normales de productos */
/* Se aplica solo a los listados estándar y se excluyen módulos especiales */
/* ------------------------------------------ */
.products:not(.special-products) .product-miniature {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* La descripción ocupa el espacio restante */
.products:not(.special-products) .product-miniature .product-description {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}

/* Botón "Añadir a la cesta" al fondo */
.products:not(.special-products) .product-miniature .product-actions {
  margin-top: auto;
}

/* ------------------------------------------ */
/* 2️⃣ Títulos truncados con "..." si exceden 2 líneas */
/* ------------------------------------------ */
.products:not(.special-products) .product-miniature .product-title {
  display: -webkit-box;
  -webkit-line-clamp: 2; /* Máximo 2 líneas */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  min-height: 3em; /* Ajusta según line-height */
}

/* ------------------------------------------ */
/* 3️⃣ Precio más grande y en rojo */
/* ------------------------------------------ */
.products:not(.special-products)
  .product-miniature
  .product-price-and-shipping
  .price {
  font-size: 1.3em; /* Tamaño más grande */
  color: #ff0000; /* Rojo brillante */
  font-weight: bold;
}

/* ------------------------------------------ */
/* 4️⃣ Ajustes opcionales para reviews o estrellas */
.products:not(.special-products) .product-miniature .product-list-reviews {
  margin-top: auto; /* Mantener alineación al fondo si hay reviews */
}
/* Precio en la ficha de producto */
.product-price-and-shipping .price,
.product-prices .current-price {
  color: #ff0000; /* Mismo rojo que los listados */
  font-weight: bold;
  font-size: 1.3em; /* Opcional: mismo tamaño que en listados */
}
