/* ==========================================================================
   CMM — Styles WooCommerce (boutique, catégorie, fiche produit)
   S'appuie sur les design tokens de theme.css. Rendu fidèle au site cible.
   ========================================================================== */

/* ---------- Fil d'Ariane ---------- */
.woo-breadcrumb{max-width:var(--container);margin:1.25rem auto 0;padding:0 1.25rem;color:hsl(var(--muted-foreground));font-size:.88rem;}
.woo-breadcrumb a{color:hsl(var(--secondary));font-weight:600;}
.woo-breadcrumb .sep{margin:0 .35rem;opacity:.5;}

/* ---------- En-tête de boutique ---------- */
.shop-hero{background:var(--gradient-primary);color:#fff;padding-block:clamp(2.5rem,5vw,3.5rem);}
.shop-hero .container{max-width:var(--container);}
.shop-hero h1{color:#fff;margin-bottom:.4rem;}
.shop-hero p{color:hsl(0 0% 100% / .85);margin:0;max-width:60ch;}

/* ---------- Barre d'outils (résultats + tri) ---------- */
.woo-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.75rem;padding-bottom:1rem;border-bottom:1px solid hsl(var(--border));}
.woocommerce-result-count{color:hsl(var(--muted-foreground));font-size:.92rem;margin:0;}
.woocommerce-ordering select,
.orderby{font-family:var(--font-body);border:1px solid hsl(var(--border));border-radius:var(--radius);padding:.55rem 2.2rem .55rem .9rem;background:hsl(var(--card));color:hsl(var(--foreground));font-size:.92rem;cursor:pointer;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23335' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .8rem center;}

/* ---------- Grille produits (surcharge des styles WooCommerce) ---------- */
.woocommerce ul.products,
.woocommerce-page ul.products,
ul.products{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.woocommerce ul.products.columns-4,
ul.products.columns-4{grid-template-columns:repeat(4,1fr);}
/* Neutralise les flottements/largeurs par défaut de WooCommerce */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
ul.products li.product{width:auto!important;float:none!important;margin:0!important;clear:none!important;}
.woocommerce ul.products::before,
.woocommerce ul.products::after{content:none!important;display:none!important;}

/* ---------- Carte produit ---------- */
li.product .product-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-card);transition:transform .2s ease,box-shadow .2s ease;display:flex;flex-direction:column;height:100%;position:relative;}
li.product .product-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-elev);}
.product-card__media{position:relative;aspect-ratio:4/3;overflow:hidden;background:hsl(var(--muted));display:block;}
.product-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;margin:0;}
li.product .product-card:hover .product-card__media img{transform:scale(1.06);}
.product-card__badge{position:absolute;top:.75rem;left:.75rem;z-index:2;background:hsl(var(--accent));color:#fff;font-family:var(--font-head);font-weight:700;font-size:.72rem;padding:.28rem .6rem;border-radius:999px;box-shadow:var(--shadow-card);}
.product-card__badge--sale{background:hsl(var(--destructive));}
.product-card__body{padding:1.15rem 1.15rem 1.25rem;display:flex;flex-direction:column;gap:.4rem;flex:1;}
.product-card__cat{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:hsl(var(--secondary));}
.product-card__title{font-family:var(--font-head);font-weight:700;font-size:1.02rem;line-height:1.25;color:hsl(var(--primary));margin:0;}
.product-card__title a{color:inherit;}
.product-card__title a:hover{color:hsl(var(--secondary));}
.product-card__excerpt{color:hsl(var(--muted-foreground));font-size:.86rem;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.product-card__foot{margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:.75rem;padding-top:.6rem;}
.product-card__price{display:flex;flex-direction:column;line-height:1.1;}
.product-card__price .from{font-size:.72rem;color:hsl(var(--muted-foreground));font-weight:600;}
.product-card__price .price{font-family:var(--font-head);font-weight:800;color:hsl(var(--secondary));font-size:1.25rem;}
.product-card__price del{color:hsl(var(--muted-foreground));font-weight:500;font-size:.85rem;opacity:.7;}
.product-card__price ins{text-decoration:none;}
.product-card .button,
.product-card__foot .button{font-family:var(--font-head);font-weight:700;font-size:.85rem;padding:.55rem 1rem;border-radius:var(--radius);background:var(--gradient-primary);color:#fff;border:0;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;white-space:nowrap;}
.product-card .button:hover{transform:translateY(-2px);box-shadow:var(--shadow-card);}
.product-card .added_to_cart{display:none;}

/* ---------- Pagination ---------- */
.woocommerce-pagination{margin-top:3rem;padding-top:.5rem;text-align:center;}
.woocommerce-pagination ul{display:inline-flex!important;flex-wrap:wrap;justify-content:center;gap:.4rem;list-style:none;margin:0!important;padding:0!important;border:0!important;}
.woocommerce-pagination ul li{margin:0!important;border:0!important;overflow:visible;}
.woocommerce-pagination ul li .page-numbers{display:grid;place-items:center;min-width:42px;height:42px;padding:0 .5rem;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--card));font-family:var(--font-head);font-weight:700;color:hsl(var(--primary));line-height:1;transition:background .15s,transform .15s;}
.woocommerce-pagination ul li a.page-numbers:hover{background:hsl(var(--muted));transform:translateY(-1px);}
.woocommerce-pagination ul li span.current{background:var(--gradient-primary);color:#fff;border-color:transparent;}

/* ---------- Fiche produit ---------- */
.single-product .woo-breadcrumb{margin-top:1.5rem;margin-bottom:.25rem;}
.single-product .section{padding-block:1.75rem clamp(3rem,7vw,5rem);}
.single-product .woo-wrap{max-width:var(--container);}

/* Neutralise les largeurs/flottements par défaut de WooCommerce sur la fiche */
.woocommerce div.product{display:block;float:none;}
.woocommerce div.product .woocommerce-product-gallery,
.woocommerce div.product .summary,
.woocommerce div.product .entry-summary,
.woocommerce div.product .product-gallery-col{width:auto!important;float:none!important;margin:0!important;}
.woocommerce div.product .woocommerce-product-gallery{max-width:100%;}
.woocommerce .flex-control-thumbs li{width:auto!important;float:none!important;margin:0!important;}

.product-top{display:grid;grid-template-columns:1.1fr 1fr;gap:2.5rem;align-items:start;}
.summary .product_title{margin-top:.25rem;}
.woocommerce-product-gallery{position:relative;}
.product-gallery-col{align-self:start;}
.woocommerce-product-gallery__wrapper{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-card);}
.woocommerce-product-gallery img{border-radius:var(--radius);}
.flex-control-thumbs{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;margin:.8rem 0 0;padding:0;position:static!important;}
/* Empêche les miniatures flexslider de se positionner en absolu et de chevaucher le titre */
.woocommerce-product-gallery .flex-control-nav{position:static!important;}
.flex-control-thumbs li img{border-radius:calc(var(--radius) * .6);cursor:pointer;opacity:.65;transition:opacity .15s ease;border:2px solid transparent;}
.flex-control-thumbs li img.flex-active,
.flex-control-thumbs li img:hover{opacity:1;border-color:hsl(var(--secondary));}

.summary.entry-summary{display:flex;flex-direction:column;gap:1rem;}
.summary .product_title{font-size:clamp(1.6rem,3vw,2.1rem);margin:0;}
.summary .woocommerce-product-rating{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:hsl(var(--muted-foreground));margin:0;}
.summary .price{font-family:var(--font-head);display:flex;align-items:baseline;gap:.5rem;color:hsl(var(--secondary));font-weight:800;font-size:2rem;margin:.25rem 0;}
.summary .price .from-label{font-size:.85rem;color:hsl(var(--muted-foreground));font-weight:600;}
.summary .price del{color:hsl(var(--muted-foreground));font-size:1.1rem;font-weight:500;opacity:.7;}
.summary .price ins{text-decoration:none;}
.summary .woocommerce-product-details__short-description{color:hsl(var(--muted-foreground));font-size:.98rem;}

/* Variantes + quantité + boutons */
.variations{width:100%;border-collapse:collapse;margin-bottom:.5rem;}
.variations th{text-align:left;padding:.5rem .75rem .5rem 0;font-family:var(--font-head);font-weight:700;font-size:.9rem;color:hsl(var(--primary));vertical-align:middle;}
.variations td{padding:.35rem 0;}
.variations select{width:100%;border:1px solid hsl(var(--border));border-radius:var(--radius);padding:.6rem .8rem;background:hsl(var(--card));font-family:var(--font-body);cursor:pointer;}
.woocommerce-variation-price .price{font-size:1.5rem;}

form.cart{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin:.5rem 0;}
.quantity{display:inline-flex;align-items:center;border:1px solid hsl(var(--border));border-radius:var(--radius);overflow:hidden;}
.quantity input.qty{width:64px;border:0;text-align:center;padding:.75rem .4rem;font-family:var(--font-head);font-weight:700;font-size:1rem;background:hsl(var(--card));-moz-appearance:textfield;}
.quantity input.qty::-webkit-outer-spin-button,
.quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.single_add_to_cart_button,
form.cart .button{flex:1;min-width:200px;justify-content:center;background:var(--gradient-accent);color:#fff;border:0;font-family:var(--font-head);font-weight:800;font-size:1.02rem;padding:.95rem 1.6rem;border-radius:var(--radius);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;box-shadow:var(--shadow-card);}
.single_add_to_cart_button:hover,
form.cart .button:hover{transform:translateY(-2px);box-shadow:var(--shadow-elev);}

/* Gastos de envío (bandeau ambre) */
.product-shipping{display:flex;gap:.65rem;align-items:flex-start;background:hsl(var(--secondary)/.08);border:1px solid hsl(var(--secondary)/.28);border-radius:var(--radius);padding:.8rem 1rem;font-size:.9rem;color:hsl(var(--foreground));line-height:1.45;}
.product-shipping .ico{flex:none;color:hsl(var(--secondary));}
.product-shipping .ico svg{width:20px;height:20px;}
.product-shipping .muted{color:hsl(var(--muted-foreground));}

/* Urgencia / prueba social */
.product-urgency{border:1px solid hsl(var(--secondary)/.28);background:hsl(var(--secondary)/.06);border-radius:var(--radius);padding:1rem 1.15rem;display:grid;gap:.6rem;}
.product-urgency .row{display:flex;align-items:flex-start;gap:.5rem;font-size:.92rem;color:hsl(var(--foreground));line-height:1.4;}
.product-urgency .row .txt{flex:1;min-width:0;}
.product-urgency .row .ico{flex:none;color:hsl(var(--secondary));display:grid;place-items:center;margin-top:.05rem;}
.product-urgency .row .ico svg{width:18px;height:18px;}
.product-urgency .row b{color:hsl(var(--secondary));}
.product-urgency .row.viewers{font-weight:600;}
.product-urgency .row.muted{color:hsl(var(--muted-foreground));}
.product-urgency .row.muted b{color:inherit;}
.product-urgency .dot{width:9px;height:9px;border-radius:50%;background:hsl(14 88% 52%);position:relative;flex:none;margin-top:.35rem;}
.product-urgency .dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:hsl(14 88% 52%);animation:cmm-pulse 1.7s ease-out infinite;}
@keyframes cmm-pulse{0%{transform:scale(1);opacity:.65}100%{transform:scale(3.2);opacity:0}}

/* Bouton « Comprar ahora » (sous « Añadir al carrito ») */
.cmm-buy-now{flex-basis:100%!important;width:100%!important;order:10;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;margin-top:.6rem;background:var(--gradient-primary)!important;color:#fff!important;font-family:var(--font-head)!important;font-weight:800!important;font-size:1.02rem!important;padding:.95rem 1.6rem!important;border:0!important;border-radius:var(--radius)!important;cursor:pointer;box-shadow:var(--shadow-card);transition:transform .15s ease,filter .15s ease;}
.cmm-buy-now:hover{transform:translateY(-2px);filter:brightness(1.08);color:#fff!important;}
.cmm-buy-now::before{content:"⚡";font-size:1.05em;}

/* Réassurance sous le bouton */
.product-assurance{display:grid;gap:.6rem;margin-top:.75rem;padding-top:1rem;border-top:1px solid hsl(var(--border));}
.product-assurance .item{display:flex;align-items:center;gap:.6rem;font-size:.9rem;color:hsl(var(--foreground));}
.product-assurance .item .ico{flex:none;width:34px;height:34px;border-radius:calc(var(--radius) * .7);background:hsl(var(--secondary)/.12);color:hsl(var(--secondary));display:grid;place-items:center;}

/* Bloc SKU / meta */
.product_meta{font-size:.85rem;color:hsl(var(--muted-foreground));margin-top:.5rem;}
.product_meta>span{display:block;margin-bottom:.2rem;}

/* ---------- Onglets / sections d'infos ---------- */
.woocommerce-tabs{margin-top:3rem;}
.woocommerce-tabs ul.tabs{list-style:none;display:flex;gap:.5rem;flex-wrap:wrap;padding:0;margin:0 0 1.5rem;border-bottom:2px solid hsl(var(--border));}
.woocommerce-tabs ul.tabs li{margin:0;}
.woocommerce-tabs ul.tabs li a{display:block;padding:.75rem 1.25rem;font-family:var(--font-head);font-weight:700;font-size:.95rem;color:hsl(var(--muted-foreground));border-bottom:2px solid transparent;margin-bottom:-2px;}
.woocommerce-tabs ul.tabs li.active a,
.woocommerce-tabs ul.tabs li a:hover{color:hsl(var(--primary));border-bottom-color:hsl(var(--secondary));}
.woocommerce-Tabs-panel h2{font-size:1.4rem;}

/* Table des caractéristiques (attributs) */
.woocommerce-product-attributes,
table.shop_attributes{width:100%;border-collapse:collapse;border:1px solid hsl(var(--border));border-radius:var(--radius);overflow:hidden;}
.shop_attributes th,.shop_attributes td{padding:.85rem 1rem;text-align:left;border-bottom:1px solid hsl(var(--border));font-size:.92rem;}
.shop_attributes th{background:hsl(var(--muted));font-family:var(--font-head);font-weight:700;color:hsl(var(--primary));width:38%;}
.shop_attributes tr:last-child th,.shop_attributes tr:last-child td{border-bottom:0;}

/* ---------- Produits liés ---------- */
.related.products,.up-sells{margin-top:3.5rem;}
.related.products>h2,.up-sells>h2{font-size:1.6rem;margin-bottom:1.5rem;}

/* ---------- Notices / panier ---------- */
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-radius:var(--radius);padding:1rem 1.25rem;margin-bottom:1.5rem;font-size:.92rem;border-left:4px solid hsl(var(--secondary));background:hsl(var(--secondary)/.08);}
.woocommerce-error{border-left-color:hsl(var(--destructive));background:hsl(var(--destructive)/.08);}
.woocommerce-message .button,.woocommerce-info .button{background:hsl(var(--primary));color:#fff;padding:.4rem .9rem;border-radius:var(--radius);font-size:.82rem;font-weight:700;}

/* ---------- Panier & Checkout ---------- */
.cart_totals h2,.woocommerce-checkout h3,.woocommerce-checkout #order_review_heading{font-family:var(--font-head);color:hsl(var(--primary));}

/* Tableaux (panier / commande) */
.woocommerce table.shop_table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid hsl(var(--border));border-radius:var(--radius);overflow:hidden;background:hsl(var(--card));box-shadow:var(--shadow-card);}
.woocommerce table.shop_table th{background:hsl(var(--muted));font-family:var(--font-head);color:hsl(var(--primary));padding:1rem;text-align:left;font-size:.8rem;letter-spacing:.03em;text-transform:uppercase;}
.woocommerce table.shop_table td{padding:1rem;border-top:1px solid hsl(var(--border));font-size:.94rem;vertical-align:middle;}
.woocommerce table.shop_table .product-thumbnail img{width:64px;height:auto;border-radius:calc(var(--radius)*.6);}
.woocommerce .product-name a{font-family:var(--font-head);font-weight:600;color:hsl(var(--primary));}
.woocommerce a.remove{display:inline-flex!important;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:hsl(var(--muted));color:hsl(var(--destructive))!important;font-size:1.1rem;line-height:1;text-decoration:none!important;}
.woocommerce a.remove:hover{background:hsl(var(--destructive));color:#fff!important;}
.woocommerce .cart .quantity input.qty{width:66px;}

/* Coupon + actions */
.woocommerce .cart .actions{padding:1rem 0;display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;justify-content:space-between;}
.woocommerce .coupon{display:flex;gap:.5rem;}
.woocommerce .coupon input#coupon_code{border:1px solid hsl(var(--border))!important;border-radius:var(--radius)!important;padding:.7rem .9rem!important;min-width:170px;}
.woocommerce .cart .button,.woocommerce .coupon .button{background:hsl(var(--primary))!important;color:#fff!important;font-family:var(--font-head);font-weight:700;border:0;border-radius:var(--radius)!important;padding:.75rem 1.2rem!important;cursor:pointer;}
.woocommerce .cart .button:hover,.woocommerce .coupon .button:hover{filter:brightness(1.1);}

/* Totaux (carte) */
.cart_totals{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow-card);}
.cart_totals table.shop_table{border:0;box-shadow:none;}
.cart_totals table.shop_table th,.cart_totals table.shop_table td{background:transparent;text-transform:none;padding:.75rem 0;font-size:.95rem;}
.cart_totals .order-total .amount{font-family:var(--font-head);color:hsl(var(--secondary));font-size:1.25rem;}
.wc-proceed-to-checkout{margin-top:1.1rem;}
.wc-proceed-to-checkout .checkout-button{display:block;text-align:center;background:var(--gradient-accent)!important;color:#fff!important;font-family:var(--font-head);font-weight:800;padding:1rem!important;border-radius:var(--radius)!important;font-size:1.05rem!important;box-shadow:var(--shadow-card);}
.wc-proceed-to-checkout .checkout-button:hover{filter:brightness(1.06);transform:translateY(-1px);}

/* Champs de formulaire (checkout) */
.woocommerce form .form-row{margin-bottom:1rem;}
.woocommerce form .form-row label{font-family:var(--font-head);font-weight:600;font-size:.88rem;color:hsl(var(--primary));margin-bottom:.35rem;display:block;}
.woocommerce .input-text,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection{width:100%;border:1px solid hsl(var(--border))!important;border-radius:var(--radius)!important;padding:.75rem .9rem!important;font-family:var(--font-body);font-size:.95rem;background:hsl(var(--background));line-height:1.4;}
.select2-container .select2-selection--single{height:auto!important;display:flex;align-items:center;}
.woocommerce .input-text:focus,
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus{outline:2px solid hsl(var(--ring)/.35);border-color:hsl(var(--ring))!important;}

/* Checkout : récap de commande en carte (collant sur desktop) */
.woocommerce-checkout #customer_details{margin-bottom:1.25rem;}
.woocommerce-checkout #order_review{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow-card);}
.woocommerce-checkout #order_review .shop_table{border:0;box-shadow:none;}
@media(min-width:781px){.woocommerce-checkout #order_review{position:sticky;top:96px;}}
#payment{background:hsl(var(--muted))!important;border-radius:var(--radius);padding:1.25rem;margin-top:1rem;}
#payment ul.payment_methods{border:0!important;padding:0!important;}
#payment div.payment_box{background:hsl(var(--card))!important;border-radius:calc(var(--radius)*.7);}
#payment div.payment_box::before{border-bottom-color:hsl(var(--card))!important;}
.woocommerce #payment #place_order,
.woocommerce-checkout #place_order{width:100%;background:var(--gradient-accent)!important;color:#fff!important;font-family:var(--font-head);font-weight:800;font-size:1.05rem;padding:1rem!important;border-radius:var(--radius)!important;border:0;cursor:pointer;box-shadow:var(--shadow-card);}
.woocommerce-checkout #place_order:hover{filter:brightness(1.06);transform:translateY(-1px);}

/* ---------- Panier & Checkout en BLOCS (WooCommerce Gutenberg) ---------- */
/* Titres d'étape */
.wc-block-components-title,
.wc-block-checkout__main h2,
.wc-block-components-checkout-step__title,
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-title{font-family:var(--font-head)!important;color:hsl(var(--primary))!important;}
.wc-block-components-checkout-step__description{color:hsl(var(--muted-foreground));}

/* Champs de formulaire */
.wc-block-components-text-input input,
.wc-block-components-select select,
.wc-block-components-address-form input,
.wc-block-components-combobox input{border:1px solid hsl(var(--border))!important;border-radius:var(--radius)!important;padding:.9rem .9rem!important;font-family:var(--font-body)!important;background:hsl(var(--background))!important;}
.wc-block-components-text-input input:focus,
.wc-block-components-select select:focus,
.wc-block-components-combobox input:focus{border-color:hsl(var(--ring))!important;box-shadow:0 0 0 2px hsl(var(--ring)/.3)!important;outline:none!important;}
.wc-block-components-text-input.is-active label,
.wc-block-components-text-input label{color:hsl(var(--muted-foreground));font-family:var(--font-body);}

/* Récap de commande (carte à droite) */
/* Résumé de commande : UN seul cadre + marge intérieure (panier & checkout,
   PC & mobile). Le bloc « résumé » porte le cadre + le padding ; tous les
   wrappers et sous-blocs sont neutralisés pour éviter le double cadre. */
.wp-block-woocommerce-checkout-order-summary-block,
.wp-block-woocommerce-cart-order-summary-block{background:hsl(var(--card))!important;border:1px solid hsl(var(--border))!important;border-radius:var(--radius);box-shadow:var(--shadow-card);padding:1.35rem 1.4rem!important;}
.wc-block-components-sidebar,
.wc-block-checkout__sidebar,
.wc-block-cart__sidebar,
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary,
.wp-block-woocommerce-cart-order-summary-block .wc-block-components-order-summary,
.wc-block-components-order-summary{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;}
.wc-block-components-order-summary-item{padding-block:1rem;}

/* UN SEUL prix par ligne : on masque le prix unitaire redondant, on garde le total à droite */
.wc-block-components-order-summary-item__individual-prices,
.wc-block-components-order-summary-item__individual-price{display:none!important;}
.wc-block-components-order-summary-item__total-price .wc-block-components-product-price__value,
.wc-block-components-order-summary-item__total-price{font-family:var(--font-head)!important;font-weight:700!important;color:hsl(var(--primary))!important;font-size:1rem!important;white-space:nowrap;}
.wc-block-components-order-summary-item__description .wc-block-components-product-metadata__description{color:hsl(var(--muted-foreground));font-size:.85rem;}
.wc-block-components-order-summary-item__quantity>span{background:hsl(var(--primary))!important;color:#fff!important;font-family:var(--font-head);}

/* Lignes de totaux + total final */
.wc-block-components-totals-item{font-size:.95rem;}
.wc-block-components-totals-footer-item{border-top:1px solid hsl(var(--border));}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{font-family:var(--font-head)!important;color:hsl(var(--secondary))!important;font-size:1.3rem!important;}

/* Boutons (payer / retour) */
.wc-block-components-checkout-place-order-button,
.wc-block-cart__submit-button,
.wc-block-components-button.contained{background:var(--gradient-accent)!important;color:#fff!important;font-family:var(--font-head)!important;font-weight:800!important;border-radius:var(--radius)!important;border:0!important;box-shadow:var(--shadow-card);}
.wc-block-components-checkout-place-order-button:hover,
.wc-block-components-button.contained:hover{filter:brightness(1.06);}
.wc-block-components-button.outlined{border-color:hsl(var(--border))!important;color:hsl(var(--primary))!important;border-radius:var(--radius)!important;}
.wc-block-checkout__actions_row a{color:hsl(var(--secondary));}

/* Élargir les pages panier & checkout */
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout{max-width:1360px!important;margin-inline:auto!important;}
body.woocommerce-cart .site-main .container,
body.woocommerce-checkout .site-main .container,
body.woocommerce-cart .entry-content,
body.woocommerce-checkout .entry-content{max-width:1360px!important;}

/* Résumé de commande : grille propre → nom lisible (fin des coupures lettre par lettre) */
.wc-block-components-order-summary-item{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;column-gap:.85rem;align-items:start;}
.wc-block-components-order-summary-item__image{width:52px;}
.wc-block-components-order-summary-item__image img{width:52px;height:52px;object-fit:cover;border-radius:calc(var(--radius)*.5);}
.wc-block-components-order-summary-item__description{min-width:0;}
.wc-block-components-order-summary-item__description .wc-block-components-product-name{font-family:var(--font-head);font-weight:600;color:hsl(var(--primary));overflow-wrap:break-word;word-break:normal!important;hyphens:none;line-height:1.3;}
.wc-block-components-order-summary-item__total-price{white-space:nowrap;text-align:right;font-family:var(--font-head)!important;font-weight:700!important;color:hsl(var(--primary))!important;}

/* Panier (bloc) : total en avant, prix unitaire discret (plus de gros prix en double) */
.wc-block-cart-item__prices,
.wc-block-cart-item__prices .wc-block-components-product-price,
.wc-block-cart-item__prices .wc-block-components-product-price__value{color:hsl(var(--muted-foreground))!important;font-weight:500!important;font-size:.9rem!important;}
.wc-block-cart-item__total .wc-block-components-product-price__value{font-family:var(--font-head)!important;font-weight:700!important;color:hsl(var(--primary))!important;font-size:1.05rem!important;}
.wc-block-cart-item__image img{border-radius:calc(var(--radius)*.5);}
.wc-block-cart-item__product .wc-block-components-product-name{font-family:var(--font-head);font-weight:600;color:hsl(var(--primary));}

/* ---------- Bande de réassurance (panier / checkout) ---------- */
.co-reassurance{max-width:1360px;margin:2rem auto 0;padding-inline:1.25rem;}
/* Carrusel de bannières de réassurance */
.co-trust-slider{position:relative;}
.co-trust{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:.25rem;scrollbar-width:none;-ms-overflow-style:none;}
.co-trust::-webkit-scrollbar{display:none;}
.co-trust__item{flex:0 0 auto;width:clamp(240px,31%,320px);scroll-snap-align:start;display:flex;gap:.75rem;align-items:flex-start;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:1rem 1.1rem;box-shadow:var(--shadow-card);}
.co-trust__item .ico{flex:none;width:38px;height:38px;border-radius:calc(var(--radius)*.7);background:hsl(var(--secondary)/.12);color:hsl(var(--secondary));display:grid;place-items:center;}
.co-trust__item .ico svg{width:20px;height:20px;}
.co-trust__txt{display:flex;flex-direction:column;line-height:1.25;}
.co-trust__txt strong{font-family:var(--font-head);color:hsl(var(--primary));font-size:.92rem;}
.co-trust__txt span{color:hsl(var(--muted-foreground));font-size:.82rem;margin-top:.1rem;}
.co-trust-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:40px;height:40px;border-radius:50%;border:1px solid hsl(var(--border));background:hsl(var(--card));color:hsl(var(--primary));font-size:1.4rem;line-height:1;cursor:pointer;display:grid;place-items:center;box-shadow:var(--shadow-card);transition:background .15s ease,color .15s ease,opacity .15s ease;}
.co-trust-nav:hover{background:var(--gradient-primary);color:#fff;border-color:transparent;}
.co-trust-nav[disabled]{opacity:.3;pointer-events:none;}
.co-trust-nav.prev{left:-8px;}
.co-trust-nav.next{right:-8px;}
@media(max-width:520px){.co-trust__item{width:80%;}}

/* Bloc « ¿Necesitas ayuda? » */
.co-help{margin-top:1.25rem;background:var(--gradient-primary);color:#fff;border-radius:var(--radius);padding:1.35rem 1.6rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.1rem;box-shadow:var(--shadow-card);}
.co-help__txt strong{display:block;font-family:var(--font-head);font-size:1.15rem;color:#fff;}
.co-help__txt span{color:hsl(0 0% 100% / .85);font-size:.9rem;}
.co-help__actions{display:flex;flex-wrap:wrap;gap:.6rem;}
.co-help__btn{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--font-head);font-weight:700;font-size:.92rem;padding:.7rem 1.2rem;border-radius:var(--radius);transition:transform .15s ease,filter .15s ease;white-space:nowrap;}
.co-help__btn:hover{transform:translateY(-2px);}
.co-help__btn svg{width:18px;height:18px;}
.co-help__btn--light{background:#fff;color:hsl(var(--primary));}
.co-help__btn--wa{background:#25d366;color:#fff;}
.co-help__btn--outline{background:hsl(0 0% 100% / .12);color:#fff;border:1px solid hsl(0 0% 100% / .3);}
@media(max-width:640px){.co-help{flex-direction:column;align-items:flex-start;}.co-help__actions{width:100%;}.co-help__btn{flex:1;justify-content:center;}}

/* ---------- Prix barré + badge de remise ---------- */
.summary .price{flex-wrap:wrap;}
.discount-badge{display:inline-flex;align-items:center;background:hsl(var(--destructive));color:#fff;font-family:var(--font-head);font-weight:800;font-size:.8rem;padding:.2rem .55rem;border-radius:999px;letter-spacing:.02em;vertical-align:middle;}
.product-card__price .discount-badge{font-size:.7rem;padding:.15rem .45rem;}
.summary .price del{order:-1;}

/* ---------- « Qué incluye el precio » ---------- */
.price-includes{border:1px solid hsl(var(--border));border-radius:var(--radius);padding:1.25rem;background:hsl(var(--card));box-shadow:var(--shadow-card);}
.price-includes__title{display:flex;align-items:center;gap:.5rem;font-family:var(--font-head);font-weight:800;color:hsl(var(--primary));font-size:1rem;margin:0 0 .9rem;}
.price-includes__title .tag{margin-left:auto;background:hsl(var(--secondary)/.12);color:hsl(var(--secondary));font-size:.7rem;font-weight:700;padding:.2rem .55rem;border-radius:999px;}
.price-includes ul{list-style:none;margin:0;padding:0;display:grid;gap:.75rem;}
.price-includes li{display:flex;gap:.7rem;align-items:flex-start;}
.price-includes li .ico{flex:none;width:34px;height:34px;border-radius:calc(var(--radius) * .7);background:hsl(var(--secondary)/.12);color:hsl(var(--secondary));display:grid;place-items:center;}
.price-includes li strong{display:block;font-family:var(--font-head);font-weight:700;font-size:.9rem;color:hsl(var(--foreground));line-height:1.3;}
.price-includes li span{font-size:.82rem;color:hsl(var(--muted-foreground));}

/* ---------- Compra 100 % segura + moyens de paiement ---------- */
.secure-pay{border:1px solid hsl(var(--border));border-radius:var(--radius);padding:1rem 1.15rem;background:hsl(var(--muted));}
.secure-pay__head{display:flex;align-items:center;gap:.5rem;font-family:var(--font-head);font-weight:700;font-size:.9rem;color:hsl(var(--primary));margin-bottom:.7rem;}
.secure-pay__head .lock{color:hsl(var(--success));}
.pay-methods{display:flex;flex-wrap:wrap;gap:.45rem;}
.pay-chip{display:inline-flex;align-items:center;height:28px;padding:0 .6rem;background:#fff;border:1px solid hsl(var(--border));border-radius:6px;font-family:var(--font-head);font-weight:800;font-size:.72rem;letter-spacing:.02em;color:hsl(var(--primary));}
.pay-chip.visa{color:#1a1f71;}
.pay-chip.mc{color:#eb001b;}
.pay-chip.amex{color:#2e77bc;}
.pay-chip.bizum{color:#00c1c1;}

/* ---------- Bouton WhatsApp ---------- */
.btn-whatsapp{display:flex;align-items:center;justify-content:center;gap:.55rem;width:100%;background:#25d366;color:#fff;font-family:var(--font-head);font-weight:800;font-size:1rem;padding:.9rem 1.4rem;border-radius:var(--radius);transition:transform .15s ease,box-shadow .15s ease;box-shadow:var(--shadow-card);margin-top:.25rem;}
.btn-whatsapp:hover{transform:translateY(-2px);box-shadow:var(--shadow-elev);color:#fff;}
.btn-whatsapp svg{flex:none;}

/* ---------- Responsive ---------- */
@media (max-width:960px){
  .woocommerce ul.products,.woocommerce ul.products.columns-4,ul.products,ul.products.columns-4{grid-template-columns:repeat(2,1fr);}
  .product-top{grid-template-columns:1fr;gap:1.5rem;}
  .woocommerce-product-gallery{position:static!important;top:auto!important;margin-bottom:1.5rem!important;}
  .single-product .product-top{display:block;}
  .single-product .product-gallery-col{margin-bottom:1.5rem;}
}
@media (max-width:560px){
  .woocommerce ul.products,.woocommerce ul.products.columns-4,ul.products,ul.products.columns-4{grid-template-columns:1fr;}
  .single_add_to_cart_button,form.cart .button{min-width:100%;}
}

/* ==========================================================================
   Boutique : layout avec barre latérale de filtres
   ========================================================================== */
.shop-layout{display:grid;grid-template-columns:270px 1fr;gap:2rem;align-items:start;}
.shop-sidebar-col{position:sticky;top:100px;display:grid;gap:1.1rem;}
.shop-filters__head{display:none;align-items:center;justify-content:space-between;padding-bottom:.5rem;border-bottom:1px solid hsl(var(--border));font-family:var(--font-head);font-weight:800;color:hsl(var(--primary));}
.shop-filters__head span{display:inline-flex;align-items:center;gap:.5rem;}
.shop-filters__head svg{width:18px;height:18px;color:hsl(var(--secondary));}
.shop-filters__close{background:none;border:0;font-size:1.6rem;line-height:1;cursor:pointer;color:hsl(var(--muted-foreground));}

.filter-widget{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:1.1rem 1.15rem;box-shadow:var(--shadow-card);}
.filter-widget__title{font-family:var(--font-head);font-weight:800;font-size:.95rem;color:hsl(var(--primary));margin:0 0 .7rem;}
.filter-list{list-style:none;margin:0;padding:0;display:grid;gap:.1rem;}
.filter-list a{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .6rem;border-radius:calc(var(--radius)*.6);font-size:.9rem;font-weight:600;color:hsl(var(--foreground));}
.filter-list a:hover{background:hsl(var(--muted));color:hsl(var(--secondary));}
.filter-list li.is-active>a{background:hsl(var(--secondary)/.12);color:hsl(var(--secondary));}
.filter-count{font-size:.74rem;font-weight:700;color:hsl(var(--muted-foreground));background:hsl(var(--muted));border-radius:999px;padding:.05rem .45rem;}
.filter-list li.is-active .filter-count{background:hsl(var(--secondary)/.2);color:hsl(var(--secondary));}

.filter-search{display:flex;align-items:center;background:hsl(var(--muted));border:1px solid hsl(var(--border));border-radius:999px;overflow:hidden;padding:.1rem .1rem .1rem .35rem;}
.filter-search input{flex:1;min-width:0;border:0;background:transparent;padding:.5rem;font-size:.9rem;color:hsl(var(--foreground));outline:none;-webkit-appearance:none;}
.filter-search button{flex:none;width:36px;height:36px;border:0;border-radius:999px;background:var(--gradient-primary);color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;}
.filter-search button svg{width:17px;height:17px;}

.filter-help{background:hsl(var(--muted));text-align:center;}
.filter-help strong{display:block;font-family:var(--font-head);color:hsl(var(--primary));margin-bottom:.25rem;}
.filter-help p{color:hsl(var(--muted-foreground));font-size:.85rem;margin:0 0 .85rem;}
.filter-widget--widgets .widget{margin:0 0 1rem;}
.filter-widget--widgets .widget:last-child{margin-bottom:0;}
.filter-widget--widgets .widget-title{font-family:var(--font-head);font-weight:800;font-size:.95rem;color:hsl(var(--primary));margin:0 0 .6rem;}

.shop-filters-toggle{display:none;}

@media (max-width:900px){
  .shop-layout{grid-template-columns:1fr;}
  .shop-filters-toggle{display:inline-flex;}
  .shop-sidebar-col{position:fixed;top:0;left:0;bottom:0;z-index:120;width:min(88vw,340px);background:hsl(var(--background));padding:1rem 1rem 2rem;overflow-y:auto;box-shadow:var(--shadow-elev);transform:translateX(-100%);transition:transform .25s ease;}
  .shop-sidebar-col.open{transform:none;}
  .shop-filters__head{display:flex;}
  body.filters-open{overflow:hidden;}
  body.filters-open::after{content:"";position:fixed;inset:0;background:hsl(213 45% 10% / .5);z-index:119;}
}

/* ==========================================================================
   Home : productos por categoría (5 por fila PC · 2 móvil)
   ========================================================================== */
.cat-products__head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:1.75rem;}
.cat-products__head h2{margin:0;}
.cat-products__head .eyebrow{margin-bottom:.35rem;}
.cat-products__more{white-space:nowrap;}
.cat-products__grid{grid-template-columns:repeat(5,1fr)!important;}
.cat-products__foot{text-align:center;margin-top:2rem;}
@media (max-width:1100px){ .cat-products__grid{grid-template-columns:repeat(3,1fr)!important;} }
@media (max-width:760px){ .cat-products__grid{grid-template-columns:repeat(2,1fr)!important;gap:1rem;} .cat-products__head{gap:1rem;} .cat-products__more{display:none;} }

/* Boutons produits plus arrondis (pill) */
.product-card .button,
.product-card__foot .button,
.cmm-buy-now,
.woocommerce .button,
.woocommerce a.button,
.woocommerce button.button{border-radius:999px!important;}

/* Description por categoría (home) */
.cat-products__desc{color:hsl(var(--muted-foreground));margin:.45rem 0 0;max-width:62ch;font-size:.98rem;line-height:1.55;}
@media (max-width:760px){ .cat-products__head{flex-direction:column;align-items:flex-start;} .cat-products__desc{max-width:none;} }

/* ==========================================================================
   Fiche produit : « Qué incluye el precio » horizontal + relacionados x5
   ========================================================================== */
.price-includes--full{margin-top:2.75rem;position:relative;z-index:1;background:hsl(var(--background));clear:both;}
.price-includes--full .price-includes__head{display:flex;align-items:center;gap:.6rem;margin-bottom:1.15rem;}
.price-includes--full .price-includes__head h3{font-family:var(--font-head);font-weight:800;color:hsl(var(--primary));font-size:1.3rem;margin:0;}
.price-includes--full .price-includes__head .tag{background:hsl(var(--secondary)/.12);color:hsl(var(--secondary));font-size:.72rem;font-weight:700;padding:.25rem .6rem;border-radius:999px;}
.price-includes--full ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;}
.price-includes--full li{display:flex;flex-direction:column;gap:.65rem;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:1.15rem;box-shadow:var(--shadow-card);}
.price-includes--full li .ico{width:42px;height:42px;border-radius:calc(var(--radius)*.7);background:hsl(var(--secondary)/.12);color:hsl(var(--secondary));display:grid;place-items:center;flex:none;}
.price-includes--full li .ico svg{width:22px;height:22px;}
.price-includes--full li strong{display:block;font-family:var(--font-head);font-weight:700;font-size:.92rem;color:hsl(var(--primary));line-height:1.3;margin-bottom:.15rem;}
.price-includes--full li>span:last-child{font-size:.83rem;color:hsl(var(--muted-foreground));line-height:1.45;}
@media (max-width:1024px){ .price-includes--full ul{grid-template-columns:repeat(3,1fr);} }
@media (max-width:680px){ .price-includes--full ul{grid-template-columns:repeat(2,1fr);} }
@media (max-width:440px){ .price-includes--full ul{grid-template-columns:1fr;} }

/* Productos relacionados / up-sells en 5 columnas */
.woocommerce ul.products.columns-5,ul.products.columns-5{grid-template-columns:repeat(5,1fr);}
@media (max-width:1024px){ .woocommerce ul.products.columns-5,ul.products.columns-5{grid-template-columns:repeat(3,1fr);} }
@media (max-width:680px){ .woocommerce ul.products.columns-5,ul.products.columns-5{grid-template-columns:repeat(2,1fr);} }
@media (max-width:440px){ .woocommerce ul.products.columns-5,ul.products.columns-5{grid-template-columns:1fr;} }

/* ==========================================================================
   Carte produit : bouton « Comprar ahora » pleine largeur + image nette
   ========================================================================== */
.product-card__media img{image-rendering:auto;}
.product-card__foot{margin-top:auto;display:flex;align-items:center;justify-content:flex-start;gap:.5rem;padding-top:.6rem;}
.product-card__buy{display:block;width:100%;text-align:center;margin-top:.7rem;padding:.72rem 1rem!important;font-size:.92rem!important;}
.product-card__buy--view{background:hsl(var(--muted))!important;color:hsl(var(--primary))!important;box-shadow:none!important;}
.product-card__buy--view:hover{background:hsl(var(--border))!important;}
