/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */
/*/////////
//GENERAL//
/////////*/

/* Barra scroll */
/* Ancho del scroll */
::-webkit-scrollbar {
  width: 13px;
}

::-webkit-scrollbar-track {
  background: #ffffff;
}

::-webkit-scrollbar-thumb {
  background-color: var(--e-global-color-primary); /* tu color */
  border-radius: 10px;
  border: 3px solid #ffffff;
}
/* fin barra scroll */

/* custom checkbox y radio */
input[type="checkbox"],
input[type="radio"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 20px !important;
  height: 20px !important;
  padding: 4px !important;
  margin-right: 5px !important;
  border-radius: 30px !important;
  border: 1px solid #ccc !important;
  position: relative !important;
  cursor: pointer !important;
  background: none!important;
  border-radius: 100px !important;
}


/* Indicador interno */
input[type="checkbox"]::before,
input[type="radio"]::before {
  content: "" !important;
  position: absolute !important;
  top: 3px !important;
  left: 3px !important;
  width: 12px !important;
  height: 12px !important;
  border-radius: 100px !important;
  background: none !important;
}

/* Estado marcado */
input[type="checkbox"]:checked::before,
input[type="radio"]:checked::before {
  background: var(--e-global-color-accent) !important;
}

/* Alineación */
.elementor-field-type-acceptance span {
  display: flex !important;
  align-items: center !important;
}
/* fin custom checkbox y radio */


.subrayado-txt {
    position: relative;
    display: inline-block;
    width: min-content;
}

.subrayado-txt.ocre img {
    filter: brightness(0) saturate(100%) invert(73%) sepia(25%) saturate(603%) hue-rotate(359deg) brightness(89%) contrast(91%);
}

.subrayado-txt img {
    width: 100%;
    display: flex;
    filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7496%) hue-rotate(113deg) brightness(104%) contrast(108%);
}

.subrayado-txt.menor img {
    width: 70%;
}

.grecaptcha-badge { 
    visibility: hidden;
}

.elementor-gallery-item,
.elementor-lightbox .elementor-lightbox-image {
    border-radius: 15px!important;
    box-shadow: none!important;
}

b, strong {
    font-weight: 600!important;
}

.elementor-widget-taxonomy-filter .e-filter {
    gap: 10px 20px;
}

.elementor-widget-loop-carousel.elementor-element :is(.swiper,.swiper-container)~.elementor-swiper-button-prev,
.elementor-widget-loop-carousel.elementor-element :is(.swiper,.swiper-container)~.elementor-swiper-button-next {
    top: 130px!important;
}

.color-gris {
    filter: brightness(0) saturate(100%) invert(27%) sepia(6%) saturate(8%) hue-rotate(314deg) brightness(90%) contrast(82%)!important;
}

.color-ocre {
    filter: brightness(0) saturate(100%) invert(76%) sepia(52%) saturate(357%) hue-rotate(351deg) brightness(84%) contrast(84%)!important;
}

/*//////
//MENU//
//////*/
.gt-current-lang {
    display: none!important;
}

a.glink {
    width: 30px;
    height: 30px;
    border-radius: 100px;
    display: flex;
    align-items: center;
    justify-content: center;    
    overflow: hidden;
    position: relative;
} 

.glink img {
    width: 100%;
    height: 100%;        
    object-fit: cover;    
    object-position: center; 
    position: absolute;
}

.elementor-menu-cart__toggle_button {
    padding-left: 15px!important;
}

.elementor-56 .elementor-element.elementor-element-1f549f0a img,
.logo-menu-movil img {
    width: 65px!important;
}

/*////////
//SLIDER//
////////*/
@media (max-width: 767px){
	.slider-cont-back:before {
		content: '';
		background: linear-gradient(180deg,rgba(0, 0, 0, 0.70) 0%, rgba(0, 0, 0, 0) 100%);
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
	
	.slider-cont > div {
		height: 100%!important;
	}
}

/*///////////
//COSRRUSEL//
///////////*/
.elementor-image-carousel img {
	border-radius: 15px;
}

/*//////////
//PRODUCTO//
//////////*/
.product_meta .detail-label {
    font-weight: 300!important;
}

ins[aria-hidden="true"] {
    text-decoration: none!important;
}

.elementor-menu-cart__toggle_button {
    border: none!important;
}

.woocommerce-notices-wrapper,
.tagged_as,
.added_to_cart.wc-forward {
    display: none!important;
}

.elementor-menu-cart__subtotal strong {
    font-weight: 400!important;
} 

.elementor-menu-cart__product-name.product-name a {
    display: block;
}

.attachment-woocommerce_thumbnail.size-woocommerce_thumbnail {
    border-radius: 5px!important;
}

.elementor-menu-cart__product-image.product-thumbnail img {
    border-radius: 10px!important;
}

#elementor-menu-cart__toggle_button {
    background: none!important;
}

.coupon-col-start {
    display: flex;
}

.coupon-col-start .input-text {
    border-radius: 15px!important;
}

.woocommerce form .form-row .required {
    color: var(--e-global-color-accent);
}

.elementor-widget-woocommerce-checkout-page .select2-container--default .select2-selection--single {
    height: auto!important;
}

#add_payment_method .checkout .checkout-inline-error-message, 
.woocommerce-cart .checkout .checkout-inline-error-message, 
.woocommerce-checkout .checkout .checkout-inline-error-message {
    font-size: 14px!important;
}

.woocommerce-error {
    border: none !important;
    border-radius: 15px;
    background: #fff;
}

.elementor-widget-woocommerce-cart h2,
.elementor-widget-woocommerce-checkout-page h3 {
    font-size: 35px!important;
    padding-top: 20px!important;
}

.pswp__caption {
    display: none!important;
}

.input-text.qty.text {
    border-radius: 10px!important;
    border: 1px solid var(--e-global-color-text)!important;
}

button.single_add_to_cart_button {
    display: flex!important;
}

button.single_add_to_cart_button.wc-loading {
    background: var(--e-global-color-accent)!important;
} 

.order-total * {
    font-weight: 700;
    color: var(--e-global-color-text);
    font-size: 25px;
}

.elementor-widget-woocommerce-cart .woocommerce .input-text.qty {
    padding: 8px!important;
}

.payment_box.payment_method_redsys_bizum,
.payment_box.payment_method_redsys {
    border-radius: 15px!important;
}

.punto-recogida {
    font-size: 16px;
    line-height: 1.2em !important;
    display: flex;
    margin-top: 10px;
}

.punto-recogida:before {
    content: "\e316";
    margin-right: 3px;
    font-family: "Phosphor-Light" !important;
}

.woocommerce div.product div.images .woocommerce-product-gallery__trigger {
    z-index: 2!important;
}

.elementor-widget-woocommerce-cart .woocommerce table.cart tr {
    border-top-color: var(--order-summary-items-divider-color, #d5d8dc)!important;
    border-top-width: var(--order-summary-items-divider-weight, 1px)!important;
}

/* engranaje ajax */
/* SPINNER personalizado */
.single_add_to_cart_button.wc-loading:before {
    content: "";
    border: 3px solid #fff;
    border-top-color: transparent;
    border-radius: 50%;
    width: 16px;
    height: 16px;
    display: inline-block;
    margin-right: 8px;
    animation: spin 0.7s linear infinite;
    margin-top: 3px;
}

/* Ocultar TODOS los iconos mientras hay loader */
/* Ocultar el check de WooCommerce mientras se muestra el loader */
.single_add_to_cart_button.wc-loading::after,
.single_add_to_cart_button.wc-loading.added::after {
    display: none !important;
    opacity: 0 !important;
    content: "" !important;
}

.shop_table.woocommerce-checkout-review-order-table thead .product-total,
.shop_table.woocommerce-checkout-review-order-table thead .product-name,
.woocommerce-shipping-totals.shipping th {
    font-size: 25px!important;
}

.order-total > td,
.cart-subtotal > td,
.shop_table.woocommerce-checkout-review-order-table .product-total,
.shop_table.woocommerce-checkout-review-order-table tr th:last-child {
    text-align: right!important;
}

.woocommerce-product-gallery {
    margin: 0!important;
}

@media (max-width: 767px) {
    .woocommerce-shipping-totals.shipping,
    .woocommerce-shipping-totals.shipping td,
    .woocommerce-shipping-totals.shipping th,
    #shipping_method > li {
        flex-direction: column !important;
        min-width: 100% !important;
        display: flex;
    }
    
    #shipping_method > li {
        min-width: 100% !important;
        width: 100%!important;
        display: flex !important;
        flex-direction: row !important;
    }

    .woocommerce-cart-form__cart-item.cart_item {
        padding: 0!important;
    }

    .woocommerce-cart-form__cart-item.cart_item td{
        padding: 5px 0!important;
    }

    .product-thumbnail {
        display: block!important;
    }

    .product-remove {
        position: absolute!important;
        right: 20px!important;
    }

    .product-thumbnail:before {
        display: none;
    }

    .woocommerce-cart-form__cart-item.cart_item {
        padding: 10px 0!important;
    }

    .elementor-menu-cart__main {
        width: 100%!important;
    }
}


@keyframes spin {
    to { transform: rotate(360deg); }
}

/* finengranaje ajax */


/*//////////
//CONTACTO//
//////////*/
.elementor-field-option * {
    font-size: 16px!important;
}

.elementor-field-option a {
    color: var(--e-global-color-accent);
}

.leaflet-layer {
    filter: grayscale(1);
}

.leaflet-bottom.leaflet-right {
    display: none!important;
}

#form-field-message {
    resize: none!important;
    height: 200px;
}

#osm-map-a09d02e,
.elementor-widget-osm-map-elementor {
    height: -webkit-fill-available;
}

/*///////////
//POLITICAS//
///////////*/
.politica-cont h2 {
    font-family: "Inter", Sans-serif !important;
    font-size: 35px!important;
    font-weight: 300!important;
    margin-top: 30px!important;
    line-height: 1.2em;;
}

.politica-cont h2:first-child {
    margin-top: 0!important;
}

#cmplz-document {
    max-width: 100%!important;
    
}

#cmplz-document p,
#cmplz-document li {
    font-family: var(--e-global-typography-text-font-family), Sans-serif!important;
    font-size: var(--e-global-typography-text-font-size)!important;
    font-weight: var(--e-global-typography-text-font-weight)!important;
    line-height: var(--e-global-typography-text-line-height)!important;
    color: var(--e-global-color-text)!important;
}

#cmplz-document a {
    color: var(--e-global-color-accent);
    text-decoration: none;
}

@media (max-width: 767px) {
    .politica-cont h2 {
        font-size: 30px!important;
    }
}

/*////////
//FOOTER//
////////*/
.copyright-cont img {
    filter: brightness(0) saturate(100%) invert(23%) sepia(48%) saturate(307%) hue-rotate(96deg) brightness(91%) contrast(88%);
}

.copyright-cont a:hover > img {
    filter: brightness(0) saturate(100%) invert(76%) sepia(52%) saturate(357%) hue-rotate(351deg) brightness(84%) contrast(84%);
}