/*
Theme Name: Zimadent Chlid
Theme URI: https://www.portotheme.com/wordpress/porto
Author: P-THEMES
Author URI: https://www.portotheme.com/
Description: Porto Responsive WordPress + eCommerce Theme.
Version: 1.1
Template: porto
License: Commercial
License URI: http://themeforest.net/licenses/regular_extended
Tags: woocommerce, corporate, ecommerce, responsive, blue, black, green, white, light, dark, red, two-columns, three-columns, four-columns, left-sidebar, right-sidebar, fixed-layout, responsive-layout, custom-menu, editor-style, featured-images, flexible-header, full-width-template, microformats, post-formats, rtl-language-support, sticky-post, theme-options, translation-ready, accessibility-ready
*/

/*************** ADD YOUR CUSTOM CSS HERE  ***************/

button.swal2-confirm.swal2-styled {
    background: #25487d;
    border-radius: 0;
}

a.added_to_cart.wc-forward.wc-action-btn.view-cart-btn.button {
    width: 100%;
    background: #fff;
    color: #25487d;
    margin-top: 5px;
	border: 2px solid #25487d;}

#cn-refuse-cookie{background:#fff !important; color: #355195 !important}

.woof_show_mobile_filter{display:none !important}



@media (min-width:1150px){.wp-block-yith-search-block.alignwide.buscador {
    width: 500px !important;
}
}


body .buscador .ywcas-input-field {
    font-size: 0.78em !important;
}

.ywcas-popover-results .popover-content .wp-block-yith-filled-block .ywcas-search-results .search-result-item.grid .search-result-item__name {
    margin-bottom: 7px;
    font-size: 11px;
}


body .search-result-item__category{font-size:11px !important; line-height:1.30em !important}

body.zimadent-producto-variable .zimadent-carrito-original {
    display: none !important;
}
#anadir-carrito-producto {
    height: fit-content !important;
    position: sticky !important;
    top: 125px !important;
}


.zimadent-carrito-original .single_add_to_cart_button {border:1px solid #4d78dc;}


.zimadent-carrito-original .single_add_to_cart_button:hover {background:#4d78dc !important; color:#fff !important; border-color: #4d78dc}

.ocultar{display:none !important}

body.zimadent-producto-variable #boton-variaciones{display:block !important}

small.woocommerce-price-suffix {
    font-size: 14px;
    color: #999;
}

.irs--round .irs-handle {

    border: 4px solid #4d78dc !important;

}

.irs--round .irs-bar {
    top: 36px;
    height: 4px;
    background-color: #4d78dc !important;
}

.irs--round .irs-from, .irs--round .irs-to, .irs--round .irs-single {

	background-color: #222529 !important;}


.my_own_table .add_to_cart_button,  #right_button{background:#fff !important; color:#222 !important; padding-right:5px !important; padding-left:5px !important; font-family:Poppins; text-transform:uppercase !important; font-size:13px}

button#right_button {
    color: #222 !important;
    padding: 8px 14px !important;
	font-weight:600 !important;
}


.my_own_table .add_to_cart_button:hover, #right_button:hover{background:#4d78dc !important; color:#fff !important; }
.my_own_table  .wc-forward {display:none !important}

/* Ocultar mensaje original defectuoso de Porto */
.success-message-container .msg {
    font-size: 0 !important;
}

/* Mostrar mensaje limpio */
.success-message-container .msg::before {
    content: "Producto añadido al carrito correctamente.";
    font-size: 14px !important;
    font-weight: 600;
    color: #222;
}

.woof_container_inner h4{font-size:16px !important; font-weight:500 !important; margin-bottom:10px !important}

.porto-tb-item.product .woocommerce-price-suffix{font-size:12px !important}

.table.my_own_table th{text-align:center; color:#222; font-weight:500}

.table.my_own_table{margin-top:25px !important}

div.whatsapp {
    position: fixed;
    bottom: 75px !important;
    right: 10px !important;
    z-index: 1000000;
}


.my_own_table button.add_to_cart_button, .my_own_table button.add-to-cart-global, .my_own_table a.add_to_cart_button {

	font-weight: 600;}

.fme-vt-card-cell-value {
    color: #222;
}

button.fme_pv_btn.add_to_cart_multiple.added {
    text-transform: uppercase;
    font-size: 11px !important;
    line-height: 14px;
}

.fme_pv_desc.fme_pv_td{display:none !important}

.sub-menu .nolink{display:none !important}

.fme_pv_btn, .fme_pv_cart, .fme_vt_pagination .fme_vt_pagination_item_active {
    background-color: #4d78bc !important;
    color: #fff !important;
    border-radius: 0 !important;
}

.fme_pv_btn:hover, .fme_pv_cart:hover, .fme_vt_pagination a:hover  {
    background-color: #25487D !important;
    color: #fff !important;
    border-radius: 0 !important;
}



.boton-anadir-carrito, .viewcart-style-3 {background: #25487d; color:#fff !important}

.boton-anadir-carrito a, .viewcart-style-3 a {background: #25487d; color:#fff !important}

.boton-anadir-carrito:hover, .viewcart-style-3:hover {background: #4d78dc !important; color:#fff !important}

.fme_pv_btn, .fme_pv_cart, .fme_vt_pagination .fme_vt_pagination_item_active {
    background-color: #4d78dc !important;
}

.product-image .labels .onsale, .summary-before .labels .onsale {
    background: #c93232;
    color: var(--porto-sale-color-inverse, #fff);
    font-size: 13px;
}

.fme_pv_copy-print.fme-vt-copy-btn, .fme_pv_copy-print.fme-vt-print-btn{display:none !important; text-decoration:none !important}

.fme_pc_price ins{text-decoration:none !important; letter-spacing:0 !important}

.fme_pc_price.fme_pv_td{color:#222 !Important}

.fme_pc_price.fme_pv_td del{color:#999; font-size:18px}

@media (max-width:768px){h3.fme_pv_title.fme_pv_td {
    font-size: 12px !important;
}}

/* Zimadent - Índice A-Z de marcas */

.zimadent-marcas-az {
    width: 100%;
}

.zimadent-marcas-az-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 25px 0 35px;
}

.zimadent-marcas-az-nav a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    height: 38px;
    padding: 0 10px;
    border: 1px solid #ddd;
    background: #fff;
    color: #123f6d;
    font-weight: 700;
    text-decoration: none;
    transition: all .2s ease;
}

.zimadent-marcas-az-nav a:hover {
    background: #123f6d;
    color: #fff;
    border-color: #123f6d;
}

.zimadent-marcas-letter-block {
    margin-bottom: 45px;
}

.zimadent-marcas-letter {
    margin-bottom: 18px;
    padding-bottom: 10px;
    border-bottom: 2px solid #123f6d;
    font-size: 28px;
    color: #123f6d;
}

.zimadent-marcas-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.zimadent-marca-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 95px;
    padding: 18px;
    background: #fff;
    border: 1px solid #e5e5e5;
    text-decoration: none;
    color: #222;
    transition: all .2s ease;
}

.zimadent-marca-card:hover {
    border-color: #123f6d;
    box-shadow: 0 8px 22px rgba(0,0,0,.08);
    transform: translateY(-2px);
}

.zimadent-marca-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 70px;
    margin-bottom: 12px;
}

.zimadent-marca-logo img {
    max-width: 100%;
    max-height: 70px;
    object-fit: contain;
}

.zimadent-marca-nombre {
    font-weight: 700;
    font-size: 16px;
    text-align: center;
}

.zimadent-marca-count {
    display: block;
    margin-top: 5px;
    font-size: 13px;
    color: #777;
    text-align: center;
}

@media (max-width: 1024px) {
    .zimadent-marcas-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .zimadent-marcas-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zimadent-marcas-az-nav a {
        min-width: 34px;
        height: 34px;
        font-size: 14px;
    }
}

@media (max-width: 480px) {
    .zimadent-marcas-grid {
        grid-template-columns: 1fr;
    }
}

/* Zimadent - Slider marcas home */

.zimadent-marcas-slider {
    position: relative;
    width: 100%;
    padding: 25px 45px 35px;
    box-sizing: border-box;
    overflow: visible;
}

.zimadent-marcas-slider-viewport {
    overflow: hidden;
    width: 100%;
    padding: 18px 0;
}

.zimadent-marcas-slider-track {
    display: flex;
    gap: 24px;
    overflow-x: auto;
    overflow-y: visible;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    padding: 8px 0;
}

.zimadent-marcas-slider-track::-webkit-scrollbar {
    display: none;
}

.zimadent-marcas-slide {
    flex: 0 0 calc((100% - 96px) / 5);
    scroll-snap-align: start;
    box-sizing: border-box;
}

.zimadent-marca-logo-link {
    width: 100%;
    height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px;
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 4px;
    box-sizing: border-box;
    transition: all .2s ease;
}

.zimadent-marca-logo-link:hover {
    border-color: #25487D;
    box-shadow: 0 8px 20px rgba(0,0,0,.08);
    transform: translateY(-2px);
}

.zimadent-marca-logo-img {
    max-width: 100%;
    max-height: 82px;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
}

.zimadent-marcas-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 5;
    width: 34px;
    height: 34px;
    border: 1px solid #25487D;
    border-radius: 0;
    background: #25487D;
    color: #fff;
    font-size: 28px;
    line-height: 28px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.zimadent-marcas-arrow:hover {
    background: #fff;
    color: #25487D;
    border-color: #25487D;
}

.zimadent-marcas-prev {
    left: 0;
}

.zimadent-marcas-next {
    right: 0;
}

/* Tablet: 3 marcas */
@media (max-width: 1024px) {
    .zimadent-marcas-slide {
        flex: 0 0 calc((100% - 48px) / 3);
    }
}

/* Móvil: 2 marcas */
@media (max-width: 767px) {
    .zimadent-marcas-slider {
        padding-left: 35px;
        padding-right: 35px;
    }

    .zimadent-marcas-slide {
        flex: 0 0 calc((100% - 18px) / 2);
    }

    .zimadent-marcas-slider-track {
        gap: 18px;
    }

    .zimadent-marca-logo-link {
        height: 95px;
        padding: 12px;
    }

    .zimadent-marca-logo-img {
        max-height: 65px;
    }

    .zimadent-marcas-arrow {
        width: 30px;
        height: 30px;
        font-size: 24px;
    }
}

.boton-anadir-carrito, .viewcart-style-3 {background: #25487d; color:#fff !important}

.boton-anadir-carrito a, .viewcart-style-3 a {background: #25487d; color:#fff !important}

.boton-anadir-carrito:hover, .viewcart-style-3:hover {background: #4d78dc !important; color:#fff !important}

.fme_pv_btn, .fme_pv_cart, .fme_vt_pagination .fme_vt_pagination_item_active {
    background-color: #4d78dc !important;
}

.product-image .labels .onsale, .summary-before .labels .onsale {
    background: #c93232;
    color: var(--porto-sale-color-inverse, #fff);
    font-size: 13px;
}

.fme_pv_copy-print.fme-vt-copy-btn, .fme_pv_copy-print.fme-vt-print-btn{display:none !important; text-decoration:none !important}

.fme_pc_price ins{text-decoration:none !important; letter-spacing:0 !important}

.fme_pc_price.fme_pv_td{color:#222 !Important}

.fme_pc_price.fme_pv_td del{color:#999; font-size:18px}


@media (min-width:1180px){.posts-wrap.products-container .porto-tb-item {padding-right:12px; padding-left:12px}}



@media (max-width:1024px){ .elementor-tab-desktop-title
	
	{display:none !important}}

/* Tabs móvil - aspecto botón */
.elementor-tab-mobile-title {
    background: #25487d;
    color: #fff !important;
    border: 2px solid #25487d !important;
    border-radius: 8px;
    padding: 12px 18px !important;
    margin-bottom: 8px;
    text-align: center;
	font-weight:500;
    transition: all 0.25s ease;
}

/* Hover */
.elementor-tab-mobile-title:hover {
    background: #fff;
    color: #25487d !important;
    border-color: #25487d !important;
}

/* Activo */
.elementor-tab-mobile-title.elementor-active {
    background: #25487d !important;
    color: #fff !important;
    border-color: #25487d !important;
	border:1px solid #25487d
}

/* Hover estando activo */
.elementor-tab-mobile-title.elementor-active:hover {
    background: #fff !important;
    color: #25487d !important;  border-color: #25487d !important;
	border:1px solid #25487d
}

.elementor-widget-tabs .elementor-tab-mobile-title {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
}
@media (max-width:1024px){
.elementor-tab-mobile-title elementor-active, #ofertas-clinica .elementor-tab-title, #ofertas-clinica .elementor-tab-content{	border:1px solid #25487d}
	
.sidebar-content	.woof_hide_filter {
    display: block !important;
}
	
	
	
}

@media (max-width: 767px) {

    .boton-anadir-carrito {
        width: auto !important;
        min-width: 0 !important;
        height: auto !important;
        padding: 7px 12px !important;
        font-size: 12px !important;
        line-height: 17px !important;
        font-weight: 600 !important;
        white-space: nowrap !important;
        text-indent: 0 !important;
        overflow: visible !important;
    }

    .boton-anadir-carrito i {
        display: none !important;
    }

    .boton-anadir-carrito::after {
        content: none !important;
        display: none !important;
    }
}


/*Ajustes movil tabla variaciones*/

@media (max-width: 768px) {
	
	
	
	
	.fme_pv_dropdown.fme_vt_reload, #dropdown_2{display:none !important}
	
	span.fme_pv_topbar-child {
    display: flex !important;
    justify-content: center !important;
    flex-flow: column !important;
}

	button.fme_pv_btn.add_to_cart_multiple {
    width: 190px !important;
    text-align: center;
    margin-right: 0;
}
	
	.fme_pv_search-bar{margin-top:-10px !important}	
	
	.fme_pv_variations_bottom {
    display: flex;
    justify-content: center;
}
	
	.fme_pv_inline-price	.woocommerce-price-suffix {font-size:10px !important}
}
/* 1. Ocultamos ambos bloques por defecto para que no se pisen al cargar */
#disponible, 
#agotado {
    display: none !important;
}

/* 2. Si el cuerpo de la página tiene stock, forzamos la muestra de #disponible */
body.producto-con-stock #disponible {
    display: block !important;
}

/* 3. Si el cuerpo de la página marca agotado, forzamos la muestra de #agotado */
body.producto-sin-stock #agotado {
    display: block !important;
}

.tab-content h3 {
    font-size: 1.4286em;
    line-height: 1.4;
    font-weight: 400;
    margin-bottom: 1.0714em;
}

/* =========================================
   ZIMADENT CHECKOUT - ESTILO LIMPIO
   ========================================= */

.woocommerce-checkout .woocommerce{
    max-width:1280px;
    margin:0 auto;
}

/* Títulos */
.woocommerce-checkout h3{
    font-size:20px;
    font-weight:600;
    margin-bottom:22px;
    color:#222;
}

/* Labels */
.woocommerce-checkout form .form-row label{
    display:block;
    margin-bottom:7px;
    font-size:13px;
    font-weight:600;
    color:#333;
}

/* Campos */
.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select,
.woocommerce-checkout .select2-selection{
    width:100%;
    min-height:48px;
    padding:11px 13px !important;
    border:1px solid #7a7a7a !important;
    border-radius:7px !important;
    background:#fff !important;
    box-shadow:none !important;
    font-size:14px;
    color:#222;
}

/* Textarea */
.woocommerce-checkout textarea{
    min-height:110px;
}

/* Focus */
.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout .select2-container--open .select2-selection{
    border-color:#25487d !important;
    outline:none !important;
    box-shadow:0 0 0 1px #25487d !important;
}

/* Separación entre campos */
.woocommerce-checkout .form-row{
    margin-bottom:16px !important;
}

/* =========================================
   RESUMEN DEL PEDIDO
   ========================================= */

.woocommerce-checkout #order_review{
    background:#f7f7f7;
    border:1px solid #e3e3e3;
    border-radius:10px;
    padding:25px;
}

.woocommerce-checkout-review-order-table{
    border:0 !important;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td{
    padding:13px 0 !important;
    border-bottom:1px solid #e3e3e3 !important;
}

/* Total */
.woocommerce-checkout .order-total th,
.woocommerce-checkout .order-total td{
    font-size:18px;
    font-weight:700;
}

/* =========================================
   CANTIDAD COMPACTA
   ========================================= */

.woocommerce-checkout .quantity{
    display:inline-flex !important;
    align-items:center !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    margin:0 !important;
}

/* Input cantidad */
.woocommerce-checkout .quantity .qty{
    width:48px !important;
    min-width:48px !important;
    max-width:48px !important;
    height:38px !important;
    min-height:38px !important;

    padding:0 !important;
    margin:0 !important;

    text-align:center !important;

    font-size:13px !important;
    font-weight:600 !important;

    background:#fff !important;
    color:#222 !important;

    border-top:1px solid #b8b8b8 !important;
    border-bottom:1px solid #b8b8b8 !important;
    border-left:0 !important;
    border-right:0 !important;

    border-radius:0 !important;
    box-shadow:none !important;
}

/* Botones menos y más */
.woocommerce-checkout .quantity .minus,
.woocommerce-checkout .quantity .plus{
    width:34px !important;
    min-width:34px !important;
    max-width:34px !important;

    height:38px !important;
    min-height:38px !important;

    padding:0 !important;
    margin:0 !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    font-size:14px !important;
    line-height:1 !important;

    background:#fff !important;
    color:#222 !important;

    border:1px solid #b8b8b8 !important;
    box-shadow:none !important;
}

/* Esquinas */
.woocommerce-checkout .quantity .minus{
    border-radius:5px 0 0 5px !important;
}

.woocommerce-checkout .quantity .plus{
    border-radius:0 5px 5px 0 !important;
}

/* Hover */
.woocommerce-checkout .quantity .minus:hover,
.woocommerce-checkout .quantity .plus:hover{
    background:#f1f1f1 !important;
    color:#25487d !important;
}

/* =========================================
   MÉTODOS DE PAGO
   ========================================= */

.woocommerce-checkout #payment{
    background:transparent !important;
}

.woocommerce-checkout #payment ul.payment_methods{
    padding:0 !important;
    border:0 !important;
}

/* =========================================
   BOTÓN FINAL
   ========================================= */

.woocommerce-checkout #place_order{
    width:100%;
    min-height:52px;
    margin-top:20px;

    border:0 !important;
    border-radius:7px !important;

    background:#25487d !important;
    color:#fff !important;

    font-size:14px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.02em;
}

.woocommerce-checkout #place_order:hover{
    background:#4d78dc !important;
}

/* Checkboxes */
.woocommerce-checkout input[type="checkbox"]{
    accent-color:#25487d;
}

/* Avisos */
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-message{
    border-radius:7px;
    border:1px solid #d9dde3;
    background:#f8f9fb;
}

/* =========================================
   MÓVIL
   ========================================= */

@media(max-width:767px){

    .woocommerce-checkout #order_review{
        padding:18px;
    }

    .woocommerce-checkout input.input-text,
    .woocommerce-checkout textarea,
    .woocommerce-checkout select,
    .woocommerce-checkout .select2-selection{
        min-height:46px;
    }

    .woocommerce-checkout .quantity .qty{
        width:44px !important;
        min-width:44px !important;
        max-width:44px !important;
        height:36px !important;
        min-height:36px !important;
    }

    .woocommerce-checkout .quantity .minus,
    .woocommerce-checkout .quantity .plus{
        width:32px !important;
        min-width:32px !important;
        max-width:32px !important;
        height:36px !important;
        min-height:36px !important;
    }
}