/* Site vitrine v7 : refonte orientée gains de temps (pages accueil, métiers, fonctionnalités, tarifs).
   Tokens de la marque (main.css). Tout est scopé sous .wpg (élément <main id="middle" class="wpg">)
   pour ne pas subir ni modifier le CSS global du thème pms (header et footer communs). */
/* Tokens de la marque (themes/pms/css/main.css). Tout est scopé sous .wpg pour ne pas subir le CSS du layout. */
.wpg {
	--ink: #2B2B2B; --ink-soft: #595959; --paper: #F5F3F0; --sand: #EDE5D9; --sand-2: #ECDBC3;
	--gold: #C69C65; --gold-soft: #D9C3A3; --gold-text: #7A5525; --white: #FDFCFA;
	--line: rgba(43, 43, 43, .12); --line-dark: rgba(255, 255, 255, .14);
	--font-title: 'DM Serif Display', Georgia, serif; --font-body: 'Poppins', system-ui, sans-serif;
	--r-btn: 8px; --r-card: 16px; --wrap: 1200px;
	--shadow: 0 18px 50px -24px rgba(122, 85, 37, .35); --ease: cubic-bezier(.16, 1, .3, 1);
	background: var(--paper); color: var(--ink); font: 400 16px/1.65 var(--font-body);
	-webkit-font-smoothing: antialiased; text-align: left; overflow-x: hidden;
}
.wpg *, .wpg *::before, .wpg *::after { box-sizing: border-box; }
/* main.css impose police, taille (17px), graisse et couleur sombre à div, ul, li, dd… sans héritage :
   dans .wpg, ces éléments héritent de leur bloc (sinon texte noir sur les fonds foncés). */
.wpg div, .wpg dl, .wpg dt, .wpg dd, .wpg ul, .wpg ol, .wpg li, .wpg form, .wpg fieldset, .wpg legend, .wpg blockquote { font-family: inherit; font-size: inherit; font-weight: inherit; color: inherit; }
.wpg img { max-width: 100%; height: auto; display: block; }
.wpg a { color: inherit; }
.wpg h1, .wpg h2, .wpg h3 { font-family: var(--font-title); font-weight: 400; line-height: 1.1; margin: 0; letter-spacing: -.01em; text-transform: none; color: inherit; text-align: inherit; }
.wpg h2 { font-size: clamp(2rem, 3.6vw, 3rem); }
.wpg h3 { font-size: 1.5rem; }
.wpg p { margin: 0; text-align: inherit; }
.wpg ul, .wpg ol { margin: 0; }
.wpg .wrap { width: min(var(--wrap), 100% - 32px); margin-inline: auto; }
.wpg .lead { font-size: 1.125rem; color: var(--ink-soft); max-width: 60ch; }
.wpg .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.wpg section { scroll-margin-top: 80px; }
.wpg .ico { width: 1.2em; height: 1.2em; flex-shrink: 0; vertical-align: -.2em; }
.wpg .h1-kicker { display: block; font: 500 .8125rem/1.4 var(--font-body); letter-spacing: .14em; text-transform: uppercase; color: var(--gold-text); margin-bottom: 18px; }

/* Boutons */
.wpg .btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 26px; border-radius: var(--r-btn); border: 1px solid transparent; font: 500 1rem/1 var(--font-body); text-decoration: none; white-space: nowrap; cursor: pointer; transition: transform .25s var(--ease), background-color .25s var(--ease), box-shadow .25s var(--ease); }
.wpg .btn:active { transform: translateY(1px) scale(.98); }
.wpg .btn-primary { background: var(--ink); color: var(--white); }
.wpg .btn-primary:hover { background: #434343; box-shadow: 0 10px 30px -12px rgba(43, 43, 43, .6); }
.wpg .btn-gold { background: var(--gold); color: var(--ink); }
.wpg .btn-gold:hover { background: var(--gold-soft); }
.wpg .btn-outline-light { background: transparent; color: var(--white); border-color: rgba(255, 255, 255, .45); }
.wpg .btn-outline-light:hover { background: rgba(255, 255, 255, .08); }
.wpg .btn-sm { min-height: 42px; padding: 0 18px; font-size: .9375rem; }
.wpg .btn:focus-visible, .wpg a:focus-visible, .wpg button:focus-visible, .wpg input:focus-visible, .wpg summary:focus-visible { outline: 2px solid var(--gold-text); outline-offset: 3px; }

/* Formulaire d'essai : email + Google / Apple */
.wpg .signup { width: 100%; max-width: 520px; }
.wpg .signup-label { display: block; font-size: .875rem; font-weight: 500; margin-bottom: 8px; }
.wpg .signup-row { display: flex; gap: 8px; }
.wpg .signup input[type="email"] { flex: 1; min-width: 0; height: 52px; padding: 0 16px; border-radius: var(--r-btn); border: 1px solid rgba(43, 43, 43, .4); background: var(--white); font: 400 1rem var(--font-body); color: var(--ink); box-shadow: none; margin: 0; }
.wpg .signup input[type="email"]::placeholder { color: #767676; }
.wpg .signup input[type="email"][aria-invalid="true"] { border-color: #B3261E; }
.wpg .signup-error { color: #B3261E; font-size: .875rem; margin-top: 8px; }
.wpg .signup-social { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 12px; }
.wpg .signup-social span { font-size: .8125rem; color: var(--ink-soft); margin-right: 4px; }
.wpg .btn-social { background: var(--white); color: var(--ink); border-color: rgba(43, 43, 43, .2); min-height: 38px; padding: 0 14px; gap: 8px; font-size: .875rem; }
.wpg .btn-social:hover { border-color: var(--ink); }
.wpg .btn-social img { width: 16px; height: 16px; }
.wpg .signup-alt { margin-top: 14px; font-size: .875rem; color: var(--ink-soft); }
.wpg .signup-alt a { color: var(--gold-text); font-weight: 500; }
.wpg .signup--dark .signup-label { color: var(--white); }
.wpg .signup--dark input[type="email"] { border-color: transparent; }
.wpg .signup--dark .signup-social span, .wpg .signup--dark .signup-alt { color: rgba(255, 255, 255, .7); }
.wpg .signup--dark .btn-social { border-color: transparent; }
.wpg .signup--dark .signup-error { color: #FFB4AB; }
.wpg .signup--dark .signup-alt a { color: var(--gold); }


.wpg .reassure { display: flex; flex-wrap: wrap; gap: 10px 26px; font-size: .9375rem; color: var(--ink-soft); }
.wpg .reassure span { display: inline-flex; align-items: center; gap: 8px; }
.wpg .reassure .ico { color: var(--gold-text); }
.wpg .pill { display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px; border-radius: 999px; background: var(--white); border: 1px solid var(--line); font-size: .9375rem; text-decoration: none; color: var(--ink); white-space: nowrap; }
.wpg .pill:hover { border-color: var(--gold); }
.wpg .pill .ico { color: var(--gold-text); }

/* Hero + sélecteur de métier */
.wpg .hero { padding: 56px 0 72px; }
.wpg .hero .wrap { display: grid; grid-template-columns: 1.05fr .95fr; gap: 56px; align-items: center; }
.wpg .hero h1 { font-size: clamp(2.3rem, 3.4vw, 2.9rem); }
.wpg .hero .lead { margin: 22px 0 32px; }
.wpg .ai-badge { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 22px; padding: 6px 14px 6px 6px; border-radius: 999px; background: var(--ink); color: var(--white); font-size: .875rem; text-decoration: none; }
.wpg .ai-badge b { background: var(--gold); color: var(--ink); border-radius: 999px; padding: 3px 10px; font-weight: 600; font-size: .75rem; letter-spacing: .04em; }
.wpg .ai-badge:hover { background: #434343; }
.wpg .picker { background: var(--white); border: 1px solid var(--line); border-radius: var(--r-card); padding: 24px; box-shadow: var(--shadow); }
.wpg .picker fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.wpg .picker legend { font: 500 1rem var(--font-body); margin-bottom: 14px; padding: 0; border: 0; color: var(--ink); width: auto; }
.wpg .chips { display: flex; flex-wrap: wrap; gap: 8px; }
.wpg .chips label { cursor: pointer; margin: 0; font-weight: 400; position: relative; }
.wpg .chips input { position: absolute; opacity: 0; pointer-events: none; }
.wpg .chips span { display: inline-block; padding: 9px 14px; border-radius: 999px; border: 1px solid var(--line); font-size: .875rem; transition: background-color .2s var(--ease), color .2s var(--ease); }
.wpg .chips label:hover span { border-color: var(--gold); }
.wpg .chips input:checked + span { background: var(--ink); color: var(--white); border-color: var(--ink); }
.wpg .chips input:focus-visible + span { outline: 2px solid var(--gold-text); outline-offset: 2px; }
.wpg .result { display: grid; grid-template-columns: 170px 1fr; gap: 22px; margin-top: 22px; padding-top: 22px; border-top: 1px solid var(--line); }
.wpg .result-panel { display: contents; }
.wpg .result-panel[hidden] { display: none; }
.wpg .result img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 12px; }
.wpg .result h2 { font-size: 1.5rem; margin-bottom: 14px; }
.wpg .result ul { list-style: none; padding: 0; margin: 0 0 16px; display: grid; gap: 10px; font-size: .9375rem; }
.wpg .result li { display: grid; grid-template-columns: 22px 1fr; gap: 8px; }
.wpg .result li .ico { color: var(--gold-text); margin-top: 3px; }
.wpg .result a { font-size: .9375rem; font-weight: 500; color: var(--gold-text); display: inline-flex; gap: 6px; align-items: center; }

.wpg .numbers { background: var(--ink); color: var(--white); }
.wpg .numbers .wrap { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; padding: 34px 0; }
.wpg .numbers b { display: block; font-family: var(--font-title); font-weight: 400; font-size: 2.25rem; line-height: 1; color: var(--gold); }
.wpg .numbers span { font-size: .9rem; color: rgba(255, 255, 255, .75); }

/* Calculateur */
.wpg .calc { padding: 112px 0; }
.wpg .calc h2 { max-width: 20ch; }
.wpg .calc .lead { margin: 16px 0 44px; }
.wpg .calc-box { display: grid; grid-template-columns: 1.1fr .9fr; border-radius: var(--r-card); overflow: hidden; border: 1px solid var(--line); }
.wpg .calc-inputs { background: var(--white); padding: 44px; display: grid; gap: 30px; }
.wpg .field label { display: flex; justify-content: space-between; gap: 16px; font-weight: 500; margin-bottom: 10px; }
.wpg .field output { font-family: var(--font-title); font-weight: 400; font-size: 1.4rem; color: var(--gold-text); }
.wpg .field small { display: block; color: var(--ink-soft); font-size: .8125rem; margin-top: 6px; }
.wpg input[type="range"] { width: 100%; accent-color: var(--ink); height: 28px; }
.wpg .calc-out { background: var(--ink); color: var(--white); padding: 44px; display: flex; flex-direction: column; gap: 26px; }
.wpg .calc-out .big { font-family: var(--font-title); font-size: clamp(3rem, 5vw, 4.25rem); line-height: 1; color: var(--gold); }
.wpg .calc-out p { color: rgba(255, 255, 255, .78); }
.wpg .calc-out dl { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 0; padding-top: 22px; border-top: 1px solid var(--line-dark); }
.wpg .calc-out dt { font-size: .8125rem; color: rgba(255, 255, 255, .65); font-weight: 400; }
.wpg .calc-out dd { margin: 4px 0 0; font-family: var(--font-title); font-size: 1.6rem; color: var(--white); }
.wpg .calc-out strong { color: var(--white); }
.wpg .calc-out .btn { align-self: flex-start; margin-top: auto; }
.wpg .calc .disclaimer { font-size: .8125rem; color: var(--ink-soft); margin-top: 14px; max-width: 80ch; }

/* Assistant IA */
.wpg .ai { padding: 0 0 112px; }
.wpg .ai .box { background: var(--ink); color: var(--white); border-radius: var(--r-card); padding: 64px; display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.wpg .ai .eyebrow { display: inline-flex; align-items: center; gap: 8px; font: 600 .8125rem var(--font-body); letter-spacing: .12em; text-transform: uppercase; color: var(--gold); margin-bottom: 18px; }
.wpg .ai .lead { color: rgba(255, 255, 255, .78); margin: 18px 0 28px; }
.wpg .ai-list { list-style: none; padding: 0; margin: 0 0 32px; display: grid; gap: 18px; }
.wpg .ai-list li { display: grid; grid-template-columns: 40px 1fr; gap: 14px; }
.wpg .ai-list .ico-box { width: 40px; height: 40px; border-radius: 10px; background: rgba(198, 156, 101, .16); color: var(--gold); display: flex; align-items: center; justify-content: center; }
.wpg .ai-list strong { display: block; font-weight: 500; color: var(--white); }
.wpg .ai-list p { color: rgba(255, 255, 255, .7); font-size: .9375rem; }
.wpg .ai .cta-row { display: flex; flex-wrap: wrap; gap: 12px; }
.wpg .chat { background: #353535; border-radius: var(--r-card); padding: 24px; display: flex; flex-direction: column; gap: 14px; }
.wpg .chat-head { display: flex; align-items: center; gap: 10px; font-size: .875rem; color: rgba(255, 255, 255, .7); padding-bottom: 14px; border-bottom: 1px solid var(--line-dark); }
.wpg .chat-head .dot { width: 8px; height: 8px; border-radius: 50%; background: #6FCF97; }
.wpg .bubble { max-width: 88%; padding: 12px 16px; border-radius: 14px; font-size: .9375rem; line-height: 1.5; }
.wpg .bubble.me { align-self: flex-end; background: var(--gold); color: var(--ink); border-bottom-right-radius: 4px; }
.wpg .bubble.bot { align-self: flex-start; background: var(--white); color: var(--ink); border-bottom-left-radius: 4px; }
.wpg .bubble.bot ul { margin: 8px 0 12px; padding-left: 18px; font-size: .875rem; color: var(--ink-soft); }
.wpg .bubble .actions { display: flex; gap: 8px; }
.wpg .bubble .actions span { padding: 6px 12px; border-radius: 6px; font-size: .8125rem; font-weight: 500; border: 1px solid var(--line); }
.wpg .bubble .actions span.ok { background: var(--ink); color: var(--white); border-color: var(--ink); }
.wpg .chat-foot { display: flex; flex-wrap: wrap; gap: 8px 18px; font-size: .8125rem; color: rgba(255, 255, 255, .65); }
.wpg .chat-foot span { display: inline-flex; align-items: center; gap: 6px; }
.wpg .chat-foot .ico { color: var(--gold); }

/* Six outils remplacés */
.wpg .replace { padding: 0 0 112px; }
.wpg .replace .box { background: var(--sand); border-radius: var(--r-card); padding: 56px; display: grid; grid-template-columns: 1fr auto 1fr; gap: 40px; align-items: center; }
.wpg .replace h2 { grid-column: 1 / -1; font-size: clamp(1.9rem, 3vw, 2.6rem); max-width: 26ch; }
.wpg .tool-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.wpg .tool-grid a { background: var(--paper); border-radius: 12px; padding: 16px; display: flex; flex-direction: column; align-items: center; gap: 10px; font-size: .8125rem; text-decoration: none; color: var(--ink-soft); position: relative; }
.wpg .tool-grid img, .wpg .tool-grid .ico { height: 26px; width: 26px; filter: grayscale(1); opacity: .7; color: var(--ink-soft); }
.wpg .tool-grid a::after { content: ""; position: absolute; left: 14px; right: 14px; top: 50%; height: 1px; background: rgba(122, 85, 37, .5); transform: rotate(-12deg); }
.wpg .replace .arrow { width: 32px; height: 32px; color: var(--gold-text); }
.wpg .replace .target { background: var(--ink); color: var(--white); border-radius: var(--r-card); padding: 32px; display: flex; flex-direction: column; gap: 14px; }
.wpg .replace .target img { width: 60px; filter: invert(1); }
.wpg .replace .target p { color: rgba(255, 255, 255, .78); font-size: .9375rem; }
.wpg .replace .target a { color: var(--gold); font-size: .9375rem; }

/* Ce qui change */
.wpg .outcomes { padding: 0 0 112px; }
.wpg .outcomes h2 { margin-bottom: 40px; max-width: 22ch; }
.wpg .outcome-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.wpg .outcome { border-radius: var(--r-card); padding: 36px; display: flex; flex-direction: column; gap: 12px; background: var(--white); border: 1px solid var(--line); }
.wpg .outcome:nth-child(2) { background: var(--sand-2); border: 0; }
.wpg .outcome:nth-child(3) { background: var(--ink); color: var(--white); border: 0; }
.wpg .outcome:nth-child(3) p, .wpg .outcome:nth-child(3) .via { color: rgba(255, 255, 255, .75); }
.wpg .outcome .ico.big { width: 2rem; height: 2rem; color: var(--gold-text); }
.wpg .outcome:nth-child(3) .ico.big { color: var(--gold); }
.wpg .outcome h3 { font-size: 1.75rem; }
.wpg .outcome p { color: var(--ink-soft); }
.wpg .outcome .via { font-size: .875rem; margin-top: auto; padding-top: 10px; }
.wpg .outcome .via b { font-weight: 500; }

/* Avis */
.wpg .carousel-sec { padding: 0 0 112px; }
.wpg .carousel-sec .head { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 32px; }
.wpg .carousel-sec .head p { display: inline-flex; gap: 10px; align-items: center; color: var(--ink-soft); }
.wpg .carousel-sec .head img { width: 20px; }
.wpg .carousel { --gutter: max(16px, calc((100vw - var(--wrap)) / 2)); display: grid; grid-auto-flow: column; grid-auto-columns: min(380px, 82vw); gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--gutter); padding: 0 var(--gutter) 16px; scrollbar-width: thin; scrollbar-color: var(--gold) transparent; }
.wpg .quote-card { scroll-snap-align: start; margin: 0; background: var(--white); border-radius: var(--r-card); padding: 28px; display: flex; flex-direction: column; gap: 18px; border: 1px solid var(--line); }
.wpg .quote-card blockquote { margin: 0; padding: 0; border: 0; font-size: 1.0625rem; line-height: 1.6; color: var(--ink); }
.wpg .quote-card figcaption { font-size: .875rem; color: var(--ink-soft); margin-top: auto; }
.wpg .quote-card figcaption strong { color: var(--ink); font-weight: 500; display: block; }
.wpg .quote-card a { font-size: .875rem; color: var(--gold-text); }
.wpg .stars { color: var(--gold); letter-spacing: 2px; font-size: .95rem; }

/* Tarifs */
.wpg .pricing { padding: 0 0 112px; }
.wpg .pricing .head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 20px 40px; margin-bottom: 28px; }
.wpg .pricing .lead { margin-top: 12px; }
.wpg .pricing .lead a { color: var(--gold-text); font-weight: 500; }
.wpg .switch { display: inline-flex; padding: 4px; background: var(--white); border: 1px solid var(--line); border-radius: 999px; gap: 4px; }
.wpg .switch button { border: 0; background: transparent; padding: 10px 16px; border-radius: 999px; font: 500 .875rem var(--font-body); cursor: pointer; color: var(--ink-soft); }
.wpg .switch button[aria-pressed="true"] { background: var(--ink); color: var(--white); }
.wpg .price-show { background: var(--white); border: 1px solid var(--line); border-radius: var(--r-card); padding: 36px 40px; display: grid; grid-template-columns: auto 1fr auto; grid-template-areas: 'amount list cta'; gap: 12px 48px; align-items: center; }
.wpg .price-show .amount-box { grid-area: amount; display: flex; flex-direction: column; gap: 6px; }
.wpg .price-show .amount-box[hidden] { display: none; }
.wpg .price-show .amount { font-family: var(--font-title); font-size: 3.5rem; line-height: 1; }
.wpg .price-show .amount small { font: 400 1rem var(--font-body); color: var(--ink-soft); }
.wpg .price-show .detail { max-width: 34ch; color: var(--ink-soft); font-size: .9375rem; }
.wpg .price-show ul { grid-area: list; list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; font-size: .9375rem; }
.wpg .price-show li { display: flex; gap: 8px; align-items: flex-start; }
.wpg .price-show li .ico { color: var(--gold-text); margin-top: 3px; }
.wpg .price-show .btn { grid-area: cta; }

/* Fonctionnalités */
.wpg .all-features { padding: 0 0 112px; }
.wpg .all-features h2 { margin-bottom: 40px; max-width: 22ch; }
.wpg .groups { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; }
.wpg .groups h3 { font: 600 1rem/1.4 var(--font-body); padding-bottom: 14px; margin-bottom: 16px; border-bottom: 2px solid var(--gold); }
.wpg .groups ul { list-style: none; padding: 0; display: grid; gap: 12px; }
.wpg .groups li { display: flex; gap: 12px; align-items: center; color: var(--ink-soft); }
.wpg .groups li .ico { color: var(--gold-text); }

/* FAQ */
.wpg .faq-sec { padding: 0 0 112px; }
.wpg .faq-sec .wrap { max-width: 860px; }
.wpg .faq-sec h2 { margin-bottom: 32px; }
.wpg .faq { display: grid; gap: 12px; }
.wpg .faq details { background: var(--white); border-radius: var(--r-card); border: 1px solid var(--line); }
.wpg .faq summary { list-style: none; cursor: pointer; padding: 22px 26px; display: flex; justify-content: space-between; align-items: center; gap: 16px; font-weight: 500; }
.wpg .faq summary::-webkit-details-marker { display: none; }
.wpg .faq summary .ico { transition: transform .3s var(--ease); color: var(--gold-text); }
.wpg .faq details[open] summary .ico { transform: rotate(45deg); }
.wpg .faq details p { padding: 0 26px 24px; color: var(--ink-soft); max-width: 70ch; }

.wpg .final { padding: 0 0 96px; text-align: center; }
.wpg .final .box { background: var(--ink); color: var(--white); border-radius: var(--r-card); padding: 80px 32px; display: flex; flex-direction: column; align-items: center; gap: 22px; }
.wpg .final .lead { color: rgba(255, 255, 255, .75); }
.wpg .final .reassure { justify-content: center; color: rgba(255, 255, 255, .75); }
.wpg .final .reassure .ico { color: var(--gold); }


@media (prefers-reduced-motion: no-preference) {
	.wpg-js .reveal { transform: translateY(18px); transition: transform .8s var(--ease); transition-delay: calc(var(--i, 0) * 80ms); }
	.wpg-js .reveal.is-in { transform: none; }
	.wpg .hero h1, .wpg .hero .lead, .wpg .hero form { animation: wpgRise .9s var(--ease) both; }
	.wpg .hero .lead { animation-delay: .08s; }
	.wpg .hero form { animation-delay: .16s; }
	.wpg .picker { animation: wpgRise 1.1s var(--ease) .12s both; }
	.wpg .result.swap > * { animation: wpgFadeUp .5s var(--ease); }
	@keyframes wpgRise { from { transform: translateY(14px); } }
	@keyframes wpgFadeUp { from { opacity: 0; transform: translateY(8px); } }
}
@media (max-width: 960px) {
	.wpg .hero .wrap, .wpg .calc-box, .wpg .ai .box { grid-template-columns: 1fr; }
	.wpg .ai .box { padding: 40px 28px; gap: 36px; }
	.wpg .price-show { grid-template-columns: 1fr; grid-template-areas: 'amount' 'list' 'cta'; gap: 12px; }
	.wpg .price-show .btn { justify-self: start; margin-top: 8px; }
	.wpg .numbers .wrap { grid-template-columns: 1fr 1fr; }
	.wpg .replace .box { grid-template-columns: 1fr; }
	.wpg .replace .arrow { transform: rotate(90deg); justify-self: center; }
	.wpg .outcome-grid, .wpg .groups { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
	.wpg .result { grid-template-columns: 1fr; }
	.wpg .result img { aspect-ratio: 16 / 9; }
	.wpg .calc, .wpg .ai, .wpg .replace, .wpg .outcomes, .wpg .carousel-sec, .wpg .pricing, .wpg .all-features, .wpg .faq-sec { padding-bottom: 72px; }
	.wpg .calc { padding-top: 72px; }
	.wpg .calc-inputs, .wpg .calc-out, .wpg .replace .box, .wpg .outcome, .wpg .price-show { padding: 28px 22px; }
	.wpg .carousel-sec .head { flex-direction: column; align-items: start; }
	.wpg .ai .cta-row .btn { flex: 1 1 100%; }
}
@media (max-width: 520px) {
	.wpg .signup-row { flex-direction: column; }
	.wpg .signup input[type="email"] { flex: none; }
}
@media (prefers-reduced-motion: reduce) { .wpg * { transition-duration: .01ms !important; animation-duration: .01ms !important; } }

/* ---------- Pages métier, fonctionnalités, tarifs ---------- */

/* Haut de page métier : visuel produit */
.wpg .hero-visual img { width: 100%; border-radius: var(--r-card); box-shadow: var(--shadow); background: var(--white); }
.wpg .hero .reassure { margin-top: 22px; }

/* Haut de page simple (fonctionnalités, tarifs) */
.wpg .page-hero { padding: 64px 0 56px; }
.wpg .page-hero h1 { font-size: clamp(2.2rem, 3.6vw, 3.2rem); max-width: 22ch; }
.wpg .page-hero .lead { margin-top: 18px; }
.wpg .metier-nav { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }
.wpg .metier-nav a { padding: 9px 14px; border-radius: 999px; border: 1px solid var(--line); background: var(--white); font-size: .875rem; text-decoration: none; color: var(--ink); }
.wpg .metier-nav a:hover { border-color: var(--gold); }
.wpg .metier-nav a[aria-current="page"] { background: var(--ink); color: var(--white); border-color: var(--ink); }

/* Votre semaine : aujourd'hui / avec WeddingPlan */
.wpg .week { padding: 0 0 112px; }
.wpg .week h2 { margin-bottom: 40px; max-width: 24ch; }
.wpg .week-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.wpg .week-col { border-radius: var(--r-card); padding: 36px; }
.wpg .week-col.before { background: var(--sand); }
.wpg .week-col.after { background: var(--ink); color: var(--white); }
.wpg .week-col h3 { font: 600 .8125rem/1.4 var(--font-body); letter-spacing: .12em; text-transform: uppercase; margin-bottom: 20px; }
.wpg .week-col.before h3 { color: var(--ink-soft); }
.wpg .week-col.after h3 { color: var(--gold); }
.wpg .week-col ul { list-style: none; padding: 0; display: grid; gap: 14px; }
.wpg .week-col li { display: grid; grid-template-columns: 22px 1fr; gap: 10px; }
.wpg .week-col li .ico { margin-top: 3px; }
.wpg .week-col.before li { color: var(--ink-soft); }
.wpg .week-col.before li .ico { color: #9A6B5B; }
.wpg .week-col.after li .ico { color: var(--gold); }

/* Fonctionnalités phares : texte et visuel en alternance */
.wpg .highlights { padding: 0 0 72px; }
.wpg .highlight { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; padding-bottom: 72px; }
.wpg .highlight:nth-child(even) .hl-media { order: -1; }
.wpg .hl-kicker { font: 600 .8125rem/1.4 var(--font-body); letter-spacing: .12em; text-transform: uppercase; color: var(--gold-text); }
.wpg .highlight h3 { font-size: clamp(1.6rem, 2.6vw, 2.2rem); margin: 12px 0 16px; }
.wpg .highlight p { color: var(--ink-soft); }
.wpg .highlight .more { display: inline-flex; gap: 6px; align-items: center; margin-top: 18px; color: var(--gold-text); font-weight: 500; font-size: .9375rem; }
.wpg .hl-media { background: var(--sand); border-radius: var(--r-card); padding: 28px; }
.wpg .hl-media img { width: 100%; border-radius: 12px; }

/* Groupes de fonctionnalités, chacun avec son gain */
.wpg .fgroups { padding: 0 0 112px; }
.wpg .fgroups .wrap { display: grid; gap: 18px; }
.wpg .fgroup { background: var(--white); border: 1px solid var(--line); border-radius: var(--r-card); padding: 36px; display: grid; grid-template-columns: 260px 1fr; gap: 40px; }
.wpg .fgroup-head .ico.big { width: 2rem; height: 2rem; color: var(--gold-text); }
.wpg .fgroup-head h2 { font-size: 1.9rem; margin: 14px 0 12px; }
.wpg .fgroup-gain { display: inline-flex; padding: 6px 12px; border-radius: 999px; background: var(--sand-2); color: var(--gold-text); font-size: .8125rem; font-weight: 600; }
.wpg .fgroup ul { list-style: none; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 20px 32px; align-content: start; }
.wpg .fgroup li strong { display: block; font-weight: 500; margin-bottom: 2px; }
.wpg .fgroup li span { color: var(--ink-soft); font-size: .9375rem; }
.wpg .badge-module { display: inline-block; margin-left: 8px; padding: 2px 8px; border-radius: 999px; background: var(--sand-2); color: var(--gold-text); font-size: .6875rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; vertical-align: 2px; }
.wpg .fgroup.ai-group { background: var(--ink); color: var(--white); border: 0; }
.wpg .fgroup.ai-group .ico.big, .wpg .fgroup.ai-group .fgroup-gain { color: var(--gold); }
.wpg .fgroup.ai-group .fgroup-gain { background: rgba(198, 156, 101, .16); }
.wpg .fgroup.ai-group li span { color: rgba(255, 255, 255, .72); }

/* Modules complémentaires */
.wpg .modules { padding: 0 0 112px; }
.wpg .modules h2 { margin-bottom: 12px; }
.wpg .modules .lead { margin-bottom: 32px; }
.wpg .module-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.wpg .module { background: var(--white); border: 1px solid var(--line); border-radius: 12px; padding: 18px 20px; display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.wpg .module b { font-weight: 500; }
.wpg .module span { color: var(--gold-text); font-weight: 500; font-size: .9375rem; white-space: nowrap; }

/* Tarifs : cartes de formules */
.wpg .plans-sec { padding: 0 0 112px; }
.wpg .plans-sec .head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 20px 40px; margin-bottom: 28px; }
.wpg .plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 18px; }
.wpg [data-plan-panel][hidden] { display: none; }
.wpg .plan { background: var(--white); border: 1px solid var(--line); border-radius: var(--r-card); padding: 32px; display: flex; flex-direction: column; gap: 14px; }
.wpg .plan.featured { border: 2px solid var(--gold); }
.wpg .plan-tag { align-self: flex-start; padding: 4px 10px; border-radius: 999px; background: var(--gold); color: var(--ink); font-size: .75rem; font-weight: 600; }
.wpg .plan h3 { font-size: 1.6rem; }
.wpg .plan .amount { font-family: var(--font-title); font-size: 3rem; line-height: 1; }
.wpg .plan .amount small { font: 400 1rem var(--font-body); color: var(--ink-soft); }
.wpg .plan .detail { color: var(--ink-soft); font-size: .875rem; }
.wpg .plan ul { list-style: none; padding: 0; display: grid; gap: 8px; font-size: .9375rem; }
.wpg .plan li { display: flex; gap: 8px; align-items: flex-start; }
.wpg .plan li .ico { color: var(--gold-text); margin-top: 3px; }
.wpg .plan .btn { margin-top: auto; }

/* Réassurance (tarifs) */
.wpg .trust { padding: 0 0 112px; }
.wpg .trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.wpg .trust-grid div { background: var(--white); border: 1px solid var(--line); border-radius: var(--r-card); padding: 26px; display: flex; flex-direction: column; gap: 8px; }
.wpg .trust-grid .ico { width: 1.6rem; height: 1.6rem; color: var(--gold-text); }
.wpg .trust-grid strong { font-weight: 500; }
.wpg .trust-grid p { color: var(--ink-soft); font-size: .9375rem; }

@media (max-width: 960px) {
	.wpg .week-grid, .wpg .highlight, .wpg .fgroup { grid-template-columns: 1fr; }
	.wpg .highlight { gap: 28px; }
	.wpg .highlight:nth-child(even) .hl-media { order: 0; }
	.wpg .module-grid, .wpg .trust-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
	.wpg .fgroup ul, .wpg .module-grid, .wpg .trust-grid { grid-template-columns: 1fr; }
	.wpg .week-col, .wpg .fgroup, .wpg .plan { padding: 28px 22px; }
	.wpg .week, .wpg .fgroups, .wpg .modules, .wpg .plans-sec, .wpg .trust { padding-bottom: 72px; }
	.wpg .page-hero { padding: 40px 0 36px; }
}
.wpg .plans-note { margin-top: 16px; color: var(--ink-soft); font-size: .875rem; }

/* Index des fonctionnalités : une carte par métier */
.wpg .metier-cards { padding: 0 0 112px; }
.wpg .metier-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.wpg .metier-card { display: flex; flex-direction: column; background: var(--white); border: 1px solid var(--line); border-radius: var(--r-card); overflow: hidden; text-decoration: none; color: var(--ink); transition: border-color .2s var(--ease), box-shadow .2s var(--ease); }
.wpg .metier-card:hover { border-color: var(--gold); box-shadow: var(--shadow); }
.wpg .metier-card img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.wpg .metier-card > div { padding: 24px; display: flex; flex-direction: column; gap: 14px; flex: 1; }
.wpg .metier-card h2 { font-size: 1.5rem; }
.wpg .metier-card ul { list-style: none; padding: 0; display: grid; gap: 8px; font-size: .9375rem; color: var(--ink-soft); }
.wpg .metier-card li { display: grid; grid-template-columns: 20px 1fr; gap: 8px; }
.wpg .metier-card li .ico { color: var(--gold-text); margin-top: 3px; }
.wpg .metier-card .more { margin-top: auto; display: inline-flex; gap: 6px; align-items: center; color: var(--gold-text); font-weight: 500; font-size: .9375rem; }
@media (max-width: 960px) { .wpg .metier-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .wpg .metier-grid { grid-template-columns: 1fr; } .wpg .metier-cards { padding-bottom: 72px; } }

/* Intégrations : logos qui défilent */
.wpg .tools { padding: 0 0 112px; overflow: hidden; }
.wpg .tools h2 { text-align: center; max-width: 24ch; margin: 0 auto 40px; font-size: clamp(1.8rem, 3vw, 2.4rem); }
.wpg .marquee { display: flex; align-items: center; width: max-content; gap: 56px; padding: 8px 0; }
.wpg .marquee img { height: 44px; width: auto; opacity: .7; filter: grayscale(1); transition: opacity .2s, filter .2s; }
.wpg .marquee img.tight { height: 28px; }
.wpg .tools:hover .marquee img { opacity: .9; filter: none; }
@media (prefers-reduced-motion: no-preference) {
	.wpg .marquee { animation: wpgSlide 45s linear infinite; }
	.wpg .tools:hover .marquee { animation-play-state: paused; }
	@keyframes wpgSlide { to { transform: translateX(-50%); } }
}
@media (prefers-reduced-motion: reduce) { .wpg .marquee { flex-wrap: wrap; justify-content: center; width: auto; max-width: var(--wrap); margin: 0 auto; } }
.wpg .tools-more { text-align: center; margin-top: 28px; }
@media (max-width: 640px) { .wpg .tools { padding-bottom: 72px; } .wpg .marquee { gap: 36px; } .wpg .marquee img { height: 36px; } .wpg .marquee img.tight { height: 22px; } }

/* Application mobile : téléphone (capture ou écran de remplacement) */
.wpg .phone { width: 100%; max-width: 280px; margin: 0 auto; aspect-ratio: 9 / 19.5; border-radius: 40px; padding: 10px; background: #1F1F1F; box-shadow: 0 30px 60px -20px rgba(43, 43, 43, .45); }
.wpg .phone > img { width: 100%; height: 100%; object-fit: cover; object-position: top; border-radius: 30px; }
.wpg .phone-screen { width: 100%; height: 100%; border-radius: 30px; background: linear-gradient(160deg, var(--paper) 0%, var(--sand-2) 100%); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; padding: 24px; text-align: center; }
.wpg .phone-screen .phone-logo { width: 54px; opacity: .8; }
.wpg .phone-screen .phone-ico { width: 44px; height: 44px; color: var(--gold-text); }
.wpg .phone-screen span { font-family: var(--font-title); font-size: 1.35rem; line-height: 1.2; color: var(--ink); }
.wpg .stores { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.wpg .stores img { height: 44px; width: auto; }

/* Bloc « Votre activité dans la poche » */
.wpg .mobile { padding: 0 0 112px; }
.wpg .mobile .box { background: var(--sand); border-radius: var(--r-card); padding: 56px 64px; display: grid; grid-template-columns: 1.2fr .8fr; gap: 56px; align-items: center; }
.wpg .mobile .eyebrow { display: inline-flex; align-items: center; gap: 8px; font: 600 .8125rem var(--font-body); letter-spacing: .12em; text-transform: uppercase; color: var(--gold-text); margin-bottom: 16px; }
.wpg .mobile .lead { margin: 16px 0 28px; }
.wpg .mobile-list { list-style: none; padding: 0; margin: 0 0 28px; display: grid; gap: 16px; }
.wpg .mobile-list li { display: grid; grid-template-columns: 28px 1fr; gap: 12px; }
.wpg .mobile-list li > .ico { width: 1.4rem; height: 1.4rem; color: var(--gold-text); margin-top: 2px; }
.wpg .mobile-list strong { display: block; font-weight: 500; }
.wpg .mobile-list span { color: var(--ink-soft); font-size: .9375rem; }
.wpg .mobile .more { display: inline-flex; gap: 6px; align-items: center; margin-top: 20px; color: var(--gold-text); font-weight: 500; font-size: .9375rem; }
@media (max-width: 960px) { .wpg .mobile .box { grid-template-columns: 1fr; padding: 40px 28px; } .wpg .phone { max-width: 240px; } }
@media (max-width: 640px) { .wpg .mobile { padding-bottom: 72px; } }

/* Demande de démo (/demande-de-rendez-vous) : formulaire puis créneau Calendly */
.wpg .rdv .wrap { align-items: start; }
.wpg .rdv-steps { list-style: none; padding: 0; margin: 0 0 28px; display: grid; gap: 18px; }
.wpg .rdv-steps li { display: grid; grid-template-columns: 36px 1fr; gap: 14px; }
.wpg .rdv-steps li > span { width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; background: var(--sand); color: var(--gold-text); font-weight: 600; }
.wpg .rdv-steps strong { display: block; font-weight: 500; }
.wpg .rdv-steps p { color: var(--ink-soft); font-size: .9375rem; }
.wpg .rdv-card { background: var(--white); border: 1px solid var(--line); border-radius: var(--r-card); box-shadow: var(--shadow); padding: 32px; display: grid; gap: 18px; }
.wpg .rdv-card h2 { font-size: 1.75rem; }
.wpg .rdv-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; }
.wpg .rdv-full { grid-column: 1 / -1; }
.wpg .rdv-field label { display: block; font-size: .875rem; font-weight: 500; margin: 0 0 6px; color: var(--ink); }
.wpg .rdv-field input, .wpg .rdv-field select { display: block; width: 100%; height: 48px; padding: 0 14px; margin: 0; border-radius: var(--r-btn); border: 1px solid rgba(43, 43, 43, .4); background: var(--white); font: 400 1rem var(--font-body); color: var(--ink); box-shadow: none; }
.wpg .rdv-field input::placeholder { color: #767676; }
.wpg .rdv-field [aria-invalid="true"] { border-color: #B3261E; }
.wpg .rdv-error { color: #B3261E; font-size: .8125rem; margin-top: 6px; }
.wpg .rdv-alert { background: #FCEEEE; border: 1px solid #F0C9C6; color: #8C1D18; border-radius: var(--r-btn); padding: 12px 14px; font-size: .9375rem; }
.wpg .rdv-card .btn { width: 100%; }
.wpg .rdv-legal { font-size: .8125rem; color: var(--ink-soft); text-align: center; }
.wpg .rdv-progress { list-style: none; padding: 0; margin: 0 0 24px; display: flex; flex-wrap: wrap; gap: 8px 20px; font-size: .875rem; color: var(--ink-soft); }
.wpg .rdv-progress li { display: inline-flex; align-items: center; gap: 8px; }
.wpg .rdv-progress li.done { color: var(--gold-text); }
.wpg .rdv-progress li > span { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; background: var(--ink); color: var(--white); font-size: .75rem; }
.wpg .rdv-progress li[aria-current] { color: var(--ink); font-weight: 500; }
.wpg .rdv-calendly { margin-top: 32px; background: var(--white); border: 1px solid var(--line); border-radius: var(--r-card); overflow: hidden; }
.wpg .rdv-calendly .calendly-inline-widget { min-width: 320px; height: 760px; }
.wpg .rdv-fallback { margin-top: 18px; font-size: .9375rem; color: var(--ink-soft); }
.wpg .rdv-fallback a { color: var(--gold-text); font-weight: 500; }
@media (max-width: 960px) { .wpg .rdv-card { padding: 24px 20px; } }
@media (max-width: 520px) { .wpg .rdv-grid { grid-template-columns: 1fr; } .wpg .g-recaptcha { transform: scale(.92); transform-origin: left top; } .wpg .rdv-calendly .calendly-inline-widget { height: 1000px; } }

/* Landing pages v7 (/lp/…) : démo vidéo, vidéo témoin, CTA intermédiaire, barre d'essai mobile, pied minimal */
.wpg-landing { padding-bottom: 0; }
.wpg .lp-hero { padding-top: 48px; }
.wpg .video-thumb { position: relative; display: block; width: 100%; padding: 0; border: 0; background: var(--ink); border-radius: var(--r-card); overflow: hidden; cursor: pointer; aspect-ratio: 16 / 10; box-shadow: var(--shadow); }
.wpg .video-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.wpg .video-thumb:hover img { transform: scale(1.03); }
.wpg .video-thumb .play { position: absolute; inset: 50% auto auto 50%; transform: translate(-50%, -50%); width: 76px; height: 76px; border-radius: 50%; background: var(--gold); color: var(--ink); display: grid; place-items: center; box-shadow: 0 12px 30px -10px rgba(0, 0, 0, .5); }
.wpg .video-thumb .play .ico { width: 30px; height: 30px; }
.wpg .lp-demo iframe, .wpg .lp-video iframe { width: 100%; aspect-ratio: 16 / 10; border: 0; border-radius: var(--r-card); background: var(--ink); }
.wpg .video-caption { display: flex; align-items: center; gap: 8px; margin-top: 14px; font-size: .9375rem; color: var(--ink-soft); justify-content: center; }
.wpg .video-caption .ico { color: var(--gold-text); }
.wpg .hero-shot { width: 100%; border-radius: var(--r-card); box-shadow: var(--shadow); }
.wpg .lp-mid-cta { text-align: center; margin-top: 8px; }
.wpg .lp-video { padding: 0 0 112px; }
.wpg .lp-video .wrap { display: grid; grid-template-columns: .9fr 1.1fr; gap: 56px; align-items: center; background: var(--sand); border-radius: var(--r-card); padding: 56px; }
.wpg .lp-video .eyebrow { display: inline-flex; align-items: center; gap: 8px; font: 600 .8125rem var(--font-body); letter-spacing: .12em; text-transform: uppercase; color: var(--gold-text); margin-bottom: 16px; }
.wpg .lp-video .lead { margin-top: 16px; }
.wpg .lp-sticky { display: none; }
/* Fin de page des LP : photo des anciennes LP assombrie en haut pour la lisibilité du texte */
.wpg .lp-foot { background: linear-gradient(rgba(20, 18, 16, .55), rgba(20, 18, 16, .15) 70%), var(--lp-foot-img) no-repeat bottom center / cover, var(--ink); color: var(--white); text-align: center; padding: 96px 0 32px; min-height: 760px; display: flex; }
.wpg .lp-foot .wrap { display: flex; flex-direction: column; align-items: center; gap: 22px; }
.wpg .lp-foot h2 { color: var(--white); max-width: 32ch; text-wrap: balance; margin: 18px 0 0; }
.wpg .lp-foot .lead { color: rgba(255, 255, 255, .85); max-width: 60ch; margin: 0; }
.wpg .lp-foot .nowrap { white-space: nowrap; }
.wpg .lp-foot-logo { width: 100px; height: auto; }
.wpg .lp-foot-form { width: 100%; max-width: 520px; text-align: left; }
.wpg .lp-foot .reassure { justify-content: center; color: rgba(255, 255, 255, .85); }
.wpg .lp-foot .reassure .ico { color: var(--gold); }
.wpg .lp-foot-legal { margin-top: auto; padding-top: 120px; width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; font-size: .875rem; color: rgba(255, 255, 255, .8); }
.wpg .lp-foot-legal p { margin: 0; display: inline-flex; align-items: center; gap: 8px; color: inherit; }
@media (max-width: 960px) {
	.wpg .lp-video .wrap { grid-template-columns: 1fr; padding: 32px 20px; gap: 28px; }
	.wpg .lp-sticky { display: block; position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); background: rgba(245, 243, 240, .96); border-top: 1px solid var(--line); transform: translateY(110%); transition: transform .3s var(--ease); }
	.wpg .lp-sticky.is-on { transform: none; }
	.wpg .lp-sticky .btn { width: 100%; }
	.wpg .lp-foot { padding: 72px 0 calc(88px + env(safe-area-inset-bottom)); min-height: 0; }
	.wpg .lp-foot-legal { padding-top: 64px; justify-content: center; }
}
.wpg .lp-demo .video-thumb { aspect-ratio: auto; }
.wpg .lp-demo .video-thumb img { height: auto; }
.wpg .lp-video .video-thumb, .wpg .lp-demo iframe, .wpg .lp-video iframe { aspect-ratio: 16 / 9; }

/* Pages produit (v7/product : assistant IA, facturation électronique, rapprochement bancaire) */
.wpg .pp-visual { min-width: 0; }
.wpg .pp-chat { box-shadow: var(--shadow); }
.wpg .pp-sec { padding: 0 0 96px; }
.wpg .pp-sec.pp-alt { background: var(--sand); padding: 88px 0; margin-bottom: 96px; }
.wpg .pp-head { margin-bottom: 36px; display: grid; gap: 14px; }
.wpg .pp-head h2 { max-width: 24ch; }
.wpg .pp-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.wpg .pp-card { background: var(--white); border: 1px solid var(--line); border-radius: var(--r-card); padding: 30px; display: flex; flex-direction: column; gap: 10px; }
.wpg .pp-alt .pp-card { border-color: transparent; }
.wpg .pp-card h3 { font-size: 1.5rem; }
.wpg .pp-card p { color: var(--ink-soft); margin: 0; }
.wpg .pp-ico { width: 44px; height: 44px; border-radius: 12px; background: rgba(198, 156, 101, .16); color: var(--gold-text); display: flex; align-items: center; justify-content: center; margin-bottom: 6px; }
.wpg .pp-steps { padding: 104px 0 96px; }
.wpg .pp-steps h2, .wpg .pp-timeline h2 { margin-bottom: 36px; }
.wpg .pp-steps ol, .wpg .pp-timeline ol { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; counter-reset: none; }
.wpg .pp-steps li { background: var(--ink); color: var(--white); border-radius: var(--r-card); padding: 30px; display: flex; flex-direction: column; gap: 10px; }
.wpg .pp-steps li p { color: rgba(255, 255, 255, .75); margin: 0; }
.wpg .pp-steps li h3 { font-size: 1.5rem; }
.wpg .pp-num { width: 36px; height: 36px; border-radius: 50%; background: var(--gold); color: var(--ink); font-weight: 600; display: flex; align-items: center; justify-content: center; margin-bottom: 6px; }
.wpg .pp-timeline { padding: 0 0 96px; }
.wpg .pp-timeline li { border-top: 3px solid var(--gold-soft); padding: 22px 4px 0; display: flex; flex-direction: column; gap: 8px; }
.wpg .pp-timeline li.is-you { border-top-color: var(--gold); }
.wpg .pp-timeline li h3 { font-size: 1.5rem; }
.wpg .pp-timeline li p { color: var(--ink-soft); margin: 0; }
.wpg .pp-date { font: 600 .8125rem var(--font-body); letter-spacing: .12em; text-transform: uppercase; color: var(--gold-text); }
.wpg .pp-mock { background: var(--white); border-radius: var(--r-card); box-shadow: var(--shadow); padding: 26px; display: flex; flex-direction: column; gap: 18px; }
.wpg .pp-mock-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-bottom: 16px; border-bottom: 1px solid var(--line); font-weight: 500; }
.wpg .pp-mock-head > span:first-child { display: inline-flex; align-items: center; gap: 10px; }
.wpg .pp-mock-head .ico { color: var(--gold-text); }
.wpg .pp-tag { display: inline-flex; align-items: center; gap: 4px; padding: 4px 10px; border-radius: 999px; background: var(--sand); font-size: .8125rem; font-weight: 500; white-space: nowrap; }
.wpg .pp-tag.ok { background: #E3F2E8; color: #1F6B3A; }
.wpg .pp-tag .ico { width: 14px; height: 14px; color: inherit; }
.wpg .pp-mock-rows { margin: 0; display: grid; gap: 12px; }
.wpg .pp-mock-rows div { display: flex; justify-content: space-between; gap: 12px; font-size: .9375rem; }
.wpg .pp-mock-rows dt { color: var(--ink-soft); }
.wpg .pp-mock-rows dd { margin: 0; font-weight: 500; display: inline-flex; align-items: center; gap: 6px; }
.wpg .pp-mock-rows dd .ico { width: 16px; height: 16px; color: #1F6B3A; }
.wpg .pp-mock-foot { margin: 0; display: flex; align-items: center; gap: 8px; font-size: .875rem; color: var(--ink-soft); }
.wpg .pp-mock-foot .ico { color: var(--gold-text); flex-shrink: 0; }
.wpg .pp-match { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.wpg .pp-match li { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 10px; background: var(--paper); border-radius: 10px; padding: 12px 14px; }
.wpg .pp-match li > div { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.wpg .pp-match b { font-weight: 500; font-size: .9375rem; }
.wpg .pp-match li > div > span:not(.pp-tag) { font-size: .8125rem; color: var(--ink-soft); }
.wpg .pp-match .pp-tag { align-self: flex-start; }
.wpg .pp-arrow .ico { color: var(--gold-text); }
@media (max-width: 960px) {
	.wpg .pp-cards, .wpg .pp-steps ol, .wpg .pp-timeline ol { grid-template-columns: 1fr; }
	.wpg .pp-sec.pp-alt { padding: 64px 0; margin-bottom: 72px; }
	.wpg .pp-steps { padding: 72px 0; }
	.wpg .pp-visual { margin-top: 8px; }
}
@media (max-width: 640px) {
	.wpg .pp-match li { grid-template-columns: 1fr; }
	.wpg .pp-arrow { display: none; }
}

/* Pages intégrations (integration/*-v7) */
/* Pages « Nos intégrations » v7 (integration/index-v7, integration/detail-v7). À fusionner dans vitrine-v7.css. */
.wpg .integ-nav { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.wpg .integ-featured { padding: 24px 0 56px; }
.wpg .integ-featured h2 { margin-bottom: 28px; }
.wpg .integ-cat { padding: 56px 0; border-top: 1px solid var(--line); }
.wpg .integ-cat-head { display: flex; flex-direction: column; gap: 10px; margin-bottom: 28px; }
.wpg .integ-cat-head h2 { font-size: clamp(1.75rem, 3vw, 2.4rem); }
.wpg .integ-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.wpg .integ-card { display: flex; flex-direction: column; gap: 10px; padding: 24px; background: var(--white); border: 1px solid var(--line); border-radius: var(--r-card); text-decoration: none; color: var(--ink); transition: border-color .2s, transform .2s var(--ease), box-shadow .2s; }
.wpg .integ-card:hover { border-color: var(--gold); transform: translateY(-2px); box-shadow: var(--shadow); }
.wpg .integ-card strong { font-weight: 600; font-size: 1.0625rem; }
.wpg .integ-card-text { color: var(--ink-soft); font-size: .9375rem; flex: 1; }
.wpg .integ-more { display: inline-flex; align-items: center; gap: 6px; font-size: .9375rem; font-weight: 500; color: var(--gold-text); }
.wpg .integ-logo { height: 56px; display: flex; align-items: center; margin-bottom: 4px; }
.wpg .integ-logo img { max-height: 48px; max-width: 160px; width: auto; object-fit: contain; }
.wpg .integ-card--big { padding: 32px; }
.wpg .integ-card--big .integ-logo { height: 72px; }
.wpg .integ-card--big .integ-logo img { max-height: 64px; max-width: 200px; }
.wpg .integ-crumbs { display: flex; align-items: center; gap: 8px; font-size: .875rem; color: var(--ink-soft); margin-bottom: 18px; }
.wpg .integ-crumbs a { color: var(--gold-text); text-decoration: none; }
.wpg .integ-crumbs a:hover { text-decoration: underline; }
.wpg .integ-crumbs .ico { width: 1em; height: 1em; }
.wpg .integ-pair { display: flex; align-items: center; justify-content: center; gap: 20px; padding: 56px 32px; background: var(--white); border-radius: var(--r-card); box-shadow: var(--shadow); }
.wpg .integ-pair-tile { display: flex; flex-direction: column; align-items: center; gap: 14px; width: 180px; padding: 28px 16px; border: 1px solid var(--line); border-radius: var(--r-card); background: var(--paper); }
.wpg .integ-pair-tile img { height: 72px; max-width: 140px; width: auto; object-fit: contain; }
.wpg .integ-pair-tile b { font-weight: 600; font-size: .9375rem; }
.wpg .integ-pair-link { color: var(--gold); }
.wpg .integ-pair-link .ico { width: 32px; height: 32px; }
.wpg .integ-points { padding: 72px 0; background: var(--sand); }
.wpg .integ-points h2 { margin-bottom: 32px; }
.wpg .integ-points-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 18px; }
.wpg .integ-point { display: flex; flex-direction: column; gap: 10px; padding: 28px; background: var(--white); border-radius: var(--r-card); }
.wpg .integ-point .ico.big { width: 32px; height: 32px; color: var(--gold-text); }
.wpg .integ-point h3 { font-size: 1.375rem; }
.wpg .integ-point p { color: var(--ink-soft); }
.wpg .integ-related { border-top: 0; }
.wpg .integ-all { margin-top: 28px; }
@media (max-width: 960px) {
	.wpg .integ-grid { grid-template-columns: 1fr 1fr; }
	.wpg .integ-pair { padding: 32px 16px; gap: 12px; }
	.wpg .integ-pair-tile { width: 140px; padding: 20px 12px; }
	.wpg .integ-pair-tile img { height: 56px; }
}
@media (max-width: 600px) {
	.wpg .integ-grid { grid-template-columns: 1fr; }
	.wpg .integ-cat { padding: 40px 0; }
	.wpg .integ-points { padding: 48px 0; }
}
/* Logos carrés ou avec beaucoup de marge interne (agendas, messageries) : agrandis pour s'aligner sur les autres */
.wpg .integ-logo--pad img { transform: scale(1.6); transform-origin: left center; }
.wpg .integ-pair-tile.integ-logo--pad img { transform: scale(1.5); transform-origin: center; }

/* Pages alternatives (alternative*-v7) */
/* Site vitrine v7 : pages « Alternative à [Outil] » (hub, outil, outil × métier). Jetons : vitrine-v7.css */

/* Fil d'ariane */
.wpg .alt-crumbs { padding: 20px 0 0; font-size: .8125rem; color: var(--ink-soft); }
.wpg .alt-crumbs ol { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin-inline: auto; padding: 0; }
.wpg .alt-crumbs li { display: inline-flex; align-items: center; gap: 6px; }
.wpg .alt-crumbs li + li::before { content: "›"; color: var(--gold); }
.wpg .alt-crumbs a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }

/* Hero : carte « Outil vs WeddingPlan » */
.wpg .alt-hero { padding-top: 32px; }
.wpg .alt-versus { background: var(--white); border-radius: var(--r-card); box-shadow: var(--shadow); padding: 22px; display: flex; flex-direction: column; gap: 12px; }
.wpg .alt-versus-head { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 10px; padding-bottom: 12px; border-bottom: 1px solid var(--line); font-weight: 600; }
.wpg .alt-versus-head span { display: inline-flex; align-items: center; gap: 8px; }
.wpg .alt-versus-head span.is-wp { justify-content: flex-end; }
.wpg .alt-versus-head img { width: auto; height: 24px; }
.wpg .alt-vs { font-family: var(--font-title); color: var(--gold); font-size: 1.25rem; font-weight: 400; }
.wpg .alt-versus-row { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 14px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.wpg .alt-versus-row:last-child { border-bottom: 0; padding-bottom: 0; }
.wpg .alt-versus-row b { grid-column: 1 / -1; font-size: .875rem; }
.wpg .alt-versus-row p { margin: 0; display: flex; gap: 8px; align-items: flex-start; font-size: .8125rem; line-height: 1.45; color: var(--ink-soft); }
.wpg .alt-versus-row p .ico { flex: none; width: 16px; height: 16px; margin-top: 1px; color: #B4645A; }
.wpg .alt-versus-row p.is-wp { color: var(--ink); }
.wpg .alt-versus-row p.is-wp .ico { color: var(--gold-text); }

/* Forces / limites */
.wpg .alt-duo { padding: 40px 0 72px; }
.wpg .alt-duo .wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.wpg .alt-col { background: var(--white); border: 1px solid var(--line); border-radius: var(--r-card); padding: 32px; }
.wpg .alt-col.is-pain { background: var(--sand); border-color: transparent; }
.wpg .alt-col h2 { font-size: clamp(1.375rem, 2.4vw, 1.75rem); margin: 0 0 20px; }
.wpg .alt-col ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 14px; }
.wpg .alt-col li { display: flex; gap: 12px; align-items: flex-start; line-height: 1.55; }
.wpg .alt-col li .ico { flex: none; margin-top: 3px; color: var(--gold-text); }
.wpg .alt-col.is-pain li .ico { color: #B4645A; }

/* Tableau comparatif : vrai tableau sur grand écran, cartes empilées sur mobile */
.wpg .alt-compare { padding: 72px 0; background: var(--white); }
.wpg .alt-compare h2 { margin-bottom: 32px; max-width: 24ch; }
.wpg .alt-table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: .9375rem; }
.wpg .alt-table th, .wpg .alt-table td { text-align: left; vertical-align: top; padding: 16px 18px; border-bottom: 1px solid var(--line); }
.wpg .alt-table thead th { font-size: .8125rem; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-soft); font-weight: 600; }
.wpg .alt-table thead th.is-wp { color: var(--gold-text); }
.wpg .alt-table tbody th { font-weight: 600; width: 26%; }
.wpg .alt-table td { color: var(--ink-soft); width: 37%; }
.wpg .alt-table td.is-wp { background: var(--paper); color: var(--ink); }
.wpg .alt-table thead th.is-wp { background: var(--sand-2); border-radius: 12px 12px 0 0; }
.wpg .alt-table tbody tr:last-child td.is-wp { border-radius: 0 0 12px 12px; }
.wpg .alt-table td { display: table-cell; }
.wpg .alt-table td .ico { width: 16px; height: 16px; margin: 3px 10px 0 0; float: left; color: #B4645A; }
.wpg .alt-table td.is-wp .ico { color: var(--gold-text); }
.wpg .alt-table td span { display: block; overflow: hidden; }
.wpg .alt-verify { display: inline-block; margin-left: 6px; padding: 1px 6px; border: 1px solid #B4645A; border-radius: 4px; color: #B4645A; font-size: .6875rem; font-style: normal; text-transform: uppercase; }

/* Migration : étapes numérotées */
.wpg .alt-steps { padding: 72px 0; }
.wpg .alt-steps-head { margin-bottom: 32px; }
.wpg .alt-steps-head h2 { margin-bottom: 8px; }
.wpg .alt-steps ol { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; counter-reset: none; }
.wpg .alt-steps li { background: var(--white); border: 1px solid var(--line); border-radius: var(--r-card); padding: 22px; display: flex; flex-direction: column; gap: 12px; }
.wpg .alt-steps li p { margin: 0; line-height: 1.5; flex: 1; }
.wpg .alt-steps li small { display: inline-flex; align-items: center; gap: 6px; color: var(--gold-text); font-weight: 600; font-size: .8125rem; }
.wpg .alt-steps li small .ico { width: 16px; height: 16px; }
.wpg .alt-num { width: 32px; height: 32px; border-radius: 50%; background: var(--ink); color: var(--white); display: grid; place-items: center; font-weight: 600; font-size: .875rem; }

/* Témoignage */
.wpg .alt-quote-sec { padding: 0 0 72px; }
.wpg .alt-quote { margin: 0 auto; max-width: 820px; background: var(--sand); border-radius: var(--r-card); padding: 40px; text-align: center; }
.wpg .alt-quote blockquote { margin: 12px 0 16px; font-family: var(--font-title); font-size: clamp(1.25rem, 2.2vw, 1.625rem); line-height: 1.35; }
.wpg .alt-quote figcaption { display: flex; flex-direction: column; gap: 2px; font-size: .875rem; color: var(--ink-soft); }
.wpg .alt-quote figcaption strong { color: var(--ink); }

/* Maillage interne */
.wpg .alt-more { padding: 24px 0 72px; }
.wpg .alt-more h2 { font-size: clamp(1.375rem, 2.4vw, 1.75rem); margin-bottom: 20px; }
.wpg .alt-links { display: flex; flex-wrap: wrap; gap: 10px; }

/* Hub */
.wpg .alt-hub { padding: 8px 0 72px; }
.wpg .alt-hub-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.wpg .alt-card { background: var(--white); border: 1px solid var(--line); border-radius: var(--r-card); padding: 26px; display: flex; flex-direction: column; gap: 12px; }
.wpg .alt-card-head { display: flex; align-items: center; gap: 12px; }
.wpg .alt-card-head img { width: auto; max-width: 72px; height: 32px; object-fit: contain; }
.wpg .alt-card h2 { font-size: 1.5rem; margin: 0; }
.wpg .alt-card > p { margin: 0; color: var(--ink-soft); }
.wpg .alt-card-main { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; color: var(--ink); text-decoration: none; margin-top: 4px; }
.wpg .alt-card-main .ico { width: 18px; height: 18px; color: var(--gold-text); transition: transform .2s var(--ease); }
.wpg .alt-card-main:hover .ico { transform: translateX(3px); }
.wpg .alt-card ul { list-style: none; margin: 4px 0 0; padding: 14px 0 0; border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: 8px; }
.wpg .alt-card ul a { display: inline-block; padding: 4px 10px; border-radius: 999px; background: var(--paper); color: var(--ink-soft); font-size: .8125rem; text-decoration: none; }
.wpg .alt-card ul a:hover { color: var(--ink); background: var(--sand); }

@media (max-width: 960px) {
	.wpg .alt-duo .wrap { grid-template-columns: 1fr; }
	.wpg .alt-hub-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px) {
	.wpg .alt-col { padding: 24px; }
	.wpg .alt-compare, .wpg .alt-steps { padding: 56px 0; }
	.wpg .alt-hub-grid { grid-template-columns: 1fr; }
	.wpg .alt-quote { padding: 28px 22px; }
	/* Tableau → une carte par fonction */
	.wpg .alt-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.wpg .alt-table, .wpg .alt-table tbody, .wpg .alt-table tr { display: block; }
	.wpg .alt-table tr { border: 1px solid var(--line); border-radius: 12px; margin-bottom: 12px; overflow: hidden; background: var(--white); }
	.wpg .alt-table tbody th, .wpg .alt-table td { display: block; width: auto; border-bottom: 0; padding: 12px 16px; }
	.wpg .alt-table tbody th { padding-bottom: 4px; }
	.wpg .alt-table td::before { content: attr(data-label); display: block; font-size: .6875rem; letter-spacing: .06em; text-transform: uppercase; font-weight: 600; color: var(--ink-soft); margin-bottom: 4px; }
	.wpg .alt-table td.is-wp::before { color: var(--gold-text); }
	.wpg .alt-table tbody tr:last-child td.is-wp { border-radius: 0; }
	.wpg .alt-versus { display: none; } /* doublon du tableau comparatif plus bas */
	.wpg .alt-steps li { display: grid; grid-template-columns: 32px 1fr; gap: 4px 14px; padding: 18px; }
	.wpg .alt-steps li .alt-num { grid-row: span 2; }
}

/* Pages éditoriales et juridiques (témoignages, histoire, webinaires, parrainage, v7/legal) */
/* Site vitrine v7 : pages éditoriales (avis clients, histoire, webinaires, parrainage) et textes juridiques.
   Chargé par ces pages en plus de vitrine-v7.css (à y fusionner). Tokens : voir .wpg dans vitrine-v7.css. */

/* Commun */
.wpg .pg-gap { height: 112px; }
.wpg .pg-rating { display: inline-flex; align-items: center; gap: 10px; margin-top: 22px; color: var(--ink-soft); }
.wpg .pg-rating .stars, .wpg .pg-review-grid .stars { color: var(--gold); letter-spacing: .1em; }
.wpg .pg-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 18px; }
.wpg .pg-card { background: var(--white); border: 1px solid var(--line); border-radius: var(--r-card); padding: 28px; display: flex; flex-direction: column; gap: 14px; align-items: flex-start; }
.wpg .pg-card .ico.big, .wpg .pg-story-cards .ico.big { width: 2rem; height: 2rem; color: var(--gold-text); }
.wpg .pg-card h3 { font-size: 1.375rem; }
.wpg .pg-card p { color: var(--ink-soft); }
.wpg .pg-card .btn { margin-top: auto; }
.wpg .pg-card-soft { background: var(--sand); border-color: transparent; }
.wpg .pg-btn-line { background: transparent; color: var(--ink); border-color: var(--ink); }
.wpg .pg-btn-line:hover { background: var(--ink); color: var(--white); }

/* Avis clients */
.wpg .pg-reviews { padding: 0 0 96px; }
.wpg .pg-review-grid { columns: 3 320px; column-gap: 18px; }
.wpg .pg-review-grid .quote-card { break-inside: avoid; margin: 0 0 18px; }
.wpg .pg-google { padding: 0 0 112px; }
.wpg .pg-google h2 { margin-bottom: 32px; }
.wpg .pg-widget { min-height: 120px; }

/* Histoire */
.wpg .pg-story-hero .hero-visual img { aspect-ratio: 4 / 3; object-fit: cover; }
.wpg .pg-story { padding: 112px 0; }
.wpg .pg-story h2 { font-size: clamp(1.9rem, 3vw, 2.6rem); margin-bottom: 18px; }
.wpg .pg-story p { color: var(--ink-soft); max-width: 62ch; }
.wpg .pg-story p + p { margin-top: 14px; }
.wpg .pg-story-founder { display: grid; grid-template-columns: .9fr 1.1fr; gap: 56px; align-items: center; }
.wpg .pg-story-founder img { border-radius: var(--r-card); box-shadow: var(--shadow); width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.wpg .pg-story-mission { margin: 96px auto; max-width: 760px; text-align: center; }
.wpg .pg-story-mission p { margin-inline: auto; font-size: 1.125rem; }
.wpg .pg-story-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.wpg .pg-story-cards article { background: var(--white); border: 1px solid var(--line); border-radius: var(--r-card); padding: 36px; display: flex; flex-direction: column; gap: 14px; }
.wpg .pg-story-cards h3 { font-size: 1.5rem; }

/* Webinaires */
.wpg .pg-webinars { padding: 0 0 96px; }
.wpg .pg-webinars h2 { margin-bottom: 32px; }
.wpg .pg-replays .lead { margin: -16px 0 28px; }
.wpg .pg-dates { list-style: none; padding: 0; display: grid; gap: 6px; color: var(--ink-soft); font-size: .9375rem; }
.wpg .pg-dates li { display: flex; gap: 8px; align-items: center; }
.wpg .pg-dates li::first-letter { text-transform: uppercase; }
.wpg .pg-replay-list { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 10px; }
.wpg .pg-replay-list a { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 22px; background: var(--white); border: 1px solid var(--line); border-radius: 12px; text-decoration: none; color: var(--ink); transition: border-color .2s; }
.wpg .pg-replay-list a:hover { border-color: var(--gold); }
.wpg .pg-replay-list .ico { color: var(--gold-text); }

/* Parrainage */
.wpg .pg-steps-sec { padding: 0 0 112px; }
.wpg .pg-steps-sec h2 { margin-bottom: 36px; }
.wpg .pg-steps { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.wpg .pg-steps li { background: var(--white); border: 1px solid var(--line); border-radius: var(--r-card); padding: 32px; display: flex; flex-direction: column; gap: 18px; }
.wpg .pg-steps li > span { width: 44px; height: 44px; border-radius: 50%; background: var(--ink); color: var(--white); display: grid; place-items: center; font-family: var(--font-title); font-size: 1.375rem; }
.wpg .pg-steps h3 { font-size: 1.375rem; margin-bottom: 8px; }
.wpg .pg-steps p { color: var(--ink-soft); }
.wpg .pg-bonus { display: flex; align-items: center; gap: 12px; margin-top: 24px; padding: 20px 24px; border-radius: var(--r-card); background: var(--sand); }
.wpg .pg-bonus .ico { color: var(--gold-text); width: 1.5em; height: 1.5em; }
.wpg .pg-actions { margin-top: 32px; }

/* Textes juridiques : largeur de lecture, styles Word neutralisés (tailles et polices en ligne) */
.wpg .legal-hero { padding-bottom: 32px; }
.wpg .legal-sec { padding: 0 0 112px; }
.wpg .legal-body { max-width: 780px; background: var(--white); border: 1px solid var(--line); border-radius: var(--r-card); padding: clamp(24px, 5vw, 56px); font-size: 1rem; line-height: 1.7; color: var(--ink); overflow-wrap: break-word; }
.wpg .legal-body p, .wpg .legal-body span, .wpg .legal-body li, .wpg .legal-body td, .wpg .legal-body th { font-family: var(--font-body) !important; font-size: inherit !important; line-height: inherit !important; }
.wpg .legal-body p { margin: 0 0 12px !important; text-indent: 0 !important; text-align: left !important; }
.wpg .legal-body p:empty { display: none; }
.wpg .legal-body ul, .wpg .legal-body ol { padding-left: 1.25em; margin: 0 0 14px; }
.wpg .legal-body li { margin-bottom: 4px; }
.wpg .legal-body a[href] { color: var(--gold-text); }
.wpg .legal-body a:not([href]) { color: inherit; text-decoration: none; }
.wpg .legal-body hr { display: none; }
.wpg .legal-body .legal-h, .wpg .legal-body article h2 { font-family: var(--font-title) !important; font-size: 1.5rem !important; line-height: 1.2 !important; font-weight: 400; margin: 40px 0 14px !important; scroll-margin-top: 90px; }
.wpg .legal-body .legal-annex { margin-top: 64px !important; padding-top: 32px; border-top: 1px solid var(--line); }
.wpg .legal-body .legal-lead { display: block; font-family: var(--font-title); font-size: 1.5rem; line-height: 1.2; font-weight: 400; margin: 28px 0 10px; }
.wpg .legal-body p[id] { scroll-margin-top: 90px; }
.wpg .legal-body article { scroll-margin-top: 90px; margin-bottom: 8px; }
.wpg .legal-body article:first-of-type h2, .wpg .legal-body nav + * .legal-h:first-child { margin-top: 24px !important; }
.wpg .legal-body nav { background: var(--paper); border-radius: 12px; padding: 22px 26px; margin-bottom: 32px; font-size: .9375rem; }
.wpg .legal-body nav ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 6px; }
.wpg .legal-body nav li.sub { padding-left: 16px; }
.wpg .legal-body nav.mb-4::before { content: "Sommaire"; display: block; font-weight: 600; margin-bottom: 10px; }
.wpg .legal-body nav a { color: var(--ink); text-decoration: none; }
.wpg .legal-body nav a:hover { color: var(--gold-text); text-decoration: underline; }
.wpg .legal-toc-title { font-weight: 600; margin: 0 0 10px !important; }
.wpg .legal-body .table-responsive { overflow-x: auto; margin: 0 0 16px; }
.wpg .legal-body table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: .9375rem; }
.wpg .legal-body th, .wpg .legal-body td { text-align: left; vertical-align: top; padding: 10px 12px; border-bottom: 1px solid var(--line); }
.wpg .legal-body th { background: var(--paper); font-weight: 600; }

@media (max-width: 960px) {
	.wpg .pg-story-founder, .wpg .pg-story-cards, .wpg .pg-steps { grid-template-columns: 1fr; gap: 24px; }
	.wpg .pg-story { padding: 72px 0; }
	.wpg .pg-story-mission { margin: 64px auto; }
	.wpg .pg-replay-list { grid-template-columns: 1fr; }
}

/* Pages produit du groupe 2 (signature électronique, site des mariés) */
/* Pages produit du groupe 2 (signature électronique, site des mariés) : compléments de .pp-* */
.wpg .pp2-signers li { grid-template-columns: 1fr auto; }
.wpg .pp2-site { background: var(--white); border-radius: var(--r-card); box-shadow: var(--shadow); overflow: hidden; }
.wpg .pp2-site-bar { display: flex; align-items: center; gap: 6px; padding: 12px 16px; background: var(--paper); border-bottom: 1px solid var(--line); }
.wpg .pp2-site-bar > span { width: 10px; height: 10px; border-radius: 50%; background: var(--sand-2); }
.wpg .pp2-site-bar p { margin: 0 0 0 10px; flex: 1; min-width: 0; display: inline-flex; align-items: center; gap: 6px; background: var(--white); border-radius: 999px; padding: 6px 12px; font-size: .8125rem; color: var(--ink-soft); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wpg .pp2-site-bar p .ico { width: 14px; height: 14px; color: #1F6B3A; flex-shrink: 0; }
.wpg .pp2-site-body { padding: 48px 28px 40px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 14px; background: linear-gradient(180deg, var(--sand) 0%, var(--white) 100%); }
.wpg .pp2-site-date { margin: 0; font: 600 .75rem var(--font-body); letter-spacing: .14em; text-transform: uppercase; color: var(--gold-text); }
.wpg .pp2-site-names { margin: 0; font-family: var(--font-title); font-size: clamp(2rem, 4vw, 2.75rem); line-height: 1.1; color: var(--ink); }
.wpg .pp2-site-nav { list-style: none; margin: 6px 0 4px; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 18px; font-size: .875rem; color: var(--ink-soft); }
.wpg .pp2-site-btn { display: inline-block; padding: 10px 20px; border-radius: var(--r-btn); background: var(--ink); color: var(--white); font-size: .875rem; font-weight: 500; }
.wpg .pp2-site .pp-mock-foot { padding: 16px 24px; border-top: 1px solid var(--line); }

/* Crédits photos (default/credits-v7) : une ligne par crédit, aérée */
.wpg .legal-credits p { line-height: 2.1 !important; margin: 0 !important; }

/* Pages partenaires (partner/*-v7) */
/* Pages partenaires v7 (partner/*-v7) : à fusionner dans vitrine-v7.css */
.wpg .ptn-crumbs { display: flex; flex-wrap: wrap; gap: 8px; font-size: .875rem; color: var(--ink-soft); margin-bottom: 28px; }
.wpg .ptn-crumbs a { color: var(--gold-text); text-decoration: none; }
.wpg .ptn-crumbs a:hover { text-decoration: underline; }
.wpg .ptn-hero-grid { display: grid; grid-template-columns: 1fr 320px; gap: 48px; align-items: center; }
.wpg .ptn-hero-grid .lead { margin-top: 18px; }
.wpg .ptn-logo-box { background: var(--white); border: 1px solid var(--line); border-radius: var(--r-card); box-shadow: var(--shadow); aspect-ratio: 4 / 3; display: flex; align-items: center; justify-content: center; padding: 32px; }
.wpg .ptn-logo-box img { max-width: 100%; max-height: 100%; object-fit: contain; }
.wpg .ptn-cta { margin-top: 28px; }

.wpg .ptn-benefit { padding: 8px 0 96px; }
.wpg .ptn-benefit-box { background: var(--ink); color: var(--white); border-radius: var(--r-card); padding: 56px; }
.wpg .ptn-benefit-box .eyebrow { display: inline-flex; align-items: center; gap: 8px; font: 600 .8125rem var(--font-body); letter-spacing: .12em; text-transform: uppercase; color: var(--gold); }
.wpg .ptn-benefit-box h2 { font-size: clamp(1.75rem, 3vw, 2.5rem); max-width: 26ch; margin: 16px 0; }
.wpg .ptn-benefit-box .lead { color: rgba(255, 255, 255, .78); margin-bottom: 28px; }
.wpg .ptn-benefit-box .cta-row { display: flex; flex-wrap: wrap; gap: 12px; }
.wpg .ptn-benefit-box > div { min-width: 0; }

.wpg .ptn-about { padding: 0 0 96px; }
.wpg .ptn-about-grid { display: grid; grid-template-columns: 1fr 1.6fr; gap: 56px; align-items: start; }
.wpg .ptn-about-text { display: grid; gap: 16px; }
.wpg .ptn-about-text p { margin: 0; color: var(--ink-soft); font-size: 1.0625rem; line-height: 1.7; }
.wpg .ptn-site { display: inline-flex; align-items: center; gap: 8px; color: var(--gold-text); font-weight: 500; }
.wpg .ptn-checks { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.wpg .ptn-checks li { display: flex; gap: 10px; align-items: flex-start; }
.wpg .ptn-checks .ico { color: var(--gold-text); flex-shrink: 0; margin-top: 2px; }

.wpg .ptn-members, .wpg .ptn-others { padding: 0 0 96px; }
.wpg .ptn-members h2, .wpg .ptn-others h2 { margin-bottom: 32px; max-width: 24ch; }
.wpg .ptn-logos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.wpg .ptn-logos a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; height: 100%; min-height: 140px; padding: 20px; background: var(--white); border: 1px solid var(--line); border-radius: var(--r-card); text-decoration: none; color: var(--ink); transition: border-color .2s, transform .2s; }
.wpg .ptn-logos a:hover { border-color: var(--gold); transform: translateY(-2px); }
.wpg .ptn-logos img { max-width: 140px; max-height: 72px; object-fit: contain; }
.wpg .ptn-logos--links span { font-size: .9375rem; font-weight: 500; text-align: center; }

.wpg .ptn-group { padding: 0 0 80px; }
.wpg .ptn-group h2 { margin-bottom: 32px; }
.wpg .ptn-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.wpg .ptn-card { display: flex; flex-direction: column; gap: 12px; padding: 28px; background: var(--white); border: 1px solid var(--line); border-radius: var(--r-card); text-decoration: none; color: var(--ink); transition: border-color .2s, transform .2s; }
.wpg .ptn-card:hover { border-color: var(--gold); transform: translateY(-2px); }
.wpg .ptn-card-logo { height: 80px; display: flex; align-items: center; }
.wpg .ptn-card-logo img { max-width: 160px; max-height: 80px; object-fit: contain; }
.wpg .ptn-card strong { font-family: var(--font-title); font-weight: 400; font-size: 1.5rem; line-height: 1.15; }
.wpg .ptn-card-benefit { color: var(--ink-soft); font-size: .9375rem; }
.wpg .ptn-card-more { margin-top: auto; display: inline-flex; align-items: center; gap: 6px; color: var(--gold-text); font-weight: 500; font-size: .9375rem; }
.wpg .ptn-card-more .ico { width: 16px; height: 16px; }

.wpg .ptn-features { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.wpg .ptn-feature { background: var(--white); border: 1px solid var(--line); border-radius: var(--r-card); padding: 30px; display: flex; flex-direction: column; gap: 10px; }
.wpg .ptn-feature h3 { font-size: 1.5rem; }
.wpg .ptn-feature p { margin: 0; color: var(--ink-soft); }
.wpg .ptn-feature a { color: var(--gold-text); }
.wpg .ptn-ico { width: 44px; height: 44px; border-radius: 12px; background: rgba(198, 156, 101, .16); color: var(--gold-text); display: flex; align-items: center; justify-content: center; margin-bottom: 6px; }

.wpg .ptn-join { padding: 16px 0 96px; }
.wpg .ptn-join-grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: 56px; align-items: start; }
.wpg .ptn-join-grid .lead { margin: 18px 0; }
.wpg .ptn-join-note { display: flex; align-items: center; gap: 8px; color: var(--ink-soft); }
.wpg .ptn-join-note .ico { color: var(--gold-text); }
.wpg .ptn-form textarea { display: block; width: 100%; min-height: 130px; padding: 12px 14px; border-radius: var(--r-btn); border: 1px solid rgba(43, 43, 43, .4); background: var(--white); font: 400 1rem var(--font-body); color: var(--ink); resize: vertical; }

@media (max-width: 960px) {
	.wpg .ptn-hero-grid, .wpg .ptn-about-grid, .wpg .ptn-join-grid { grid-template-columns: 1fr; gap: 28px; }
	.wpg .ptn-logo-box { max-width: 320px; }
	.wpg .ptn-benefit-box { padding: 36px 24px; }
	.wpg .ptn-benefit-box .btn { width: 100%; white-space: normal; justify-content: center; text-align: center; }
	.wpg .ptn-cards, .wpg .ptn-features { grid-template-columns: 1fr; }
	.wpg .ptn-logos { grid-template-columns: repeat(2, 1fr); }
	.wpg .ptn-benefit, .wpg .ptn-about, .wpg .ptn-members, .wpg .ptn-others, .wpg .ptn-join { padding-bottom: 72px; }
}

/* Tutoriels vidéo (video_interne/*-v7) */
.wpg .vid-back { margin: 0 0 20px; }
.wpg .vid-back a { display: inline-flex; align-items: center; gap: 6px; color: var(--ink-soft); text-decoration: none; font-size: .9375rem; }
.wpg .vid-back a:hover { color: var(--ink); }
.wpg .vid-back .ico { transform: rotate(180deg); width: 16px; height: 16px; }
.wpg .vid-hero h1 { max-width: 28ch; }
.wpg .vid-desc { margin-top: 16px; }
.wpg .vid-desc p { margin: 0 0 8px; }
.wpg .vid-player-sec, .wpg .vid-list-sec { padding: 0 0 96px; }
.wpg .vid-player { position: relative; aspect-ratio: 16 / 9; border-radius: var(--r-card); overflow: hidden; background: var(--ink); box-shadow: var(--shadow); }
.wpg .vid-player iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.wpg .vid-next { margin-top: 40px; background: var(--sand); border-radius: var(--r-card); padding: 36px; display: flex; justify-content: space-between; align-items: center; gap: 24px 40px; flex-wrap: wrap; }
.wpg .vid-next h2 { font-size: clamp(1.6rem, 2.4vw, 2rem); margin-bottom: 8px; }
.wpg .vid-next p { margin: 0; color: var(--ink-soft); max-width: 52ch; }
.wpg .vid-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.wpg .vid-actions .btn-outline { background: transparent; color: var(--ink); border-color: rgba(43, 43, 43, .3); }
.wpg .vid-actions .btn-outline:hover { background: rgba(43, 43, 43, .05); }
.wpg .vid-trial { margin: 20px 0 0; font-size: .9375rem; color: var(--ink-soft); text-align: center; }
.wpg .vid-trial a { color: var(--gold-text); }
.wpg .vid-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.wpg .vid-card { display: flex; flex-direction: column; gap: 10px; text-decoration: none; color: var(--ink); }
.wpg .vid-thumb { position: relative; aspect-ratio: 16 / 9; border-radius: 12px; overflow: hidden; background: var(--sand); display: block; }
.wpg .vid-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s var(--ease); }
.wpg .vid-card:hover .vid-thumb img { transform: scale(1.03); }
.wpg .vid-play { position: absolute; left: 14px; bottom: 14px; width: 40px; height: 40px; border-radius: 50%; background: var(--white); display: flex; align-items: center; justify-content: center; box-shadow: var(--shadow); }
.wpg .vid-card strong { font-weight: 500; font-size: 1.0625rem; line-height: 1.35; }
.wpg .vid-duration { display: inline-flex; align-items: center; gap: 6px; font-size: .875rem; color: var(--ink-soft); }
.wpg .vid-duration .ico { width: 15px; height: 15px; }
.wpg .vid-empty { color: var(--ink-soft); }
.wpg .vid-empty a { color: var(--gold-text); }
@media (max-width: 960px) { .wpg .vid-grid { grid-template-columns: 1fr 1fr; } .wpg .vid-next { padding: 28px; } }
@media (max-width: 640px) { .wpg .vid-grid { grid-template-columns: 1fr; } .wpg .vid-actions, .wpg .vid-actions .btn { width: 100%; } }
