/*
Theme Name: Hello Elementor Child
Description: Tema hijo de Hello Elementor
Author: Tu nombre
Template: hello-elementor
Version: 1.0.80
Text Domain: hello-elementor-child
*/

/* A partir de acá va tu CSS personalizado */



.truncate {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.product-price p.price {
    margin-bottom: 0 !important;
}

/* Contenedor padre */
.container-description > .e-con-inner{
    align-items: flex-start !important;
    overflow: visible !important;
}

/* Contenedor azul */
.container-sticky-product{
    position: sticky;
    top: 20px; /* Ajusta según la altura de tu header */

    align-self: flex-start !important;

    height: fit-content;
    min-height: 0;

    flex-grow: 0;
    flex-shrink: 0;
}

.container-card-text-price {
    height: 100%;
}

/* Oculta el botón vacío que crea Elementor */
.card-product-category .elementor-button,
.card-product-tags .elementor-button{
    display: none !important;
}

/* Convierte el enlace dinámico en el botón */
.card-product-category > a[rel="tag"],
.card-product-tags > a[rel="tag"]{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px 12px 5px;
    border-radius: 50px;
    text-decoration: none;
    white-space: nowrap;
    font-size: 14px;
    line-height: 1;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: .12em;
    text-transform: uppercase;
    padding: 5px 12px;
    border-radius: 999px;
}

/* Categoría */
.card-product-category > a[rel="tag"]{
    background: #045492;
    color: #fff;
}

/* Tag */
.card-product-tags > a[rel="tag"]{
    background: #FF641A;
    color: #fff;
}

/* Hover */
.card-product-category > a[rel="tag"]:hover,
.card-product-tags > a[rel="tag"]:hover{
    opacity: .85;
}


.container-card-text-price .price {
    display: flex;
    align-items: center;
    gap: 8px;
}

.container-card-text-price .price ins {
    order: 1;
    text-decoration: none;
    margin-bottom: -4px;
}

.container-card-text-price .price del {
    order: 2;
    font-size: 12px;
    margin-bottom: -4px;
}

.product-price .price {
    display: flex;
    flex-direction: row;
    gap: 10px;
}

.product-price .price del {
    order: 2;
    font-size: 12px;
    margin-bottom: -4px;
}

span.woocommerce-Price-amount.amount {
    margin-bottom: -4px;
}

.elementor-element-37e00db .price ins {
    text-decoration: none !important;
    border: none !important;
    box-shadow: none !important;
}

button.iuv-back-to-top, button.iuv-back-to-top.is-visible {
    padding: 10px 16px !important;
    border: 1px solid #045492;
}

button.iuv-back-to-top:hover, button.iuv-back-to-top.is-visible:hover {
    background-color: #1a2e42 !important;
    border: 1px solid #1a2e42 !important;
}


.product-loop-carousel .swiper-pointer-events {
    padding-bottom: 55px !important;
}

.add-to-cart-product-buttom button.single_add_to_cart_button.button.alt {
    margin-left: 0 !important;
}

.add-to-cart-product-buttom .e-atc-qty-button-holder {
    display: flex;
    flex-direction: row;
    gap: 10px;
}

.add-to-cart-product-buttom {
   margin-left: 0 !important;
}


.elementor-widget-woocommerce-product-content hr {
    margin: 25px 0 !important;
    border: 0 !important;
    border-top: 2px solid #0454921f !important;
}


.image-product-page {
    height: auto !important;
}

/* Área principal de la imagen */
.image-product-page .flex-viewport {
   /* height: 450px !important;*/
    border-radius: 20px;
    overflow: hidden !important;
}

/* Cada slide */
/*.image-product-page .woocommerce-product-gallery__image {
    height: 450px !important;
}
*/

/* Link que contiene la imagen */
.image-product-page .woocommerce-product-gallery__image > a {
    display: block;
    width: 100%;
    height: 100%;
}

/* Imagen principal */
.image-product-page .woocommerce-product-gallery__image > a > img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    display: block;
}

/* Miniaturas */
.image-product-page .flex-control-thumbs {
    display: flex;
    gap: 10px;
    margin: 10px 0 0 !important;
    padding: 0 !important;
    list-style: none;
}

.image-product-page .flex-control-thumbs li {
    width: 80px !important;
    height: 80px !important;
}

.image-product-page .flex-control-thumbs li img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    border-radius: 12px;
}



.buttom-category-product-page .card-product-category > a[rel="tag"], .buttom-category-product-page .card-product-tags > a[rel="tag"] {
    background: #e6f1f8;
    color: #1a6bad;

}

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

.wp-block-woocommerce-checkout-shipping-method-block, .wp-block-woocommerce-checkout-pickup-options-block {
    display: none;
}

.wc-block-components-checkout-place-order-button, .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button {
    border: #045492;
}

h2.wc-block-components-title.wc-block-components-checkout-step__title {
    color: #061e35;
}

.wc-block-components-checkout-place-order-button:hover, .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button:hover {
    background: #2a4a62 !important;
}


.wc-block-components-form .wc-block-components-text-input input[type=email], .wc-blocks-components-select .wc-blocks-components-select__select, .wc-block-components-form .wc-block-components-text-input.is-active input[type=text], .wc-block-components-text-input input[type=text], .wc-block-components-form .wc-block-components-text-input input[type=tel] {
	border-radius: 10px !important;
	color:#061e35 !important;
}


.wc-block-components-text-input input:focus,
.wc-blocks-components-select__select:focus {
    outline: none !important;
}


.wc-block-components-text-input:focus-within {
    border-color: #061e35 !important;
    box-shadow: 0 0 0 1px #061e35 !important;
	border-radius: 10px !important
}

.wp-block-woocommerce-checkout-order-summary-block {
	border-radius: 10px !important;
	border: 1px solid color-mix(in srgb, currentColor 80%, transparent) !important;
}


.section-my-account .woocommerce-info {
    border-top-color: #061E35;
}

.section-my-account a.button.wc-forward {
    color: #fff !important;
    background: #1a6bad !important;
    border-radius: 50px;
}

.section-my-account a.button.wc-forward:hover {
    background: #2A4A62 !important;
}

/* Todo scopeado a la página del carrito */
body.woocommerce-cart .wp-block-woocommerce-cart.alignwide,
body.woocommerce-cart .wc-block-cart {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

body.woocommerce-cart .site-main,
body.woocommerce-cart .page-content { overflow-x: clip; }

.woocommerce span.onsale {
    background-color: #F26427 !important;
}


.wc-block-components-order-summary .wc-block-components-order-summary-item__image>img {
    border-radius: 10px;
}

.woocommerce-message {
   border-top-color: #1A6BAD;
}

.woocommerce-message::before {
    content: "\e015";
    color: #1A6BAD;
}

a.button.wc-forward, a.button.wc-backward  {
    border-radius: 50px;
    background: #1A6BAD;
    color: #fff;
  	font-family: "DM Sans" !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    letter-spacing: 0.01em !important; 
}


a.button.wc-forward:hover, a.button.wc-backward:hover {
    background: #2A4A62 !important;
    color: #fff !important;
}

.woocommerce-error, .woocommerce-info, .woocommerce-message {
    color: #2A4A62;
	background: #F2F5F8;
    border-top-color:#2A4A62;
    font-family: 'DM Sans';
}


.elementor-widget-woocommerce-cart .woocommerce .input-text.qty {
	text-align: center !important;
}

.elementor-widget-woocommerce-cart .woocommerce .remove:hover {
	color:#1a6bad !important;
}

.wc-block-components-product-badge{
    padding: 4px 8px !important;
    color: #061E35 !important;
    font-weight: 700 !important;
    border-radius: 50px !important;
}

.elementor-element-140a916 .elementor-button-icon svg {
    display: none;
}

.elementor-element-140a916 .elementor-button-icon {
    position: relative;
    display: inline-block;
    width: 22px;
    height: 22px;
}

.elementor-element-140a916 .elementor-button-icon::before,
.elementor-element-140a916 .elementor-button-icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 1.5px; 
    background-color: currentColor;
}

.elementor-element-140a916 .elementor-button-icon::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.elementor-element-140a916 .elementor-button-icon::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

img.attachment-woocommerce_thumbnail.size-woocommerce_thumbnail {
    border-radius: 10px;
}

span.elementor-button-text {
    font-family: 'DM Sans';
}

.wc-block-checkout__form .wc-block-components-text-input input,
.wc-block-checkout__form .wc-blocks-components-select__container,
.wc-block-checkout__form .wc-blocks-components-select__select {
    background: transparent !important;
    background-color: transparent !important;
}

.woocommerce-MyAccount-content-wrapper {
    border-color: #061e354d !important;
}


.elementor-element-1593071 .product-price .price > .woocommerce-Price-amount {
    font-size: 24px !important;
    line-height: 1.2;
}

.breadcrumbs-product {
    width: 100%;
    min-width: 0;
}

.breadcrumbs-product .elementor-icon-list-items {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    width: 100%;
    min-width: 0;
}

.breadcrumbs-product .elementor-icon-list-item {
    display: flex !important;
    align-items: center !important;
    min-width: 0;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.breadcrumbs-product .elementor-icon-list-item:first-child {
    flex: 0 0 auto;
}

.breadcrumbs-product .elementor-icon-list-item:last-child {
    flex: 1 1 0;
    min-width: 0;
    overflow: hidden;
    flex-wrap: nowrap !important;
}

.breadcrumbs-product .elementor-icon-list-item:last-child .elementor-icon-list-icon {
    flex: 0 0 auto;
}

.breadcrumbs-product .elementor-icon-list-item:last-child .elementor-icon-list-text {
    display: block;
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}



@media (max-width: 900px) {
  body.woocommerce-cart .wc-block-components-main,
  body.woocommerce-cart .wc-block-components-sidebar {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
  }
}

@media (max-width: 700px) {
  body.woocommerce-cart .wc-block-cart-items__header { display: none; }
  body.woocommerce-cart .wc-block-cart-items td { padding-left: 0; padding-right: 0; }
  body.woocommerce-cart .wc-block-cart-item__image { width: 72px; }
  body.woocommerce-cart .wc-block-cart-item__image img { width: 72px; height: auto; }
}

@media (max-width: 600px) {
  body.woocommerce-cart .wc-block-product-template {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
    margin: 0;
    padding: 0;
  }
  body.woocommerce-cart .wc-block-product-template li {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
}










@media (max-width: 767px) {
   .price-header .woocommerce-Price-amount.amount {
    display: none;
}

    /* ==========================================
       CARD PRODUCTO MOBILE
       ========================================== */

    /* Imagen + contenido siempre uno debajo del otro */
    .elementor-109
    .elementor-element-477f8d5 > .e-con-inner {
        flex-direction: column !important;
        flex-wrap: nowrap !important;

        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }


    /* ==========================================
       IMAGEN
       ========================================== */

    .elementor-109 .elementor-element-0c0b799 {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        flex: 0 0 auto !important;

        min-height: 0 !important;

        aspect-ratio: 16 / 10;

        background-size: cover;
        background-position: center;
    }


    /* ==========================================
       CONTENIDO BLANCO
       ========================================== */

    .elementor-109 .container-card-text-price {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        /* MUY IMPORTANTE */
        height: auto !important;
        min-height: 220px;

        flex: 0 0 auto !important;

        flex-direction: column !important;
        flex-wrap: nowrap !important;

        align-items: stretch !important;
        align-content: stretch !important;
    }


    /* ==========================================
       TITULO
       ========================================== */

    .elementor-109
    .elementor-element-6cce8b7 {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        flex: 0 0 auto !important;
    }

    .elementor-109
    .elementor-element-6cce8b7
    .elementor-heading-title {
        overflow-wrap: anywhere;
    }


    /* ==========================================
       DESCRIPCION
       ========================================== */

    .elementor-109
    .elementor-element-d9e6105 {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        flex: 0 0 auto !important;

        overflow-wrap: anywhere;
    }


    /* ==========================================
       FOOTER PRECIO + VIEW DETAILS
       ========================================== */

    .elementor-109
    .elementor-element-03c0737 {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        flex: 0 0 auto !important;

        flex-direction: row !important;
        flex-wrap: nowrap !important;

        margin-top: auto !important;
        margin-left: 0 !important;
        margin-right: 0 !important;

        align-self: stretch !important;

        justify-content: space-between !important;
        align-items: flex-end !important;
    }



    
/* Área principal de la imagen */
.image-product-page .flex-viewport {
    height: 280px !important;
    border-radius: 0px !important;
    overflow: hidden !important;
}

/* Cada slide */
.image-product-page .woocommerce-product-gallery__image {
    height: 280px !important;
}

.wc-block-components-checkout-order-summary__title {
    margin-top: 0 !important;
    padding: 10px !important;
}

div#\:r2\: {
    padding: 10px !important;
}

h2.wc-block-components-title.wc-block-components-checkout-step__title {
    padding: 10px;
    margin-bottom: 0 !important;
}

.wc-block-checkout__actions_row.wc-block-checkout__actions_row--justify-flex-end {
    margin-top: 20px !important;
}
a.woocommerce-button.button.pay.order-actions-button {
    margin-bottom: 10px;
}
.elementor-widget-woocommerce-purchase-summary .woocommerce .shop_table {
    padding: var(--sections-padding, 15px 20px);
}


.elementor-14 .elementor-element.elementor-element-fd8e369 .e-cart-section {
        border-width: 1px !important;
    }
	.e-shop-table.e-cart-section.e-cart-section--no-coupon {
    margin-bottom: 20px;
}
	td.product-remove {
    padding: 20px 0 !important;
}
	
.woocommerce-cart-form .e-shop-table.e-cart-section.e-cart-section--no-coupon {
    padding-top: 0 !important;
}
	
  .woocommerce #content table.cart .product-thumbnail, .woocommerce table.cart .product-thumbnail, .woocommerce-page #content table.cart .product-thumbnail, .woocommerce-page table.cart .product-thumbnail {
    display:block !important;
	}
	
	td.product-thumbnail:before {
		display:none !important;
	}
	
  .elementor-widget-woocommerce-cart .woocommerce table.cart tr.cart_item {
        display: flex;
        flex-wrap: wrap;
    }
	
	td.product-remove {
		width: 100%;
	}
	td.product-thumbnail {
		width:25%;
	}
	td.product-name {
		width: 70%;
	}
	
	td.product-price, td.product-quantity, td.product-subtotal {
    width: 33%;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important; 
    padding-top: 10px; 
}

a.button.wc-forward {
    margin-top: 10px;
}

  .elementor-element-d7470d6.elementor-widget-woocommerce-product-add-to-cart,
  .elementor-element-d7470d6 .elementor-widget-container,
  .elementor-element-d7470d6 .elementor-add-to-cart,
  .elementor-element-d7470d6 form.cart {
    width: 100% !important;
    max-width: 100% !important;
  }

  .elementor-element-d7470d6 .e-atc-qty-button-holder {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    width: 100%;
    gap: 10px;
  }

  .elementor-element-d7470d6 .quantity {
    flex: 0 0 auto;
  }

  .elementor-element-d7470d6 .single_add_to_cart_button {
    flex: 1 1 auto;
    width: auto !important;
  }
  .price-header a#elementor-menu-cart__toggle_button {
    padding: 12px 0 12px 24px !important;
}
}