/* =========================================================
   BULL SERVICE · TIENDA (WooCommerce + Astra) — plugin bull-service-tienda
   Alinea la tienda con el nuevo sitio: paleta corporativa,
   tipografía Poppins, tarjetas, botones y ficha de producto.
   Lo carga el plugin; no hace falta pegarlo en Personalizar.
   ========================================================= */
:root {
  --bs-azul: #002D72; --bs-azul-oscuro: #001F4F; --bs-rojo: #B22222; --bs-verde: #009879; --bs-verde-oscuro: #007A61;
  --bs-amarillo: #FFC107; --bs-amarillo-hover: #E0A800; --bs-gris: #6E6E6E; --bs-pizarra: #26364D;
  --bs-borde: #E3E8F0; --bs-fondo: #F4F6F9; --bs-antracita: #1A1A1A;
  --bs-f-titulo: 'Montserrat', 'Segoe UI', Arial, sans-serif; --bs-f-texto: 'Inter', -apple-system, 'Segoe UI', Roboto, Arial, sans-serif; --bs-radio: 10px; --bs-sombra: 0 4px 16px rgba(0,45,114,.08); --bs-sombra-2: 0 10px 28px rgba(0,45,114,.14);
}

/* ---------- Tipografía y base ---------- */
body { font-family: var(--bs-f-texto); }
body.woocommerce, body.woocommerce-page { color: var(--bs-antracita); }
.woocommerce h1, .woocommerce h2, .woocommerce h3, .woocommerce-page h1, .woocommerce-page h2, .woocommerce-page h3,
.woocommerce .product_title, .woocommerce-loop-product__title { font-family: var(--bs-f-titulo) !important; color: var(--bs-azul); letter-spacing: 0; }
.woocommerce a { color: var(--bs-azul); }

/* ---------- Cabecera igual al sitio nuevo ---------- */
.ast-primary-header-bar, .main-header-bar, .ast-mobile-header-wrap .ast-primary-header-bar {
  background: var(--bs-azul) !important; border-bottom: 3px solid var(--bs-amarillo) !important;
}
.ast-primary-header-bar .main-header-menu > .menu-item > .menu-link { font-family: var(--bs-f-titulo); font-weight: 600; color: #fff !important; }
.ast-primary-header-bar .site-title a, .ast-primary-header-bar .ast-header-break-point .menu-toggle { color: #fff !important; }
.ast-primary-header-bar .main-header-menu .menu-item:hover > .menu-link,
.ast-primary-header-bar .main-header-menu .current-menu-item > .menu-link,
.ast-primary-header-bar .main-header-menu .current-menu-ancestor > .menu-link { color: var(--bs-amarillo) !important; }
.main-header-menu .sub-menu { border-top: 3px solid var(--bs-amarillo) !important; border-radius: 0 0 var(--bs-radio) var(--bs-radio); box-shadow: var(--bs-sombra-2); }

/* ---------- Encabezado de tienda y categorías ---------- */
.woocommerce-products-header, .ast-archive-description { padding-bottom: 8px; }
.woocommerce-breadcrumb, .ast-woocommerce-container .woocommerce-breadcrumb { font-size: 14px; color: var(--bs-gris); }
.woocommerce-breadcrumb a:hover { color: var(--bs-rojo); }
.woocommerce .woocommerce-result-count { color: var(--bs-gris); font-size: 14px; }
.woocommerce .woocommerce-ordering select { border: 1px solid var(--bs-borde); border-radius: 8px; padding: 8px 12px; }

/* ---------- Tarjetas de producto ---------- */
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
  background: #fff; border: 1px solid var(--bs-borde); border-radius: var(--bs-radio); box-shadow: var(--bs-sombra);
  padding: 0 0 18px !important; overflow: hidden; display: flex; flex-direction: column; transition: transform .18s ease, box-shadow .18s ease;
}
.woocommerce ul.products li.product:hover { transform: translateY(-3px); box-shadow: var(--bs-sombra-2); }
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap { background: #fff; border-bottom: 1px solid var(--bs-borde); }
.woocommerce ul.products li.product img { aspect-ratio: 1 / 1; object-fit: contain; padding: 14px; margin: 0 !important; }
.woocommerce ul.products li.product .astra-shop-summary-wrap { padding: 14px 18px 0; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.woocommerce ul.products li.product .ast-woo-product-category { font: 600 11.5px var(--bs-f-titulo); text-transform: uppercase; letter-spacing: .05em; color: var(--bs-gris); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 15.5px !important; font-weight: 600; line-height: 1.35; min-height: 2.7em; }
.woocommerce ul.products li.product .price { color: var(--bs-azul) !important; font: 700 18px var(--bs-f-titulo); margin-top: auto; }
.woocommerce ul.products li.product .price del { color: var(--bs-gris); font-weight: 500; font-size: 14px; }
.woocommerce ul.products li.product .price ins { text-decoration: none; color: var(--bs-rojo); }
.woocommerce ul.products li.product .button { margin: 10px 18px 0 !important; }

/* Etiqueta de oferta */
.woocommerce span.onsale, .ast-onsale-card { background: var(--bs-rojo) !important; color: #fff !important; border-radius: 999px !important; font: 700 12px var(--bs-f-titulo) !important; min-height: 0 !important; line-height: 1 !important; padding: 7px 12px !important; top: 12px !important; left: 12px !important; right: auto !important; }

/* ---------- Botones ---------- */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce .single_add_to_cart_button, .woocommerce a.checkout-button, .wc-block-components-button:not(.is-link) {
  background: var(--bs-amarillo) !important; color: var(--bs-azul) !important; border: 0 !important; border-radius: 6px !important;
  font: 600 15px var(--bs-f-titulo) !important; padding: 13px 22px !important; line-height: 1.2 !important; transition: background-color .15s ease;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce .single_add_to_cart_button:hover,
.woocommerce a.checkout-button:hover, .wc-block-components-button:not(.is-link):hover { background: var(--bs-amarillo-hover) !important; }
/* Botón "Cotizar" (productos sin precio) */
.woocommerce a.button.bs-cotizar, .bs-cotizar { background: var(--bs-azul) !important; color: #fff !important; }
.woocommerce a.button.bs-cotizar:hover { background: var(--bs-azul-oscuro) !important; }
.woocommerce a.added_to_cart { display: inline-block; margin: 8px 18px 0; font-weight: 600; color: var(--bs-verde-oscuro); }

/* ---------- Ficha de producto ---------- */
.woocommerce div.product .product_title { font-size: clamp(26px, 2.6vw, 34px) !important; line-height: 1.2; font-weight: 700; }
.woocommerce div.product .summary .price { color: var(--bs-azul) !important; font: 700 28px var(--bs-f-titulo) !important; }
.woocommerce div.product .summary .price small, .woocommerce-price-suffix { font: 400 14px Arial, sans-serif; color: var(--bs-gris); }
.woocommerce div.product .woocommerce-product-gallery { background: #fff; border: 1px solid var(--bs-borde); border-radius: var(--bs-radio); padding: 16px; }
.woocommerce div.product p.stock.in-stock { color: var(--bs-verde-oscuro); font-weight: 600; }
.woocommerce div.product p.stock.out-of-stock { color: var(--bs-rojo); font-weight: 600; }
.woocommerce div.product form.cart .qty { border: 1px solid var(--bs-borde); border-radius: 6px; min-height: 46px; }
.woocommerce div.product .product_meta { border-top: 1px solid var(--bs-borde); padding-top: 14px; font-size: 14px; color: var(--bs-gris); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--bs-azul) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active::before, .woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-color: var(--bs-amarillo) !important; }
.woocommerce .related > h2, .woocommerce .upsells > h2 { font-size: 24px !important; margin-bottom: 20px; }

/* Bloque de confianza bajo el botón (lo agrega el fragmento PHP) */
.bst-confianza { list-style: none; margin: 18px 0 0; padding: 16px; border: 1px solid var(--bs-borde); border-radius: var(--bs-radio); background: var(--bs-fondo); display: grid; gap: 8px; font-size: 14.5px; }
.bst-confianza li { display: flex; gap: 10px; align-items: flex-start; }
.bst-confianza li::before { content: ""; flex: 0 0 18px; height: 18px; margin-top: 2px; border-radius: 50%; background: var(--bs-amarillo) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23002D72' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center / 12px no-repeat; }

/* ---------- Carrito y pago ---------- */
.woocommerce-cart table.cart, .woocommerce table.shop_table { border: 1px solid var(--bs-borde) !important; border-radius: var(--bs-radio) !important; overflow: hidden; }
.woocommerce table.shop_table th { background: var(--bs-fondo); font-family: var(--bs-f-titulo); color: var(--bs-azul); }
.woocommerce .cart-collaterals .cart_totals, .woocommerce-checkout #order_review { border: 1px solid var(--bs-borde); border-radius: var(--bs-radio); padding: 20px; box-shadow: var(--bs-sombra); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select { border: 1px solid var(--bs-borde) !important; border-radius: 6px !important; min-height: 46px; padding: 10px 12px !important; }
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus { border-color: var(--bs-azul) !important; box-shadow: 0 0 0 3px rgba(255,193,7,.45); outline: none; }
.woocommerce-info, .woocommerce-message { border-top-color: var(--bs-azul) !important; background: var(--bs-fondo) !important; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--bs-azul) !important; }
.woocommerce-error { border-top-color: var(--bs-rojo) !important; }

/* Carrito flotante (WPC Fly Cart): mismos colores */
.woofc-area .woofc-area-bot .woofc-action .woofc-action-inner > div a { background: var(--bs-amarillo) !important; color: var(--bs-azul) !important; border-radius: 6px; }
.woofc-count { background: var(--bs-rojo) !important; }

/* Accesibilidad: foco visible */
.woocommerce a:focus-visible, .woocommerce button:focus-visible, .woocommerce input:focus-visible { outline: 3px solid var(--bs-amarillo); outline-offset: 2px; }

@media (max-width: 544px) {
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 14px !important; }
  .woocommerce ul.products li.product .button { margin: 10px 12px 0 !important; padding: 11px 12px !important; font-size: 14px !important; }
  .woocommerce ul.products li.product .astra-shop-summary-wrap { padding: 12px 12px 0; }
}

/* ===================== Cabecera: barra SLA + vidrio ===================== */
.bst-barra { background: var(--bs-antracita); color: #E8ECF2; font: 500 13.5px var(--bs-f-texto); }
.bst-barra__fila { max-width: 1240px; margin: 0 auto; padding: 7px 20px; display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.bst-barra__sla { display: inline-flex; align-items: center; gap: 8px; }
.bst-barra svg { width: 16px; height: 16px; fill: none; stroke: var(--bs-amarillo); stroke-width: 2; }
.bst-barra__contacto { display: inline-flex; gap: 16px; }
.bst-barra a { color: #fff !important; font-weight: 600; text-decoration: none; }
.bst-barra__wa { color: #7BE3CC !important; }
@media (max-width: 600px) { .bst-barra__sla { display: none; } .bst-barra__fila { justify-content: center; } }
#masthead { position: sticky; top: 0; z-index: 99; }
.admin-bar #masthead { top: 32px; }
#masthead .ast-primary-header-bar, #masthead .main-header-bar {
  background: rgba(0, 45, 114, .82) !important; -webkit-backdrop-filter: saturate(160%) blur(14px); backdrop-filter: saturate(160%) blur(14px);
  transition: background-color .3s ease, box-shadow .3s ease;
}
.bst-solido #masthead .ast-primary-header-bar, .bst-solido #masthead .main-header-bar { background: rgba(0, 31, 79, .97) !important; box-shadow: 0 8px 24px rgba(0, 16, 42, .25); }

/* ===================== Mega menú (ítems con clase bst-mega) ===================== */
@media (min-width: 922px) {
  #masthead .main-header-menu > .menu-item > .menu-link { padding: 0 .7em !important; font-size: 14.5px; }
}
@media (min-width: 922px) {
  .main-header-menu > .bst-mega { position: static; }
  .main-header-menu > .bst-mega > .sub-menu {
    left: 50% !important; right: auto !important; transform: translate(-50%, 8px); width: min(760px, 92vw) !important;
    display: grid !important; grid-template-columns: 1fr 1fr; gap: 4px; padding: 14px !important; background: #fff !important;
    border-radius: 14px; border-top: 3px solid var(--bs-amarillo) !important; box-shadow: 0 24px 60px rgba(0, 22, 58, .28) !important;
    opacity: 0; visibility: hidden; transition: opacity .2s ease, transform .2s ease, visibility 0s linear .2s;
  }
  .main-header-menu > .bst-mega:hover > .sub-menu, .main-header-menu > .bst-mega:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translate(-50%, 0); transition: opacity .2s ease, transform .2s ease; }
  .main-header-menu > .bst-mega > .sub-menu .menu-link { display: flex !important; flex-direction: column; align-items: flex-start; gap: 2px; padding: 12px 14px !important; border-radius: 10px; color: var(--bs-azul) !important; font: 600 14.5px var(--bs-f-titulo); white-space: normal; }
  .main-header-menu > .bst-mega > .sub-menu .menu-link:hover { background: var(--bs-fondo) !important; }
}
.bst-mega__desc { display: block; font: 400 12.5px var(--bs-f-texto); color: var(--bs-gris); }
.main-header-menu > [class*="bst-ico-"] > .menu-link::before { content: ""; display: inline-block; width: 16px; height: 16px; margin-right: 6px; vertical-align: -3px; background: var(--bs-amarillo); -webkit-mask: var(--bst-ico) center / contain no-repeat; mask: var(--bst-ico) center / contain no-repeat; }
.bst-ico-blindaje { --bst-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M12 3l7 3v6c0 5-3.5 8.5-7 9-3.5-.5-7-4-7-9V6l7-3z'/%3E%3C/svg%3E"); }
.bst-ico-tactico { --bst-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='8' width='18' height='8' rx='2'/%3E%3Cpath d='M7 8V6M17 8V6M3 12h18'/%3E%3C/svg%3E"); }
.bst-ico-rescate { --bst-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='4' y='4' width='16' height='16' rx='3'/%3E%3Cpath d='M12 8v8M8 12h8'/%3E%3C/svg%3E"); }
.bst-ico-indumentaria { --bst-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M7 3h6v9l6 3a2 2 0 0 1 1 2v2H4v-4l3-2V3z'/%3E%3C/svg%3E"); }
.bst-ico-nolethal { --bst-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M13 2 4 14h7l-1 8 9-12h-7l1-8z'/%3E%3C/svg%3E"); }
.bst-ico-servicios { --bst-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='9' cy='8' r='3'/%3E%3Cpath d='M3 20a6 6 0 0 1 12 0'/%3E%3Ccircle cx='17' cy='9' r='2.5'/%3E%3Cpath d='M16 14.5a5 5 0 0 1 6 5'/%3E%3C/svg%3E"); }

/* ===================== Buscador Ctrl+K ===================== */
.bst-menu-buscar { display: flex; align-items: center; }
.bst-abrir-buscador { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 10px 0 12px; border-radius: 999px; border: 1px solid rgba(255,255,255,.3); background: rgba(255,255,255,.08); color: #fff; cursor: pointer; font: 500 13px var(--bs-f-texto); }
.bst-abrir-buscador svg, .bst-buscador__caja svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; }
.bst-kbd { border: 1px solid currentColor; border-radius: 5px; padding: 1px 6px; font-size: 11px; opacity: .8; }
.bst-buscador { border: 0; padding: 0; width: min(680px, calc(100vw - 24px)); max-height: min(640px, calc(100dvh - 48px)); margin: 10vh auto auto; border-radius: 16px; overflow: hidden; box-shadow: 0 30px 80px rgba(0, 16, 42, .45); }
.bst-buscador[open] { display: flex; flex-direction: column; }
.bst-buscador::backdrop { background: rgba(0, 22, 58, .55); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.bst-buscador__caja { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-bottom: 1px solid var(--bs-borde); color: var(--bs-azul); }
.bst-buscador__caja input { flex: 1; border: 0 !important; box-shadow: none !important; font: 400 18px var(--bs-f-texto); padding: 8px 0 !important; background: transparent; outline: none; }
.bst-buscador__cerrar { border: 1px solid var(--bs-borde); background: var(--bs-fondo); color: var(--bs-gris); border-radius: 6px; padding: 6px 8px; font: 600 12px var(--bs-f-texto); cursor: pointer; }
.bst-buscador__res { list-style: none; margin: 0; padding: 8px; overflow-y: auto; flex: 1; }
.bst-buscador__res .bst-grupo { font: 700 11.5px var(--bs-f-titulo); text-transform: uppercase; letter-spacing: .06em; color: var(--bs-gris); padding: 10px 12px 4px; }
.bst-buscador__res a { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 10px; color: var(--bs-antracita); text-decoration: none; }
.bst-buscador__res [aria-selected="true"] a { background: var(--bs-fondo); box-shadow: inset 3px 0 0 var(--bs-amarillo); }
.bst-res__img { width: 46px; height: 46px; border-radius: 8px; object-fit: contain; background: #fff; border: 1px solid var(--bs-borde); flex: 0 0 46px; }
.bst-res__txt { display: flex; flex-direction: column; min-width: 0; }
.bst-res__txt strong { font: 600 15px var(--bs-f-titulo); color: var(--bs-azul); }
.bst-res__txt small { color: var(--bs-gris); font-size: 13px; }
.bst-res__txt mark { background: rgba(255,193,7,.45); color: inherit; }
.bst-buscador__pie { display: flex; justify-content: space-between; padding: 10px 16px; border-top: 1px solid var(--bs-borde); background: var(--bs-fondo); font-size: 12.5px; color: var(--bs-gris); }
.bst-vacio { padding: 16px 12px; color: var(--bs-gris); }

/* ===================== Ficha dual B2C / B2B ===================== */
.bst-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: -4px 0 14px; }
.bst-chip { font: 600 12px var(--bs-f-titulo); padding: 5px 10px; border-radius: 999px; }
.bst-chip--cert { background: #E6F5F1; color: #00594A; }
.bst-chip--fidae { background: var(--bs-rojo); color: #fff; }
.bst-precio-b2b { font: 700 20px var(--bs-f-titulo); color: var(--bs-azul); }
.bst-b2b { margin: 16px 0; padding: 18px; border: 1px solid var(--bs-borde); border-left: 4px solid var(--bs-azul); border-radius: var(--bs-radio); background: var(--bs-fondo); }
.bst-b2b__etiqueta { display: inline-block; font: 700 11.5px var(--bs-f-titulo); letter-spacing: .06em; text-transform: uppercase; color: var(--bs-azul); margin-bottom: 6px; }
.bst-b2b p { margin: 0 0 12px; }
.bst-b2b__botones { display: flex; gap: 10px; flex-wrap: wrap; }
.woocommerce .button.bst-btn-b2b, .bst-btn-b2b { background: var(--bs-azul) !important; color: #fff !important; }
.woocommerce .button.bst-btn-b2b:hover { background: var(--bs-azul-oscuro) !important; }
.woocommerce .button.bst-btn-wa, .bst-btn-wa { background: var(--bs-verde-oscuro) !important; color: #fff !important; }
.bst-volumen { margin: 10px 0 0; font-size: 14.5px; color: var(--bs-gris); }
.bst-enlace { background: none; border: 0; padding: 0; color: var(--bs-azul); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.bst-ficha__btn { display: inline-flex; align-items: center; gap: 8px; font: 600 14.5px var(--bs-f-titulo); color: var(--bs-azul) !important; border: 2px solid var(--bs-azul); border-radius: 6px; padding: 10px 16px; text-decoration: none; }
.bst-ficha__btn svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; }
.bst-certs { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0 0 16px; padding: 0; }
.bst-certs li { background: #E6F5F1; color: #00594A; font: 600 13px var(--bs-f-titulo); padding: 6px 12px; border-radius: 999px; }
/* Selector de variaciones en botones */
.bst-var-botones { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 8px; }
.bst-var-botones button { min-width: 44px; min-height: 40px; padding: 0 14px; border: 1px solid var(--bs-borde); border-radius: 8px; background: #fff; color: var(--bs-azul); font: 600 14px var(--bs-f-titulo); cursor: pointer; }
.bst-var-botones button[aria-pressed="true"] { border-color: var(--bs-azul); background: var(--bs-azul); color: #fff; }
.bst-var-botones button:disabled { opacity: .35; text-decoration: line-through; cursor: not-allowed; }
.bst-var-oculto { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* ===================== Formulario de cotización ===================== */
.bst-modal { border: 0; border-radius: 16px; padding: 28px clamp(18px, 4vw, 32px); width: min(560px, calc(100vw - 24px)); max-height: calc(100dvh - 32px); overflow: auto; box-shadow: 0 30px 80px rgba(0, 16, 42, .45); }
.bst-modal::backdrop { background: rgba(0, 22, 58, .6); }
.bst-modal h2 { font-size: 24px; margin: 0 0 4px; }
.bst-modal__producto { color: var(--bs-gris); margin: 0 0 14px; font-size: 14.5px; }
.bst-modal__cerrar { position: absolute; top: 12px; right: 12px; width: 40px; height: 40px; border-radius: 50%; border: 0; background: var(--bs-fondo); font-size: 24px; color: var(--bs-azul); cursor: pointer; }
.bst-cot { display: grid; gap: 12px; }
.bst-campo { display: flex; flex-direction: column; gap: 5px; }
.bst-campo label { font: 600 13.5px var(--bs-f-texto); color: var(--bs-antracita); }
.bst-campo input, .bst-campo textarea { border: 1px solid var(--bs-borde); border-radius: 6px; min-height: 46px; padding: 10px 12px; font: 400 15px var(--bs-f-texto); width: 100%; }
.bst-campo input:focus, .bst-campo textarea:focus { border-color: var(--bs-azul); outline: none; box-shadow: 0 0 0 3px rgba(255,193,7,.45); }
.bst-req { color: var(--bs-rojo); } .bst-opc { color: var(--bs-gris); font-weight: 400; }
.bst-msg { font-size: 13px; color: var(--bs-rojo); } .bst-msg:empty { display: none; } .bst-msg[data-tipo="aviso"] { color: #7A5A00; }
.bst-campo--error input, .bst-campo--error textarea { border-color: var(--bs-rojo); background: #FFF7F7; }
.bst-campo--ok input { border-color: var(--bs-verde); }
.bst-interruptor { position: relative; }
.bst-interruptor input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.bst-interruptor label { display: inline-flex; align-items: center; gap: 12px; cursor: pointer; font: 600 15px var(--bs-f-titulo); color: var(--bs-azul); min-height: 44px; }
.bst-interruptor__pista { position: relative; width: 46px; height: 26px; border-radius: 999px; background: #C9D1DD; transition: background-color .2s; }
.bst-interruptor__pista::after { content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; transition: transform .2s; box-shadow: 0 1px 3px rgba(0,0,0,.25); }
.bst-interruptor input:checked + label .bst-interruptor__pista { background: var(--bs-verde-oscuro); }
.bst-interruptor input:checked + label .bst-interruptor__pista::after { transform: translateX(20px); }
.bst-interruptor input:focus-visible + label .bst-interruptor__pista { outline: 3px solid var(--bs-amarillo); outline-offset: 2px; }
.bst-empresa { display: grid; gap: 12px; padding: 14px; background: var(--bs-fondo); border-radius: var(--bs-radio); }
.bst-cot__trampa { position: absolute !important; left: -9999px !important; }
.bst-cot__nota { font-size: 13px; color: var(--bs-gris); margin: 0; }
.bst-cot__estado { padding: 12px 14px; border-radius: 6px; background: #E6F5F1; color: #00594A; border: 1px solid var(--bs-verde); margin: 0; }
.bst-cot__estado[data-tipo="error"] { background: #FFF4F4; color: #7A1515; border-color: var(--bs-rojo); }

/* ===================== Checkout: factura y despacho ===================== */
.bst-oculto { display: none !important; }
.woocommerce-checkout .bst-factura-toggle { background: var(--bs-fondo); border: 1px solid var(--bs-borde); border-radius: var(--bs-radio); padding: 12px 14px !important; }
.woocommerce-checkout .bst-factura-toggle label { font-weight: 600; color: var(--bs-azul); }
.woocommerce-checkout .bst-factura-campo.bst-cerrado { display: none !important; }
.bst-envio { display: inline-flex; flex-direction: column; gap: 2px; vertical-align: top; }
.bst-envio__marca { font: 700 14.5px var(--bs-f-titulo); color: var(--bs-azul); padding-left: 34px; position: relative; }
.bst-envio__marca::before { content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 26px; height: 18px; border-radius: 4px; background: var(--bs-azul); }
.bst-envio--starken .bst-envio__marca::before { background: #E30613; }
.bst-envio--chilexpress .bst-envio__marca::before { background: #FFCC00; }
.bst-envio--blue .bst-envio__marca::before { background: #0047BB; }
.bst-envio--local_pickup .bst-envio__marca::before, .bst-envio--pickup .bst-envio__marca::before, .bst-envio--retiro .bst-envio__marca::before { background: var(--bs-verde-oscuro); }
.bst-envio__detalle { font-size: 13.5px; color: var(--bs-gris); padding-left: 34px; }
.woocommerce ul#shipping_method li { padding: 10px 12px; border: 1px solid var(--bs-borde); border-radius: 8px; margin-bottom: 8px !important; }
.woocommerce ul#shipping_method li:has(input:checked) { border-color: var(--bs-azul); box-shadow: 0 0 0 2px rgba(0,45,114,.12); }
.bst-factura-resumen { margin-top: 24px; } .bst-factura-resumen ul { list-style: none; padding: 0; }
.bst-fidae { margin: 32px 0; }
@media (prefers-reduced-motion: reduce) { .main-header-menu > .bst-mega > .sub-menu, #masthead .ast-primary-header-bar { transition: none !important; } }

/* ===================== Mejoras de conversión ===================== */
.bst-franja { list-style: none; margin: 4px 0 24px; padding: 12px 16px; display: flex; flex-wrap: wrap; gap: 8px 22px; background: var(--bs-fondo); border: 1px solid var(--bs-borde); border-radius: var(--bs-radio); font-size: 14px; color: var(--bs-antracita); }
.bst-franja li { position: relative; padding-left: 22px; }
.bst-franja li::before { content: ""; position: absolute; left: 0; top: 3px; width: 15px; height: 15px; border-radius: 50%; background: var(--bs-amarillo) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23002D72' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center / 10px no-repeat; }
.woocommerce ul.products li.product { position: relative; }
.bst-sello { position: absolute; top: 12px; right: 12px; z-index: 3; font: 700 11px var(--bs-f-titulo); letter-spacing: .04em; text-transform: uppercase; padding: 5px 9px; border-radius: 999px; }
.bst-sello--b2b { background: var(--bs-azul); color: #fff; }
.bst-sello--agotado { background: #fff; color: var(--bs-gris); border: 1px solid var(--bs-borde); }
.bst-agotado { margin: 14px 0; padding: 14px 16px; border: 1px dashed var(--bs-rojo); border-radius: var(--bs-radio); background: #FFF7F7; }
.bst-agotado p { margin: 0 0 10px; }
.bst-barra-movil { position: fixed; left: 0; right: 0; bottom: 0; z-index: 9990; display: flex; align-items: center; gap: 12px; padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px)); background: rgba(255,255,255,.97); border-top: 1px solid var(--bs-borde); box-shadow: 0 -8px 24px rgba(0, 22, 58, .12); }
.bst-barra-movil[hidden] { display: none !important; }
.bst-barra-movil__info { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.bst-barra-movil__info strong { font: 600 13.5px var(--bs-f-titulo); color: var(--bs-azul); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bst-barra-movil__info small { font-size: 13px; color: var(--bs-antracita); font-weight: 600; }
.bst-barra-movil .button { flex: 0 0 auto; padding: 12px 16px !important; font-size: 14px !important; }
@media (min-width: 922px) { .bst-barra-movil { display: none !important; } }
.bst-ayuda-carrito { margin-top: 16px; padding: 16px; border: 1px solid var(--bs-borde); border-left: 4px solid var(--bs-azul); border-radius: var(--bs-radio); background: var(--bs-fondo); font-size: 14.5px; }
.bst-ayuda-carrito p { margin: 6px 0 10px; }
.ast-shop-product-out-of-stock { display: none !important; } /* el sello "Sin stock" del plugin lo reemplaza */

/* ---------- Ajustes para la cabecera Astra de bullservice.cl (v1.1.1) ---------- */
.ast-hfb-header .main-header-menu { background: transparent !important; }
@media (min-width: 922px) {
  .ast-hfb-header .main-header-menu { flex-wrap: nowrap; }
  .ast-hfb-header .main-header-menu > li > a { white-space: nowrap; }
}
@media (min-width: 922px) and (max-width: 1439px) {
  .ast-hfb-header .main-header-menu > li > a { padding: 0 7px !important; font-size: 13.5px !important; }
  .ast-hfb-header .main-header-menu > [class*="bst-ico-"] > .menu-link::before { display: none !important; }
  .ast-hfb-header .ast-header-social-wrap { display: none !important; }
  .ast-hfb-header .bst-kbd { display: none !important; }
}
@media (min-width: 922px) and (max-width: 1199px) {
  .ast-hfb-header .custom-logo { max-width: 150px !important; height: auto; }
  .ast-hfb-header .main-header-menu > li > a { padding: 0 5px !important; font-size: 13px !important; }
}
/* Márgenes laterales en tienda, producto, carrito y pago (el tema usa ancho completo) */
.ast-page-builder-template.woocommerce-page .site .site-content #primary,
.ast-page-builder-template.woocommerce .site .site-content #primary { max-width: 1320px; margin-left: auto; margin-right: auto; padding-left: clamp(16px, 4vw, 40px); padding-right: clamp(16px, 4vw, 40px); }
