/* Phyz — page « Registre phyto numérique gratuit » — MOBILE FIRST
   Charte issue du CSS officiel phyz.eu :
   - principal #53A10F (survol #3F790C), secondaire #23411A
   - fonds : #FFFFFF, #F0F0F0, #53A10F, #23411A — rien d'autre
   - texte #242020, texte secondaire #666561
   - accents officiels ponctuels : rouge #E90B0B (bulle promo), jaune #F7CD13
   - Plus Jakarta Sans 500 / 700 / 800, boutons radius 4px, pas de bordures décoratives
   Tout est préfixé .pzl pour ne pas toucher au thème. */

body.phyz-landing-page { overflow-x: clip; }

#topbar-phyz{
  display: none !important;
}

.pzl {
  --pz-primary: #53A10F;
  --pz-primary-hover: #3F790C;
  --pz-secondary: #23411A;
  --pz-bg: #FFFFFF;
  --pz-bg-alt: #F0F0F0;
  --pz-text: #242020;
  --pz-muted: #666561;
  --pz-red: #E90B0B;
  --pz-yellow: #F7CD13;
  --pz-shadow-sm: 0 1px 3px 0 rgba(36, 32, 32, .10);
  --pz-shadow-md: 0 6px 12px 0 rgba(36, 32, 32, .15);
  --pz-radius: 4px;

  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 500;
  color: var(--pz-text);
  line-height: 1.55;
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  -webkit-tap-highlight-color: transparent;
}
.pzl *, .pzl *::before, .pzl *::after { box-sizing: border-box; }
.pzl h1, .pzl h2, .pzl h3 { font-family: inherit; font-weight: 700; color: inherit; margin: 0; letter-spacing: -0.01em; text-transform: none; }
.pzl p { margin: 0; }
.pzl ul, .pzl ol { margin: 0; padding: 0; list-style: none; }
.pzl a { text-decoration: none; }
.pzl img { max-width: 100%; height: auto; display: block; }
.pzl :focus-visible { outline: 3px solid var(--pz-yellow); outline-offset: 3px; }

/* Sections pleine largeur même dans un conteneur de thème étroit */
.pzl > section { width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
.pzl .pzl-wrap { max-width: 1180px; margin: 0 auto; padding: 0 16px; }
.pzl .pzl-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.pzl .pzl-section { padding: 56px 0; }
.pzl .pzl-section h2 { font-size: 28px; line-height: 1.15; max-width: 20ch; }
.pzl .pzl-intro { color: var(--pz-muted); font-size: 24px; margin-top: 10px; max-width: 58ch; }

/* Carte : blanc sur fond #F0F0F0, ombre légère, comme dans l'app */
.pzl .pzl-card { background: var(--pz-bg); border-radius: var(--pz-radius); box-shadow: var(--pz-shadow-sm); }

/* Pastille d'info */
.pzl .pzl-tag { display: inline-block; padding: 4px 12px; border-radius: 999px; background: var(--pz-bg-alt); color: var(--pz-secondary); font-size: 13px; font-weight: 700; }
.pzl .pzl-tag--green { background: var(--pz-primary); color: #FFFFFF; }

/* ---------- Boutons (radius 4px) ---------- */
.pzl .pzl-btn {
  display: inline-flex; align-items: center; justify-content: center; text-align: center;
  min-height: 56px; padding: 16px 32px; border-radius: var(--pz-radius); border: 0;
  font-family: inherit; font-weight: 700; font-size: 16px; line-height: 1.2; letter-spacing: 0; text-transform: none;
  cursor: pointer; transition: background-color .15s, color .15s;
}
.pzl .pzl-btn--block { display: flex; width: 100%; }
.pzl .pzl-btn--primary { background: var(--pz-primary); color: #FFFFFF; }
.pzl .pzl-btn--primary:hover { background: var(--pz-primary-hover); color: #FFFFFF; }
.pzl .pzl-btn--soft { background: var(--pz-bg-alt); color: var(--pz-secondary); }
.pzl .pzl-btn--soft:hover { background: var(--pz-secondary); color: #FFFFFF; }
.pzl .pzl-btn--soft-dark { color: #FFFFFF; text-decoration: underline; }
.pzl .pzl-btn--soft-dark:hover { color: #FFFFFF; }
.pzl .pzl-btn[disabled] { opacity: .6; cursor: progress; }

/* Gros bouton d'appel */
.pzl .pzl-call-btn {
  display: flex; align-items: center; gap: 0px; width: 100%;
  padding: 16px 32px 16px 32px; border-radius: 999px;
  background: #ffffff; color: var(--pz-primary); 
  transition: background-color .15s;
}
.pzl .pzl-call-btn:hover { background: var(--pz-secondary); color: #FFFFFF; }
.pzl .pzl-call-btn small { display: block; font-size: 12px; font-weight: 500;margin-top: 0; }
.pzl .pzl-call-btn strong { display: block; font-size: 25px; font-weight: 800; line-height: 1.15; white-space: nowrap; }


/* Liste à coches */
.pzl .pzl-checks { margin-top: 16px; display: grid; gap: 9px; }
.pzl .pzl-checks li { padding-left: 28px; position: relative; font-weight: 700; }
.pzl .pzl-checks li::before { content: ""; position: absolute; left: 0; top: .28em; width: 18px; height: 18px; border-radius: 50%; background: var(--pz-primary) center / 11px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath d='M1 5l3.2 3L11 1' fill='none' stroke='white' stroke-width='2'/%3E%3C/svg%3E"); }

/* ---------- Hero (fond secondaire) ---------- */
.pzl .pzl-hero { background: var(--pz-primary); color: #FFFFFF; padding: 28px 0 0; position: relative; z-index: 2; }
.pzl .pzl-hero-grid { display: grid; gap: 8px; }
.pzl .pzl-kicker { display: inline-block; padding: 6px 14px; border-radius: 999px; background: rgba(255, 255, 255, .18); font-size: 14px; font-weight: 700; }
.pzl .pzl-hero h1 { font-size: 34px; line-height: 1.08; margin-top: 16px; letter-spacing: -0.02em; max-width: 16ch; color: #FFFFFF; }
.pzl .pzl-lead { font-size: 24px; margin-top: 14px; color: rgba(255, 255, 255, .85); max-width: 44ch; }
.pzl .pzl-cta-stack { margin-top: 22px; display: grid; gap: 10px; }
.pzl .pzl-cta-stack .pzl-btn { width: 100%; }
.pzl .pzl-pills { margin-top: 48px; display: flex;  gap: 6px; }
.pzl .pzl-pills li { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px 6px 8px; font-size: 12px; font-weight: 500; }
.pzl .pzl-hero-visual { margin: 18px auto -90px; width: 82%; max-width: 360px; }

/* ---------- Chiffres ---------- */
.pzl .pzl-stats { background: var(--pz-bg-alt); padding: 110px 0 28px; }
.pzl .pzl-stats-list { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 14px; }
.pzl .pzl-stats-list strong { display: block; font-size: 30px; font-weight: 800; line-height: 1.05; color: var(--pz-primary); font-variant-numeric: tabular-nums; }
.pzl .pzl-stats-list span { display: block; font-size: 13px; color: var(--pz-muted); margin-top: 4px; line-height: 1.35; }
.pzl .pzl-stats-list .is-urgent strong { color: var(--pz-red); }

/* ---------- Démo ou TéléPAC ---------- */
.pzl .pzl-modes { background: var(--pz-bg); }
.pzl .pzl-modes-grid { display: grid; gap: 14px; margin-top: 26px; }
.pzl .pzl-mode { padding: 22px 20px; background: var(--pz-bg-alt); box-shadow: none; }
.pzl .pzl-mode.is-strong { background: var(--pz-secondary); color: #FFFFFF; }
.pzl .pzl-mode h3 { font-size: 21px; line-height: 1.2; margin-top: 12px; }
.pzl .pzl-mode > p:not(.pzl-tag) { color: var(--pz-muted); margin-top: 8px; }
.pzl .pzl-mode.is-strong > p:not(.pzl-tag) { color: rgba(255, 255, 255, .85); }
.pzl .pzl-mode .pzl-tag { background: var(--pz-bg); }
.pzl .pzl-mode.is-strong .pzl-tag { background: var(--pz-primary); color: #FFFFFF; }

/* ---------- Offres ---------- */
.pzl .pzl-offers { background: var(--pz-bg-alt); }
.pzl .pzl-offer-cards { display: grid; gap: 16px; margin-top: 26px; }
.pzl .pzl-offer { display: flex; flex-direction: column; overflow: hidden; }
.pzl .pzl-offer.is-full { box-shadow: var(--pz-shadow-md); }
.pzl .pzl-offer-ribbon { background: var(--pz-primary); color: #FFFFFF; font-size: 14px; font-weight: 700; text-align: center; padding: 8px; }
.pzl .pzl-offer-body { padding: 24px 20px 20px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.pzl .pzl-offer h3 { font-size: 22px; }
.pzl .pzl-offer h3 small { display: block; font-size: 14px; font-weight: 500; color: var(--pz-muted); }
.pzl .pzl-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px; }
.pzl .pzl-price strong { font-size: 32px; font-weight: 800; color: var(--pz-primary); line-height: 1; }
.pzl .pzl-price s { color: var(--pz-muted); font-size: 18px; font-weight: 700; }
.pzl .pzl-price span { color: var(--pz-muted); font-size: 14px; }
.pzl .pzl-promo { align-self: flex-start; background: var(--pz-red); color: #FFFFFF; font-size: 12px; font-weight: 700; padding: 4px 10px; border-radius: 999px; }
.pzl .pzl-offer-pitch { color: var(--pz-text); }
.pzl .pzl-offer-for { color: var(--pz-muted); font-style: italic; }
.pzl .pzl-offer-count { color: var(--pz-secondary); font-weight: 700; }
.pzl .pzl-offer .pzl-btn { margin-top: auto; }

/* Tableau comparatif : 3 colonnes qui tiennent sur 360 px, en-tête collant */
.pzl .pzl-compare { margin-top: 28px; overflow: clip; }
.pzl .pzl-ctable { width: 100%; border-collapse: separate; border-spacing: 0; margin: 0; border: 0; font-size: 14px; table-layout: fixed; background: var(--pz-bg); }
.pzl .pzl-ctable th, .pzl .pzl-ctable td { border: 0; border-bottom: 1px solid var(--pz-bg-alt); padding: 12px 8px; background: none; text-align: left; vertical-align: middle; }
.pzl .pzl-ctable thead th { position: sticky; top: 0; z-index: 3; background: var(--pz-bg); font-size: 13px; font-weight: 800; text-align: center; padding: 14px 6px; box-shadow: var(--pz-shadow-sm); }
.pzl .pzl-ctable thead th:first-child { width: 50%; }
.pzl .pzl-ctable thead th small { display: block; font-weight: 700; color: var(--pz-muted); font-size: 12px; margin-top: 2px; }
.pzl .pzl-ctable thead th.is-full { background: var(--pz-primary); color: #FFFFFF; }
.pzl .pzl-ctable thead th.is-full small { color: #FFFFFF; }
.pzl .pzl-ctable tbody th { font-weight: 600; line-height: 1.35; padding-left: 14px; }
.pzl .pzl-ctable tbody th small { display: block; font-weight: 500; color: var(--pz-muted); font-size: 12px; }
.pzl .pzl-ctable td { text-align: center; }
.pzl .pzl-ctable .pzl-cgroup th { background: var(--pz-bg-alt); font-size: 13px; font-weight: 800; color: var(--pz-secondary); padding: 10px 14px; }
.pzl .pzl-ctable tbody:last-child tr:last-child > * { border-bottom: 0; }
.pzl .pzl-ok, .pzl .pzl-no { display: inline-block; width: 24px; height: 24px; border-radius: 50%; vertical-align: middle; }
.pzl .pzl-ok { background: var(--pz-primary) center / 12px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath d='M1 5l3.2 3L11 1' fill='none' stroke='white' stroke-width='2.2'/%3E%3C/svg%3E"); }
.pzl .pzl-no { background: var(--pz-bg-alt) center / 10px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M2 2l6 6M8 2l-6 6' stroke='%23666561' stroke-width='2'/%3E%3C/svg%3E"); }
.pzl .pzl-txt { font-size: 12px; font-weight: 700; color: var(--pz-secondary); line-height: 1.25; display: inline-block; }
.pzl .pzl-compare-note { margin-top: 16px; font-weight: 700; color: var(--pz-secondary); }

/* ---------- Aperçu app : carrousel à faire glisser ---------- */
.pzl .pzl-tour { background: var(--pz-bg); padding-bottom: 40px; }
.pzl .pzl-tour-list {
  display: grid; grid-auto-flow: column; grid-auto-columns: 66%; gap: 16px;
  overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch;
  padding: 24px 16px 16px; scroll-padding: 0 16px; scrollbar-width: none;
}
.pzl .pzl-tour-list::-webkit-scrollbar { display: none; }
.pzl .pzl-tour-item { scroll-snap-align: start; }
.pzl .pzl-tour-item picture { display: block; max-width: 240px; }
.pzl .pzl-tour-item h3 { font-size: 18px; margin-top: 12px; }
.pzl .pzl-tour-item p:not(.pzl-tag) { color: var(--pz-muted); font-size: 15px; margin-top: 4px; line-height: 15px; }
.pzl .pzl-tour-item .pzl-tag { margin-top: 8px; font-size: 12px; }

/* ---------- Étapes ---------- */
.pzl .pzl-steps { background: var(--pz-bg); }
.pzl .pzl-steps-list { counter-reset: pzl; display: grid; gap: 26px; margin-top: 28px; position: relative; }
.pzl .pzl-steps-list::before { content: ""; position: absolute; left: 25px; top: 26px; bottom: 26px; width: 2px; background: var(--pz-primary); opacity: .35; }
.pzl .pzl-steps-list li { counter-increment: pzl; position: relative; padding-left: 72px; min-height: 52px; }
.pzl .pzl-steps-list li::before {
  content: counter(pzl); position: absolute; left: 0; top: 0; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%;
  background: var(--pz-primary); color: #FFFFFF; font-weight: 800; font-size: 22px;
}
.pzl .pzl-steps-list h3 { font-size: 19px; margin-top: 4px; }
.pzl .pzl-steps-list p { margin-top: 4px; color: var(--pz-muted); }
.pzl .pzl-steps-cta { margin-top: 30px; }
.pzl .pzl-steps-cta .pzl-btn { width: 100%; }

/* ---------- Témoignages ---------- */
.pzl .pzl-quotes { background: var(--pz-bg-alt); }
.pzl .pzl-quotes-list { display: grid; gap: 14px; margin-top: 26px; }
.pzl .pzl-quote { margin: 0; padding: 22px 20px; }
.pzl .pzl-quote blockquote { margin: 0; padding: 0; border: 0; font-size: 24px; font-weight: 600; }
.pzl .pzl-quote figcaption { margin-top: 14px; font-size: 14px; }
.pzl .pzl-quote figcaption span { display: block; color: var(--pz-muted); }

/* ---------- Garanties (icônes PNG) ---------- */
.pzl .pzl-trust { background: var(--pz-bg-alt); }
.pzl .pzl-trust-list { display: grid; gap: 12px; margin-top: 26px; }
.pzl .pzl-trust-list li { display: flex; gap: 16px; align-items: flex-start; padding: 20px; }
.pzl .pzl-trust-icon { flex: 0 0 48px; width: 48px; height: 48px; object-fit: contain; }
.pzl .pzl-trust-list h3 { font-size: 16px; }
.pzl .pzl-trust-list p { color: var(--pz-muted); font-size: 15px; margin-top: 3px; }

/* ---------- FAQ ---------- */
.pzl .pzl-faq { background: var(--pz-bg-alt); }
.pzl .pzl-quotes + .pzl-faq { background: var(--pz-bg); }   /* garde l'alternance quand les témoignages sont affichés */
.pzl .pzl-quotes + .pzl-faq details { border-bottom-color: var(--pz-bg-alt); }
.pzl .pzl-faq-wrap { display: grid; gap: 24px; }
.pzl .pzl-faq summary { cursor: pointer; list-style: none; padding: 18px 44px 18px 0; font-weight: 700; font-size: 16px; position: relative; }
.pzl .pzl-faq summary::-webkit-details-marker { display: none; }
.pzl .pzl-faq summary::after {
  content: ""; position: absolute; right: 2px; top: 50%; width: 30px; height: 30px; margin-top: -15px; border-radius: 50%;
  background: var(--pz-bg) center / 12px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M6 1v10M1 6h10' stroke='%2353A10F' stroke-width='2'/%3E%3C/svg%3E");
  transition: transform .2s;
}
.pzl .pzl-faq details[open] summary::after { transform: rotate(45deg); }
.pzl .pzl-faq details p { padding: 0 0 18px; color: var(--pz-muted); max-width: 68ch; }

/* ---------- Final + formulaire ---------- */
.pzl .pzl-final { background: var(--pz-secondary); color: #FFFFFF; padding: 56px 0 104px; scroll-margin-top: 12px; }
.pzl .pzl-final-grid { display: grid; gap: 26px; }
.pzl .pzl-final h2 { font-size: 30px; line-height: 1.1; max-width: 16ch; color: #FFFFFF; }
.pzl .pzl-final-copy > p { margin: 12px 0 22px; font-size: 24px; color: rgba(255, 255, 255, .85); }
.pzl .pzl-final-form { color: var(--pz-text); padding: 22px 18px; }
.pzl .pzl-final-form h3 { font-size: 20px; }

.pzl .pzl-form { margin-top: 14px; display: grid; gap: 14px; }
.pzl .pzl-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.pzl .pzl-field label { display: block; font-size: 14px; font-weight: 700; margin-bottom: 5px; color: var(--pz-text); }
.pzl .pzl-field input {
  width: 100%; min-height: 56px; padding: 0 16px; font: inherit; font-size: 17px; color: var(--pz-text); /* ≥16 px : pas de zoom iOS */
  background: var(--pz-bg-alt); border: 0; border-radius: var(--pz-radius); box-shadow: none; margin: 0;
}
.pzl .pzl-field input:focus { outline: none; border:1px solid #53A10F; background: var(--pz-bg); }
.pzl .pzl-chips { border: 0; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; min-width: 0; }
.pzl .pzl-chips legend { font-size: 14px; font-weight: 700; margin-bottom: 6px; padding: 0; width: 100%; color: var(--pz-text); }
.pzl .pzl-chips label { position: relative; cursor: pointer; margin: 0; }
.pzl .pzl-chips input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.pzl .pzl-chips span { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border-radius: 999px; background: var(--pz-bg-alt); font-size: 14px; font-weight: 700; color: var(--pz-muted); }
.pzl .pzl-chips input:checked + span { background: var(--pz-primary); color: #FFFFFF; }
.pzl .pzl-chips input:focus-visible + span { outline: 3px solid var(--pz-yellow); outline-offset: 2px; }
.pzl .pzl-form .pzl-btn { margin-top: 4px; }
.pzl .pzl-form-note {font-size: 12px;
    color: var(--pz-muted);
    text-align: center;
    line-height: 12px;
    font-weight: 500;}
.pzl .pzl-form-msg { margin-top: 14px; padding: 14px 16px; border-radius: var(--pz-radius); font-size: 15px; font-weight: 700; background: var(--pz-bg-alt); }
.pzl .pzl-form-msg.is-ok { color: var(--pz-primary-hover); }
.pzl .pzl-form-msg.is-err { color: var(--pz-red); }

/* ---------- Barre d'appel fixe (mobile) ---------- */
.pzl .pzl-sticky {
  display: grid; grid-template-columns: 1.25fr 1fr; gap: 8px;
  position: fixed; z-index: 9990; left: 0; right: 0; bottom: 0;
  padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
  background: var(--pz-bg); box-shadow: 0 -6px 12px 0 rgba(36, 32, 32, .15);
  transform: translateY(110%); transition: transform .25s;
}
.pzl .pzl-sticky.is-on { transform: none; }
.pzl .pzl-sticky a { display: flex; align-items: center; justify-content: center; min-height: 52px; border-radius: var(--pz-radius); font-weight: 700; font-size: 16px; }
.pzl .pzl-sticky-call { background: var(--pz-primary); color: #FFFFFF; }
.pzl .pzl-sticky-call:hover { color: #FFFFFF; background: var(--pz-primary-hover); }
.pzl .pzl-sticky-call::before { content: ""; width: 20px; height: 20px; margin-right: 8px; background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffffff'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25c1.1.37 2.3.57 3.6.57a1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1L6.6 10.8z'/%3E%3C/svg%3E"); }
.pzl .pzl-sticky-cb { background: var(--pz-bg-alt); color: var(--pz-secondary); }

/* ---------- Fenêtre de sortie (ordinateur) ---------- */
.pzl .pzl-exit { border: 0; border-radius: var(--pz-radius); padding: 30px 26px 22px; max-width: 460px; width: calc(100% - 32px); color: var(--pz-text); font-family: 'Plus Jakarta Sans', sans-serif; box-shadow: var(--pz-shadow-md); }
.pzl .pzl-exit::backdrop { background: rgba(36, 32, 32, .6); }
.pzl .pzl-exit h2 { font-size: 23px; line-height: 1.2; padding-right: 28px; }
.pzl .pzl-exit > p { margin-top: 8px; color: var(--pz-muted); }
.pzl .pzl-exit-close { position: absolute; top: 12px; right: 12px; width: 40px; height: 40px; border-radius: var(--pz-radius); border: 0; background: var(--pz-bg-alt); font-size: 24px; line-height: 1; cursor: pointer; color: var(--pz-text); padding: 0; }

/* =================== Tablette =================== */
@media (min-width: 640px) {
  .pzl .pzl-wrap { padding: 0 24px; }
  .pzl .pzl-hero h1 { font-size: 44px; }
  .pzl .pzl-cta-stack { grid-template-columns: auto auto; justify-content: start; align-items: stretch; }
  .pzl .pzl-call-btn, .pzl .pzl-cta-stack .pzl-btn { width: auto; }
  .pzl .pzl-stats-list { grid-template-columns: repeat(4, 1fr); }
  .pzl .pzl-modes-grid, .pzl .pzl-offer-cards, .pzl .pzl-quotes-list, .pzl .pzl-trust-list { grid-template-columns: 1fr 1fr; }
  .pzl .pzl-ctable { font-size: 15px; }
  .pzl .pzl-ctable thead th { font-size: 15px; }
  .pzl .pzl-tour-list { grid-auto-columns: 34%; padding-left: 24px; padding-right: 24px; }
  .pzl .pzl-steps-cta .pzl-btn { width: auto; }
}

/* =================== Ordinateur =================== */
@media (min-width: 1024px) {
  .pzl { font-size: 24px; }
  .pzl .pzl-section { padding: 96px 0; }
  .pzl .pzl-section h2 { font-size: 40px; }
  .pzl .pzl-intro { font-size: 19px; }
  .pzl .pzl-hero { padding-top: 64px; }
  .pzl .pzl-hero-grid { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 48px; align-items: center; }
  .pzl .pzl-hero-copy { padding-bottom: 72px; }
  .pzl .pzl-hero h1 { font-size: 56px; }
  .pzl .pzl-lead { font-size: 20px; }
  .pzl .pzl-call-btn strong { font-size: 24px; }
  .pzl .pzl-hero-visual { width: 100%; max-width: 430px; margin: 0 auto -120px; align-self: end;        position: relative;
        top: -48px; }
  .pzl .pzl-stats { padding: 40px 0; }
  .pzl .pzl-stats-list { padding-right: 38%; }
  .pzl .pzl-stats-list strong { font-size: 40px; }
  .pzl .pzl-stats-list span { font-size: 15px; }
  .pzl .pzl-offer-body { padding: 32px 28px 28px; }
  .pzl .pzl-ctable th, .pzl .pzl-ctable td { padding: 14px 18px; }
  .pzl .pzl-tour-list { grid-auto-flow: row; grid-template-columns: repeat(4, 1fr); gap: 40px 28px; overflow: visible; max-width: 1180px; margin: 0 auto; padding: 36px 24px 0; }
  .pzl .pzl-swipe-hint { display: none; }
  .pzl .pzl-steps-list { grid-template-columns: repeat(3, 1fr); gap: 0; }
  .pzl .pzl-steps-list::before { left: 26px; right: 26px; top: 25px; bottom: auto; width: auto; height: 2px; }
  .pzl .pzl-steps-list li { padding: 0 32px 0 0; }
  .pzl .pzl-steps-list li::before { position: relative; display: grid; }
  .pzl .pzl-steps-list h3 { margin-top: 20px; font-size: 21px; }
  .pzl .pzl-quotes-list, .pzl .pzl-trust-list { grid-template-columns: repeat(3, 1fr); gap: 16px; }
  .pzl .pzl-faq-wrap { grid-template-columns: minmax(0, .8fr) minmax(0, 1.6fr); gap: 56px; align-items: start; }
  .pzl .pzl-faq summary { font-size: 18px; }
  .pzl .pzl-final { padding: 96px 0; }
  .pzl .pzl-final-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: center; }
  .pzl .pzl-final h2 { font-size: 44px; }
  .pzl .pzl-final-copy .pzl-call-btn { width: auto; display: inline-flex; padding-right: 32px; }
  .pzl .pzl-final-form { padding: 30px; }
  .pzl .pzl-sticky { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .pzl *, .pzl *::before, .pzl *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}




/* ---------- Carrousel (ajout autonome : aucune règle existante modifiée) ---------- */
.pzl .pzl-car [hidden] { display: none !important; }
.pzl .pzl-car-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.pzl .pzl-car-hint-mouse { display: none; }
@media (pointer: fine) {
  .pzl .pzl-car-hint-touch { display: none; }
  .pzl .pzl-car-hint-mouse { display: inline; }
}

/* Flèches (masquées sur mobile : on fait glisser) */
.pzl .pzl-car-nav { display: none; gap: 8px; flex: 0 0 auto; }
.pzl .pzl-car-btn {
  width: 48px; height: 48px; padding: 0; border: 0; border-radius: var(--pz-radius); cursor: pointer;
  background: var(--pz-bg-alt) center / 18px no-repeat; transition: background-color .15s;
}
.pzl .pzl-car-btn--prev { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2323411A' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 18l-6-6 6-6'/%3E%3C/svg%3E"); }
.pzl .pzl-car-btn--next { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2323411A' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E"); }
.pzl .pzl-car-btn:hover:not(:disabled) { background-color: var(--pz-primary); }
.pzl .pzl-car-btn--prev:hover:not(:disabled) { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 18l-6-6 6-6'/%3E%3C/svg%3E"); }
.pzl .pzl-car-btn--next:hover:not(:disabled) { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E"); }
.pzl .pzl-car-btn:disabled { opacity: .35; cursor: default; }

/* Piste : alignée à gauche sur le contenu de la page, déborde à droite */
.pzl .pzl-car-track {
  --pzl-car-gutter: max(16px, calc((100vw - 1180px) / 2 + 16px));
  display: flex; gap: 16px; margin: 0; list-style: none;
  overflow-x: auto; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory; scroll-padding-left: var(--pzl-car-gutter);
  padding: 24px var(--pzl-car-gutter) 8px;
  scrollbar-width: none; cursor: grab; touch-action: pan-x pan-y; position: relative;
}
.pzl .pzl-car-track::-webkit-scrollbar { display: none; }
.pzl .pzl-car-track:focus-visible { outline-offset: -3px; }
.pzl .pzl-car-track.is-dragging { cursor: grabbing; scroll-snap-type: none; user-select: none; -webkit-user-select: none; }
.pzl .pzl-car-track.is-dragging * { pointer-events: none; }

.pzl .pzl-car-slide { flex: 0 0 68%; max-width: 250px; scroll-snap-align: start; }
.pzl .pzl-car-slide picture, .pzl .pzl-car-slide img { display: block; width: 100%; -webkit-user-drag: none; user-select: none; }
.pzl .pzl-car-slide h3 { font-size: 18px; margin-top: 12px; }
.pzl .pzl-car-slide p:not(.pzl-tag) { color: var(--pz-muted); font-size: 15px; margin-top: 4px; }
.pzl .pzl-car-slide .pzl-tag { margin-top: 8px; font-size: 12px; }

/* Points */
.pzl .pzl-car-dots { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 20px; }
.pzl .pzl-car-dot { position: relative; width: 10px; height: 10px; padding: 0; border: 0; border-radius: 999px; background: #B6B6B6; cursor: pointer; transition: width .2s, background-color .2s; }
.pzl .pzl-car-dot::after { content: ""; position: absolute; inset: -12px -4px; } /* zone tactile élargie */
.pzl .pzl-car-dot[aria-current="true"] { width: 28px; background: var(--pz-primary); }

@media (min-width: 640px) {
  .pzl .pzl-car-nav { display: flex; }
  .pzl .pzl-car-track { --pzl-car-gutter: max(24px, calc((100vw - 1180px) / 2 + 24px)); gap: 24px; }
  .pzl .pzl-car-slide { flex-basis: 230px; }
}
@media (min-width: 1024px) {
  .pzl .pzl-car-track { gap: 32px; padding-top: 36px; }
  .pzl .pzl-car-slide { flex-basis: 250px; }
}


/* ======================================================================
   AJOUTS v5 (aucune règle existante modifiée)
   ====================================================================== */

/* ---------- Vraie application mobile + stores (juste après le hero) ---------- */
.pzl .pzl-stores { background: var(--pz-bg-alt); padding: 120px 0 56px; } /* 120px : laisse la place au téléphone du hero qui déborde */
.pzl .pzl-stores-in { display: grid; gap: 28px; }
.pzl .pzl-stores h2 { font-size: 28px; line-height: 1.15; margin-top: 14px; max-width: 18ch; }
.pzl .pzl-stores-lead { color: var(--pz-muted); font-size: 17px; margin-top: 12px; max-width: 54ch; }
.pzl .pzl-stores-points { display: grid; gap: 14px; margin-top: 22px; }
.pzl .pzl-stores-points li { position: relative; padding-left: 30px; }
.pzl .pzl-stores-points li::before { content: ""; position: absolute; left: 0; top: .2em; width: 20px; height: 20px; border-radius: 50%; background: var(--pz-primary) center / 11px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath d='M1 5l3.2 3L11 1' fill='none' stroke='white' stroke-width='2'/%3E%3C/svg%3E"); }
.pzl .pzl-stores-points strong { display: block; font-weight: 700; }
.pzl .pzl-stores-points span { display: block; color: var(--pz-muted); font-size: 15px; margin-top: 2px; }

.pzl .pzl-stores-badges { padding: 24px 20px; }
.pzl .pzl-stores-badges-title { font-weight: 700; font-size: 16px; }
.pzl .pzl-stores-links { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 16px; }
.pzl .pzl-store { display: inline-flex; border-radius: var(--pz-radius); transition: transform .15s, box-shadow .15s; }
.pzl .pzl-store img { height: 52px; width: auto; }
.pzl .pzl-store:hover { transform: translateY(-2px); box-shadow: var(--pz-shadow-md); }
.pzl .pzl-stores-note { margin-top: 14px; font-size: 13px; color: var(--pz-muted); line-height: 1.4; }

/* ---------- Vidéo (fond secondaire) ---------- */
.pzl .pzl-video { background: var(--pz-secondary); color: #FFFFFF; }
.pzl .pzl-video h2 { color: #FFFFFF; }
.pzl .pzl-video .pzl-intro { color: rgba(255, 255, 255, .85); }
.pzl .pzl-video-frame {
  position: relative; margin-top: 28px; width: 100%; max-width: 100%; aspect-ratio: 16 / 9;
  border-radius: var(--pz-radius); overflow: hidden; background: #000; box-shadow: var(--pz-shadow-md);
}
.pzl .pzl-video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.pzl .pzl-video-play { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; background: #000; cursor: pointer; display: block; }
.pzl .pzl-video-play img { width: 100%; height: 100%; object-fit: cover; opacity: .85; transition: opacity .2s; }
.pzl .pzl-video-play:hover img { opacity: 1; }
.pzl .pzl-video-icon {
  position: absolute; left: 50%; top: 50%; width: 76px; height: 76px; margin: -38px 0 0 -38px; border-radius: 50%;
  background: var(--pz-primary) 54% 50% / 28px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M8 5v14l11-7z'/%3E%3C/svg%3E");
  box-shadow: var(--pz-shadow-md); transition: transform .2s, background-color .2s;
}
.pzl .pzl-video-play:hover .pzl-video-icon { transform: scale(1.08); background-color: var(--pz-primary-hover); }

/* ---------- Écran de confirmation ---------- */
.pzl .pzl-thanks { background: var(--pz-bg-alt); background-image: url('https://phyz.eu/wp-content/uploads/2026/06/fond2-min.jpg'); background-size: cover; background-repeat: no-repeat; min-height: 80vh; display: grid; place-items: center; padding: 40px 16px 56px; }
.pzl .pzl-thanks-box {
  width: 100%; max-width: 520px; text-align: center; padding: 36px 24px 28px;
  background: rgba(255, 255, 255, 0.618);
  backdrop-filter: blur(4px);border-radius: 4px;
}
.pzl .pzl-thanks-logo { height: 80px; width: auto; margin: 0 auto 28px; }
.pzl .pzl-thanks-check {
  display: block; width: 64px; height: 64px; margin: 0 auto 18px; border-radius: 50%;
  background: var(--pz-primary) center / 28px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath d='M1 5l3.2 3L11 1' fill='none' stroke='white' stroke-width='1.8'/%3E%3C/svg%3E");
}
.pzl .pzl-thanks h1 { font-size: 28px; line-height: 1.15; }
.pzl .pzl-thanks-text { color: var(--pz-text); font-size: 16px; margin-top: 10px; }
.pzl .pzl-thanks-phone { color: var(--pz-text); font-size: 16px; margin-top: 10px; }
.pzl .pzl-thanks-tel { color: var(--pz-primary); font-weight: 700; white-space: nowrap; }
.pzl .pzl-thanks-cta { width: 100%; margin-top: 26px; }
.pzl .pzl-thanks-social { margin-top: 30px; padding-top: 24px; }
.pzl .pzl-thanks-social p { font-size: 16px; font-weight: 700; }
.pzl .pzl-social { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.pzl .pzl-social a {
  display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 10px 18px;
  color: #242020; font-weight: 700; font-size: 15px;
  transition: background-color .15s, color .15s;
}
.pzl .pzl-social a:hover {color: #242020; }
.pzl .pzl-social img { width: 24px; height: 24px; object-fit: contain; }
.pzl .pzl-thanks-back { display: inline-block; margin-top: 22px; font-size: 14px; color: var(--pz-muted); text-decoration: underline; }

@media (min-width: 640px) {
  .pzl .pzl-stores-links { flex-wrap: nowrap; }
  .pzl .pzl-thanks-box { padding: 48px 48px 36px; }
}
@media (min-width: 1024px) {
  .pzl .pzl-stores { padding: 96px 0 80px; }
  .pzl .pzl-stores-in { grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 56px; align-items: center; }
  .pzl .pzl-stores-badges { margin-top: 60px; } /* dégage le bas du téléphone du hero */
  .pzl .pzl-stores h2 { font-size: 40px; }
  .pzl .pzl-stores-lead { font-size: 16px; line-height: 22px; }
  .pzl .pzl-stores-badges { padding: 32px 28px; }
  .pzl .pzl-thanks h1 { font-size: 34px; }
}
