/* ==========================================================================
   PRODUITS STRUCTURÉS PAGE — Feuille de style v1.2
   Reset identique au pattern SCPI : border:none sur tout, puis !important
   sur les éléments qui ont besoin d'une bordure (pill, cards, etc.)
   ========================================================================== */

:root {
  --ps-navy:         #07124a;
  --ps-orange:       #f18815;
  --ps-orange-light: rgba(241,136,21,0.12);
  --ps-grey:         #4a5568;
  --ps-grey-light:   #64748b;
  --ps-border:       #dde1ea;
  --ps-bg-soft:      #f4f6fb;
  --ps-bg-icon:      #eef1f9;
  --ps-radius:       18px;
  --ps-radius-sm:    12px;
  --ps-font:         'Plus Jakarta Sans','Poppins',sans-serif;
}

/* Reset global — identique SCPI : border:none sur tout pour neutraliser Elementor */
.ps-block {
  font-family: var(--ps-font) !important;
  width: 100%;
  box-sizing: border-box;
}
.ps-block *,
.ps-block *::before,
.ps-block *::after {
  box-sizing: border-box;
  font-family: var(--ps-font) !important;
  border: none;
  outline: none;
}
.ps-block h2,.ps-block h3,.ps-block h4,
.ps-block p,.ps-block span,.ps-block li,
.ps-block strong,.ps-block a,.ps-block div {
  font-family: var(--ps-font) !important;
  text-decoration: none;
  border: none;
}

.ps-block {
  max-width: 1200px;
  margin: 0 auto;
  color: var(--ps-navy);
  padding: 0 24px;
}

/* ── PILL — conforme design system (border !important pour passer le reset) ── */
.ps-pill {
  display: inline-block;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--ps-navy);
  border: 1.5px solid var(--ps-navy) !important;
  border-radius: 30px;
  padding: 6px 18px;
  margin-bottom: 22px;
}

.ps-h2 { font-size: clamp(22px,3vw,34px); font-weight: 800; color: var(--ps-navy); line-height: 1.2; margin-bottom: 14px; }
.ps-h3 { font-size: 19px; font-weight: 700; color: var(--ps-navy); line-height: 1.3; margin-bottom: 10px; }
.ps-p  { font-size: 16px; color: var(--ps-grey); line-height: 1.8; margin-bottom: 14px; }
.ps-divider { width: 100%; height: 1px; background: var(--ps-border) !important; }

/* ── GRIDS ── */
.ps-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }

/* ── BOUTONS ── */
.ps-btn-primary {
  display: inline-flex; align-items: center; gap: 10px;
  background: var(--ps-orange) !important; color: #fff !important;
  font-weight: 700; font-size: 15px;
  border-radius: 50px !important;
  padding: 14px 28px; border: none !important; cursor: pointer;
  transition: background .2s, transform .15s; white-space: nowrap;
  text-decoration: none !important;
}
.ps-btn-primary:hover { background: #d97709 !important; transform: translateY(-1px); }
.ps-btn-primary svg { width: 18px; height: 18px; stroke: #fff; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }

.ps-btn-outline {
  display: inline-flex; align-items: center; gap: 10px;
  background: transparent !important; color: var(--ps-navy) !important;
  font-weight: 700; font-size: 15px;
  border-radius: 50px !important;
  padding: 13px 26px; border: 2px solid var(--ps-navy) !important;
  cursor: pointer; transition: background .2s; white-space: nowrap;
  text-decoration: none !important;
}
.ps-btn-outline:hover { background: var(--ps-bg-soft) !important; }

/* ── ICON WRAP ── */
.ps-icon-wrap {
  width: 48px; height: 48px; border-radius: 14px;
  background: var(--ps-bg-icon); flex-shrink: 0;
  display: flex; align-items: center; justify-content: center; margin-bottom: 16px;
}
.ps-icon-wrap svg { width: 22px; height: 22px; stroke: var(--ps-navy); fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ps-icon-wrap.orange { background: var(--ps-orange-light); }
.ps-icon-wrap.orange svg { stroke: var(--ps-orange); }

/* ── S1 ── */
.ps-section-1 { padding: 72px 0 64px; }
.ps-visual { background: var(--ps-navy); border-radius: var(--ps-radius); padding: 32px 28px; }
.ps-visual-label {
  font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: var(--ps-orange); margin-bottom: 20px; display: flex; align-items: center; gap: 8px;
}
.ps-visual-label::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: var(--ps-orange); flex-shrink: 0; }
.ps-kpi-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 18px; }
.ps-kpi { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.10) !important; border-radius: var(--ps-radius-sm); padding: 16px 14px; }
.ps-kpi__label { font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; color: rgba(255,255,255,.5); margin-bottom: 6px; }
.ps-kpi__val   { font-size: 19px; font-weight: 800; color: #fff; line-height: 1; }
.ps-kpi__val span { font-size: 13px; font-weight: 600; }
.ps-kpi__sub   { font-size: 11px; color: rgba(255,255,255,.45); margin-top: 4px; }
.ps-schema { display: flex; align-items: center; justify-content: space-between; background: rgba(255,255,255,.05); border-radius: var(--ps-radius-sm); padding: 14px 12px; gap: 4px; margin-top: 4px; }
.ps-schema-item { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; flex: 1; min-width: 0; }
.ps-schema-item__icon { width: 34px; height: 34px; border-radius: 10px; background: rgba(255,255,255,.10); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.ps-schema-item__icon svg { width: 16px; height: 16px; stroke: var(--ps-orange); fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ps-schema-item__label { font-size: 10px; font-weight: 600; color: rgba(255,255,255,.7); line-height: 1.3; }
.ps-schema-arrow { color: rgba(255,255,255,.3); font-size: 16px; flex-shrink: 0; }

/* ── S2 ── */
.ps-section-2 { padding: 64px 0; background: var(--ps-bg-soft); margin: 0 -24px; padding-left: 24px; padding-right: 24px; }
.ps-section-2-inner { max-width: 1200px; margin: 0 auto; }
.ps-features-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; margin-top: 40px; }
.ps-feat { background: #fff; border: 1.5px solid var(--ps-border) !important; border-radius: var(--ps-radius); padding: 22px 20px; display: flex; gap: 16px; align-items: flex-start; transition: box-shadow .2s; }
.ps-feat:hover { box-shadow: 0 6px 24px rgba(7,18,74,.07); }
.ps-feat.wide { grid-column: span 2; border-left: 4px solid var(--ps-orange) !important; border-radius: 0 var(--ps-radius) var(--ps-radius) 0; }
.ps-feat__body { flex: 1; min-width: 0; }
.ps-feat__title { font-size: 15px; font-weight: 700; color: var(--ps-navy); margin-bottom: 6px; }
.ps-feat__desc  { font-size: 13px; color: var(--ps-grey-light); line-height: 1.7; }
.ps-feat__desc strong { color: var(--ps-navy); font-weight: 700; }
.ps-steps { display: flex; gap: 0; margin-top: 40px; border-radius: var(--ps-radius); overflow: hidden; }
.ps-step { flex: 1; background: #fff; border: 1.5px solid var(--ps-border) !important; padding: 26px 20px; }
.ps-step:not(:first-child) { border-left: none !important; }
.ps-step:first-child  { border-radius: var(--ps-radius) 0 0 var(--ps-radius); }
.ps-step:last-child   { border-radius: 0 var(--ps-radius) var(--ps-radius) 0; }
.ps-step__num { width: 32px; height: 32px; border-radius: 50%; background: var(--ps-orange); color: #fff; font-size: 14px; font-weight: 800; display: flex; align-items: center; justify-content: center; margin-bottom: 14px; }
.ps-step__title { font-size: 14px; font-weight: 700; color: var(--ps-navy); margin-bottom: 6px; }
.ps-step__desc  { font-size: 13px; color: var(--ps-grey-light); line-height: 1.6; }

/* ── S3 ── */
.ps-section-3 { padding: 64px 0; }
.ps-avantages-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; margin-top: 40px; }
.ps-av { display: flex; align-items: flex-start; gap: 14px; padding: 20px 18px; border: 1.5px solid var(--ps-border) !important; border-radius: var(--ps-radius-sm); background: #fff; transition: box-shadow .2s; }
.ps-av:hover { box-shadow: 0 6px 24px rgba(7,18,74,.07); }
.ps-av__dot { width: 10px; height: 10px; border-radius: 50%; background: var(--ps-orange); margin-top: 5px; flex-shrink: 0; }
.ps-av__title { font-size: 14px; font-weight: 700; color: var(--ps-navy); margin-bottom: 4px; }
.ps-av__desc  { font-size: 13px; color: var(--ps-grey-light); line-height: 1.65; }
.ps-risques { background: #fff5eb; border: 1.5px solid rgba(241,136,21,.3) !important; border-radius: var(--ps-radius); padding: 26px 28px; margin-top: 40px; }
.ps-risques__title { font-size: 16px; font-weight: 700; color: var(--ps-navy); margin-bottom: 16px; display: flex; align-items: center; gap: 10px; }
.ps-risques__title svg { width: 20px; height: 20px; stroke: var(--ps-orange); fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
.ps-risques ul { list-style: none; display: flex; flex-direction: column; gap: 10px; }
.ps-risques li { font-size: 14px; color: var(--ps-grey); line-height: 1.65; padding-left: 18px; position: relative; }
.ps-risques li::before { content: '—'; position: absolute; left: 0; color: var(--ps-orange); font-weight: 700; }
.ps-risques li strong { color: var(--ps-navy); font-weight: 700; }

/* ── VIDÉO ── */
.ps-section-video { padding: 64px 0; background: var(--ps-bg-soft); margin: 0 -24px; padding-left: 24px; padding-right: 24px; }
.ps-section-video-inner { max-width: 1200px; margin: 0 auto; }
.ps-video-wrap { display: grid; grid-template-columns: 1.6fr 1fr; gap: 48px; align-items: start; margin-top: 40px; }
.ps-video-player { position: relative; padding-bottom: 56.25%; border-radius: var(--ps-radius); overflow: hidden; background: #000; }
.ps-video-player iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none !important; }
.ps-video-points { display: flex; flex-direction: column; gap: 18px; }
.ps-video-point { display: flex; gap: 14px; align-items: flex-start; }
.ps-video-point__num { width: 30px; height: 30px; min-width: 30px; background: var(--ps-navy); color: #fff; font-size: 13px; font-weight: 800; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-top: 2px; }
.ps-video-point__text { font-size: 14px; color: var(--ps-grey); line-height: 1.7; }
.ps-video-point__text strong { color: var(--ps-navy); font-weight: 700; }

/* ── S4 ── */
.ps-section-4 { padding: 72px 0; }
.ps-produits-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 40px; }
.ps-produit { background: #fff; border: 1.5px solid var(--ps-border) !important; border-radius: var(--ps-radius); overflow: hidden; display: flex; flex-direction: column; transition: box-shadow .2s; }
.ps-produit:hover { box-shadow: 0 10px 36px rgba(7,18,74,.10); }
.ps-produit__head { background: var(--ps-navy); padding: 26px 26px 22px; }
.ps-produit__type { display: inline-flex; align-items: center; gap: 6px; background: var(--ps-orange); color: #fff; font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; border-radius: 20px; padding: 5px 13px; margin-bottom: 14px; }
.ps-produit__name { font-size: 19px; font-weight: 800; color: #fff; line-height: 1.2; margin-bottom: 6px; }
.ps-produit__sous { font-size: 12px; color: rgba(255,255,255,.5); line-height: 1.4; }
.ps-produit__body { padding: 24px; flex: 1; display: flex; flex-direction: column; gap: 18px; }
.ps-produit__metrics { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.ps-metric { background: var(--ps-bg-soft); border-radius: 10px; padding: 12px 10px; text-align: center; }
.ps-metric__label { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--ps-grey-light); margin-bottom: 6px; }
.ps-metric__val   { font-size: 18px; font-weight: 800; color: var(--ps-navy); line-height: 1; }
.ps-metric__val span { font-size: 12px; font-weight: 600; color: var(--ps-grey-light); }
.ps-produit__scenario { border-top: 1px solid var(--ps-border) !important; padding-top: 16px; }
.ps-produit__scenario-title { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--ps-grey-light); margin-bottom: 10px; }
.ps-scenario-row { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 8px; }
.ps-scenario-badge { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; padding: 3px 10px; border-radius: 20px; flex-shrink: 0; min-width: 72px; text-align: center; margin-top: 2px; }
.ps-scenario-badge.favorable   { background: #e6f5eb; color: #1a7c37; }
.ps-scenario-badge.median      { background: #fef3e2; color: #92580a; }
.ps-scenario-badge.defavorable { background: #fdecea; color: #c0392b; }
.ps-scenario-text { font-size: 13px; color: var(--ps-grey); line-height: 1.5; }
.ps-produit__warning { display: flex; gap: 10px; align-items: flex-start; background: var(--ps-orange-light); border-radius: 10px; padding: 12px 14px; }
.ps-produit__warning svg { width: 16px; height: 16px; flex-shrink: 0; margin-top: 2px; stroke: var(--ps-orange); fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ps-produit__warning p { font-size: 12px; color: var(--ps-grey); line-height: 1.55; }
.ps-produit__warning strong { color: var(--ps-navy); font-weight: 700; }

/* ── S5 ── */
.ps-section-5 { padding: 64px 0; background: var(--ps-bg-soft); margin: 0 -24px; padding-left: 24px; padding-right: 24px; }
.ps-section-5-inner { max-width: 1200px; margin: 0 auto; }
.ps-enveloppes { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; margin-top: 40px; }
.ps-env { background: #fff; border: 1.5px solid var(--ps-border) !important; border-radius: var(--ps-radius-sm); padding: 20px 16px; text-align: center; transition: box-shadow .2s, border-color .2s; }
.ps-env:hover { box-shadow: 0 6px 24px rgba(7,18,74,.08); border-color: var(--ps-orange) !important; }
.ps-env.recommended { border-color: var(--ps-orange) !important; border-width: 2px !important; }
.ps-env__badge-top { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; background: var(--ps-orange); color: #fff; border-radius: 20px; padding: 3px 12px; margin-bottom: 12px; display: inline-block; }
.ps-env__icon { width: 48px; height: 48px; border-radius: 13px; background: var(--ps-bg-icon); margin: 0 auto 12px; display: flex; align-items: center; justify-content: center; }
.ps-env__icon svg { width: 22px; height: 22px; stroke: var(--ps-navy); fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ps-env.recommended .ps-env__icon { background: var(--ps-orange-light); }
.ps-env.recommended .ps-env__icon svg { stroke: var(--ps-orange); }
.ps-env__name { font-size: 14px; font-weight: 700; color: var(--ps-navy); margin-bottom: 6px; }
.ps-env__desc { font-size: 12px; color: var(--ps-grey-light); line-height: 1.55; }
.ps-compare-text { background: var(--ps-navy); border-radius: var(--ps-radius); padding: 26px 30px; margin-top: 20px; display: flex; gap: 18px; align-items: flex-start; }
.ps-compare-text__icon { width: 42px; height: 42px; min-width: 42px; background: rgba(255,255,255,.10); border-radius: 12px; display: flex; align-items: center; justify-content: center; }
.ps-compare-text__icon svg { width: 20px; height: 20px; stroke: var(--ps-orange); fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ps-compare-text__body { flex: 1; min-width: 0; }
.ps-compare-text__title { font-size: 15px; font-weight: 700; color: #fff; margin-bottom: 8px; }
.ps-compare-text__p { font-size: 14px; color: rgba(255,255,255,.65); line-height: 1.75; }
.ps-compare-text__p strong { color: var(--ps-orange); font-weight: 700; }

/* ── PARTENAIRES ── */
.ps-section-partners { padding: 48px 0; border-top: 1px solid var(--ps-border) !important; border-bottom: 1px solid var(--ps-border) !important; }
.ps-partners-title { text-align: center; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--ps-grey-light); margin-bottom: 32px; }
.ps-partners-row { display: flex; align-items: center; justify-content: center; gap: 48px; flex-wrap: wrap; }
.ps-partner-logo { display: flex; align-items: center; justify-content: center; transition: opacity .2s; }
.ps-partner-name {
  font-size: 17px; font-weight: 800; color: var(--ps-navy);
  letter-spacing: -.02em; opacity: .45; transition: opacity .25s;
}
.ps-partner-logo:hover .ps-partner-name { opacity: 1; }

/* ── CTA ── */
.ps-section-cta { padding: 72px 0; }
.ps-cta-box { background: var(--ps-navy); border-radius: var(--ps-radius); padding: 52px 44px; display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.ps-cta__text { flex: 1; min-width: 0; }
.ps-cta__tag { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--ps-orange); margin-bottom: 14px; }
.ps-cta__h2  { font-size: clamp(20px,2.5vw,28px); font-weight: 800; color: #fff; line-height: 1.25; margin-bottom: 12px; }
.ps-cta__p   { font-size: 15px; color: rgba(255,255,255,.6); line-height: 1.7; }
.ps-cta__actions { display: flex; gap: 12px; align-items: center; flex-shrink: 0; flex-direction: column; }

/* ═══════════ RESPONSIVE 900px ═══════════ */
@media (max-width: 900px) {
  .ps-grid-2         { grid-template-columns: 1fr; gap: 32px; }
  .ps-features-grid  { grid-template-columns: 1fr; }
  .ps-feat.wide      { grid-column: span 1; }
  .ps-avantages-grid { grid-template-columns: 1fr; }
  .ps-produits-grid  { grid-template-columns: 1fr; }
  .ps-enveloppes     { grid-template-columns: 1fr 1fr; }
  .ps-video-wrap     { grid-template-columns: 1fr; }
  .ps-steps          { flex-direction: column; overflow: visible; }
  .ps-step           { flex: none; border: 1.5px solid var(--ps-border) !important; border-top: none !important; }
  .ps-step:first-child { border-radius: var(--ps-radius) var(--ps-radius) 0 0; border-top: 1.5px solid var(--ps-border) !important; }
  .ps-step:last-child  { border-radius: 0 0 var(--ps-radius) var(--ps-radius); }
  .ps-kpi-row        { grid-template-columns: 1fr 1fr; }
  .ps-partners-row   { gap: 28px; }
}

/* ═══════════ RESPONSIVE 600px ═══════════ */
@media (max-width: 600px) {
  .ps-block          { padding: 0 16px; }
  .ps-section-1      { padding: 48px 0 40px; }
  .ps-section-2,.ps-section-3,.ps-section-4,.ps-section-5 { padding-top: 48px; padding-bottom: 48px; }
  .ps-section-2      { padding-left: 16px; padding-right: 16px; }
  .ps-section-5      { padding-left: 16px; padding-right: 16px; }
  .ps-section-video  { padding-left: 16px; padding-right: 16px; padding-top: 48px; padding-bottom: 48px; }
  .ps-enveloppes     { grid-template-columns: 1fr; }
  .ps-produit__metrics { grid-template-columns: repeat(3,1fr); }
  .ps-metric__val    { font-size: 15px; }
  .ps-partners-row   { gap: 20px; }
  .ps-partner-logo img { height: 28px; }
  .ps-cta-box        { padding: 28px 20px; }
  .ps-cta__actions   { flex-direction: column; align-items: stretch; width: 100%; }
  .ps-btn-primary,.ps-btn-outline { justify-content: center; }
  .ps-compare-text   { flex-direction: column; gap: 14px; }
  .ps-visual         { padding: 24px 20px; }
  .ps-schema         { flex-wrap: wrap; gap: 10px; }
  .ps-schema-arrow   { display: none; }
  .ps-schema-item    { flex: 0 0 calc(33% - 8px); }
}
