:root{--k:#0057b8;--kd:#003f88;--kl:#e8f1fb;--ln:#d5e0ec;--tx:#0d1b2a;--dm:#45566a;--gr:#7a8899;--bg:#f4f8fd;--r:14px}
.woocommerce-page .site-content,.woocommerce .site-content{background:#fff}

/* ---------- Titulos ---------- */
.woocommerce h2,.woocommerce-page h2{font-weight:800;letter-spacing:-.02em;color:var(--tx)}

/* ---------- Botones ---------- */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt{
 background:var(--k);color:#fff;border:0;border-radius:999px;padding:.85rem 1.7rem;
 font-weight:700;font-size:15px;text-decoration:none!important;line-height:1.2;
 transition:background .18s ease,transform .18s ease;box-shadow:0 8px 22px -12px rgba(0,87,184,.55)}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{background:var(--kd);color:#fff;transform:translateY(-1px)}
.woocommerce button.button:disabled,.woocommerce button.button.alt:disabled[disabled]{background:var(--kl);color:var(--gr);box-shadow:none}

/* ---------- Carrito: tarjeta ---------- */
.woocommerce-cart-form{background:#fff;border:1px solid var(--ln);border-radius:var(--r);overflow:hidden;box-shadow:0 10px 30px -22px rgba(13,27,42,.35)}
.woocommerce table.shop_table{border:0;border-radius:0;margin:0;border-collapse:collapse}
.woocommerce table.shop_table thead th{background:var(--bg);color:var(--dm);font-size:12.5px;font-weight:800;
 text-transform:uppercase;letter-spacing:.06em;padding:1rem 1.2rem;border:0;border-bottom:1px solid var(--ln)}
.woocommerce table.shop_table td{padding:1.2rem;border:0;border-bottom:1px solid var(--ln);vertical-align:middle}
.woocommerce table.shop_table tbody tr:last-child td{border-bottom:0}
.woocommerce table.shop_table .product-thumbnail img{width:88px;height:88px;object-fit:contain;
 border:1px solid var(--ln);border-radius:10px;background:#fff;padding:4px}
.woocommerce table.shop_table .product-name a{color:var(--tx);font-weight:700;text-decoration:none}
.woocommerce table.shop_table .product-name a:hover{color:var(--k)}
.woocommerce table.shop_table .product-price,.woocommerce table.shop_table .product-subtotal{font-variant-numeric:tabular-nums}
.woocommerce table.shop_table .product-subtotal{font-weight:800;color:var(--tx)}
.woocommerce a.remove{color:var(--gr)!important;font-size:20px;line-height:1;width:26px;height:26px}
.woocommerce a.remove:hover{background:#ffe9e9;color:#d5342b!important}
.woocommerce .quantity .qty{border:1px solid var(--ln);border-radius:9px;padding:.5rem;width:70px;text-align:center;font-weight:600}

/* Cupon */
.woocommerce table.shop_table td.actions{background:var(--bg);padding:1rem 1.2rem}
.woocommerce .coupon{display:flex;gap:.6rem;align-items:center}
.woocommerce #coupon_code{border:1px solid var(--ln);border-radius:999px;padding:.75rem 1.1rem;min-width:190px;font:inherit}

/* ---------- Totales ---------- */
.cart-collaterals{width:100%;display:flex;justify-content:flex-end;margin-top:1.6rem}
.cart-collaterals .cart_totals{width:100%;max-width:430px;float:none;
 background:linear-gradient(180deg,#fff,var(--bg));border:1px solid var(--ln);border-radius:var(--r);
 padding:1.5rem;box-shadow:0 12px 34px -24px rgba(13,27,42,.4)}
.cart_totals h2{font-size:1.25rem;margin:0 0 1rem}
.woocommerce-page .cart_totals table.shop_table{background:transparent;border:0;box-shadow:none}
.woocommerce-page .cart_totals table.shop_table th{background:transparent;text-transform:none;font-size:14.5px;
 letter-spacing:0;color:var(--dm);font-weight:600;padding:.7rem 0;border-bottom:1px dashed var(--ln)}
.woocommerce-page .cart_totals table.shop_table td{padding:.7rem 0;border-bottom:1px dashed var(--ln);text-align:right;font-variant-numeric:tabular-nums}
.woocommerce-page .cart_totals .order-total th,.woocommerce-page .cart_totals .order-total td{border-bottom:0;padding-top:1rem}
.woocommerce-page .cart_totals .order-total td{font-size:1.35rem;font-weight:800;color:var(--k)}
.wc-proceed-to-checkout{padding:1.1rem 0 0!important}
.wc-proceed-to-checkout a.checkout-button{display:block;text-align:center;font-size:16px!important;padding:1rem!important}

/* ---------- Avisos ---------- */
.woocommerce-message,.woocommerce-info,.woocommerce-error{
 border-top:0;border-left:4px solid var(--k);background:var(--kl);color:var(--tx);
 border-radius:10px;padding:1rem 1.2rem 1rem 1.4rem;margin-bottom:1.4rem}
.woocommerce-message::before,.woocommerce-info::before{color:var(--k)}
.woocommerce-error{border-left-color:#d5342b;background:#fdecec}

/* ---------- Checkout ---------- */
.woocommerce-checkout .col2-set{display:grid;grid-template-columns:1fr;gap:1rem}
.woocommerce form .form-row label{font-weight:600;font-size:14px;color:var(--dm);margin-bottom:.3rem}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,
.woocommerce .select2-container .select2-selection--single{
 border:1px solid var(--ln)!important;border-radius:10px!important;padding:.8rem .9rem!important;
 height:auto!important;font:inherit;background:#fff}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus{
 outline:none;border-color:var(--k)!important;box-shadow:0 0 0 3px rgba(0,87,184,.16)}
#customer_details{background:#fff;border:1px solid var(--ln);border-radius:var(--r);padding:1.6rem;margin-bottom:1.4rem}
#order_review_heading{margin-top:0}
.woocommerce-checkout #payment{background:linear-gradient(180deg,#fff,var(--bg));border:1px solid var(--ln);border-radius:var(--r)}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid var(--ln);padding:1.2rem}
.woocommerce-checkout #payment div.form-row{padding:1.2rem}
.woocommerce-checkout #payment div.payment_box{background:var(--kl);border-radius:10px;color:var(--dm);font-size:14px}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:var(--kl)}
#place_order{width:100%;font-size:16px!important;padding:1rem!important}

/* ---------- Tienda y fichas ---------- */
.woocommerce ul.products li.product{background:#fff;border:1px solid var(--ln);border-radius:var(--r);
 padding:1rem;transition:transform .18s ease,box-shadow .18s ease}
.woocommerce ul.products li.product:hover{transform:translateY(-4px);box-shadow:0 16px 36px -22px rgba(0,87,184,.45)}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:1rem!important;font-weight:700;color:var(--tx)}
.woocommerce ul.products li.product .price{color:var(--k);font-weight:800}
.woocommerce div.product .product_title{font-weight:800;letter-spacing:-.02em}
.woocommerce div.product p.price{color:var(--k);font-weight:800;font-size:1.9rem}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{border-bottom-color:var(--k)}
.woocommerce div.product div.images img{border:1px solid var(--ln);border-radius:var(--r)}
.woocommerce .woocommerce-breadcrumb{color:var(--gr);font-size:13.5px}
.woocommerce .woocommerce-breadcrumb a{color:var(--dm)}

/* ---------- Mi cuenta ---------- */
.woocommerce-account .woocommerce-MyAccount-navigation{width:26%}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;
 background:#fff;border:1px solid var(--ln);border-radius:var(--r);overflow:hidden}
.woocommerce-account .woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--ln)}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child{border-bottom:0}
.woocommerce-account .woocommerce-MyAccount-navigation li a{display:block;padding:.9rem 1.1rem;
 color:var(--dm);text-decoration:none;font-weight:600;font-size:14.5px}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{background:var(--bg);color:var(--k)}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{background:var(--k);color:#fff}
.woocommerce-account .woocommerce-MyAccount-content{width:70%;background:#fff;border:1px solid var(--ln);
 border-radius:var(--r);padding:1.6rem}
.woocommerce-account .col2-set .col-1,.woocommerce-account .col2-set .col-2{
 background:#fff;border:1px solid var(--ln);border-radius:var(--r);padding:1.6rem}

@media (max-width:820px){
 .cart-collaterals .cart_totals{max-width:100%}
 .woocommerce-account .woocommerce-MyAccount-navigation,.woocommerce-account .woocommerce-MyAccount-content{width:100%;float:none}
 .woocommerce table.shop_table .product-thumbnail img{width:64px;height:64px}
}

/* ---------- Banner principal ---------- */
.bdtf-hero{background:linear-gradient(135deg,#0057b8,#003f88);color:#fff;margin-bottom:2rem;border-radius:0}
.bdtf-hero-in{max-width:1120px;margin:0 auto;padding:3rem 1.5rem;display:grid;grid-template-columns:1.35fr .65fr;gap:2.5rem;align-items:center}
.bdtf-hero-tag{display:inline-block;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);
 padding:.35rem .85rem;border-radius:999px;font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.bdtf-hero h1{color:#fff!important;font-size:clamp(1.9rem,1.3rem+2.4vw,3rem);line-height:1.08;margin:1rem 0 .7rem!important;font-weight:800;letter-spacing:-.02em}
.bdtf-hero p{color:#d6e6f8!important;font-size:1.08rem;max-width:46ch;margin:0 0 1.4rem!important}
.bdtf-hero-cta{display:flex;gap:.7rem;flex-wrap:wrap}
.bdtf-h-b{display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;
 padding:.85rem 1.6rem;border-radius:999px;text-decoration:none!important;transition:.18s}
.bdtf-h-full{background:#fff;color:#0057b8!important}
.bdtf-h-full:hover{background:#e8f1fb;transform:translateY(-2px)}
.bdtf-h-ghost{border:1.5px solid rgba(255,255,255,.55);color:#fff!important}
.bdtf-h-ghost:hover{border-color:#fff;background:rgba(255,255,255,.12)}
.bdtf-hero-ok{list-style:none;margin:1.5rem 0 0!important;padding:0!important;display:flex;gap:1.4rem;flex-wrap:wrap;font-size:13.5px;color:#d6e6f8}
.bdtf-hero-ok li{position:relative;padding-left:1.35rem}
.bdtf-hero-ok li::before{content:"\2713";position:absolute;left:0;font-weight:800;color:#fff}
.bdtf-hero-card{background:#fff;border-radius:16px;padding:1.6rem;text-align:center;box-shadow:0 24px 50px -26px rgba(0,0,0,.6)}
.bdtf-hc-l{display:block;font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#7a8899}
.bdtf-hc-p{display:block;font-size:3.1rem;font-weight:800;color:#0057b8;line-height:1;margin:.2rem 0}
.bdtf-hc-p i{font-size:1.1rem;font-style:normal;color:#7a8899;font-weight:600}
.bdtf-hc-s{display:block;font-size:12.5px;color:#7a8899;margin-bottom:1.1rem}
.bdtf-hc-b{width:100%;background:#0057b8!important;color:#fff!important}
.bdtf-hc-b:hover{background:#003f88!important}
.bdtf-hc-n{display:block;font-size:12px;color:#7a8899;margin-top:.6rem}
@media (max-width:820px){.bdtf-hero-in{grid-template-columns:1fr;padding:2.2rem 1.2rem}}
