/*
 Theme Name:   Fynode Child
 Theme URI:    http://klbtheme.com/fynode/
 Description:  Fynode Child Theme
 Author:       KlbTheme
 Author URI:   http://themeforest.net/user/KlbTheme
 Template:     fynode
 Version:      1.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Tags:         light, dark, two-columns, right-sidebar, responsive-layout, accessibility-ready
 Text Domain:  fynode-child
*/

// Style Tab Products
.woocommerce .woocommerce-tabs ul.wc-tabs {
    list-style: none;
    display: flex;
    border-color: #00404c;  
}
.woocommerce-tabs ul.wc-tabs li {
	border-width: 1px 1px 0 1px;
	margin-right:1px;
}
// Nav Menu - Sub Menu Style
.site-nav .site-menu .sub-menu li a:hover {color:#d31316;}

//Shop Box style
.woocommerce-result-count {
color: #00404c !important;
}

.widget_klb_product_categories .widget .widget-title { color: #00404c;}
.product .product-title a {
color: #00404c;
}
.product .product-title a:hover {
color: #ef4444;
}
.site-category-block .category-block-header .entry-title {
  color: #00404c;
}

/* MENU CATEGORIAS*/
@media screen and (min-width: 1024.02px) {
    .widget {
        margin-top: 1.5rem;
    }
}

/* Estilo general del contenedor */
.widget.woocommerce.widget_product_categories {
max-width: 600px;
margin: 0 auto;
padding-bottom: 20px;
}

/* Título de la lista */
.widget-title {
font-size: 1.5rem;
font-weight: bold;
color: #00404c;
margin-bottom: 20px;
}
      
/* ===== ESTILOS BASE ===== */
.product-categories {
  list-style: none;
  padding: 0;
  margin: 0;
}

.product-categories li {
  position: relative;
  margin-bottom: 10px;
}

/* ===== ENLACES GENERALES ===== */
.product-categories li > a {
  color: #00404c !important; /* Color base para todos los enlaces */
  text-decoration: none;
  transition: color 0.3s ease;
  font-size: 1rem;
  white-space: nowrap;
  display: block; /* Asegura consistencia en el click */
}

.product-categories li > a:hover {
  color: #ef4444 !important;
}

/* ===== ELEMENTOS PADRE ===== */
.cat-parent > a {
  display: flex;
  align-items: center;
}
.children > li.cat-parent::before,
.cat-parent > a::before {
  content: "+";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  margin-right: 10px;
  font-size: 1rem;
  font-weight: bold;
  color: #00404c;
  background-color: white;
  border: 1px solid #00404c;
  border-radius: 50%;
  cursor: pointer;
  transition: all 0.3s ease;
}

.cat-parent > a:hover::before {
  background-color: #ef4444 !important;
  border-color: #ef4444 !important;
  color: white;
}

/* Estados activos padres */
.cat-parent.active > a,
.cat-parent.current-cat-active > a,
.cat-parent.current-cat-parent > a {
  color: #ef4444 !important;
}

.cat-parent.active > a::before,
.cat-parent.current-cat-active > a::before,
.cat-parent.current-cat-parent > a::before {
  content: "-" !important;
  background-color: #ef4444 !important;
  border-color: #ef4444 !important;
  color: white !important;
}
.cat-parent.active > a::before {
    top: 16% !important;
}

/* ===== ELEMENTOS HIJO ===== */
.children {
  display: none;
  position: relative;
  margin-top: 5px;
  padding-left: 0px;
  list-style: none;
}

/* Líneas de conexión ajustadas */
.children::before {
  left: 21px; /* Alineación con centro de íconos */
}

/* Mostrar hijos cuando el padre está activo */
.cat-parent.active > .children,
.cat-parent.force-open > .children,
.current-cat-parent > .children {
  display: block !important;
}

/* Línea vertical */
.children::before {
  content: "";
  position: absolute;
  left: 15px;
  top: 0;
  bottom: 0;
  width: 1px;
  background: #ddd;
  z-index: -1;
}

/* Hijos directos */
.children > li {
  padding-left: 30px !important;
  position: relative;
}

/* Íconos para TODOS los elementos hijo (padres y no padres) */
.children > li::before {
  content: "";
  position: absolute;
  left: 29px;
  top: 52%;
  transform: translateY(-50%);
  width: 12px;
  height: 12px;
  border: 1px solid #00404c;
  border-radius: 50%;
  background: transparent;
  transition: all 0.3s ease;
}

/* Ajuste de posición del texto */
.children li > a {
  padding-left: 25px !important;
  margin-left: 0 !important;
}

/* Subhijos (nivel 2+) */
.children .children > li {
   padding-left: 35px !important; /* Mismo que nivel 1 */
}

/* Íconos para elementos finales 
.children > li:not(.cat-parent)::before {
  content: "";
  position: absolute;
  left: 30px;
  top: 52%;
  transform: translateY(-50%);
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 1px solid #00404c;
  background: transparent;
  transition: all 0.3s ease;
}*/

.children .children > li:not(.cat-parent)::before {
  left: 30px;
}

/* Estados activos hijos */
.children li.active > a,
.children li.current-cat > a,
.children li.current-cat-active > a {
  color: #ef4444 !important;
  font-weight: bold;
}

.children li.active::before,
.children li.current-cat::before,
.children li.current-cat-active::before {
  background-color: #ef4444 !important;
  border-color: #ef4444 !important;
}

/* Para padres de cualquier nivel */
.cat-parent.active > a::before,
.children > li.cat-parent.active::before {
    content: "-" !important;
    background-color: #ef4444 !important;
    border-color: #ef4444 !important;
    color: white !important;
    font-size: 29px !important;
}

/* Regla universal para íconos de subpadres */
.children > li.cat-parent::before {
    content: "+" !important;
    background-color: white !important;
    border-color: #00404c !important;
    color: #00404c !important;
}

/* ===== AJUSTES ESPECIALES ===== */
/* Ocultar ícono de punto en subpadres */
.children .cat-parent::before {
  display: none !important;
}

/* Alinear íconos de subpadres */
.children .cat-parent > a::before {
  content: "+";
  position: absolute;
  display: inline-block;
  width: 16px;
  height: 17px;
  line-height: 12px;
  font-weight: 400;
  font-size: 20px;
  border: 1px solid #00404c;
  background: white;
  left: 28px !important; /* Misma posición que otros íconos */
  top: 50%;
  transform: translateY(-50%) !important;
  z-index: 1;
}

/* Override para subpadres - mismo nivel pero con ícono diferente
.children > li.cat-parent::before {
  content: "+" !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  font-size: 14px;
  font-weight: bold;
  background: white;
  left: 5px !important; 
  z-index: 1;
}*/

/* ===== PADRES SIN HIJOS ===== */
.product-categories > li:not(.cat-parent) > a {
  padding-left: 30px; /* Mismo padding que los hijos */
  position: relative;
}

.product-categories > li:not(.cat-parent) > a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 1px solid #00404c;
  background-color: transparent;
  transition: all 0.3s ease;
}

/* ===== TOGGLE PARA CERRAR ===== */
.cat-parent.active > a::before {
  cursor: pointer;
}

/* CUSTOM FIELDS - SINGLE PRODUCT - SELECT */
.custom-sku-selector .sku-regional-select {
    border:0.0625rem solid #00404c;
}

.sku-description {
    margin-top: 20px;
}
.sku-description h2 {
    padding-top: 0px !important;
    padding-bottom:0px !important;
    color: #00404c;
    font-size: 22px;
    font-weight: 600;
}
/* Woocommer Style */
/* Warenkorb */
.klb-free-shipping.woocommerce-notice.site-free-shipping.success {
    background-color: #00404c !important;
    border-color: #00404c !important;
}
.fl-mini-cart-content .klb-cart-free-shipping.success.site-cart-notice {
   background-color: #00404c !important;
    border-color: #00404c !important;
}
.klb-cart-free-shipping.success.success .site-cart-notice-inner p {
    color: #ffffff !important;
}
.fl-mini-cart-content .klb-cart-free-shipping.success .site-cart-notice-inner .site-cart-progress span {
    background-color: #ffffff !important;
}

p.woocommerce-mini-cart__buttons.buttons a:not(.checkout) {
    color: #ffffff !important;
    background-color: #00404c !important;
}
.site-mini-cart .site-mini-cart-inner .woocommerce-mini-cart__total strong {
    color: #00404c;
}

/* Cart */
.notice-header.shipping-notice-header.text-green-800 p {
	color: #ffffff;
}
.woocommerce-notice .shipping-progress::before {
    background-color: #ffffff !important;
}
.cart-collaterals .cart_totals .wc-proceed-to-checkout a {
    background-color: #00404c;
}

/* Estilos para el contenedor de precio dinámico */
.dynamic-price-container {
    font-size: 1.25em;
    margin: 20px 0;
}

.dynamic-price-container .price {
    color: #2a3345;
    font-weight: 600;
}

/* Ocultar precio estándar cuando hay variaciones */
.elementor-widget-woocommerce-product-price .price {
    transition: opacity 0.3s;
}

.has-sku-variations .elementor-widget-woocommerce-product-price .price {
    opacity: 0;
    height: 0;
    overflow: hidden;
    margin: 0;
}

/* SINGLE PRODUCT TITLES */

.elementor-heading-title { color:#00404c; }

/* Estilos VARIACIONES */
.klbtheme-terms { padding-top: 20px !important;}
.klbtheme-type-button .klbtheme-term {font-size: 9px;}
.klbtheme-type-button span.klbtheme-term.klbtheme-selected {
    color: #fff;
    border-color: #00404c;
    background: #00404c;
}
.woo-variation-swatches .variable-items-wrapper {padding: 10px 0 !important;}
.variations {margin-bottom: 25px !important;}
.woocommerce-variation-description h4 {color:#00404c; font-size: 18px;}
.woocommerce-variation-add-to-cart {margin-top: 1.5rem;}
.woocommerce-variation-price{    margin-top: 15px; margin-bottom: 15px;}
.woo-variation-swatches.wvs-show-label .variations th .woo-selected-variation-item-name { color: #e53e3e !important; font-size: 18px;}
form.cart table.variations label {font-size: 18px; padding-top:5px; padding-bottom:5px;}

.woo-variation-swatches.wvs-show-label .variations td {display:inline-block !important; overflow:auto;}

.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).button-variable-item.selected:not(.no-stock) {
    background-color: var(--wvs-selected-item-background-color, #e53e3e);
    color: var(--wvs-selected-item-text-color, #fff) !important;
}

.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).selected, .woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).selected:hover {
    -webkit-box-shadow: var(--wvs-selected-item-box-shadow, 0 0 0 2px #e53e3e);
    box-shadow: var(--wvs-selected-item-box-shadow, 0 0 0 2px #e53e3e);
}
.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item) {
    color: var(--wvs-item-text-color, #00404c) !important;
    color: var(--wvs-item-text-color, #00404c) !important;
}

.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item):hover {
    background-color: var(--wvs-hover-item-background-color, #fff);
    color: var(--wvs-hover-item-text-color, #e53e3e) !important;
}

.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item) {
-webkit-box-shadow: var(--wvs-item-box-shadow, 0 0 0 1px #00404c);
    box-shadow: var(--wvs-item-box-shadow, 0 0 0 1px #00404c);
}

.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item):hover {
    -webkit-box-shadow: var(--wvs-hover-item-box-shadow, 0 0 0 3px #e53e3e);
    box-shadow: var(--wvs-hover-item-box-shadow, 0 0 0 3px #e53e3e);
}

.woocommerce .elementor-2131 .elementor-element.elementor-element-33360dd form.cart .variations { width: 100% !important;}