/* Fiche produit repensée — n'agit que sur les produits marqués,
   via la classe lpa-fiche posée sur le <body>. */
body.lpa-fiche .lpaf,body.lpa-fiche .lpaf *{box-sizing:border-box}
body.lpa-fiche{
  --lg:#F1F4F5; --lsf:#FFF; --lrs:#F7FAFA; --lik:#0F181B; --lik2:#3B4E54; --lmu:#6C7F85;
  --lln:#DCE5E7; --lln2:#EBF1F2; --lac:#0A7C91; --lac2:#00B5D1; --laci:#FFF; --lacs:#E4F4F8;
  --lok:#0E7C55; --loks:#E2F3EC; --lal:#8A5A12; --lals:#FBF0DC;
  --lsh:0 1px 2px rgba(15,24,27,.05),0 12px 34px -18px rgba(15,24,27,.28);
}
body.lpa-fiche .lpaf{
  font:400 16px/1.62 "IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--lik);
}

/* Bandeau de conformité, au-dessus du titre */
body.lpa-fiche .lpaf-conf{display:inline-flex;align-items:center;gap:8px;background:var(--loks);
  color:var(--lok);border:1px solid rgba(14,124,85,.22);border-radius:999px;padding:7px 14px;
  font:600 12.5px/1 "IBM Plex Sans";margin:0 0 14px}
body.lpa-fiche .lpaf-conf svg{width:15px;height:15px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2.2}

body.lpa-fiche .lpaf-accroche{font-size:17px;line-height:1.55;color:var(--lik2);margin:2px 0 20px;max-width:56ch}

body.lpa-fiche .lpaf-pts{list-style:none!important;margin:0 0 24px!important;padding:0!important;display:grid;gap:10px}
body.lpa-fiche .lpaf-pts li{display:flex;gap:11px;align-items:flex-start;font-size:15px;margin:0;padding:0;line-height:1.5}
body.lpa-fiche .lpaf-pts li::before{content:none!important}
body.lpa-fiche .lpaf-pts svg{flex:0 0 auto;width:19px;height:19px;margin-top:3px;color:var(--lac);
  fill:none;stroke:currentColor;stroke-width:2.4}
body.lpa-fiche .lpaf-pts b{font-weight:600}

/* Rassurance sous le bouton d'achat */
body.lpa-fiche .lpaf-rass{display:grid;grid-template-columns:repeat(2,1fr);gap:11px;margin:22px 0 0;
  padding:18px 0 0;border-top:1px solid var(--lln2)}
body.lpa-fiche .lpaf-rass div{display:flex;gap:9px;align-items:flex-start;font-size:13px;color:var(--lik2);line-height:1.45}
body.lpa-fiche .lpaf-rass svg{flex:0 0 auto;width:16px;height:16px;margin-top:2px;color:var(--lac);
  fill:none;stroke:currentColor;stroke-width:2}

/* Sections après le résumé */
body.lpa-fiche .lpaf-sect{max-width:1120px;margin:52px auto 0;padding:0 4px}
body.lpa-fiche .lpaf-eyebrow{font:600 11px/1 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.14em;
  text-transform:uppercase;color:var(--lac);margin:0 0 9px}
body.lpa-fiche .lpaf-sect h2{font:600 22px/1.25 "IBM Plex Sans"!important;letter-spacing:-.015em;
  margin:0 0 6px!important;color:var(--lik)}
body.lpa-fiche .lpaf-sst{color:var(--lmu);font-size:14.5px;margin:0 0 20px}

body.lpa-fiche .lpaf-grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(238px,1fr));gap:12px}
body.lpa-fiche .lpaf-k{background:var(--lsf);border:1px solid var(--lln);border-radius:12px;padding:20px}
body.lpa-fiche .lpaf-k h3{font:600 15.5px/1.35 "IBM Plex Sans"!important;margin:0 0 6px!important;color:var(--lik)}
body.lpa-fiche .lpaf-k p{margin:0!important;font-size:14px;color:var(--lik2);line-height:1.55}
body.lpa-fiche .lpaf-k .lpaf-num{font:600 11px/1 "IBM Plex Mono",ui-monospace,monospace;color:var(--lac);
  letter-spacing:.1em;margin-bottom:11px;display:block}

body.lpa-fiche .lpaf-tab{width:100%;border-collapse:collapse;font-size:14.5px;background:var(--lsf);
  border:1px solid var(--lln);border-radius:12px;overflow:hidden}
body.lpa-fiche .lpaf-tab th,body.lpa-fiche .lpaf-tab td{text-align:left;padding:13px 18px;
  border-bottom:1px solid var(--lln2);color:var(--lik)}
body.lpa-fiche .lpaf-tab tr:last-child th,body.lpa-fiche .lpaf-tab tr:last-child td{border-bottom:0}
body.lpa-fiche .lpaf-tab th{width:240px;font-weight:600;color:var(--lik2);background:var(--lrs)}

body.lpa-fiche .lpaf-mods{display:grid;gap:9px}
body.lpa-fiche .lpaf-mod{display:flex;justify-content:space-between;align-items:center;gap:16px;
  background:var(--lsf);border:1px solid var(--lln);border-radius:11px;padding:15px 18px}
body.lpa-fiche .lpaf-mod .lpaf-n{font-weight:600;font-size:15px;min-width:0}
body.lpa-fiche .lpaf-mod .lpaf-n a{color:var(--lik);text-decoration:none}
body.lpa-fiche .lpaf-mod .lpaf-n a:hover{color:var(--lac)}
body.lpa-fiche .lpaf-mod .lpaf-n span{display:block;font-weight:400;font-size:13.5px;color:var(--lmu);margin-top:2px}
body.lpa-fiche .lpaf-mod .lpaf-r{display:flex;align-items:center;gap:14px;flex:0 0 auto}
body.lpa-fiche .lpaf-mod .lpaf-p{font:600 16px "IBM Plex Mono",ui-monospace,monospace;
  font-variant-numeric:tabular-nums;white-space:nowrap}
body.lpa-fiche .lpaf-mini{font:600 13.5px/1 "IBM Plex Sans"!important;padding:11px 16px!important;
  border-radius:8px!important;border:1.5px solid var(--lac)!important;background:transparent!important;
  color:var(--lac)!important;text-decoration:none!important;white-space:nowrap;display:inline-block}
body.lpa-fiche .lpaf-mini:hover{background:var(--lac)!important;color:var(--laci)!important}

body.lpa-fiche .lpaf-aide{display:flex;gap:16px;align-items:center;flex-wrap:wrap;justify-content:space-between;
  background:var(--lacs);border:1px solid rgba(10,124,145,.2);border-radius:14px;padding:22px 26px}
body.lpa-fiche .lpaf-aide p{margin:0!important;font-size:15px;max-width:52ch;color:var(--lik2)}
body.lpa-fiche .lpaf-aide b{display:block;font-size:16.5px;margin-bottom:3px;color:var(--lik)}
body.lpa-fiche .lpaf-b{font:600 15px/1 "IBM Plex Sans"!important;padding:15px 24px!important;border-radius:10px!important;
  border:1.5px solid var(--lac)!important;background:var(--lac)!important;color:var(--laci)!important;
  text-decoration:none!important;display:inline-block;white-space:nowrap}
body.lpa-fiche .lpaf-b:hover{background:var(--lac2)!important;border-color:var(--lac2)!important;color:var(--laci)!important}

/* Barre d'achat mobile */
.lpaf-barre{position:fixed;left:0;right:0;bottom:0;z-index:99980;display:none;
  background:var(--lsf,#fff);border-top:1px solid var(--lln,#DCE5E7);padding:10px 16px;
  box-shadow:0 -6px 24px -12px rgba(15,24,27,.4);align-items:center;justify-content:space-between;gap:14px;
  font:400 15px/1.4 "IBM Plex Sans",-apple-system,sans-serif}
.lpaf-barre .lpaf-bpx{font:700 22px/1 "IBM Plex Mono",ui-monospace,monospace;
  font-variant-numeric:tabular-nums;color:var(--lik,#0F181B)}
.lpaf-barre .lpaf-bmen{font-size:12px;color:var(--lmu,#6C7F85);margin-top:3px}
.lpaf-barre .lpaf-b{padding:14px 20px!important;font-size:15px!important;flex:0 0 auto}

@media (max-width:860px){
  body.lpa-fiche .lpaf-rass{grid-template-columns:1fr}
  body.lpa-fiche.lpa-fiche-barre .lpaf-barre{display:flex}
  body.lpa-fiche.lpa-fiche-barre{padding-bottom:88px}
  body.lpa-fiche .lpaf-mod{flex-direction:column;align-items:stretch;gap:12px}
  body.lpa-fiche .lpaf-mod .lpaf-r{justify-content:space-between}
  body.lpa-fiche .lpaf-tab th{width:auto;display:block;border:0;padding-bottom:2px;background:transparent}
  body.lpa-fiche .lpaf-tab td{display:block;padding-top:2px;padding-bottom:14px}
  body.lpa-fiche .lpaf-aide{flex-direction:column;align-items:flex-start}
}
@media (prefers-color-scheme:dark){
  body.lpa-fiche{--lg:#090F11;--lsf:#101A1D;--lrs:#162124;--lik:#E8EFF0;--lik2:#B2C2C6;--lmu:#7C9196;
    --lln:#222F33;--lln2:#1A2529;--lac:#35C4DC;--lac2:#7BDCEC;--laci:#04222A;--lacs:#0D2B33;
    --lok:#4BC28E;--loks:#0E2A21;--lal:#DDA94F;--lals:#2C2312}
}

/* --------------------------------------------------------------------
 * Adaptation au gabarit WooLentor.
 * Le prix et le bouton d'achat sont deux widgets Elementor distincts :
 * impossible de les envelopper dans un même conteneur. On les rapproche
 * visuellement — le prix forme le haut de la carte, le bouton le bas.
 * ------------------------------------------------------------------ */
body.lpa-fiche .elementor-widget-wl-single-product-price > .elementor-widget-container{
  background:var(--lsf);border:1px solid var(--lln);border-bottom:0;
  border-radius:14px 14px 0 0;padding:22px 22px 4px;margin:0}
body.lpa-fiche .elementor-widget-wl-product-add-to-cart > .elementor-widget-container{
  background:var(--lsf);border:1px solid var(--lln);border-top:0;
  border-radius:0 0 14px 14px;padding:6px 22px 22px;margin:0;
  box-shadow:var(--lsh)}
body.lpa-fiche .elementor-widget-wl-single-product-price{margin-bottom:0!important}

/* Le prix, plus présent */
body.lpa-fiche .elementor-widget-wl-single-product-price p.price{
  font:700 34px/1 "IBM Plex Mono",ui-monospace,monospace!important;
  letter-spacing:-.03em;color:var(--lik)!important;margin:0!important;
  font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
body.lpa-fiche .elementor-widget-wl-single-product-price .woocommerce-price-suffix{
  font:400 13px/1 "IBM Plex Sans",sans-serif!important;color:var(--lmu)!important;letter-spacing:0}

/* Bouton d'achat aux couleurs de la marque */
body.lpa-fiche form.cart{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:16px 0 0!important}
body.lpa-fiche form.cart .quantity{flex:0 0 auto}
body.lpa-fiche form.cart button.single_add_to_cart_button{
  flex:1 1 220px;background:var(--lac)!important;color:var(--laci)!important;
  border:1.5px solid var(--lac)!important;border-radius:10px!important;
  font:600 16px/1 "IBM Plex Sans",sans-serif!important;letter-spacing:0!important;
  text-transform:none!important;padding:17px 26px!important;
  transition:background .16s,box-shadow .16s!important}
body.lpa-fiche form.cart button.single_add_to_cart_button:hover{
  background:var(--lac2)!important;border-color:var(--lac2)!important;
  box-shadow:0 6px 20px -7px rgba(0,181,209,.7)!important}

/* Le visuel produit, agrandi */
body.lpa-fiche .woocommerce-product-gallery img{width:100%!important;height:auto!important}

/* La description brute, rendue lisible */
body.lpa-fiche .elementor-widget-wl-product-data-tabs .woocommerce-Tabs-panel{
  font-size:15px;line-height:1.65;color:var(--lik2);max-width:78ch}
body.lpa-fiche .elementor-widget-wl-product-data-tabs .woocommerce-Tabs-panel h2{
  font:600 20px/1.3 "IBM Plex Sans"!important;color:var(--lik)!important;margin:0 0 14px!important}
body.lpa-fiche .elementor-widget-wl-product-data-tabs .woocommerce-Tabs-panel h3,
body.lpa-fiche .elementor-widget-wl-product-data-tabs .woocommerce-Tabs-panel h4{
  font:600 16px/1.35 "IBM Plex Sans"!important;color:var(--lik)!important;margin:26px 0 8px!important}
body.lpa-fiche .elementor-widget-wl-product-data-tabs .woocommerce-Tabs-panel li{margin-bottom:5px}

@media (max-width:860px){
  body.lpa-fiche .elementor-widget-wl-single-product-price > .elementor-widget-container{padding:18px 18px 4px}
  body.lpa-fiche .elementor-widget-wl-product-add-to-cart > .elementor-widget-container{padding:6px 18px 18px}
  body.lpa-fiche form.cart button.single_add_to_cart_button{flex:1 1 100%}
}

/* Détail des logiciels inclus, à la place de la description brute */
body.lpa-fiche .lpaf-detail{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px}
body.lpa-fiche .lpaf-log{background:var(--lsf);border:1px solid var(--lln);border-radius:14px;
  padding:24px 26px;display:flex;flex-direction:column;gap:18px}
body.lpa-fiche .lpaf-log header{padding-bottom:16px;border-bottom:2px solid var(--lacs)}
body.lpa-fiche .lpaf-log h3{font:700 19px/1.25 "IBM Plex Sans"!important;margin:0 0 5px!important;
  color:var(--lik);letter-spacing:-.015em}
body.lpa-fiche .lpaf-log header p{margin:0!important;font-size:14.5px;color:var(--lik2);line-height:1.5}
body.lpa-fiche .lpaf-lab{display:block;font:600 10.5px/1 "IBM Plex Mono",ui-monospace,monospace;
  letter-spacing:.14em;text-transform:uppercase;color:var(--lac);margin-bottom:9px}
body.lpa-fiche .lpaf-liste ul{list-style:none!important;margin:0!important;padding:0!important;display:grid;gap:8px}
body.lpa-fiche .lpaf-liste li{position:relative;padding-left:22px;margin:0!important;
  font-size:14.5px;line-height:1.5;color:var(--lik2)}
body.lpa-fiche .lpaf-liste li::before{content:"";position:absolute;left:4px;top:9px;width:7px;height:7px;
  border-radius:2px;background:var(--lac2)}
body.lpa-fiche .lpaf-log footer{margin-top:auto;padding-top:16px;border-top:1px solid var(--lln2);
  font-size:13.5px;color:var(--lik2);line-height:1.5}
body.lpa-fiche .lpaf-fin{margin:16px 0 0!important;padding:16px 20px;background:var(--lacs);
  border:1px solid rgba(10,124,145,.2);border-radius:12px;font-size:14.5px;color:var(--lik2)}
@media (max-width:860px){body.lpa-fiche .lpaf-log{padding:20px}}

/* --------------------------------------------------------------------
 * Haut de fiche sur trois colonnes.
 * Le gabarit Elementor n'en compte que deux : visuel à gauche, tout le
 * reste à droite. On scinde la seconde en deux par une grille, ce qui
 * donne visuel | arguments | achat sans toucher au gabarit.
 * ------------------------------------------------------------------ */
@media (min-width:1100px){
  body.lpa-fiche .elementor-widget-wl-single-product-title,
  body.lpa-fiche .elementor-widget-wl-single-product-price,
  body.lpa-fiche .elementor-widget-wl-product-add-to-cart{
    width:auto!important;max-width:none!important}

  /* La colonne qui porte titre, prix et bouton devient une grille */
  body.lpa-fiche .elementor-widget-wl-single-product-title,
  body.lpa-fiche .elementor-widget-wl-single-product-price,
  body.lpa-fiche .elementor-widget-wl-product-add-to-cart{
    box-sizing:border-box}
  body.lpa-fiche .elementor-element:has(> .elementor-widget-wrap > .elementor-widget-wl-single-product-title)
    > .elementor-widget-wrap{
    display:grid!important;
    grid-template-columns:minmax(0,1.12fr) minmax(330px,.88fr);
    grid-template-areas:"titre achat";
    gap:0 34px;align-content:start}
  body.lpa-fiche .elementor-widget-wl-single-product-title{grid-area:titre}
  body.lpa-fiche .elementor-widget-wl-single-product-price{grid-area:achat;align-self:start}
  body.lpa-fiche .elementor-widget-wl-product-add-to-cart{grid-area:achat;align-self:start;margin-top:0}

  /* Prix et bouton empilés dans la même cellule : on les décale */
  body.lpa-fiche .elementor-element:has(> .elementor-widget-wrap > .elementor-widget-wl-single-product-title)
    > .elementor-widget-wrap{grid-template-areas:"titre prix" "titre achat";
    grid-template-rows:auto 1fr}
  body.lpa-fiche .elementor-widget-wl-single-product-price{grid-area:prix}
  body.lpa-fiche .elementor-widget-wl-product-add-to-cart{grid-area:achat}
}

/* Prix : symbole après le nombre, chiffres alignés */
body.lpa-fiche .elementor-widget-wl-single-product-price .woocommerce-Price-amount{white-space:nowrap}
body.lpa-fiche .elementor-widget-wl-single-product-price .woocommerce-Price-currencySymbol{
  font-size:.72em;margin-left:.12em;font-weight:600}

/* Léger battement quand le prix change */
@keyframes lpaf-pulse{0%{opacity:.35}100%{opacity:1}}
body.lpa-fiche .lpaf-pulse{animation:lpaf-pulse .26s ease}
body.lpa-fiche form.cart button.single_add_to_cart_button:disabled{opacity:.65;cursor:progress}

/* Le gabarit laissait 70 px au-dessus du premier élément : sur une fiche,
   ça repoussait le visuel du produit sous la ligne de flottaison sans rien
   apporter. On resserre, sur les fiches seulement. */
body.lpa-fiche .aux-primary{padding-top:26px}
@media (max-width:860px){
 body.lpa-fiche .aux-primary{padding-top:16px}
}

/* ---- retour au catalogue ------------------------------------------------
   Depuis une fiche, on doit pouvoir remonter à la boutique sans passer par
   le menu ni par le bouton « précédent » du navigateur. */
body.lpa-fiche .lpaf-retour{margin:0 0 14px}
body.lpa-fiche .lpaf-retour a{display:inline-flex;align-items:center;gap:8px;
 font:600 13.5px/1 "IBM Plex Sans",-apple-system,sans-serif;color:var(--lmu,#6C7F85);
 text-decoration:none;padding:9px 14px 9px 11px;border:1px solid var(--lln,#DCE5E7);
 border-radius:9px;background:var(--lsf,#fff);transition:color .14s ease,border-color .14s ease}
body.lpa-fiche .lpaf-retour a:hover{color:#0A7C91;border-color:#0A7C91}
body.lpa-fiche .lpaf-retour svg{width:15px;height:15px;flex:0 0 auto;
 fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}

/* ---- barre d'achat et bulle de chat -------------------------------------
   La bulle de tawk.to se pose en bas à droite, exactement sur le bouton
   « Ajouter au panier » de la barre fixe : on la remonte au-dessus. Le
   sélecteur ratisse large, tawk changeant de balisage selon les versions. */
@media (max-width:860px){
 body.lpa-fiche.lpa-fiche-barre iframe[title*="chat" i],
 body.lpa-fiche.lpa-fiche-barre #tawkchat-container,
 body.lpa-fiche.lpa-fiche-barre #tawkchat-minified-wrapper,
 body.lpa-fiche.lpa-fiche-barre .tawk-min-container,
 body.lpa-fiche.lpa-fiche-barre div[class*="tawk-"][style*="fixed"],
 body.lpa-fiche.lpa-fiche-barre div[id^="tawk"]{
  bottom:96px!important;
 }
 /* Le bouton reste au-dessus de tout ce qui traînerait par là. */
 body.lpa-fiche.lpa-fiche-barre .lpaf-barre{z-index:99988}
 body.lpa-fiche.lpa-fiche-barre .lpaf-barre .lpaf-b{position:relative;z-index:1}
}

/* =========================================================================
   Harmonisation avec le catalogue
   La fiche et la carte parlent du même produit : mêmes signes, mêmes
   proportions, même échelle typographique. Les valeurs sont celles de
   boutique.css — les deux feuilles doivent rester d'accord.
   ====================================================================== */

/* Pastille du code produit, identique à celle des cartes (.mb-code). */
body.lpa-fiche .lpaf-code{margin:0 0 10px}
body.lpa-fiche .lpaf-code span{display:inline-block;
 font:600 11.5px/1 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.09em;
 color:#0A7C91;background:#E4F4F8;border-radius:5px;padding:6px 9px;text-transform:uppercase}

/* Le titre criait en capitales sur quatre lignes : il reprend la casse et
   l'échelle du catalogue, en plus grand puisqu'il est ici le titre de page. */
body.lpa-fiche .product_title{
 font:700 30px/1.22 "IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
 letter-spacing:-.02em!important;text-transform:none!important;
 color:var(--lik)!important;margin:0 0 8px!important;max-width:22ch;
 overflow-wrap:anywhere;
}
@media (max-width:860px){
 body.lpa-fiche .product_title{font-size:25px!important;max-width:none}
}

/* Périmètre, comme la ligne .mb-per des cartes. */
body.lpa-fiche .lpaf-per{margin:-2px 0 12px;
 font:500 13px/1.4 "IBM Plex Mono",ui-monospace,monospace;color:var(--lmu)}

/* Le visuel reprend le cadre des cartes : fond clair, filet, coins arrondis,
   proportion 16/9 — les images du catalogue sont dans ce format. */
body.lpa-fiche .woocommerce-product-gallery{margin:0!important}
body.lpa-fiche .woocommerce-product-gallery__wrapper,
body.lpa-fiche .woocommerce-product-gallery__image{margin:0!important}
body.lpa-fiche .woocommerce-product-gallery__image img{
 display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;
 border:1px solid var(--lln2,#EDF2F3);border-radius:12px;background:var(--lrs);
}
body.lpa-fiche .woocommerce-product-gallery__image a{display:block}

/* Le badge de validation s'aligne sur la pastille verte des cartes. */
body.lpa-fiche .lpaf-conf{font:600 12.5px/1.35 "IBM Plex Sans",sans-serif;border-radius:20px}

/* ---- ajout groupé des modules associés ---------------------------------
   Ces modules se prennent presque toujours ensemble : le bouton évite
   autant d'allers-retours qu'il y a de lignes. */
body.lpa-fiche .lpaf-mods-tout{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:14px 0 0}
body.lpa-fiche .lpaf-tout{
 all:unset;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:8px;
 background:#0A7C91;color:#fff;border:1.5px solid #0A7C91;border-radius:10px;
 padding:14px 22px;cursor:pointer;
 font:600 14.5px/1 "IBM Plex Sans",-apple-system,sans-serif;
 transition:background .16s ease,border-color .16s ease}
body.lpa-fiche .lpaf-tout:hover:not(:disabled){background:#08697b;border-color:#08697b}
body.lpa-fiche .lpaf-tout:focus-visible{outline:2px solid #0A7C91;outline-offset:3px}
body.lpa-fiche .lpaf-tout:disabled{opacity:.65;cursor:progress}
body.lpa-fiche .lpaf-tout-px{font:500 14px "IBM Plex Mono",ui-monospace,monospace;
 font-variant-numeric:tabular-nums;color:var(--lmu)}
@media (max-width:560px){
 body.lpa-fiche .lpaf-mods-tout{flex-direction:column;align-items:stretch}
 body.lpa-fiche .lpaf-tout{width:100%}
 body.lpa-fiche .lpaf-tout-px{text-align:center}
}

/* ---- barre d'achat et widget de discussion -------------------------------
   Le chat se pose en bas à droite, sur le bouton. Plutôt que d'amputer la
   barre d'une réserve disgracieuse, on remonte le widget au-dessus d'elle.
   La règle vise les conteneurs posés directement sur le corps du document,
   les seuls que l'extension positionne ; le script affine ensuite la
   hauteur d'après la taille réelle de la barre. */
@media (max-width:860px){
 body.lpa-fiche.lpa-fiche-barre > [id*="tawk" i],
 body.lpa-fiche.lpa-fiche-barre > [class*="tawk" i],
 body.lpa-fiche.lpa-fiche-barre > div:has(> iframe[title*="chat" i]),
 body.lpa-fiche.lpa-fiche-barre > div:has(> iframe[src*="tawk"]){
  bottom:104px!important;
 }
}
@media (max-width:400px){
 body.lpa-fiche.lpa-fiche-barre .lpaf-barre{gap:10px}
 body.lpa-fiche.lpa-fiche-barre .lpaf-barre .lpaf-bpx{font-size:19px}
 body.lpa-fiche.lpa-fiche-barre .lpaf-barre .lpaf-b{padding:13px 16px!important;font-size:14px!important}
}

/* Périmètre : le même tag que sur les cartes du catalogue — c'est souvent
   la seule chose qui distingue deux logiciels au nom identique. */
body.lpa-fiche .lpaf-per{
 display:inline-flex!important;align-items:flex-start;gap:8px;
 margin:2px 0 14px;padding:8px 14px 8px 11px;
 background:#FBF1DF;border:1px solid #EDD9B4;border-radius:22px;
 font:600 13.5px/1.35 "IBM Plex Sans",-apple-system,sans-serif;
 letter-spacing:0;color:#7A4E0C;max-width:100%;overflow-wrap:anywhere}
body.lpa-fiche .lpaf-per svg{flex:0 0 auto;width:16px;height:16px;margin-top:1px;
 fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
