/* ============================================================
   Marina 151 — CSS específico de WooCommerce
   Mapea el markup nativo de Woo (loop, galería, form.cart,
   paginación, widget de precio…) al lenguaje visual aprobado en
   categoria-151.html y producto-151.html.
   Los tokens vienen del CSS base compartido (marina151.css);
   cada var() lleva fallback con el mismo valor de las maquetas.
   ============================================================ */

/* ---------- migas de pan ---------- */
.crumbs{font-size:13px;display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center}
.crumbs a:hover{text-decoration:underline;text-underline-offset:3px}
.crumbs .sep{color:var(--gris-borde,#E2E6EA)}
.pdp-section .crumbs{color:var(--gris-texto,#5B6470);margin-bottom:18px}
.pdp-section .crumbs a:hover{color:var(--negro,#111)}
.cat-hero .crumbs{color:rgba(255,255,255,.85);font-weight:500;letter-spacing:.03em;margin-bottom:16px}
.cat-hero .crumbs a{color:rgba(255,255,255,.85)}
.cat-hero .crumbs a:hover{color:#fff}
.cat-hero .crumbs .sep{color:rgba(255,255,255,.5)}

/* ---------- banda hero de categoría ---------- */
.cat-hero{position:relative;padding:0;overflow:hidden;min-height:clamp(280px,38vh,420px);display:flex;align-items:flex-end;background:var(--azul-profundo,#111)}
.cat-hero .hero-bg{position:absolute;inset:0}
.cat-hero .hero-bg img{width:100%;height:100%;object-fit:cover}
.cat-hero .hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,18,28,.66) 0%,rgba(8,18,28,.42) 55%,rgba(8,18,28,.12) 100%)}
.cat-hero-copy{position:relative;z-index:2;color:#fff;width:100%;max-width:1440px;margin:0 auto;padding:clamp(3.4rem,6vw,6rem) clamp(20px,4vw,50px)}
.cat-hero-copy h1{font-size:clamp(4.4rem,7vw,6.4rem);margin-bottom:10px;color:#fff}
.cat-hero .cat-sub{font-size:16px;color:rgba(255,255,255,.92);max-width:56ch;margin:0 0 8px}
.cat-hero .cat-count{font-size:15px;color:rgba(255,255,255,.9)}
.cat-hero--plain{min-height:0}
.cat-hero--plain .cat-hero-copy{padding:clamp(3rem,5vw,4.6rem) clamp(20px,4vw,50px)}

/* ---------- layout categoría: filtros + rejilla ---------- */
.cat-products{padding:clamp(2.8rem,4.5vw,5.2rem) 0}
.cat-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:start}
.cat-layout--full{grid-template-columns:minmax(0,1fr)}

/* sidebar de filtros */
.filters{position:sticky;top:96px}
.fgroup{border-bottom:1px solid var(--gris-borde,#E2E6EA);padding:4px 0 18px;margin-bottom:14px}
.fgroup summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;font-family:var(--sans,'Geist',system-ui,sans-serif);font-size:15px;font-weight:500;padding:10px 0}
.fgroup summary::-webkit-details-marker{display:none}
.fgroup summary::after{content:"";width:8px;height:8px;border-right:1.6px solid var(--negro,#111);border-bottom:1.6px solid var(--negro,#111);transform:rotate(45deg);transition:transform .2s;margin-right:4px}
.fgroup[open] summary::after{transform:rotate(-135deg);margin-top:6px}
.fcat{padding-top:8px;list-style:none;margin:0}
.fcat li{margin-bottom:2px}
.fcat a{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:15px;padding:8px 10px;margin:0 -10px;border-radius:10px}
.fcat a:hover{background:var(--azul-suave,#E8F1FA)}
.fcat a[aria-current="page"]{background:var(--azul-suave,#E8F1FA);font-weight:500}
.fcat a span{font-size:13px;color:var(--gris-texto,#5B6470)}

/* widget nativo de precio (jQuery UI slider de Woo, look de la maqueta) */
.fprice{padding-top:8px}
.widget_price_filter .price_slider_wrapper{padding-top:14px}
.widget_price_filter .price_slider{position:relative;height:3px;background:var(--gris-borde,#E2E6EA);border-radius:3px;margin:12px 9px 22px}
.widget_price_filter .ui-slider-range{position:absolute;top:0;height:100%;background:var(--azul-boton,#2E6FB8);border-radius:3px}
.widget_price_filter .ui-slider-handle{position:absolute;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:#fff;border:2px solid var(--azul-boton,#2E6FB8);box-shadow:0 1px 4px rgba(17,17,17,.18);cursor:ew-resize;outline-offset:3px}
.widget_price_filter .price_slider_amount{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:14px;color:var(--gris-texto,#5B6470)}
.widget_price_filter .price_slider_amount .price_label{order:1}
.widget_price_filter .price_slider_amount .button{order:2;appearance:none;border:none;cursor:pointer;height:36px;padding:0 18px;border-radius:60px;background:var(--negro,#111);color:#fff;font-family:var(--sans,'Geist',system-ui,sans-serif);font-size:13px;font-weight:500;transition:background .2s}
.widget_price_filter .price_slider_amount .button:hover{background:var(--azul-boton,#2E6FB8)}
.widget_price_filter .clear{display:none}

/* toolbar: avisos + contador + ordenación nativos */
.grid-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:26px;flex-wrap:wrap}
.grid-toolbar .woocommerce-notices-wrapper{flex-basis:100%}
.grid-toolbar .woocommerce-notices-wrapper:empty{display:none}
.woocommerce-result-count{font-size:14px;color:var(--gris-texto,#5B6470);margin:0}
.woocommerce-ordering{margin:0}
.woocommerce-ordering select.orderby{appearance:none;-webkit-appearance:none;font-family:var(--sans,'Geist',system-ui,sans-serif);font-size:14px;font-weight:500;color:var(--negro,#111);border:1px solid var(--gris-borde,#E2E6EA);border-radius:60px;padding:10px 40px 10px 18px;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%23111111' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:11px;cursor:pointer}
.woocommerce-ordering select.orderby:hover{border-color:var(--negro,#111)}

/* ---------- rejilla de productos (ul.products nativo) ---------- */
ul.products{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:34px 24px}
li.product.card{display:flex;flex-direction:column;height:100%;position:relative;margin:0}

/* puentes a las clases nativas dentro de la tarjeta aprobada */
.card .card-img{position:relative}/* ancla del fab y del badge aunque el CSS base cargue después */
.card .card-link{display:flex;flex-direction:column;flex-grow:1}
.card .woocommerce-loop-product__title{font-family:var(--sans,'Geist',system-ui,sans-serif);font-size:15px;font-weight:500;line-height:1.45;margin:0 0 4px;color:var(--negro,#111)}
.card .price{margin-top:auto;font-size:15px;font-weight:400;color:var(--gris-texto,#5B6470)}
.card .price del{opacity:.6;margin-right:6px}
.card .price ins{text-decoration:none;font-weight:500;color:var(--negro,#111)}
.card .card-img-link{display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.card .card-img img{mix-blend-mode:multiply;max-height:100%;width:auto;object-fit:contain}

/* badge de oferta nativo */
.card-img .onsale,.pdp-gallery .onsale{position:absolute;top:14px;left:14px;z-index:3;background:var(--azul-boton,#2E6FB8);color:#fff;font-size:12px;font-weight:600;line-height:1;border-radius:60px;padding:7px 13px}

/* fab añadir-al-carrito (a.button de Woo remaquetado como icono) */
.card-img .cart-fab{position:absolute;right:14px;bottom:14px;z-index:3;width:42px;height:42px;padding:0;border:none;border-radius:50%;background:var(--negro,#111);color:#fff;display:flex;align-items:center;justify-content:center;line-height:1;opacity:0;transform:translateY(6px);transition:opacity .25s,transform .25s,background .2s}
.card:hover .cart-fab,.card:focus-within .cart-fab{opacity:1;transform:none}
.card-img .cart-fab:hover{background:var(--azul-boton,#2E6FB8);color:#fff}
.card-img .cart-fab svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.card-img .cart-fab.loading{opacity:.55;pointer-events:none}
@media (hover:none){.card-img .cart-fab{opacity:1;transform:none}}

/* enlace «Ver carrito» que añade el AJAX de Woo tras añadir */
.card-img .added_to_cart{position:absolute;left:14px;bottom:14px;z-index:3;background:#fff;color:var(--negro,#111);border-radius:60px;padding:8px 14px;font-size:12px;font-weight:600;box-shadow:0 2px 10px rgba(17,17,17,.18)}
.card-img .added_to_cart:hover{background:var(--azul-suave,#E8F1FA)}

/* subcategorías nativas si la tienda se configura para mostrarlas */
li.product-category a{display:block}
li.product-category h2{font-family:var(--sans,'Geist',system-ui,sans-serif);font-size:15px;font-weight:500;margin:10px 0 0}
li.product-category h2 .count{color:var(--gris-texto,#5B6470);font-weight:400;background:none}
li.product-category img{background:var(--gris-panel,#F1F3F5);border-radius:20px;width:100%}

/* sin resultados */
.woocommerce-no-products-found{grid-column:1/-1}
.woocommerce-no-products-found .woocommerce-info{margin:0}

/* ---------- paginación nativa ---------- */
.woocommerce-pagination{margin-top:44px}
.woocommerce-pagination .page-numbers{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.woocommerce-pagination .page-numbers li{margin:0}
.woocommerce-pagination .page-numbers li .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 14px;border:1px solid var(--gris-borde,#E2E6EA);border-radius:60px;font-size:14px;font-weight:500;color:var(--negro,#111);transition:border-color .2s,background .2s}
.woocommerce-pagination .page-numbers li .page-numbers:hover{border-color:var(--negro,#111)}
.woocommerce-pagination .page-numbers li .page-numbers.current{background:var(--negro,#111);border-color:var(--negro,#111);color:#fff}

/* ---------- texto de familia (cat-about) ---------- */
.cat-about{padding:clamp(2.8rem,4.5vw,5.2rem) 0}
.cat-about .wrap{max-width:820px;text-align:center}
.cat-about .kicker{margin-bottom:18px}
.cat-about p{font-size:15px;color:var(--gris-texto,#5B6470);line-height:1.75;margin-bottom:12px}
.cat-about p:last-child{margin-bottom:0}

/* ---------- avisos de WooCommerce ---------- */
.woocommerce-message,.woocommerce-info,.woocommerce-error{list-style:none;margin:0 0 22px;padding:14px 20px;border-radius:14px;font-size:14px;background:var(--azul-suave,#E8F1FA);color:var(--negro,#111)}
.woocommerce-error{background:#FBEBEB;color:#8A1F1F}
.woocommerce-error li{margin:0}
.woocommerce-message .button,.woocommerce-info .button,.woocommerce-error .button{float:right;margin-left:14px;font-weight:500;text-decoration:underline;text-underline-offset:3px;background:none;border:none;padding:0;cursor:pointer;color:inherit;font-size:14px}

/* ============================================================
   FICHA DE PRODUCTO (.pdp)
   ============================================================ */
.pdp-section{padding:clamp(2.8rem,4.5vw,5.2rem) 0}
.pdp{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,4.5vw,70px);align-items:start}

/* --- galería nativa de Woo estilada --- */
.pdp-gallery{display:block;position:sticky;top:104px}/* marina151.css trae el grid 86px+1fr de la maqueta estática; con la galería nativa de Woo (thumbs debajo) es display:block */
.pdp-gallery .woocommerce-product-gallery{position:relative}
.pdp-gallery .woocommerce-product-gallery__wrapper{background:#F0F0F0;border-radius:20px;overflow:hidden;margin:0}
.pdp-gallery .woocommerce-product-gallery__image a{display:block}
.pdp-gallery .woocommerce-product-gallery__image img:not(.zoomImg){mix-blend-mode:multiply;width:100%;height:auto}
.pdp-gallery .woocommerce-product-gallery__trigger{position:absolute;top:14px;right:14px;z-index:5;width:42px;height:42px;border-radius:50%;background:#fff;color:var(--negro,#111);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px rgba(17,17,17,.15);font-size:0;transition:background .2s}
.pdp-gallery .woocommerce-product-gallery__trigger:hover{background:var(--azul-suave,#E8F1FA)}
.pdp-gallery .woocommerce-product-gallery__trigger::before{content:"";width:12px;height:12px;border:1.7px solid currentColor;border-radius:50%}
.pdp-gallery .woocommerce-product-gallery__trigger::after{content:"";position:absolute;width:2px;height:7px;background:currentColor;border-radius:2px;transform:rotate(-45deg) translate(9px,1px)}
.pdp-gallery .flex-control-thumbs{display:flex;gap:12px;margin:14px 0 0;padding:0;list-style:none;flex-wrap:wrap}
.pdp-gallery .flex-control-thumbs li{width:86px;margin:0}
.pdp-gallery .flex-control-thumbs img{width:100%;aspect-ratio:1/1;object-fit:contain;mix-blend-mode:multiply;background:#F0F0F0;border:2px solid transparent;border-radius:14px;padding:10px;cursor:pointer;transition:border-color .2s,transform .18s ease}
.pdp-gallery .flex-control-thumbs img:hover{transform:translateY(-2px)}
.pdp-gallery .flex-control-thumbs img.flex-active{border-color:var(--azul-marca,#4A90D9)}

/* --- columna de compra --- */
.pdp-buy .pdp-cat{display:inline-block;font-size:14px;color:var(--gris-texto,#5B6470);margin-bottom:8px}
.pdp-buy .pdp-cat:hover{text-decoration:underline;text-underline-offset:3px}
.pdp-buy .product_title{font-family:var(--display,'Raleway',system-ui,sans-serif);font-weight:600;font-size:clamp(2.9rem,3.2vw,4.2rem);line-height:1.18;margin:0 0 14px;max-width:22ch}
.pdp-buy .price{display:block;font-family:var(--display,'Raleway',system-ui,sans-serif);font-weight:600;font-size:28px;color:var(--negro,#111);margin-bottom:6px}
.pdp-buy .price del{opacity:.55;font-size:.75em;margin-right:8px}
.pdp-buy .price ins{text-decoration:none}
.pdp-tax{font-size:13px;color:var(--gris-texto,#5B6470);margin-bottom:20px}
.pdp-buy .woocommerce-product-details__short-description{font-size:15px;color:#333;max-width:52ch;margin-bottom:18px}
.pdp-buy .woocommerce-product-details__short-description p{margin-bottom:10px}
.pdp-buy .woocommerce-product-details__short-description ul{list-style:none;display:flex;flex-direction:column;gap:8px;margin:0 0 8px;padding:0}
.pdp-buy .woocommerce-product-details__short-description li::before{content:"✓";margin-right:10px;font-weight:700;color:var(--azul-marca,#4A90D9)}

/* form.cart nativo: cantidad + botón reales de Woo */
.pdp-buy form.cart{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-bottom:26px}
.pdp-buy form.cart .quantity{display:inline-flex;align-items:center;height:50px;border:1px solid var(--gris-borde,#E2E6EA);border-radius:60px;overflow:hidden;padding:0 8px}
.pdp-buy form.cart .quantity .qty{width:64px;height:100%;border:none;text-align:center;font-family:var(--sans,'Geist',system-ui,sans-serif);font-size:15px;font-weight:500;color:var(--negro,#111);background:transparent}
.pdp-buy form.cart .quantity .qty:focus{outline:none}
.pdp-buy form.cart .quantity .screen-reader-text,
.pdp-buy form.cart .quantity label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.single_add_to_cart_button{display:inline-flex;align-items:center;gap:14px;height:50px;background:var(--azul-boton,#2E6FB8);color:#fff;border:none;cursor:pointer;border-radius:60px;padding:0 5px 0 24px;font-family:var(--sans,'Geist',system-ui,sans-serif);font-size:15px;font-weight:500;transition:transform .18s ease,background .18s ease}
.single_add_to_cart_button::after{content:"→";display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#fff;color:var(--azul-marca,#4A90D9);font-size:15px;flex:none}
.single_add_to_cart_button:hover{background:var(--azul-boton-hover,#245C9E);transform:scale(1.03)}
.single_add_to_cart_button:disabled,.single_add_to_cart_button.disabled{opacity:.5;cursor:not-allowed;transform:none}
.pdp-buy .stock{font-size:14px;margin-bottom:14px}
.pdp-buy .stock.in-stock{color:var(--azul-boton,#2E6FB8)}
.pdp-buy .stock.out-of-stock{color:#8A1F1F}
/* variaciones (si algún día hay producto variable) */
.pdp-buy table.variations{width:100%;border-collapse:collapse;margin-bottom:14px}
.pdp-buy table.variations th,.pdp-buy table.variations td{text-align:left;padding:6px 0;font-size:14px}
.pdp-buy .reset_variations{font-size:13px;color:var(--gris-texto,#5B6470);text-decoration:underline;text-underline-offset:3px}

/* ventajas (envío / devolución / pago) */
.pdp-perks{display:grid;gap:14px;padding:22px 0;border-top:1px solid var(--gris-borde,#E2E6EA);border-bottom:1px solid var(--gris-borde,#E2E6EA);margin-bottom:26px}
.pdp-perk{display:flex;align-items:center;gap:14px}
.pdp-perk .icircle{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--azul-suave,#E8F1FA);color:var(--azul-marca,#4A90D9);flex:none}
.pdp-perk .icircle svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.pdp-perk strong{display:block;font-size:14px;font-weight:500}
.pdp-perk span{display:block;font-size:13px;color:var(--gris-texto,#5B6470)}

/* acordeones (tabs nativos de Woo como <details>) */
.pdp-acc details{border-bottom:1px solid var(--gris-borde,#E2E6EA)}
.pdp-acc details:first-child{border-top:1px solid var(--gris-borde,#E2E6EA)}
.pdp-acc summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 2px;font-family:var(--sans,'Geist',system-ui,sans-serif);font-size:15px;font-weight:500}
.pdp-acc summary::-webkit-details-marker{display:none}
.pdp-acc summary .acc-ico{flex:none;width:28px;height:28px;border-radius:50%;border:1px solid var(--gris-borde,#E2E6EA);display:inline-flex;align-items:center;justify-content:center;font-size:15px;font-weight:400;color:var(--negro,#111);transition:transform .25s ease,background .2s}
.pdp-acc details[open] summary .acc-ico{transform:rotate(45deg);background:var(--azul-suave,#E8F1FA);border-color:var(--azul-suave,#E8F1FA);color:var(--azul-boton,#2E6FB8)}
.pdp-acc .acc-body{padding:0 2px 20px;font-size:14px;color:#333;max-width:60ch}
.pdp-acc .acc-body p{margin-bottom:10px}
.pdp-acc .acc-body p:last-child{margin-bottom:0}
.pdp-acc .acc-body ul{list-style:none;margin:0 0 10px;padding:0}
.pdp-acc .acc-body li{padding-left:18px;position:relative;margin-bottom:6px}
.pdp-acc .acc-body li::before{content:"·";position:absolute;left:4px;font-weight:700;color:var(--azul-marca,#4A90D9)}
.pdp-acc .pdp-ref{margin-top:10px}
.pdp-acc .pdp-ref a:hover{text-decoration:underline;text-underline-offset:3px}
/* tabla de atributos nativa dentro del acordeón */
.pdp-acc .woocommerce-product-attributes{width:100%;border-collapse:collapse;font-size:14px}
.pdp-acc .woocommerce-product-attributes th,.pdp-acc .woocommerce-product-attributes td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--gris-borde,#E2E6EA)}
.pdp-acc .woocommerce-product-attributes th{font-weight:500;width:40%}
.pdp-acc .woocommerce-product-attributes p{margin:0}
/* reseñas nativas dentro del acordeón */
.pdp-acc #reviews .commentlist{list-style:none;margin:0 0 18px;padding:0}
.pdp-acc #reviews .commentlist li{padding:0 0 14px;margin-bottom:14px;border-bottom:1px solid var(--gris-borde,#E2E6EA)}
.pdp-acc #reviews .comment-reply-title{display:block;font-weight:500;margin-bottom:10px}
.pdp-acc #reviews input[type="text"],.pdp-acc #reviews input[type="email"],.pdp-acc #reviews textarea{width:100%;border:1px solid var(--gris-borde,#E2E6EA);border-radius:14px;padding:10px 14px;font-family:var(--sans,'Geist',system-ui,sans-serif);font-size:14px;margin-bottom:10px}
.pdp-acc #reviews .form-submit .submit{height:44px;padding:0 22px;border:none;border-radius:60px;background:var(--azul-boton,#2E6FB8);color:#fff;font-family:var(--sans,'Geist',system-ui,sans-serif);font-size:14px;font-weight:500;cursor:pointer}

/* ---------- relacionados («Completa la rutina») y upsells ---------- */
.related-151{padding:clamp(2.8rem,4.5vw,5.2rem) 0 0}
.related-151 ul.products,.upsells.products ul.products{grid-template-columns:repeat(3,1fr);gap:28px}
.related-151 .card-img,.upsells .card-img{background:#F0F0F0}
.upsells.products{padding-top:clamp(2.8rem,4.5vw,5.2rem)}
.upsells.products>h2{font-family:var(--display,'Raleway',system-ui,sans-serif);font-weight:600;font-size:clamp(2.6rem,3vw,3.6rem);margin-bottom:30px}

/* accesibilidad: clase estándar de WP */
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;word-wrap:normal}

/* ============================================================
   RESPONSIVE (mismos cortes que las maquetas)
   ============================================================ */
@media (max-width:1180px){
  ul.products{grid-template-columns:repeat(2,1fr)}
  .related-151 ul.products,.upsells.products ul.products{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:1024px){
  .cat-layout{grid-template-columns:220px minmax(0,1fr)}
  .pdp{grid-template-columns:1fr}
  .pdp-gallery{position:static}
}
@media (max-width:860px){
  .cat-layout{grid-template-columns:1fr}
  .filters{position:static}
}
@media (max-width:768px){
  .related-151 ul.products{grid-template-columns:repeat(2,1fr);gap:16px}
  .pdp-gallery .flex-control-thumbs li{width:76px}
}
@media (max-width:480px){
  ul.products{grid-template-columns:repeat(2,1fr);gap:22px 16px}
  .related-151 ul.products,.upsells.products ul.products{grid-template-columns:1fr}
  .pdp-buy form.cart .single_add_to_cart_button{flex:1;justify-content:space-between}
  .grid-toolbar{gap:10px}
}
@media (prefers-reduced-motion:reduce){
  .card-img .cart-fab,.single_add_to_cart_button,.pdp-gallery .flex-control-thumbs img{transition:none}
  .single_add_to_cart_button:hover{transform:none}
}

/* ============================================================
   FUNNEL NATIVO (carrito / checkout / mi cuenta / gracias)
   Plantillas nativas de Woo renderizadas dentro de page.php tras
   apagar los overrides de JetWooBuilder. Todo scoped a las body
   classes de Woo para no tocar tienda ni ficha.
   ============================================================ */

/* --- contenedor: estas pantallas necesitan más ancho que el cuerpo legal --- */
.woocommerce-cart .legal-body,
.woocommerce-checkout .legal-body,
.woocommerce-account .legal-body{max-width:none}

/* --- controles de formulario limpios (tokens del tema) --- */
.woocommerce-cart form .input-text,
.woocommerce-checkout form .input-text,
.woocommerce-account form .input-text,
.woocommerce-checkout form select,
.woocommerce-account form select,
.woocommerce form .form-row .input-text,
.woocommerce-checkout form .form-row .input-text,
.woocommerce-checkout .select2-container .select2-selection__rendered{width:100%;height:46px;border:1px solid var(--gris-borde,#E2E6EA);border-radius:14px;background:#fff;padding:0 16px;font-family:var(--sans,'Geist',system-ui,sans-serif);font-size:16px;color:var(--negro,#111)}
.woocommerce-checkout form textarea.input-text,
.woocommerce-account form textarea.input-text{height:auto;min-height:110px;padding:12px 16px;resize:vertical}
.woocommerce-cart form .input-text:focus,
.woocommerce-checkout form .input-text:focus,
.woocommerce-account form .input-text:focus,
.woocommerce-checkout form select:focus,
.woocommerce-account form select:focus{border-color:var(--azul-boton,#2E6FB8);outline:none}
.woocommerce-checkout form .form-row label,
.woocommerce-account form .form-row label{display:inline-block;font-size:13px;font-weight:500;margin-bottom:6px;color:var(--negro,#111)}
.woocommerce-checkout form .form-row,
.woocommerce-account form .form-row{margin-bottom:14px}
.woocommerce-checkout form .form-row .required,
.woocommerce-account form .form-row .required{color:var(--azul-boton,#2E6FB8);text-decoration:none}
/* select2 de Woo (país/provincia) al mismo look que los inputs */
.woocommerce-checkout .select2-container .select2-selection--single,
.woocommerce-account .select2-container .select2-selection--single{height:46px;border:1px solid var(--gris-borde,#E2E6EA);border-radius:14px}
.woocommerce-checkout .select2-container .select2-selection__rendered,
.woocommerce-account .select2-container .select2-selection__rendered{line-height:44px;padding-left:16px;font-size:15px}
.woocommerce-checkout .select2-container .select2-selection__arrow,
.woocommerce-account .select2-container .select2-selection__arrow{height:44px;right:10px}

/* --- botones .btn azules del tema para todo el funnel --- */
.woocommerce-cart .legal-body button.button,
.woocommerce-cart .legal-body a.button,
.woocommerce-checkout .legal-body button.button,
.woocommerce-checkout .legal-body a.button,
.woocommerce-account .legal-body button.button,
.woocommerce-account .legal-body a.button{display:inline-flex;align-items:center;justify-content:center;height:46px;padding:0 24px;border:none;cursor:pointer;border-radius:60px;background:var(--azul-boton,#2E6FB8);color:#fff;font-family:var(--sans,'Geist',system-ui,sans-serif);font-size:15px;font-weight:500;line-height:1;text-decoration:none;transition:background .2s,transform .18s ease}
.woocommerce-cart .legal-body button.button:hover,
.woocommerce-cart .legal-body a.button:hover,
.woocommerce-checkout .legal-body button.button:hover,
.woocommerce-checkout .legal-body a.button:hover,
.woocommerce-account .legal-body button.button:hover,
.woocommerce-account .legal-body a.button:hover{background:var(--azul-boton-hover,#245C9E);color:#fff}
.woocommerce-cart .legal-body button.button:disabled,
.woocommerce-cart .legal-body button.button.disabled{opacity:.5;cursor:not-allowed}

/* --- tablas del funnel (pedidos, resumen, detalles) sin el borde gris de Woo --- */
.woocommerce-checkout .legal-body table.shop_table,
.woocommerce-account .legal-body table.shop_table{width:100%;border-collapse:collapse;border:none;border-radius:0;font-size:14px}
.woocommerce-checkout .legal-body table.shop_table th,
.woocommerce-checkout .legal-body table.shop_table td,
.woocommerce-account .legal-body table.shop_table th,
.woocommerce-account .legal-body table.shop_table td{border:none;border-bottom:1px solid var(--gris-borde,#E2E6EA);padding:12px 10px;text-align:left}

/* ---------- CARRITO ---------- */
.woocommerce-cart .legal-body .woocommerce{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(28px,4vw,56px);align-items:start}
.woocommerce-cart .legal-body .woocommerce-notices-wrapper{grid-column:1/-1}
.woocommerce-cart .legal-body .woocommerce-notices-wrapper:empty{display:none}
.woocommerce-cart .legal-body form.woocommerce-cart-form{grid-column:1;min-width:0}
.woocommerce-cart .legal-body .cart-collaterals{grid-column:2;min-width:0;display:flex;flex-direction:column;gap:32px;position:sticky;top:96px}
.woocommerce-cart .legal-body .cart-collaterals .cart_totals{order:-1;float:none;width:100%}
/* carrito vacío: mensaje + botón a la tienda a todo el ancho */
.woocommerce-cart .legal-body .wc-empty-cart-message,
.woocommerce-cart .legal-body .return-to-shop{grid-column:1/-1;margin:0}
.woocommerce-cart .legal-body .wc-empty-cart-message .cart-empty{margin:0 0 22px}

/* tabla del carrito */
.woocommerce-cart .legal-body table.cart{width:100%;border:none;border-collapse:collapse;font-size:15px}
.woocommerce-cart .legal-body table.cart th{border:none;border-bottom:1px solid var(--gris-borde,#E2E6EA);text-align:left;font-family:var(--sans,'Geist',system-ui,sans-serif);font-size:12px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--gris-texto,#5B6470);padding:0 12px 12px}
.woocommerce-cart .legal-body table.cart td{border:none;border-bottom:1px solid var(--gris-borde,#E2E6EA);padding:18px 12px;vertical-align:middle}
.woocommerce-cart .legal-body table.cart td.product-thumbnail img{width:76px;height:76px;object-fit:contain;background:var(--gris-panel,#F1F3F5);border-radius:14px;padding:8px;mix-blend-mode:multiply}
.woocommerce-cart .legal-body table.cart td.product-name a{font-weight:500;color:var(--negro,#111)}
.woocommerce-cart .legal-body table.cart td.product-name a:hover{text-decoration:underline;text-underline-offset:3px}
.woocommerce-cart .legal-body table.cart td.product-price,
.woocommerce-cart .legal-body table.cart td.product-subtotal{color:var(--gris-texto,#5B6470)}
.woocommerce-cart .legal-body table.cart td.product-subtotal{font-weight:500;color:var(--negro,#111)}
.woocommerce-cart .legal-body table.cart a.remove{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;border:1px solid var(--gris-borde,#E2E6EA);color:var(--gris-texto,#5B6470)!important;font-size:16px;font-weight:400;line-height:1;text-decoration:none;transition:background .2s,border-color .2s,color .2s}
.woocommerce-cart .legal-body table.cart a.remove:hover{background:#FBEBEB;border-color:#E8C4C4;color:#8A1F1F!important}
/* cantidad como píldora (después de la regla genérica de inputs: gana esta) */
.woocommerce-cart .legal-body table.cart .quantity{display:inline-flex;align-items:center;height:44px;border:1px solid var(--gris-borde,#E2E6EA);border-radius:60px;overflow:hidden;padding:0 6px}
.woocommerce-cart .legal-body table.cart .quantity .qty{width:56px;height:100%;border:none;border-radius:0;text-align:center;background:transparent;font-family:var(--sans,'Geist',system-ui,sans-serif);font-size:15px;font-weight:500;padding:0}
.woocommerce-cart .legal-body table.cart .quantity .qty:focus{outline:none}
/* fila de acciones: cupón + actualizar */
.woocommerce-cart .legal-body table.cart td.actions{border-bottom:none;padding:22px 0 0}
.woocommerce-cart .legal-body td.actions .coupon{display:inline-flex;gap:10px;align-items:center;float:left}
.woocommerce-cart .legal-body td.actions .coupon .input-text{width:190px;height:46px;margin:0}
.woocommerce-cart .legal-body td.actions .coupon label{display:none}
.woocommerce-cart .legal-body td.actions>.button{float:right}

/* caja de totales */
.woocommerce-cart .legal-body .cart_totals{background:var(--gris-panel,#F1F3F5);border-radius:20px;padding:26px 28px}
.woocommerce-cart .legal-body .cart_totals h2{font-family:var(--display,'Raleway',system-ui,sans-serif);font-weight:600;font-size:22px;margin:0 0 14px}
.woocommerce-cart .legal-body .cart_totals table.shop_table{width:100%;border:none;border-collapse:collapse;font-size:15px}
.woocommerce-cart .legal-body .cart_totals th,
.woocommerce-cart .legal-body .cart_totals td{border:none;border-bottom:1px solid rgba(17,17,17,.08);padding:12px 0;text-align:left;font-weight:400}
.woocommerce-cart .legal-body .cart_totals td{text-align:right}
.woocommerce-cart .legal-body .cart_totals .order-total th{font-weight:500}
.woocommerce-cart .legal-body .cart_totals .order-total td{font-family:var(--display,'Raleway',system-ui,sans-serif);font-weight:600;font-size:19px;color:var(--negro,#111)}
.woocommerce-cart .legal-body .cart_totals .woocommerce-shipping-destination{font-size:13px;color:var(--gris-texto,#5B6470)}
.woocommerce-cart .legal-body .wc-proceed-to-checkout{padding:20px 0 0}
.woocommerce-cart .legal-body .wc-proceed-to-checkout a.checkout-button{width:100%;height:52px;font-size:15px;margin:0}
/* cross-sells bajo los totales, 2 columnas */
.woocommerce-cart .legal-body .cross-sells>h2{font-family:var(--display,'Raleway',system-ui,sans-serif);font-weight:600;font-size:clamp(2.2rem,2.6vw,3rem);margin:0 0 22px}
.woocommerce-cart .legal-body .cross-sells ul.products{grid-template-columns:repeat(2,1fr);gap:22px 16px}

/* ---------- CHECKOUT (2 columnas: datos + resumen) ---------- */
.woocommerce-checkout .legal-body form.checkout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);grid-template-rows:auto 1fr;gap:0 clamp(28px,4vw,56px);align-items:start}
.woocommerce-checkout .legal-body form.checkout .col2-set{grid-column:1;grid-row:1/span 2;float:none;width:100%}
.woocommerce-checkout .legal-body form.checkout .col2-set .col-1,
.woocommerce-checkout .legal-body form.checkout .col2-set .col-2{float:none;width:100%}
.woocommerce-checkout .legal-body form.checkout .col2-set .col-2{margin-top:26px}
.woocommerce-checkout .legal-body form.checkout h3,
.woocommerce-checkout .legal-body form.checkout #order_review_heading{font-family:var(--display,'Raleway',system-ui,sans-serif);font-weight:600;font-size:22px;margin:0 0 16px}
.woocommerce-checkout .legal-body form.checkout #order_review_heading{grid-column:2;grid-row:1}
.woocommerce-checkout .legal-body form.checkout #order_review{grid-column:2;grid-row:2;width:100%;background:var(--gris-panel,#F1F3F5);border-radius:20px;padding:26px 28px;position:sticky;top:96px}
/* resumen del pedido */
.woocommerce-checkout .legal-body #order_review table.shop_table{background:transparent;font-size:14px}
.woocommerce-checkout .legal-body #order_review th,
.woocommerce-checkout .legal-body #order_review td{border:none;border-bottom:1px solid rgba(17,17,17,.08);padding:11px 0;background:transparent}
.woocommerce-checkout .legal-body #order_review td{text-align:right}
.woocommerce-checkout .legal-body #order_review .order-total td{font-family:var(--display,'Raleway',system-ui,sans-serif);font-weight:600;font-size:19px}
/* métodos de pago */
.woocommerce-checkout .legal-body #payment{background:transparent;border-radius:0;margin-top:14px}
.woocommerce-checkout .legal-body #payment ul.payment_methods{list-style:none;margin:0 0 16px;padding:0 0 16px;border-bottom:1px solid rgba(17,17,17,.08)}
.woocommerce-checkout .legal-body #payment ul.payment_methods li{margin-bottom:8px}
.woocommerce-checkout .legal-body #payment ul.payment_methods label{font-weight:500;font-size:15px}
.woocommerce-checkout .legal-body #payment div.payment_box{background:#fff;border-radius:14px;color:var(--gris-texto,#5B6470);font-size:13px;padding:12px 16px;margin:8px 0 0}
.woocommerce-checkout .legal-body #payment div.payment_box::before{display:none}
.woocommerce-checkout .legal-body #payment .place-order{padding:6px 0 0}
.woocommerce-checkout .legal-body #payment button#place_order{width:100%;height:52px;font-size:15px;float:none}
.woocommerce-checkout .legal-body .woocommerce-terms-and-conditions-wrapper{font-size:13px;color:var(--gris-texto,#5B6470);margin-bottom:14px}
/* cupón / login plegables previos al formulario */
.woocommerce-checkout .legal-body form.checkout_coupon,
.woocommerce-checkout .legal-body form.woocommerce-form-login{border:1px solid var(--gris-borde,#E2E6EA);border-radius:20px;padding:22px;margin:0 0 26px;max-width:560px}

/* ---------- GRACIAS (pedido recibido) ---------- */
.woocommerce-order-received .legal-body .woocommerce-thankyou-order-received{font-family:var(--display,'Raleway',system-ui,sans-serif);font-weight:600;font-size:clamp(2.4rem,3vw,3.2rem);margin:0 0 24px}
.woocommerce-order-received .legal-body ul.order_details{list-style:none;display:flex;flex-wrap:wrap;gap:14px;margin:0 0 30px;padding:0}
.woocommerce-order-received .legal-body ul.order_details li{float:none;margin:0;padding:14px 18px;border:none;background:var(--gris-panel,#F1F3F5);border-radius:14px;font-size:12px;letter-spacing:.03em;color:var(--gris-texto,#5B6470)}
.woocommerce-order-received .legal-body ul.order_details li strong{display:block;font-size:15px;color:var(--negro,#111);margin-top:4px;text-transform:none;letter-spacing:0}
.woocommerce-order-received .legal-body .woocommerce-order-details__title,
.woocommerce-order-received .legal-body .woocommerce-customer-details h2{font-family:var(--display,'Raleway',system-ui,sans-serif);font-weight:600;font-size:22px;margin:0 0 14px}
.woocommerce-order-received .legal-body .woocommerce-customer-details address{font-style:normal;background:var(--gris-panel,#F1F3F5);border:none;border-radius:14px;padding:16px 18px}

/* ---------- MI CUENTA ---------- */
/* logueado: nav lateral + contenido (como .cat-layout) */
.woocommerce-account.logged-in .legal-body>.woocommerce{display:grid;grid-template-columns:250px minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:start}
.woocommerce-account .legal-body .woocommerce-MyAccount-navigation{float:none;width:100%;position:sticky;top:96px}
.woocommerce-account .legal-body .woocommerce-MyAccount-content{float:none;width:100%;min-width:0}
.woocommerce-account .legal-body .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:12px;border:1px solid var(--gris-borde,#E2E6EA);border-radius:20px;display:flex;flex-direction:column;gap:2px}
.woocommerce-account .legal-body .woocommerce-MyAccount-navigation li a{display:block;padding:10px 14px;border-radius:10px;font-size:15px;font-weight:500;color:var(--negro,#111)}
.woocommerce-account .legal-body .woocommerce-MyAccount-navigation li a:hover{background:var(--azul-suave,#E8F1FA)}
.woocommerce-account .legal-body .woocommerce-MyAccount-navigation li.is-active a{background:var(--azul-suave,#E8F1FA);color:var(--azul-boton,#2E6FB8)}
.woocommerce-account .legal-body .woocommerce-MyAccount-content p{margin-bottom:14px;font-size:15px}
.woocommerce-account .legal-body .woocommerce-MyAccount-content>h2,
.woocommerce-account .legal-body .woocommerce-MyAccount-content h3{font-family:var(--display,'Raleway',system-ui,sans-serif);font-weight:600;font-size:22px;margin:0 0 14px}
/* login / registro (sin sesión): tarjetas limpias */
.woocommerce-account .legal-body h2{font-family:var(--display,'Raleway',system-ui,sans-serif);font-weight:600;font-size:24px;margin:0 0 16px}
.woocommerce-account .legal-body form.login,
.woocommerce-account .legal-body form.register{max-width:460px;border:1px solid var(--gris-borde,#E2E6EA);border-radius:20px;padding:26px 28px;margin:0}
.woocommerce-account .legal-body form.login .woocommerce-form-login__rememberme{display:block;margin-bottom:12px;font-size:14px}
.woocommerce-account .legal-body form.login .lost_password{font-size:13px;margin:12px 0 0}
.woocommerce-account .legal-body form.login .lost_password a,
.woocommerce-account .legal-body .woocommerce-privacy-policy-text a{text-decoration:underline;text-underline-offset:3px}
.woocommerce-account .legal-body .woocommerce-privacy-policy-text{font-size:13px;color:var(--gris-texto,#5B6470)}
/* dos columnas login+registro / direcciones */
.woocommerce-account .legal-body .u-columns.col2-set{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;width:100%}
.woocommerce-account .legal-body .u-columns .col-1,
.woocommerce-account .legal-body .u-columns .col-2{float:none;width:100%;max-width:none}
.woocommerce-account .legal-body .woocommerce-Address-title h3{font-size:20px;margin-bottom:8px}
.woocommerce-account .legal-body .woocommerce-Address-title .edit{font-size:13px;text-decoration:underline;text-underline-offset:3px}
.woocommerce-account .legal-body .woocommerce-Address address{font-style:normal;background:var(--gris-panel,#F1F3F5);border-radius:14px;padding:16px 18px;margin-top:10px}

/* ---------- responsive del funnel ---------- */
@media (max-width:1024px){
  .woocommerce-cart .legal-body .woocommerce{grid-template-columns:1fr}
  .woocommerce-cart .legal-body form.woocommerce-cart-form,
  .woocommerce-cart .legal-body .cart-collaterals{grid-column:1}
  .woocommerce-cart .legal-body .cart-collaterals{position:static}
  .woocommerce-checkout .legal-body form.checkout{grid-template-columns:1fr}
  .woocommerce-checkout .legal-body form.checkout .col2-set{grid-row:auto}
  .woocommerce-checkout .legal-body form.checkout .col2-set,
  .woocommerce-checkout .legal-body form.checkout #order_review_heading,
  .woocommerce-checkout .legal-body form.checkout #order_review{grid-column:1}
  .woocommerce-checkout .legal-body form.checkout #order_review_heading{grid-row:auto;margin-top:26px}
  .woocommerce-checkout .legal-body form.checkout #order_review{grid-row:auto;position:static}
  .woocommerce-account.logged-in .legal-body>.woocommerce{grid-template-columns:1fr}
  .woocommerce-account .legal-body .woocommerce-MyAccount-navigation{position:static}
}
@media (max-width:640px){
  .woocommerce-account .legal-body .u-columns.col2-set{grid-template-columns:1fr}
  .woocommerce-cart .legal-body td.actions .coupon{float:none;display:flex;width:100%}
  .woocommerce-cart .legal-body td.actions .coupon .input-text{flex:1;width:auto}
  .woocommerce-cart .legal-body td.actions>.button{float:none;width:100%;margin-top:12px}
  .woocommerce-cart .legal-body table.cart td.product-thumbnail img{width:64px;height:64px}
}

/* ------------------------------------------------------------------
   Overrides de especificidad contra woocommerce-general.css.
   Woo core estila los botones con `.woocommerce a.button` (0,2,1) y
   `.woocommerce button.button.alt` (0,3,1 — el morado #7f54b3), que
   ganan a las clases sueltas del tema aunque esta hoja cargue después.
   Se re-afirman aquí el fab del loop y el botón de compra de la ficha
   con selectores más específicos. Mismos estilos que arriba.
   ------------------------------------------------------------------ */
.woocommerce .card-img a.button.cart-fab{position:absolute;right:14px;bottom:14px;z-index:3;width:42px;height:42px;padding:0;border:none;border-radius:50%;background:var(--negro,#111);color:#fff;display:flex;align-items:center;justify-content:center;font-size:0;font-weight:400;line-height:1;opacity:0;transform:translateY(6px);transition:opacity .25s,transform .25s,background .2s}
.woocommerce .card:hover .card-img a.button.cart-fab,.woocommerce .card:focus-within .card-img a.button.cart-fab{opacity:1;transform:none}
.woocommerce .card-img a.button.cart-fab:hover{background:var(--azul-boton,#2E6FB8);color:#fff}
.woocommerce .card-img a.button.cart-fab.loading{opacity:.55;pointer-events:none}
@media (hover:none){.woocommerce .card-img a.button.cart-fab{opacity:1;transform:none}}

.woocommerce .pdp-buy form.cart .single_add_to_cart_button{display:inline-flex;align-items:center;gap:14px;height:50px;background:var(--azul-boton,#2E6FB8);color:#fff;border:none;cursor:pointer;border-radius:60px;padding:0 5px 0 24px;font-family:var(--sans,'Geist',system-ui,sans-serif);font-size:15px;font-weight:500;line-height:1;transition:transform .18s ease,background .18s ease}
.woocommerce .pdp-buy form.cart .single_add_to_cart_button:hover{background:var(--azul-boton-hover,#245C9E);transform:scale(1.03)}
.woocommerce .pdp-buy form.cart .single_add_to_cart_button:disabled,.woocommerce .pdp-buy form.cart .single_add_to_cart_button.disabled{opacity:.5;cursor:not-allowed;transform:none}
@media (max-width:480px){
  .woocommerce .pdp-buy form.cart .single_add_to_cart_button{flex:1;justify-content:space-between}
}
@media (prefers-reduced-motion:reduce){
  .woocommerce .card-img a.button.cart-fab,.woocommerce .pdp-buy form.cart .single_add_to_cart_button{transition:none}
  .woocommerce .pdp-buy form.cart .single_add_to_cart_button:hover{transform:none}
}

/* Woo core impone a li.product `width:30.75%;float:left` (0,4,2) y un
   clearfix ::before/::after en ul.products que dentro de display:grid se
   convierte en celdas fantasma. Se neutralizan ambos con especificidad
   suficiente; el nº de columnas lo siguen mandando las reglas del tema. */
.woocommerce ul.products[class*=columns-] li.product.card,
.woocommerce-page ul.products[class*=columns-] li.product.card{width:auto;max-width:none;float:none;clear:none;margin:0}
.woocommerce ul.products::before,.woocommerce ul.products::after,
.woocommerce-page ul.products::before,.woocommerce-page ul.products::after{content:none;display:none}

/* woocommerce-layout.css impone float+width:48% a galería y summary
   (.woocommerce div.product div.images / div.summary). El layout de la
   ficha lo manda la rejilla .pdp del tema: ambos a ancho completo. */
.woocommerce #content div.product div.images,.woocommerce div.product div.images,
.woocommerce-page #content div.product div.images,.woocommerce-page div.product div.images{float:none;width:100%;margin-bottom:0}
.woocommerce #content div.product div.summary,.woocommerce div.product div.summary,
.woocommerce-page #content div.product div.summary,.woocommerce-page div.product div.summary{float:none;width:100%;margin-bottom:0}

/* =========================================================================
   Ajustes 20-08-2026
   ========================================================================= */

/* --- Filtro de precio: el morado de WooCommerce pasa al azul de marca -----
   Woo lo pinta con `.woocommerce .widget_price_filter .ui-slider .ui-slider-range`
   (0-4-0), que ganaba por especificidad a la regla del tema (0-2-0). */
.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content{
	background:var(--gris-borde,#E2E6EA);
	border-radius:3px;
}
.woocommerce .widget_price_filter .ui-slider{
	height:3px;
}
.woocommerce .widget_price_filter .ui-slider .ui-slider-range{
	background:var(--azul-boton,#2E6FB8);
	background-color:var(--azul-boton,#2E6FB8);
	border-radius:3px;
}
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle{
	width:18px;
	height:18px;
	top:50%;
	margin:-9px 0 0 -9px;
	background:#fff;
	background-color:#fff;
	border:2px solid var(--azul-boton,#2E6FB8);
	box-shadow:0 1px 4px rgba(17,17,17,.18);
}
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle:hover,
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle:focus-visible{
	border-color:var(--azul-boton-hover,#245C9E);
	box-shadow:0 0 0 4px var(--azul-suave,#E8F1FA);
	outline:none;
}
.woocommerce .widget_price_filter .price_slider_amount .button{
	background:var(--negro,#111);
}
.woocommerce .widget_price_filter .price_slider_amount .button:hover{
	background:var(--azul-boton,#2E6FB8);
}

/* --- Paginación de catálogo ----------------------------------------------
   Círculos regulares, foco visible y la página activa en azul de marca. */
.woocommerce-pagination{
	margin:44px 0 8px;
}
.woocommerce-pagination .page-numbers{
	gap:10px;
}
.woocommerce-pagination .page-numbers li .page-numbers{
	width:44px;
	min-width:44px;
	height:44px;
	padding:0;
	border:1px solid var(--gris-borde,#E2E6EA);
	background:#fff;
	font-variant-numeric:tabular-nums;
	line-height:1;
	text-decoration:none;
	transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease;
}
.woocommerce-pagination .page-numbers li a.page-numbers:hover{
	border-color:var(--azul-boton,#2E6FB8);
	color:var(--azul-boton,#2E6FB8);
	background:var(--azul-suave,#E8F1FA);
	transform:translateY(-1px);
}
.woocommerce-pagination .page-numbers li a.page-numbers:focus-visible{
	outline:2px solid var(--azul-boton,#2E6FB8);
	outline-offset:3px;
}
.woocommerce-pagination .page-numbers li .page-numbers.current{
	background:var(--azul-boton,#2E6FB8);
	border-color:var(--azul-boton,#2E6FB8);
	color:#fff;
	font-weight:600;
	box-shadow:0 2px 10px rgba(46,111,184,.28);
}
.woocommerce-pagination .page-numbers li .page-numbers.dots{
	border-color:transparent;
	background:none;
	color:var(--gris-texto,#5B6470);
}
.woocommerce-pagination .page-numbers li .page-numbers.prev,
.woocommerce-pagination .page-numbers li .page-numbers.next{
	font-size:17px;
	color:var(--negro,#111);
}
@media (max-width:600px){
	.woocommerce-pagination .page-numbers li .page-numbers{width:40px;min-width:40px;height:40px}
	.woocommerce-pagination .page-numbers{gap:8px}
}

/* --- Galería: red de seguridad -------------------------------------------
   Si el zoom por hover se reactivara, la copia a tamaño natural queda
   recortada dentro de la figura en lugar de desbordarse sobre la ficha. */
.pdp-gallery .woocommerce-product-gallery__image{
	position:relative;
	overflow:hidden;
	border-radius:20px;
}
.pdp-gallery .woocommerce-product-gallery .zoomImg,
.woocommerce div.product .pdp-gallery div.images .woocommerce-product-gallery__wrapper .zoomImg{
	max-width:none;
	pointer-events:none;
	/* Se veian DOS frascos al pasar el raton: el ampliado y el original por debajo.
	   Causa: las 170 fotos son PNG RGBA con fondo transparente (95 % de pixeles con
	   alfa 0) y la regla de multiply de la galeria alcanzaba tambien a esta capa.
	   Multiplicar por el blanco que le pone Woo no pinta nada, asi que la capa se
	   volvia invisible y dejaba ver la imagen de debajo. Se anula la mezcla y se le
	   da el gris del panel para que tape. El segundo selector (0-6-2) pesa mas que
	   el de Woo `.woocommerce div.product div.images ... .zoomImg{background:#fff}`
	   (0-5-2), que si no gana y la deja blanca. */
	mix-blend-mode:normal;
	background-color:#F0F0F0;
}

/* =========================================================================
   Carrito, checkout y cuenta — 20-08-2026
   ========================================================================= */

/* --- Barra de envío gratuito ---------------------------------------------- */
.marina-envio-gratis{
	margin:0 0 26px;
	padding:18px 20px;
	border:1px solid var(--gris-borde,#E2E6EA);
	border-radius:16px;
	background:#fff;
}
.marina-envio-gratis .meg-txt{
	margin:0 0 12px;
	font-size:14.5px;
	line-height:1.45;
	color:var(--gris-texto,#5B6470);
}
.marina-envio-gratis .meg-txt strong{color:var(--negro,#111);font-weight:600}
.marina-envio-gratis .meg-barra{
	position:relative;
	height:6px;
	border-radius:6px;
	background:var(--gris-borde,#E2E6EA);
	overflow:hidden;
}
.marina-envio-gratis .meg-barra span{
	display:block;
	height:100%;
	border-radius:6px;
	background:var(--azul-boton,#2E6FB8);
	transition:width .35s ease;
}
.marina-envio-gratis.is-done{
	border-color:var(--azul-claro,#A8CCEE);
	background:var(--azul-suave,#E8F1FA);
}
.marina-envio-gratis.is-done .meg-barra span{background:var(--azul-boton,#2E6FB8)}
.marina-envio-gratis.is-done .meg-txt strong{color:var(--azul-boton-hover,#245C9E)}

/* --- Carrito: la miniatura se veía como un recorte de 49 px --------------- */
.woocommerce-cart .shop_table .product-thumbnail img{
	width:78px;
	height:auto;
	aspect-ratio:3/4;
	object-fit:contain;
	background:#F0F0F0;
	border-radius:12px;
	mix-blend-mode:multiply;
}
.woocommerce-cart .shop_table .product-thumbnail{width:96px}
.woocommerce-cart .shop_table td.product-name a{
	font-weight:500;
	color:var(--negro,#111);
	text-decoration:none;
	line-height:1.35;
}
.woocommerce-cart .shop_table td.product-name a:hover{color:var(--azul-boton,#2E6FB8)}

/* Totales pegados al desplazar: el botón de finalizar siempre a la vista. */
@media (min-width:1000px){
	.woocommerce-cart .cart_totals{
		position:sticky;
		top:104px;
	}
}
.woocommerce-cart .cart_totals{
	border:1px solid var(--gris-borde,#E2E6EA);
	border-radius:20px;
	padding:24px;
	background:#fff;
}
.woocommerce-cart .cart_totals h2{font-size:19px;margin:0 0 16px}
.woocommerce-cart .cart_totals .order-total .amount{font-size:24px;font-weight:600;color:var(--negro,#111)}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button{
	display:flex;align-items:center;justify-content:center;
	height:52px;border-radius:60px;
	background:var(--azul-boton,#2E6FB8);color:#fff;
	font-family:var(--sans,'Geist',system-ui,sans-serif);font-size:16px;font-weight:500;
	text-decoration:none;transition:background .2s,transform .18s ease;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover{
	background:var(--azul-boton-hover,#245C9E);transform:scale(1.02);color:#fff;
}

/* --- Checkout ------------------------------------------------------------- */
@media (min-width:1000px){
	.woocommerce-checkout #order_review,
	.woocommerce-checkout #order_review_heading{
		position:sticky;
		top:104px;
	}
}
.woocommerce-checkout #order_review{
	border:1px solid var(--gris-borde,#E2E6EA);
	border-radius:20px;
	padding:24px;
	background:#fff;
}
.woocommerce-checkout h3,
.woocommerce-checkout #order_review_heading{
	font-size:19px;
	margin:0 0 18px;
	padding-bottom:12px;
	border-bottom:1px solid var(--gris-borde,#E2E6EA);
}
.woocommerce-checkout .woocommerce-info{
	border-radius:14px;
	background:var(--azul-suave,#E8F1FA);
	border:1px solid var(--azul-claro,#A8CCEE);
}
.woocommerce-checkout #payment .wc_payment_methods li{
	border:1px solid var(--gris-borde,#E2E6EA);
	border-radius:14px;
	padding:14px 16px;
	margin:0 0 10px;
	background:#fff;
	list-style:none;
}
.woocommerce-checkout #payment .wc_payment_methods li label{font-weight:500;cursor:pointer}
.woocommerce-checkout #payment .payment_box{
	background:var(--azul-suave,#E8F1FA);
	border-radius:12px;
	font-size:14px;
}
.woocommerce-checkout #place_order{
	width:100%;height:54px;border:none;cursor:pointer;border-radius:60px;
	background:var(--azul-boton,#2E6FB8);color:#fff;
	font-family:var(--sans,'Geist',system-ui,sans-serif);font-size:16px;font-weight:500;
	transition:background .2s,transform .18s ease;
}
.woocommerce-checkout #place_order:hover{background:var(--azul-boton-hover,#245C9E);transform:scale(1.02)}

/* --- Mi cuenta: acceso ---------------------------------------------------- */
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register{
	border:1px solid var(--gris-borde,#E2E6EA);
	border-radius:20px;
	padding:28px;
	background:#fff;
	max-width:460px;
}
.woocommerce-account .woocommerce-form-login .button,
.woocommerce-account .woocommerce-form-register .button{
	height:48px;padding:0 28px;border:none;cursor:pointer;border-radius:60px;
	background:var(--azul-boton,#2E6FB8);color:#fff;
	font-family:var(--sans,'Geist',system-ui,sans-serif);font-size:15px;font-weight:500;
	transition:background .2s,transform .18s ease;
}
.woocommerce-account .woocommerce-form-login .button:hover,
.woocommerce-account .woocommerce-form-register .button:hover{
	background:var(--azul-boton-hover,#245C9E);transform:scale(1.02);
}
.woocommerce-account .woocommerce-form-login label,
.woocommerce-account .woocommerce-form-register label{
	font-size:14px;font-weight:500;color:var(--negro,#111);
}
.woocommerce-account .woocommerce-form-login input[type=text],
.woocommerce-account .woocommerce-form-login input[type=password],
.woocommerce-account .woocommerce-form-register input[type=text],
.woocommerce-account .woocommerce-form-register input[type=email],
.woocommerce-account .woocommerce-form-register input[type=password]{
	width:100%;height:46px;padding:0 14px;
	border:1px solid var(--gris-borde,#E2E6EA);border-radius:12px;
	font-family:var(--sans,'Geist',system-ui,sans-serif);font-size:15px;background:#fff;
}
.woocommerce-account .woocommerce-form-login input:focus,
.woocommerce-account .woocommerce-form-register input:focus{
	border-color:var(--azul-boton,#2E6FB8);outline:none;
	box-shadow:0 0 0 3px var(--azul-suave,#E8F1FA);
}
.woocommerce-account .woocommerce-LostPassword a{color:var(--azul-boton,#2E6FB8)}

/* --- Mi cuenta: panel ----------------------------------------------------- */
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0}
.woocommerce-account .woocommerce-MyAccount-navigation li a{
	display:block;padding:11px 16px;border-radius:12px;
	color:var(--negro,#111);text-decoration:none;font-size:15px;
	transition:background .18s ease,color .18s ease;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{
	background:var(--azul-suave,#E8F1FA);color:var(--azul-boton,#2E6FB8);
}
.woocommerce-account .woocommerce-MyAccount-content{
	border:1px solid var(--gris-borde,#E2E6EA);
	border-radius:20px;padding:26px;background:#fff;
}

.woocommerce-cart .shop_table .product-thumbnail img{width:78px;height:auto;aspect-ratio:3/4;object-fit:contain;padding:4px}

/* --- Mi cuenta: acceso a dos columnas ------------------------------------- */
@media (min-width:900px){
	.woocommerce-account:not(.logged-in) .woocommerce:has(.woocommerce-form-login){
		display:grid;
		grid-template-columns:minmax(0,460px) minmax(0,1fr);
		gap:40px;
		align-items:start;
	}
	.woocommerce-account:not(.logged-in) .woocommerce:has(.woocommerce-form-login) > h2{grid-column:1;margin-bottom:14px}
	.woocommerce-account:not(.logged-in) .woocommerce-form-login{grid-column:1;max-width:none}
	.woocommerce-account .marina-login-apoyo{grid-column:2;margin-top:0}
}
.woocommerce-account .marina-login-apoyo{
	border:1px solid var(--gris-borde,#E2E6EA);
	border-radius:20px;
	padding:28px;
	background:var(--azul-suave,#E8F1FA);
	margin-top:24px;
}
.woocommerce-account .marina-login-apoyo h2{
	font-size:18px;
	margin:0 0 14px;
	color:var(--negro,#111);
}
.woocommerce-account .marina-login-apoyo ul{
	margin:0;
	padding:0 0 0 20px;
	color:var(--gris-texto,#5B6470);
	font-size:15px;
	line-height:1.55;
}
.woocommerce-account .marina-login-apoyo li{margin:0 0 8px}
.woocommerce-account .marina-login-apoyo .mla-nota{
	margin:16px 0 0;
	padding-top:16px;
	border-top:1px solid var(--azul-claro,#A8CCEE);
	font-size:14.5px;
	color:var(--negro,#111);
}

/* --- Mi cuenta: panel privado --------------------------------------------
   El tema tenía todo el panel acotado a `.legal-body`, clase que esta
   plantilla no lleva, así que no se aplicaba nada: el menú ocupaba la columna
   ancha y el contenido la estrecha. Maquetación propia, sin depender de ella. */
.woocommerce-account.logged-in .woocommerce{
	display:grid;
	grid-template-columns:1fr;
	gap:28px;
	align-items:start;
}
@media (min-width:900px){
	.woocommerce-account.logged-in .woocommerce{
		grid-template-columns:262px minmax(0,1fr);
		gap:36px;
	}
	.woocommerce-account.logged-in .woocommerce-MyAccount-navigation{
		grid-column:1;
		position:sticky;
		top:104px;
	}
	.woocommerce-account.logged-in .woocommerce-MyAccount-content{grid-column:2}
}
.woocommerce-account.logged-in .woocommerce-MyAccount-navigation{
	float:none;
	width:auto;
	min-width:0;
}
.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul{
	list-style:none;
	margin:0;
	padding:10px;
	border:1px solid var(--gris-borde,#E2E6EA);
	border-radius:20px;
	background:#fff;
	display:flex;
	flex-direction:column;
	gap:2px;
}
.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li a{
	display:block;
	padding:11px 15px;
	border-radius:12px;
	font-size:15px;
	font-weight:500;
	color:var(--negro,#111);
	text-decoration:none;
	transition:background .18s ease,color .18s ease;
}
.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li a:hover{
	background:var(--azul-suave,#E8F1FA);
	color:var(--azul-boton,#2E6FB8);
}
.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li.is-active a{
	background:var(--azul-boton,#2E6FB8);
	color:#fff;
}
.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li--woocommerce-logout a{
	color:var(--gris-texto,#5B6470);
}
.woocommerce-account.logged-in .woocommerce-MyAccount-content{
	float:none;
	width:auto;
	min-width:0;
	border:1px solid var(--gris-borde,#E2E6EA);
	border-radius:20px;
	padding:28px;
	background:#fff;
}
.woocommerce-account.logged-in .woocommerce-MyAccount-content > h2,
.woocommerce-account.logged-in .woocommerce-MyAccount-content h3{
	font-family:var(--display,'Raleway',system-ui,sans-serif);
	font-weight:600;
	font-size:21px;
	margin:0 0 14px;
}
.woocommerce-account.logged-in .woocommerce-MyAccount-content p{font-size:15px;line-height:1.6}

/* Tabla de pedidos: legible y sin el aspecto de hoja de cálculo. */
.woocommerce-account .woocommerce-orders-table,
.woocommerce-account .woocommerce-table--order-details{
	width:100%;
	border-collapse:separate;
	border-spacing:0;
	font-size:15px;
}
.woocommerce-account .woocommerce-orders-table th,
.woocommerce-account .woocommerce-table--order-details th{
	text-align:left;
	font-size:12px;
	font-weight:600;
	letter-spacing:.04em;
	text-transform:uppercase;
	color:var(--gris-texto,#5B6470);
	padding:0 12px 10px 0;
	border-bottom:1px solid var(--gris-borde,#E2E6EA);
}
.woocommerce-account .woocommerce-orders-table td,
.woocommerce-account .woocommerce-table--order-details td{
	padding:14px 12px 14px 0;
	border-bottom:1px solid var(--gris-borde,#E2E6EA);
	vertical-align:middle;
}
.woocommerce-account .woocommerce-orders-table .woocommerce-button,
.woocommerce-account .woocommerce-MyAccount-content .button{
	display:inline-flex;align-items:center;justify-content:center;
	height:40px;padding:0 18px;border:1px solid var(--gris-borde,#E2E6EA);
	border-radius:60px;background:#fff;color:var(--negro,#111);
	font-family:var(--sans,'Geist',system-ui,sans-serif);font-size:14px;font-weight:500;
	text-decoration:none;cursor:pointer;
	transition:border-color .18s ease,background .18s ease,color .18s ease;
}
.woocommerce-account .woocommerce-orders-table .woocommerce-button:hover,
.woocommerce-account .woocommerce-MyAccount-content .button:hover{
	border-color:var(--azul-boton,#2E6FB8);
	background:var(--azul-suave,#E8F1FA);
	color:var(--azul-boton,#2E6FB8);
}
.woocommerce-account .woocommerce-MyAccount-content form .button{
	background:var(--azul-boton,#2E6FB8);border-color:var(--azul-boton,#2E6FB8);color:#fff;height:46px;padding:0 26px;
}
.woocommerce-account .woocommerce-MyAccount-content form .button:hover{
	background:var(--azul-boton-hover,#245C9E);border-color:var(--azul-boton-hover,#245C9E);color:#fff;
}

/* Direcciones y formularios del panel. */
.woocommerce-account .woocommerce-Addresses{
	display:grid;grid-template-columns:1fr;gap:20px;margin-top:6px;
}
@media (min-width:700px){
	.woocommerce-account .woocommerce-Addresses{grid-template-columns:1fr 1fr}
}
.woocommerce-account .woocommerce-Address{
	border:1px solid var(--gris-borde,#E2E6EA);border-radius:16px;padding:20px;width:auto;float:none;
}
.woocommerce-account .woocommerce-Address-title h2,
.woocommerce-account .woocommerce-Address-title h3{font-size:17px;margin:0 0 10px}
.woocommerce-account .woocommerce-MyAccount-content input[type=text],
.woocommerce-account .woocommerce-MyAccount-content input[type=email],
.woocommerce-account .woocommerce-MyAccount-content input[type=tel],
.woocommerce-account .woocommerce-MyAccount-content input[type=password],
.woocommerce-account .woocommerce-MyAccount-content select{
	width:100%;height:46px;padding:0 14px;
	border:1px solid var(--gris-borde,#E2E6EA);border-radius:12px;
	font-family:var(--sans,'Geist',system-ui,sans-serif);font-size:15px;background:#fff;
}
.woocommerce-account .woocommerce-MyAccount-content input:focus,
.woocommerce-account .woocommerce-MyAccount-content select:focus{
	border-color:var(--azul-boton,#2E6FB8);outline:none;box-shadow:0 0 0 3px var(--azul-suave,#E8F1FA);
}

/* Direcciones: WooCommerce las envuelve en `.col2-set > .col-1 / .col-2` con
   float y ancho al 48 %, que rompía la rejilla. Se neutraliza con la
   especificidad suficiente para ganar a `.woocommerce-page .col2-set .col-1`. */
.woocommerce-account .woocommerce .woocommerce-Addresses .col-1,
.woocommerce-account .woocommerce .woocommerce-Addresses .col-2,
.woocommerce-account .woocommerce .woocommerce-Addresses > div{
	float:none;
	width:auto;
	max-width:none;
	margin:0;
}
.woocommerce-account .woocommerce .woocommerce-Addresses::before,
.woocommerce-account .woocommerce .woocommerce-Addresses::after{content:none;display:none}
.woocommerce-account .woocommerce-Address-title{
	display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;
}
.woocommerce-account .woocommerce-Address-title a{
	font-size:14px;color:var(--azul-boton,#2E6FB8);text-decoration:none;
}
.woocommerce-account .woocommerce-Address-title a:hover{text-decoration:underline}
.woocommerce-account .woocommerce-Address address{
	font-style:normal;font-size:15px;line-height:1.6;color:var(--gris-texto,#5B6470);margin:0;
}

.woocommerce-account .woocommerce-Address-title h2,
.woocommerce-account .woocommerce-Address-title h3{flex:1 1 auto;text-align:left;margin:0}
.woocommerce-account .woocommerce-Address-title a{flex:0 0 auto;white-space:nowrap}

/* --- Avisos de WooCommerce ------------------------------------------------
   Woo coloca un icono absoluto (`::before`, fuente WooCommerce) en left:1.5em
   contando con un padding-left de 3.5em. El tema redujo ese padding a 20px y
   el icono quedaba pisando la primera letra: se leía «ERROR» como un glifo
   encima de la E. Se retira el icono y se conserva el color de fondo. */
body .woocommerce-error::before,
body .woocommerce-info::before,
body .woocommerce-message::before{
	content:none;
	display:none;
}
body .woocommerce-error,
body .woocommerce-info,
body .woocommerce-message{
	border-top:0;
	padding:14px 20px;
}
body .woocommerce-error{border-left:3px solid #C0392B}
body .woocommerce-message{border-left:3px solid var(--azul-boton,#2E6FB8)}
body .woocommerce-info{border-left:3px solid var(--azul-claro,#A8CCEE)}

/* ── Botón flotante de carrito en la tarjeta ─────────────────────────────────
   WooCommerce declara `.woocommerce ul.products li.product .button{display:inline-block}`
   (0-4-2), que gana al bloque de arriba (0-4-1). Como el botón es absoluto, ese
   inline-block se computa como `block`: el centrado flex se caía y el icono quedaba
   pegado a la esquina superior izquierda del círculo. Se recupera desde la misma raíz
   de Woo para ganar por especificidad, sin !important. */
.woocommerce ul.products li.product .card-img a.button.cart-fab,
.woocommerce-page ul.products li.product .card-img a.button.cart-fab{display:flex;align-items:center;justify-content:center;width:42px;height:42px;min-width:0;margin:0;padding:0;border-radius:50%;line-height:1}
.card-img .cart-fab svg,
.woocommerce ul.products li.product .card-img a.button.cart-fab svg,
.woocommerce-page ul.products li.product .card-img a.button.cart-fab svg{display:block;flex:0 0 auto;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* --- Boton «Comprar ahora» (ficha) ---------------------------------------
   Secundario al lado del azul de «Anadir al carrito»: misma altura y misma
   pildora, pero en linea, para que no compitan. Se sube la especificidad con
   `.woocommerce .pdp-buy` porque `.woocommerce a.button, .woocommerce button.button`
   de Woo (0-2-0) pisa una regla suelta de clase. */
.woocommerce .pdp-buy form.cart .marina-comprar-ahora,
.pdp-buy form.cart .marina-comprar-ahora{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	height:50px;
	padding:0 26px;
	background:transparent;
	color:var(--negro,#111);
	border:1.5px solid var(--negro,#111);
	border-radius:60px;
	font-family:var(--sans,Geist,system-ui,sans-serif);
	font-size:15px;
	font-weight:500;
	line-height:1;
	cursor:pointer;
	transition:background .18s ease,color .18s ease,transform .18s ease;
}
.woocommerce .pdp-buy form.cart .marina-comprar-ahora:hover,
.pdp-buy form.cart .marina-comprar-ahora:hover{
	background:var(--negro,#111);
	color:#fff;
	transform:scale(1.03);
}
.woocommerce .pdp-buy form.cart .marina-comprar-ahora:focus-visible,
.pdp-buy form.cart .marina-comprar-ahora:focus-visible{
	outline:2px solid var(--azul-boton,#2E6FB8);
	outline-offset:3px;
}
@media (max-width:600px){
	.pdp-buy form.cart .marina-comprar-ahora{flex:1 0 100%;}
}
@media (prefers-reduced-motion:reduce){
	.pdp-buy form.cart .marina-comprar-ahora{transition:none}
	.pdp-buy form.cart .marina-comprar-ahora:hover{transform:none}
}

/* =========================================================================
   Checkout — miniaturas, campos plegados y garantias (21-08-2026)
   ========================================================================= */

/* --- Linea del pedido con foto ------------------------------------------- */
.woocommerce-checkout .legal-body #order_review td.product-name{text-align:left}
.marina-pedido-linea{display:flex;align-items:center;gap:14px;text-align:left}
.marina-pedido-foto{flex:0 0 auto;width:60px;height:60px;border-radius:14px;background:#F0F0F0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.marina-pedido-foto img.marina-pedido-img{width:100%;height:100%;object-fit:contain;padding:6px;mix-blend-mode:multiply;display:block}
.marina-pedido-texto{display:flex;flex-direction:column;gap:2px;min-width:0}
.marina-pedido-nombre{font-size:14px;line-height:1.35;color:var(--negro,#111)}
.marina-pedido-cant{font-size:13px;color:var(--gris-texto,#5B6470)}

/* --- Campos opcionales plegados tras la casilla --------------------------
   El desplegado es CSS puro con `:has()`. Si el navegador no lo soporta,
   el bloque @supports de abajo devuelve el comportamiento anterior: los dos
   campos visibles y la casilla escondida, para no dejar campos inalcanzables. */
/* `!important` a proposito: el JS de localizacion de Woo (address-i18n) escribe
   `style="display:block"` inline en los campos de direccion al aplicar el formato
   de Espana, y un estilo inline gana a cualquier hoja. La regla de desplegado
   tambien lo lleva, y gana a esta por especificidad (2 clases + :has vs 1 clase). */
.woocommerce-checkout #billing_company_field,
.woocommerce-checkout #billing_address_2_field{display:none !important}
.woocommerce-billing-fields__field-wrapper:has(#marina151_mas_datos:checked) #billing_company_field,
.woocommerce-billing-fields__field-wrapper:has(#marina151_mas_datos:checked) #billing_address_2_field{display:block !important}
.woocommerce-checkout #marina151_mas_datos_field{margin:0 0 18px}
.woocommerce-checkout #marina151_mas_datos_field label.checkbox{display:inline-flex;align-items:center;gap:10px;font-size:14px;color:var(--gris-texto,#5B6470);cursor:pointer}
.woocommerce-checkout #marina151_mas_datos_field label.checkbox:hover{color:var(--negro,#111)}
.woocommerce-checkout #marina151_mas_datos_field input[type=checkbox]{width:17px;height:17px;accent-color:var(--azul-boton,#2E6FB8);margin:0;cursor:pointer}
@supports not selector(:has(*)){
	.woocommerce-checkout #billing_company_field,
	.woocommerce-checkout #billing_address_2_field{display:block !important}
	.woocommerce-checkout #marina151_mas_datos_field{display:none}
}

/* --- Garantias sobre el boton de pedido ----------------------------------- */
.marina-garantias{list-style:none;margin:0 0 20px;padding:18px 0 0;border-top:1px solid rgba(17,17,17,.08);display:grid;gap:14px}
.marina-garantias li{display:flex;align-items:center;gap:12px;margin:0}
.marina-garantias .icircle{flex:0 0 auto;width:34px;height:34px;border-radius:50%;background:var(--azul-suave,#E8F1FA);display:flex;align-items:center;justify-content:center}
.marina-garantias .icircle svg{width:17px;height:17px;fill:none;stroke:var(--azul-boton,#2E6FB8);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.marina-garantia-txt{display:flex;flex-direction:column;line-height:1.35}
.marina-garantia-txt strong{font-size:14px;font-weight:500;color:var(--negro,#111)}
.marina-garantia-txt span{font-size:13px;color:var(--gris-texto,#5B6470)}

/* =========================================================================
   Consejo farmacéutico — la nota del mostrador (encargo B, 25-08-2026)
   Va abierta y pegada a «Descripción». No se lee como un acordeón más:
   fondo azul suave, raíl azul a la izquierda y firma con foto al pie.
   ========================================================================= */
.pdp-acc .pdp-acc-consejo{
	border:0;
	border-left:3px solid var(--azul-marca,#4A90D9);
	border-radius:0 16px 16px 0;
	background:var(--azul-suave,#E8F1FA);
	margin:18px 0;
	padding:0; /* el tema pone padding vertical a todo <section>. */
}
/* El acordeón siguiente recupera su línea superior, que la nota no pinta. */
.pdp-acc .pdp-acc-consejo + details{border-top:1px solid var(--gris-borde,#E2E6EA)}

.pdp-acc .consejo-titulo{
	font-family:var(--sans,'Geist',system-ui,sans-serif);
	font-size:15px;font-weight:600;line-height:1.3;
	padding:15px 18px 12px;
}
.pdp-acc .pdp-acc-consejo .acc-body{padding:0 18px 17px;max-width:62ch;color:#2A333D}
.pdp-acc .pdp-acc-consejo .acc-body li::before{color:var(--azul-boton,#2E6FB8)}

/* Firma: quién contesta al otro lado del mostrador. */
.pdp-acc .consejo-firma{
	display:flex;align-items:center;gap:12px;
	margin-top:15px;padding-top:13px;
	border-top:1px solid rgba(74,144,217,.28);
}
.pdp-acc .consejo-foto{
	width:44px;height:44px;flex:none;
	border-radius:50%;object-fit:cover;
	border:2px solid #fff;
}
.pdp-acc .consejo-cruz{
	width:44px;height:44px;flex:none;
	border-radius:50%;background:#fff;
	display:inline-flex;align-items:center;justify-content:center;
}
.pdp-acc .consejo-cruz svg{width:19px;height:19px;fill:var(--azul-marca,#4A90D9)}
.pdp-acc .consejo-quien{display:block;line-height:1.35}
.pdp-acc .consejo-quien strong{display:block;font-size:14px;font-weight:600;color:var(--negro,#111)}
.pdp-acc .consejo-quien span{display:block;font-size:12.5px;color:var(--gris-texto,#5B6470)}

/* CTA discreta: un enlace, no otro botón que compita con «Añadir». */
.pdp-acc .consejo-wa{
	display:inline-flex;align-items:flex-start;gap:9px;
	margin-top:14px;font-size:13.5px;font-weight:500;
	color:var(--azul-boton,#2E6FB8);
	text-decoration:underline;
	text-underline-offset:3px;
	text-decoration-thickness:1px;
	text-decoration-color:rgba(46,111,184,.4);
}
.pdp-acc .consejo-wa:hover{color:var(--azul-boton-hover,#245C9E);text-decoration-color:currentColor}
.pdp-acc .consejo-wa .consejo-wa-ico{width:17px;height:17px;flex:none;margin-top:2px;fill:#25D366}

@media (max-width:480px){
	.pdp-acc .consejo-titulo{padding:14px 15px 11px}
	.pdp-acc .pdp-acc-consejo .acc-body{padding:0 15px 15px}
}
