/* Tienda WooCommerce con la identidad de TFA Industries. Solo se carga en páginas de tienda. */
.woocommerce .woocommerce-breadcrumb{font-size:14px;color:#5a4a4c;margin-bottom:18px}
.woocommerce .woocommerce-breadcrumb a{color:#5a4a4c;text-decoration:underline;text-underline-offset:3px}
.woocommerce-products-header__title,.woocommerce div.product .product_title{color:var(--tfa-oscuro);text-transform:none;letter-spacing:-.01em}
.woocommerce-products-header .term-description{max-width:760px;font-size:18px;line-height:1.6;color:#3d2c2e;margin-bottom:24px}

/* Rejilla */
.woocommerce ul.products li.product{background:#fff;border:1px solid var(--tfa-borde);border-radius:16px;padding:16px 16px 20px;box-shadow:0 6px 20px rgba(31,10,12,.05);transition:box-shadow .2s,transform .2s;display:flex;flex-direction:column}
.woocommerce ul.products li.product:hover{box-shadow:0 12px 30px rgba(31,10,12,.10);transform:translateY(-2px)}
.woocommerce ul.products li.product a img{border-radius:10px;aspect-ratio:1/1;object-fit:contain;background:#fff;margin-bottom:12px}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:17px;line-height:1.35;color:var(--tfa-oscuro);font-weight:700;padding:0;text-transform:none}
.woocommerce ul.products li.product .ast-woo-product-category{font-size:13px;color:#6b5a5c;text-transform:none}
.woocommerce ul.products li.product .price{color:var(--tfa-oscuro);font-size:19px;font-weight:800;margin:6px 0 12px}
.woocommerce ul.products li.product .price .tfa-siniva,.woocommerce div.product p.price .tfa-siniva{display:block;font-size:13px;font-weight:500;color:#5a4a4c;margin-top:2px}
.woocommerce ul.products li.product .button{margin-top:auto;align-self:flex-start}

/* Botones */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce button.button.alt,.woocommerce a.button.alt,.wc-block-components-button{background:var(--tfa-rojo);color:#fff;border-radius:999px;padding:13px 26px;font-weight:700;border:2px solid var(--tfa-rojo);min-height:48px;line-height:1.2}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce button.button.alt:hover,.woocommerce a.button.alt:hover{background:var(--tfa-rojo-h);border-color:var(--tfa-rojo-h);color:#fff}
.woocommerce a.button:focus-visible,.woocommerce button.button:focus-visible{outline:3px solid #ffd7d5;outline-offset:2px}
.woocommerce span.onsale{background:var(--tfa-oscuro);color:#fff;border-radius:999px;min-height:0;line-height:1;padding:8px 12px;font-weight:700}

/* Ficha */
.woocommerce div.product p.price{color:var(--tfa-oscuro);font-size:30px;font-weight:800;margin:8px 0 14px}
.woocommerce div.product .woocommerce-product-details__short-description{font-size:17px;line-height:1.65;color:#3d2c2e}
.woocommerce div.product .stock{color:#1d6b35;font-weight:700}
.woocommerce div.product .out-of-stock{color:#a31510}
.woocommerce div.product form.cart{margin:18px 0}
.woocommerce div.product form.cart .quantity .qty{min-height:48px;border-radius:12px;border:2px solid #d9c9cb;width:76px;font-weight:700}
.woocommerce div.product form.cart .single_add_to_cart_button{min-width:220px}
.tfa-confianza{list-style:none;margin:20px 0 10px;padding:18px 20px;background:var(--tfa-rosa);border-radius:14px;font-size:15px;line-height:1.5;color:#3d2c2e}
.tfa-confianza li{padding:5px 0 5px 28px;position:relative}
.tfa-confianza li::before{content:"";position:absolute;left:0;top:10px;width:16px;height:9px;border-left:3px solid var(--tfa-rojo);border-bottom:3px solid var(--tfa-rojo);transform:rotate(-45deg) scale(.8)}
.tfa-confianza a,.tfa-duda a{color:var(--tfa-rojo-h);font-weight:600;text-underline-offset:3px}
.tfa-duda{font-size:15px;color:#3d2c2e;margin:6px 0 0}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{font-weight:700;color:var(--tfa-oscuro);padding:12px 4px}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--tfa-rojo-h)}
.woocommerce div.product .woocommerce-tabs .panel h2{font-size:22px;text-transform:none}
.woocommerce table.shop_attributes th{width:34%;font-weight:700;color:var(--tfa-oscuro);background:var(--tfa-rosa)}
.woocommerce table.shop_attributes td{padding:10px 14px;font-style:normal}

/* Carrito y pago */
.woocommerce-cart table.cart img{width:72px;border-radius:8px}
.woocommerce form .form-row label{font-weight:700;color:var(--tfa-oscuro);font-size:15px}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.select2-container--default .select2-selection--single{min-height:50px;border:2px solid #d9c9cb;border-radius:12px;padding:10px 14px;font-size:16px}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus{border-color:var(--tfa-rojo);outline:3px solid #ffd7d5}
.woocommerce form .form-row .description{font-size:13px;color:#5a4a4c;display:block;margin-top:4px}
.woocommerce-checkout #payment{background:var(--tfa-rosa);border-radius:16px}
.woocommerce-checkout #payment div.payment_box{background:#fff;color:#3d2c2e;border-radius:10px}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:#fff}
.woocommerce-checkout #place_order{width:100%;font-size:18px;min-height:56px}
.woocommerce-info,.woocommerce-message{border-top-color:var(--tfa-rojo);background:var(--tfa-rosa);color:var(--tfa-oscuro)}
.woocommerce-info::before,.woocommerce-message::before{color:var(--tfa-rojo)}

@media(max-width:544px){
.woocommerce ul.products li.product{padding:10px 10px 14px;border-radius:12px}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:15px}
.woocommerce ul.products li.product .button{width:100%;text-align:center;padding:11px 10px;font-size:14px}
.woocommerce div.product form.cart{display:flex;gap:10px}
.woocommerce div.product form.cart .single_add_to_cart_button{flex:1;min-width:0}
}

/* Accesos a categorías en la portada de la tienda */
.tfa-cats ul{list-style:none;margin:0 0 28px;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.tfa-cats a{display:inline-block;padding:10px 18px;border:2px solid var(--tfa-borde);border-radius:999px;background:#fff;color:var(--tfa-oscuro);font-weight:700;font-size:15px;text-decoration:none;min-height:24px}
.tfa-cats a:hover,.tfa-cats a:focus-visible{border-color:var(--tfa-rojo);color:var(--tfa-rojo-h)}

.woocommerce a.button,.woocommerce button.button,.woocommerce button.button.alt,.woocommerce a.button.alt,.woocommerce #respond input#submit{text-transform:none;letter-spacing:0;font-size:16px}
.tfa-carrito__n{display:inline-block;min-width:22px;padding:2px 6px;border-radius:999px;background:var(--tfa-rojo);color:#fff;font-size:13px;font-weight:700;text-align:center;line-height:1.4}

.woocommerce ul.products li.product .ast-woo-product-category{color:#5a4a4c!important;opacity:1!important}

.woocommerce .related.products>h2,.woocommerce .upsells.products>h2{font-size:26px!important;text-transform:none!important;margin-bottom:20px}
.woocommerce-Tabs-panel h3{font-size:19px;margin:22px 0 8px;text-transform:none}
.woocommerce-Tabs-panel p{font-size:16.5px;line-height:1.7;max-width:820px}

/* =====================================================================================
 * v2: la tienda con el mismo lenguaje que el resto de la web (franja oscura, fondo rosado, tarjetas blancas, cierre oscuro)
 * ===================================================================================== */
.woocommerce-page .site-content,.woocommerce-page #content{background:var(--tfa-rosa)}
.woocommerce-page #primary{padding-top:clamp(28px,4vw,52px);padding-bottom:clamp(40px,6vw,80px)}

/* Cabecera oscura */
.tfa-hero--tienda{padding-top:clamp(36px,5vw,68px);padding-bottom:clamp(30px,4vw,52px)}
.tfa-hero--tienda .tfa-hero__in{max-width:var(--tfa-ancho);margin:0 auto}
.tfa-hero--tienda h1{max-width:820px}
.tfa-hero--tienda .tfa-lead{max-width:760px;margin-bottom:26px}
.tfa-hero--tienda .tfa-kicker a{color:inherit;text-decoration:none}
.tfa-hero--tienda .tfa-kicker a:hover{text-decoration:underline}
.tfa-hero--tienda .tfa-cats ul{margin:0 0 26px}
.tfa-hero--tienda .tfa-cats a{background:transparent;border-color:rgba(255,255,255,.35);color:#fff}
.tfa-hero--tienda .tfa-cats a:hover,.tfa-hero--tienda .tfa-cats a:focus-visible{border-color:#fff;color:#fff;background:rgba(255,255,255,.08)}
.tfa-hero--tienda .tfa-cats a[aria-current="page"]{background:var(--tfa-rojo);border-color:var(--tfa-rojo);color:#fff}
.tfa-hero__ventajas{list-style:none;margin:0;padding:20px 0 0;border-top:1px solid rgba(255,255,255,.16);display:flex;flex-wrap:wrap;gap:10px 28px;font-size:15px;color:#f3e6e7}
.tfa-hero__ventajas li{position:relative;padding-left:24px}
.tfa-hero__ventajas li::before{content:"";position:absolute;left:0;top:6px;width:13px;height:7px;border-left:2.5px solid #ff8a85;border-bottom:2.5px solid #ff8a85;transform:rotate(-45deg)}

/* Barra de resultados y orden */
.woocommerce .woocommerce-result-count{color:#5a4a4c;font-size:15px;margin-bottom:22px}
.woocommerce .woocommerce-ordering select{background:#fff;border:2px solid var(--tfa-borde);border-radius:999px;padding:9px 38px 9px 16px;font-size:15px;color:var(--tfa-oscuro)}

/* Tarjetas de producto */
.woocommerce ul.products li.product{border:0;box-shadow:0 8px 26px rgba(31,10,12,.07);padding:0 0 22px;overflow:hidden}
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap{background:#fff;border-bottom:1px solid var(--tfa-borde);margin-bottom:16px}
.woocommerce ul.products li.product a img{border-radius:0;margin:0;padding:18px;box-sizing:border-box}
.woocommerce ul.products li.product .astra-shop-summary-wrap{padding:0 20px;display:flex;flex-direction:column;flex:1}
.woocommerce ul.products li.product .ast-woo-product-category{color:var(--tfa-rojo-h)!important;font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.woocommerce ul.products li.product .price{font-size:22px;margin:8px 0 16px}
.woocommerce ul.products li.product .price::after{content:"IVA incluido";display:block;font-size:12.5px;font-weight:500;color:#5a4a4c;margin-top:2px}
.woocommerce ul.products li.product .button{margin-top:auto}

/* Ficha: bloque principal y pestañas en tarjeta blanca */
.woocommerce div.product{background:transparent}
.single-product div.product .woocommerce-product-gallery{background:#fff;border-radius:18px;padding:18px;box-sizing:border-box;box-shadow:0 8px 26px rgba(31,10,12,.07)}
.single-product div.product .summary{background:#fff;border-radius:18px;padding:clamp(20px,2.4vw,32px);box-sizing:border-box;box-shadow:0 8px 26px rgba(31,10,12,.07)}
.single-product div.product .summary .single-product-category{color:var(--tfa-rojo-h);font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.single-product div.product .summary .single-product-category a{color:inherit;text-decoration:none}
.woocommerce div.product p.price{margin-bottom:4px}
.woocommerce div.product p.price::after{content:"IVA incluido";display:block;font-size:13px;font-weight:500;color:#5a4a4c;margin-top:4px}
.single-product div.product .woocommerce-tabs{background:#fff;border-radius:18px;padding:clamp(18px,2.4vw,32px);box-shadow:0 8px 26px rgba(31,10,12,.07);margin-top:28px;clear:both}
.woocommerce div.product .woocommerce-tabs ul.tabs{margin-bottom:8px}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{border-color:var(--tfa-borde)}
.woocommerce div.product .woocommerce-tabs .panel>h2:first-child{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.single-product .related.products{margin-top:44px}

/* Cierre oscuro */
.tfa-cta--tienda>div{max-width:var(--tfa-ancho);margin:0 auto}
.tfa-cta--tienda p{margin-left:auto;margin-right:auto}
.tfa-cta__btns{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:24px!important;max-width:none!important}
.tfa-btn{display:inline-block;background:var(--tfa-rojo);color:#fff!important;border:2px solid var(--tfa-rojo);border-radius:999px;padding:15px 30px;font-weight:700;font-size:17px;text-decoration:none}
.tfa-btn:hover{background:var(--tfa-rojo-h);border-color:var(--tfa-rojo-h)}
.tfa-btn--linea{background:transparent;border-color:rgba(255,255,255,.7)}
.tfa-btn--linea:hover{background:#fff;border-color:#fff;color:var(--tfa-oscuro)!important}

/* Carrito en la cabecera */
.tfa-carrito__a{display:inline-flex!important;align-items:center;gap:7px;font-weight:700}
.tfa-carrito__ico{flex:none}
.tfa-carrito__n{display:inline-block;min-width:22px;padding:2px 6px;border-radius:999px;background:var(--tfa-rojo);color:#fff;font-size:13px;font-weight:700;text-align:center;line-height:1.4}
.tfa-carrito__n.is-cero{background:#eadfe0;color:#5a4a4c}
@media(min-width:922px){.tfa-carrito__txt{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}
.tfa-vercarrito{display:none}
@media(max-width:921px){
.tfa-vercarrito{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:9991;display:flex;justify-content:space-between;align-items:center;background:var(--tfa-oscuro);color:#fff!important;border-radius:999px;padding:15px 24px;font-weight:700;font-size:16px;text-decoration:none;box-shadow:0 10px 30px rgba(0,0,0,.3)}
.tfa-vercarrito.is-vacio{display:none}
.tfa-vercarrito strong{color:#ff8a85}
}

/* Carrito, pago y cuenta sobre tarjeta blanca */
.woocommerce-cart .entry-content>.woocommerce,.woocommerce-checkout .entry-content>.woocommerce,.woocommerce-account .entry-content>.woocommerce{background:#fff;border-radius:18px;padding:clamp(18px,3vw,36px);box-shadow:0 8px 26px rgba(31,10,12,.07)}
.woocommerce-cart .entry-title,.woocommerce-checkout .entry-title,.woocommerce-account .entry-title{text-transform:none;color:var(--tfa-oscuro)}

.tfa-hero--tienda h1,.tfa-hero--tienda .tfa-lead{padding-right:0!important}

.single-product.woocommerce-page #primary{padding-top:clamp(20px,3vw,36px)}
.woocommerce .related.products>h2{color:var(--tfa-oscuro)}

/* ---------- Aviso emergente "Añadido al carrito" ---------- */
.tfa-mensaje-oculto{display:none!important}
.tfa-anadido{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:16px;opacity:0;transition:opacity .18s}
.tfa-anadido[hidden]{display:none}
.tfa-anadido.is-abierto{opacity:1}
.tfa-anadido__fondo{position:absolute;inset:0;background:rgba(31,10,12,.55)}
.tfa-anadido__caja{position:relative;background:#fff;border-radius:20px;box-shadow:0 30px 80px rgba(0,0,0,.35);width:min(460px,100%);padding:26px 26px 22px;transform:translateY(10px);transition:transform .18s}
.tfa-anadido.is-abierto .tfa-anadido__caja{transform:none}
.tfa-anadido__x{position:absolute;right:10px;top:8px;width:44px;height:44px;border:0;background:transparent;font-size:28px;line-height:1;color:#5a4a4c;cursor:pointer;border-radius:50%}
.tfa-anadido__x:hover{background:var(--tfa-rosa);color:var(--tfa-oscuro)}
.tfa-anadido__ok{margin:0 0 16px!important;font-size:19px;font-weight:800;color:#1d6b35;display:flex;align-items:center;gap:10px}
.tfa-anadido__ok span{display:inline-flex;width:28px;height:28px;border-radius:50%;background:#1d6b35;color:#fff;align-items:center;justify-content:center;font-size:16px}
.tfa-anadido__prod{display:flex;gap:14px;align-items:center;padding:14px;background:var(--tfa-rosa);border-radius:14px}
.tfa-anadido__prod img{width:72px;height:72px;object-fit:contain;background:#fff;border-radius:10px;flex:none}
.tfa-anadido__nombre{margin:0!important;font-weight:700;font-size:15.5px;line-height:1.35;color:var(--tfa-oscuro)}
.tfa-anadido__precio{margin:4px 0 0!important;font-weight:800;font-size:17px;color:var(--tfa-oscuro)}
.tfa-anadido__sub{margin:12px 2px 0!important;font-size:14.5px;color:#5a4a4c}
.tfa-anadido__btns{display:grid;gap:10px;margin-top:18px}
.tfa-anadido__pagar,.tfa-anadido__carrito,.tfa-anadido__seguir{display:block;text-align:center;border-radius:999px;padding:14px 20px;font-weight:700;font-size:16px;text-decoration:none;cursor:pointer;min-height:50px;box-sizing:border-box;font-family:inherit}
.tfa-anadido__pagar{background:var(--tfa-rojo);color:#fff!important;border:2px solid var(--tfa-rojo)}
.tfa-anadido__pagar:hover{background:var(--tfa-rojo-h);border-color:var(--tfa-rojo-h)}
.tfa-anadido__carrito{background:#fff;color:var(--tfa-oscuro)!important;border:2px solid var(--tfa-oscuro)}
.tfa-anadido__carrito:hover{background:var(--tfa-oscuro);color:#fff!important}
.tfa-anadido__seguir{background:transparent;border:0;color:#5a4a4c;text-decoration:underline;text-underline-offset:3px;min-height:44px;padding:8px}
.tfa-anadido__seguir:hover{color:var(--tfa-oscuro);background:transparent}
.tfa-anadido a:focus-visible,.tfa-anadido button:focus-visible{outline:3px solid #ffb3b0;outline-offset:2px}
body.tfa-anadido-abierto{overflow:hidden}
/* el enlace "Ver carrito" que WooCommerce pinta junto al botón ya no hace falta */
.woocommerce ul.products li.product a.added_to_cart{display:none!important}
@media(max-width:544px){.tfa-anadido{align-items:flex-end;padding:0}.tfa-anadido__caja{border-radius:20px 20px 0 0;width:100%;padding-bottom:calc(22px + env(safe-area-inset-bottom))}}

.tfa-anadido__seguir{text-transform:none!important;letter-spacing:0!important}
