:root {
  --theme-color-default: #e31e24;
  --theme-color-secondary: #303338;
}




/* ----- ENLACES ----- */
a:hover {
     color: var(--theme-color-default);
}

/* ----- TOP BAR ----- */
.elementor-3 .elementor-element.elementor-element-077f60a .linklist-menu :hover {
  color: var(--theme-color-default) !important;
}

/*  Icono Teléfono */
.header_block_link .list-items .list-item:nth-child(2) a.item-text::before {
  content: "\f095"; /* unicode fa-phone */
  font-family: "FontAwesome"; /* coincide con font-awesome.min.css */
  font-style: normal;
  font-weight: normal;
  font-size: 15px;
  margin-right: 8px;
}

/* Icono WhatsApp */
.header_block_link .list-items .list-item:nth-child(3) a.item-text::before {
  content: "\f232"; /* unicode fa-whatsapp */
  font-family: "FontAwesome"; 
  font-style: normal;
  font-weight: normal;
  font-size: 15px;
  margin-right: 8px;
}

/*  Icono Email (Sobre) */
.header_block_link .list-items .list-item:nth-child(4) a.item-text::before {
  content: "\f0e0"; /* unicode fa-envelope */
  font-family: "FontAwesome";
  font-style: normal;
  font-weight: normal;
  font-size: 15px;
  margin-right: 8px;
}

/* Borde de cada elemento */
.linklist-menu li.horizontal::before {
  background-color: #f5f5f5 !important;
}




/* ----- HEADER PRINCIPAL ----- */

/* Contenedor del buscador */
#leo_search_block_top {
  background: #ffffff;
  border-radius: 30px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  padding: 4px;
  overflow: hidden;
  max-width: 680px;
  margin: auto;
}

/* Input del buscador */
#leo_search_block_top input.search_query {
  padding: 12px 18px;
}

#leo_search_block_top input.search_query::placeholder {
  color: #999;
}

#leo_search_block_top .list-cate-wrapper #dropdownListCateTop.select-title:hover {
  color: var(--theme-color-default) !important; 
}

/* Botón de búsqueda */
#leo_search_top_button {
  background: var(--theme-color-default) !important;
  border-radius: 30px !important;
  margin-left: 5px;
  transition: background 0.3s ease !important;
}

#leo_search_top_button:hover {
  background-color: var(--theme-color-secondary) !important;
}

/* Selector de categoría */
.list-cate-wrapper .select-title {
  color: var(--theme-color-secondary) !important;
  font-weight: 500;
  font-size: 14px !important;
}

#leosearchtopbox a.cate-item.active, 
#leosearchtopbox a.cate-item:hover, #leosearchbox a.cate-item.active, 
#leosearchbox a.cate-item:hover {
  background: var(--theme-color-default);
}

/* Resultados de búsqueda (sugerencias) */
#leo_search_block_top,
#leo_search_block_top .block_content,
#leo_search_block_top .leoproductsearch-result,
#leo_search_block_top form {
  position: relative !important;
  overflow: visible !important;
  z-index: 9999 !important;
}

.ac_results,
.lps_results,
.ac_results.lps_results {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  width: 100% !important;
  max-height: 400px !important;
  background: #fff !important;
  color: var(--theme-color-secondary);
  border: 1px solid var(--theme-color-default) !important;
  border-radius: 10px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
  z-index: 100000 !important;
  opacity: 1 !important;
  visibility: visible !important;
  overflow-y: hidden;
  padding: 10px !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.ac_results.lps_results .search-value-title {
  font-weight: bold !important;
  color: var(--theme-color-default) !important;
  font-size: 15px;
  margin-bottom: 4px !important;
  padding: 4px 10px 0 !important;
}

.ac_results.lps_results ul {
  list-style: none;
  margin: 0;
  padding: 0 10px 10px;
}

#leo_search_block_top .search-in-product ul {
  border: none;
}

.ac_results.lps_results ul li {
  padding: 5px 0;
  border-bottom: 1px solid #f0f0f0;
}

.ac_results.lps_results ul li:last-child {
  border-bottom: none;
}

.ac_results.lps_results .suggest-item {
  text-decoration: none;
  color: #303338;
  font-weight: 600;
}

.ac_results.lps_results .suggest-item:hover {
  color: #e31e24;
  text-decoration: underline;
}

.ac_results.lps_results .lps-result-img {
  float: left;
  margin-right: 10px;
  width: 60px;
  height: auto;
}

.ac_results.lps_results .lps-result-img img {
  max-width: 100%;
  border-radius: 4px;
}

.ac_results.lps_results .lps-result-content {
  overflow: hidden;
}

.ac_results.lps_results .lps-result-title {
  font-weight: bold;
  font-size: 14px;
  color: #303338;
}

.ac_results.lps_results .lps-result-price {
  color: #e31e24;
  font-weight: 600;
  font-size: 14px;
  margin-top: 4px;
}

.ac_results.lps_results .all-search-product {
  text-align: center;
  padding: 10px;
  border-top: 1px solid #f0f0f0;
  background: #fafafa;
}

.ac_results.lps_results .all-search-product a {
  color: #e31e24;
  font-weight: bold;
  text-decoration: none;
}

.ac_results.lps_results .all-search-product a:hover {
  text-decoration: underline;
}

#leo_search_block_top .ac_results {
  transition: opacity 0.2s ease-in-out;
}

/* Estilo general de iconos */
#leo_block_top .popup-title,
.header-button-wishlist .ap-btn-wishlist,
#_desktop_cart .header,
#_desktop_cart .header > a {
  color: var(--theme-color-secondary);
}

#leo_block_top .popup-title:hover,
.header-button-wishlist .ap-btn-wishlist:hover,
#_desktop_cart .header:hover > i {
  color: var(--theme-color-default) !important;
}

.header-button-wishlist .ap-btn-wishlist .ap-total-wishlist,
#_desktop_cart .header .cart-products-count {
   background-color: var(--theme-color-default);
}




/* ----- PÁGINA RESULTADOS BUSCADOR CATEGORÍAS ----- */
.filter-box {
  background-color: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
  padding: 2rem;
  margin: 2rem 0;
}

/* Por defecto (móvil): selects y botones al 100% */
.filter-box select,
.filter-box button {
  width: 100%;
}

/* Estilo de los select tipo pastilla */
.form-pill {
  appearance: none;
  border: 1px solid #ddd;
  border-radius: 999px;
  padding: 0.5rem 1rem;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0,0,0,0.05);
  font-size: 0.95rem;
  min-width: 160px;
  transition: all 0.2s ease;
  width: 100%;
}

.form-pill:focus {
  outline: none;
  border-color: var(--theme-color-default);
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.05);
}

/* Botón de reset pequeño (no el de limpiar filtros) */
.btn-reset-pill {
  width: 36px !important;
  height: 36px;
  border-radius: 50%;
  border: 1px solid #ccc;
  background-color: #f9f9f9;
  font-size: 16px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  transition: background-color 0.2s ease-in-out;
}

.btn-reset-pill:hover {
  background-color: #eee;
}

/* Botón limpiar filtros */
.btn-clear-all-filters {
   font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.65px;
  color: #ffffff;
  background-color: var(--theme-color-default);
  border: none;
  padding: 10px 16px;
  border-radius: 999px;
  text-align: center;
  max-width: 240px;
  width: 100%; /* móvil */
}

/* En escritorio: ancho auto y alineación a la derecha */
@media (min-width: 768px) {
  .btn-clear-all-filters {
    width: auto;
    margin-left: auto;
    float: right;
  }

  /* Alinear botón a la derecha dentro de su columna */
  .col-lg-4 > .d-flex.flex-column {
    align-items: flex-end;
  }
}

/* Espaciado entre filtros si los metes en una clase filter-row */
.filter-row > div {
  margin: 0.3rem;
}





/* ----- MENÚ PRINCIPAL ----- */
.leo-megamenu .navbar-nav > li > a {
  color: #ffffff;
  font-size: 18px;
  text-transform: uppercase;
}

.leo-megamenu .navbar-nav > li.active > a, 
.leo-megamenu .navbar-nav > li:hover > a, 
.leo-megamenu .navbar-nav > li:focus > a {
  color: #303338;
}

.off-canvas-nav-megamenu .navbar-nav > li > a {
  color: #e31e24;
}




/* ----- MARCAS ----- */
.manufacturer-image-container {
  border: 1px solid #e5e5e5;
  margin-right: 30px;
  border-radius: 10px;
}




/* ----- CARRUSELES DE PRODUCTOS ----- */
.elementor-element-da7bb1d .product-miniature {
 border: 1px solid #e5e5e5;
  border-radius: 10px;
}

.product-miniature:hover {
 border-top: 1px solid #e5e5e5;
  border-right: 1px solid #e5e5e5;
  border-bottom: none;
  border-left: 1px solid #e5e5e5;
  border-radius: 10px;
}

.product-miniature .product-thumbnail img {
  border-radius: 10px;
}

.product-miniature .thumbnail-container .product-title {
  min-height: 2rem;
}

.product-miniature .thumbnail-container .product-title a:hover {
  color: var(--theme-color-default);
}

.product-miniature .thumbnail-container .product-price-and-shipping {
  color: var(--theme-color-default);
}

.plist-4 .thumbnail-container .functional-buttons .btn-product:hover, 
.plist-4 .thumbnail-container .functional-buttons .quick-view:hover {
  background: var(--theme-color-default);
}

.elementor-2 .elementor-element.elementor-element-03bb939 .slick-track {
  display: flex !important;
  align-items: stretch;             /* todas las slides a misma altura */
}
.elementor-2 .elementor-element.elementor-element-03bb939 .slick-slide {
  height: auto !important;          /* dejar que la tarjeta crezca */
}
.elementor-2 .elementor-element.elementor-element-03bb939 .slick-slide > * {
  height: 100%;                     /* el contenido dentro de la slide ocupa todo */
}

/* Tarjeta estática: el borde y la sombra van aquí */
.box_product_left .mini-grid-productos {
  position: relative;
  background-color: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.04);
  width: auto;
  transition: box-shadow .2s ease-in-out, border-color .2s ease-in-out;
  cursor: pointer;
  overflow: hidden;                 /* opcional: recorta sombras del contenido, pero el borde queda visible */
}

/* Elevamos SOLO el contenido directo, no la tarjeta */
.box_product_left .mini-grid-productos > * {
  transition: transform .2s ease-in-out;
}

.box_product_left .mini-grid-productos:hover {
  border-color: #e31e24;            /* el borde rojo ya no desaparece */
  box-shadow: 0 8px 16px rgba(0,0,0,0.12);
}

/* Efecto de “subir” sin mover la tarjeta */
.box_product_left .mini-grid-productos:hover > * {
  transform: translateY(-5px);
}

#index .mpn_cont {
  margin-bottom: 5px;
  margin-left: 10px;
}

#index .mpn_cont p.mb-2 {
  font-size: .85em;
}

#index .reference_cont {
  margin-left: 10px;
/* font-size: .85em;*/
}

.box_product_left .mini-grid-productos p {
font-size: 0.85em;
  color: black;
  line-height: 1.2;
}

.box_product_left .product-miniature-right {
  padding-right: 10px;
  padding-left: 10px;
}

/* Centrar vertical y horizontalmente la columna derecha */
.elementor-LeoProductCarousel .slick-slide .product-miniature-right {
   justify-content: center;
}



/* ---- Columna derecha: grid 2×2 ---- */
.box_product_right .leoelements-products,
.box_product_right .leoelements-products .products,
.box_product_right .product_list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px; /* separaciones entre tarjetas */
}

/* Neutraliza anchos/floats del theme en items */
.box_product_right .product-miniature {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  display: block !important;
}

/* Tarjeta: que rellene la celda y mantenga consistencia visual */
.box_product_right .mini-grid-productos {
  height: 100%;
  display: flex;
  flex-direction: column;
  /* mismo estilo hover que la izquierda si lo usas también aquí */
  transition: box-shadow .2s, border-color .2s;
}

/* Imagen: ajuste seguro */
.box_product_right .mini-bloque-imagen img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

/* Pie de tarjeta pegado abajo: precio/botón siempre alineados */
.box_product_right .product-miniature-right {
  margin-top: auto; /* empuja el bloque de precio/botón al fondo */
}

/* Títulos/desc recortados como en search_ajax */
.box_product_right .product-title-s { height: 3.5rem; overflow: hidden; }
.box_product_right .product-description-short-s { height: 2rem; overflow: hidden; }

/* Evita que wrappers del widget recorten hovers o sombras */
.box_product_right,
.box_product_right .leoelements-products,
.box_product_right .product_list,
.box_product_right .products {
  overflow: visible;
}

.add-to-cart-container {
  text-align: center;
}

/* Responsive: 1 columna en móviles */
@media (max-width: 991.98px) {
  .box_product_right .leoelements-products,
  .box_product_right .leoelements-products .products,
  .box_product_right .product_list {
    grid-template-columns: 1fr !important;
  }
}

#index .product-title-s {
  height: 60px !important;
}





/* ----- 3 BANNERS ----- */
.elementor-2 .elementor-element.elementor-element-c82b5bf a.elementor-button:hover {
  background-color: var(--theme-color-secondary) !important;
  color: #f5f5f5;
}




/* ----- NUESTROS PRODUCTOS ----- */
.box_product_tab .widget-tabs-wrapper .widget-tab-title::before {
  border-top: 5px solid var(--theme-color-default);
}

.box_product_tab .widget-tabs-wrapper .widget-tab-title.active {
  background-color: var(--theme-color-default);
}

.box_product_tab .widget-tabs-wrapper .widget-tab-title:not(.active):hover {
  color: var(--theme-color-default) !important;
}




/* ----- COMPRA POR CATEGORÍA ----- */
.box_cate .image a:hover .item-sub-title {
  color: var(--theme-color-default) !important;
}




/* ----- FOOTER ----- */
.footer-center .elementor-icon-box-description a:hover {
  color: var(--theme-color-default);
}

.elementor-1 .elementor-element.elementor-element-584ea4f .linklist-menu :hover,
.elementor-1 .elementor-element.elementor-element-b1f3ecb .linklist-menu:hover, 
.elementor-1 .elementor-element.elementor-element-b1f3ecb .linklist-menu :hover {
  color: var(--theme-color-default) !important;
}

.box_newletter .block_newsletter form button[type="submit"] {
  background-color: var(--theme-color-default);
}

.elementor-element-7ccca8f a {
  color: var(--theme-color-default) !important;
}

.elementor-element-7ccca8f a:hover {
  color: #fff !important;
}

/* Icono de TikTok */
.elementor-social-icon-wordpress i.fab.fa-wordpress::before {
  content: "\e07b"; /* Unicode del ícono TikTok en Font Awesome 6 */
  font-family: "Font Awesome 6 Brands";
}

.elementor-social-icon-wordpress {
  background-color: #010101;
}

.elementor-social-icon-wordpress:hover {
  background-color:  #ff00ff !important;
}





/* ----- PÁGINA DE CONTACTO ----- */
.group-span-filestyle .btn-default, 
.group-span-filestyle .bootstrap-touchspin .btn-touchspin, .bootstrap-touchspin .group-span-filestyle .btn-touchspin {
  background-color: var(--theme-color-default);
}

.contact-form .form-footer .btn:hover {
  background-color: var(--theme-color-default);
  color: #fff;
}




/* ----- PÁGINA 404 ----- */
.page-not-found .content h1 {
  color: var(--theme-color-default);
}




/* ----- CARRITO ----- */
.leo-cart-item-info .current-price .price {
  font-size: 1rem;
  color: var(--theme-color-default);
}

input.js-cart-line-product-quantity {
    display: none;
}

.bootstrap-touchspin {
    display: none;
}

.product-line-grid-body > .product-line-info.product-price {
    font-size: 24px;
    color: #e31e24;
}

#_desktop_cart .leo-dropdown-cart-item .product-quantity {
    display: none;
}




/* ----- PÁGINA DE PRODUCTO ----- */
#product .product-quantity .input-group-btn-vertical {
    display: none;
}

#product .product-quantity {
   border: none;
}




/* ------------------ */
/* RESPONSIVE */
/* ------------------ */

/* <= 576 px */

@media  (max-width: 576px) {

     .elementor:not(.elementor-edit-area-active) .elementor-hidden-phone {
          display: block;
     }

    .elementor-3 .elementor-element.elementor-element-077f60a .linklist-menu, .elementor-3 .elementor-element.elementor-element-077f60a .linklist-menu * {
        display: none;
    }

    p.topbar {
        color: #fff !important;
        margin-bottom: 3px;
    }

    .elementor-element-0c41993 .elementor-element-populated {
        padding-right: 0 !important;
        padding-left: 0 !important;
    }

    .caja-buscador {
        padding-right: 0;
        padding-left: 0;
    }

    .caja-buscador .container-fluid {
        padding-left: 0;
        padding-right: 0;
    }

    .elementor-3 .elementor-element.elementor-element-0c41993.elementor-column > .elementor-column-wrap > .elementor-widget-wrap > .elementor-element {
        width: 100% !important;
    }

     .elementor-3 .elementor-element.elementor-element-5e631c3 {
        display: none;
     }

    #wrapper {
        padding-top: 390px;
    }
}

@media (max-width: 767px) and (min-width: 577px) {
     .elementor:not(.elementor-edit-area-active) .elementor-hidden-phone {
          display: block;
     }

    .elementor-3 .elementor-element.elementor-element-077f60a .linklist-menu, .elementor-3 .elementor-element.elementor-element-077f60a .linklist-menu * {
        display: none;
    }

    p.topbar {
        color: #fff !important;
        margin-bottom: 3px;
    }

     .caja-buscador .container-fluid {
        padding-left: 15px;
        padding-right: 15px;
    }
    .elementor-3 .elementor-element.elementor-element-0c41993.elementor-column > .elementor-column-wrap > .elementor-widget-wrap > .elementor-element {
        width: 100% !important;
    }
     .elementor-3 .elementor-element.elementor-element-5e631c3 {
        display: none;
     }
    #wrapper {
        padding-top: 345px;
    }
}

@media (max-width: 992px) and (min-width: 768px) {
     .elementor:not(.elementor-edit-area-active) .elementor-hidden-phone {
          display: block;
     }

     .elementor-3 .elementor-element.elementor-element-40039d0 {
         width: 100% !important;
     }

    .elementor-3 .elementor-element.elementor-element-077f60a .linklist-menu, .elementor-3 .elementor-element.elementor-element-077f60a .linklist-menu * {
        display: none;
    }

    p.topbar {
        color: #fff !important;
        margin-bottom: 3px;
    }

     #wrapper {
        padding-top: 270px;
    }

    .elementor-3 .elementor-element.elementor-element-5e631c3 {
        display: none;
     }

     .caja-buscador {
        padding-right: 0;
        padding-left: 0;
    }

    .caja-buscador .container-fluid {
        padding-left: 0;
        padding-right: 0;
    }


    #sa_form i {
        top: 17px !important;
        right: -10%;
        color: #e31e24;
    }
}

@media (max-width: 1200px) and (min-width:993px) {
    .leo-megamenu .navbar-nav > li > a {
         font-size: 16px;
        padding: 10px;
    }
}

@media (min-width: 1200px) {
     p.topbar {
        color: #fff !important;
        margin-bottom: 5px;
    }
}

