.elementor-kit-2423{--e-global-color-primary:#D4A03C;--e-global-color-secondary:#1B3A6B;--e-global-color-text:#FFFFFF;--e-global-color-accent:#120D04;--e-global-typography-primary-font-family:"Cinzel";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Cormorant Garamond";--e-global-typography-secondary-font-weight:700;--e-global-typography-text-font-family:"Montserrat";--e-global-typography-text-font-weight:700;--e-global-typography-accent-font-family:"Montserrat";--e-global-typography-accent-font-weight:700;}.elementor-kit-2423 e-page-transition{background-color:#FFBC7D;}.elementor-kit-2423 button,.elementor-kit-2423 input[type="button"],.elementor-kit-2423 input[type="submit"],.elementor-kit-2423 .elementor-button{font-family:"Cinzel", Cinzel;font-weight:600;line-height:1px;letter-spacing:2px;border-radius:4px 4px 4px 4px;padding:12px 12px 12px 12px;}.elementor-kit-2423 button:hover,.elementor-kit-2423 button:focus,.elementor-kit-2423 input[type="button"]:hover,.elementor-kit-2423 input[type="button"]:focus,.elementor-kit-2423 input[type="submit"]:hover,.elementor-kit-2423 input[type="submit"]:focus,.elementor-kit-2423 .elementor-button:hover,.elementor-kit-2423 .elementor-button:focus{border-radius:4px 4px 4px 4px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ═══════════════════════════════════════════════
   TU BIBLIA — Estilos globales de marca v2
   ═══════════════════════════════════════════════ */

/* ── Variables ── */
:root {
  --tb-blue:      #1A3C8F;
  --tb-blue-dk:   #142D6B;
  --tb-red:       #C0392B;
  --tb-red-dk:    #922B21;
  --tb-gray:      #F5F7FA;
  --tb-border:    #E2E6F0;
}

/* ── Header ── */
.site-header, .ast-primary-header-bar {
  background-color: var(--tb-blue) !important;
  border-bottom: 3px solid var(--tb-red) !important;
}
.custom-logo { max-height: 65px !important; width: auto !important; }
@media (max-width: 768px) { .custom-logo { max-height: 48px !important; } }
.main-header-bar .main-navigation a,
.ast-primary-header-bar .main-navigation a { color: #fff !important; font-weight: 500; }
.main-header-bar .main-navigation a:hover,
.ast-primary-header-bar .main-navigation .current-menu-item > a { color: #FFD700 !important; }
.ast-search-icon svg, .ast-header-search svg { fill: #fff !important; }
.ast-mobile-menu-trigger-text { color: #fff !important; }

/* ── Botones globales ── */
.woocommerce a.button, .woocommerce button.button,
.woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce .button, .ast-button {
  background-color: var(--tb-blue) !important;
  color: #fff !important;
  border-radius: 6px !important;
  font-weight: 600 !important;
  transition: background-color .2s, transform .1s;
}
.woocommerce a.button:hover, .woocommerce button.button:hover {
  background-color: var(--tb-blue-dk) !important;
  transform: translateY(-1px);
}
.woocommerce a.button.alt, .woocommerce button.button.alt { background-color: var(--tb-red) !important; }
.woocommerce a.button.alt:hover { background-color: var(--tb-red-dk) !important; }

/* ── Precios ── */
.woocommerce-Price-amount { color: var(--tb-blue) !important; font-weight: 700 !important; }
.woocommerce del .woocommerce-Price-amount { color: #999 !important; font-weight: 400 !important; }
.onsale, .woocommerce span.onsale {
  background-color: var(--tb-red) !important;
  border-radius: 4px !important; font-weight: 700 !important;
  top: 8px !important; right: 8px !important; left: auto !important;
}

/* ── Ajax Search Lite ── */
.asp_search_input, input.asp_search_input {
  height: 52px !important; font-size: 1.05rem !important;
  border: 2px solid var(--tb-blue) !important;
  border-radius: 8px 0 0 8px !important;
  padding: 0 18px !important;
  box-shadow: 0 2px 8px rgba(26,60,143,.1) !important;
}
.asp_search_button, button.asp_search_button {
  height: 52px !important; background: var(--tb-blue) !important;
  color: #fff !important; border-radius: 0 8px 8px 0 !important;
  padding: 0 22px !important; font-weight: 700 !important;
  font-size: 1rem !important; border: none !important; cursor: pointer;
}
.asp_search_button:hover { background: var(--tb-blue-dk) !important; }
.asp_w { max-width: 700px !important; margin: 0 auto !important; }

/* ── Hero search override (dentro del hero azul) ── */
.tb-hero-search .asp_search_input,
.tb-hero-search input.asp_search_input { border-color: #fff !important; }

/* ── GRID productos: 4 col desktop / 2 col mobile ── */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 18px !important;
}
@media (max-width: 1024px) {
  .woocommerce ul.products { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 768px) {
  .woocommerce ul.products { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; }
}
.woocommerce ul.products li.product {
  width: auto !important; float: none !important; margin: 0 !important;
}

/* ── Tarjetas de producto ── */
.woocommerce ul.products li.product {
  display: flex !important; flex-direction: column !important;
  border: 1px solid var(--tb-border) !important;
  border-radius: 12px !important; overflow: hidden !important;
  background: #fff !important;
  transition: box-shadow .25s, transform .25s !important;
  contain: layout style !important;
}
.woocommerce ul.products li.product:hover {
  box-shadow: 0 8px 24px rgba(26,60,143,.14) !important;
  transform: translateY(-4px) !important;
}
.woocommerce ul.products li.product a img {
  width: 100% !important; height: 200px !important;
  object-fit: cover !important; display: block !important;
  content-visibility: auto !important;
}
@media (max-width: 480px) {
  .woocommerce ul.products li.product a img { height: 140px !important; }
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: .82rem !important; font-weight: 600 !important;
  color: var(--tb-blue) !important; padding: 10px 12px 4px !important;
  line-height: 1.35 !important; flex: 1 !important;
}
.woocommerce ul.products li.product .price {
  padding: 2px 12px 8px !important; font-size: .95rem !important;
  font-weight: 800 !important; color: var(--tb-blue) !important;
}
.woocommerce ul.products li.product .button {
  margin: 0 12px 12px !important; display: block !important;
  text-align: center !important; padding: 8px !important;
  font-size: .8rem !important;
}

/* ── Categorías en tarjetas (home) ── */
.woocommerce ul.products li.product-category a img {
  height: 180px !important; object-fit: cover !important;
}
.woocommerce ul.products li.product-category .woocommerce-loop-category__title {
  background: linear-gradient(to top, rgba(26,60,143,.85), transparent) !important;
  color: #fff !important; font-weight: 700 !important;
  padding: 20px 12px 10px !important; font-size: .9rem !important;
}
.woocommerce ul.products li.product-category {
  overflow: hidden !important; border-radius: 12px !important;
  cursor: pointer !important;
}
.woocommerce ul.products li.product-category:hover a img {
  transform: scale(1.05) !important; transition: transform .3s ease !important;
}

/* ── Layout tienda: sidebar + grid ── */
@media (min-width: 769px) {
  .woocommerce-page .content-area {
    display: flex !important; gap: 28px !important; align-items: flex-start !important;
  }
  .woocommerce-page .widget-area {
    width: 260px !important; flex-shrink: 0 !important;
    position: sticky !important; top: 20px !important;
  }
  .woocommerce-page .site-main { flex: 1 !important; min-width: 0 !important; }
}

/* ── Filtros YITH ── */
.yith-wcan-filters, .yith-wcan-filters .yith-wcan-filter {
  background: #fff !important; border: 1px solid var(--tb-border) !important;
  border-radius: 10px !important; margin-bottom: 16px !important; padding: 16px !important;
}
.yith-wcan-filters .yith-wcan-filter-title, .yith-wcan-filter .filter-title {
  color: var(--tb-blue) !important; font-weight: 700 !important;
  font-size: .9rem !important; text-transform: uppercase !important;
  border-bottom: 2px solid var(--tb-border) !important;
  padding-bottom: 10px !important; margin-bottom: 12px !important;
}
.yith-wcan-filters ul li a { color: #555 !important; font-size: .87rem !important; text-decoration: none !important; }
.yith-wcan-filters ul li a:hover { color: var(--tb-blue) !important; }
.yith-wcan-filters ul li.chosen a { color: var(--tb-red) !important; font-weight: 700 !important; }
.yith-wcan-reset-navigation {
  background: var(--tb-gray) !important; border: 1px solid var(--tb-blue) !important;
  color: var(--tb-blue) !important; border-radius: 6px !important;
  padding: 6px 14px !important; font-size: .8rem !important;
  font-weight: 600 !important; display: inline-block !important;
  margin-top: 10px !important; cursor: pointer !important;
}
.yith-wcan-reset-navigation:hover { background: var(--tb-blue) !important; color: #fff !important; }

/* ── Ordenar productos ── */
.woocommerce-ordering select {
  border: 2px solid var(--tb-blue) !important; border-radius: 6px !important;
  color: var(--tb-blue) !important; font-weight: 600 !important; padding: 6px 10px !important;
}

/* ── Footer ── */
.site-footer, .footer-widget-area { background-color: var(--tb-blue-dk) !important; color: #D0D8F0 !important; }
.site-footer a, .footer-widget-area a { color: #A8B8E8 !important; }
.site-footer a:hover, .footer-widget-area a:hover { color: #fff !important; }

/* ── Producto individual ── */
.woocommerce div.product .product_title { color: var(--tb-blue) !important; font-size: 1.6rem !important; }
.woocommerce div.product p.price { font-size: 1.5rem !important; color: var(--tb-blue) !important; font-weight: 800 !important; }
.single_add_to_cart_button {
  background: var(--tb-blue) !important; font-weight: 700 !important;
  padding: 14px 28px !important; border-radius: 8px !important;
}
.single_add_to_cart_button:hover { background: var(--tb-red) !important; }
.woocommerce-tabs ul.tabs li.active a {
  color: var(--tb-blue) !important; border-bottom: 3px solid var(--tb-blue) !important;
}

/* ── Paginación ── */
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--tb-blue) !important; color: #fff !important; border-color: var(--tb-blue) !important;
}

/* ── Mensajes WooCommerce ── */
.woocommerce-message, .woocommerce-info { border-top-color: var(--tb-blue) !important; }
.woocommerce-error { border-top-color: var(--tb-red) !important; }

/* ── Encabezados ── */
h1, h2, h3 { color: var(--tb-blue-dk); }

/* ── Botón flotante WhatsApp ── */
.tb-wa-float {
  position: fixed; bottom: 24px; right: 24px;
  background: #25D366; border-radius: 50%;
  width: 60px; height: 60px;
  display: flex !important; align-items: center; justify-content: center;
  box-shadow: 0 4px 14px rgba(0,0,0,.3);
  z-index: 9999; text-decoration: none !important;
  transition: transform .2s, box-shadow .2s;
}
.tb-wa-float:hover { transform: scale(1.1); box-shadow: 0 6px 20px rgba(0,0,0,.35); }
.tb-wa-float svg { width: 30px; height: 30px; fill: #fff; display: block; }
@media (max-width: 480px) {
  .tb-wa-float { width: 50px; height: 50px; bottom: 16px; right: 16px; }
  .tb-wa-float svg { width: 24px; height: 24px; }
}


/* ── TIENDA: ocultar sidebar filtros en móvil ── */
@media (max-width: 768px) {
  .tb-shop-filters { display: none !important; }
  .tb-cat-nav { display: none !important; }
  .e-con[style*="width: 250px"],
  .e-con[style*="min-width: 220px"] { display: none !important; }
}

/* ── TIENDA: categorías en lista compacta ── */
.tb-cat-nav ul.products {
  display: block !important;
}
.tb-cat-nav ul.products li.product-category {
  display: block !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
  margin-bottom: 4px !important;
  padding: 0 !important;
}
.tb-cat-nav ul.products li.product-category a {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: #444 !important;
  font-size: .87rem !important;
  text-decoration: none !important;
  padding: 4px 0 !important;
}
.tb-cat-nav ul.products li.product-category a:hover { color: #1A3C8F !important; }
.tb-cat-nav ul.products li.product-category img { display: none !important; }
.tb-cat-nav .woocommerce-loop-category__title {
  background: none !important;
  color: #444 !important;
  padding: 0 !important;
  font-weight: 500 !important;
  font-size: .87rem !important;
}
.tb-cat-nav .woocommerce-loop-category__title mark {
  color: #999 !important;
  font-size: .8em;
  font-weight: 400;
}

/* ── Woocommerce price filter ── */
.price_slider_wrapper .ui-slider { background: #E2E6F0 !important; }
.price_slider_wrapper .ui-slider-range { background: #1A3C8F !important; }
.price_slider_wrapper .ui-slider-handle { background: #1A3C8F !important; border-color: #1A3C8F !important; }
.woocommerce .widget_price_filter .price_label { color: #1A3C8F !important; font-weight: 600; }
.woocommerce .widget_price_filter .button {
  background: #1A3C8F !important; color: #fff !important;
  border-radius: 4px !important; font-size: .8rem !important;
}


/* ── Ocultar "Shop" / "Tienda" title de WooCommerce (lo ponemos nosotros) ── */
.woocommerce-shop .ast-page-title,
.woocommerce-page .ast-page-title,
.post-type-archive-product .ast-page-title,
h1.entry-title.product-archive-title,
.woocommerce h1.entry-title { display: none !important; }

/* ── Fix: mostrar "Nuestra Tienda" de Elementor bien posicionado ── */
.elementor-page .woocommerce-products-header { display: none !important; }


/* ── Filtros activos resaltados ── */
#tb-type-filter a[href]:is(:hover, :focus),
#tb-version-filter a[href]:is(:hover, :focus) {
  color: #1A3C8F !important;
  font-weight: 600 !important;
}
/* Móvil: ocultar sidebar filtros */
@media (max-width: 768px) {
  #tb-price-filter, #tb-type-filter, #tb-version-filter, .tb-cat-nav {
    display: none !important;
  }
}
/* Inputs precio */
#tb-min-price:focus, #tb-max-price:focus {
  outline: 2px solid #1A3C8F !important;
  border-color: #1A3C8F !important;
}/* End custom CSS */