.trust-band{display: flex;flex-wrap: wrap;justify-content: center;gap: 16px 32px}.trust-band li{display: inline-flex;align-items: center;gap: 10px;font-family: var(--font-heading);font-weight: var(--fw-semibold);font-size: 14px;color: var(--navy)}.trust-band li svg{flex-shrink: 0;color: var(--blue)}.steps{display: grid;grid-template-columns: repeat(3,1fr);gap: var(--gap-cards)}.step{text-align: center}.step__num{width: 48px;height: 48px;margin: 0 auto 16px;display: flex;align-items: center;justify-content: center;border-radius: var(--radius-circle);background: var(--blue);color: var(--white);font-family: var(--font-heading);font-weight: var(--fw-bold);font-size: 20px}.step h3{font-size: 17px;font-weight: var(--fw-bold);margin-bottom: 8px}.step p{font-size: 14px;color: var(--gray);line-height: 1.6}@media (max-width: 768px){.steps{grid-template-columns: 1fr;gap: 24px}.page-intro{text-align: left}}.callout{max-width: var(--content-max-width);margin: 0 auto;text-align: center;background: var(--white);border-radius: var(--radius-card);box-shadow: var(--shadow-card);padding: 30px 24px;border-left: 4px solid var(--gold)}.callout p{color: var(--text-muted);margin-bottom: 16px}.callout--spaced{margin-top: 50px}.local-grid{display: grid;grid-template-columns: 1fr 1fr;gap: var(--gap-two-col);align-items: start}.local-info address{font-style: normal;line-height: 1.8;color: var(--text-body);margin-bottom: 16px}.subhead{font-family: var(--font-heading);font-size: 22px;font-weight: var(--fw-bold);color: var(--navy);margin: 28px 0 12px}.local-info > .subhead:first-child{margin-top: 0}.local-info .hours__row dt{color: var(--navy);font-weight: var(--fw-semibold)}.local-info .hours__row dd{color: var(--gray)}.local-map{display: flex;flex-direction: column;gap: 14px}.local-map__frame{display: block;width: 100%;height: 320px;border: 0;border-radius: var(--radius-card);box-shadow: var(--shadow-map);background: var(--gray-bg)}html:not(.js) .local-map__frame[data-map-src]{display: none}.local-map__actions{display: flex;flex-wrap: wrap;gap: 12px}@media (max-width: 768px){.local-grid{grid-template-columns: 1fr;gap: 30px}.local-map__frame{height: 260px}}.legal-wrapper code{font-family: var(--font-body);font-size: 0.94em;background: var(--cream);border: 1px solid var(--gray-light);border-radius: var(--radius-be-icon);padding: 1px 6px;color: var(--navy);overflow-wrap: anywhere}.service-notes{display: grid;grid-template-columns: 1fr 1fr;gap: var(--gap-two-col);margin-top: 50px}.service-note h3{font-family: var(--font-heading);font-size: 18px;font-weight: var(--fw-bold);color: var(--navy);margin-bottom: 14px}.service-note li{color: var(--text-muted);line-height: 1.7;margin-bottom: 8px}.list-steps{counter-reset: etape}.list-steps li{position: relative;padding-left: 34px;counter-increment: etape}.list-steps li::before{content: counter(etape);position: absolute;left: 0;top: 2px;width: 24px;height: 24px;border-radius: var(--radius-circle);background: var(--blue);color: var(--white);font-family: var(--font-heading);font-size: 13px;font-weight: var(--fw-bold);display: flex;align-items: center;justify-content: center}@media (max-width: 768px){.service-notes{grid-template-columns: 1fr;gap: 32px}}.brands{background: var(--navy-dark)}.brands__bar{display: flex;align-items: stretch;min-height: 62px}.brands__title-a11y{position: absolute;width: 1px;height: 1px;padding: 0;margin: -1px;overflow: hidden;clip-path: inset(50%);white-space: nowrap;border: 0}.brands__viewport{flex: 1 1 auto;min-width: 0;display: flex;align-items: center;padding-left: 26px;overflow-x: auto;overscroll-behavior-x: contain;scrollbar-width: none}.brands__viewport::-webkit-scrollbar{display: none}.brands__viewport:focus-visible{outline: 3px solid var(--a11y-focus-ring-on-dark);outline-offset: -3px}.brands__list{display: flex;flex-wrap: nowrap;width: max-content;align-items: center;gap: 10px 34px;padding: 12px 0}.brands__list li{font-family: var(--font-heading);font-size: 14px;font-weight: var(--fw-semibold);color: var(--on-dark-primary);white-space: nowrap;display: inline-flex;align-items: center}.brands__viewport.is-marquee{position: relative;overflow: hidden;display: block}.brands__viewport.is-marquee::after{content: '';position: absolute;top: 0;bottom: 0;right: 0;width: 70px;z-index: 1;pointer-events: none;background: linear-gradient(to left,var(--navy-dark),transparent)}.is-marquee .brands__list{flex-wrap: nowrap;width: max-content;animation: brands-scroll var(--brands-duration,60s) linear infinite}.is-marquee:hover .brands__list,.is-marquee:focus-within .brands__list,.is-marquee.is-paused .brands__list{animation-play-state: paused}@keyframes brands-scroll{from{transform: translateX(0)}to{transform: translateX(-50%)}}.brands__item--logo{background: var(--white);border-radius: var(--radius-be-icon);padding: 5px 9px;line-height: 0}.brands__item--logo img{height: 24px;width: auto;max-width: 112px;object-fit: contain;display: block}.brands__pause{flex: 0 0 auto;align-self: center;margin: 0 12px 0 6px;width: 30px;height: 30px;padding: 0;display: inline-flex;align-items: center;justify-content: center;background: none;border: 1px solid var(--on-dark-separator);border-radius: var(--radius-circle);color: var(--on-dark-secondary);cursor: pointer;transition: border-color var(--dur-base),color var(--dur-base)}.brands__pause:hover{border-color: var(--white);color: var(--white)}.brands__pause svg{display: block}.brands__note{text-align: center;font-size: 12px;color: var(--gray);margin: 12px auto 0;padding: 0 var(--container-padding-x);max-width: 72ch}.brands__note a{color: var(--gray);text-decoration: underline}@media (prefers-reduced-motion: reduce){.is-marquee .brands__list{animation: none}.brands__viewport.is-marquee::after{display: none}}@media (max-width: 768px){.brands__viewport{padding-left: 16px}.brands__bar{min-height: 54px}.brands__item--logo img{height: 22px;max-width: 100px}}.group-note{text-align: center;color: var(--gray);font-size: 14px;margin-top: 40px}.section-cta{text-align: center}.section-cta p{font-size: 18px;color: var(--gray);margin-bottom: 20px}.page-intro{max-width: var(--reading-intro);margin: 0 auto 40px;text-align: center;color: var(--text-muted);font-size: 17px;line-height: 1.7}.prose{max-width: var(--reading-prose);margin: 0 auto}.prose > p:first-child{font-size: 17px;color: var(--text-muted)}.prose h2{font-family: var(--font-heading);font-size: 22px;font-weight: var(--fw-bold);color: var(--navy);margin: 32px 0 12px}.prose p{color: var(--text-muted);line-height: 1.8;margin-bottom: 14px}.prose a{text-decoration: underline;text-underline-offset: 3px;text-decoration-thickness: 1px;transition: color var(--dur-base),text-decoration-color var(--dur-base),text-decoration-thickness var(--dur-base)}.prose a:hover{color: var(--navy);text-decoration-color: var(--gold);text-decoration-thickness: 2px}.prose .list-bullets{margin-bottom: 14px}.prose-cta{margin: 8px 0 28px;line-height: 1}.prose-cta a{text-decoration: none}.figure{margin: 6px auto 28px}.figure img{display: block;width: 100%;height: auto;border-radius: var(--radius-gallery-image);box-shadow: var(--shadow-gallery-image)}.figure figcaption{margin-top: 8px;font-size: 13px;color: var(--gray);text-align: center}.figure--portrait{max-width: 360px}@media (min-width: 1200px){.prose .figure{width: 760px;max-width: none;margin-left: calc((760px - 100%) / -2)}.prose .figure--portrait{width: 440px;margin-left: calc((440px - 100%) / -2)}}.prose .figure a,.figure figcaption a{text-decoration: none}.btn-row{display: flex;flex-wrap: wrap;gap: var(--gap-buttons);justify-content: center;margin-top: 32px}.form-errors{background: var(--error-bg);color: var(--error-text);border-radius: var(--radius-input);padding: 16px 20px;margin-bottom: 24px}.form-errors:focus-visible{outline: 3px solid var(--error-text);outline-offset: 2px}.form-errors a{color: var(--error-text);text-decoration: underline}.form-errors ul{padding-left: 22px;list-style: disc;margin-top: 8px}.form-errors li{margin-bottom: 4px}.form-consent{display: flex;gap: 12px;align-items: flex-start;min-height: var(--a11y-tap-min);padding: 8px 0;cursor: pointer;font-family: var(--font-body);font-weight: var(--fw-regular);color: var(--text-body);font-size: 14px}.form-consent input[type="checkbox"]{width: 24px;height: 24px;min-height: 0;margin-top: 0;flex-shrink: 0;accent-color: var(--blue)}.form-submit{margin-top: 8px}.form-message.success{background: var(--success-bg);color: var(--success-text)}.form-wrap{max-width: 720px;margin: 24px auto 0}.form-notice{color: var(--gray);font-size: 13px;line-height: 1.6;margin-top: 16px;max-width: 72ch}.contact-compact{text-align: center;margin-top: 40px}.contact-compact address{font-style: normal;color: var(--text-body);line-height: 1.9}.contact-compact a{font-weight: var(--fw-semibold)}.outil{max-width: var(--reading-legal);margin: 30px auto 0}.outil__compteur{position: sticky;top: calc(var(--top-bar-height) + var(--header-height));z-index: 1;margin: 0 0 18px;background: var(--cream);border-radius: var(--radius-input);padding: 10px 16px;text-align: center;font-family: var(--font-heading);font-size: 14px;font-weight: var(--fw-semibold);color: var(--navy)}.outil__famille{border: 1px solid var(--gray-light);border-radius: var(--radius-card);padding: 18px 20px;margin-bottom: 18px}.outil__famille legend{padding: 0 8px;font-family: var(--font-heading);font-size: 16px;font-weight: var(--fw-bold);color: var(--navy)}.outil__famille--lock{border-style: dashed;background: var(--cream)}.tag-lock{display: inline-block;margin-left: 8px;padding: 2px 8px;border-radius: var(--radius-tag);background: var(--gold);color: var(--navy);font-family: var(--font-heading);font-size: 11px;font-weight: var(--fw-semibold);text-transform: none;letter-spacing: 0}.outil__ligne{display: flex;align-items: flex-start;gap: 12px;min-height: var(--a11y-tap-min);padding: 6px 0;cursor: pointer;font-size: 15px;color: var(--text-body);line-height: 1.5}.outil__ligne input[type="checkbox"]{width: 20px;height: 20px;margin-top: 3px;flex-shrink: 0;accent-color: var(--blue)}.outil__ligne--libre{flex-direction: column;gap: 6px;align-items: stretch;cursor: auto}.outil__libre-label{font-size: 13px;color: var(--gray)}.outil__libre{width: 100%;padding: var(--input-padding);border: 1.5px solid var(--input-border);border-radius: var(--radius-input);font-family: var(--font-body);font-size: 15px;color: var(--text-body)}.outil__libre:focus{outline: none;border-color: var(--blue);box-shadow: 0 0 0 3px var(--a11y-focus-ring-input)}.outil__actions{display: flex;flex-wrap: wrap;gap: var(--gap-buttons);justify-content: center;margin: 26px 0 12px}.outil__retour{text-align: center;font-size: 14px;color: var(--blue);min-height: 22px}.outil__sortie-label{display: block;margin: 10px 0 6px;font-family: var(--font-heading);font-size: 13px;font-weight: var(--fw-semibold);color: var(--navy)}.outil__sortie{width: 100%;padding: var(--input-padding);border: 1.5px solid var(--input-border);border-radius: var(--radius-input);font-family: var(--font-body);font-size: 13px;line-height: 1.6;color: var(--text-body);background: var(--cream);resize: vertical}.figure--large{max-width: 900px}.ops-detail{margin: 0 0 8px}.ops-detail dt{font-family: var(--font-heading);font-weight: var(--fw-bold);font-size: 17px;color: var(--navy);margin-top: 22px}.ops-detail dd{margin: 6px 0 0;padding-left: 16px;border-left: 2px solid var(--gray-light)}.ops-detail dd p{margin-bottom: 6px;color: var(--text-muted)}.ops-detail dd strong{color: var(--navy)}.faq{margin-top: 6px}.faq__item{border-bottom: 1px solid var(--gray-light)}.faq__item summary{cursor: pointer;padding: 14px 0;list-style: none;font-family: var(--font-heading);font-weight: var(--fw-semibold);font-size: 16px;color: var(--navy);display: flex;align-items: center;gap: 10px;min-height: var(--a11y-tap-min)}.faq__item summary::-webkit-details-marker{display: none}.faq__item summary::before{content: '';flex-shrink: 0;width: 9px;height: 9px;margin-left: 2px;border-right: 2px solid var(--blue);border-bottom: 2px solid var(--blue);transform: rotate(-45deg);transition: transform var(--dur-base)}.faq__item[open] summary::before{transform: rotate(45deg)}.faq__item summary:hover{color: var(--blue)}.faq__reponse{padding: 0 0 16px 21px}.faq__reponse p{color: var(--text-muted);margin: 0} 
/* Section devis (#demande) : textes alignés sur le contenu du cadre blanc (modif. Salma, 2026-10-07) */
#demande .prose,
#demande .form-notice {
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 2rem;
    padding-right: 2rem;
}
#demande .prose p {
    max-width: none !important;
}
#demande .form-hint {
    max-width: none !important;
}
/* Page contact : bouton « Aller au formulaire » décollé de la carte (modif. Salma, 2026-10-07) */
.section-cta--contact {
    margin-top: -1.5rem !important;
    margin-bottom: 3rem !important;
}

/* ===== Page Parrainage ===== */
.pr {
  --pr-bleu: var(--blue);
  --pr-marine: var(--navy);
  --pr-fond: var(--cream-alt);
  --pr-trait: var(--gray-light);
  --pr-texte: var(--navy);
  max-width: 60rem;
}

/* Les deux bons de réduction */
.pr-bons {
  display: grid;
  gap: 1.25rem;
  margin: 0 0 3rem;
}
@media (min-width: 40em) {
  .pr-bons { grid-template-columns: 1fr 1fr; }
}
.pr-bon {
  position: relative;
  padding: 1.75rem 2rem;
  border-radius: 14px;
  color: var(--pr-texte);
  background: #fff;
  border: 2px dashed var(--pr-bleu);
}
.pr-bon--parrain {
  color: #fff;
  background: var(--pr-marine);
  border: 2px solid var(--pr-marine);
  outline: 2px dashed rgba(255, 255, 255, 0.3);
  outline-offset: -10px;
}
/* Les encoches du ticket, à gauche et à droite */
.pr-bon::before,
.pr-bon::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  background: #fff;
  transform: translateY(-50%);
}
.pr-bon::before { left: -0.8rem; }
.pr-bon::after { right: -0.8rem; }
.pr-bon--filleul::before,
.pr-bon--filleul::after { border: 2px dashed var(--pr-bleu); }
.pr-bon--filleul::before { clip-path: inset(0 0 0 50%); }
.pr-bon--filleul::after { clip-path: inset(0 50% 0 0); }

.pr-bon p { margin: 0; }
.pr-bon__montant {
  font-size: clamp(2.75rem, 8vw, 3.75rem);
  font-weight: 800;
  line-height: 1;
}
.pr-bon__qui {
  margin-top: 0.4rem !important;
  font-size: 1.2rem;
  font-weight: 700;
}
.pr-bon__detail {
  margin-top: 0.35rem !important;
  font-size: 0.95rem;
  opacity: 0.85;
}

/* Les 3 étapes */
.pr-etapes {
  list-style: none;
  counter-reset: etape;
  display: grid;
  gap: 1rem;
  padding: 0;
  margin: 1.25rem 0 3rem;
}
@media (min-width: 48em) {
  .pr-etapes { grid-template-columns: repeat(3, 1fr); }
}
.pr-etapes li {
  counter-increment: etape;
  padding: 1.25rem;
  border-radius: 12px;
  background: var(--pr-fond);
}
.pr-etapes li::before {
  content: counter(etape);
  display: grid;
  place-items: center;
  width: 2.25rem;
  height: 2.25rem;
  margin-bottom: 0.75rem;
  border-radius: 50%;
  background: var(--pr-bleu);
  color: #fff;
  font-weight: 700;
}
.pr-etapes h3 { margin: 0 0 0.35rem; font-size: 1.05rem; }
.pr-etapes p { margin: 0; }

/* Le générateur de message */
.pr-partage {
  margin: 0 0 3rem;
  padding: clamp(1.25rem, 4vw, 2.5rem);
  border-radius: 16px;
  background: var(--pr-fond);
}
.pr-partage[hidden] { display: none; }
.pr-partage h2 { margin-top: 0; }
.pr-partage__champs {
  display: grid;
  gap: 1rem;
  margin-top: 1.25rem;
}
@media (min-width: 40em) {
  .pr-partage__champs { grid-template-columns: 1fr 1fr; }
}
.pr-champ label {
  display: block;
  margin-bottom: 0.35rem;
  font-weight: 600;
}
.pr-champ input {
  width: 100%;
  padding: 0.75rem 0.9rem;
  font: inherit;
  font-size: 1rem;
  color: var(--pr-texte);
  background: #fff;
  border: 1.5px solid var(--input-border);
  border-radius: 8px;
}
.pr-champ input:focus-visible {
  outline: 3px solid var(--a11y-focus-ring);
  outline-offset: 1px;
  border-color: var(--pr-bleu);
}
.pr-partage__label {
  margin: 1.5rem 0 0.5rem;
  font-weight: 600;
}
.pr-partage__apercu {
  margin: 0;
  padding: 1rem 1.1rem;
  background: #fff;
  border-radius: 16px 16px 16px 4px;
  box-shadow: 0 1px 3px rgba(19, 35, 74, 0.12);
}
.pr-partage__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.25rem;
}
.btn.pr-btn-secondaire {
  font: inherit;
  cursor: pointer;
  color: var(--pr-bleu);
  background: #fff;
  border: 1.5px solid var(--pr-bleu);
}
.pr-partage__statut {
  min-height: 1.5em;
  margin: 0.75rem 0 0;
  font-weight: 600;
}

/* Les conditions repliées */
.pr-conditions {
  margin: 2.5rem 0;
  padding: 0 1.25rem;
  border: 1.5px solid var(--pr-trait);
  border-radius: 12px;
}
.pr-conditions summary {
  padding: 1rem 0;
  font-weight: 700;
  cursor: pointer;
}
.pr-conditions summary:focus-visible {
  outline: 3px solid var(--pr-bleu);
  outline-offset: 2px;
}
.pr-conditions[open] ul { margin-bottom: 1.25rem; }
/* Rappel parrainage sur la page Contact */
.prose .pr-rappel {
  max-width: none;
  padding: 0.9rem 1.1rem;
  background: #fff;
  border: 2px dashed var(--blue);
  border-radius: 10px;
}
/* Bande parrainage sur l'accueil */
.pr-bande {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem 2rem;
  padding: clamp(1.5rem, 4vw, 2.25rem) clamp(1.25rem, 4vw, 2.5rem);
  color: #fff;
  background: var(--navy);
  border-radius: 16px;
  outline: 2px dashed rgba(255, 255, 255, 0.3);
  outline-offset: -10px;
}
.pr-bande h2 {
  margin: 0 0 0.4rem;
  color: #fff;
  font-size: clamp(1.25rem, 3vw, 1.6rem);
}
.pr-bande p { margin: 0; opacity: 0.92; }
.btn.pr-bande__btn {
  color: var(--navy);
  background: #fff;
  border: 2px solid #fff;
}
.btn.pr-bande__btn:hover { background: var(--cream-alt); }
.btn.pr-bande__btn:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
}
/* Intro du formulaire de Contact : aligné sur la largeur du cadre blanc
   (modif. Salma du 2026-10-07, déplacée ici car la CSP bloque les styles inline). */
.prose.form-intro {
  max-width: none;
  margin: 0 0 2rem;
  padding: 0 2rem;
}
.prose.form-intro p { max-width: none; }