/*
 * Custom code goes here.
 * A template should always ship with an empty custom.css
 */
 /*** buscador ***/

.wk-active-attr {
    background-color: #CC0001;
}

.float-xs-right .material-icons{
    color: #CC0001!important;
}

#displayIconTypeAttr

 {
    color: #444;
    cursor: pointer;
}

/*** CARRITO ***/
a.label:hover, .cart-grid-body a.label:hover {
    color:#CC0001;
}
.product-line-info label {
    font-size:18px;
}
.product-line-info .price {
    color:#444;
    font-size: 24px;
}

body#checkout section.checkout-step.-reachable.-current .step-number {
    background-color: #444;
}
#blockcart-modal .product-name {
    color:#444;
    text-transform:uppercase;
}

#lgcookieslaw_banner {
    background:#000;
}
.elementor-email-subscription .elementor-checkbox-label {
    color:#FFF;
}
.flexbox .elementor-widget-wrap {
    display:flex;
    flex-direction:row;
    flex-wrap:nowrap;
}
.flexbox .ce-product-quantity--view-stacked {
    width:auto;
    margin-right:20px;
}

.elementor-widget-product-miniature-name .elementor-heading-title {
     display: -webkit-box !important;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden !important;
  text-overflow: ellipsis;
  max-height: calc(1.2em * 3); /* 3 líneas, ajusta el 1.2em según tu line-height */
  line-height: 1.2em;
  word-break: break-word;
}

/*--- MENU ---*/
.ets_mm_megamenu_content .column_size_2 {
    width:20% !important;
}

.submenu1 ul.mm_columns_ul {
    padding:40px 20px;
}
.submenu1 .mm_columns_li {
    padding-left:10px !important;
    padding-right:10px !important;
}

/*--- search ---*/
#wkSearchResultContent {
    right:calc(50% - 500px);
}
#search_widget input {
    padding:10px;
    min-width:400px;
}
#search_widget button {
    padding:5px;
}

/* -- Carrito y Micuenta ---*/
.user-info, .blockcart, .mm_extra_item > div *:not(i) {
    font-size:22px !important;
    font-weight:700;
}
.user-info, .blockcart, .mm_extra_item i {
    font-size: 35px !important;
}

/*--- Arreglo para las imágenes pequeñas del grid ---*/
/* contenedor cuadrado */
.elementor .ce-product-image a {
  display: block;
  aspect-ratio: 1 / 1;      /* hace el bloque cuadrado */
  width: 100%;
}

/* la imagen rellena el bloque */
.elementor .ce-product-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;         /* rellena y puede recortar */
  object-position: center;
  image-rendering: auto;     /* evita el efecto pixelado “duro” */
}

/* Páginas de filtro de características */
h1, h2, h3, .sitemap-title {
    text-transform:uppercase;
}

.product-grid {
    display:grid !important;
    grid-template-columns:1fr 1fr 1fr 1fr 1fr;
}
.product-grid .col-xs-6, .product-grid .col-xl-3 {
    width:100% !important;
    padding:0px !important;
    padding-bottom:20px !important;
}
#module-myfeaturefilter-view .page-content {
    padding:0px;
}
/*--- B2B Registration Form Builder ---*/
form.plugin-form {
    max-width:1100px;
}
form.plugin-form .form-group label, form.plugin-form .row p {
    text-transform:uppercase;
}
form.plugin-form .row p {
    text-align:center;
}
form.plugin-form .form-group em {
    text-transform:none;
    font-style:normal;
    font-weight:400;
}
form.plugin-form .form-group.submit {
    display:flex;
    justify-content:center;
}
/*---- CSS MEDIA QUERIES ----*/
@media (min-width: 767px) and (max-width: 1024px){
    .product-grid {
    display:grid !important;
    grid-template-columns:1fr 1fr 1fr;
    }
}
@media (min-width:481px) and (max-width: 767px) {
    #divLogo {
        order:1;
        /*width:40%;*/
    }
    #divAccountCart {
        order:2;
        /*width:60%;*/
    }
    #divSearch {
        order:3;
    }
    .product-grid {
    display:grid;
    grid-template-columns:1fr;
}
}
@media (max-width: 480px) {
  #search_widget {
      min-width:calc(100vw - 60px);
  }
  #search_widget form {
    display: flex;
    align-items: stretch;
    width: 100%;
  }
    #search_widget form {
    min-width:calc(100vw - 60px);
    }
  #search_widget input {
      
    min-width:calc(100vw - 60px);
    flex: 1 1 auto;
    box-sizing: border-box;
    /* width: 1%; ya no hace falta si usas flex correctamente */
  }

  .search-button {
    flex: 0 0 auto;
    white-space: nowrap;
    border-radius:4px;
    background:#DDD;
    color:#FFF;
  }
  #menuPrincipal {
      width:auto;
  }
  .ybc-menu-toggle {
      font-size:22px !important;
      padding-top:22px !important;
  }
  .ybc-menu-toggle .icon-bar {
      background-color: #333;
    clear: left;
    float: left;
    height: 3px !important;
    margin: 2px 3px 2px 0 !important;
    transition: all 0.4s ease 0s;
    -webkit-transition: all 0.4s ease 0s;
    width: 24px !important;
  }
  .transition_floating .mm_menus_ul {
        max-width: 340px !important;
    }

    #divLogo {
        order:1;
        /*width:40%;*/
    }
    #divAccountCart {
        order:2;
        /*width:60%;*/
    }
    #divSearch {
        order:3;
    }
    .product-grid {
    display:grid;
    grid-template-columns:1fr;
}
}
