/* PermaTechnics 2026, feuille de style unique des pages FR.
   Construite à la main depuis le CSS des maquettes v3 (lib.mjs). Mobile d'abord, points de rupture 768 et 1120. */

/* ------------------------------------------------------------------ */
/* Jetons                                                              */
/* ------------------------------------------------------------------ */
:root {
	--pt-bg: #F4F3F0;
	--pt-card: #FFFFFF;
	--pt-primary: #3A5A40;
	--pt-primary-hover: #344F41;
	--pt-secondary: #E3E8DC;
	--pt-secondary-hover: #CBD5BE;
	--pt-ink: #203123;
	--pt-ink-soft: #2A3F2E;
	--pt-slate: #3A485A;
	--pt-slate-deep: #2D343D;
	--pt-slate-line: #344F41;
	--pt-blue-300: #B9C6D0;
	--pt-blue-200: #DCE3E8;
	--pt-title-green: #4E794F;
	--pt-border: #E1DED5;
	--pt-focus: #A3B18A;
	--pt-error: #D9342B;
	--pt-badge-soft: #F1F3ED;
	--pt-muted: #736B54;
	--pt-muted-light: #BDB6A3;
	--pt-late: #775541;
	--pt-invest: #845B2F;
	--pt-frame-bar: #FBFAF9;
	--pt-sol: #897B52;
	--pt-cuc: #5C754D;
	--pt-bra: #415F77;
	--pt-api: #845B2F;
	--pt-ast: #5E606E;
	--pt-fab: #775541;
	--pt-lil: #6D854C;
	--pt-che: #4E7E6E;
	--pt-font-head: 'Fira Sans', 'Trebuchet MS', system-ui, sans-serif;
	--pt-font-body: 'Geist', 'Segoe UI', system-ui, sans-serif;
	--pt-radius: 14px;
	--pt-radius-sm: 8px;
	--pt-shadow-frame: 0 24px 60px rgba(32, 49, 35, 0.14);
	--pt-shadow-card: 0 10px 24px rgba(32, 49, 35, 0.12);
	--pt-shadow-menu: 0 14px 34px rgba(32, 49, 35, 0.14);
	--pt-wrap-max: 1440px;
	--pt-gutter: 20px;
}

/* ------------------------------------------------------------------ */
/* Base                                                                */
/* ------------------------------------------------------------------ */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: auto; }
body.pt {
	margin: 0;
	background: var(--pt-bg);
	color: var(--pt-ink);
	font-family: var(--pt-font-body);
	font-size: 17px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}
/* Couleurs de base à spécificité nulle (:where) pour que les variantes de section et de bouton l'emportent. */
:where(body.pt) h1, :where(body.pt) h2, :where(body.pt) h3, :where(body.pt) h4 {
	font-family: var(--pt-font-head);
	margin: 0;
	line-height: 1.12;
	color: var(--pt-ink);
	font-weight: 700;
}
:where(body.pt) p { margin: 0; }
:where(body.pt) a { color: var(--pt-primary); }
:where(body.pt) a:hover { color: var(--pt-primary-hover); }
body.pt img { max-width: 100%; height: auto; }
body.pt ul, body.pt ol { margin: 0; padding: 0; }
body.pt :focus-visible { outline: 3px solid var(--pt-focus); outline-offset: 2px; }
body.pt svg { flex-shrink: 0; }

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.pt-skip:focus {
	position: fixed; top: 8px; left: 8px; z-index: 1000;
	width: auto; height: auto; margin: 0; padding: 12px 18px; clip: auto; overflow: visible;
	background: var(--pt-ink); color: #FFFFFF; border-radius: var(--pt-radius-sm);
	font-family: var(--pt-font-head); font-weight: 700; text-decoration: none;
}

.pt-wrap, :where(body.pt) .wp-block-group.pt-wrap {
	max-width: var(--pt-wrap-max);
	margin-left: auto; margin-right: auto;
	padding-left: var(--pt-gutter); padding-right: var(--pt-gutter);
}
.pt-wrap--narrow { max-width: 1100px; }
.pt-wrap--1200 { max-width: 1200px; }
.pt-wrap--900 { max-width: 900px; }
.pt-center { text-align: center; }

/* Blocs Gutenberg : les groupes portent nos classes, rien d'autre. */
:where(body.pt) .wp-block-group:not(.pt-wrap) { margin: 0; }
/* Thème classique : WordPress ajoute un conteneur intermédiaire dans chaque groupe. Il est rendu transparent pour que les enfants participent aux mises en page flex et grille. */
:where(body.pt) .wp-block-group__inner-container { display: contents; }
.pt-screen { min-width: 0; }

/* ------------------------------------------------------------------ */
/* Typographie                                                         */
/* ------------------------------------------------------------------ */
.pt-h1 { font-size: 36px; font-weight: 800; letter-spacing: -1px; line-height: 1.04; }
.pt-h2 { font-size: 30px; font-weight: 800; letter-spacing: -0.5px; }
.pt-h3 { font-size: 22px; font-weight: 700; }
.pt-lead { font-size: 17px; line-height: 1.6; color: var(--pt-slate); }
.pt-eyebrow { font-size: 13px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: var(--pt-muted); font-family: var(--pt-font-body); }
.pt-quote { font-family: var(--pt-font-head); font-size: 17px; line-height: 1.5; font-weight: 500; color: var(--pt-slate); }
.pt-faq-q { font-family: var(--pt-font-head); font-weight: 700; font-size: 17px; color: var(--pt-ink); }
.pt-text-light { color: #FFFFFF; }
.pt-h1--md { font-size: 32px; }

@media (min-width: 768px) {
	.pt-h1 { font-size: 48px; }
	.pt-h2 { font-size: 36px; }
	.pt-h3 { font-size: 24px; }
	.pt-lead { font-size: 19px; }
	.pt-quote { font-size: 20px; }
	.pt-faq-q { font-size: 19px; }
	.pt-h1--md { font-size: 44px; }
}
@media (min-width: 1120px) {
	.pt-h1 { font-size: 60px; }
	.pt-h2 { font-size: 42px; }
	.pt-h1--md { font-size: 52px; }
	.pt-h2--md { font-size: 36px; }
	.pt-h2--sm { font-size: 32px; }
}

/* ------------------------------------------------------------------ */
/* Boutons                                                             */
/* ------------------------------------------------------------------ */
.pt-btn,
.pt-actions .wp-block-button__link {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 48px; padding: 0 26px; border-radius: var(--pt-radius-sm);
	font-family: var(--pt-font-head); font-weight: 700; font-size: 16px; line-height: 1.2;
	text-decoration: none; cursor: pointer; border: 1.5px solid transparent; white-space: normal; text-align: center;
	background: var(--pt-primary); color: #FFFFFF;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.pt-btn--p, .wp-block-button.pt-btn-p > .wp-block-button__link { background: var(--pt-primary); color: #FFFFFF; }
.pt-btn--p:hover, .wp-block-button.pt-btn-p > .wp-block-button__link:hover { background: var(--pt-primary-hover); color: #FFFFFF; }
.pt-btn--s, .wp-block-button.pt-btn-s > .wp-block-button__link { background: var(--pt-secondary); color: var(--pt-ink); }
.pt-btn--s:hover, .wp-block-button.pt-btn-s > .wp-block-button__link:hover { background: var(--pt-secondary-hover); color: var(--pt-ink); }
.pt-btn--o, .wp-block-button.pt-btn-o > .wp-block-button__link { background: transparent; color: var(--pt-primary); border-color: var(--pt-primary); }
.pt-btn--o:hover, .wp-block-button.pt-btn-o > .wp-block-button__link:hover { color: var(--pt-primary-hover); border-color: var(--pt-primary-hover); background: transparent; }
.pt-btn--w, .wp-block-button.pt-btn-w > .wp-block-button__link { background: #FFFFFF; color: var(--pt-slate); }
.pt-btn--w:hover, .wp-block-button.pt-btn-w > .wp-block-button__link:hover { background: #EDF1F3; color: var(--pt-slate-deep); }
.pt-btn--white, .wp-block-button.pt-btn-white > .wp-block-button__link { background: #FFFFFF; color: var(--pt-ink); }
.pt-btn--white:hover, .wp-block-button.pt-btn-white > .wp-block-button__link:hover { background: var(--pt-secondary); color: var(--pt-ink); }
.pt-btn--ghost, .wp-block-button.pt-btn-ghost > .wp-block-button__link { background: transparent; color: #FFFFFF; border-color: var(--pt-focus); }
.pt-btn--ghost:hover, .wp-block-button.pt-btn-ghost > .wp-block-button__link:hover { background: rgba(255, 255, 255, 0.08); color: #FFFFFF; }
.pt-btn--lg, .pt-actions--lg .wp-block-button__link { min-height: 56px; padding: 0 32px; font-size: 18px; }
.pt-btn--sm { min-height: 44px; padding: 0 20px; font-size: 15px; }
.wp-block-button.pt-btn-arrow > .wp-block-button__link::after {
	content: ''; width: 18px; height: 18px; flex-shrink: 0; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12 H19 M13 6 L19 12 L13 18'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12 H19 M13 6 L19 12 L13 18'/%3E%3C/svg%3E") center / contain no-repeat;
}

.pt-actions { display: flex; flex-direction: column; gap: 10px; }
.pt-actions .wp-block-button { margin: 0; }
.pt-actions .wp-block-button__link { width: 100%; }
.pt-actions--inline { flex-direction: row; flex-wrap: wrap; }
.pt-actions--inline .wp-block-button__link { width: auto; }
@media (min-width: 768px) {
	.pt-actions { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 14px; }
	.pt-actions .wp-block-button__link { width: auto; }
	.pt-actions--center { justify-content: center; }
	.pt-actions--stack { flex-direction: column; align-items: stretch; }
	.pt-actions--stack .wp-block-button__link { width: 100%; }
}

.pt-link {
	color: var(--pt-primary); font-weight: 600; text-decoration: none;
	display: inline-flex; align-items: center; gap: 6px; min-height: 44px;
}
.pt-link:hover { text-decoration: underline; color: var(--pt-primary-hover); }
.pt-link--light, .pt-link--light:hover { color: #FFFFFF; }
p.pt-link { margin: 0; }
p.pt-link a, .pt-link-p a { color: inherit; font-weight: 600; text-decoration: none; display: inline-flex; align-items: center; gap: 6px; min-height: 44px; }
p.pt-link a:hover, .pt-link-p a:hover { text-decoration: underline; }
.pt-link-p a::after, p.pt-link a::after {
	content: ''; width: 18px; height: 18px; flex-shrink: 0;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12 H19 M13 6 L19 12 L13 18'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12 H19 M13 6 L19 12 L13 18'/%3E%3C/svg%3E") center / contain no-repeat;
}
.pt-link-p--light a { color: #FFFFFF; }

/* ------------------------------------------------------------------ */
/* Composants de base                                                  */
/* ------------------------------------------------------------------ */
.pt-card { background: var(--pt-card); border: 1px solid var(--pt-border); border-radius: var(--pt-radius); }
.pt-card--pad { padding: 24px; }
.pt-card--pad-lg { padding: 28px; }
@media (min-width: 768px) {
	.pt-card--pad { padding: 28px; }
	.pt-card--pad-lg { padding: 32px; }
}
.pt-pill {
	display: inline-flex; align-items: center; border-radius: 999px;
	font-size: 12px; font-weight: 700; padding: 4px 12px; letter-spacing: 0.3px; line-height: 1.3;
	font-family: var(--pt-font-body);
}
.pt-pill--sage { background: var(--pt-secondary); color: var(--pt-ink); }
.pt-pill--soft { background: var(--pt-badge-soft); color: var(--pt-primary); }
.pt-pill--primary { background: var(--pt-primary); color: #FFFFFF; }
.pt-pill--neutral { background: var(--pt-border); color: var(--pt-slate); }
.pt-pill--late { background: var(--pt-late); color: #FFFFFF; font-size: 11px; padding: 3px 9px; }
.pt-pill--grey { background: var(--pt-muted); color: #FFFFFF; text-transform: uppercase; letter-spacing: 1px; }
.pt-pill--head { font-family: var(--pt-font-head); }
p.pt-pill { margin: 0; align-self: flex-start; }

.pt-band-colors { display: flex; height: 6px; }
.pt-band-colors span { flex: 1; }
.pt-band-colors span:nth-child(1) { background: var(--pt-sol); }
.pt-band-colors span:nth-child(2) { background: var(--pt-cuc); }
.pt-band-colors span:nth-child(3) { background: var(--pt-bra); }
.pt-band-colors span:nth-child(4) { background: var(--pt-api); }
.pt-band-colors span:nth-child(5) { background: var(--pt-ast); }
.pt-band-colors span:nth-child(6) { background: var(--pt-fab); }
.pt-band-colors span:nth-child(7) { background: var(--pt-lil); }
.pt-band-colors span:nth-child(8) { background: var(--pt-che); }

.pt-avatar {
	width: 64px; height: 64px; border-radius: 50%; flex-shrink: 0;
	background: var(--pt-secondary); color: var(--pt-primary);
	display: inline-flex; align-items: center; justify-content: center;
	font-family: var(--pt-font-head); font-weight: 700; font-size: 20px;
	object-fit: cover;
}
.pt-avatar--lg { width: 120px; height: 120px; font-size: 34px; }

.pt-hr { height: 1px; background: var(--pt-border); border: 0; margin: 0; }

/* Sections (bandes) */
.pt-band { padding-top: 48px; padding-bottom: 48px; }
.pt-band--white { background: #FFFFFF; border-top: 1px solid var(--pt-border); border-bottom: 1px solid var(--pt-border); }
.pt-band--ink { background: var(--pt-ink); color: #FFFFFF; }
.pt-band--slate { background: var(--pt-slate); color: #FFFFFF; }
.pt-band--sage { background: var(--pt-secondary); }
.pt-band--sm { padding-top: 28px; padding-bottom: 28px; }
.pt-band--md { padding-top: 28px; padding-bottom: 28px; }
.pt-band--lg { padding-top: 56px; padding-bottom: 56px; }
.pt-band--ink h2, .pt-band--slate h2, .pt-band--ink h3, .pt-band--slate h3 { color: #FFFFFF; }
.pt-band--ink .pt-lead, .pt-band--slate .pt-lead { color: var(--pt-blue-200); }
.pt-band--ink a, .pt-band--slate a { color: #FFFFFF; }
@media (min-width: 768px) {
	.pt-band { padding-top: 64px; padding-bottom: 64px; }
	.pt-band--sm { padding-top: 32px; padding-bottom: 32px; }
	.pt-band--md { padding-top: 40px; padding-bottom: 40px; }
	.pt-band--lg { padding-top: 88px; padding-bottom: 88px; }
}
@media (min-width: 1120px) {
	.pt-band--lg { padding-top: 96px; padding-bottom: 96px; }
}

/* Grilles */
.pt-grid { display: grid; gap: 20px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 768px) {
	.pt-grid { gap: 24px; }
	.pt-grid--2, .pt-grid--3, .pt-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1120px) {
	.pt-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.pt-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px 24px; }
}
.pt-stack { display: flex; flex-direction: column; gap: 16px; }
.pt-stack--sm { gap: 10px; }
.pt-stack--lg { gap: 28px; }
.pt-stack--xl { gap: 40px; }
@media (min-width: 768px) { .pt-stack--xl { gap: 64px; } }

/* Listes à coches */
.pt-check { list-style: none; display: flex; flex-direction: column; gap: 10px; }
.pt-check li { position: relative; padding-left: 26px; font-size: 15px; line-height: 1.5; }
.pt-check li::before {
	content: ''; position: absolute; left: 0; top: 3px; width: 16px; height: 16px;
	background: var(--pt-focus);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5 L10 17 L19 7'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5 L10 17 L19 7'/%3E%3C/svg%3E") center / contain no-repeat;
}
.pt-check--green li::before { background: var(--pt-primary); }

/* Étapes numérotées (Essai gratuit, Tarifs) */
.pt-steps { list-style: none; counter-reset: pt-step; display: flex; flex-direction: column; gap: 20px; }
.pt-steps li { counter-increment: pt-step; display: flex; gap: 16px; align-items: flex-start; font-size: 17px; line-height: 1.6; }
.pt-steps li::before {
	content: counter(pt-step); flex-shrink: 0; width: 40px; height: 40px; border-radius: 50%;
	background: var(--pt-primary); color: #FFFFFF; font-family: var(--pt-font-head); font-weight: 700;
	display: inline-flex; align-items: center; justify-content: center;
}
.pt-steps--sm li { font-size: 16px; }
.pt-steps--sm li::before { width: 36px; height: 36px; }

/* Encadrés */
.pt-notice { background: var(--pt-secondary); border-radius: var(--pt-radius); padding: 22px 24px; display: flex; flex-direction: column; gap: 8px; }
.pt-notice--row { flex-direction: row; align-items: center; gap: 16px; }
.pt-notice--row::before {
	content: ''; width: 28px; height: 28px; flex-shrink: 0; background: var(--pt-ink);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 L20 6 V12 C20 16.5 16.5 19.5 12 21 C7.5 19.5 4 16.5 4 12 V6 Z'/%3E%3Cpath d='M9 12 L11 14 L15 10'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 L20 6 V12 C20 16.5 16.5 19.5 12 21 C7.5 19.5 4 16.5 4 12 V6 Z'/%3E%3Cpath d='M9 12 L11 14 L15 10'/%3E%3C/svg%3E") center / contain no-repeat;
}
.pt-notice .pt-eyebrow { color: var(--pt-primary); }
.pt-notice__title { font-family: var(--pt-font-head); font-weight: 700; font-size: 18px; }
.pt-notice--promise p:not(.pt-eyebrow) { font-family: var(--pt-font-head); font-size: 20px; line-height: 1.45; font-weight: 500; }
@media (min-width: 768px) {
	.pt-notice { padding: 28px 32px; }
	.pt-notice--promise p:not(.pt-eyebrow) { font-size: 22px; }
}
.pt-dark-box { background: var(--pt-ink); border-radius: var(--pt-radius); padding: 28px; display: flex; flex-direction: column; gap: 14px; color: #FFFFFF; }
.pt-dark-box .pt-eyebrow { color: var(--pt-focus); }
.pt-dark-box__title { font-family: var(--pt-font-head); font-weight: 700; font-size: 20px; color: #FFFFFF; }
.pt-dark-box p { color: #CBD5BE; }
.pt-dark-box p.pt-dark-box__title { color: #FFFFFF; }
.pt-dark-box .pt-actions { flex-direction: column; align-items: stretch; }
.pt-dark-box .pt-actions .wp-block-button__link { width: 100%; }
.pt-slate-box { background: var(--pt-slate); border-radius: var(--pt-radius); padding: 28px; display: flex; flex-direction: column; gap: 12px; color: #FFFFFF; }
.pt-slate-box .pt-eyebrow { color: var(--pt-blue-300); }
.pt-statement { font-family: var(--pt-font-head); font-size: 22px; line-height: 1.4; font-weight: 600; color: #FFFFFF; }
@media (min-width: 768px) { .pt-dark-box, .pt-slate-box { padding: 36px; } .pt-statement { font-size: 24px; } }

/* Icônes en pseudo-élément, pour les blocs éditables (pas de flex : le contenu reste un paragraphe ordinaire) */
.pt-ico { position: relative; padding-left: 54px; min-height: 40px; }
.pt-ico::before { content: ''; position: absolute; left: 0; top: 0; width: 40px; height: 40px; border-radius: 10px; background: var(--pt-secondary); }
.pt-ico::after {
	content: ''; position: absolute; left: 9px; top: 9px; width: 22px; height: 22px; background: var(--pt-primary);
	-webkit-mask-position: center; mask-position: center; -webkit-mask-size: contain; mask-size: contain; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
}
@media (min-width: 768px) {
	.pt-ico { padding-left: 60px; min-height: 44px; }
	.pt-ico::before { width: 44px; height: 44px; border-radius: 12px; }
	.pt-ico::after { left: 11px; top: 11px; }
}
.pt-ico--clock::after {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7 V12 L15.5 14'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7 V12 L15.5 14'/%3E%3C/svg%3E");
}
.pt-ico--screen::after {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='12' rx='2'/%3E%3Cpath d='M8 20 H16 M12 16 V20'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='12' rx='2'/%3E%3Cpath d='M8 20 H16 M12 16 V20'/%3E%3C/svg%3E");
}
.pt-ico--shield::after {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 L20 6 V12 C20 16.5 16.5 19.5 12 21 C7.5 19.5 4 16.5 4 12 V6 Z'/%3E%3Cpath d='M9 12 L11 14 L15 10'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 L20 6 V12 C20 16.5 16.5 19.5 12 21 C7.5 19.5 4 16.5 4 12 V6 Z'/%3E%3Cpath d='M9 12 L11 14 L15 10'/%3E%3C/svg%3E");
}
.pt-ico--doc::after {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 3 H14 L19 8 V21 H7 Z'/%3E%3Cpath d='M14 3 V8 H19 M10 13 H16 M10 17 H16'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 3 H14 L19 8 V21 H7 Z'/%3E%3Cpath d='M14 3 V8 H19 M10 13 H16 M10 17 H16'/%3E%3C/svg%3E");
}
.pt-ico--check-lg { display: inline-block; width: 72px; height: 72px; padding: 0; min-height: 0; }
.pt-ico--check-lg::before { width: 72px !important; height: 72px !important; border-radius: 50%; }
.pt-ico--check-lg::after {
	left: 19px !important; top: 19px !important; width: 34px; height: 34px;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5 L10 17 L19 7'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5 L10 17 L19 7'/%3E%3C/svg%3E");
}

/* Champs de formulaire */
.pt-field { display: flex; flex-direction: column; gap: 6px; }
.pt-field label { font-size: 14px; font-weight: 600; color: var(--pt-ink); }
.pt-field input, .pt-field select, .pt-field textarea {
	font-family: var(--pt-font-body); font-size: 16px; color: var(--pt-ink); background: #FFFFFF;
	border: 1px solid var(--pt-border); border-radius: var(--pt-radius-sm); min-height: 48px; padding: 10px 14px; width: 100%;
}
.pt-field textarea { min-height: 120px; resize: vertical; }
.pt-field input:focus, .pt-field select:focus, .pt-field textarea:focus { outline: none; border-color: var(--pt-focus); box-shadow: 0 0 0 3px var(--pt-badge-soft); }
.pt-req { color: var(--pt-error); }
.pt-form { display: flex; flex-direction: column; gap: 18px; }
.pt-form--webinaire { gap: 14px; }
.pt-form__row { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
@media (min-width: 480px) { .pt-form__row { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.pt-form__submit { align-self: flex-start; }
.pt-form__note { font-size: 13px; color: var(--pt-muted); }
.pt-form__note a { color: var(--pt-primary); }
.pt-form__error { background: #FFF5F5; border: 1px solid var(--pt-error); border-radius: var(--pt-radius-sm); padding: 12px 14px; font-size: 15px; color: #8C221C; }
.pt-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Accordéon natif */
.pt-acc { border: 0; }
.pt-acc__summary {
	list-style: none; cursor: pointer; min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 12px;
	font-family: var(--pt-font-head); font-weight: 700; font-size: 16px; color: var(--pt-ink);
	border-top: 1px solid var(--pt-border); border-bottom: 1px solid var(--pt-border);
}
.pt-acc__summary::-webkit-details-marker { display: none; }
.pt-acc[open] .pt-acc__summary svg { transform: scaleY(-1); }

/* ------------------------------------------------------------------ */
/* En-tête                                                             */
/* ------------------------------------------------------------------ */
.pt-header { background: #FFFFFF; border-bottom: 1px solid var(--pt-border); position: relative; z-index: 50; }
.pt-header__inner { display: flex; align-items: center; justify-content: space-between; min-height: 64px; gap: 16px; }
.pt-header__logo { text-decoration: none; display: inline-flex; align-items: center; min-height: 44px; }
.pt-logo { display: inline-flex; align-items: center; gap: 9px; }
.pt-logo__mark { width: 30px; height: auto; display: block; }
.pt-logo__word { font-family: var(--pt-font-head); font-weight: 700; font-size: 19px; color: var(--pt-slate); letter-spacing: -0.2px; line-height: 1; }
.pt-logo__word sup { font-size: 8px; font-weight: 600; margin-left: 1px; }
.pt-logo--light .pt-logo__word { color: #FFFFFF; }
.pt-logo--custom img { height: 40px; width: auto; }
.pt-nav { display: none; }
.pt-header__actions { display: none; }
.pt-burger {
	width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center;
	border: 1px solid var(--pt-border); border-radius: 10px; background: #FFFFFF; color: var(--pt-ink); cursor: pointer; padding: 0;
}
.pt-burger__close { display: none; }
.pt-burger[aria-expanded="true"] .pt-burger__open { display: none; }
.pt-burger[aria-expanded="true"] .pt-burger__close { display: inline-flex; }

.pt-mobile-menu { background: #FFFFFF; border-top: 1px solid var(--pt-border); display: flex; flex-direction: column; min-height: calc(100vh - 70px); }
.pt-mobile-menu[hidden] { display: none; }
.pt-mobile-menu__list { list-style: none; }
.pt-mobile-menu__list > li > a {
	display: flex; align-items: center; justify-content: space-between; min-height: 52px; padding: 0 20px;
	font-family: var(--pt-font-head); font-size: 19px; font-weight: 600; color: var(--pt-ink); text-decoration: none; border-bottom: 1px solid var(--pt-badge-soft);
}
.pt-mobile-menu__list li.menu-item-has-children { position: relative; }
.pt-mobile-menu__list li.menu-item-has-children > a { padding-right: 64px; }
.pt-mobile-menu__list .pt-submenu-toggle {
	position: absolute; right: 8px; top: 4px; width: 44px; height: 44px; border: 0; background: transparent; color: var(--pt-primary); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; border-radius: 8px;
}
.pt-mobile-menu__list .pt-submenu-toggle[aria-expanded="true"] svg { transform: scaleY(-1); }
.pt-mobile-menu__list .sub-menu { list-style: none; display: none; background: var(--pt-badge-soft); }
.pt-mobile-menu__list .sub-menu.is-open { display: block; }
.pt-mobile-menu__list .sub-menu a {
	display: flex; align-items: center; min-height: 52px; padding: 0 36px; font-family: var(--pt-font-head); font-size: 16px; font-weight: 500; color: var(--pt-ink); text-decoration: none; border-bottom: 1px solid #FFFFFF;
}
.pt-mobile-menu__actions { padding: 20px 20px 24px; display: flex; flex-direction: column; gap: 12px; margin-top: auto; }
.pt-mobile-menu__actions .pt-btn { width: 100%; min-height: 52px; }
.pt-lang--inline { display: flex; align-items: center; gap: 12px; padding: 14px 20px; border-bottom: 1px solid var(--pt-badge-soft); }
.pt-lang__label { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; color: var(--pt-muted); }
.pt-lang__list { list-style: none; display: flex; gap: 6px; border: 1px solid var(--pt-border); border-radius: 8px; padding: 3px; }
.pt-lang__list a { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 36px; padding: 6px 12px; border-radius: 6px; font-size: 14px; font-weight: 500; color: var(--pt-muted); text-decoration: none; }
.pt-lang__list a[aria-current="true"] { font-weight: 700; color: var(--pt-ink); background: var(--pt-badge-soft); }

@media (min-width: 1120px) {
	.pt-header__inner { min-height: 76px; gap: 32px; }
	.pt-logo__mark { width: 34px; }
	.pt-logo__word { font-size: 22px; }
	.pt-logo__word sup { font-size: 9px; }
	.pt-burger, .pt-mobile-menu { display: none !important; }
	.pt-nav { display: flex; align-items: center; }
	.pt-nav__list { list-style: none; display: flex; align-items: center; gap: 32px; }
	.pt-nav__list > li { position: relative; display: flex; align-items: center; }
	.pt-nav__list > li > a { font-size: 15px; font-weight: 500; color: var(--pt-ink); text-decoration: none; display: inline-flex; align-items: center; min-height: 44px; }
	.pt-nav__list > li > a:hover { color: var(--pt-primary); }
	.pt-nav__list .pt-submenu-toggle { border: 0; background: transparent; color: var(--pt-muted); cursor: pointer; width: 28px; height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 0; margin-left: -4px; }
	.pt-nav__list .sub-menu {
		list-style: none; position: absolute; top: 48px; left: -12px; min-width: 220px; background: #FFFFFF; border: 1px solid var(--pt-border);
		border-radius: 12px; box-shadow: var(--pt-shadow-menu); padding: 8px; display: none; flex-direction: column; gap: 2px; z-index: 30;
	}
	.pt-nav__list li:hover > .sub-menu, .pt-nav__list li:focus-within > .sub-menu, .pt-nav__list .sub-menu.is-open { display: flex; }
	.pt-nav__list .sub-menu a { display: block; padding: 10px 12px; border-radius: 8px; font-size: 15px; font-weight: 500; color: var(--pt-ink); text-decoration: none; }
	.pt-nav__list .sub-menu a:hover { background: var(--pt-badge-soft); }
	.pt-header__actions { display: flex; align-items: center; gap: 22px; }
	.pt-header__login { font-family: var(--pt-font-head); font-size: 15px; font-weight: 700; color: var(--pt-slate); text-decoration: none; display: inline-flex; align-items: center; min-height: 44px; }
	.pt-header__cta { min-height: 44px; padding: 0 20px; font-size: 15px; }
	.pt-lang { position: relative; }
	.pt-lang__btn {
		display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 600; color: var(--pt-slate); background: #FFFFFF;
		min-height: 44px; padding: 0 10px; border: 1px solid var(--pt-border); border-radius: 8px; cursor: pointer; font-family: var(--pt-font-body);
	}
	.pt-lang__menu { list-style: none; position: absolute; right: 0; top: 48px; background: #FFFFFF; border: 1px solid var(--pt-border); border-radius: 10px; box-shadow: var(--pt-shadow-menu); padding: 6px; min-width: 96px; z-index: 30; }
	.pt-lang__menu[hidden] { display: none; }
	.pt-lang__menu a { display: block; padding: 8px 12px; border-radius: 6px; font-size: 14px; font-weight: 600; color: var(--pt-ink); text-decoration: none; }
	.pt-lang__menu a[aria-current="true"] { background: var(--pt-badge-soft); }
	.pt-lang__menu a:hover { background: var(--pt-badge-soft); }
}

/* ------------------------------------------------------------------ */
/* Pied de page                                                        */
/* ------------------------------------------------------------------ */
.pt-footer { background: var(--pt-ink); color: var(--pt-secondary); }
.pt-footer__inner { padding-top: 40px; padding-bottom: 28px; display: flex; flex-direction: column; gap: 28px; }
.pt-footer__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.pt-footer__brand { grid-column: 1 / -1; display: flex; flex-direction: column; gap: 16px; }
.pt-footer__tagline { font-size: 15px; line-height: 1.6; color: #CBD5BE; max-width: 340px; }
.pt-footer__col { display: flex; flex-direction: column; gap: 8px; }
.pt-footer__title { font-family: var(--pt-font-head); font-size: 12px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: var(--pt-focus); }
.pt-footer__list { list-style: none; display: flex; flex-direction: column; gap: 4px; }
.pt-footer__list a { font-size: 15px; color: var(--pt-secondary); text-decoration: none; display: inline-flex; min-height: 32px; align-items: center; }
.pt-footer__list a:hover { color: #FFFFFF; text-decoration: underline; }
.pt-footer__mail { font-size: 15px; color: #FFFFFF; font-weight: 600; text-decoration: none; display: inline-flex; align-items: center; gap: 8px; min-height: 32px; word-break: break-all; }
.pt-social { list-style: none; display: flex; gap: 10px; margin-top: 6px; }
.pt-social a { width: 44px; height: 44px; border-radius: 10px; border: 1px solid var(--pt-slate-line); display: inline-flex; align-items: center; justify-content: center; color: var(--pt-secondary); text-decoration: none; }
.pt-social a:hover { border-color: var(--pt-focus); color: #FFFFFF; }
.pt-footer__bottom { display: flex; flex-direction: column; gap: 8px; padding-top: 18px; border-top: 1px solid var(--pt-slate-line); font-size: 13px; color: #CBD5BE; }
.pt-footer__legal { list-style: none; display: flex; flex-wrap: wrap; gap: 12px 22px; }
.pt-footer__legal a { font-size: 13px; color: #CBD5BE; text-decoration: none; }
.pt-footer__legal a:hover { color: #FFFFFF; text-decoration: underline; }
@media (min-width: 768px) {
	.pt-footer__inner { padding-top: 56px; padding-bottom: 36px; gap: 36px; }
	.pt-footer__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
	.pt-footer__col { gap: 10px; }
	.pt-footer__bottom { flex-direction: row; align-items: center; justify-content: space-between; gap: 24px; padding-top: 24px; flex-wrap: wrap; }
}
@media (min-width: 1120px) {
	.pt-footer__inner { padding-top: 64px; gap: 44px; }
	.pt-footer__grid { grid-template-columns: 1.5fr 1fr 1fr 1.2fr; gap: 48px; }
	.pt-footer__brand { grid-column: auto; }
}

/* Barre mobile fixe */
.pt-mobile-bar {
	position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; background: #FFFFFF; border-top: 1px solid var(--pt-border);
	box-shadow: 0 -10px 30px rgba(32, 49, 35, 0.14); padding: 12px 16px; padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px)); display: flex; gap: 10px;
}
.pt-mobile-bar .pt-btn { flex: 1; min-height: 48px; font-size: 15px; padding: 0 12px; }
body.pt-fr { padding-bottom: 80px; }
@media (min-width: 768px) {
	.pt-mobile-bar { display: none; }
	body.pt-fr { padding-bottom: 0; }
}
body.admin-bar .pt-skip:focus { top: 40px; }

/* ------------------------------------------------------------------ */
/* En-tête de page                                                     */
/* ------------------------------------------------------------------ */
.pt-pagehead { background: #FFFFFF; border-bottom: 1px solid var(--pt-border); }
.pt-pagehead--bg { background: var(--pt-bg); }
.pt-pagehead__inner { padding-top: 40px; padding-bottom: 32px; display: flex; flex-direction: column; gap: 14px; max-width: 1100px; }
.pt-pagehead__inner--wide { max-width: var(--pt-wrap-max); }
.pt-pagehead__inner .pt-h1 { max-width: 860px; }
.pt-pagehead__inner .pt-lead { max-width: 760px; }
@media (min-width: 768px) {
	.pt-pagehead__inner { padding-top: 72px; padding-bottom: 56px; gap: 18px; }
}

/* ------------------------------------------------------------------ */
/* Cadres d'écran et cartes d'appel                                    */
/* ------------------------------------------------------------------ */
.pt-screen { position: relative; width: var(--pt-screen-w, 700px); max-width: 100%; margin: 16px 0 12px; }
.pt-screen__frame { background: #FFFFFF; border: 1px solid var(--pt-border); border-radius: 12px; box-shadow: 0 16px 36px rgba(32, 49, 35, 0.14); overflow: hidden; }
.pt-screen__bar { display: none; align-items: center; gap: 7px; padding: 10px 14px; border-bottom: 1px solid var(--pt-border); background: var(--pt-frame-bar); }
.pt-screen__dot { width: 9px; height: 9px; border-radius: 50%; background: var(--pt-border); }
.pt-screen__url { margin-left: 10px; background: var(--pt-bg); border-radius: 6px; font-size: 11px; color: var(--pt-muted); padding: 3px 10px; }
.pt-screen img { display: block; width: 100%; height: auto; }
@media (min-width: 768px) {
	.pt-screen { margin: 0; }
	.pt-screen__frame { border-radius: var(--pt-radius); box-shadow: var(--pt-shadow-frame); }
	.pt-screen__bar { display: flex; }
}

.pt-co {
	position: absolute; background: #FFFFFF; border: 1px solid var(--pt-border); border-radius: 12px; box-shadow: var(--pt-shadow-card); z-index: 2;
	font-family: var(--pt-font-body); font-size: 14px; color: var(--pt-ink); line-height: 1.4; display: flex; align-items: center; gap: 10px; padding: 10px 14px;
}
.pt-co::before, .pt-co::after { content: ''; position: absolute; background: var(--pt-focus); }
.pt-co--l::before { right: -22px; top: 50%; width: 22px; height: 1.5px; margin-top: -1px; }
.pt-co--l::after { right: -30px; top: 50%; width: 8px; height: 8px; margin-top: -4px; border-radius: 50%; }
.pt-co--r::before { left: -22px; top: 50%; width: 22px; height: 1.5px; margin-top: -1px; }
.pt-co--r::after { left: -30px; top: 50%; width: 8px; height: 8px; margin-top: -4px; border-radius: 50%; }
.pt-co--desktop { display: none; }
.pt-co--mobile { display: flex; }
.pt-co--mobile::before, .pt-co--mobile::after { display: none; }
@media (min-width: 768px) {
	.pt-co--desktop { display: flex; }
	.pt-co--mobile { display: none; }
}
.pt-co--inline { display: inline-flex; white-space: nowrap; }
.pt-co--dark { background: var(--pt-ink); border-color: var(--pt-ink); padding: 12px 16px; }
.pt-co--task { padding: 14px 16px; gap: 12px; width: 250px; }
.pt-co--taskweek { padding: 14px 16px; flex-direction: column; align-items: stretch; gap: 10px; width: 260px; }
.pt-co--ca { padding: 12px 16px; flex-direction: column; align-items: flex-start; gap: 6px; width: 236px; }
.pt-co--planif { padding: 14px 16px; align-items: flex-start; gap: 12px; width: 300px; }
.pt-co--chain { padding: 12px 14px; gap: 8px; }
.pt-co--export { padding: 12px 14px; flex-direction: column; align-items: stretch; gap: 8px; width: 210px; }
.pt-co--harvest { padding: 12px 16px; flex-direction: column; align-items: stretch; gap: 8px; width: 240px; }
.pt-co--space { padding: 12px 16px; gap: 12px; width: 230px; }
.pt-co__check { width: 26px; height: 26px; border-radius: 7px; background: var(--pt-primary); display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.pt-co__row { display: flex; align-items: center; gap: 12px; }
.pt-co__row--b { font-size: 14px; font-weight: 700; gap: 8px; }
.pt-co__lines { display: flex; flex-direction: column; gap: 3px; }
.pt-co__strike { font-size: 15px; font-weight: 700; text-decoration: line-through; text-decoration-color: var(--pt-focus); }
.pt-co__small { font-size: 12px; color: var(--pt-muted); }
.pt-co__text { font-size: 13px; line-height: 1.4; color: var(--pt-ink); }
.pt-co__text--b { font-weight: 600; }
.pt-co__b { font-size: 14px; font-weight: 700; }
.pt-co__title { font-family: var(--pt-font-head); font-weight: 700; font-size: 16px; }
.pt-co__title--light { color: #FFFFFF; font-size: 15px; }
.pt-co__title--sm { font-family: var(--pt-font-body); font-size: 15px; }
.pt-co__desc { font-size: 13px; line-height: 1.45; color: var(--pt-slate); }
.pt-co__icon { width: 34px; height: 34px; border-radius: 10px; background: var(--pt-primary); display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.pt-co__late { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--pt-muted); padding-top: 10px; border-top: 1px solid var(--pt-border); }
.pt-co__pills { display: flex; gap: 8px; }
.pt-co__between { display: flex; justify-content: space-between; gap: 8px; font-size: 13px; }
.pt-co__bar { height: 8px; border-radius: 999px; background: var(--pt-secondary); overflow: hidden; display: block; }
.pt-co__bar-fill { display: block; height: 100%; background: var(--pt-title-green); }
.pt-co__end { margin-left: auto; }

/* Points forts */
.pt-strengths-wrap { display: flex; flex-direction: column; gap: 10px; }
.pt-strengths { list-style: none; display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px 18px; font-size: 14px; line-height: 1.45; background: var(--pt-badge-soft); border-radius: 12px; padding: 14px 16px; }
.pt-strengths li { position: relative; padding-left: 24px; }
.pt-strengths li::before {
	content: ''; position: absolute; left: 0; top: 3px; width: 16px; height: 16px; background: var(--pt-primary);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5 L10 17 L19 7'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5 L10 17 L19 7'/%3E%3C/svg%3E") center / contain no-repeat;
}
@media (min-width: 768px) {
	.pt-strengths { grid-template-columns: repeat(2, minmax(0, 1fr)); font-size: 15px; padding: 16px 20px; }
}

/* ------------------------------------------------------------------ */
/* Bloc module                                                         */
/* ------------------------------------------------------------------ */
.pt-modules { display: flex; flex-direction: column; padding-top: 12px; padding-bottom: 24px; }
.pt-modules > .pt-module + .pt-module { border-top: 1px solid var(--pt-border); }
.pt-module { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; padding: 28px 0; }
.pt-module__head { display: flex; flex-direction: column; gap: 14px; }
.pt-module__label { align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: #FFFFFF; background: var(--pt-mod, var(--pt-primary)); padding: 5px 12px; border-radius: 999px; }
.pt-module__title { font-size: 30px; font-weight: 800; letter-spacing: -0.5px; }
.pt-module__sub { font-size: 17px; line-height: 1.6; color: var(--pt-slate); margin-top: -4px; }
.pt-module__screen { position: relative; }
.pt-module__content { display: flex; flex-direction: column; gap: 14px; padding: 6px 0 20px; }
.pt-paves { list-style: none; display: flex; flex-direction: column; gap: 10px; }
.pt-paves li { position: relative; padding-left: 19px; font-size: 15px; line-height: 1.55; }
.pt-paves li::before { content: ''; position: absolute; left: 0; top: 8px; width: 9px; height: 9px; border-radius: 50%; background: var(--pt-mod, var(--pt-primary)); }
.pt-paves strong { font-weight: 700; }
.pt-module--planifier { --pt-mod: #5C754D; }
.pt-module--organiser { --pt-mod: #415F77; }
.pt-module--regle { --pt-mod: #4E7E6E; }
.pt-module--commander { --pt-mod: #845B2F; }
.pt-module--recolter { --pt-mod: #897B52; }
.pt-module--decrire { --pt-mod: #6D854C; }
.pt-module__body--static { display: flex; flex-direction: column; gap: 14px; }
.pt-module__note { font-size: 14px; line-height: 1.55; color: var(--pt-slate); background: var(--pt-badge-soft); border-left: 4px solid var(--pt-mod, var(--pt-primary)); padding: 10px 14px; border-radius: 0 10px 10px 0; }
.pt-module__detail { background: #FFFFFF; border: 1px solid var(--pt-border); border-radius: 12px; padding: 18px 20px; display: flex; flex-direction: column; gap: 6px; }
.pt-module__detail p:not(.pt-eyebrow) { font-size: 15px; line-height: 1.65; }
.pt-module__link { font-size: 16px; }
.pt-calc-call { background: var(--pt-secondary); border-radius: 12px; padding: 18px 20px; display: flex; flex-direction: column; gap: 10px; align-items: flex-start; max-width: 560px; }
.pt-calc-call__text { font-size: 16px; line-height: 1.5; font-weight: 600; }

@media (min-width: 768px) {
	.pt-module { padding: 40px 0; gap: 18px 40px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: "head screen" "body screen" "link screen"; align-items: start; }
	.pt-module--reverse { grid-template-areas: "screen head" "screen body" "screen link"; }
	.pt-module__head { grid-area: head; gap: 18px; }
	.pt-module__screen { grid-area: screen; align-self: center; display: flex; justify-content: flex-end; padding: 24px 24px 0 0; }
	.pt-module--reverse .pt-module__screen { justify-content: flex-start; padding: 24px 0 0 24px; }
	.pt-module__body { grid-area: body; }
	.pt-module__link, .pt-module > .pt-link-p { grid-area: link; align-self: start; }
	.pt-module__body .pt-acc__summary { display: none; }
	.pt-module__content { padding: 0; gap: 18px; }
	.pt-module__title { font-size: 36px; }
	.pt-module__sub { font-size: 19px; margin-top: -6px; }
	.pt-paves { gap: 12px; margin-top: 6px; }
	.pt-paves li { padding-left: 22px; font-size: 16px; line-height: 1.6; }
	.pt-paves li::before { width: 10px; height: 10px; top: 9px; }
	.pt-module__body--static { gap: 18px; }
	.pt-module__note { font-size: 15px; padding: 12px 16px; }
	.pt-modules { padding-top: 40px; padding-bottom: 40px; gap: 8px; }
}
@media (min-width: 1120px) {
	.pt-module { grid-template-columns: 560px minmax(0, 1fr); gap: 18px 48px; padding: 48px 0; }
	.pt-module--reverse { grid-template-columns: minmax(0, 1fr) 560px; }
	.pt-module__title { font-size: 44px; }
	.pt-modules { padding-top: 56px; }
}

/* ------------------------------------------------------------------ */
/* Sections de l'accueil                                               */
/* ------------------------------------------------------------------ */
.pt-hero { position: relative; overflow: hidden; }
.pt-hero__inner { display: flex; flex-direction: column; gap: 20px; padding-top: 36px; padding-bottom: 40px; }
.pt-hero__text { display: flex; flex-direction: column; gap: 20px; }
.pt-hero__text .pt-lead { max-width: 540px; }
.pt-hero__note { font-size: 14px; color: var(--pt-muted); display: flex; align-items: center; gap: 8px; }
.pt-hero__note::before {
	content: ''; width: 18px; height: 18px; flex-shrink: 0; background: var(--pt-title-green);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5 L10 17 L19 7'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5 L10 17 L19 7'/%3E%3C/svg%3E") center / contain no-repeat;
}
.pt-hero__screen { display: flex; justify-content: flex-end; }
.pt-hero__screen .pt-screen { margin: 12px 0 0; }
@media (min-width: 768px) {
	.pt-hero__inner { flex-direction: row; align-items: center; gap: 40px; padding-top: 56px; padding-bottom: 64px; }
	.pt-hero__text { flex: 0 0 48%; gap: 26px; }
	.pt-hero__note { font-size: 15px; }
	.pt-hero__screen { flex: 1 1 auto; padding: 24px 24px 24px 0; }
	.pt-hero__screen .pt-screen { margin: 0; }
}
@media (min-width: 1120px) {
	.pt-hero__inner { gap: 48px; padding-top: 80px; padding-bottom: 96px; }
	.pt-hero__text { flex: 0 0 580px; }
}

.pt-reassure { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
.pt-reassure__item { font-size: 15px; line-height: 1.5; }
.pt-reassure__item strong { display: block; font-family: var(--pt-font-head); font-size: 17px; font-weight: 700; margin-bottom: 2px; }
@media (min-width: 768px) {
	.pt-reassure { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; }
	.pt-reassure__item { font-size: 16px; line-height: 1.55; }
	.pt-reassure__item strong { font-size: 18px; }
}

.pt-moments { display: flex; flex-direction: column; gap: 22px; }
.pt-moments__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.pt-moment { background: var(--pt-ink-soft); border-radius: 12px; padding: 20px; display: flex; flex-direction: column; gap: 10px; font-size: 15px; line-height: 1.55; color: #FFFFFF; }
.pt-moment::before { content: ''; width: 32px; height: 7px; border-radius: 999px; background: var(--pt-sol); }
.pt-moment--bra::before { background: var(--pt-bra); }
.pt-moment--che::before { background: var(--pt-che); }
.pt-moments__closing { font-family: var(--pt-font-head); font-size: 19px; line-height: 1.45; font-weight: 500; color: #FFFFFF; max-width: 820px; }
@media (min-width: 768px) {
	.pt-moments { gap: 44px; }
	.pt-moments__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
	.pt-moment { padding: 28px; border-radius: var(--pt-radius); font-size: 17px; line-height: 1.6; gap: 14px; }
	.pt-moment::before { width: 36px; height: 8px; }
	.pt-moments__closing { font-size: 22px; line-height: 1.5; }
	.pt-moments .pt-h2 { max-width: 620px; }
}

.pt-soon { display: flex; flex-direction: column; gap: 14px; max-width: 760px; }
.pt-soon__pills { display: flex; gap: 10px; flex-wrap: wrap; }
.pt-soon .pt-h2 { font-size: 28px; }
.pt-soon p:not(.pt-pill) { font-size: 15px; line-height: 1.6; }
@media (min-width: 768px) { .pt-soon .pt-h2 { font-size: 36px; } .pt-soon p:not(.pt-pill) { font-size: 17px; } }

.pt-proof { display: flex; flex-direction: column; gap: 14px; }
.pt-proof__text { font-size: 16px; line-height: 1.6; max-width: 760px; }
.pt-proof .pt-actions { margin-top: 6px; }
@media (min-width: 768px) {
	.pt-proof { flex-direction: row; align-items: center; justify-content: space-between; gap: 48px; }
	.pt-proof__text { font-size: 18px; }
	.pt-proof .pt-actions { flex-shrink: 0; margin-top: 0; }
}

.pt-calcband { display: flex; flex-direction: column; gap: 14px; }
.pt-calcband__text { font-family: var(--pt-font-head); font-size: 18px; font-weight: 600; line-height: 1.4; max-width: 820px; }
@media (min-width: 768px) {
	.pt-calcband { flex-direction: row; align-items: center; justify-content: space-between; gap: 32px; }
	.pt-calcband__text { font-size: 21px; }
	.pt-calcband .pt-actions { flex-shrink: 0; }
}

.pt-testi { padding-top: 56px; padding-bottom: 56px; }
.pt-testi .pt-wrap { display: flex; flex-direction: column; gap: 20px; }
.pt-testi__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.pt-testi__card { padding: 22px; display: flex; flex-direction: column; gap: 16px; }
.pt-testi__who { display: flex; align-items: center; gap: 12px; margin-top: auto; }
.pt-testi__name { font-size: 15px; font-weight: 700; }
.pt-testi__farm { font-size: 13px; color: var(--pt-muted); }
@media (min-width: 768px) {
	.pt-testi { padding-top: 88px; padding-bottom: 88px; }
	.pt-testi .pt-wrap { gap: 36px; }
	.pt-testi__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
	.pt-testi__card { padding: 32px; gap: 20px; }
	.pt-testi__who { gap: 14px; }
	.pt-testi__name { font-size: 16px; }
	.pt-testi__farm { font-size: 14px; }
}

.pt-deadline { display: flex; flex-direction: column; gap: 16px; }
.pt-deadline__text { display: flex; flex-direction: column; gap: 16px; max-width: 820px; }
.pt-deadline .pt-eyebrow { color: var(--pt-blue-300); }
.pt-deadline__para { font-size: 16px; line-height: 1.6; color: var(--pt-blue-200); }
.pt-deadline__card { background: var(--pt-slate-deep); border-radius: var(--pt-radius); padding: 22px; display: flex; flex-direction: column; gap: 12px; }
.pt-deadline__card-title { font-family: var(--pt-font-head); font-weight: 700; color: #FFFFFF; font-size: 16px; }
.pt-deadline__card .pt-check li { color: var(--pt-blue-200); font-size: 15px; }
@media (min-width: 768px) {
	.pt-deadline { flex-direction: row; align-items: center; gap: 64px; }
	.pt-deadline__text { gap: 18px; }
	.pt-deadline__para { font-size: 17px; line-height: 1.65; }
	.pt-deadline__card { flex-shrink: 0; width: 300px; }
}

.pt-bridge { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 14px; }
.pt-bridge .pt-lead { max-width: 640px; }
.pt-bridge .pt-actions { margin-top: 8px; width: 100%; justify-content: center; }
@media (min-width: 768px) { .pt-bridge { gap: 18px; } .pt-bridge .pt-actions { width: auto; } }

/* Bandeau d'appel final */
.pt-cta { display: flex; flex-direction: column; gap: 20px; }
.pt-cta__text { display: flex; flex-direction: column; gap: 12px; max-width: 700px; }
.pt-cta__text .pt-h2 { font-size: 28px; }
.pt-cta__text p:not(.pt-h2) { font-size: 17px; line-height: 1.6; color: #CBD5BE; }
@media (min-width: 768px) {
	.pt-cta { flex-direction: row; align-items: center; justify-content: space-between; gap: 48px; }
	.pt-cta__text .pt-h2 { font-size: 36px; }
	.pt-cta .pt-actions { flex-shrink: 0; }
}

/* ------------------------------------------------------------------ */
/* Pages : essai, démo, contact, merci, tarifs, calculatrice, FAQ...   */
/* ------------------------------------------------------------------ */
.pt-page { padding-top: 40px; padding-bottom: 56px; display: flex; flex-direction: column; gap: 40px; }
@media (min-width: 768px) { .pt-page { padding-top: 64px; padding-bottom: 88px; gap: 64px; } }
.pt-page--tight { gap: 24px; }
.pt-page--tight-top { padding-top: 24px; }

.pt-split { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; align-items: flex-start; }
@media (min-width: 1120px) {
	.pt-split { grid-template-columns: 1fr 1.1fr; gap: 64px; }
	.pt-split--demo { grid-template-columns: 1fr 1.1fr; gap: 48px; }
	.pt-split--calc { grid-template-columns: 1.45fr 1fr; gap: 48px; }
	.pt-split--faq { grid-template-columns: 1fr 340px; gap: 64px; }
	.pt-split--legal { grid-template-columns: 1fr 300px; gap: 64px; }
	.pt-split--even { grid-template-columns: 1fr 1fr; gap: 64px; }
	.pt-split--webinaires { grid-template-columns: 1.2fr 1fr; gap: 64px; }
	.pt-split--center { align-items: center; }
}
@media (min-width: 768px) and (max-width: 1119px) {
	.pt-split--even, .pt-split--center { grid-template-columns: 1fr 1fr; gap: 40px; }
}

.pt-card-title { font-family: var(--pt-font-head); font-weight: 700; font-size: 18px; }
.pt-card-title--lg { font-size: 20px; }
.pt-card h2.pt-h3, .pt-card h3.pt-h3 { color: var(--pt-title-green); }
.pt-card h2.pt-h3--ink, .pt-card h3.pt-h3--ink { color: var(--pt-ink); }
.pt-card--top-cuc { border-top: 5px solid var(--pt-cuc); }
.pt-card--top-bra { border-top: 5px solid var(--pt-bra); }
.pt-card--top-che { border-top: 5px solid var(--pt-che); }
.pt-card p.pt-body { font-size: 16px; line-height: 1.6; }
.pt-card--grow p.pt-body { flex-grow: 1; }
.pt-card--flex { display: flex; flex-direction: column; gap: 12px; }
.pt-card--flex-lg { display: flex; flex-direction: column; gap: 18px; }
.pt-card--sage { background: var(--pt-secondary); border-color: var(--pt-secondary); }
.pt-card--row { display: flex; align-items: center; min-height: 92px; padding: 24px 24px 24px 82px; }
.pt-card--row::before { left: 24px; top: 50%; margin-top: -22px; width: 44px; height: 44px; border-radius: 12px; }
.pt-card--row::after { left: 35px; top: 50%; margin-top: -11px; }
.pt-card--row p { font-size: 17px; font-weight: 600; }
.pt-h3--lg { font-size: 24px; }
@media (min-width: 768px) { .pt-h3--lg { font-size: 26px; } }

.pt-next { background: var(--pt-bg); border-radius: 12px; padding: 18px 20px; display: flex; flex-direction: column; gap: 10px; }
.pt-next__title { font-family: var(--pt-font-head); font-weight: 700; font-size: 18px; }
.pt-small { font-size: 15px; color: var(--pt-muted); }
.pt-small a { color: var(--pt-primary); font-weight: 600; text-decoration: none; }
.pt-small a:hover { text-decoration: underline; }
.pt-partner { display: flex; flex-direction: column; gap: 14px; align-items: flex-start; }
.pt-partner__name { font-family: var(--pt-font-head); font-weight: 700; font-size: 20px; }
.pt-mail-big { font-family: var(--pt-font-head); font-size: 26px; font-weight: 700; color: var(--pt-primary); text-decoration: none; word-break: break-all; }
@media (min-width: 768px) { .pt-next { background: var(--pt-bg); border-radius: 12px; padding: 18px 20px; display: flex; flex-direction: column; gap: 10px; }
.pt-next__title { font-family: var(--pt-font-head); font-weight: 700; font-size: 18px; }
.pt-small { font-size: 15px; color: var(--pt-muted); }
.pt-small a { color: var(--pt-primary); font-weight: 600; text-decoration: none; }
.pt-small a:hover { text-decoration: underline; }
.pt-partner { display: flex; flex-direction: column; gap: 14px; align-items: flex-start; }
.pt-partner__name { font-family: var(--pt-font-head); font-weight: 700; font-size: 20px; }
.pt-mail-big { font-size: 34px; } }
.pt-company { font-size: 15px; line-height: 1.6; display: flex; flex-direction: column; gap: 6px; }
.pt-company p:first-child { font-weight: 700; }
.pt-company p:last-child { color: var(--pt-muted); }

.pt-merci { padding-top: 72px; padding-bottom: 96px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 22px; max-width: 900px; }
.pt-merci .pt-ico { display: inline-flex; }
.pt-merci .pt-actions { margin-top: 10px; justify-content: center; }
@media (min-width: 768px) { .pt-merci { padding-top: 120px; padding-bottom: 140px; } }

/* Tarifs */
.pt-pricing { display: flex; flex-direction: column; gap: 22px; }
.pt-toggle { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.pt-toggle__btn {
	min-height: 44px; padding: 8px 22px; border-radius: 999px; font-family: var(--pt-font-head); font-weight: 700; font-size: 15px;
	border: 1.5px solid var(--pt-border); background: #FFFFFF; color: var(--pt-ink); display: inline-flex; align-items: center; gap: 8px; cursor: pointer;
}
.pt-toggle__btn.is-selected { border-color: var(--pt-primary); background: var(--pt-primary); color: #FFFFFF; }
.pt-pricing__panel { display: flex; flex-direction: column; gap: 22px; }
.pt-pricing__panel[hidden] { display: none; }
.pt-pricing__note { font-size: 15px; line-height: 1.55; }
.pt-plans { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
.pt-plan { background: #FFFFFF; border: 1px solid var(--pt-border); border-radius: var(--pt-radius); padding: 28px; display: flex; flex-direction: column; gap: 10px; }
.pt-plan--mid { border: 2px solid var(--pt-primary); }
.pt-plan__name { font-size: 24px; color: var(--pt-ink); }
.pt-plan__price { font-family: var(--pt-font-head); font-size: 30px; font-weight: 800; color: var(--pt-title-green); line-height: 1.1; margin-top: 8px; }
.pt-plan__sub { font-size: 15px; color: var(--pt-muted); }
.pt-plan__ref { font-size: 15px; padding-top: 10px; border-top: 1px solid var(--pt-border); margin-top: 8px; }
.pt-plan__btn { margin-top: 14px; width: 100%; }
.pt-included { background: #FFFFFF; border: 1px solid var(--pt-border); border-radius: var(--pt-radius); padding: 22px; display: flex; flex-direction: column; gap: 12px; }
.pt-included__title { font-family: var(--pt-font-head); font-weight: 700; font-size: 17px; }
.pt-inc { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; }
.pt-inc li { display: inline-flex; align-items: center; gap: 6px; background: var(--pt-badge-soft); color: var(--pt-ink); border-radius: 999px; padding: 7px 12px; font-size: 14px; }
@media (min-width: 768px) {
	.pt-plans { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.pt-plan { padding: 32px; }
	.pt-plan__name { font-size: 26px; }
	.pt-plan__price { font-size: 34px; }
	.pt-included { padding: 28px 32px; gap: 14px; }
	.pt-included__title { font-size: 18px; }
	.pt-inc { gap: 10px; }
	.pt-inc li { padding: 8px 14px; font-size: 15px; }
}
.pt-faq-list { display: flex; flex-direction: column; gap: 0; }
.pt-faq-item { display: flex; flex-direction: column; gap: 6px; padding: 16px 0; border-bottom: 1px solid var(--pt-border); }
.pt-faq-item p:not(.pt-faq-q) { font-size: 16px; line-height: 1.6; }
.pt-faq-item--lg { padding: 22px 0; gap: 8px; }

/* Calculatrice */
.pt-calc { background: #FFFFFF; border: 1px solid var(--pt-border); border-radius: var(--pt-radius); padding: 22px 20px; display: flex; flex-direction: column; gap: 20px; }
.pt-calc__intro { display: flex; flex-direction: column; gap: 6px; }
.pt-calc__sub { font-size: 15px; color: var(--pt-slate); }
.pt-calc__inputs { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
.pt-calc__group { display: flex; flex-direction: column; gap: 12px; }
.pt-calc__q { font-size: 14px; font-weight: 600; }
.pt-calc__opts { display: flex; gap: 10px; }
.pt-calc__opt {
	display: inline-flex; flex-direction: column; gap: 2px; align-items: center; justify-content: center; min-height: 52px; padding: 6px 12px; border-radius: 999px; border: 1.5px solid var(--pt-border);
	background: #FFFFFF; color: var(--pt-ink); font-size: 15px; cursor: pointer; flex: 1; text-align: center; font-family: var(--pt-font-body);
}
.pt-calc__opt.is-selected { border-color: var(--pt-primary); background: var(--pt-badge-soft); }
.pt-calc__opt-label { display: block; font-weight: 700; }
.pt-calc__opt-sub { display: block; font-size: 13px; color: var(--pt-muted); }
.pt-calc__stepper { display: flex; align-items: center; gap: 12px; min-height: 52px; }
.pt-calc__step { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 10px; border: 1.5px solid var(--pt-primary); background: #FFFFFF; cursor: pointer; flex-shrink: 0; padding: 0; }
.pt-calc__step:disabled { opacity: 0.4; cursor: default; }
.pt-calc__n { font-family: var(--pt-font-head); font-size: 22px; font-weight: 700; min-width: 150px; text-align: center; }
.pt-calc__tiles { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.pt-calc__tile { border-radius: 12px; padding: 20px 22px; display: flex; flex-direction: column; gap: 6px; }
.pt-calc__tile--bs { background: var(--pt-secondary); }
.pt-calc__tile--hs { background: var(--pt-badge-soft); }
.pt-calc__tile-title { font-family: var(--pt-font-head); font-weight: 700; font-size: 16px; }
.pt-calc__tile-period { font-size: 13px; color: var(--pt-muted); }
.pt-calc__val { font-family: var(--pt-font-head); font-size: 34px; font-weight: 800; line-height: 1.1; margin-top: 6px; }
.pt-calc__tile-month { font-size: 14px; color: var(--pt-slate); }
.pt-calc__note { font-size: 13px; line-height: 1.5; color: var(--pt-muted); }
.pt-calc__note[hidden] { display: none; }
.pt-calc__breakdown { display: flex; flex-direction: column; gap: 14px; margin-top: 8px; }
.pt-calc__breakdown-head { display: flex; flex-direction: column; gap: 12px; }
.pt-calc__breakdown-title { font-family: var(--pt-font-head); font-weight: 700; font-size: 18px; }
.pt-calc__breakdown-sub { font-size: 13px; color: var(--pt-muted); }
.pt-calc__tabs { display: flex; gap: 8px; }
.pt-calc__tab { min-height: 40px; padding: 4px 16px; border-radius: 999px; border: 1.5px solid var(--pt-border); background: #FFFFFF; color: var(--pt-ink); font-size: 15px; cursor: pointer; font-family: var(--pt-font-body); }
.pt-calc__tab.is-selected { border-color: var(--pt-primary); background: var(--pt-primary); color: #FFFFFF; }
.pt-calc__row { display: grid; grid-template-columns: 1fr auto; gap: 16px; align-items: center; padding: 12px 0; border-top: 1px solid var(--pt-border); }
.pt-calc__row-name { font-family: var(--pt-font-head); font-weight: 700; font-size: 15px; }
.pt-calc__row-desc { font-size: 13px; color: var(--pt-muted); }
.pt-calc__row-right { text-align: right; }
.pt-calc__row-val { font-family: var(--pt-font-head); font-weight: 800; font-size: 20px; }
.pt-calc__row-val--muted { color: var(--pt-muted-light); }
.pt-calc__row-val--invest { color: var(--pt-invest); }
.pt-calc__row-label { font-size: 12px; color: var(--pt-muted); }
@media (min-width: 768px) {
	.pt-calc { padding: 28px 32px; gap: 24px; }
	.pt-calc__inputs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pt-calc__tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pt-calc__opt { padding: 6px 18px; }
	.pt-calc__breakdown-head { flex-direction: row; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
}
.pt-calc--compact .pt-calc__inputs, .pt-calc--compact .pt-calc__tiles { grid-template-columns: minmax(0, 1fr); }
.pt-trust { display: flex; flex-direction: column; gap: 20px; }
.pt-trust__card { padding: 22px 24px; display: flex; flex-direction: column; gap: 8px; }
.pt-trust__card p:first-child { font-family: var(--pt-font-head); font-weight: 700; font-size: 17px; }
.pt-trust__card p:last-child { font-size: 14px; line-height: 1.55; color: var(--pt-slate); }
.pt-trust__intro p:not(.pt-h3) { font-size: 15px; line-height: 1.6; color: var(--pt-slate); }

/* L'outil : groupes de modules */
.pt-groups { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; margin-top: 12px; }
.pt-group { background: #FFFFFF; border: 1px solid var(--pt-border); border-radius: var(--pt-radius); padding: 20px; display: flex; flex-direction: column; gap: 14px; }
.pt-group .pt-eyebrow--green { color: var(--pt-title-green); }
.pt-group .pt-eyebrow--slate { color: var(--pt-slate); }
.pt-chips { list-style: none; display: flex; flex-wrap: wrap; gap: 10px; }
.pt-chips li { display: inline-flex; }
.pt-chips a, .pt-chips li > span, .pt-chips li:not(:has(a)) {
	display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border-radius: 999px; background: #FFFFFF; border: 1px solid var(--pt-border);
	color: var(--pt-ink); font-size: 15px; font-weight: 600; text-decoration: none;
}
.pt-chips a:hover { border-color: var(--pt-primary); color: var(--pt-primary); }
.pt-chips li.pt-chip--off, .pt-chips li.pt-chip--off > span { background: var(--pt-bg); color: var(--pt-muted); }
@media (min-width: 768px) {
	.pt-groups { grid-template-columns: 1fr 1fr; gap: 24px; }
	.pt-group { padding: 24px; }
}

/* À propos */
.pt-team { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px 24px; }
.pt-member { display: flex; flex-direction: column; gap: 12px; }
.pt-member__name { font-family: var(--pt-font-head); font-weight: 700; font-size: 18px; }
.pt-member__role { font-size: 14px; color: var(--pt-title-green); font-weight: 600; }
.pt-member__bio { font-size: 15px; line-height: 1.55; }
.pt-member .wp-block-image { margin: 0; width: 120px; height: 120px; }
.pt-member .wp-block-image img { width: 120px; height: 120px; border-radius: 50%; object-fit: cover; }
@media (min-width: 480px) { .pt-team { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1120px) { .pt-team { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px 24px; } }
.pt-values { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
@media (min-width: 768px) { .pt-values { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.pt-prose-lg p { font-size: 17px; line-height: 1.65; }
.pt-prose-lg { display: flex; flex-direction: column; gap: 16px; max-width: 720px; }
.pt-side-note { background: var(--pt-secondary); border-radius: var(--pt-radius); padding: 22px 26px; display: flex; flex-direction: column; gap: 8px; margin-top: 8px; }
.pt-side-note .pt-eyebrow { color: var(--pt-primary); }
.pt-side-note p:not(.pt-eyebrow) { font-size: 15px; line-height: 1.6; }

/* Hortifolies */
.pt-offer { background: var(--pt-ink); border-radius: 16px; padding: 28px; display: flex; flex-direction: column; gap: 10px; color: #FFFFFF; }
.pt-offer .pt-eyebrow { color: var(--pt-focus); }
.pt-offer__big { font-family: var(--pt-font-head); font-size: 28px; font-weight: 800; color: #FFFFFF; line-height: 1.15; }
.pt-offer__sub { font-size: 17px; color: #CBD5BE; }
@media (min-width: 768px) { .pt-offer { padding: 40px; } .pt-offer__big { font-size: 34px; } }

/* Ressources */
.pt-entry { display: flex; flex-direction: column; gap: 12px; }
.pt-entry p.pt-body { flex-grow: 1; }

/* Articles */
.pt-posts { padding-top: 40px; padding-bottom: 64px; display: flex; flex-direction: column; gap: 24px; }
.pt-posts__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
.pt-post-card { padding: 24px; display: flex; flex-direction: column; gap: 12px; }
.pt-post-card--big { padding: 28px; }
.pt-post-card__media { display: block; border-radius: 10px; overflow: hidden; }
.pt-post-card__media img { display: block; width: 100%; height: auto; }
.pt-post-card__meta { display: flex; align-items: center; gap: 10px; font-size: 13px; color: var(--pt-muted); }
.pt-post-card__title { font-size: 20px; }
.pt-post-card--big .pt-post-card__title { font-size: 24px; }
.pt-post-card__title a { color: var(--pt-ink); text-decoration: none; }
.pt-post-card__title a:hover { color: var(--pt-primary); }
.pt-post-card__excerpt { font-size: 15px; line-height: 1.55; color: var(--pt-slate); }
.pt-post-card__link { margin-top: auto; }
.pt-pagination { display: flex; justify-content: center; }
.pt-pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.pt-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 12px; border-radius: 8px; border: 1px solid var(--pt-border); background: #FFFFFF; color: var(--pt-ink); text-decoration: none; font-weight: 600; }
.pt-pagination .page-numbers.current { background: var(--pt-primary); color: #FFFFFF; border-color: var(--pt-primary); }
@media (min-width: 768px) {
	.pt-posts { padding-top: 64px; padding-bottom: 88px; gap: 32px; }
	.pt-posts__grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pt-posts__grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pt-post-card--big .pt-post-card__title { font-size: 26px; }
}
@media (min-width: 1120px) { .pt-posts__grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

.pt-article__head { background: #FFFFFF; border-bottom: 1px solid var(--pt-border); }
.pt-article__head-inner { padding-top: 40px; padding-bottom: 32px; display: flex; flex-direction: column; gap: 16px; max-width: 1000px; }
.pt-article__title { font-size: 32px; }
.pt-article__layout { padding-top: 32px; padding-bottom: 64px; display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px; align-items: flex-start; max-width: 1200px; }
.pt-article__body { display: flex; flex-direction: column; gap: 24px; min-width: 0; }
.pt-article__cover { margin: 0; border-radius: var(--pt-radius); overflow: hidden; }
.pt-article__cover img { display: block; width: 100%; height: auto; }
.pt-aside { display: flex; flex-direction: column; gap: 20px; }
.pt-aside__cta { background: var(--pt-ink); border-radius: var(--pt-radius); padding: 28px; display: flex; flex-direction: column; gap: 14px; }
.pt-aside__title { font-family: var(--pt-font-head); font-weight: 700; font-size: 20px; color: #FFFFFF; }
.pt-aside__text { font-size: 15px; color: #CBD5BE; line-height: 1.55; }
.pt-aside__related { padding: 24px; display: flex; flex-direction: column; gap: 12px; }
.pt-aside__link { font-size: 15px; color: var(--pt-ink); text-decoration: none; font-weight: 500; line-height: 1.4; display: block; min-height: 32px; }
.pt-aside__link:hover { color: var(--pt-primary); text-decoration: underline; }
@media (min-width: 768px) {
	.pt-article__head-inner { padding-top: 64px; padding-bottom: 48px; }
	.pt-article__title { font-size: 46px; }
	.pt-article__layout { padding-top: 56px; padding-bottom: 88px; }
}
@media (min-width: 1120px) {
	.pt-article__layout { grid-template-columns: minmax(0, 1fr) 340px; gap: 64px; }
	.pt-aside { position: sticky; top: 24px; }
}

/* Contenu rédactionnel (articles, pages légales, contenu existant conservé) */
.pt-prose { font-size: 17px; line-height: 1.7; }
.pt-prose > * + * { margin-top: 1em; }
.pt-prose h2 { font-size: 28px; margin-top: 1.6em; }
.pt-prose h3 { font-size: 22px; margin-top: 1.4em; }
.pt-prose h4 { font-size: 18px; margin-top: 1.2em; }
.pt-prose ul, .pt-prose ol { padding-left: 1.4em; }
.pt-prose li + li { margin-top: 0.4em; }
.pt-prose img { border-radius: 10px; }
.pt-prose blockquote { margin: 0; padding: 4px 0 4px 20px; border-left: 4px solid var(--pt-focus); color: var(--pt-slate); }
.pt-prose table { width: 100%; border-collapse: collapse; font-size: 15px; }
.pt-prose th, .pt-prose td { border: 1px solid var(--pt-border); padding: 8px 10px; text-align: left; }
.pt-prose figure { margin: 0; }
.pt-prose .wp-block-image figcaption { font-size: 13px; color: var(--pt-muted); }
.pt-page .pt-prose { max-width: 820px; }
.pt-legal { display: flex; flex-direction: column; gap: 32px; font-size: 16px; line-height: 1.65; }
.pt-legal h2 { font-size: 22px; }
.pt-legal .pt-stack--sm h2 + p { margin-top: 0; }
.pt-legal .pt-prose { font-size: 16px; }
.pt-side-links { display: flex; flex-direction: column; gap: 10px; }
.pt-side-links .pt-link, .pt-side-links p.pt-link a { min-height: 40px; }

/* Contenu Elementor conservé (pages FR non encore réécrites) : conteneur neutre. */
.pt-elementor { min-width: 0; }

/* Citation pleine largeur */
.pt-bigquote { display: flex; flex-direction: column; gap: 12px; align-items: center; text-align: center; }
.pt-bigquote p:first-child { font-family: var(--pt-font-head); font-size: 24px; font-weight: 600; color: #FFFFFF; max-width: 800px; line-height: 1.35; }
.pt-bigquote p:last-child { font-size: 15px; color: var(--pt-blue-300); }
@media (min-width: 768px) { .pt-bigquote p:first-child { font-size: 30px; } }

/* Conteneurs de contenu existant (remplis par le script de synchronisation) : invisibles tant qu'ils sont vides. */
.pt-existing:empty, .pt-legal__existing:empty, .pt-faq-existing:empty { display: none; }
.pt-max-600 { max-width: 600px; }

/* Impression */
@media print {
	.pt-header, .pt-footer, .pt-mobile-bar, .pt-co { display: none !important; }
}

/* Carte d'appel espace et temps (module Planifier) */
.pt-co--wherewhen{display:flex;flex-direction:column;gap:8px;width:280px;padding:12px 16px}
.pt-co--wherewhen .pt-co__row{display:flex;align-items:center;gap:10px}
.pt-co--wherewhen .pt-co__foot{font-size:12px;color:#736B54;padding-top:6px;border-top:1px solid #E1DED5}

/* Logo officiel, fichier vectoriel unique (epi vert et mot bleu ardoise) */
.pt-logo { display: inline-flex; align-items: center; }
body.pt .pt-logo__img { display: block; width: auto; height: 34px; max-width: none; }
body.pt .pt-logo--light .pt-logo__img { height: 30px; }
@media (min-width: 768px) { body.pt .pt-logo__img { height: 40px; } body.pt .pt-logo--light .pt-logo__img { height: 34px; } }

/* Bloc des moments : titre et photo cote a cote */
.pt-moments__head { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: center; }
.pt-faq-col { display: flex; flex-direction: column; }
.pt-moments__photo { max-width: 100%; }
.pt-moments__photo .pt-photo__img { max-height: 300px; object-fit: cover; object-position: center 40%; }
.pt-photo { margin: 0; }
.pt-photo__img { display: block; width: 100%; height: auto; border-radius: var(--pt-radius); box-shadow: var(--pt-shadow-frame); }
@media (min-width: 768px) {
	.pt-moments__head { grid-template-columns: minmax(0, 1fr) minmax(0, 0.85fr); gap: 48px; }
}

/* FAQ : questions groupees par section */
.pt-faq-section { display: flex; flex-direction: column; gap: 14px; }
.pt-faq-section + .pt-faq-section { margin-top: 40px; }
.pt-faq-section .pt-h2--sm { margin-bottom: 2px; }

/* Portraits ronds : photo a la place des initiales */
body.pt .pt-avatar--img { object-fit: cover; padding: 0; background: none; }
body.pt .pt-member .pt-avatar--lg { width: 120px; height: 120px; }

/* Bandeau de consentement : sa grille interne deborde des petits ecrans, on la contraint. */
body.pt .cmplz-cookiebanner { max-width: 100%; box-sizing: border-box; }
@media (max-width: 768px) {
	body.pt .cmplz-cookiebanner {
		left: 0 !important; right: 0 !important; top: auto !important; bottom: 0 !important;
		width: 100% !important; max-width: 100% !important; min-width: 0 !important;
		transform: none !important; margin: 0 !important;
		border-radius: 12px 12px 0 0 !important;
		grid-template-columns: minmax(0, 1fr) !important;
	}
	body.pt .cmplz-cookiebanner > *,
	body.pt .cmplz-cookiebanner .cmplz-body,
	body.pt .cmplz-cookiebanner .cmplz-message,
	body.pt .cmplz-cookiebanner .cmplz-categories { min-width: 0 !important; max-width: 100% !important; }
	body.pt .cmplz-cookiebanner .cmplz-header { grid-template-columns: auto 1fr auto !important; }
	body.pt .cmplz-cookiebanner .cmplz-btn { white-space: normal !important; }
	body.pt .cmplz-cookiebanner .cmplz-links ul { flex-wrap: wrap !important; }
}
}

/* Page Démo : une seule proposition, carte centrée */
.pt-demo-solo { max-width: 760px; margin-left: auto; margin-right: auto; }

/* Portraits agrandis (demande du 11/09) */
body.pt .pt-member .pt-avatar--lg { width: 156px; height: 156px; }
body.pt .pt-testi__who .pt-avatar { width: 96px; height: 96px; }
body.pt .pt-testi__name { font-size: 16px; }
body.pt .pt-testi__farm { font-size: 14px; }
@media (min-width: 768px) {
	body.pt .pt-member .pt-avatar--lg { width: 172px; height: 172px; }
	body.pt .pt-testi__who .pt-avatar { width: 104px; height: 104px; }
}

/* Carte TOM-01 : posee a droite de sa barre, elle doit tenir dans la page */
body.pt .pt-co--inline { flex-wrap: wrap; }
body.pt .pt-co--inline .pt-co__text { white-space: normal; }
