/* Propul — correctifs de conformité charte pour l'accueil (maquette du 2 sept. 2026).
   Chargé APRÈS propul-header.css. Ne change ni la structure ni les animations :
   il ramène le gabarit Agenio aux tokens de propul-tokens.css. */

/* ---- 1. Boutons : une seule peau ---------------------------------------- */
.pk-cta, .pk-cta:hover, .pk-cta:focus-visible, .pk-cta:active { box-shadow: none; transform: none; }
.pk-cta { background: var(--accent); }
.pk-cta:hover, .pk-cta:focus-visible { background: var(--accent-hover); }
.pk-cta:active { background: var(--accent-presse); }

.wpr-btn, .wpr-btn.btn-primary, .wpr-btn.btn-white,
.wpr-banner-area .banner-content-area .text-area .button-area .wpr-btn,
.wpr-banner-area .banner-content-area .text-area .button-area .btn-white,
.pricing-wrapper .wpr-btn, .pricing-wrapper.dark .wpr-btn {
  border-radius: var(--r-bouton) !important;
  box-shadow: none !important;
  transform: none;
}
.wpr-btn.btn-primary:active, .wpr-btn:not(.btn-white):active { background: var(--accent-presse); }
.wpr-btn.btn-white { border: 1px solid var(--filet); color: var(--encre); }
.wpr-btn.btn-white:hover { border-color: var(--encre); }
.wpr-btn.btn-white img, .wpr-btn.btn-white svg { filter: none; }
/* Le bouton « with-icon » de la méthode : plus de boîte d'icône flottante. */
.wpr-btn.with-icon .inner, .wpr-btn.with-icon .icon { display: none; }
.wpr-btn.with-icon { padding: 18px 28px; }

/* Lien « Découvrir » des domaines : texte encre + flèche accent, sans boîte. */
#services.wpr-services-area .section-bottom-content .service-wrapper .content .bottom .service-btn-area {
  background: transparent; box-shadow: none; border-radius: 0; width: auto; height: auto;
  display: inline-flex; align-items: center; gap: 10px; color: var(--encre); font-weight: 600; padding: 8px 0;
}
.wpr-services-area .service-btn-area svg path { fill: var(--accent); }
.wpr-services-area .service-btn-area:hover { color: var(--accent); }

/* ---- 2. Décors du gabarit : éteints ------------------------------------- */
.square-shape { display: none !important; }
.bottom-shape-area { display: none !important; }
.wpr-banner-area .bg-shape-area .one, .wpr-banner-area .bg-shape-area .two { display: none; }
.wpr-banner-area .arrow, .wpr-banner-area .arrow-area { display: none !important; }
.wpr-testimonials-area .top-left-shape, .wpr-testimonials-area img[src*="top-left-shape"],
.wpr-faq-area img[src*="top-left-shape"], .wpr-faq-area img[src*="grid.svg"],
.wpr-pricing-plans-area img[src*="shape-"], .wpr-pricing-plans-area img[src*="grid-"],
.wpr-why-choose-us-area2 .top-right-shape,
.why-choose-wrapper .shape, .wpr-project-area .image-area .shape,
.wpr-about-area .image-shape-right-bottom { display: none !important; }
.mb--16 { margin-bottom: 0 !important; }
.wpr-banner-area, .wpr-brand-area, .wpr-about-area, .wpr-why-choose-us-area, .wpr-services-area,
.wpr-project-area, .wpr-working-process, .wpr-marquee-area, .wpr-why-choose-us-area2,
.wpr-testimonials-area, .wpr-pricing-plans-area, .wpr-faq-area, .wpr-contact-area { padding-block: clamp(3rem, 6vw, 5rem); }
.section-inner.border-1, .wpr-content-area.border-1 { border-color: var(--filet) !important; }

/* Cartes : un seul gris de filet. */
.why-choose-wrapper, .why-choose-wrapper2, .service-wrapper, .working-process-wrapper,
.pricing-wrapper, .wpr-content-area { border: 1px solid var(--filet) !important; box-shadow: none !important; border-radius: var(--r-carte) !important; }
.pricing-wrapper.dark { border-color: var(--accent) !important; }
.pricing-wrapper .wpr-btn.btn-white, .pricing-wrapper.dark .wpr-btn.btn-white { background: var(--fond) !important; color: var(--encre) !important; border: 1px solid var(--filet) !important; }
.pricing-wrapper .wpr-btn.btn-white:hover { border-color: var(--encre) !important; }
.why-choose-wrapper2 .icon, .why-choose-wrapper2 .icon-area { background: transparent !important; }
.why-choose-wrapper2 .icon img, .why-choose-wrapper2 .icon-area img { filter: none; }

/* ---- 3. Couleurs hors palette ------------------------------------------- */
/* Étiquettes des domaines : label mono + puce carrée, plus de boîte encre. */
.wpr-services-area .section-bottom-content .service-wrapper .content .top .tag,
.wpr-services-area .service-wrapper .content .top .tag {
  font-family: var(--font-mono) !important;
  background: transparent !important; color: var(--texte-2) !important;
  font-family: var(--font-mono); font-size: var(--fs-label); letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500;
  padding: 0 0 0 18px !important; position: relative;
}
.wpr-services-area .service-wrapper .content .top .tag::before { content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 8px; height: 8px; background: var(--accent); }
.wpr-services-area .service-wrapper .content .top .tag::after { display: none; }
/* Tarifs : le vert citron devient violet-fond. */
.pricing-wrapper .pricing-header .plan-type p, .pricing-wrapper .plan-type p {
  background: var(--violet-fond) !important; color: var(--accent) !important; border: 1px solid var(--violet-filet);
  font-family: var(--font-mono); font-size: var(--fs-label); letter-spacing: 0.12em; text-transform: uppercase; border-radius: var(--r-champ);
}
.pricing-wrapper.dark .pricing-header .plan-type p { background: var(--violet-fond) !important; }
/* Domaines : plus de portrait abstrait ; le contenu redevient en flux. */
.wpr-services-area .service-wrapper .image-area { display: none; }
.wpr-services-area .service-wrapper { display: block; min-height: 0; position: relative; overflow: hidden; }
.wpr-services-area .service-wrapper .content { position: static !important; inset: auto !important; height: auto !important; padding: 32px !important; display: flex; flex-direction: column; gap: 20px; }
/* Ce qui fait vivre la carte blanche : grille discrète du hero en fond, numéro serif en accent, logos techno du domaine. */
.wpr-services-area .service-wrapper::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(to right, var(--grille) 1px, transparent 1px), linear-gradient(to bottom, var(--grille) 1px, transparent 1px); background-size: 34px 34px; -webkit-mask-image: radial-gradient(120% 80% at 90% 0%, #000 0%, transparent 60%); mask-image: radial-gradient(120% 80% at 90% 0%, #000 0%, transparent 60%); pointer-events: none; }
.wpr-services-area .service-wrapper .content { position: relative !important; }
.wpr-services-area .service-wrapper .content .mid { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; padding-top: 8px; }
.wpr-services-area .service-wrapper .content .mid .numero { font-family: var(--font-display) !important; font-weight: 700; color: var(--accent) !important; font-size: 56px !important; line-height: 1 !important; letter-spacing: -0.02em; height: auto !important; font-variant-numeric: tabular-nums; }
.wpr-services-area .service-wrapper:nth-child(4) .content .mid .numero { color: var(--orange-vif) !important; }
.ps-domaine-logos { display: flex; gap: 8px; }
.ps-domaine-logos img { width: 36px; height: 36px; padding: 6px; border: 1px solid var(--filet); border-radius: var(--r-champ); background: var(--fond); object-fit: contain; }
.wpr-services-area .service-wrapper .content .top .desc { color: var(--encre); font-weight: 600; font-size: 1.125rem; line-height: 1.35; }
.wpr-services-area .service-wrapper:hover { border-color: var(--accent) !important; }
/* Le survol du gabarit, conservé : la liste et le lien sont repliés, ils se déploient au passage de la souris. */
#services.wpr-services-area .section-bottom-content .service-wrapper .content .bottom { display: grid !important; grid-template-rows: 0fr 0fr; overflow: hidden; opacity: 0; transform: translateY(12px); transition: grid-template-rows var(--dur-lente) var(--ease-out), opacity var(--dur-base) var(--ease-out), transform var(--dur-lente) var(--ease-out); }
#services.wpr-services-area .section-bottom-content .service-wrapper .content .bottom > * { min-height: 0 !important; overflow: hidden; }
#services.wpr-services-area .section-bottom-content .service-wrapper .content .bottom .service-btn-area { margin-top: 0 !important; padding: 0 !important; }
#services.wpr-services-area .section-bottom-content .service-wrapper .content .bottom ul { margin: 0 !important; }
#services.wpr-services-area .section-bottom-content .service-wrapper .content .bottom .service-btn-area { visibility: visible !important; opacity: 1 !important; }
#services.wpr-services-area .section-bottom-content .service-wrapper:hover .content .bottom, #services.wpr-services-area .section-bottom-content .service-wrapper:focus-within .content .bottom { grid-template-rows: 1fr auto; row-gap: 16px; opacity: 1; transform: none; }
.wpr-services-area .service-wrapper .content .mid { transition: transform var(--dur-lente) var(--ease-out); }
.wpr-services-area .service-wrapper:hover .content .mid .numero { color: var(--accent-hover) !important; }
.wpr-services-area .service-wrapper:nth-child(4):hover .content .mid .numero { color: var(--orange-texte) !important; }
@media (hover: none) { #services.wpr-services-area .section-bottom-content .service-wrapper .content .bottom { grid-template-rows: 1fr auto; row-gap: 16px; opacity: 1; transform: none; } }
/* Témoignages : planche encre  blanc. */
.wpr-testimonials-area, .wpr-testimonials-area .section-inner, .wpr-testimonials-area .testimonial-wrapper,
.wpr-testimonials-area .testimonials-content, .wpr-testimonials-area .swiper-slide > * {
  background: var(--fond) !important; color: var(--encre) !important;
}
.wpr-testimonials-area .section-inner { border: 1px solid var(--filet); border-radius: var(--r-carte); }
.wpr-testimonials-area .swiper, .wpr-testimonials-area .testimonials-content-slider, .wpr-testimonials-area .swiper-wrapper, .wpr-testimonials-area .swiper-slide { background: transparent !important; }
.wpr-testimonials-area .desc, .wpr-testimonials-area blockquote p, .wpr-testimonials-area .testimonial-text p { color: var(--encre) !important; font-family: var(--font-display); font-weight: 600; font-size: 1.25rem; line-height: 1.45; }
.wpr-testimonials-area .author-area p { font-family: var(--font-corps); font-weight: 400; font-size: var(--fs-small); color: var(--texte-2) !important; }
.wpr-testimonials-area .author-area .h6 { font-weight: 600; color: var(--encre) !important; }
.wpr-testimonials-area .h3, .wpr-testimonials-area .h4, .wpr-testimonials-area .title, .wpr-testimonials-area .name { color: var(--encre) !important; font-family: var(--font-corps); }
.wpr-testimonials-area .designation, .wpr-testimonials-area .sub-title, .wpr-testimonials-area .position { color: var(--texte-2) !important; }
.wpr-testimonials-area .image-area, .wpr-testimonials-area .thumb-area, .wpr-testimonials-area img[src*="testimonials/0"] { display: none !important; }
.wpr-testimonials-area .swiper-btn, .wpr-testimonials-area .swiper-pagination-bullet { background: var(--fond) !important; border: 1px solid var(--filet); }
.wpr-testimonials-area .swiper-btn svg path { fill: var(--encre) !important; }
.wpr-testimonials-area .swiper-pagination-bullet-active { background: var(--accent) !important; border-color: var(--accent); }
/* Réalisations : tuiles encre  cartes blanches au filet. */
.wpr-project-area .feature-project { background: var(--fond) !important; border: 1px solid var(--filet); border-radius: var(--r-carte); overflow: hidden; }
.wpr-project-area .feature-project .slide-content, .wpr-project-area .feature-project .product-intro { background: var(--fond) !important; }
.wpr-project-area .feature-project .title a, .wpr-project-area .feature-project .title { color: var(--encre) !important; }
.wpr-project-area .feature-project .desc { color: var(--texte-2) !important; }
.wpr-project-area .section-title span img { display: none; }
.wpr-project-area .swiper-btn { background: var(--fond) !important; border: 1px solid var(--filet); }
.wpr-project-area .swiper-btn svg path { fill: var(--encre) !important; }
.wpr-project-area .hover_mouse a { color: var(--fond) !important; background: var(--accent) !important; border-radius: var(--r-bouton); box-shadow: none; }
.wpr-project-area .hover_mouse a svg path { fill: var(--fond) !important; }
.wpr-project-area .hover_mouse .box { background: var(--accent) !important; }

/* ---- 4. FAQ : accordéon filet, + / − nu -------------------------------- */
.ps-faq__item { margin-bottom: 0 !important; border: 0 !important; border-top: 1px solid var(--filet) !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
.ps-faq__item:last-child { border-bottom: 1px solid var(--filet) !important; }
.ps-faq__q { padding: 20px 0 !important; background: transparent !important; }
.ps-faq__r, .ps-faq__item .desc { padding-left: 0 !important; padding-right: 0 !important; }
.ps-faq__marque { background: transparent !important; color: var(--accent) !important; border: 0 !important; width: 24px !important; height: 24px !important; box-shadow: none !important; }
.ps-faq__marque svg { width: 20px; height: 20px; stroke: var(--accent); }
.wpr-faq-area .accordion-item, .wpr-faq-area .accordion-one .accordion-item {
  background: transparent !important; box-shadow: none !important; border: 0 !important; border-top: 1px solid var(--filet) !important; border-radius: 0 !important; padding: 0;
}
.wpr-faq-area .accordion-item:last-child { border-bottom: 1px solid var(--filet) !important; }
.wpr-faq-area .accordion-button { background: transparent !important; box-shadow: none !important; padding: 20px 0 !important; color: var(--encre); font-weight: 600; }
.wpr-faq-area .accordion-button .icon, .wpr-faq-area .accordion-button::after, .wpr-faq-area .accordion-button span[class*="icon"] {
  background: transparent !important; box-shadow: none !important; border-radius: 0 !important; width: auto; height: auto; color: var(--accent); filter: none;
}
.wpr-faq-area .accordion-button .icon img, .wpr-faq-area .accordion-button img { filter: none !important; }
.wpr-faq-area .accordion-body { padding: 0 0 20px !important; color: var(--texte-2); }

/* ---- 5. Contact : labels alignés sur les autres ------------------------ */
.wpr-contact-area .single-input label { font-family: var(--font-mono); font-size: var(--fs-label); letter-spacing: 0.16em; text-transform: uppercase; }

/* ---- 6. Hero : promesse visible, H1 non masqué ------------------------- */
.wpr-banner-area .wow, .wpr-banner-area .section-title, .wpr-banner-area .text-area { visibility: visible !important; opacity: 1 !important; }
.ps-hero-promesse { font-family: var(--font-corps); font-size: clamp(1.125rem, 1.6vw, 1.375rem); color: var(--texte-2); max-width: 34ch; margin: 0 0 8px; text-wrap: balance; }
.ps-hero-promesse strong { color: var(--encre); font-weight: 600; }

/* Logos : hauteur optique unique, gris, couleur au survol. */
.wpr-brand-area .brand-wrapper img { height: 40px !important; width: auto !important; max-width: 160px; object-fit: contain; filter: grayscale(1) opacity(.6); transition: filter var(--dur-base) var(--ease-out); }
.wpr-brand-area .brand-wrapper:hover img { filter: none; }
.wpr-brand-area .left-text p { font-family: var(--font-mono); font-size: var(--fs-label); letter-spacing: 0.2em; color: var(--texte-2); }

/* Pôles : les deux lockups en serif. */
.why-choose-wrapper[data-branche] .wrapper-header .title { font-family: var(--font-display) !important; font-weight: 700 !important; font-size: clamp(28px, 3vw, 40px); letter-spacing: -0.01em; }

/* H2 : un cran plus bas pour arrêter la course aux grands titres. */
.section-title-area .section-title { font-size: clamp(1.75rem, 2.4vw, 2.25rem) !important; }

/* Engagements : le titre colle à ses cartes. */
.wpr-why-choose-us-area2 .section-title-area { margin-bottom: 24px !important; padding: 0 !important; }
.wpr-why-choose-us-area2 .section-title-area .sub-title { margin-bottom: 8px !important; }
.wpr-why-choose-us-area2 .section-title-area .section-title { margin-bottom: 0 !important; }
.ps-poles { padding: 8px 40px 40px !important; }
.ps-poles .bottom-button-area { text-align: center; margin-top: 32px; }
.wpr-about-area .about-bottom-content { padding-bottom: 24px; }

/* ---- 8. Blocs partagés des pages internes ------------------------------- */
/* Détail « Ce que nous livrons » : le portrait abstrait 704×1360 disparaît, le texte prend la largeur de lecture. */
.services-details-banner .section-inner > .image-area { display: none; }
.services-details-banner .details-area, .services-details-banner .content-area { max-width: 62rem; margin: 0 auto; }
.services-details-banner .feature-box .icon { background: var(--violet-fond) !important; color: var(--accent) !important; border: 1px solid var(--violet-filet); border-radius: var(--r-champ); box-shadow: none !important; }
/* Déroulé (accordéon awards) : plus d'image abstraite par étape ; le toggle devient + / − violet nu. */
.wpr-awards-area .image-area { display: none !important; }
.wpr-awards-area .toggle, .wpr-awards-area .toggle span { background: transparent !important; color: var(--accent) !important; box-shadow: none !important; border: 0 !important; font-family: var(--font-mono); }
.wpr-awards-area .award-wrapper, .wpr-awards-area .single-award, .wpr-awards-area .accordion-item { border: 0 !important; border-top: 1px solid var(--filet) !important; border-radius: 0 !important; box-shadow: none !important; }
.wpr-awards-area .date, .wpr-awards-area .duree { font-family: var(--font-mono); font-size: var(--fs-label); letter-spacing: .12em; text-transform: uppercase; color: var(--texte-2); }
/* Avant / après : le lockup image « PROPUL SEO » cède la place au lockup texte serif. */
.why-choose-wrapper .wrapper-header .logo img[src*="logo-propulseo-pole"] { display: none; }
.why-choose-wrapper .wrapper-header .logo .propul-lockup { display: inline; }
/* Cartes à icônes (signaux, engagements) : le titre colle aux cartes, plus de vide de 300 px. */
.wpr-why-choose-us-area2 .section-inner { padding-top: 28px; }
.wpr-why-choose-us-area2 .bottom-content-area { margin-top: 0 !important; padding-top: 0 !important; }
.wpr-why-choose-us-area2 .why-choose-wrapper2 .icon { margin-bottom: 20px !important; }
.wpr-why-choose-us-area2 .why-choose-wrapper2 .icon img { width: 48px; height: 48px; }
/* Bandeau de repères du hero d'offre : bouton aplat. */
.ps-reperes__cta, .ps-reperes a.wpr-btn { box-shadow: none !important; border-radius: var(--r-bouton) !important; }
/* Capsule : la réponse courte se lit comme un chapeau, filet gauche violet. */
.ps-capsule .ps-capsule__inner { border-left: 2px solid var(--accent); padding-left: 24px; }

.ps-logos { padding: 28px 0; display: flex; flex-direction: column; gap: 16px; border-radius: var(--r-carte); }
.ps-logos__rangee { overflow: hidden; -webkit-mask-image: linear-gradient(to right, transparent, #000 10%, #000 90%, transparent); mask-image: linear-gradient(to right, transparent, #000 10%, #000 90%, transparent); }
.ps-logos__piste { display: flex; gap: 12px; width: max-content; animation: ps-logos-defile 40s linear infinite; }
.ps-logos__rangee--inverse .ps-logos__piste { animation-direction: reverse; }
.ps-logos:hover .ps-logos__piste { animation-play-state: paused; }
.ps-logo-tuile { display: inline-flex; align-items: center; gap: 12px; padding: 10px 18px 10px 12px; border: 1px solid var(--filet); border-radius: var(--r-carte); background: var(--fond); white-space: nowrap; font-family: var(--font-corps); font-weight: 600; font-size: 15px; color: var(--encre); }
.ps-logo-tuile img { width: 32px; height: 32px; border-radius: var(--r-champ); object-fit: contain; }
@keyframes ps-logos-defile { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .ps-logos__piste { animation: none; } }

/* Hors accueil (offres liées des fiches intégration, technologie, etc.) : rien n'est replié, cible ≥ 44 px. */
.wpr-services-area:not(#services) .section-bottom-content .service-wrapper .content .bottom { display: flex !important; opacity: 1 !important; transform: none !important; }
.wpr-services-area:not(#services) .service-btn-area { min-height: 44px; }
/* Hors accueil : la phrase d'accroche est lisible au repos (le gabarit la réserve au survol). */
.wpr-services-area:not(#services) .section-bottom-content .service-wrapper .content .top .desc {
  opacity: 1 !important; color: var(--encre) !important; font-weight: 600;
  font-size: 1.125rem !important; line-height: 1.35;
}
/* Les trois lignes (accroche, numéro, liste) partagent des pistes de grille : les numéros s'alignent. */
.wpr-services-area:not(#services) .section-bottom-content { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; grid-template-rows: auto auto auto; row-gap: 20px; }
.wpr-services-area:not(#services) .section-bottom-content .service-wrapper { display: grid; grid-template-rows: subgrid; grid-row: span 3; padding: 32px; }
.wpr-services-area:not(#services) .section-bottom-content .service-wrapper .content { display: grid; grid-template-rows: subgrid; grid-row: 1 / -1; padding: 0 !important; gap: 0 !important; }
.wpr-services-area:not(#services) .section-bottom-content .service-wrapper .content .mid { align-self: end; margin-top: 0 !important; }
.wpr-services-area:not(#services) .section-bottom-content .service-wrapper .content .bottom { align-self: start; }
@supports not (grid-template-rows: subgrid) {
  .wpr-services-area:not(#services) .section-bottom-content { display: flex; flex-wrap: nowrap; row-gap: 0; }
  .wpr-services-area:not(#services) .section-bottom-content .service-wrapper { display: flex; flex-direction: column; flex: 1 1 0 !important; min-width: 0; padding: 0; }
  .wpr-services-area:not(#services) .section-bottom-content .service-wrapper .content { display: flex !important; flex-direction: column; gap: 20px !important; padding: 32px !important; flex: 1 1 auto; }
}
@media (max-width: 991px) {
  .wpr-services-area:not(#services) .section-bottom-content { grid-auto-flow: row; grid-auto-columns: auto; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); grid-template-rows: none; }
  .wpr-services-area:not(#services) .section-bottom-content .service-wrapper { grid-template-rows: none; grid-row: auto; }
  .wpr-services-area:not(#services) .section-bottom-content .service-wrapper .content { grid-template-rows: none; grid-row: auto; display: flex !important; flex-direction: column; gap: 20px !important; }
}
/* La dernière carte n'a pas de filet à droite. */
.wpr-services-area:not(#services) .section-bottom-content .service-wrapper:last-child { border-right: 0; }

/* Tarifs : bascule paiement unique / mensuel 24 mois (modèle validé, sans total ni pourcentage) */
.wpr-pricing-plans-area .pk-bascule{display:inline-flex;align-items:center;gap:0;border:1px solid var(--filet);border-radius:var(--r-bouton);padding:3px;background:var(--fond);margin-top:20px}
.wpr-pricing-plans-area .pk-bascule button{font:inherit;font-weight:600;font-size:14px;white-space:nowrap;padding:9px 16px;border:0;border-radius:4px;background:transparent;color:var(--texte-2);cursor:pointer;transition:background var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out)}
.wpr-pricing-plans-area[data-mode="unique"] .pk-bascule button[data-set="unique"],.wpr-pricing-plans-area[data-mode="mensuel"] .pk-bascule button[data-set="mensuel"]{background:var(--accent);color:var(--fond)}
.wpr-pricing-plans-area .pk-bascule button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
/* Variante C — un chiffre, le mensuel en avant */
.wpr-pricing-plans-area .section-inner .section-mid-area.tarifs-c{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:32px;align-items:stretch}
.tarifs-c .tarif-carte{border:1px solid var(--filet);border-radius:var(--r-carte);background:var(--fond);overflow:hidden;display:flex;flex-direction:column}
.tarifs-c .tarif-carte.accent{border-color:var(--accent)}
.tarifs-c .tarif-carte .haut{padding:32px 32px 24px;display:flex;flex-direction:column;gap:14px}
.tarifs-c .tarif-carte .bas{border-top:1px solid var(--filet);padding:24px 32px 32px;display:flex;flex-direction:column;gap:14px;background:color-mix(in srgb,var(--grille) 32%,var(--fond));flex:1}
.tarifs-c .tarif-etiq{align-self:flex-start;font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);background:var(--violet-fond);border:1px solid var(--violet-filet);border-radius:var(--r-champ);padding:3px 8px}
.tarifs-c .tarif-carte h3{margin:0;font-family:var(--font-corps);font-weight:600;font-size:1.25rem;line-height:1.3;color:var(--encre)}
.tarifs-c .tarif-accroche{margin:0;color:var(--texte-2);font-size:var(--fs-small)}
.tarifs-c .tarif-prix{display:flex;flex-direction:column;gap:4px}
.tarifs-c .tarif-prix .l{font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:.12em;text-transform:uppercase;color:var(--texte-2)}
.tarifs-c .tarif-prix .n{font-family:var(--font-display);font-weight:700;font-size:3rem;line-height:1;letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:var(--encre)}
.tarifs-c .tarif-prix .n small{font-family:var(--font-corps);font-weight:400;font-size:1rem;color:var(--texte-2);letter-spacing:0}
.tarifs-c .tarif-prix .d{font-size:var(--fs-small);color:var(--texte-2)}
.tarifs-c .tarif-liste{margin:0 0 6px;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;font-size:var(--fs-small);color:var(--encre)}
.tarifs-c .tarif-liste li{display:flex;gap:10px;align-items:flex-start}
.tarifs-c .tarif-liste li::before{content:"";flex:none;width:8px;height:8px;margin-top:7px;background:var(--accent)}
.tarifs-c .tarif-ligne{display:flex;justify-content:space-between;gap:16px;font-size:var(--fs-small);color:var(--texte-2);border-top:1px solid var(--filet);padding-top:12px}
.tarifs-c .tarif-ligne b{color:var(--encre);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.tarifs-c .tarif-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.tarifs-c .tarif-actions .wpr-btn{margin:0}
.wpr-pricing-plans-area .tarif-v-mensuel{display:none}
.wpr-pricing-plans-area[data-mode="mensuel"] .tarif-v-unique{display:none}
.wpr-pricing-plans-area[data-mode="mensuel"] .tarif-v-mensuel{display:flex}
@media (max-width:820px){.wpr-pricing-plans-area .section-inner .section-mid-area.tarifs-c{grid-template-columns:1fr}}


/* ============================================================
   Section avis — mur en mouvement (prototype A validé)
   Remplace le carrousel à photos de gabarit sur l'accueil.
   Aucune ombre, filet 1px, violet seul. prefers-reduced-motion respecté.
   ============================================================ */
.ps-mur { padding-block: clamp(3rem, 6vw, 5rem); }
.ps-mur__tete { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 40px; align-items: end; margin-bottom: 34px; }
.ps-mur__tete .sub-title { margin-bottom: 12px; }
.ps-mur__tete .section-title { margin-bottom: 12px; }
.ps-mur__tete .desc { max-width: var(--mesure); margin: 0; color: var(--texte-2); }
.ps-mur__score { display: flex; align-items: center; gap: 20px; border: 1px solid var(--accent); border-radius: var(--r-carte); background: var(--violet-fond); padding: 18px 24px; }
.ps-mur__n { font-family: var(--font-display); font-weight: 700; font-size: 3rem; line-height: 1; color: var(--accent); font-variant-numeric: tabular-nums; letter-spacing: -0.014em; }
.ps-mur__n small { font-family: var(--font-corps); font-weight: 400; font-size: 1rem; color: var(--texte-2); }
.ps-mur__d { display: block; font-size: var(--fs-small); color: var(--texte-2); margin-top: 5px; }
.ps-mur__slotg { width: 104px; height: 32px; flex: none; border: 1px dashed var(--violet-filet); border-radius: 4px; display: grid; place-items: center; font-family: var(--font-mono); font-size: 9px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--texte-2); text-align: center; line-height: 1.2; padding: 2px; }
.ps-mur__et { display: inline-flex; gap: 3px; flex: none; }
.ps-mur__et i { width: 13px; height: 13px; background: var(--accent); clip-path: polygon(50% 0, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%); }
.ps-mur__rangs { display: grid; gap: 20px; }
.ps-mur__piste { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); }
.ps-mur__defile { display: flex; gap: 20px; width: max-content; animation: ps-mur-glisse 64s linear infinite; }
.ps-mur__piste--inv .ps-mur__defile { animation-direction: reverse; }
.ps-mur__piste:hover .ps-mur__defile,
.ps-mur__piste:focus-within .ps-mur__defile { animation-play-state: paused; }
@keyframes ps-mur-glisse { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.ps-mur__av { flex: 0 0 380px; border: 1px solid var(--filet); border-radius: var(--r-carte); padding: 24px 26px; background: var(--fond); display: flex; flex-direction: column; gap: 12px; transition: border-color var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out); }
.ps-mur__av:hover { border-color: var(--accent); transform: translateY(-3px); }
.ps-mur__h { display: flex; align-items: center; gap: 12px; min-height: 34px; }
.ps-mur__h .ps-mur__et { margin-left: auto; }
.ps-mur__q { display: grid; gap: 1px; min-width: 0; }
.ps-mur__q b { font-size: 0.9375rem; font-weight: 600; line-height: 1.3; }
.ps-mur__q span { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--texte-2); }
.ps-mur__logo { height: 24px; width: auto; max-width: 110px; object-fit: contain; filter: grayscale(1); opacity: 0.8; flex: none; }
.ps-mur__ini { width: 34px; height: 34px; flex: none; border: 1px solid var(--filet); border-radius: var(--r-champ); display: grid; place-items: center; font-family: var(--font-mono); font-size: 12px; font-weight: 600; color: var(--accent); background: var(--violet-fond); }
.ps-mur__av p { margin: 0; color: var(--texte-2); font-size: var(--fs-small); text-wrap: pretty; display: -webkit-box; -webkit-line-clamp: 6; -webkit-box-orient: vertical; overflow: hidden; }
.ps-mur__s { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--texte-2); margin-top: auto; padding-top: 10px; border-top: 1px solid var(--filet); }
.ps-mur__pied { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.wpr-btn.wpr-btn--contour { background: var(--fond) !important; color: var(--encre) !important; border: 1px solid var(--filet) !important; }
.wpr-btn.wpr-btn--contour:hover { border-color: var(--encre) !important; }
@media (max-width: 1000px) { .ps-mur__tete { grid-template-columns: 1fr; gap: 24px; align-items: start; } }
@media (max-width: 640px) { .ps-mur__av { flex: 0 0 300px; } }
@media (prefers-reduced-motion: reduce) { .ps-mur__defile { animation: none; } .ps-mur__av { transition: none; } }


/* ============================================================
   Page avis — les huit avis en entier, sous le mur.
   Le mur tronque à 6 lignes ; ici rien n'est coupé.
   ============================================================ */
.ps-liste { padding-block: clamp(2.5rem, 5vw, 4rem); }
.ps-liste__tete { margin-bottom: 28px; }
.ps-liste__tete .sub-title { margin-bottom: 12px; }
.ps-liste__tete .section-title { margin-bottom: 12px; }
.ps-liste__tete .desc { max-width: var(--mesure); margin: 0; color: var(--texte-2); }
.ps-liste__corps { border-top: 1px solid var(--filet); }
.ps-liste__av { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 48px; padding: 30px 0; border-bottom: 1px solid var(--filet); align-items: start; }
.ps-liste__qui { display: grid; gap: 10px; justify-items: start; }
.ps-liste__qui b { font-size: 1.0625rem; font-weight: 600; line-height: 1.3; }
.ps-liste__meta { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--texte-2); line-height: 1.7; }
.ps-liste__txt { margin: 0; font-size: 1.0625rem; line-height: 1.65; text-wrap: pretty; max-width: var(--mesure); }
@media (max-width: 900px) { .ps-liste__av { grid-template-columns: 1fr; gap: 14px; } }
