/* Habillage réservé aux visiteurs non connectés. */
body.pipeul-public {
  --p-blue: #087fa8;
  --p-ink: #21343d;
  --p-muted: #596d77;
  --p-line: #dfe8ec;
  --p-wash: #edf7fb;
  --p-soft: #f3f8f2;
  margin: 0;
  padding: 0;
  color: var(--p-ink);
  background: #fff;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 15px;
  line-height: 1.65;
  -webkit-text-size-adjust: 100%;
}
.pipeul-public *, .pipeul-public *::before, .pipeul-public *::after { box-sizing: border-box; }
.pipeul-public a { color: var(--p-blue); }
.pipeul-public a:hover { color: #055e7e; }
.pipeul-public a:focus-visible, .pipeul-public button:focus-visible,
.pipeul-public input:focus-visible, .pipeul-public select:focus-visible,
.pipeul-public textarea:focus-visible, .pipeul-public summary:focus-visible,
.pipeul-public [role="button"]:focus-visible {
  outline: 3px solid #087fa8;
  outline-offset: 4px;
}
.pipeul-public img { max-width: 100%; }
.pipeul-public [hidden] { display: none !important; }
.pipeul-public .p-wrap, .pipeul-public #main-content.container {
  width: 100%;
  max-width: 1120px;
  margin: 0 auto;
  padding-left: 32px;
  padding-right: 32px;
}
.pipeul-public .skip-link {
  position: fixed;
  left: 16px;
  top: 12px;
  z-index: 10000;
  padding: 10px 16px;
  color: #fff;
  background: #087fa8;
  border-radius: 8px;
  transform: translateY(-180%);
}
.pipeul-public .skip-link:focus { transform: translateY(0); }
.pipeul-public .p-site-header { background: #fff; border-bottom: 1px solid var(--p-line); }
.pipeul-public .p-nav { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-top: 21px; padding-bottom: 21px; }
.pipeul-public .p-logo-link { display: block; flex: 0 0 auto; }
.pipeul-public .p-logo { display: block; width: 150px; height: auto; }
.pipeul-public .p-links { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 23px; }
.pipeul-public .p-links > a { color: var(--p-ink); font-size: 13px; font-weight: 600; text-decoration: none; }
.pipeul-public .p-links > a:hover, .pipeul-public .p-links > a[aria-current="page"] { color: var(--p-blue); }
.pipeul-public .p-links > a[aria-current="page"]:not(.p-button) { text-decoration: underline; text-underline-offset: 6px; }
.pipeul-public .p-menu-toggle { display: none; border: 1px solid var(--p-line); background: #fff; border-radius: 8px; padding: 10px 15px; color: var(--p-ink); font: inherit; cursor: pointer; }
.pipeul-public .p-menu-toggle span { margin-left: 8px; }
.pipeul-public .p-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; }
.pipeul-public .p-button, .pipeul-public .p-links > .p-button,
.pipeul-public #main-content .seo-button, .pipeul-public .bouton_valide,
.pipeul-public input.bouton_valide, .pipeul-public .custom_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  width: auto;
  height: auto;
  margin: 0;
  padding: 11px 20px;
  border: 1px solid var(--p-blue);
  border-radius: 8px;
  background: var(--p-blue);
  color: #fff;
  font: 700 14px/1.4 Arial, Helvetica, sans-serif;
  text-align: center;
  text-decoration: none;
  text-shadow: none;
  box-shadow: none;
  cursor: pointer;
}
.pipeul-public .p-button:hover, .pipeul-public .p-links > .p-button:hover,
.pipeul-public #main-content .seo-button:hover, .pipeul-public .bouton_valide:hover,
.pipeul-public .custom_btn:hover { background: #066c90; border-color: #066c90; color: #fff; text-decoration: none; }
.pipeul-public .p-button-secondary { background: #fff; color: var(--p-blue); border-color: var(--p-line); }
.pipeul-public .p-button-secondary:hover { background: var(--p-wash); color: var(--p-blue); border-color: var(--p-blue); }
.pipeul-public .p-links > .p-button[aria-current="page"] { color: #fff; }
.pipeul-public .main_part.row { margin: 0; }
.pipeul-public .main_part > .span9, .pipeul-public .main_part > .span12 {
  float: none;
  width: 100%;
  margin: 0;
  padding: 0 0 40px;
  background: none;
}
.pipeul-public .main_part > .public-account { display: contents; }
.pipeul-public #main-content .text, .pipeul-public #content_page { background: #fff; }
.pipeul-public #main-content .main_part > .span9 > h1 { margin: 40px 0 22px; }
.pipeul-public #main-content h1 {
  margin: 0 0 20px;
  padding: 0;
  border: 0;
  color: var(--p-ink);
  background: none;
  font-size: clamp(30px, 4vw, 42px);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -.035em;
  text-align: left;
  text-transform: none;
  text-decoration: none;
}
.pipeul-public #main-content h2 { color: var(--p-ink); font-size: 27px; line-height: 1.3; font-weight: 700; letter-spacing: -.025em; text-transform: none; }
.pipeul-public #main-content h3 { color: var(--p-ink); font-size: 18px; font-weight: 700; line-height: 1.4; text-transform: none; }
.pipeul-public #main-content p { line-height: 1.7; }
.pipeul-public #main-content .p-eyebrow, .pipeul-public .p-eyebrow,
.pipeul-public #main-content .seo-eyebrow { margin: 0 0 16px; color: var(--p-blue); font-size: 12px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.pipeul-public .p-hero { display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: 48px; padding: 50px 0; }
.pipeul-public #main-content .p-hero h1 { font-size: clamp(34px, 4.6vw, 49px); line-height: 1.08; }
.pipeul-public .p-hero h1 span { color: var(--p-blue); }
.pipeul-public .p-lead { max-width: 470px; margin: 23px 0; color: var(--p-muted); font-size: 17px; }
.pipeul-public .p-note { margin: 14px 0 0; color: var(--p-muted); font-size: 12px; }
.pipeul-public .p-showcase { background: var(--p-wash); padding: 24px; border-radius: 24px; }
.pipeul-public .p-photo { aspect-ratio: 700 / 146; overflow: hidden; border-radius: 14px; background: #d6d7d8; margin-bottom: 24px; }
.pipeul-public .p-photo img { display: block; width: 100%; height: auto; }
.pipeul-public .p-showcase-label { margin: 0 0 5px; color: var(--p-muted); font-size: 13px; }
.pipeul-public #main-content .p-showcase h2 { margin: 0 0 18px; font-size: 23px; }
.pipeul-public .p-gift-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.pipeul-public .p-gift { background: #fff; border-radius: 12px; padding: 17px 12px 12px; text-align: center; box-shadow: 0 5px 15px #173c4910; }
.pipeul-public .p-gift img { display: block; width: 112px; height: 65px; object-fit: contain; margin: 0 auto 6px; }
.pipeul-public .p-gift span { font-size: 12px; }
.pipeul-public .p-caption { margin: 13px 0 0; color: var(--p-muted); font-size: 11px; }
.pipeul-public .p-trust { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; padding: 23px 0; text-align: center; border-top: 1px solid var(--p-line); border-bottom: 1px solid var(--p-line); }
.pipeul-public .p-trust strong { display: block; font-size: 17px; }
.pipeul-public .p-trust span { color: var(--p-muted); font-size: 12px; }
.pipeul-public .p-section { padding: 48px 0; }
.pipeul-public .p-section h2 { margin: 0 0 10px; }
.pipeul-public .p-section-lead { margin: 0; color: var(--p-muted); }
.pipeul-public .p-process { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 25px; margin-top: 32px; }
.pipeul-public .p-number { display: flex; width: 35px; height: 35px; align-items: center; justify-content: center; border-radius: 50%; background: var(--p-wash); color: var(--p-blue); font-weight: 700; font-size: 13px; margin-bottom: 13px; }
.pipeul-public #main-content .p-process h3 { margin: 0 0 7px; font-size: 16px; }
.pipeul-public .p-process p { margin: 0; color: var(--p-muted); font-size: 14px; }
.pipeul-public .p-rewards { background: var(--p-soft); border-radius: 20px; padding: 34px; }
.pipeul-public .p-rewards-inner { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 40px; }
.pipeul-public .p-rewards h2 { margin: 0; }
.pipeul-public .p-rewards p:not(.p-eyebrow) { color: var(--p-muted); margin: 13px 0 18px; }
.pipeul-public .p-text-link { color: var(--p-blue); font-weight: 700; font-size: 14px; text-decoration: none; }
.pipeul-public .p-text-link:hover { text-decoration: underline; }
.pipeul-public .p-brands { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.pipeul-public .p-brand { min-height: 74px; display: flex; align-items: center; justify-content: center; background: #fff; border-radius: 10px; border: 1px solid var(--p-line); font-weight: 700; }
.pipeul-public .p-community { display: flex; align-items: center; justify-content: space-between; gap: 25px; margin-top: 30px; padding: 24px 0; border-bottom: 1px solid var(--p-line); }
.pipeul-public .p-community p { color: var(--p-muted); margin: 0; }
.pipeul-public .p-stats { display: flex; gap: 35px; }
.pipeul-public .p-stats strong { display: block; color: var(--p-blue); font-size: 25px; line-height: 1.2; }
.pipeul-public .p-stats span { color: var(--p-muted); font-size: 12px; }
.pipeul-public .p-questions { display: grid; grid-template-columns: .8fr 1.2fr; gap: 50px; }
.pipeul-public .p-questions-intro { color: var(--p-muted); margin: 12px 0 16px; }
.pipeul-public .p-questions details { border-bottom: 1px solid var(--p-line); padding: 16px 0; }
.pipeul-public .p-questions details:first-child { border-top: 1px solid var(--p-line); }
.pipeul-public .p-questions summary { font-size: 15px; font-weight: 600; cursor: pointer; }
.pipeul-public .p-questions details p { color: var(--p-muted); font-size: 14px; margin: 12px 0 0; }
.pipeul-public .p-join { background: var(--p-wash); border-radius: 16px; padding: 28px 32px; display: flex; align-items: center; justify-content: space-between; gap: 25px; }
.pipeul-public #main-content .p-join h2 { margin: 0; font-size: 24px; }
.pipeul-public .p-join p { color: var(--p-muted); margin: 6px 0 0; }
/* Pages d’information et catalogue. */
.pipeul-public #main-content .seo-page { padding: 38px 0 0; background: #fff; color: var(--p-ink); font-size: 15px; line-height: 1.7; }
.pipeul-public #main-content .seo-page-header { margin: 0 0 34px; padding: 34px 38px; background: var(--p-wash); border: 0; border-radius: 20px; }
.pipeul-public #main-content .seo-page-header h1 { max-width: 850px; }
.pipeul-public #main-content .seo-page-header .seo-lead { max-width: 850px; color: var(--p-muted); font-size: 17px; }
.pipeul-public #main-content .seo-section { padding: 0; margin: 0 0 35px; background: none; border: 0; border-radius: 0; }
.pipeul-public #main-content .seo-section > p { max-width: 900px; }
.pipeul-public #main-content .seo-section h2 { margin: 0 0 18px; }
.pipeul-public #main-content .seo-card-grid { gap: 20px; }
.pipeul-public #main-content .seo-card { padding: 24px; border: 1px solid var(--p-line); border-radius: 14px; background: #f7fafb; }
.pipeul-public #main-content .seo-step-number { color: var(--p-blue); background: #e0f1f8; width: 35px; height: 35px; flex-basis: 35px; }
.pipeul-public #main-content .seo-stat { background: var(--p-soft); color: var(--p-ink); padding: 24px; margin-bottom: 32px; border-radius: 14px; }
.pipeul-public #main-content .seo-stat strong { color: #3d702b; }
.pipeul-public #main-content .seo-cta { padding: 28px 32px; background: var(--p-wash); color: var(--p-ink); border-radius: 16px; }
.pipeul-public #main-content .seo-cta h2 { color: var(--p-ink); font-size: 24px; margin-bottom: 7px; }
.pipeul-public #main-content .seo-cta p { color: var(--p-muted); }
.pipeul-public #main-content .reward-catalogue { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.pipeul-public #main-content .reward-catalogue-item { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; min-height: 190px; margin: 0; padding: 26px; background: #fff; text-align: center; border: 1px solid var(--p-line); border-radius: 16px; box-shadow: 0 5px 20px #173c4907; }
.pipeul-public #main-content .reward-catalogue-image { width: 100%; flex: 0 0 auto; min-height: 90px; }
.pipeul-public #main-content .reward-catalogue-image img { width: 170px; max-width: 100%; height: 90px; max-height: none; object-fit: contain; }
.pipeul-public #main-content .reward-catalogue-item h3 { margin: 0; }
.pipeul-public #main-content .reward-logo-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.pipeul-public #main-content .reward-logo-grid li { min-height: 128px; border-color: var(--p-line); border-radius: 12px; }
.pipeul-public #main-content .recipient-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.pipeul-public #main-content .recipient-item { margin: 0; border-radius: 14px; min-width: 0; }
.pipeul-public #main-content .recipient-item h2 { font-size: 17px; margin-bottom: 4px; }
.pipeul-public #main-content .seo-notice { border-radius: 8px; }
/* FAQ : contenu et interactions conservés. */
.pipeul-public #content_page { padding: 0; }
.pipeul-public #main-content .faq-intro { max-width: 850px; margin: 0 0 30px; color: var(--p-muted); font-size: 17px; }
.pipeul-public #main-content .bloc_contenu, .pipeul-public #main-content .bloc_contenu .content { background: #fff; }
.pipeul-public #main-content .accordion-heading { margin: 0; font-size: 19px; letter-spacing: 0; }
.pipeul-public .accordion-section { border: 1px solid var(--p-line); border-radius: 14px; margin-bottom: 16px; overflow: hidden; }
.pipeul-public .accordion-section-title { display: block; width: 100%; padding: 20px 70px 20px 24px; color: var(--p-ink); background: var(--p-wash); border: 0; font-size: 19px; text-decoration: none; text-shadow: none; }
.pipeul-public .accordion-section-title:hover, .pipeul-public .accordion-section-title.active { background: #e0f1f8; color: var(--p-blue); text-decoration: none; }
.pipeul-public .accordion-section-content { padding: 22px 24px; }
.pipeul-public .accordion .question { padding: 14px 0; margin: 0; color: var(--p-blue); border-bottom: 1px solid var(--p-line); }
.pipeul-public .accordion .question u { text-decoration: none; }
.pipeul-public .accordion .answer { padding: 16px 0 8px; color: var(--p-muted); }
.pipeul-public .accordion .help { padding: 0; color: var(--p-muted); font-size: 13px; }
.pipeul-public .accordion .icon { top: 50%; transform: translateY(-50%); }
/* Formulaires : aucune modification des noms, actions ou validations. */
.pipeul-public #main-content .form-horizontal .control-label { display: block; float: none; width: auto; padding: 0; margin: 0 0 7px; text-align: left; color: var(--p-ink); }
.pipeul-public #main-content .form-horizontal .controls { margin-left: 0; text-align: left; }
.pipeul-public #content_page > .form-horizontal { max-width: 640px; padding: 28px; margin: 24px auto 0; background: var(--p-wash); border-radius: 16px; }
.pipeul-public #content_page > .form-horizontal .control-group { width: 100%; margin-bottom: 18px; text-align: left; }
.pipeul-public #main-content #content_page .form-horizontal .controls input[type="text"] { height: auto; min-height: 44px; border-radius: 8px; }
.pipeul-public #content_page > .form-horizontal input[type="text"],
.pipeul-public #content_page > .form-horizontal input[type="email"],
.pipeul-public #content_page > .form-horizontal select,
.pipeul-public #content_page > .form-horizontal textarea { width: 100%; }
.pipeul-public #content_page > .form-horizontal textarea { min-height: 150px; }
.pipeul-public #main-content input[type="text"], .pipeul-public #main-content input[type="email"],
.pipeul-public #main-content input[type="password"], .pipeul-public #main-content input[type="tel"],
.pipeul-public #main-content select, .pipeul-public #main-content textarea {
  max-width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid #c6d7df; border-radius: 8px; background: #fff; color: var(--p-ink); font: inherit; box-shadow: none;
}
.pipeul-public #main-content .text.enchere { padding: 24px !important; background: var(--p-wash) !important; border-radius: 16px; }
.pipeul-public .p-login { position: relative; width: 450px; max-width: calc(100% - 32px); max-height: calc(100% - 32px); padding: 30px; border: 1px solid var(--p-line); border-radius: 20px; color: var(--p-ink); background: #fff; box-shadow: 0 18px 70px #173c4925; overflow: auto; }
.pipeul-public .p-login:modal { position: fixed; }
.pipeul-public .p-login::backdrop { background: #162e3b80; }
.pipeul-public.p-login-open { overflow: hidden; }
.pipeul-public #main-content .p-login h2 { padding: 0; margin: 0 25px 14px 0; border: 0; background: none; color: var(--p-ink); font-size: 26px; font-weight: 700; line-height: 1.2; text-align: left; text-transform: none; text-decoration: none; }
.pipeul-public .p-login-intro { color: var(--p-muted); font-size: 14px; margin-bottom: 22px; }
.pipeul-public .p-login .content { padding: 0; }
.pipeul-public .p-login-close { position: absolute; top: 15px; right: 15px; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 50%; background: var(--p-wash); color: var(--p-ink); font-size: 25px; line-height: 36px; cursor: pointer; }
.pipeul-public .p-login form { margin: 0; }
.pipeul-public #connexion .control-group { display: block; width: 100%; margin: 0 0 18px; }
.pipeul-public #connexion .controls { width: 100%; margin: 0; }
.pipeul-public #main-content .p-login input[type="email"], .pipeul-public #main-content .p-login input[type="password"] { width: 100%; }
.pipeul-public .p-login .bouton_valide { width: 100%; }
.pipeul-public .p-login .sous-titre { margin: 24px 0 12px; padding: 20px 0 0; border-top: 1px solid var(--p-line); color: var(--p-muted); text-decoration: none; text-transform: none; font-size: 14px; }
.pipeul-public .p-login .inscription { background: #fff; color: var(--p-blue); }
.pipeul-public .p-login .inscription:hover { background: var(--p-wash); }
/* Tirage et pages historiques. */
.pipeul-public #lots_a_gagner { padding: 24px; border: 0; background: #fff; }
.pipeul-public #lots_a_gagner #liste_lots { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.pipeul-public #liste_lots .lot { width: auto; max-width: 100%; margin: 0; padding: 24px 16px; background: var(--p-wash); border-radius: 16px; }
.pipeul-public #liste_lots .lot .photo { max-width: 100%; }
.pipeul-public #liste_lots .lot img { max-width: 100%; height: auto; object-fit: contain; }
.pipeul-public .custom_btn_disabled { opacity: .55; cursor: default; }
/* Pied de page commun. */
.pipeul-public .p-site-footer { margin: 0; padding: 38px 0 0; background: #f7fafb; border-top: 1px solid var(--p-line); color: var(--p-muted); }
.pipeul-public .p-footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1.1fr 1fr; gap: 28px; }
.pipeul-public .p-footer-brand > img { width: 135px; height: auto; display: block; margin-bottom: 17px; }
.pipeul-public .p-site-footer p { font-size: 13px; line-height: 1.7; }
.pipeul-public .p-site-footer h2 { margin: 6px 0 17px; color: var(--p-ink); font-size: 15px; font-weight: 700; line-height: 1.4; }
.pipeul-public .p-site-footer nav > a { display: block; margin-bottom: 9px; color: var(--p-muted); font-size: 13px; text-decoration: none; }
.pipeul-public .p-site-footer a:hover { color: var(--p-blue); text-decoration: underline; }
.pipeul-public .p-social-links { display: flex; gap: 15px; margin-top: 16px; font-size: 13px; }
.pipeul-public .p-social-links a { color: var(--p-blue); text-decoration: none; }
.pipeul-public .p-footer-apps > a { display: block; margin-bottom: 10px; }
.pipeul-public .p-footer-apps img { display: block; width: 130px; height: auto; }
.pipeul-public .p-footer-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 15px; margin-top: 32px; padding: 23px 0; border-top: 1px solid var(--p-line); font-size: 12px; }
.pipeul-public .p-footer-bottom nav { display: flex; flex-wrap: wrap; gap: 20px; }
.pipeul-public .p-footer-bottom nav > a { margin: 0; font-size: 12px; }
/* Le module d’inscription possède son propre document et ses propres scripts. */
body.pipeul-registration { display: block; height: auto; min-height: 100vh; font-family: Arial, Helvetica, sans-serif; background: #fff; }
.pipeul-registration #page_inscription { height: auto; min-height: 0; margin: 0; padding: 35px 24px 45px; background: #fff; }
.pipeul-registration #page_inscription .content_form { display: block; height: auto; max-width: 750px; width: 100%; margin: 0 auto; background: #fff; }
.pipeul-registration #page_inscription .container_form { display: block; max-width: 100%; padding: 30px; border: 1px solid var(--p-line); border-radius: 20px; background: #fff; box-shadow: 0 8px 30px #173c4908; }
.pipeul-registration #logo_inscription { display: none; }
.pipeul-registration #page_inscription h1 { margin: 0 0 20px; font: 700 32px/1.2 Arial, Helvetica, sans-serif; color: var(--p-ink); text-transform: none; }
.pipeul-registration #page_inscription #formulaire { width: 100%; max-width: 570px; margin: 0 auto; border: 0; border-radius: 0; }
.pipeul-registration #page_inscription #formulaire .partie { padding: 0; }
.pipeul-registration #page_inscription #arianne_form .arianne .barre { background: var(--p-wash); }
.pipeul-registration #page_inscription #arianne_form .arianne .item { background: var(--p-wash); color: var(--p-muted); }
.pipeul-registration #page_inscription #arianne_form .arianne .item.current { background: var(--p-blue); color: #fff; }
.pipeul-registration #page_inscription #formulaire .ligne .bulle { left: auto; right: 0; top: 100%; width: min(300px, 100%); margin-top: 5px; z-index: 5; }
.pipeul-registration #page_inscription #formulaire .ligne .bulle::before,
.pipeul-registration #page_inscription #formulaire .ligne .bulle::after { display: none; }
.pipeul-registration #page_inscription button { border-radius: 8px; background: var(--p-blue); font-family: Arial, Helvetica, sans-serif; font-weight: 700; }
.pipeul-registration #page_inscription .ligne input { border-color: #c6d7df; border-radius: 8px; }
.pipeul-registration #copyright { display: none; }
@media (max-width: 950px) {
  .pipeul-public .p-links { gap: 15px; }
  .pipeul-public .p-nav { gap: 18px; }
  .pipeul-public .p-logo { width: 135px; }
  .pipeul-public .p-hero { gap: 30px; }
  .pipeul-public .p-footer-grid { grid-template-columns: 1fr 1fr; gap: 30px; }
}
@media (max-width: 800px) {
  .pipeul-public .p-wrap, .pipeul-public #main-content.container { padding-left: 24px; padding-right: 24px; }
  .pipeul-public .p-nav { flex-wrap: wrap; padding-top: 17px; padding-bottom: 17px; }
  .pipeul-public .p-links { width: 100%; justify-content: flex-start; gap: 12px 24px; }
  .pipeul-public.p-menu-ready .p-menu-toggle { display: block; }
  .pipeul-public.p-menu-ready .p-links { display: none; }
  .pipeul-public.p-menu-ready .p-links.p-menu-open { display: flex; }
  .pipeul-public .p-process { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pipeul-public .p-questions { grid-template-columns: 1fr; gap: 20px; }
  .pipeul-public #main-content .reward-logo-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pipeul-public .p-community { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 600px) {
  .pipeul-public .p-hero, .pipeul-public .p-rewards-inner { grid-template-columns: 1fr; }
  .pipeul-public .p-hero { padding: 32px 0; gap: 28px; }
  .pipeul-public .p-lead { font-size: 16px; }
  .pipeul-public .p-showcase { padding: 21px; }
  .pipeul-public .p-section { padding: 34px 0; }
  .pipeul-public .p-trust { gap: 10px; }
  .pipeul-public .p-trust strong { font-size: 14px; }
  .pipeul-public .p-trust span { font-size: 11px; }
  .pipeul-public .p-rewards { padding: 25px; }
  .pipeul-public .p-stats { flex-wrap: wrap; gap: 20px; }
  .pipeul-public .p-join, .pipeul-public #main-content .seo-cta { flex-direction: column; align-items: flex-start; padding: 25px; }
  .pipeul-public #main-content .seo-page-header { padding: 25px; margin-bottom: 28px; }
  .pipeul-public #main-content .seo-card-grid, .pipeul-public #main-content .recipient-list { grid-template-columns: 1fr; }
  .pipeul-public #main-content .reward-logo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pipeul-public #lots_a_gagner #liste_lots { grid-template-columns: 1fr; }
  .pipeul-public .p-footer-grid { gap: 24px; }
  .pipeul-public .p-footer-brand { grid-column: 1 / -1; }
  .pipeul-public .p-login { padding: 25px; }
  .pipeul-registration #page_inscription { padding: 24px 16px; }
  .pipeul-registration #page_inscription .container_form { padding: 24px 18px; }
  .pipeul-registration #page_inscription h1 { font-size: 27px; }
}
@media (max-width: 480px) {
  .pipeul-public #main-content .reward-catalogue { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .pipeul-public *, .pipeul-public *::before, .pipeul-public *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
