/*
 * PRATINIUM — Homepage v2.0 — custom-homepage-v2.css
 * Styles pour les 6 sections de la page d'accueil optimisée.
 * Ne modifie aucun style existant. Compatible PrestaShop 9 + classic parent.
 *
 * ACTIVATION : ajouter dans config/theme.yml :
 *   - id: pratiniumtheme-homepage-v2
 *     path: assets/css/custom-homepage-v2.css
 *     media: all
 *     priority: 90
 */

/* ─── Utilitaires globaux ─────────────────────────────────────────────── */
.pf-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}

.pf-section-title {
  font-size: clamp(1.4rem, 2.5vw, 1.9rem);
  font-weight: 700;
  color: #0f172a;
  margin: 0 0 6px;
  letter-spacing: -.02em;
}

.pf-section-sub {
  font-size: 1rem;
  color: #64748b;
  margin: 0 0 28px;
}

/* ─── Boutons ─────────────────────────────────────────────────────────── */
.pf-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 11px 22px;
  border-radius: 9px;
  font-size: .9rem;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: transform .15s, opacity .15s, box-shadow .15s;
  border: none;
  line-height: 1.4;
}

.pf-btn:hover { opacity: .88; transform: translateY(-1px); text-decoration: none; }
.pf-btn:active { transform: scale(.98); }

.pf-btn--primary   { background: #185FA5; color: #fff; }
.pf-btn--primary:hover { background: #1a6ab8; color: #fff; }

.pf-btn--secondary { background: transparent; color: #B5D4F4; border: 1.5px solid #378ADD; }
.pf-btn--secondary:hover { color: #fff; }

.pf-btn--ghost     { background: transparent; color: #94a3b8; border: 1px solid #475569; }
.pf-btn--ghost:hover { color: #cbd5e1; }

.pf-btn--outline   { background: transparent; color: #185FA5; border: 1.5px solid #185FA5; }
.pf-btn--outline:hover { background: #E6F1FB; color: #0C447C; }


/* ═══════════════════════════════════════════════════════════════════════
   SECTION 1 — HERO
   ═══════════════════════════════════════════════════════════════════════ */
.pf-hero {
  position: relative;
  min-height: 420px;
  background: #0C1E35;       /* fallback si image absente */
  overflow: hidden;
  display: flex;
  align-items: center;
}

/* Fallback dégradé si image manquante */
.pf-hero--no-img {
  background: linear-gradient(135deg, #0a1628 0%, #0C1E35 50%, #0f2d4a 100%);
}

.pf-hero__media {
  position: absolute;
  inset: 0;
}

.pf-hero__bg-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.pf-hero__overlay {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: 48px 24px 48px;
  background: linear-gradient(
    180deg,
    rgba(9,16,29,.15) 0%,
    rgba(9,16,29,.75) 100%
  );
  display: flex;
  align-items: center;
  min-height: 420px;
}

.pf-hero__content {
  max-width: 700px;
  position: relative;
}

/* Badge projets actifs */
.pf-hero__badge {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: rgba(21,95,165,.35);
  border: 1px solid #378ADD;
  border-radius: 12px;
  padding: 10px 16px;
  position: absolute;
  right: 0;
  top: 0;
  text-align: center;
  backdrop-filter: blur(8px);
}

.pf-hero__badge-num {
  font-size: 1.6rem;
  font-weight: 700;
  color: #B5D4F4;
  line-height: 1;
}

.pf-hero__badge-label {
  font-size: .7rem;
  color: #85B7EB;
  margin-top: 2px;
}

.pf-hero__eyebrow {
  font-size: .72rem;
  font-weight: 600;
  color: #85B7EB;
  letter-spacing: .06em;
  text-transform: uppercase;
  margin: 0 0 12px;
}

/* H1 SEO — intentionnellement h1 (remplace l'ancien h2) */
.pf-hero__title {
  font-size: clamp(1.6rem, 3.5vw, 2.7rem);
  font-weight: 800;
  color: #ffffff;
  line-height: 1.1;
  letter-spacing: -.03em;
  margin: 0 0 14px;
  max-width: 560px;
}

.pf-hero__subtitle {
  font-size: clamp(.9rem, 1.4vw, 1.05rem);
  color: rgba(255,255,255,.88);
  line-height: 1.65;
  max-width: 500px;
  margin: 0 0 12px;
}

.pf-hero__tagline {
  font-size: .9rem;
  color: #85B7EB;
  margin: 0 0 28px;
  font-style: italic;
}

.pf-hero__ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

@media (max-width: 767px) {
  .pf-hero { min-height: 480px; }
  .pf-hero__overlay { min-height: 480px; padding: 80px 20px 36px; align-items: flex-end; }
  .pf-hero__badge { top: 20px; right: 20px; }
  .pf-hero__ctas { flex-direction: column; gap: 8px; }
  .pf-btn { width: 100%; text-align: center; }
}


/* ═══════════════════════════════════════════════════════════════════════
   SECTION 2 — MÉTRIQUES CLÉS
   ═══════════════════════════════════════════════════════════════════════ */
.pf-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: #e2e8f0;
  border-bottom: 1px solid #e2e8f0;
}

.pf-stats__item {
  background: #fff;
  padding: 18px 12px;
  text-align: center;
}

.pf-stats__num {
  display: block;
  font-size: 1.45rem;
  font-weight: 700;
  color: #0f172a;
  letter-spacing: -.02em;
}

.pf-stats__label {
  display: block;
  font-size: .72rem;
  color: #94a3b8;
  margin-top: 3px;
  text-transform: uppercase;
  letter-spacing: .04em;
}

@media (max-width: 600px) {
  .pf-stats { grid-template-columns: repeat(2, 1fr); }
}


/* ═══════════════════════════════════════════════════════════════════════
   SECTION 3 — BANDE DE CONFIANCE
   ═══════════════════════════════════════════════════════════════════════ */
.pf-trust-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 18px;
  padding: 10px 24px;
  background: #f8fafc;
  border-bottom: 1px solid #e2e8f0;
}

.pf-trust-bar__item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: .78rem;
  color: #475569;
  white-space: nowrap;
}

.pf-trust-bar__dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #16a34a;
  flex-shrink: 0;
}


/* ═══════════════════════════════════════════════════════════════════════
   SECTION 4 — PARCOURS / COMMENT ÇA MARCHE
   ═══════════════════════════════════════════════════════════════════════ */
.pf-parcours {
  padding: 52px 0 44px;
  background: #fff;
  border-bottom: 1px solid #e2e8f0;
}

/* Tabs */
.pf-tabs {
  display: flex;
  gap: 6px;
  margin-bottom: 28px;
  flex-wrap: wrap;
}

.pf-tab {
  font-size: .85rem;
  font-weight: 500;
  padding: 7px 18px;
  border-radius: 999px;
  border: 1px solid #cbd5e1;
  background: transparent;
  color: #64748b;
  cursor: pointer;
  transition: all .15s;
  line-height: 1.4;
}

.pf-tab:hover { border-color: #185FA5; color: #185FA5; }

.pf-tab--active,
.pf-tab[aria-selected="true"] {
  background: #E6F1FB;
  color: #185FA5;
  border-color: #B5D4F4;
  font-weight: 600;
}

/* Steps */
.pf-steps {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

.pf-steps[hidden] { display: none; }
.pf-steps--active { display: flex; }

.pf-step {
  flex: 1;
  text-align: center;
}

.pf-step__num {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #E6F1FB;
  color: #185FA5;
  font-size: .85rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 10px;
}

.pf-step__title {
  font-size: .95rem;
  font-weight: 600;
  color: #0f172a;
  margin: 0 0 6px;
}

.pf-step__desc {
  font-size: .82rem;
  color: #64748b;
  line-height: 1.5;
  margin: 0;
}

.pf-step__arrow {
  font-size: 1.2rem;
  color: #cbd5e1;
  align-self: center;
  flex-shrink: 0;
  padding-bottom: 24px;
  user-select: none;
}

@media (max-width: 600px) {
  .pf-steps { flex-direction: column; align-items: center; gap: 10px; }
  .pf-step__arrow { transform: rotate(90deg); padding: 0; }
}


/* ═══════════════════════════════════════════════════════════════════════
   SECTION 5 — PROJETS EN VEDETTE
   ═══════════════════════════════════════════════════════════════════════ */
.pf-projects {
  padding: 52px 0 44px;
  background: #f8fafc;
  border-bottom: 1px solid #e2e8f0;
}

.pf-projects__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 16px;
  margin-bottom: 28px;
}

.pf-project-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  overflow: hidden;
  transition: box-shadow .2s, transform .2s;
}

.pf-project-card:hover {
  box-shadow: 0 8px 24px rgba(15,23,42,.1);
  transform: translateY(-2px);
}

.pf-project-card__visual {
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
}

.pf-project-card__visual--agri  { background: linear-gradient(135deg,#185FA5,#0F6E56); }
.pf-project-card__visual--energy { background: linear-gradient(135deg,#0F6E56,#854F0B); }

.pf-project-card__body {
  padding: 14px 16px;
}

.pf-project-card__sector {
  display: inline-block;
  font-size: .7rem;
  font-weight: 600;
  color: #185FA5;
  background: #E6F1FB;
  padding: 3px 10px;
  border-radius: 999px;
  margin-bottom: 8px;
  letter-spacing: .03em;
}

.pf-project-card__name {
  font-size: .95rem;
  font-weight: 600;
  color: #0f172a;
  margin: 0 0 10px;
}

.pf-project-card__progress {
  height: 7px;
  background: #e2e8f0;
  border-radius: 999px;
  margin-bottom: 8px;
  overflow: hidden;
}

.pf-project-card__bar {
  display: block;
  height: 100%;
  min-width: 3px;
  background: linear-gradient(90deg,#185FA5,#0F6E56);
  border-radius: 999px;
  transition: width .25s ease;
}

.pf-project-card__meta {
  display: flex;
  justify-content: space-between;
  font-size: .75rem;
  color: #94a3b8;
}

.pf-projects__cta-wrap {
  text-align: center;
}


/* ═══════════════════════════════════════════════════════════════════════
   SECTION 6 — CADRE LÉGAL
   ═══════════════════════════════════════════════════════════════════════ */
.pf-legal {
  padding: 52px 0;
  background: #fff;
}

.pf-legal__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
}

.pf-legal__item {
  background: #f8fafc;
  border-radius: 12px;
  padding: 20px 20px 18px;
}

.pf-legal__icon {
  font-size: 1.6rem;
  margin-bottom: 8px;
}

.pf-legal__title {
  font-size: .95rem;
  font-weight: 600;
  color: #0f172a;
  margin: 0 0 6px;
}

.pf-legal__desc {
  font-size: .82rem;
  color: #64748b;
  line-height: 1.6;
  margin: 0;
}


/* ═══════════════════════════════════════════════════════════════════════
   FOOTER ENRICHI
   ═══════════════════════════════════════════════════════════════════════ */
.pf-footer-links {
  background: #f1f5f9;
  border-top: 1px solid #e2e8f0;
  padding: 14px 24px;
}

.pf-footer-links__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
}

.pf-footer-links__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 16px;
}

.pf-footer-links__nav a {
  font-size: .78rem;
  color: #64748b;
  text-decoration: none;
}

.pf-footer-links__nav a:hover { color: #185FA5; text-decoration: underline; }

.pf-footer-links__copy {
  font-size: .78rem;
  color: #94a3b8;
}

@media (max-width: 600px) {
  .pf-footer-links__inner { flex-direction: column; align-items: flex-start; }
}

/* ─── v5 : parcours intégré dans le hero ─────────────────────────────── */
.pf-hero {
  min-height: 560px;
}

.pf-hero__overlay {
  min-height: 560px;
  padding: 56px 28px;
  background: linear-gradient(90deg, rgba(7,13,24,.80) 0%, rgba(7,13,24,.62) 45%, rgba(7,13,24,.38) 100%);
}

.pf-hero__content {
  width: 100%;
  max-width: 1220px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(360px, .88fr);
  gap: 34px;
  align-items: center;
}

.pf-hero__copy {
  position: relative;
  max-width: 660px;
}

.pf-hero__badge {
  right: 0;
  top: -10px;
}

.pf-hero-journey {
  width: 100%;
  padding: 24px 24px 22px;
  border-radius: 22px;
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(255,255,255,.75);
  box-shadow: 0 24px 60px rgba(2,8,23,.28);
  backdrop-filter: blur(14px);
}

.pf-hero-journey__title {
  margin: 0 0 14px;
  color: #0f172a;
  font-size: clamp(1.15rem, 1.8vw, 1.55rem);
  font-weight: 800;
  letter-spacing: -.03em;
  line-height: 1.15;
}

.pf-hero-journey .pf-tabs {
  margin-bottom: 18px;
  gap: 8px;
}

.pf-hero-journey .pf-tab {
  background: #fff;
  color: #475569;
  border-color: #dbe7f3;
  padding: 8px 16px;
  box-shadow: 0 1px 2px rgba(15,23,42,.04);
}

.pf-hero-journey .pf-tab--active,
.pf-hero-journey .pf-tab[aria-selected="true"] {
  background: #E6F1FB;
  color: #185FA5;
  border-color: #B5D4F4;
}

.pf-hero-journey .pf-steps {
  gap: 10px;
  align-items: stretch;
}

.pf-hero-journey .pf-step {
  text-align: left;
  padding: 14px 12px;
  border-radius: 16px;
  background: #f8fafc;
  border: 1px solid #edf2f7;
}

.pf-hero-journey .pf-step__num {
  margin: 0 0 8px;
  width: 28px;
  height: 28px;
}

.pf-hero-journey .pf-step__title {
  font-size: .92rem;
  margin-bottom: 5px;
}

.pf-hero-journey .pf-step__desc {
  font-size: .78rem;
}

.pf-hero-journey .pf-step__arrow {
  display: none;
}

@media (max-width: 980px) {
  .pf-hero { min-height: auto; }
  .pf-hero__overlay { min-height: auto; padding: 42px 22px; }
  .pf-hero__content {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .pf-hero__copy { max-width: 720px; }
  .pf-hero__badge { position: static; margin-bottom: 16px; width: fit-content; }
}

@media (max-width: 600px) {
  .pf-hero__overlay { padding: 34px 18px; align-items: center; }
  .pf-hero-journey { padding: 18px; border-radius: 18px; }
  .pf-hero-journey .pf-steps { flex-direction: column; }
  .pf-hero-journey .pf-step { width: 100%; }
  .pf-hero-journey .pf-tabs { display: grid; grid-template-columns: 1fr; }
  .pf-hero-journey .pf-tab { width: 100%; }
}

/* ═══════════════════════════════════════════════════════════════════════
   V6 — Parcours intégré proprement dans le HERO, inspiré de la maquette
   ═══════════════════════════════════════════════════════════════════════ */
.pf-hero {
  min-height: 620px;
  align-items: stretch;
}

.pf-hero__overlay {
  min-height: 620px;
  padding: 54px 28px 0;
  background: linear-gradient(180deg, rgba(7,13,24,.58) 0%, rgba(7,13,24,.78) 56%, rgba(7,13,24,.92) 100%);
  align-items: stretch;
}

.pf-hero__content {
  width: 100%;
  max-width: 1220px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 28px;
}

.pf-hero__copy {
  max-width: 940px;
}

.pf-hero__badge {
  right: 0;
  top: 0;
}

.pf-hero__title {
  max-width: 760px;
  font-size: clamp(2rem, 4.8vw, 4.1rem);
  line-height: 1.02;
}

.pf-hero__subtitle {
  max-width: 720px;
}

.pf-hero__ctas {
  gap: 12px;
  margin-top: 8px;
}

.pf-hero__ctas .pf-btn {
  min-width: 190px;
  min-height: 46px;
  border-radius: 9px;
}

.pf-hero-journey {
  width: 100%;
  padding: 28px 0 26px;
  border-radius: 0;
  background: transparent;
  border: 0;
  border-top: 1px solid rgba(181,212,244,.18);
  box-shadow: none;
  backdrop-filter: none;
}

.pf-hero-journey__head {
  display: flex;
  align-items: center;
  gap: 22px;
  flex-wrap: wrap;
  margin-bottom: 22px;
}

.pf-hero-journey__title {
  margin: 0;
  color: rgba(255,255,255,.66);
  font-size: .9rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  white-space: nowrap;
}

.pf-hero-journey .pf-tabs {
  margin: 0;
  gap: 8px;
}

.pf-hero-journey .pf-tab {
  background: rgba(12,30,53,.34);
  color: rgba(255,255,255,.84);
  border: 1px solid rgba(181,212,244,.25);
  border-radius: 9px;
  padding: 10px 20px;
  font-size: .95rem;
  font-weight: 700;
  box-shadow: none;
}

.pf-hero-journey .pf-tab:hover {
  color: #fff;
  border-color: rgba(181,212,244,.55);
}

.pf-hero-journey .pf-tab--active,
.pf-hero-journey .pf-tab[aria-selected="true"] {
  background: rgba(24,95,165,.24);
  color: #fff;
  border-color: #378ADD;
}

.pf-hero-journey .pf-steps {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 42px minmax(0, 1fr) 42px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

.pf-hero-journey .pf-steps[hidden] {
  display: none !important;
}

.pf-hero-journey .pf-step {
  text-align: center;
  padding: 0;
  border-radius: 0;
  background: transparent;
  border: 0;
  color: #fff;
}

.pf-hero-journey .pf-step__num {
  margin: 0 auto 12px;
  width: 36px;
  height: 36px;
  background: rgba(24,95,165,.35);
  border: 1px solid rgba(55,138,221,.65);
  color: #B5D4F4;
}

.pf-hero-journey .pf-step__title {
  color: #fff;
  font-size: 1rem;
  font-weight: 800;
  margin: 0 0 7px;
}

.pf-hero-journey .pf-step__desc {
  color: rgba(255,255,255,.62);
  font-size: .84rem;
  font-weight: 600;
  line-height: 1.45;
  max-width: 220px;
  margin: 0 auto;
}

.pf-hero-journey .pf-step__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 25px 0 0;
  color: rgba(181,212,244,.28);
  font-size: 1.65rem;
}

@media (max-width: 980px) {
  .pf-hero, .pf-hero__overlay { min-height: auto; }
  .pf-hero__overlay { padding: 42px 22px 0; }
  .pf-hero__content { gap: 24px; }
  .pf-hero__badge { position: static; margin-bottom: 14px; }
  .pf-hero-journey .pf-steps {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .pf-hero-journey .pf-step__arrow {
    transform: rotate(90deg);
    padding: 0;
  }
}

@media (max-width: 600px) {
  .pf-hero__overlay { padding: 34px 18px 0; }
  .pf-hero__ctas { flex-direction: column; }
  .pf-hero__ctas .pf-btn { width: 100%; }
  .pf-hero-journey__head { gap: 12px; }
  .pf-hero-journey .pf-tabs { display: grid; grid-template-columns: 1fr; width: 100%; }
  .pf-hero-journey .pf-tab { width: 100%; }
}

/* ═══════════════════════════════════════════════════════════════════════
   V7 — Header CTA + hero allégé + centrage projets
   ═══════════════════════════════════════════════════════════════════════ */
.pf-hero__eyebrow { display: none !important; }

.pf-hero__title {
  font-size: clamp(1.4rem, 2.5vw, 1.9rem) !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  letter-spacing: -.02em !important;
  max-width: 760px !important;
  margin-bottom: 14px !important;
}

/* Les CTA sont déplacés dans le header par JS : en attendant, ils restent visibles côté hero. */
.pf-header-ctas {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin: 0 18px;
  vertical-align: middle;
}

.pf-header-ctas .pf-btn {
  min-width: 0 !important;
  width: auto !important;
  min-height: 38px;
  padding: 8px 16px;
  border-radius: 9px;
  font-size: .88rem;
  font-weight: 700;
  white-space: nowrap;
}

.pf-header-ctas .pf-btn--primary {
  background: #185FA5;
  color: #fff;
}

.pf-header-ctas .pf-btn--secondary,
.pf-header-ctas .pf-btn--ghost {
  color: rgba(255,255,255,.86);
  border-color: rgba(181,212,244,.38);
  background: rgba(12,30,53,.18);
}

.pf-header-ctas .pf-btn--ghost:hover,
.pf-header-ctas .pf-btn--secondary:hover {
  color: #fff;
  border-color: #378ADD;
}

/* Une fois les boutons injectés dans le header, on évite le doublon dans le hero. */
body.pf-ctas-in-header .pf-hero .pf-hero__ctas {
  display: none !important;
}

.pf-projects .pf-section-title,
#pf-projects-title {
  text-align: center !important;
}

@media (max-width: 1024px) {
  .pf-header-ctas {
    gap: 8px;
    margin: 10px 0;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
  }
  .pf-header-ctas .pf-btn {
    flex: 1 1 auto;
    max-width: 240px;
    text-align: center;
  }
  body.pf-ctas-in-header .pf-hero .pf-hero__ctas {
    display: flex !important;
  }
}


/* ═══════════════════════════════════════════════════════════════════════
   V8 — Corrections demandées : titre hero, badge haut droit, CTA près recherche
   ═══════════════════════════════════════════════════════════════════════ */
.pf-hero__title {
  font-size: clamp(2rem, 3vw, 2.75rem) !important;
  font-weight: 800 !important;
  line-height: 1.12 !important;
  max-width: 780px !important;
  margin: 0 0 18px !important;
}

.pf-hero__badge {
  position: absolute !important;
  top: 44px !important;
  right: 56px !important;
  margin: 0 !important;
  z-index: 3 !important;
}

.pf-header-ctas {
  display: inline-flex !important;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  margin: 0 18px 0 auto !important;
  vertical-align: middle;
  flex: 0 0 auto;
}

/* Insertion à côté du bloc recherche PrestaShop */
#search_widget,
#_desktop_search,
.header-top .search-widget {
  display: inline-flex;
  align-items: center;
}

.pf-header-ctas + #search_widget,
.pf-header-ctas + #_desktop_search,
.pf-header-ctas + .search-widget {
  margin-left: 14px;
}

body.pf-ctas-in-header .pf-hero .pf-hero__ctas {
  display: none !important;
}

.pf-projects .pf-section-title,
#pf-projects-title {
  text-align: center !important;
  width: 100%;
}

@media (max-width: 1024px) {
  .pf-hero__badge {
    position: static !important;
    margin: 0 0 16px auto !important;
  }
  body.pf-ctas-in-header .pf-hero .pf-hero__ctas {
    display: flex !important;
  }
}


/* ═══════════════════════════════════════════════════════════════════════
   V9 — Corrections : titre hero, badge angle haut droit, footer doublon
   ═══════════════════════════════════════════════════════════════════════ */
.pf-hero__content {
  position: static !important;
  max-width: 100% !important;
  width: 100% !important;
}

.pf-hero__copy {
  max-width: 980px;
  margin: 0 auto;
  text-align: center;
}

.pf-hero__title {
  font-size: clamp(1.4rem, 2.5vw, 1.9rem) !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  letter-spacing: -.02em !important;
  max-width: 980px !important;
  margin: 0 auto 20px !important;
}

.pf-hero__badge {
  position: absolute !important;
  top: 42px !important;
  right: 62px !important;
  left: auto !important;
  transform: none !important;
  z-index: 4 !important;
}

.footer-container.pratinium-footer-hidden {
  display: none !important;
}

@media (max-width: 1024px) {
  .pf-hero__badge {
    top: 22px !important;
    right: 22px !important;
    position: absolute !important;
  }
}

@media (max-width: 767px) {
  .pf-hero__copy { text-align: left; }
  .pf-hero__title { margin-left: 0 !important; margin-right: 0 !important; }
  .pf-hero__badge { position: static !important; margin: 0 0 14px auto !important; }
}


/* ═══════════════════════════════════════════════════════════════════════
   V10 — CTA Connexion/S’inscrire dans le hero, zone droite
   ═══════════════════════════════════════════════════════════════════════ */
.pf-hero-login-cta {
  position: absolute !important;
  right: 64px !important;
  top: 235px !important;
  z-index: 5 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 48px !important;
  padding: 0 26px !important;
  border-radius: 12px !important;
  background: #185FA5 !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  font-size: 1rem !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  box-shadow: 0 14px 32px rgba(12,30,53,.22) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
}

.pf-hero-login-cta:hover,
.pf-hero-login-cta:focus {
  background: #1a6ab8 !important;
  color: #ffffff !important;
  text-decoration: none !important;
  transform: translateY(-1px);
}

@media (max-width: 1024px) {
  .pf-hero-login-cta {
    right: 22px !important;
    top: 118px !important;
    min-height: 44px !important;
    padding: 0 18px !important;
    font-size: .95rem !important;
  }
}

@media (max-width: 767px) {
  .pf-hero-login-cta {
    position: static !important;
    width: 100% !important;
    max-width: 280px !important;
    margin: 0 0 18px auto !important;
  }
}


/* ═══════════════════════════════════════════════════════════════════════
   V11 — Alignement CTA connexion avec onglets parcours + libellés CTA courts
   ═══════════════════════════════════════════════════════════════════════ */
.pf-hero-login-cta {
  top: 245px !important;
  right: 88px !important;
  min-height: 50px !important;
  padding: 0 28px !important;
  border-radius: 12px !important;
}

.pf-hero-journey__head {
  padding-right: 340px !important;
}

.pf-header-ctas .pf-btn,
.pf-hero__ctas .pf-btn {
  min-width: 0 !important;
}

.pf-header-ctas .pf-btn {
  padding-left: 24px !important;
  padding-right: 24px !important;
}

@media (max-width: 1200px) {
  .pf-hero-login-cta {
    right: 44px !important;
  }
  .pf-hero-journey__head {
    padding-right: 285px !important;
  }
}

@media (max-width: 1024px) {
  .pf-hero-login-cta {
    top: auto !important;
    right: 22px !important;
    bottom: 210px !important;
  }
  .pf-hero-journey__head {
    padding-right: 0 !important;
  }
}

@media (max-width: 767px) {
  .pf-hero-login-cta {
    position: static !important;
    width: 100% !important;
    max-width: 280px !important;
    margin: 0 0 18px 0 !important;
  }
}


/* ═══════════════════════════════════════════════════════════════════════
   V12 — Connexion/S'inscrire aligné horizontalement avec les profils
   ═══════════════════════════════════════════════════════════════════════ */
.pf-hero-journey__head {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: nowrap !important;
  padding-right: 0 !important;
}

.pf-hero-journey__head .pf-tabs {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: nowrap !important;
  margin: 0 !important;
}

.pf-hero-journey__head .pf-tab,
.pf-hero-journey__head .pf-hero-login-cta {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  height: 54px !important;
  min-height: 54px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 10px !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
  margin: 0 !important;
}

.pf-hero-journey__head .pf-tab {
  padding: 0 28px !important;
}

.pf-hero-journey__head .pf-hero-login-cta {
  padding: 0 34px !important;
  background: #185FA5 !important;
  color: #fff !important;
  border: 1px solid rgba(181,212,244,.45) !important;
  box-shadow: none !important;
  text-decoration: none !important;
  margin-left: auto !important;
}

.pf-hero-journey__head .pf-hero-login-cta:hover,
.pf-hero-journey__head .pf-hero-login-cta:focus {
  background: #1a6ab8 !important;
  color: #fff !important;
  text-decoration: none !important;
}

@media (max-width: 1024px) {
  .pf-hero-journey__head {
    flex-wrap: wrap !important;
    gap: 10px !important;
  }
  .pf-hero-journey__head .pf-hero-login-cta {
    margin-left: 0 !important;
  }
}

@media (max-width: 767px) {
  .pf-hero-journey__head .pf-tabs,
  .pf-hero-journey__head .pf-tab,
  .pf-hero-journey__head .pf-hero-login-cta {
    width: 100% !important;
    max-width: none !important;
  }
}

/* ═══════════════════════════════════════════════════════════════════════
   V17 — Header supérieur : masqué uniquement sur la page accueil.
   Il reste visible sur les pages produits, panier, commande et les autres pages.
   ═══════════════════════════════════════════════════════════════════════ */
body#index #header .header-nav,
body#index header .header-nav,
body#index .header-nav {
  display: none !important;
}

body:not(#index) #header .header-nav,
body:not(#index) header .header-nav,
body:not(#index) .header-nav,
body#product #header .header-nav,
body#cart #header .header-nav,
body#order #header .header-nav,
body#checkout #header .header-nav,
body#order-confirmation #header .header-nav {
  display: block !important;
}

/* V17 — CTA header visibles sur toutes les pages et centrés entre logo et recherche. */
#header .header-top,
header .header-top {
  position: relative !important;
}

#header .header-top .container,
header .header-top .container {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
}

.pf-header-ctas {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  flex: 0 0 auto !important;
  order: 20 !important;
}

.pf-header-ctas .pf-btn {
  min-height: 44px !important;
  height: 44px !important;
  min-width: 126px !important;
  padding: 0 26px !important;
  border-radius: 10px !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
}

#search_widget,
#_desktop_search,
.header-top .search-widget,
header .search-widget {
  order: 30 !important;
  margin-left: 0 !important;
}

#_desktop_logo,
.header-top .logo,
header .logo {
  order: 10 !important;
}

@media (max-width: 1024px) {
  #header .header-top .container,
  header .header-top .container {
    flex-wrap: wrap !important;
    justify-content: center !important;
  }
  .pf-header-ctas {
    order: 25 !important;
    width: 100% !important;
    margin: 10px auto !important;
    flex-wrap: wrap !important;
  }
  .pf-header-ctas .pf-btn {
    flex: 1 1 120px !important;
    max-width: 220px !important;
  }
}


/* ═══════════════════════════════════════════════════════════════════════
   V18 — Header : logo à gauche comme V16, CTA + recherche sur une même ligne.
   Header supérieur masqué uniquement sur l'accueil, conservé sur produit/achat.
   ═══════════════════════════════════════════════════════════════════════ */
body#index #header .header-nav,
body#index header .header-nav,
body#index .header-nav,
body.page-index #header .header-nav,
body.page-index header .header-nav,
body.page-index .header-nav {
  display: none !important;
}

body:not(#index):not(.page-index) #header .header-nav,
body:not(#index):not(.page-index) header .header-nav,
body:not(#index):not(.page-index) .header-nav,
body#product #header .header-nav,
body#cart #header .header-nav,
body#order #header .header-nav,
body#checkout #header .header-nav,
body#order-confirmation #header .header-nav {
  display: block !important;
}

#header .header-top .container,
header .header-top .container,
#header .header-top,
header .header-top {
  display: flex !important;
  align-items: center !important;
  gap: 24px !important;
}

#_desktop_logo,
.header-top .logo,
header .logo {
  order: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  flex: 0 0 auto !important;
}

.pf-header-centerline {
  order: 1 !important;
  flex: 1 1 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(22px, 5vw, 80px) !important;
  min-width: 0 !important;
}

.pf-header-centerline .pf-header-ctas {
  order: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  margin: 0 !important;
  flex: 0 0 auto !important;
}

.pf-header-centerline #search_widget,
.pf-header-centerline #_desktop_search,
.pf-header-centerline .search-widget {
  order: 1 !important;
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  flex: 0 1 330px !important;
  max-width: 330px !important;
}

.pf-header-centerline .search-widget form,
.pf-header-centerline #search_widget form {
  width: 100% !important;
}

.pf-header-centerline .pf-header-ctas .pf-btn {
  height: 44px !important;
  min-height: 44px !important;
  min-width: 124px !important;
  padding: 0 24px !important;
  border-radius: 10px !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
  text-decoration: none !important;
}

body.pf-ctas-in-header .pf-hero .pf-hero__ctas { display: none !important; }

@media (max-width: 1024px) {
  #header .header-top .container,
  header .header-top .container,
  #header .header-top,
  header .header-top {
    flex-wrap: wrap !important;
  }
  .pf-header-centerline {
    width: 100% !important;
    flex: 1 1 100% !important;
    gap: 14px !important;
    flex-wrap: wrap !important;
  }
  .pf-header-centerline .pf-header-ctas {
    flex-wrap: wrap !important;
  }
  .pf-header-centerline .pf-header-ctas .pf-btn {
    min-width: 112px !important;
    padding: 0 18px !important;
  }
}

@media (max-width: 767px) {
  .pf-header-centerline .pf-header-ctas,
  .pf-header-centerline #search_widget,
  .pf-header-centerline #_desktop_search,
  .pf-header-centerline .search-widget {
    width: 100% !important;
    max-width: none !important;
    flex: 1 1 100% !important;
  }
  .pf-header-centerline .pf-header-ctas .pf-btn {
    flex: 1 1 30% !important;
  }
}

/* ═══════════════════════════════════════════════════════════════════════
   V19 — Header : suppression de "Contactez-nous" en haut, lien Contact
   conservé au footer, et recherche toujours entièrement visible.
   ═══════════════════════════════════════════════════════════════════════ */
#header .header-nav #contact-link,
header .header-nav #contact-link,
#header .header-nav .contact-link,
header .header-nav .contact-link,
#header .header-nav a[href$="/contact"],
#header .header-nav a[href$="contact"],
header .header-nav a[href$="/contact"],
header .header-nav a[href$="contact"] {
  display: none !important;
}

#header .header-top,
header .header-top,
#header .header-top .container,
header .header-top .container {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

#header .header-top .container,
header .header-top .container {
  padding-left: clamp(18px, 2.4vw, 42px) !important;
  padding-right: clamp(18px, 2.4vw, 42px) !important;
}

.pf-header-centerline {
  max-width: calc(100% - 260px) !important;
  margin-left: auto !important;
  box-sizing: border-box !important;
  justify-content: flex-end !important;
  gap: clamp(18px, 3.2vw, 64px) !important;
  overflow: visible !important;
}

.pf-header-centerline .pf-header-ctas {
  flex: 0 0 auto !important;
}

.pf-header-centerline #search_widget,
.pf-header-centerline #_desktop_search,
.pf-header-centerline .search-widget {
  flex: 0 0 clamp(260px, 20vw, 340px) !important;
  width: clamp(260px, 20vw, 340px) !important;
  max-width: clamp(260px, 20vw, 340px) !important;
  min-width: 260px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

.pf-header-centerline #search_widget form,
.pf-header-centerline #_desktop_search form,
.pf-header-centerline .search-widget form,
.pf-header-centerline #search_widget input,
.pf-header-centerline #_desktop_search input,
.pf-header-centerline .search-widget input,
.pf-header-centerline #search_widget input[type="text"],
.pf-header-centerline #_desktop_search input[type="text"],
.pf-header-centerline .search-widget input[type="text"] {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

@media (max-width: 1199px) {
  .pf-header-centerline {
    max-width: 100% !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
  }
  .pf-header-centerline #search_widget,
  .pf-header-centerline #_desktop_search,
  .pf-header-centerline .search-widget {
    flex: 0 1 320px !important;
    width: 320px !important;
    max-width: 100% !important;
  }
}

/* ═══════════════════════════════════════════════════════════════════════
   V48 — Écosystème de confiance / partenaires premium
   ═══════════════════════════════════════════════════════════════════════ */
.pf-partners {
  position: relative;
  padding: clamp(34px, 5vw, 64px) 0 28px;
  background:
    radial-gradient(circle at 12% 12%, rgba(24,95,165,.14), transparent 34%),
    linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
}

.pf-partners__panel {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
  gap: clamp(28px, 5vw, 62px);
  align-items: center;
  padding: clamp(28px, 4.4vw, 56px);
  border: 1px solid rgba(148,163,184,.28);
  border-radius: 28px;
  background: rgba(255,255,255,.74);
  box-shadow: 0 28px 80px rgba(15,23,42,.10), inset 0 1px 0 rgba(255,255,255,.85);
  backdrop-filter: blur(16px);
  overflow: hidden;
}

.pf-partners__panel::before {
  content: "";
  position: absolute;
  inset: auto auto -120px -80px;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background: rgba(24,95,165,.10);
  filter: blur(8px);
  pointer-events: none;
}

.pf-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  color: #185FA5;
  font-size: .86rem;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.pf-eyebrow::before {
  content: "";
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #185FA5;
  box-shadow: 0 0 0 6px rgba(24,95,165,.12);
}

.pf-partners__title {
  max-width: 650px;
  margin: 0 0 18px;
  color: #0f172a;
  font-size: clamp(1.85rem, 3.3vw, 3rem);
  font-weight: 900;
  line-height: 1.08;
  letter-spacing: -.045em;
}

.pf-partners__text {
  max-width: 760px;
  margin: 0;
  color: #64748b;
  font-size: clamp(1rem, 1.25vw, 1.18rem);
  line-height: 1.85;
}

.pf-partners__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.pf-partners__grid--logos {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pf-partner-logo-card {
  position: relative;
  min-height: 132px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 22px 18px;
  border: 1px solid rgba(203,213,225,.9);
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(248,250,252,.9));
  box-shadow: 0 18px 42px rgba(15,23,42,.08);
  overflow: hidden;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.pf-partner-logo-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,.74) 45%, transparent 62%);
  transform: translateX(-120%);
  transition: transform .7s ease;
}

.pf-partner-logo-card:hover {
  transform: translateY(-4px);
  border-color: rgba(24,95,165,.35);
  box-shadow: 0 26px 70px rgba(15,23,42,.13);
}

.pf-partner-logo-card:hover::after { transform: translateX(120%); }

.pf-partner-logo-card img {
  position: relative;
  z-index: 1;
  width: min(190px, 100%);
  height: 54px;
  object-fit: contain;
  display: block;
}

.pf-partner-logo-card strong {
  position: relative;
  z-index: 1;
  color: #1e293b;
  font-size: .95rem;
  font-weight: 900;
  line-height: 1.15;
  text-align: center;
}

.pf-partner-logo-card__mark {
  position: relative;
  z-index: 1;
  width: 54px;
  height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(24,95,165,.12), rgba(15,110,86,.12));
  color: #185FA5;
  font-size: 2rem;
  font-weight: 900;
}

.pf-projects {
  padding-top: clamp(38px, 5vw, 72px) !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 48%, #f8fafc 100%) !important;
}

.pf-project-card {
  border-radius: 20px !important;
  box-shadow: 0 18px 46px rgba(15,23,42,.07);
}

.pf-project-card__visual {
  height: 112px !important;
  font-size: 1.8rem !important;
}

.pf-project-card__bar {
  background: linear-gradient(90deg,#185FA5 0%,#0F6E56 76%,#f6b83f 100%) !important;
}

@media (min-width: 1200px) {
  .pf-container { max-width: 1320px; }
  .pf-projects__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
}

@media (max-width: 900px) {
  .pf-partners__panel {
    grid-template-columns: 1fr;
    border-radius: 22px;
  }
  .pf-partners__grid { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
  .pf-partners { padding: 22px 0 18px; }
  .pf-partners__panel { padding: 24px 18px; }
  .pf-partner-card { min-height: 96px; }
}

/* V49 — partenaires : affichage logos + noms uniquement */
@media (max-width: 1100px) {
  .pf-partners__grid--logos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .pf-partners__grid--logos { grid-template-columns: 1fr; }
  .pf-partner-logo-card { min-height: 112px; }
}


/* V50 compact partners */
.pf-partners__grid--logos{display:flex;flex-wrap:wrap;gap:24px;align-items:center}
.pf-partner-logo-card{background:transparent!important;border:none!important;box-shadow:none!important;min-height:auto!important;padding:10px 18px!important}
.pf-partner-logo-card img{max-height:42px;width:auto}

/* V51 — partenaires premium en bandeau logos + noms, sans images externes cassées */
.pf-partners--strip{
  padding:clamp(28px,4.2vw,54px) 0 22px!important;
}
.pf-partners__panel--strip{
  grid-template-columns:minmax(360px,.92fr) minmax(560px,1.08fr)!important;
  gap:clamp(28px,4vw,56px)!important;
  align-items:center!important;
}
.pf-partners__strip{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:clamp(14px,1.6vw,22px);
  align-items:center;
}
.pf-partner-inline{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:96px;
  padding:8px 6px;
  border-radius:18px;
  transition:transform .22s ease, background .22s ease, box-shadow .22s ease;
}
.pf-partner-inline:hover{
  transform:translateY(-3px);
  background:rgba(255,255,255,.72);
  box-shadow:0 16px 42px rgba(15,23,42,.08);
}
.pf-partner-mark{
  width:54px;
  height:54px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:18px;
  color:#fff;
  font-size:.9rem;
  font-weight:950;
  letter-spacing:.02em;
  box-shadow:0 14px 30px rgba(15,23,42,.12), inset 0 1px 0 rgba(255,255,255,.28);
}
.pf-partner-mark--ecobank{background:linear-gradient(135deg,#185FA5,#0F6E56)}
.pf-partner-mark--cci{background:linear-gradient(135deg,#0F6E56,#185FA5)}
.pf-partner-mark--yousign{background:linear-gradient(135deg,#185FA5,#7c3aed)}
.pf-partner-mark--sumsub{background:linear-gradient(135deg,#0ea5e9,#185FA5)}
.pf-partner-mark--bceao{background:linear-gradient(135deg,#0f172a,#185FA5)}
.pf-partner-inline strong{
  color:#1e293b;
  font-size:.96rem;
  font-weight:900;
  line-height:1.12;
  text-align:center;
  white-space:nowrap;
}
.pf-partners__caption{
  grid-column:2;
  margin:-8px 0 0;
  color:#64748b;
  font-size:.95rem;
  font-weight:700;
  text-align:center;
}
@media(max-width:1100px){
  .pf-partners__panel--strip{grid-template-columns:1fr!important;}
  .pf-partners__strip{grid-template-columns:repeat(3,minmax(0,1fr));}
  .pf-partners__caption{grid-column:1;}
}
@media(max-width:640px){
  .pf-partners__strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .pf-partner-inline{min-height:84px;}
  .pf-partner-mark{width:46px;height:46px;border-radius:15px;font-size:.78rem;}
  .pf-partner-inline strong{font-size:.9rem;}
}


/* V54 — partenaires : bloc réduit, typographie alignée à la capture de référence */
.pf-partners--strip{
  padding:26px 0 18px!important;
}
.pf-partners__panel--strip{
  grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr)!important;
  gap:clamp(22px,3.2vw,44px)!important;
  padding:clamp(28px,3.2vw,44px)!important;
  border-radius:28px!important;
  min-height:auto!important;
}
.pf-partners__copy{
  max-width:640px!important;
}
.pf-partners .pf-eyebrow{
  margin-bottom:14px!important;
  font-size:.82rem!important;
  letter-spacing:.18em!important;
}
.pf-partners__title{
  max-width:620px!important;
  margin:0 0 14px!important;
  font-size:clamp(1.75rem,2.25vw,2.35rem)!important;
  line-height:1.13!important;
  letter-spacing:-.035em!important;
}
.pf-partners__text{
  max-width:700px!important;
  font-size:clamp(.98rem,1.05vw,1.08rem)!important;
  line-height:1.65!important;
}
.pf-partners__strip{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:stretch!important;
}
.pf-partner-inline{
  min-height:64px!important;
  padding:12px 14px!important;
  border:1px solid rgba(203,213,225,.85)!important;
  border-radius:18px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(248,250,252,.88))!important;
  box-shadow:0 14px 32px rgba(15,23,42,.055)!important;
}
.pf-partner-inline:hover{
  transform:translateY(-2px)!important;
  border-color:rgba(24,95,165,.28)!important;
  box-shadow:0 18px 42px rgba(15,23,42,.085)!important;
}
.pf-partner-inline strong{
  font-size:.92rem!important;
  font-weight:900!important;
  letter-spacing:.02em!important;
  white-space:normal!important;
}
@media(max-width:1100px){
  .pf-partners__panel--strip{grid-template-columns:1fr!important;padding:28px 22px!important;}
  .pf-partners__strip{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media(max-width:640px){
  .pf-partners--strip{padding:18px 0 14px!important;}
  .pf-partners__panel--strip{padding:22px 16px!important;border-radius:22px!important;}
  .pf-partners__title{font-size:1.55rem!important;}
  .pf-partners__text{font-size:.96rem!important;line-height:1.55!important;}
  .pf-partners__strip{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;}
  .pf-partner-inline{min-height:54px!important;padding:10px!important;}
  .pf-partner-inline strong{font-size:.82rem!important;}
}


/* ═══════════════════════════════════════════════════════════════════════
   v59 — Footer global encadré sur toutes les pages
   ═══════════════════════════════════════════════════════════════════════ */
.footer-container.pratinium-footer-hidden { display: none !important; }

#footer, footer#footer {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

.pf-footer-links.pf-footer-links--global {
  width: calc(100% - 48px);
  max-width: none;
  margin: 28px auto 26px;
  padding: 16px 40px;
  background: #eef4fa;
  border: 1px solid #dfe8f2;
  border-radius: 24px;
  box-shadow: 0 18px 40px rgba(15, 23, 42, .06);
}

.pf-footer-links.pf-footer-links--global .pf-footer-links__inner {
  max-width: none;
  width: 100%;
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.pf-footer-links.pf-footer-links--global .pf-footer-links__nav {
  display: flex;
  align-items: center;
  gap: 30px;
  flex-wrap: wrap;
}

.pf-footer-links.pf-footer-links--global .pf-footer-links__nav a,
.pf-footer-links.pf-footer-links--global .pf-footer-links__copy {
  font-family: inherit;
  font-size: 15px;
  line-height: 1.35;
  font-weight: 500;
  color: #718198;
  text-decoration: none;
}

.pf-footer-links.pf-footer-links--global .pf-footer-links__nav a:hover {
  color: #185FA5;
  text-decoration: none;
}

@media (max-width: 768px) {
  .pf-footer-links.pf-footer-links--global {
    width: calc(100% - 24px);
    margin: 18px auto 18px;
    padding: 16px 18px;
    border-radius: 18px;
  }
  .pf-footer-links.pf-footer-links--global .pf-footer-links__inner {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 10px;
  }
  .pf-footer-links.pf-footer-links--global .pf-footer-links__nav {
    justify-content: center;
    gap: 14px 20px;
  }
  .pf-footer-links.pf-footer-links--global .pf-footer-links__nav a,
  .pf-footer-links.pf-footer-links--global .pf-footer-links__copy {
    font-size: 14px;
  }
}
/* PRATINIUM v61 — correctif visible même après cache partiel : fintech premium, contraste, profondeur, lumière */
:root{--pf61-night:#030712;--pf61-blue:#071a3d;--pf61-gold:#f7c75d;--pf61-gold2:#ffe7a8;--pf61-cyan:#5ee7ff;--pf61-ink:#0b1220;--pf61-card:rgba(255,255,255,.92);--pf61-shadow:0 34px 110px rgba(2,6,23,.30),0 12px 34px rgba(2,6,23,.18)}
body#index,body#module-pratiniumlogin-home{background:linear-gradient(180deg,#f7f8fb 0%,#fff 42%,#f3f6fb 100%)!important;color:var(--pf61-ink)!important;}
body#index main,body#index #wrapper{background:radial-gradient(circle at 8% 4%,rgba(247,199,93,.16),transparent 24%),radial-gradient(circle at 92% 8%,rgba(94,231,255,.14),transparent 28%),linear-gradient(180deg,#f8fafc,#ffffff)!important;}
body#index .pf-hero,body#index section.pf-hero{position:relative!important;isolation:isolate!important;min-height:clamp(700px,82vh,940px)!important;margin:18px auto 34px!important;border-radius:36px!important;overflow:hidden!important;background:linear-gradient(135deg,#030712 0%,#071a3d 44%,#0d1326 100%)!important;box-shadow:0 44px 140px rgba(2,6,23,.42),0 18px 50px rgba(2,6,23,.28)!important;border:1px solid rgba(255,255,255,.13)!important;}
body#index .pf-hero:before{content:""!important;position:absolute!important;inset:-22% -8% auto -8%!important;height:58%!important;z-index:1!important;background:radial-gradient(circle at 16% 30%,rgba(255,231,168,.48),transparent 24%),radial-gradient(circle at 72% 18%,rgba(94,231,255,.30),transparent 25%),linear-gradient(90deg,transparent,rgba(255,255,255,.09),transparent)!important;filter:blur(8px)!important;animation:pf61Light 10s ease-in-out infinite alternate!important;pointer-events:none!important;}
body#index .pf-hero:after{content:""!important;position:absolute!important;inset:0!important;z-index:1!important;background:linear-gradient(115deg,rgba(3,7,18,.97) 0%,rgba(3,7,18,.85) 38%,rgba(7,26,61,.54) 70%,rgba(3,7,18,.42) 100%),radial-gradient(circle at 70% 74%,rgba(247,199,93,.22),transparent 32%)!important;pointer-events:none!important;}
body#index .pf-hero__media,body#index .pf-hero__media picture,body#index .pf-hero__media img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;z-index:0!important;}
body#index .pf-hero__bg-img{object-fit:cover!important;filter:contrast(1.2) saturate(1.2) brightness(.62)!important;transform:scale(1.06)!important;}
body#index .pf-hero__overlay{position:relative!important;z-index:2!important;min-height:inherit!important;background:transparent!important;}
body#index .pf-hero__content{position:relative!important;z-index:3!important;display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(360px,.82fr)!important;align-items:center!important;gap:clamp(32px,5vw,76px)!important;padding:clamp(54px,8vw,106px) clamp(22px,6vw,86px)!important;}
body#index .pf-hero__copy{max-width:980px!important;animation:pf61Rise .75s cubic-bezier(.16,1,.3,1) both!important;}
body#index .pf-hero__badge{display:inline-flex!important;align-items:center!important;gap:10px!important;padding:11px 16px!important;border-radius:999px!important;background:linear-gradient(135deg,var(--pf61-gold2),var(--pf61-gold))!important;color:#111827!important;font-weight:900!important;box-shadow:0 18px 52px rgba(247,199,93,.35),inset 0 1px 0 rgba(255,255,255,.65)!important;border:1px solid rgba(255,255,255,.7)!important;}
body#index .pf-hero__title{font-size:clamp(3.15rem,7.2vw,7.2rem)!important;line-height:.88!important;letter-spacing:-.07em!important;color:#fff!important;max-width:1050px!important;text-shadow:0 3px 0 rgba(255,255,255,.04),0 30px 72px rgba(0,0,0,.58)!important;margin:22px 0!important;}
body#index .pf-hero__title:after{content:""!important;display:block!important;width:min(260px,48vw)!important;height:4px!important;margin:26px 0 0!important;border-radius:999px!important;background:linear-gradient(90deg,var(--pf61-gold),var(--pf61-cyan),transparent)!important;box-shadow:0 0 32px rgba(247,199,93,.84)!important;}
body#index .pf-hero__subtitle{max-width:790px!important;color:rgba(255,255,255,.96)!important;font-size:clamp(1.12rem,1.9vw,1.48rem)!important;line-height:1.72!important;text-shadow:0 18px 38px rgba(0,0,0,.42)!important;}
body#index .pf-hero__subtitle:after{content:"Capital productif • Précommandes • Intelligence collective • Traçabilité"!important;display:block!important;margin-top:18px!important;color:rgba(255,231,168,.96)!important;font-weight:800!important;font-size:clamp(.9rem,1.2vw,1.05rem)!important;letter-spacing:.02em!important;}
body#index .pf-hero__ctas{display:flex!important;flex-wrap:wrap!important;gap:14px!important;margin-top:30px!important;}
body#index .pf-btn{border-radius:999px!important;font-weight:900!important;letter-spacing:.01em!important;transition:transform .22s ease,box-shadow .22s ease,filter .22s ease,background .22s ease!important;}
body#index .pf-btn:hover{transform:translateY(-4px)!important;filter:saturate(1.12) brightness(1.04)!important;}
body#index .pf-btn--primary{background:linear-gradient(135deg,#ffe7a8,#f7b733)!important;color:#111827!important;box-shadow:0 22px 54px rgba(247,183,51,.42),inset 0 1px 0 rgba(255,255,255,.7)!important;border:1px solid rgba(255,255,255,.64)!important;}
body#index .pf-btn--secondary{background:rgba(255,255,255,.12)!important;color:#fff!important;border:1px solid rgba(255,255,255,.30)!important;box-shadow:0 18px 40px rgba(0,0,0,.28)!important;backdrop-filter:blur(16px)!important;}
body#index .pf-btn--ghost{background:rgba(94,231,255,.13)!important;color:#fff!important;border:1px solid rgba(94,231,255,.42)!important;box-shadow:0 18px 40px rgba(14,165,233,.20)!important;backdrop-filter:blur(16px)!important;}
body#index .pf-hero-journey{background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,255,255,.84))!important;border:1px solid rgba(255,255,255,.72)!important;border-radius:30px!important;box-shadow:var(--pf61-shadow)!important;backdrop-filter:blur(24px) saturate(1.25)!important;animation:pf61Float 6s ease-in-out infinite!important;}
body#index .pf-stats,body#index .pf-partners__panel,body#index .pf-project-card,body#index .pf-legal__item{box-shadow:var(--pf61-shadow)!important;border:1px solid rgba(255,255,255,.78)!important;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,255,255,.86))!important;}
body#index .pf-stats__num,body#index .pf-section-title,body#index .pf-partners__title{color:#07111f!important;text-shadow:0 12px 30px rgba(15,23,42,.08)!important;}
body#index .pf-trust-bar{background:linear-gradient(90deg,#030712,#0b2a52 52%,#030712)!important;color:#fff!important;box-shadow:0 22px 58px rgba(2,6,23,.30)!important;border-top:1px solid rgba(255,255,255,.10)!important;border-bottom:1px solid rgba(255,255,255,.10)!important;}
body#index .pf-trust-bar__item{color:rgba(255,255,255,.94)!important;font-weight:800!important;}
body#index .pf-trust-icon{width:21px!important;height:21px!important;margin-right:8px!important;color:var(--pf61-gold)!important;filter:drop-shadow(0 0 12px rgba(247,199,93,.56))!important;vertical-align:-5px!important;}
body#index .pf-trust-bar__dot{display:none!important;}
body#index .pf-step,body#index .pf-project-card,body#index .pf-legal__item,.pf-partner-inline{transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease!important;}
body#index .pf-step:hover,body#index .pf-project-card:hover,body#index .pf-legal__item:hover,.pf-partner-inline:hover{transform:translateY(-5px)!important;box-shadow:0 24px 62px rgba(15,23,42,.18)!important;border-color:rgba(247,199,93,.60)!important;}
.pf-svg-icon{width:1em;height:1em;display:block;fill:none;stroke:currentColor;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.pf-project-card__visual .pf-svg-icon,.pf-legal__icon .pf-svg-icon{width:36px;height:36px;margin:auto}.pf-legal__icon,.pf-project-card__visual{display:grid!important;place-items:center!important}
/* Masquage robuste des catégories PrestaShop par défaut du menu, desktop + mobile */
#_desktop_top_menu,#_mobile_top_menu,.top-menu[data-depth="0"],.menu.js-top-menu,.pf-header-classic-top-hook .top-menu,.pf-header-classic-top-hook .menu,#mobile_top_menu_wrapper .js-top-menu.mobile{display:none!important;visibility:hidden!important;max-height:0!important;height:0!important;opacity:0!important;overflow:hidden!important;pointer-events:none!important;margin:0!important;padding:0!important;border:0!important;}
@keyframes pf61Rise{from{opacity:0;transform:translateY(26px) scale(.985)}to{opacity:1;transform:none}}@keyframes pf61Float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes pf61Light{from{transform:translateX(-20px) scale(1)}to{transform:translateX(34px) scale(1.08)}}
@media (max-width:991px){body#index .pf-hero__content{grid-template-columns:1fr!important;text-align:center!important;padding:46px 18px!important}body#index .pf-hero__title:after{margin-left:auto!important;margin-right:auto!important}body#index .pf-hero__ctas{justify-content:center!important}body#index .pf-hero{min-height:820px!important;border-radius:26px!important}.pf-hero-journey{animation:none!important}}
@media (prefers-reduced-motion:reduce){body#index *,body#index *:before,body#index *:after{animation:none!important;transition:none!important}}