/* Lentilles Maroc - Fiche Produit 2026
 * Tout est limité à .lm-fp2026 : l'ancienne mise en page n'est pas touchée. */

.lm-fp2026 {
	--lm-encre: #12324A;
	--lm-texte: #3E5568;
	--lm-gris: #5A6F82;
	--lm-bleu: #1B75BB;
	--lm-bleu-fonce: #0F4F82;
	--lm-bleu-clair: #EAF3FA;
	--lm-fond: #F4F7FA;
	--lm-bord: #E2E8EF;
	--lm-bord-fort: #B9C7D4;
	--lm-vert: #145C31;
	--lm-vert-clair: #E6F6EC;
	--lm-ambre: #5C3D00;
	--lm-ambre-clair: #FFF7E8;
	--lm-ambre-bord: #F1D9A6;
	background: var(--lm-fond);
	color: var(--lm-encre);
}

/* ---------- Fil d'Ariane ---------- */
.lm-fp2026 .woocommerce-breadcrumb,
.lm-fp2026 .breadcrumbs { font-size: 13px; color: var(--lm-gris); text-transform: none; letter-spacing: 0; }
.lm-fp2026 .woocommerce-breadcrumb a,
.lm-fp2026 .breadcrumbs a { color: var(--lm-gris); }

/* ---------- Galerie ---------- */
.lm-fp2026 .lm-fp-col-galerie > .col-inner { position: relative; }
.lm-fp2026 .lm-fp-col-galerie .woocommerce-product-gallery,
.lm-fp2026 .lm-fp-col-galerie .product-gallery { background: #fff; border: 1px solid var(--lm-bord); border-radius: 20px; overflow: hidden; }
.lm-fp2026 .lm-fp-puces { position: absolute; top: 16px; right: 16px; z-index: 25; display: flex; gap: 8px; }
.lm-fp2026 .lm-fp-puce { background: var(--lm-bleu-clair); color: var(--lm-bleu-fonce); font-size: 13px; font-weight: 700; padding: 6px 10px; border-radius: 8px; }
.lm-fp2026 .badge-container .badge-inner,
.lm-fp2026 .onsale { background: #C4291C; border-radius: 8px; font-weight: 900; }

/* ---------- Conseil ---------- */
.lm-fp2026 .lm-fp-conseil { display: flex; gap: 12px; margin-top: 12px; background: var(--lm-ambre-clair); border: 1px solid var(--lm-ambre-bord); border-radius: 14px; padding: 14px 16px; font-size: 14px; line-height: 1.5; color: var(--lm-ambre); }
.lm-fp2026 .lm-fp-conseil svg { flex: none; color: #9A6400; }
.lm-fp2026 .lm-fp-conseil a { color: var(--lm-bleu-fonce); font-weight: 700; }

/* ---------- En-tête achat ---------- */
.lm-fp2026 .lm-fp-marque { font-size: 13px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: var(--lm-bleu); margin-bottom: 6px; }
.lm-fp2026 .product-title:not(.woocommerce-loop-product__title),
.lm-fp2026 .product_title { font-size: 38px; font-weight: 900; line-height: 1.1; color: var(--lm-encre); text-transform: none; letter-spacing: 0; margin: 0 0 6px; }
.lm-fp2026 .lm-fp-sous-titre { font-size: 16px; color: var(--lm-texte); margin-bottom: 6px; }
.lm-fp2026 .woocommerce-product-rating { margin: 4px 0 14px; font-size: 14px; color: var(--lm-texte); }
.lm-fp2026 .woocommerce-product-rating .star-rating { color: #E8A100; }
.lm-fp2026 .product-page-price,
.lm-fp2026 .lm-fp-col-achat .price { margin: 0; font-size: 40px; font-weight: 900; color: var(--lm-encre); }
.lm-fp2026 .lm-fp-col-achat .price del { font-size: 18px; font-weight: 400; color: var(--lm-gris); opacity: 1; }
.lm-fp2026 .lm-fp-col-achat .price ins { text-decoration: none; }
.lm-fp2026 .lm-fp-prix-mois { font-size: 14px; color: var(--lm-texte); margin: 2px 0 14px; }

/* ---------- Badges ---------- */
.lm-fp2026 .lm-fp-badges { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.lm-fp2026 .lm-fp-badge { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 700; padding: 8px 12px; border-radius: 999px; }
.lm-fp2026 .lm-fp-badge--ok { background: var(--lm-vert-clair); color: var(--lm-vert); }
.lm-fp2026 .lm-fp-badge--info { background: var(--lm-bleu-clair); color: var(--lm-bleu-fonce); }

/* ---------- Description courte ---------- */
.lm-fp2026 .lm-fp-extrait { margin: 0 0 18px; font-size: 14px; line-height: 1.55; color: var(--lm-texte); }
.lm-fp2026 .lm-fp-extrait > *:last-child { margin-bottom: 0; }
.lm-fp2026 .lm-fp-extrait h2,
.lm-fp2026 .lm-fp-extrait h3,
.lm-fp2026 .lm-fp-extrait h4 { font-size: 15px; font-weight: 900; color: var(--lm-encre); margin: 0 0 8px; text-transform: none; letter-spacing: 0; }
.lm-fp2026 .lm-fp-extrait p { margin: 0 0 8px; }
.lm-fp2026 .lm-fp-extrait ul { list-style: none; margin: 0 0 8px; padding: 0; }
.lm-fp2026 .lm-fp-extrait li { position: relative; margin: 0 0 6px; padding-left: 24px; }
.lm-fp2026 .lm-fp-extrait li::before { content: ""; position: absolute; left: 2px; top: 4px; width: 12px; height: 7px; border-left: 2.4px solid var(--lm-vert); border-bottom: 2.4px solid var(--lm-vert); transform: rotate(-45deg); }
.lm-fp2026 .lm-fp-extrait a { color: var(--lm-bleu-fonce); font-weight: 700; }

/* ---------- Carte « Votre correction » ---------- */
.lm-fp2026 .lm-fp-achat { background: #fff; border: 1px solid var(--lm-bord); border-radius: 20px; padding: 22px; display: flex; flex-direction: column; gap: 16px; }
.lm-fp2026 .lm-fp-achat__tete { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; }
.lm-fp2026 .lm-fp-achat__titre { font-size: 17px; font-weight: 900; }
.lm-fp2026 .lm-fp-achat__aide { font-size: 13px; color: var(--lm-bleu); }

.lm-fp2026 .lm-fp-mode { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; background: var(--lm-fond); padding: 5px; border-radius: 14px; }
.lm-fp2026 .lm-fp-mode__btn { margin: 0; min-height: 56px; border: 0; border-radius: 10px; background: transparent; color: var(--lm-texte); font-size: 14px; font-weight: 700; line-height: 1.3; text-transform: none; letter-spacing: 0; padding: 6px; cursor: pointer; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.lm-fp2026 .lm-fp-mode__btn small { font-size: 12px; font-weight: 400; opacity: 1; }
.lm-fp2026 .lm-fp-mode__btn.is-actif { background: #fff; color: var(--lm-encre); font-weight: 900; box-shadow: 0 2px 8px rgba(18, 50, 74, .12); }

.lm-fp2026 .lm-fp-achat form.cart { margin: 0; }
.lm-fp2026 .lm-fp-achat table.variations { margin: 0 0 10px; border: 0; }
.lm-fp2026 .lm-fp-achat table.variations tr { display: flex; flex-direction: column; gap: 6px; margin-bottom: 10px; }
.lm-fp2026 .lm-fp-achat table.variations td,
.lm-fp2026 .lm-fp-achat table.variations th { display: block; padding: 0; border: 0; text-align: left; }
.lm-fp2026 .lm-fp-achat table.variations .label label { font-size: 13px; font-weight: 700; color: var(--lm-texte); text-transform: none; letter-spacing: 0; }
.lm-fp2026 .lm-fp-achat select { height: 48px; border: 1.5px solid var(--lm-bord-fort); border-radius: 12px; padding: 0 12px; font-size: 16px; color: var(--lm-encre); background-color: #fff; box-shadow: none; margin: 0; width: 100%; max-width: 100%; }
.lm-fp2026 .lm-fp-achat .reset_variations { font-size: 12px; }

.lm-fp2026 .lm-fp-oeil { font-size: 14px; font-weight: 900; color: var(--lm-encre); margin: 0 0 8px; }
.lm-fp2026 .lm-fp-og { margin: 6px 0 14px; padding-top: 14px; border-top: 1px dashed var(--lm-bord); }
.lm-fp2026 .lm-fp-og__champs { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; }
.lm-fp2026 .lm-fp-og__champ:not(.lm-fp-og__qte) { flex: 1 1 200px; }
.lm-fp2026 .lm-fp-og__champ { display: flex; flex-direction: column; gap: 6px; margin: 0; font-size: 13px; font-weight: 700; color: var(--lm-texte); }

.lm-fp2026 .lm-fp-achat .single_variation_wrap,
.lm-fp2026 .lm-fp-achat .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.lm-fp2026 .lm-fp-achat .single_variation { width: 100%; }
.lm-fp2026 .lm-fp-achat .quantity { margin: 0; }
.lm-fp2026 .lm-fp-achat .quantity input { height: 48px; }
.lm-fp2026 .lm-fp-achat .single_add_to_cart_button { flex: 1 1 220px; min-height: 58px; margin: 0; border: 0; border-radius: 14px; background: var(--lm-bleu); color: #fff; font-size: 18px; font-weight: 900; text-transform: none; letter-spacing: 0; }
.lm-fp2026 .lm-fp-achat .single_add_to_cart_button:hover { background: var(--lm-bleu-fonce); }

.lm-fp2026 .lm-fp-specs { display: flex; flex-wrap: wrap; gap: 8px; font-size: 13px; color: var(--lm-texte); }
.lm-fp2026 .lm-fp-specs > span { background: var(--lm-fond); padding: 6px 10px; border-radius: 8px; }
.lm-fp2026 .lm-fp-specs b { color: var(--lm-encre); }

.lm-fp2026 .lm-fp-duree { display: flex; align-items: center; gap: 10px; background: var(--lm-bleu-clair); border-radius: 12px; padding: 12px 14px; font-size: 14px; color: var(--lm-bleu-fonce); }
.lm-fp2026 .lm-fp-duree[hidden],
.lm-fp2026 .lm-fp-og[hidden],
.lm-fp2026 .lm-fp-oeil[hidden] { display: none; }

/* Ligne correction + boîtes */
.lm-fp2026 .lm-fp-ligne { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; }
.lm-fp2026 .lm-fp-ligne table.variations { flex: 1 1 200px; margin: 0; }
.lm-fp2026 .lm-fp-ligne table.variations tr { margin-bottom: 0; }
.lm-fp2026 .lm-fp-qte { display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 700; color: var(--lm-texte); }
.lm-fp2026 .lm-fp-qte .quantity { margin: 0; }

/* Sélecteurs de quantité OD et OG : même apparence */
.lm-fp2026 .lm-fp-qte .quantity,
.lm-fp2026 .lm-fp-qtebox { display: inline-flex; align-items: stretch; height: 48px; border: 1.5px solid var(--lm-bord-fort); border-radius: 12px; overflow: hidden; background: #fff; margin: 0; }
.lm-fp2026 .lm-fp-qte .quantity .minus,
.lm-fp2026 .lm-fp-qte .quantity .plus,
.lm-fp2026 .lm-fp-qtebox button { width: 44px; height: auto; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 0; background: var(--lm-fond); color: var(--lm-encre); font-size: 20px; font-weight: 400; line-height: 1; box-shadow: none; cursor: pointer; }
.lm-fp2026 .lm-fp-qte .quantity input.qty,
.lm-fp2026 .lm-fp-qtebox input { width: 48px; height: auto; margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none; text-align: center; font-size: 17px; color: var(--lm-encre); background: #fff; -moz-appearance: textfield; appearance: textfield; }
.lm-fp2026 .lm-fp-qte .quantity input.qty::-webkit-inner-spin-button,
.lm-fp2026 .lm-fp-qtebox input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.lm-fp2026 .lm-fp-og__qte { flex: 0 0 auto; }

/* Alignement OD / OG : même hauteur de libellé, même écart libellé → champ, champs en texte normal */
.lm-fp2026 .lm-fp-achat table.variations,
.lm-fp2026 .lm-fp-achat table.variations tbody { margin: 0 !important; padding: 0 !important; }
.lm-fp2026 .lm-fp-achat table.variations tr { gap: 6px; margin: 0 !important; padding: 0 !important; }
.lm-fp2026 .lm-fp-achat table.variations td,
.lm-fp2026 .lm-fp-achat table.variations th { padding: 0 !important; margin: 0 !important; line-height: 1; }
.lm-fp2026 .lm-fp-achat table.variations .label label,
.lm-fp2026 .lm-fp-qte > span,
.lm-fp2026 .lm-fp-og__champ > span { display: flex; align-items: center; gap: 6px; height: 20px; margin: 0; padding: 0; font-size: 13px; font-weight: 700; line-height: 20px; color: var(--lm-texte); }
.lm-fp2026 .lm-fp-qte,
.lm-fp2026 .lm-fp-og__champ { gap: 6px; }
.lm-fp2026 .lm-fp-achat select { font-weight: 400; }
.lm-fp2026 .lm-fp-achat .reset_variations { display: none !important; }
.lm-fp2026 .lm-fp-oeil { margin: 0 0 10px; line-height: 1.3; }

/* Libellé « Quantité » laissé près du bouton (la quantité est maintenant à côté de la correction) */
.lm-fp2026 .lm-fp-achat div.qty { display: none; }

/* Correctif 1.1.4 — décalage du sélecteur « Boîtes » sur la ligne OD.
 * Le thème ajoute une marge sous le sélecteur de quantité WooCommerce : la colonne « Boîtes »
 * devenait plus haute que la colonne « Puissance » et, alignée par le bas, remontait d'environ 10 px.
 * Les deux colonnes ont la même structure (libellé 20 px + 6 px + champ 48 px) : on les aligne par le haut
 * et on neutralise toute marge du thème, comme sur la ligne OG. */
.lm-fp2026 .lm-fp-ligne,
.lm-fp2026 .lm-fp-og__champs { align-items: flex-start !important; margin: 0 !important; padding: 0 !important; }
.lm-fp2026 .lm-fp-ligne > *,
.lm-fp2026 .lm-fp-og__champs > * { margin: 0 !important; }
.lm-fp2026 .lm-fp-ligne table.variations { align-self: flex-start; }
.lm-fp2026 .lm-fp-qte .quantity,
.lm-fp2026 .lm-fp-qtebox { margin: 0 !important; height: 48px !important; box-sizing: border-box; flex: none; }
/* Rien d'autre que le libellé et le compteur dans la colonne « Boîtes » (libellé lecteur d'écran du thème, etc.). */
.lm-fp2026 .lm-fp-qte > :not(span):not(.quantity) { display: none !important; }
.lm-fp2026 .lm-fp-qte .quantity > label { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
/* Boutons et champ du compteur OD identiques à ceux de l'OG (le thème impose ses propres tailles). */
.lm-fp2026 .lm-fp-qte .quantity .minus,
.lm-fp2026 .lm-fp-qte .quantity .plus { width: 44px !important; min-width: 44px; height: 100% !important; margin: 0 !important; padding: 0 !important; font-family: inherit; font-size: 20px !important; line-height: 1 !important; }
.lm-fp2026 .lm-fp-qte .quantity input.qty { width: 48px !important; min-width: 48px; max-width: 48px; height: 100% !important; margin: 0 !important; }
/* Correctif 1.1.5 — pastilles + durée remontées au-dessus du bouton « Ajouter au panier » (comme la maquette). */
.lm-fp2026 .lm-fp-infos { display: flex; flex-direction: column; gap: 12px; margin: 16px 0; }
.lm-fp2026 .lm-fp-infos:empty { display: none; }
.lm-fp2026 .lm-fp-infos .lm-fp-duree[hidden] { display: none; }
/* Estimation de livraison (module Plugfy) sous le bouton : un peu d'air. */
.lm-fp2026 .lm-fp-achat #parent_div { margin-top: 14px; }

/* Correctif 1.1.6 — bulles d'info sur Rayon / Diamètre / Remplacement (même style que celle de la puissance).
 * La bulle se place au-dessus de la rangée de pastilles, sur toute sa largeur : elle ne déborde jamais de l'écran. */
.lm-fp2026 .lm-fp-specs { position: relative; }
.lm-fp2026 .lm-fp-specs > span { display: inline-flex; align-items: center; gap: 4px; }
.lm-fp2026 .lm-fp-info { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; min-height: 0; margin: -4px -4px -4px 0; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--lm-texte); box-shadow: none; cursor: help; line-height: 1; vertical-align: middle; }
.lm-fp2026 .lm-fp-info:hover,
.lm-fp2026 .lm-fp-info:focus-visible,
.lm-fp2026 .lm-fp-info.is-ouvert { color: var(--lm-encre); }
.lm-fp2026 .lm-fp-info:focus-visible { outline: 2px solid var(--lm-bleu); outline-offset: 1px; }
/* 1.1.8 — la bulle est un élément à part (après le bouton) : plus de texte écrasé ni de fond pâle dû au thème.
 * Elle se place par rapport à la rangée de pastilles (.lm-fp-specs) et prend la largeur de son texte. */
.lm-fp2026 .lm-fp-specs > span,
.lm-fp2026 .lm-fp-info { position: static !important; }
.lm-fp2026 .lm-fp-info { opacity: 1 !important; transform: none !important; }
.lm-fp2026 .lm-fp-info__bulle { position: absolute; left: 0; right: auto; bottom: calc(100% + 8px); z-index: 50; display: block; box-sizing: border-box; width: max-content; max-width: min(340px, 100%); padding: 10px 12px; border-radius: 8px; background: #1F1F1F !important; color: #FFFFFF !important; font-family: inherit; font-size: 13px; font-weight: 700; line-height: 1.4; text-align: left; text-transform: none; letter-spacing: 0; white-space: normal; box-shadow: 0 6px 18px rgba(0, 0, 0, .25); opacity: 0; visibility: hidden; transform: translateY(4px); transition: opacity .15s, transform .15s, visibility .15s; pointer-events: none; }
.lm-fp2026 .lm-fp-info:hover + .lm-fp-info__bulle,
.lm-fp2026 .lm-fp-info:focus-visible + .lm-fp-info__bulle,
.lm-fp2026 .lm-fp-info.is-ouvert + .lm-fp-info__bulle { opacity: 1; visibility: visible; transform: none; }

/* 1.2.0 — choix moins serrés : 14 px entre Couleur / Puissance OD / Puissance OG, OD et OG côte à côte. */
.lm-fp2026 .lm-fp-achat table.variations { display: block; width: 100%; border-collapse: separate; }
.lm-fp2026 .lm-fp-achat table.variations tbody { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 12px; }
.lm-fp2026 .lm-fp-achat table.variations tr { grid-column: 1 / -1; }
.lm-fp2026 .lm-fp-achat table.variations tr.lm-fp-tr--oeil { grid-column: auto; }
@media (max-width: 380px) {
	.lm-fp2026 .lm-fp-achat table.variations tr.lm-fp-tr--oeil { grid-column: 1 / -1; }
}
/* Compteur « Boîtes » des produits sans sélecteur OD/OG : identique à celui de Biofinity. */
.lm-fp2026 .lm-fp-qte--seul { margin: 14px 0 0 !important; align-items: flex-start; }

/* Titre « Œil droit (OD) » : même écart que « Œil gauche (OG) ». */
.lm-fp2026 .lm-fp-oeil--od { margin: 0 0 10px !important; padding: 0 !important; }

/* Tableau d'attributs ajouté dans le formulaire : remplacé par les pastilles Rayon / Diamètre / Remplacement */
.lm-fp2026 .lm-fp-achat form.cart .woocommerce-product-attributes { display: none; }

/* ---------- Aide ---------- */
.lm-fp2026 .lm-fp-aide { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 18px; font-size: 14px; color: var(--lm-texte); }
.lm-fp2026 .lm-fp-pill { display: inline-flex; align-items: center; gap: 6px; padding: 10px 14px; border-radius: 999px; background: #fff; border: 1px solid #D5DEE7; color: var(--lm-encre); font-weight: 700; text-decoration: none; }
.lm-fp2026 .lm-fp-pill:hover { border-color: var(--lm-bleu); color: var(--lm-bleu); }

/* ---------- Réassurance ---------- */
.lm-fp2026 .lm-fp-reassurance { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
.lm-fp2026 .lm-fp-carte { background: #fff; border: 1px solid var(--lm-bord); border-radius: 16px; padding: 18px; display: flex; flex-direction: column; gap: 4px; }
.lm-fp2026 .lm-fp-carte b { font-size: 15px; }
.lm-fp2026 .lm-fp-carte span { font-size: 14px; color: var(--lm-texte); }

/* ---------- Ancres ---------- */
.lm-fp2026 .lm-fp-ancres { display: flex; flex-wrap: wrap; gap: 8px; border-bottom: 1px solid #D5DEE7; padding-bottom: 12px; }
.lm-fp2026 .lm-fp-ancres a { padding: 8px 14px; border-radius: 999px; background: #fff; color: var(--lm-encre); border: 1px solid #D5DEE7; font-size: 14px; font-weight: 700; text-decoration: none; }
.lm-fp2026 .lm-fp-ancres a.is-actif { background: var(--lm-encre); border-color: var(--lm-encre); color: #fff; }

/* ---------- Sections (Description, Caractéristiques, FAQ, Avis) ---------- */
.lm-fp2026 .product-section { background: #fff; border: 1px solid var(--lm-bord); border-radius: 16px; padding: 24px 28px; margin: 0 0 24px; }
.lm-fp2026 .product-section-title,
.lm-fp2026 .product-section h5 { font-size: 22px; font-weight: 900; color: var(--lm-encre); text-transform: none; letter-spacing: 0; margin: 0 0 14px; }
.lm-fp2026 .product-section .panel { font-size: 16px; line-height: 1.7; color: var(--lm-texte); }
.lm-fp2026 .product-section h2 { font-size: 26px; font-weight: 900; color: var(--lm-encre); }
.lm-fp2026 .product-section h3 { font-size: 18px; font-weight: 900; color: var(--lm-encre); }

.lm-fp2026 table.woocommerce-product-attributes,
.lm-fp2026 table.shop_attributes { width: 100%; border-collapse: collapse; font-size: 15px; border: 0; }
.lm-fp2026 table.woocommerce-product-attributes tr,
.lm-fp2026 table.shop_attributes tr { border-bottom: 1px solid #EDF1F5; }
.lm-fp2026 table.woocommerce-product-attributes tr:last-child,
.lm-fp2026 table.shop_attributes tr:last-child { border-bottom: 0; }
.lm-fp2026 table.woocommerce-product-attributes th,
.lm-fp2026 table.shop_attributes th { width: 38%; text-align: left; padding: 12px 16px 12px 0; font-weight: 400; color: var(--lm-texte); text-transform: none; letter-spacing: 0; border: 0; background: none; }
.lm-fp2026 table.woocommerce-product-attributes td,
.lm-fp2026 table.shop_attributes td { padding: 12px 0; font-weight: 700; color: var(--lm-encre); border: 0; background: none; font-style: normal; }
.lm-fp2026 table.woocommerce-product-attributes td p,
.lm-fp2026 table.shop_attributes td p { margin: 0; padding: 0; }

.lm-fp2026 .lm-faq-produit .accordion-item { background: #fff; border: 1px solid var(--lm-bord); border-radius: 14px; margin: 0 0 10px; overflow: hidden; }
.lm-fp2026 .lm-faq-produit .accordion-title { border: 0; padding: 14px 18px; font-size: 15px; font-weight: 700; color: var(--lm-encre); }
.lm-fp2026 .lm-faq-produit .accordion-title.active { color: var(--lm-encre); }
.lm-fp2026 .lm-faq-produit .accordion-inner { padding: 0 18px 16px; font-size: 15px; line-height: 1.55; color: var(--lm-texte); }
.lm-fp2026 .lm-faq-produit a { color: var(--lm-bleu-fonce); font-weight: 700; }

/* ---------- Produits similaires (1.4.3 — aligné sur la maquette) ----------
 * Carte blanche à cadre fin, image sur fond clair 4:3, texte aligné à gauche :
 * nom → fabricant → prix actuel puis ancien prix barré. Pas de bouton (toute la carte mène à la fiche). */
.lm-fp2026 .related .product-section-title,
.lm-fp2026 .related h3 { font-size: 22px; font-weight: 900; color: var(--lm-encre); text-transform: none; letter-spacing: 0; text-align: left; }

/* Grille : 16px entre les cartes */
.lm-fp2026 .related .row { margin-left: -8px !important; margin-right: -8px !important; }
.lm-fp2026 .related .product-small.col { padding: 0 8px 16px !important; }

/* Carte : un seul cadre */
.lm-fp2026 .related .product-small .col-inner {
	position: relative; height: 100%; padding: 16px; background: #fff; border: 1px solid var(--lm-bord); border-radius: 16px;
	box-shadow: none !important; text-align: left; transition: box-shadow .2s ease, transform .2s ease;
}
.lm-fp2026 .related .product-small .col-inner:hover { box-shadow: 0 8px 22px rgba(18, 50, 74, .10) !important; transform: translateY(-2px); }
.lm-fp2026 .related .product-small .box,
.lm-fp2026 .related .product-small .box:hover {
	display: flex; flex-direction: column; gap: 8px; height: 100%;
	background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
}

/* Image : zone 4:3 sur fond clair */
.lm-fp2026 .related .product-small .box-image {
	position: relative; width: 100% !important; aspect-ratio: 4 / 3; padding: 0 !important; height: auto !important;
	background: #F4F7FA; border-radius: 10px; overflow: hidden;
}
.lm-fp2026 .related .product-small .box-image img {
	position: absolute !important; inset: 0; width: 100% !important; height: 100% !important; object-fit: contain; padding: 8px;
	mix-blend-mode: multiply; transform: none !important; margin: 0 !important;
}
.lm-fp2026 .related .product-small .box-image .back-image { display: none !important; }

/* Badges (-20 %, etc.) dans le coin de l'image */
.lm-fp2026 .related .product-small .badge-container { top: 24px; left: 24px; margin: 0; z-index: 2; }
.lm-fp2026 .related .product-small .badge-container .badge { height: auto; width: auto; }
.lm-fp2026 .related .product-small .badge-container .badge-inner { padding: 4px 8px; border-radius: 8px; font-size: 13px; }

/* Texte */
.lm-fp2026 .related .product-small .box-text {
	display: flex !important; flex-direction: column; gap: 8px; padding: 0 !important; height: auto !important;
	text-align: left !important; background: transparent;
}
.lm-fp2026 .related .product-small .box-text .title-wrapper { height: auto !important; min-height: 0 !important; margin: 0; }
.lm-fp2026 .related .product-small .box-text .product-title,
.lm-fp2026 .related .product-small .box-text p.name,
.lm-fp2026 .related .product-small .box-text .woocommerce-loop-product__title {
	font-size: 15px !important; font-weight: 700 !important; line-height: 1.35 !important; color: var(--lm-encre) !important;
	letter-spacing: 0 !important; text-transform: none !important; margin: 0 !important; padding: 0 !important; height: auto !important;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.lm-fp2026 .related .product-small .box-text .product-title a { color: inherit !important; }
.lm-fp2026 .related .lm-fp-carte-marque { font-size: 13px; line-height: 1.3; color: var(--lm-texte); margin: 0; }

/* Prix : prix actuel (17px gras) puis ancien prix barré */
.lm-fp2026 .related .product-small .price-wrapper { margin: 0; }
.lm-fp2026 .related .product-small .price {
	display: flex !important; flex-wrap: wrap; align-items: baseline; gap: 8px; margin: 0;
	font-size: 17px; font-weight: 900; color: var(--lm-encre); line-height: 1.2;
}
.lm-fp2026 .related .product-small .price ins { order: 1; text-decoration: none; font-weight: 900; color: var(--lm-encre); }
.lm-fp2026 .related .product-small .price del { order: 2; font-size: 13px; font-weight: 400; color: var(--lm-gris); opacity: 1; }
.lm-fp2026 .related .product-small .price del .amount { color: var(--lm-gris); }

/* Pas de bouton « Choisir les options » ni d'outils au survol dans ces cartes */
.lm-fp2026 .related .product-small .add-to-cart-button,
.lm-fp2026 .related .product-small .image-tools.bottom,
.lm-fp2026 .related .product-small .image-tools .wishlist-button,
.lm-fp2026 .related .product-small .quick-view { display: none !important; }

@media (max-width: 549px) {
	.lm-fp2026 .related .product-small .col-inner { padding: 12px; }
	.lm-fp2026 .related .product-small .badge-container { top: 18px; left: 18px; }
	.lm-fp2026 .related .product-small .box-text .product-title,
	.lm-fp2026 .related .product-small .box-text p.name { font-size: 14px !important; }
	.lm-fp2026 .related .product-small .price { font-size: 15px; }
}

/* ---------- Mobile ---------- */
@media (max-width: 849px) {
	.lm-fp2026 .product-title:not(.woocommerce-loop-product__title),
	.lm-fp2026 .product_title { font-size: 30px; }
	.lm-fp2026 .product-page-price,
	.lm-fp2026 .lm-fp-col-achat .price { font-size: 32px; }
	.lm-fp2026 .lm-fp-achat { padding: 16px; }
	.lm-fp2026 .product-section { padding: 18px; }
}

/* ---------- 1.2.1 — Option A : compteur « Boîtes » en pleine largeur, sous chaque choix, sur toutes les fiches ----------
 * Biofinity (même correction / OD ≠ OG), Bella Elite, produits simples : même compteur partout. */
.lm-fp2026 .lm-fp-ligne,
.lm-fp2026 .lm-fp-og__champs { flex-direction: column !important; flex-wrap: nowrap !important; align-items: stretch !important; gap: 14px !important; }
.lm-fp2026 .lm-fp-ligne table.variations,
.lm-fp2026 .lm-fp-og__champ { flex: none !important; width: 100%; }
.lm-fp2026 .lm-fp-qte,
.lm-fp2026 .lm-fp-og__qte { width: 100%; align-items: stretch !important; }
.lm-fp2026 .lm-fp-qte--seul { margin-top: 14px !important; }

.lm-fp2026 .lm-fp-qte .quantity,
.lm-fp2026 .lm-fp-qtebox { display: flex !important; width: 100% !important; max-width: none !important; }
.lm-fp2026 .lm-fp-qte .quantity .minus,
.lm-fp2026 .lm-fp-qte .quantity .plus,
.lm-fp2026 .lm-fp-qtebox button { flex: none; width: 56px !important; min-width: 56px !important; }
.lm-fp2026 .lm-fp-qte .quantity input.qty,
.lm-fp2026 .lm-fp-qtebox input { flex: 1 1 auto; width: auto !important; min-width: 0 !important; max-width: none !important; font-size: 17px; font-weight: 700; }

/* ---------- 1.2.2 — icônes des cartes de réassurance ---------- */
.lm-fp2026 .lm-fp-carte { flex-direction: row !important; align-items: flex-start; gap: 14px !important; }
.lm-fp2026 .lm-fp-carte__icone { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 12px; background: var(--lm-bleu-clair); color: var(--lm-bleu-fonce); }
.lm-fp2026 .lm-fp-carte__texte { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.lm-fp2026 .lm-fp-carte__texte b { font-size: 15px; color: var(--lm-encre); }
.lm-fp2026 .lm-fp-carte__texte span { font-size: 14px; line-height: 1.45; color: var(--lm-texte); }

/* ---------- 1.3.0 — produits sur commande (paiement à la commande) ---------- */
.lm-fp2026 .lm-si-sc { display: none !important; }
.lm-fp2026.is-sur-commande .lm-si-sc { display: inline-flex !important; }
.lm-fp2026.is-sur-commande .lm-fp-carte__texte.lm-si-sc { display: flex !important; }
.lm-fp2026.is-sur-commande .lm-si-normal { display: none !important; }
.lm-fp2026 .lm-fp-surcommande { display: flex; gap: 10px; align-items: flex-start; margin: 0; padding: 12px 14px; border-radius: 12px; background: var(--lm-ambre-clair); border: 1px solid var(--lm-ambre-bord); color: var(--lm-ambre); font-size: 14px; line-height: 1.5; }
.lm-fp2026 .lm-fp-surcommande svg { flex: none; margin-top: 1px; color: #9A6400; }
.lm-fp2026 .lm-fp-surcommande[hidden] { display: none; }

/* =========================================================================
 * 1.4.0 — Sections du bas comme la maquette
 * ====================================================================== */

/* Sections (Description, Caractéristiques, Questions fréquentes, Avis) :
 * Flatsome met le titre dans une colonne à gauche (2/12) et le contenu à droite (10/12).
 * Maquette : titre en haut, contenu sur toute la largeur de la carte. */
.lm-fp2026 .product-section > .row { display: block !important; margin: 0 !important; max-width: none !important; }
.lm-fp2026 .product-section > .row > .col { display: block !important; width: 100% !important; max-width: 100% !important; flex: none !important; padding: 0 !important; margin: 0 !important; }
.lm-fp2026 .product-section > .row > .col:first-child h5,
.lm-fp2026 .product-section .product-section-title { margin: 0 0 16px !important; padding: 0 !important; font-size: 22px; font-weight: 900; line-height: 1.25; color: var(--lm-encre); text-transform: none !important; letter-spacing: 0 !important; }
.lm-fp2026 .product-section .panel { padding: 0 !important; margin: 0 !important; }
.lm-fp2026 .product-section .panel > *:first-child { margin-top: 0; }

/* Description : titres et listes homogènes, quel que soit le texte copié dans l'éditeur. */
.lm-fp2026 #tab-description h1,
.lm-fp2026 #tab-description h2 { font-size: 24px !important; font-weight: 900; line-height: 1.3; color: var(--lm-encre) !important; margin: 22px 0 10px; text-transform: none; }
.lm-fp2026 #tab-description h3,
.lm-fp2026 #tab-description h4 { font-size: 18px !important; font-weight: 900; color: var(--lm-encre) !important; margin: 18px 0 8px; text-transform: none; }
.lm-fp2026 #tab-description p { margin: 0 0 12px; }
.lm-fp2026 #tab-description ul { margin: 0 0 14px 20px; }
.lm-fp2026 #tab-description li { margin: 0 0 6px; }

/* Caractéristiques : libellé à gauche (gris), valeur en gras juste à côté, petites icônes discrètes. */
.lm-fp2026 #tab-additional_information table,
.lm-fp2026 .product-section table.woocommerce-product-attributes { width: 100% !important; border-collapse: collapse; margin: 0; }
.lm-fp2026 .product-section table.woocommerce-product-attributes th,
.lm-fp2026 .product-section table.woocommerce-product-attributes td { font-size: 15px !important; line-height: 1.4; text-align: left !important; vertical-align: middle; padding-top: 12px !important; padding-bottom: 12px !important; }
.lm-fp2026 .product-section table.woocommerce-product-attributes th { width: 40% !important; font-weight: 400 !important; color: var(--lm-texte) !important; padding-right: 16px !important; }
.lm-fp2026 .product-section table.woocommerce-product-attributes td,
.lm-fp2026 .product-section table.woocommerce-product-attributes td * { font-weight: 700 !important; color: var(--lm-encre) !important; text-align: left !important; }
.lm-fp2026 .product-section table.woocommerce-product-attributes th img,
.lm-fp2026 .product-section table.woocommerce-product-attributes th svg,
.lm-fp2026 .product-section table.woocommerce-product-attributes th i { width: 20px !important; height: 20px !important; max-width: 20px; margin: 0 10px 0 0 !important; vertical-align: middle; opacity: .75; }
.lm-fp2026 .product-section table.woocommerce-product-attributes th > * { vertical-align: middle; }

/* Questions fréquentes : flèche à droite (elle chevauchait le texte à gauche). */
.lm-fp2026 .lm-faq-produit .accordion-title { position: relative; display: block; padding: 16px 52px 16px 18px !important; min-height: 54px; line-height: 1.4; }
.lm-fp2026 .lm-faq-produit .accordion-title .toggle { position: absolute !important; left: auto !important; right: 12px !important; top: 50% !important; width: 30px !important; height: 30px !important; margin: -15px 0 0 !important; padding: 0 !important; display: flex !important; align-items: center; justify-content: center; border: 0 !important; background: none !important; color: var(--lm-bleu) !important; box-shadow: none !important; }
.lm-fp2026 .lm-faq-produit .accordion-title .toggle i { color: var(--lm-bleu) !important; font-size: 20px; line-height: 1; transition: transform .2s; }
.lm-fp2026 .lm-faq-produit .accordion-title.active .toggle i { transform: rotate(180deg); }
.lm-fp2026 .lm-faq-produit > a,
.lm-fp2026 #tab-lm_faq .lm-faq-produit + a { display: inline-block; margin-top: 6px; font-weight: 700; color: var(--lm-bleu-fonce); }

/* Avis : petite carte « Vous portez … ? » + bouton ; le formulaire s'ouvre au clic (voir JS). */
.lm-fp2026 #reviews .woocommerce-Reviews-title,
.lm-fp2026 #reviews #comments > h2,
.lm-fp2026 #reviews #comments > h3 { display: none; }
.lm-fp2026 #reviews.lm-sans-avis .woocommerce-noreviews { display: none; }
.lm-fp2026 .lm-fp-avis-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; }
.lm-fp2026 .lm-fp-avis-cta__texte { flex: 1 1 320px; display: flex; flex-direction: column; gap: 6px; }
.lm-fp2026 .lm-fp-avis-cta__texte b { font-size: 17px; color: var(--lm-encre); }
.lm-fp2026 .lm-fp-avis-cta__texte span { font-size: 15px; line-height: 1.5; color: var(--lm-texte); }
.lm-fp2026 .lm-fp-avis-cta__btn { margin: 0; min-height: 46px; padding: 0 20px; border: 1.5px solid var(--lm-bleu); border-radius: 999px; background: #fff; color: var(--lm-bleu); font-size: 15px; font-weight: 700; text-transform: none; letter-spacing: 0; cursor: pointer; }
.lm-fp2026 .lm-fp-avis-cta__btn:hover { background: var(--lm-bleu); color: #fff; }
.lm-fp2026 #review_form_wrapper[hidden] { display: none !important; }
.lm-fp2026 #review_form_wrapper { margin-top: 20px; }
.lm-fp2026 #review_form_wrapper .review-form-inner,
.lm-fp2026 #review_form_wrapper .has-border { border: 0 !important; padding: 0 !important; }
.lm-fp2026 #review_form .comment-reply-title { display: block; font-size: 17px !important; font-weight: 900; color: var(--lm-encre); text-transform: none; margin: 0 0 12px; }
.lm-fp2026 #review_form label { font-size: 14px; font-weight: 700; color: var(--lm-texte); text-transform: none; letter-spacing: 0; }
.lm-fp2026 #review_form textarea,
.lm-fp2026 #review_form input[type="text"],
.lm-fp2026 #review_form input[type="email"] { border: 1.5px solid var(--lm-bord-fort); border-radius: 12px; box-shadow: none; font-size: 16px; }
.lm-fp2026 #review_form .form-submit input[type="submit"],
.lm-fp2026 #review_form .form-submit .submit { min-height: 48px; padding: 0 24px; border: 0; border-radius: 14px; background: var(--lm-bleu); color: #fff; font-size: 16px; font-weight: 900; text-transform: none; letter-spacing: 0; }
.lm-fp2026 #review_form .stars a { color: #E8A100; }

/* ---------- 1.4.4 — « Votre correction » plus haut + galerie collante ---------- */

/* Galerie collante (ordinateur) : l'image et le conseil restent visibles pendant la saisie de la correction */
@media (min-width: 850px) {
	.lm-fp2026 .lm-fp-col-galerie { align-self: stretch; }
	.lm-fp2026 .lm-fp-col-galerie > .col-inner { position: sticky; top: 120px; height: auto !important; }
	.admin-bar .lm-fp2026 .lm-fp-col-galerie > .col-inner { top: 152px; }
}

/* Une seule étiquette sur la photo : celle d'Advanced Woo Labels (« Silicone Hydrogel ») */
.lm-fp2026 .lm-fp-puces { display: none !important; }

/* En-tête achat resserré */
.lm-fp2026 .lm-fp-marque { margin-bottom: 2px; }
.lm-fp2026 .product-title-container .is-divider { display: none !important; }
.lm-fp2026 .product-title-container h1 { margin-bottom: 4px !important; }
.lm-fp2026 .lm-fp-sous-titre { margin-bottom: 2px; }
.lm-fp2026 .lm-fp-col-achat .woocommerce-product-rating { margin: 0 0 8px; }
.lm-fp2026 .lm-fp-prix-mois { margin-bottom: 10px; }
.lm-fp2026 .lm-fp-badges { margin-bottom: 12px; }
.lm-fp2026 .lm-fp-extrait { margin-bottom: 14px; }

/* ---------- 1.5.2 — Caractéristiques : libellé à gauche, valeur alignée à droite ----------
 * Ligne surlignée au survol pour relier facilement le libellé à sa valeur. */
.lm-fp2026 .product-section table.woocommerce-product-attributes th { width: auto !important; white-space: nowrap; padding-left: 8px !important; }
.lm-fp2026 .product-section table.woocommerce-product-attributes td,
.lm-fp2026 .product-section table.woocommerce-product-attributes td * { text-align: right !important; }
.lm-fp2026 .product-section table.woocommerce-product-attributes td { padding-left: 16px !important; padding-right: 8px !important; }
.lm-fp2026 .product-section table.woocommerce-product-attributes tr { transition: background-color .15s ease; }
.lm-fp2026 .product-section table.woocommerce-product-attributes tr:hover { background: #F7F9FB; }
@media (max-width: 549px) {
	.lm-fp2026 .product-section table.woocommerce-product-attributes th { white-space: normal; }
}
