/* ==========================================================================
   WooCommerce — habillage complet
   Cartes · Boutique/archive · Fiche produit · Panier · Checkout · Compte
   On stylise via les classes natives WooCommerce autant que possible pour
   rester compatible avec les mises à jour du plugin.
   ========================================================================== */

/* CARTE PRODUIT ------------------------------------------------------------ */
ul.products, .product-grid { list-style: none; margin: 0; padding: 0; }

/* Grille native WooCommerce (boutique, catégories, produits liés).
   3 colonnes dans la zone boutique (qui a une sidebar de filtres). */
ul.products {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-4);
}
@media (max-width: 1080px) { ul.products { grid-template-columns: repeat(2, 1fr); } }

.product-card,
ul.products li.product {
  position: relative; display: flex; flex-direction: column; background: #fff;
  border: 1px solid var(--line); border-radius: var(--r-md); overflow: hidden;
  transition: box-shadow .28s ease, transform .28s ease, border-color .28s;
}
.product-card:hover,
ul.products li.product:hover { box-shadow: var(--sh-md); transform: translateY(-4px); border-color: var(--line-strong); }

.product-card__media,
ul.products li.product > a.woocommerce-LoopProduct-link,
ul.products li.product > a:first-of-type {
  position: relative; display: block; background: #fff; overflow: hidden;
}
/* Photos de cartes : carré rempli (cover), sans marge ni fondu — les vraies
   photos produit s'affichent telles quelles, la grille reste homogène. */
.product-card__media img,
ul.products li.product img {
  width: 100%; aspect-ratio: 1/1; object-fit: cover; display: block;
  transition: transform .45s ease;
}
.product-card:hover .product-card__media img,
ul.products li.product:hover img { transform: scale(1.04); }

/* badges sur la carte */
.product-card__badges,
ul.products li.product .fr-badges {
  position: absolute; top: .8rem; left: .8rem; z-index: 3; display: flex; flex-direction: column; gap: .35rem;
}
ul.products li.product .onsale,
.product-card .onsale {
  position: absolute; top: .8rem; right: .8rem; left: auto; z-index: 3; margin: 0;
  background: var(--heat); color: #fff; font-family: var(--font-mono); font-weight: 700;
  font-size: .72rem; letter-spacing: .03em; padding: .4em .7em; border-radius: var(--r-sm);
  min-height: auto; min-width: auto; line-height: 1;
}

.product-card__body,
ul.products li.product .fr-body { padding: var(--space-3) var(--space-4) var(--space-4); display: flex; flex-direction: column; gap: .45rem; flex: 1; }

.product-card__cat,
ul.products li.product .fr-cat { font-family: var(--font-mono); font-size: .68rem; letter-spacing: .06em; text-transform: uppercase; color: var(--ice-600); font-weight: 700; }

.product-card__title,
ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--font-display); font-weight: 600; font-size: 1.02rem; line-height: 1.25;
  color: var(--ink); letter-spacing: -.01em; padding: 0; margin: 0;
}

.product-card__specs { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .2rem; }

/* prix */
.product-card .price,
ul.products li.product .price {
  font-family: var(--font-mono); font-weight: 700; color: var(--navy); font-size: 1.15rem; margin-top: auto;
  display: flex; align-items: baseline; gap: .5rem;
}
.woocommerce ul.products li.product .price del,
.product-card .price del { color: var(--muted-400); font-weight: 400; font-size: .9rem; opacity: 1; }
.woocommerce ul.products li.product .price ins,
.product-card .price ins { color: var(--heat); text-decoration: none; }

.product-card__rating { display: flex; align-items: center; gap: .4rem; font-size: .8rem; color: var(--muted); }

/* bouton ajout depuis la carte */
ul.products li.product .button,
.product-card .add_to_cart_button,
.product-card .button {
  margin-top: .6rem; display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  background: var(--frost); color: var(--navy); font-weight: 700; border-radius: var(--r-pill);
  padding: .8em 1.2em; border: 1.5px solid var(--line); transition: .2s;
}
ul.products li.product .button:hover,
.product-card .button:hover { background: var(--navy); color: #fff; border-color: var(--navy); }
ul.products li.product .added_to_cart { display: none; }

/* PAGE BOUTIQUE / ARCHIVE -------------------------------------------------- */
.shop-hero { background: var(--navy); color: #fff; position: relative; overflow: hidden; }
.shop-hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(700px 340px at 80% -20%, rgba(51,190,232,.35), transparent 70%); }
.shop-hero__inner { position: relative; padding-block: var(--space-6); }
.shop-hero .woocommerce-breadcrumb, .breadcrumb { font-size: var(--step--1); color: rgba(255,255,255,.6); margin-bottom: var(--space-3); }
.shop-hero .breadcrumb a:hover, .woocommerce-breadcrumb a:hover { color: var(--ice); }
.shop-hero h1 { color: #fff; }
.shop-hero p { color: rgba(255,255,255,.75); max-width: 60ch; margin-top: var(--space-2); }

.shop-layout { display: grid; grid-template-columns: 260px 1fr; gap: var(--space-5); align-items: start; }
.shop-sidebar { position: sticky; top: calc(var(--header-h) + 12px); display: grid; gap: var(--space-4); }
.filter-block { border: 1px solid var(--line); border-radius: var(--r-md); padding: var(--space-4); background: #fff; }
.filter-block h4 { font-family: var(--font-mono); font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; margin-bottom: var(--space-3); color: var(--navy); }
.filter-block ul { display: grid; gap: .35rem; }
.filter-block label { display: flex; align-items: center; gap: .55rem; font-size: .92rem; color: var(--muted); cursor: pointer; padding: .3rem 0; }
.filter-block input[type=checkbox] { accent-color: var(--ice-600); width: 16px; height: 16px; }
.filter-block .count { margin-left: auto; font-size: .72rem; color: var(--muted-400); font-variant-numeric: tabular-nums; }
.filter-block .fr-filter-link { display: flex; align-items: center; gap: .55rem; width: 100%; font-size: .92rem; color: var(--muted); padding: .4rem 0; transition: color .2s, padding .2s; }
.filter-block .fr-filter-link:hover { color: var(--navy); padding-left: 4px; }
.filter-block .fr-filter-link.is-active { color: var(--navy); font-weight: 700; }
.filter-block .fr-filter-reset { display: inline-block; margin-top: .6rem; font-size: .8rem; font-weight: 600; color: var(--heat); transition: color .2s; }
.filter-block .fr-filter-reset:hover { color: var(--heat-600); }
.filter-block--help { background: var(--frost); border-color: var(--ice); }
.filter-block--help p { font-size: .9rem; color: var(--muted); margin-bottom: 1rem; line-height: 1.5; }

.shop-toolbar { display: flex; justify-content: space-between; align-items: center; gap: var(--space-3); margin-bottom: var(--space-4); flex-wrap: wrap; }
.woocommerce-result-count { color: var(--muted); font-size: var(--step--1); margin: 0; }
.woocommerce-ordering select, .fr-select {
  font-family: var(--font-body); border: 1px solid var(--line); border-radius: var(--r-pill);
  padding: .6rem 2.2rem .6rem 1.1rem; background: #fff; color: var(--navy); font-weight: 600; font-size: .9rem;
  appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%230F2C4C' stroke-width='2'%3E%3Cpath d='M2 4l4 4 4-4'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 1rem center;
}
@media (max-width: 900px) { .shop-layout { grid-template-columns: 1fr; } .shop-sidebar { position: static; } .shop-sidebar.is-collapsed .filter-block { display: none; } }

/* pagination */
.woocommerce-pagination { margin-top: var(--space-6); }
.woocommerce-pagination ul { display: flex; justify-content: center; gap: .4rem; border: 0 !important; }
.woocommerce-pagination ul li { border: 0 !important; }
.woocommerce-pagination a, .woocommerce-pagination span {
  display: grid; place-items: center; min-width: 44px; height: 44px; border-radius: var(--r-pill);
  border: 1px solid var(--line); font-weight: 700; color: var(--navy); background: #fff; padding: 0 !important;
}
.woocommerce-pagination .current { background: var(--navy); color: #fff; border-color: var(--navy); }
.woocommerce-pagination a:hover { border-color: var(--ice); color: var(--ice-600); }

/* FICHE PRODUIT ------------------------------------------------------------ */
.single-product div.product { display: grid; grid-template-columns: 1.1fr 1fr; gap: var(--space-6); align-items: start; }
.single-product .product__extras { grid-column: 1 / -1; }
.single-product .product__gallery { position: relative; }
/* Galerie sur-mesure (sans zoom/lightbox/slider WooCommerce) :
   1re image en grand, les suivantes en vignettes cliquables (swap en JS). */
.woocommerce-product-gallery { position: sticky; top: calc(var(--header-h) + 12px); }
.woocommerce-product-gallery__wrapper {
  display: grid; grid-template-columns: repeat(5, 1fr); gap: .6rem;
  margin: 0; padding: 0;
}
.woocommerce-product-gallery__image {
  border: 1px solid var(--line); border-radius: var(--r-sm); background: var(--frost);
  overflow: hidden; cursor: pointer; transition: border-color .2s, box-shadow .2s, transform .2s;
}
/* Vignettes : léger relief au survol */
.woocommerce-product-gallery__image:not(:first-child):hover {
  border-color: var(--ice); box-shadow: var(--sh-sm); transform: translateY(-2px);
}
.woocommerce-product-gallery__image.is-active-thumb { border-color: var(--ice); box-shadow: 0 0 0 2px var(--ice-050); }

/* Image principale : cadre carré stable, la photo entière est toujours
   visible (object-fit contain sur fond blanc — jamais de crop, jamais de
   hauteur qui varie d'un produit à l'autre). */
.woocommerce-product-gallery__image:first-child {
  grid-column: 1 / -1; border-radius: var(--r-lg); cursor: default; background: #fff;
}
.woocommerce-product-gallery__image a { display: block; width: 100%; }
/* Vignettes : carré rempli, sans marge */
.woocommerce-product-gallery__image img {
  display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover;
}
.woocommerce-product-gallery__image:first-child img {
  object-fit: contain; background: #fff;
}

/* Ceinture + bretelles : si un plugin réactive zoom/lightbox, on neutralise
   la loupe et l'image de zoom dupliquée. */
.woocommerce-product-gallery__trigger { display: none !important; }
.woocommerce-product-gallery .zoomImg { display: none !important; }

.single-product .summary { display: flex; flex-direction: column; gap: var(--space-3); }
.single-product .summary .fr-cat { font-family: var(--font-mono); text-transform: uppercase; letter-spacing: .06em; font-size: .75rem; color: var(--ice-600); font-weight: 700; }
.single-product .product_title { font-size: var(--step-3); letter-spacing: -.02em; margin: 0; }
.single-product .woocommerce-product-rating { display: flex; align-items: center; gap: .6rem; margin: 0; }
.single-product .woocommerce-product-rating .star-rating { color: var(--star); }
.single-product .woocommerce-review-link { color: var(--muted); font-size: var(--step--1); }
.fr-sales-24h { color: var(--ice-600); font-weight: 700; font-size: var(--step--1); }

/* Prix : navy par défaut ; l'orange est réservé au prix PROMO (ins) pour que
   la couleur garde son sens — orange = réduction. */
.single-product .price {
  font-family: var(--font-mono); font-weight: 700; color: var(--navy); font-size: 2rem;
  display: flex; align-items: center; gap: .7rem; margin: 0;
}
.single-product .price del { color: var(--muted-400); font-size: 1.15rem; font-weight: 400; opacity: 1; }
.single-product .price ins { text-decoration: none; color: var(--heat); }
.fr-save-badge { background: var(--heat); color: #fff; font-family: var(--font-mono); font-size: .8rem; font-weight: 700; padding: .3em .6em; border-radius: var(--r-sm); }

.fr-stock, p.stock { display: inline-flex; align-items: center; gap: .5rem; font-weight: 700; font-size: .95rem; }
.fr-stock--low { color: var(--heat); }
.fr-stock--in { color: #16a34a; }
.fr-stock::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: currentColor; flex: none; }
.fr-stock .dot { display: none; } /* pastille gérée par ::before */

.single-product .woocommerce-product-details__short-description { color: var(--muted); line-height: 1.6; font-size: var(--step-0); }

/* quantité + ajout panier */
.single-product form.cart { display: flex; gap: .7rem; align-items: stretch; flex-wrap: wrap; margin: var(--space-2) 0; }
@media (min-width: 700px) {
  .single-product form.cart { flex-wrap: nowrap; }
  .single-product form.cart .single_add_to_cart_button { min-width: 0; }
}
.quantity { display: inline-flex; align-items: center; border: 1.5px solid var(--line); border-radius: var(--r-pill); overflow: hidden; background: #fff; }
.quantity .qty-btn { width: 46px; height: 54px; display: grid; place-items: center; color: var(--navy); font-size: 1.2rem; }
.quantity .qty-btn:hover { background: var(--frost); }
.quantity input.qty { width: 46px; height: 54px; text-align: center; border: 0; font-family: var(--font-mono); font-weight: 700; background: transparent; -moz-appearance: textfield; }
.quantity input.qty::-webkit-outer-spin-button, .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
/* CTA d'achat en corail : même couleur d'action que « Passer la commande »
   au checkout — le parcours d'achat garde un fil visuel unique. */
.single-product form.cart .single_add_to_cart_button {
  flex: 1 1 auto; min-width: 200px; min-height: 54px; background: var(--heat); color: #fff; font-weight: 700; border-radius: var(--r-pill);
  padding: 0 1.75rem; font-size: var(--step-1); line-height: 1.1; white-space: nowrap; transition: .2s; border: 0; display: inline-flex; align-items: center; justify-content: center; gap: .6rem;
  box-shadow: 0 16px 34px -14px rgba(241,102,58,.5);
}
.single-product form.cart .single_add_to_cart_button:hover { background: var(--heat-600); box-shadow: 0 20px 40px -14px rgba(241,102,58,.55); transform: translateY(-2px); }
/* encart réassurance PDP */
.fr-assurance { border: 1px solid var(--line); border-radius: var(--r-md); padding: var(--space-2); margin-top: var(--space-2); }
.fr-assurance li { display: flex; align-items: center; gap: .8rem; padding: .8rem var(--space-3); font-weight: 600; font-size: .95rem; }
.fr-assurance li + li { border-top: 1px dashed var(--line); }
.fr-assurance .ic { color: var(--ice-600); width: 24px; height: 24px; flex: none; }
.fr-assurance small { color: var(--muted); font-weight: 400; display: block; }

/* onglets */
.woocommerce-tabs { grid-column: 1 / -1; margin-top: var(--space-6); }
.woocommerce-tabs ul.tabs { display: flex; gap: .4rem; border-bottom: 1px solid var(--line); padding: 0; margin-bottom: var(--space-4); flex-wrap: wrap; }
.woocommerce-tabs ul.tabs::before, .woocommerce-tabs ul.tabs li::before, .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce-tabs ul.tabs li { border: 0 !important; background: none !important; padding: 0 !important; margin: 0 !important; }
.woocommerce-tabs ul.tabs li a { display: block; padding: .8rem 1.3rem; font-family: var(--font-display); font-weight: 700; color: var(--muted); border-radius: var(--r-pill) var(--r-pill) 0 0; position: relative; }
.woocommerce-tabs ul.tabs li.active a { color: var(--navy); }
.woocommerce-tabs ul.tabs li.active a::after { content: ""; position: absolute; left: 1rem; right: 1rem; bottom: -1px; height: 3px; background: var(--ice); border-radius: 3px; }
.woocommerce-Tabs-panel h2 { font-size: var(--step-2); margin-bottom: var(--space-3); }
.woocommerce-Tabs-panel table.shop_attributes th { font-family: var(--font-mono); font-size: .8rem; text-transform: uppercase; letter-spacing: .05em; color: var(--navy); text-align: left; }
table.shop_attributes { width: 100%; border-collapse: collapse; }
table.shop_attributes th, table.shop_attributes td { padding: .8rem 1rem; border-bottom: 1px solid var(--line); }
table.shop_attributes tr:nth-child(odd) { background: var(--frost); }

.related.products, .upsells.products { grid-column: 1 / -1; margin-top: var(--space-7); }
.related.products > h2, .upsells.products > h2 { font-size: var(--step-2); margin-bottom: var(--space-4); }
.related.products ul.products, .upsells.products ul.products { display: grid; grid-template-columns: repeat(4,1fr); gap: var(--space-4); }
@media (max-width: 980px) { .single-product div.product { grid-template-columns: 1fr; } .woocommerce-product-gallery { position: static; } .related.products ul.products { grid-template-columns: repeat(2,1fr); } }

/* PANIER ------------------------------------------------------------------- */
.woocommerce-cart .shop_table { width: 100%; border-collapse: separate; border-spacing: 0; }
.woocommerce-cart table.cart { border: 1px solid var(--line); border-radius: var(--r-md); overflow: hidden; }
.woocommerce-cart table.cart th { font-family: var(--font-mono); font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); text-align: left; padding: 1rem 1.2rem; background: var(--frost); }
.woocommerce-cart table.cart td { padding: 1.1rem 1.2rem; border-bottom: 1px solid var(--line); vertical-align: middle; }
.woocommerce-cart .product-thumbnail img { width: 72px; border-radius: var(--r-sm); background: var(--frost); }
.woocommerce-cart .product-name a { font-family: var(--font-display); font-weight: 700; color: var(--ink); }
.woocommerce-cart .product-remove a { color: var(--muted-400); font-weight: 700; width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; }
.woocommerce-cart .product-remove a:hover { background: var(--heat-050); color: var(--heat); }
.cart-collaterals .cart_totals { border: 1px solid var(--line); border-radius: var(--r-md); padding: var(--space-4); background: #fff; }
.cart_totals h2 { font-size: var(--step-2); margin-bottom: var(--space-3); }
.cart_totals table { width: 100%; }
.cart_totals th, .cart_totals td { padding: .7rem 0; text-align: left; }
.cart_totals .order-total .amount { font-family: var(--font-mono); font-size: 1.3rem; color: var(--navy); }

/* boutons WooCommerce génériques */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce .button {
  background: var(--navy); color: #fff; border-radius: var(--r-pill); font-weight: 700;
  padding: .85em 1.6em; border: 0; transition: .2s; font-family: var(--font-body); line-height: 1;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce .button:hover { background: var(--navy-700); }
.woocommerce .button.alt, .woocommerce button.button.alt, .wc-proceed-to-checkout .checkout-button { background: var(--heat); }
.woocommerce .button.alt:hover, .wc-proceed-to-checkout .checkout-button:hover { background: var(--heat-600); }

/* CHECKOUT ----------------------------------------------------------------- */
.woocommerce-checkout .col2-set, .woocommerce-checkout #customer_details { display: grid; }
.woocommerce form .form-row { margin-bottom: var(--space-3); }
.woocommerce form .form-row label { font-weight: 600; font-size: .88rem; margin-bottom: .3rem; display: block; color: var(--navy); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea,
.woocommerce .select2-container .select2-selection--single, .fr-input,
.woocommerce-checkout select {
  width: 100%; border: 1.5px solid var(--line); border-radius: var(--r-sm); padding: .85rem 1rem;
  background: #fff; transition: border-color .2s, box-shadow .2s; font-size: .95rem;
}
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus, .fr-input:focus {
  border-color: var(--ice); box-shadow: 0 0 0 4px var(--ice-050); outline: none;
}
.woocommerce-checkout #order_review, .woocommerce-checkout .woocommerce-checkout-review-order {
  border: 1px solid var(--line); border-radius: var(--r-md); padding: var(--space-4); background: var(--frost);
}
#order_review table.shop_table { width: 100%; }
#order_review th, #order_review td { padding: .7rem 0; text-align: left; }
.woocommerce-checkout #payment { background: transparent; border-radius: 0; }
.woocommerce-checkout #payment ul.payment_methods { border: 1px solid var(--line); border-radius: var(--r-md); background: #fff; padding: var(--space-3); }

/* ==========================================================================
   COMPTE CLIENT (Mon compte)
   ========================================================================== */

/* ---- Connecté : navigation (carte) + contenu ----------------------------- */
.woocommerce-account.logged-in .woocommerce {
  display: grid; grid-template-columns: 260px 1fr; gap: var(--space-5); align-items: start;
}
.woocommerce-MyAccount-navigation {
  border: 1px solid var(--line); border-radius: var(--r-md); background: #fff;
  padding: var(--space-3); position: sticky; top: calc(var(--header-h) + 12px);
}
.woocommerce-MyAccount-navigation ul { display: grid; gap: .15rem; margin: 0; }
.woocommerce-MyAccount-navigation a {
  position: relative; display: flex; align-items: center; padding: .8rem 1rem .8rem 2.7rem;
  border-radius: var(--r-sm); font-weight: 600; font-size: .95rem; color: var(--muted);
  transition: background .18s, color .18s;
}
.woocommerce-MyAccount-navigation a::before {
  content: ""; position: absolute; left: .95rem; top: 50%; transform: translateY(-50%);
  width: 18px; height: 18px; background: currentColor;
  -webkit-mask: center/contain no-repeat; mask: center/contain no-repeat;
}
.woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-MyAccount-navigation a:hover { background: var(--frost); color: var(--navy); }
.woocommerce-MyAccount-navigation li.is-active a { color: var(--ice-600); }
/* Icônes par entrée (masque SVG → suit la couleur du texte) */
.woocommerce-MyAccount-navigation-link--dashboard a::before       { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7'/%3E%3Crect x='14' y='3' width='7' height='7'/%3E%3Crect x='14' y='14' width='7' height='7'/%3E%3Crect x='3' y='14' width='7' height='7'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7'/%3E%3Crect x='14' y='3' width='7' height='7'/%3E%3Crect x='14' y='14' width='7' height='7'/%3E%3Crect x='3' y='14' width='7' height='7'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--orders a::before          { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'/%3E%3Cpath d='M3 6h18M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'/%3E%3Cpath d='M3 6h18M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--downloads a::before       { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4M7 10l5 5 5-5M12 15V3'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4M7 10l5 5 5-5M12 15V3'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--edit-address a::before,
.woocommerce-MyAccount-navigation-link--payment-methods a::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 6-9 12-9 12s-9-6-9-12a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 6-9 12-9 12s-9-6-9-12a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--edit-account a::before    { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 3.5-6 8-6s8 2 8 6'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 3.5-6 8-6s8 2 8 6'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--customer-logout a::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4M16 17l5-5-5-5M21 12H9'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4M16 17l5-5-5-5M21 12H9'/%3E%3C/svg%3E"); }

/* Contenu du compte */
.woocommerce-MyAccount-content { min-width: 0; }
.woocommerce-MyAccount-content > h2,
.woocommerce-MyAccount-content h3 { font-family: var(--font-display); font-weight: 600; margin-bottom: var(--space-3); }
.woocommerce-MyAccount-content p { color: #33475b; }
.woocommerce-MyAccount-content a:not(.button) { color: var(--ice-600); font-weight: 600; }
.woocommerce-MyAccount-content mark { background: var(--ice-050); color: var(--navy); padding: 0 .25em; border-radius: 3px; }

/* Tableau des commandes */
.woocommerce-orders-table, .woocommerce-table--order-details, .shop_table.order_details {
  width: 100%; border-collapse: separate; border-spacing: 0;
  border: 1px solid var(--line); border-radius: var(--r-md); overflow: hidden;
}
.woocommerce-orders-table th, .woocommerce-table--order-details th {
  font-family: var(--font-mono); font-size: .72rem; text-transform: uppercase; letter-spacing: .06em;
  color: var(--muted); background: var(--frost); text-align: left; padding: .9rem 1rem;
}
.woocommerce-orders-table td, .woocommerce-table--order-details td { padding: 1rem; border-top: 1px solid var(--line); vertical-align: middle; }
.woocommerce-orders-table__cell-order-actions { text-align: right; }
.woocommerce-orders-table .woocommerce-button,
.woocommerce-MyAccount-content .button { padding: .55em 1.1em; font-size: .85rem; }

/* Adresses */
.woocommerce-Addresses { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4); margin-top: var(--space-4); }
.woocommerce-Address { border: 1px solid var(--line); border-radius: var(--r-md); padding: var(--space-4); background: #fff; }
.woocommerce-Address-title { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: var(--space-3); }
.woocommerce-Address-title h3 { margin: 0; }
.woocommerce-Address address { font-style: normal; color: #33475b; line-height: 1.7; }
@media (max-width: 640px) { .woocommerce-Addresses { grid-template-columns: 1fr; } }

@media (max-width: 780px) {
  .woocommerce-account.logged-in .woocommerce { grid-template-columns: 1fr; }
  .woocommerce-MyAccount-navigation { position: static; }
}

/* ---- Déconnecté : connexion + inscription en 2 cartes -------------------- */
#customer_login.u-columns {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: var(--space-4); max-width: 900px; margin-inline: auto; align-items: start;
}
#customer_login .u-column1, #customer_login .u-column2 {
  border: 1px solid var(--line); border-radius: var(--r-md); padding: var(--space-5); background: #fff;
}
#customer_login h2 { font-family: var(--font-display); font-weight: 600; font-size: var(--step-2); margin-bottom: var(--space-4); }
/* Si un seul formulaire (inscription désactivée), on centre */
.woocommerce-account:not(.logged-in) form.login:only-child,
.woocommerce-account:not(.logged-in) form.register:only-child {
  max-width: 440px; margin-inline: auto;
}
.woocommerce form.login .woocommerce-form-login__rememberme,
.woocommerce form.register .woocommerce-form__label-for-checkbox {
  display: flex; gap: .5rem; align-items: center; margin-bottom: var(--space-3); font-size: .9rem; color: var(--muted);
}
.woocommerce form.login .button, .woocommerce form.register .button { width: 100%; margin-top: .5rem; }
.woocommerce .lost_password { font-size: var(--step--1); margin-top: var(--space-3); text-align: center; }
.woocommerce .lost_password a { color: var(--ice-600); }
.woocommerce-ResetPassword.lost_reset_password {
  max-width: 440px; margin-inline: auto; border: 1px solid var(--line);
  border-radius: var(--r-md); padding: var(--space-5); background: #fff;
}

/* NOTICES ------------------------------------------------------------------ */
.woocommerce-message, .woocommerce-info, .woocommerce-error li, .woocommerce-error {
  border: 1px solid var(--line); border-left: 4px solid var(--ice); background: var(--frost);
  border-radius: var(--r-sm); padding: 1rem 1.2rem; color: var(--ink);
}
.woocommerce-message { border-left-color: #16a34a; }
.woocommerce-error { border-left-color: var(--heat); }

/* Cartes produit sur petit mobile : contenu resserré ------------------------ */
@media (max-width: 560px) {
  .product-card__body,
  ul.products li.product .fr-body { padding: var(--space-2) var(--space-3) var(--space-3); }
  .product-card__title,
  ul.products li.product .woocommerce-loop-product__title { font-size: .92rem; }
  ul.products li.product .button,
  .product-card .button { padding: .7em .9em; font-size: .85rem; }
  /* l'icône ferait passer le libellé sur 2 lignes dans une colonne étroite */
  ul.products li.product .button svg,
  .product-card .button svg { display: none; }
  .product-card .price,
  ul.products li.product .price { font-size: 1.05rem; }
}
